All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.sass.dart.js Maven / Gradle / Ivy

There is a newer version: 1.81.0
Show newest version
// Because of vitejs/vite#12340, there's no way to reliably detect whether we're
// running as a (possibly bundled/polyfilled) ESM module or as a CommonJS
// module. In order to work everywhere, we have to provide the load function via
// a side channel on the global object. We write it as a stack so that multiple
// cli_pkg packages can depend on one another without clobbering their exports.
if (!globalThis._cliPkgExports) {
  globalThis._cliPkgExports = [];
}
let _cliPkgExports = {};
globalThis._cliPkgExports.push(_cliPkgExports);

_cliPkgExports.load = function(_cliPkgRequires, _cliPkgExportParam) {
var dartNodeIsActuallyNode = typeof process !== "undefined" && (process.versions || {}).hasOwnProperty('node');

// make sure to keep this as 'var'
// we don't want block scoping
var self = dartNodeIsActuallyNode ? Object.create(globalThis) : globalThis;

self.scheduleImmediate = typeof setImmediate !== "undefined"
    ? function (cb) {
        setImmediate(cb);
      }
    : function(cb) {
        setTimeout(cb, 0);
      };

// CommonJS globals.
if (typeof require !== "undefined") {
  self.require = require;
}
self.exports = _cliPkgExportParam || _cliPkgExports;

// Node.js specific exports, check to see if they exist & or polyfilled

if (typeof process !== "undefined") {
  self.process = process;
}

if (typeof __dirname !== "undefined") {
  self.__dirname = __dirname;
}

if (typeof __filename !== "undefined") {
  self.__filename = __filename;
}

if (typeof Buffer !== "undefined") {
  self.Buffer = Buffer;
}

// if we're running in a browser, Dart supports most of this out of box
// make sure we only run these in Node.js environment

if (dartNodeIsActuallyNode) {
  // This line is to:
  // 1) Prevent Webpack from bundling.
  // 2) In Webpack on Node.js, make sure we're using the native Node.js require, which is available via __non_webpack_require__
  // https://github.com/mbullington/node_preamble.dart/issues/18#issuecomment-527305561
  var url = ("undefined" !== typeof __webpack_require__ ? __non_webpack_require__ : require)("url");

  // Setting `self.location=` in Electron throws a `TypeError`, so we define it
  // as a property instead to be safe.
  Object.defineProperty(self, "location", {
    value: {
      get href() {
        if (url.pathToFileURL) {
          return url.pathToFileURL(process.cwd()).href + "/";
        } else {
          // This isn't really a correct transformation, but it's the best we have
          // for versions of Node <10.12.0 which introduced `url.pathToFileURL()`.
          // For example, it will fail for paths that contain characters that need
          // to be escaped in URLs.
          return "file://" + (function() {
            var cwd = process.cwd();
            if (process.platform != "win32") return cwd;
            return "/" + cwd.replace(/\\/g, "/");
          })() + "/"
        }
      }
    }
  });

  (function() {
    function computeCurrentScript() {
      try {
        throw new Error();
      } catch(e) {
        var stack = e.stack;
        var re = new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$", "mg");
        var lastMatch = null;
        do {
          var match = re.exec(stack);
          if (match != null) lastMatch = match;
        } while (match != null);
        return lastMatch[1];
      }
    }

    // Setting `self.document=` isn't known to throw an error anywhere like
    // `self.location=` does on Electron, but it's better to be future-proof
    // just in case..
    var cachedCurrentScript = null;
    Object.defineProperty(self, "document", {
      value: {
        get currentScript() {
          if (cachedCurrentScript == null) {
            cachedCurrentScript = {src: computeCurrentScript()};
          }
          return cachedCurrentScript;
        }
      }
    });
  })();

  self.dartDeferredLibraryLoader = function(uri, successCallback, errorCallback) {
    try {
     load(uri);
      successCallback();
    } catch (error) {
      errorCallback(error);
    }
  };
}

self.immutable = _cliPkgRequires.immutable;
self.chokidar = _cliPkgRequires.chokidar;
self.readline = _cliPkgRequires.readline;
self.fs = _cliPkgRequires.fs;
self.nodeModule = _cliPkgRequires.nodeModule;
self.stream = _cliPkgRequires.stream;
self.util = _cliPkgRequires.util;
// Generated by dart2js (NullSafetyMode.sound, trust primitives, omit checks, lax runtime type, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.4.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 the priority the
//    library should be loaded with as specified in the code via the
//    load-priority annotation (0: normal, 1: high).
// dartDeferredLibraryMultiLoader(uris, successCallback, errorCallback, loadId, loadPriority):
//    if this function is defined, it will be called when a deferred library
//    is loaded. It should load and eval the javascript of every URI in `uris`,
//    and call successCallback. If it fails to do so, it should call
//    errorCallback with an error. The loadId argument is the deferred import
//    that resulted in this uri being loaded. The loadPriority argument is the
//    priority the library should be loaded with as specified in the code via
//    the load-priority annotation (0: normal, 1: high).
//
// dartCallInstrumentation(id, qualifiedName):
//    if this function is defined, it will be called at each entry of a
//    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) {
    list.immutable$list = Array;
    list.fixed$length = Array;
    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$allocateFixed($length, $E) {
      if ($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$allocateGrowable($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) {
      return J.JSArray_markFixedList(A._setArrayType(allocation, $E._eval$1("JSArray<0>")));
    },
    JSArray_markFixedList(list) {
      list.fixed$length = Array;
      return list;
    },
    JSArray_markUnmodifiableList(list) {
      list.fixed$length = Array;
      list.immutable$list = Array;
      return list;
    },
    JSArray__compareAny(a, b) {
      return J.compareTo$1$ns(a, 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 index0, codeUnit;
      for (; index > 0; index = index0) {
        index0 = index - 1;
        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$ansx(receiver) {
      if (typeof receiver == "number")
        return J.JSNumber.prototype;
      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$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$in(receiver) {
      if (typeof receiver == "number") {
        if (Math.floor(receiver) == receiver)
          return J.JSInt.prototype;
        return J.JSNumNotInt.prototype;
      }
      if (receiver == null)
        return receiver;
      if (!(receiver instanceof A.Object))
        return J.UnknownJavaScriptObject.prototype;
      return receiver;
    },
    getInterceptor$n(receiver) {
      if (typeof receiver == "number")
        return J.JSNumber.prototype;
      if (receiver == null)
        return receiver;
      if (!(receiver instanceof A.Object))
        return J.UnknownJavaScriptObject.prototype;
      return 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);
    },
    getInterceptor$z(receiver) {
      if (receiver == null)
        return receiver;
      if (!(receiver instanceof A.Object))
        return J.UnknownJavaScriptObject.prototype;
      return receiver;
    },
    set$AsyncCompiler$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$AsyncCompiler(receiver, value);
    },
    set$CalculationInterpolation$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$CalculationInterpolation(receiver, value);
    },
    set$CalculationOperation$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$CalculationOperation(receiver, value);
    },
    set$Compiler$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$Compiler(receiver, value);
    },
    set$Exception$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$Exception(receiver, value);
    },
    set$FALSE$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$FALSE(receiver, value);
    },
    set$Logger$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$Logger(receiver, value);
    },
    set$NULL$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$NULL(receiver, value);
    },
    set$NodePackageImporter$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$NodePackageImporter(receiver, value);
    },
    set$SassArgumentList$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$SassArgumentList(receiver, value);
    },
    set$SassBoolean$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$SassBoolean(receiver, value);
    },
    set$SassCalculation$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$SassCalculation(receiver, value);
    },
    set$SassColor$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$SassColor(receiver, value);
    },
    set$SassFunction$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$SassFunction(receiver, value);
    },
    set$SassList$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$SassList(receiver, value);
    },
    set$SassMap$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$SassMap(receiver, value);
    },
    set$SassMixin$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$SassMixin(receiver, value);
    },
    set$SassNumber$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$SassNumber(receiver, value);
    },
    set$SassString$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$SassString(receiver, value);
    },
    set$TRUE$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$TRUE(receiver, value);
    },
    set$Value$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$Value(receiver, value);
    },
    set$Version$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$Version(receiver, value);
    },
    set$cli_pkg_main_0_$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$cli_pkg_main_0_(receiver, value);
    },
    set$compile$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$compile(receiver, value);
    },
    set$compileAsync$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$compileAsync(receiver, value);
    },
    set$compileString$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$compileString(receiver, value);
    },
    set$compileStringAsync$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$compileStringAsync(receiver, value);
    },
    set$context$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$context(receiver, value);
    },
    set$dartValue$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$dartValue(receiver, value);
    },
    set$deprecations$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$deprecations(receiver, value);
    },
    set$exitCode$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$exitCode(receiver, value);
    },
    set$info$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$info(receiver, value);
    },
    set$initAsyncCompiler$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$initAsyncCompiler(receiver, value);
    },
    set$initCompiler$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$initCompiler(receiver, value);
    },
    set$length$asx(receiver, value) {
      return J.getInterceptor$asx(receiver).set$length(receiver, value);
    },
    set$render$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$render(receiver, value);
    },
    set$renderSync$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$renderSync(receiver, value);
    },
    set$sassFalse$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$sassFalse(receiver, value);
    },
    set$sassNull$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$sassNull(receiver, value);
    },
    set$sassTrue$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$sassTrue(receiver, value);
    },
    set$types$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$types(receiver, value);
    },
    get$$prototype$x(receiver) {
      return J.getInterceptor$x(receiver).get$$prototype(receiver);
    },
    get$_dartException$x(receiver) {
      return J.getInterceptor$x(receiver).get$_dartException(receiver);
    },
    get$alertAscii$x(receiver) {
      return J.getInterceptor$x(receiver).get$alertAscii(receiver);
    },
    get$alertColor$x(receiver) {
      return J.getInterceptor$x(receiver).get$alertColor(receiver);
    },
    get$argv$x(receiver) {
      return J.getInterceptor$x(receiver).get$argv(receiver);
    },
    get$blue$x(receiver) {
      return J.getInterceptor$x(receiver).get$blue(receiver);
    },
    get$brackets$x(receiver) {
      return J.getInterceptor$x(receiver).get$brackets(receiver);
    },
    get$charset$x(receiver) {
      return J.getInterceptor$x(receiver).get$charset(receiver);
    },
    get$code$x(receiver) {
      return J.getInterceptor$x(receiver).get$code(receiver);
    },
    get$current$x(receiver) {
      return J.getInterceptor$x(receiver).get$current(receiver);
    },
    get$dartValue$x(receiver) {
      return J.getInterceptor$x(receiver).get$dartValue(receiver);
    },
    get$debug$x(receiver) {
      return J.getInterceptor$x(receiver).get$debug(receiver);
    },
    get$denominatorUnits$x(receiver) {
      return J.getInterceptor$x(receiver).get$denominatorUnits(receiver);
    },
    get$end$z(receiver) {
      return J.getInterceptor$z(receiver).get$end(receiver);
    },
    get$env$x(receiver) {
      return J.getInterceptor$x(receiver).get$env(receiver);
    },
    get$exitCode$x(receiver) {
      return J.getInterceptor$x(receiver).get$exitCode(receiver);
    },
    get$fatalDeprecations$x(receiver) {
      return J.getInterceptor$x(receiver).get$fatalDeprecations(receiver);
    },
    get$fiber$x(receiver) {
      return J.getInterceptor$x(receiver).get$fiber(receiver);
    },
    get$file$x(receiver) {
      return J.getInterceptor$x(receiver).get$file(receiver);
    },
    get$filename$x(receiver) {
      return J.getInterceptor$x(receiver).get$filename(receiver);
    },
    get$first$ax(receiver) {
      return J.getInterceptor$ax(receiver).get$first(receiver);
    },
    get$functions$x(receiver) {
      return J.getInterceptor$x(receiver).get$functions(receiver);
    },
    get$futureDeprecations$x(receiver) {
      return J.getInterceptor$x(receiver).get$futureDeprecations(receiver);
    },
    get$green$x(receiver) {
      return J.getInterceptor$x(receiver).get$green(receiver);
    },
    get$hashCode$(receiver) {
      return J.getInterceptor$(receiver).get$hashCode(receiver);
    },
    get$id$x(receiver) {
      return J.getInterceptor$x(receiver).get$id(receiver);
    },
    get$importer$x(receiver) {
      return J.getInterceptor$x(receiver).get$importer(receiver);
    },
    get$importers$x(receiver) {
      return J.getInterceptor$x(receiver).get$importers(receiver);
    },
    get$isEmpty$asx(receiver) {
      return J.getInterceptor$asx(receiver).get$isEmpty(receiver);
    },
    get$isNotEmpty$asx(receiver) {
      return J.getInterceptor$asx(receiver).get$isNotEmpty(receiver);
    },
    get$isTTY$x(receiver) {
      return J.getInterceptor$x(receiver).get$isTTY(receiver);
    },
    get$iterator$ax(receiver) {
      return J.getInterceptor$ax(receiver).get$iterator(receiver);
    },
    get$keys$z(receiver) {
      return J.getInterceptor$z(receiver).get$keys(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$loadPaths$x(receiver) {
      return J.getInterceptor$x(receiver).get$loadPaths(receiver);
    },
    get$logger$x(receiver) {
      return J.getInterceptor$x(receiver).get$logger(receiver);
    },
    get$message$x(receiver) {
      return J.getInterceptor$x(receiver).get$message(receiver);
    },
    get$mtime$x(receiver) {
      return J.getInterceptor$x(receiver).get$mtime(receiver);
    },
    get$name$x(receiver) {
      return J.getInterceptor$x(receiver).get$name(receiver);
    },
    get$numeratorUnits$x(receiver) {
      return J.getInterceptor$x(receiver).get$numeratorUnits(receiver);
    },
    get$options$x(receiver) {
      return J.getInterceptor$x(receiver).get$options(receiver);
    },
    get$parent$z(receiver) {
      return J.getInterceptor$z(receiver).get$parent(receiver);
    },
    get$path$x(receiver) {
      return J.getInterceptor$x(receiver).get$path(receiver);
    },
    get$platform$x(receiver) {
      return J.getInterceptor$x(receiver).get$platform(receiver);
    },
    get$quietDeps$x(receiver) {
      return J.getInterceptor$x(receiver).get$quietDeps(receiver);
    },
    get$quotes$x(receiver) {
      return J.getInterceptor$x(receiver).get$quotes(receiver);
    },
    get$red$x(receiver) {
      return J.getInterceptor$x(receiver).get$red(receiver);
    },
    get$release$x(receiver) {
      return J.getInterceptor$x(receiver).get$release(receiver);
    },
    get$reversed$ax(receiver) {
      return J.getInterceptor$ax(receiver).get$reversed(receiver);
    },
    get$runtimeType$(receiver) {
      return J.getInterceptor$(receiver).get$runtimeType(receiver);
    },
    get$separator$x(receiver) {
      return J.getInterceptor$x(receiver).get$separator(receiver);
    },
    get$sign$in(receiver) {
      if (typeof receiver === "number")
        return receiver > 0 ? 1 : receiver < 0 ? -1 : receiver;
      return J.getInterceptor$in(receiver).get$sign(receiver);
    },
    get$silenceDeprecations$x(receiver) {
      return J.getInterceptor$x(receiver).get$silenceDeprecations(receiver);
    },
    get$single$ax(receiver) {
      return J.getInterceptor$ax(receiver).get$single(receiver);
    },
    get$sourceMap$x(receiver) {
      return J.getInterceptor$x(receiver).get$sourceMap(receiver);
    },
    get$sourceMapIncludeSources$x(receiver) {
      return J.getInterceptor$x(receiver).get$sourceMapIncludeSources(receiver);
    },
    get$span$z(receiver) {
      return J.getInterceptor$z(receiver).get$span(receiver);
    },
    get$stderr$x(receiver) {
      return J.getInterceptor$x(receiver).get$stderr(receiver);
    },
    get$stdout$x(receiver) {
      return J.getInterceptor$x(receiver).get$stdout(receiver);
    },
    get$style$x(receiver) {
      return J.getInterceptor$x(receiver).get$style(receiver);
    },
    get$syntax$x(receiver) {
      return J.getInterceptor$x(receiver).get$syntax(receiver);
    },
    get$trace$z(receiver) {
      return J.getInterceptor$z(receiver).get$trace(receiver);
    },
    get$url$x(receiver) {
      return J.getInterceptor$x(receiver).get$url(receiver);
    },
    get$verbose$x(receiver) {
      return J.getInterceptor$x(receiver).get$verbose(receiver);
    },
    get$warn$x(receiver) {
      return J.getInterceptor$x(receiver).get$warn(receiver);
    },
    $add$ansx(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver + a0;
      return J.getInterceptor$ansx(receiver).$add(receiver, a0);
    },
    $eq$(receiver, a0) {
      if (receiver == null)
        return a0 == null;
      if (typeof receiver != "object")
        return a0 != null && receiver === a0;
      return J.getInterceptor$(receiver).$eq(receiver, a0);
    },
    $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) {
      if (typeof a0 === "number")
        if ((Array.isArray(receiver) || A.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) && !receiver.immutable$list && a0 >>> 0 === a0 && a0 < receiver.length)
          return receiver[a0] = a1;
      return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
    },
    $set$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).$set$2(receiver, a0, a1);
    },
    add$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).add$1(receiver, a0);
    },
    addAll$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).addAll$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);
    },
    any$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).any$1(receiver, a0);
    },
    apply$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).apply$2(receiver, a0, a1);
    },
    asImmutable$0$x(receiver) {
      return J.getInterceptor$x(receiver).asImmutable$0(receiver);
    },
    asMutable$0$x(receiver) {
      return J.getInterceptor$x(receiver).asMutable$0(receiver);
    },
    canonicalize$4$baseImporter$baseUrl$forImport$x(receiver, a0, a1, a2, a3) {
      return J.getInterceptor$x(receiver).canonicalize$4$baseImporter$baseUrl$forImport(receiver, a0, a1, a2, a3);
    },
    cast$1$0$ax(receiver, $T1) {
      return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1);
    },
    close$0$x(receiver) {
      return J.getInterceptor$x(receiver).close$0(receiver);
    },
    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);
    },
    contains$1$asx(receiver, a0) {
      return J.getInterceptor$asx(receiver).contains$1(receiver, a0);
    },
    createInterface$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).createInterface$1(receiver, a0);
    },
    createRequire$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).createRequire$1(receiver, a0);
    },
    elementAt$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
    },
    endsWith$1$s(receiver, a0) {
      return J.getInterceptor$s(receiver).endsWith$1(receiver, a0);
    },
    error$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).error$1(receiver, a0);
    },
    every$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).every$1(receiver, a0);
    },
    existsSync$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).existsSync$1(receiver, a0);
    },
    expand$1$1$ax(receiver, a0, $T1) {
      return J.getInterceptor$ax(receiver).expand$1$1(receiver, a0, $T1);
    },
    fillRange$3$ax(receiver, a0, a1, a2) {
      return J.getInterceptor$ax(receiver).fillRange$3(receiver, a0, a1, a2);
    },
    fold$2$ax(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).fold$2(receiver, a0, a1);
    },
    forEach$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).forEach$1(receiver, a0);
    },
    getRange$2$ax(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).getRange$2(receiver, a0, a1);
    },
    getTime$0$x(receiver) {
      return J.getInterceptor$x(receiver).getTime$0(receiver);
    },
    isDirectory$0$x(receiver) {
      return J.getInterceptor$x(receiver).isDirectory$0(receiver);
    },
    isFile$0$x(receiver) {
      return J.getInterceptor$x(receiver).isFile$0(receiver);
    },
    join$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).join$1(receiver, a0);
    },
    listen$1$z(receiver, a0) {
      return J.getInterceptor$z(receiver).listen$1(receiver, a0);
    },
    log$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).log$1(receiver, a0);
    },
    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);
    },
    mkdirSync$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).mkdirSync$1(receiver, a0);
    },
    noSuchMethod$1$(receiver, a0) {
      return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0);
    },
    on$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).on$2(receiver, a0, a1);
    },
    readFileSync$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).readFileSync$2(receiver, a0, a1);
    },
    readdirSync$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).readdirSync$1(receiver, a0);
    },
    remove$1$z(receiver, a0) {
      return J.getInterceptor$z(receiver).remove$1(receiver, a0);
    },
    removeRange$2$ax(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).removeRange$2(receiver, a0, a1);
    },
    replaceFirst$2$s(receiver, a0, a1) {
      return J.getInterceptor$s(receiver).replaceFirst$2(receiver, a0, a1);
    },
    resolve$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).resolve$1(receiver, a0);
    },
    run$0$x(receiver) {
      return J.getInterceptor$x(receiver).run$0(receiver);
    },
    run$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).run$1(receiver, a0);
    },
    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);
    },
    sort$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).sort$1(receiver, a0);
    },
    startsWith$1$s(receiver, a0) {
      return J.getInterceptor$s(receiver).startsWith$1(receiver, a0);
    },
    statSync$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).statSync$1(receiver, a0);
    },
    sublist$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).sublist$1(receiver, a0);
    },
    substring$1$s(receiver, a0) {
      return J.getInterceptor$s(receiver).substring$1(receiver, a0);
    },
    substring$2$s(receiver, a0, a1) {
      return J.getInterceptor$s(receiver).substring$2(receiver, a0, a1);
    },
    take$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).take$1(receiver, a0);
    },
    then$1$1$x(receiver, a0, $T1) {
      return J.getInterceptor$x(receiver).then$1$1(receiver, a0, $T1);
    },
    then$1$2$onError$x(receiver, a0, a1, $T1) {
      return J.getInterceptor$x(receiver).then$1$2$onError(receiver, a0, a1, $T1);
    },
    then$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).then$2(receiver, a0, a1);
    },
    toArray$0$x(receiver) {
      return J.getInterceptor$x(receiver).toArray$0(receiver);
    },
    toList$0$ax(receiver) {
      return J.getInterceptor$ax(receiver).toList$0(receiver);
    },
    toList$1$growable$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).toList$1$growable(receiver, a0);
    },
    toRadixString$1$n(receiver, a0) {
      return J.getInterceptor$n(receiver).toRadixString$1(receiver, a0);
    },
    toSet$0$ax(receiver) {
      return J.getInterceptor$ax(receiver).toSet$0(receiver);
    },
    toString$0$(receiver) {
      return J.getInterceptor$(receiver).toString$0(receiver);
    },
    toString$1$color$(receiver, a0) {
      return J.getInterceptor$(receiver).toString$1$color(receiver, a0);
    },
    trim$0$s(receiver) {
      return J.getInterceptor$s(receiver).trim$0(receiver);
    },
    unlinkSync$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).unlinkSync$1(receiver, a0);
    },
    watch$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).watch$2(receiver, a0, a1);
    },
    where$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).where$1(receiver, a0);
    },
    write$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).write$1(receiver, a0);
    },
    writeFileSync$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).writeFileSync$2(receiver, a0, a1);
    },
    yield$0$x(receiver) {
      return J.getInterceptor$x(receiver).yield$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;
    },
    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 ($S._eval$1("EfficientLengthIterable<0>")._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$localNI(localName) {
      return new A.LateError("Local '" + localName + "' has not been initialized.");
    },
    ReachabilityError$(_message) {
      return new A.ReachabilityError(_message);
    },
    hexDigitValue(char) {
      var letter,
        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_);
      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_);
        A.RangeError_checkNotNegative(count, _s5_);
        return new A.EfficientLengthSkipIterable(iterable, count, $E._eval$1("EfficientLengthSkipIterable<0>"));
      }
      A.ArgumentError_checkNotNull(count, _s5_);
      A.RangeError_checkNotNegative(count, _s5_);
      return new A.SkipIterable(iterable, count, $E._eval$1("SkipIterable<0>"));
    },
    FollowedByIterable_FollowedByIterable$firstEfficient(first, second, $E) {
      if ($E._eval$1("EfficientLengthIterable<0>")._is(second))
        return new A.EfficientLengthFollowedByIterable(first, second, $E._eval$1("EfficientLengthFollowedByIterable<0>"));
      return new A.FollowedByIterable(first, second, $E._eval$1("FollowedByIterable<0>"));
    },
    IterableElementError_noElement() {
      return new A.StateError("No element");
    },
    IterableElementError_tooMany() {
      return new A.StateError("Too many elements");
    },
    IterableElementError_tooFew() {
      return new A.StateError("Too few elements");
    },
    Sort__doSort(a, left, right, compare) {
      if (right - left <= 32)
        A.Sort__insertionSort(a, left, right, compare);
      else
        A.Sort__dualPivotQuicksort(a, left, right, compare);
    },
    Sort__insertionSort(a, left, right, compare) {
      var i, t1, el, j, j0;
      for (i = left + 1, t1 = J.getInterceptor$asx(a); i <= right; ++i) {
        el = t1.$index(a, i);
        j = i;
        while (true) {
          if (!(j > left && compare.call$2(t1.$index(a, j - 1), el) > 0))
            break;
          j0 = j - 1;
          t1.$indexSet(a, j, t1.$index(a, j0));
          j = j0;
        }
        t1.$indexSet(a, j, el);
      }
    },
    Sort__dualPivotQuicksort(a, left, right, compare) {
      var t0, less, great, pivots_are_equal, k, ak, comp, great0, less0, t2,
        sixth = B.JSInt_methods._tdivFast$1(right - left + 1, 6),
        index1 = left + sixth,
        index5 = right - sixth,
        index3 = B.JSInt_methods._tdivFast$1(left + right, 2),
        index2 = index3 - sixth,
        index4 = index3 + sixth,
        t1 = J.getInterceptor$asx(a),
        el1 = t1.$index(a, index1),
        el2 = t1.$index(a, index2),
        el3 = t1.$index(a, index3),
        el4 = t1.$index(a, index4),
        el5 = t1.$index(a, index5);
      if (compare.call$2(el1, el2) > 0) {
        t0 = el2;
        el2 = el1;
        el1 = t0;
      }
      if (compare.call$2(el4, el5) > 0) {
        t0 = el5;
        el5 = el4;
        el4 = t0;
      }
      if (compare.call$2(el1, el3) > 0) {
        t0 = el3;
        el3 = el1;
        el1 = t0;
      }
      if (compare.call$2(el2, el3) > 0) {
        t0 = el3;
        el3 = el2;
        el2 = t0;
      }
      if (compare.call$2(el1, el4) > 0) {
        t0 = el4;
        el4 = el1;
        el1 = t0;
      }
      if (compare.call$2(el3, el4) > 0) {
        t0 = el4;
        el4 = el3;
        el3 = t0;
      }
      if (compare.call$2(el2, el5) > 0) {
        t0 = el5;
        el5 = el2;
        el2 = t0;
      }
      if (compare.call$2(el2, el3) > 0) {
        t0 = el3;
        el3 = el2;
        el2 = t0;
      }
      if (compare.call$2(el4, el5) > 0) {
        t0 = el5;
        el5 = el4;
        el4 = t0;
      }
      t1.$indexSet(a, index1, el1);
      t1.$indexSet(a, index3, el3);
      t1.$indexSet(a, index5, el5);
      t1.$indexSet(a, index2, t1.$index(a, left));
      t1.$indexSet(a, index4, t1.$index(a, right));
      less = left + 1;
      great = right - 1;
      pivots_are_equal = J.$eq$(compare.call$2(el2, el4), 0);
      if (pivots_are_equal)
        for (k = less; k <= great; ++k) {
          ak = t1.$index(a, k);
          comp = compare.call$2(ak, el2);
          if (comp === 0)
            continue;
          if (comp < 0) {
            if (k !== less) {
              t1.$indexSet(a, k, t1.$index(a, less));
              t1.$indexSet(a, less, ak);
            }
            ++less;
          } else
            for (; true;) {
              comp = compare.call$2(t1.$index(a, great), el2);
              if (comp > 0) {
                --great;
                continue;
              } else {
                great0 = great - 1;
                if (comp < 0) {
                  t1.$indexSet(a, k, t1.$index(a, less));
                  less0 = less + 1;
                  t1.$indexSet(a, less, t1.$index(a, great));
                  t1.$indexSet(a, great, ak);
                  great = great0;
                  less = less0;
                  break;
                } else {
                  t1.$indexSet(a, k, t1.$index(a, great));
                  t1.$indexSet(a, great, ak);
                  great = great0;
                  break;
                }
              }
            }
        }
      else
        for (k = less; k <= great; ++k) {
          ak = t1.$index(a, k);
          if (compare.call$2(ak, el2) < 0) {
            if (k !== less) {
              t1.$indexSet(a, k, t1.$index(a, less));
              t1.$indexSet(a, less, ak);
            }
            ++less;
          } else if (compare.call$2(ak, el4) > 0)
            for (; true;)
              if (compare.call$2(t1.$index(a, great), el4) > 0) {
                --great;
                if (great < k)
                  break;
                continue;
              } else {
                great0 = great - 1;
                if (compare.call$2(t1.$index(a, great), el2) < 0) {
                  t1.$indexSet(a, k, t1.$index(a, less));
                  less0 = less + 1;
                  t1.$indexSet(a, less, t1.$index(a, great));
                  t1.$indexSet(a, great, ak);
                  less = less0;
                } else {
                  t1.$indexSet(a, k, t1.$index(a, great));
                  t1.$indexSet(a, great, ak);
                }
                great = great0;
                break;
              }
        }
      t2 = less - 1;
      t1.$indexSet(a, left, t1.$index(a, t2));
      t1.$indexSet(a, t2, el2);
      t2 = great + 1;
      t1.$indexSet(a, right, t1.$index(a, t2));
      t1.$indexSet(a, t2, el4);
      A.Sort__doSort(a, left, less - 2, compare);
      A.Sort__doSort(a, great + 2, right, compare);
      if (pivots_are_equal)
        return;
      if (less < index1 && great > index5) {
        for (; J.$eq$(compare.call$2(t1.$index(a, less), el2), 0);)
          ++less;
        for (; J.$eq$(compare.call$2(t1.$index(a, great), el4), 0);)
          --great;
        for (k = less; k <= great; ++k) {
          ak = t1.$index(a, k);
          if (compare.call$2(ak, el2) === 0) {
            if (k !== less) {
              t1.$indexSet(a, k, t1.$index(a, less));
              t1.$indexSet(a, less, ak);
            }
            ++less;
          } else if (compare.call$2(ak, el4) === 0)
            for (; true;)
              if (compare.call$2(t1.$index(a, great), el4) === 0) {
                --great;
                if (great < k)
                  break;
                continue;
              } else {
                great0 = great - 1;
                if (compare.call$2(t1.$index(a, great), el2) < 0) {
                  t1.$indexSet(a, k, t1.$index(a, less));
                  less0 = less + 1;
                  t1.$indexSet(a, less, t1.$index(a, great));
                  t1.$indexSet(a, great, ak);
                  less = less0;
                } else {
                  t1.$indexSet(a, k, t1.$index(a, great));
                  t1.$indexSet(a, great, ak);
                }
                great = great0;
                break;
              }
        }
        A.Sort__doSort(a, less, great, compare);
      } else
        A.Sort__doSort(a, less, great, compare);
    },
    _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() {
    },
    _CastListBase_sort_closure: function _CastListBase_sort_closure(t0, t1) {
      this.$this = t0;
      this.compare = t1;
    },
    CastList: function CastList(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    CastSet: function CastSet(t0, t1, t2) {
      this._source = t0;
      this._emptySet = t1;
      this.$ti = t2;
    },
    CastMap: function CastMap(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    CastMap_forEach_closure: function CastMap_forEach_closure(t0, t1) {
      this.$this = t0;
      this.f = t1;
    },
    CastMap_entries_closure: function CastMap_entries_closure(t0) {
      this.$this = t0;
    },
    LateError: function LateError(t0) {
      this._message = t0;
    },
    ReachabilityError: function ReachabilityError(t0) {
      this._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) {
      this._iterator = t0;
      this._f = t1;
    },
    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) {
      this._iterator = t0;
      this._skipCount = t1;
    },
    SkipWhileIterable: function SkipWhileIterable(t0, t1, t2) {
      this.__internal$_iterable = t0;
      this._f = t1;
      this.$ti = t2;
    },
    SkipWhileIterator: function SkipWhileIterator(t0, t1) {
      this._iterator = t0;
      this._f = t1;
      this._hasSkipped = false;
    },
    EmptyIterable: function EmptyIterable(t0) {
      this.$ti = t0;
    },
    EmptyIterator: function EmptyIterator() {
    },
    FollowedByIterable: function FollowedByIterable(t0, t1, t2) {
      this.__internal$_first = t0;
      this._second = t1;
      this.$ti = t2;
    },
    EfficientLengthFollowedByIterable: function EfficientLengthFollowedByIterable(t0, t1, t2) {
      this.__internal$_first = t0;
      this._second = t1;
      this.$ti = t2;
    },
    FollowedByIterator: function FollowedByIterator(t0, t1) {
      this._currentIterator = t0;
      this._nextIterable = t1;
    },
    WhereTypeIterable: function WhereTypeIterable(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    WhereTypeIterator: function WhereTypeIterator(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    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() {
    },
    ConstantMap_ConstantMap$from(other, $K, $V) {
      var allStrings, k, object, index, index0, map,
        keys = A.List_List$from(other.get$keys(other), true, $K),
        t1 = keys.length,
        _i = 0;
      while (true) {
        if (!(_i < t1)) {
          allStrings = true;
          break;
        }
        k = keys[_i];
        if (typeof k != "string" || "__proto__" === k) {
          allStrings = false;
          break;
        }
        ++_i;
      }
      if (allStrings) {
        object = {};
        for (index = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i, index = index0) {
          k = keys[_i];
          other.$index(0, k);
          index0 = index + 1;
          object[k] = index;
        }
        map = new A.ConstantStringMap(object, A.List_List$from(other.get$values(other), true, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("ConstantStringMap<1,2>"));
        map.$keys = keys;
        return map;
      }
      return new A.ConstantMapView(A.LinkedHashMap_LinkedHashMap$from(other, $K, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("ConstantMapView<1,2>"));
    },
    ConstantMap__throwUnmodifiable() {
      throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable Map"));
    },
    ConstantSet__throwUnmodifiable() {
      throw A.wrapException(A.UnsupportedError$("Cannot modify constant Set"));
    },
    instantiate1(f, T1) {
      var t1 = new A.Instantiation1(f, T1._eval$1("Instantiation1<0>"));
      t1.Instantiation$1(f);
      return t1;
    },
    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;
    },
    JSInvocationMirror$(_memberName, _internalName, _kind, _arguments, _namedArgumentNames, _typeArgumentCount) {
      return new A.JSInvocationMirror(_memberName, _kind, _arguments, _namedArgumentNames, _typeArgumentCount);
    },
    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;
      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;
        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_parseDouble(source) {
      var result, trimmed;
      if (!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(source))
        return null;
      result = parseFloat(source);
      if (isNaN(result)) {
        trimmed = B.JSString_methods.trim$0(source);
        if (trimmed === "NaN" || trimmed === "+NaN" || trimmed === "-NaN")
          return result;
        return null;
      }
      return result;
    },
    Primitives_objectTypeName(object) {
      return A.Primitives__objectTypeNameNewRti(object);
    },
    Primitives__objectTypeNameNewRti(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) {
      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);
      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)
          a.push(i);
        else if (i <= 1114111) {
          a.push(55296 + (B.JSInt_methods._shrOtherPositive$1(i - 65536, 10) & 1023));
          a.push(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._value);
      return receiver.date;
    },
    Primitives_getYear(receiver) {
      var t1 = A.Primitives_lazyAsJsDate(receiver).getFullYear() + 0;
      return t1;
    },
    Primitives_getMonth(receiver) {
      var t1 = A.Primitives_lazyAsJsDate(receiver).getMonth() + 1;
      return t1;
    },
    Primitives_getDay(receiver) {
      var t1 = A.Primitives_lazyAsJsDate(receiver).getDate() + 0;
      return t1;
    },
    Primitives_getHours(receiver) {
      var t1 = A.Primitives_lazyAsJsDate(receiver).getHours() + 0;
      return t1;
    },
    Primitives_getMinutes(receiver) {
      var t1 = A.Primitives_lazyAsJsDate(receiver).getMinutes() + 0;
      return t1;
    },
    Primitives_getSeconds(receiver) {
      var t1 = A.Primitives_lazyAsJsDate(receiver).getSeconds() + 0;
      return t1;
    },
    Primitives_getMilliseconds(receiver) {
      var t1 = A.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0;
      return t1;
    },
    Primitives_functionNoSuchMethod($function, positionalArguments, namedArguments) {
      var $arguments, namedArgumentList, t1 = {};
      t1.argumentCount = 0;
      $arguments = [];
      namedArgumentList = [];
      t1.argumentCount = positionalArguments.length;
      B.JSArray_methods.addAll$1($arguments, positionalArguments);
      t1.names = "";
      if (namedArguments != null && namedArguments.__js_helper$_length !== 0)
        namedArguments.forEach$1(0, new A.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments));
      return J.noSuchMethod$1$($function, new A.JSInvocationMirror(B.Symbol_call, 0, $arguments, namedArgumentList, 0));
    },
    Primitives_applyFunction($function, positionalArguments, namedArguments) {
      var t1, argumentCount, jsStub;
      if (Array.isArray(positionalArguments))
        t1 = namedArguments == null || namedArguments.__js_helper$_length === 0;
      else
        t1 = false;
      if (t1) {
        argumentCount = positionalArguments.length;
        if (argumentCount === 0) {
          if (!!$function.call$0)
            return $function.call$0();
        } else if (argumentCount === 1) {
          if (!!$function.call$1)
            return $function.call$1(positionalArguments[0]);
        } else if (argumentCount === 2) {
          if (!!$function.call$2)
            return $function.call$2(positionalArguments[0], positionalArguments[1]);
        } else if (argumentCount === 3) {
          if (!!$function.call$3)
            return $function.call$3(positionalArguments[0], positionalArguments[1], positionalArguments[2]);
        } else if (argumentCount === 4) {
          if (!!$function.call$4)
            return $function.call$4(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3]);
        } else if (argumentCount === 5)
          if (!!$function.call$5)
            return $function.call$5(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3], positionalArguments[4]);
        jsStub = $function["call" + "$" + argumentCount];
        if (jsStub != null)
          return jsStub.apply($function, positionalArguments);
      }
      return A.Primitives__generalApplyFunction($function, positionalArguments, namedArguments);
    },
    Primitives__generalApplyFunction($function, positionalArguments, namedArguments) {
      var defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, maxArguments, missingDefaults, keys, _i, defaultValue, used, t2,
        $arguments = Array.isArray(positionalArguments) ? positionalArguments : A.List_List$of(positionalArguments, true, type$.dynamic),
        argumentCount = $arguments.length,
        requiredParameterCount = $function.$requiredArgCount;
      if (argumentCount < requiredParameterCount)
        return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
      defaultValuesClosure = $function.$defaultValues;
      t1 = defaultValuesClosure == null;
      defaultValues = !t1 ? defaultValuesClosure() : null;
      interceptor = J.getInterceptor$($function);
      jsFunction = interceptor["call*"];
      if (typeof jsFunction == "string")
        jsFunction = interceptor[jsFunction];
      if (t1) {
        if (namedArguments != null && namedArguments.__js_helper$_length !== 0)
          return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
        if (argumentCount === requiredParameterCount)
          return jsFunction.apply($function, $arguments);
        return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
      }
      if (Array.isArray(defaultValues)) {
        if (namedArguments != null && namedArguments.__js_helper$_length !== 0)
          return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
        maxArguments = requiredParameterCount + defaultValues.length;
        if (argumentCount > maxArguments)
          return A.Primitives_functionNoSuchMethod($function, $arguments, null);
        if (argumentCount < maxArguments) {
          missingDefaults = defaultValues.slice(argumentCount - requiredParameterCount);
          if ($arguments === positionalArguments)
            $arguments = A.List_List$of($arguments, true, type$.dynamic);
          B.JSArray_methods.addAll$1($arguments, missingDefaults);
        }
        return jsFunction.apply($function, $arguments);
      } else {
        if (argumentCount > requiredParameterCount)
          return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
        if ($arguments === positionalArguments)
          $arguments = A.List_List$of($arguments, true, type$.dynamic);
        keys = Object.keys(defaultValues);
        if (namedArguments == null)
          for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) {
            defaultValue = defaultValues[keys[_i]];
            if (B.C__Required === defaultValue)
              return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
            B.JSArray_methods.add$1($arguments, defaultValue);
          }
        else {
          for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) {
            t2 = keys[_i];
            if (namedArguments.containsKey$1(t2)) {
              ++used;
              B.JSArray_methods.add$1($arguments, namedArguments.$index(0, t2));
            } else {
              defaultValue = defaultValues[t2];
              if (B.C__Required === defaultValue)
                return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
              B.JSArray_methods.add$1($arguments, defaultValue);
            }
          }
          if (used !== namedArguments.__js_helper$_length)
            return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
        }
        return jsFunction.apply($function, $arguments);
      }
    },
    Primitives_extractStackTrace(error) {
      var jsError = error.$thrownJsError;
      if (jsError == null)
        return null;
      return A.getTraceFromException(jsError);
    },
    diagnoseIndexError(indexable, index) {
      var $length, _s5_ = "index";
      if (!A._isInt(index))
        return new A.ArgumentError(true, index, _s5_, null);
      $length = 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_, null);
    },
    diagnoseRangeError(start, end, $length) {
      if (start < 0 || 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);
    },
    checkNum(value) {
      return value;
    },
    wrapException(ex) {
      return A.initializeExceptionWrapper(new Error(), ex);
    },
    initializeExceptionWrapper(wrapper, ex) {
      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) {
      throw A.wrapException(ex);
    },
    throwExpressionWithWrapper(ex, wrapper) {
      throw A.initializeExceptionWrapper(wrapper, ex);
    },
    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) {
      if (ex == null)
        return new A.NullThrownFromJavaScriptException(ex);
      if (ex instanceof A.ExceptionAndStackTrace)
        return A.saveStackTrace(ex, ex.dartException);
      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$(message, match));
        else {
          match = notClosure.matchTypeError$1(message);
          if (match != null) {
            match.method = "call";
            return A.saveStackTrace(ex, A.JsNoSuchMethodError$(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)
            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);
    },
    constantHashCode(key) {
      if (typeof key == "number")
        return B.JSNumber_methods.get$hashCode(key);
      if (key instanceof A._Type)
        return A.Primitives_objectHashCode(key);
      if (key instanceof A._Record)
        return key.get$hashCode(key);
      if (key instanceof A.Symbol)
        return key.get$hashCode(0);
      return A.objectHashCode(key);
    },
    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;
    },
    fillLiteralSet(values, result) {
      var index,
        $length = values.length;
      for (index = 0; index < $length; ++index)
        result.add$1(0, values[index]);
      return result;
    },
    _invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) {
      switch (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(new A._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 $prototype, $constructor, t2, trampoline, applyTrampoline, i, stub, stub0, stubName, stubCallName,
        container = parameters.co,
        isStatic = parameters.iS,
        isIntercepted = parameters.iI,
        needsDirectAccess = parameters.nDA,
        applyTrampolineIndex = parameters.aI,
        funsOrNames = parameters.fs,
        callNames = parameters.cs,
        $name = funsOrNames[0],
        callName = callNames[0],
        $function = container[$name],
        t1 = parameters.fT;
      t1.toString;
      $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__computeSignatureFunctionNewRti(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__computeSignatureFunctionNewRti(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 t1, i, $name,
        template = new A.BoundClosure("receiver", "interceptor"),
        names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template));
      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));
    },
    throwCyclicInit(staticName) {
      throw A.wrapException(new A._CyclicInitializationError(staticName));
    },
    getIsolateAffinityTag($name) {
      return init.getIsolateTag($name);
    },
    LinkedHashMapKeyIterator$(_map, _modifications) {
      var t1 = new A.LinkedHashMapKeyIterator(_map, _modifications);
      t1.__js_helper$_cell = _map.__js_helper$_first;
      return t1;
    },
    defineProperty(obj, property, value) {
      Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
    },
    lookupAndCacheInterceptor(obj) {
      var interceptor, interceptorClass, altTag, mark, t1,
        tag = $.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 = $.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;
    },
    _RecordN__equalValues(a, b) {
      var i;
      for (i = 0; i < a.length; ++i)
        if (!J.$eq$(a[i], b[i]))
          return false;
      return true;
    },
    createRecordTypePredicate(shape, fieldRtis) {
      var $length = fieldRtis.length,
        $function = init.rttc["" + $length + ";" + shape];
      if ($function == null)
        return null;
      if ($length === 0)
        return $function;
      if ($length === $function.length)
        return $function.apply(null, fieldRtis);
      return $function(fieldRtis);
    },
    JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, unicode, dotAll, global) {
      var m = multiLine ? "m" : "",
        i = caseSensitive ? "" : "i",
        u = unicode ? "u" : "",
        s = dotAll ? "s" : "",
        g = global ? "g" : "",
        regexp = function(source, modifiers) {
          try {
            return new RegExp(source, modifiers);
          } catch (e) {
            return e;
          }
        }(source, m + i + u + s + g);
      if (regexp instanceof RegExp)
        return regexp;
      throw A.wrapException(A.FormatException$("Illegal RegExp pattern (" + String(regexp) + ")", source, null));
    },
    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(0), 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(t1);
        t2 = t2 + receiver.substring(startIndex, match.get$start(match)) + replacement;
        startIndex = match.get$end(match);
      }
      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;
        t1 = "" + replacement;
        for (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(matches);
      return B.JSString_methods.replaceRange$3(receiver, match.get$start(match), match.get$end(match), replacement);
    },
    stringReplaceRangeUnchecked(receiver, start, end, replacement) {
      return receiver.substring(0, start) + replacement + receiver.substring(end);
    },
    _Record_1: function _Record_1(t0) {
      this._0 = t0;
    },
    _Record_2: function _Record_2(t0, t1) {
      this._0 = t0;
      this._1 = t1;
    },
    _Record_2_forImport: function _Record_2_forImport(t0, t1) {
      this._0 = t0;
      this._1 = t1;
    },
    _Record_2_imports_modules: function _Record_2_imports_modules(t0, t1) {
      this._0 = t0;
      this._1 = t1;
    },
    _Record_2_loadedUrls_stylesheet: function _Record_2_loadedUrls_stylesheet(t0, t1) {
      this._0 = t0;
      this._1 = t1;
    },
    _Record_2_sourceMap: function _Record_2_sourceMap(t0, t1) {
      this._0 = t0;
      this._1 = t1;
    },
    _Record_3: function _Record_3(t0, t1, t2) {
      this._0 = t0;
      this._1 = t1;
      this._2 = t2;
    },
    _Record_3_forImport: function _Record_3_forImport(t0, t1, t2) {
      this._0 = t0;
      this._1 = t1;
      this._2 = t2;
    },
    _Record_3_importer_isDependency: function _Record_3_importer_isDependency(t0, t1, t2) {
      this._0 = t0;
      this._1 = t1;
      this._2 = t2;
    },
    _Record_3_originalUrl: function _Record_3_originalUrl(t0, t1, t2) {
      this._0 = t0;
      this._1 = t1;
      this._2 = t2;
    },
    _Record_5_named_namedNodes_positional_positionalNodes_separator: function _Record_5_named_namedNodes_positional_positionalNodes_separator(t0) {
      this._values = t0;
    },
    ConstantMapView: function ConstantMapView(t0, t1) {
      this._map = t0;
      this.$ti = 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;
    },
    ConstantSet: function ConstantSet() {
    },
    ConstantStringSet: function ConstantStringSet(t0, t1, t2) {
      this._jsIndex = t0;
      this.__js_helper$_length = t1;
      this.$ti = t2;
    },
    GeneralConstantSet: function GeneralConstantSet(t0, t1) {
      this._elements = t0;
      this.$ti = t1;
    },
    Instantiation: function Instantiation() {
    },
    Instantiation1: function Instantiation1(t0, t1) {
      this._genericClosure = t0;
      this.$ti = t1;
    },
    JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) {
      var _ = this;
      _.__js_helper$_memberName = t0;
      _.__js_helper$_kind = t1;
      _._arguments = t2;
      _._namedArgumentNames = t3;
      _._typeArgumentCount = t4;
    },
    Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.namedArgumentList = t1;
      this.$arguments = t2;
    },
    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;
    },
    _CyclicInitializationError: function _CyclicInitializationError(t0) {
      this.variableName = t0;
    },
    RuntimeError: function RuntimeError(t0) {
      this.message = t0;
    },
    _Required: function _Required() {
    },
    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_values_closure: function JsLinkedHashMap_values_closure(t0) {
      this.$this = 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;
    },
    LinkedHashMapKeyIterable: function LinkedHashMapKeyIterable(t0, t1) {
      this.__js_helper$_map = t0;
      this.$ti = t1;
    },
    LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1) {
      var _ = this;
      _.__js_helper$_map = t0;
      _.__js_helper$_modifications = t1;
      _.__js_helper$_current = _.__js_helper$_cell = null;
    },
    JsIdentityLinkedHashMap: function JsIdentityLinkedHashMap(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;
    },
    JsConstantLinkedHashMap: function JsConstantLinkedHashMap(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;
    },
    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() {
    },
    _Record1: function _Record1() {
    },
    _Record3: function _Record3() {
    },
    _RecordN: function _RecordN() {
    },
    JSSyntaxRegExp: function JSSyntaxRegExp(t0, t1) {
      var _ = this;
      _.pattern = t0;
      _._nativeRegExp = t1;
      _._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;
    },
    throwLateFieldADI(fieldName) {
      A.throwExpressionWithWrapper(new A.LateError("Field '" + fieldName + "' has been assigned during initialization."), new Error());
    },
    throwUnnamedLateFieldNI() {
      A.throwExpressionWithWrapper(new A.LateError("Field '' has not been initialized."), new Error());
    },
    throwUnnamedLateFieldAI() {
      A.throwExpressionWithWrapper(new A.LateError("Field '' has already been initialized."), new Error());
    },
    throwUnnamedLateFieldADI() {
      A.throwExpressionWithWrapper(new A.LateError("Field '' has been assigned during initialization."), new Error());
    },
    _Cell$() {
      var t1 = new A._Cell();
      return t1.__late_helper$_value = t1;
    },
    _Cell: function _Cell() {
      this.__late_helper$_value = null;
    },
    _ensureNativeList(list) {
      return list;
    },
    NativeInt8List__create1(arg) {
      return new Int8Array(arg);
    },
    NativeUint8List_NativeUint8List($length) {
      return new Uint8Array($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))
        if (end == null)
          t1 = start > $length;
        else
          t1 = end >>> 0 !== end || start > end || end > $length;
      else
        t1 = true;
      if (t1)
        throw A.wrapException(A.diagnoseRangeError(start, end, $length));
      if (end == null)
        return $length;
      return end;
    },
    NativeByteBuffer: function NativeByteBuffer() {
    },
    NativeTypedData: function NativeTypedData() {
    },
    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__getQuestionFromStar(universe, rti) {
      var question = rti._precomputed1;
      return question == null ? rti._precomputed1 = A._Universe__lookupQuestionRti(universe, rti._primary, true) : question;
    },
    Rti__getFutureFromFutureOr(universe, rti) {
      var future = rti._precomputed1;
      return future == null ? rti._precomputed1 = A._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future;
    },
    Rti__isUnionOfFunctionType(rti) {
      var kind = rti._kind;
      if (kind === 6 || kind === 7 || kind === 8)
        return A.Rti__isUnionOfFunctionType(rti._primary);
      return kind === 12 || kind === 13;
    },
    Rti__getCanonicalRecipe(rti) {
      return rti._canonicalRecipe;
    },
    pairwiseIsTest(fieldRtis, values) {
      var i,
        $length = values.length;
      for (i = 0; i < $length; ++i)
        if (!fieldRtis[i]._is(values[i]))
          return false;
      return true;
    },
    findType(recipe) {
      return A._Universe_eval(init.typeUniverse, recipe, false);
    },
    instantiatedGenericFunctionType(genericFunctionRti, instantiationRti) {
      var t1, cache, key, probe, rti;
      if (genericFunctionRti == null)
        return null;
      t1 = instantiationRti._rest;
      cache = genericFunctionRti._bindCache;
      if (cache == null)
        cache = genericFunctionRti._bindCache = new Map();
      key = instantiationRti._canonicalRecipe;
      probe = cache.get(key);
      if (probe != null)
        return probe;
      rti = A._substitute(init.typeUniverse, genericFunctionRti._primary, t1, 0);
      cache.set(key, rti);
      return rti;
    },
    _substitute(universe, rti, typeArguments, depth) {
      var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, t1, fields, substitutedFields, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,
        kind = rti._kind;
      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__lookupStarRti(universe, substitutedBaseType, true);
        case 7:
          baseType = rti._primary;
          substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth);
          if (substitutedBaseType === baseType)
            return rti;
          return A._Universe__lookupQuestionRti(universe, substitutedBaseType, true);
        case 8:
          baseType = rti._primary;
          substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth);
          if (substitutedBaseType === baseType)
            return rti;
          return A._Universe__lookupFutureOrRti(universe, substitutedBaseType, true);
        case 9:
          interfaceTypeArguments = rti._rest;
          substitutedInterfaceTypeArguments = A._substituteArray(universe, interfaceTypeArguments, typeArguments, depth);
          if (substitutedInterfaceTypeArguments === interfaceTypeArguments)
            return rti;
          return A._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments);
        case 10:
          base = rti._primary;
          substitutedBase = A._substitute(universe, base, typeArguments, depth);
          $arguments = rti._rest;
          substitutedArguments = A._substituteArray(universe, $arguments, typeArguments, depth);
          if (substitutedBase === base && substitutedArguments === $arguments)
            return rti;
          return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments);
        case 11:
          t1 = rti._primary;
          fields = rti._rest;
          substitutedFields = A._substituteArray(universe, fields, typeArguments, depth);
          if (substitutedFields === fields)
            return rti;
          return A._Universe__lookupRecordRti(universe, t1, substitutedFields);
        case 12:
          returnType = rti._primary;
          substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth);
          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 13:
          bounds = rti._rest;
          depth += bounds.length;
          substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth);
          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 14:
          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 changed, i, t1, t2, rti, substitutedRti,
        $length = namedArray.length,
        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) {
      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;
      return t1 == null ? rti._cachedRuntimeType = A._createRuntimeType(rti) : t1;
    },
    _createRuntimeType(rti) {
      var starErasedRti, t1,
        s = rti._canonicalRecipe,
        starErasedRecipe = s.replace(/\*/g, "");
      if (starErasedRecipe === s)
        return rti._cachedRuntimeType = new A._Type(rti);
      starErasedRti = A._Universe_eval(init.typeUniverse, starErasedRecipe, true);
      t1 = starErasedRti._cachedRuntimeType;
      return t1 == null ? starErasedRti._cachedRuntimeType = A._createRuntimeType(starErasedRti) : t1;
    },
    evaluateRtiForRecord(recordRecipe, valuesList) {
      var bindings, i,
        values = valuesList,
        $length = values.length;
      if ($length === 0)
        return type$.Record_0;
      bindings = A._Universe_evalInEnvironment(init.typeUniverse, A._structuralTypeOf(values[0]), "@<0>");
      for (i = 1; i < $length; ++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 t1, unstarred, unstarredKind, isFn, $name, predicate, testRti = this;
      if (testRti === type$.Object)
        return A._finishIsFn(testRti, object, A._isObject);
      if (!A.isSoundTopType(testRti))
        t1 = testRti === type$.legacy_Object;
      else
        t1 = true;
      if (t1)
        return A._finishIsFn(testRti, object, A._isTop);
      t1 = testRti._kind;
      if (t1 === 7)
        return A._finishIsFn(testRti, object, A._generalNullableIsTestImplementation);
      if (t1 === 1)
        return A._finishIsFn(testRti, object, A._isNever);
      unstarred = t1 === 6 ? testRti._primary : testRti;
      unstarredKind = unstarred._kind;
      if (unstarredKind === 8)
        return A._finishIsFn(testRti, object, A._isFutureOr);
      if (unstarred === type$.int)
        isFn = A._isInt;
      else if (unstarred === type$.double || unstarred === type$.num)
        isFn = A._isNum;
      else if (unstarred === type$.String)
        isFn = A._isString;
      else
        isFn = unstarred === type$.bool ? A._isBool : null;
      if (isFn != null)
        return A._finishIsFn(testRti, object, isFn);
      if (unstarredKind === 9) {
        $name = unstarred._primary;
        if (unstarred._rest.every(A.isDefinitelyTopType)) {
          testRti._specializedTestResource = "$is" + $name;
          if ($name === "List")
            return A._finishIsFn(testRti, object, A._isListTestViaProperty);
          return A._finishIsFn(testRti, object, A._isTestViaProperty);
        }
      } else if (unstarredKind === 11) {
        predicate = A.createRecordTypePredicate(unstarred._primary, unstarred._rest);
        return A._finishIsFn(testRti, object, predicate == null ? A._isNever : predicate);
      }
      return A._finishIsFn(testRti, object, A._generalIsTestImplementation);
    },
    _finishIsFn(testRti, object, isFn) {
      testRti._is = isFn;
      return testRti._is(object);
    },
    _installSpecializedAsCheck(object) {
      var t1, testRti = this,
        asFn = A._generalAsCheckImplementation;
      if (!A.isSoundTopType(testRti))
        t1 = testRti === type$.legacy_Object;
      else
        t1 = true;
      if (t1)
        asFn = A._asTop;
      else if (testRti === type$.Object)
        asFn = A._asObject;
      else {
        t1 = A.isNullable(testRti);
        if (t1)
          asFn = A._generalNullableAsCheckImplementation;
      }
      testRti._as = asFn;
      return testRti._as(object);
    },
    _nullIs(testRti) {
      var t1,
        kind = testRti._kind;
      if (!A.isSoundTopType(testRti))
        if (!(testRti === type$.legacy_Object))
          if (!(testRti === type$.legacy_Never))
            if (kind !== 7)
              if (!(kind === 6 && A._nullIs(testRti._primary)))
                t1 = kind === 8 && A._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull;
              else
                t1 = true;
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    _generalIsTestImplementation(object) {
      var testRti = this;
      if (object == null)
        return A._nullIs(testRti);
      return A.isSubtype(init.typeUniverse, A.instanceOrFunctionType(object, testRti), testRti);
    },
    _generalNullableIsTestImplementation(object) {
      if (object == null)
        return true;
      return this._primary._is(object);
    },
    _isTestViaProperty(object) {
      var tag, testRti = this;
      if (object == null)
        return A._nullIs(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._nullIs(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];
    },
    _generalAsCheckImplementation(object) {
      var testRti = this;
      if (object == null) {
        if (A.isNullable(testRti))
          return object;
      } else if (testRti._is(object))
        return object;
      A._failedAsCheck(object, testRti);
    },
    _generalNullableAsCheckImplementation(object) {
      var testRti = this;
      if (object == null)
        return object;
      else if (testRti._is(object))
        return object;
      A._failedAsCheck(object, testRti);
    },
    _failedAsCheck(object, testRti) {
      throw A.wrapException(A._TypeError$fromMessage(A._Error_compose(object, A._rtiToString(testRti, null))));
    },
    _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,
        unstarred = testRti._kind === 6 ? testRti._primary : testRti;
      return unstarred._primary._is(object) || A.Rti__getFutureFromFutureOr(init.typeUniverse, unstarred)._is(object);
    },
    _isObject(object) {
      return object != null;
    },
    _asObject(object) {
      if (object != null)
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "Object"));
    },
    _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.wrapException(A._TypeError__TypeError$forType(object, "bool"));
    },
    _asBoolS(object) {
      if (true === object)
        return true;
      if (false === object)
        return false;
      if (object == null)
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "bool"));
    },
    _asBoolQ(object) {
      if (true === object)
        return true;
      if (false === object)
        return false;
      if (object == null)
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "bool?"));
    },
    _asDouble(object) {
      if (typeof object == "number")
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "double"));
    },
    _asDoubleS(object) {
      if (typeof object == "number")
        return object;
      if (object == null)
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "double"));
    },
    _asDoubleQ(object) {
      if (typeof object == "number")
        return object;
      if (object == null)
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "double?"));
    },
    _isInt(object) {
      return typeof object == "number" && Math.floor(object) === object;
    },
    _asInt(object) {
      if (typeof object == "number" && Math.floor(object) === object)
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "int"));
    },
    _asIntS(object) {
      if (typeof object == "number" && Math.floor(object) === object)
        return object;
      if (object == null)
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "int"));
    },
    _asIntQ(object) {
      if (typeof object == "number" && Math.floor(object) === object)
        return object;
      if (object == null)
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "int?"));
    },
    _isNum(object) {
      return typeof object == "number";
    },
    _asNum(object) {
      if (typeof object == "number")
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "num"));
    },
    _asNumS(object) {
      if (typeof object == "number")
        return object;
      if (object == null)
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "num"));
    },
    _asNumQ(object) {
      if (typeof object == "number")
        return object;
      if (object == null)
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "num?"));
    },
    _isString(object) {
      return typeof object == "string";
    },
    _asString(object) {
      if (typeof object == "string")
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "String"));
    },
    _asStringS(object) {
      if (typeof object == "string")
        return object;
      if (object == null)
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "String"));
    },
    _asStringQ(object) {
      if (typeof object == "string")
        return object;
      if (object == null)
        return object;
      throw A.wrapException(A._TypeError__TypeError$forType(object, "String?"));
    },
    _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 fieldCount, names, namesIndex, s, comma, i,
        partialShape = recordType._primary,
        fields = recordType._rest;
      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, outerContextLength, offset, i, t1, t2, typeParametersText, typeSep, boundRti, kind, t3, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ";
      if (bounds != null) {
        boundsLength = bounds.length;
        if (genericContext == null) {
          genericContext = A._setArrayType([], type$.JSArray_String);
          outerContextLength = null;
        } else
          outerContextLength = genericContext.length;
        offset = genericContext.length;
        for (i = boundsLength; i > 0; --i)
          genericContext.push("T" + (offset + i));
        for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) {
          typeParametersText = B.JSString_methods.$add(typeParametersText + typeSep, genericContext[genericContext.length - 1 - i]);
          boundRti = bounds[i];
          kind = boundRti._kind;
          if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1))
            t3 = boundRti === t2;
          else
            t3 = true;
          if (!t3)
            typeParametersText += " extends " + A._rtiToString(boundRti, genericContext);
        }
        typeParametersText += ">";
      } else {
        typeParametersText = "";
        outerContextLength = null;
      }
      t1 = functionType._primary;
      parameters = functionType._rest;
      requiredPositional = parameters._requiredPositional;
      requiredPositionalLength = requiredPositional.length;
      optionalPositional = parameters._optionalPositional;
      optionalPositionalLength = optionalPositional.length;
      named = parameters._named;
      namedLength = named.length;
      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, t1,
        kind = rti._kind;
      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)
        return A._rtiToString(rti._primary, genericContext);
      if (kind === 7) {
        questionArgument = rti._primary;
        s = A._rtiToString(questionArgument, genericContext);
        argumentKind = questionArgument._kind;
        return (argumentKind === 12 || argumentKind === 13 ? "(" + s + ")" : s) + "?";
      }
      if (kind === 8)
        return "FutureOr<" + A._rtiToString(rti._primary, genericContext) + ">";
      if (kind === 9) {
        $name = A._unminifyOrTag(rti._primary);
        $arguments = rti._rest;
        return $arguments.length > 0 ? $name + ("<" + A._rtiArrayToString($arguments, genericContext) + ">") : $name;
      }
      if (kind === 11)
        return A._recordRtiToString(rti, genericContext);
      if (kind === 12)
        return A._functionRtiToString(rti, genericContext, null);
      if (kind === 13)
        return A._functionRtiToString(rti._primary, genericContext, rti._rest);
      if (kind === 14) {
        t1 = rti._primary;
        return genericContext[genericContext.length - 1 - 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];
      for (; typeof rule == "string";)
        rule = universe.tR[rule];
      return rule;
    },
    _Universe_findErasedType(universe, cls) {
      var $length, erased, $arguments, i, $interface,
        t1 = universe.eT,
        probe = t1[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);
        t1[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,
        t1 = universe.eC,
        probe = t1.get(recipe);
      if (probe != null)
        return probe;
      rti = A._Parser_parse(A._Parser_create(universe, null, recipe, normalize));
      t1.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 argumentsRecipe, probe, rti,
        cache = environment._bindCache;
      if (cache == null)
        cache = environment._bindCache = new Map();
      argumentsRecipe = argumentsRti._canonicalRecipe;
      probe = cache.get(argumentsRecipe);
      if (probe != null)
        return probe;
      rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [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__lookupStarRti(universe, baseType, normalize) {
      var t1,
        key = baseType._canonicalRecipe + "*",
        probe = universe.eC.get(key);
      if (probe != null)
        return probe;
      t1 = A._Universe__createStarRti(universe, baseType, key, normalize);
      universe.eC.set(key, t1);
      return t1;
    },
    _Universe__createStarRti(universe, baseType, key, normalize) {
      var baseKind, t1, rti;
      if (normalize) {
        baseKind = baseType._kind;
        if (!A.isSoundTopType(baseType))
          t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6;
        else
          t1 = true;
        if (t1)
          return baseType;
      }
      rti = new A.Rti(null, null);
      rti._kind = 6;
      rti._primary = baseType;
      rti._canonicalRecipe = key;
      return A._Universe__installTypeTests(universe, rti);
    },
    _Universe__lookupQuestionRti(universe, baseType, normalize) {
      var t1,
        key = baseType._canonicalRecipe + "?",
        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, starArgument, rti;
      if (normalize) {
        baseKind = baseType._kind;
        if (!A.isSoundTopType(baseType))
          if (!(baseType === type$.Null || baseType === type$.JSNull))
            if (baseKind !== 7)
              t1 = baseKind === 8 && A.isNullable(baseType._primary);
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
        if (t1)
          return baseType;
        else if (baseKind === 1 || baseType === type$.legacy_Never)
          return type$.Null;
        else if (baseKind === 6) {
          starArgument = baseType._primary;
          if (starArgument._kind === 8 && A.isNullable(starArgument._primary))
            return starArgument;
          else
            return A.Rti__getQuestionFromStar(universe, baseType);
        }
      }
      rti = new A.Rti(null, null);
      rti._kind = 7;
      rti._primary = baseType;
      rti._canonicalRecipe = key;
      return A._Universe__installTypeTests(universe, rti);
    },
    _Universe__lookupFutureOrRti(universe, baseType, normalize) {
      var t1,
        key = baseType._canonicalRecipe + "/",
        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.isSoundTopType(baseType) || baseType === type$.Object || baseType === type$.legacy_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 = 8;
      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 = 14;
      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,
        $length = $arguments.length;
      for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",")
        s += sep + $arguments[i]._canonicalRecipe;
      return s;
    },
    _Universe__canonicalRecipeJoinNamed($arguments) {
      var s, sep, i, t1, nameSep,
        $length = $arguments.length;
      for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") {
        t1 = $arguments[i];
        nameSep = $arguments[i + 1] ? "!" : ":";
        s += sep + t1 + nameSep + $arguments[i + 2]._canonicalRecipe;
      }
      return s;
    },
    _Universe__lookupInterfaceRti(universe, $name, $arguments) {
      var probe, rti, t1,
        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 = 9;
      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, key, probe, rti, t1;
      if (base._kind === 10) {
        newBase = base._primary;
        newArguments = base._rest.concat($arguments);
      } else {
        newArguments = $arguments;
        newBase = base;
      }
      key = newBase._canonicalRecipe + (";<" + A._Universe__canonicalRecipeJoin(newArguments) + ">");
      probe = universe.eC.get(key);
      if (probe != null)
        return probe;
      rti = new A.Rti(null, null);
      rti._kind = 10;
      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 = 11;
      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 sep, key, probe, rti, t1,
        s = returnType._canonicalRecipe,
        requiredPositional = parameters._requiredPositional,
        requiredPositionalLength = requiredPositional.length,
        optionalPositional = parameters._optionalPositional,
        optionalPositionalLength = optionalPositional.length,
        named = parameters._named,
        namedLength = named.length,
        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 = 12;
      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 t1,
        key = baseFunctionType._canonicalRecipe + ("<" + 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 = 13;
      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 t2, i, ch, t3, array, end, item,
        source = parser.r,
        t1 = parser.s;
      for (t2 = source.length, i = 0; i < t2;) {
        ch = source.charCodeAt(i);
        if (ch >= 48 && ch <= 57)
          i = A._Parser_handleDigit(i + 1, ch, source, t1);
        else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124)
          i = A._Parser_handleIdentifier(parser, i, source, t1, false);
        else if (ch === 46)
          i = A._Parser_handleIdentifier(parser, i, source, t1, true);
        else {
          ++i;
          switch (ch) {
            case 44:
              break;
            case 58:
              t1.push(false);
              break;
            case 33:
              t1.push(true);
              break;
            case 59:
              t1.push(A._Parser_toType(parser.u, parser.e, t1.pop()));
              break;
            case 94:
              t1.push(A._Universe__lookupGenericFunctionParameterRti(parser.u, t1.pop()));
              break;
            case 35:
              t1.push(A._Universe__lookupTerminalRti(parser.u, 5, "#"));
              break;
            case 64:
              t1.push(A._Universe__lookupTerminalRti(parser.u, 2, "@"));
              break;
            case 126:
              t1.push(A._Universe__lookupTerminalRti(parser.u, 3, "~"));
              break;
            case 60:
              t1.push(parser.p);
              parser.p = t1.length;
              break;
            case 62:
              A._Parser_handleTypeArguments(parser, t1);
              break;
            case 38:
              A._Parser_handleExtendedOperations(parser, t1);
              break;
            case 42:
              t3 = parser.u;
              t1.push(A._Universe__lookupStarRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n));
              break;
            case 63:
              t3 = parser.u;
              t1.push(A._Universe__lookupQuestionRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n));
              break;
            case 47:
              t3 = parser.u;
              t1.push(A._Universe__lookupFutureOrRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n));
              break;
            case 40:
              t1.push(-3);
              t1.push(parser.p);
              parser.p = t1.length;
              break;
            case 41:
              A._Parser_handleArguments(parser, t1);
              break;
            case 91:
              t1.push(parser.p);
              parser.p = t1.length;
              break;
            case 93:
              array = t1.splice(parser.p);
              A._Parser_toTypes(parser.u, parser.e, array);
              parser.p = t1.pop();
              t1.push(array);
              t1.push(-1);
              break;
            case 123:
              t1.push(parser.p);
              parser.p = t1.length;
              break;
            case 125:
              array = t1.splice(parser.p);
              A._Parser_toTypesNamed(parser.u, parser.e, array);
              parser.p = t1.pop();
              t1.push(array);
              t1.push(-2);
              break;
            case 43:
              end = source.indexOf("(", i);
              t1.push(source.substring(i, end));
              t1.push(-4);
              t1.push(parser.p);
              parser.p = t1.length;
              i = end + 1;
              break;
            default:
              throw "Bad character " + ch;
          }
        }
      }
      item = t1.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, 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;
        if (environment._kind === 10)
          environment = environment._primary;
        recipe = A._Universe_findRule(t1, environment._primary)[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,
        t1 = parser.u,
        $arguments = A._Parser_collectArray(parser, stack),
        head = stack.pop();
      if (typeof head == "string")
        stack.push(A._Universe__lookupInterfaceRti(t1, head, $arguments));
      else {
        base = A._Parser_toType(t1, parser.e, head);
        switch (base._kind) {
          case 12:
            stack.push(A._Universe__lookupGenericFunctionRti(t1, base, $arguments, parser.n));
            break;
          default:
            stack.push(A._Universe__lookupBindingRti(t1, base, $arguments));
            break;
        }
      }
    },
    _Parser_handleArguments(parser, stack) {
      var optionalPositional, named, requiredPositional, returnType, parameters, _null = null,
        t1 = parser.u,
        head = stack.pop();
      if (typeof head == "number")
        switch (head) {
          case -1:
            optionalPositional = stack.pop();
            named = _null;
            break;
          case -2:
            named = stack.pop();
            optionalPositional = _null;
            break;
          default:
            stack.push(head);
            named = _null;
            optionalPositional = named;
            break;
        }
      else {
        stack.push(head);
        named = _null;
        optionalPositional = named;
      }
      requiredPositional = A._Parser_collectArray(parser, stack);
      head = stack.pop();
      switch (head) {
        case -3:
          head = stack.pop();
          if (optionalPositional == null)
            optionalPositional = t1.sEA;
          if (named == null)
            named = t1.sEA;
          returnType = A._Parser_toType(t1, parser.e, head);
          parameters = new A._FunctionParameters();
          parameters._requiredPositional = requiredPositional;
          parameters._optionalPositional = optionalPositional;
          parameters._named = named;
          stack.push(A._Universe__lookupFunctionRti(t1, returnType, parameters));
          return;
        case -4:
          stack.push(A._Universe__lookupRecordRti(t1, stack.pop(), 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;
      for (i = 2; i < $length; i += 3)
        items[i] = A._Parser_toType(universe, environment, items[i]);
    },
    _Parser_indexToType(universe, environment, index) {
      var typeArguments, len,
        kind = environment._kind;
      if (kind === 10) {
        if (index === 0)
          return environment._primary;
        typeArguments = environment._rest;
        len = typeArguments.length;
        if (index <= len)
          return typeArguments[index - 1];
        index -= len;
        environment = environment._primary;
        kind = environment._kind;
      } else if (index === 0)
        return environment;
      if (kind !== 9)
        throw A.wrapException(A.AssertionError$("Indexed base must be an interface type"));
      typeArguments = environment._rest;
      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, false) ? 1 : 0;
        sCache.set(t, result);
      }
      if (0 === result)
        return false;
      if (1 === result)
        return true;
      return true;
    },
    _isSubtype(universe, s, sEnv, t, tEnv, isLegacy) {
      var t1, sKind, leftTypeVariable, tKind, t2, sBounds, tBounds, sLength, i, sBound, tBound;
      if (s === t)
        return true;
      if (!A.isSoundTopType(t))
        t1 = t === type$.legacy_Object;
      else
        t1 = true;
      if (t1)
        return true;
      sKind = s._kind;
      if (sKind === 4)
        return true;
      if (A.isSoundTopType(s))
        return false;
      t1 = s._kind;
      if (t1 === 1)
        return true;
      leftTypeVariable = sKind === 14;
      if (leftTypeVariable)
        if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv, false))
          return true;
      tKind = t._kind;
      t1 = s === type$.Null || s === type$.JSNull;
      if (t1) {
        if (tKind === 8)
          return A._isSubtype(universe, s, sEnv, t._primary, tEnv, false);
        return t === type$.Null || t === type$.JSNull || tKind === 7 || tKind === 6;
      }
      if (t === type$.Object) {
        if (sKind === 8)
          return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false);
        if (sKind === 6)
          return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false);
        return sKind !== 7;
      }
      if (sKind === 6)
        return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false);
      if (tKind === 6) {
        t1 = A.Rti__getQuestionFromStar(universe, t);
        return A._isSubtype(universe, s, sEnv, t1, tEnv, false);
      }
      if (sKind === 8) {
        if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv, false))
          return false;
        return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv, false);
      }
      if (sKind === 7) {
        t1 = A._isSubtype(universe, type$.Null, sEnv, t, tEnv, false);
        return t1 && A._isSubtype(universe, s._primary, sEnv, t, tEnv, false);
      }
      if (tKind === 8) {
        if (A._isSubtype(universe, s, sEnv, t._primary, tEnv, false))
          return true;
        return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv, false);
      }
      if (tKind === 7) {
        t1 = A._isSubtype(universe, s, sEnv, type$.Null, tEnv, false);
        return t1 || A._isSubtype(universe, s, sEnv, t._primary, tEnv, false);
      }
      if (leftTypeVariable)
        return false;
      t1 = sKind !== 12;
      if ((!t1 || sKind === 13) && t === type$.Function)
        return true;
      t2 = sKind === 11;
      if (t2 && t === type$.Record)
        return true;
      if (tKind === 13) {
        if (s === type$.JavaScriptFunction)
          return true;
        if (sKind !== 13)
          return false;
        sBounds = s._rest;
        tBounds = t._rest;
        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, false) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv, false))
            return false;
        }
        return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv, false);
      }
      if (tKind === 12) {
        if (s === type$.JavaScriptFunction)
          return true;
        if (t1)
          return false;
        return A._isFunctionSubtype(universe, s, sEnv, t, tEnv, false);
      }
      if (sKind === 9) {
        if (tKind !== 9)
          return false;
        return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv, false);
      }
      if (t2 && tKind === 11)
        return A._isRecordSubtype(universe, s, sEnv, t, tEnv, false);
      return false;
    },
    _isFunctionSubtype(universe, s, sEnv, t, tEnv, isLegacy) {
      var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired;
      if (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv, false))
        return false;
      sParameters = s._rest;
      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, false))
          return false;
      }
      for (i = 0; i < requiredPositionalDelta; ++i) {
        t1 = sOptionalPositional[i];
        if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv, false))
          return false;
      }
      for (i = 0; i < tOptionalPositionalLength; ++i) {
        t1 = sOptionalPositional[requiredPositionalDelta + i];
        if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv, false))
          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 (; true;) {
          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, false))
            return false;
          break;
        }
      }
      for (; sIndex < sNamedLength;) {
        if (sNamed[sIndex + 1])
          return false;
        sIndex += 3;
      }
      return true;
    },
    _isInterfaceSubtype(universe, s, sEnv, t, tEnv, isLegacy) {
      var rule, recipes, $length, supertypeArgs, i,
        sName = s._primary,
        tName = t._primary;
      for (; sName !== tName;) {
        rule = universe.tR[sName];
        if (rule == null)
          return false;
        if (typeof rule == "string") {
          sName = rule;
          continue;
        }
        recipes = rule[tName];
        if (recipes == null)
          return false;
        $length = recipes.length;
        supertypeArgs = $length > 0 ? new Array($length) : init.typeUniverse.sEA;
        for (i = 0; i < $length; ++i)
          supertypeArgs[i] = A._Universe_evalInEnvironment(universe, s, recipes[i]);
        return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv, false);
      }
      return A._areArgumentsSubtypes(universe, s._rest, null, sEnv, t._rest, tEnv, false);
    },
    _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv, isLegacy) {
      var i,
        $length = sArgs.length;
      for (i = 0; i < $length; ++i)
        if (!A._isSubtype(universe, sArgs[i], sEnv, tArgs[i], tEnv, false))
          return false;
      return true;
    },
    _isRecordSubtype(universe, s, sEnv, t, tEnv, isLegacy) {
      var i,
        sFields = s._rest,
        tFields = t._rest,
        sCount = sFields.length;
      if (sCount !== tFields.length)
        return false;
      if (s._primary !== t._primary)
        return false;
      for (i = 0; i < sCount; ++i)
        if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv, false))
          return false;
      return true;
    },
    isNullable(t) {
      var t1,
        kind = t._kind;
      if (!(t === type$.Null || t === type$.JSNull))
        if (!A.isSoundTopType(t))
          if (kind !== 7)
            if (!(kind === 6 && A.isNullable(t._primary)))
              t1 = kind === 8 && A.isNullable(t._primary);
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    isDefinitelyTopType(t) {
      var t1;
      if (!A.isSoundTopType(t))
        t1 = t === type$.legacy_Object;
      else
        t1 = true;
      return t1;
    },
    isSoundTopType(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.__rti$_message = t0;
    },
    _AsyncRun__initializeScheduleImmediate() {
      var div, span, t1 = {};
      if (self.scheduleImmediate != null)
        return A.async__AsyncRun__scheduleImmediateJsOverride$closure();
      if (self.MutationObserver != null && self.document != null) {
        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(callback), 0));
    },
    _AsyncRun__scheduleImmediateWithSetImmediate(callback) {
      self.setImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(callback), 0));
    },
    _AsyncRun__scheduleImmediateWithTimer(callback) {
      A.Timer__createTimer(B.Duration_0, 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(true);
      t1._TimerImpl$2(milliseconds, callback);
      return t1;
    },
    _TimerImpl$periodic(milliseconds, callback) {
      var t1 = new A._TimerImpl(false);
      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(0, 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$(error, stackTrace) {
      var t1 = A.checkNotNullable(error, "error", type$.Object);
      return new A.AsyncError(t1, stackTrace == null ? A.AsyncError_defaultStackTrace(error) : stackTrace);
    },
    AsyncError_defaultStackTrace(error) {
      var stackTrace;
      if (type$.Error._is(error)) {
        stackTrace = error.get$stackTrace();
        if (stackTrace != null)
          return stackTrace;
      }
      return B._StringStackTrace_uwd;
    },
    Future_Future$value(value, $T) {
      var t1;
      $T._as(value);
      t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>"));
      t1._asyncComplete$1(value);
      return t1;
    },
    Future_Future$error(error, stackTrace, $T) {
      var t1, replacement;
      A.checkNotNullable(error, "error", type$.Object);
      t1 = $.Zone__current;
      if (t1 !== B.C__RootZone) {
        replacement = t1.errorCallback$2(error, stackTrace);
        if (replacement != null) {
          error = replacement.error;
          stackTrace = replacement.stackTrace;
        }
      }
      if (stackTrace == null)
        stackTrace = A.AsyncError_defaultStackTrace(error);
      t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>"));
      t1._asyncCompleteError$2(error, stackTrace);
      return t1;
    },
    Future_wait(futures, eagerError, $T) {
      var handleError, future, pos, e, st, t1, t2, exception, _box_0 = {}, cleanUp = null,
        _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(t1);
          pos = _box_0.remaining;
          J.then$1$2$onError$x(future, 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);
        st = A.getTraceFromException(exception);
        if (_box_0.remaining === 0 || eagerError)
          return A.Future_Future$error(e, st, $T._eval$1("List<0>"));
        else {
          _box_0.error = e;
          _box_0.stackTrace = st;
        }
      }
      return _future;
    },
    _Future$zoneValue(value, _zone, $T) {
      var t1 = new A._Future(_zone, $T._eval$1("_Future<0>"));
      t1._state = 8;
      t1._resultOrListeners = value;
      return t1;
    },
    _Future$value(value, $T) {
      var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>"));
      t1._state = 8;
      t1._resultOrListeners = value;
      return t1;
    },
    _Future__chainCoreFutureSync(source, target) {
      var t1, listeners;
      for (; t1 = source._state, (t1 & 4) !== 0;)
        source = source._resultOrListeners;
      t1 |= target._state & 1;
      source._state = t1;
      if ((t1 & 24) !== 0) {
        listeners = target._removeListeners$0();
        target._cloneResult$1(source);
        A._Future__propagateToListeners(target, listeners);
      } else {
        listeners = target._resultOrListeners;
        target._setChained$1(source);
        source._prependListeners$1(listeners);
      }
    },
    _Future__chainCoreFutureAsync(source, target) {
      var t2, listeners, _box_0 = {},
        t1 = _box_0.source = source;
      for (; t2 = t1._state, (t2 & 4) !== 0;) {
        t1 = t1._resultOrListeners;
        _box_0.source = t1;
      }
      if ((t2 & 24) === 0) {
        listeners = target._resultOrListeners;
        target._setChained$1(t1);
        _box_0.source._prependListeners$1(listeners);
        return;
      }
      if ((t2 & 16) === 0 && target._resultOrListeners == null) {
        target._cloneResult$1(t1);
        return;
      }
      target._state ^= 2;
      target._zone.scheduleMicrotask$1(new A._Future__chainCoreFutureAsync_closure(_box_0, target));
    },
    _Future__propagateToListeners(source, listeners) {
      var _box_0, t2, t3, hasError, nextListener, nextListener0, sourceResult, t4, zone, oldZone, result, current, _box_1 = {},
        t1 = _box_1.source = source;
      for (; true;) {
        _box_0 = {};
        t2 = t1._state;
        t3 = (t2 & 16) === 0;
        hasError = !t3;
        if (listeners == null) {
          if (hasError && (t2 & 1) === 0) {
            t2 = t1._resultOrListeners;
            t1._zone.handleUncaughtError$2(t2.error, t2.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;
        }
        t2 = _box_1.source;
        sourceResult = t2._resultOrListeners;
        _box_0.listenerHasError = hasError;
        _box_0.listenerValueOrError = sourceResult;
        if (t3) {
          t4 = t1.state;
          t4 = (t4 & 1) !== 0 || (t4 & 15) === 8;
        } else
          t4 = true;
        if (t4) {
          zone = t1.result._zone;
          if (hasError) {
            t1 = t2._zone;
            t1 = !(t1 === zone || t1.get$errorZone() === zone.get$errorZone());
          } else
            t1 = false;
          if (t1) {
            t1 = _box_1.source;
            t2 = t1._resultOrListeners;
            t1._zone.handleUncaughtError$2(t2.error, t2.stackTrace);
            return;
          }
          oldZone = $.Zone__current;
          if (oldZone !== zone)
            $.Zone__current = zone;
          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 (t3) {
            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) {
            t2 = _box_0.listener.$ti;
            t2 = t2._eval$1("Future<2>")._is(t1) || !t2._rest[1]._is(t1);
          } else
            t2 = false;
          if (t2) {
            result = _box_0.listener.result;
            if ((t1._state & 24) !== 0) {
              current = result._resultOrListeners;
              result._resultOrListeners = null;
              listeners = result._reverseListeners$1(current);
              result._state = t1._state & 30 | result._state & 1;
              result._resultOrListeners = t1._resultOrListeners;
              _box_1.source = t1;
              continue;
            } else
              A._Future__chainCoreFutureSync(t1, result);
            return;
          }
        }
        result = _box_0.listener.result;
        current = result._resultOrListeners;
        result._resultOrListeners = null;
        listeners = result._reverseListeners$1(current);
        t1 = _box_0.listenerHasError;
        t2 = _box_0.listenerValueOrError;
        if (!t1) {
          result._state = 8;
          result._resultOrListeners = t2;
        } else {
          result._state = result._state & 1 | 16;
          result._resultOrListeners = t2;
        }
        _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));
    },
    Stream_Stream$fromFuture(future, $T) {
      var _null = null,
        t1 = $T._eval$1("_SyncStreamController<0>"),
        controller = new A._SyncStreamController(_null, _null, _null, _null, t1);
      future.then$1$2$onError(0, new A.Stream_Stream$fromFuture_closure(controller, $T), new A.Stream_Stream$fromFuture_closure0(controller), type$.Null);
      return new A._ControllerStream(controller, t1._eval$1("_ControllerStream<1>"));
    },
    StreamIterator_StreamIterator(stream) {
      return new A._StreamIterator(A.checkNotNullable(stream, "stream", type$.Object));
    },
    StreamController_StreamController(onCancel, onListen, onPause, onResume, sync, $T) {
      return sync ? new A._SyncStreamController(onListen, onPause, onResume, onCancel, $T._eval$1("_SyncStreamController<0>")) : new A._AsyncStreamController(onListen, onPause, onResume, 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>"));
    },
    _AddStreamState_makeErrorHandler(controller) {
      return new A._AddStreamState_makeErrorHandler_closure(controller);
    },
    _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) {
      $.Zone__current.handleUncaughtError$2(error, stackTrace);
    },
    _nullDoneHandler() {
    },
    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(error, stackTrace);
    },
    _rootHandleError(error, stackTrace) {
      A._schedulePriorityAsyncCallback(new A._rootHandleError_closure(error, stackTrace));
    },
    _rootRun($self, $parent, zone, f) {
      var old,
        t1 = $.Zone__current;
      if (t1 === zone)
        return f.call$0();
      $.Zone__current = zone;
      old = t1;
      try {
        t1 = f.call$0();
        return t1;
      } finally {
        $.Zone__current = old;
      }
    },
    _rootRunUnary($self, $parent, zone, f, arg) {
      var old,
        t1 = $.Zone__current;
      if (t1 === zone)
        return f.call$1(arg);
      $.Zone__current = zone;
      old = t1;
      try {
        t1 = f.call$1(arg);
        return t1;
      } finally {
        $.Zone__current = old;
      }
    },
    _rootRunBinary($self, $parent, zone, f, arg1, arg2) {
      var old,
        t1 = $.Zone__current;
      if (t1 === zone)
        return f.call$2(arg1, arg2);
      $.Zone__current = zone;
      old = t1;
      try {
        t1 = f.call$2(arg1, arg2);
        return t1;
      } finally {
        $.Zone__current = old;
      }
    },
    _rootRegisterCallback($self, $parent, zone, f) {
      return f;
    },
    _rootRegisterUnaryCallback($self, $parent, zone, f) {
      return f;
    },
    _rootRegisterBinaryCallback($self, $parent, zone, f) {
      return f;
    },
    _rootErrorCallback($self, $parent, zone, error, stackTrace) {
      return null;
    },
    _rootScheduleMicrotask($self, $parent, zone, f) {
      var t1, t2;
      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) {
      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;
      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(line);
    },
    _printToZone(line) {
      $.Zone__current.print$1(line);
    },
    _rootFork($self, $parent, zone, specification, zoneValues) {
      var valueMap, t1, handleUncaughtError;
      $.printToZone = A.async___printToZone$closure();
      if (specification == null)
        specification = B._ZoneSpecification_48t;
      if (zoneValues == null)
        valueMap = zone.get$_async$_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);
      return t1;
    },
    runZoned(body, zoneValues, $R) {
      A.checkNotNullable(body, "body", $R._eval$1("0()"));
      return A._runZoned(body, zoneValues, null, $R);
    },
    _runZoned(body, zoneValues, specification, $R) {
      return $.Zone__current.fork$2$specification$zoneValues(specification, zoneValues).run$1$1(0, 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(t0) {
      this._once = t0;
      this._handle = null;
      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) {
      var _ = this;
      _._body = t0;
      _._suspendedBodies = _._nestedIterator = _._datum = _._async$_current = null;
    },
    _SyncStarIterable: function _SyncStarIterable(t0, t1) {
      this._outerHelper = t0;
      this.$ti = t1;
    },
    AsyncError: function AsyncError(t0, t1) {
      this.error = t0;
      this.stackTrace = t1;
    },
    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__chainForeignFuture_closure: function _Future__chainForeignFuture_closure(t0) {
      this.$this = t0;
    },
    _Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) {
      this.$this = t0;
    },
    _Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) {
      this.$this = t0;
      this.e = t1;
      this.s = t2;
    },
    _Future__chainCoreFutureAsync_closure: function _Future__chainCoreFutureAsync_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__asyncCompleteError_closure: function _Future__asyncCompleteError_closure(t0, t1, t2) {
      this.$this = t0;
      this.error = t1;
      this.stackTrace = t2;
    },
    _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) {
      this.originalSource = 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_Stream$fromFuture_closure: function Stream_Stream$fromFuture_closure(t0, t1) {
      this.controller = t0;
      this.T = t1;
    },
    Stream_Stream$fromFuture_closure0: function Stream_Stream$fromFuture_closure0(t0) {
      this.controller = t0;
    },
    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;
    },
    _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;
      _._onData = t1;
      _._onError = t2;
      _._onDone = t3;
      _._zone = t4;
      _._state = t5;
      _._pending = _._cancelFuture = null;
      _.$ti = t6;
    },
    _AddStreamState: function _AddStreamState() {
    },
    _AddStreamState_makeErrorHandler_closure: function _AddStreamState_makeErrorHandler_closure(t0) {
      this.controller = t0;
    },
    _AddStreamState_cancel_closure: function _AddStreamState_cancel_closure(t0) {
      this.$this = t0;
    },
    _StreamControllerAddStreamState: function _StreamControllerAddStreamState(t0, t1, t2) {
      this._varData = t0;
      this.addStreamFuture = t1;
      this.addSubscription = t2;
    },
    _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) {
      this.value = t0;
      this.next = null;
    },
    _DelayedError: function _DelayedError(t0, t1) {
      this.error = t0;
      this.stackTrace = t1;
      this.next = null;
    },
    _DelayedDone: function _DelayedDone() {
    },
    _PendingEvents: function _PendingEvents() {
      this._state = 0;
      this.lastPendingEvent = this.firstPendingEvent = null;
    },
    _PendingEvents_schedule_closure: function _PendingEvents_schedule_closure(t0, t1) {
      this.$this = t0;
      this.dispatch = t1;
    },
    _StreamIterator: function _StreamIterator(t0) {
      this._subscription = null;
      this._stateData = t0;
      this._async$_hasValue = false;
    },
    _ForwardingStream: function _ForwardingStream() {
    },
    _ForwardingStreamSubscription: function _ForwardingStreamSubscription(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._stream = t0;
      _._subscription = null;
      _._onData = t1;
      _._onError = t2;
      _._onDone = t3;
      _._zone = t4;
      _._state = t5;
      _._pending = _._cancelFuture = null;
      _.$ti = t6;
    },
    _ExpandStream: function _ExpandStream(t0, t1, t2) {
      this._expand = t0;
      this._async$_source = t1;
      this.$ti = t2;
    },
    _ZoneFunction: function _ZoneFunction(t0, t1) {
      this.zone = t0;
      this.$function = t1;
    },
    _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;
      _._async$_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;
    },
    _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;
    },
    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(equals, hashCode, isValidKey, $K, $V) {
      if (isValidKey == null)
        if (hashCode == null) {
          if (equals == null)
            return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
          hashCode = A.collection___defaultHashCode$closure();
        } else {
          if (A.core__identityHashCode$closure() === hashCode && A.core__identical$closure() === equals)
            return new A.JsIdentityLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsIdentityLinkedHashMap<1,2>"));
          if (equals == null)
            equals = A.collection___defaultEquals$closure();
        }
      else {
        if (hashCode == null)
          hashCode = A.collection___defaultHashCode$closure();
        if (equals == null)
          equals = A.collection___defaultEquals$closure();
      }
      return A._LinkedCustomHashMap$(equals, hashCode, isValidKey, $K, $V);
    },
    LinkedHashMap_LinkedHashMap$_literal(keyValuePairs, $K, $V) {
      return 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>"));
    },
    _LinkedCustomHashMap$(_equals, _hashCode, validKey, $K, $V) {
      var t1 = validKey != null ? validKey : new A._LinkedCustomHashMap_closure($K);
      return new A._LinkedCustomHashMap(_equals, _hashCode, t1, $K._eval$1("@<0>")._bind$1($V)._eval$1("_LinkedCustomHashMap<1,2>"));
    },
    LinkedHashSet_LinkedHashSet($E) {
      return new A._LinkedHashSet($E._eval$1("_LinkedHashSet<0>"));
    },
    LinkedHashSet_LinkedHashSet$_empty($E) {
      return new A._LinkedHashSet($E._eval$1("_LinkedHashSet<0>"));
    },
    LinkedHashSet_LinkedHashSet$_literal(values, $E) {
      return A.fillLiteralSet(values, new A._LinkedHashSet($E._eval$1("_LinkedHashSet<0>")));
    },
    _LinkedHashSet__newHashTable() {
      var table = Object.create(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;
    },
    UnmodifiableListView$(source, $E) {
      return new A.UnmodifiableListView(source, $E._eval$1("UnmodifiableListView<0>"));
    },
    _defaultEquals(a, b) {
      return J.$eq$(a, b);
    },
    _defaultHashCode(a) {
      return J.get$hashCode$(a);
    },
    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;
    },
    LinkedHashMap_LinkedHashMap$from(other, $K, $V) {
      var result = A.LinkedHashMap_LinkedHashMap(null, null, null, $K, $V);
      other.forEach$1(0, new A.LinkedHashMap_LinkedHashMap$from_closure(result, $K, $V));
      return result;
    },
    LinkedHashMap_LinkedHashMap$of(other, $K, $V) {
      var t1 = A.LinkedHashMap_LinkedHashMap(null, null, null, $K, $V);
      t1.addAll$1(0, other);
      return t1;
    },
    LinkedHashSet_LinkedHashSet$from(elements, $E) {
      var t1, _i,
        result = A.LinkedHashSet_LinkedHashSet($E);
      for (t1 = elements.length, _i = 0; _i < elements.length; elements.length === t1 || (0, A.throwConcurrentModificationError)(elements), ++_i)
        result.add$1(0, $E._as(elements[_i]));
      return result;
    },
    LinkedHashSet_LinkedHashSet$of(elements, $E) {
      var t1 = A.LinkedHashSet_LinkedHashSet($E);
      t1.addAll$1(0, elements);
      return t1;
    },
    ListBase__compareAny(a, b) {
      var t1 = type$.Comparable_dynamic;
      return J.compareTo$1$ns(t1._as(a), t1._as(b));
    },
    MapBase_mapToString(m) {
      var result, t1 = {};
      if (A.isToStringVisiting(m))
        return "{...}";
      result = new A.StringBuffer("");
      try {
        $.toStringVisiting.push(m);
        result._contents += "{";
        t1.first = true;
        m.forEach$1(0, new A.MapBase_mapToString_closure(t1, result));
        result._contents += "}";
      } finally {
        $.toStringVisiting.pop();
      }
      t1 = result._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    MapBase__fillMapWithIterables(map, keys, values) {
      var keyIterator = keys.get$iterator(keys),
        valueIterator = values.get$iterator(values),
        hasNextKey = keyIterator.moveNext$0(),
        hasNextValue = valueIterator.moveNext$0();
      while (true) {
        if (!(hasNextKey && hasNextValue))
          break;
        map.$indexSet(0, keyIterator.get$current(keyIterator), valueIterator.get$current(valueIterator));
        hasNextKey = keyIterator.moveNext$0();
        hasNextValue = valueIterator.moveNext$0();
      }
      if (hasNextKey || hasNextValue)
        throw A.wrapException(A.ArgumentError$("Iterables do not have same length.", null));
    },
    ListQueue$($E) {
      return new A.ListQueue(A.List_List$filled(A.ListQueue__calculateCapacity(null), null, false, $E._eval$1("0?")), $E._eval$1("ListQueue<0>"));
    },
    ListQueue__calculateCapacity(initialCapacity) {
      return 8;
    },
    ListQueue__nextPowerOf2(number) {
      var nextNumber;
      number = (number << 1 >>> 0) - 1;
      for (; true; number = nextNumber) {
        nextNumber = (number & number - 1) >>> 0;
        if (nextNumber === 0)
          return number;
      }
    },
    _ListQueueIterator$(queue, $E) {
      return new A._ListQueueIterator(queue, queue._tail, queue._modificationCount, queue._head, $E._eval$1("_ListQueueIterator<0>"));
    },
    _UnmodifiableSetMixin__throwUnmodifiable() {
      throw A.wrapException(A.UnsupportedError$("Cannot change an unmodifiable set"));
    },
    _HashMap: function _HashMap(t0) {
      var _ = this;
      _._collection$_length = 0;
      _._collection$_keys = _._collection$_rest = _._nums = _._strings = null;
      _.$ti = t0;
    },
    _HashMap_values_closure: function _HashMap_values_closure(t0) {
      this.$this = t0;
    },
    _HashMap_addAll_closure: function _HashMap_addAll_closure(t0) {
      this.$this = t0;
    },
    _IdentityHashMap: function _IdentityHashMap(t0) {
      var _ = this;
      _._collection$_length = 0;
      _._collection$_keys = _._collection$_rest = _._nums = _._strings = null;
      _.$ti = t0;
    },
    _HashMapKeyIterable: function _HashMapKeyIterable(t0, t1) {
      this._map = t0;
      this.$ti = t1;
    },
    _HashMapKeyIterator: function _HashMapKeyIterator(t0, t1, t2) {
      var _ = this;
      _._map = t0;
      _._collection$_keys = t1;
      _._offset = 0;
      _._collection$_current = null;
      _.$ti = t2;
    },
    _LinkedCustomHashMap: function _LinkedCustomHashMap(t0, t1, t2, t3) {
      var _ = this;
      _._equals = t0;
      _._hashCode = t1;
      _._validKey = t2;
      _.__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 = t3;
    },
    _LinkedCustomHashMap_closure: function _LinkedCustomHashMap_closure(t0) {
      this.K = t0;
    },
    _LinkedHashSet: function _LinkedHashSet(t0) {
      var _ = this;
      _._collection$_length = 0;
      _._last = _._first = _._collection$_rest = _._nums = _._strings = null;
      _._modifications = 0;
      _.$ti = t0;
    },
    _LinkedIdentityHashSet: function _LinkedIdentityHashSet(t0) {
      var _ = this;
      _._collection$_length = 0;
      _._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;
    },
    UnmodifiableListView: function UnmodifiableListView(t0, t1) {
      this._collection$_source = t0;
      this.$ti = t1;
    },
    HashMap_HashMap$from_closure: function HashMap_HashMap$from_closure(t0, t1, t2) {
      this.result = t0;
      this.K = t1;
      this.V = t2;
    },
    LinkedHashMap_LinkedHashMap$from_closure: function LinkedHashMap_LinkedHashMap$from_closure(t0, t1, t2) {
      this.result = t0;
      this.K = t1;
      this.V = t2;
    },
    ListBase: function ListBase() {
    },
    MapBase: function MapBase() {
    },
    MapBase_addAll_closure: function MapBase_addAll_closure(t0) {
      this.$this = t0;
    },
    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;
    },
    UnmodifiableMapBase: function UnmodifiableMapBase() {
    },
    _MapBaseValueIterable: function _MapBaseValueIterable(t0, t1) {
      this._map = t0;
      this.$ti = t1;
    },
    _MapBaseValueIterator: function _MapBaseValueIterator(t0, t1, t2) {
      var _ = this;
      _._collection$_keys = t0;
      _._map = t1;
      _._collection$_current = null;
      _.$ti = t2;
    },
    _UnmodifiableMapMixin: function _UnmodifiableMapMixin() {
    },
    MapView: function MapView() {
    },
    UnmodifiableMapView: function UnmodifiableMapView(t0, t1) {
      this._map = t0;
      this.$ti = t1;
    },
    ListQueue: function ListQueue(t0, t1) {
      var _ = this;
      _._table = t0;
      _._modificationCount = _._tail = _._head = 0;
      _.$ti = t1;
    },
    _ListQueueIterator: function _ListQueueIterator(t0, t1, t2, t3, t4) {
      var _ = this;
      _._queue = t0;
      _._collection$_end = t1;
      _._modificationCount = t2;
      _._collection$_position = t3;
      _._collection$_current = null;
      _.$ti = t4;
    },
    SetBase: function SetBase() {
    },
    _SetBase: function _SetBase() {
    },
    _UnmodifiableSetMixin: function _UnmodifiableSetMixin() {
    },
    UnmodifiableSetView: function UnmodifiableSetView(t0, t1) {
      this._collection$_source = t0;
      this.$ti = t1;
    },
    _UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() {
    },
    _UnmodifiableSetView_SetBase__UnmodifiableSetMixin: function _UnmodifiableSetView_SetBase__UnmodifiableSetMixin() {
    },
    _parseJson(source, reviver) {
      var e, exception, t1, parsed = null;
      try {
        parsed = JSON.parse(source);
      } catch (exception) {
        e = A.unwrapException(exception);
        t1 = A.FormatException$(String(e), null, null);
        throw A.wrapException(t1);
      }
      t1 = A._convertJsonToDartLazy(parsed);
      return t1;
    },
    _convertJsonToDartLazy(object) {
      var i;
      if (object == null)
        return null;
      if (typeof object != "object")
        return object;
      if (!Array.isArray(object))
        return new A._JsonMap(object, Object.create(null));
      for (i = 0; i < object.length; ++i)
        object[i] = A._convertJsonToDartLazy(object[i]);
      return object;
    },
    _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));
    },
    _Base64Encoder_encodeChunk(alphabet, bytes, start, end, isLast, output, outputIndex, state) {
      var t1, i, byteOr, byte, outputIndex0, outputIndex1,
        bits = state >>> 2,
        expectedChars = 3 - (state & 3);
      for (t1 = J.getInterceptor$asx(bytes), i = start, byteOr = 0; i < end; ++i) {
        byte = t1.$index(bytes, i);
        byteOr = (byteOr | byte) >>> 0;
        bits = (bits << 8 | byte) & 16777215;
        --expectedChars;
        if (expectedChars === 0) {
          outputIndex0 = outputIndex + 1;
          output[outputIndex] = alphabet.charCodeAt(bits >>> 18 & 63);
          outputIndex = outputIndex0 + 1;
          output[outputIndex0] = alphabet.charCodeAt(bits >>> 12 & 63);
          outputIndex0 = outputIndex + 1;
          output[outputIndex] = alphabet.charCodeAt(bits >>> 6 & 63);
          outputIndex = outputIndex0 + 1;
          output[outputIndex0] = alphabet.charCodeAt(bits & 63);
          bits = 0;
          expectedChars = 3;
        }
      }
      if (byteOr >= 0 && byteOr <= 255) {
        if (isLast && expectedChars < 3) {
          outputIndex0 = outputIndex + 1;
          outputIndex1 = outputIndex0 + 1;
          if (3 - expectedChars === 1) {
            output[outputIndex] = alphabet.charCodeAt(bits >>> 2 & 63);
            output[outputIndex0] = alphabet.charCodeAt(bits << 4 & 63);
            output[outputIndex1] = 61;
            output[outputIndex1 + 1] = 61;
          } else {
            output[outputIndex] = alphabet.charCodeAt(bits >>> 10 & 63);
            output[outputIndex0] = alphabet.charCodeAt(bits >>> 4 & 63);
            output[outputIndex1] = alphabet.charCodeAt(bits << 2 & 63);
            output[outputIndex1 + 1] = 61;
          }
          return 0;
        }
        return (bits << 2 | 3 - expectedChars) >>> 0;
      }
      for (i = start; i < end;) {
        byte = t1.$index(bytes, i);
        if (byte < 0 || byte > 255)
          break;
        ++i;
      }
      throw A.wrapException(A.ArgumentError$value(bytes, "Not a byte value at index " + i + ": 0x" + J.toRadixString$1$n(t1.$index(bytes, i), 16), null));
    },
    JsonUnsupportedObjectError$(unsupportedObject, cause, partialResult) {
      return new A.JsonUnsupportedObjectError(unsupportedObject, cause);
    },
    _defaultToEncodable(object) {
      return object.toJson$0();
    },
    _JsonStringStringifier$(_sink, _toEncodable) {
      return new A._JsonStringStringifier(_sink, [], A.convert___defaultToEncodable$closure());
    },
    _JsonStringStringifier_stringify(object, toEncodable, indent) {
      var t1,
        output = new A.StringBuffer(""),
        stringifier = A._JsonStringStringifier$(output, toEncodable);
      stringifier.writeObject$1(object);
      t1 = output._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _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 "";
      }
    },
    _JsonMap: function _JsonMap(t0, t1) {
      this._original = t0;
      this._processed = t1;
      this._data = null;
    },
    _JsonMap_values_closure: function _JsonMap_values_closure(t0) {
      this.$this = t0;
    },
    _JsonMap_addAll_closure: function _JsonMap_addAll_closure(t0) {
      this.$this = t0;
    },
    _JsonMapKeyIterable: function _JsonMapKeyIterable(t0) {
      this._convert$_parent = t0;
    },
    _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() {
    },
    _Base64Encoder: function _Base64Encoder(t0) {
      this._convert$_state = 0;
      this._alphabet = t0;
    },
    _Base64EncoderSink: function _Base64EncoderSink() {
    },
    _Utf8Base64EncoderSink: function _Utf8Base64EncoderSink(t0, t1) {
      this._sink = t0;
      this._encoder = t1;
    },
    ByteConversionSink: function ByteConversionSink() {
    },
    Codec: function Codec() {
    },
    Converter: function Converter() {
    },
    Encoding: function Encoding() {
    },
    JsonUnsupportedObjectError: function JsonUnsupportedObjectError(t0, t1) {
      this.unsupportedObject = t0;
      this.cause = t1;
    },
    JsonCyclicError: function JsonCyclicError(t0, t1) {
      this.unsupportedObject = t0;
      this.cause = t1;
    },
    JsonCodec: function JsonCodec() {
    },
    JsonEncoder: function JsonEncoder(t0) {
      this._toEncodable = t0;
    },
    JsonDecoder: function JsonDecoder(t0) {
      this._reviver = t0;
    },
    _JsonStringifier: function _JsonStringifier() {
    },
    _JsonStringifier_writeMap_closure: function _JsonStringifier_writeMap_closure(t0, t1) {
      this._box_0 = t0;
      this.keyValueList = t1;
    },
    _JsonStringStringifier: function _JsonStringStringifier(t0, t1, t2) {
      this._sink = t0;
      this._seen = t1;
      this._toEncodable = t2;
    },
    StringConversionSink: function StringConversionSink() {
    },
    _StringSinkConversionSink: function _StringSinkConversionSink(t0) {
      this._stringSink = t0;
    },
    _StringCallbackSink: function _StringCallbackSink(t0, t1) {
      this._convert$_callback = t0;
      this._stringSink = t1;
    },
    _Utf8StringSinkAdapter: function _Utf8StringSinkAdapter(t0, t1, t2) {
      this._decoder = t0;
      this._sink = t1;
      this._stringSink = t2;
    },
    Utf8Codec: function Utf8Codec() {
    },
    Utf8Encoder: function Utf8Encoder() {
    },
    _Utf8Encoder: function _Utf8Encoder(t0) {
      this._bufferIndex = 0;
      this._buffer = t0;
    },
    Utf8Decoder: function Utf8Decoder(t0) {
      this._allowMalformed = t0;
    },
    _Utf8Decoder: function _Utf8Decoder(t0) {
      this.allowMalformed = t0;
      this._convert$_state = 16;
      this._charOrIndex = 0;
    },
    identityHashCode(object) {
      return A.objectHashCode(object);
    },
    Function_apply($function, positionalArguments) {
      return A.Primitives_applyFunction($function, positionalArguments, null);
    },
    Expando$() {
      return new A.Expando(new WeakMap());
    },
    Expando__checkType(object) {
      if (A._isBool(object) || typeof object == "number" || typeof object == "string" || object instanceof A._Record)
        A.Expando__badExpandoKey(object);
    },
    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));
    },
    double_parse(source) {
      var value = A.Primitives_parseDouble(source);
      if (value != null)
        return value;
      throw A.wrapException(A.FormatException$("Invalid double", source, null));
    },
    Error__throw(error, stackTrace) {
      error = A.wrapException(error);
      error.stack = stackTrace.toString$0(0);
      throw error;
      throw A.wrapException("unreachable");
    },
    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();)
        list.push(t1.get$current(t1));
      if (growable)
        return list;
      return J.JSArray_markFixedList(list);
    },
    List_List$of(elements, growable, $E) {
      var t1;
      if (growable)
        return A.List_List$_of(elements, $E);
      t1 = J.JSArray_markFixedList(A.List_List$_of(elements, $E));
      return t1;
    },
    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();)
        list.push(t1.get$current(t1));
      return list;
    },
    List_List$unmodifiable(elements, $E) {
      return J.JSArray_markUnmodifiableList(A.List_List$from(elements, false, $E));
    },
    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);
      return A.Primitives_stringFromCharCodes(A.List_List$of(charCodes, true, type$.int));
    },
    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, multiLine) {
      return new A.JSSyntaxRegExp(source, A.JSSyntaxRegExp_makeNative(source, multiLine, true, false, false, false));
    },
    identical(a, b) {
      return a == null ? b == null : a === b;
    },
    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(iterator));
        while (iterator.moveNext$0());
      } else {
        string += A.S(iterator.get$current(iterator));
        for (; iterator.moveNext$0();)
          string = string + separator + A.S(iterator.get$current(iterator));
      }
      return string;
    },
    NoSuchMethodError_NoSuchMethodError$withInvocation(receiver, invocation) {
      return new A.NoSuchMethodError(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments());
    },
    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(canonicalTable, 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 && (canonicalTable[byte >>> 4] & 1 << (byte & 15)) !== 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__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$(milliseconds) {
      return new A.Duration(1000 * milliseconds);
    },
    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) {
      return argument;
    },
    RangeError$(message) {
      var _null = null;
      return new A.RangeError(_null, _null, false, _null, _null, message);
    },
    RangeError$value(value, $name, message) {
      return new A.RangeError(null, null, true, value, $name, message == null ? "Value not in range" : message);
    },
    RangeError$range(invalidValue, minValue, maxValue, $name, message) {
      return new A.RangeError(minValue, maxValue, true, invalidValue, $name, message == null ? "Invalid value" : message);
    },
    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_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$withLength(invalidValue, $length, indexable, message, $name) {
      return new A.IndexError($length, true, invalidValue, $name, "Index out of range");
    },
    IndexError_check(index, $length, indexable, message, $name) {
      if (0 > index || index >= $length)
        throw A.wrapException(A.IndexError$withLength(index, $length, indexable, message, $name == null ? "index" : $name));
      return index;
    },
    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);
    },
    FormatException$(message, source, offset) {
      return new A.FormatException(message, source, offset);
    },
    Iterable_Iterable$generate(count, generator, $E) {
      if (count <= 0)
        return new A.EmptyIterable($E._eval$1("EmptyIterable<0>"));
      return new A._GeneratorIterable(count, generator, $E._eval$1("_GeneratorIterable<0>"));
    },
    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);
      $.toStringVisiting.push(iterable);
      try {
        A._iterablePartsToStrings(iterable, parts);
      } finally {
        $.toStringVisiting.pop();
      }
      t1 = A.StringBuffer__writeAll(leftDelimiter, 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);
      $.toStringVisiting.push(iterable);
      try {
        t1 = buffer;
        t1._contents = A.StringBuffer__writeAll(t1._contents, iterable, ", ");
      } finally {
        $.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;
      while (true) {
        if (!($length < 80 || count < 3))
          break;
        if (!it.moveNext$0())
          return;
        next = A.S(it.get$current(it));
        parts.push(next);
        $length += next.length + 2;
        ++count;
      }
      if (!it.moveNext$0()) {
        if (count <= 5)
          return;
        ultimateString = parts.pop();
        penultimateString = parts.pop();
      } else {
        penultimate = it.get$current(it);
        ++count;
        if (!it.moveNext$0()) {
          if (count <= 4) {
            parts.push(A.S(penultimate));
            return;
          }
          ultimateString = A.S(penultimate);
          penultimateString = parts.pop();
          $length += ultimateString.length + 2;
        } else {
          ultimate = it.get$current(it);
          ++count;
          for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) {
            ultimate0 = it.get$current(it);
            ++count;
            if (count > 100) {
              while (true) {
                if (!($length > 75 && count > 3))
                  break;
                $length -= parts.pop().length + 2;
                --count;
              }
              parts.push("...");
              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;
      while (true) {
        if (!($length > 80 && parts.length > 3))
          break;
        $length -= parts.pop().length + 2;
        if (elision == null) {
          $length += 5;
          elision = "...";
        }
      }
      if (elision != null)
        parts.push(elision);
      parts.push(penultimateString);
      parts.push(ultimateString);
    },
    Map_castFrom(source, $K, $V, K2, V2) {
      return new A.CastMap(source, $K._eval$1("@<0>")._bind$1($V)._bind$1(K2)._bind$1(V2)._eval$1("CastMap<1,2,3,4>"));
    },
    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;
    },
    Object_hashAll(objects) {
      var t1, _i,
        hash = $.$get$_hashSeed();
      for (t1 = objects.length, _i = 0; _i < objects.length; objects.length === t1 || (0, A.throwConcurrentModificationError)(objects), ++_i)
        hash = A.SystemHash_combine(hash, J.get$hashCode$(objects[_i]));
      return A.SystemHash_finish(hash);
    },
    print(object) {
      var line = A.S(object),
        toZone = $.printToZone;
      if (toZone == null)
        A.printString(line);
      else
        toZone.call$1(line);
    },
    Set_Set$unmodifiable(elements, $E) {
      return new A.UnmodifiableSetView(A.LinkedHashSet_LinkedHashSet$of(elements, $E), $E._eval$1("UnmodifiableSetView<0>"));
    },
    Set_castFrom(source, newSet, $S, $T) {
      return new A.CastSet(source, newSet, $S._eval$1("@<0>")._bind$1($T)._eval$1("CastSet<1,2>"));
    },
    _combineSurrogatePair(start, end) {
      return 65536 + ((start & 1023) << 10) + (end & 1023);
    },
    Uri_Uri$dataFromString($content, encoding, mimeType) {
      var encodingName, t1,
        buffer = new A.StringBuffer(""),
        indices = A._setArrayType([-1], type$.JSArray_int);
      if (encoding == null)
        encodingName = null;
      else
        encodingName = "utf-8";
      if (encoding == null)
        encoding = B.C_AsciiCodec;
      A.UriData__writeUri(mimeType, encodingName, null, buffer, indices);
      indices.push(buffer._contents.length);
      buffer._contents += ",";
      A.UriData__uriEncodeBytes(B.List_42A, encoding.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, userInfoStart, userInfo, host, portNumber, port, path, query, _null = null,
        end = uri.length;
      if (end >= 5) {
        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);
      indices[0] = 0;
      indices[1] = -1;
      indices[2] = -1;
      indices[7] = -1;
      indices[3] = 0;
      indices[4] = 0;
      indices[5] = end;
      indices[6] = end;
      if (A._scan(uri, 0, end, 0, indices) >= 14)
        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;
      isSimple = indices[7] < 0;
      if (isSimple)
        if (hostStart > schemeEnd + 3) {
          scheme = _null;
          isSimple = false;
        } else {
          t1 = portStart > 0;
          if (t1 && portStart + 1 === pathStart) {
            scheme = _null;
            isSimple = false;
          } else {
            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) {
              scheme = _null;
              isSimple = false;
            } else {
              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)
                scheme = _null;
              else 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);
                    schemeEnd -= 0;
                    t1 = delta - 0;
                    queryStart += t1;
                    fragmentStart += t1;
                    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
                  scheme = _null;
              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";
              } else
                scheme = _null;
              isSimple = !t2;
            }
          }
        }
      else
        scheme = _null;
      if (isSimple) {
        if (end < uri.length) {
          uri = B.JSString_methods.substring$2(uri, 0, end);
          schemeEnd -= 0;
          hostStart -= 0;
          portStart -= 0;
          pathStart -= 0;
          queryStart -= 0;
          fragmentStart -= 0;
        }
        return new A._SimpleUri(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 = "";
        }
      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
          port = _null;
      } else {
        port = _null;
        host = port;
        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) {
      return A._Uri__uriDecode(encodedComponent, 0, encodedComponent.length, B.C_Utf8Codec, false);
    },
    Uri__parseIPv4Address(host, start, end) {
      var i, partStart, partIndex, char, part, partIndex0,
        _s43_ = "IPv4 address should contain exactly 4 parts",
        _s37_ = "each part must be in the range 0..255",
        error = new A.Uri__parseIPv4Address_error(host),
        result = new Uint8Array(4);
      for (i = start, partStart = i, partIndex = 0; i < end; ++i) {
        char = host.charCodeAt(i);
        if (char !== 46) {
          if ((char ^ 48) > 9)
            error.call$2("invalid character", i);
        } else {
          if (partIndex === 3)
            error.call$2(_s43_, i);
          part = A.int_parse(B.JSString_methods.substring$2(host, partStart, i), null);
          if (part > 255)
            error.call$2(_s37_, partStart);
          partIndex0 = partIndex + 1;
          result[partIndex] = part;
          partStart = i + 1;
          partIndex = partIndex0;
        }
      }
      if (partIndex !== 3)
        error.call$2(_s43_, end);
      part = A.int_parse(B.JSString_methods.substring$2(host, partStart, end), null);
      if (part > 255)
        error.call$2(_s37_, partStart);
      result[partIndex] = part;
      return result;
    },
    Uri_parseIPv6Address(host, start, end) {
      var parts, i, partStart, wildcardSeen, seenDot, char, atEnd, t1, last, bytes, wildCardLength, index, value, j, _null = null,
        error = new A.Uri_parseIPv6Address_error(host),
        parseHex = new A.Uri_parseIPv6Address_parseHex(error, host);
      if (host.length < 2)
        error.call$2("address is too short", _null);
      parts = A._setArrayType([], type$.JSArray_int);
      for (i = start, partStart = i, wildcardSeen = false, seenDot = false; i < end; ++i) {
        char = host.charCodeAt(i);
        if (char === 58) {
          if (i === start) {
            ++i;
            if (host.charCodeAt(i) !== 58)
              error.call$2("invalid start colon.", i);
            partStart = i;
          }
          if (i === partStart) {
            if (wildcardSeen)
              error.call$2("only one wildcard `::` is allowed", i);
            parts.push(-1);
            wildcardSeen = true;
          } else
            parts.push(parseHex.call$2(partStart, i));
          partStart = i + 1;
        } else if (char === 46)
          seenDot = true;
      }
      if (parts.length === 0)
        error.call$2("too few parts", _null);
      atEnd = partStart === end;
      t1 = B.JSArray_methods.get$last(parts);
      if (atEnd && t1 !== -1)
        error.call$2("expected a part after last `:`", end);
      if (!atEnd)
        if (!seenDot)
          parts.push(parseHex.call$2(partStart, end));
        else {
          last = A.Uri__parseIPv4Address(host, partStart, end);
          parts.push((last[0] << 8 | last[1]) >>> 0);
          parts.push((last[2] << 8 | last[3]) >>> 0);
        }
      if (wildcardSeen) {
        if (parts.length > 7)
          error.call$2("an address with a wildcard must have less than 7 parts", _null);
      } else if (parts.length !== 8)
        error.call$2("an address without a wildcard must contain exactly 8 parts", _null);
      bytes = new Uint8Array(16);
      for (t1 = parts.length, wildCardLength = 9 - t1, i = 0, index = 0; i < t1; ++i) {
        value = parts[i];
        if (value === -1)
          for (j = 0; j < wildCardLength; ++j) {
            bytes[index] = 0;
            bytes[index + 1] = 0;
            index += 2;
          }
        else {
          bytes[index] = B.JSInt_methods._shrOtherPositive$1(value, 8);
          bytes[index + 1] = value & 255;
          index += 2;
        }
      }
      return bytes;
    },
    _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, t2, t3;
      for (t1 = segments.length, _i = 0; _i < t1; ++_i) {
        segment = segments[_i];
        t2 = J.getInterceptor$asx(segment);
        t3 = t2.get$length(segment);
        if (0 > t3)
          A.throwExpression(A.RangeError$range(0, 0, t2.get$length(segment), null, null));
        if (A.stringContainsUnchecked(segment, "/", 0)) {
          t1 = A.UnsupportedError$("Illegal path character " + A.S(segment));
          throw A.wrapException(t1);
        }
      }
    },
    _Uri__checkWindowsPathReservedCharacters(segments, argumentError, firstSegment) {
      var t1, t2, t3, t4;
      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);
        t4 = A.RegExp_RegExp('["*/:<>?\\\\|]', false);
        if (A.stringContainsUnchecked(t3, t4, 0))
          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, 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);
          if (path.length < 3 || path.charCodeAt(1) !== 58 || path.charCodeAt(2) !== 92)
            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) {
        A._Uri__checkWindowsDriveLetter(path.charCodeAt(0), true);
        if (t1 === 2 || path.charCodeAt(2) !== 92)
          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, index, zoneIDstart, zoneID, i;
      if (host == null)
        return null;
      if (start === end)
        return "";
      if (host.charCodeAt(start) === 91) {
        t1 = end - 1;
        if (host.charCodeAt(t1) !== 93)
          A._Uri__fail(host, start, "Missing end `]` to match `[` in host");
        t2 = start + 1;
        index = A._Uri__checkZoneID(host, t2, t1);
        if (index < t1) {
          zoneIDstart = index + 1;
          zoneID = A._Uri__normalizeZoneID(host, B.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, t1, "%25");
        } else
          zoneID = "";
        A.Uri_parseIPv6Address(host, t2, index);
        return B.JSString_methods.substring$2(host, start, index).toLowerCase() + zoneID + "]";
      }
      for (i = start; i < end; ++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 index, sectionStart, isNormalized, char, replacement, t1, t2, tail, sourceLength, slice,
        buffer = prefix !== "" ? new A.StringBuffer(prefix) : null;
      for (index = start, sectionStart = index, isNormalized = true; index < end;) {
        char = host.charCodeAt(index);
        if (char === 37) {
          replacement = A._Uri__normalizeEscape(host, index, true);
          t1 = replacement == null;
          if (t1 && isNormalized) {
            index += 3;
            continue;
          }
          if (buffer == null)
            buffer = new A.StringBuffer("");
          t2 = buffer._contents += B.JSString_methods.substring$2(host, sectionStart, index);
          if (t1)
            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 = t2 + replacement;
          index += 3;
          sectionStart = index;
          isNormalized = true;
        } else if (char < 127 && (B.List_piR[char >>> 4] & 1 << (char & 15)) !== 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 & 64512) === 55296 && index + 1 < end) {
            tail = host.charCodeAt(index + 1);
            if ((tail & 64512) === 56320) {
              char = (char & 1023) << 10 | tail & 1023 | 65536;
              sourceLength = 2;
            } else
              sourceLength = 1;
          } else
            sourceLength = 1;
          slice = B.JSString_methods.substring$2(host, sectionStart, index);
          if (buffer == null) {
            buffer = new A.StringBuffer("");
            t1 = buffer;
          } else
            t1 = buffer;
          t1._contents += slice;
          t2 = A._Uri__escapeChar(char);
          t1._contents += t2;
          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 index, sectionStart, buffer, isNormalized, char, replacement, t1, slice, t2, sourceLength, tail;
      for (index = start, sectionStart = index, buffer = null, isNormalized = true; index < end;) {
        char = host.charCodeAt(index);
        if (char === 37) {
          replacement = A._Uri__normalizeEscape(host, index, true);
          t1 = replacement == null;
          if (t1 && 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();
          t2 = buffer._contents += slice;
          if (t1) {
            replacement = B.JSString_methods.substring$2(host, index, index + 3);
            sourceLength = 3;
          } else if (replacement === "%") {
            replacement = "%25";
            sourceLength = 1;
          } else
            sourceLength = 3;
          buffer._contents = t2 + replacement;
          index += sourceLength;
          sectionStart = index;
          isNormalized = true;
        } else if (char < 127 && (B.List_4AN[char >>> 4] & 1 << (char & 15)) !== 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 && (B.List_VOY[char >>> 4] & 1 << (char & 15)) !== 0)
          A._Uri__fail(host, index, "Invalid character");
        else {
          if ((char & 64512) === 55296 && index + 1 < end) {
            tail = host.charCodeAt(index + 1);
            if ((tail & 64512) === 56320) {
              char = (char & 1023) << 10 | tail & 1023 | 65536;
              sourceLength = 2;
            } else
              sourceLength = 1;
          } else
            sourceLength = 1;
          slice = B.JSString_methods.substring$2(host, sectionStart, index);
          if (!isNormalized)
            slice = slice.toLowerCase();
          if (buffer == null) {
            buffer = new A.StringBuffer("");
            t1 = buffer;
          } else
            t1 = buffer;
          t1._contents += slice;
          t2 = A._Uri__escapeChar(char);
          t1._contents += t2;
          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 i, containsUpperCase, codeUnit;
      if (start === end)
        return "";
      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) {
        codeUnit = scheme.charCodeAt(i);
        if (!(codeUnit < 128 && (B.List_GVy[codeUnit >>> 4] & 1 << (codeUnit & 15)) !== 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, B.List_2jN, false, false);
    },
    _Uri__makePath(path, start, end, pathSegments, scheme, hasAuthority) {
      var result,
        isFile = scheme === "file",
        ensureLeadingSlash = isFile || hasAuthority;
      if (path == null) {
        if (pathSegments == null)
          return isFile ? "/" : "";
        result = new A.MappedListIterable(pathSegments, new A._Uri__makePath_closure(), A._arrayInstanceType(pathSegments)._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, B.List_M2I, 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, B.List_42A, true, false);
      return null;
    },
    _Uri__makeFragment(fragment, start, end) {
      if (fragment == null)
        return null;
      return A._Uri__normalizeOrSubstring(fragment, start, end, B.List_42A, true, false);
    },
    _Uri__normalizeEscape(source, index, lowerCase) {
      var firstDigit, secondDigit, firstDigitValue, secondDigitValue, value,
        t1 = index + 2;
      if (t1 >= source.length)
        return "%";
      firstDigit = source.charCodeAt(index + 1);
      secondDigit = source.charCodeAt(t1);
      firstDigitValue = A.hexDigitValue(firstDigit);
      secondDigitValue = A.hexDigitValue(secondDigit);
      if (firstDigitValue < 0 || secondDigitValue < 0)
        return "%";
      value = firstDigitValue * 16 + secondDigitValue;
      if (value < 127 && (B.List_piR[B.JSInt_methods._shrOtherPositive$1(value, 4)] & 1 << (value & 15)) !== 0)
        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, flag, encodedBytes, index, byte,
        _s16_ = "0123456789ABCDEF";
      if (char < 128) {
        codeUnits = new Uint8Array(3);
        codeUnits[0] = 37;
        codeUnits[1] = _s16_.charCodeAt(char >>> 4);
        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;
        }
        codeUnits = new Uint8Array(3 * encodedBytes);
        for (index = 0; --encodedBytes, encodedBytes >= 0; flag = 128) {
          byte = B.JSInt_methods._shrReceiverPositive$1(char, 6 * encodedBytes) & 63 | flag;
          codeUnits[index] = 37;
          codeUnits[index + 1] = _s16_.charCodeAt(byte >>> 4);
          codeUnits[index + 2] = _s16_.charCodeAt(byte & 15);
          index += 3;
        }
      }
      return A.String_String$fromCharCodes(codeUnits, 0, null);
    },
    _Uri__normalizeOrSubstring(component, start, end, charTable, escapeDelimiters, replaceBackslash) {
      var t1 = A._Uri__normalize(component, start, end, charTable, escapeDelimiters, replaceBackslash);
      return t1 == null ? B.JSString_methods.substring$2(component, start, end) : t1;
    },
    _Uri__normalize(component, start, end, charTable, escapeDelimiters, replaceBackslash) {
      var t1, index, sectionStart, buffer, char, replacement, sourceLength, t2, tail, t3, _null = null;
      for (t1 = !escapeDelimiters, index = start, sectionStart = index, buffer = _null; index < end;) {
        char = component.charCodeAt(index);
        if (char < 127 && (charTable[char >>> 4] & 1 << (char & 15)) !== 0)
          ++index;
        else {
          if (char === 37) {
            replacement = A._Uri__normalizeEscape(component, index, false);
            if (replacement == null) {
              index += 3;
              continue;
            }
            if ("%" === replacement) {
              replacement = "%25";
              sourceLength = 1;
            } else
              sourceLength = 3;
          } else if (char === 92 && replaceBackslash) {
            replacement = "/";
            sourceLength = 1;
          } else if (t1 && char <= 93 && (B.List_VOY[char >>> 4] & 1 << (char & 15)) !== 0) {
            A._Uri__fail(component, index, "Invalid character");
            sourceLength = _null;
            replacement = sourceLength;
          } else {
            if ((char & 64512) === 55296) {
              t2 = index + 1;
              if (t2 < end) {
                tail = component.charCodeAt(t2);
                if ((tail & 64512) === 56320) {
                  char = (char & 1023) << 10 | tail & 1023 | 65536;
                  sourceLength = 2;
                } else
                  sourceLength = 1;
              } else
                sourceLength = 1;
            } else
              sourceLength = 1;
            replacement = A._Uri__escapeChar(char);
          }
          if (buffer == null) {
            buffer = new A.StringBuffer("");
            t2 = buffer;
          } else
            t2 = buffer;
          t3 = t2._contents += B.JSString_methods.substring$2(component, sectionStart, index);
          t2._contents = t3 + A.S(replacement);
          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;
      if (!A._Uri__mayContainDotSegments(path))
        return path;
      output = A._setArrayType([], type$.JSArray_String);
      for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) {
        segment = t1[_i];
        if (J.$eq$(segment, "..")) {
          if (output.length !== 0) {
            output.pop();
            if (output.length === 0)
              output.push("");
          }
          appendSlash = true;
        } else {
          appendSlash = "." === segment;
          if (!appendSlash)
            output.push(segment);
        }
      }
      if (appendSlash)
        output.push("");
      return B.JSArray_methods.join$1(output, "/");
    },
    _Uri__normalizeRelativePath(path, allowScheme) {
      var output, t1, t2, appendSlash, _i, segment;
      if (!A._Uri__mayContainDotSegments(path))
        return !allowScheme ? A._Uri__escapeScheme(path) : path;
      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) {
          appendSlash = output.length !== 0 && B.JSArray_methods.get$last(output) !== "..";
          if (appendSlash)
            output.pop();
          else
            output.push("..");
        } else {
          appendSlash = "." === segment;
          if (!appendSlash)
            output.push(segment);
        }
      }
      t1 = output.length;
      if (t1 !== 0)
        t1 = t1 === 1 && output[0].length === 0;
      else
        t1 = true;
      if (t1)
        return "./";
      if (appendSlash || B.JSArray_methods.get$last(output) === "..")
        output.push("");
      if (!allowScheme)
        output[0] = A._Uri__escapeScheme(output[0]);
      return B.JSArray_methods.join$1(output, "/");
    },
    _Uri__escapeScheme(path) {
      var i, char,
        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 || (B.List_GVy[char >>> 4] & 1 << (char & 15)) === 0)
            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__toWindowsFilePath(uri) {
      var t2, host,
        segments = uri.get$pathSegments(),
        t1 = segments.length,
        hasDriveLetter = t1 > 0 && J.get$length$asx(segments[0]) === 2 && J.codeUnitAt$1$s(segments[0], 1) === 58;
      if (hasDriveLetter) {
        A._Uri__checkWindowsDriveLetter(J.codeUnitAt$1$s(segments[0], 0), false);
        A._Uri__checkWindowsPathReservedCharacters(segments, false, 1);
      } else
        A._Uri__checkWindowsPathReservedCharacters(segments, false, 0);
      t2 = uri.get$hasAbsolutePath() && !hasDriveLetter ? "" + "\\" : "";
      if (uri.get$hasAuthority()) {
        host = uri.get$host();
        if (host.length !== 0)
          t2 = t2 + "\\" + host + "\\";
      }
      t2 = A.StringBuffer__writeAll(t2, segments, "\\");
      t1 = hasDriveLetter && t1 === 1 ? t2 + "\\" : t2;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _Uri__hexCharPairToByte(s, pos) {
      var byte, i, charCode;
      for (byte = 0, i = 0; i < 2; ++i) {
        charCode = s.charCodeAt(pos + i);
        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 simple, codeUnit, t1, bytes,
        i = start;
      while (true) {
        if (!(i < end)) {
          simple = true;
          break;
        }
        codeUnit = text.charCodeAt(i);
        if (codeUnit <= 127)
          t1 = codeUnit === 37;
        else
          t1 = true;
        if (t1) {
          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 (t1 = text.length, i = start; i < end; ++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));
            bytes.push(A._Uri__hexCharPairToByte(text, i + 1));
            i += 2;
          } else
            bytes.push(codeUnit);
        }
      }
      return B.Utf8Decoder_false.convert$1(bytes);
    },
    _Uri__isAlphabeticCharacter(codeUnit) {
      var lowerCase = codeUnit | 32;
      return 97 <= lowerCase && lowerCase <= 122;
    },
    UriData__writeUri(mimeType, charsetName, parameters, buffer, indices) {
      var t1, slashIndex;
      if (mimeType != null)
        t1 = 10 === mimeType.length && A._caseInsensitiveCompareStart("text/plain", mimeType, 0) >= 0;
      else
        t1 = true;
      if (t1)
        mimeType = "";
      if (mimeType.length === 0 || mimeType === "application/octet-stream")
        t1 = buffer._contents += mimeType;
      else {
        slashIndex = A.UriData__validateMimeType(mimeType);
        if (slashIndex < 0)
          throw A.wrapException(A.ArgumentError$value(mimeType, "mimeType", "Invalid MIME type"));
        t1 = A._Uri__uriEncode(B.List_oyU, B.JSString_methods.substring$2(mimeType, 0, slashIndex), B.C_Utf8Codec, false);
        t1 = buffer._contents += t1;
        buffer._contents = t1 + "/";
        t1 = A._Uri__uriEncode(B.List_oyU, B.JSString_methods.substring$1(mimeType, slashIndex + 1), B.C_Utf8Codec, false);
        t1 = buffer._contents += t1;
      }
      if (charsetName != null) {
        indices.push(t1.length);
        indices.push(buffer._contents.length + 8);
        buffer._contents += ";charset=";
        t1 = A._Uri__uriEncode(B.List_oyU, charsetName, B.C_Utf8Codec, false);
        buffer._contents += t1;
      }
    },
    UriData__validateMimeType(mimeType) {
      var t1, slashIndex, i;
      for (t1 = mimeType.length, slashIndex = -1, i = 0; i < t1; ++i) {
        if (mimeType.charCodeAt(i) !== 47)
          continue;
        if (slashIndex < 0) {
          slashIndex = i;
          continue;
        }
        return -1;
      }
      return slashIndex;
    },
    UriData__parse(text, start, sourceUri) {
      var t1, i, slashIndex, char, equalsIndex, lastSeparator, t2, data,
        _s17_ = "Invalid MIME type",
        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));
      for (; char !== 44;) {
        indices.push(i);
        ++i;
        for (equalsIndex = -1; i < t1; ++i) {
          char = text.charCodeAt(i);
          if (char === 61) {
            if (equalsIndex < 0)
              equalsIndex = i;
          } else if (char === 59 || char === 44)
            break;
        }
        if (equalsIndex >= 0)
          indices.push(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;
        }
      }
      indices.push(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, B.List_42A, true, false);
        if (data != null)
          text = B.JSString_methods.replaceRange$3(text, t2, t1, data);
      }
      return new A.UriData(text, indices, sourceUri);
    },
    UriData__uriEncodeBytes(canonicalTable, 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 && (canonicalTable[byte >>> 4] & 1 << (byte & 15)) !== 0) {
          t2 = A.Primitives_stringFromCharCode(byte);
          buffer._contents += t2;
        } else {
          t2 = A.Primitives_stringFromCharCode(37);
          buffer._contents += t2;
          t2 = A.Primitives_stringFromCharCode(_s16_.charCodeAt(byte >>> 4));
          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));
        }
    },
    _createTables() {
      var _i, t1, t2, t3, b,
        _s77_ = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",
        _s1_ = ".", _s1_0 = ":", _s1_1 = "/", _s1_2 = "\\", _s1_3 = "?", _s1_4 = "#", _s2_ = "/\\",
        tables = J.JSArray_JSArray$allocateGrowable(22, type$.Uint8List);
      for (_i = 0; _i < 22; ++_i)
        tables[_i] = new Uint8Array(96);
      t1 = new A._createTables_build(tables);
      t2 = new A._createTables_setChars();
      t3 = new A._createTables_setRange();
      b = t1.call$2(0, 225);
      t2.call$3(b, _s77_, 1);
      t2.call$3(b, _s1_, 14);
      t2.call$3(b, _s1_0, 34);
      t2.call$3(b, _s1_1, 3);
      t2.call$3(b, _s1_2, 227);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(14, 225);
      t2.call$3(b, _s77_, 1);
      t2.call$3(b, _s1_, 15);
      t2.call$3(b, _s1_0, 34);
      t2.call$3(b, _s2_, 234);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(15, 225);
      t2.call$3(b, _s77_, 1);
      t2.call$3(b, "%", 225);
      t2.call$3(b, _s1_0, 34);
      t2.call$3(b, _s1_1, 9);
      t2.call$3(b, _s1_2, 233);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(1, 225);
      t2.call$3(b, _s77_, 1);
      t2.call$3(b, _s1_0, 34);
      t2.call$3(b, _s1_1, 10);
      t2.call$3(b, _s1_2, 234);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(2, 235);
      t2.call$3(b, _s77_, 139);
      t2.call$3(b, _s1_1, 131);
      t2.call$3(b, _s1_2, 131);
      t2.call$3(b, _s1_, 146);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(3, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_1, 68);
      t2.call$3(b, _s1_2, 68);
      t2.call$3(b, _s1_, 18);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(4, 229);
      t2.call$3(b, _s77_, 5);
      t3.call$3(b, "AZ", 229);
      t2.call$3(b, _s1_0, 102);
      t2.call$3(b, "@", 68);
      t2.call$3(b, "[", 232);
      t2.call$3(b, _s1_1, 138);
      t2.call$3(b, _s1_2, 138);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(5, 229);
      t2.call$3(b, _s77_, 5);
      t3.call$3(b, "AZ", 229);
      t2.call$3(b, _s1_0, 102);
      t2.call$3(b, "@", 68);
      t2.call$3(b, _s1_1, 138);
      t2.call$3(b, _s1_2, 138);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(6, 231);
      t3.call$3(b, "19", 7);
      t2.call$3(b, "@", 68);
      t2.call$3(b, _s1_1, 138);
      t2.call$3(b, _s1_2, 138);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(7, 231);
      t3.call$3(b, "09", 7);
      t2.call$3(b, "@", 68);
      t2.call$3(b, _s1_1, 138);
      t2.call$3(b, _s1_2, 138);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      t2.call$3(t1.call$2(8, 8), "]", 5);
      b = t1.call$2(9, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_, 16);
      t2.call$3(b, _s2_, 234);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(16, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_, 17);
      t2.call$3(b, _s2_, 234);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(17, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_1, 9);
      t2.call$3(b, _s1_2, 233);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(10, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_, 18);
      t2.call$3(b, _s1_1, 10);
      t2.call$3(b, _s1_2, 234);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(18, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_, 19);
      t2.call$3(b, _s2_, 234);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(19, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s2_, 234);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(11, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_1, 10);
      t2.call$3(b, _s1_2, 234);
      t2.call$3(b, _s1_3, 172);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(12, 236);
      t2.call$3(b, _s77_, 12);
      t2.call$3(b, _s1_3, 12);
      t2.call$3(b, _s1_4, 205);
      b = t1.call$2(13, 237);
      t2.call$3(b, _s77_, 13);
      t2.call$3(b, _s1_3, 13);
      t3.call$3(t1.call$2(20, 245), "az", 21);
      b = t1.call$2(21, 245);
      t3.call$3(b, "az", 21);
      t3.call$3(b, "09", 21);
      t2.call$3(b, "+-.", 21);
      return tables;
    },
    _scan(uri, start, end, state, indices) {
      var i, table, char, transition,
        tables = $.$get$_scannerTables();
      for (i = start; i < end; ++i) {
        table = tables[state];
        char = uri.charCodeAt(i) ^ 96;
        transition = table[char > 95 ? 31 : char];
        state = transition & 31;
        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 i, dots, char;
      for (i = start, dots = 0; i < end; ++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, result, i, stringChar, delta, lowerChar;
      for (t1 = prefix.length, result = 0, i = 0; i < t1; ++i) {
        stringChar = string.charCodeAt(start + i);
        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;
    },
    NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) {
      this._box_0 = t0;
      this.sb = t1;
    },
    DateTime: function DateTime(t0, t1) {
      this._value = t0;
      this.isUtc = t1;
    },
    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;
    },
    NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) {
      var _ = this;
      _._core$_receiver = t0;
      _._memberName = t1;
      _._core$_arguments = t2;
      _._namedArguments = t3;
    },
    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;
    },
    Iterable: function Iterable() {
    },
    _GeneratorIterable: function _GeneratorIterable(t0, t1, t2) {
      this.length = t0;
      this._generator = t1;
      this.$ti = t2;
    },
    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;
    },
    Runes: function Runes(t0) {
      this.string = t0;
    },
    RuneIterator: function RuneIterator(t0) {
      var _ = this;
      _.string = t0;
      _._nextPosition = _._position = 0;
      _._currentCodePoint = -1;
    },
    StringBuffer: function StringBuffer(t0) {
      this._contents = t0;
    },
    Uri__parseIPv4Address_error: function Uri__parseIPv4Address_error(t0) {
      this.host = t0;
    },
    Uri_parseIPv6Address_error: function Uri_parseIPv6Address_error(t0) {
      this.host = t0;
    },
    Uri_parseIPv6Address_parseHex: function Uri_parseIPv6Address_parseHex(t0, t1) {
      this.error = t0;
      this.host = t1;
    },
    _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;
    },
    _createTables_build: function _createTables_build(t0) {
      this.tables = t0;
    },
    _createTables_setChars: function _createTables_setChars() {
    },
    _createTables_setRange: function _createTables_setRange() {
    },
    _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) {
      this._jsWeakMap = t0;
    },
    _convertDartFunctionFast(f) {
      var ret,
        existing = f.$dart_jsFunction;
      if (existing != null)
        return existing;
      ret = function(_call, f) {
        return function() {
          return _call(f, Array.prototype.slice.apply(arguments));
        };
      }(A._callDartFunctionFast, f);
      ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f;
      f.$dart_jsFunction = ret;
      return ret;
    },
    _convertDartFunctionFastCaptureThis(f) {
      var ret,
        existing = f._$dart_jsFunctionCaptureThis;
      if (existing != null)
        return existing;
      ret = function(_call, f) {
        return function() {
          return _call(f, this, Array.prototype.slice.apply(arguments));
        };
      }(A._callDartFunctionFastCaptureThis, f);
      ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f;
      f._$dart_jsFunctionCaptureThis = ret;
      return ret;
    },
    _callDartFunctionFast(callback, $arguments) {
      return A.Function_apply(callback, $arguments);
    },
    _callDartFunctionFastCaptureThis(callback, $self, $arguments) {
      var t1 = [$self];
      B.JSArray_methods.addAll$1(t1, $arguments);
      return A.Function_apply(callback, t1);
    },
    allowInterop(f) {
      if (typeof f == "function")
        return f;
      else
        return A._convertDartFunctionFast(f);
    },
    allowInteropCaptureThis(f) {
      if (typeof f == "function")
        throw A.wrapException(A.ArgumentError$("Function is already a JS function so cannot capture this.", null));
      else
        return A._convertDartFunctionFastCaptureThis(f);
    },
    _noJsifyRequired(o) {
      return o == null || A._isBool(o) || typeof o == "number" || typeof o == "string" || type$.Int8List._is(o) || type$.Uint8List._is(o) || type$.Uint8ClampedList._is(o) || type$.Int16List._is(o) || type$.Uint16List._is(o) || type$.Int32List._is(o) || type$.Uint32List._is(o) || type$.Float32List._is(o) || type$.Float64List._is(o) || type$.ByteBuffer._is(o) || type$.ByteData._is(o);
    },
    jsify(object) {
      if (A._noJsifyRequired(object))
        return object;
      return new A.jsify__convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(object);
    },
    callConstructor(constr, $arguments) {
      var args, factoryFunction;
      if ($arguments instanceof Array)
        switch ($arguments.length) {
          case 0:
            return new constr();
          case 1:
            return new constr($arguments[0]);
          case 2:
            return new constr($arguments[0], $arguments[1]);
          case 3:
            return new constr($arguments[0], $arguments[1], $arguments[2]);
          case 4:
            return 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 new factoryFunction();
    },
    promiseToFuture0(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_closure1(completer), 1), A.convertDartClosureToJS(new A.promiseToFuture_closure2(completer), 1));
      return t1;
    },
    jsify__convert: function jsify__convert(t0) {
      this._convertedObjects = t0;
    },
    promiseToFuture_closure1: function promiseToFuture_closure1(t0) {
      this.completer = t0;
    },
    promiseToFuture_closure2: function promiseToFuture_closure2(t0) {
      this.completer = t0;
    },
    NullRejectionException: function NullRejectionException(t0) {
      this.isUndefined = t0;
    },
    max(a, b) {
      return Math.max(a, b);
    },
    pow(x, exponent) {
      return Math.pow(x, exponent);
    },
    Random_Random() {
      return B.C__JSRandom;
    },
    _JSRandom: function _JSRandom() {
    },
    ArgParser: function ArgParser(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._arg_parser$_options = t0;
      _._aliases = t1;
      _.options = t2;
      _.commands = t3;
      _._optionsAndSeparators = t4;
      _.allowTrailingOptions = t5;
      _.usageLineLength = t6;
    },
    ArgParser__addOption_closure: function ArgParser__addOption_closure(t0) {
      this.$this = t0;
    },
    ArgParserException$(message, commands) {
      return new A.ArgParserException(commands == null ? B.List_empty : A.List_List$unmodifiable(commands, type$.String), message, null, null);
    },
    ArgParserException: function ArgParserException(t0, t1, t2, t3) {
      var _ = this;
      _.commands = t0;
      _.message = t1;
      _.source = t2;
      _.offset = t3;
    },
    ArgResults: function ArgResults(t0, t1, t2, t3) {
      var _ = this;
      _._parser = t0;
      _._parsed = t1;
      _.name = t2;
      _.rest = t3;
    },
    Option: function Option(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.name = t0;
      _.abbr = t1;
      _.help = t2;
      _.valueHelp = t3;
      _.allowed = t4;
      _.allowedHelp = t5;
      _.defaultsTo = t6;
      _.negatable = t7;
      _.callback = t8;
      _.type = t9;
      _.splitCommas = t10;
      _.mandatory = t11;
      _.hide = t12;
    },
    OptionType: function OptionType(t0) {
      this.name = t0;
    },
    Parser$(_commandName, _grammar, _args, _parent, rest) {
      var t1 = A._setArrayType([], type$.JSArray_String);
      if (rest != null)
        B.JSArray_methods.addAll$1(t1, rest);
      return new A.Parser0(_commandName, _parent, _grammar, _args, t1, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic));
    },
    _isLetterOrDigit(codeUnit) {
      var t1;
      if (!(codeUnit >= 65 && codeUnit <= 90))
        if (!(codeUnit >= 97 && codeUnit <= 122))
          t1 = codeUnit >= 48 && codeUnit <= 57;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    Parser0: function Parser0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._commandName = t0;
      _._parser$_parent = t1;
      _._grammar = t2;
      _._args = t3;
      _._parser$_rest = t4;
      _._results = t5;
    },
    Parser_parse_closure: function Parser_parse_closure(t0) {
      this.$this = t0;
    },
    Parser__setOption_closure: function Parser__setOption_closure() {
    },
    _Usage: function _Usage(t0, t1, t2) {
      var _ = this;
      _._usage$_optionsAndSeparators = t0;
      _._usage$_buffer = t1;
      _._currentColumn = 0;
      _.___Usage__columnWidths_FI = $;
      _._newlinesNeeded = 0;
      _.lineLength = t2;
    },
    _Usage__writeOption_closure: function _Usage__writeOption_closure() {
    },
    _Usage__buildAllowedList_closure: function _Usage__buildAllowedList_closure(t0) {
      this.option = t0;
    },
    FutureGroup: function FutureGroup(t0, t1, t2) {
      var _ = this;
      _._future_group$_pending = 0;
      _._future_group$_closed = false;
      _._future_group$_completer = t0;
      _._future_group$_values = t1;
      _.$ti = t2;
    },
    FutureGroup_add_closure: function FutureGroup_add_closure(t0, t1) {
      this.$this = t0;
      this.index = t1;
    },
    FutureGroup_add_closure0: function FutureGroup_add_closure0(t0) {
      this.$this = t0;
    },
    ErrorResult: function ErrorResult(t0, t1) {
      this.error = t0;
      this.stackTrace = t1;
    },
    ValueResult: function ValueResult(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    StreamCompleter: function StreamCompleter(t0, t1) {
      this._stream_completer$_stream = t0;
      this.$ti = t1;
    },
    _CompleterStream: function _CompleterStream(t0) {
      this._sourceStream = this._stream_completer$_controller = null;
      this.$ti = t0;
    },
    StreamGroup: function StreamGroup(t0, t1, t2) {
      var _ = this;
      _.__StreamGroup__controller_A = $;
      _._closed = false;
      _._stream_group$_state = t0;
      _._subscriptions = t1;
      _.$ti = t2;
    },
    StreamGroup_add_closure: function StreamGroup_add_closure() {
    },
    StreamGroup_add_closure0: function StreamGroup_add_closure0(t0, t1) {
      this.$this = t0;
      this.stream = t1;
    },
    StreamGroup__onListen_closure: function StreamGroup__onListen_closure() {
    },
    StreamGroup__onCancel_closure: function StreamGroup__onCancel_closure(t0) {
      this.$this = t0;
    },
    StreamGroup__listenToStream_closure: function StreamGroup__listenToStream_closure(t0, t1) {
      this.$this = t0;
      this.stream = t1;
    },
    _StreamGroupState: function _StreamGroupState(t0) {
      this.name = t0;
    },
    StreamQueue: function StreamQueue(t0, t1, t2, t3) {
      var _ = this;
      _._stream_queue$_source = t0;
      _._stream_queue$_subscription = null;
      _._isDone = false;
      _._eventsReceived = 0;
      _._eventQueue = t1;
      _._requestQueue = t2;
      _.$ti = t3;
    },
    StreamQueue__ensureListening_closure: function StreamQueue__ensureListening_closure(t0) {
      this.$this = t0;
    },
    StreamQueue__ensureListening_closure1: function StreamQueue__ensureListening_closure1(t0) {
      this.$this = t0;
    },
    StreamQueue__ensureListening_closure0: function StreamQueue__ensureListening_closure0(t0) {
      this.$this = t0;
    },
    _NextRequest: function _NextRequest(t0, t1) {
      this._completer = t0;
      this.$ti = t1;
    },
    isNodeJs() {
      var t1 = self.process;
      if (t1 == null)
        t1 = null;
      else {
        t1 = J.get$release$x(t1);
        t1 = t1 == null ? null : J.get$name$x(t1);
      }
      return J.$eq$(t1, "node");
    },
    isBrowser() {
      return !A.isNodeJs() && self.document != null && typeof self.document.querySelector == "function";
    },
    wrapJSExceptions(callback) {
      var error, error0, error1, error2, t1, exception;
      if (!$.$get$_isStrictMode())
        return callback.call$0();
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (typeof t1 == "string") {
          error = t1;
          throw A.wrapException(error);
        } else if (A._isBool(t1)) {
          error0 = t1;
          throw A.wrapException(error0);
        } else if (typeof t1 == "number") {
          error1 = t1;
          throw A.wrapException(error1);
        } else {
          error2 = t1;
          if (typeof error2 == "symbol" || typeof error2 == "bigint" || error2 == null)
            throw A.wrapException(error2.toString());
          throw exception;
        }
      }
    },
    _isStrictMode_closure: function _isStrictMode_closure() {
    },
    Repl: function Repl(t0, t1, t2, t3) {
      var _ = this;
      _.prompt = t0;
      _.continuation = t1;
      _.validator = t2;
      _.__Repl__adapter_A = $;
      _.history = t3;
    },
    alwaysValid_closure: function alwaysValid_closure() {
    },
    ReplAdapter: function ReplAdapter(t0) {
      this.repl = t0;
      this.rl = null;
    },
    ReplAdapter_runAsync_closure: function ReplAdapter_runAsync_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.rl = t2;
      _.runController = t3;
    },
    ReplAdapter_runAsync__closure: function ReplAdapter_runAsync__closure(t0) {
      this.lineController = t0;
    },
    Stdin: function Stdin() {
    },
    Stdout: function Stdout() {
    },
    ReadlineModule: function ReadlineModule() {
    },
    ReadlineOptions: function ReadlineOptions() {
    },
    ReadlineInterface: function ReadlineInterface() {
    },
    EmptyUnmodifiableSet: function EmptyUnmodifiableSet(t0) {
      this.$ti = t0;
    },
    _EmptyUnmodifiableSet_IterableBase_UnmodifiableSetMixin: function _EmptyUnmodifiableSet_IterableBase_UnmodifiableSetMixin() {
    },
    DefaultEquality: function DefaultEquality() {
    },
    IterableEquality: function IterableEquality() {
    },
    ListEquality: function ListEquality() {
    },
    _MapEntry: function _MapEntry(t0, t1, t2) {
      this.equality = t0;
      this.key = t1;
      this.value = t2;
    },
    MapEquality: function MapEquality(t0) {
      this.$ti = t0;
    },
    QueueList$(initialCapacity, $E) {
      return new A.QueueList(A.List_List$filled(A.QueueList__computeInitialCapacity(initialCapacity), null, false, $E._eval$1("0?")), 0, 0, $E._eval$1("QueueList<0>"));
    },
    QueueList_QueueList$from(source, $E) {
      var $length, queue, t1;
      if (type$.List_dynamic._is(source)) {
        $length = J.get$length$asx(source);
        queue = A.QueueList$($length + 1, $E);
        J.setRange$4$ax(queue._queue_list$_table, 0, $length, source, 0);
        queue._queue_list$_tail = $length;
        return queue;
      } else {
        t1 = A.QueueList$(null, $E);
        t1.addAll$1(0, source);
        return t1;
      }
    },
    QueueList__computeInitialCapacity(initialCapacity) {
      if (initialCapacity == null || initialCapacity < 8)
        return 8;
      ++initialCapacity;
      if ((initialCapacity & initialCapacity - 1) >>> 0 === 0)
        return initialCapacity;
      return A.QueueList__nextPowerOf2(initialCapacity);
    },
    QueueList__nextPowerOf2(number) {
      var nextNumber;
      number = (number << 1 >>> 0) - 1;
      for (; true; number = nextNumber) {
        nextNumber = (number & number - 1) >>> 0;
        if (nextNumber === 0)
          return number;
      }
    },
    QueueList: function QueueList(t0, t1, t2, t3) {
      var _ = this;
      _._queue_list$_table = t0;
      _._queue_list$_head = t1;
      _._queue_list$_tail = t2;
      _.$ti = t3;
    },
    _CastQueueList: function _CastQueueList(t0, t1, t2, t3, t4) {
      var _ = this;
      _._queue_list$_delegate = t0;
      _._queue_list$_table = t1;
      _._queue_list$_head = t2;
      _._queue_list$_tail = t3;
      _.$ti = t4;
    },
    _QueueList_Object_ListMixin: function _QueueList_Object_ListMixin() {
    },
    UnionSet: function UnionSet(t0, t1) {
      this._sets = t0;
      this.$ti = t1;
    },
    UnionSet__iterable_closure: function UnionSet__iterable_closure(t0) {
      this.$this = t0;
    },
    UnionSet_contains_closure: function UnionSet_contains_closure(t0, t1) {
      this.$this = t0;
      this.element = t1;
    },
    _UnionSet_SetBase_UnmodifiableSetMixin: function _UnionSet_SetBase_UnmodifiableSetMixin() {
    },
    UnmodifiableSetMixin__throw() {
      throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable Set"));
    },
    UnmodifiableSetView0: function UnmodifiableSetView0(t0, t1) {
      this._base = t0;
      this.$ti = t1;
    },
    UnmodifiableSetMixin: function UnmodifiableSetMixin() {
    },
    _UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin: function _UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin() {
    },
    _DelegatingIterableBase: function _DelegatingIterableBase() {
    },
    DelegatingSet: function DelegatingSet(t0, t1) {
      this._base = t0;
      this.$ti = t1;
    },
    MapKeySet: function MapKeySet(t0, t1) {
      this._baseMap = t0;
      this.$ti = t1;
    },
    MapKeySet_difference_closure: function MapKeySet_difference_closure(t0, t1) {
      this.$this = t0;
      this.other = t1;
    },
    _MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin: function _MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin() {
    },
    BufferModule: function BufferModule() {
    },
    BufferConstants: function BufferConstants() {
    },
    Buffer: function Buffer() {
    },
    ConsoleModule: function ConsoleModule() {
    },
    Console: function Console() {
    },
    EventEmitter: function EventEmitter() {
    },
    fs() {
      var t1 = $._fs;
      return t1 == null ? $._fs = self.fs : t1;
    },
    FS: function FS() {
    },
    FSConstants: function FSConstants() {
    },
    FSWatcher: function FSWatcher() {
    },
    ReadStream: function ReadStream() {
    },
    ReadStreamOptions: function ReadStreamOptions() {
    },
    WriteStream: function WriteStream() {
    },
    WriteStreamOptions: function WriteStreamOptions() {
    },
    FileOptions: function FileOptions() {
    },
    StatOptions: function StatOptions() {
    },
    MkdirOptions: function MkdirOptions() {
    },
    RmdirOptions: function RmdirOptions() {
    },
    WatchOptions: function WatchOptions() {
    },
    WatchFileOptions: function WatchFileOptions() {
    },
    Stats: function Stats() {
    },
    Promise: function Promise() {
    },
    Date: function Date() {
    },
    JsError: function JsError() {
    },
    Atomics: function Atomics() {
    },
    Modules: function Modules() {
    },
    Module: function Module() {
    },
    Net: function Net() {
    },
    Socket: function Socket() {
    },
    NetAddress: function NetAddress() {
    },
    NetServer: function NetServer() {
    },
    NodeJsError: function NodeJsError() {
    },
    JsAssertionError: function JsAssertionError() {
    },
    JsRangeError: function JsRangeError() {
    },
    JsReferenceError: function JsReferenceError() {
    },
    JsSyntaxError: function JsSyntaxError() {
    },
    JsTypeError: function JsTypeError() {
    },
    JsSystemError: function JsSystemError() {
    },
    Process: function Process() {
    },
    CPUUsage: function CPUUsage() {
    },
    Release: function Release() {
    },
    StreamModule: function StreamModule() {
    },
    Readable: function Readable() {
    },
    Writable: function Writable() {
    },
    Duplex: function Duplex() {
    },
    Transform: function Transform() {
    },
    WritableOptions: function WritableOptions() {
    },
    ReadableOptions: function ReadableOptions() {
    },
    Immediate: function Immediate() {
    },
    Timeout: function Timeout() {
    },
    TTY: function TTY() {
    },
    TTYReadStream: function TTYReadStream() {
    },
    TTYWriteStream: function TTYWriteStream() {
    },
    jsify0(dartObject) {
      if (A._isBasicType(dartObject))
        return dartObject;
      return A.jsify(dartObject);
    },
    _isBasicType(value) {
      return false;
    },
    promiseToFuture(promise, $T) {
      var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")),
        completer = new A._SyncCompleter(t1, $T._eval$1("_SyncCompleter<0>"));
      J.then$2$x(promise, A.allowInterop(new A.promiseToFuture_closure(completer)), A.allowInterop(new A.promiseToFuture_closure0(completer)));
      return t1;
    },
    futureToPromise(future, $T) {
      return new self.Promise(A.allowInterop(new A.futureToPromise_closure(future, $T)));
    },
    Util: function Util() {
    },
    promiseToFuture_closure: function promiseToFuture_closure(t0) {
      this.completer = t0;
    },
    promiseToFuture_closure0: function promiseToFuture_closure0(t0) {
      this.completer = t0;
    },
    futureToPromise_closure: function futureToPromise_closure(t0, t1) {
      this.future = t0;
      this.T = t1;
    },
    futureToPromise__closure: function futureToPromise__closure(t0, t1) {
      this.resolve = t0;
      this.T = t1;
    },
    Context_Context(style) {
      return new A.Context(style, ".");
    },
    _parseUri(uri) {
      if (typeof uri == "string")
        return A.Uri_parse(uri);
      if (type$.Uri._is(uri))
        return uri;
      throw A.wrapException(A.ArgumentError$value(uri, "uri", "Value must be a String or a 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, 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, start, i,
        root = style.getRoot$1(path),
        isRootRelative = 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 && style.isSeparator$1(path.charCodeAt(0))) {
        separators.push(path[0]);
        start = 1;
      } else {
        separators.push("");
        start = 0;
      }
      for (i = start; i < t1; ++i)
        if (style.isSeparator$1(path.charCodeAt(i))) {
          parts.push(B.JSString_methods.substring$2(path, start, i));
          separators.push(path[i]);
          start = i + 1;
        }
      if (start < t1) {
        parts.push(B.JSString_methods.substring$1(path, start));
        separators.push("");
      }
      return new A.ParsedPath(style, root, isRootRelative, parts, separators);
    },
    ParsedPath: function ParsedPath(t0, t1, t2, t3, t4) {
      var _ = this;
      _.style = t0;
      _.root = t1;
      _.isRootRelative = t2;
      _.parts = t3;
      _.separators = t4;
    },
    ParsedPath__splitExtension_closure: function ParsedPath__splitExtension_closure() {
    },
    ParsedPath__splitExtension_closure0: function ParsedPath__splitExtension_closure0() {
    },
    PathException$(message) {
      return new A.PathException(message);
    },
    PathException: function PathException(t0) {
      this.message = t0;
    },
    PathMap__create(context, $V) {
      var t1 = {};
      t1.context = context;
      t1.context = $.$get$context();
      return A.LinkedHashMap_LinkedHashMap(new A.PathMap__create_closure(t1), new A.PathMap__create_closure0(t1), new A.PathMap__create_closure1(), type$.nullable_String, $V);
    },
    PathMap: function PathMap(t0, t1) {
      this._map = t0;
      this.$ti = t1;
    },
    PathMap__create_closure: function PathMap__create_closure(t0) {
      this._box_0 = t0;
    },
    PathMap__create_closure0: function PathMap__create_closure0(t0) {
      this._box_0 = t0;
    },
    PathMap__create_closure1: function PathMap__create_closure1() {
    },
    Style__getPlatformStyle() {
      if (A.Uri_base().get$scheme() !== "file")
        return $.$get$Style_url();
      var t1 = A.Uri_base();
      if (!B.JSString_methods.endsWith$1(t1.get$path(t1), "/"))
        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() {
    },
    Version$_(major, minor, patch, preRelease, build, _text) {
      var t1 = preRelease == null ? A._setArrayType([], type$.JSArray_Object) : A.Version__splitParts(preRelease),
        t2 = build == null ? A._setArrayType([], type$.JSArray_Object) : A.Version__splitParts(build);
      if (major < 0)
        A.throwExpression(A.ArgumentError$("Major version must be non-negative.", null));
      if (minor < 0)
        A.throwExpression(A.ArgumentError$("Minor version must be non-negative.", null));
      if (patch < 0)
        A.throwExpression(A.ArgumentError$("Patch version must be non-negative.", null));
      return new A.Version(major, minor, patch, t1, t2, _text);
    },
    Version_Version(major, minor, patch, pre) {
      var text = "" + major + "." + minor + "." + patch;
      if (pre != null)
        text += "-" + pre;
      return A.Version$_(major, minor, patch, pre, null, text);
    },
    Version___parse_tearOff(text) {
      return A.Version_Version$parse(text);
    },
    Version_Version$parse(text) {
      var major, minor, patch, preRelease, build, t1, exception, _null = null,
        _s17_ = 'Could not parse "',
        match = $.$get$completeVersion().firstMatch$1(text);
      if (match == null)
        throw A.wrapException(A.FormatException$(_s17_ + text + '".', _null, _null));
      try {
        t1 = match._match[1];
        t1.toString;
        major = A.int_parse(t1, _null);
        t1 = match._match[2];
        t1.toString;
        minor = A.int_parse(t1, _null);
        t1 = match._match[3];
        t1.toString;
        patch = A.int_parse(t1, _null);
        preRelease = match._match[5];
        build = match._match[8];
        t1 = A.Version$_(major, minor, patch, preRelease, build, text);
        return t1;
      } catch (exception) {
        if (type$.FormatException._is(A.unwrapException(exception)))
          throw A.wrapException(A.FormatException$(_s17_ + text + '".', _null, _null));
        else
          throw exception;
      }
    },
    Version__splitParts(text) {
      var t1 = type$.MappedListIterable_String_Object;
      return A.List_List$of(new A.MappedListIterable(A._setArrayType(text.split("."), type$.JSArray_String), new A.Version__splitParts_closure(), t1), true, t1._eval$1("ListIterable.E"));
    },
    Version: function Version(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.major = t0;
      _.minor = t1;
      _.patch = t2;
      _.preRelease = t3;
      _.build = t4;
      _._version$_text = t5;
    },
    Version__splitParts_closure: function Version__splitParts_closure() {
    },
    VersionRange_VersionRange(includeMax, max) {
      return new A.VersionRange(null, max, false, true);
    },
    VersionRange: function VersionRange(t0, t1, t2, t3) {
      var _ = this;
      _.min = t0;
      _.max = t1;
      _.includeMin = t2;
      _.includeMax = t3;
    },
    CssMediaQuery_parseList(contents, interpolationMap, logger) {
      var t1 = A.SpanScanner$(contents, null);
      return new A.MediaQueryParser(t1, logger, interpolationMap).parse$0();
    },
    CssMediaQuery$type(type, conditions, modifier) {
      return new A.CssMediaQuery(modifier, type, true, conditions == null ? B.List_empty : A.List_List$unmodifiable(conditions, type$.String));
    },
    CssMediaQuery$condition(conditions, conjunction) {
      var t1 = A.List_List$unmodifiable(conditions, type$.String);
      if (t1.length > 1 && conjunction == null)
        A.throwExpression(A.ArgumentError$(string$.If_con, null));
      return new A.CssMediaQuery(null, null, conjunction !== false, t1);
    },
    CssMediaQuery: function CssMediaQuery(t0, t1, t2, t3) {
      var _ = this;
      _.modifier = t0;
      _.type = t1;
      _.conjunction = t2;
      _.conditions = t3;
    },
    _SingletonCssMediaQueryMergeResult: function _SingletonCssMediaQueryMergeResult(t0) {
      this._name = t0;
    },
    MediaQuerySuccessfulMergeResult: function MediaQuerySuccessfulMergeResult(t0) {
      this.query = t0;
    },
    ModifiableCssAtRule$($name, span, childless, value) {
      var t1 = A._setArrayType([], type$.JSArray_ModifiableCssNode);
      return new A.ModifiableCssAtRule($name, value, childless, span, new A.UnmodifiableListView(t1, type$.UnmodifiableListView_ModifiableCssNode), t1);
    },
    ModifiableCssAtRule: function ModifiableCssAtRule(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.name = t0;
      _.value = t1;
      _.isChildless = t2;
      _.span = t3;
      _.children = t4;
      _._children = t5;
      _._indexInParent = _._parent = null;
      _.isGroupEnd = false;
    },
    ModifiableCssComment: function ModifiableCssComment(t0, t1) {
      var _ = this;
      _.text = t0;
      _.span = t1;
      _._indexInParent = _._parent = null;
      _.isGroupEnd = false;
    },
    ModifiableCssDeclaration$($name, value, span, parsedAsCustomProperty, valueSpanForMap) {
      var t2,
        t1 = valueSpanForMap == null ? value.span : valueSpanForMap;
      if (parsedAsCustomProperty)
        if (!J.startsWith$1$s($name.value, "--"))
          A.throwExpression(A.ArgumentError$(string$.parsed, null));
        else {
          t2 = value.value;
          if (!(t2 instanceof A.SassString))
            A.throwExpression(A.ArgumentError$(string$.If_par + value.toString$0(0) + "` of type " + A.getRuntimeTypeOfDartObject(t2).toString$0(0) + ").", null));
        }
      return new A.ModifiableCssDeclaration($name, value, parsedAsCustomProperty, t1, span);
    },
    ModifiableCssDeclaration: function ModifiableCssDeclaration(t0, t1, t2, t3, t4) {
      var _ = this;
      _.name = t0;
      _.value = t1;
      _.parsedAsCustomProperty = t2;
      _.valueSpanForMap = t3;
      _.span = t4;
      _._indexInParent = _._parent = null;
      _.isGroupEnd = false;
    },
    ModifiableCssImport: function ModifiableCssImport(t0, t1, t2) {
      var _ = this;
      _.url = t0;
      _.modifiers = t1;
      _.span = t2;
      _._indexInParent = _._parent = null;
      _.isGroupEnd = false;
    },
    ModifiableCssKeyframeBlock$(selector, span) {
      var t1 = A._setArrayType([], type$.JSArray_ModifiableCssNode);
      return new A.ModifiableCssKeyframeBlock(selector, span, new A.UnmodifiableListView(t1, type$.UnmodifiableListView_ModifiableCssNode), t1);
    },
    ModifiableCssKeyframeBlock: function ModifiableCssKeyframeBlock(t0, t1, t2, t3) {
      var _ = this;
      _.selector = t0;
      _.span = t1;
      _.children = t2;
      _._children = t3;
      _._indexInParent = _._parent = null;
      _.isGroupEnd = false;
    },
    ModifiableCssMediaRule$(queries, span) {
      var t1 = A.List_List$unmodifiable(queries, type$.CssMediaQuery),
        t2 = A._setArrayType([], type$.JSArray_ModifiableCssNode);
      if (J.get$isEmpty$asx(queries))
        A.throwExpression(A.ArgumentError$value(queries, "queries", "may not be empty."));
      return new A.ModifiableCssMediaRule(t1, span, new A.UnmodifiableListView(t2, type$.UnmodifiableListView_ModifiableCssNode), t2);
    },
    ModifiableCssMediaRule: function ModifiableCssMediaRule(t0, t1, t2, t3) {
      var _ = this;
      _.queries = t0;
      _.span = t1;
      _.children = t2;
      _._children = t3;
      _._indexInParent = _._parent = null;
      _.isGroupEnd = false;
    },
    ModifiableCssNode: function ModifiableCssNode() {
    },
    ModifiableCssNode_hasFollowingSibling_closure: function ModifiableCssNode_hasFollowingSibling_closure() {
    },
    ModifiableCssParentNode: function ModifiableCssParentNode() {
    },
    ModifiableCssStyleRule$(_selector, span, fromPlainCss, originalSelector) {
      var t1 = A._setArrayType([], type$.JSArray_ModifiableCssNode);
      return new A.ModifiableCssStyleRule(_selector, originalSelector, span, fromPlainCss, new A.UnmodifiableListView(t1, type$.UnmodifiableListView_ModifiableCssNode), t1);
    },
    ModifiableCssStyleRule: function ModifiableCssStyleRule(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._style_rule$_selector = t0;
      _.originalSelector = t1;
      _.span = t2;
      _.fromPlainCss = t3;
      _.children = t4;
      _._children = t5;
      _._indexInParent = _._parent = null;
      _.isGroupEnd = false;
    },
    ModifiableCssStylesheet$(span) {
      var t1 = A._setArrayType([], type$.JSArray_ModifiableCssNode);
      return new A.ModifiableCssStylesheet(span, new A.UnmodifiableListView(t1, type$.UnmodifiableListView_ModifiableCssNode), t1);
    },
    ModifiableCssStylesheet: function ModifiableCssStylesheet(t0, t1, t2) {
      var _ = this;
      _.span = t0;
      _.children = t1;
      _._children = t2;
      _._indexInParent = _._parent = null;
      _.isGroupEnd = false;
    },
    ModifiableCssSupportsRule$(condition, span) {
      var t1 = A._setArrayType([], type$.JSArray_ModifiableCssNode);
      return new A.ModifiableCssSupportsRule(condition, span, new A.UnmodifiableListView(t1, type$.UnmodifiableListView_ModifiableCssNode), t1);
    },
    ModifiableCssSupportsRule: function ModifiableCssSupportsRule(t0, t1, t2, t3) {
      var _ = this;
      _.condition = t0;
      _.span = t1;
      _.children = t2;
      _._children = t3;
      _._indexInParent = _._parent = null;
      _.isGroupEnd = false;
    },
    CssNode: function CssNode() {
    },
    CssParentNode: function CssParentNode() {
    },
    _IsInvisibleVisitor: function _IsInvisibleVisitor(t0, t1) {
      this.includeBogus = t0;
      this.includeComments = t1;
    },
    __IsInvisibleVisitor_Object_EveryCssVisitor: function __IsInvisibleVisitor_Object_EveryCssVisitor() {
    },
    CssStylesheet: function CssStylesheet(t0, t1) {
      this.children = t0;
      this.span = t1;
    },
    CssValue: function CssValue(t0, t1, t2) {
      this.value = t0;
      this.span = t1;
      this.$ti = t2;
    },
    _FakeAstNode: function _FakeAstNode(t0) {
      this._callback = t0;
    },
    Argument: function Argument(t0, t1, t2) {
      this.name = t0;
      this.defaultValue = t1;
      this.span = t2;
    },
    ArgumentDeclaration_ArgumentDeclaration$parse(contents, url) {
      return A.ScssParser$(contents, null, url).parseArgumentDeclaration$0();
    },
    ArgumentDeclaration: function ArgumentDeclaration(t0, t1, t2) {
      this.$arguments = t0;
      this.restArgument = t1;
      this.span = t2;
    },
    ArgumentDeclaration_verify_closure: function ArgumentDeclaration_verify_closure() {
    },
    ArgumentDeclaration_verify_closure0: function ArgumentDeclaration_verify_closure0() {
    },
    ArgumentInvocation$empty(span) {
      return new A.ArgumentInvocation(B.List_empty9, B.Map_empty6, null, null, span);
    },
    ArgumentInvocation: function ArgumentInvocation(t0, t1, t2, t3, t4) {
      var _ = this;
      _.positional = t0;
      _.named = t1;
      _.rest = t2;
      _.keywordRest = t3;
      _.span = t4;
    },
    AtRootQuery: function AtRootQuery(t0, t1, t2, t3) {
      var _ = this;
      _.include = t0;
      _.names = t1;
      _._all = t2;
      _._at_root_query$_rule = t3;
    },
    ConfiguredVariable: function ConfiguredVariable(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.expression = t1;
      _.isGuarded = t2;
      _.span = t3;
    },
    _IsCalculationSafeVisitor: function _IsCalculationSafeVisitor() {
    },
    _IsCalculationSafeVisitor_visitListExpression_closure: function _IsCalculationSafeVisitor_visitListExpression_closure(t0) {
      this.$this = t0;
    },
    BinaryOperationExpression: function BinaryOperationExpression(t0, t1, t2, t3) {
      var _ = this;
      _.operator = t0;
      _.left = t1;
      _.right = t2;
      _.allowsSlash = t3;
    },
    BinaryOperator: function BinaryOperator(t0, t1, t2, t3, t4) {
      var _ = this;
      _.name = t0;
      _.operator = t1;
      _.precedence = t2;
      _.isAssociative = t3;
      _._name = t4;
    },
    BooleanExpression: function BooleanExpression(t0, t1) {
      this.value = t0;
      this.span = t1;
    },
    ColorExpression: function ColorExpression(t0, t1) {
      this.value = t0;
      this.span = t1;
    },
    FunctionExpression: function FunctionExpression(t0, t1, t2, t3, t4) {
      var _ = this;
      _.namespace = t0;
      _.name = t1;
      _.originalName = t2;
      _.$arguments = t3;
      _.span = t4;
    },
    IfExpression: function IfExpression(t0, t1) {
      this.$arguments = t0;
      this.span = t1;
    },
    InterpolatedFunctionExpression: function InterpolatedFunctionExpression(t0, t1, t2) {
      this.name = t0;
      this.$arguments = t1;
      this.span = t2;
    },
    ListExpression: function ListExpression(t0, t1, t2, t3) {
      var _ = this;
      _.contents = t0;
      _.separator = t1;
      _.hasBrackets = t2;
      _.span = t3;
    },
    ListExpression_toString_closure: function ListExpression_toString_closure(t0) {
      this.$this = t0;
    },
    MapExpression: function MapExpression(t0, t1) {
      this.pairs = t0;
      this.span = t1;
    },
    NullExpression: function NullExpression(t0) {
      this.span = t0;
    },
    NumberExpression: function NumberExpression(t0, t1, t2) {
      this.value = t0;
      this.unit = t1;
      this.span = t2;
    },
    ParenthesizedExpression: function ParenthesizedExpression(t0, t1) {
      this.expression = t0;
      this.span = t1;
    },
    SelectorExpression: function SelectorExpression(t0) {
      this.span = t0;
    },
    StringExpression_quoteText(text) {
      var t1,
        quote = A.StringExpression__bestQuote(A._setArrayType([text], type$.JSArray_String)),
        buffer = new A.StringBuffer("");
      buffer._contents = "" + A.Primitives_stringFromCharCode(quote);
      A.StringExpression__quoteInnerText(text, quote, buffer, true);
      t1 = A.Primitives_stringFromCharCode(quote);
      t1 = buffer._contents += t1;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    StringExpression__quoteInnerText(text, quote, buffer, $static) {
      var t1, t2, i, _1_0, _0_0, t3, t4, t0;
      for (t1 = text.length, t2 = t1 - 1, i = 0; i < t1; ++i) {
        _1_0 = text.charCodeAt(i);
        if (_1_0 === 10 || _1_0 === 13 || _1_0 === 12) {
          buffer.writeCharCode$1(92);
          buffer.writeCharCode$1(97);
          if (i !== t2) {
            _0_0 = text.charCodeAt(i + 1);
            if (!(_0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12))
              if (!(_0_0 >= 48 && _0_0 <= 57))
                if (!(_0_0 >= 97 && _0_0 <= 102))
                  t3 = _0_0 >= 65 && _0_0 <= 70;
                else
                  t3 = true;
              else
                t3 = true;
            else
              t3 = true;
            if (t3)
              buffer.writeCharCode$1(32);
          }
          continue;
        }
        t3 = 92 === _1_0;
        if (t3)
          t4 = _1_0;
        else
          t4 = null;
        if (!t3) {
          t3 = _1_0 === quote;
          if (t3)
            t4 = _1_0;
          t0 = t4;
          t4 = t3;
          t3 = t0;
          if (!t4)
            if (35 === _1_0)
              if ($static)
                if (i < t2) {
                  t4 = text.charCodeAt(i + 1) === 123;
                  if (t4)
                    t3 = _1_0;
                } else
                  t4 = false;
              else
                t4 = false;
            else
              t4 = false;
          else
            t4 = true;
        } else {
          t3 = t4;
          t4 = true;
        }
        if (t4) {
          buffer.writeCharCode$1(92);
          buffer.writeCharCode$1(t3);
          continue;
        }
        buffer.writeCharCode$1(_1_0);
      }
    },
    StringExpression__bestQuote(strings) {
      var t1, t2, t3, containsDoubleQuote, t4, t5;
      for (t1 = J.get$iterator$ax(strings), t2 = type$.CodeUnits, t3 = t2._eval$1("ListIterator"), t2 = t2._eval$1("ListBase.E"), containsDoubleQuote = false; t1.moveNext$0();)
        for (t4 = new A.CodeUnits(t1.get$current(t1)), t4 = new A.ListIterator(t4, t4.get$length(0), t3); t4.moveNext$0();) {
          t5 = t4.__internal$_current;
          if (t5 == null)
            t5 = t2._as(t5);
          if (t5 === 39)
            return 34;
          if (t5 === 34)
            containsDoubleQuote = true;
        }
      return containsDoubleQuote ? 39 : 34;
    },
    StringExpression: function StringExpression(t0, t1) {
      this.text = t0;
      this.hasQuotes = t1;
    },
    SupportsExpression: function SupportsExpression(t0) {
      this.condition = t0;
    },
    UnaryOperationExpression: function UnaryOperationExpression(t0, t1, t2) {
      this.operator = t0;
      this.operand = t1;
      this.span = t2;
    },
    UnaryOperator: function UnaryOperator(t0, t1, t2) {
      this.name = t0;
      this.operator = t1;
      this._name = t2;
    },
    ValueExpression: function ValueExpression(t0, t1) {
      this.value = t0;
      this.span = t1;
    },
    VariableExpression: function VariableExpression(t0, t1, t2) {
      this.namespace = t0;
      this.name = t1;
      this.span = t2;
    },
    DynamicImport: function DynamicImport(t0, t1) {
      this.urlString = t0;
      this.span = t1;
    },
    StaticImport: function StaticImport(t0, t1, t2) {
      this.url = t0;
      this.modifiers = t1;
      this.span = t2;
    },
    Interpolation$(contents, span) {
      var t1 = new A.Interpolation(A.List_List$unmodifiable(contents, type$.Object), span);
      t1.Interpolation$2(contents, span);
      return t1;
    },
    Interpolation: function Interpolation(t0, t1) {
      this.contents = t0;
      this.span = t1;
    },
    Interpolation_toString_closure: function Interpolation_toString_closure() {
    },
    AtRootRule$(children, span, query) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure());
      return new A.AtRootRule(query, span, t1, t2);
    },
    AtRootRule: function AtRootRule(t0, t1, t2, t3) {
      var _ = this;
      _.query = t0;
      _.span = t1;
      _.children = t2;
      _.hasDeclarations = t3;
    },
    AtRule$($name, span, children, value) {
      var t1 = children == null ? null : A.List_List$unmodifiable(children, type$.Statement),
        t2 = t1 == null ? null : B.JSArray_methods.any$1(t1, new A.ParentStatement_closure());
      return new A.AtRule($name, value, span, t1, t2 === true);
    },
    AtRule: function AtRule(t0, t1, t2, t3, t4) {
      var _ = this;
      _.name = t0;
      _.value = t1;
      _.span = t2;
      _.children = t3;
      _.hasDeclarations = t4;
    },
    CallableDeclaration: function CallableDeclaration() {
    },
    ContentBlock$($arguments, children, span) {
      var _s8_ = "@content",
        t1 = A.stringReplaceAllUnchecked(_s8_, "_", "-"),
        t2 = A.List_List$unmodifiable(children, type$.Statement),
        t3 = B.JSArray_methods.any$1(t2, new A.ParentStatement_closure());
      return new A.ContentBlock(t1, _s8_, $arguments, span, t2, t3);
    },
    ContentBlock: function ContentBlock(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.name = t0;
      _.originalName = t1;
      _.$arguments = t2;
      _.span = t3;
      _.children = t4;
      _.hasDeclarations = t5;
    },
    ContentRule: function ContentRule(t0, t1) {
      this.$arguments = t0;
      this.span = t1;
    },
    DebugRule: function DebugRule(t0, t1) {
      this.expression = t0;
      this.span = t1;
    },
    Declaration$($name, value, span) {
      return new A.Declaration($name, value, span, null, false);
    },
    Declaration$nested($name, children, span, value) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure());
      return new A.Declaration($name, value, span, t1, t2);
    },
    Declaration: function Declaration(t0, t1, t2, t3, t4) {
      var _ = this;
      _.name = t0;
      _.value = t1;
      _.span = t2;
      _.children = t3;
      _.hasDeclarations = t4;
    },
    EachRule$(variables, list, children, span) {
      var t1 = A.List_List$unmodifiable(variables, type$.String),
        t2 = A.List_List$unmodifiable(children, type$.Statement),
        t3 = B.JSArray_methods.any$1(t2, new A.ParentStatement_closure());
      return new A.EachRule(t1, list, span, t2, t3);
    },
    EachRule: function EachRule(t0, t1, t2, t3, t4) {
      var _ = this;
      _.variables = t0;
      _.list = t1;
      _.span = t2;
      _.children = t3;
      _.hasDeclarations = t4;
    },
    EachRule_toString_closure: function EachRule_toString_closure() {
    },
    ErrorRule: function ErrorRule(t0, t1) {
      this.expression = t0;
      this.span = t1;
    },
    ExtendRule: function ExtendRule(t0, t1, t2) {
      this.selector = t0;
      this.isOptional = t1;
      this.span = t2;
    },
    ForRule$(variable, from, to, children, span, exclusive) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure());
      return new A.ForRule(variable, from, to, exclusive, span, t1, t2);
    },
    ForRule: function ForRule(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.variable = t0;
      _.from = t1;
      _.to = t2;
      _.isExclusive = t3;
      _.span = t4;
      _.children = t5;
      _.hasDeclarations = t6;
    },
    ForwardRule: function ForwardRule(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.url = t0;
      _.shownMixinsAndFunctions = t1;
      _.shownVariables = t2;
      _.hiddenMixinsAndFunctions = t3;
      _.hiddenVariables = t4;
      _.prefix = t5;
      _.configuration = t6;
      _.span = t7;
    },
    FunctionRule$($name, $arguments, children, span, comment) {
      var t1 = A.stringReplaceAllUnchecked($name, "_", "-"),
        t2 = A.List_List$unmodifiable(children, type$.Statement),
        t3 = B.JSArray_methods.any$1(t2, new A.ParentStatement_closure());
      return new A.FunctionRule(t1, $name, $arguments, span, t2, t3);
    },
    FunctionRule: function FunctionRule(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.name = t0;
      _.originalName = t1;
      _.$arguments = t2;
      _.span = t3;
      _.children = t4;
      _.hasDeclarations = t5;
    },
    IfClause$(expression, children) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement);
      return new A.IfClause(expression, t1, B.JSArray_methods.any$1(t1, new A.IfRuleClause$__closure()));
    },
    ElseClause$(children) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement);
      return new A.ElseClause(t1, B.JSArray_methods.any$1(t1, new A.IfRuleClause$__closure()));
    },
    IfRule: function IfRule(t0, t1, t2) {
      this.clauses = t0;
      this.lastClause = t1;
      this.span = t2;
    },
    IfRule_toString_closure: function IfRule_toString_closure() {
    },
    IfRuleClause: function IfRuleClause() {
    },
    IfRuleClause$__closure: function IfRuleClause$__closure() {
    },
    IfRuleClause$___closure: function IfRuleClause$___closure() {
    },
    IfClause: function IfClause(t0, t1, t2) {
      this.expression = t0;
      this.children = t1;
      this.hasDeclarations = t2;
    },
    ElseClause: function ElseClause(t0, t1) {
      this.children = t0;
      this.hasDeclarations = t1;
    },
    ImportRule: function ImportRule(t0, t1) {
      this.imports = t0;
      this.span = t1;
    },
    IncludeRule: function IncludeRule(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.namespace = t0;
      _.name = t1;
      _.originalName = t2;
      _.$arguments = t3;
      _.content = t4;
      _.span = t5;
    },
    LoudComment: function LoudComment(t0) {
      this.text = t0;
    },
    MediaRule$(query, children, span) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure());
      return new A.MediaRule(query, span, t1, t2);
    },
    MediaRule: function MediaRule(t0, t1, t2, t3) {
      var _ = this;
      _.query = t0;
      _.span = t1;
      _.children = t2;
      _.hasDeclarations = t3;
    },
    MixinRule$($name, $arguments, children, span, comment) {
      var t1 = A.stringReplaceAllUnchecked($name, "_", "-"),
        t2 = A.List_List$unmodifiable(children, type$.Statement),
        t3 = B.JSArray_methods.any$1(t2, new A.ParentStatement_closure());
      return new A.MixinRule(t1, $name, $arguments, span, t2, t3);
    },
    MixinRule: function MixinRule(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.__MixinRule_hasContent_FI = $;
      _.name = t0;
      _.originalName = t1;
      _.$arguments = t2;
      _.span = t3;
      _.children = t4;
      _.hasDeclarations = t5;
    },
    _HasContentVisitor: function _HasContentVisitor() {
    },
    __HasContentVisitor_Object_StatementSearchVisitor: function __HasContentVisitor_Object_StatementSearchVisitor() {
    },
    ParentStatement: function ParentStatement() {
    },
    ParentStatement_closure: function ParentStatement_closure() {
    },
    ParentStatement__closure: function ParentStatement__closure() {
    },
    ReturnRule: function ReturnRule(t0, t1) {
      this.expression = t0;
      this.span = t1;
    },
    SilentComment: function SilentComment(t0, t1) {
      this.text = t0;
      this.span = t1;
    },
    StyleRule$(selector, children, span) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure());
      return new A.StyleRule(selector, span, t1, t2);
    },
    StyleRule: function StyleRule(t0, t1, t2, t3) {
      var _ = this;
      _.selector = t0;
      _.span = t1;
      _.children = t2;
      _.hasDeclarations = t3;
    },
    Stylesheet$(children, span) {
      var t1 = A._setArrayType([], type$.JSArray_UseRule),
        t2 = A._setArrayType([], type$.JSArray_ForwardRule),
        t3 = A.List_List$unmodifiable(children, type$.Statement),
        t4 = B.JSArray_methods.any$1(t3, new A.ParentStatement_closure());
      t1 = new A.Stylesheet(span, false, t1, t2, t3, t4);
      t1.Stylesheet$internal$3$plainCss(children, span, false);
      return t1;
    },
    Stylesheet$internal(children, span, plainCss) {
      var t1 = A._setArrayType([], type$.JSArray_UseRule),
        t2 = A._setArrayType([], type$.JSArray_ForwardRule),
        t3 = A.List_List$unmodifiable(children, type$.Statement),
        t4 = B.JSArray_methods.any$1(t3, new A.ParentStatement_closure());
      t1 = new A.Stylesheet(span, plainCss, t1, t2, t3, t4);
      t1.Stylesheet$internal$3$plainCss(children, span, plainCss);
      return t1;
    },
    Stylesheet_Stylesheet$parse(contents, syntax, logger, url) {
      var error, stackTrace, url0, t1, exception, t2;
      try {
        switch (syntax) {
          case B.Syntax_Sass_sass:
            t1 = A.SpanScanner$(contents, url);
            t1 = new A.SassParser(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration), t1, logger, null).parse$0();
            return t1;
          case B.Syntax_SCSS_scss:
            t1 = A.ScssParser$(contents, logger, url).parse$0();
            return t1;
          case B.Syntax_CSS_css:
            t1 = A.SpanScanner$(contents, url);
            t1 = new A.CssParser(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration), t1, logger, null).parse$0();
            return t1;
          default:
            t1 = A.ArgumentError$("Unknown syntax " + syntax.toString$0(0) + ".", null);
            throw A.wrapException(t1);
        }
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = error;
          t2 = J.getInterceptor$z(t1);
          t1 = A.SourceSpanException.prototype.get$span.call(t2, t1);
          url0 = t1.get$sourceUrl(t1);
          if (url0 == null || J.toString$0$(url0) === "stdin")
            throw exception;
          t1 = type$.Uri;
          throw A.wrapException(A.throwWithTrace(error.withLoadedUrls$1(A.Set_Set$unmodifiable(A.LinkedHashSet_LinkedHashSet$_literal([url0], t1), t1)), error, stackTrace));
        } else
          throw exception;
      }
    },
    Stylesheet: function Stylesheet(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.span = t0;
      _.plainCss = t1;
      _._uses = t2;
      _._forwards = t3;
      _.children = t4;
      _.hasDeclarations = t5;
    },
    SupportsRule$(condition, children, span) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure());
      return new A.SupportsRule(condition, span, t1, t2);
    },
    SupportsRule: function SupportsRule(t0, t1, t2, t3) {
      var _ = this;
      _.condition = t0;
      _.span = t1;
      _.children = t2;
      _.hasDeclarations = t3;
    },
    UseRule: function UseRule(t0, t1, t2, t3) {
      var _ = this;
      _.url = t0;
      _.namespace = t1;
      _.configuration = t2;
      _.span = t3;
    },
    VariableDeclaration$($name, expression, span, comment, global, guarded, namespace) {
      if (namespace != null && global)
        A.throwExpression(A.ArgumentError$(string$.Other_, null));
      return new A.VariableDeclaration(namespace, $name, expression, guarded, global, span);
    },
    VariableDeclaration: function VariableDeclaration(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.namespace = t0;
      _.name = t1;
      _.expression = t2;
      _.isGuarded = t3;
      _.isGlobal = t4;
      _.span = t5;
    },
    WarnRule: function WarnRule(t0, t1) {
      this.expression = t0;
      this.span = t1;
    },
    WhileRule$(condition, children, span) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure());
      return new A.WhileRule(condition, span, t1, t2);
    },
    WhileRule: function WhileRule(t0, t1, t2, t3) {
      var _ = this;
      _.condition = t0;
      _.span = t1;
      _.children = t2;
      _.hasDeclarations = t3;
    },
    SupportsAnything: function SupportsAnything(t0, t1) {
      this.contents = t0;
      this.span = t1;
    },
    SupportsDeclaration: function SupportsDeclaration(t0, t1, t2) {
      this.name = t0;
      this.value = t1;
      this.span = t2;
    },
    SupportsFunction: function SupportsFunction(t0, t1, t2) {
      this.name = t0;
      this.$arguments = t1;
      this.span = t2;
    },
    SupportsInterpolation: function SupportsInterpolation(t0, t1) {
      this.expression = t0;
      this.span = t1;
    },
    SupportsNegation: function SupportsNegation(t0, t1) {
      this.condition = t0;
      this.span = t1;
    },
    SupportsOperation$(left, right, operator, span) {
      var lowerOperator = operator.toLowerCase();
      if (lowerOperator !== "and" && lowerOperator !== "or")
        A.throwExpression(A.ArgumentError$value(operator, "operator", 'may only be "and" or "or".'));
      return new A.SupportsOperation(left, right, operator, span);
    },
    SupportsOperation: function SupportsOperation(t0, t1, t2, t3) {
      var _ = this;
      _.left = t0;
      _.right = t1;
      _.operator = t2;
      _.span = t3;
    },
    Selector: function Selector() {
    },
    _IsInvisibleVisitor0: function _IsInvisibleVisitor0(t0) {
      this.includeBogus = t0;
    },
    _IsBogusVisitor: function _IsBogusVisitor(t0) {
      this.includeLeadingCombinator = t0;
    },
    _IsBogusVisitor_visitComplexSelector_closure: function _IsBogusVisitor_visitComplexSelector_closure(t0) {
      this.$this = t0;
    },
    _IsUselessVisitor: function _IsUselessVisitor() {
    },
    _IsUselessVisitor_visitComplexSelector_closure: function _IsUselessVisitor_visitComplexSelector_closure(t0) {
      this.$this = t0;
    },
    __IsBogusVisitor_Object_AnySelectorVisitor: function __IsBogusVisitor_Object_AnySelectorVisitor() {
    },
    __IsInvisibleVisitor_Object_AnySelectorVisitor: function __IsInvisibleVisitor_Object_AnySelectorVisitor() {
    },
    __IsUselessVisitor_Object_AnySelectorVisitor: function __IsUselessVisitor_Object_AnySelectorVisitor() {
    },
    AttributeSelector: function AttributeSelector(t0, t1, t2, t3, t4) {
      var _ = this;
      _.name = t0;
      _.op = t1;
      _.value = t2;
      _.modifier = t3;
      _.span = t4;
    },
    AttributeOperator: function AttributeOperator(t0, t1) {
      this._attribute$_text = t0;
      this._name = t1;
    },
    ClassSelector: function ClassSelector(t0, t1) {
      this.name = t0;
      this.span = t1;
    },
    Combinator: function Combinator(t0, t1) {
      this._combinator$_text = t0;
      this._name = t1;
    },
    ComplexSelector$(leadingCombinators, components, span, lineBreak) {
      var t1 = A.List_List$unmodifiable(leadingCombinators, type$.CssValue_Combinator),
        t2 = A.List_List$unmodifiable(components, type$.ComplexSelectorComponent);
      if (t1.length === 0 && t2.length === 0)
        A.throwExpression(A.ArgumentError$(string$.leadin, null));
      return new A.ComplexSelector(t1, t2, lineBreak, span);
    },
    ComplexSelector: function ComplexSelector(t0, t1, t2, t3) {
      var _ = this;
      _.leadingCombinators = t0;
      _.components = t1;
      _.lineBreak = t2;
      _.__ComplexSelector_specificity_FI = $;
      _.span = t3;
    },
    ComplexSelector_specificity_closure: function ComplexSelector_specificity_closure() {
    },
    ComplexSelectorComponent: function ComplexSelectorComponent(t0, t1, t2) {
      this.selector = t0;
      this.combinators = t1;
      this.span = t2;
    },
    ComplexSelectorComponent_toString_closure: function ComplexSelectorComponent_toString_closure() {
    },
    CompoundSelector$(components, span) {
      var t1 = A.List_List$unmodifiable(components, type$.SimpleSelector);
      if (t1.length === 0)
        A.throwExpression(A.ArgumentError$("components may not be empty.", null));
      return new A.CompoundSelector(t1, span);
    },
    CompoundSelector: function CompoundSelector(t0, t1) {
      var _ = this;
      _.components = t0;
      _.__CompoundSelector_hasComplicatedSuperselectorSemantics_FI = _.__CompoundSelector_specificity_FI = $;
      _.span = t1;
    },
    CompoundSelector_specificity_closure: function CompoundSelector_specificity_closure() {
    },
    CompoundSelector_hasComplicatedSuperselectorSemantics_closure: function CompoundSelector_hasComplicatedSuperselectorSemantics_closure() {
    },
    IDSelector: function IDSelector(t0, t1) {
      this.name = t0;
      this.span = t1;
    },
    IDSelector_unify_closure: function IDSelector_unify_closure(t0) {
      this.$this = t0;
    },
    SelectorList$(components, span) {
      var t1 = A.List_List$unmodifiable(components, type$.ComplexSelector);
      if (t1.length === 0)
        A.throwExpression(A.ArgumentError$("components may not be empty.", null));
      return new A.SelectorList(t1, span);
    },
    SelectorList_SelectorList$parse(contents, allowParent, interpolationMap, logger, plainCss) {
      return A.SelectorParser$(contents, allowParent, interpolationMap, logger, plainCss, null).parse$0();
    },
    SelectorList: function SelectorList(t0, t1) {
      this.components = t0;
      this.span = t1;
    },
    SelectorList_asSassList_closure: function SelectorList_asSassList_closure() {
    },
    SelectorList_nestWithin_closure: function SelectorList_nestWithin_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.preserveParentSelectors = t1;
      _.implicitParent = t2;
      _.parent = t3;
    },
    SelectorList_nestWithin__closure: function SelectorList_nestWithin__closure(t0) {
      this.complex = t0;
    },
    SelectorList_nestWithin__closure0: function SelectorList_nestWithin__closure0(t0) {
      this.complex = t0;
    },
    SelectorList__nestWithinCompound_closure: function SelectorList__nestWithinCompound_closure() {
    },
    SelectorList__nestWithinCompound_closure0: function SelectorList__nestWithinCompound_closure0(t0) {
      this.parent = t0;
    },
    SelectorList__nestWithinCompound_closure1: function SelectorList__nestWithinCompound_closure1(t0, t1, t2) {
      this.parentSelector = t0;
      this.resolvedSimples = t1;
      this.component = t2;
    },
    SelectorList_withAdditionalCombinators_closure: function SelectorList_withAdditionalCombinators_closure(t0) {
      this.combinators = t0;
    },
    _ParentSelectorVisitor: function _ParentSelectorVisitor() {
    },
    __ParentSelectorVisitor_Object_SelectorSearchVisitor: function __ParentSelectorVisitor_Object_SelectorSearchVisitor() {
    },
    ParentSelector: function ParentSelector(t0, t1) {
      this.suffix = t0;
      this.span = t1;
    },
    PlaceholderSelector: function PlaceholderSelector(t0, t1) {
      this.name = t0;
      this.span = t1;
    },
    PseudoSelector$($name, span, argument, element, selector) {
      var t1 = !element,
        t2 = t1 && !A.PseudoSelector__isFakePseudoElement($name);
      return new A.PseudoSelector($name, A.unvendor($name), t2, t1, argument, selector, span);
    },
    PseudoSelector__isFakePseudoElement($name) {
      switch ($name.charCodeAt(0)) {
        case 97:
        case 65:
          return A.equalsIgnoreCase($name, "after");
        case 98:
        case 66:
          return A.equalsIgnoreCase($name, "before");
        case 102:
        case 70:
          return A.equalsIgnoreCase($name, "first-line") || A.equalsIgnoreCase($name, "first-letter");
        default:
          return false;
      }
    },
    PseudoSelector: function PseudoSelector(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.name = t0;
      _.normalizedName = t1;
      _.isClass = t2;
      _.isSyntacticClass = t3;
      _.argument = t4;
      _.selector = t5;
      _.__PseudoSelector_specificity_FI = $;
      _.span = t6;
    },
    PseudoSelector_specificity_closure: function PseudoSelector_specificity_closure(t0) {
      this.$this = t0;
    },
    PseudoSelector_specificity__closure: function PseudoSelector_specificity__closure() {
    },
    PseudoSelector_specificity__closure0: function PseudoSelector_specificity__closure0() {
    },
    PseudoSelector_unify_closure: function PseudoSelector_unify_closure() {
    },
    QualifiedName: function QualifiedName(t0, t1) {
      this.name = t0;
      this.namespace = t1;
    },
    SimpleSelector: function SimpleSelector() {
    },
    SimpleSelector_isSuperselector_closure: function SimpleSelector_isSuperselector_closure(t0) {
      this.$this = t0;
    },
    SimpleSelector_isSuperselector__closure: function SimpleSelector_isSuperselector__closure(t0) {
      this.$this = t0;
    },
    TypeSelector: function TypeSelector(t0, t1) {
      this.name = t0;
      this.span = t1;
    },
    UniversalSelector: function UniversalSelector(t0, t1) {
      this.namespace = t0;
      this.span = t1;
    },
    compileAsync(path, charset, fatalDeprecations, futureDeprecations, importCache, logger, quietDeps, silenceDeprecations, sourceMap, style, syntax, verbose) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CompileResult),
        $async$returnValue, t3, t0, stylesheet, result, t1, t2;
      var $async$compileAsync = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.Deprecation;
              t2 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              t2.addAll$1(0, silenceDeprecations);
              t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              t3.addAll$1(0, fatalDeprecations);
              t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              t1.addAll$1(0, futureDeprecations);
              logger = A.DeprecationProcessingLogger$(logger, t3, t1, !verbose, t2);
              t1 = syntax === A.Syntax_forPath(path);
              $async$goto = t1 ? 3 : 5;
              break;
            case 3:
              // then
              t1 = $.$get$FilesystemImporter_cwd();
              t2 = A.isNodeJs() ? self.process : null;
              if (!J.$eq$(t2 == null ? null : J.get$platform$x(t2), "win32")) {
                t2 = A.isNodeJs() ? self.process : null;
                t2 = J.$eq$(t2 == null ? null : J.get$platform$x(t2), "darwin");
              } else
                t2 = true;
              if (t2) {
                t2 = $.$get$context();
                t3 = A._realCasePath(A.absolute(t2.normalize$1(path), null, null, null, null, null, null, null, null, null, null, null, null, null, null));
                t0 = t3;
                t3 = t2;
                t2 = t0;
              } else {
                t2 = $.$get$context();
                t3 = t2.canonicalize$1(0, path);
                t0 = t3;
                t3 = t2;
                t2 = t0;
              }
              $async$goto = 6;
              return A._asyncAwait(importCache.importCanonical$3$originalUrl(t1, t3.toUri$1(t2), t3.toUri$1(path)), $async$compileAsync);
            case 6:
              // returning from await.
              t3 = $async$result;
              t3.toString;
              stylesheet = t3;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              t1 = A.readFile(path);
              stylesheet = A.Stylesheet_Stylesheet$parse(t1, syntax, logger, $.$get$context().toUri$1(path));
            case 4:
              // join
              $async$goto = 7;
              return A._asyncAwait(A._compileStylesheet0(stylesheet, logger, importCache, null, $.$get$FilesystemImporter_cwd(), null, style, true, null, null, quietDeps, sourceMap, charset), $async$compileAsync);
            case 7:
              // returning from await.
              result = $async$result;
              logger.summarize$1$js(false);
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$compileAsync, $async$completer);
    },
    compileStringAsync(source, charset, fatalDeprecations, futureDeprecations, importCache, importer, logger, quietDeps, silenceDeprecations, sourceMap, style, syntax, verbose) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CompileResult),
        $async$returnValue, t3, stylesheet, result, t1, t2;
      var $async$compileStringAsync = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.Deprecation;
              t2 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              t2.addAll$1(0, silenceDeprecations);
              t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              t3.addAll$1(0, fatalDeprecations);
              t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              t1.addAll$1(0, futureDeprecations);
              logger = A.DeprecationProcessingLogger$(logger, t3, t1, !verbose, t2);
              stylesheet = A.Stylesheet_Stylesheet$parse(source, syntax, logger, null);
              $async$goto = 3;
              return A._asyncAwait(A._compileStylesheet0(stylesheet, logger, importCache, null, importer, null, style, true, null, null, quietDeps, sourceMap, charset), $async$compileStringAsync);
            case 3:
              // returning from await.
              result = $async$result;
              logger.summarize$1$js(false);
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$compileStringAsync, $async$completer);
    },
    _compileStylesheet0(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, quietDeps, sourceMap, charset) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CompileResult),
        $async$returnValue, serializeResult, resultSourceMap, $async$temp1;
      var $async$_compileStylesheet0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = A;
              $async$goto = 3;
              return A._asyncAwait(A._EvaluateVisitor$0(functions, importCache, logger, nodeImporter, quietDeps, sourceMap).run$2(0, importer, stylesheet), $async$_compileStylesheet0);
            case 3:
              // returning from await.
              serializeResult = $async$temp1.serialize($async$result._1, charset, indentWidth, false, lineFeed, sourceMap, style, true);
              resultSourceMap = serializeResult._1;
              if (resultSourceMap != null)
                A.mapInPlace(resultSourceMap.urls, new A._compileStylesheet_closure0(stylesheet, importCache));
              $async$returnValue = new A.CompileResult(serializeResult);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_compileStylesheet0, $async$completer);
    },
    _compileStylesheet_closure0: function _compileStylesheet_closure0(t0, t1) {
      this.stylesheet = t0;
      this.importCache = t1;
    },
    AsyncEnvironment$() {
      var t1 = type$.String,
        t2 = type$.Module_AsyncCallable,
        t3 = type$.AstNode,
        t4 = type$.int,
        t5 = type$.AsyncCallable,
        t6 = type$.JSArray_Map_String_AsyncCallable;
      return new A.AsyncEnvironment(A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t3), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), null, null, A._setArrayType([], type$.JSArray_Module_AsyncCallable), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Value)], type$.JSArray_Map_String_Value), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, t3)], type$.JSArray_Map_String_AstNode), A.LinkedHashMap_LinkedHashMap$_empty(t1, t4), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, t5)], t6), A.LinkedHashMap_LinkedHashMap$_empty(t1, t4), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, t5)], t6), A.LinkedHashMap_LinkedHashMap$_empty(t1, t4), null);
    },
    AsyncEnvironment$_(_modules, _namespaceNodes, _globalModules, _importedModules, _forwardedModules, _nestedForwardedModules, _allModules, _variables, _variableNodes, _functions, _mixins, _content) {
      var t1 = type$.String,
        t2 = type$.int;
      return new A.AsyncEnvironment(_modules, _namespaceNodes, _globalModules, _importedModules, _forwardedModules, _nestedForwardedModules, _allModules, _variables, _variableNodes, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _functions, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _mixins, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _content);
    },
    _EnvironmentModule__EnvironmentModule0(environment, css, preModuleComments, extensionStore, forwarded) {
      var t1, t2, t3, t4, t5, t6, module, result, t7;
      if (forwarded == null)
        forwarded = B.Set_empty2;
      t1 = type$.dynamic;
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t2 = type$.Module_AsyncCallable, t3 = type$.List_CssComment, t4 = A.MapExtensions_get_pairs(preModuleComments, t2, t3), t4 = t4.get$iterator(t4), t5 = type$.CssComment; t4.moveNext$0();) {
        t6 = t4.get$current(t4);
        module = t6._0;
        result = A.List_List$from(t6._1, false, t5);
        result.fixed$length = Array;
        result.immutable$list = Array;
        t1.$indexSet(0, module, result);
      }
      t1 = A.ConstantMap_ConstantMap$from(t1, t2, t3);
      t2 = A._EnvironmentModule__makeModulesByVariable0(forwarded);
      t3 = A._EnvironmentModule__memberMap0(B.JSArray_methods.get$first(environment._async_environment$_variables), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure5(), type$.Map_String_Value), type$.Value);
      t4 = A._EnvironmentModule__memberMap0(B.JSArray_methods.get$first(environment._async_environment$_variableNodes), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure6(), type$.Map_String_AstNode), type$.AstNode);
      t5 = type$.Map_String_AsyncCallable;
      t6 = type$.AsyncCallable;
      t7 = A._EnvironmentModule__memberMap0(B.JSArray_methods.get$first(environment._async_environment$_functions), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure7(), t5), t6);
      t6 = A._EnvironmentModule__memberMap0(B.JSArray_methods.get$first(environment._async_environment$_mixins), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure8(), t5), t6);
      t5 = J.get$isNotEmpty$asx(css.get$children(css)) || preModuleComments.get$isNotEmpty(preModuleComments) || B.JSArray_methods.any$1(environment._async_environment$_allModules, new A._EnvironmentModule__EnvironmentModule_closure9());
      return A._EnvironmentModule$_0(environment, css, t1, extensionStore, t2, t3, t4, t7, t6, t5, !extensionStore.get$isEmpty(extensionStore) || B.JSArray_methods.any$1(environment._async_environment$_allModules, new A._EnvironmentModule__EnvironmentModule_closure10()));
    },
    _EnvironmentModule__makeModulesByVariable0(forwarded) {
      var modulesByVariable, t1, t2, t3, t4, t5;
      if (forwarded.get$isEmpty(forwarded))
        return B.Map_empty8;
      modulesByVariable = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Module_AsyncCallable);
      for (t1 = forwarded.get$iterator(forwarded); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (t2 instanceof A._EnvironmentModule0) {
          for (t3 = t2._async_environment$_modulesByVariable, t3 = t3.get$values(t3), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
            t4 = t3.get$current(t3);
            t5 = t4.get$variables();
            A.setAll(modulesByVariable, t5.get$keys(t5), t4);
          }
          A.setAll(modulesByVariable, J.get$keys$z(B.JSArray_methods.get$first(t2._async_environment$_environment._async_environment$_variables)), t2);
        } else {
          t3 = t2.get$variables();
          A.setAll(modulesByVariable, t3.get$keys(t3), t2);
        }
      }
      return modulesByVariable;
    },
    _EnvironmentModule__memberMap0(localMap, otherMaps, $V) {
      var t1, t2, t3;
      localMap = new A.PublicMemberMapView(localMap, $V._eval$1("PublicMemberMapView<0>"));
      if (otherMaps.get$isEmpty(otherMaps))
        return localMap;
      t1 = A._setArrayType([], $V._eval$1("JSArray>"));
      for (t2 = otherMaps.get$iterator(otherMaps); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        if (t3.get$isNotEmpty(t3))
          t1.push(t3);
      }
      t1.push(localMap);
      if (t1.length === 1)
        return localMap;
      return A.MergedMapView$(t1, type$.String, $V);
    },
    _EnvironmentModule$_0(_environment, css, preModuleComments, extensionStore, _modulesByVariable, variables, variableNodes, functions, mixins, transitivelyContainsCss, transitivelyContainsExtensions) {
      return new A._EnvironmentModule0(_environment._async_environment$_allModules, variables, variableNodes, functions, mixins, extensionStore, css, preModuleComments, transitivelyContainsCss, transitivelyContainsExtensions, _environment, _modulesByVariable);
    },
    AsyncEnvironment: function AsyncEnvironment(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._async_environment$_modules = t0;
      _._async_environment$_namespaceNodes = t1;
      _._async_environment$_globalModules = t2;
      _._async_environment$_importedModules = t3;
      _._async_environment$_forwardedModules = t4;
      _._async_environment$_nestedForwardedModules = t5;
      _._async_environment$_allModules = t6;
      _._async_environment$_variables = t7;
      _._async_environment$_variableNodes = t8;
      _._async_environment$_variableIndices = t9;
      _._async_environment$_functions = t10;
      _._async_environment$_functionIndices = t11;
      _._async_environment$_mixins = t12;
      _._async_environment$_mixinIndices = t13;
      _._async_environment$_content = t14;
      _._async_environment$_inMixin = false;
      _._async_environment$_inSemiGlobalScope = true;
      _._async_environment$_lastVariableIndex = _._async_environment$_lastVariableName = null;
    },
    AsyncEnvironment__getVariableFromGlobalModule_closure: function AsyncEnvironment__getVariableFromGlobalModule_closure(t0) {
      this.name = t0;
    },
    AsyncEnvironment_setVariable_closure: function AsyncEnvironment_setVariable_closure(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    AsyncEnvironment_setVariable_closure0: function AsyncEnvironment_setVariable_closure0(t0) {
      this.name = t0;
    },
    AsyncEnvironment_setVariable_closure1: function AsyncEnvironment_setVariable_closure1(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    AsyncEnvironment__getFunctionFromGlobalModule_closure: function AsyncEnvironment__getFunctionFromGlobalModule_closure(t0) {
      this.name = t0;
    },
    AsyncEnvironment__getMixinFromGlobalModule_closure: function AsyncEnvironment__getMixinFromGlobalModule_closure(t0) {
      this.name = t0;
    },
    AsyncEnvironment_toModule_closure: function AsyncEnvironment_toModule_closure() {
    },
    AsyncEnvironment_toDummyModule_closure: function AsyncEnvironment_toDummyModule_closure() {
    },
    _EnvironmentModule0: function _EnvironmentModule0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.upstream = t0;
      _.variables = t1;
      _.variableNodes = t2;
      _.functions = t3;
      _.mixins = t4;
      _.extensionStore = t5;
      _.css = t6;
      _.preModuleComments = t7;
      _.transitivelyContainsCss = t8;
      _.transitivelyContainsExtensions = t9;
      _._async_environment$_environment = t10;
      _._async_environment$_modulesByVariable = t11;
    },
    _EnvironmentModule__EnvironmentModule_closure5: function _EnvironmentModule__EnvironmentModule_closure5() {
    },
    _EnvironmentModule__EnvironmentModule_closure6: function _EnvironmentModule__EnvironmentModule_closure6() {
    },
    _EnvironmentModule__EnvironmentModule_closure7: function _EnvironmentModule__EnvironmentModule_closure7() {
    },
    _EnvironmentModule__EnvironmentModule_closure8: function _EnvironmentModule__EnvironmentModule_closure8() {
    },
    _EnvironmentModule__EnvironmentModule_closure9: function _EnvironmentModule__EnvironmentModule_closure9() {
    },
    _EnvironmentModule__EnvironmentModule_closure10: function _EnvironmentModule__EnvironmentModule_closure10() {
    },
    AsyncImportCache__toImporters(importers, loadPaths, packageConfig) {
      var t1, t2, t3, t4, _i, path, _null = null,
        sassPath = A.getEnvironmentVariable("SASS_PATH");
      if (A.isBrowser()) {
        t1 = A._setArrayType([], type$.JSArray_AsyncImporter_2);
        B.JSArray_methods.addAll$1(t1, importers);
        return t1;
      }
      t1 = A._setArrayType([], type$.JSArray_AsyncImporter_2);
      B.JSArray_methods.addAll$1(t1, importers);
      for (t2 = J.get$iterator$ax(loadPaths); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.push(new A.FilesystemImporter($.$get$context().absolute$15(t3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false));
      }
      if (sassPath != null) {
        t2 = A.isNodeJs() ? self.process : _null;
        t3 = sassPath.split(J.$eq$(t2 == null ? _null : J.get$platform$x(t2), "win32") ? ";" : ":");
        t4 = t3.length;
        _i = 0;
        for (; _i < t4; ++_i) {
          path = t3[_i];
          t1.push(new A.FilesystemImporter($.$get$context().absolute$15(path, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false));
        }
      }
      return t1;
    },
    AsyncImportCache: function AsyncImportCache(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._async_import_cache$_importers = t0;
      _._async_import_cache$_logger = t1;
      _._async_import_cache$_canonicalizeCache = t2;
      _._async_import_cache$_perImporterCanonicalizeCache = t3;
      _._async_import_cache$_nonCanonicalRelativeUrls = t4;
      _._async_import_cache$_importCache = t5;
      _._async_import_cache$_resultsCache = t6;
    },
    AsyncImportCache_canonicalize_closure: function AsyncImportCache_canonicalize_closure(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.baseImporter = t1;
      _.resolvedUrl = t2;
      _.baseUrl = t3;
      _.forImport = t4;
      _.key = t5;
      _.url = t6;
    },
    AsyncImportCache__canonicalize_closure: function AsyncImportCache__canonicalize_closure(t0, t1) {
      this.importer = t0;
      this.url = t1;
    },
    AsyncImportCache_importCanonical_closure: function AsyncImportCache_importCanonical_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.importer = t1;
      _.canonicalUrl = t2;
      _.originalUrl = t3;
      _.quiet = t4;
    },
    AsyncImportCache_humanize_closure: function AsyncImportCache_humanize_closure(t0) {
      this.canonicalUrl = t0;
    },
    AsyncImportCache_humanize_closure0: function AsyncImportCache_humanize_closure0() {
    },
    AsyncImportCache_humanize_closure1: function AsyncImportCache_humanize_closure1() {
    },
    AsyncImportCache_humanize_closure2: function AsyncImportCache_humanize_closure2(t0) {
      this.canonicalUrl = t0;
    },
    AsyncBuiltInCallable$mixin($name, $arguments, callback, acceptsContent, url) {
      return new A.AsyncBuiltInCallable($name, A.ScssParser$("@mixin " + $name + "(" + $arguments + ") {", null, url).parseArgumentDeclaration$0(), new A.AsyncBuiltInCallable$mixin_closure(callback), false);
    },
    AsyncBuiltInCallable: function AsyncBuiltInCallable(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _._async_built_in$_arguments = t1;
      _._async_built_in$_callback = t2;
      _.acceptsContent = t3;
    },
    AsyncBuiltInCallable$mixin_closure: function AsyncBuiltInCallable$mixin_closure(t0) {
      this.callback = t0;
    },
    BuiltInCallable$function($name, $arguments, callback, url) {
      return new A.BuiltInCallable($name, A._setArrayType([new A._Record_2(A.ScssParser$("@function " + $name + "(" + $arguments + ") {", null, url).parseArgumentDeclaration$0(), callback)], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value), false);
    },
    BuiltInCallable$mixin($name, $arguments, callback, acceptsContent, url) {
      return new A.BuiltInCallable($name, A._setArrayType([new A._Record_2(A.ScssParser$("@mixin " + $name + "(" + $arguments + ") {", null, url).parseArgumentDeclaration$0(), new A.BuiltInCallable$mixin_closure(callback))], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value), acceptsContent);
    },
    BuiltInCallable$overloadedFunction($name, overloads) {
      var t2, t3, t4, t5, t6, args, callback,
        t1 = A._setArrayType([], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value);
      for (t2 = type$.String, t3 = A.MapExtensions_get_pairs(overloads, t2, type$.Value_Function_List_Value), t3 = t3.get$iterator(t3), t4 = "@function " + $name + "(", t5 = type$.VariableDeclaration; t3.moveNext$0();) {
        t6 = t3.get$current(t3);
        args = t6._0;
        callback = t6._1;
        t6 = A.SpanScanner$(t4 + args + ") {", null);
        t1.push(new A._Record_2(new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(t2, t5), t6, B.StderrLogger_false, null).parseArgumentDeclaration$0(), callback));
      }
      return new A.BuiltInCallable($name, t1, false);
    },
    BuiltInCallable: function BuiltInCallable(t0, t1, t2) {
      this.name = t0;
      this._overloads = t1;
      this.acceptsContent = t2;
    },
    BuiltInCallable$mixin_closure: function BuiltInCallable$mixin_closure(t0) {
      this.callback = t0;
    },
    PlainCssCallable: function PlainCssCallable(t0) {
      this.name = t0;
    },
    UserDefinedCallable: function UserDefinedCallable(t0, t1, t2, t3) {
      var _ = this;
      _.declaration = t0;
      _.environment = t1;
      _.inDependency = t2;
      _.$ti = t3;
    },
    _compileStylesheet(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, quietDeps, sourceMap, charset) {
      var serializeResult = A.serialize(A._EvaluateVisitor$(functions, importCache, logger, nodeImporter, quietDeps, sourceMap).run$2(0, importer, stylesheet)._1, charset, indentWidth, false, lineFeed, sourceMap, style, true),
        resultSourceMap = serializeResult._1;
      if (resultSourceMap != null)
        A.mapInPlace(resultSourceMap.urls, new A._compileStylesheet_closure(stylesheet, importCache));
      return new A.CompileResult(serializeResult);
    },
    _compileStylesheet_closure: function _compileStylesheet_closure(t0, t1) {
      this.stylesheet = t0;
      this.importCache = t1;
    },
    CompileResult: function CompileResult(t0) {
      this._serialize = t0;
    },
    Configuration: function Configuration(t0, t1) {
      this._configuration$_values = t0;
      this.__originalConfiguration = t1;
    },
    ExplicitConfiguration: function ExplicitConfiguration(t0, t1, t2) {
      this.nodeWithSpan = t0;
      this._configuration$_values = t1;
      this.__originalConfiguration = t2;
    },
    ConfiguredValue: function ConfiguredValue(t0, t1, t2) {
      this.value = t0;
      this.configurationSpan = t1;
      this.assignmentNode = t2;
    },
    Deprecation_fromId(id) {
      return A.IterableExtension_firstWhereOrNull(B.List_Yb0, new A.Deprecation_fromId_closure(id));
    },
    Deprecation_forVersion(version) {
      var t2, _i, deprecation, $self, t3,
        t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.Deprecation);
      for (t2 = A.VersionRange_VersionRange(true, version).get$allows(), _i = 0; _i < 19; ++_i) {
        deprecation = B.List_Yb0[_i];
        $self = deprecation._deprecatedIn;
        t3 = $self == null ? null : A.Version___parse_tearOff($self);
        t3 = t3 == null ? null : t2.call$1(t3);
        if (t3 == null ? false : t3)
          t1.add$1(0, deprecation);
      }
      return t1;
    },
    Deprecation: function Deprecation(t0, t1, t2, t3) {
      var _ = this;
      _.id = t0;
      _._deprecatedIn = t1;
      _.isFuture = t2;
      _._name = t3;
    },
    Deprecation_fromId_closure: function Deprecation_fromId_closure(t0) {
      this.id = t0;
    },
    Environment$() {
      var t1 = type$.String,
        t2 = type$.Module_Callable,
        t3 = type$.AstNode,
        t4 = type$.int,
        t5 = type$.Callable,
        t6 = type$.JSArray_Map_String_Callable;
      return new A.Environment(A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t3), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), null, null, A._setArrayType([], type$.JSArray_Module_Callable), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Value)], type$.JSArray_Map_String_Value), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, t3)], type$.JSArray_Map_String_AstNode), A.LinkedHashMap_LinkedHashMap$_empty(t1, t4), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, t5)], t6), A.LinkedHashMap_LinkedHashMap$_empty(t1, t4), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, t5)], t6), A.LinkedHashMap_LinkedHashMap$_empty(t1, t4), null);
    },
    Environment$_(_modules, _namespaceNodes, _globalModules, _importedModules, _forwardedModules, _nestedForwardedModules, _allModules, _variables, _variableNodes, _functions, _mixins, _content) {
      var t1 = type$.String,
        t2 = type$.int;
      return new A.Environment(_modules, _namespaceNodes, _globalModules, _importedModules, _forwardedModules, _nestedForwardedModules, _allModules, _variables, _variableNodes, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _functions, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _mixins, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _content);
    },
    _EnvironmentModule__EnvironmentModule(environment, css, preModuleComments, extensionStore, forwarded) {
      var t1, t2, t3, t4, t5, t6, module, result, t7;
      if (forwarded == null)
        forwarded = B.Set_empty0;
      t1 = type$.dynamic;
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t2 = type$.Module_Callable, t3 = type$.List_CssComment, t4 = A.MapExtensions_get_pairs(preModuleComments, t2, t3), t4 = t4.get$iterator(t4), t5 = type$.CssComment; t4.moveNext$0();) {
        t6 = t4.get$current(t4);
        module = t6._0;
        result = A.List_List$from(t6._1, false, t5);
        result.fixed$length = Array;
        result.immutable$list = Array;
        t1.$indexSet(0, module, result);
      }
      t1 = A.ConstantMap_ConstantMap$from(t1, t2, t3);
      t2 = A._EnvironmentModule__makeModulesByVariable(forwarded);
      t3 = A._EnvironmentModule__memberMap(B.JSArray_methods.get$first(environment._variables), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure(), type$.Map_String_Value), type$.Value);
      t4 = A._EnvironmentModule__memberMap(B.JSArray_methods.get$first(environment._variableNodes), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure0(), type$.Map_String_AstNode), type$.AstNode);
      t5 = type$.Map_String_Callable;
      t6 = type$.Callable;
      t7 = A._EnvironmentModule__memberMap(B.JSArray_methods.get$first(environment._functions), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure1(), t5), t6);
      t6 = A._EnvironmentModule__memberMap(B.JSArray_methods.get$first(environment._mixins), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure2(), t5), t6);
      t5 = J.get$isNotEmpty$asx(css.get$children(css)) || preModuleComments.get$isNotEmpty(preModuleComments) || B.JSArray_methods.any$1(environment._allModules, new A._EnvironmentModule__EnvironmentModule_closure3());
      return A._EnvironmentModule$_(environment, css, t1, extensionStore, t2, t3, t4, t7, t6, t5, !extensionStore.get$isEmpty(extensionStore) || B.JSArray_methods.any$1(environment._allModules, new A._EnvironmentModule__EnvironmentModule_closure4()));
    },
    _EnvironmentModule__makeModulesByVariable(forwarded) {
      var modulesByVariable, t1, t2, t3, t4, t5;
      if (forwarded.get$isEmpty(forwarded))
        return B.Map_empty1;
      modulesByVariable = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Module_Callable);
      for (t1 = forwarded.get$iterator(forwarded); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (t2 instanceof A._EnvironmentModule) {
          for (t3 = t2._modulesByVariable, t3 = t3.get$values(t3), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
            t4 = t3.get$current(t3);
            t5 = t4.get$variables();
            A.setAll(modulesByVariable, t5.get$keys(t5), t4);
          }
          A.setAll(modulesByVariable, J.get$keys$z(B.JSArray_methods.get$first(t2._environment$_environment._variables)), t2);
        } else {
          t3 = t2.get$variables();
          A.setAll(modulesByVariable, t3.get$keys(t3), t2);
        }
      }
      return modulesByVariable;
    },
    _EnvironmentModule__memberMap(localMap, otherMaps, $V) {
      var t1, t2, t3;
      localMap = new A.PublicMemberMapView(localMap, $V._eval$1("PublicMemberMapView<0>"));
      if (otherMaps.get$isEmpty(otherMaps))
        return localMap;
      t1 = A._setArrayType([], $V._eval$1("JSArray>"));
      for (t2 = otherMaps.get$iterator(otherMaps); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        if (t3.get$isNotEmpty(t3))
          t1.push(t3);
      }
      t1.push(localMap);
      if (t1.length === 1)
        return localMap;
      return A.MergedMapView$(t1, type$.String, $V);
    },
    _EnvironmentModule$_(_environment, css, preModuleComments, extensionStore, _modulesByVariable, variables, variableNodes, functions, mixins, transitivelyContainsCss, transitivelyContainsExtensions) {
      return new A._EnvironmentModule(_environment._allModules, variables, variableNodes, functions, mixins, extensionStore, css, preModuleComments, transitivelyContainsCss, transitivelyContainsExtensions, _environment, _modulesByVariable);
    },
    Environment: function Environment(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._environment$_modules = t0;
      _._namespaceNodes = t1;
      _._globalModules = t2;
      _._importedModules = t3;
      _._forwardedModules = t4;
      _._nestedForwardedModules = t5;
      _._allModules = t6;
      _._variables = t7;
      _._variableNodes = t8;
      _._variableIndices = t9;
      _._functions = t10;
      _._functionIndices = t11;
      _._mixins = t12;
      _._mixinIndices = t13;
      _._content = t14;
      _._inMixin = false;
      _._inSemiGlobalScope = true;
      _._lastVariableIndex = _._lastVariableName = null;
    },
    Environment__getVariableFromGlobalModule_closure: function Environment__getVariableFromGlobalModule_closure(t0) {
      this.name = t0;
    },
    Environment_setVariable_closure: function Environment_setVariable_closure(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    Environment_setVariable_closure0: function Environment_setVariable_closure0(t0) {
      this.name = t0;
    },
    Environment_setVariable_closure1: function Environment_setVariable_closure1(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    Environment__getFunctionFromGlobalModule_closure: function Environment__getFunctionFromGlobalModule_closure(t0) {
      this.name = t0;
    },
    Environment__getMixinFromGlobalModule_closure: function Environment__getMixinFromGlobalModule_closure(t0) {
      this.name = t0;
    },
    Environment_toModule_closure: function Environment_toModule_closure() {
    },
    Environment_toDummyModule_closure: function Environment_toDummyModule_closure() {
    },
    _EnvironmentModule: function _EnvironmentModule(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.upstream = t0;
      _.variables = t1;
      _.variableNodes = t2;
      _.functions = t3;
      _.mixins = t4;
      _.extensionStore = t5;
      _.css = t6;
      _.preModuleComments = t7;
      _.transitivelyContainsCss = t8;
      _.transitivelyContainsExtensions = t9;
      _._environment$_environment = t10;
      _._modulesByVariable = t11;
    },
    _EnvironmentModule__EnvironmentModule_closure: function _EnvironmentModule__EnvironmentModule_closure() {
    },
    _EnvironmentModule__EnvironmentModule_closure0: function _EnvironmentModule__EnvironmentModule_closure0() {
    },
    _EnvironmentModule__EnvironmentModule_closure1: function _EnvironmentModule__EnvironmentModule_closure1() {
    },
    _EnvironmentModule__EnvironmentModule_closure2: function _EnvironmentModule__EnvironmentModule_closure2() {
    },
    _EnvironmentModule__EnvironmentModule_closure3: function _EnvironmentModule__EnvironmentModule_closure3() {
    },
    _EnvironmentModule__EnvironmentModule_closure4: function _EnvironmentModule__EnvironmentModule_closure4() {
    },
    SassException$(message, span, loadedUrls) {
      return new A.SassException(loadedUrls == null ? B.Set_empty : A.Set_Set$unmodifiable(loadedUrls, type$.Uri), message, span);
    },
    MultiSpanSassException$(message, span, primaryLabel, secondarySpans, loadedUrls) {
      var t1 = A.ConstantMap_ConstantMap$from(secondarySpans, type$.FileSpan, type$.String);
      return new A.MultiSpanSassException(primaryLabel, t1, loadedUrls == null ? B.Set_empty : A.Set_Set$unmodifiable(loadedUrls, type$.Uri), message, span);
    },
    SassRuntimeException$(message, span, trace, loadedUrls) {
      return new A.SassRuntimeException(trace, loadedUrls == null ? B.Set_empty : A.Set_Set$unmodifiable(loadedUrls, type$.Uri), message, span);
    },
    MultiSpanSassRuntimeException$(message, span, primaryLabel, secondarySpans, trace, loadedUrls) {
      var t1 = A.ConstantMap_ConstantMap$from(secondarySpans, type$.FileSpan, type$.String);
      return new A.MultiSpanSassRuntimeException(trace, primaryLabel, t1, loadedUrls == null ? B.Set_empty : A.Set_Set$unmodifiable(loadedUrls, type$.Uri), message, span);
    },
    SassFormatException$(message, span, loadedUrls) {
      return new A.SassFormatException(loadedUrls == null ? B.Set_empty : A.Set_Set$unmodifiable(loadedUrls, type$.Uri), message, span);
    },
    MultiSpanSassFormatException$(message, span, primaryLabel, secondarySpans, loadedUrls) {
      var t1 = A.ConstantMap_ConstantMap$from(secondarySpans, type$.FileSpan, type$.String);
      return new A.MultiSpanSassFormatException(primaryLabel, t1, loadedUrls == null ? B.Set_empty : A.Set_Set$unmodifiable(loadedUrls, type$.Uri), message, span);
    },
    SassScriptException$(message, argumentName) {
      return new A.SassScriptException(argumentName == null ? message : "$" + argumentName + ": " + message);
    },
    MultiSpanSassScriptException$(message, primaryLabel, secondarySpans) {
      var t1 = A.ConstantMap_ConstantMap$from(secondarySpans, type$.FileSpan, type$.String);
      return new A.MultiSpanSassScriptException(primaryLabel, t1, message);
    },
    SassException: function SassException(t0, t1, t2) {
      this.loadedUrls = t0;
      this._span_exception$_message = t1;
      this._span = t2;
    },
    MultiSpanSassException: function MultiSpanSassException(t0, t1, t2, t3, t4) {
      var _ = this;
      _.primaryLabel = t0;
      _.secondarySpans = t1;
      _.loadedUrls = t2;
      _._span_exception$_message = t3;
      _._span = t4;
    },
    SassRuntimeException: function SassRuntimeException(t0, t1, t2, t3) {
      var _ = this;
      _.trace = t0;
      _.loadedUrls = t1;
      _._span_exception$_message = t2;
      _._span = t3;
    },
    MultiSpanSassRuntimeException: function MultiSpanSassRuntimeException(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.trace = t0;
      _.primaryLabel = t1;
      _.secondarySpans = t2;
      _.loadedUrls = t3;
      _._span_exception$_message = t4;
      _._span = t5;
    },
    SassFormatException: function SassFormatException(t0, t1, t2) {
      this.loadedUrls = t0;
      this._span_exception$_message = t1;
      this._span = t2;
    },
    MultiSpanSassFormatException: function MultiSpanSassFormatException(t0, t1, t2, t3, t4) {
      var _ = this;
      _.primaryLabel = t0;
      _.secondarySpans = t1;
      _.loadedUrls = t2;
      _._span_exception$_message = t3;
      _._span = t4;
    },
    SassScriptException: function SassScriptException(t0) {
      this.message = t0;
    },
    MultiSpanSassScriptException: function MultiSpanSassScriptException(t0, t1, t2) {
      this.primaryLabel = t0;
      this.secondarySpans = t1;
      this.message = t2;
    },
    compileStylesheet(options, graph, source, destination, ifModified) {
      return A.compileStylesheet$body(options, graph, source, destination, ifModified);
    },
    compileStylesheet$body(options, graph, source, destination, ifModified) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Record_3_int_and_String_and_nullable_String),
        $async$returnValue, $async$handler = 2, $async$currentError, error, stackTrace, message, error0, stackTrace0, path, message0, exception, t1, $async$exception;
      var $async$compileStylesheet = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(A._compileStylesheetWithoutErrorHandling(options, graph, source, destination, ifModified), $async$compileStylesheet);
            case 7:
              // returning from await.
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.SassException) {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                if (destination != null && !options.get$emitErrorCss())
                  A._tryDelete(destination);
                message = J.toString$1$color$(error, options.get$color());
                if (A._asBool(options._options.$index(0, "trace"))) {
                  t1 = A.getTrace(error);
                  if (t1 == null)
                    t1 = stackTrace;
                } else
                  t1 = null;
                $async$returnValue = A._getErrorWithStackTrace(65, message, t1);
                // goto return
                $async$goto = 1;
                break;
              } else if (t1 instanceof A.FileSystemException) {
                error0 = t1;
                stackTrace0 = A.getTraceFromException($async$exception);
                path = error0.path;
                message0 = path == null ? error0.message : "Error reading " + $.$get$context().relative$2$from(path, null) + ": " + error0.message + ".";
                if (A._asBool(options._options.$index(0, "trace"))) {
                  t1 = A.getTrace(error0);
                  if (t1 == null)
                    t1 = stackTrace0;
                } else
                  t1 = null;
                $async$returnValue = A._getErrorWithStackTrace(66, message0, t1);
                // goto return
                $async$goto = 1;
                break;
              } else
                throw $async$exception;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              $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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$compileStylesheet, $async$completer);
    },
    _compileStylesheetWithoutErrorHandling(options, graph, source, destination, ifModified) {
      return A._compileStylesheetWithoutErrorHandling$body(options, graph, source, destination, ifModified);
    },
    _compileStylesheetWithoutErrorHandling$body(options, graph, source, destination, ifModified) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, syntax, result, importCache, error, t1, exception, t2, t3, t4, t5, t6, t7, t8, t9, t10, result0, t11, t12, t13, t14, logger, stylesheet, t0, css, buffer, sourceName, destinationName, nowStr, timestamp, importer, $async$exception;
      var $async$_compileStylesheetWithoutErrorHandling = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              importer = $.$get$FilesystemImporter_cwd();
              if (ifModified)
                try {
                  if (source != null)
                    if (destination != null) {
                      t1 = A.absolute(source, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
                      t1 = !graph.modifiedSince$3($.$get$context().toUri$1(t1), A.modificationTime(destination), importer);
                    } else
                      t1 = false;
                  else
                    t1 = false;
                  if (t1) {
                    // goto return
                    $async$goto = 1;
                    break;
                  }
                } catch (exception) {
                  if (!(A.unwrapException(exception) instanceof A.FileSystemException))
                    throw exception;
                }
              syntax = null;
              if (A._asBoolQ(options._ifParsed$1("indented")) === true)
                syntax = B.Syntax_Sass_sass;
              else if (source != null)
                syntax = A.Syntax_forPath(source);
              else
                syntax = B.Syntax_SCSS_scss;
              result = null;
              $async$handler = 4;
              t1 = options._options;
              $async$goto = A._asBool(t1.$index(0, "async")) ? 7 : 9;
              break;
            case 7:
              // then
              t2 = options.get$pkgImporters();
              t3 = type$.List_String._as(t1.$index(0, "load-path"));
              t4 = A._asBool(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new A.StderrLogger(options.get$color());
              t5 = type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl;
              t6 = type$.Record_3_AsyncImporter_and_Uri_and_bool_forImport;
              t7 = type$.Uri;
              t3 = A.AsyncImportCache__toImporters(t2, t3, null);
              importCache = new A.AsyncImportCache(t3, t4, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t5), A.LinkedHashMap_LinkedHashMap$_empty(t6, t5), A.LinkedHashMap_LinkedHashMap$_empty(t6, t7), A.LinkedHashMap_LinkedHashMap$_empty(t7, type$.nullable_Stylesheet), A.LinkedHashMap_LinkedHashMap$_empty(t7, type$.ImporterResult));
              $async$goto = source == null ? 10 : 12;
              break;
            case 10:
              // then
              $async$goto = 13;
              return A._asyncAwait(A.readStdin(), $async$_compileStylesheetWithoutErrorHandling);
            case 13:
              // returning from await.
              t2 = $async$result;
              t3 = syntax;
              t4 = A._asBool(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new A.StderrLogger(options.get$color());
              t5 = $.$get$FilesystemImporter_cwd();
              t6 = J.$eq$(t1.$index(0, "style"), "compressed") ? B.OutputStyle_1 : B.OutputStyle_0;
              t7 = A._asBool(t1.$index(0, "quiet-deps"));
              t8 = A._asBool(t1.$index(0, "verbose"));
              t9 = options.get$emitSourceMap();
              t1 = A._asBool(t1.$index(0, "charset"));
              t10 = options.get$silenceDeprecations(0);
              $async$goto = 14;
              return A._asyncAwait(A.compileStringAsync(t2, t1, options.get$fatalDeprecations(0), options.get$futureDeprecations(0), importCache, t5, t4, t7, t10, t9, t6, t3, t8), $async$_compileStylesheetWithoutErrorHandling);
            case 14:
              // returning from await.
              result0 = $async$result;
              // goto join
              $async$goto = 11;
              break;
            case 12:
              // else
              t2 = syntax;
              t3 = A._asBool(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new A.StderrLogger(options.get$color());
              t4 = J.$eq$(t1.$index(0, "style"), "compressed") ? B.OutputStyle_1 : B.OutputStyle_0;
              t5 = A._asBool(t1.$index(0, "quiet-deps"));
              t6 = A._asBool(t1.$index(0, "verbose"));
              t7 = options.get$emitSourceMap();
              t1 = A._asBool(t1.$index(0, "charset"));
              t8 = options.get$silenceDeprecations(0);
              $async$goto = 15;
              return A._asyncAwait(A.compileAsync(source, t1, options.get$fatalDeprecations(0), options.get$futureDeprecations(0), importCache, t3, t5, t8, t7, t4, t2, t6), $async$_compileStylesheetWithoutErrorHandling);
            case 15:
              // returning from await.
              result0 = $async$result;
            case 11:
              // join
              result = result0;
              // goto join
              $async$goto = 8;
              break;
            case 9:
              // else
              $async$goto = source == null ? 16 : 18;
              break;
            case 16:
              // then
              $async$goto = 19;
              return A._asyncAwait(A.readStdin(), $async$_compileStylesheetWithoutErrorHandling);
            case 19:
              // returning from await.
              t2 = $async$result;
              t3 = syntax;
              t4 = A._asBool(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new A.StderrLogger(options.get$color());
              t5 = $.$get$FilesystemImporter_cwd();
              t6 = J.$eq$(t1.$index(0, "style"), "compressed") ? B.OutputStyle_1 : B.OutputStyle_0;
              t7 = A._asBool(t1.$index(0, "quiet-deps"));
              t8 = A._asBool(t1.$index(0, "verbose"));
              t9 = options.get$emitSourceMap();
              t1 = A._asBool(t1.$index(0, "charset"));
              t10 = options.get$silenceDeprecations(0);
              t11 = options.get$fatalDeprecations(0);
              t12 = options.get$futureDeprecations(0);
              t13 = type$.Deprecation;
              t14 = A.LinkedHashSet_LinkedHashSet$_empty(t13);
              t14.addAll$1(0, t10);
              t10 = A.LinkedHashSet_LinkedHashSet$_empty(t13);
              t10.addAll$1(0, t11);
              t11 = A.LinkedHashSet_LinkedHashSet$_empty(t13);
              t11.addAll$1(0, t12);
              logger = A.DeprecationProcessingLogger$(t4, t10, t11, !t8, t14);
              stylesheet = A.Stylesheet_Stylesheet$parse(t2, t3 == null ? B.Syntax_SCSS_scss : t3, logger, null);
              result0 = A._compileStylesheet(stylesheet, logger, graph.importCache, null, t5, null, t6, true, null, null, t7, t9, t1);
              logger.summarize$1$js(false);
              // goto join
              $async$goto = 17;
              break;
            case 18:
              // else
              t2 = syntax;
              t3 = A._asBool(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new A.StderrLogger(options.get$color());
              importCache = graph.importCache;
              t4 = J.$eq$(t1.$index(0, "style"), "compressed") ? B.OutputStyle_1 : B.OutputStyle_0;
              t5 = A._asBool(t1.$index(0, "quiet-deps"));
              t6 = A._asBool(t1.$index(0, "verbose"));
              t7 = options.get$emitSourceMap();
              t1 = A._asBool(t1.$index(0, "charset"));
              t8 = options.get$silenceDeprecations(0);
              t9 = options.get$fatalDeprecations(0);
              t10 = options.get$futureDeprecations(0);
              t11 = type$.Deprecation;
              t12 = A.LinkedHashSet_LinkedHashSet$_empty(t11);
              t12.addAll$1(0, t8);
              t8 = A.LinkedHashSet_LinkedHashSet$_empty(t11);
              t8.addAll$1(0, t9);
              t9 = A.LinkedHashSet_LinkedHashSet$_empty(t11);
              t9.addAll$1(0, t10);
              logger = A.DeprecationProcessingLogger$(t3, t8, t9, !t6, t12);
              t3 = t2 == null || t2 === A.Syntax_forPath(source);
              if (t3) {
                t2 = $.$get$FilesystemImporter_cwd();
                t3 = A.isNodeJs() ? self.process : null;
                if (!J.$eq$(t3 == null ? null : J.get$platform$x(t3), "win32")) {
                  t3 = A.isNodeJs() ? self.process : null;
                  t3 = J.$eq$(t3 == null ? null : J.get$platform$x(t3), "darwin");
                } else
                  t3 = true;
                if (t3) {
                  t3 = $.$get$context();
                  t6 = A._realCasePath(A.absolute(t3.normalize$1(source), null, null, null, null, null, null, null, null, null, null, null, null, null, null));
                  t0 = t6;
                  t6 = t3;
                  t3 = t0;
                } else {
                  t3 = $.$get$context();
                  t6 = t3.canonicalize$1(0, source);
                  t0 = t6;
                  t6 = t3;
                  t3 = t0;
                }
                t6 = importCache.importCanonical$3$originalUrl(t2, t6.toUri$1(t3), t6.toUri$1(source));
                t6.toString;
                stylesheet = t6;
              } else {
                t3 = A.readFile(source);
                if (t2 == null)
                  t2 = A.Syntax_forPath(source);
                stylesheet = A.Stylesheet_Stylesheet$parse(t3, t2, logger, $.$get$context().toUri$1(source));
              }
              result0 = A._compileStylesheet(stylesheet, logger, importCache, null, $.$get$FilesystemImporter_cwd(), null, t4, true, null, null, t5, t7, t1);
              logger.summarize$1$js(false);
            case 17:
              // join
              result = result0;
            case 8:
              // join
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.SassException) {
                error = t1;
                if (options.get$emitErrorCss())
                  if (destination == null)
                    A.print(error.toCssString$0());
                  else {
                    A.ensureDir($.$get$context().dirname$1(destination));
                    A.writeFile(destination, error.toCssString$0() + "\n");
                  }
                throw $async$exception;
              } else
                throw $async$exception;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              css = result._serialize._0 + A._writeSourceMap(options, result._serialize._1, destination);
              if (destination == null) {
                if (css.length !== 0)
                  A.print(css);
              } else {
                A.ensureDir($.$get$context().dirname$1(destination));
                A.writeFile(destination, css + "\n");
              }
              t1 = options._options;
              if (!A._asBool(t1.$index(0, "quiet")))
                t1 = !A._asBool(t1.$index(0, "update")) && !A._asBool(t1.$index(0, "watch"));
              else
                t1 = true;
              if (t1) {
                // goto return
                $async$goto = 1;
                break;
              }
              buffer = new A.StringBuffer("");
              if (source == null)
                sourceName = "stdin";
              else {
                t1 = $.$get$context();
                sourceName = t1.prettyUri$1(t1.toUri$1(source));
              }
              destination.toString;
              t1 = $.$get$context();
              destinationName = t1.prettyUri$1(t1.toUri$1(destination));
              nowStr = new A.DateTime(Date.now(), false).toString$0(0);
              timestamp = B.JSString_methods.substring$2(nowStr, 0, nowStr.length - 7);
              t1 = options.get$color() ? buffer._contents = "" + "\x1b[90m" : "";
              t1 = buffer._contents = t1 + ("[" + timestamp + "] ");
              if (options.get$color())
                t1 = buffer._contents = t1 + "\x1b[32m";
              t1 += "Compiled " + sourceName + " to " + destinationName + ".";
              buffer._contents = t1;
              if (options.get$color())
                buffer._contents = t1 + "\x1b[0m";
              t1 = A.isNodeJs() ? self.process : null;
              if (t1 != null) {
                t1 = J.get$stdout$x(t1);
                J.write$1$x(t1, buffer.toString$0(0) + "\n");
              } else {
                t1 = self.console;
                J.log$1$x(t1, buffer);
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_compileStylesheetWithoutErrorHandling, $async$completer);
    },
    _writeSourceMap(options, sourceMap, destination) {
      var t1, sourceMapText, url, sourceMapPath, t2, escapedUrl;
      if (sourceMap == null)
        return "";
      if (destination != null) {
        t1 = $.$get$context();
        sourceMap.targetUrl = t1.toUri$1(A.ParsedPath_ParsedPath$parse(destination, t1.style).get$basename()).toString$0(0);
      }
      A.mapInPlace(sourceMap.urls, new A._writeSourceMap_closure(options, destination));
      t1 = options._options;
      sourceMapText = B.C_JsonCodec.encode$2$toEncodable(sourceMap.toJson$1$includeSourceContents(A._asBool(t1.$index(0, "embed-sources"))), null);
      if (A._asBool(t1.$index(0, "embed-source-map")))
        url = A.Uri_Uri$dataFromString(sourceMapText, B.C_Utf8Codec, "application/json");
      else {
        destination.toString;
        sourceMapPath = destination + ".map";
        t2 = $.$get$context();
        A.ensureDir(t2.dirname$1(sourceMapPath));
        A.writeFile(sourceMapPath, sourceMapText);
        url = t2.toUri$1(t2.relative$2$from(sourceMapPath, t2.dirname$1(destination)));
      }
      t2 = url.toString$0(0);
      escapedUrl = A.stringReplaceAllUnchecked(t2, "*/", "%2A/");
      t1 = (J.$eq$(t1.$index(0, "style"), "compressed") ? B.OutputStyle_1 : B.OutputStyle_0) === B.OutputStyle_1 ? "" : "\n\n";
      return t1 + ("/*# sourceMappingURL=" + escapedUrl + " */");
    },
    _tryDelete(path) {
      var exception;
      try {
        A.deleteFile(path);
      } catch (exception) {
        if (!(A.unwrapException(exception) instanceof A.FileSystemException))
          throw exception;
      }
    },
    _getErrorWithStackTrace(exitCode, error, stackTrace) {
      return new A._Record_3(exitCode, error, stackTrace != null ? B.JSString_methods.trimRight$0(A.Trace_Trace$from(stackTrace).get$terse().toString$0(0)) : null);
    },
    _writeSourceMap_closure: function _writeSourceMap_closure(t0, t1) {
      this.options = t0;
      this.destination = t1;
    },
    ExecutableOptions__separator(text) {
      var t1 = $.$get$ExecutableOptions__separatorBar(),
        t2 = B.JSString_methods.$mul(t1, 3),
        t3 = A.hasTerminal() ? "\x1b[1m" : "",
        t4 = A.hasTerminal() ? "\x1b[0m" : "";
      return t2 + " " + t3 + text + t4 + " " + B.JSString_methods.$mul(t1, 35 - text.length);
    },
    ExecutableOptions__fail(message) {
      return A.throwExpression(A.UsageException$(message));
    },
    ExecutableOptions_ExecutableOptions$parse(args) {
      var options, error, t1, t2, exception;
      try {
        t1 = $.$get$ExecutableOptions__parser();
        t2 = A.ListQueue$(type$.String);
        t2.addAll$1(0, args);
        t2 = A.Parser$(null, t1, t2, null, null).parse$0();
        if (t2.wasParsed$1("poll") && !A._asBool(t2.$index(0, "watch")))
          A.ExecutableOptions__fail("--poll may not be passed without --watch.");
        options = new A.ExecutableOptions(t2);
        if (A._asBool(options._options.$index(0, "help")))
          A.ExecutableOptions__fail("Compile Sass to CSS.");
        return options;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.FormatException._is(t1)) {
          error = t1;
          A.ExecutableOptions__fail(J.get$message$x(error));
        } else
          throw exception;
      }
    },
    UsageException$(message) {
      return new A.UsageException(message);
    },
    ExecutableOptions: function ExecutableOptions(t0) {
      var _ = this;
      _._options = t0;
      _.__ExecutableOptions_interactive_FI = $;
      _._sourcesToDestinations = null;
      _.__ExecutableOptions__sourceDirectoriesToDestinations_F = $;
      _._fatalDeprecations = null;
    },
    ExecutableOptions__parser_closure: function ExecutableOptions__parser_closure() {
    },
    ExecutableOptions_interactive_closure: function ExecutableOptions_interactive_closure(t0) {
      this.$this = t0;
    },
    ExecutableOptions_emitErrorCss_closure: function ExecutableOptions_emitErrorCss_closure() {
    },
    ExecutableOptions_fatalDeprecations_closure: function ExecutableOptions_fatalDeprecations_closure(t0) {
      this.$this = t0;
    },
    UsageException: function UsageException(t0) {
      this.message = t0;
    },
    watch(options, graph) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, t1, t2, t3, t4, t5, t6, dirWatcher, sourcesToDestinations, t0;
      var $async$watch = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              options._ensureSources$0();
              t1 = options.__ExecutableOptions__sourceDirectoriesToDestinations_F;
              t1 === $ && A.throwUnnamedLateFieldNI();
              t2 = type$.String;
              t1 = t1.cast$2$0(0, t2, t2);
              t1 = A.List_List$of(t1.get$keys(t1), true, t2);
              for (options._ensureSources$0(), t3 = options._sourcesToDestinations.cast$2$0(0, t2, t2), t3 = J.get$iterator$ax(t3.get$keys(t3)); t3.moveNext$0();) {
                t4 = t3.get$current(t3);
                t1.push($.$get$context().dirname$1(t4));
              }
              t3 = options._options;
              B.JSArray_methods.addAll$1(t1, type$.List_String._as(t3.$index(0, "load-path")));
              t4 = A._asBool(t3.$index(0, "poll"));
              t5 = type$.Stream_WatchEvent;
              t6 = A.PathMap__create(null, t5);
              t5 = new A.StreamGroup(B._StreamGroupState_dormant, A.LinkedHashMap_LinkedHashMap$_empty(t5, type$.nullable_StreamSubscription_WatchEvent), type$.StreamGroup_WatchEvent);
              t5.__StreamGroup__controller_A = A.StreamController_StreamController(t5.get$_onCancel(), t5.get$_onListen(), t5.get$_onPause(), t5.get$_onResume(), true, type$.WatchEvent);
              dirWatcher = new A.MultiDirWatcher(new A.PathMap(t6, type$.PathMap_Stream_WatchEvent), t5, t4);
              $async$goto = 3;
              return A._asyncAwait(A.Future_wait(new A.MappedListIterable(t1, new A.watch_closure(dirWatcher), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Future<~>>")), false, type$.void), $async$watch);
            case 3:
              // returning from await.
              options._ensureSources$0();
              sourcesToDestinations = options._sourcesToDestinations.cast$2$0(0, t2, t2);
              for (t1 = J.get$iterator$ax(sourcesToDestinations.get$keys(sourcesToDestinations)); t1.moveNext$0();) {
                t2 = t1.get$current(t1);
                t4 = $.$get$FilesystemImporter_cwd();
                t5 = self.process;
                if (t5 == null)
                  t5 = null;
                else {
                  t5 = J.get$release$x(t5);
                  t5 = t5 == null ? null : J.get$name$x(t5);
                }
                t5 = J.$eq$(t5, "node") ? self.process : null;
                if (!J.$eq$(t5 == null ? null : J.get$platform$x(t5), "win32")) {
                  t5 = self.process;
                  if (t5 == null)
                    t5 = null;
                  else {
                    t5 = J.get$release$x(t5);
                    t5 = t5 == null ? null : J.get$name$x(t5);
                  }
                  t5 = J.$eq$(t5, "node") ? self.process : null;
                  t5 = J.$eq$(t5 == null ? null : J.get$platform$x(t5), "darwin");
                } else
                  t5 = true;
                if (t5) {
                  t5 = $.$get$context();
                  t6 = A._realCasePath(t5.absolute$15(t5.normalize$1(t2), null, null, null, null, null, null, null, null, null, null, null, null, null, null));
                  t0 = t6;
                  t6 = t5;
                  t5 = t0;
                } else {
                  t5 = $.$get$context();
                  t6 = t5.canonicalize$1(0, t2);
                  t0 = t6;
                  t6 = t5;
                  t5 = t0;
                }
                graph.addCanonical$4$recanonicalize(t4, t6.toUri$1(t5), t6.toUri$1(t2), false);
              }
              $async$goto = 4;
              return A._asyncAwait(A.compileStylesheets(options, graph, sourcesToDestinations, true), $async$watch);
            case 4:
              // returning from await.
              if (!$async$result && A._asBool(t3.$index(0, "stop-on-error"))) {
                t1 = dirWatcher._group.__StreamGroup__controller_A;
                t1 === $ && A.throwUnnamedLateFieldNI();
                new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$1(0, null).cancel$0();
                // goto return
                $async$goto = 1;
                break;
              }
              A.print("Sass is watching for changes. Press Ctrl-C to stop.\n");
              $async$goto = 5;
              return A._asyncAwait(new A._Watcher(options, graph).watch$1(0, dirWatcher), $async$watch);
            case 5:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$watch, $async$completer);
    },
    watch_closure: function watch_closure(t0) {
      this.dirWatcher = t0;
    },
    _Watcher: function _Watcher(t0, t1) {
      this._watch$_options = t0;
      this._graph = t1;
    },
    _Watcher__debounceEvents_closure: function _Watcher__debounceEvents_closure() {
    },
    EmptyExtensionStore: function EmptyExtensionStore() {
    },
    Extension: function Extension(t0, t1, t2, t3, t4) {
      var _ = this;
      _.extender = t0;
      _.target = t1;
      _.mediaContext = t2;
      _.isOptional = t3;
      _.span = t4;
    },
    Extender: function Extender(t0, t1) {
      this.selector = t0;
      this.isOriginal = t1;
      this._extension = null;
    },
    ExtensionStore__extendOrReplace(selector, source, targets, mode, span) {
      var t1, t2, t3, t4, t5, t6, t7, t8, _i, complex, compound, t9, t10, t11, _i0, simple, t12, _i1, t13, t14,
        extender = A.ExtensionStore$_mode(mode);
      if (!selector.accept$1(B._IsInvisibleVisitor_true))
        extender._originals.addAll$1(0, selector.components);
      for (t1 = targets.components, t2 = t1.length, t3 = source.components, t4 = t3.length, t5 = type$.ComplexSelector, t6 = type$.Extension, t7 = type$.SimpleSelector, t8 = type$.Map_ComplexSelector_Extension, _i = 0; _i < t2; ++_i) {
        complex = t1[_i];
        compound = complex.get$singleCompound();
        if (compound == null)
          throw A.wrapException(A.SassScriptException$("Can't extend complex selector " + A.S(complex) + ".", null));
        t9 = A.LinkedHashMap_LinkedHashMap$_empty(t7, t8);
        for (t10 = compound.components, t11 = t10.length, _i0 = 0; _i0 < t11; ++_i0) {
          simple = t10[_i0];
          t12 = A.LinkedHashMap_LinkedHashMap$_empty(t5, t6);
          for (_i1 = 0; _i1 < t4; ++_i1) {
            complex = t3[_i1];
            complex.get$specificity();
            t13 = new A.Extender(complex, false);
            t14 = new A.Extension(t13, simple, null, true, span);
            t13._extension = t14;
            t12.$indexSet(0, complex, t14);
          }
          t9.$indexSet(0, simple, t12);
        }
        selector = extender._extendList$2(selector, t9);
      }
      return selector;
    },
    ExtensionStore$() {
      var t1 = type$.SimpleSelector;
      return new A.ExtensionStore(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Set_ModifiableBox_SelectorList), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Map_ComplexSelector_Extension), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.List_Extension), A.LinkedHashMap_LinkedHashMap$_empty(type$.ModifiableBox_SelectorList, type$.List_CssMediaQuery), new A.JsIdentityLinkedHashMap(type$.JsIdentityLinkedHashMap_SimpleSelector_int), new A._LinkedIdentityHashSet(type$._LinkedIdentityHashSet_ComplexSelector), B.ExtendMode_normal_normal);
    },
    ExtensionStore$_mode(_mode) {
      var t1 = type$.SimpleSelector;
      return new A.ExtensionStore(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Set_ModifiableBox_SelectorList), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Map_ComplexSelector_Extension), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.List_Extension), A.LinkedHashMap_LinkedHashMap$_empty(type$.ModifiableBox_SelectorList, type$.List_CssMediaQuery), new A.JsIdentityLinkedHashMap(type$.JsIdentityLinkedHashMap_SimpleSelector_int), new A._LinkedIdentityHashSet(type$._LinkedIdentityHashSet_ComplexSelector), _mode);
    },
    ExtensionStore: function ExtensionStore(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._selectors = t0;
      _._extensions = t1;
      _._extensionsByExtender = t2;
      _._mediaContexts = t3;
      _._sourceSpecificity = t4;
      _._originals = t5;
      _._mode = t6;
    },
    ExtensionStore_extensionsWhereTarget_closure: function ExtensionStore_extensionsWhereTarget_closure() {
    },
    ExtensionStore__registerSelector_closure: function ExtensionStore__registerSelector_closure() {
    },
    ExtensionStore_addExtension_closure: function ExtensionStore_addExtension_closure() {
    },
    ExtensionStore_addExtension_closure0: function ExtensionStore_addExtension_closure0() {
    },
    ExtensionStore_addExtension_closure1: function ExtensionStore_addExtension_closure1(t0) {
      this.complex = t0;
    },
    ExtensionStore__extendExistingExtensions_closure: function ExtensionStore__extendExistingExtensions_closure() {
    },
    ExtensionStore__extendExistingExtensions_closure0: function ExtensionStore__extendExistingExtensions_closure0() {
    },
    ExtensionStore_addExtensions_closure: function ExtensionStore_addExtensions_closure() {
    },
    ExtensionStore__extendComplex_closure: function ExtensionStore__extendComplex_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.complex = t2;
    },
    ExtensionStore__extendComplex__closure: function ExtensionStore__extendComplex__closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.complex = t2;
    },
    ExtensionStore__extendCompound_closure: function ExtensionStore__extendCompound_closure() {
    },
    ExtensionStore__extendCompound_closure0: function ExtensionStore__extendCompound_closure0() {
    },
    ExtensionStore__extendCompound_closure1: function ExtensionStore__extendCompound_closure1(t0) {
      this.original = t0;
    },
    ExtensionStore__extendSimple_withoutPseudo: function ExtensionStore__extendSimple_withoutPseudo(t0, t1, t2) {
      this.$this = t0;
      this.extensions = t1;
      this.targetsUsed = t2;
    },
    ExtensionStore__extendSimple_closure: function ExtensionStore__extendSimple_closure(t0, t1) {
      this.$this = t0;
      this.withoutPseudo = t1;
    },
    ExtensionStore__extendSimple_closure0: function ExtensionStore__extendSimple_closure0() {
    },
    ExtensionStore__extendPseudo_closure: function ExtensionStore__extendPseudo_closure() {
    },
    ExtensionStore__extendPseudo_closure0: function ExtensionStore__extendPseudo_closure0() {
    },
    ExtensionStore__extendPseudo_closure1: function ExtensionStore__extendPseudo_closure1() {
    },
    ExtensionStore__extendPseudo_closure2: function ExtensionStore__extendPseudo_closure2(t0) {
      this.pseudo = t0;
    },
    ExtensionStore__extendPseudo_closure3: function ExtensionStore__extendPseudo_closure3(t0, t1) {
      this.pseudo = t0;
      this.selector = t1;
    },
    ExtensionStore__trim_closure: function ExtensionStore__trim_closure(t0, t1) {
      this._box_0 = t0;
      this.complex1 = t1;
    },
    ExtensionStore__trim_closure0: function ExtensionStore__trim_closure0(t0, t1) {
      this._box_0 = t0;
      this.complex1 = t1;
    },
    ExtensionStore_clone_closure: function ExtensionStore_clone_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.newSelectors = t1;
      _.oldToNewSelectors = t2;
      _.newMediaContexts = t3;
    },
    unifyComplex(complexes, span) {
      var t2, trailingCombinator, leadingCombinator, unifiedBase, t3, t4, _0_6_isSet, _0_6, t5, newLeadingCombinator, base, _1_1, newTrailingCombinator, _i, t6, t7, t8, _null = null,
        t1 = J.getInterceptor$asx(complexes);
      if (t1.get$length(complexes) === 1)
        return complexes;
      for (t2 = t1.get$iterator(complexes), trailingCombinator = _null, leadingCombinator = trailingCombinator, unifiedBase = leadingCombinator; t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        if (t3.accept$1(B.C__IsUselessVisitor))
          return _null;
        t4 = t3.components;
        _0_6_isSet = t4.length === 1;
        if (_0_6_isSet) {
          _0_6 = t3.leadingCombinators;
          t5 = _0_6.length === 1;
        } else {
          _0_6 = _null;
          t5 = false;
        }
        if (t5) {
          newLeadingCombinator = (_0_6_isSet ? _0_6 : t3.leadingCombinators)[0];
          if (leadingCombinator == null)
            leadingCombinator = newLeadingCombinator;
          else if (!(leadingCombinator.$ti._is(newLeadingCombinator) && J.$eq$(newLeadingCombinator.value, leadingCombinator.value)))
            return _null;
        }
        base = B.JSArray_methods.get$last(t4);
        _1_1 = base.combinators;
        if (_1_1.length === 1) {
          newTrailingCombinator = _1_1[0];
          if (trailingCombinator != null)
            t3 = !(trailingCombinator.$ti._is(newTrailingCombinator) && J.$eq$(newTrailingCombinator.value, trailingCombinator.value));
          else
            t3 = false;
          if (t3)
            return _null;
          trailingCombinator = newTrailingCombinator;
        }
        if (unifiedBase == null)
          unifiedBase = base.selector.components;
        else
          for (t3 = base.selector.components, t4 = t3.length, _i = 0; _i < t4; ++_i) {
            unifiedBase = t3[_i].unify$1(unifiedBase);
            if (unifiedBase == null)
              return _null;
          }
      }
      t2 = type$.JSArray_ComplexSelector;
      t3 = A._setArrayType([], t2);
      for (t4 = t1.get$iterator(complexes); t4.moveNext$0();) {
        t5 = t4.get$current(t4);
        t6 = t5.components;
        t7 = t6.length;
        if (t7 > 1) {
          t8 = t5.leadingCombinators;
          t3.push(A.ComplexSelector$(t8, B.JSArray_methods.take$1(t6, t7 - 1), t5.span, t5.lineBreak));
        }
      }
      t4 = leadingCombinator == null ? B.List_empty0 : A._setArrayType([leadingCombinator], type$.JSArray_CssValue_Combinator);
      unifiedBase.toString;
      t5 = A.CompoundSelector$(unifiedBase, span);
      t6 = trailingCombinator == null ? B.List_empty0 : A._setArrayType([trailingCombinator], type$.JSArray_CssValue_Combinator);
      base = A.ComplexSelector$(t4, A._setArrayType([new A.ComplexSelectorComponent(t5, A.List_List$unmodifiable(t6, type$.CssValue_Combinator), span)], type$.JSArray_ComplexSelectorComponent), span, t1.any$1(complexes, new A.unifyComplex_closure()));
      if (t3.length === 0)
        t1 = A._setArrayType([base], t2);
      else {
        t1 = A.List_List$of(A.IterableExtension_get_exceptLast(t3), true, type$.ComplexSelector);
        t1.push(B.JSArray_methods.get$last(t3).concatenate$2(base, span));
      }
      return A.weave(t1, span, false);
    },
    unifyCompound(compound1, compound2) {
      var t1, t2, _i, unified,
        result = compound2.components;
      for (t1 = compound1.components, t2 = t1.length, _i = 0; _i < t2; ++_i, result = unified) {
        unified = t1[_i].unify$1(result);
        if (unified == null)
          return null;
      }
      return A.CompoundSelector$(result, compound1.span);
    },
    unifyUniversalAndElement(selector1, selector2) {
      var namespace, $name, t1,
        _0_0 = A._namespaceAndName(selector1, "selector1"),
        namespace1 = _0_0._0,
        name1 = _0_0._1,
        _1_0 = A._namespaceAndName(selector2, "selector2"),
        namespace2 = _1_0._0,
        name2 = _1_0._1;
      if (namespace1 == namespace2 || namespace2 === "*")
        namespace = namespace1;
      else {
        if (namespace1 !== "*")
          return null;
        namespace = namespace2;
      }
      if (name1 == name2 || name2 == null)
        $name = name1;
      else {
        if (!(name1 == null || name1 === "*"))
          return null;
        $name = name2;
      }
      t1 = selector1.span;
      return $name == null ? new A.UniversalSelector(namespace, t1) : new A.TypeSelector(new A.QualifiedName($name, namespace), t1);
    },
    _namespaceAndName(selector, $name) {
      var t1, _0_4;
      $label0$0: {
        if (selector instanceof A.UniversalSelector) {
          t1 = new A._Record_2(selector.namespace, null);
          break $label0$0;
        }
        if (selector instanceof A.TypeSelector) {
          _0_4 = selector.name;
          t1 = new A._Record_2(_0_4.namespace, _0_4.name);
          break $label0$0;
        }
        t1 = A.throwExpression(A.ArgumentError$value(selector, $name, string$.must_b));
      }
      return t1;
    },
    weave(complexes, span, forceLineBreak) {
      var complex, t2, prefixes, t3, t4, t5, t6, i, t7, t8, _i, t9, t10, _i0, parentPrefix, t11, t12,
        t1 = J.getInterceptor$asx(complexes);
      if (t1.get$length(complexes) === 1) {
        complex = t1.$index(complexes, 0);
        if (!forceLineBreak || complex.lineBreak)
          return complexes;
        return A._setArrayType([A.ComplexSelector$(complex.leadingCombinators, complex.components, complex.span, true)], type$.JSArray_ComplexSelector);
      }
      t2 = type$.JSArray_ComplexSelector;
      prefixes = A._setArrayType([t1.get$first(complexes)], t2);
      for (t1 = t1.skip$1(complexes, 1), t3 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t3._eval$1("ListIterator")), t4 = type$.ComplexSelectorComponent, t3 = t3._eval$1("ListIterable.E"); t1.moveNext$0();) {
        t5 = t1.__internal$_current;
        if (t5 == null)
          t5 = t3._as(t5);
        t6 = t5.components;
        if (t6.length === 1) {
          for (i = 0; i < prefixes.length; ++i)
            prefixes[i] = prefixes[i].concatenate$3$forceLineBreak(t5, span, forceLineBreak);
          continue;
        }
        t7 = A._setArrayType([], t2);
        for (t8 = prefixes.length, _i = 0; _i < prefixes.length; prefixes.length === t8 || (0, A.throwConcurrentModificationError)(prefixes), ++_i) {
          t9 = A._weaveParents(prefixes[_i], t5, span);
          if (t9 == null)
            t9 = B.List_empty1;
          t10 = t9.length;
          _i0 = 0;
          for (; _i0 < t9.length; t9.length === t10 || (0, A.throwConcurrentModificationError)(t9), ++_i0) {
            parentPrefix = t9[_i0];
            t11 = B.JSArray_methods.get$last(t6);
            t12 = A.List_List$of(parentPrefix.components, true, t4);
            t12.push(t11);
            t11 = parentPrefix.lineBreak || forceLineBreak;
            t7.push(A.ComplexSelector$(parentPrefix.leadingCombinators, t12, span, t11));
          }
        }
        prefixes = t7;
      }
      return prefixes;
    },
    _weaveParents(prefix, base, span) {
      var t1, queue1, queue2, trailingCombinators, _0_1, _0_3, _0_3_isSet, rootish1, t2, rootish2, _0_30, rootish, t3, rootish_case_0, t0, rootish_case_1, groups1, groups2, lcs, choices, t4, _i, group, t5, t6, t7, _i0, chunk, t8, t9, _null = null,
        leadingCombinators = A._mergeLeadingCombinators(prefix.leadingCombinators, base.leadingCombinators);
      if (leadingCombinators == null)
        return _null;
      t1 = type$.ComplexSelectorComponent;
      queue1 = A.QueueList_QueueList$from(prefix.components, t1);
      queue2 = A.QueueList_QueueList$from(A.IterableExtension_get_exceptLast(base.components), t1);
      trailingCombinators = A._mergeTrailingCombinators(queue1, queue2, span, _null);
      if (trailingCombinators == null)
        return _null;
      $label0$0: {
        _0_1 = A._firstIfRootish(queue1);
        _0_3 = A._firstIfRootish(queue2);
        _0_3_isSet = _0_1 != null;
        if (_0_3_isSet) {
          rootish1 = _0_1 == null ? t1._as(_0_1) : _0_1;
          t2 = _0_3 != null;
          if (t2)
            rootish2 = _0_3 == null ? t1._as(_0_3) : _0_3;
          else
            rootish2 = _null;
          _0_30 = _0_3;
        } else {
          rootish2 = _null;
          rootish1 = rootish2;
          _0_30 = rootish1;
          t2 = false;
        }
        if (t2) {
          rootish = A.unifyCompound(rootish1.selector, rootish2.selector);
          if (rootish == null)
            return _null;
          t1 = rootish1.combinators;
          t2 = rootish1.span;
          t3 = type$.CssValue_Combinator;
          queue1.addFirst$1(new A.ComplexSelectorComponent(rootish, A.List_List$unmodifiable(t1, t3), t2));
          queue2.addFirst$1(new A.ComplexSelectorComponent(rootish, A.List_List$unmodifiable(rootish2.combinators, t3), t2));
          break $label0$0;
        }
        if (_0_1 != null) {
          rootish_case_0 = _0_1;
          if (_0_3_isSet)
            t2 = _0_30;
          else {
            t2 = _0_3;
            _0_30 = t2;
            _0_3_isSet = true;
          }
          t2 = t2 == null;
          t3 = t2 ? rootish_case_0 : _null;
          t0 = t3;
          t3 = t2;
          t2 = t0;
        } else {
          t2 = _null;
          t3 = false;
        }
        if (!t3)
          if (_0_1 == null) {
            if (_0_3_isSet)
              t3 = _0_30;
            else {
              t3 = _0_3;
              _0_30 = t3;
              _0_3_isSet = true;
            }
            t3 = t3 != null;
            if (t3) {
              rootish_case_1 = _0_3_isSet ? _0_30 : _0_3;
              if (rootish_case_1 == null)
                rootish_case_1 = t1._as(rootish_case_1);
              t1 = rootish_case_1;
            } else
              t1 = t2;
            t2 = t3;
          } else {
            t1 = t2;
            t2 = false;
          }
        else {
          t1 = t2;
          t2 = true;
        }
        if (t2) {
          queue1.addFirst$1(t1);
          queue2.addFirst$1(t1);
        }
      }
      groups1 = A._groupSelectors(queue1);
      groups2 = A._groupSelectors(queue2);
      t1 = type$.List_ComplexSelectorComponent;
      lcs = A.longestCommonSubsequence(groups2, groups1, new A._weaveParents_closure(span), t1);
      choices = A._setArrayType([], type$.JSArray_List_Iterable_ComplexSelectorComponent);
      for (t2 = lcs.length, t3 = type$.JSArray_Iterable_ComplexSelectorComponent, t4 = type$.JSArray_ComplexSelectorComponent, _i = 0; _i < lcs.length; lcs.length === t2 || (0, A.throwConcurrentModificationError)(lcs), ++_i) {
        group = lcs[_i];
        t5 = A._setArrayType([], t3);
        for (t6 = A._chunks(groups1, groups2, new A._weaveParents_closure0(group), t1), t7 = t6.length, _i0 = 0; _i0 < t6.length; t6.length === t7 || (0, A.throwConcurrentModificationError)(t6), ++_i0) {
          chunk = t6[_i0];
          t8 = A._setArrayType([], t4);
          for (t9 = B.JSArray_methods.get$iterator(chunk); t9.moveNext$0();)
            B.JSArray_methods.addAll$1(t8, t9.get$current(0));
          t5.push(t8);
        }
        choices.push(t5);
        choices.push(A._setArrayType([group], t3));
        groups1.removeFirst$0();
        groups2.removeFirst$0();
      }
      t2 = A._setArrayType([], t3);
      for (t1 = A._chunks(groups1, groups2, new A._weaveParents_closure1(), t1), t3 = t1.length, _i = 0; _i < t1.length; t1.length === t3 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        chunk = t1[_i];
        t5 = A._setArrayType([], t4);
        for (t6 = B.JSArray_methods.get$iterator(chunk); t6.moveNext$0();)
          B.JSArray_methods.addAll$1(t5, t6.get$current(0));
        t2.push(t5);
      }
      choices.push(t2);
      B.JSArray_methods.addAll$1(choices, trailingCombinators);
      t1 = A._setArrayType([], type$.JSArray_ComplexSelector);
      for (t2 = J.get$iterator$ax(A.paths(new A.WhereIterable(choices, new A._weaveParents_closure2(), type$.WhereIterable_List_Iterable_ComplexSelectorComponent), type$.Iterable_ComplexSelectorComponent)), t3 = !prefix.lineBreak, t5 = base.lineBreak; t2.moveNext$0();) {
        t6 = t2.get$current(t2);
        t7 = A._setArrayType([], t4);
        for (t6 = J.get$iterator$ax(t6); t6.moveNext$0();)
          B.JSArray_methods.addAll$1(t7, t6.get$current(t6));
        t1.push(A.ComplexSelector$(leadingCombinators, t7, span, !t3 || t5));
      }
      return t1;
    },
    _firstIfRootish(queue) {
      var first, t1, t2, _i, simple, t3;
      if (queue.get$length(0) >= 1) {
        first = queue.$index(0, 0);
        for (t1 = first.selector.components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
          simple = t1[_i];
          if (simple instanceof A.PseudoSelector)
            if (simple.isClass)
              t3 = $._rootishPseudoClasses.contains$1(0, simple.normalizedName);
            else
              t3 = false;
          else
            t3 = false;
          if (t3) {
            queue.removeFirst$0();
            return first;
          }
        }
      }
      return null;
    },
    _mergeLeadingCombinators(combinators1, combinators2) {
      var _0_4, t1, _0_7_isSet, _0_7, t2, _0_11_isSet, _0_11, _0_4_isSet, combinators, _null = null;
      $label0$0: {
        _0_4 = combinators2;
        t1 = type$.List_CssValue_Combinator;
        _0_7_isSet = t1._is(combinators1);
        if (_0_7_isSet) {
          _0_7 = combinators1.length;
          t2 = _0_7;
          t2 = t2 > 1;
        } else {
          _0_7 = _null;
          t2 = false;
        }
        if (!t2) {
          t2 = _0_4;
          _0_11_isSet = t1._is(t2);
          if (_0_11_isSet) {
            t2 = _0_4;
            _0_11 = (t2 == null ? t1._as(t2) : t2).length;
            t2 = _0_11;
            _0_4_isSet = true;
            t2 = t2 > 1;
          } else {
            _0_11 = _null;
            _0_4_isSet = true;
            t2 = false;
          }
        } else {
          _0_11 = _null;
          _0_4_isSet = true;
          _0_11_isSet = false;
          t2 = true;
        }
        if (t2) {
          t1 = _null;
          break $label0$0;
        }
        if (t1._is(combinators1)) {
          if (_0_7_isSet)
            t2 = _0_7;
          else {
            _0_7 = combinators1.length;
            t2 = _0_7;
          }
          t2 = t2 <= 0;
          if (t2)
            if (_0_4_isSet)
              combinators = _0_4;
            else {
              combinators = combinators2;
              _0_4 = combinators;
              _0_4_isSet = true;
            }
          else
            combinators = _null;
        } else {
          combinators = _null;
          t2 = false;
        }
        if (!t2) {
          if (_0_4_isSet)
            t2 = _0_4;
          else {
            t2 = combinators2;
            _0_4 = t2;
            _0_4_isSet = true;
          }
          if (t1._is(t2)) {
            if (_0_11_isSet)
              t1 = _0_11;
            else {
              t2 = _0_4_isSet ? _0_4 : combinators2;
              _0_11 = (t2 == null ? t1._as(t2) : t2).length;
              t1 = _0_11;
            }
            t1 = t1 <= 0;
          } else
            t1 = false;
          combinators = combinators1;
        } else
          t1 = true;
        if (t1) {
          t1 = combinators;
          break $label0$0;
        }
        t1 = B.C_ListEquality.equals$2(0, combinators1, combinators2) ? combinators1 : _null;
        break $label0$0;
      }
      return t1;
    },
    _mergeTrailingCombinators(components1, components2, span, result) {
      var _0_1, t1, _1_1, t2, t3, _4_1, _4_3, _4_4_isSet, _4_4, _4_5, component1, component2, t4, t5, choices, _2_0, _4_4_isSet0, _4_9, _4_6_isSet, _4_6, _4_7, nextComponents, followingComponents, _4_7_isSet, _4_10_isSet, _4_10, _4_5_isSet, next, following, _3_0, siblingComponents_case_0, t0, siblingComponents_case_1, combinator1, combinator2, unified, combinator_case_0, combinatorComponents_case_0, descendantComponents_case_0, t6, combinator_case_1, descendantComponents_case_1, combinatorComponents_case_1, _null = null;
      if (result == null)
        result = A.QueueList$(_null, type$.List_List_ComplexSelectorComponent);
      $label0$0: {
        _0_1 = components1.get$length(0);
        if (_0_1 >= 1) {
          t1 = components1.$index(0, _0_1 - 1).combinators;
          break $label0$0;
        }
        t1 = B.List_empty0;
        break $label0$0;
      }
      $label1$1: {
        _1_1 = components2.get$length(0);
        if (_1_1 >= 1) {
          t2 = components2.$index(0, _1_1 - 1).combinators;
          break $label1$1;
        }
        t2 = B.List_empty0;
        break $label1$1;
      }
      t3 = t1.length;
      if (t3 === 0 && t2.length === 0)
        return result;
      if (t3 > 1 || t2.length > 1)
        return _null;
      $label2$2: {
        t3 = A.IterableExtension_get_firstOrNull(t1);
        t3 = t3 == null ? _null : t3.value;
        t2 = A.IterableExtension_get_firstOrNull(t2);
        t2 = [t3, t2 == null ? _null : t2.value, components1, components2];
        _4_1 = t2[0];
        _4_3 = B.Combinator_y18 === _4_1;
        _4_4_isSet = _4_3;
        if (_4_4_isSet) {
          _4_4 = t2[1];
          _4_5 = B.Combinator_y18 === _4_4;
          t3 = _4_5;
        } else {
          _4_4 = _null;
          _4_5 = _4_4;
          t3 = false;
        }
        if (t3) {
          component1 = components1.removeLast$0(0);
          component2 = components2.removeLast$0(0);
          t2 = component1.selector;
          t3 = component2.selector;
          if (A.compoundIsSuperselector(t2, t3, _null))
            result.addFirst$1(A._setArrayType([A._setArrayType([component2], type$.JSArray_ComplexSelectorComponent)], type$.JSArray_List_ComplexSelectorComponent));
          else {
            t4 = type$.JSArray_ComplexSelectorComponent;
            t5 = type$.JSArray_List_ComplexSelectorComponent;
            if (A.compoundIsSuperselector(t3, t2, _null))
              result.addFirst$1(A._setArrayType([A._setArrayType([component1], t4)], t5));
            else {
              choices = A._setArrayType([A._setArrayType([component1, component2], t4), A._setArrayType([component2, component1], t4)], t5);
              _2_0 = A.unifyCompound(t2, t3);
              if (_2_0 != null)
                choices.push(A._setArrayType([new A.ComplexSelectorComponent(_2_0, A.List_List$unmodifiable(A._setArrayType([B.JSArray_methods.get$first(t1)], type$.JSArray_CssValue_Combinator), type$.CssValue_Combinator), span)], t4));
              result.addFirst$1(choices);
            }
          }
          break $label2$2;
        }
        if (_4_3) {
          if (_4_4_isSet) {
            t3 = _4_4;
            _4_4_isSet0 = _4_4_isSet;
          } else {
            _4_4 = t2[1];
            t3 = _4_4;
            _4_4_isSet0 = true;
          }
          _4_9 = B.Combinator_gRV === t3;
          _4_6_isSet = _4_9;
          if (_4_6_isSet) {
            _4_6 = t2[2];
            _4_7 = t2[3];
            nextComponents = _4_7;
            followingComponents = _4_6;
          } else {
            nextComponents = _null;
            followingComponents = nextComponents;
            _4_7 = followingComponents;
            _4_6 = _4_7;
          }
          t3 = _4_6_isSet;
          _4_7_isSet = t3;
        } else {
          nextComponents = _null;
          followingComponents = nextComponents;
          _4_7 = followingComponents;
          _4_6 = _4_7;
          _4_9 = _4_6;
          _4_4_isSet0 = _4_4_isSet;
          _4_6_isSet = false;
          _4_7_isSet = false;
          t3 = false;
        }
        _4_10_isSet = !t3;
        if (_4_10_isSet) {
          _4_10 = B.Combinator_gRV === _4_1;
          t3 = _4_10;
          if (t3) {
            if (_4_4_isSet) {
              t3 = _4_5;
              _4_5_isSet = _4_4_isSet;
              _4_4_isSet = _4_4_isSet0;
            } else {
              if (_4_4_isSet0) {
                t3 = _4_4;
                _4_4_isSet = _4_4_isSet0;
              } else {
                _4_4 = t2[1];
                t3 = _4_4;
                _4_4_isSet = true;
              }
              _4_5 = B.Combinator_y18 === t3;
              t3 = _4_5;
              _4_5_isSet = true;
            }
            if (t3) {
              if (_4_6_isSet)
                nextComponents = _4_6;
              else {
                _4_6 = t2[2];
                nextComponents = _4_6;
                _4_6_isSet = true;
              }
              if (_4_7_isSet)
                followingComponents = _4_7;
              else {
                _4_7 = t2[3];
                followingComponents = _4_7;
                _4_7_isSet = true;
              }
            }
          } else {
            _4_5_isSet = _4_4_isSet;
            _4_4_isSet = _4_4_isSet0;
            t3 = false;
          }
        } else {
          _4_10 = _null;
          _4_5_isSet = _4_4_isSet;
          _4_4_isSet = _4_4_isSet0;
          t3 = true;
        }
        if (t3) {
          next = nextComponents.removeLast$0(0);
          following = followingComponents.removeLast$0(0);
          t1 = following.selector;
          t2 = next.selector;
          t3 = type$.JSArray_ComplexSelectorComponent;
          t4 = type$.JSArray_List_ComplexSelectorComponent;
          if (A.compoundIsSuperselector(t1, t2, _null))
            result.addFirst$1(A._setArrayType([A._setArrayType([next], t3)], t4));
          else {
            t4 = A._setArrayType([A._setArrayType([following, next], t3)], t4);
            _3_0 = A.unifyCompound(t1, t2);
            if (_3_0 != null)
              t4.push(A._setArrayType([new A.ComplexSelectorComponent(_3_0, A.List_List$unmodifiable(next.combinators, type$.CssValue_Combinator), span)], t3));
            result.addFirst$1(t4);
          }
          break $label2$2;
        }
        if (B.Combinator_8I8 === _4_1) {
          if (_4_3)
            t3 = _4_9;
          else {
            if (_4_4_isSet)
              t3 = _4_4;
            else {
              _4_4 = t2[1];
              t3 = _4_4;
              _4_4_isSet = true;
            }
            _4_9 = B.Combinator_gRV === t3;
            t3 = _4_9;
          }
          if (!t3)
            if (_4_5_isSet)
              t3 = _4_5;
            else {
              if (_4_4_isSet)
                t3 = _4_4;
              else {
                _4_4 = t2[1];
                t3 = _4_4;
                _4_4_isSet = true;
              }
              _4_5 = B.Combinator_y18 === t3;
              t3 = _4_5;
            }
          else
            t3 = true;
          if (t3) {
            if (_4_7_isSet)
              siblingComponents_case_0 = _4_7;
            else {
              _4_7 = t2[3];
              siblingComponents_case_0 = _4_7;
              _4_7_isSet = true;
            }
            t4 = siblingComponents_case_0;
          } else
            t4 = _null;
          t0 = t4;
          t4 = t3;
          t3 = t0;
        } else {
          t3 = _null;
          t4 = false;
        }
        if (!t4) {
          if (_4_10_isSet)
            t4 = _4_10;
          else {
            _4_10 = B.Combinator_gRV === _4_1;
            t4 = _4_10;
          }
          if (!t4)
            t4 = _4_3;
          else
            t4 = true;
          if (t4) {
            if (_4_4_isSet)
              t4 = _4_4;
            else {
              _4_4 = t2[1];
              t4 = _4_4;
              _4_4_isSet = true;
            }
            t4 = B.Combinator_8I8 === t4;
            if (t4) {
              if (_4_6_isSet)
                siblingComponents_case_1 = _4_6;
              else {
                _4_6 = t2[2];
                siblingComponents_case_1 = _4_6;
                _4_6_isSet = true;
              }
              t3 = siblingComponents_case_1;
            }
          } else
            t4 = false;
        } else
          t4 = true;
        if (t4) {
          result.addFirst$1(A._setArrayType([A._setArrayType([t3.removeLast$0(0)], type$.JSArray_ComplexSelectorComponent)], type$.JSArray_List_ComplexSelectorComponent));
          break $label2$2;
        }
        t3 = _4_1 == null;
        t4 = !t3;
        if (t4) {
          combinator1 = _4_1;
          if (_4_4_isSet)
            t5 = _4_4;
          else {
            _4_4 = t2[1];
            t5 = _4_4;
            _4_4_isSet = true;
          }
          if (t5 != null) {
            if (_4_4_isSet)
              combinator2 = _4_4;
            else {
              _4_4 = t2[1];
              combinator2 = _4_4;
              _4_4_isSet = true;
            }
            t5 = combinator1 === (combinator2 == null ? type$.Combinator._as(combinator2) : combinator2);
          } else
            t5 = false;
        } else
          t5 = false;
        if (t5) {
          unified = A.unifyCompound(components1.removeLast$0(0).selector, components2.removeLast$0(0).selector);
          if (unified == null)
            return _null;
          result.addFirst$1(A._setArrayType([A._setArrayType([new A.ComplexSelectorComponent(unified, A.List_List$unmodifiable(A._setArrayType([B.JSArray_methods.get$first(t1)], type$.JSArray_CssValue_Combinator), type$.CssValue_Combinator), span)], type$.JSArray_ComplexSelectorComponent)], type$.JSArray_List_ComplexSelectorComponent));
          break $label2$2;
        }
        if (t4) {
          combinator_case_0 = _4_1;
          if (_4_4_isSet)
            t1 = _4_4;
          else {
            _4_4 = t2[1];
            t1 = _4_4;
            _4_4_isSet = true;
          }
          t1 = t1 == null;
          if (t1) {
            if (_4_6_isSet)
              combinatorComponents_case_0 = _4_6;
            else {
              _4_6 = t2[2];
              combinatorComponents_case_0 = _4_6;
              _4_6_isSet = true;
            }
            if (_4_7_isSet)
              descendantComponents_case_0 = _4_7;
            else {
              _4_7 = t2[3];
              descendantComponents_case_0 = _4_7;
              _4_7_isSet = true;
            }
            t4 = descendantComponents_case_0;
            t6 = t4;
            t4 = combinator_case_0;
            t5 = combinatorComponents_case_0;
          } else {
            t6 = _null;
            t5 = t6;
            t4 = t5;
          }
          t0 = t6;
          t6 = t1;
          t1 = t4;
          t4 = t5;
          t5 = t0;
        } else {
          t5 = _null;
          t4 = t5;
          t1 = t4;
          t6 = false;
        }
        if (!t6)
          if (t3) {
            if (_4_4_isSet)
              t3 = _4_4;
            else {
              _4_4 = t2[1];
              t3 = _4_4;
              _4_4_isSet = true;
            }
            t3 = t3 != null;
            if (t3) {
              combinator_case_1 = _4_4_isSet ? _4_4 : t2[1];
              if (combinator_case_1 == null)
                combinator_case_1 = type$.Combinator._as(combinator_case_1);
              descendantComponents_case_1 = _4_6_isSet ? _4_6 : t2[2];
              combinatorComponents_case_1 = _4_7_isSet ? _4_7 : t2[3];
              t1 = combinatorComponents_case_1;
              t2 = descendantComponents_case_1;
              t4 = t2;
              t2 = t1;
              t1 = combinator_case_1;
            } else {
              t2 = t4;
              t4 = t5;
            }
            t0 = t4;
            t4 = t3;
            t3 = t0;
          } else {
            t3 = t5;
            t2 = t4;
            t4 = false;
          }
        else {
          t3 = t5;
          t2 = t4;
          t4 = true;
        }
        if (t4) {
          if (t1 === B.Combinator_8I8) {
            t1 = A.IterableExtension_get_lastOrNull(t3);
            t1 = t1 == null ? _null : A.compoundIsSuperselector(t1.selector, t2.get$last(t2).selector, _null);
            t1 = t1 === true;
          } else
            t1 = false;
          if (t1)
            t3.removeLast$0(0);
          result.addFirst$1(A._setArrayType([A._setArrayType([t2.removeLast$0(0)], type$.JSArray_ComplexSelectorComponent)], type$.JSArray_List_ComplexSelectorComponent));
          break $label2$2;
        }
        return _null;
      }
      return A._mergeTrailingCombinators(components1, components2, span, result);
    },
    _mustUnify(complex1, complex2) {
      var t2, t3, t4,
        t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.SimpleSelector);
      for (t2 = J.get$iterator$ax(complex1); t2.moveNext$0();)
        for (t3 = B.JSArray_methods.get$iterator(t2.get$current(t2).selector.components), t4 = new A.WhereIterator(t3, A.functions___isUnique$closure()); t4.moveNext$0();)
          t1.add$1(0, t3.get$current(0));
      if (t1._collection$_length === 0)
        return false;
      return J.any$1$ax(complex2, new A._mustUnify_closure(t1));
    },
    _isUnique(simple) {
      var t1;
      if (!(simple instanceof A.IDSelector))
        t1 = simple instanceof A.PseudoSelector && !simple.isClass;
      else
        t1 = true;
      return t1;
    },
    _chunks(queue1, queue2, done, $T) {
      var chunk2, _0_4, _0_5_isSet, _0_1, _0_7, _0_5, chunk, _0_5_isSet0, t2, _null = null,
        t1 = $T._eval$1("JSArray<0>"),
        chunk1 = A._setArrayType([], t1);
      for (; !done.call$1(queue1);)
        chunk1.push(queue1.removeFirst$0());
      chunk2 = A._setArrayType([], t1);
      for (; !done.call$1(queue2);)
        chunk2.push(queue2.removeFirst$0());
      $label0$0: {
        _0_4 = chunk1.length <= 0;
        _0_5_isSet = _0_4;
        _0_1 = chunk1;
        if (_0_5_isSet) {
          _0_7 = chunk2.length <= 0;
          t1 = _0_7;
          _0_5 = chunk2;
        } else {
          _0_5 = _null;
          _0_7 = _0_5;
          t1 = false;
        }
        if (t1) {
          t1 = A._setArrayType([], $T._eval$1("JSArray>"));
          break $label0$0;
        }
        if (_0_4)
          if (_0_5_isSet) {
            chunk = _0_5;
            _0_5_isSet0 = _0_5_isSet;
          } else {
            chunk = chunk2;
            _0_5 = chunk;
            _0_5_isSet0 = true;
          }
        else {
          chunk = _null;
          _0_5_isSet0 = _0_5_isSet;
        }
        if (!_0_4) {
          if (_0_5_isSet)
            t1 = _0_7;
          else {
            _0_7 = (_0_5_isSet0 ? _0_5 : chunk2).length <= 0;
            t1 = _0_7;
          }
          chunk = _0_1;
        } else
          t1 = true;
        if (t1) {
          t1 = A._setArrayType([chunk], $T._eval$1("JSArray>"));
          break $label0$0;
        }
        t1 = A.List_List$of(chunk1, true, $T);
        B.JSArray_methods.addAll$1(t1, chunk2);
        t2 = A.List_List$of(chunk2, true, $T);
        B.JSArray_methods.addAll$1(t2, chunk1);
        t2 = A._setArrayType([t1, t2], $T._eval$1("JSArray>"));
        t1 = t2;
        break $label0$0;
      }
      return t1;
    },
    paths(choices, $T) {
      return J.fold$2$ax(choices, A._setArrayType([A._setArrayType([], $T._eval$1("JSArray<0>"))], $T._eval$1("JSArray>")), new A.paths_closure($T));
    },
    _groupSelectors(complex) {
      var t2, t3, t4,
        groups = A.QueueList$(null, type$.List_ComplexSelectorComponent),
        t1 = type$.JSArray_ComplexSelectorComponent,
        group = A._setArrayType([], t1);
      for (t2 = complex.$ti, t3 = new A.ListIterator(complex, complex.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t3.moveNext$0();) {
        t4 = t3.__internal$_current;
        if (t4 == null)
          t4 = t2._as(t4);
        group.push(t4);
        if (t4.combinators.length === 0) {
          groups._queue_list$_add$1(group);
          group = A._setArrayType([], t1);
        }
      }
      if (group.length !== 0)
        groups._queue_list$_add$1(group);
      return groups;
    },
    listIsSuperselector(list1, list2) {
      return B.JSArray_methods.every$1(list2, new A.listIsSuperselector_closure(list1));
    },
    _complexIsParentSuperselector(complex1, complex2) {
      var t1, base, t2;
      if (J.get$length$asx(complex1) > J.get$length$asx(complex2))
        return false;
      t1 = $.$get$bogusSpan();
      base = new A.ComplexSelectorComponent(A.CompoundSelector$(A._setArrayType([new A.PlaceholderSelector("", t1)], type$.JSArray_SimpleSelector), t1), A.List_List$unmodifiable(B.List_empty0, type$.CssValue_Combinator), t1);
      t1 = type$.ComplexSelectorComponent;
      t2 = A.List_List$of(complex1, true, t1);
      t2.push(base);
      t1 = A.List_List$of(complex2, true, t1);
      t1.push(base);
      return A.complexIsSuperselector(t2, t1);
    },
    complexIsSuperselector(complex1, complex2) {
      var t1, t2, previousCombinator, i1, i2, remaining1, remaining2, component1, t3, t4, endOfSubselector, component2, t5, combinator1, _null = null;
      if (B.JSArray_methods.get$last(complex1).combinators.length !== 0)
        return false;
      if (B.JSArray_methods.get$last(complex2).combinators.length !== 0)
        return false;
      for (t1 = A._arrayInstanceType(complex2), t2 = t1._precomputed1, t1 = t1._eval$1("SubListIterable<1>"), previousCombinator = _null, i1 = 0, i2 = 0; true; previousCombinator = combinator1) {
        remaining1 = complex1.length - i1;
        remaining2 = complex2.length - i2;
        if (remaining1 === 0 || remaining2 === 0)
          return false;
        if (remaining1 > remaining2)
          return false;
        component1 = complex1[i1];
        t3 = component1.combinators;
        if (t3.length > 1)
          return false;
        if (remaining1 === 1)
          if (B.JSArray_methods.any$1(complex2, new A.complexIsSuperselector_closure()))
            return false;
          else {
            t1 = component1.selector;
            t2 = B.JSArray_methods.get$last(complex2).selector;
            return A.compoundIsSuperselector(t1, t2, t1.get$hasComplicatedSuperselectorSemantics() ? B.JSArray_methods.sublist$2(complex2, i2, complex2.length - 1) : _null);
          }
        for (t4 = component1.selector, endOfSubselector = i2; true;) {
          component2 = complex2[endOfSubselector];
          if (component2.combinators.length > 1)
            return false;
          t5 = component2.selector;
          if (A.compoundIsSuperselector(t4, t5, t4.get$hasComplicatedSuperselectorSemantics() ? B.JSArray_methods.sublist$2(complex2, i2, endOfSubselector) : _null))
            break;
          ++endOfSubselector;
          if (endOfSubselector === complex2.length - 1)
            return false;
        }
        t4 = new A.SubListIterable(complex2, 0, endOfSubselector, t1);
        t4.SubListIterable$3(complex2, 0, endOfSubselector, t2);
        if (!A._compatibleWithPreviousCombinator(previousCombinator, t4.skip$1(0, i2)))
          return false;
        component2 = complex2[endOfSubselector];
        combinator1 = A.IterableExtension_get_firstOrNull(t3);
        if (!A._isSupercombinator(combinator1, A.IterableExtension_get_firstOrNull(component2.combinators)))
          return false;
        ++i1;
        i2 = endOfSubselector + 1;
        if (complex1.length - i1 === 1) {
          t3 = combinator1 == null;
          if (J.$eq$(t3 ? _null : combinator1.value, B.Combinator_y18)) {
            t3 = complex2.length - 1;
            t4 = new A.SubListIterable(complex2, 0, t3, t1);
            t4.SubListIterable$3(complex2, 0, t3, t2);
            if (!t4.skip$1(0, i2).every$1(0, new A.complexIsSuperselector_closure0(combinator1)))
              return false;
          } else if (!t3)
            if (complex2.length - i2 > 1)
              return false;
        }
      }
    },
    _compatibleWithPreviousCombinator(previous, parents) {
      if (parents.get$isEmpty(parents))
        return true;
      if (previous == null)
        return true;
      if (previous.value !== B.Combinator_y18)
        return false;
      return parents.every$1(0, new A._compatibleWithPreviousCombinator_closure());
    },
    _isSupercombinator(combinator1, combinator2) {
      var t1, t2;
      if (!J.$eq$(combinator1, combinator2)) {
        t1 = combinator1 == null;
        if (t1)
          t2 = J.$eq$(combinator2 == null ? null : combinator2.value, B.Combinator_8I8);
        else
          t2 = false;
        if (!t2)
          if (J.$eq$(t1 ? null : combinator1.value, B.Combinator_y18))
            t1 = J.$eq$(combinator2 == null ? null : combinator2.value, B.Combinator_gRV);
          else
            t1 = false;
        else
          t1 = true;
      } else
        t1 = true;
      return t1;
    },
    compoundIsSuperselector(compound1, compound2, parents) {
      var t1, _0_1, _0_5, _0_5_isSet, t2, pseudo1, index1, t3, pseudo2, index2, _0_50, t4, t5, _i, simple1, _null = null;
      if (!compound1.get$hasComplicatedSuperselectorSemantics() && !compound2.get$hasComplicatedSuperselectorSemantics()) {
        t1 = compound1.components;
        if (t1.length > compound2.components.length)
          return false;
        return B.JSArray_methods.every$1(t1, new A.compoundIsSuperselector_closure(compound2));
      }
      _0_1 = A._findPseudoElementIndexed(compound1);
      _0_5 = A._findPseudoElementIndexed(compound2);
      t1 = type$.Record_2_nullable_Object_and_nullable_Object;
      _0_5_isSet = t1._is(_0_1);
      if (_0_5_isSet) {
        t2 = _0_1 == null;
        pseudo1 = (t2 ? t1._as(_0_1) : _0_1)._0;
        index1 = (t2 ? t1._as(_0_1) : _0_1)._1;
        t2 = t1._is(_0_5);
        if (t2) {
          t3 = _0_5 == null;
          pseudo2 = (t3 ? t1._as(_0_5) : _0_5)._0;
          index2 = (t3 ? t1._as(_0_5) : _0_5)._1;
        } else {
          index2 = _null;
          pseudo2 = index2;
        }
        t1 = t2;
        _0_50 = _0_5;
      } else {
        index2 = _null;
        pseudo2 = index2;
        index1 = pseudo2;
        pseudo1 = index1;
        _0_50 = pseudo1;
        t1 = false;
      }
      if (t1) {
        if (pseudo1.isSuperselector$1(pseudo2)) {
          t1 = compound1.components;
          t2 = type$.int;
          t3 = A._arrayInstanceType(t1)._precomputed1;
          t4 = compound2.components;
          t5 = A._arrayInstanceType(t4)._precomputed1;
          t1 = A._compoundComponentsIsSuperselector(A.SubListIterable$(t1, 0, A.checkNotNullable(index1, "count", t2), t3), A.SubListIterable$(t4, 0, A.checkNotNullable(index2, "count", t2), t5), parents) && A._compoundComponentsIsSuperselector(A.SubListIterable$(t1, index1 + 1, _null, t3), A.SubListIterable$(t4, index2 + 1, _null, t5), parents);
        } else
          t1 = false;
        return t1;
      }
      if (_0_1 == null)
        t1 = (_0_5_isSet ? _0_50 : _0_5) != null;
      else
        t1 = true;
      if (t1)
        return false;
      for (t1 = compound1.components, t2 = t1.length, t3 = compound2.components, _i = 0; _i < t2; ++_i) {
        simple1 = t1[_i];
        if (simple1 instanceof A.PseudoSelector)
          t4 = simple1.selector != null;
        else
          t4 = false;
        if (t4) {
          if (!A._selectorPseudoIsSuperselector(simple1, compound2, parents))
            return false;
        } else if (!B.JSArray_methods.any$1(t3, simple1.get$isSuperselector()))
          return false;
      }
      return true;
    },
    _findPseudoElementIndexed(compound) {
      var t1, t2, i, simple;
      for (t1 = compound.components, t2 = t1.length, i = 0; i < t2; ++i) {
        simple = t1[i];
        if (simple instanceof A.PseudoSelector && !simple.isClass)
          return new A._Record_2(simple, i);
      }
      return null;
    },
    _compoundComponentsIsSuperselector(compound1, compound2, parents) {
      var t1;
      if (compound1.get$length(0) === 0)
        return true;
      if (compound2.get$length(0) === 0)
        compound2 = A._setArrayType([new A.UniversalSelector("*", $.$get$bogusSpan())], type$.JSArray_SimpleSelector);
      t1 = $.$get$bogusSpan();
      return A.compoundIsSuperselector(A.CompoundSelector$(compound1, t1), A.CompoundSelector$(compound2, t1), parents);
    },
    _selectorPseudoIsSuperselector(pseudo1, compound2, parents) {
      var selector1 = pseudo1.selector;
      if (selector1 == null)
        throw A.wrapException(A.ArgumentError$("Selector " + pseudo1.toString$0(0) + " must have a selector argument.", null));
      switch (pseudo1.normalizedName) {
        case "is":
        case "matches":
        case "any":
        case "where":
          return A._selectorPseudoArgs(compound2, pseudo1.name, true).any$1(0, new A._selectorPseudoIsSuperselector_closure(selector1)) || B.JSArray_methods.any$1(selector1.components, new A._selectorPseudoIsSuperselector_closure0(parents, compound2));
        case "has":
        case "host":
        case "host-context":
          return A._selectorPseudoArgs(compound2, pseudo1.name, true).any$1(0, new A._selectorPseudoIsSuperselector_closure1(selector1));
        case "slotted":
          return A._selectorPseudoArgs(compound2, pseudo1.name, false).any$1(0, new A._selectorPseudoIsSuperselector_closure2(selector1));
        case "not":
          return B.JSArray_methods.every$1(selector1.components, new A._selectorPseudoIsSuperselector_closure3(compound2, pseudo1));
        case "current":
          return A._selectorPseudoArgs(compound2, pseudo1.name, true).any$1(0, new A._selectorPseudoIsSuperselector_closure4(selector1));
        case "nth-child":
        case "nth-last-child":
          return B.JSArray_methods.any$1(compound2.components, new A._selectorPseudoIsSuperselector_closure5(pseudo1, selector1));
        default:
          throw A.wrapException("unreachable");
      }
    },
    _selectorPseudoArgs(compound, $name, isClass) {
      var t1 = type$.WhereTypeIterable_PseudoSelector;
      return A.IterableNullableExtension_whereNotNull(new A.MappedIterable(new A.WhereIterable(new A.WhereTypeIterable(compound.components, t1), new A._selectorPseudoArgs_closure(isClass, $name), t1._eval$1("WhereIterable")), new A._selectorPseudoArgs_closure0(), t1._eval$1("MappedIterable")), type$.SelectorList);
    },
    unifyComplex_closure: function unifyComplex_closure() {
    },
    _weaveParents_closure: function _weaveParents_closure(t0) {
      this.span = t0;
    },
    _weaveParents_closure0: function _weaveParents_closure0(t0) {
      this.group = t0;
    },
    _weaveParents_closure1: function _weaveParents_closure1() {
    },
    _weaveParents_closure2: function _weaveParents_closure2() {
    },
    _mustUnify_closure: function _mustUnify_closure(t0) {
      this.uniqueSelectors = t0;
    },
    _mustUnify__closure: function _mustUnify__closure(t0) {
      this.uniqueSelectors = t0;
    },
    paths_closure: function paths_closure(t0) {
      this.T = t0;
    },
    paths__closure: function paths__closure(t0, t1) {
      this.paths = t0;
      this.T = t1;
    },
    paths___closure: function paths___closure(t0, t1) {
      this.option = t0;
      this.T = t1;
    },
    listIsSuperselector_closure: function listIsSuperselector_closure(t0) {
      this.list1 = t0;
    },
    listIsSuperselector__closure: function listIsSuperselector__closure(t0) {
      this.complex1 = t0;
    },
    complexIsSuperselector_closure: function complexIsSuperselector_closure() {
    },
    complexIsSuperselector_closure0: function complexIsSuperselector_closure0(t0) {
      this.combinator1 = t0;
    },
    _compatibleWithPreviousCombinator_closure: function _compatibleWithPreviousCombinator_closure() {
    },
    compoundIsSuperselector_closure: function compoundIsSuperselector_closure(t0) {
      this.compound2 = t0;
    },
    _selectorPseudoIsSuperselector_closure: function _selectorPseudoIsSuperselector_closure(t0) {
      this.selector1 = t0;
    },
    _selectorPseudoIsSuperselector_closure0: function _selectorPseudoIsSuperselector_closure0(t0, t1) {
      this.parents = t0;
      this.compound2 = t1;
    },
    _selectorPseudoIsSuperselector_closure1: function _selectorPseudoIsSuperselector_closure1(t0) {
      this.selector1 = t0;
    },
    _selectorPseudoIsSuperselector_closure2: function _selectorPseudoIsSuperselector_closure2(t0) {
      this.selector1 = t0;
    },
    _selectorPseudoIsSuperselector_closure3: function _selectorPseudoIsSuperselector_closure3(t0, t1) {
      this.compound2 = t0;
      this.pseudo1 = t1;
    },
    _selectorPseudoIsSuperselector__closure: function _selectorPseudoIsSuperselector__closure(t0, t1) {
      this.complex = t0;
      this.pseudo1 = t1;
    },
    _selectorPseudoIsSuperselector___closure: function _selectorPseudoIsSuperselector___closure(t0) {
      this.simple2 = t0;
    },
    _selectorPseudoIsSuperselector___closure0: function _selectorPseudoIsSuperselector___closure0(t0) {
      this.simple2 = t0;
    },
    _selectorPseudoIsSuperselector_closure4: function _selectorPseudoIsSuperselector_closure4(t0) {
      this.selector1 = t0;
    },
    _selectorPseudoIsSuperselector_closure5: function _selectorPseudoIsSuperselector_closure5(t0, t1) {
      this.pseudo1 = t0;
      this.selector1 = t1;
    },
    _selectorPseudoArgs_closure: function _selectorPseudoArgs_closure(t0, t1) {
      this.isClass = t0;
      this.name = t1;
    },
    _selectorPseudoArgs_closure0: function _selectorPseudoArgs_closure0() {
    },
    MergedExtension_merge(left, right) {
      var t2, t3, t4,
        t1 = left.extender.selector;
      if (!t1.$eq(0, right.extender.selector) || !left.target.$eq(0, right.target))
        throw A.wrapException(A.ArgumentError$(left.toString$0(0) + " and " + right.toString$0(0) + " aren't the same extension.", null));
      t2 = left.mediaContext;
      t3 = t2 == null;
      if (!t3) {
        t4 = right.mediaContext;
        t4 = t4 != null && !B.C_ListEquality.equals$2(0, t2, t4);
      } else
        t4 = false;
      if (t4)
        throw A.wrapException(A.SassException$("From " + left.span.message$1(0, "") + string$.x0aYou_m, right.span, null));
      if (right.isOptional && right.mediaContext == null)
        return left;
      if (left.isOptional && t3)
        return right;
      if (t3)
        t2 = right.mediaContext;
      t1.get$specificity();
      t1 = new A.Extender(t1, false);
      return t1._extension = new A.MergedExtension(left, right, t1, left.target, t2, true, left.span);
    },
    MergedExtension: function MergedExtension(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.left = t0;
      _.right = t1;
      _.extender = t2;
      _.target = t3;
      _.mediaContext = t4;
      _.isOptional = t5;
      _.span = t6;
    },
    ExtendMode: function ExtendMode(t0, t1) {
      this.name = t0;
      this._name = t1;
    },
    globalFunctions_closure: function globalFunctions_closure() {
    },
    _updateComponents($arguments, adjust, change, scale) {
      var keywords, alpha, red, green, blue, hue, saturation, lightness, whiteness, blackness, hasRgb, hasSL, hasWB, t2, t3, t4, t5, _null = null,
        t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color"),
        argumentList = type$.SassArgumentList._as(t1.$index($arguments, 1));
      if (argumentList._list$_contents.length !== 0)
        throw A.wrapException(A.SassScriptException$(string$.Only_op, _null));
      argumentList._wereKeywordsAccessed = true;
      keywords = A.LinkedHashMap_LinkedHashMap$of(argumentList._keywords, type$.String, type$.Value);
      t1 = new A._updateComponents_getParam(keywords, scale, change);
      alpha = t1.call$3$checkUnitless("alpha", 1, true);
      red = t1.call$2("red", 255);
      green = t1.call$2("green", 255);
      blue = t1.call$2("blue", 255);
      hue = scale ? _null : A.NullableExtension_andThen(keywords.remove$1(0, "hue"), new A._updateComponents_closure());
      saturation = t1.call$3$checkPercent("saturation", 100, true);
      lightness = t1.call$3$checkPercent("lightness", 100, true);
      whiteness = t1.call$3$assertPercent("whiteness", 100, true);
      blackness = t1.call$3$assertPercent("blackness", 100, true);
      t1 = keywords.__js_helper$_length;
      if (t1 !== 0)
        throw A.wrapException(A.SassScriptException$("No " + A.pluralize("argument", t1, _null) + " named " + A.toSentence(keywords.get$keys(0).map$1$1(0, new A._updateComponents_closure0(), type$.Object), "or") + ".", _null));
      hasRgb = red != null || green != null || blue != null;
      hasSL = saturation != null || lightness != null;
      hasWB = whiteness != null || blackness != null;
      if (hasRgb)
        t1 = hasSL || hasWB || hue != null;
      else
        t1 = false;
      if (t1)
        throw A.wrapException(A.SassScriptException$(string$.RGB_pa + (hasWB ? "HWB" : "HSL") + " parameters.", _null));
      if (hasSL && hasWB)
        throw A.wrapException(A.SassScriptException$(string$.HSL_pa, _null));
      t1 = new A._updateComponents_updateValue(change, adjust);
      t2 = new A._updateComponents_updateRgb(t1);
      if (hasRgb) {
        t3 = t2.call$2(color.get$red(0), red);
        t4 = t2.call$2(color.get$green(0), green);
        t2 = t2.call$2(color.get$blue(0), blue);
        return color.changeRgb$4$alpha$blue$green$red(t1.call$3(color._alpha, alpha, 1), t2, t4, t3);
      } else if (hasWB) {
        if (change)
          t2 = hue;
        else {
          t2 = color.get$hue(0);
          t2 += hue == null ? 0 : hue;
        }
        t3 = t1.call$3(color.get$whiteness(0), whiteness, 100);
        t4 = t1.call$3(color.get$blackness(0), blackness, 100);
        t5 = color._alpha;
        t1 = t1.call$3(t5, alpha, 1);
        if (t2 == null)
          t2 = color.get$hue(0);
        if (t3 == null)
          t3 = color.get$whiteness(0);
        if (t4 == null)
          t4 = color.get$blackness(0);
        return A.SassColor_SassColor$hwb(t2, t3, t4, t1 == null ? t5 : t1);
      } else {
        t2 = hue == null;
        if (!t2 || hasSL) {
          if (change)
            t2 = hue;
          else {
            t3 = color.get$hue(0);
            t3 += t2 ? 0 : hue;
            t2 = t3;
          }
          t3 = t1.call$3(color.get$saturation(0), saturation, 100);
          t4 = t1.call$3(color.get$lightness(0), lightness, 100);
          return color.changeHsl$4$alpha$hue$lightness$saturation(t1.call$3(color._alpha, alpha, 1), t2, t4, t3);
        } else if (alpha != null)
          return color.changeAlpha$1(t1.call$3(color._alpha, alpha, 1));
        else
          return color;
      }
    },
    _functionString($name, $arguments) {
      return new A.SassString($name + "(" + J.map$1$1$ax($arguments, new A._functionString_closure(), type$.String).join$1(0, ", ") + ")", false);
    },
    _removedColorFunction($name, argument, negative) {
      return A.BuiltInCallable$function($name, "$color, $amount", new A._removedColorFunction_closure($name, argument, negative), "sass:color");
    },
    _rgb($name, $arguments) {
      var t2, red, green, blue, t3, t4,
        t1 = J.getInterceptor$asx($arguments),
        alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null;
      if (!t1.$index($arguments, 0).get$isSpecialNumber())
        if (!t1.$index($arguments, 1).get$isSpecialNumber())
          if (!t1.$index($arguments, 2).get$isSpecialNumber()) {
            t2 = alpha == null ? null : alpha.get$isSpecialNumber();
            t2 = t2 === true;
          } else
            t2 = true;
        else
          t2 = true;
      else
        t2 = true;
      if (t2)
        return A._functionString($name, $arguments);
      red = t1.$index($arguments, 0).assertNumber$1("red");
      green = t1.$index($arguments, 1).assertNumber$1("green");
      blue = t1.$index($arguments, 2).assertNumber$1("blue");
      t1 = A.fuzzyRound(A._percentageOrUnitless(red, 255, "red"));
      t2 = A.fuzzyRound(A._percentageOrUnitless(green, 255, "green"));
      t3 = A.fuzzyRound(A._percentageOrUnitless(blue, 255, "blue"));
      t4 = A.NullableExtension_andThen(alpha, new A._rgb_closure());
      return A.SassColor$rgbInternal(t1, t2, t3, t4 == null ? 1 : t4, B._ColorFormatEnum_rgbFunction);
    },
    _rgbTwoArg($name, $arguments) {
      var t2, color,
        t1 = J.getInterceptor$asx($arguments);
      if (!t1.$index($arguments, 0).get$isVar())
        t2 = !(t1.$index($arguments, 0) instanceof A.SassColor) && t1.$index($arguments, 1).get$isVar();
      else
        t2 = true;
      if (t2)
        return A._functionString($name, $arguments);
      else if (t1.$index($arguments, 1).get$isSpecialNumber()) {
        color = t1.$index($arguments, 0).assertColor$1("color");
        return new A.SassString($name + "(" + color.get$red(0) + ", " + color.get$green(0) + ", " + color.get$blue(0) + ", " + A.serializeValue(t1.$index($arguments, 1), false, true) + ")", false);
      }
      return t1.$index($arguments, 0).assertColor$1("color").changeAlpha$1(A._percentageOrUnitless(t1.$index($arguments, 1).assertNumber$1("alpha"), 1, "alpha"));
    },
    _hsl($name, $arguments) {
      var t2, hue, saturation, lightness, t3,
        _s10_ = "saturation",
        _s9_ = "lightness",
        t1 = J.getInterceptor$asx($arguments),
        alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null;
      if (!t1.$index($arguments, 0).get$isSpecialNumber())
        if (!t1.$index($arguments, 1).get$isSpecialNumber())
          if (!t1.$index($arguments, 2).get$isSpecialNumber()) {
            t2 = alpha == null ? null : alpha.get$isSpecialNumber();
            t2 = t2 === true;
          } else
            t2 = true;
        else
          t2 = true;
      else
        t2 = true;
      if (t2)
        return A._functionString($name, $arguments);
      hue = A._angleValue(t1.$index($arguments, 0), "hue");
      saturation = t1.$index($arguments, 1).assertNumber$1(_s10_);
      lightness = t1.$index($arguments, 2).assertNumber$1(_s9_);
      A._checkPercent(saturation, _s10_);
      A._checkPercent(lightness, _s9_);
      t1 = B.JSNumber_methods.clamp$2(saturation._number$_value, 0, 100);
      t2 = B.JSNumber_methods.clamp$2(lightness._number$_value, 0, 100);
      t3 = A.NullableExtension_andThen(alpha, new A._hsl_closure());
      return A.SassColor$hslInternal(hue, t1, t2, t3 == null ? 1 : t3, B._ColorFormatEnum_hslFunction);
    },
    _angleValue(angleValue, $name) {
      var angle = angleValue.assertNumber$1($name);
      if (angle.compatibleWithUnit$1("deg"))
        return angle.coerceValueToUnit$1("deg");
      A.warnForDeprecation("$" + $name + ": Passing a unit other than deg (" + angle.toString$0(0) + string$.x29x20is_d + angle.unitSuggestion$1($name) + string$.x0a_See_, B.Deprecation_2jN);
      return angle._number$_value;
    },
    _checkPercent(number, $name) {
      if (number.hasUnit$1("%"))
        return;
      A.warnForDeprecation("$" + $name + ": Passing a number without unit % (" + number.toString$0(0) + string$.x29x20is_d + number.unitSuggestion$2($name, "%") + string$.x0a_Morex3a, B.Deprecation_2jN);
    },
    _hwb($arguments) {
      var t2, t3,
        _s9_ = "whiteness",
        _s9_0 = "blackness",
        t1 = J.getInterceptor$asx($arguments),
        alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null,
        hue = A._angleValue(t1.$index($arguments, 0), "hue"),
        whiteness = t1.$index($arguments, 1).assertNumber$1(_s9_),
        blackness = t1.$index($arguments, 2).assertNumber$1(_s9_0);
      whiteness.assertUnit$2("%", _s9_);
      blackness.assertUnit$2("%", _s9_0);
      t1 = whiteness.valueInRange$3(0, 100, _s9_);
      t2 = blackness.valueInRange$3(0, 100, _s9_0);
      t3 = A.NullableExtension_andThen(alpha, new A._hwb_closure());
      return A.SassColor_SassColor$hwb(hue, t1, t2, t3 == null ? 1 : t3);
    },
    _parseChannels($name, argumentNames, channels) {
      var list, t1, channels0, alphaFromSlashList, isCommaSeparated, isBracketed, buffer, _0_4, _1_0, _1_2_isSet, _1_2, t2, _null = null,
        _s17_ = "$channels must be";
      if (channels.get$isVar())
        return A._functionString($name, A._setArrayType([channels], type$.JSArray_Value));
      if (channels.get$separator(channels) === B.ListSeparator_cQA) {
        list = channels.get$asList();
        t1 = list.length;
        if (t1 !== 2)
          throw A.wrapException(A.SassScriptException$(string$.Only_2 + t1 + " " + A.pluralize("was", t1, "were") + " passed.", _null));
        channels0 = list[0];
        alphaFromSlashList = list[1];
        if (!alphaFromSlashList.get$isSpecialNumber())
          alphaFromSlashList.assertNumber$1("alpha");
        if (list[0].get$isVar())
          return A._functionString($name, A._setArrayType([channels], type$.JSArray_Value));
      } else {
        alphaFromSlashList = _null;
        channels0 = channels;
      }
      isCommaSeparated = channels0.get$separator(channels0) === B.ListSeparator_ECn;
      isBracketed = channels0.get$hasBrackets();
      if (isCommaSeparated || isBracketed) {
        buffer = new A.StringBuffer(_s17_);
        if (isBracketed) {
          t1 = _s17_ + " an unbracketed";
          buffer._contents = t1;
        } else
          t1 = _s17_;
        if (isCommaSeparated) {
          t1 += isBracketed ? "," : " a";
          buffer._contents = t1;
          t1 = buffer._contents = t1 + " space-separated";
        }
        buffer._contents = t1 + " list.";
        throw A.wrapException(A.SassScriptException$(buffer.toString$0(0), _null));
      }
      list = channels0.get$asList();
      if (list.length >= 2) {
        _0_4 = list[0];
        t1 = _0_4;
        if (t1 instanceof A.SassString) {
          type$.SassString._as(_0_4);
          t1 = !_0_4._hasQuotes && A.equalsIgnoreCase(_0_4._string$_text, "from");
        } else
          t1 = false;
      } else
        t1 = false;
      if (t1)
        return A._functionString($name, A._setArrayType([channels], type$.JSArray_Value));
      t1 = list.length;
      if (t1 > 3)
        throw A.wrapException(A.SassScriptException$("Only 3 elements allowed, but " + t1 + " were passed.", _null));
      else if (t1 < 3) {
        if (!B.JSArray_methods.any$1(list, new A._parseChannels_closure()))
          if (list.length !== 0) {
            t1 = B.JSArray_methods.get$last(list);
            if (t1 instanceof A.SassString)
              if (t1._hasQuotes) {
                t1 = t1._string$_text;
                t1 = A.startsWithIgnoreCase(t1, "var(") && B.JSString_methods.contains$1(t1, "/");
              } else
                t1 = false;
            else
              t1 = false;
          } else
            t1 = false;
        else
          t1 = true;
        if (t1)
          return A._functionString($name, A._setArrayType([channels], type$.JSArray_Value));
        else
          throw A.wrapException(A.SassScriptException$("Missing element " + argumentNames[list.length] + ".", _null));
      }
      if (alphaFromSlashList != null) {
        t1 = A.List_List$of(list, true, type$.Value);
        t1.push(alphaFromSlashList);
        return t1;
      }
      _1_0 = list[2];
      $label0$0: {
        _1_2_isSet = _1_0 instanceof A.SassNumber;
        if (_1_2_isSet) {
          _1_2 = _1_0.asSlash;
          t1 = type$.Record_2_nullable_Object_and_nullable_Object._is(_1_2);
        } else {
          _1_2 = _null;
          t1 = false;
        }
        if (t1) {
          if (_1_2_isSet)
            t1 = _1_2;
          else {
            _1_2 = _1_0.asSlash;
            t1 = _1_2;
            _1_2_isSet = true;
          }
          if (t1 == null)
            t1 = type$.Record_2_nullable_Object_and_nullable_Object._as(t1);
          t2 = _1_2_isSet ? _1_2 : _1_0.asSlash;
          if (t2 == null)
            t2 = type$.Record_2_nullable_Object_and_nullable_Object._as(t2);
          t2 = A._setArrayType([list[0], list[1], t1._0, t2._1], type$.JSArray_Value);
          t1 = t2;
          break $label0$0;
        }
        if (_1_0 instanceof A.SassString)
          if (!_1_0._hasQuotes)
            t1 = B.JSString_methods.contains$1(_1_0._string$_text, "/");
          else
            t1 = false;
        else
          t1 = false;
        if (t1) {
          t1 = A._functionString($name, A._setArrayType([channels0], type$.JSArray_Value));
          break $label0$0;
        }
        t1 = list;
        break $label0$0;
      }
      return t1;
    },
    _percentageOrUnitless(number, max, $name) {
      var value;
      if (!number.get$hasUnits())
        value = number._number$_value;
      else if (number.hasUnit$1("%"))
        value = max * number._number$_value / 100;
      else
        throw A.wrapException(A.SassScriptException$("$" + $name + ": Expected " + number.toString$0(0) + ' to have unit "%" or no units.', null));
      return B.JSNumber_methods.clamp$2(value, 0, max);
    },
    _mixColors(color1, color2, weight) {
      var weightScale, normalizedWeight, t1, t2, alphaDistance, t3, weight1, weight2;
      A._checkPercent(weight, "weight");
      weightScale = weight.valueInRange$3(0, 100, "weight") / 100;
      normalizedWeight = weightScale * 2 - 1;
      t1 = color1._alpha;
      t2 = color2._alpha;
      alphaDistance = t1 - t2;
      t3 = normalizedWeight * alphaDistance;
      weight1 = ((t3 === -1 ? normalizedWeight : (normalizedWeight + alphaDistance) / (1 + t3)) + 1) / 2;
      weight2 = 1 - weight1;
      return A.SassColor$rgb(A.fuzzyRound(color1.get$red(0) * weight1 + color2.get$red(0) * weight2), A.fuzzyRound(color1.get$green(0) * weight1 + color2.get$green(0) * weight2), A.fuzzyRound(color1.get$blue(0) * weight1 + color2.get$blue(0) * weight2), t1 * weightScale + t2 * (1 - weightScale));
    },
    _opacify($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color");
      return color.changeAlpha$1(B.JSNumber_methods.clamp$2(color._alpha + t1.$index($arguments, 1).assertNumber$1("amount").valueInRangeWithUnit$4(0, 1, "amount", ""), 0, 1));
    },
    _transparentize($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color");
      return color.changeAlpha$1(B.JSNumber_methods.clamp$2(color._alpha - t1.$index($arguments, 1).assertNumber$1("amount").valueInRangeWithUnit$4(0, 1, "amount", ""), 0, 1));
    },
    _function4($name, $arguments, callback) {
      return A.BuiltInCallable$function($name, $arguments, callback, "sass:color");
    },
    global_closure0: function global_closure0() {
    },
    global_closure1: function global_closure1() {
    },
    global_closure2: function global_closure2() {
    },
    global_closure3: function global_closure3() {
    },
    global_closure4: function global_closure4() {
    },
    global_closure5: function global_closure5() {
    },
    global_closure6: function global_closure6() {
    },
    global_closure7: function global_closure7() {
    },
    global_closure8: function global_closure8() {
    },
    global_closure9: function global_closure9() {
    },
    global_closure10: function global_closure10() {
    },
    global_closure11: function global_closure11() {
    },
    global_closure12: function global_closure12() {
    },
    global_closure13: function global_closure13() {
    },
    global_closure14: function global_closure14() {
    },
    global_closure15: function global_closure15() {
    },
    global_closure16: function global_closure16() {
    },
    global_closure17: function global_closure17() {
    },
    global_closure18: function global_closure18() {
    },
    global_closure19: function global_closure19() {
    },
    global_closure20: function global_closure20() {
    },
    global_closure21: function global_closure21() {
    },
    global_closure22: function global_closure22() {
    },
    global_closure23: function global_closure23() {
    },
    global_closure24: function global_closure24() {
    },
    global_closure25: function global_closure25() {
    },
    global__closure: function global__closure() {
    },
    global_closure26: function global_closure26() {
    },
    module_closure1: function module_closure1() {
    },
    module_closure2: function module_closure2() {
    },
    module_closure3: function module_closure3() {
    },
    module_closure4: function module_closure4() {
    },
    module_closure5: function module_closure5() {
    },
    module_closure6: function module_closure6() {
    },
    module_closure7: function module_closure7() {
    },
    module_closure8: function module_closure8() {
    },
    module__closure1: function module__closure1() {
    },
    module_closure9: function module_closure9() {
    },
    _red_closure: function _red_closure() {
    },
    _green_closure: function _green_closure() {
    },
    _blue_closure: function _blue_closure() {
    },
    _mix_closure: function _mix_closure() {
    },
    _hue_closure: function _hue_closure() {
    },
    _saturation_closure: function _saturation_closure() {
    },
    _lightness_closure: function _lightness_closure() {
    },
    _complement_closure: function _complement_closure() {
    },
    _adjust_closure: function _adjust_closure() {
    },
    _scale_closure: function _scale_closure() {
    },
    _change_closure: function _change_closure() {
    },
    _ieHexStr_closure: function _ieHexStr_closure() {
    },
    _ieHexStr_closure_hexString: function _ieHexStr_closure_hexString() {
    },
    _updateComponents_getParam: function _updateComponents_getParam(t0, t1, t2) {
      this.keywords = t0;
      this.scale = t1;
      this.change = t2;
    },
    _updateComponents_closure: function _updateComponents_closure() {
    },
    _updateComponents_closure0: function _updateComponents_closure0() {
    },
    _updateComponents_updateValue: function _updateComponents_updateValue(t0, t1) {
      this.change = t0;
      this.adjust = t1;
    },
    _updateComponents_updateRgb: function _updateComponents_updateRgb(t0) {
      this.updateValue = t0;
    },
    _functionString_closure: function _functionString_closure() {
    },
    _removedColorFunction_closure: function _removedColorFunction_closure(t0, t1, t2) {
      this.name = t0;
      this.argument = t1;
      this.negative = t2;
    },
    _rgb_closure: function _rgb_closure() {
    },
    _hsl_closure: function _hsl_closure() {
    },
    _hwb_closure: function _hwb_closure() {
    },
    _parseChannels_closure: function _parseChannels_closure() {
    },
    _function3($name, $arguments, callback) {
      return A.BuiltInCallable$function($name, $arguments, callback, "sass:list");
    },
    _length_closure0: function _length_closure0() {
    },
    _nth_closure: function _nth_closure() {
    },
    _setNth_closure: function _setNth_closure() {
    },
    _join_closure: function _join_closure() {
    },
    _append_closure0: function _append_closure0() {
    },
    _zip_closure: function _zip_closure() {
    },
    _zip__closure: function _zip__closure() {
    },
    _zip__closure0: function _zip__closure0(t0) {
      this._box_0 = t0;
    },
    _zip__closure1: function _zip__closure1(t0) {
      this._box_0 = t0;
    },
    _index_closure0: function _index_closure0() {
    },
    _separator_closure: function _separator_closure() {
    },
    _isBracketed_closure: function _isBracketed_closure() {
    },
    _slash_closure: function _slash_closure() {
    },
    _modify(map, keys, modify, addNesting) {
      var keyIterator = J.get$iterator$ax(keys);
      return keyIterator.moveNext$0() ? new A._modify_modifyNestedMap(keyIterator, modify, addNesting).call$1(map) : modify.call$1(map);
    },
    _deepMergeImpl(map1, map2) {
      var t2, t3, result, t4, key, value, _1_1, _1_3, _1_3_isSet, resultMap, _1_30, valueMap, merged, _null = null,
        t1 = map1._map$_contents;
      if (t1.get$isEmpty(t1))
        return map2;
      t2 = map2._map$_contents;
      if (t2.get$isEmpty(t2))
        return map1;
      t3 = type$.Value;
      result = A.LinkedHashMap_LinkedHashMap$of(t1, t3, t3);
      for (t1 = A.MapExtensions_get_pairs(t2, t3, t3), t1 = t1.get$iterator(t1), t2 = type$.SassMap; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        key = t4._0;
        value = t4._1;
        t4 = result.$index(0, key);
        _1_1 = t4 == null ? _null : t4.tryMap$0();
        _1_3 = value.tryMap$0();
        _1_3_isSet = _1_1 != null;
        if (_1_3_isSet) {
          resultMap = _1_1 == null ? t2._as(_1_1) : _1_1;
          t4 = _1_3 != null;
          _1_30 = _1_3;
        } else {
          resultMap = _null;
          _1_30 = resultMap;
          t4 = false;
        }
        if (t4) {
          valueMap = _1_3_isSet ? _1_30 : _1_3;
          merged = A._deepMergeImpl(resultMap, valueMap == null ? t2._as(valueMap) : valueMap);
          if (merged === resultMap)
            continue;
          result.$indexSet(0, key, merged);
        } else
          result.$indexSet(0, key, value);
      }
      return new A.SassMap(A.ConstantMap_ConstantMap$from(result, t3, t3));
    },
    _function2($name, $arguments, callback) {
      return A.BuiltInCallable$function($name, $arguments, callback, "sass:map");
    },
    _get_closure: function _get_closure() {
    },
    _set_closure: function _set_closure() {
    },
    _set__closure0: function _set__closure0(t0) {
      this.$arguments = t0;
    },
    _set_closure0: function _set_closure0() {
    },
    _set__closure: function _set__closure(t0) {
      this._box_0 = t0;
    },
    _merge_closure: function _merge_closure() {
    },
    _merge_closure0: function _merge_closure0() {
    },
    _merge__closure: function _merge__closure(t0) {
      this.map2 = t0;
    },
    _deepMerge_closure: function _deepMerge_closure() {
    },
    _deepRemove_closure: function _deepRemove_closure() {
    },
    _deepRemove__closure: function _deepRemove__closure(t0) {
      this.keys = t0;
    },
    _remove_closure: function _remove_closure() {
    },
    _remove_closure0: function _remove_closure0() {
    },
    _keys_closure: function _keys_closure() {
    },
    _values_closure: function _values_closure() {
    },
    _hasKey_closure: function _hasKey_closure() {
    },
    _modify_modifyNestedMap: function _modify_modifyNestedMap(t0, t1, t2) {
      this.keyIterator = t0;
      this.modify = t1;
      this.addNesting = t2;
    },
    _singleArgumentMathFunc($name, mathFunc) {
      return A.BuiltInCallable$function($name, "$number", new A._singleArgumentMathFunc_closure(mathFunc), "sass:math");
    },
    _numberFunction($name, transform) {
      return A.BuiltInCallable$function($name, "$number", new A._numberFunction_closure(transform), "sass:math");
    },
    _function1($name, $arguments, callback) {
      return A.BuiltInCallable$function($name, $arguments, callback, "sass:math");
    },
    global_closure: function global_closure() {
    },
    module_closure0: function module_closure0() {
    },
    _ceil_closure: function _ceil_closure() {
    },
    _clamp_closure: function _clamp_closure() {
    },
    _floor_closure: function _floor_closure() {
    },
    _max_closure: function _max_closure() {
    },
    _min_closure: function _min_closure() {
    },
    _round_closure: function _round_closure() {
    },
    _hypot_closure: function _hypot_closure() {
    },
    _hypot__closure: function _hypot__closure() {
    },
    _log_closure: function _log_closure() {
    },
    _pow_closure: function _pow_closure() {
    },
    _atan2_closure: function _atan2_closure() {
    },
    _compatible_closure: function _compatible_closure() {
    },
    _isUnitless_closure: function _isUnitless_closure() {
    },
    _unit_closure: function _unit_closure() {
    },
    _percentage_closure: function _percentage_closure() {
    },
    _randomFunction_closure: function _randomFunction_closure() {
    },
    _div_closure: function _div_closure() {
    },
    _singleArgumentMathFunc_closure: function _singleArgumentMathFunc_closure(t0) {
      this.mathFunc = t0;
    },
    _numberFunction_closure: function _numberFunction_closure(t0) {
      this.transform = t0;
    },
    _function5($name, $arguments, callback) {
      return A.BuiltInCallable$function($name, $arguments, callback, "sass:meta");
    },
    global_closure27: function global_closure27() {
    },
    global_closure28: function global_closure28() {
    },
    global_closure29: function global_closure29() {
    },
    global_closure30: function global_closure30() {
    },
    local_closure: function local_closure() {
    },
    local_closure0: function local_closure0() {
    },
    local__closure: function local__closure() {
    },
    local_closure1: function local_closure1() {
    },
    _prependParent(compound) {
      var _0_3, _0_4, _0_4_isSet, rest, _null = null,
        t1 = A.EvaluationContext_currentOrNull(),
        span = (t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan(),
        _0_0 = compound.components;
      $label0$0: {
        _0_3 = _0_0.length >= 1;
        if (_0_3) {
          _0_4 = _0_0[0];
          t1 = _0_4;
          t1 = t1 instanceof A.UniversalSelector;
        } else {
          _0_4 = _null;
          t1 = false;
        }
        if (t1) {
          t1 = _null;
          break $label0$0;
        }
        if (_0_3) {
          t1 = _0_4;
          if (t1 instanceof A.TypeSelector) {
            t1 = _0_4;
            t1 = type$.TypeSelector._as(t1).name.namespace != null;
            _0_4_isSet = true;
          } else {
            _0_4_isSet = true;
            t1 = false;
          }
        } else {
          _0_4_isSet = _0_3;
          t1 = false;
        }
        if (t1) {
          t1 = _null;
          break $label0$0;
        }
        if (_0_3) {
          if (_0_4_isSet)
            t1 = _0_4;
          else {
            _0_4 = _0_0[0];
            t1 = _0_4;
            _0_4_isSet = true;
          }
          t1 = t1 instanceof A.TypeSelector;
        } else
          t1 = false;
        if (t1) {
          t1 = _0_4_isSet ? _0_4 : _0_0[0];
          type$.TypeSelector._as(t1);
          rest = B.JSArray_methods.sublist$1(_0_0, 1);
          t1 = A._setArrayType([new A.ParentSelector(t1.name.name, span)], type$.JSArray_SimpleSelector);
          B.JSArray_methods.addAll$1(t1, rest);
          t1 = A.CompoundSelector$(t1, span);
          break $label0$0;
        }
        t1 = A._setArrayType([new A.ParentSelector(_null, span)], type$.JSArray_SimpleSelector);
        B.JSArray_methods.addAll$1(t1, _0_0);
        t1 = A.CompoundSelector$(t1, span);
        break $label0$0;
      }
      return t1;
    },
    _function0($name, $arguments, callback) {
      return A.BuiltInCallable$function($name, $arguments, callback, "sass:selector");
    },
    _nest_closure: function _nest_closure() {
    },
    _nest__closure: function _nest__closure(t0) {
      this._box_0 = t0;
    },
    _nest__closure0: function _nest__closure0() {
    },
    _append_closure: function _append_closure() {
    },
    _append__closure: function _append__closure() {
    },
    _append__closure0: function _append__closure0(t0) {
      this.span = t0;
    },
    _append___closure: function _append___closure(t0, t1) {
      this.parent = t0;
      this.span = t1;
    },
    _extend_closure: function _extend_closure() {
    },
    _replace_closure: function _replace_closure() {
    },
    _unify_closure: function _unify_closure() {
    },
    _isSuperselector_closure: function _isSuperselector_closure() {
    },
    _simpleSelectors_closure: function _simpleSelectors_closure() {
    },
    _simpleSelectors__closure: function _simpleSelectors__closure() {
    },
    _parse_closure: function _parse_closure() {
    },
    _codepointForIndex(index, lengthInCodepoints, allowNegative) {
      var result;
      if (index === 0)
        return 0;
      if (index > 0)
        return Math.min(index - 1, lengthInCodepoints);
      result = lengthInCodepoints + index;
      if (result < 0 && !allowNegative)
        return 0;
      return result;
    },
    _function($name, $arguments, callback) {
      return A.BuiltInCallable$function($name, $arguments, callback, "sass:string");
    },
    module_closure: function module_closure() {
    },
    module__closure: function module__closure(t0) {
      this.string = t0;
    },
    module__closure0: function module__closure0(t0) {
      this.string = t0;
    },
    _unquote_closure: function _unquote_closure() {
    },
    _quote_closure: function _quote_closure() {
    },
    _length_closure: function _length_closure() {
    },
    _insert_closure: function _insert_closure() {
    },
    _index_closure: function _index_closure() {
    },
    _slice_closure: function _slice_closure() {
    },
    _toUpperCase_closure: function _toUpperCase_closure() {
    },
    _toLowerCase_closure: function _toLowerCase_closure() {
    },
    _uniqueId_closure: function _uniqueId_closure() {
    },
    ImportCache$(importers, loadPaths, logger) {
      var t1 = type$.nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl,
        t2 = type$.Record_3_Importer_and_Uri_and_bool_forImport,
        t3 = type$.Uri,
        t4 = A.ImportCache__toImporters(importers, loadPaths, null);
      return new A.ImportCache(t4, logger, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult));
    },
    ImportCache__toImporters(importers, loadPaths, packageConfig) {
      var t1, t2, t3, t4, _i, path, _null = null,
        sassPath = A.getEnvironmentVariable("SASS_PATH");
      if (A.isBrowser()) {
        t1 = A._setArrayType([], type$.JSArray_Importer);
        B.JSArray_methods.addAll$1(t1, importers);
        return t1;
      }
      t1 = A._setArrayType([], type$.JSArray_Importer);
      B.JSArray_methods.addAll$1(t1, importers);
      for (t2 = J.get$iterator$ax(loadPaths); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.push(new A.FilesystemImporter($.$get$context().absolute$15(t3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false));
      }
      if (sassPath != null) {
        t2 = A.isNodeJs() ? self.process : _null;
        t3 = sassPath.split(J.$eq$(t2 == null ? _null : J.get$platform$x(t2), "win32") ? ";" : ":");
        t4 = t3.length;
        _i = 0;
        for (; _i < t4; ++_i) {
          path = t3[_i];
          t1.push(new A.FilesystemImporter($.$get$context().absolute$15(path, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false));
        }
      }
      return t1;
    },
    ImportCache: function ImportCache(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._importers = t0;
      _._logger = t1;
      _._canonicalizeCache = t2;
      _._perImporterCanonicalizeCache = t3;
      _._nonCanonicalRelativeUrls = t4;
      _._importCache = t5;
      _._resultsCache = t6;
    },
    ImportCache_canonicalize_closure: function ImportCache_canonicalize_closure(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.baseImporter = t1;
      _.resolvedUrl = t2;
      _.baseUrl = t3;
      _.forImport = t4;
      _.key = t5;
      _.url = t6;
    },
    ImportCache__canonicalize_closure: function ImportCache__canonicalize_closure(t0, t1) {
      this.importer = t0;
      this.url = t1;
    },
    ImportCache_importCanonical_closure: function ImportCache_importCanonical_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.importer = t1;
      _.canonicalUrl = t2;
      _.originalUrl = t3;
      _.quiet = t4;
    },
    ImportCache_humanize_closure: function ImportCache_humanize_closure(t0) {
      this.canonicalUrl = t0;
    },
    ImportCache_humanize_closure0: function ImportCache_humanize_closure0() {
    },
    ImportCache_humanize_closure1: function ImportCache_humanize_closure1() {
    },
    ImportCache_humanize_closure2: function ImportCache_humanize_closure2(t0) {
      this.canonicalUrl = t0;
    },
    ImportCache_clearCanonicalize_closure: function ImportCache_clearCanonicalize_closure(t0, t1) {
      this.$this = t0;
      this.url = t1;
    },
    Importer: function Importer() {
    },
    AsyncImporter: function AsyncImporter() {
    },
    CanonicalizeContext: function CanonicalizeContext(t0, t1) {
      this._fromImport = t0;
      this._containingUrl = t1;
      this._wasContainingUrlAccessed = false;
    },
    FilesystemImporter: function FilesystemImporter(t0, t1) {
      this._loadPath = t0;
      this._loadPathDeprecated = t1;
    },
    FilesystemImporter_canonicalize_closure: function FilesystemImporter_canonicalize_closure() {
    },
    NoOpImporter: function NoOpImporter() {
    },
    NodePackageImporter: function NodePackageImporter() {
      this.__NodePackageImporter__entryPointDirectory_F = $;
    },
    NodePackageImporter__nodePackageExportsResolve_closure: function NodePackageImporter__nodePackageExportsResolve_closure() {
    },
    NodePackageImporter__nodePackageExportsResolve_closure0: function NodePackageImporter__nodePackageExportsResolve_closure0() {
    },
    NodePackageImporter__nodePackageExportsResolve_closure1: function NodePackageImporter__nodePackageExportsResolve_closure1() {
    },
    NodePackageImporter__nodePackageExportsResolve_closure2: function NodePackageImporter__nodePackageExportsResolve_closure2(t0, t1, t2) {
      this.$this = t0;
      this.exports = t1;
      this.packageRoot = t2;
    },
    NodePackageImporter__nodePackageExportsResolve__closure: function NodePackageImporter__nodePackageExportsResolve__closure(t0, t1, t2) {
      this.$this = t0;
      this.variant = t1;
      this.packageRoot = t2;
    },
    NodePackageImporter__nodePackageExportsResolve__closure0: function NodePackageImporter__nodePackageExportsResolve__closure0() {
    },
    NodePackageImporter__getMainExport_closure: function NodePackageImporter__getMainExport_closure() {
    },
    ImporterResult: function ImporterResult(t0, t1, t2) {
      this.contents = t0;
      this._sourceMapUrl = t1;
      this.syntax = t2;
    },
    fromImport() {
      var t1 = type$.nullable_CanonicalizeContext._as($.Zone__current.$index(0, B.Symbol__canonicalizeContext));
      t1 = t1 == null ? null : t1._fromImport;
      return t1 === true;
    },
    canonicalizeContext() {
      var t1,
        _0_0 = $.Zone__current.$index(0, B.Symbol__canonicalizeContext);
      $label0$0: {
        if (_0_0 == null)
          A.throwExpression(A.StateError$(string$.canoni));
        if (_0_0 instanceof A.CanonicalizeContext) {
          t1 = _0_0;
          break $label0$0;
        }
        t1 = A.throwExpression(A.StateError$(string$.Unexpe + A.S(_0_0) + "."));
      }
      return t1;
    },
    resolveImportPath(path) {
      var t1,
        extension = A.ParsedPath_ParsedPath$parse(path, $.$get$context().style)._splitExtension$1(1)[1];
      if (extension === ".sass" || extension === ".scss" || extension === ".css") {
        t1 = A.fromImport() ? new A.resolveImportPath_closure(path, extension).call$0() : null;
        return t1 == null ? A._exactlyOne(A._tryPath(path)) : t1;
      }
      t1 = A.fromImport() ? new A.resolveImportPath_closure0(path).call$0() : null;
      if (t1 == null)
        t1 = A._exactlyOne(A._tryPathWithExtensions(path));
      return t1 == null ? A._tryPathAsDirectory(path) : t1;
    },
    _tryPathWithExtensions(path) {
      var result = A._tryPath(path + ".sass");
      B.JSArray_methods.addAll$1(result, A._tryPath(path + ".scss"));
      return result.length !== 0 ? result : A._tryPath(path + ".css");
    },
    _tryPath(path) {
      var t1 = $.$get$context(),
        partial = A.join(t1.dirname$1(path), "_" + A.ParsedPath_ParsedPath$parse(path, t1.style).get$basename(), null);
      t1 = A._setArrayType([], type$.JSArray_String);
      if (A.fileExists(partial))
        t1.push(partial);
      if (A.fileExists(path))
        t1.push(path);
      return t1;
    },
    _tryPathAsDirectory(path) {
      var t1;
      if (!A.dirExists(path))
        return null;
      t1 = A.fromImport() ? new A._tryPathAsDirectory_closure(path).call$0() : null;
      return t1 == null ? A._exactlyOne(A._tryPathWithExtensions(A.join(path, "index", null))) : t1;
    },
    _exactlyOne(paths) {
      var _0_1, t1, path;
      $label0$0: {
        _0_1 = paths.length;
        if (_0_1 <= 0) {
          t1 = null;
          break $label0$0;
        }
        if (_0_1 === 1) {
          path = paths[0];
          t1 = path;
          break $label0$0;
        }
        t1 = A.throwExpression(string$.It_s_n + B.JSArray_methods.map$1$1(paths, new A._exactlyOne_closure(), type$.String).join$1(0, "\n"));
      }
      return t1;
    },
    resolveImportPath_closure: function resolveImportPath_closure(t0, t1) {
      this.path = t0;
      this.extension = t1;
    },
    resolveImportPath_closure0: function resolveImportPath_closure0(t0) {
      this.path = t0;
    },
    _tryPathAsDirectory_closure: function _tryPathAsDirectory_closure(t0) {
      this.path = t0;
    },
    _exactlyOne_closure: function _exactlyOne_closure() {
    },
    InterpolationBuffer: function InterpolationBuffer(t0, t1) {
      this._interpolation_buffer$_text = t0;
      this._interpolation_buffer$_contents = t1;
    },
    InterpolationMap$(_interpolation, targetLocations) {
      var t1 = A.List_List$unmodifiable(targetLocations, type$.SourceLocation),
        t2 = _interpolation.contents.length,
        expectedLocations = Math.max(0, t2 - 1);
      if (t1.length !== expectedLocations)
        A.throwExpression(A.ArgumentError$("InterpolationMap must have " + A.S(expectedLocations) + string$.x20targe + t2 + " components.", null));
      return new A.InterpolationMap(_interpolation, t1);
    },
    InterpolationMap: function InterpolationMap(t0, t1) {
      this._interpolation = t0;
      this._targetLocations = t1;
    },
    InterpolationMap_mapException_closure: function InterpolationMap_mapException_closure() {
    },
    _realCasePath(path) {
      var prefix, _null = null,
        t1 = A.isNodeJs() ? self.process : _null;
      if (!J.$eq$(t1 == null ? _null : J.get$platform$x(t1), "win32")) {
        t1 = A.isNodeJs() ? self.process : _null;
        t1 = J.$eq$(t1 == null ? _null : J.get$platform$x(t1), "darwin");
      } else
        t1 = true;
      if (!t1)
        return path;
      t1 = A.isNodeJs() ? self.process : _null;
      if (J.$eq$(t1 == null ? _null : J.get$platform$x(t1), "win32")) {
        prefix = B.JSString_methods.substring$2(path, 0, $.$get$context().style.rootLength$1(path));
        t1 = prefix.length;
        if (t1 !== 0 && A.CharacterExtension_get_isAlphabetic(prefix.charCodeAt(0)))
          path = prefix.toUpperCase() + B.JSString_methods.substring$1(path, t1);
      }
      return new A._realCasePath_helper().call$1(path);
    },
    _realCasePath_helper: function _realCasePath_helper() {
    },
    _realCasePath_helper_closure: function _realCasePath_helper_closure(t0, t1, t2) {
      this.helper = t0;
      this.dirname = t1;
      this.path = t2;
    },
    _realCasePath_helper__closure: function _realCasePath_helper__closure(t0) {
      this.basename = t0;
    },
    printError(message) {
      var t1 = A.isNodeJs() ? self.process : null;
      if (t1 != null) {
        t1 = J.get$stderr$x(t1);
        J.write$1$x(t1, A.S(message == null ? "" : message) + "\n");
      } else {
        t1 = self.console;
        J.error$1$x(t1, message == null ? "" : message);
      }
    },
    readFile(path) {
      var contents, sourceFile, t1, i;
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$("readFile() is only supported on Node.js"));
      contents = A._asString(A._readFile(path, "utf8"));
      if (!B.JSString_methods.contains$1(contents, "\ufffd"))
        return contents;
      sourceFile = A.SourceFile$fromString(contents, $.$get$context().toUri$1(path));
      for (t1 = contents.length, i = 0; i < t1; ++i) {
        if (contents.charCodeAt(i) !== 65533)
          continue;
        throw A.wrapException(A.SassException$("Invalid UTF-8.", A.FileLocation$_(sourceFile, i).pointSpan$0(), null));
      }
      return contents;
    },
    _readFile(path, encoding) {
      return A._systemErrorToFileSystemException(new A._readFile_closure(path, encoding));
    },
    writeFile(path, contents) {
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$("writeFile() is only supported on Node.js"));
      return A._systemErrorToFileSystemException(new A.writeFile_closure(path, contents));
    },
    deleteFile(path) {
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$("deleteFile() is only supported on Node.js"));
      return A._systemErrorToFileSystemException(new A.deleteFile_closure(path));
    },
    readStdin() {
      return A.readStdin$body();
    },
    readStdin$body() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, t3, completer, sink, t1, t2;
      var $async$readStdin = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              t2 = A.isNodeJs() ? self.process : null;
              if (t2 == null)
                throw A.wrapException(A.UnsupportedError$("readStdin() is only supported on Node.js"));
              t3 = new A._Future($.Zone__current, type$._Future_String);
              completer = new A._AsyncCompleter(t3, type$._AsyncCompleter_String);
              t1.contents = null;
              sink = new A._StringCallbackSink(new A.readStdin_closure(t1, completer), new A.StringBuffer("")).asUtf8Sink$1(false);
              t1 = J.getInterceptor$x(t2);
              J.on$2$x(t1.get$stdin(t2), "data", A.allowInterop(new A.readStdin_closure0(sink)));
              J.on$2$x(t1.get$stdin(t2), "end", A.allowInterop(new A.readStdin_closure1(sink)));
              J.on$2$x(t1.get$stdin(t2), "error", A.allowInterop(new A.readStdin_closure2(completer)));
              $async$returnValue = t3;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$readStdin, $async$completer);
    },
    fileExists(path) {
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$(string$.fileEx));
      return A._systemErrorToFileSystemException(new A.fileExists_closure(path));
    },
    dirExists(path) {
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$("dirExists() is only supported on Node.js"));
      return A._systemErrorToFileSystemException(new A.dirExists_closure(path));
    },
    ensureDir(path) {
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$("ensureDir() is only supported on Node.js"));
      return A._systemErrorToFileSystemException(new A.ensureDir_closure(path));
    },
    listDir(path, recursive) {
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$("listDir() is only supported on Node.js"));
      return A._systemErrorToFileSystemException(new A.listDir_closure(recursive, path));
    },
    modificationTime(path) {
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$("modificationTime() is only supported on Node.js"));
      return A._systemErrorToFileSystemException(new A.modificationTime_closure(path));
    },
    getEnvironmentVariable($name) {
      var t1 = A.isNodeJs() ? self.process : null,
        env = t1 == null ? null : J.get$env$x(t1);
      if (env == null)
        t1 = null;
      else
        t1 = A._asStringQ(env[$name]);
      return t1;
    },
    _systemErrorToFileSystemException(callback) {
      var error, t1, exception, t2;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        error = A.unwrapException(exception);
        if (!type$.JsSystemError._is(error))
          throw exception;
        t1 = error;
        t2 = J.getInterceptor$x(t1);
        throw A.wrapException(new A.FileSystemException(J.substring$2$s(t2.get$message(t1), (A.S(t2.get$code(t1)) + ": ").length, J.get$length$asx(t2.get$message(t1)) - (", " + A.S(t2.get$syscall(t1)) + " '" + A.S(t2.get$path(t1)) + "'").length), J.get$path$x(error)));
      }
    },
    hasTerminal() {
      var t1 = A.isNodeJs() ? self.process : null;
      return J.$eq$(t1 == null ? null : J.get$isTTY$x(J.get$stdout$x(t1)), true);
    },
    isWindows() {
      var t1 = A.isNodeJs() ? self.process : null;
      return J.$eq$(t1 == null ? null : J.get$platform$x(t1), "win32");
    },
    watchDir(path, poll) {
      var watcher, t2, t3, t1 = {};
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$("watchDir() is only supported on Node.js"));
      watcher = J.watch$2$x(self.chokidar, path, {disableGlobbing: true, usePolling: poll});
      t1.controller = null;
      t2 = J.getInterceptor$x(watcher);
      t2.on$2(watcher, "add", A.allowInterop(new A.watchDir_closure(t1)));
      t2.on$2(watcher, "change", A.allowInterop(new A.watchDir_closure0(t1)));
      t2.on$2(watcher, "unlink", A.allowInterop(new A.watchDir_closure1(t1)));
      t2.on$2(watcher, "error", A.allowInterop(new A.watchDir_closure2(t1)));
      t3 = new A._Future($.Zone__current, type$._Future_Stream_WatchEvent);
      t2.on$2(watcher, "ready", A.allowInterop(new A.watchDir_closure3(t1, watcher, new A._AsyncCompleter(t3, type$._AsyncCompleter_Stream_WatchEvent))));
      return t3;
    },
    FileSystemException: function FileSystemException(t0, t1) {
      this.message = t0;
      this.path = t1;
    },
    _readFile_closure: function _readFile_closure(t0, t1) {
      this.path = t0;
      this.encoding = t1;
    },
    writeFile_closure: function writeFile_closure(t0, t1) {
      this.path = t0;
      this.contents = t1;
    },
    deleteFile_closure: function deleteFile_closure(t0) {
      this.path = t0;
    },
    readStdin_closure: function readStdin_closure(t0, t1) {
      this._box_0 = t0;
      this.completer = t1;
    },
    readStdin_closure0: function readStdin_closure0(t0) {
      this.sink = t0;
    },
    readStdin_closure1: function readStdin_closure1(t0) {
      this.sink = t0;
    },
    readStdin_closure2: function readStdin_closure2(t0) {
      this.completer = t0;
    },
    fileExists_closure: function fileExists_closure(t0) {
      this.path = t0;
    },
    dirExists_closure: function dirExists_closure(t0) {
      this.path = t0;
    },
    ensureDir_closure: function ensureDir_closure(t0) {
      this.path = t0;
    },
    listDir_closure: function listDir_closure(t0, t1) {
      this.recursive = t0;
      this.path = t1;
    },
    listDir__closure: function listDir__closure(t0) {
      this.path = t0;
    },
    listDir__closure0: function listDir__closure0() {
    },
    listDir_closure_list: function listDir_closure_list() {
    },
    listDir__list_closure: function listDir__list_closure(t0, t1) {
      this.parent = t0;
      this.list = t1;
    },
    modificationTime_closure: function modificationTime_closure(t0) {
      this.path = t0;
    },
    watchDir_closure: function watchDir_closure(t0) {
      this._box_0 = t0;
    },
    watchDir_closure0: function watchDir_closure0(t0) {
      this._box_0 = t0;
    },
    watchDir_closure1: function watchDir_closure1(t0) {
      this._box_0 = t0;
    },
    watchDir_closure2: function watchDir_closure2(t0) {
      this._box_0 = t0;
    },
    watchDir_closure3: function watchDir_closure3(t0, t1, t2) {
      this._box_0 = t0;
      this.watcher = t1;
      this.completer = t2;
    },
    watchDir__closure: function watchDir__closure(t0) {
      this.watcher = t0;
    },
    JSArray0: function JSArray0() {
    },
    Chokidar: function Chokidar() {
    },
    ChokidarOptions: function ChokidarOptions() {
    },
    ChokidarWatcher: function ChokidarWatcher() {
    },
    JSFunction: function JSFunction() {
    },
    ImmutableList: function ImmutableList() {
    },
    ImmutableMap: function ImmutableMap() {
    },
    NodeImporterResult: function NodeImporterResult() {
    },
    RenderContext: function RenderContext() {
    },
    RenderContextOptions: function RenderContextOptions() {
    },
    RenderContextResult: function RenderContextResult() {
    },
    RenderContextResultStats: function RenderContextResultStats() {
    },
    JSModule: function JSModule() {
    },
    JSModuleRequire: function JSModuleRequire() {
    },
    JSClass: function JSClass() {
    },
    JSUrl: function JSUrl() {
    },
    jsThrow0(error) {
      return type$.Never._as($.$get$_jsThrow0().call$1(error));
    },
    _PropertyDescriptor: function _PropertyDescriptor() {
    },
    _RequireMain: function _RequireMain() {
    },
    WarnForDeprecation_warnForDeprecation(_this, deprecation, message, span, trace) {
      if (deprecation.isFuture && !(_this instanceof A.DeprecationProcessingLogger))
        return;
      if (_this instanceof A.DeprecationProcessingLogger)
        _this.internalWarn$4$deprecation$span$trace(message, deprecation, span, trace);
      else
        _this.warn$4$deprecation$span$trace(0, message, true, span, trace);
    },
    LoggerWithDeprecationType0: function LoggerWithDeprecationType0() {
    },
    _QuietLogger: function _QuietLogger() {
    },
    DeprecationProcessingLogger$(_inner, fatalDeprecations, futureDeprecations, limitRepetition, silenceDeprecations) {
      var t1 = new A.DeprecationProcessingLogger(A.LinkedHashMap_LinkedHashMap$_empty(type$.Deprecation, type$.int), _inner, silenceDeprecations, fatalDeprecations, futureDeprecations, limitRepetition);
      t1.DeprecationProcessingLogger$5$fatalDeprecations$futureDeprecations$limitRepetition$silenceDeprecations(_inner, fatalDeprecations, futureDeprecations, limitRepetition, silenceDeprecations);
      return t1;
    },
    DeprecationProcessingLogger: function DeprecationProcessingLogger(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._warningCounts = t0;
      _._inner = t1;
      _.silenceDeprecations = t2;
      _.fatalDeprecations = t3;
      _.futureDeprecations = t4;
      _.limitRepetition = t5;
    },
    DeprecationProcessingLogger_summarize_closure: function DeprecationProcessingLogger_summarize_closure() {
    },
    DeprecationProcessingLogger_summarize_closure0: function DeprecationProcessingLogger_summarize_closure0() {
    },
    StderrLogger: function StderrLogger(t0) {
      this.color = t0;
    },
    TrackingLogger: function TrackingLogger(t0) {
      this._tracking$_logger = t0;
      this._emittedDebug = this._emittedWarning = false;
    },
    BuiltInModule$($name, functions, mixins, variables, $T) {
      var t1 = A._Uri__Uri(null, $name, null, "sass"),
        t2 = A.BuiltInModule__callableMap(functions, $T),
        t3 = A.BuiltInModule__callableMap(mixins, $T),
        t4 = variables == null ? B.Map_empty5 : new A.UnmodifiableMapView(variables, type$.UnmodifiableMapView_String_Value);
      return new A.BuiltInModule(t1, t2, t3, t4, $T._eval$1("BuiltInModule<0>"));
    },
    BuiltInModule__callableMap(callables, $T) {
      var t2, _i, callable,
        t1 = type$.String;
      if (callables == null)
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, $T);
      else {
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, $T);
        for (t2 = callables.length, _i = 0; _i < callables.length; callables.length === t2 || (0, A.throwConcurrentModificationError)(callables), ++_i) {
          callable = callables[_i];
          t1.$indexSet(0, J.get$name$x(callable), callable);
        }
        t1 = new A.UnmodifiableMapView(t1, type$.$env_1_1_String._bind$1($T)._eval$1("UnmodifiableMapView<1,2>"));
      }
      return new A.UnmodifiableMapView(t1, type$.$env_1_1_String._bind$1($T)._eval$1("UnmodifiableMapView<1,2>"));
    },
    BuiltInModule: function BuiltInModule(t0, t1, t2, t3, t4) {
      var _ = this;
      _.url = t0;
      _.functions = t1;
      _.mixins = t2;
      _.variables = t3;
      _.$ti = t4;
    },
    ForwardedModuleView_ifNecessary(inner, rule, $T) {
      var t1;
      if (rule.prefix == null)
        if (rule.shownMixinsAndFunctions == null)
          if (rule.shownVariables == null) {
            t1 = rule.hiddenMixinsAndFunctions;
            t1 = t1 == null ? null : t1._base.get$isEmpty(0);
            if (t1 === true) {
              t1 = rule.hiddenVariables;
              t1 = t1 == null ? null : t1._base.get$isEmpty(0);
              t1 = t1 === true;
            } else
              t1 = false;
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      if (t1)
        return inner;
      else
        return A.ForwardedModuleView$(inner, rule, $T);
    },
    ForwardedModuleView$(_inner, _rule, $T) {
      var t1 = _rule.prefix,
        t2 = _rule.shownVariables,
        t3 = _rule.hiddenVariables,
        t4 = _rule.shownMixinsAndFunctions,
        t5 = _rule.hiddenMixinsAndFunctions;
      return new A.ForwardedModuleView(_inner, _rule, A.ForwardedModuleView__forwardedMap(_inner.get$variables(), t1, t2, t3, type$.Value), A.ForwardedModuleView__forwardedMap(_inner.get$variableNodes(), t1, t2, t3, type$.AstNode), A.ForwardedModuleView__forwardedMap(_inner.get$functions(_inner), t1, t4, t5, $T), A.ForwardedModuleView__forwardedMap(_inner.get$mixins(), t1, t4, t5, $T), $T._eval$1("ForwardedModuleView<0>"));
    },
    ForwardedModuleView__forwardedMap(map, prefix, safelist, blocklist, $V) {
      var t2,
        t1 = prefix == null;
      if (t1)
        if (safelist == null)
          t2 = blocklist == null || blocklist._base.get$isEmpty(0);
        else
          t2 = false;
      else
        t2 = false;
      if (t2)
        return map;
      if (!t1)
        map = new A.PrefixedMapView(map, prefix, $V._eval$1("PrefixedMapView<0>"));
      if (safelist != null)
        map = new A.LimitedMapView(map, safelist._base.intersection$1(new A.MapKeySet(map, type$.MapKeySet_nullable_Object)), type$.$env_1_1_String._bind$1($V)._eval$1("LimitedMapView<1,2>"));
      else if (blocklist != null && blocklist._base.get$isNotEmpty(0))
        map = A.LimitedMapView$blocklist(map, blocklist, type$.String, $V);
      return map;
    },
    ForwardedModuleView: function ForwardedModuleView(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._forwarded_view$_inner = t0;
      _._rule = t1;
      _.variables = t2;
      _.variableNodes = t3;
      _.functions = t4;
      _.mixins = t5;
      _.$ti = t6;
    },
    ShadowedModuleView_ifNecessary(inner, functions, mixins, variables, $T) {
      return A.ShadowedModuleView__needsBlocklist(inner.get$variables(), variables) || A.ShadowedModuleView__needsBlocklist(inner.get$functions(inner), functions) || A.ShadowedModuleView__needsBlocklist(inner.get$mixins(), mixins) ? new A.ShadowedModuleView(inner, A.ShadowedModuleView__shadowedMap(inner.get$variables(), variables, type$.Value), A.ShadowedModuleView__shadowedMap(inner.get$variableNodes(), variables, type$.AstNode), A.ShadowedModuleView__shadowedMap(inner.get$functions(inner), functions, $T), A.ShadowedModuleView__shadowedMap(inner.get$mixins(), mixins, $T), $T._eval$1("ShadowedModuleView<0>")) : null;
    },
    ShadowedModuleView__shadowedMap(map, blocklist, $V) {
      var t1 = A.ShadowedModuleView__needsBlocklist(map, blocklist);
      return !t1 ? map : A.LimitedMapView$blocklist(map, blocklist, type$.String, $V);
    },
    ShadowedModuleView__needsBlocklist(map, blocklist) {
      return map.get$isNotEmpty(map) && blocklist.any$1(0, map.get$containsKey());
    },
    ShadowedModuleView: function ShadowedModuleView(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._shadowed_view$_inner = t0;
      _.variables = t1;
      _.variableNodes = t2;
      _.functions = t3;
      _.mixins = t4;
      _.$ti = t5;
    },
    AtRootQueryParser$(contents, logger, url) {
      var t1 = A.SpanScanner$(contents, url);
      return new A.AtRootQueryParser(t1, logger, null);
    },
    AtRootQueryParser: function AtRootQueryParser(t0, t1, t2) {
      this.scanner = t0;
      this.logger = t1;
      this._interpolationMap = t2;
    },
    AtRootQueryParser_parse_closure: function AtRootQueryParser_parse_closure(t0) {
      this.$this = t0;
    },
    _disallowedFunctionNames_closure: function _disallowedFunctionNames_closure() {
    },
    CssParser: function CssParser(t0, t1, t2, t3) {
      var _ = this;
      _._isUseAllowed = true;
      _._inExpression = _._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = _._stylesheet$_inMixin = false;
      _._globalVariables = t0;
      _.lastSilentComment = null;
      _.scanner = t1;
      _.logger = t2;
      _._interpolationMap = t3;
    },
    KeyframeSelectorParser$(contents, interpolationMap, logger) {
      var t1 = A.SpanScanner$(contents, null);
      return new A.KeyframeSelectorParser(t1, logger, interpolationMap);
    },
    KeyframeSelectorParser: function KeyframeSelectorParser(t0, t1, t2) {
      this.scanner = t0;
      this.logger = t1;
      this._interpolationMap = t2;
    },
    KeyframeSelectorParser_parse_closure: function KeyframeSelectorParser_parse_closure(t0) {
      this.$this = t0;
    },
    MediaQueryParser: function MediaQueryParser(t0, t1, t2) {
      this.scanner = t0;
      this.logger = t1;
      this._interpolationMap = t2;
    },
    MediaQueryParser_parse_closure: function MediaQueryParser_parse_closure(t0) {
      this.$this = t0;
    },
    Parser_isIdentifier(text) {
      var t1, t2, exception, logger = null;
      try {
        t1 = logger;
        t2 = A.SpanScanner$(text, null);
        new A.Parser(t2, t1 == null ? B.StderrLogger_false : t1, null)._parseIdentifier$0();
        return true;
      } catch (exception) {
        if (type$.SassFormatException._is(A.unwrapException(exception)))
          return false;
        else
          throw exception;
      }
    },
    Parser: function Parser(t0, t1, t2) {
      this.scanner = t0;
      this.logger = t1;
      this._interpolationMap = t2;
    },
    Parser__parseIdentifier_closure: function Parser__parseIdentifier_closure(t0) {
      this.$this = t0;
    },
    Parser_escape_closure: function Parser_escape_closure() {
    },
    Parser_scanIdentChar_matches: function Parser_scanIdentChar_matches(t0, t1) {
      this.caseSensitive = t0;
      this.char = t1;
    },
    Parser_spanFrom_closure: function Parser_spanFrom_closure(t0, t1) {
      this.$this = t0;
      this.span = t1;
    },
    SassParser: function SassParser(t0, t1, t2, t3) {
      var _ = this;
      _._currentIndentation = 0;
      _._spaces = _._nextIndentationEnd = _._nextIndentation = null;
      _._isUseAllowed = true;
      _._inExpression = _._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = _._stylesheet$_inMixin = false;
      _._globalVariables = t0;
      _.lastSilentComment = null;
      _.scanner = t1;
      _.logger = t2;
      _._interpolationMap = t3;
    },
    SassParser_styleRuleSelector_closure: function SassParser_styleRuleSelector_closure() {
    },
    SassParser_children_closure: function SassParser_children_closure(t0, t1, t2) {
      this.$this = t0;
      this.child = t1;
      this.children = t2;
    },
    SassParser__peekIndentation_closure: function SassParser__peekIndentation_closure() {
    },
    SassParser__peekIndentation_closure0: function SassParser__peekIndentation_closure0() {
    },
    ScssParser$(contents, logger, url) {
      var t1 = A.SpanScanner$(contents, url),
        t2 = logger == null ? B.StderrLogger_false : logger;
      return new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration), t1, t2, null);
    },
    ScssParser: function ScssParser(t0, t1, t2, t3) {
      var _ = this;
      _._isUseAllowed = true;
      _._inExpression = _._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = _._stylesheet$_inMixin = false;
      _._globalVariables = t0;
      _.lastSilentComment = null;
      _.scanner = t1;
      _.logger = t2;
      _._interpolationMap = t3;
    },
    SelectorParser$(contents, allowParent, interpolationMap, logger, plainCss, url) {
      var t1 = A.SpanScanner$(contents, url);
      return new A.SelectorParser(allowParent, plainCss, t1, logger == null ? B.StderrLogger_false : logger, interpolationMap);
    },
    SelectorParser: function SelectorParser(t0, t1, t2, t3, t4) {
      var _ = this;
      _._allowParent = t0;
      _._plainCss = t1;
      _.scanner = t2;
      _.logger = t3;
      _._interpolationMap = t4;
    },
    SelectorParser_parse_closure: function SelectorParser_parse_closure(t0) {
      this.$this = t0;
    },
    SelectorParser_parseCompoundSelector_closure: function SelectorParser_parseCompoundSelector_closure(t0) {
      this.$this = t0;
    },
    StylesheetParser: function StylesheetParser() {
    },
    StylesheetParser_parse_closure: function StylesheetParser_parse_closure(t0) {
      this.$this = t0;
    },
    StylesheetParser_parse__closure: function StylesheetParser_parse__closure(t0) {
      this.$this = t0;
    },
    StylesheetParser_parse__closure0: function StylesheetParser_parse__closure0() {
    },
    StylesheetParser_parseArgumentDeclaration_closure: function StylesheetParser_parseArgumentDeclaration_closure(t0) {
      this.$this = t0;
    },
    StylesheetParser_parseVariableDeclaration_closure: function StylesheetParser_parseVariableDeclaration_closure(t0) {
      this.$this = t0;
    },
    StylesheetParser_parseUseRule_closure: function StylesheetParser_parseUseRule_closure(t0) {
      this.$this = t0;
    },
    StylesheetParser__parseSingleProduction_closure: function StylesheetParser__parseSingleProduction_closure(t0, t1, t2) {
      this.$this = t0;
      this.production = t1;
      this.T = t2;
    },
    StylesheetParser__statement_closure: function StylesheetParser__statement_closure(t0) {
      this.$this = t0;
    },
    StylesheetParser_variableDeclarationWithoutNamespace_closure: function StylesheetParser_variableDeclarationWithoutNamespace_closure(t0, t1) {
      this.$this = t0;
      this.start = t1;
    },
    StylesheetParser_variableDeclarationWithoutNamespace_closure0: function StylesheetParser_variableDeclarationWithoutNamespace_closure0(t0) {
      this.declaration = t0;
    },
    StylesheetParser__styleRule_closure: function StylesheetParser__styleRule_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.wasInStyleRule = t2;
      _.start = t3;
    },
    StylesheetParser__tryDeclarationChildren_closure: function StylesheetParser__tryDeclarationChildren_closure(t0, t1) {
      this.name = t0;
      this.value = t1;
    },
    StylesheetParser__atRootRule_closure: function StylesheetParser__atRootRule_closure(t0) {
      this.query = t0;
    },
    StylesheetParser__atRootRule_closure0: function StylesheetParser__atRootRule_closure0() {
    },
    StylesheetParser__eachRule_closure: function StylesheetParser__eachRule_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.wasInControlDirective = t1;
      _.variables = t2;
      _.list = t3;
    },
    StylesheetParser__functionRule_closure: function StylesheetParser__functionRule_closure(t0, t1, t2) {
      this.name = t0;
      this.$arguments = t1;
      this.precedingComment = t2;
    },
    StylesheetParser__forRule_closure: function StylesheetParser__forRule_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    StylesheetParser__forRule_closure0: function StylesheetParser__forRule_closure0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.wasInControlDirective = t2;
      _.variable = t3;
      _.from = t4;
      _.to = t5;
    },
    StylesheetParser__memberList_closure: function StylesheetParser__memberList_closure(t0, t1, t2) {
      this.$this = t0;
      this.variables = t1;
      this.identifiers = t2;
    },
    StylesheetParser__includeRule_closure: function StylesheetParser__includeRule_closure(t0) {
      this.contentArguments_ = t0;
    },
    StylesheetParser_mediaRule_closure: function StylesheetParser_mediaRule_closure(t0) {
      this.query = t0;
    },
    StylesheetParser__mixinRule_closure: function StylesheetParser__mixinRule_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.name = t1;
      _.$arguments = t2;
      _.precedingComment = t3;
    },
    StylesheetParser_mozDocumentRule_closure: function StylesheetParser_mozDocumentRule_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.name = t2;
      _.value = t3;
    },
    StylesheetParser_supportsRule_closure: function StylesheetParser_supportsRule_closure(t0) {
      this.condition = t0;
    },
    StylesheetParser__whileRule_closure: function StylesheetParser__whileRule_closure(t0, t1, t2) {
      this.$this = t0;
      this.wasInControlDirective = t1;
      this.condition = t2;
    },
    StylesheetParser_unknownAtRule_closure: function StylesheetParser_unknownAtRule_closure(t0, t1) {
      this._box_0 = t0;
      this.name = t1;
    },
    StylesheetParser__expression_resetState: function StylesheetParser__expression_resetState(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.start = t2;
    },
    StylesheetParser__expression_resolveOneOperation: function StylesheetParser__expression_resolveOneOperation(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    StylesheetParser__expression_resolveOperations: function StylesheetParser__expression_resolveOperations(t0, t1) {
      this._box_0 = t0;
      this.resolveOneOperation = t1;
    },
    StylesheetParser__expression_addSingleExpression: function StylesheetParser__expression_addSingleExpression(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.resetState = t2;
      _.resolveOperations = t3;
    },
    StylesheetParser__expression_addOperator: function StylesheetParser__expression_addOperator(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.resolveOneOperation = t2;
    },
    StylesheetParser__expression_resolveSpaceExpressions: function StylesheetParser__expression_resolveSpaceExpressions(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.resolveOperations = t2;
    },
    StylesheetParser_expressionUntilComma_closure: function StylesheetParser_expressionUntilComma_closure(t0) {
      this.$this = t0;
    },
    StylesheetParser__isHexColor_closure: function StylesheetParser__isHexColor_closure() {
    },
    StylesheetParser__unicodeRange_closure: function StylesheetParser__unicodeRange_closure() {
    },
    StylesheetParser__unicodeRange_closure0: function StylesheetParser__unicodeRange_closure0() {
    },
    StylesheetParser_namespacedExpression_closure: function StylesheetParser_namespacedExpression_closure(t0, t1) {
      this.$this = t0;
      this.start = t1;
    },
    StylesheetParser_trySpecialFunction_closure: function StylesheetParser_trySpecialFunction_closure() {
    },
    StylesheetParser__expressionUntilComparison_closure: function StylesheetParser__expressionUntilComparison_closure(t0) {
      this.$this = t0;
    },
    StylesheetParser__publicIdentifier_closure: function StylesheetParser__publicIdentifier_closure(t0, t1) {
      this.$this = t0;
      this.start = t1;
    },
    StylesheetNode$_(_stylesheet, importer, canonicalUrl, allUpstream) {
      var t1 = new A.StylesheetNode(_stylesheet, importer, canonicalUrl, allUpstream._1, allUpstream._0, A.LinkedHashSet_LinkedHashSet$_empty(type$.StylesheetNode));
      t1.StylesheetNode$_$4(_stylesheet, importer, canonicalUrl, allUpstream);
      return t1;
    },
    StylesheetGraph: function StylesheetGraph(t0, t1, t2) {
      this._nodes = t0;
      this.importCache = t1;
      this._transitiveModificationTimes = t2;
    },
    StylesheetGraph_modifiedSince_transitiveModificationTime: function StylesheetGraph_modifiedSince_transitiveModificationTime(t0) {
      this.$this = t0;
    },
    StylesheetGraph_modifiedSince_transitiveModificationTime_closure: function StylesheetGraph_modifiedSince_transitiveModificationTime_closure(t0, t1) {
      this.node = t0;
      this.transitiveModificationTime = t1;
    },
    StylesheetGraph__add_closure: function StylesheetGraph__add_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.url = t1;
      _.baseImporter = t2;
      _.baseUrl = t3;
    },
    StylesheetGraph_addCanonical_closure: function StylesheetGraph_addCanonical_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.importer = t1;
      _.canonicalUrl = t2;
      _.originalUrl = t3;
    },
    StylesheetGraph_reload_closure: function StylesheetGraph_reload_closure(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.canonicalUrl = t2;
    },
    StylesheetGraph__nodeFor_closure: function StylesheetGraph__nodeFor_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.url = t1;
      _.baseImporter = t2;
      _.baseUrl = t3;
      _.forImport = t4;
    },
    StylesheetGraph__nodeFor_closure0: function StylesheetGraph__nodeFor_closure0(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    StylesheetNode: function StylesheetNode(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._stylesheet = t0;
      _.importer = t1;
      _.canonicalUrl = t2;
      _._upstream = t3;
      _._upstreamImports = t4;
      _._downstream = t5;
    },
    Syntax_forPath(path) {
      var t1,
        _0_0 = A.ParsedPath_ParsedPath$parse(path, $.$get$context().style)._splitExtension$1(1)[1];
      $label0$0: {
        if (".sass" === _0_0) {
          t1 = B.Syntax_Sass_sass;
          break $label0$0;
        }
        if (".css" === _0_0) {
          t1 = B.Syntax_CSS_css;
          break $label0$0;
        }
        t1 = B.Syntax_SCSS_scss;
        break $label0$0;
      }
      return t1;
    },
    Syntax: function Syntax(t0, t1) {
      this._syntax$_name = t0;
      this._name = t1;
    },
    Box: function Box(t0, t1) {
      this._box$_inner = t0;
      this.$ti = t1;
    },
    ModifiableBox: function ModifiableBox(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    LazyFileSpan: function LazyFileSpan(t0) {
      this._builder = t0;
      this._lazy_file_span$_span = null;
    },
    LimitedMapView$blocklist(_map, blocklist, $K, $V) {
      var t2, key,
        t1 = A.LinkedHashSet_LinkedHashSet$_empty($K);
      for (t2 = J.get$iterator$ax(_map.get$keys(_map)); t2.moveNext$0();) {
        key = t2.get$current(t2);
        if (!blocklist.contains$1(0, key))
          t1.add$1(0, key);
      }
      return new A.LimitedMapView(_map, t1, $K._eval$1("@<0>")._bind$1($V)._eval$1("LimitedMapView<1,2>"));
    },
    LimitedMapView: function LimitedMapView(t0, t1, t2) {
      this._limited_map_view$_map = t0;
      this._limited_map_view$_keys = t1;
      this.$ti = t2;
    },
    MapExtensions_get_pairs(_this, $K, $V) {
      return _this.get$entries(_this).map$1$1(0, new A.MapExtensions_get_pairs_closure($K, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("+(1,2)"));
    },
    MapExtensions_get_pairs_closure: function MapExtensions_get_pairs_closure(t0, t1) {
      this.K = t0;
      this.V = t1;
    },
    MergedMapView$(maps, $K, $V) {
      var t1 = $K._eval$1("@<0>")._bind$1($V);
      t1 = new A.MergedMapView(A.LinkedHashMap_LinkedHashMap$_empty($K, t1._eval$1("Map<1,2>")), t1._eval$1("MergedMapView<1,2>"));
      t1.MergedMapView$1(maps, $K, $V);
      return t1;
    },
    MergedMapView: function MergedMapView(t0, t1) {
      this._mapsByKey = t0;
      this.$ti = t1;
    },
    MultiDirWatcher: function MultiDirWatcher(t0, t1, t2) {
      this._watchers = t0;
      this._group = t1;
      this._poll = t2;
    },
    MultiSpan: function MultiSpan(t0, t1, t2) {
      this._multi_span$_primary = t0;
      this.primaryLabel = t1;
      this.secondarySpans = t2;
    },
    NoSourceMapBuffer: function NoSourceMapBuffer(t0) {
      this._no_source_map_buffer$_buffer = t0;
    },
    PrefixedMapView: function PrefixedMapView(t0, t1, t2) {
      this._prefixed_map_view$_map = t0;
      this._prefix = t1;
      this.$ti = t2;
    },
    _PrefixedKeys: function _PrefixedKeys(t0) {
      this._view = t0;
    },
    _PrefixedKeys_iterator_closure: function _PrefixedKeys_iterator_closure(t0) {
      this.$this = t0;
    },
    PublicMemberMapView: function PublicMemberMapView(t0, t1) {
      this._public_member_map_view$_inner = t0;
      this.$ti = t1;
    },
    SourceMapBuffer: function SourceMapBuffer(t0, t1) {
      var _ = this;
      _._source_map_buffer$_buffer = t0;
      _._entries = t1;
      _._column = _._line = 0;
      _._inSpan = false;
    },
    SourceMapBuffer_buildSourceMap_closure: function SourceMapBuffer_buildSourceMap_closure(t0, t1) {
      this._box_0 = t0;
      this.prefixLength = t1;
    },
    UnprefixedMapView: function UnprefixedMapView(t0, t1, t2) {
      this._unprefixed_map_view$_map = t0;
      this._unprefixed_map_view$_prefix = t1;
      this.$ti = t2;
    },
    _UnprefixedKeys: function _UnprefixedKeys(t0) {
      this._unprefixed_map_view$_view = t0;
    },
    _UnprefixedKeys_iterator_closure: function _UnprefixedKeys_iterator_closure(t0) {
      this.$this = t0;
    },
    _UnprefixedKeys_iterator_closure0: function _UnprefixedKeys_iterator_closure0(t0) {
      this.$this = t0;
    },
    toSentence(iter, conjunction) {
      if (iter.get$length(iter) === 1)
        return J.toString$0$(iter.get$first(iter));
      return A.IterableExtension_get_exceptLast(iter).join$1(0, ", ") + (" " + conjunction + " " + A.S(iter.get$last(iter)));
    },
    indent(string, indentation) {
      return new A.MappedListIterable(A._setArrayType(string.split("\n"), type$.JSArray_String), new A.indent_closure(indentation), type$.MappedListIterable_String_String).join$1(0, "\n");
    },
    pluralize($name, number, plural) {
      if (number === 1)
        return $name;
      if (plural != null)
        return plural;
      return $name + "s";
    },
    trimAscii(string, excludeEscape) {
      var t1,
        start = A._firstNonWhitespace(string);
      if (start == null)
        t1 = "";
      else {
        t1 = A._lastNonWhitespace(string, true);
        t1.toString;
        t1 = B.JSString_methods.substring$2(string, start, t1 + 1);
      }
      return t1;
    },
    trimAsciiRight(string, excludeEscape) {
      var end = A._lastNonWhitespace(string, excludeEscape);
      return end == null ? "" : B.JSString_methods.substring$2(string, 0, end + 1);
    },
    _firstNonWhitespace(string) {
      var t1, i, t2;
      for (t1 = string.length, i = 0; i < t1; ++i) {
        t2 = string.charCodeAt(i);
        if (!(t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12))
          return i;
      }
      return null;
    },
    _lastNonWhitespace(string, excludeEscape) {
      var i, i0, codeUnit;
      for (i = string.length - 1, i0 = i; i0 >= 0; --i0) {
        codeUnit = string.charCodeAt(i0);
        if (!(codeUnit === 32 || codeUnit === 9 || codeUnit === 10 || codeUnit === 13 || codeUnit === 12))
          if (excludeEscape && i0 !== 0 && i0 !== i && codeUnit === 92)
            return i0 + 1;
          else
            return i0;
      }
      return null;
    },
    isPublic(member) {
      var start = member.charCodeAt(0);
      return start !== 45 && start !== 95;
    },
    flattenVertically(iterable, $T) {
      var result,
        t1 = iterable.$ti._eval$1("@")._bind$1($T._eval$1("QueueList<0>"))._eval$1("MappedListIterable<1,2>"),
        queues = A.List_List$of(new A.MappedListIterable(iterable, new A.flattenVertically_closure($T), t1), true, t1._eval$1("ListIterable.E"));
      if (queues.length === 1)
        return B.JSArray_methods.get$first(queues);
      result = A._setArrayType([], $T._eval$1("JSArray<0>"));
      for (; queues.length !== 0;) {
        if (!!queues.fixed$length)
          A.throwExpression(A.UnsupportedError$("removeWhere"));
        B.JSArray_methods._removeWhere$2(queues, new A.flattenVertically_closure0(result, $T), true);
      }
      return result;
    },
    codepointIndexToCodeUnitIndex(string, codepointIndex) {
      var codeUnitIndex, i, codeUnitIndex0;
      for (codeUnitIndex = 0, i = 0; i < codepointIndex; ++i) {
        codeUnitIndex0 = codeUnitIndex + 1;
        codeUnitIndex = string.charCodeAt(codeUnitIndex) >>> 10 === 54 ? codeUnitIndex0 + 1 : codeUnitIndex0;
      }
      return codeUnitIndex;
    },
    codeUnitIndexToCodepointIndex(string, codeUnitIndex) {
      var codepointIndex, i;
      for (codepointIndex = 0, i = 0; i < codeUnitIndex; i = (string.charCodeAt(i) >>> 10 === 54 ? i + 1 : i) + 1)
        ++codepointIndex;
      return codepointIndex;
    },
    frameForSpan(span, member, url) {
      var t2, t3,
        t1 = url == null ? span.get$sourceUrl(span) : url;
      if (t1 == null)
        t1 = $.$get$_noSourceUrl();
      t2 = span.get$start(span);
      t2 = t2.file.getLine$1(t2.offset);
      t3 = span.get$start(span);
      return new A.Frame(t1, t2 + 1, t3.file.getColumn$1(t3.offset) + 1, member);
    },
    declarationName(span) {
      var text = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(span.file._decodedChars, span._file$_start, span._end), 0, null);
      return A.trimAsciiRight(B.JSString_methods.substring$2(text, 0, B.JSString_methods.indexOf$1(text, ":")), false);
    },
    unvendor($name) {
      var i,
        t1 = $name.length;
      if (t1 < 2)
        return $name;
      if ($name.charCodeAt(0) !== 45)
        return $name;
      if ($name.charCodeAt(1) === 45)
        return $name;
      for (i = 2; i < t1; ++i)
        if ($name.charCodeAt(i) === 45)
          return B.JSString_methods.substring$1($name, i + 1);
      return $name;
    },
    equalsIgnoreCase(string1, string2) {
      var t1, i;
      if (string1 === string2)
        return true;
      if (string1 == null)
        return false;
      t1 = string1.length;
      if (t1 !== string2.length)
        return false;
      for (i = 0; i < t1; ++i)
        if (!A.characterEqualsIgnoreCase(string1.charCodeAt(i), string2.charCodeAt(i)))
          return false;
      return true;
    },
    startsWithIgnoreCase(string, prefix) {
      var i,
        t1 = prefix.length;
      if (string.length < t1)
        return false;
      for (i = 0; i < t1; ++i)
        if (!A.characterEqualsIgnoreCase(string.charCodeAt(i), prefix.charCodeAt(i)))
          return false;
      return true;
    },
    mapInPlace(list, $function) {
      var i;
      for (i = 0; i < list.length; ++i)
        list[i] = $function.call$1(list[i]);
    },
    longestCommonSubsequence(list1, list2, select, $T) {
      var t1, _i, selections, i, i0, j, selection, j0,
        _length = list1.get$length(0) + 1,
        lengths = J.JSArray_JSArray$allocateFixed(_length, type$.List_int);
      for (t1 = type$.int, _i = 0; _i < _length; ++_i)
        lengths[_i] = A.List_List$filled(((list2._queue_list$_tail - list2._queue_list$_head & J.get$length$asx(list2._queue_list$_table) - 1) >>> 0) + 1, 0, false, t1);
      _length = list1.get$length(0);
      selections = J.JSArray_JSArray$allocateFixed(_length, $T._eval$1("List<0?>"));
      for (t1 = $T._eval$1("0?"), _i = 0; _i < _length; ++_i)
        selections[_i] = A.List_List$filled((list2._queue_list$_tail - list2._queue_list$_head & J.get$length$asx(list2._queue_list$_table) - 1) >>> 0, null, false, t1);
      for (i = 0; i < (list1._queue_list$_tail - list1._queue_list$_head & J.get$length$asx(list1._queue_list$_table) - 1) >>> 0; i = i0)
        for (i0 = i + 1, j = 0; j < (list2._queue_list$_tail - list2._queue_list$_head & J.get$length$asx(list2._queue_list$_table) - 1) >>> 0; j = j0) {
          selection = select.call$2(list1.$index(0, i), list2.$index(0, j));
          selections[i][j] = selection;
          t1 = lengths[i0];
          j0 = j + 1;
          t1[j0] = selection == null ? Math.max(t1[j], lengths[i][j0]) : lengths[i][j] + 1;
        }
      return new A.longestCommonSubsequence_backtrack(selections, lengths, $T).call$2(list1.get$length(0) - 1, list2.get$length(0) - 1);
    },
    removeFirstWhere(list, test, orElse) {
      var i;
      for (i = 0; i < list.length; ++i) {
        if (!test.call$1(list[i]))
          continue;
        B.JSArray_methods.removeAt$1(list, i);
        return;
      }
      orElse.call$0();
    },
    mapAddAll2(destination, source, K1, K2, $V) {
      source.forEach$1(0, new A.mapAddAll2_closure(destination, K1, K2, $V));
    },
    setAll(map, keys, value) {
      var t1;
      for (t1 = J.get$iterator$ax(keys); t1.moveNext$0();)
        map.$indexSet(0, t1.get$current(t1), value);
    },
    rotateSlice(list, start, end) {
      var i, next,
        element = list.$index(0, end - 1);
      for (i = start; i < end; ++i, element = next) {
        next = list.$index(0, i);
        list.$indexSet(0, i, element);
      }
    },
    mapAsync(iterable, callback, $E, $F) {
      return A.mapAsync$body(iterable, callback, $E, $F, $F._eval$1("Iterable<0>"));
    },
    mapAsync$body(iterable, callback, $E, $F, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, t2, _i, t1, $async$temp1;
      var $async$mapAsync = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = A._setArrayType([], $F._eval$1("JSArray<0>"));
              t2 = iterable.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$temp1 = t1;
              $async$goto = 6;
              return A._asyncAwait(callback.call$1(iterable[_i]), $async$mapAsync);
            case 6:
              // returning from await.
              $async$temp1.push($async$result);
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$mapAsync, $async$completer);
    },
    putIfAbsentAsync(map, key, ifAbsent, $K, $V) {
      return A.putIfAbsentAsync$body(map, key, ifAbsent, $K, $V, $V);
    },
    putIfAbsentAsync$body(map, key, ifAbsent, $K, $V, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, t1, value;
      var $async$putIfAbsentAsync = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (map.containsKey$1(key)) {
                t1 = map.$index(0, key);
                $async$returnValue = t1 == null ? $V._as(t1) : t1;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(ifAbsent.call$0(), $async$putIfAbsentAsync);
            case 3:
              // returning from await.
              value = $async$result;
              map.$indexSet(0, key, value);
              $async$returnValue = value;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$putIfAbsentAsync, $async$completer);
    },
    copyMapOfMap(map, K1, K2, $V) {
      var t3, key, child,
        t1 = K2._eval$1("@<0>")._bind$1($V)._eval$1("Map<1,2>"),
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(K1, t1);
      for (t1 = A.MapExtensions_get_pairs(map, K1, t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        key = t3._0;
        child = t3._1;
        t3 = A.LinkedHashMap_LinkedHashMap(null, null, null, K2, $V);
        t3.addAll$1(0, child);
        t2.$indexSet(0, key, t3);
      }
      return t2;
    },
    copyMapOfList(map, $K, $E) {
      var t3,
        t1 = $E._eval$1("List<0>"),
        t2 = A.LinkedHashMap_LinkedHashMap$_empty($K, t1);
      for (t1 = A.MapExtensions_get_pairs(map, $K, t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3._0, J.toList$0$ax(t3._1));
      }
      return t2;
    },
    consumeEscapedCharacter(scanner) {
      var _1_0, value, i, next, t1;
      scanner.expectChar$1(92);
      _1_0 = scanner.peekChar$0();
      if (_1_0 == null)
        return 65533;
      if (_1_0 === 10 || _1_0 === 13 || _1_0 === 12)
        scanner.error$1(0, "Expected escape sequence.");
      if (A.CharacterExtension_get_isHex(_1_0)) {
        for (value = 0, i = 0; i < 6; ++i) {
          next = scanner.peekChar$0();
          if (next != null) {
            if (!(next >= 48 && next <= 57))
              if (!(next >= 97 && next <= 102))
                t1 = next >= 65 && next <= 70;
              else
                t1 = true;
            else
              t1 = true;
            t1 = !t1;
          } else
            t1 = true;
          if (t1)
            break;
          value = (value << 4 >>> 0) + A.asHex(scanner.readChar$0());
        }
        t1 = scanner.peekChar$0();
        if (t1 === 32 || t1 === 9 || t1 === 10 || t1 === 13 || t1 === 12)
          scanner.readChar$0();
        $label0$1: {
          if (0 !== value)
            t1 = value >= 55296 && value <= 57343 || value >= 1114111;
          else
            t1 = true;
          if (t1) {
            t1 = 65533;
            break $label0$1;
          }
          t1 = value;
          break $label0$1;
        }
        return t1;
      }
      return scanner.readChar$0();
    },
    throwWithTrace(error, originalError, trace) {
      var t1 = A.getTrace(originalError);
      A.attachTrace(error, t1 == null ? trace : t1);
      throw A.wrapException(error);
    },
    attachTrace(error, trace) {
      var t1;
      if (trace.toString$0(0).length === 0)
        return;
      t1 = $.$get$_traces();
      A.Expando__checkType(error);
      if (t1._jsWeakMap.get(error) == null)
        t1.$indexSet(0, error, trace);
    },
    getTrace(error) {
      var t1;
      if (typeof error == "string" || typeof error == "number" || A._isBool(error))
        t1 = null;
      else {
        t1 = $.$get$_traces();
        A.Expando__checkType(error);
        t1 = t1._jsWeakMap.get(error);
      }
      return t1;
    },
    indent_closure: function indent_closure(t0) {
      this.indentation = t0;
    },
    flattenVertically_closure: function flattenVertically_closure(t0) {
      this.T = t0;
    },
    flattenVertically_closure0: function flattenVertically_closure0(t0, t1) {
      this.result = t0;
      this.T = t1;
    },
    longestCommonSubsequence_backtrack: function longestCommonSubsequence_backtrack(t0, t1, t2) {
      this.selections = t0;
      this.lengths = t1;
      this.T = t2;
    },
    mapAddAll2_closure: function mapAddAll2_closure(t0, t1, t2, t3) {
      var _ = this;
      _.destination = t0;
      _.K1 = t1;
      _.K2 = t2;
      _.V = t3;
    },
    SassApiValue_assertSelector(_this, allowParent, $name) {
      var error, stackTrace, t1, exception,
        string = _this._selectorString$1($name);
      try {
        t1 = A.SelectorList_SelectorList$parse(string, allowParent, null, null, false);
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.SassFormatException._is(t1)) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = B.JSString_methods.replaceFirst$2(J.toString$0$(error), "Error: ", "");
          A.throwWithTrace(new A.SassScriptException($name == null ? t1 : "$" + $name + ": " + t1), error, stackTrace);
        } else
          throw exception;
      }
    },
    SassApiValue_assertCompoundSelector(_this, $name) {
      var error, stackTrace, t1, exception,
        allowParent = false,
        string = _this._selectorString$1($name);
      try {
        t1 = A.SelectorParser$(string, allowParent, null, null, false, null).parseCompoundSelector$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.SassFormatException._is(t1)) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = B.JSString_methods.replaceFirst$2(J.toString$0$(error), "Error: ", "");
          A.throwWithTrace(new A.SassScriptException("$" + $name + ": " + t1), error, stackTrace);
        } else
          throw exception;
      }
    },
    Value: function Value() {
    },
    SassArgumentList$(contents, keywords, separator) {
      var t1 = type$.Value;
      t1 = new A.SassArgumentList(A.ConstantMap_ConstantMap$from(keywords, type$.String, t1), A.List_List$unmodifiable(contents, t1), separator, false);
      t1.SassList$3$brackets(contents, separator, false);
      return t1;
    },
    SassArgumentList: function SassArgumentList(t0, t1, t2, t3) {
      var _ = this;
      _._keywords = t0;
      _._wereKeywordsAccessed = false;
      _._list$_contents = t1;
      _._separator = t2;
      _._hasBrackets = t3;
    },
    SassBoolean: function SassBoolean(t0) {
      this.value = t0;
    },
    SassCalculation_calc(argument) {
      var t1,
        _0_0 = A.SassCalculation__simplify(argument);
      $label0$0: {
        if (_0_0 instanceof A.SassNumber) {
          t1 = _0_0;
          break $label0$0;
        }
        if (_0_0 instanceof A.SassCalculation) {
          t1 = _0_0;
          break $label0$0;
        }
        t1 = new A.SassCalculation("calc", A.List_List$unmodifiable([_0_0], type$.Object));
        break $label0$0;
      }
      return t1;
    },
    SassCalculation_min($arguments) {
      var minimum, _i, arg, t2,
        args = A.List_List$unmodifiable(new A.MappedListIterable($arguments, A.calculation_SassCalculation__simplify$closure(), A._arrayInstanceType($arguments)._eval$1("MappedListIterable<1,@>")), type$.Object),
        t1 = args.length;
      if (t1 === 0)
        throw A.wrapException(A.ArgumentError$("min() must have at least one argument.", null));
      for (minimum = null, _i = 0; _i < t1; ++_i) {
        arg = args[_i];
        if (arg instanceof A.SassNumber)
          t2 = minimum != null && !minimum.isComparableTo$1(arg);
        else
          t2 = true;
        if (t2) {
          minimum = null;
          break;
        } else if (minimum == null || minimum.greaterThan$1(arg).value)
          minimum = arg;
      }
      if (minimum != null)
        return minimum;
      A.SassCalculation__verifyCompatibleNumbers(args);
      return new A.SassCalculation("min", args);
    },
    SassCalculation_max($arguments) {
      var maximum, _i, arg, t2,
        args = A.List_List$unmodifiable(new A.MappedListIterable($arguments, A.calculation_SassCalculation__simplify$closure(), A._arrayInstanceType($arguments)._eval$1("MappedListIterable<1,@>")), type$.Object),
        t1 = args.length;
      if (t1 === 0)
        throw A.wrapException(A.ArgumentError$("max() must have at least one argument.", null));
      for (maximum = null, _i = 0; _i < t1; ++_i) {
        arg = args[_i];
        if (arg instanceof A.SassNumber)
          t2 = maximum != null && !maximum.isComparableTo$1(arg);
        else
          t2 = true;
        if (t2) {
          maximum = null;
          break;
        } else if (maximum == null || maximum.lessThan$1(arg).value)
          maximum = arg;
      }
      if (maximum != null)
        return maximum;
      A.SassCalculation__verifyCompatibleNumbers(args);
      return new A.SassCalculation("max", args);
    },
    SassCalculation_hypot($arguments) {
      var first, subtotal, i, number, value, t2, t3,
        args = A.List_List$unmodifiable(new A.MappedListIterable($arguments, A.calculation_SassCalculation__simplify$closure(), A._arrayInstanceType($arguments)._eval$1("MappedListIterable<1,@>")), type$.Object),
        t1 = args.length;
      if (t1 === 0)
        throw A.wrapException(A.ArgumentError$("hypot() must have at least one argument.", null));
      A.SassCalculation__verifyCompatibleNumbers(args);
      first = B.JSArray_methods.get$first(args);
      if (!(first instanceof A.SassNumber) || first.hasUnit$1("%"))
        return new A.SassCalculation("hypot", args);
      for (subtotal = 0, i = 0; i < t1;) {
        number = args[i];
        if (!(number instanceof A.SassNumber) || !number.hasCompatibleUnits$1(first))
          return new A.SassCalculation("hypot", args);
        ++i;
        value = number.convertValueToMatch$3(first, "numbers[" + i + "]", "numbers[1]");
        subtotal += value * value;
      }
      t1 = Math.sqrt(subtotal);
      t2 = J.getInterceptor$x(first);
      t3 = t2.get$numeratorUnits(first);
      return A.SassNumber_SassNumber$withUnits(t1, t2.get$denominatorUnits(first), t3);
    },
    SassCalculation_abs(argument) {
      argument = A.SassCalculation__simplify(argument);
      if (!(argument instanceof A.SassNumber))
        return new A.SassCalculation("abs", A._setArrayType([argument], type$.JSArray_Object));
      if (argument.hasUnit$1("%"))
        A.warnForDeprecation(string$.Passinp + argument.toString$0(0) + ")\nTo emit a CSS abs() now: abs(#{" + argument.toString$0(0) + string$.x7d__Mor, B.Deprecation_GFc);
      return A.SassNumber_SassNumber(Math.abs(argument._number$_value), null).coerceToMatch$1(argument);
    },
    SassCalculation_exp(argument) {
      argument = A.SassCalculation__simplify(argument);
      if (!(argument instanceof A.SassNumber))
        return new A.SassCalculation("exp", A._setArrayType([argument], type$.JSArray_Object));
      argument.assertNoUnits$0();
      return A.pow0(A.SassNumber_SassNumber(2.718281828459045, null), argument);
    },
    SassCalculation_sign(argument) {
      var t1, _0_2, t2, arg;
      argument = A.SassCalculation__simplify(argument);
      $label0$0: {
        t1 = argument instanceof A.SassNumber;
        if (t1) {
          _0_2 = argument._number$_value;
          if (!isNaN(_0_2))
            t2 = 0 === _0_2;
          else
            t2 = true;
        } else
          t2 = false;
        if (t2) {
          t1 = argument;
          break $label0$0;
        }
        if (t1) {
          t1 = !argument.hasUnit$1("%");
          arg = argument;
        } else {
          arg = null;
          t1 = false;
        }
        if (t1) {
          t1 = A.SassNumber_SassNumber(J.get$sign$in(arg._number$_value), null).coerceToMatch$1(argument);
          break $label0$0;
        }
        t1 = new A.SassCalculation("sign", A._setArrayType([argument], type$.JSArray_Object));
        break $label0$0;
      }
      return t1;
    },
    SassCalculation_clamp(min, value, max) {
      var t1, args;
      if (value == null && max != null)
        throw A.wrapException(A.ArgumentError$("If value is null, max must also be null.", null));
      min = A.SassCalculation__simplify(min);
      value = A.NullableExtension_andThen(value, A.calculation_SassCalculation__simplify$closure());
      max = A.NullableExtension_andThen(max, A.calculation_SassCalculation__simplify$closure());
      if (min instanceof A.SassNumber && value instanceof A.SassNumber && max instanceof A.SassNumber && min.hasCompatibleUnits$1(value) && min.hasCompatibleUnits$1(max)) {
        if (value.lessThanOrEquals$1(min).value)
          return min;
        if (value.greaterThanOrEquals$1(max).value)
          return max;
        return value;
      }
      t1 = [min];
      if (value != null)
        t1.push(value);
      if (max != null)
        t1.push(max);
      args = A.List_List$unmodifiable(t1, type$.Object);
      A.SassCalculation__verifyCompatibleNumbers(args);
      A.SassCalculation__verifyLength(args, 3);
      return new A.SassCalculation("clamp", args);
    },
    SassCalculation_pow(base, exponent) {
      var t1 = A._setArrayType([base], type$.JSArray_Object);
      if (exponent != null)
        t1.push(exponent);
      A.SassCalculation__verifyLength(t1, 2);
      base = A.SassCalculation__simplify(base);
      exponent = A.NullableExtension_andThen(exponent, A.calculation_SassCalculation__simplify$closure());
      if (!(base instanceof A.SassNumber) || !(exponent instanceof A.SassNumber))
        return new A.SassCalculation("pow", t1);
      base.assertNoUnits$0();
      exponent.assertNoUnits$0();
      return A.pow0(base, exponent);
    },
    SassCalculation_log(number, base) {
      var t1, t2;
      number = A.SassCalculation__simplify(number);
      base = A.NullableExtension_andThen(base, A.calculation_SassCalculation__simplify$closure());
      t1 = A._setArrayType([number], type$.JSArray_Object);
      t2 = base != null;
      if (t2)
        t1.push(base);
      if (number instanceof A.SassNumber)
        t2 = t2 && !(base instanceof A.SassNumber);
      else
        t2 = true;
      if (t2)
        return new A.SassCalculation("log", t1);
      number.assertNoUnits$0();
      if (base instanceof A.SassNumber) {
        base.assertNoUnits$0();
        return A.log(number, base);
      }
      return A.log(number, null);
    },
    SassCalculation_atan2(y, x) {
      var t1;
      y = A.SassCalculation__simplify(y);
      x = A.NullableExtension_andThen(x, A.calculation_SassCalculation__simplify$closure());
      t1 = A._setArrayType([y], type$.JSArray_Object);
      if (x != null)
        t1.push(x);
      A.SassCalculation__verifyLength(t1, 2);
      A.SassCalculation__verifyCompatibleNumbers(t1);
      if (!(y instanceof A.SassNumber) || !(x instanceof A.SassNumber) || y.hasUnit$1("%") || x.hasUnit$1("%") || !y.hasCompatibleUnits$1(x))
        return new A.SassCalculation("atan2", t1);
      return A.SassNumber_SassNumber$withUnits(Math.atan2(y._number$_value, x.convertValueToMatch$3(y, "x", "y")) * 57.29577951308232, null, A._setArrayType(["deg"], type$.JSArray_String));
    },
    SassCalculation_rem(dividend, modulus) {
      var t1, result;
      dividend = A.SassCalculation__simplify(dividend);
      modulus = A.NullableExtension_andThen(modulus, A.calculation_SassCalculation__simplify$closure());
      t1 = A._setArrayType([dividend], type$.JSArray_Object);
      if (modulus != null)
        t1.push(modulus);
      A.SassCalculation__verifyLength(t1, 2);
      A.SassCalculation__verifyCompatibleNumbers(t1);
      if (!(dividend instanceof A.SassNumber) || !(modulus instanceof A.SassNumber) || !dividend.hasCompatibleUnits$1(modulus))
        return new A.SassCalculation("rem", t1);
      result = dividend.modulo$1(modulus);
      t1 = modulus._number$_value;
      if (A.DoubleWithSignedZero_get_signIncludingZero(t1) !== A.DoubleWithSignedZero_get_signIncludingZero(dividend._number$_value)) {
        if (t1 == 1 / 0 || t1 == -1 / 0)
          return dividend;
        if (result._number$_value === 0)
          return result.unaryMinus$0();
        return result.minus$1(modulus);
      }
      return result;
    },
    SassCalculation_mod(dividend, modulus) {
      var t1;
      dividend = A.SassCalculation__simplify(dividend);
      modulus = A.NullableExtension_andThen(modulus, A.calculation_SassCalculation__simplify$closure());
      t1 = A._setArrayType([dividend], type$.JSArray_Object);
      if (modulus != null)
        t1.push(modulus);
      A.SassCalculation__verifyLength(t1, 2);
      A.SassCalculation__verifyCompatibleNumbers(t1);
      if (!(dividend instanceof A.SassNumber) || !(modulus instanceof A.SassNumber) || !dividend.hasCompatibleUnits$1(modulus))
        return new A.SassCalculation("mod", t1);
      return dividend.modulo$1(modulus);
    },
    SassCalculation_round(strategyOrNumber, numberOrStep, step) {
      var _0_4, _0_5_isSet, _0_20, _0_6, t1, _0_50, _0_6_isSet, number, t2, _0_2_isSet, _0_10_isSet, _0_8, _0_12_isSet, _0_12, _0_14_isSet, _0_14, _0_16_isSet, _0_16, t3, strategy, _0_8_isSet, t4, rest, _null = null, _s5_ = "round",
        _0_1 = A.SassCalculation__simplify(strategyOrNumber),
        _0_2 = A.NullableExtension_andThen(numberOrStep, A.calculation_SassCalculation__simplify$closure()),
        _0_5 = A.NullableExtension_andThen(step, A.calculation_SassCalculation__simplify$closure()),
        _0_10 = _0_1,
        _0_4_isSet = _0_1 instanceof A.SassNumber;
      if (_0_4_isSet) {
        type$.SassNumber._as(_0_10);
        _0_4 = _0_2 == null;
        _0_5_isSet = _0_4;
        _0_20 = _0_2;
        if (_0_5_isSet) {
          _0_6 = _0_5 == null;
          t1 = _0_6;
          _0_50 = _0_5;
        } else {
          _0_50 = _null;
          _0_6 = _0_50;
          t1 = false;
        }
        _0_6_isSet = _0_5_isSet;
        number = _0_10;
        _0_1 = number;
      } else {
        number = _null;
        _0_50 = number;
        _0_6 = _0_50;
        _0_20 = _0_6;
        _0_4 = _0_20;
        _0_1 = _0_10;
        _0_6_isSet = false;
        _0_5_isSet = false;
        t1 = false;
      }
      if (t1) {
        t1 = B.JSNumber_methods.round$0(number._number$_value);
        t2 = number.get$numeratorUnits(number);
        return A.SassNumber_SassNumber$withUnits(t1, number.get$denominatorUnits(number), t2);
      }
      if (_0_1 instanceof A.SassNumber) {
        if (_0_4_isSet) {
          t1 = _0_20;
          _0_2_isSet = _0_4_isSet;
        } else {
          t1 = _0_2;
          _0_20 = t1;
          _0_2_isSet = true;
        }
        if (t1 instanceof A.SassNumber) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          type$.SassNumber._as(t1);
          if (_0_6_isSet)
            t2 = _0_6;
          else {
            if (_0_5_isSet)
              t2 = _0_50;
            else {
              t2 = _0_5;
              _0_50 = t2;
              _0_5_isSet = true;
            }
            _0_6 = t2 == null;
            t2 = _0_6;
            _0_6_isSet = true;
          }
          t2 = t2 && !_0_1.hasCompatibleUnits$1(t1);
          step = t1;
          t1 = t2;
        } else {
          step = _null;
          t1 = false;
        }
        number = _0_1;
      } else {
        step = _null;
        number = step;
        _0_2_isSet = _0_4_isSet;
        t1 = false;
      }
      if (t1) {
        t1 = type$.JSArray_Object;
        A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([number, step], t1));
        return new A.SassCalculation(_s5_, A._setArrayType([number, step], t1));
      }
      if (_0_1 instanceof A.SassNumber) {
        if (_0_2_isSet)
          t1 = _0_20;
        else {
          t1 = _0_2;
          _0_20 = t1;
          _0_2_isSet = true;
        }
        if (t1 instanceof A.SassNumber) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          type$.SassNumber._as(t1);
          if (_0_6_isSet)
            t2 = _0_6;
          else {
            if (_0_5_isSet)
              t2 = _0_50;
            else {
              t2 = _0_5;
              _0_50 = t2;
              _0_5_isSet = true;
            }
            _0_6 = t2 == null;
            t2 = _0_6;
            _0_6_isSet = true;
          }
          step = t1;
          t1 = t2;
        } else {
          step = _null;
          t1 = false;
        }
        number = _0_1;
      } else {
        step = _null;
        number = step;
        t1 = false;
      }
      if (t1) {
        A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([number, step], type$.JSArray_Object));
        return A.SassCalculation__roundWithStep("nearest", number, step);
      }
      _0_10_isSet = _0_1 instanceof A.SassString;
      if (_0_10_isSet) {
        _0_8 = _0_1._string$_text;
        t1 = _0_8;
        _0_10 = "nearest" === t1;
        t1 = _0_10;
        _0_12_isSet = !t1;
        if (_0_12_isSet) {
          _0_12 = "up" === _0_8;
          t1 = _0_12;
          _0_14_isSet = !t1;
          if (_0_14_isSet) {
            _0_14 = "down" === _0_8;
            t1 = _0_14;
            _0_16_isSet = !t1;
            if (_0_16_isSet) {
              _0_16 = "to-zero" === _0_8;
              t1 = _0_16;
            } else {
              _0_16 = _null;
              t1 = true;
            }
          } else {
            _0_16 = _null;
            _0_14 = _0_16;
            _0_16_isSet = false;
            t1 = true;
          }
        } else {
          _0_16 = _null;
          _0_14 = _0_16;
          _0_12 = _0_14;
          _0_14_isSet = false;
          _0_16_isSet = false;
          t1 = true;
        }
        if (t1) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          if (t1 instanceof A.SassNumber) {
            if (_0_2_isSet)
              t1 = _0_20;
            else {
              t1 = _0_2;
              _0_20 = t1;
              _0_2_isSet = true;
            }
            t2 = type$.SassNumber;
            t2._as(t1);
            if (_0_5_isSet)
              t3 = _0_50;
            else {
              t3 = _0_5;
              _0_50 = t3;
              _0_5_isSet = true;
            }
            if (t3 instanceof A.SassNumber) {
              if (_0_5_isSet)
                t3 = _0_50;
              else {
                t3 = _0_5;
                _0_50 = t3;
                _0_5_isSet = true;
              }
              t2._as(t3);
              t2 = !t1.hasCompatibleUnits$1(t3);
              step = t3;
            } else {
              step = _null;
              t2 = false;
            }
            number = t1;
            t1 = t2;
          } else {
            step = _null;
            number = step;
            t1 = false;
          }
          strategy = _0_1;
        } else {
          step = _null;
          number = step;
          strategy = number;
          t1 = false;
        }
      } else {
        step = _null;
        number = step;
        strategy = number;
        _0_16 = strategy;
        _0_14 = _0_16;
        _0_12 = _0_14;
        _0_8 = _0_12;
        _0_10 = _0_8;
        _0_12_isSet = false;
        _0_14_isSet = false;
        _0_16_isSet = false;
        t1 = false;
      }
      if (t1) {
        t1 = type$.JSArray_Object;
        A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([number, step], t1));
        return new A.SassCalculation(_s5_, A._setArrayType([strategy, number, step], t1));
      }
      if (_0_1 instanceof A.SassString) {
        if (_0_10_isSet) {
          t1 = _0_10;
          _0_8_isSet = _0_10_isSet;
        } else {
          _0_8 = _0_1._string$_text;
          t1 = _0_8;
          _0_10 = "nearest" === t1;
          t1 = _0_10;
          _0_10_isSet = true;
          _0_8_isSet = true;
        }
        if (!t1) {
          if (_0_12_isSet)
            t1 = _0_12;
          else {
            if (_0_8_isSet)
              t1 = _0_8;
            else {
              _0_8 = _0_1._string$_text;
              t1 = _0_8;
              _0_8_isSet = true;
            }
            _0_12 = "up" === t1;
            t1 = _0_12;
            _0_12_isSet = true;
          }
          if (!t1) {
            if (_0_14_isSet)
              t1 = _0_14;
            else {
              if (_0_8_isSet)
                t1 = _0_8;
              else {
                _0_8 = _0_1._string$_text;
                t1 = _0_8;
                _0_8_isSet = true;
              }
              _0_14 = "down" === t1;
              t1 = _0_14;
              _0_14_isSet = true;
            }
            if (!t1)
              if (_0_16_isSet)
                t1 = _0_16;
              else {
                if (_0_8_isSet)
                  t1 = _0_8;
                else {
                  _0_8 = _0_1._string$_text;
                  t1 = _0_8;
                  _0_8_isSet = true;
                }
                _0_16 = "to-zero" === t1;
                t1 = _0_16;
                _0_16_isSet = true;
              }
            else
              t1 = true;
          } else
            t1 = true;
        } else
          t1 = true;
        if (t1) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          if (t1 instanceof A.SassNumber) {
            if (_0_2_isSet)
              t1 = _0_20;
            else {
              t1 = _0_2;
              _0_20 = t1;
              _0_2_isSet = true;
            }
            t2 = type$.SassNumber;
            t2._as(t1);
            if (_0_5_isSet)
              t3 = _0_50;
            else {
              t3 = _0_5;
              _0_50 = t3;
              _0_5_isSet = true;
            }
            t3 = t3 instanceof A.SassNumber;
            if (t3) {
              if (_0_5_isSet)
                t4 = _0_50;
              else {
                t4 = _0_5;
                _0_50 = t4;
                _0_5_isSet = true;
              }
              t2._as(t4);
              step = t4;
            } else
              step = _null;
            t2 = t3;
            number = t1;
            t1 = t2;
          } else {
            step = _null;
            number = step;
            t1 = false;
          }
          strategy = _0_1;
        } else {
          step = _null;
          number = step;
          strategy = number;
          t1 = false;
        }
      } else {
        step = _null;
        number = step;
        strategy = number;
        _0_8_isSet = _0_10_isSet;
        t1 = false;
      }
      if (t1) {
        A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([number, step], type$.JSArray_Object));
        return A.SassCalculation__roundWithStep(strategy._string$_text, number, step);
      }
      if (_0_1 instanceof A.SassString) {
        if (_0_10_isSet)
          t1 = _0_10;
        else {
          if (_0_8_isSet)
            t1 = _0_8;
          else {
            _0_8 = _0_1._string$_text;
            t1 = _0_8;
            _0_8_isSet = true;
          }
          _0_10 = "nearest" === t1;
          t1 = _0_10;
          _0_10_isSet = true;
        }
        if (!t1) {
          if (_0_12_isSet)
            t1 = _0_12;
          else {
            if (_0_8_isSet)
              t1 = _0_8;
            else {
              _0_8 = _0_1._string$_text;
              t1 = _0_8;
              _0_8_isSet = true;
            }
            _0_12 = "up" === t1;
            t1 = _0_12;
            _0_12_isSet = true;
          }
          if (!t1) {
            if (_0_14_isSet)
              t1 = _0_14;
            else {
              if (_0_8_isSet)
                t1 = _0_8;
              else {
                _0_8 = _0_1._string$_text;
                t1 = _0_8;
                _0_8_isSet = true;
              }
              _0_14 = "down" === t1;
              t1 = _0_14;
              _0_14_isSet = true;
            }
            if (!t1)
              if (_0_16_isSet)
                t1 = _0_16;
              else {
                if (_0_8_isSet)
                  t1 = _0_8;
                else {
                  _0_8 = _0_1._string$_text;
                  t1 = _0_8;
                  _0_8_isSet = true;
                }
                _0_16 = "to-zero" === t1;
                t1 = _0_16;
                _0_16_isSet = true;
              }
            else
              t1 = true;
          } else
            t1 = true;
        } else
          t1 = true;
        if (t1) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          if (t1 instanceof A.SassString) {
            if (_0_2_isSet)
              t1 = _0_20;
            else {
              t1 = _0_2;
              _0_20 = t1;
              _0_2_isSet = true;
            }
            type$.SassString._as(t1);
            if (_0_6_isSet)
              t2 = _0_6;
            else {
              if (_0_5_isSet)
                t2 = _0_50;
              else {
                t2 = _0_5;
                _0_50 = t2;
                _0_5_isSet = true;
              }
              _0_6 = t2 == null;
              t2 = _0_6;
              _0_6_isSet = true;
            }
            rest = t1;
            t1 = t2;
          } else {
            rest = _null;
            t1 = false;
          }
          strategy = _0_1;
        } else {
          rest = _null;
          strategy = rest;
          t1 = false;
        }
      } else {
        rest = _null;
        strategy = rest;
        t1 = false;
      }
      if (t1)
        return new A.SassCalculation(_s5_, A._setArrayType([strategy, rest], type$.JSArray_Object));
      if (_0_1 instanceof A.SassString) {
        if (_0_10_isSet)
          t1 = _0_10;
        else {
          if (_0_8_isSet)
            t1 = _0_8;
          else {
            _0_8 = _0_1._string$_text;
            t1 = _0_8;
            _0_8_isSet = true;
          }
          _0_10 = "nearest" === t1;
          t1 = _0_10;
          _0_10_isSet = true;
        }
        if (!t1) {
          if (_0_12_isSet)
            t1 = _0_12;
          else {
            if (_0_8_isSet)
              t1 = _0_8;
            else {
              _0_8 = _0_1._string$_text;
              t1 = _0_8;
              _0_8_isSet = true;
            }
            _0_12 = "up" === t1;
            t1 = _0_12;
            _0_12_isSet = true;
          }
          if (!t1) {
            if (_0_14_isSet)
              t1 = _0_14;
            else {
              if (_0_8_isSet)
                t1 = _0_8;
              else {
                _0_8 = _0_1._string$_text;
                t1 = _0_8;
                _0_8_isSet = true;
              }
              _0_14 = "down" === t1;
              t1 = _0_14;
              _0_14_isSet = true;
            }
            if (!t1)
              if (_0_16_isSet)
                t1 = _0_16;
              else {
                if (_0_8_isSet)
                  t1 = _0_8;
                else {
                  _0_8 = _0_1._string$_text;
                  t1 = _0_8;
                  _0_8_isSet = true;
                }
                _0_16 = "to-zero" === t1;
                t1 = _0_16;
                _0_16_isSet = true;
              }
            else
              t1 = true;
          } else
            t1 = true;
        } else
          t1 = true;
        if (t1) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          if (t1 != null)
            if (_0_6_isSet)
              t1 = _0_6;
            else {
              if (_0_5_isSet)
                t1 = _0_50;
              else {
                t1 = _0_5;
                _0_50 = t1;
                _0_5_isSet = true;
              }
              _0_6 = t1 == null;
              t1 = _0_6;
              _0_6_isSet = true;
            }
          else
            t1 = false;
        } else
          t1 = false;
      } else
        t1 = false;
      if (t1)
        throw A.wrapException(A.SassScriptException$(string$.If_str, _null));
      if (_0_1 instanceof A.SassString) {
        if (_0_10_isSet)
          t1 = _0_10;
        else {
          if (_0_8_isSet)
            t1 = _0_8;
          else {
            _0_8 = _0_1._string$_text;
            t1 = _0_8;
            _0_8_isSet = true;
          }
          _0_10 = "nearest" === t1;
          t1 = _0_10;
          _0_10_isSet = true;
        }
        if (!t1) {
          if (_0_12_isSet)
            t1 = _0_12;
          else {
            if (_0_8_isSet)
              t1 = _0_8;
            else {
              _0_8 = _0_1._string$_text;
              t1 = _0_8;
              _0_8_isSet = true;
            }
            _0_12 = "up" === t1;
            t1 = _0_12;
            _0_12_isSet = true;
          }
          if (!t1) {
            if (_0_14_isSet)
              t1 = _0_14;
            else {
              if (_0_8_isSet)
                t1 = _0_8;
              else {
                _0_8 = _0_1._string$_text;
                t1 = _0_8;
                _0_8_isSet = true;
              }
              _0_14 = "down" === t1;
              t1 = _0_14;
              _0_14_isSet = true;
            }
            if (!t1)
              if (_0_16_isSet)
                t1 = _0_16;
              else {
                if (_0_8_isSet)
                  t1 = _0_8;
                else {
                  _0_8 = _0_1._string$_text;
                  t1 = _0_8;
                  _0_8_isSet = true;
                }
                _0_16 = "to-zero" === t1;
                t1 = _0_16;
                _0_16_isSet = true;
              }
            else
              t1 = true;
          } else
            t1 = true;
        } else
          t1 = true;
        if (t1) {
          if (_0_4_isSet)
            t1 = _0_4;
          else {
            if (_0_2_isSet)
              t1 = _0_20;
            else {
              t1 = _0_2;
              _0_20 = t1;
              _0_2_isSet = true;
            }
            _0_4 = t1 == null;
            t1 = _0_4;
            _0_4_isSet = true;
          }
          if (t1)
            if (_0_6_isSet)
              t1 = _0_6;
            else {
              if (_0_5_isSet)
                t1 = _0_50;
              else {
                t1 = _0_5;
                _0_50 = t1;
                _0_5_isSet = true;
              }
              _0_6 = t1 == null;
              t1 = _0_6;
              _0_6_isSet = true;
            }
          else
            t1 = false;
        } else
          t1 = false;
      } else
        t1 = false;
      if (t1)
        throw A.wrapException(A.SassScriptException$(string$.Number, _null));
      if (_0_1 instanceof A.SassString) {
        if (_0_4_isSet)
          t1 = _0_4;
        else {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          _0_4 = t1 == null;
          t1 = _0_4;
          _0_4_isSet = true;
        }
        if (t1)
          if (_0_6_isSet)
            t1 = _0_6;
          else {
            if (_0_5_isSet)
              t1 = _0_50;
            else {
              t1 = _0_5;
              _0_50 = t1;
              _0_5_isSet = true;
            }
            _0_6 = t1 == null;
            t1 = _0_6;
            _0_6_isSet = true;
          }
        else
          t1 = false;
        rest = _0_1;
      } else {
        rest = _null;
        t1 = false;
      }
      if (t1)
        return new A.SassCalculation(_s5_, A._setArrayType([rest], type$.JSArray_Object));
      if (_0_4_isSet)
        t1 = _0_4;
      else {
        if (_0_2_isSet)
          t1 = _0_20;
        else {
          t1 = _0_2;
          _0_20 = t1;
          _0_2_isSet = true;
        }
        _0_4 = t1 == null;
        t1 = _0_4;
      }
      if (t1)
        if (_0_6_isSet)
          t1 = _0_6;
        else {
          if (_0_5_isSet)
            t1 = _0_50;
          else {
            t1 = _0_5;
            _0_50 = t1;
            _0_5_isSet = true;
          }
          _0_6 = t1 == null;
          t1 = _0_6;
          _0_6_isSet = true;
        }
      else
        t1 = false;
      if (t1)
        throw A.wrapException(A.SassScriptException$("Single argument " + A.S(_0_1) + " expected to be simplifiable.", _null));
      if (_0_2_isSet)
        t1 = _0_20;
      else {
        t1 = _0_2;
        _0_20 = t1;
        _0_2_isSet = true;
      }
      if (t1 != null) {
        if (_0_2_isSet)
          step = _0_20;
        else {
          step = _0_2;
          _0_20 = step;
          _0_2_isSet = true;
        }
        if (step == null)
          step = type$.Object._as(step);
        if (_0_6_isSet)
          t1 = _0_6;
        else {
          if (_0_5_isSet)
            t1 = _0_50;
          else {
            t1 = _0_5;
            _0_50 = t1;
            _0_5_isSet = true;
          }
          _0_6 = t1 == null;
          t1 = _0_6;
        }
      } else {
        step = _null;
        t1 = false;
      }
      if (t1)
        return new A.SassCalculation(_s5_, A._setArrayType([_0_1, step], type$.JSArray_Object));
      if (_0_1 instanceof A.SassString) {
        if (_0_10_isSet)
          t1 = _0_10;
        else {
          if (_0_8_isSet)
            t1 = _0_8;
          else {
            _0_8 = _0_1._string$_text;
            t1 = _0_8;
            _0_8_isSet = true;
          }
          _0_10 = "nearest" === t1;
          t1 = _0_10;
        }
        if (!t1) {
          if (_0_12_isSet)
            t1 = _0_12;
          else {
            if (_0_8_isSet)
              t1 = _0_8;
            else {
              _0_8 = _0_1._string$_text;
              t1 = _0_8;
              _0_8_isSet = true;
            }
            _0_12 = "up" === t1;
            t1 = _0_12;
          }
          if (!t1) {
            if (_0_14_isSet)
              t1 = _0_14;
            else {
              if (_0_8_isSet)
                t1 = _0_8;
              else {
                _0_8 = _0_1._string$_text;
                t1 = _0_8;
                _0_8_isSet = true;
              }
              _0_14 = "down" === t1;
              t1 = _0_14;
            }
            if (!t1)
              if (_0_16_isSet)
                t1 = _0_16;
              else {
                if (_0_8_isSet)
                  t1 = _0_8;
                else {
                  _0_8 = _0_1._string$_text;
                  t1 = _0_8;
                }
                _0_16 = "to-zero" === t1;
                t1 = _0_16;
              }
            else
              t1 = true;
          } else
            t1 = true;
        } else
          t1 = true;
      } else
        t1 = false;
      if (!t1)
        if (_0_1 instanceof A.SassString)
          t1 = _0_1.get$isVar();
        else
          t1 = false;
      else
        t1 = true;
      if (t1) {
        type$.SassString._as(_0_1);
        if (_0_2_isSet)
          t1 = _0_20;
        else {
          t1 = _0_2;
          _0_20 = t1;
          _0_2_isSet = true;
        }
        if (t1 != null) {
          if (_0_2_isSet)
            number = _0_20;
          else {
            number = _0_2;
            _0_20 = number;
            _0_2_isSet = true;
          }
          if (number == null)
            number = type$.Object._as(number);
          if (_0_5_isSet)
            t1 = _0_50;
          else {
            t1 = _0_5;
            _0_50 = t1;
            _0_5_isSet = true;
          }
          t1 = t1 != null;
          if (t1) {
            if (_0_5_isSet)
              step = _0_50;
            else {
              step = _0_5;
              _0_50 = step;
              _0_5_isSet = true;
            }
            if (step == null)
              step = type$.Object._as(step);
          } else
            step = _null;
        } else {
          step = _null;
          number = step;
          t1 = false;
        }
        strategy = _0_1;
      } else {
        step = _null;
        number = step;
        strategy = number;
        t1 = false;
      }
      if (t1)
        return new A.SassCalculation(_s5_, A._setArrayType([strategy, number, step], type$.JSArray_Object));
      if ((_0_2_isSet ? _0_20 : _0_2) != null)
        t1 = (_0_5_isSet ? _0_50 : _0_5) != null;
      else
        t1 = false;
      if (t1)
        throw A.wrapException(A.SassScriptException$(A.S(strategyOrNumber) + string$.x20must_b, _null));
      t1 = A.SassScriptException$("Invalid parameters.", _null);
      throw A.wrapException(t1);
    },
    SassCalculation_operateInternal(operator, left, right, inLegacySassFunction, simplify) {
      var t1;
      if (!simplify)
        return new A.CalculationOperation(operator, left, right);
      left = A.SassCalculation__simplify(left);
      right = A.SassCalculation__simplify(right);
      if (B.CalculationOperator_g2q === operator || B.CalculationOperator_CxF === operator) {
        if (left instanceof A.SassNumber)
          if (right instanceof A.SassNumber)
            t1 = inLegacySassFunction ? left.isComparableTo$1(right) : left.hasCompatibleUnits$1(right);
          else
            t1 = false;
        else
          t1 = false;
        if (t1)
          return operator === B.CalculationOperator_g2q ? left.plus$1(right) : left.minus$1(right);
        A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([left, right], type$.JSArray_Object));
        if (right instanceof A.SassNumber) {
          t1 = right._number$_value;
          t1 = t1 < 0 && !A.fuzzyEquals(t1, 0);
        } else
          t1 = false;
        if (t1) {
          right = right.times$1(A.SassNumber_SassNumber(-1, null));
          operator = operator === B.CalculationOperator_g2q ? B.CalculationOperator_CxF : B.CalculationOperator_g2q;
        }
        return new A.CalculationOperation(operator, left, right);
      } else if (left instanceof A.SassNumber && right instanceof A.SassNumber)
        return operator === B.CalculationOperator_171 ? left.times$1(right) : left.dividedBy$1(right);
      else
        return new A.CalculationOperation(operator, left, right);
    },
    SassCalculation__roundWithStep(strategy, number, step) {
      var _0_2, t1, _0_6, _0_8_isSet, _0_8, _0_9_isSet, _0_9, _0_11, _0_13, stepWithNumberUnit, t2, _null = null;
      if (!A.LinkedHashSet_LinkedHashSet$_literal(["nearest", "up", "down", "to-zero"], type$.String).contains$1(0, strategy))
        throw A.wrapException(A.ArgumentError$(strategy + string$.x20must_b, _null));
      _0_2 = number._number$_value;
      if (_0_2 == 1 / 0 || _0_2 == -1 / 0) {
        t1 = step._number$_value;
        t1 = t1 == 1 / 0 || t1 == -1 / 0;
      } else
        t1 = false;
      if (!t1) {
        t1 = step._number$_value;
        t1 = t1 === 0 || isNaN(_0_2) || isNaN(t1);
      } else
        t1 = true;
      if (t1) {
        t1 = number.get$numeratorUnits(number);
        return A.SassNumber_SassNumber$withUnits(0 / 0, number.get$denominatorUnits(number), t1);
      }
      if (_0_2 == 1 / 0 || _0_2 == -1 / 0)
        return number;
      t1 = step._number$_value;
      if (t1 == 1 / 0 || t1 == -1 / 0) {
        $label0$0: {
          if (0 === _0_2) {
            t1 = number;
            break $label0$0;
          }
          _0_6 = "nearest" === strategy;
          t1 = _0_6;
          _0_8_isSet = !t1;
          if (_0_8_isSet) {
            _0_8 = "to-zero" === strategy;
            _0_9_isSet = _0_8;
          } else {
            _0_8 = _null;
            _0_9_isSet = true;
          }
          if (_0_9_isSet) {
            _0_9 = _0_2 > 0;
            t1 = _0_9;
          } else {
            _0_9 = _null;
            t1 = false;
          }
          if (t1) {
            t1 = number.get$numeratorUnits(number);
            t1 = A.SassNumber_SassNumber$withUnits(0, number.get$denominatorUnits(number), t1);
            break $label0$0;
          }
          if (!_0_6)
            if (_0_8_isSet)
              t1 = _0_8;
            else {
              _0_8 = "to-zero" === strategy;
              t1 = _0_8;
            }
          else
            t1 = true;
          if (t1) {
            t1 = number.get$numeratorUnits(number);
            t1 = A.SassNumber_SassNumber$withUnits(-0.0, number.get$denominatorUnits(number), t1);
            break $label0$0;
          }
          _0_11 = "up" === strategy;
          t1 = _0_11;
          if (t1)
            if (_0_9_isSet)
              t1 = _0_9;
            else {
              _0_9 = _0_2 > 0;
              t1 = _0_9;
            }
          else
            t1 = false;
          if (t1) {
            t1 = number.get$numeratorUnits(number);
            t1 = A.SassNumber_SassNumber$withUnits(1 / 0, number.get$denominatorUnits(number), t1);
            break $label0$0;
          }
          if (_0_11) {
            t1 = number.get$numeratorUnits(number);
            t1 = A.SassNumber_SassNumber$withUnits(-0.0, number.get$denominatorUnits(number), t1);
            break $label0$0;
          }
          _0_13 = "down" === strategy;
          t1 = _0_13;
          if (t1)
            t1 = _0_2 < 0;
          else
            t1 = false;
          if (t1) {
            t1 = number.get$numeratorUnits(number);
            t1 = A.SassNumber_SassNumber$withUnits(-1 / 0, number.get$denominatorUnits(number), t1);
            break $label0$0;
          }
          if (_0_13) {
            t1 = number.get$numeratorUnits(number);
            t1 = A.SassNumber_SassNumber$withUnits(0, number.get$denominatorUnits(number), t1);
            break $label0$0;
          }
          t1 = A.throwExpression(A.UnsupportedError$("Invalid argument: " + strategy + "."));
        }
        return t1;
      }
      stepWithNumberUnit = step.convertValueToMatch$1(number);
      $label1$1: {
        if ("nearest" === strategy) {
          t1 = B.JSNumber_methods.round$0(_0_2 / stepWithNumberUnit);
          t2 = number.get$numeratorUnits(number);
          t2 = A.SassNumber_SassNumber$withUnits(t1 * stepWithNumberUnit, number.get$denominatorUnits(number), t2);
          t1 = t2;
          break $label1$1;
        }
        if ("up" === strategy) {
          t2 = _0_2 / stepWithNumberUnit;
          t1 = t1 < 0 ? B.JSNumber_methods.floor$0(t2) : B.JSNumber_methods.ceil$0(t2);
          t2 = number.get$numeratorUnits(number);
          t2 = A.SassNumber_SassNumber$withUnits(t1 * stepWithNumberUnit, number.get$denominatorUnits(number), t2);
          t1 = t2;
          break $label1$1;
        }
        if ("down" === strategy) {
          t2 = _0_2 / stepWithNumberUnit;
          t1 = t1 < 0 ? B.JSNumber_methods.ceil$0(t2) : B.JSNumber_methods.floor$0(t2);
          t2 = number.get$numeratorUnits(number);
          t2 = A.SassNumber_SassNumber$withUnits(t1 * stepWithNumberUnit, number.get$denominatorUnits(number), t2);
          t1 = t2;
          break $label1$1;
        }
        if ("to-zero" === strategy) {
          t1 = _0_2 / stepWithNumberUnit;
          if (_0_2 < 0) {
            t1 = B.JSNumber_methods.ceil$0(t1);
            t2 = number.get$numeratorUnits(number);
            t2 = A.SassNumber_SassNumber$withUnits(t1 * stepWithNumberUnit, number.get$denominatorUnits(number), t2);
            t1 = t2;
          } else {
            t1 = B.JSNumber_methods.floor$0(t1);
            t2 = number.get$numeratorUnits(number);
            t2 = A.SassNumber_SassNumber$withUnits(t1 * stepWithNumberUnit, number.get$denominatorUnits(number), t2);
            t1 = t2;
          }
          break $label1$1;
        }
        t1 = number.get$numeratorUnits(number);
        t1 = A.SassNumber_SassNumber$withUnits(0 / 0, number.get$denominatorUnits(number), t1);
        break $label1$1;
      }
      return t1;
    },
    SassCalculation__simplify(arg) {
      var t1, _0_11_isSet, _0_11, _0_12, _0_15, _0_16_isSet, _0_16, text, _0_12_isSet, _0_15_isSet, value, _null = null,
        _s32_ = " can't be used in a calculation.";
      $label0$0: {
        if (arg instanceof A.SassNumber || arg instanceof A.CalculationOperation) {
          t1 = arg;
          break $label0$0;
        }
        t1 = arg instanceof A.SassString;
        if (t1 && !arg._hasQuotes) {
          t1 = arg;
          break $label0$0;
        }
        if (t1)
          A.throwExpression(A.SassScriptException$("Quoted string " + arg.toString$0(0) + _s32_, _null));
        _0_11_isSet = arg instanceof A.SassCalculation;
        if (_0_11_isSet) {
          _0_11 = "calc" === arg.name;
          if (_0_11) {
            _0_12 = arg.$arguments;
            _0_15 = _0_12.length === 1;
            _0_16_isSet = _0_15;
            if (_0_16_isSet) {
              _0_16 = _0_12[0];
              t1 = _0_16;
              if (t1 instanceof A.SassString) {
                type$.SassString._as(_0_16);
                if (!_0_16._hasQuotes) {
                  text = _0_16._string$_text;
                  t1 = A.SassCalculation__needsParentheses(text);
                } else {
                  text = _null;
                  t1 = false;
                }
              } else {
                text = _null;
                t1 = false;
              }
            } else {
              text = _null;
              _0_16 = text;
              t1 = false;
            }
          } else {
            text = _null;
            _0_16 = text;
            _0_12 = _0_16;
            _0_15 = _0_12;
            _0_16_isSet = false;
            t1 = false;
          }
          _0_12_isSet = _0_11;
          _0_15_isSet = _0_12_isSet;
        } else {
          text = _null;
          _0_16 = text;
          _0_12 = _0_16;
          _0_15 = _0_12;
          _0_11 = _0_15;
          _0_15_isSet = false;
          _0_12_isSet = false;
          _0_16_isSet = false;
          t1 = false;
        }
        if (t1) {
          t1 = new A.SassString("(" + A.S(text) + ")", false);
          break $label0$0;
        }
        if (_0_11_isSet)
          if (_0_11)
            if (_0_15_isSet)
              t1 = _0_15;
            else {
              if (_0_12_isSet)
                t1 = _0_12;
              else {
                _0_12 = arg.$arguments;
                t1 = _0_12;
                _0_12_isSet = true;
              }
              _0_15 = t1.length === 1;
              t1 = _0_15;
            }
          else
            t1 = false;
        else
          t1 = false;
        if (t1) {
          if (_0_16_isSet)
            value = _0_16;
          else {
            _0_16 = (_0_12_isSet ? _0_12 : arg.$arguments)[0];
            value = _0_16;
          }
          t1 = value;
          break $label0$0;
        }
        if (_0_11_isSet) {
          t1 = arg;
          break $label0$0;
        }
        if (arg instanceof A.Value)
          A.throwExpression(A.SassScriptException$("Value " + arg.toString$0(0) + _s32_, _null));
        t1 = A.throwExpression(A.ArgumentError$("Unexpected calculation argument " + A.S(arg) + ".", _null));
      }
      return t1;
    },
    SassCalculation__needsParentheses(text) {
      var t1, couldBeVar, second, third, fourth, i, t2,
        first = text.charCodeAt(0);
      if (first === 32 || first === 9 || first === 10 || first === 13 || first === 12 || first === 47 || first === 42)
        return true;
      t1 = text.length;
      couldBeVar = t1 >= 4 && A.characterEqualsIgnoreCase(first, 118);
      if (t1 < 2)
        return false;
      second = text.charCodeAt(1);
      if (second === 32 || second === 9 || second === 10 || second === 13 || second === 12 || second === 47 || second === 42)
        return true;
      couldBeVar = couldBeVar && A.characterEqualsIgnoreCase(second, 97);
      if (t1 < 3)
        return false;
      third = text.charCodeAt(2);
      if (third === 32 || third === 9 || third === 10 || third === 13 || third === 12 || third === 47 || third === 42)
        return true;
      couldBeVar = couldBeVar && A.characterEqualsIgnoreCase(third, 114);
      if (t1 < 4)
        return false;
      fourth = text.charCodeAt(3);
      if (couldBeVar && fourth === 40)
        return true;
      if (fourth === 32 || fourth === 9 || fourth === 10 || fourth === 13 || fourth === 12 || fourth === 47 || fourth === 42)
        return true;
      for (i = 4; i < t1; ++i) {
        t2 = text.charCodeAt(i);
        if (t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12 || t2 === 47 || t2 === 42)
          return true;
      }
      return false;
    },
    SassCalculation__verifyCompatibleNumbers(args) {
      var t1, _i, t2, arg, i, number1, j, number2;
      for (t1 = args.length, _i = 0; t2 = args.length, _i < t2; args.length === t1 || (0, A.throwConcurrentModificationError)(args), ++_i) {
        arg = args[_i];
        if (arg instanceof A.SassNumber && arg.get$hasComplexUnits())
          throw A.wrapException(A.SassScriptException$("Number " + A.S(arg) + " isn't compatible with CSS calculations.", null));
      }
      for (t1 = t2, i = 0; i < t1 - 1; ++i) {
        number1 = args[i];
        if (!(number1 instanceof A.SassNumber))
          continue;
        for (j = i + 1; t1 = args.length, j < t1; ++j) {
          number2 = args[j];
          if (!(number2 instanceof A.SassNumber))
            continue;
          if (number1.hasPossiblyCompatibleUnits$1(number2))
            continue;
          throw A.wrapException(A.SassScriptException$(number1.toString$0(0) + " and " + number2.toString$0(0) + " are incompatible.", null));
        }
      }
    },
    SassCalculation__verifyLength(args, expectedLength) {
      var t1;
      if (args.length === expectedLength)
        return;
      if (B.JSArray_methods.any$1(args, new A.SassCalculation__verifyLength_closure()))
        return;
      t1 = args.length;
      throw A.wrapException(A.SassScriptException$("" + expectedLength + " arguments required, but only " + t1 + " " + A.pluralize("was", t1, "were") + " passed.", null));
    },
    SassCalculation__singleArgument($name, argument, mathFunc, forbidUnits) {
      argument = A.SassCalculation__simplify(argument);
      if (!(argument instanceof A.SassNumber))
        return new A.SassCalculation($name, A._setArrayType([argument], type$.JSArray_Object));
      if (forbidUnits)
        argument.assertNoUnits$0();
      return mathFunc.call$1(argument);
    },
    SassCalculation: function SassCalculation(t0, t1) {
      this.name = t0;
      this.$arguments = t1;
    },
    SassCalculation__verifyLength_closure: function SassCalculation__verifyLength_closure() {
    },
    CalculationOperation: function CalculationOperation(t0, t1, t2) {
      this._operator = t0;
      this._left = t1;
      this._right = t2;
    },
    CalculationOperator: function CalculationOperator(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.operator = t1;
      _.precedence = t2;
      _._name = t3;
    },
    SassColor$rgb(red, green, blue, alpha) {
      var _null = null,
        t1 = new A.SassColor(red, green, blue, _null, _null, _null, A.fuzzyAssertRange(A.SassColor__handleNullAlpha(alpha), 0, 1, "alpha"), _null);
      A.RangeError_checkValueInInterval(t1.get$red(0), 0, 255, "red");
      A.RangeError_checkValueInInterval(t1.get$green(0), 0, 255, "green");
      A.RangeError_checkValueInInterval(t1.get$blue(0), 0, 255, "blue");
      return t1;
    },
    SassColor$rgbInternal(_red, _green, _blue, alpha, format) {
      var t1 = new A.SassColor(_red, _green, _blue, null, null, null, A.fuzzyAssertRange(alpha, 0, 1, "alpha"), format);
      A.RangeError_checkValueInInterval(t1.get$red(0), 0, 255, "red");
      A.RangeError_checkValueInInterval(t1.get$green(0), 0, 255, "green");
      A.RangeError_checkValueInInterval(t1.get$blue(0), 0, 255, "blue");
      return t1;
    },
    SassColor$hslInternal(hue, saturation, lightness, alpha, format) {
      return new A.SassColor(null, null, null, B.JSNumber_methods.$mod(hue, 360), A.fuzzyAssertRange(saturation, 0, 100, "saturation"), A.fuzzyAssertRange(lightness, 0, 100, "lightness"), A.fuzzyAssertRange(alpha, 0, 1, "alpha"), format);
    },
    SassColor_SassColor$hwb(hue, whiteness, blackness, alpha) {
      var t2, t1 = {},
        scaledHue = B.JSNumber_methods.$mod(hue, 360) / 360,
        scaledWhiteness = t1.scaledWhiteness = A.fuzzyAssertRange(whiteness, 0, 100, "whiteness") / 100,
        scaledBlackness = A.fuzzyAssertRange(blackness, 0, 100, "blackness") / 100,
        sum = scaledWhiteness + scaledBlackness;
      if (sum > 1) {
        t2 = t1.scaledWhiteness = scaledWhiteness / sum;
        scaledBlackness /= sum;
      } else
        t2 = scaledWhiteness;
      t2 = new A.SassColor_SassColor$hwb_toRgb(t1, 1 - t2 - scaledBlackness);
      return A.SassColor$rgb(t2.call$1(scaledHue + 0.3333333333333333), t2.call$1(scaledHue), t2.call$1(scaledHue - 0.3333333333333333), alpha);
    },
    SassColor__handleNullAlpha(alpha) {
      return alpha;
    },
    SassColor__hueToRgb(m1, m2, hue) {
      var t1;
      if (hue < 0)
        ++hue;
      if (hue > 1)
        --hue;
      $label0$0: {
        if (hue < 0.16666666666666666) {
          t1 = m1 + (m2 - m1) * hue * 6;
          break $label0$0;
        }
        if (hue < 0.5) {
          t1 = m2;
          break $label0$0;
        }
        if (hue < 0.6666666666666666) {
          t1 = m1 + (m2 - m1) * (0.6666666666666666 - hue) * 6;
          break $label0$0;
        }
        t1 = m1;
        break $label0$0;
      }
      return t1;
    },
    SassColor: function SassColor(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._red = t0;
      _._green = t1;
      _._blue = t2;
      _._hue = t3;
      _._saturation = t4;
      _._lightness = t5;
      _._alpha = t6;
      _.format = t7;
    },
    SassColor_SassColor$hwb_toRgb: function SassColor_SassColor$hwb_toRgb(t0, t1) {
      this._box_0 = t0;
      this.factor = t1;
    },
    _ColorFormatEnum: function _ColorFormatEnum(t0) {
      this._color$_name = t0;
    },
    SpanColorFormat: function SpanColorFormat(t0) {
      this._color$_span = t0;
    },
    SassFunction: function SassFunction(t0) {
      this.callable = t0;
    },
    SassList$(contents, _separator, brackets) {
      var t1 = new A.SassList(A.List_List$unmodifiable(contents, type$.Value), _separator, brackets);
      t1.SassList$3$brackets(contents, _separator, brackets);
      return t1;
    },
    SassList: function SassList(t0, t1, t2) {
      this._list$_contents = t0;
      this._separator = t1;
      this._hasBrackets = t2;
    },
    SassList_isBlank_closure: function SassList_isBlank_closure() {
    },
    ListSeparator: function ListSeparator(t0, t1, t2) {
      this._list$_name = t0;
      this.separator = t1;
      this._name = t2;
    },
    SassMap: function SassMap(t0) {
      this._map$_contents = t0;
    },
    SassMixin: function SassMixin(t0) {
      this.callable = t0;
    },
    _SassNull: function _SassNull() {
    },
    conversionFactor(unit1, unit2) {
      var _0_0;
      if (unit1 === unit2)
        return 1;
      _0_0 = B.Map_gQqJO.$index(0, unit1);
      if (_0_0 != null)
        return _0_0.$index(0, unit2);
      return null;
    },
    SassNumber_SassNumber(value, unit) {
      return unit == null ? new A.UnitlessSassNumber(value, null) : new A.SingleUnitSassNumber(unit, value, null);
    },
    SassNumber_SassNumber$withUnits(value, denominatorUnits, numeratorUnits) {
      var _0_4, t1, _0_6, _0_8_isSet, _0_8, _0_10_isSet, _0_10, _0_7, t2, _0_4_isSet, unit, _0_7_isSet, numerators, t3, denominators, unsimplifiedDenominators, valueDouble, _i, denominator, simplifiedAway, i, factor, _1_2, _1_7_isSet, _1_7, _null = null,
        _0_6_isSet = !false;
      if (_0_6_isSet) {
        _0_4 = (numeratorUnits === null ? type$.List_String._as(numeratorUnits) : numeratorUnits).length;
        t1 = _0_4;
        _0_6 = t1 <= 0;
        _0_8_isSet = _0_6;
      } else {
        _0_4 = _null;
        _0_6 = _0_4;
        _0_8_isSet = true;
      }
      if (_0_8_isSet) {
        _0_8 = denominatorUnits == null;
        t1 = _0_8;
        _0_10_isSet = !t1;
        if (_0_10_isSet) {
          _0_10 = (denominatorUnits == null ? type$.List_String._as(denominatorUnits) : denominatorUnits).length <= 0;
          t1 = _0_10;
        } else {
          _0_10 = _null;
          t1 = true;
        }
        _0_7 = denominatorUnits;
      } else {
        _0_10 = _null;
        _0_7 = _0_10;
        _0_8 = _0_7;
        _0_10_isSet = false;
        t1 = false;
      }
      if (t1)
        return new A.UnitlessSassNumber(value, _null);
      t1 = type$.List_String;
      if (t1._is(numeratorUnits)) {
        if (_0_6_isSet) {
          t2 = _0_4;
          _0_4_isSet = _0_6_isSet;
        } else {
          _0_4 = numeratorUnits.length;
          t2 = _0_4;
          _0_4_isSet = true;
        }
        if (t2 === 1) {
          unit = numeratorUnits[0];
          if (_0_8_isSet) {
            t2 = _0_8;
            _0_7_isSet = _0_8_isSet;
          } else {
            _0_8 = denominatorUnits == null;
            t2 = _0_8;
            _0_7 = denominatorUnits;
            _0_8_isSet = true;
            _0_7_isSet = true;
          }
          if (!t2)
            if (_0_10_isSet)
              t2 = _0_10;
            else {
              if (_0_7_isSet)
                t2 = _0_7;
              else {
                t2 = denominatorUnits;
                _0_7 = t2;
                _0_7_isSet = true;
              }
              _0_10 = (t2 == null ? t1._as(t2) : t2).length <= 0;
              t2 = _0_10;
              _0_10_isSet = true;
            }
          else
            t2 = true;
        } else {
          unit = _null;
          _0_7_isSet = _0_8_isSet;
          t2 = false;
        }
      } else {
        unit = _null;
        _0_7_isSet = _0_8_isSet;
        _0_4_isSet = _0_6_isSet;
        t2 = false;
      }
      if (t2)
        return new A.SingleUnitSassNumber(unit, value, _null);
      t2 = numeratorUnits === null;
      if (!t2) {
        numerators = numeratorUnits;
        if (_0_8_isSet)
          t3 = _0_8;
        else {
          if (_0_7_isSet)
            t3 = _0_7;
          else {
            t3 = denominatorUnits;
            _0_7 = t3;
            _0_7_isSet = true;
          }
          _0_8 = t3 == null;
          t3 = _0_8;
        }
        if (!t3)
          if (_0_10_isSet)
            t3 = _0_10;
          else {
            if (_0_7_isSet)
              t3 = _0_7;
            else {
              t3 = denominatorUnits;
              _0_7 = t3;
              _0_7_isSet = true;
            }
            _0_10 = (t3 == null ? t1._as(t3) : t3).length <= 0;
            t3 = _0_10;
          }
        else
          t3 = true;
      } else {
        numerators = _null;
        t3 = false;
      }
      if (t3)
        return new A.ComplexSassNumber(A.List_List$unmodifiable(numerators, type$.String), B.List_empty, value, _null);
      if (!false)
        if (_0_6_isSet)
          t2 = _0_6;
        else {
          if (_0_4_isSet)
            t2 = _0_4;
          else {
            _0_4 = (t2 ? t1._as(numeratorUnits) : numeratorUnits).length;
            t2 = _0_4;
          }
          _0_6 = t2 <= 0;
          t2 = _0_6;
        }
      else
        t2 = true;
      if (t2) {
        if (_0_7_isSet)
          t2 = _0_7;
        else {
          t2 = denominatorUnits;
          _0_7 = t2;
          _0_7_isSet = true;
        }
        t2 = t2 != null;
        if (t2) {
          denominators = _0_7_isSet ? _0_7 : denominatorUnits;
          if (denominators == null)
            denominators = t1._as(denominators);
        } else
          denominators = _null;
        t1 = t2;
      } else {
        denominators = _null;
        t1 = false;
      }
      if (t1)
        return new A.ComplexSassNumber(B.List_empty, A.List_List$unmodifiable(denominators, type$.String), value, _null);
      numerators = A._setArrayType(numeratorUnits.slice(0), A._arrayInstanceType(numeratorUnits));
      unsimplifiedDenominators = A._setArrayType(denominatorUnits.slice(0), A.instanceType(denominatorUnits));
      denominators = A._setArrayType([], type$.JSArray_String);
      for (t1 = unsimplifiedDenominators.length, valueDouble = value, _i = 0; _i < unsimplifiedDenominators.length; unsimplifiedDenominators.length === t1 || (0, A.throwConcurrentModificationError)(unsimplifiedDenominators), ++_i) {
        denominator = unsimplifiedDenominators[_i];
        i = 0;
        while (true) {
          if (!(i < numerators.length)) {
            simplifiedAway = false;
            break;
          }
          c$0: {
            factor = A.conversionFactor(denominator, numerators[i]);
            if (factor == null)
              break c$0;
            valueDouble *= factor;
            B.JSArray_methods.removeAt$1(numerators, i);
            simplifiedAway = true;
            break;
          }
          ++i;
        }
        if (!simplifiedAway)
          denominators.push(denominator);
      }
      $label0$1: {
        _1_2 = numerators.length;
        t1 = _1_2;
        _1_7_isSet = t1 <= 0;
        if (_1_7_isSet) {
          _1_7 = denominators.length <= 0;
          t1 = _1_7;
        } else {
          _1_7 = _null;
          t1 = false;
        }
        if (t1) {
          t1 = new A.UnitlessSassNumber(valueDouble, _null);
          break $label0$1;
        }
        if (_1_2 === 1) {
          unit = numerators[0];
          t1 = _1_7_isSet ? _1_7 : denominators.length <= 0;
        } else {
          unit = _null;
          t1 = false;
        }
        if (t1) {
          t1 = new A.SingleUnitSassNumber(unit, valueDouble, _null);
          break $label0$1;
        }
        t1 = type$.String;
        t1 = new A.ComplexSassNumber(A.List_List$unmodifiable(numerators, t1), A.List_List$unmodifiable(denominators, t1), valueDouble, _null);
        break $label0$1;
      }
      return t1;
    },
    SassNumber: function SassNumber() {
    },
    SassNumber__coerceOrConvertValue_compatibilityException: function SassNumber__coerceOrConvertValue_compatibilityException(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.other = t1;
      _.otherName = t2;
      _.otherHasUnits = t3;
      _.name = t4;
      _.newNumerators = t5;
      _.newDenominators = t6;
    },
    SassNumber__coerceOrConvertValue_closure: function SassNumber__coerceOrConvertValue_closure(t0, t1) {
      this._box_0 = t0;
      this.newNumerator = t1;
    },
    SassNumber__coerceOrConvertValue_closure0: function SassNumber__coerceOrConvertValue_closure0(t0) {
      this.compatibilityException = t0;
    },
    SassNumber__coerceOrConvertValue_closure1: function SassNumber__coerceOrConvertValue_closure1(t0, t1) {
      this._box_0 = t0;
      this.newDenominator = t1;
    },
    SassNumber__coerceOrConvertValue_closure2: function SassNumber__coerceOrConvertValue_closure2(t0) {
      this.compatibilityException = t0;
    },
    SassNumber_plus_closure: function SassNumber_plus_closure() {
    },
    SassNumber_minus_closure: function SassNumber_minus_closure() {
    },
    SassNumber_multiplyUnits_closure: function SassNumber_multiplyUnits_closure(t0, t1) {
      this._box_0 = t0;
      this.numerator = t1;
    },
    SassNumber_multiplyUnits_closure0: function SassNumber_multiplyUnits_closure0(t0, t1) {
      this.newNumerators = t0;
      this.numerator = t1;
    },
    SassNumber_multiplyUnits_closure1: function SassNumber_multiplyUnits_closure1(t0, t1) {
      this._box_0 = t0;
      this.numerator = t1;
    },
    SassNumber_multiplyUnits_closure2: function SassNumber_multiplyUnits_closure2(t0, t1) {
      this.newNumerators = t0;
      this.numerator = t1;
    },
    SassNumber__areAnyConvertible_closure: function SassNumber__areAnyConvertible_closure(t0) {
      this.units2 = t0;
    },
    SassNumber__canonicalizeUnitList_closure: function SassNumber__canonicalizeUnitList_closure() {
    },
    SassNumber__canonicalMultiplier_closure: function SassNumber__canonicalMultiplier_closure(t0) {
      this.$this = t0;
    },
    SassNumber_unitSuggestion_closure: function SassNumber_unitSuggestion_closure() {
    },
    SassNumber_unitSuggestion_closure0: function SassNumber_unitSuggestion_closure0() {
    },
    ComplexSassNumber: function ComplexSassNumber(t0, t1, t2, t3) {
      var _ = this;
      _._numeratorUnits = t0;
      _._denominatorUnits = t1;
      _._number$_value = t2;
      _.hashCache = null;
      _.asSlash = t3;
    },
    SingleUnitSassNumber: function SingleUnitSassNumber(t0, t1, t2) {
      var _ = this;
      _._unit = t0;
      _._number$_value = t1;
      _.hashCache = null;
      _.asSlash = t2;
    },
    SingleUnitSassNumber__coerceToUnit_closure: function SingleUnitSassNumber__coerceToUnit_closure(t0, t1) {
      this.$this = t0;
      this.unit = t1;
    },
    SingleUnitSassNumber__coerceValueToUnit_closure: function SingleUnitSassNumber__coerceValueToUnit_closure(t0) {
      this.$this = t0;
    },
    SingleUnitSassNumber_multiplyUnits_closure: function SingleUnitSassNumber_multiplyUnits_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    SingleUnitSassNumber_multiplyUnits_closure0: function SingleUnitSassNumber_multiplyUnits_closure0(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    UnitlessSassNumber: function UnitlessSassNumber(t0, t1) {
      this._number$_value = t0;
      this.hashCache = null;
      this.asSlash = t1;
    },
    SassString$(_text, quotes) {
      return new A.SassString(_text, quotes);
    },
    SassString: function SassString(t0, t1) {
      var _ = this;
      _._string$_text = t0;
      _._hasQuotes = t1;
      _.__SassString__sassLength_FI = $;
      _._hashCache = null;
    },
    AnySelectorVisitor: function AnySelectorVisitor() {
    },
    AnySelectorVisitor_visitComplexSelector_closure: function AnySelectorVisitor_visitComplexSelector_closure(t0) {
      this.$this = t0;
    },
    AnySelectorVisitor_visitCompoundSelector_closure: function AnySelectorVisitor_visitCompoundSelector_closure(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor$0(functions, importCache, logger, nodeImporter, quietDeps, sourceMap) {
      var t1 = type$.Uri,
        t2 = type$.Module_AsyncCallable,
        t3 = A._setArrayType([], type$.JSArray_Record_2_String_and_AstNode);
      t1 = new A._EvaluateVisitor0(importCache, nodeImporter, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.AsyncCallable), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Configuration), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AstNode), logger, A.LinkedHashSet_LinkedHashSet$_empty(type$.Record_2_String_and_SourceSpan), quietDeps, sourceMap, A.AsyncEnvironment$(), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.nullable_AstNode), t3, B.Configuration_Map_empty_null);
      t1._EvaluateVisitor$6$functions$importCache$logger$nodeImporter$quietDeps$sourceMap0(functions, importCache, logger, nodeImporter, quietDeps, sourceMap);
      return t1;
    },
    _EvaluateVisitor0: function _EvaluateVisitor0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _._async_evaluate$_importCache = t0;
      _._async_evaluate$_nodeImporter = t1;
      _._async_evaluate$_builtInFunctions = t2;
      _._async_evaluate$_builtInModules = t3;
      _._async_evaluate$_modules = t4;
      _._async_evaluate$_moduleConfigurations = t5;
      _._async_evaluate$_moduleNodes = t6;
      _._async_evaluate$_logger = t7;
      _._async_evaluate$_warningsEmitted = t8;
      _._async_evaluate$_quietDeps = t9;
      _._async_evaluate$_sourceMap = t10;
      _._async_evaluate$_environment = t11;
      _._async_evaluate$_declarationName = _._async_evaluate$__parent = _._async_evaluate$_mediaQuerySources = _._async_evaluate$_mediaQueries = _._async_evaluate$_styleRuleIgnoringAtRoot = null;
      _._async_evaluate$_member = "root stylesheet";
      _._async_evaluate$_importSpan = _._async_evaluate$_callableNode = _._async_evaluate$_currentCallable = null;
      _._async_evaluate$_inSupportsDeclaration = _._async_evaluate$_inKeyframes = _._async_evaluate$_atRootExcludingStyleRule = _._async_evaluate$_inUnknownAtRule = _._async_evaluate$_inFunction = false;
      _._async_evaluate$_loadedUrls = t12;
      _._async_evaluate$_activeModules = t13;
      _._async_evaluate$_stack = t14;
      _._async_evaluate$_importer = null;
      _._async_evaluate$_inDependency = false;
      _._async_evaluate$__extensionStore = _._async_evaluate$_preModuleComments = _._async_evaluate$_outOfOrderImports = _._async_evaluate$__endOfImports = _._async_evaluate$__root = _._async_evaluate$__stylesheet = null;
      _._async_evaluate$_configuration = t15;
    },
    _EvaluateVisitor_closure12: function _EvaluateVisitor_closure12(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure13: function _EvaluateVisitor_closure13(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure14: function _EvaluateVisitor_closure14(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure15: function _EvaluateVisitor_closure15(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure16: function _EvaluateVisitor_closure16(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure17: function _EvaluateVisitor_closure17(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure18: function _EvaluateVisitor_closure18(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure19: function _EvaluateVisitor_closure19(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure20: function _EvaluateVisitor_closure20(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__closure6: function _EvaluateVisitor__closure6(t0, t1, t2) {
      this.$this = t0;
      this.name = t1;
      this.module = t2;
    },
    _EvaluateVisitor_closure21: function _EvaluateVisitor_closure21(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__closure5: function _EvaluateVisitor__closure5(t0, t1, t2) {
      this.$this = t0;
      this.name = t1;
      this.module = t2;
    },
    _EvaluateVisitor_closure22: function _EvaluateVisitor_closure22(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure23: function _EvaluateVisitor_closure23(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__closure3: function _EvaluateVisitor__closure3(t0, t1, t2) {
      this.values = t0;
      this.span = t1;
      this.callableNode = t2;
    },
    _EvaluateVisitor__closure4: function _EvaluateVisitor__closure4(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure24: function _EvaluateVisitor_closure24(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_run_closure0: function _EvaluateVisitor_run_closure0(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.importer = t2;
    },
    _EvaluateVisitor_run__closure0: function _EvaluateVisitor_run__closure0(t0, t1, t2) {
      this.$this = t0;
      this.importer = t1;
      this.node = t2;
    },
    _EvaluateVisitor__loadModule_closure1: function _EvaluateVisitor__loadModule_closure1(t0, t1) {
      this._box_1 = t0;
      this.callback = t1;
    },
    _EvaluateVisitor__loadModule_closure2: function _EvaluateVisitor__loadModule_closure2(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.url = t1;
      _.nodeWithSpan = t2;
      _.baseUrl = t3;
      _.namesInErrors = t4;
      _.configuration = t5;
      _.callback = t6;
    },
    _EvaluateVisitor__loadModule__closure1: function _EvaluateVisitor__loadModule__closure1(t0, t1) {
      this.$this = t0;
      this.message = t1;
    },
    _EvaluateVisitor__loadModule__closure2: function _EvaluateVisitor__loadModule__closure2(t0, t1, t2) {
      this._box_0 = t0;
      this.callback = t1;
      this.firstLoad = t2;
    },
    _EvaluateVisitor__execute_closure0: function _EvaluateVisitor__execute_closure0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.importer = t1;
      _.stylesheet = t2;
      _.extensionStore = t3;
      _.configuration = t4;
      _.css = t5;
      _.preModuleComments = t6;
    },
    _EvaluateVisitor__combineCss_closure1: function _EvaluateVisitor__combineCss_closure1() {
    },
    _EvaluateVisitor__combineCss_closure2: function _EvaluateVisitor__combineCss_closure2(t0) {
      this.selectors = t0;
    },
    _EvaluateVisitor__combineCss_visitModule0: function _EvaluateVisitor__combineCss_visitModule0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.seen = t1;
      _.clone = t2;
      _.css = t3;
      _.imports = t4;
      _.sorted = t5;
    },
    _EvaluateVisitor__extendModules_closure1: function _EvaluateVisitor__extendModules_closure1(t0) {
      this.originalSelectors = t0;
    },
    _EvaluateVisitor__extendModules_closure2: function _EvaluateVisitor__extendModules_closure2() {
    },
    _EvaluateVisitor_visitAtRootRule_closure1: function _EvaluateVisitor_visitAtRootRule_closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitAtRootRule_closure2: function _EvaluateVisitor_visitAtRootRule_closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure5: function _EvaluateVisitor__scopeForAtRoot_closure5(t0, t1, t2) {
      this.$this = t0;
      this.newParent = t1;
      this.node = t2;
    },
    _EvaluateVisitor__scopeForAtRoot_closure6: function _EvaluateVisitor__scopeForAtRoot_closure6(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure7: function _EvaluateVisitor__scopeForAtRoot_closure7(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor__scopeForAtRoot__closure0: function _EvaluateVisitor__scopeForAtRoot__closure0(t0, t1) {
      this.innerScope = t0;
      this.callback = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure8: function _EvaluateVisitor__scopeForAtRoot_closure8(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure9: function _EvaluateVisitor__scopeForAtRoot_closure9() {
    },
    _EvaluateVisitor__scopeForAtRoot_closure10: function _EvaluateVisitor__scopeForAtRoot_closure10(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor_visitContentRule_closure0: function _EvaluateVisitor_visitContentRule_closure0(t0, t1) {
      this.$this = t0;
      this.content = t1;
    },
    _EvaluateVisitor_visitDeclaration_closure0: function _EvaluateVisitor_visitDeclaration_closure0(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _EvaluateVisitor_visitEachRule_closure2: function _EvaluateVisitor_visitEachRule_closure2(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.nodeWithSpan = t2;
    },
    _EvaluateVisitor_visitEachRule_closure3: function _EvaluateVisitor_visitEachRule_closure3(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.nodeWithSpan = t2;
    },
    _EvaluateVisitor_visitEachRule_closure4: function _EvaluateVisitor_visitEachRule_closure4(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.list = t1;
      _.setVariables = t2;
      _.node = t3;
    },
    _EvaluateVisitor_visitEachRule__closure0: function _EvaluateVisitor_visitEachRule__closure0(t0, t1, t2) {
      this.$this = t0;
      this.setVariables = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitEachRule___closure0: function _EvaluateVisitor_visitEachRule___closure0(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitAtRule_closure2: function _EvaluateVisitor_visitAtRule_closure2(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitAtRule_closure3: function _EvaluateVisitor_visitAtRule_closure3(t0, t1, t2) {
      this.$this = t0;
      this.name = t1;
      this.children = t2;
    },
    _EvaluateVisitor_visitAtRule__closure0: function _EvaluateVisitor_visitAtRule__closure0(t0, t1) {
      this.$this = t0;
      this.children = t1;
    },
    _EvaluateVisitor_visitAtRule_closure4: function _EvaluateVisitor_visitAtRule_closure4() {
    },
    _EvaluateVisitor_visitForRule_closure4: function _EvaluateVisitor_visitForRule_closure4(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitForRule_closure5: function _EvaluateVisitor_visitForRule_closure5(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitForRule_closure6: function _EvaluateVisitor_visitForRule_closure6(t0) {
      this.fromNumber = t0;
    },
    _EvaluateVisitor_visitForRule_closure7: function _EvaluateVisitor_visitForRule_closure7(t0, t1) {
      this.toNumber = t0;
      this.fromNumber = t1;
    },
    _EvaluateVisitor_visitForRule_closure8: function _EvaluateVisitor_visitForRule_closure8(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.node = t2;
      _.from = t3;
      _.direction = t4;
      _.fromNumber = t5;
    },
    _EvaluateVisitor_visitForRule__closure0: function _EvaluateVisitor_visitForRule__closure0(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitForwardRule_closure1: function _EvaluateVisitor_visitForwardRule_closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitForwardRule_closure2: function _EvaluateVisitor_visitForwardRule_closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__registerCommentsForModule_closure0: function _EvaluateVisitor__registerCommentsForModule_closure0() {
    },
    _EvaluateVisitor_visitIfRule_closure0: function _EvaluateVisitor_visitIfRule_closure0(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitIfRule__closure0: function _EvaluateVisitor_visitIfRule__closure0(t0, t1) {
      this.$this = t0;
      this.clause = t1;
    },
    _EvaluateVisitor_visitIfRule___closure0: function _EvaluateVisitor_visitIfRule___closure0(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__visitDynamicImport_closure0: function _EvaluateVisitor__visitDynamicImport_closure0(t0, t1) {
      this.$this = t0;
      this.$import = t1;
    },
    _EvaluateVisitor__visitDynamicImport__closure3: function _EvaluateVisitor__visitDynamicImport__closure3(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__visitDynamicImport__closure4: function _EvaluateVisitor__visitDynamicImport__closure4() {
    },
    _EvaluateVisitor__visitDynamicImport__closure5: function _EvaluateVisitor__visitDynamicImport__closure5() {
    },
    _EvaluateVisitor__visitDynamicImport__closure6: function _EvaluateVisitor__visitDynamicImport__closure6(t0, t1, t2, t3, t4) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.loadsUserDefinedModules = t2;
      _.environment = t3;
      _.children = t4;
    },
    _EvaluateVisitor__applyMixin_closure1: function _EvaluateVisitor__applyMixin_closure1(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.$arguments = t1;
      _.mixin = t2;
      _.nodeWithSpanWithoutContent = t3;
    },
    _EvaluateVisitor__applyMixin__closure2: function _EvaluateVisitor__applyMixin__closure2(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.$arguments = t1;
      _.mixin = t2;
      _.nodeWithSpanWithoutContent = t3;
    },
    _EvaluateVisitor__applyMixin_closure2: function _EvaluateVisitor__applyMixin_closure2(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.contentCallable = t1;
      _.mixin = t2;
      _.nodeWithSpanWithoutContent = t3;
    },
    _EvaluateVisitor__applyMixin__closure1: function _EvaluateVisitor__applyMixin__closure1(t0, t1, t2) {
      this.$this = t0;
      this.mixin = t1;
      this.nodeWithSpanWithoutContent = t2;
    },
    _EvaluateVisitor__applyMixin___closure0: function _EvaluateVisitor__applyMixin___closure0(t0, t1, t2) {
      this.$this = t0;
      this.mixin = t1;
      this.nodeWithSpanWithoutContent = t2;
    },
    _EvaluateVisitor__applyMixin____closure0: function _EvaluateVisitor__applyMixin____closure0(t0, t1) {
      this.$this = t0;
      this.statement = t1;
    },
    _EvaluateVisitor_visitIncludeRule_closure2: function _EvaluateVisitor_visitIncludeRule_closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitIncludeRule_closure3: function _EvaluateVisitor_visitIncludeRule_closure3(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitIncludeRule_closure4: function _EvaluateVisitor_visitIncludeRule_closure4(t0) {
      this.node = t0;
    },
    _EvaluateVisitor_visitMediaRule_closure2: function _EvaluateVisitor_visitMediaRule_closure2(t0, t1) {
      this.$this = t0;
      this.queries = t1;
    },
    _EvaluateVisitor_visitMediaRule_closure3: function _EvaluateVisitor_visitMediaRule_closure3(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.mergedQueries = t1;
      _.queries = t2;
      _.mergedSources = t3;
      _.node = t4;
    },
    _EvaluateVisitor_visitMediaRule__closure0: function _EvaluateVisitor_visitMediaRule__closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitMediaRule___closure0: function _EvaluateVisitor_visitMediaRule___closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitMediaRule_closure4: function _EvaluateVisitor_visitMediaRule_closure4(t0) {
      this.mergedSources = t0;
    },
    _EvaluateVisitor_visitStyleRule_closure3: function _EvaluateVisitor_visitStyleRule_closure3(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitStyleRule_closure4: function _EvaluateVisitor_visitStyleRule_closure4() {
    },
    _EvaluateVisitor_visitStyleRule_closure6: function _EvaluateVisitor_visitStyleRule_closure6(t0, t1, t2) {
      this.$this = t0;
      this.rule = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitStyleRule__closure0: function _EvaluateVisitor_visitStyleRule__closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitStyleRule_closure5: function _EvaluateVisitor_visitStyleRule_closure5() {
    },
    _EvaluateVisitor__warnForBogusCombinators_closure0: function _EvaluateVisitor__warnForBogusCombinators_closure0() {
    },
    _EvaluateVisitor_visitSupportsRule_closure1: function _EvaluateVisitor_visitSupportsRule_closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitSupportsRule__closure0: function _EvaluateVisitor_visitSupportsRule__closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitSupportsRule_closure2: function _EvaluateVisitor_visitSupportsRule_closure2() {
    },
    _EvaluateVisitor__visitSupportsCondition_closure0: function _EvaluateVisitor__visitSupportsCondition_closure0(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _EvaluateVisitor_visitVariableDeclaration_closure2: function _EvaluateVisitor_visitVariableDeclaration_closure2(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitVariableDeclaration_closure3: function _EvaluateVisitor_visitVariableDeclaration_closure3(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitVariableDeclaration_closure4: function _EvaluateVisitor_visitVariableDeclaration_closure4(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.value = t2;
    },
    _EvaluateVisitor_visitUseRule_closure0: function _EvaluateVisitor_visitUseRule_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitWarnRule_closure0: function _EvaluateVisitor_visitWarnRule_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitWhileRule_closure0: function _EvaluateVisitor_visitWhileRule_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitWhileRule__closure0: function _EvaluateVisitor_visitWhileRule__closure0(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitBinaryOperationExpression_closure0: function _EvaluateVisitor_visitBinaryOperationExpression_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__slash_recommendation0: function _EvaluateVisitor__slash_recommendation0() {
    },
    _EvaluateVisitor_visitVariableExpression_closure0: function _EvaluateVisitor_visitVariableExpression_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitUnaryOperationExpression_closure0: function _EvaluateVisitor_visitUnaryOperationExpression_closure0(t0, t1) {
      this.node = t0;
      this.operand = t1;
    },
    _EvaluateVisitor_visitListExpression_closure0: function _EvaluateVisitor_visitListExpression_closure0(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitFunctionExpression_closure2: function _EvaluateVisitor_visitFunctionExpression_closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitFunctionExpression_closure3: function _EvaluateVisitor_visitFunctionExpression_closure3() {
    },
    _EvaluateVisitor_visitFunctionExpression_closure4: function _EvaluateVisitor_visitFunctionExpression_closure4(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.node = t2;
    },
    _EvaluateVisitor__checkCalculationArguments_check0: function _EvaluateVisitor__checkCalculationArguments_check0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__visitCalculationExpression_closure0: function _EvaluateVisitor__visitCalculationExpression_closure0(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.node = t2;
      _.inLegacySassFunction = t3;
    },
    _EvaluateVisitor_visitInterpolatedFunctionExpression_closure0: function _EvaluateVisitor_visitInterpolatedFunctionExpression_closure0(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.$function = t2;
    },
    _EvaluateVisitor__runUserDefinedCallable_closure0: function _EvaluateVisitor__runUserDefinedCallable_closure0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.callable = t1;
      _.evaluated = t2;
      _.nodeWithSpan = t3;
      _.run = t4;
      _.V = t5;
    },
    _EvaluateVisitor__runUserDefinedCallable__closure0: function _EvaluateVisitor__runUserDefinedCallable__closure0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.evaluated = t1;
      _.callable = t2;
      _.nodeWithSpan = t3;
      _.run = t4;
      _.V = t5;
    },
    _EvaluateVisitor__runUserDefinedCallable___closure0: function _EvaluateVisitor__runUserDefinedCallable___closure0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.evaluated = t1;
      _.callable = t2;
      _.nodeWithSpan = t3;
      _.run = t4;
      _.V = t5;
    },
    _EvaluateVisitor__runUserDefinedCallable____closure0: function _EvaluateVisitor__runUserDefinedCallable____closure0() {
    },
    _EvaluateVisitor__runFunctionCallable_closure0: function _EvaluateVisitor__runFunctionCallable_closure0(t0, t1) {
      this.$this = t0;
      this.callable = t1;
    },
    _EvaluateVisitor__runBuiltInCallable_closure2: function _EvaluateVisitor__runBuiltInCallable_closure2(t0, t1, t2) {
      this._box_0 = t0;
      this.evaluated = t1;
      this.namedSet = t2;
    },
    _EvaluateVisitor__runBuiltInCallable_closure3: function _EvaluateVisitor__runBuiltInCallable_closure3(t0, t1) {
      this._box_0 = t0;
      this.evaluated = t1;
    },
    _EvaluateVisitor__runBuiltInCallable_closure4: function _EvaluateVisitor__runBuiltInCallable_closure4() {
    },
    _EvaluateVisitor__evaluateArguments_closure3: function _EvaluateVisitor__evaluateArguments_closure3() {
    },
    _EvaluateVisitor__evaluateArguments_closure4: function _EvaluateVisitor__evaluateArguments_closure4(t0, t1) {
      this.$this = t0;
      this.restNodeForSpan = t1;
    },
    _EvaluateVisitor__evaluateArguments_closure5: function _EvaluateVisitor__evaluateArguments_closure5(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.named = t1;
      _.restNodeForSpan = t2;
      _.namedNodes = t3;
    },
    _EvaluateVisitor__evaluateArguments_closure6: function _EvaluateVisitor__evaluateArguments_closure6() {
    },
    _EvaluateVisitor__evaluateMacroArguments_closure3: function _EvaluateVisitor__evaluateMacroArguments_closure3(t0) {
      this.restArgs = t0;
    },
    _EvaluateVisitor__evaluateMacroArguments_closure4: function _EvaluateVisitor__evaluateMacroArguments_closure4(t0, t1, t2) {
      this.$this = t0;
      this.restNodeForSpan = t1;
      this.restArgs = t2;
    },
    _EvaluateVisitor__evaluateMacroArguments_closure5: function _EvaluateVisitor__evaluateMacroArguments_closure5(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.named = t1;
      _.restNodeForSpan = t2;
      _.restArgs = t3;
    },
    _EvaluateVisitor__evaluateMacroArguments_closure6: function _EvaluateVisitor__evaluateMacroArguments_closure6(t0, t1, t2) {
      this.$this = t0;
      this.keywordRestNodeForSpan = t1;
      this.keywordRestArgs = t2;
    },
    _EvaluateVisitor__addRestMap_closure0: function _EvaluateVisitor__addRestMap_closure0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.values = t1;
      _.convert = t2;
      _.expressionNode = t3;
      _.map = t4;
      _.nodeWithSpan = t5;
    },
    _EvaluateVisitor__verifyArguments_closure0: function _EvaluateVisitor__verifyArguments_closure0(t0, t1, t2) {
      this.$arguments = t0;
      this.positional = t1;
      this.named = t2;
    },
    _EvaluateVisitor_visitCssAtRule_closure1: function _EvaluateVisitor_visitCssAtRule_closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssAtRule_closure2: function _EvaluateVisitor_visitCssAtRule_closure2() {
    },
    _EvaluateVisitor_visitCssKeyframeBlock_closure1: function _EvaluateVisitor_visitCssKeyframeBlock_closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssKeyframeBlock_closure2: function _EvaluateVisitor_visitCssKeyframeBlock_closure2() {
    },
    _EvaluateVisitor_visitCssMediaRule_closure2: function _EvaluateVisitor_visitCssMediaRule_closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssMediaRule_closure3: function _EvaluateVisitor_visitCssMediaRule_closure3(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.mergedQueries = t1;
      _.node = t2;
      _.mergedSources = t3;
    },
    _EvaluateVisitor_visitCssMediaRule__closure0: function _EvaluateVisitor_visitCssMediaRule__closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssMediaRule___closure0: function _EvaluateVisitor_visitCssMediaRule___closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssMediaRule_closure4: function _EvaluateVisitor_visitCssMediaRule_closure4(t0) {
      this.mergedSources = t0;
    },
    _EvaluateVisitor_visitCssStyleRule_closure2: function _EvaluateVisitor_visitCssStyleRule_closure2(t0, t1, t2) {
      this.$this = t0;
      this.rule = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitCssStyleRule__closure0: function _EvaluateVisitor_visitCssStyleRule__closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssStyleRule_closure1: function _EvaluateVisitor_visitCssStyleRule_closure1() {
    },
    _EvaluateVisitor_visitCssSupportsRule_closure1: function _EvaluateVisitor_visitCssSupportsRule_closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssSupportsRule__closure0: function _EvaluateVisitor_visitCssSupportsRule__closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssSupportsRule_closure2: function _EvaluateVisitor_visitCssSupportsRule_closure2() {
    },
    _EvaluateVisitor__performInterpolationHelper_closure0: function _EvaluateVisitor__performInterpolationHelper_closure0(t0) {
      this.interpolation = t0;
    },
    _EvaluateVisitor__serialize_closure0: function _EvaluateVisitor__serialize_closure0(t0, t1) {
      this.value = t0;
      this.quote = t1;
    },
    _EvaluateVisitor__expressionNode_closure0: function _EvaluateVisitor__expressionNode_closure0(t0, t1) {
      this.$this = t0;
      this.expression = t1;
    },
    _EvaluateVisitor__withoutSlash_recommendation0: function _EvaluateVisitor__withoutSlash_recommendation0() {
    },
    _EvaluateVisitor__stackFrame_closure0: function _EvaluateVisitor__stackFrame_closure0(t0) {
      this.$this = t0;
    },
    _ImportedCssVisitor0: function _ImportedCssVisitor0(t0) {
      this._async_evaluate$_visitor = t0;
    },
    _ImportedCssVisitor_visitCssAtRule_closure0: function _ImportedCssVisitor_visitCssAtRule_closure0() {
    },
    _ImportedCssVisitor_visitCssMediaRule_closure0: function _ImportedCssVisitor_visitCssMediaRule_closure0(t0) {
      this.hasBeenMerged = t0;
    },
    _ImportedCssVisitor_visitCssStyleRule_closure0: function _ImportedCssVisitor_visitCssStyleRule_closure0() {
    },
    _ImportedCssVisitor_visitCssSupportsRule_closure0: function _ImportedCssVisitor_visitCssSupportsRule_closure0() {
    },
    _EvaluationContext0: function _EvaluationContext0(t0, t1) {
      this._async_evaluate$_visitor = t0;
      this._async_evaluate$_defaultWarnNodeWithSpan = t1;
    },
    cloneCssStylesheet(stylesheet, extensionStore) {
      var _0_0 = extensionStore.clone$0();
      return new A._Record_2(new A._CloneCssVisitor(_0_0._1)._visitChildren$2(A.ModifiableCssStylesheet$(stylesheet.get$span(stylesheet)), stylesheet), _0_0._0);
    },
    _CloneCssVisitor: function _CloneCssVisitor(t0) {
      this._oldToNewSelectors = t0;
    },
    _EvaluateVisitor$(functions, importCache, logger, nodeImporter, quietDeps, sourceMap) {
      var t1 = type$.Uri,
        t2 = type$.Module_Callable,
        t3 = A._setArrayType([], type$.JSArray_Record_2_String_and_AstNode);
      t1 = new A._EvaluateVisitor(importCache, nodeImporter, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Callable), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Configuration), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AstNode), logger, A.LinkedHashSet_LinkedHashSet$_empty(type$.Record_2_String_and_SourceSpan), quietDeps, sourceMap, A.Environment$(), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.nullable_AstNode), t3, B.Configuration_Map_empty_null);
      t1._EvaluateVisitor$6$functions$importCache$logger$nodeImporter$quietDeps$sourceMap(functions, importCache, logger, nodeImporter, quietDeps, sourceMap);
      return t1;
    },
    Evaluator: function Evaluator(t0, t1) {
      this._visitor = t0;
      this._importer = t1;
    },
    _EvaluateVisitor: function _EvaluateVisitor(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _._evaluate$_importCache = t0;
      _._evaluate$_nodeImporter = t1;
      _._builtInFunctions = t2;
      _._builtInModules = t3;
      _._modules = t4;
      _._moduleConfigurations = t5;
      _._moduleNodes = t6;
      _._evaluate$_logger = t7;
      _._warningsEmitted = t8;
      _._quietDeps = t9;
      _._sourceMap = t10;
      _._environment = t11;
      _._declarationName = _.__parent = _._mediaQuerySources = _._mediaQueries = _._styleRuleIgnoringAtRoot = null;
      _._member = "root stylesheet";
      _._importSpan = _._callableNode = _._currentCallable = null;
      _._inSupportsDeclaration = _._inKeyframes = _._atRootExcludingStyleRule = _._inUnknownAtRule = _._inFunction = false;
      _._loadedUrls = t12;
      _._activeModules = t13;
      _._stack = t14;
      _._importer = null;
      _._inDependency = false;
      _.__extensionStore = _._preModuleComments = _._outOfOrderImports = _.__endOfImports = _.__root = _.__stylesheet = null;
      _._configuration = t15;
    },
    _EvaluateVisitor_closure: function _EvaluateVisitor_closure(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure0: function _EvaluateVisitor_closure0(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure1: function _EvaluateVisitor_closure1(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure2: function _EvaluateVisitor_closure2(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure3: function _EvaluateVisitor_closure3(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure4: function _EvaluateVisitor_closure4(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure5: function _EvaluateVisitor_closure5(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure6: function _EvaluateVisitor_closure6(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure7: function _EvaluateVisitor_closure7(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__closure2: function _EvaluateVisitor__closure2(t0, t1, t2) {
      this.$this = t0;
      this.name = t1;
      this.module = t2;
    },
    _EvaluateVisitor_closure8: function _EvaluateVisitor_closure8(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__closure1: function _EvaluateVisitor__closure1(t0, t1, t2) {
      this.$this = t0;
      this.name = t1;
      this.module = t2;
    },
    _EvaluateVisitor_closure9: function _EvaluateVisitor_closure9(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure10: function _EvaluateVisitor_closure10(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__closure: function _EvaluateVisitor__closure(t0, t1, t2) {
      this.values = t0;
      this.span = t1;
      this.callableNode = t2;
    },
    _EvaluateVisitor__closure0: function _EvaluateVisitor__closure0(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure11: function _EvaluateVisitor_closure11(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_run_closure: function _EvaluateVisitor_run_closure(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.importer = t2;
    },
    _EvaluateVisitor_run__closure: function _EvaluateVisitor_run__closure(t0, t1, t2) {
      this.$this = t0;
      this.importer = t1;
      this.node = t2;
    },
    _EvaluateVisitor_runExpression_closure: function _EvaluateVisitor_runExpression_closure(t0, t1, t2) {
      this.$this = t0;
      this.importer = t1;
      this.expression = t2;
    },
    _EvaluateVisitor_runExpression__closure: function _EvaluateVisitor_runExpression__closure(t0, t1) {
      this.$this = t0;
      this.expression = t1;
    },
    _EvaluateVisitor_runExpression___closure: function _EvaluateVisitor_runExpression___closure(t0, t1) {
      this.$this = t0;
      this.expression = t1;
    },
    _EvaluateVisitor_runStatement_closure: function _EvaluateVisitor_runStatement_closure(t0, t1, t2) {
      this.$this = t0;
      this.importer = t1;
      this.statement = t2;
    },
    _EvaluateVisitor_runStatement__closure: function _EvaluateVisitor_runStatement__closure(t0, t1) {
      this.$this = t0;
      this.statement = t1;
    },
    _EvaluateVisitor_runStatement___closure: function _EvaluateVisitor_runStatement___closure(t0, t1) {
      this.$this = t0;
      this.statement = t1;
    },
    _EvaluateVisitor__loadModule_closure: function _EvaluateVisitor__loadModule_closure(t0, t1) {
      this._box_1 = t0;
      this.callback = t1;
    },
    _EvaluateVisitor__loadModule_closure0: function _EvaluateVisitor__loadModule_closure0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.url = t1;
      _.nodeWithSpan = t2;
      _.baseUrl = t3;
      _.namesInErrors = t4;
      _.configuration = t5;
      _.callback = t6;
    },
    _EvaluateVisitor__loadModule__closure: function _EvaluateVisitor__loadModule__closure(t0, t1) {
      this.$this = t0;
      this.message = t1;
    },
    _EvaluateVisitor__loadModule__closure0: function _EvaluateVisitor__loadModule__closure0(t0, t1, t2) {
      this._box_0 = t0;
      this.callback = t1;
      this.firstLoad = t2;
    },
    _EvaluateVisitor__execute_closure: function _EvaluateVisitor__execute_closure(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.importer = t1;
      _.stylesheet = t2;
      _.extensionStore = t3;
      _.configuration = t4;
      _.css = t5;
      _.preModuleComments = t6;
    },
    _EvaluateVisitor__combineCss_closure: function _EvaluateVisitor__combineCss_closure() {
    },
    _EvaluateVisitor__combineCss_closure0: function _EvaluateVisitor__combineCss_closure0(t0) {
      this.selectors = t0;
    },
    _EvaluateVisitor__combineCss_visitModule: function _EvaluateVisitor__combineCss_visitModule(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.seen = t1;
      _.clone = t2;
      _.css = t3;
      _.imports = t4;
      _.sorted = t5;
    },
    _EvaluateVisitor__extendModules_closure: function _EvaluateVisitor__extendModules_closure(t0) {
      this.originalSelectors = t0;
    },
    _EvaluateVisitor__extendModules_closure0: function _EvaluateVisitor__extendModules_closure0() {
    },
    _EvaluateVisitor_visitAtRootRule_closure: function _EvaluateVisitor_visitAtRootRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitAtRootRule_closure0: function _EvaluateVisitor_visitAtRootRule_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure: function _EvaluateVisitor__scopeForAtRoot_closure(t0, t1, t2) {
      this.$this = t0;
      this.newParent = t1;
      this.node = t2;
    },
    _EvaluateVisitor__scopeForAtRoot_closure0: function _EvaluateVisitor__scopeForAtRoot_closure0(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure1: function _EvaluateVisitor__scopeForAtRoot_closure1(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor__scopeForAtRoot__closure: function _EvaluateVisitor__scopeForAtRoot__closure(t0, t1) {
      this.innerScope = t0;
      this.callback = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure2: function _EvaluateVisitor__scopeForAtRoot_closure2(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure3: function _EvaluateVisitor__scopeForAtRoot_closure3() {
    },
    _EvaluateVisitor__scopeForAtRoot_closure4: function _EvaluateVisitor__scopeForAtRoot_closure4(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor_visitContentRule_closure: function _EvaluateVisitor_visitContentRule_closure(t0, t1) {
      this.$this = t0;
      this.content = t1;
    },
    _EvaluateVisitor_visitDeclaration_closure: function _EvaluateVisitor_visitDeclaration_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _EvaluateVisitor_visitEachRule_closure: function _EvaluateVisitor_visitEachRule_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.nodeWithSpan = t2;
    },
    _EvaluateVisitor_visitEachRule_closure0: function _EvaluateVisitor_visitEachRule_closure0(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.nodeWithSpan = t2;
    },
    _EvaluateVisitor_visitEachRule_closure1: function _EvaluateVisitor_visitEachRule_closure1(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.list = t1;
      _.setVariables = t2;
      _.node = t3;
    },
    _EvaluateVisitor_visitEachRule__closure: function _EvaluateVisitor_visitEachRule__closure(t0, t1, t2) {
      this.$this = t0;
      this.setVariables = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitEachRule___closure: function _EvaluateVisitor_visitEachRule___closure(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitAtRule_closure: function _EvaluateVisitor_visitAtRule_closure(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitAtRule_closure0: function _EvaluateVisitor_visitAtRule_closure0(t0, t1, t2) {
      this.$this = t0;
      this.name = t1;
      this.children = t2;
    },
    _EvaluateVisitor_visitAtRule__closure: function _EvaluateVisitor_visitAtRule__closure(t0, t1) {
      this.$this = t0;
      this.children = t1;
    },
    _EvaluateVisitor_visitAtRule_closure1: function _EvaluateVisitor_visitAtRule_closure1() {
    },
    _EvaluateVisitor_visitForRule_closure: function _EvaluateVisitor_visitForRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitForRule_closure0: function _EvaluateVisitor_visitForRule_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitForRule_closure1: function _EvaluateVisitor_visitForRule_closure1(t0) {
      this.fromNumber = t0;
    },
    _EvaluateVisitor_visitForRule_closure2: function _EvaluateVisitor_visitForRule_closure2(t0, t1) {
      this.toNumber = t0;
      this.fromNumber = t1;
    },
    _EvaluateVisitor_visitForRule_closure3: function _EvaluateVisitor_visitForRule_closure3(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.node = t2;
      _.from = t3;
      _.direction = t4;
      _.fromNumber = t5;
    },
    _EvaluateVisitor_visitForRule__closure: function _EvaluateVisitor_visitForRule__closure(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitForwardRule_closure: function _EvaluateVisitor_visitForwardRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitForwardRule_closure0: function _EvaluateVisitor_visitForwardRule_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__registerCommentsForModule_closure: function _EvaluateVisitor__registerCommentsForModule_closure() {
    },
    _EvaluateVisitor_visitIfRule_closure: function _EvaluateVisitor_visitIfRule_closure(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitIfRule__closure: function _EvaluateVisitor_visitIfRule__closure(t0, t1) {
      this.$this = t0;
      this.clause = t1;
    },
    _EvaluateVisitor_visitIfRule___closure: function _EvaluateVisitor_visitIfRule___closure(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__visitDynamicImport_closure: function _EvaluateVisitor__visitDynamicImport_closure(t0, t1) {
      this.$this = t0;
      this.$import = t1;
    },
    _EvaluateVisitor__visitDynamicImport__closure: function _EvaluateVisitor__visitDynamicImport__closure(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__visitDynamicImport__closure0: function _EvaluateVisitor__visitDynamicImport__closure0() {
    },
    _EvaluateVisitor__visitDynamicImport__closure1: function _EvaluateVisitor__visitDynamicImport__closure1() {
    },
    _EvaluateVisitor__visitDynamicImport__closure2: function _EvaluateVisitor__visitDynamicImport__closure2(t0, t1, t2, t3, t4) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.loadsUserDefinedModules = t2;
      _.environment = t3;
      _.children = t4;
    },
    _EvaluateVisitor__applyMixin_closure: function _EvaluateVisitor__applyMixin_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.$arguments = t1;
      _.mixin = t2;
      _.nodeWithSpanWithoutContent = t3;
    },
    _EvaluateVisitor__applyMixin__closure0: function _EvaluateVisitor__applyMixin__closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.$arguments = t1;
      _.mixin = t2;
      _.nodeWithSpanWithoutContent = t3;
    },
    _EvaluateVisitor__applyMixin_closure0: function _EvaluateVisitor__applyMixin_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.contentCallable = t1;
      _.mixin = t2;
      _.nodeWithSpanWithoutContent = t3;
    },
    _EvaluateVisitor__applyMixin__closure: function _EvaluateVisitor__applyMixin__closure(t0, t1, t2) {
      this.$this = t0;
      this.mixin = t1;
      this.nodeWithSpanWithoutContent = t2;
    },
    _EvaluateVisitor__applyMixin___closure: function _EvaluateVisitor__applyMixin___closure(t0, t1, t2) {
      this.$this = t0;
      this.mixin = t1;
      this.nodeWithSpanWithoutContent = t2;
    },
    _EvaluateVisitor__applyMixin____closure: function _EvaluateVisitor__applyMixin____closure(t0, t1) {
      this.$this = t0;
      this.statement = t1;
    },
    _EvaluateVisitor_visitIncludeRule_closure: function _EvaluateVisitor_visitIncludeRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitIncludeRule_closure0: function _EvaluateVisitor_visitIncludeRule_closure0(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitIncludeRule_closure1: function _EvaluateVisitor_visitIncludeRule_closure1(t0) {
      this.node = t0;
    },
    _EvaluateVisitor_visitMediaRule_closure: function _EvaluateVisitor_visitMediaRule_closure(t0, t1) {
      this.$this = t0;
      this.queries = t1;
    },
    _EvaluateVisitor_visitMediaRule_closure0: function _EvaluateVisitor_visitMediaRule_closure0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.mergedQueries = t1;
      _.queries = t2;
      _.mergedSources = t3;
      _.node = t4;
    },
    _EvaluateVisitor_visitMediaRule__closure: function _EvaluateVisitor_visitMediaRule__closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitMediaRule___closure: function _EvaluateVisitor_visitMediaRule___closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitMediaRule_closure1: function _EvaluateVisitor_visitMediaRule_closure1(t0) {
      this.mergedSources = t0;
    },
    _EvaluateVisitor_visitStyleRule_closure: function _EvaluateVisitor_visitStyleRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitStyleRule_closure0: function _EvaluateVisitor_visitStyleRule_closure0() {
    },
    _EvaluateVisitor_visitStyleRule_closure2: function _EvaluateVisitor_visitStyleRule_closure2(t0, t1, t2) {
      this.$this = t0;
      this.rule = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitStyleRule__closure: function _EvaluateVisitor_visitStyleRule__closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitStyleRule_closure1: function _EvaluateVisitor_visitStyleRule_closure1() {
    },
    _EvaluateVisitor__warnForBogusCombinators_closure: function _EvaluateVisitor__warnForBogusCombinators_closure() {
    },
    _EvaluateVisitor_visitSupportsRule_closure: function _EvaluateVisitor_visitSupportsRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitSupportsRule__closure: function _EvaluateVisitor_visitSupportsRule__closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitSupportsRule_closure0: function _EvaluateVisitor_visitSupportsRule_closure0() {
    },
    _EvaluateVisitor__visitSupportsCondition_closure: function _EvaluateVisitor__visitSupportsCondition_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _EvaluateVisitor_visitVariableDeclaration_closure: function _EvaluateVisitor_visitVariableDeclaration_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitVariableDeclaration_closure0: function _EvaluateVisitor_visitVariableDeclaration_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitVariableDeclaration_closure1: function _EvaluateVisitor_visitVariableDeclaration_closure1(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.value = t2;
    },
    _EvaluateVisitor_visitUseRule_closure: function _EvaluateVisitor_visitUseRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitWarnRule_closure: function _EvaluateVisitor_visitWarnRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitWhileRule_closure: function _EvaluateVisitor_visitWhileRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitWhileRule__closure: function _EvaluateVisitor_visitWhileRule__closure(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitBinaryOperationExpression_closure: function _EvaluateVisitor_visitBinaryOperationExpression_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__slash_recommendation: function _EvaluateVisitor__slash_recommendation() {
    },
    _EvaluateVisitor_visitVariableExpression_closure: function _EvaluateVisitor_visitVariableExpression_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitUnaryOperationExpression_closure: function _EvaluateVisitor_visitUnaryOperationExpression_closure(t0, t1) {
      this.node = t0;
      this.operand = t1;
    },
    _EvaluateVisitor_visitListExpression_closure: function _EvaluateVisitor_visitListExpression_closure(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitFunctionExpression_closure: function _EvaluateVisitor_visitFunctionExpression_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitFunctionExpression_closure0: function _EvaluateVisitor_visitFunctionExpression_closure0() {
    },
    _EvaluateVisitor_visitFunctionExpression_closure1: function _EvaluateVisitor_visitFunctionExpression_closure1(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.node = t2;
    },
    _EvaluateVisitor__checkCalculationArguments_check: function _EvaluateVisitor__checkCalculationArguments_check(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__visitCalculationExpression_closure: function _EvaluateVisitor__visitCalculationExpression_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.node = t2;
      _.inLegacySassFunction = t3;
    },
    _EvaluateVisitor_visitInterpolatedFunctionExpression_closure: function _EvaluateVisitor_visitInterpolatedFunctionExpression_closure(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.$function = t2;
    },
    _EvaluateVisitor__runUserDefinedCallable_closure: function _EvaluateVisitor__runUserDefinedCallable_closure(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.callable = t1;
      _.evaluated = t2;
      _.nodeWithSpan = t3;
      _.run = t4;
      _.V = t5;
    },
    _EvaluateVisitor__runUserDefinedCallable__closure: function _EvaluateVisitor__runUserDefinedCallable__closure(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.evaluated = t1;
      _.callable = t2;
      _.nodeWithSpan = t3;
      _.run = t4;
      _.V = t5;
    },
    _EvaluateVisitor__runUserDefinedCallable___closure: function _EvaluateVisitor__runUserDefinedCallable___closure(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.evaluated = t1;
      _.callable = t2;
      _.nodeWithSpan = t3;
      _.run = t4;
      _.V = t5;
    },
    _EvaluateVisitor__runUserDefinedCallable____closure: function _EvaluateVisitor__runUserDefinedCallable____closure() {
    },
    _EvaluateVisitor__runFunctionCallable_closure: function _EvaluateVisitor__runFunctionCallable_closure(t0, t1) {
      this.$this = t0;
      this.callable = t1;
    },
    _EvaluateVisitor__runBuiltInCallable_closure: function _EvaluateVisitor__runBuiltInCallable_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.evaluated = t1;
      this.namedSet = t2;
    },
    _EvaluateVisitor__runBuiltInCallable_closure0: function _EvaluateVisitor__runBuiltInCallable_closure0(t0, t1) {
      this._box_0 = t0;
      this.evaluated = t1;
    },
    _EvaluateVisitor__runBuiltInCallable_closure1: function _EvaluateVisitor__runBuiltInCallable_closure1() {
    },
    _EvaluateVisitor__evaluateArguments_closure: function _EvaluateVisitor__evaluateArguments_closure() {
    },
    _EvaluateVisitor__evaluateArguments_closure0: function _EvaluateVisitor__evaluateArguments_closure0(t0, t1) {
      this.$this = t0;
      this.restNodeForSpan = t1;
    },
    _EvaluateVisitor__evaluateArguments_closure1: function _EvaluateVisitor__evaluateArguments_closure1(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.named = t1;
      _.restNodeForSpan = t2;
      _.namedNodes = t3;
    },
    _EvaluateVisitor__evaluateArguments_closure2: function _EvaluateVisitor__evaluateArguments_closure2() {
    },
    _EvaluateVisitor__evaluateMacroArguments_closure: function _EvaluateVisitor__evaluateMacroArguments_closure(t0) {
      this.restArgs = t0;
    },
    _EvaluateVisitor__evaluateMacroArguments_closure0: function _EvaluateVisitor__evaluateMacroArguments_closure0(t0, t1, t2) {
      this.$this = t0;
      this.restNodeForSpan = t1;
      this.restArgs = t2;
    },
    _EvaluateVisitor__evaluateMacroArguments_closure1: function _EvaluateVisitor__evaluateMacroArguments_closure1(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.named = t1;
      _.restNodeForSpan = t2;
      _.restArgs = t3;
    },
    _EvaluateVisitor__evaluateMacroArguments_closure2: function _EvaluateVisitor__evaluateMacroArguments_closure2(t0, t1, t2) {
      this.$this = t0;
      this.keywordRestNodeForSpan = t1;
      this.keywordRestArgs = t2;
    },
    _EvaluateVisitor__addRestMap_closure: function _EvaluateVisitor__addRestMap_closure(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.values = t1;
      _.convert = t2;
      _.expressionNode = t3;
      _.map = t4;
      _.nodeWithSpan = t5;
    },
    _EvaluateVisitor__verifyArguments_closure: function _EvaluateVisitor__verifyArguments_closure(t0, t1, t2) {
      this.$arguments = t0;
      this.positional = t1;
      this.named = t2;
    },
    _EvaluateVisitor_visitCssAtRule_closure: function _EvaluateVisitor_visitCssAtRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssAtRule_closure0: function _EvaluateVisitor_visitCssAtRule_closure0() {
    },
    _EvaluateVisitor_visitCssKeyframeBlock_closure: function _EvaluateVisitor_visitCssKeyframeBlock_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssKeyframeBlock_closure0: function _EvaluateVisitor_visitCssKeyframeBlock_closure0() {
    },
    _EvaluateVisitor_visitCssMediaRule_closure: function _EvaluateVisitor_visitCssMediaRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssMediaRule_closure0: function _EvaluateVisitor_visitCssMediaRule_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.mergedQueries = t1;
      _.node = t2;
      _.mergedSources = t3;
    },
    _EvaluateVisitor_visitCssMediaRule__closure: function _EvaluateVisitor_visitCssMediaRule__closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssMediaRule___closure: function _EvaluateVisitor_visitCssMediaRule___closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssMediaRule_closure1: function _EvaluateVisitor_visitCssMediaRule_closure1(t0) {
      this.mergedSources = t0;
    },
    _EvaluateVisitor_visitCssStyleRule_closure0: function _EvaluateVisitor_visitCssStyleRule_closure0(t0, t1, t2) {
      this.$this = t0;
      this.rule = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitCssStyleRule__closure: function _EvaluateVisitor_visitCssStyleRule__closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssStyleRule_closure: function _EvaluateVisitor_visitCssStyleRule_closure() {
    },
    _EvaluateVisitor_visitCssSupportsRule_closure: function _EvaluateVisitor_visitCssSupportsRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssSupportsRule__closure: function _EvaluateVisitor_visitCssSupportsRule__closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssSupportsRule_closure0: function _EvaluateVisitor_visitCssSupportsRule_closure0() {
    },
    _EvaluateVisitor__performInterpolationHelper_closure: function _EvaluateVisitor__performInterpolationHelper_closure(t0) {
      this.interpolation = t0;
    },
    _EvaluateVisitor__serialize_closure: function _EvaluateVisitor__serialize_closure(t0, t1) {
      this.value = t0;
      this.quote = t1;
    },
    _EvaluateVisitor__expressionNode_closure: function _EvaluateVisitor__expressionNode_closure(t0, t1) {
      this.$this = t0;
      this.expression = t1;
    },
    _EvaluateVisitor__withoutSlash_recommendation: function _EvaluateVisitor__withoutSlash_recommendation() {
    },
    _EvaluateVisitor__stackFrame_closure: function _EvaluateVisitor__stackFrame_closure(t0) {
      this.$this = t0;
    },
    _ImportedCssVisitor: function _ImportedCssVisitor(t0) {
      this._visitor = t0;
    },
    _ImportedCssVisitor_visitCssAtRule_closure: function _ImportedCssVisitor_visitCssAtRule_closure() {
    },
    _ImportedCssVisitor_visitCssMediaRule_closure: function _ImportedCssVisitor_visitCssMediaRule_closure(t0) {
      this.hasBeenMerged = t0;
    },
    _ImportedCssVisitor_visitCssStyleRule_closure: function _ImportedCssVisitor_visitCssStyleRule_closure() {
    },
    _ImportedCssVisitor_visitCssSupportsRule_closure: function _ImportedCssVisitor_visitCssSupportsRule_closure() {
    },
    _EvaluationContext: function _EvaluationContext(t0, t1) {
      this._visitor = t0;
      this._defaultWarnNodeWithSpan = t1;
    },
    EveryCssVisitor: function EveryCssVisitor() {
    },
    EveryCssVisitor_visitCssAtRule_closure: function EveryCssVisitor_visitCssAtRule_closure(t0) {
      this.$this = t0;
    },
    EveryCssVisitor_visitCssKeyframeBlock_closure: function EveryCssVisitor_visitCssKeyframeBlock_closure(t0) {
      this.$this = t0;
    },
    EveryCssVisitor_visitCssMediaRule_closure: function EveryCssVisitor_visitCssMediaRule_closure(t0) {
      this.$this = t0;
    },
    EveryCssVisitor_visitCssStyleRule_closure: function EveryCssVisitor_visitCssStyleRule_closure(t0) {
      this.$this = t0;
    },
    EveryCssVisitor_visitCssStylesheet_closure: function EveryCssVisitor_visitCssStylesheet_closure(t0) {
      this.$this = t0;
    },
    EveryCssVisitor_visitCssSupportsRule_closure: function EveryCssVisitor_visitCssSupportsRule_closure(t0) {
      this.$this = t0;
    },
    expressionToCalc(expression) {
      var t4,
        t1 = A._setArrayType([B.C__MakeExpressionCalculationSafe.visitBinaryOperationExpression$1(expression)], type$.JSArray_Expression),
        t2 = expression.get$span(0),
        t3 = type$.Expression;
      t1 = A.List_List$unmodifiable(t1, t3);
      t3 = A.ConstantMap_ConstantMap$from(B.Map_empty6, type$.String, t3);
      t4 = expression.get$span(0);
      return new A.FunctionExpression(null, A.stringReplaceAllUnchecked("calc", "_", "-"), "calc", new A.ArgumentInvocation(t1, t3, null, null, t2), t4);
    },
    _MakeExpressionCalculationSafe: function _MakeExpressionCalculationSafe() {
    },
    __MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor: function __MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor() {
    },
    _FindDependenciesVisitor: function _FindDependenciesVisitor(t0, t1, t2, t3, t4) {
      var _ = this;
      _._find_dependencies$_uses = t0;
      _._find_dependencies$_forwards = t1;
      _._metaLoadCss = t2;
      _._imports = t3;
      _._metaNamespaces = t4;
    },
    DependencyReport: function DependencyReport(t0, t1, t2, t3) {
      var _ = this;
      _.uses = t0;
      _.forwards = t1;
      _.metaLoadCss = t2;
      _.imports = t3;
    },
    __FindDependenciesVisitor_Object_RecursiveStatementVisitor: function __FindDependenciesVisitor_Object_RecursiveStatementVisitor() {
    },
    RecursiveStatementVisitor: function RecursiveStatementVisitor() {
    },
    ReplaceExpressionVisitor: function ReplaceExpressionVisitor() {
    },
    ReplaceExpressionVisitor_visitListExpression_closure: function ReplaceExpressionVisitor_visitListExpression_closure(t0) {
      this.$this = t0;
    },
    ReplaceExpressionVisitor_visitArgumentInvocation_closure: function ReplaceExpressionVisitor_visitArgumentInvocation_closure(t0) {
      this.$this = t0;
    },
    ReplaceExpressionVisitor_visitInterpolation_closure: function ReplaceExpressionVisitor_visitInterpolation_closure(t0) {
      this.$this = t0;
    },
    SelectorSearchVisitor: function SelectorSearchVisitor() {
    },
    SelectorSearchVisitor_visitComplexSelector_closure: function SelectorSearchVisitor_visitComplexSelector_closure(t0) {
      this.$this = t0;
    },
    SelectorSearchVisitor_visitCompoundSelector_closure: function SelectorSearchVisitor_visitCompoundSelector_closure(t0) {
      this.$this = t0;
    },
    serialize(node, charset, indentWidth, inspect, lineFeed, sourceMap, style, useSpaces) {
      var t1, css, t2, prefix,
        visitor = A._SerializeVisitor$(2, inspect, lineFeed, true, sourceMap, style, true);
      node.accept$1(visitor);
      t1 = visitor._serialize$_buffer;
      css = t1.toString$0(0);
      if (charset) {
        t2 = new A.CodeUnits(css);
        t2 = t2.any$1(t2, new A.serialize_closure());
      } else
        t2 = false;
      if (t2)
        prefix = style === B.OutputStyle_1 ? "\ufeff" : '@charset "UTF-8";\n';
      else
        prefix = "";
      t1 = sourceMap ? t1.buildSourceMap$1$prefix(prefix) : null;
      return new A._Record_2_sourceMap(prefix + css, t1);
    },
    serializeValue(value, inspect, quote) {
      var visitor = A._SerializeVisitor$(null, inspect, null, quote, false, null, true);
      value.accept$1(visitor);
      return visitor._serialize$_buffer.toString$0(0);
    },
    serializeSelector(selector, inspect) {
      var visitor = A._SerializeVisitor$(null, true, null, true, false, null, true);
      selector.accept$1(visitor);
      return visitor._serialize$_buffer.toString$0(0);
    },
    _SerializeVisitor$(indentWidth, inspect, lineFeed, quote, sourceMap, style, useSpaces) {
      var t1 = sourceMap ? new A.SourceMapBuffer(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Entry)) : new A.NoSourceMapBuffer(new A.StringBuffer("")),
        t2 = style == null ? B.OutputStyle_0 : style,
        t3 = indentWidth == null ? 2 : indentWidth;
      A.RangeError_checkValueInInterval(t3, 0, 10, "indentWidth");
      return new A._SerializeVisitor(t1, t2, inspect, quote, 32, t3, B.LineFeed_lf);
    },
    serialize_closure: function serialize_closure() {
    },
    _SerializeVisitor: function _SerializeVisitor(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._serialize$_buffer = t0;
      _._indentation = 0;
      _._style = t1;
      _._inspect = t2;
      _._quote = t3;
      _._indentCharacter = t4;
      _._indentWidth = t5;
      _._serialize$_lineFeed = t6;
    },
    _SerializeVisitor_visitCssComment_closure: function _SerializeVisitor_visitCssComment_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssAtRule_closure: function _SerializeVisitor_visitCssAtRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssMediaRule_closure: function _SerializeVisitor_visitCssMediaRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssImport_closure: function _SerializeVisitor_visitCssImport_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssImport__closure: function _SerializeVisitor_visitCssImport__closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssKeyframeBlock_closure: function _SerializeVisitor_visitCssKeyframeBlock_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssStyleRule_closure: function _SerializeVisitor_visitCssStyleRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssSupportsRule_closure: function _SerializeVisitor_visitCssSupportsRule_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssDeclaration_closure: function _SerializeVisitor_visitCssDeclaration_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssDeclaration_closure0: function _SerializeVisitor_visitCssDeclaration_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitList_closure: function _SerializeVisitor_visitList_closure() {
    },
    _SerializeVisitor_visitList_closure0: function _SerializeVisitor_visitList_closure0(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    _SerializeVisitor_visitList_closure1: function _SerializeVisitor_visitList_closure1(t0) {
      this.$this = t0;
    },
    _SerializeVisitor_visitMap_closure: function _SerializeVisitor_visitMap_closure(t0) {
      this.$this = t0;
    },
    _SerializeVisitor_visitSelectorList_closure: function _SerializeVisitor_visitSelectorList_closure() {
    },
    _SerializeVisitor__write_closure: function _SerializeVisitor__write_closure(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    _SerializeVisitor__visitChildren_closure: function _SerializeVisitor__visitChildren_closure(t0, t1) {
      this.$this = t0;
      this.child = t1;
    },
    _SerializeVisitor__visitChildren_closure0: function _SerializeVisitor__visitChildren_closure0(t0, t1) {
      this.$this = t0;
      this.child = t1;
    },
    OutputStyle: function OutputStyle(t0) {
      this._name = t0;
    },
    LineFeed: function LineFeed(t0) {
      this._name = t0;
    },
    StatementSearchVisitor: function StatementSearchVisitor() {
    },
    StatementSearchVisitor_visitIfRule_closure: function StatementSearchVisitor_visitIfRule_closure(t0) {
      this.$this = t0;
    },
    StatementSearchVisitor_visitIfRule__closure0: function StatementSearchVisitor_visitIfRule__closure0(t0) {
      this.$this = t0;
    },
    StatementSearchVisitor_visitIfRule_closure0: function StatementSearchVisitor_visitIfRule_closure0(t0) {
      this.$this = t0;
    },
    StatementSearchVisitor_visitIfRule__closure: function StatementSearchVisitor_visitIfRule__closure(t0) {
      this.$this = t0;
    },
    StatementSearchVisitor_visitChildren_closure: function StatementSearchVisitor_visitChildren_closure(t0) {
      this.$this = t0;
    },
    Entry: function Entry(t0, t1, t2) {
      this.source = t0;
      this.target = t1;
      this.identifierName = t2;
    },
    SingleMapping_SingleMapping$fromEntries(entries) {
      var lines, t1, t2, urls, names, files, targetEntries, t3, lineNum, _i, sourceEntry, t4, t5, sourceUrl, t6, urlId,
        sourceEntries = J.toList$0$ax(entries);
      B.JSArray_methods.sort$0(sourceEntries);
      lines = A._setArrayType([], type$.JSArray_TargetLineEntry);
      t1 = type$.String;
      t2 = type$.int;
      urls = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      names = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      files = A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.SourceFile);
      targetEntries = A._Cell$();
      for (t2 = sourceEntries.length, t3 = type$.JSArray_TargetEntry, lineNum = null, _i = 0; _i < sourceEntries.length; sourceEntries.length === t2 || (0, A.throwConcurrentModificationError)(sourceEntries), ++_i) {
        sourceEntry = sourceEntries[_i];
        if (lineNum == null || sourceEntry.target.line > lineNum) {
          lineNum = sourceEntry.target.line;
          t4 = A._setArrayType([], t3);
          targetEntries.__late_helper$_value = t4;
          lines.push(new A.TargetLineEntry(lineNum, t4));
        }
        t4 = sourceEntry.source;
        t5 = t4.file;
        sourceUrl = t5.url;
        t6 = sourceUrl == null ? "" : sourceUrl.toString$0(0);
        urlId = urls.putIfAbsent$2(t6, new A.SingleMapping_SingleMapping$fromEntries_closure(urls));
        files.putIfAbsent$2(urlId, new A.SingleMapping_SingleMapping$fromEntries_closure0(sourceEntry));
        t6 = targetEntries.__late_helper$_value;
        if (t6 === targetEntries)
          A.throwExpression(A.LateError$localNI(""));
        t4 = t4.offset;
        J.add$1$ax(t6, new A.TargetEntry(sourceEntry.target.column, urlId, t5.getLine$1(t4), t5.getColumn$1(t4), null));
      }
      t2 = urls.get$values(0);
      t2 = A.MappedIterable_MappedIterable(t2, new A.SingleMapping_SingleMapping$fromEntries_closure1(files), A._instanceType(t2)._eval$1("Iterable.E"), type$.nullable_SourceFile);
      t2 = A.List_List$of(t2, true, A._instanceType(t2)._eval$1("Iterable.E"));
      t3 = urls.$ti._eval$1("LinkedHashMapKeyIterable<1>");
      t4 = names.$ti._eval$1("LinkedHashMapKeyIterable<1>");
      return new A.SingleMapping(A.List_List$of(new A.LinkedHashMapKeyIterable(urls, t3), true, t3._eval$1("Iterable.E")), A.List_List$of(new A.LinkedHashMapKeyIterable(names, t4), true, t4._eval$1("Iterable.E")), t2, lines, null, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.dynamic));
    },
    Mapping: function Mapping() {
    },
    SingleMapping: function SingleMapping(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.urls = t0;
      _.names = t1;
      _.files = t2;
      _.lines = t3;
      _.targetUrl = t4;
      _.sourceRoot = null;
      _.extensions = t5;
    },
    SingleMapping_SingleMapping$fromEntries_closure: function SingleMapping_SingleMapping$fromEntries_closure(t0) {
      this.urls = t0;
    },
    SingleMapping_SingleMapping$fromEntries_closure0: function SingleMapping_SingleMapping$fromEntries_closure0(t0) {
      this.sourceEntry = t0;
    },
    SingleMapping_SingleMapping$fromEntries_closure1: function SingleMapping_SingleMapping$fromEntries_closure1(t0) {
      this.files = t0;
    },
    SingleMapping_toJson_closure: function SingleMapping_toJson_closure() {
    },
    SingleMapping_toJson_closure0: function SingleMapping_toJson_closure0(t0) {
      this.result = t0;
    },
    TargetLineEntry: function TargetLineEntry(t0, t1) {
      this.line = t0;
      this.entries = t1;
    },
    TargetEntry: function TargetEntry(t0, t1, t2, t3, t4) {
      var _ = this;
      _.column = t0;
      _.sourceUrlId = t1;
      _.sourceLine = t2;
      _.sourceColumn = t3;
      _.sourceNameId = t4;
    },
    SourceFile$fromString(text, url) {
      var t1 = new A.CodeUnits(text),
        t2 = A._setArrayType([0], type$.JSArray_int),
        t3 = typeof url == "string" ? A.Uri_parse(url) : type$.nullable_Uri._as(url);
      t2 = new A.SourceFile(t3, t2, new Uint32Array(A._ensureNativeList(t1.toList$0(t1))));
      t2.SourceFile$decoded$2$url(t1, url);
      return t2;
    },
    SourceFile$decoded(decodedChars, url) {
      var t1 = A._setArrayType([0], type$.JSArray_int),
        t2 = typeof url == "string" ? A.Uri_parse(url) : type$.nullable_Uri._as(url);
      t1 = new A.SourceFile(t2, t1, new Uint32Array(A._ensureNativeList(J.toList$0$ax(decodedChars))));
      t1.SourceFile$decoded$2$url(decodedChars, url);
      return t1;
    },
    FileLocation$_(file, offset) {
      if (offset < 0)
        A.throwExpression(A.RangeError$("Offset may not be negative, was " + offset + "."));
      else if (offset > file._decodedChars.length)
        A.throwExpression(A.RangeError$("Offset " + offset + string$.x20must_n + file.get$length(0) + "."));
      return new A.FileLocation(file, offset);
    },
    _FileSpan$(file, _start, _end) {
      if (_end < _start)
        A.throwExpression(A.ArgumentError$("End " + _end + " must come after start " + _start + ".", null));
      else if (_end > file._decodedChars.length)
        A.throwExpression(A.RangeError$("End " + _end + string$.x20must_n + file.get$length(0) + "."));
      else if (_start < 0)
        A.throwExpression(A.RangeError$("Start may not be negative, was " + _start + "."));
      return new A._FileSpan(file, _start, _end);
    },
    FileSpanExtension_subspan(_this, start, end) {
      var t1, startOffset, t2;
      A.RangeError_checkValidRange(start, end, _this.get$length(_this));
      if (start === 0)
        t1 = end == null || end === _this.get$length(_this);
      else
        t1 = false;
      if (t1)
        return _this;
      startOffset = _this.get$start(_this).offset;
      t1 = _this.get$file(_this);
      t2 = end == null ? _this.get$end(_this).offset : startOffset + end;
      return t1.span$2(0, startOffset + start, t2);
    },
    SourceFile: function SourceFile(t0, t1, t2) {
      var _ = this;
      _.url = t0;
      _._lineStarts = t1;
      _._decodedChars = t2;
      _._cachedLine = null;
    },
    FileLocation: function FileLocation(t0, t1) {
      this.file = t0;
      this.offset = t1;
    },
    _FileSpan: function _FileSpan(t0, t1, t2) {
      this.file = t0;
      this._file$_start = t1;
      this._end = t2;
    },
    Highlighter$(span, color) {
      var t1 = A.Highlighter__collateLines(A._setArrayType([A._Highlight$(span, null, true)], type$.JSArray__Highlight)),
        t2 = new A.Highlighter_closure(color).call$0(),
        t3 = B.JSInt_methods.toString$0(B.JSArray_methods.get$last(t1).number + 1),
        t4 = A.Highlighter__contiguous(t1) ? 0 : 3,
        t5 = A._arrayInstanceType(t1);
      return new A.Highlighter(t1, t2, null, 1 + Math.max(t3.length, t4), new A.MappedListIterable(t1, new A.Highlighter$__closure(), t5._eval$1("MappedListIterable<1,int>")).reduce$1(0, B.CONSTANT), !A.isAllTheSame(new A.MappedListIterable(t1, new A.Highlighter$__closure0(), t5._eval$1("MappedListIterable<1,Object?>"))), new A.StringBuffer(""));
    },
    Highlighter$multiple(primarySpan, primaryLabel, secondarySpans, color, primaryColor, secondaryColor) {
      var t2, t3, t4, t5, t6,
        t1 = A._setArrayType([A._Highlight$(primarySpan, primaryLabel, true)], type$.JSArray__Highlight);
      for (t2 = secondarySpans.get$entries(secondarySpans), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.push(A._Highlight$(t3.key, t3.value, false));
      }
      t1 = A.Highlighter__collateLines(t1);
      if (color)
        t2 = primaryColor == null ? "\x1b[31m" : primaryColor;
      else
        t2 = null;
      if (color)
        t3 = "\x1b[34m";
      else
        t3 = null;
      t4 = B.JSInt_methods.toString$0(B.JSArray_methods.get$last(t1).number + 1);
      t5 = A.Highlighter__contiguous(t1) ? 0 : 3;
      t6 = A._arrayInstanceType(t1);
      return new A.Highlighter(t1, t2, t3, 1 + Math.max(t4.length, t5), new A.MappedListIterable(t1, new A.Highlighter$__closure(), t6._eval$1("MappedListIterable<1,int>")).reduce$1(0, B.CONSTANT), !A.isAllTheSame(new A.MappedListIterable(t1, new A.Highlighter$__closure0(), t6._eval$1("MappedListIterable<1,Object?>"))), new A.StringBuffer(""));
    },
    Highlighter__contiguous(lines) {
      var i, thisLine, nextLine;
      for (i = 0; i < lines.length - 1;) {
        thisLine = lines[i];
        ++i;
        nextLine = lines[i];
        if (thisLine.number + 1 !== nextLine.number && J.$eq$(thisLine.url, nextLine.url))
          return false;
      }
      return true;
    },
    Highlighter__collateLines(highlights) {
      var t1, t2, t3,
        highlightsByUrl = A.groupBy(highlights, new A.Highlighter__collateLines_closure(), type$._Highlight, type$.Object);
      for (t1 = highlightsByUrl.get$values(0), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        J.sort$1$ax(t3, new A.Highlighter__collateLines_closure0());
      }
      t1 = highlightsByUrl.get$entries(0);
      t2 = A._instanceType(t1)._eval$1("ExpandIterable");
      return A.List_List$of(new A.ExpandIterable(t1, new A.Highlighter__collateLines_closure1(), t2), true, t2._eval$1("Iterable.E"));
    },
    _Highlight$(span, label, primary) {
      var t2,
        t1 = new A._Highlight_closure(span).call$0();
      if (label == null)
        t2 = null;
      else
        t2 = A.stringReplaceAllUnchecked(label, "\r\n", "\n");
      return new A._Highlight(t1, primary, t2);
    },
    _Highlight__normalizeNewlines(span) {
      var endOffset, t1, i, t2, t3, t4,
        text = span.get$text();
      if (!B.JSString_methods.contains$1(text, "\r\n"))
        return span;
      endOffset = span.get$end(span).get$offset();
      for (t1 = text.length - 1, i = 0; i < t1; ++i)
        if (text.charCodeAt(i) === 13 && text.charCodeAt(i + 1) === 10)
          --endOffset;
      t1 = span.get$start(span);
      t2 = span.get$sourceUrl(span);
      t3 = span.get$end(span).get$line();
      t2 = A.SourceLocation$(endOffset, span.get$end(span).get$column(), t3, t2);
      t3 = A.stringReplaceAllUnchecked(text, "\r\n", "\n");
      t4 = span.get$context(span);
      return A.SourceSpanWithContext$(t1, t2, t3, A.stringReplaceAllUnchecked(t4, "\r\n", "\n"));
    },
    _Highlight__normalizeTrailingNewline(span) {
      var context, text, start, end, t1, t2, t3;
      if (!B.JSString_methods.endsWith$1(span.get$context(span), "\n"))
        return span;
      if (B.JSString_methods.endsWith$1(span.get$text(), "\n\n"))
        return span;
      context = B.JSString_methods.substring$2(span.get$context(span), 0, span.get$context(span).length - 1);
      text = span.get$text();
      start = span.get$start(span);
      end = span.get$end(span);
      if (B.JSString_methods.endsWith$1(span.get$text(), "\n")) {
        t1 = A.findLineStart(span.get$context(span), span.get$text(), span.get$start(span).get$column());
        t1.toString;
        t1 = t1 + span.get$start(span).get$column() + span.get$length(span) === span.get$context(span).length;
      } else
        t1 = false;
      if (t1) {
        text = B.JSString_methods.substring$2(span.get$text(), 0, span.get$text().length - 1);
        if (text.length === 0)
          end = start;
        else {
          t1 = span.get$end(span).get$offset();
          t2 = span.get$sourceUrl(span);
          t3 = span.get$end(span).get$line();
          end = A.SourceLocation$(t1 - 1, A._Highlight__lastLineLength(context), t3 - 1, t2);
          start = span.get$start(span).get$offset() === span.get$end(span).get$offset() ? end : span.get$start(span);
        }
      }
      return A.SourceSpanWithContext$(start, end, text, context);
    },
    _Highlight__normalizeEndOfLine(span) {
      var text, t1, t2, t3, t4;
      if (span.get$end(span).get$column() !== 0)
        return span;
      if (span.get$end(span).get$line() === span.get$start(span).get$line())
        return span;
      text = B.JSString_methods.substring$2(span.get$text(), 0, span.get$text().length - 1);
      t1 = span.get$start(span);
      t2 = span.get$end(span).get$offset();
      t3 = span.get$sourceUrl(span);
      t4 = span.get$end(span).get$line();
      t3 = A.SourceLocation$(t2 - 1, text.length - B.JSString_methods.lastIndexOf$1(text, "\n") - 1, t4 - 1, t3);
      return A.SourceSpanWithContext$(t1, t3, text, B.JSString_methods.endsWith$1(span.get$context(span), "\n") ? B.JSString_methods.substring$2(span.get$context(span), 0, span.get$context(span).length - 1) : span.get$context(span));
    },
    _Highlight__lastLineLength(text) {
      var t1 = text.length;
      if (t1 === 0)
        return 0;
      else if (text.charCodeAt(t1 - 1) === 10)
        return t1 === 1 ? 0 : t1 - B.JSString_methods.lastIndexOf$2(text, "\n", t1 - 2) - 1;
      else
        return t1 - B.JSString_methods.lastIndexOf$1(text, "\n") - 1;
    },
    Highlighter: function Highlighter(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._lines = t0;
      _._primaryColor = t1;
      _._secondaryColor = t2;
      _._paddingBeforeSidebar = t3;
      _._maxMultilineSpans = t4;
      _._multipleFiles = t5;
      _._highlighter$_buffer = t6;
    },
    Highlighter_closure: function Highlighter_closure(t0) {
      this.color = t0;
    },
    Highlighter$__closure: function Highlighter$__closure() {
    },
    Highlighter$___closure: function Highlighter$___closure() {
    },
    Highlighter$__closure0: function Highlighter$__closure0() {
    },
    Highlighter__collateLines_closure: function Highlighter__collateLines_closure() {
    },
    Highlighter__collateLines_closure0: function Highlighter__collateLines_closure0() {
    },
    Highlighter__collateLines_closure1: function Highlighter__collateLines_closure1() {
    },
    Highlighter__collateLines__closure: function Highlighter__collateLines__closure(t0) {
      this.line = t0;
    },
    Highlighter_highlight_closure: function Highlighter_highlight_closure() {
    },
    Highlighter__writeFileStart_closure: function Highlighter__writeFileStart_closure(t0) {
      this.$this = t0;
    },
    Highlighter__writeMultilineHighlights_closure: function Highlighter__writeMultilineHighlights_closure(t0, t1, t2) {
      this.$this = t0;
      this.startLine = t1;
      this.line = t2;
    },
    Highlighter__writeMultilineHighlights_closure0: function Highlighter__writeMultilineHighlights_closure0(t0, t1) {
      this.$this = t0;
      this.highlight = t1;
    },
    Highlighter__writeMultilineHighlights_closure1: function Highlighter__writeMultilineHighlights_closure1(t0) {
      this.$this = t0;
    },
    Highlighter__writeMultilineHighlights_closure2: function Highlighter__writeMultilineHighlights_closure2(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.current = t2;
      _.startLine = t3;
      _.line = t4;
      _.highlight = t5;
      _.endLine = t6;
    },
    Highlighter__writeMultilineHighlights__closure: function Highlighter__writeMultilineHighlights__closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    Highlighter__writeMultilineHighlights__closure0: function Highlighter__writeMultilineHighlights__closure0(t0, t1) {
      this.$this = t0;
      this.vertical = t1;
    },
    Highlighter__writeHighlightedText_closure: function Highlighter__writeHighlightedText_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.text = t1;
      _.startColumn = t2;
      _.endColumn = t3;
    },
    Highlighter__writeIndicator_closure: function Highlighter__writeIndicator_closure(t0, t1, t2) {
      this.$this = t0;
      this.line = t1;
      this.highlight = t2;
    },
    Highlighter__writeIndicator_closure0: function Highlighter__writeIndicator_closure0(t0, t1, t2) {
      this.$this = t0;
      this.line = t1;
      this.highlight = t2;
    },
    Highlighter__writeIndicator_closure1: function Highlighter__writeIndicator_closure1(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.coversWholeLine = t1;
      _.line = t2;
      _.highlight = t3;
    },
    Highlighter__writeLabel_closure: function Highlighter__writeLabel_closure(t0, t1) {
      this.$this = t0;
      this.lines = t1;
    },
    Highlighter__writeLabel_closure0: function Highlighter__writeLabel_closure0(t0, t1) {
      this.$this = t0;
      this.text = t1;
    },
    Highlighter__writeSidebar_closure: function Highlighter__writeSidebar_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.end = t2;
    },
    _Highlight: function _Highlight(t0, t1, t2) {
      this.span = t0;
      this.isPrimary = t1;
      this.label = t2;
    },
    _Highlight_closure: function _Highlight_closure(t0) {
      this.span = t0;
    },
    _Line: function _Line(t0, t1, t2, t3) {
      var _ = this;
      _.text = t0;
      _.number = t1;
      _.url = t2;
      _.highlights = t3;
    },
    SourceLocation$(offset, column, line, sourceUrl) {
      var t1 = line == null,
        t2 = t1 ? 0 : line,
        t3 = column == null,
        t4 = t3 ? offset : column;
      if (offset < 0)
        A.throwExpression(A.RangeError$("Offset may not be negative, was " + offset + "."));
      else if (!t1 && line < 0)
        A.throwExpression(A.RangeError$("Line may not be negative, was " + A.S(line) + "."));
      else if (!t3 && column < 0)
        A.throwExpression(A.RangeError$("Column may not be negative, was " + A.S(column) + "."));
      return new A.SourceLocation(sourceUrl, offset, t2, t4);
    },
    SourceLocation: function SourceLocation(t0, t1, t2, t3) {
      var _ = this;
      _.sourceUrl = t0;
      _.offset = t1;
      _.line = t2;
      _.column = t3;
    },
    SourceLocationMixin: function SourceLocationMixin() {
    },
    SourceSpanExtension_messageMultiple(_this, message, label, secondarySpans, color, primaryColor, secondaryColor) {
      var t2, t3,
        t1 = _this.get$start(_this);
      t1 = t1.file.getLine$1(t1.offset);
      t2 = _this.get$start(_this);
      t2 = "" + ("line " + (t1 + 1) + ", column " + (t2.file.getColumn$1(t2.offset) + 1));
      if (_this.get$sourceUrl(_this) != null) {
        t1 = _this.get$sourceUrl(_this);
        t3 = $.$get$context();
        t1.toString;
        t1 = t2 + (" of " + t3.prettyUri$1(t1));
      } else
        t1 = t2;
      t1 = t1 + (": " + message + "\n") + A.Highlighter$multiple(_this, label, secondarySpans, color, primaryColor, secondaryColor).highlight$0();
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    SourceSpanBase: function SourceSpanBase() {
    },
    SourceSpanException: function SourceSpanException() {
    },
    SourceSpanFormatException: function SourceSpanFormatException(t0, t1, t2) {
      this.source = t0;
      this._span_exception$_message = t1;
      this._span = t2;
    },
    MultiSourceSpanException: function MultiSourceSpanException() {
    },
    MultiSourceSpanFormatException: function MultiSourceSpanFormatException(t0, t1, t2, t3, t4) {
      var _ = this;
      _.source = t0;
      _.primaryLabel = t1;
      _.secondarySpans = t2;
      _._span_exception$_message = t3;
      _._span = t4;
    },
    SourceSpanMixin: function SourceSpanMixin() {
    },
    SourceSpanWithContext$(start, end, text, _context) {
      var t1 = new A.SourceSpanWithContext(_context, start, end, text);
      t1.SourceSpanBase$3(start, end, text);
      if (!B.JSString_methods.contains$1(_context, text))
        A.throwExpression(A.ArgumentError$('The context line "' + _context + '" must contain "' + text + '".', null));
      if (A.findLineStart(_context, text, start.get$column()) == null)
        A.throwExpression(A.ArgumentError$('The span text "' + text + '" must start at column ' + (start.get$column() + 1) + ' in a line within "' + _context + '".', null));
      return t1;
    },
    SourceSpanWithContext: function SourceSpanWithContext(t0, t1, t2, t3) {
      var _ = this;
      _._context = t0;
      _.start = t1;
      _.end = t2;
      _.text = t3;
    },
    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, new A.Chain_Chain$parse_closure(), t2._eval$1("WhereIterable<1>")), 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), 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(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(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(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(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 (type$.FormatException._is(A.unwrapException(exception)))
          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_parseLocation: function Frame_Frame$parseV8_closure_parseLocation(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 = $;
    },
    LazyTrace_terse_closure: function LazyTrace_terse_closure(t0) {
      this.$this = t0;
    },
    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 (type$.FormatException._is(t1)) {
          error = t1;
          throw A.wrapException(A.FormatException$(J.get$message$x(error) + "\nStack trace:\n" + trace, null, null));
        } else
          throw exception;
      }
    },
    Trace___parseVM_tearOff(trace) {
      return A.Trace$parseVM(trace);
    },
    Trace$parseVM(trace) {
      var t1 = A.List_List$unmodifiable(A.Trace__parseVM(trace), type$.Frame);
      return new A.Trace(t1, new A._StringStackTrace(trace));
    },
    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), 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"));
      t1 = A.MappedIterable_MappedIterable(t1, A.frame_Frame___parseVM_tearOff$closure(), A._instanceType(t1)._eval$1("Iterable.E"), type$.Frame);
      $frames = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("Iterable.E"));
      if (!J.endsWith$1$s(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 t1 = A.SubListIterable$(A._setArrayType(trace.split("\n"), type$.JSArray_String), 1, null, type$.String).super$Iterable$skipWhile(0, new A.Trace$parseV8_closure()),
        t2 = type$.Frame;
      t2 = A.List_List$unmodifiable(A.MappedIterable_MappedIterable(t1, A.frame_Frame___parseV8_tearOff$closure(), t1.$ti._eval$1("Iterable.E"), t2), t2);
      return new A.Trace(t2, new A._StringStackTrace(trace));
    },
    Trace$parseJSCore(trace) {
      var t1 = A.List_List$unmodifiable(new A.MappedIterable(new A.WhereIterable(A._setArrayType(trace.split("\n"), type$.JSArray_String), new A.Trace$parseJSCore_closure(), type$.WhereIterable_String), A.frame_Frame___parseV8_tearOff$closure(), type$.MappedIterable_String_Frame), type$.Frame);
      return new A.Trace(t1, new A._StringStackTrace(trace));
    },
    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), new A.Trace$parseFirefox_closure(), type$.WhereIterable_String), A.frame_Frame___parseFirefox_tearOff$closure(), type$.MappedIterable_String_Frame), type$.Frame);
      return new A.Trace(t1, new A._StringStackTrace(trace));
    },
    Trace___parseFriendly_tearOff(trace) {
      return A.Trace$parseFriendly(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), new A.Trace$parseFriendly_closure(), type$.WhereIterable_String), A.frame_Frame___parseFriendly_tearOff$closure(), type$.MappedIterable_String_Frame);
      t1 = A.List_List$unmodifiable(t1, type$.Frame);
      return new A.Trace(t1, new A._StringStackTrace(trace));
    },
    Trace$($frames, original) {
      var t1 = A.List_List$unmodifiable($frames, type$.Frame);
      return new A.Trace(t1, new A._StringStackTrace(original == null ? "" : original));
    },
    Trace: function Trace(t0, t1) {
      this.frames = t0;
      this.original = t1;
    },
    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_terse_closure: function Trace_terse_closure() {
    },
    Trace_foldFrames_closure: function Trace_foldFrames_closure(t0) {
      this.oldPredicate = t0;
    },
    Trace_foldFrames_closure0: function Trace_foldFrames_closure0(t0) {
      this._box_0 = t0;
    },
    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;
    },
    TransformByHandlers_transformByHandlers(_this, onData, onDone, $S, $T) {
      var _null = null, t1 = {},
        controller = A.StreamController_StreamController(_null, _null, _null, _null, true, $T);
      t1.subscription = null;
      controller.onListen = new A.TransformByHandlers_transformByHandlers_closure(t1, _this, onData, controller, A.instantiate1(A.from_handlers__TransformByHandlers__defaultHandleError$closure(), $T), onDone, $S);
      return controller.get$stream();
    },
    TransformByHandlers__defaultHandleError(error, stackTrace, sink) {
      sink.addError$2(error, stackTrace);
    },
    TransformByHandlers_transformByHandlers_closure: function TransformByHandlers_transformByHandlers_closure(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._box_1 = t0;
      _._this = t1;
      _.handleData = t2;
      _.controller = t3;
      _.handleError = t4;
      _.handleDone = t5;
      _.S = t6;
    },
    TransformByHandlers_transformByHandlers__closure: function TransformByHandlers_transformByHandlers__closure(t0, t1, t2) {
      this.handleData = t0;
      this.controller = t1;
      this.S = t2;
    },
    TransformByHandlers_transformByHandlers__closure1: function TransformByHandlers_transformByHandlers__closure1(t0, t1) {
      this.handleError = t0;
      this.controller = t1;
    },
    TransformByHandlers_transformByHandlers__closure0: function TransformByHandlers_transformByHandlers__closure0(t0, t1, t2) {
      this._box_0 = t0;
      this.handleDone = t1;
      this.controller = t2;
    },
    TransformByHandlers_transformByHandlers__closure2: function TransformByHandlers_transformByHandlers__closure2(t0, t1) {
      this._box_1 = t0;
      this._box_0 = t1;
    },
    RateLimit__debounceAggregate(_this, duration, collect, leading, trailing, $T, $S) {
      var t1 = {};
      t1.soFar = t1.timer = null;
      t1.emittedLatestAsLeading = t1.shouldClose = t1.hasPending = false;
      return A.TransformByHandlers_transformByHandlers(_this, new A.RateLimit__debounceAggregate_closure(t1, $S, collect, false, duration, true, $T), new A.RateLimit__debounceAggregate_closure0(t1, true, $S), $T, $S);
    },
    _collect($event, soFar, $T) {
      var t1 = soFar == null ? A._setArrayType([], $T._eval$1("JSArray<0>")) : soFar;
      J.add$1$ax(t1, $event);
      return t1;
    },
    RateLimit__debounceAggregate_closure: function RateLimit__debounceAggregate_closure(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._box_0 = t0;
      _.S = t1;
      _.collect = t2;
      _.leading = t3;
      _.duration = t4;
      _.trailing = t5;
      _.T = t6;
    },
    RateLimit__debounceAggregate_closure_emit: function RateLimit__debounceAggregate_closure_emit(t0, t1, t2) {
      this._box_0 = t0;
      this.sink = t1;
      this.S = t2;
    },
    RateLimit__debounceAggregate__closure: function RateLimit__debounceAggregate__closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.trailing = t1;
      _.emit = t2;
      _.sink = t3;
    },
    RateLimit__debounceAggregate_closure0: function RateLimit__debounceAggregate_closure0(t0, t1, t2) {
      this._box_0 = t0;
      this.trailing = t1;
      this.S = t2;
    },
    StringScannerException$(message, span, source) {
      return new A.StringScannerException(source, message, span);
    },
    StringScannerException: function StringScannerException(t0, t1, t2) {
      this.source = t0;
      this._span_exception$_message = t1;
      this._span = t2;
    },
    LineScanner$(string) {
      return new A.LineScanner(null, string);
    },
    LineScanner: function LineScanner(t0, t1) {
      var _ = this;
      _._line_scanner$_column = _._line_scanner$_line = 0;
      _.sourceUrl = t0;
      _.string = t1;
      _._string_scanner$_position = 0;
      _._lastMatchPosition = _._lastMatch = null;
    },
    SpanScanner$(string, sourceUrl) {
      var t2,
        t1 = A.SourceFile$fromString(string, sourceUrl);
      if (sourceUrl == null)
        t2 = null;
      else
        t2 = typeof sourceUrl == "string" ? A.Uri_parse(sourceUrl) : type$.Uri._as(sourceUrl);
      return new A.SpanScanner(t1, t2, string);
    },
    SpanScanner: function SpanScanner(t0, t1, t2) {
      var _ = this;
      _._sourceFile = t0;
      _.sourceUrl = t1;
      _.string = t2;
      _._string_scanner$_position = 0;
      _._lastMatchPosition = _._lastMatch = null;
    },
    _SpanScannerState: function _SpanScannerState(t0, t1) {
      this._scanner = t0;
      this.position = t1;
    },
    StringScanner$(string, position, sourceUrl) {
      var t1;
      if (sourceUrl == null)
        t1 = null;
      else
        t1 = typeof sourceUrl == "string" ? A.Uri_parse(sourceUrl) : type$.Uri._as(sourceUrl);
      return new A.StringScanner(t1, string);
    },
    StringScanner: function StringScanner(t0, t1) {
      var _ = this;
      _.sourceUrl = t0;
      _.string = t1;
      _._string_scanner$_position = 0;
      _._lastMatchPosition = _._lastMatch = null;
    },
    AsciiGlyphSet: function AsciiGlyphSet() {
    },
    UnicodeGlyphSet: function UnicodeGlyphSet() {
    },
    WatchEvent: function WatchEvent(t0, t1) {
      this.type = t0;
      this.path = t1;
    },
    ChangeType: function ChangeType(t0) {
      this._watch_event$_name = t0;
    },
    AnySelectorVisitor0: function AnySelectorVisitor0() {
    },
    AnySelectorVisitor_visitComplexSelector_closure0: function AnySelectorVisitor_visitComplexSelector_closure0(t0) {
      this.$this = t0;
    },
    AnySelectorVisitor_visitCompoundSelector_closure0: function AnySelectorVisitor_visitCompoundSelector_closure0(t0) {
      this.$this = t0;
    },
    SupportsAnything0: function SupportsAnything0(t0, t1) {
      this.contents = t0;
      this.span = t1;
    },
    Argument0: function Argument0(t0, t1, t2) {
      this.name = t0;
      this.defaultValue = t1;
      this.span = t2;
    },
    ArgumentDeclaration_ArgumentDeclaration$parse0(contents, url) {
      return A.ScssParser$0(contents, null, url).parseArgumentDeclaration$0();
    },
    ArgumentDeclaration0: function ArgumentDeclaration0(t0, t1, t2) {
      this.$arguments = t0;
      this.restArgument = t1;
      this.span = t2;
    },
    ArgumentDeclaration_verify_closure1: function ArgumentDeclaration_verify_closure1() {
    },
    ArgumentDeclaration_verify_closure2: function ArgumentDeclaration_verify_closure2() {
    },
    ArgumentInvocation$empty0(span) {
      return new A.ArgumentInvocation0(B.List_empty20, B.Map_empty14, null, null, span);
    },
    ArgumentInvocation0: function ArgumentInvocation0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.positional = t0;
      _.named = t1;
      _.rest = t2;
      _.keywordRest = t3;
      _.span = t4;
    },
    argumentListClass_closure: function argumentListClass_closure() {
    },
    argumentListClass__closure: function argumentListClass__closure() {
    },
    argumentListClass__closure0: function argumentListClass__closure0() {
    },
    SassArgumentList$0(contents, keywords, separator) {
      var t1 = type$.Value_2;
      t1 = new A.SassArgumentList0(A.ConstantMap_ConstantMap$from(keywords, type$.String, t1), A.List_List$unmodifiable(contents, t1), separator, false);
      t1.SassList$3$brackets0(contents, separator, false);
      return t1;
    },
    SassArgumentList0: function SassArgumentList0(t0, t1, t2, t3) {
      var _ = this;
      _._argument_list$_keywords = t0;
      _._argument_list$_wereKeywordsAccessed = false;
      _._list1$_contents = t1;
      _._list1$_separator = t2;
      _._list1$_hasBrackets = t3;
    },
    JSArray1: function JSArray1() {
    },
    AsyncImporter0: function AsyncImporter0() {
    },
    JSToDartAsyncImporter: function JSToDartAsyncImporter(t0, t1, t2) {
      this._async0$_canonicalize = t0;
      this._load = t1;
      this._nonCanonicalSchemes = t2;
    },
    JSToDartAsyncImporter_canonicalize_closure: function JSToDartAsyncImporter_canonicalize_closure(t0, t1) {
      this.$this = t0;
      this.url = t1;
    },
    JSToDartAsyncImporter_load_closure: function JSToDartAsyncImporter_load_closure(t0, t1) {
      this.$this = t0;
      this.url = t1;
    },
    AsyncBuiltInCallable$mixin0($name, $arguments, callback, acceptsContent, url) {
      return new A.AsyncBuiltInCallable0($name, A.ScssParser$0("@mixin " + $name + "(" + $arguments + ") {", null, url).parseArgumentDeclaration$0(), new A.AsyncBuiltInCallable$mixin_closure0(callback), false);
    },
    AsyncBuiltInCallable0: function AsyncBuiltInCallable0(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _._async_built_in0$_arguments = t1;
      _._async_built_in0$_callback = t2;
      _.acceptsContent = t3;
    },
    AsyncBuiltInCallable$mixin_closure0: function AsyncBuiltInCallable$mixin_closure0(t0) {
      this.callback = t0;
    },
    compileAsync0(path, charset, fatalDeprecations, functions, futureDeprecations, importCache, indentWidth, lineFeed, logger, nodeImporter, quietDeps, silenceDeprecations, sourceMap, style, syntax, useSpaces, verbose) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CompileResult_2),
        $async$returnValue, t3, t4, t0, stylesheet, result, t1, t2;
      var $async$compileAsync0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.Deprecation_3;
              t2 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              if (silenceDeprecations != null)
                t2.addAll$1(0, silenceDeprecations);
              t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              if (fatalDeprecations != null)
                t3.addAll$1(0, fatalDeprecations);
              t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              if (futureDeprecations != null)
                t1.addAll$1(0, futureDeprecations);
              logger = A.DeprecationProcessingLogger$0(logger, t3, t1, !verbose, t2);
              t1 = nodeImporter == null;
              if (t1)
                t2 = syntax == null || syntax === A.Syntax_forPath0(path);
              else
                t2 = false;
              $async$goto = t2 ? 3 : 5;
              break;
            case 3:
              // then
              if (importCache == null)
                importCache = A.AsyncImportCache$none(logger);
              t2 = $.$get$FilesystemImporter_cwd0();
              t3 = A.isNodeJs() ? self.process : null;
              if (!J.$eq$(t3 == null ? null : J.get$platform$x(t3), "win32")) {
                t3 = A.isNodeJs() ? self.process : null;
                t3 = J.$eq$(t3 == null ? null : J.get$platform$x(t3), "darwin");
              } else
                t3 = true;
              if (t3) {
                t3 = $.$get$context();
                t4 = A._realCasePath0(A.absolute(t3.normalize$1(path), null, null, null, null, null, null, null, null, null, null, null, null, null, null));
                t0 = t4;
                t4 = t3;
                t3 = t0;
              } else {
                t3 = $.$get$context();
                t4 = t3.canonicalize$1(0, path);
                t0 = t4;
                t4 = t3;
                t3 = t0;
              }
              $async$goto = 6;
              return A._asyncAwait(importCache.importCanonical$3$originalUrl(t2, t4.toUri$1(t3), t4.toUri$1(path)), $async$compileAsync0);
            case 6:
              // returning from await.
              t4 = $async$result;
              t4.toString;
              stylesheet = t4;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              t2 = A.readFile0(path);
              t3 = syntax == null ? A.Syntax_forPath0(path) : syntax;
              stylesheet = A.Stylesheet_Stylesheet$parse0(t2, t3, logger, $.$get$context().toUri$1(path));
            case 4:
              // join
              $async$goto = 7;
              return A._asyncAwait(A._compileStylesheet2(stylesheet, logger, importCache, nodeImporter, $.$get$FilesystemImporter_cwd0(), functions, style, useSpaces, indentWidth, lineFeed, quietDeps, sourceMap, charset), $async$compileAsync0);
            case 7:
              // returning from await.
              result = $async$result;
              logger.summarize$1$js(!t1);
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$compileAsync0, $async$completer);
    },
    compileStringAsync0(source, charset, fatalDeprecations, functions, futureDeprecations, importCache, importer, indentWidth, lineFeed, logger, nodeImporter, quietDeps, silenceDeprecations, sourceMap, style, syntax, url, useSpaces, verbose) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CompileResult_2),
        $async$returnValue, t3, stylesheet, result, t1, t2;
      var $async$compileStringAsync0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.Deprecation_3;
              t2 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              if (silenceDeprecations != null)
                t2.addAll$1(0, silenceDeprecations);
              t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              if (fatalDeprecations != null)
                t3.addAll$1(0, fatalDeprecations);
              t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              if (futureDeprecations != null)
                t1.addAll$1(0, futureDeprecations);
              logger = A.DeprecationProcessingLogger$0(logger, t3, t1, !verbose, t2);
              stylesheet = A.Stylesheet_Stylesheet$parse0(source, syntax == null ? B.Syntax_SCSS_scss0 : syntax, logger, url);
              if (importer == null)
                t1 = A.isBrowser() ? new A.NoOpImporter0() : $.$get$FilesystemImporter_cwd0();
              else
                t1 = importer;
              $async$goto = 3;
              return A._asyncAwait(A._compileStylesheet2(stylesheet, logger, importCache, nodeImporter, t1, functions, style, useSpaces, indentWidth, lineFeed, quietDeps, sourceMap, charset), $async$compileStringAsync0);
            case 3:
              // returning from await.
              result = $async$result;
              logger.summarize$1$js(nodeImporter != null);
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$compileStringAsync0, $async$completer);
    },
    _compileStylesheet2(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, quietDeps, sourceMap, charset) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CompileResult_2),
        $async$returnValue, evaluateResult, serializeResult, resultSourceMap;
      var $async$_compileStylesheet2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait(A._EvaluateVisitor$2(functions, importCache, logger, nodeImporter, quietDeps, sourceMap).run$2(0, importer, stylesheet), $async$_compileStylesheet2);
            case 3:
              // returning from await.
              evaluateResult = $async$result;
              serializeResult = A.serialize0(evaluateResult._1, charset, indentWidth, false, lineFeed, sourceMap, style, useSpaces);
              resultSourceMap = serializeResult._1;
              if (resultSourceMap != null && importCache != null)
                A.mapInPlace0(resultSourceMap.urls, new A._compileStylesheet_closure2(stylesheet, importCache));
              $async$returnValue = new A.CompileResult0(evaluateResult, serializeResult);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_compileStylesheet2, $async$completer);
    },
    _compileStylesheet_closure2: function _compileStylesheet_closure2(t0, t1) {
      this.stylesheet = t0;
      this.importCache = t1;
    },
    AsyncEnvironment$0() {
      var t1 = type$.String,
        t2 = type$.Module_AsyncCallable_2,
        t3 = type$.AstNode_2,
        t4 = type$.int,
        t5 = type$.AsyncCallable_2,
        t6 = type$.JSArray_Map_String_AsyncCallable_2;
      return new A.AsyncEnvironment0(A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t3), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), null, null, A._setArrayType([], type$.JSArray_Module_AsyncCallable_2), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Value_2)], type$.JSArray_Map_String_Value_2), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, t3)], type$.JSArray_Map_String_AstNode_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t4), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, t5)], t6), A.LinkedHashMap_LinkedHashMap$_empty(t1, t4), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, t5)], t6), A.LinkedHashMap_LinkedHashMap$_empty(t1, t4), null);
    },
    AsyncEnvironment$_0(_modules, _namespaceNodes, _globalModules, _importedModules, _forwardedModules, _nestedForwardedModules, _allModules, _variables, _variableNodes, _functions, _mixins, _content) {
      var t1 = type$.String,
        t2 = type$.int;
      return new A.AsyncEnvironment0(_modules, _namespaceNodes, _globalModules, _importedModules, _forwardedModules, _nestedForwardedModules, _allModules, _variables, _variableNodes, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _functions, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _mixins, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _content);
    },
    _EnvironmentModule__EnvironmentModule2(environment, css, preModuleComments, extensionStore, forwarded) {
      var t1, t2, t3, t4, t5, t6, module, result, t7;
      if (forwarded == null)
        forwarded = B.Set_empty6;
      t1 = type$.dynamic;
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t2 = type$.Module_AsyncCallable_2, t3 = type$.List_CssComment_2, t4 = A.MapExtensions_get_pairs0(preModuleComments, t2, t3), t4 = t4.get$iterator(t4), t5 = type$.CssComment_2; t4.moveNext$0();) {
        t6 = t4.get$current(t4);
        module = t6._0;
        result = A.List_List$from(t6._1, false, t5);
        result.fixed$length = Array;
        result.immutable$list = Array;
        t1.$indexSet(0, module, result);
      }
      t1 = A.ConstantMap_ConstantMap$from(t1, t2, t3);
      t2 = A._EnvironmentModule__makeModulesByVariable2(forwarded);
      t3 = A._EnvironmentModule__memberMap2(B.JSArray_methods.get$first(environment._async_environment0$_variables), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure17(), type$.Map_String_Value_2), type$.Value_2);
      t4 = A._EnvironmentModule__memberMap2(B.JSArray_methods.get$first(environment._async_environment0$_variableNodes), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure18(), type$.Map_String_AstNode_2), type$.AstNode_2);
      t5 = type$.Map_String_AsyncCallable_2;
      t6 = type$.AsyncCallable_2;
      t7 = A._EnvironmentModule__memberMap2(B.JSArray_methods.get$first(environment._async_environment0$_functions), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure19(), t5), t6);
      t6 = A._EnvironmentModule__memberMap2(B.JSArray_methods.get$first(environment._async_environment0$_mixins), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure20(), t5), t6);
      t5 = J.get$isNotEmpty$asx(css.get$children(css)) || preModuleComments.get$isNotEmpty(preModuleComments) || B.JSArray_methods.any$1(environment._async_environment0$_allModules, new A._EnvironmentModule__EnvironmentModule_closure21());
      return A._EnvironmentModule$_2(environment, css, t1, extensionStore, t2, t3, t4, t7, t6, t5, !extensionStore.get$isEmpty(extensionStore) || B.JSArray_methods.any$1(environment._async_environment0$_allModules, new A._EnvironmentModule__EnvironmentModule_closure22()));
    },
    _EnvironmentModule__makeModulesByVariable2(forwarded) {
      var modulesByVariable, t1, t2, t3, t4, t5;
      if (forwarded.get$isEmpty(forwarded))
        return B.Map_empty16;
      modulesByVariable = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Module_AsyncCallable_2);
      for (t1 = forwarded.get$iterator(forwarded); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (t2 instanceof A._EnvironmentModule2) {
          for (t3 = t2._async_environment0$_modulesByVariable, t3 = t3.get$values(t3), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
            t4 = t3.get$current(t3);
            t5 = t4.get$variables();
            A.setAll0(modulesByVariable, t5.get$keys(t5), t4);
          }
          A.setAll0(modulesByVariable, J.get$keys$z(B.JSArray_methods.get$first(t2._async_environment0$_environment._async_environment0$_variables)), t2);
        } else {
          t3 = t2.get$variables();
          A.setAll0(modulesByVariable, t3.get$keys(t3), t2);
        }
      }
      return modulesByVariable;
    },
    _EnvironmentModule__memberMap2(localMap, otherMaps, $V) {
      var t1, t2, t3;
      localMap = new A.PublicMemberMapView0(localMap, $V._eval$1("PublicMemberMapView0<0>"));
      if (otherMaps.get$isEmpty(otherMaps))
        return localMap;
      t1 = A._setArrayType([], $V._eval$1("JSArray>"));
      for (t2 = otherMaps.get$iterator(otherMaps); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        if (t3.get$isNotEmpty(t3))
          t1.push(t3);
      }
      t1.push(localMap);
      if (t1.length === 1)
        return localMap;
      return A.MergedMapView$0(t1, type$.String, $V);
    },
    _EnvironmentModule$_2(_environment, css, preModuleComments, extensionStore, _modulesByVariable, variables, variableNodes, functions, mixins, transitivelyContainsCss, transitivelyContainsExtensions) {
      return new A._EnvironmentModule2(_environment._async_environment0$_allModules, variables, variableNodes, functions, mixins, extensionStore, css, preModuleComments, transitivelyContainsCss, transitivelyContainsExtensions, _environment, _modulesByVariable);
    },
    AsyncEnvironment0: function AsyncEnvironment0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._async_environment0$_modules = t0;
      _._async_environment0$_namespaceNodes = t1;
      _._async_environment0$_globalModules = t2;
      _._async_environment0$_importedModules = t3;
      _._async_environment0$_forwardedModules = t4;
      _._async_environment0$_nestedForwardedModules = t5;
      _._async_environment0$_allModules = t6;
      _._async_environment0$_variables = t7;
      _._async_environment0$_variableNodes = t8;
      _._async_environment0$_variableIndices = t9;
      _._async_environment0$_functions = t10;
      _._async_environment0$_functionIndices = t11;
      _._async_environment0$_mixins = t12;
      _._async_environment0$_mixinIndices = t13;
      _._async_environment0$_content = t14;
      _._async_environment0$_inMixin = false;
      _._async_environment0$_inSemiGlobalScope = true;
      _._async_environment0$_lastVariableIndex = _._async_environment0$_lastVariableName = null;
    },
    AsyncEnvironment__getVariableFromGlobalModule_closure0: function AsyncEnvironment__getVariableFromGlobalModule_closure0(t0) {
      this.name = t0;
    },
    AsyncEnvironment_setVariable_closure2: function AsyncEnvironment_setVariable_closure2(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    AsyncEnvironment_setVariable_closure3: function AsyncEnvironment_setVariable_closure3(t0) {
      this.name = t0;
    },
    AsyncEnvironment_setVariable_closure4: function AsyncEnvironment_setVariable_closure4(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    AsyncEnvironment__getFunctionFromGlobalModule_closure0: function AsyncEnvironment__getFunctionFromGlobalModule_closure0(t0) {
      this.name = t0;
    },
    AsyncEnvironment__getMixinFromGlobalModule_closure0: function AsyncEnvironment__getMixinFromGlobalModule_closure0(t0) {
      this.name = t0;
    },
    AsyncEnvironment_toModule_closure0: function AsyncEnvironment_toModule_closure0() {
    },
    AsyncEnvironment_toDummyModule_closure0: function AsyncEnvironment_toDummyModule_closure0() {
    },
    _EnvironmentModule2: function _EnvironmentModule2(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.upstream = t0;
      _.variables = t1;
      _.variableNodes = t2;
      _.functions = t3;
      _.mixins = t4;
      _.extensionStore = t5;
      _.css = t6;
      _.preModuleComments = t7;
      _.transitivelyContainsCss = t8;
      _.transitivelyContainsExtensions = t9;
      _._async_environment0$_environment = t10;
      _._async_environment0$_modulesByVariable = t11;
    },
    _EnvironmentModule__EnvironmentModule_closure17: function _EnvironmentModule__EnvironmentModule_closure17() {
    },
    _EnvironmentModule__EnvironmentModule_closure18: function _EnvironmentModule__EnvironmentModule_closure18() {
    },
    _EnvironmentModule__EnvironmentModule_closure19: function _EnvironmentModule__EnvironmentModule_closure19() {
    },
    _EnvironmentModule__EnvironmentModule_closure20: function _EnvironmentModule__EnvironmentModule_closure20() {
    },
    _EnvironmentModule__EnvironmentModule_closure21: function _EnvironmentModule__EnvironmentModule_closure21() {
    },
    _EnvironmentModule__EnvironmentModule_closure22: function _EnvironmentModule__EnvironmentModule_closure22() {
    },
    _EvaluateVisitor$2(functions, importCache, logger, nodeImporter, quietDeps, sourceMap) {
      var t4,
        t1 = type$.Uri,
        t2 = type$.Module_AsyncCallable_2,
        t3 = A._setArrayType([], type$.JSArray_Record_2_String_and_AstNode_2);
      if (importCache == null)
        t4 = nodeImporter == null ? A.AsyncImportCache$none(logger) : null;
      else
        t4 = importCache;
      t1 = new A._EvaluateVisitor2(t4, nodeImporter, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.AsyncCallable_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Configuration_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AstNode_2), logger, A.LinkedHashSet_LinkedHashSet$_empty(type$.Record_2_String_and_SourceSpan), quietDeps, sourceMap, A.AsyncEnvironment$0(), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.nullable_AstNode_2), t3, B.Configuration_Map_empty_null0);
      t1._EvaluateVisitor$6$functions$importCache$logger$nodeImporter$quietDeps$sourceMap2(functions, importCache, logger, nodeImporter, quietDeps, sourceMap);
      return t1;
    },
    _EvaluateVisitor2: function _EvaluateVisitor2(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _._async_evaluate0$_importCache = t0;
      _._async_evaluate0$_nodeImporter = t1;
      _._async_evaluate0$_builtInFunctions = t2;
      _._async_evaluate0$_builtInModules = t3;
      _._async_evaluate0$_modules = t4;
      _._async_evaluate0$_moduleConfigurations = t5;
      _._async_evaluate0$_moduleNodes = t6;
      _._async_evaluate0$_logger = t7;
      _._async_evaluate0$_warningsEmitted = t8;
      _._async_evaluate0$_quietDeps = t9;
      _._async_evaluate0$_sourceMap = t10;
      _._async_evaluate0$_environment = t11;
      _._async_evaluate0$_declarationName = _._async_evaluate0$__parent = _._async_evaluate0$_mediaQuerySources = _._async_evaluate0$_mediaQueries = _._async_evaluate0$_styleRuleIgnoringAtRoot = null;
      _._async_evaluate0$_member = "root stylesheet";
      _._async_evaluate0$_importSpan = _._async_evaluate0$_callableNode = _._async_evaluate0$_currentCallable = null;
      _._async_evaluate0$_inSupportsDeclaration = _._async_evaluate0$_inKeyframes = _._async_evaluate0$_atRootExcludingStyleRule = _._async_evaluate0$_inUnknownAtRule = _._async_evaluate0$_inFunction = false;
      _._async_evaluate0$_loadedUrls = t12;
      _._async_evaluate0$_activeModules = t13;
      _._async_evaluate0$_stack = t14;
      _._async_evaluate0$_importer = null;
      _._async_evaluate0$_inDependency = false;
      _._async_evaluate0$__extensionStore = _._async_evaluate0$_preModuleComments = _._async_evaluate0$_outOfOrderImports = _._async_evaluate0$__endOfImports = _._async_evaluate0$__root = _._async_evaluate0$__stylesheet = null;
      _._async_evaluate0$_configuration = t15;
    },
    _EvaluateVisitor_closure38: function _EvaluateVisitor_closure38(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure39: function _EvaluateVisitor_closure39(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure40: function _EvaluateVisitor_closure40(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure41: function _EvaluateVisitor_closure41(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure42: function _EvaluateVisitor_closure42(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure43: function _EvaluateVisitor_closure43(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure44: function _EvaluateVisitor_closure44(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure45: function _EvaluateVisitor_closure45(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure46: function _EvaluateVisitor_closure46(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__closure14: function _EvaluateVisitor__closure14(t0, t1, t2) {
      this.$this = t0;
      this.name = t1;
      this.module = t2;
    },
    _EvaluateVisitor_closure47: function _EvaluateVisitor_closure47(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__closure13: function _EvaluateVisitor__closure13(t0, t1, t2) {
      this.$this = t0;
      this.name = t1;
      this.module = t2;
    },
    _EvaluateVisitor_closure48: function _EvaluateVisitor_closure48(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure49: function _EvaluateVisitor_closure49(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__closure11: function _EvaluateVisitor__closure11(t0, t1, t2) {
      this.values = t0;
      this.span = t1;
      this.callableNode = t2;
    },
    _EvaluateVisitor__closure12: function _EvaluateVisitor__closure12(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure50: function _EvaluateVisitor_closure50(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_run_closure2: function _EvaluateVisitor_run_closure2(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.importer = t2;
    },
    _EvaluateVisitor_run__closure2: function _EvaluateVisitor_run__closure2(t0, t1, t2) {
      this.$this = t0;
      this.importer = t1;
      this.node = t2;
    },
    _EvaluateVisitor__loadModule_closure5: function _EvaluateVisitor__loadModule_closure5(t0, t1) {
      this._box_1 = t0;
      this.callback = t1;
    },
    _EvaluateVisitor__loadModule_closure6: function _EvaluateVisitor__loadModule_closure6(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.url = t1;
      _.nodeWithSpan = t2;
      _.baseUrl = t3;
      _.namesInErrors = t4;
      _.configuration = t5;
      _.callback = t6;
    },
    _EvaluateVisitor__loadModule__closure5: function _EvaluateVisitor__loadModule__closure5(t0, t1) {
      this.$this = t0;
      this.message = t1;
    },
    _EvaluateVisitor__loadModule__closure6: function _EvaluateVisitor__loadModule__closure6(t0, t1, t2) {
      this._box_0 = t0;
      this.callback = t1;
      this.firstLoad = t2;
    },
    _EvaluateVisitor__execute_closure2: function _EvaluateVisitor__execute_closure2(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.importer = t1;
      _.stylesheet = t2;
      _.extensionStore = t3;
      _.configuration = t4;
      _.css = t5;
      _.preModuleComments = t6;
    },
    _EvaluateVisitor__combineCss_closure5: function _EvaluateVisitor__combineCss_closure5() {
    },
    _EvaluateVisitor__combineCss_closure6: function _EvaluateVisitor__combineCss_closure6(t0) {
      this.selectors = t0;
    },
    _EvaluateVisitor__combineCss_visitModule2: function _EvaluateVisitor__combineCss_visitModule2(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.seen = t1;
      _.clone = t2;
      _.css = t3;
      _.imports = t4;
      _.sorted = t5;
    },
    _EvaluateVisitor__extendModules_closure5: function _EvaluateVisitor__extendModules_closure5(t0) {
      this.originalSelectors = t0;
    },
    _EvaluateVisitor__extendModules_closure6: function _EvaluateVisitor__extendModules_closure6() {
    },
    _EvaluateVisitor_visitAtRootRule_closure5: function _EvaluateVisitor_visitAtRootRule_closure5(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitAtRootRule_closure6: function _EvaluateVisitor_visitAtRootRule_closure6(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure17: function _EvaluateVisitor__scopeForAtRoot_closure17(t0, t1, t2) {
      this.$this = t0;
      this.newParent = t1;
      this.node = t2;
    },
    _EvaluateVisitor__scopeForAtRoot_closure18: function _EvaluateVisitor__scopeForAtRoot_closure18(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure19: function _EvaluateVisitor__scopeForAtRoot_closure19(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor__scopeForAtRoot__closure2: function _EvaluateVisitor__scopeForAtRoot__closure2(t0, t1) {
      this.innerScope = t0;
      this.callback = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure20: function _EvaluateVisitor__scopeForAtRoot_closure20(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure21: function _EvaluateVisitor__scopeForAtRoot_closure21() {
    },
    _EvaluateVisitor__scopeForAtRoot_closure22: function _EvaluateVisitor__scopeForAtRoot_closure22(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor_visitContentRule_closure2: function _EvaluateVisitor_visitContentRule_closure2(t0, t1) {
      this.$this = t0;
      this.content = t1;
    },
    _EvaluateVisitor_visitDeclaration_closure2: function _EvaluateVisitor_visitDeclaration_closure2(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _EvaluateVisitor_visitEachRule_closure8: function _EvaluateVisitor_visitEachRule_closure8(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.nodeWithSpan = t2;
    },
    _EvaluateVisitor_visitEachRule_closure9: function _EvaluateVisitor_visitEachRule_closure9(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.nodeWithSpan = t2;
    },
    _EvaluateVisitor_visitEachRule_closure10: function _EvaluateVisitor_visitEachRule_closure10(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.list = t1;
      _.setVariables = t2;
      _.node = t3;
    },
    _EvaluateVisitor_visitEachRule__closure2: function _EvaluateVisitor_visitEachRule__closure2(t0, t1, t2) {
      this.$this = t0;
      this.setVariables = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitEachRule___closure2: function _EvaluateVisitor_visitEachRule___closure2(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitAtRule_closure8: function _EvaluateVisitor_visitAtRule_closure8(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitAtRule_closure9: function _EvaluateVisitor_visitAtRule_closure9(t0, t1, t2) {
      this.$this = t0;
      this.name = t1;
      this.children = t2;
    },
    _EvaluateVisitor_visitAtRule__closure2: function _EvaluateVisitor_visitAtRule__closure2(t0, t1) {
      this.$this = t0;
      this.children = t1;
    },
    _EvaluateVisitor_visitAtRule_closure10: function _EvaluateVisitor_visitAtRule_closure10() {
    },
    _EvaluateVisitor_visitForRule_closure14: function _EvaluateVisitor_visitForRule_closure14(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitForRule_closure15: function _EvaluateVisitor_visitForRule_closure15(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitForRule_closure16: function _EvaluateVisitor_visitForRule_closure16(t0) {
      this.fromNumber = t0;
    },
    _EvaluateVisitor_visitForRule_closure17: function _EvaluateVisitor_visitForRule_closure17(t0, t1) {
      this.toNumber = t0;
      this.fromNumber = t1;
    },
    _EvaluateVisitor_visitForRule_closure18: function _EvaluateVisitor_visitForRule_closure18(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.node = t2;
      _.from = t3;
      _.direction = t4;
      _.fromNumber = t5;
    },
    _EvaluateVisitor_visitForRule__closure2: function _EvaluateVisitor_visitForRule__closure2(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitForwardRule_closure5: function _EvaluateVisitor_visitForwardRule_closure5(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitForwardRule_closure6: function _EvaluateVisitor_visitForwardRule_closure6(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__registerCommentsForModule_closure2: function _EvaluateVisitor__registerCommentsForModule_closure2() {
    },
    _EvaluateVisitor_visitIfRule_closure2: function _EvaluateVisitor_visitIfRule_closure2(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitIfRule__closure2: function _EvaluateVisitor_visitIfRule__closure2(t0, t1) {
      this.$this = t0;
      this.clause = t1;
    },
    _EvaluateVisitor_visitIfRule___closure2: function _EvaluateVisitor_visitIfRule___closure2(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__visitDynamicImport_closure2: function _EvaluateVisitor__visitDynamicImport_closure2(t0, t1) {
      this.$this = t0;
      this.$import = t1;
    },
    _EvaluateVisitor__visitDynamicImport__closure11: function _EvaluateVisitor__visitDynamicImport__closure11(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__visitDynamicImport__closure12: function _EvaluateVisitor__visitDynamicImport__closure12() {
    },
    _EvaluateVisitor__visitDynamicImport__closure13: function _EvaluateVisitor__visitDynamicImport__closure13() {
    },
    _EvaluateVisitor__visitDynamicImport__closure14: function _EvaluateVisitor__visitDynamicImport__closure14(t0, t1, t2, t3, t4) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.loadsUserDefinedModules = t2;
      _.environment = t3;
      _.children = t4;
    },
    _EvaluateVisitor__applyMixin_closure5: function _EvaluateVisitor__applyMixin_closure5(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.$arguments = t1;
      _.mixin = t2;
      _.nodeWithSpanWithoutContent = t3;
    },
    _EvaluateVisitor__applyMixin__closure6: function _EvaluateVisitor__applyMixin__closure6(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.$arguments = t1;
      _.mixin = t2;
      _.nodeWithSpanWithoutContent = t3;
    },
    _EvaluateVisitor__applyMixin_closure6: function _EvaluateVisitor__applyMixin_closure6(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.contentCallable = t1;
      _.mixin = t2;
      _.nodeWithSpanWithoutContent = t3;
    },
    _EvaluateVisitor__applyMixin__closure5: function _EvaluateVisitor__applyMixin__closure5(t0, t1, t2) {
      this.$this = t0;
      this.mixin = t1;
      this.nodeWithSpanWithoutContent = t2;
    },
    _EvaluateVisitor__applyMixin___closure2: function _EvaluateVisitor__applyMixin___closure2(t0, t1, t2) {
      this.$this = t0;
      this.mixin = t1;
      this.nodeWithSpanWithoutContent = t2;
    },
    _EvaluateVisitor__applyMixin____closure2: function _EvaluateVisitor__applyMixin____closure2(t0, t1) {
      this.$this = t0;
      this.statement = t1;
    },
    _EvaluateVisitor_visitIncludeRule_closure8: function _EvaluateVisitor_visitIncludeRule_closure8(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitIncludeRule_closure9: function _EvaluateVisitor_visitIncludeRule_closure9(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitIncludeRule_closure10: function _EvaluateVisitor_visitIncludeRule_closure10(t0) {
      this.node = t0;
    },
    _EvaluateVisitor_visitMediaRule_closure8: function _EvaluateVisitor_visitMediaRule_closure8(t0, t1) {
      this.$this = t0;
      this.queries = t1;
    },
    _EvaluateVisitor_visitMediaRule_closure9: function _EvaluateVisitor_visitMediaRule_closure9(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.mergedQueries = t1;
      _.queries = t2;
      _.mergedSources = t3;
      _.node = t4;
    },
    _EvaluateVisitor_visitMediaRule__closure2: function _EvaluateVisitor_visitMediaRule__closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitMediaRule___closure2: function _EvaluateVisitor_visitMediaRule___closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitMediaRule_closure10: function _EvaluateVisitor_visitMediaRule_closure10(t0) {
      this.mergedSources = t0;
    },
    _EvaluateVisitor_visitStyleRule_closure11: function _EvaluateVisitor_visitStyleRule_closure11(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitStyleRule_closure12: function _EvaluateVisitor_visitStyleRule_closure12() {
    },
    _EvaluateVisitor_visitStyleRule_closure14: function _EvaluateVisitor_visitStyleRule_closure14(t0, t1, t2) {
      this.$this = t0;
      this.rule = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitStyleRule__closure2: function _EvaluateVisitor_visitStyleRule__closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitStyleRule_closure13: function _EvaluateVisitor_visitStyleRule_closure13() {
    },
    _EvaluateVisitor__warnForBogusCombinators_closure2: function _EvaluateVisitor__warnForBogusCombinators_closure2() {
    },
    _EvaluateVisitor_visitSupportsRule_closure5: function _EvaluateVisitor_visitSupportsRule_closure5(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitSupportsRule__closure2: function _EvaluateVisitor_visitSupportsRule__closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitSupportsRule_closure6: function _EvaluateVisitor_visitSupportsRule_closure6() {
    },
    _EvaluateVisitor__visitSupportsCondition_closure2: function _EvaluateVisitor__visitSupportsCondition_closure2(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _EvaluateVisitor_visitVariableDeclaration_closure8: function _EvaluateVisitor_visitVariableDeclaration_closure8(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitVariableDeclaration_closure9: function _EvaluateVisitor_visitVariableDeclaration_closure9(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitVariableDeclaration_closure10: function _EvaluateVisitor_visitVariableDeclaration_closure10(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.value = t2;
    },
    _EvaluateVisitor_visitUseRule_closure2: function _EvaluateVisitor_visitUseRule_closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitWarnRule_closure2: function _EvaluateVisitor_visitWarnRule_closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitWhileRule_closure2: function _EvaluateVisitor_visitWhileRule_closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitWhileRule__closure2: function _EvaluateVisitor_visitWhileRule__closure2(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitBinaryOperationExpression_closure2: function _EvaluateVisitor_visitBinaryOperationExpression_closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__slash_recommendation2: function _EvaluateVisitor__slash_recommendation2() {
    },
    _EvaluateVisitor_visitVariableExpression_closure2: function _EvaluateVisitor_visitVariableExpression_closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitUnaryOperationExpression_closure2: function _EvaluateVisitor_visitUnaryOperationExpression_closure2(t0, t1) {
      this.node = t0;
      this.operand = t1;
    },
    _EvaluateVisitor_visitListExpression_closure2: function _EvaluateVisitor_visitListExpression_closure2(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitFunctionExpression_closure8: function _EvaluateVisitor_visitFunctionExpression_closure8(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitFunctionExpression_closure9: function _EvaluateVisitor_visitFunctionExpression_closure9() {
    },
    _EvaluateVisitor_visitFunctionExpression_closure10: function _EvaluateVisitor_visitFunctionExpression_closure10(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.node = t2;
    },
    _EvaluateVisitor__checkCalculationArguments_check2: function _EvaluateVisitor__checkCalculationArguments_check2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__visitCalculationExpression_closure2: function _EvaluateVisitor__visitCalculationExpression_closure2(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.node = t2;
      _.inLegacySassFunction = t3;
    },
    _EvaluateVisitor_visitInterpolatedFunctionExpression_closure2: function _EvaluateVisitor_visitInterpolatedFunctionExpression_closure2(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.$function = t2;
    },
    _EvaluateVisitor__runUserDefinedCallable_closure2: function _EvaluateVisitor__runUserDefinedCallable_closure2(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.callable = t1;
      _.evaluated = t2;
      _.nodeWithSpan = t3;
      _.run = t4;
      _.V = t5;
    },
    _EvaluateVisitor__runUserDefinedCallable__closure2: function _EvaluateVisitor__runUserDefinedCallable__closure2(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.evaluated = t1;
      _.callable = t2;
      _.nodeWithSpan = t3;
      _.run = t4;
      _.V = t5;
    },
    _EvaluateVisitor__runUserDefinedCallable___closure2: function _EvaluateVisitor__runUserDefinedCallable___closure2(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.evaluated = t1;
      _.callable = t2;
      _.nodeWithSpan = t3;
      _.run = t4;
      _.V = t5;
    },
    _EvaluateVisitor__runUserDefinedCallable____closure2: function _EvaluateVisitor__runUserDefinedCallable____closure2() {
    },
    _EvaluateVisitor__runFunctionCallable_closure2: function _EvaluateVisitor__runFunctionCallable_closure2(t0, t1) {
      this.$this = t0;
      this.callable = t1;
    },
    _EvaluateVisitor__runBuiltInCallable_closure8: function _EvaluateVisitor__runBuiltInCallable_closure8(t0, t1, t2) {
      this._box_0 = t0;
      this.evaluated = t1;
      this.namedSet = t2;
    },
    _EvaluateVisitor__runBuiltInCallable_closure9: function _EvaluateVisitor__runBuiltInCallable_closure9(t0, t1) {
      this._box_0 = t0;
      this.evaluated = t1;
    },
    _EvaluateVisitor__runBuiltInCallable_closure10: function _EvaluateVisitor__runBuiltInCallable_closure10() {
    },
    _EvaluateVisitor__evaluateArguments_closure11: function _EvaluateVisitor__evaluateArguments_closure11() {
    },
    _EvaluateVisitor__evaluateArguments_closure12: function _EvaluateVisitor__evaluateArguments_closure12(t0, t1) {
      this.$this = t0;
      this.restNodeForSpan = t1;
    },
    _EvaluateVisitor__evaluateArguments_closure13: function _EvaluateVisitor__evaluateArguments_closure13(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.named = t1;
      _.restNodeForSpan = t2;
      _.namedNodes = t3;
    },
    _EvaluateVisitor__evaluateArguments_closure14: function _EvaluateVisitor__evaluateArguments_closure14() {
    },
    _EvaluateVisitor__evaluateMacroArguments_closure11: function _EvaluateVisitor__evaluateMacroArguments_closure11(t0) {
      this.restArgs = t0;
    },
    _EvaluateVisitor__evaluateMacroArguments_closure12: function _EvaluateVisitor__evaluateMacroArguments_closure12(t0, t1, t2) {
      this.$this = t0;
      this.restNodeForSpan = t1;
      this.restArgs = t2;
    },
    _EvaluateVisitor__evaluateMacroArguments_closure13: function _EvaluateVisitor__evaluateMacroArguments_closure13(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.named = t1;
      _.restNodeForSpan = t2;
      _.restArgs = t3;
    },
    _EvaluateVisitor__evaluateMacroArguments_closure14: function _EvaluateVisitor__evaluateMacroArguments_closure14(t0, t1, t2) {
      this.$this = t0;
      this.keywordRestNodeForSpan = t1;
      this.keywordRestArgs = t2;
    },
    _EvaluateVisitor__addRestMap_closure2: function _EvaluateVisitor__addRestMap_closure2(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.values = t1;
      _.convert = t2;
      _.expressionNode = t3;
      _.map = t4;
      _.nodeWithSpan = t5;
    },
    _EvaluateVisitor__verifyArguments_closure2: function _EvaluateVisitor__verifyArguments_closure2(t0, t1, t2) {
      this.$arguments = t0;
      this.positional = t1;
      this.named = t2;
    },
    _EvaluateVisitor_visitCssAtRule_closure5: function _EvaluateVisitor_visitCssAtRule_closure5(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssAtRule_closure6: function _EvaluateVisitor_visitCssAtRule_closure6() {
    },
    _EvaluateVisitor_visitCssKeyframeBlock_closure5: function _EvaluateVisitor_visitCssKeyframeBlock_closure5(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssKeyframeBlock_closure6: function _EvaluateVisitor_visitCssKeyframeBlock_closure6() {
    },
    _EvaluateVisitor_visitCssMediaRule_closure8: function _EvaluateVisitor_visitCssMediaRule_closure8(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssMediaRule_closure9: function _EvaluateVisitor_visitCssMediaRule_closure9(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.mergedQueries = t1;
      _.node = t2;
      _.mergedSources = t3;
    },
    _EvaluateVisitor_visitCssMediaRule__closure2: function _EvaluateVisitor_visitCssMediaRule__closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssMediaRule___closure2: function _EvaluateVisitor_visitCssMediaRule___closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssMediaRule_closure10: function _EvaluateVisitor_visitCssMediaRule_closure10(t0) {
      this.mergedSources = t0;
    },
    _EvaluateVisitor_visitCssStyleRule_closure6: function _EvaluateVisitor_visitCssStyleRule_closure6(t0, t1, t2) {
      this.$this = t0;
      this.rule = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitCssStyleRule__closure2: function _EvaluateVisitor_visitCssStyleRule__closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssStyleRule_closure5: function _EvaluateVisitor_visitCssStyleRule_closure5() {
    },
    _EvaluateVisitor_visitCssSupportsRule_closure5: function _EvaluateVisitor_visitCssSupportsRule_closure5(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssSupportsRule__closure2: function _EvaluateVisitor_visitCssSupportsRule__closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssSupportsRule_closure6: function _EvaluateVisitor_visitCssSupportsRule_closure6() {
    },
    _EvaluateVisitor__performInterpolationHelper_closure2: function _EvaluateVisitor__performInterpolationHelper_closure2(t0) {
      this.interpolation = t0;
    },
    _EvaluateVisitor__serialize_closure2: function _EvaluateVisitor__serialize_closure2(t0, t1) {
      this.value = t0;
      this.quote = t1;
    },
    _EvaluateVisitor__expressionNode_closure2: function _EvaluateVisitor__expressionNode_closure2(t0, t1) {
      this.$this = t0;
      this.expression = t1;
    },
    _EvaluateVisitor__withoutSlash_recommendation2: function _EvaluateVisitor__withoutSlash_recommendation2() {
    },
    _EvaluateVisitor__stackFrame_closure2: function _EvaluateVisitor__stackFrame_closure2(t0) {
      this.$this = t0;
    },
    _ImportedCssVisitor2: function _ImportedCssVisitor2(t0) {
      this._async_evaluate0$_visitor = t0;
    },
    _ImportedCssVisitor_visitCssAtRule_closure2: function _ImportedCssVisitor_visitCssAtRule_closure2() {
    },
    _ImportedCssVisitor_visitCssMediaRule_closure2: function _ImportedCssVisitor_visitCssMediaRule_closure2(t0) {
      this.hasBeenMerged = t0;
    },
    _ImportedCssVisitor_visitCssStyleRule_closure2: function _ImportedCssVisitor_visitCssStyleRule_closure2() {
    },
    _ImportedCssVisitor_visitCssSupportsRule_closure2: function _ImportedCssVisitor_visitCssSupportsRule_closure2() {
    },
    _EvaluationContext2: function _EvaluationContext2(t0, t1) {
      this._async_evaluate0$_visitor = t0;
      this._async_evaluate0$_defaultWarnNodeWithSpan = t1;
    },
    JSToDartAsyncFileImporter: function JSToDartAsyncFileImporter(t0) {
      this._findFileUrl = t0;
    },
    JSToDartAsyncFileImporter_canonicalize_closure: function JSToDartAsyncFileImporter_canonicalize_closure(t0, t1) {
      this.$this = t0;
      this.url = t1;
    },
    AsyncImportCache$(importers, loadPaths, logger, packageConfig) {
      var t1 = type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2,
        t2 = type$.Record_3_AsyncImporter_and_Uri_and_bool_forImport_2,
        t3 = type$.Uri,
        t4 = A.AsyncImportCache__toImporters0(importers, loadPaths, packageConfig);
      return new A.AsyncImportCache0(t4, logger, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult_2));
    },
    AsyncImportCache$none(logger) {
      var t1 = type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2,
        t2 = type$.Record_3_AsyncImporter_and_Uri_and_bool_forImport_2,
        t3 = type$.Uri;
      return new A.AsyncImportCache0(B.List_empty25, logger, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult_2));
    },
    AsyncImportCache__toImporters0(importers, loadPaths, packageConfig) {
      var t1, t2, t3, t4, _i, path, _null = null,
        sassPath = A.getEnvironmentVariable0("SASS_PATH");
      if (A.isBrowser()) {
        t1 = A._setArrayType([], type$.JSArray_AsyncImporter);
        if (importers != null)
          B.JSArray_methods.addAll$1(t1, importers);
        return t1;
      }
      t1 = A._setArrayType([], type$.JSArray_AsyncImporter);
      if (importers != null)
        B.JSArray_methods.addAll$1(t1, importers);
      if (loadPaths != null)
        for (t2 = J.get$iterator$ax(loadPaths); t2.moveNext$0();) {
          t3 = t2.get$current(t2);
          t1.push(new A.FilesystemImporter0($.$get$context().absolute$15(t3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false));
        }
      if (sassPath != null) {
        t2 = A.isNodeJs() ? self.process : _null;
        t3 = sassPath.split(J.$eq$(t2 == null ? _null : J.get$platform$x(t2), "win32") ? ";" : ":");
        t4 = t3.length;
        _i = 0;
        for (; _i < t4; ++_i) {
          path = t3[_i];
          t1.push(new A.FilesystemImporter0($.$get$context().absolute$15(path, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false));
        }
      }
      return t1;
    },
    AsyncImportCache0: function AsyncImportCache0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._async_import_cache0$_importers = t0;
      _._async_import_cache0$_logger = t1;
      _._async_import_cache0$_canonicalizeCache = t2;
      _._async_import_cache0$_perImporterCanonicalizeCache = t3;
      _._async_import_cache0$_nonCanonicalRelativeUrls = t4;
      _._async_import_cache0$_importCache = t5;
      _._async_import_cache0$_resultsCache = t6;
    },
    AsyncImportCache_canonicalize_closure0: function AsyncImportCache_canonicalize_closure0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.baseImporter = t1;
      _.resolvedUrl = t2;
      _.baseUrl = t3;
      _.forImport = t4;
      _.key = t5;
      _.url = t6;
    },
    AsyncImportCache__canonicalize_closure0: function AsyncImportCache__canonicalize_closure0(t0, t1) {
      this.importer = t0;
      this.url = t1;
    },
    AsyncImportCache_importCanonical_closure0: function AsyncImportCache_importCanonical_closure0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.importer = t1;
      _.canonicalUrl = t2;
      _.originalUrl = t3;
      _.quiet = t4;
    },
    AsyncImportCache_humanize_closure3: function AsyncImportCache_humanize_closure3(t0) {
      this.canonicalUrl = t0;
    },
    AsyncImportCache_humanize_closure4: function AsyncImportCache_humanize_closure4() {
    },
    AsyncImportCache_humanize_closure5: function AsyncImportCache_humanize_closure5() {
    },
    AsyncImportCache_humanize_closure6: function AsyncImportCache_humanize_closure6(t0) {
      this.canonicalUrl = t0;
    },
    AtRootQueryParser$0(contents, logger, url) {
      var t1 = A.SpanScanner$(contents, url);
      return new A.AtRootQueryParser0(t1, logger, null);
    },
    AtRootQueryParser0: function AtRootQueryParser0(t0, t1, t2) {
      this.scanner = t0;
      this.logger = t1;
      this._parser0$_interpolationMap = t2;
    },
    AtRootQueryParser_parse_closure0: function AtRootQueryParser_parse_closure0(t0) {
      this.$this = t0;
    },
    AtRootQuery0: function AtRootQuery0(t0, t1, t2, t3) {
      var _ = this;
      _.include = t0;
      _.names = t1;
      _._at_root_query0$_all = t2;
      _._at_root_query0$_rule = t3;
    },
    AtRootRule$0(children, span, query) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement_2),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure0());
      return new A.AtRootRule0(query, span, t1, t2);
    },
    AtRootRule0: function AtRootRule0(t0, t1, t2, t3) {
      var _ = this;
      _.query = t0;
      _.span = t1;
      _.children = t2;
      _.hasDeclarations = t3;
    },
    ModifiableCssAtRule$0($name, span, childless, value) {
      var t1 = A._setArrayType([], type$.JSArray_ModifiableCssNode_2);
      return new A.ModifiableCssAtRule0($name, value, childless, span, new A.UnmodifiableListView(t1, type$.UnmodifiableListView_ModifiableCssNode_2), t1);
    },
    ModifiableCssAtRule0: function ModifiableCssAtRule0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.name = t0;
      _.value = t1;
      _.isChildless = t2;
      _.span = t3;
      _.children = t4;
      _._node$_children = t5;
      _._node$_indexInParent = _._node$_parent = null;
      _.isGroupEnd = false;
    },
    AtRule$0($name, span, children, value) {
      var t1 = children == null ? null : A.List_List$unmodifiable(children, type$.Statement_2),
        t2 = t1 == null ? null : B.JSArray_methods.any$1(t1, new A.ParentStatement_closure0());
      return new A.AtRule0($name, value, span, t1, t2 === true);
    },
    AtRule0: function AtRule0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.name = t0;
      _.value = t1;
      _.span = t2;
      _.children = t3;
      _.hasDeclarations = t4;
    },
    AttributeSelector0: function AttributeSelector0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.name = t0;
      _.op = t1;
      _.value = t2;
      _.modifier = t3;
      _.span = t4;
    },
    AttributeOperator0: function AttributeOperator0(t0, t1) {
      this._attribute0$_text = t0;
      this._name = t1;
    },
    BinaryOperationExpression0: function BinaryOperationExpression0(t0, t1, t2, t3) {
      var _ = this;
      _.operator = t0;
      _.left = t1;
      _.right = t2;
      _.allowsSlash = t3;
    },
    BinaryOperator0: function BinaryOperator0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.name = t0;
      _.operator = t1;
      _.precedence = t2;
      _.isAssociative = t3;
      _._name = t4;
    },
    BooleanExpression0: function BooleanExpression0(t0, t1) {
      this.value = t0;
      this.span = t1;
    },
    booleanClass_closure: function booleanClass_closure() {
    },
    booleanClass__closure: function booleanClass__closure() {
    },
    legacyBooleanClass_closure: function legacyBooleanClass_closure() {
    },
    legacyBooleanClass__closure: function legacyBooleanClass__closure() {
    },
    legacyBooleanClass__closure0: function legacyBooleanClass__closure0() {
    },
    SassBoolean0: function SassBoolean0(t0) {
      this.value = t0;
    },
    Box0: function Box0(t0, t1) {
      this._box0$_inner = t0;
      this.$ti = t1;
    },
    ModifiableBox0: function ModifiableBox0(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    BuiltInCallable$function0($name, $arguments, callback, url) {
      return new A.BuiltInCallable0($name, A._setArrayType([new A._Record_2(A.ScssParser$0("@function " + $name + "(" + $arguments + ") {", null, url).parseArgumentDeclaration$0(), callback)], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value_2), false);
    },
    BuiltInCallable$mixin0($name, $arguments, callback, acceptsContent, url) {
      return new A.BuiltInCallable0($name, A._setArrayType([new A._Record_2(A.ScssParser$0("@mixin " + $name + "(" + $arguments + ") {", null, url).parseArgumentDeclaration$0(), new A.BuiltInCallable$mixin_closure0(callback))], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value_2), acceptsContent);
    },
    BuiltInCallable$overloadedFunction0($name, overloads) {
      var t2, t3, t4, t5, t6, args, callback,
        t1 = A._setArrayType([], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value_2);
      for (t2 = type$.String, t3 = A.MapExtensions_get_pairs0(overloads, t2, type$.Value_Function_List_Value_2), t3 = t3.get$iterator(t3), t4 = "@function " + $name + "(", t5 = type$.VariableDeclaration_2; t3.moveNext$0();) {
        t6 = t3.get$current(t3);
        args = t6._0;
        callback = t6._1;
        t6 = A.SpanScanner$(t4 + args + ") {", null);
        t1.push(new A._Record_2(new A.ScssParser0(A.LinkedHashMap_LinkedHashMap$_empty(t2, t5), t6, B.StderrLogger_false0, null).parseArgumentDeclaration$0(), callback));
      }
      return new A.BuiltInCallable0($name, t1, false);
    },
    BuiltInCallable0: function BuiltInCallable0(t0, t1, t2) {
      this.name = t0;
      this._built_in$_overloads = t1;
      this.acceptsContent = t2;
    },
    BuiltInCallable$mixin_closure0: function BuiltInCallable$mixin_closure0(t0) {
      this.callback = t0;
    },
    BuiltInModule$0($name, functions, mixins, variables, $T) {
      var t1 = A._Uri__Uri(null, $name, null, "sass"),
        t2 = A.BuiltInModule__callableMap0(functions, $T),
        t3 = A.BuiltInModule__callableMap0(mixins, $T),
        t4 = variables == null ? B.Map_empty13 : new A.UnmodifiableMapView(variables, type$.UnmodifiableMapView_String_Value_2);
      return new A.BuiltInModule0(t1, t2, t3, t4, $T._eval$1("BuiltInModule0<0>"));
    },
    BuiltInModule__callableMap0(callables, $T) {
      var t2, _i, callable,
        t1 = type$.String;
      if (callables == null)
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, $T);
      else {
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, $T);
        for (t2 = callables.length, _i = 0; _i < callables.length; callables.length === t2 || (0, A.throwConcurrentModificationError)(callables), ++_i) {
          callable = callables[_i];
          t1.$indexSet(0, J.get$name$x(callable), callable);
        }
        t1 = new A.UnmodifiableMapView(t1, type$.$env_1_1_String._bind$1($T)._eval$1("UnmodifiableMapView<1,2>"));
      }
      return new A.UnmodifiableMapView(t1, type$.$env_1_1_String._bind$1($T)._eval$1("UnmodifiableMapView<1,2>"));
    },
    BuiltInModule0: function BuiltInModule0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.url = t0;
      _.functions = t1;
      _.mixins = t2;
      _.variables = t3;
      _.$ti = t4;
    },
    _assertCalculationValue(arg) {
      var t1;
      $label0$0: {
        if (!(arg instanceof A.SassNumber0))
          t1 = arg instanceof A.SassString0 && !arg._string0$_hasQuotes || arg instanceof A.SassCalculation0 || arg instanceof A.CalculationOperation0 || arg instanceof A.CalculationInterpolation;
        else
          t1 = true;
        if (t1) {
          t1 = null;
          break $label0$0;
        }
        t1 = A.jsThrow0(new self.Error("Argument `" + A.S(arg) + "` must be one of SassNumber, unquoted SassString, SassCalculation, CalculationOperation, CalculationInterpolation"));
      }
      return t1;
    },
    _isValidClampArg(arg) {
      var t1;
      $label0$0: {
        if (!(arg instanceof A.CalculationInterpolation))
          t1 = arg instanceof A.SassString0 && !arg._string0$_hasQuotes;
        else
          t1 = true;
        if (t1)
          break $label0$0;
        break $label0$0;
      }
      return t1;
    },
    calculationClass_closure: function calculationClass_closure() {
    },
    calculationClass__closure: function calculationClass__closure() {
    },
    calculationClass__closure0: function calculationClass__closure0() {
    },
    calculationClass__closure1: function calculationClass__closure1() {
    },
    calculationClass__closure2: function calculationClass__closure2() {
    },
    calculationClass__closure3: function calculationClass__closure3() {
    },
    calculationClass__closure4: function calculationClass__closure4() {
    },
    calculationClass__closure5: function calculationClass__closure5() {
    },
    calculationOperationClass_closure: function calculationOperationClass_closure() {
    },
    calculationOperationClass__closure: function calculationOperationClass__closure() {
    },
    calculationOperationClass___closure: function calculationOperationClass___closure(t0) {
      this.strOperator = t0;
    },
    calculationOperationClass__closure0: function calculationOperationClass__closure0() {
    },
    calculationOperationClass__closure1: function calculationOperationClass__closure1() {
    },
    calculationOperationClass__closure2: function calculationOperationClass__closure2() {
    },
    calculationOperationClass__closure3: function calculationOperationClass__closure3() {
    },
    calculationOperationClass__closure4: function calculationOperationClass__closure4() {
    },
    calculationInterpolationClass_closure: function calculationInterpolationClass_closure() {
    },
    calculationInterpolationClass__closure: function calculationInterpolationClass__closure() {
    },
    calculationInterpolationClass__closure0: function calculationInterpolationClass__closure0() {
    },
    calculationInterpolationClass__closure1: function calculationInterpolationClass__closure1() {
    },
    calculationInterpolationClass__closure2: function calculationInterpolationClass__closure2() {
    },
    SassCalculation_calc0(argument) {
      var t1,
        _0_0 = A.SassCalculation__simplify0(argument);
      $label0$0: {
        if (_0_0 instanceof A.SassNumber0) {
          t1 = _0_0;
          break $label0$0;
        }
        if (_0_0 instanceof A.SassCalculation0) {
          t1 = _0_0;
          break $label0$0;
        }
        t1 = new A.SassCalculation0("calc", A.List_List$unmodifiable([_0_0], type$.Object));
        break $label0$0;
      }
      return t1;
    },
    SassCalculation_min0($arguments) {
      var minimum, _i, arg, t2,
        args = A.List_List$unmodifiable(new A.MappedListIterable($arguments, A.calculation0_SassCalculation__simplify$closure(), A._arrayInstanceType($arguments)._eval$1("MappedListIterable<1,@>")), type$.Object),
        t1 = args.length;
      if (t1 === 0)
        throw A.wrapException(A.ArgumentError$("min() must have at least one argument.", null));
      for (minimum = null, _i = 0; _i < t1; ++_i) {
        arg = args[_i];
        if (arg instanceof A.SassNumber0)
          t2 = minimum != null && !minimum.isComparableTo$1(arg);
        else
          t2 = true;
        if (t2) {
          minimum = null;
          break;
        } else if (minimum == null || minimum.greaterThan$1(arg).value)
          minimum = arg;
      }
      if (minimum != null)
        return minimum;
      A.SassCalculation__verifyCompatibleNumbers0(args);
      return new A.SassCalculation0("min", args);
    },
    SassCalculation_max0($arguments) {
      var maximum, _i, arg, t2,
        args = A.List_List$unmodifiable(new A.MappedListIterable($arguments, A.calculation0_SassCalculation__simplify$closure(), A._arrayInstanceType($arguments)._eval$1("MappedListIterable<1,@>")), type$.Object),
        t1 = args.length;
      if (t1 === 0)
        throw A.wrapException(A.ArgumentError$("max() must have at least one argument.", null));
      for (maximum = null, _i = 0; _i < t1; ++_i) {
        arg = args[_i];
        if (arg instanceof A.SassNumber0)
          t2 = maximum != null && !maximum.isComparableTo$1(arg);
        else
          t2 = true;
        if (t2) {
          maximum = null;
          break;
        } else if (maximum == null || maximum.lessThan$1(arg).value)
          maximum = arg;
      }
      if (maximum != null)
        return maximum;
      A.SassCalculation__verifyCompatibleNumbers0(args);
      return new A.SassCalculation0("max", args);
    },
    SassCalculation_hypot0($arguments) {
      var first, subtotal, i, number, value, t2, t3,
        args = A.List_List$unmodifiable(new A.MappedListIterable($arguments, A.calculation0_SassCalculation__simplify$closure(), A._arrayInstanceType($arguments)._eval$1("MappedListIterable<1,@>")), type$.Object),
        t1 = args.length;
      if (t1 === 0)
        throw A.wrapException(A.ArgumentError$("hypot() must have at least one argument.", null));
      A.SassCalculation__verifyCompatibleNumbers0(args);
      first = B.JSArray_methods.get$first(args);
      if (!(first instanceof A.SassNumber0) || first.hasUnit$1("%"))
        return new A.SassCalculation0("hypot", args);
      for (subtotal = 0, i = 0; i < t1;) {
        number = args[i];
        if (!(number instanceof A.SassNumber0) || !number.hasCompatibleUnits$1(first))
          return new A.SassCalculation0("hypot", args);
        ++i;
        value = number.convertValueToMatch$3(first, "numbers[" + i + "]", "numbers[1]");
        subtotal += value * value;
      }
      t1 = Math.sqrt(subtotal);
      t2 = J.getInterceptor$x(first);
      t3 = t2.get$numeratorUnits(first);
      return A.SassNumber_SassNumber$withUnits0(t1, t2.get$denominatorUnits(first), t3);
    },
    SassCalculation_abs0(argument) {
      argument = A.SassCalculation__simplify0(argument);
      if (!(argument instanceof A.SassNumber0))
        return new A.SassCalculation0("abs", A._setArrayType([argument], type$.JSArray_Object));
      if (argument.hasUnit$1("%"))
        A.warnForDeprecation0(string$.Passinp + argument.toString$0(0) + ")\nTo emit a CSS abs() now: abs(#{" + argument.toString$0(0) + string$.x7d__Mor, B.Deprecation_jYb);
      return A.SassNumber_SassNumber0(Math.abs(argument._number1$_value), null).coerceToMatch$1(argument);
    },
    SassCalculation_exp0(argument) {
      argument = A.SassCalculation__simplify0(argument);
      if (!(argument instanceof A.SassNumber0))
        return new A.SassCalculation0("exp", A._setArrayType([argument], type$.JSArray_Object));
      argument.assertNoUnits$0();
      return A.pow1(A.SassNumber_SassNumber0(2.718281828459045, null), argument);
    },
    SassCalculation_sign0(argument) {
      var t1, _0_2, t2, arg;
      argument = A.SassCalculation__simplify0(argument);
      $label0$0: {
        t1 = argument instanceof A.SassNumber0;
        if (t1) {
          _0_2 = argument._number1$_value;
          if (!isNaN(_0_2))
            t2 = 0 === _0_2;
          else
            t2 = true;
        } else
          t2 = false;
        if (t2) {
          t1 = argument;
          break $label0$0;
        }
        if (t1) {
          t1 = !argument.hasUnit$1("%");
          arg = argument;
        } else {
          arg = null;
          t1 = false;
        }
        if (t1) {
          t1 = A.SassNumber_SassNumber0(J.get$sign$in(arg._number1$_value), null).coerceToMatch$1(argument);
          break $label0$0;
        }
        t1 = new A.SassCalculation0("sign", A._setArrayType([argument], type$.JSArray_Object));
        break $label0$0;
      }
      return t1;
    },
    SassCalculation_clamp0(min, value, max) {
      var t1, args;
      if (value == null && max != null)
        throw A.wrapException(A.ArgumentError$("If value is null, max must also be null.", null));
      min = A.SassCalculation__simplify0(min);
      value = A.NullableExtension_andThen0(value, A.calculation0_SassCalculation__simplify$closure());
      max = A.NullableExtension_andThen0(max, A.calculation0_SassCalculation__simplify$closure());
      if (min instanceof A.SassNumber0 && value instanceof A.SassNumber0 && max instanceof A.SassNumber0 && min.hasCompatibleUnits$1(value) && min.hasCompatibleUnits$1(max)) {
        if (value.lessThanOrEquals$1(min).value)
          return min;
        if (value.greaterThanOrEquals$1(max).value)
          return max;
        return value;
      }
      t1 = [min];
      if (value != null)
        t1.push(value);
      if (max != null)
        t1.push(max);
      args = A.List_List$unmodifiable(t1, type$.Object);
      A.SassCalculation__verifyCompatibleNumbers0(args);
      A.SassCalculation__verifyLength0(args, 3);
      return new A.SassCalculation0("clamp", args);
    },
    SassCalculation_pow0(base, exponent) {
      var t1 = A._setArrayType([base], type$.JSArray_Object);
      if (exponent != null)
        t1.push(exponent);
      A.SassCalculation__verifyLength0(t1, 2);
      base = A.SassCalculation__simplify0(base);
      exponent = A.NullableExtension_andThen0(exponent, A.calculation0_SassCalculation__simplify$closure());
      if (!(base instanceof A.SassNumber0) || !(exponent instanceof A.SassNumber0))
        return new A.SassCalculation0("pow", t1);
      base.assertNoUnits$0();
      exponent.assertNoUnits$0();
      return A.pow1(base, exponent);
    },
    SassCalculation_log0(number, base) {
      var t1, t2;
      number = A.SassCalculation__simplify0(number);
      base = A.NullableExtension_andThen0(base, A.calculation0_SassCalculation__simplify$closure());
      t1 = A._setArrayType([number], type$.JSArray_Object);
      t2 = base != null;
      if (t2)
        t1.push(base);
      if (number instanceof A.SassNumber0)
        t2 = t2 && !(base instanceof A.SassNumber0);
      else
        t2 = true;
      if (t2)
        return new A.SassCalculation0("log", t1);
      number.assertNoUnits$0();
      if (base instanceof A.SassNumber0) {
        base.assertNoUnits$0();
        return A.log0(number, base);
      }
      return A.log0(number, null);
    },
    SassCalculation_atan20(y, x) {
      var t1;
      y = A.SassCalculation__simplify0(y);
      x = A.NullableExtension_andThen0(x, A.calculation0_SassCalculation__simplify$closure());
      t1 = A._setArrayType([y], type$.JSArray_Object);
      if (x != null)
        t1.push(x);
      A.SassCalculation__verifyLength0(t1, 2);
      A.SassCalculation__verifyCompatibleNumbers0(t1);
      if (!(y instanceof A.SassNumber0) || !(x instanceof A.SassNumber0) || y.hasUnit$1("%") || x.hasUnit$1("%") || !y.hasCompatibleUnits$1(x))
        return new A.SassCalculation0("atan2", t1);
      return A.SassNumber_SassNumber$withUnits0(Math.atan2(y._number1$_value, x.convertValueToMatch$3(y, "x", "y")) * 57.29577951308232, null, A._setArrayType(["deg"], type$.JSArray_String));
    },
    SassCalculation_rem0(dividend, modulus) {
      var t1, result;
      dividend = A.SassCalculation__simplify0(dividend);
      modulus = A.NullableExtension_andThen0(modulus, A.calculation0_SassCalculation__simplify$closure());
      t1 = A._setArrayType([dividend], type$.JSArray_Object);
      if (modulus != null)
        t1.push(modulus);
      A.SassCalculation__verifyLength0(t1, 2);
      A.SassCalculation__verifyCompatibleNumbers0(t1);
      if (!(dividend instanceof A.SassNumber0) || !(modulus instanceof A.SassNumber0) || !dividend.hasCompatibleUnits$1(modulus))
        return new A.SassCalculation0("rem", t1);
      result = dividend.modulo$1(modulus);
      t1 = modulus._number1$_value;
      if (A.DoubleWithSignedZero_get_signIncludingZero0(t1) !== A.DoubleWithSignedZero_get_signIncludingZero0(dividend._number1$_value)) {
        if (t1 == 1 / 0 || t1 == -1 / 0)
          return dividend;
        if (result._number1$_value === 0)
          return result.unaryMinus$0();
        return result.minus$1(modulus);
      }
      return result;
    },
    SassCalculation_mod0(dividend, modulus) {
      var t1;
      dividend = A.SassCalculation__simplify0(dividend);
      modulus = A.NullableExtension_andThen0(modulus, A.calculation0_SassCalculation__simplify$closure());
      t1 = A._setArrayType([dividend], type$.JSArray_Object);
      if (modulus != null)
        t1.push(modulus);
      A.SassCalculation__verifyLength0(t1, 2);
      A.SassCalculation__verifyCompatibleNumbers0(t1);
      if (!(dividend instanceof A.SassNumber0) || !(modulus instanceof A.SassNumber0) || !dividend.hasCompatibleUnits$1(modulus))
        return new A.SassCalculation0("mod", t1);
      return dividend.modulo$1(modulus);
    },
    SassCalculation_round0(strategyOrNumber, numberOrStep, step) {
      var _0_4, _0_5_isSet, _0_20, _0_6, t1, _0_50, _0_6_isSet, number, t2, _0_2_isSet, _0_10_isSet, _0_8, _0_12_isSet, _0_12, _0_14_isSet, _0_14, _0_16_isSet, _0_16, t3, strategy, _0_8_isSet, t4, rest, _null = null, _s5_ = "round",
        _0_1 = A.SassCalculation__simplify0(strategyOrNumber),
        _0_2 = A.NullableExtension_andThen0(numberOrStep, A.calculation0_SassCalculation__simplify$closure()),
        _0_5 = A.NullableExtension_andThen0(step, A.calculation0_SassCalculation__simplify$closure()),
        _0_10 = _0_1,
        _0_4_isSet = _0_1 instanceof A.SassNumber0;
      if (_0_4_isSet) {
        type$.SassNumber_2._as(_0_10);
        _0_4 = _0_2 == null;
        _0_5_isSet = _0_4;
        _0_20 = _0_2;
        if (_0_5_isSet) {
          _0_6 = _0_5 == null;
          t1 = _0_6;
          _0_50 = _0_5;
        } else {
          _0_50 = _null;
          _0_6 = _0_50;
          t1 = false;
        }
        _0_6_isSet = _0_5_isSet;
        number = _0_10;
        _0_1 = number;
      } else {
        number = _null;
        _0_50 = number;
        _0_6 = _0_50;
        _0_20 = _0_6;
        _0_4 = _0_20;
        _0_1 = _0_10;
        _0_6_isSet = false;
        _0_5_isSet = false;
        t1 = false;
      }
      if (t1) {
        t1 = B.JSNumber_methods.round$0(number._number1$_value);
        t2 = number.get$numeratorUnits(number);
        return A.SassNumber_SassNumber$withUnits0(t1, number.get$denominatorUnits(number), t2);
      }
      if (_0_1 instanceof A.SassNumber0) {
        if (_0_4_isSet) {
          t1 = _0_20;
          _0_2_isSet = _0_4_isSet;
        } else {
          t1 = _0_2;
          _0_20 = t1;
          _0_2_isSet = true;
        }
        if (t1 instanceof A.SassNumber0) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          type$.SassNumber_2._as(t1);
          if (_0_6_isSet)
            t2 = _0_6;
          else {
            if (_0_5_isSet)
              t2 = _0_50;
            else {
              t2 = _0_5;
              _0_50 = t2;
              _0_5_isSet = true;
            }
            _0_6 = t2 == null;
            t2 = _0_6;
            _0_6_isSet = true;
          }
          t2 = t2 && !_0_1.hasCompatibleUnits$1(t1);
          step = t1;
          t1 = t2;
        } else {
          step = _null;
          t1 = false;
        }
        number = _0_1;
      } else {
        step = _null;
        number = step;
        _0_2_isSet = _0_4_isSet;
        t1 = false;
      }
      if (t1) {
        t1 = type$.JSArray_Object;
        A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([number, step], t1));
        return new A.SassCalculation0(_s5_, A._setArrayType([number, step], t1));
      }
      if (_0_1 instanceof A.SassNumber0) {
        if (_0_2_isSet)
          t1 = _0_20;
        else {
          t1 = _0_2;
          _0_20 = t1;
          _0_2_isSet = true;
        }
        if (t1 instanceof A.SassNumber0) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          type$.SassNumber_2._as(t1);
          if (_0_6_isSet)
            t2 = _0_6;
          else {
            if (_0_5_isSet)
              t2 = _0_50;
            else {
              t2 = _0_5;
              _0_50 = t2;
              _0_5_isSet = true;
            }
            _0_6 = t2 == null;
            t2 = _0_6;
            _0_6_isSet = true;
          }
          step = t1;
          t1 = t2;
        } else {
          step = _null;
          t1 = false;
        }
        number = _0_1;
      } else {
        step = _null;
        number = step;
        t1 = false;
      }
      if (t1) {
        A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([number, step], type$.JSArray_Object));
        return A.SassCalculation__roundWithStep0("nearest", number, step);
      }
      _0_10_isSet = _0_1 instanceof A.SassString0;
      if (_0_10_isSet) {
        _0_8 = _0_1._string0$_text;
        t1 = _0_8;
        _0_10 = "nearest" === t1;
        t1 = _0_10;
        _0_12_isSet = !t1;
        if (_0_12_isSet) {
          _0_12 = "up" === _0_8;
          t1 = _0_12;
          _0_14_isSet = !t1;
          if (_0_14_isSet) {
            _0_14 = "down" === _0_8;
            t1 = _0_14;
            _0_16_isSet = !t1;
            if (_0_16_isSet) {
              _0_16 = "to-zero" === _0_8;
              t1 = _0_16;
            } else {
              _0_16 = _null;
              t1 = true;
            }
          } else {
            _0_16 = _null;
            _0_14 = _0_16;
            _0_16_isSet = false;
            t1 = true;
          }
        } else {
          _0_16 = _null;
          _0_14 = _0_16;
          _0_12 = _0_14;
          _0_14_isSet = false;
          _0_16_isSet = false;
          t1 = true;
        }
        if (t1) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          if (t1 instanceof A.SassNumber0) {
            if (_0_2_isSet)
              t1 = _0_20;
            else {
              t1 = _0_2;
              _0_20 = t1;
              _0_2_isSet = true;
            }
            t2 = type$.SassNumber_2;
            t2._as(t1);
            if (_0_5_isSet)
              t3 = _0_50;
            else {
              t3 = _0_5;
              _0_50 = t3;
              _0_5_isSet = true;
            }
            if (t3 instanceof A.SassNumber0) {
              if (_0_5_isSet)
                t3 = _0_50;
              else {
                t3 = _0_5;
                _0_50 = t3;
                _0_5_isSet = true;
              }
              t2._as(t3);
              t2 = !t1.hasCompatibleUnits$1(t3);
              step = t3;
            } else {
              step = _null;
              t2 = false;
            }
            number = t1;
            t1 = t2;
          } else {
            step = _null;
            number = step;
            t1 = false;
          }
          strategy = _0_1;
        } else {
          step = _null;
          number = step;
          strategy = number;
          t1 = false;
        }
      } else {
        step = _null;
        number = step;
        strategy = number;
        _0_16 = strategy;
        _0_14 = _0_16;
        _0_12 = _0_14;
        _0_8 = _0_12;
        _0_10 = _0_8;
        _0_12_isSet = false;
        _0_14_isSet = false;
        _0_16_isSet = false;
        t1 = false;
      }
      if (t1) {
        t1 = type$.JSArray_Object;
        A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([number, step], t1));
        return new A.SassCalculation0(_s5_, A._setArrayType([strategy, number, step], t1));
      }
      if (_0_1 instanceof A.SassString0) {
        if (_0_10_isSet) {
          t1 = _0_10;
          _0_8_isSet = _0_10_isSet;
        } else {
          _0_8 = _0_1._string0$_text;
          t1 = _0_8;
          _0_10 = "nearest" === t1;
          t1 = _0_10;
          _0_10_isSet = true;
          _0_8_isSet = true;
        }
        if (!t1) {
          if (_0_12_isSet)
            t1 = _0_12;
          else {
            if (_0_8_isSet)
              t1 = _0_8;
            else {
              _0_8 = _0_1._string0$_text;
              t1 = _0_8;
              _0_8_isSet = true;
            }
            _0_12 = "up" === t1;
            t1 = _0_12;
            _0_12_isSet = true;
          }
          if (!t1) {
            if (_0_14_isSet)
              t1 = _0_14;
            else {
              if (_0_8_isSet)
                t1 = _0_8;
              else {
                _0_8 = _0_1._string0$_text;
                t1 = _0_8;
                _0_8_isSet = true;
              }
              _0_14 = "down" === t1;
              t1 = _0_14;
              _0_14_isSet = true;
            }
            if (!t1)
              if (_0_16_isSet)
                t1 = _0_16;
              else {
                if (_0_8_isSet)
                  t1 = _0_8;
                else {
                  _0_8 = _0_1._string0$_text;
                  t1 = _0_8;
                  _0_8_isSet = true;
                }
                _0_16 = "to-zero" === t1;
                t1 = _0_16;
                _0_16_isSet = true;
              }
            else
              t1 = true;
          } else
            t1 = true;
        } else
          t1 = true;
        if (t1) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          if (t1 instanceof A.SassNumber0) {
            if (_0_2_isSet)
              t1 = _0_20;
            else {
              t1 = _0_2;
              _0_20 = t1;
              _0_2_isSet = true;
            }
            t2 = type$.SassNumber_2;
            t2._as(t1);
            if (_0_5_isSet)
              t3 = _0_50;
            else {
              t3 = _0_5;
              _0_50 = t3;
              _0_5_isSet = true;
            }
            t3 = t3 instanceof A.SassNumber0;
            if (t3) {
              if (_0_5_isSet)
                t4 = _0_50;
              else {
                t4 = _0_5;
                _0_50 = t4;
                _0_5_isSet = true;
              }
              t2._as(t4);
              step = t4;
            } else
              step = _null;
            t2 = t3;
            number = t1;
            t1 = t2;
          } else {
            step = _null;
            number = step;
            t1 = false;
          }
          strategy = _0_1;
        } else {
          step = _null;
          number = step;
          strategy = number;
          t1 = false;
        }
      } else {
        step = _null;
        number = step;
        strategy = number;
        _0_8_isSet = _0_10_isSet;
        t1 = false;
      }
      if (t1) {
        A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([number, step], type$.JSArray_Object));
        return A.SassCalculation__roundWithStep0(strategy._string0$_text, number, step);
      }
      if (_0_1 instanceof A.SassString0) {
        if (_0_10_isSet)
          t1 = _0_10;
        else {
          if (_0_8_isSet)
            t1 = _0_8;
          else {
            _0_8 = _0_1._string0$_text;
            t1 = _0_8;
            _0_8_isSet = true;
          }
          _0_10 = "nearest" === t1;
          t1 = _0_10;
          _0_10_isSet = true;
        }
        if (!t1) {
          if (_0_12_isSet)
            t1 = _0_12;
          else {
            if (_0_8_isSet)
              t1 = _0_8;
            else {
              _0_8 = _0_1._string0$_text;
              t1 = _0_8;
              _0_8_isSet = true;
            }
            _0_12 = "up" === t1;
            t1 = _0_12;
            _0_12_isSet = true;
          }
          if (!t1) {
            if (_0_14_isSet)
              t1 = _0_14;
            else {
              if (_0_8_isSet)
                t1 = _0_8;
              else {
                _0_8 = _0_1._string0$_text;
                t1 = _0_8;
                _0_8_isSet = true;
              }
              _0_14 = "down" === t1;
              t1 = _0_14;
              _0_14_isSet = true;
            }
            if (!t1)
              if (_0_16_isSet)
                t1 = _0_16;
              else {
                if (_0_8_isSet)
                  t1 = _0_8;
                else {
                  _0_8 = _0_1._string0$_text;
                  t1 = _0_8;
                  _0_8_isSet = true;
                }
                _0_16 = "to-zero" === t1;
                t1 = _0_16;
                _0_16_isSet = true;
              }
            else
              t1 = true;
          } else
            t1 = true;
        } else
          t1 = true;
        if (t1) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          if (t1 instanceof A.SassString0) {
            if (_0_2_isSet)
              t1 = _0_20;
            else {
              t1 = _0_2;
              _0_20 = t1;
              _0_2_isSet = true;
            }
            type$.SassString_2._as(t1);
            if (_0_6_isSet)
              t2 = _0_6;
            else {
              if (_0_5_isSet)
                t2 = _0_50;
              else {
                t2 = _0_5;
                _0_50 = t2;
                _0_5_isSet = true;
              }
              _0_6 = t2 == null;
              t2 = _0_6;
              _0_6_isSet = true;
            }
            rest = t1;
            t1 = t2;
          } else {
            rest = _null;
            t1 = false;
          }
          strategy = _0_1;
        } else {
          rest = _null;
          strategy = rest;
          t1 = false;
        }
      } else {
        rest = _null;
        strategy = rest;
        t1 = false;
      }
      if (t1)
        return new A.SassCalculation0(_s5_, A._setArrayType([strategy, rest], type$.JSArray_Object));
      if (_0_1 instanceof A.SassString0) {
        if (_0_10_isSet)
          t1 = _0_10;
        else {
          if (_0_8_isSet)
            t1 = _0_8;
          else {
            _0_8 = _0_1._string0$_text;
            t1 = _0_8;
            _0_8_isSet = true;
          }
          _0_10 = "nearest" === t1;
          t1 = _0_10;
          _0_10_isSet = true;
        }
        if (!t1) {
          if (_0_12_isSet)
            t1 = _0_12;
          else {
            if (_0_8_isSet)
              t1 = _0_8;
            else {
              _0_8 = _0_1._string0$_text;
              t1 = _0_8;
              _0_8_isSet = true;
            }
            _0_12 = "up" === t1;
            t1 = _0_12;
            _0_12_isSet = true;
          }
          if (!t1) {
            if (_0_14_isSet)
              t1 = _0_14;
            else {
              if (_0_8_isSet)
                t1 = _0_8;
              else {
                _0_8 = _0_1._string0$_text;
                t1 = _0_8;
                _0_8_isSet = true;
              }
              _0_14 = "down" === t1;
              t1 = _0_14;
              _0_14_isSet = true;
            }
            if (!t1)
              if (_0_16_isSet)
                t1 = _0_16;
              else {
                if (_0_8_isSet)
                  t1 = _0_8;
                else {
                  _0_8 = _0_1._string0$_text;
                  t1 = _0_8;
                  _0_8_isSet = true;
                }
                _0_16 = "to-zero" === t1;
                t1 = _0_16;
                _0_16_isSet = true;
              }
            else
              t1 = true;
          } else
            t1 = true;
        } else
          t1 = true;
        if (t1) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          if (t1 != null)
            if (_0_6_isSet)
              t1 = _0_6;
            else {
              if (_0_5_isSet)
                t1 = _0_50;
              else {
                t1 = _0_5;
                _0_50 = t1;
                _0_5_isSet = true;
              }
              _0_6 = t1 == null;
              t1 = _0_6;
              _0_6_isSet = true;
            }
          else
            t1 = false;
        } else
          t1 = false;
      } else
        t1 = false;
      if (t1)
        throw A.wrapException(A.SassScriptException$0(string$.If_str, _null));
      if (_0_1 instanceof A.SassString0) {
        if (_0_10_isSet)
          t1 = _0_10;
        else {
          if (_0_8_isSet)
            t1 = _0_8;
          else {
            _0_8 = _0_1._string0$_text;
            t1 = _0_8;
            _0_8_isSet = true;
          }
          _0_10 = "nearest" === t1;
          t1 = _0_10;
          _0_10_isSet = true;
        }
        if (!t1) {
          if (_0_12_isSet)
            t1 = _0_12;
          else {
            if (_0_8_isSet)
              t1 = _0_8;
            else {
              _0_8 = _0_1._string0$_text;
              t1 = _0_8;
              _0_8_isSet = true;
            }
            _0_12 = "up" === t1;
            t1 = _0_12;
            _0_12_isSet = true;
          }
          if (!t1) {
            if (_0_14_isSet)
              t1 = _0_14;
            else {
              if (_0_8_isSet)
                t1 = _0_8;
              else {
                _0_8 = _0_1._string0$_text;
                t1 = _0_8;
                _0_8_isSet = true;
              }
              _0_14 = "down" === t1;
              t1 = _0_14;
              _0_14_isSet = true;
            }
            if (!t1)
              if (_0_16_isSet)
                t1 = _0_16;
              else {
                if (_0_8_isSet)
                  t1 = _0_8;
                else {
                  _0_8 = _0_1._string0$_text;
                  t1 = _0_8;
                  _0_8_isSet = true;
                }
                _0_16 = "to-zero" === t1;
                t1 = _0_16;
                _0_16_isSet = true;
              }
            else
              t1 = true;
          } else
            t1 = true;
        } else
          t1 = true;
        if (t1) {
          if (_0_4_isSet)
            t1 = _0_4;
          else {
            if (_0_2_isSet)
              t1 = _0_20;
            else {
              t1 = _0_2;
              _0_20 = t1;
              _0_2_isSet = true;
            }
            _0_4 = t1 == null;
            t1 = _0_4;
            _0_4_isSet = true;
          }
          if (t1)
            if (_0_6_isSet)
              t1 = _0_6;
            else {
              if (_0_5_isSet)
                t1 = _0_50;
              else {
                t1 = _0_5;
                _0_50 = t1;
                _0_5_isSet = true;
              }
              _0_6 = t1 == null;
              t1 = _0_6;
              _0_6_isSet = true;
            }
          else
            t1 = false;
        } else
          t1 = false;
      } else
        t1 = false;
      if (t1)
        throw A.wrapException(A.SassScriptException$0(string$.Number, _null));
      if (_0_1 instanceof A.SassString0) {
        if (_0_4_isSet)
          t1 = _0_4;
        else {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          _0_4 = t1 == null;
          t1 = _0_4;
          _0_4_isSet = true;
        }
        if (t1)
          if (_0_6_isSet)
            t1 = _0_6;
          else {
            if (_0_5_isSet)
              t1 = _0_50;
            else {
              t1 = _0_5;
              _0_50 = t1;
              _0_5_isSet = true;
            }
            _0_6 = t1 == null;
            t1 = _0_6;
            _0_6_isSet = true;
          }
        else
          t1 = false;
        rest = _0_1;
      } else {
        rest = _null;
        t1 = false;
      }
      if (t1)
        return new A.SassCalculation0(_s5_, A._setArrayType([rest], type$.JSArray_Object));
      if (_0_4_isSet)
        t1 = _0_4;
      else {
        if (_0_2_isSet)
          t1 = _0_20;
        else {
          t1 = _0_2;
          _0_20 = t1;
          _0_2_isSet = true;
        }
        _0_4 = t1 == null;
        t1 = _0_4;
      }
      if (t1)
        if (_0_6_isSet)
          t1 = _0_6;
        else {
          if (_0_5_isSet)
            t1 = _0_50;
          else {
            t1 = _0_5;
            _0_50 = t1;
            _0_5_isSet = true;
          }
          _0_6 = t1 == null;
          t1 = _0_6;
          _0_6_isSet = true;
        }
      else
        t1 = false;
      if (t1)
        throw A.wrapException(A.SassScriptException$0("Single argument " + A.S(_0_1) + " expected to be simplifiable.", _null));
      if (_0_2_isSet)
        t1 = _0_20;
      else {
        t1 = _0_2;
        _0_20 = t1;
        _0_2_isSet = true;
      }
      if (t1 != null) {
        if (_0_2_isSet)
          step = _0_20;
        else {
          step = _0_2;
          _0_20 = step;
          _0_2_isSet = true;
        }
        if (step == null)
          step = type$.Object._as(step);
        if (_0_6_isSet)
          t1 = _0_6;
        else {
          if (_0_5_isSet)
            t1 = _0_50;
          else {
            t1 = _0_5;
            _0_50 = t1;
            _0_5_isSet = true;
          }
          _0_6 = t1 == null;
          t1 = _0_6;
        }
      } else {
        step = _null;
        t1 = false;
      }
      if (t1)
        return new A.SassCalculation0(_s5_, A._setArrayType([_0_1, step], type$.JSArray_Object));
      if (_0_1 instanceof A.SassString0) {
        if (_0_10_isSet)
          t1 = _0_10;
        else {
          if (_0_8_isSet)
            t1 = _0_8;
          else {
            _0_8 = _0_1._string0$_text;
            t1 = _0_8;
            _0_8_isSet = true;
          }
          _0_10 = "nearest" === t1;
          t1 = _0_10;
        }
        if (!t1) {
          if (_0_12_isSet)
            t1 = _0_12;
          else {
            if (_0_8_isSet)
              t1 = _0_8;
            else {
              _0_8 = _0_1._string0$_text;
              t1 = _0_8;
              _0_8_isSet = true;
            }
            _0_12 = "up" === t1;
            t1 = _0_12;
          }
          if (!t1) {
            if (_0_14_isSet)
              t1 = _0_14;
            else {
              if (_0_8_isSet)
                t1 = _0_8;
              else {
                _0_8 = _0_1._string0$_text;
                t1 = _0_8;
                _0_8_isSet = true;
              }
              _0_14 = "down" === t1;
              t1 = _0_14;
            }
            if (!t1)
              if (_0_16_isSet)
                t1 = _0_16;
              else {
                if (_0_8_isSet)
                  t1 = _0_8;
                else {
                  _0_8 = _0_1._string0$_text;
                  t1 = _0_8;
                }
                _0_16 = "to-zero" === t1;
                t1 = _0_16;
              }
            else
              t1 = true;
          } else
            t1 = true;
        } else
          t1 = true;
      } else
        t1 = false;
      if (!t1)
        if (_0_1 instanceof A.SassString0)
          t1 = _0_1.get$isVar();
        else
          t1 = false;
      else
        t1 = true;
      if (t1) {
        type$.SassString_2._as(_0_1);
        if (_0_2_isSet)
          t1 = _0_20;
        else {
          t1 = _0_2;
          _0_20 = t1;
          _0_2_isSet = true;
        }
        if (t1 != null) {
          if (_0_2_isSet)
            number = _0_20;
          else {
            number = _0_2;
            _0_20 = number;
            _0_2_isSet = true;
          }
          if (number == null)
            number = type$.Object._as(number);
          if (_0_5_isSet)
            t1 = _0_50;
          else {
            t1 = _0_5;
            _0_50 = t1;
            _0_5_isSet = true;
          }
          t1 = t1 != null;
          if (t1) {
            if (_0_5_isSet)
              step = _0_50;
            else {
              step = _0_5;
              _0_50 = step;
              _0_5_isSet = true;
            }
            if (step == null)
              step = type$.Object._as(step);
          } else
            step = _null;
        } else {
          step = _null;
          number = step;
          t1 = false;
        }
        strategy = _0_1;
      } else {
        step = _null;
        number = step;
        strategy = number;
        t1 = false;
      }
      if (t1)
        return new A.SassCalculation0(_s5_, A._setArrayType([strategy, number, step], type$.JSArray_Object));
      if ((_0_2_isSet ? _0_20 : _0_2) != null)
        t1 = (_0_5_isSet ? _0_50 : _0_5) != null;
      else
        t1 = false;
      if (t1)
        throw A.wrapException(A.SassScriptException$0(A.S(strategyOrNumber) + string$.x20must_b, _null));
      t1 = A.SassScriptException$0("Invalid parameters.", _null);
      throw A.wrapException(t1);
    },
    SassCalculation_operateInternal0(operator, left, right, inLegacySassFunction, simplify) {
      var t1;
      if (!simplify)
        return new A.CalculationOperation0(operator, left, right);
      left = A.SassCalculation__simplify0(left);
      right = A.SassCalculation__simplify0(right);
      if (B.CalculationOperator_g2q0 === operator || B.CalculationOperator_CxF0 === operator) {
        if (left instanceof A.SassNumber0)
          if (right instanceof A.SassNumber0)
            t1 = inLegacySassFunction ? left.isComparableTo$1(right) : left.hasCompatibleUnits$1(right);
          else
            t1 = false;
        else
          t1 = false;
        if (t1)
          return operator === B.CalculationOperator_g2q0 ? left.plus$1(right) : left.minus$1(right);
        A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([left, right], type$.JSArray_Object));
        if (right instanceof A.SassNumber0) {
          t1 = right._number1$_value;
          t1 = t1 < 0 && !A.fuzzyEquals0(t1, 0);
        } else
          t1 = false;
        if (t1) {
          right = right.times$1(A.SassNumber_SassNumber0(-1, null));
          operator = operator === B.CalculationOperator_g2q0 ? B.CalculationOperator_CxF0 : B.CalculationOperator_g2q0;
        }
        return new A.CalculationOperation0(operator, left, right);
      } else if (left instanceof A.SassNumber0 && right instanceof A.SassNumber0)
        return operator === B.CalculationOperator_1710 ? left.times$1(right) : left.dividedBy$1(right);
      else
        return new A.CalculationOperation0(operator, left, right);
    },
    SassCalculation__roundWithStep0(strategy, number, step) {
      var _0_2, t1, _0_6, _0_8_isSet, _0_8, _0_9_isSet, _0_9, _0_11, _0_13, stepWithNumberUnit, t2, _null = null;
      if (!A.LinkedHashSet_LinkedHashSet$_literal(["nearest", "up", "down", "to-zero"], type$.String).contains$1(0, strategy))
        throw A.wrapException(A.ArgumentError$(strategy + string$.x20must_b, _null));
      _0_2 = number._number1$_value;
      if (_0_2 == 1 / 0 || _0_2 == -1 / 0) {
        t1 = step._number1$_value;
        t1 = t1 == 1 / 0 || t1 == -1 / 0;
      } else
        t1 = false;
      if (!t1) {
        t1 = step._number1$_value;
        t1 = t1 === 0 || isNaN(_0_2) || isNaN(t1);
      } else
        t1 = true;
      if (t1) {
        t1 = number.get$numeratorUnits(number);
        return A.SassNumber_SassNumber$withUnits0(0 / 0, number.get$denominatorUnits(number), t1);
      }
      if (_0_2 == 1 / 0 || _0_2 == -1 / 0)
        return number;
      t1 = step._number1$_value;
      if (t1 == 1 / 0 || t1 == -1 / 0) {
        $label0$0: {
          if (0 === _0_2) {
            t1 = number;
            break $label0$0;
          }
          _0_6 = "nearest" === strategy;
          t1 = _0_6;
          _0_8_isSet = !t1;
          if (_0_8_isSet) {
            _0_8 = "to-zero" === strategy;
            _0_9_isSet = _0_8;
          } else {
            _0_8 = _null;
            _0_9_isSet = true;
          }
          if (_0_9_isSet) {
            _0_9 = _0_2 > 0;
            t1 = _0_9;
          } else {
            _0_9 = _null;
            t1 = false;
          }
          if (t1) {
            t1 = number.get$numeratorUnits(number);
            t1 = A.SassNumber_SassNumber$withUnits0(0, number.get$denominatorUnits(number), t1);
            break $label0$0;
          }
          if (!_0_6)
            if (_0_8_isSet)
              t1 = _0_8;
            else {
              _0_8 = "to-zero" === strategy;
              t1 = _0_8;
            }
          else
            t1 = true;
          if (t1) {
            t1 = number.get$numeratorUnits(number);
            t1 = A.SassNumber_SassNumber$withUnits0(-0.0, number.get$denominatorUnits(number), t1);
            break $label0$0;
          }
          _0_11 = "up" === strategy;
          t1 = _0_11;
          if (t1)
            if (_0_9_isSet)
              t1 = _0_9;
            else {
              _0_9 = _0_2 > 0;
              t1 = _0_9;
            }
          else
            t1 = false;
          if (t1) {
            t1 = number.get$numeratorUnits(number);
            t1 = A.SassNumber_SassNumber$withUnits0(1 / 0, number.get$denominatorUnits(number), t1);
            break $label0$0;
          }
          if (_0_11) {
            t1 = number.get$numeratorUnits(number);
            t1 = A.SassNumber_SassNumber$withUnits0(-0.0, number.get$denominatorUnits(number), t1);
            break $label0$0;
          }
          _0_13 = "down" === strategy;
          t1 = _0_13;
          if (t1)
            t1 = _0_2 < 0;
          else
            t1 = false;
          if (t1) {
            t1 = number.get$numeratorUnits(number);
            t1 = A.SassNumber_SassNumber$withUnits0(-1 / 0, number.get$denominatorUnits(number), t1);
            break $label0$0;
          }
          if (_0_13) {
            t1 = number.get$numeratorUnits(number);
            t1 = A.SassNumber_SassNumber$withUnits0(0, number.get$denominatorUnits(number), t1);
            break $label0$0;
          }
          t1 = A.throwExpression(A.UnsupportedError$("Invalid argument: " + strategy + "."));
        }
        return t1;
      }
      stepWithNumberUnit = step.convertValueToMatch$1(number);
      $label1$1: {
        if ("nearest" === strategy) {
          t1 = B.JSNumber_methods.round$0(_0_2 / stepWithNumberUnit);
          t2 = number.get$numeratorUnits(number);
          t2 = A.SassNumber_SassNumber$withUnits0(t1 * stepWithNumberUnit, number.get$denominatorUnits(number), t2);
          t1 = t2;
          break $label1$1;
        }
        if ("up" === strategy) {
          t2 = _0_2 / stepWithNumberUnit;
          t1 = t1 < 0 ? B.JSNumber_methods.floor$0(t2) : B.JSNumber_methods.ceil$0(t2);
          t2 = number.get$numeratorUnits(number);
          t2 = A.SassNumber_SassNumber$withUnits0(t1 * stepWithNumberUnit, number.get$denominatorUnits(number), t2);
          t1 = t2;
          break $label1$1;
        }
        if ("down" === strategy) {
          t2 = _0_2 / stepWithNumberUnit;
          t1 = t1 < 0 ? B.JSNumber_methods.ceil$0(t2) : B.JSNumber_methods.floor$0(t2);
          t2 = number.get$numeratorUnits(number);
          t2 = A.SassNumber_SassNumber$withUnits0(t1 * stepWithNumberUnit, number.get$denominatorUnits(number), t2);
          t1 = t2;
          break $label1$1;
        }
        if ("to-zero" === strategy) {
          t1 = _0_2 / stepWithNumberUnit;
          if (_0_2 < 0) {
            t1 = B.JSNumber_methods.ceil$0(t1);
            t2 = number.get$numeratorUnits(number);
            t2 = A.SassNumber_SassNumber$withUnits0(t1 * stepWithNumberUnit, number.get$denominatorUnits(number), t2);
            t1 = t2;
          } else {
            t1 = B.JSNumber_methods.floor$0(t1);
            t2 = number.get$numeratorUnits(number);
            t2 = A.SassNumber_SassNumber$withUnits0(t1 * stepWithNumberUnit, number.get$denominatorUnits(number), t2);
            t1 = t2;
          }
          break $label1$1;
        }
        t1 = number.get$numeratorUnits(number);
        t1 = A.SassNumber_SassNumber$withUnits0(0 / 0, number.get$denominatorUnits(number), t1);
        break $label1$1;
      }
      return t1;
    },
    SassCalculation__simplify0(arg) {
      var t1, _0_11_isSet, _0_11, _0_12, _0_15, _0_16_isSet, _0_16, text, _0_12_isSet, _0_15_isSet, value, _null = null,
        _s32_ = " can't be used in a calculation.";
      $label0$0: {
        if (arg instanceof A.SassNumber0 || arg instanceof A.CalculationOperation0) {
          t1 = arg;
          break $label0$0;
        }
        if (arg instanceof A.CalculationInterpolation) {
          t1 = new A.SassString0("(" + arg._calculation0$_value + ")", false);
          break $label0$0;
        }
        t1 = arg instanceof A.SassString0;
        if (t1 && !arg._string0$_hasQuotes) {
          t1 = arg;
          break $label0$0;
        }
        if (t1)
          A.throwExpression(A.SassScriptException$0("Quoted string " + arg.toString$0(0) + _s32_, _null));
        _0_11_isSet = arg instanceof A.SassCalculation0;
        if (_0_11_isSet) {
          _0_11 = "calc" === arg.name;
          if (_0_11) {
            _0_12 = arg.$arguments;
            _0_15 = _0_12.length === 1;
            _0_16_isSet = _0_15;
            if (_0_16_isSet) {
              _0_16 = _0_12[0];
              t1 = _0_16;
              if (t1 instanceof A.SassString0) {
                type$.SassString_2._as(_0_16);
                if (!_0_16._string0$_hasQuotes) {
                  text = _0_16._string0$_text;
                  t1 = A.SassCalculation__needsParentheses0(text);
                } else {
                  text = _null;
                  t1 = false;
                }
              } else {
                text = _null;
                t1 = false;
              }
            } else {
              text = _null;
              _0_16 = text;
              t1 = false;
            }
          } else {
            text = _null;
            _0_16 = text;
            _0_12 = _0_16;
            _0_15 = _0_12;
            _0_16_isSet = false;
            t1 = false;
          }
          _0_12_isSet = _0_11;
          _0_15_isSet = _0_12_isSet;
        } else {
          text = _null;
          _0_16 = text;
          _0_12 = _0_16;
          _0_15 = _0_12;
          _0_11 = _0_15;
          _0_15_isSet = false;
          _0_12_isSet = false;
          _0_16_isSet = false;
          t1 = false;
        }
        if (t1) {
          t1 = new A.SassString0("(" + A.S(text) + ")", false);
          break $label0$0;
        }
        if (_0_11_isSet)
          if (_0_11)
            if (_0_15_isSet)
              t1 = _0_15;
            else {
              if (_0_12_isSet)
                t1 = _0_12;
              else {
                _0_12 = arg.$arguments;
                t1 = _0_12;
                _0_12_isSet = true;
              }
              _0_15 = t1.length === 1;
              t1 = _0_15;
            }
          else
            t1 = false;
        else
          t1 = false;
        if (t1) {
          if (_0_16_isSet)
            value = _0_16;
          else {
            _0_16 = (_0_12_isSet ? _0_12 : arg.$arguments)[0];
            value = _0_16;
          }
          t1 = value;
          break $label0$0;
        }
        if (_0_11_isSet) {
          t1 = arg;
          break $label0$0;
        }
        if (arg instanceof A.Value0)
          A.throwExpression(A.SassScriptException$0("Value " + arg.toString$0(0) + _s32_, _null));
        t1 = A.throwExpression(A.ArgumentError$("Unexpected calculation argument " + A.S(arg) + ".", _null));
      }
      return t1;
    },
    SassCalculation__needsParentheses0(text) {
      var t1, couldBeVar, second, third, fourth, i, t2,
        first = text.charCodeAt(0);
      if (first === 32 || first === 9 || first === 10 || first === 13 || first === 12 || first === 47 || first === 42)
        return true;
      t1 = text.length;
      couldBeVar = t1 >= 4 && A.characterEqualsIgnoreCase0(first, 118);
      if (t1 < 2)
        return false;
      second = text.charCodeAt(1);
      if (second === 32 || second === 9 || second === 10 || second === 13 || second === 12 || second === 47 || second === 42)
        return true;
      couldBeVar = couldBeVar && A.characterEqualsIgnoreCase0(second, 97);
      if (t1 < 3)
        return false;
      third = text.charCodeAt(2);
      if (third === 32 || third === 9 || third === 10 || third === 13 || third === 12 || third === 47 || third === 42)
        return true;
      couldBeVar = couldBeVar && A.characterEqualsIgnoreCase0(third, 114);
      if (t1 < 4)
        return false;
      fourth = text.charCodeAt(3);
      if (couldBeVar && fourth === 40)
        return true;
      if (fourth === 32 || fourth === 9 || fourth === 10 || fourth === 13 || fourth === 12 || fourth === 47 || fourth === 42)
        return true;
      for (i = 4; i < t1; ++i) {
        t2 = text.charCodeAt(i);
        if (t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12 || t2 === 47 || t2 === 42)
          return true;
      }
      return false;
    },
    SassCalculation__verifyCompatibleNumbers0(args) {
      var t1, _i, t2, arg, i, number1, j, number2;
      for (t1 = args.length, _i = 0; t2 = args.length, _i < t2; args.length === t1 || (0, A.throwConcurrentModificationError)(args), ++_i) {
        arg = args[_i];
        if (arg instanceof A.SassNumber0 && arg.get$hasComplexUnits())
          throw A.wrapException(A.SassScriptException$0("Number " + A.S(arg) + " isn't compatible with CSS calculations.", null));
      }
      for (t1 = t2, i = 0; i < t1 - 1; ++i) {
        number1 = args[i];
        if (!(number1 instanceof A.SassNumber0))
          continue;
        for (j = i + 1; t1 = args.length, j < t1; ++j) {
          number2 = args[j];
          if (!(number2 instanceof A.SassNumber0))
            continue;
          if (number1.hasPossiblyCompatibleUnits$1(number2))
            continue;
          throw A.wrapException(A.SassScriptException$0(number1.toString$0(0) + " and " + number2.toString$0(0) + " are incompatible.", null));
        }
      }
    },
    SassCalculation__verifyLength0(args, expectedLength) {
      var t1;
      if (args.length === expectedLength)
        return;
      if (B.JSArray_methods.any$1(args, new A.SassCalculation__verifyLength_closure0()))
        return;
      t1 = args.length;
      throw A.wrapException(A.SassScriptException$0("" + expectedLength + " arguments required, but only " + t1 + " " + A.pluralize0("was", t1, "were") + " passed.", null));
    },
    SassCalculation__singleArgument0($name, argument, mathFunc, forbidUnits) {
      argument = A.SassCalculation__simplify0(argument);
      if (!(argument instanceof A.SassNumber0))
        return new A.SassCalculation0($name, A._setArrayType([argument], type$.JSArray_Object));
      if (forbidUnits)
        argument.assertNoUnits$0();
      return mathFunc.call$1(argument);
    },
    SassCalculation0: function SassCalculation0(t0, t1) {
      this.name = t0;
      this.$arguments = t1;
    },
    SassCalculation__verifyLength_closure0: function SassCalculation__verifyLength_closure0() {
    },
    CalculationOperation0: function CalculationOperation0(t0, t1, t2) {
      this._calculation0$_operator = t0;
      this._calculation0$_left = t1;
      this._calculation0$_right = t2;
    },
    CalculationOperator0: function CalculationOperator0(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.operator = t1;
      _.precedence = t2;
      _._name = t3;
    },
    CalculationInterpolation: function CalculationInterpolation(t0) {
      this._calculation0$_value = t0;
    },
    CallableDeclaration0: function CallableDeclaration0() {
    },
    updateCanonicalizeContextPrototype() {
      var t1 = type$.JSClass._as(new A.CanonicalizeContext0(false, null).constructor);
      A.LinkedHashMap_LinkedHashMap$_literal(["fromImport", new A.updateCanonicalizeContextPrototype_closure(), "containingUrl", new A.updateCanonicalizeContextPrototype_closure0()], type$.String, type$.Function).forEach$1(0, A.JSClassExtension_get_defineGetter(t1));
      return null;
    },
    updateCanonicalizeContextPrototype_closure: function updateCanonicalizeContextPrototype_closure() {
    },
    updateCanonicalizeContextPrototype_closure0: function updateCanonicalizeContextPrototype_closure0() {
    },
    CanonicalizeContext0: function CanonicalizeContext0(t0, t1) {
      this._canonicalize_context$_fromImport = t0;
      this._canonicalize_context$_containingUrl = t1;
      this._canonicalize_context$_wasContainingUrlAccessed = false;
    },
    Chokidar0: function Chokidar0() {
    },
    ChokidarOptions0: function ChokidarOptions0() {
    },
    ChokidarWatcher0: function ChokidarWatcher0() {
    },
    ClassSelector0: function ClassSelector0(t0, t1) {
      this.name = t0;
      this.span = t1;
    },
    cloneCssStylesheet0(stylesheet, extensionStore) {
      var _0_0 = extensionStore.clone$0();
      return new A._Record_2(new A._CloneCssVisitor0(_0_0._1)._clone_css$_visitChildren$2(A.ModifiableCssStylesheet$0(stylesheet.get$span(stylesheet)), stylesheet), _0_0._0);
    },
    _CloneCssVisitor0: function _CloneCssVisitor0(t0) {
      this._clone_css$_oldToNewSelectors = t0;
    },
    ColorExpression0: function ColorExpression0(t0, t1) {
      this.value = t0;
      this.span = t1;
    },
    _updateComponents0($arguments, adjust, change, scale) {
      var keywords, alpha, red, green, blue, hue, saturation, lightness, whiteness, blackness, hasRgb, hasSL, hasWB, t2, t3, t4, _null = null,
        t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color"),
        argumentList = type$.SassArgumentList_2._as(t1.$index($arguments, 1));
      if (argumentList._list1$_contents.length !== 0)
        throw A.wrapException(A.SassScriptException$0(string$.Only_op, _null));
      argumentList._argument_list$_wereKeywordsAccessed = true;
      keywords = A.LinkedHashMap_LinkedHashMap$of(argumentList._argument_list$_keywords, type$.String, type$.Value_2);
      t1 = new A._updateComponents_getParam0(keywords, scale, change);
      alpha = t1.call$3$checkUnitless("alpha", 1, true);
      red = t1.call$2("red", 255);
      green = t1.call$2("green", 255);
      blue = t1.call$2("blue", 255);
      hue = scale ? _null : A.NullableExtension_andThen0(keywords.remove$1(0, "hue"), new A._updateComponents_closure1());
      saturation = t1.call$3$checkPercent("saturation", 100, true);
      lightness = t1.call$3$checkPercent("lightness", 100, true);
      whiteness = t1.call$3$assertPercent("whiteness", 100, true);
      blackness = t1.call$3$assertPercent("blackness", 100, true);
      t1 = keywords.__js_helper$_length;
      if (t1 !== 0)
        throw A.wrapException(A.SassScriptException$0("No " + A.pluralize0("argument", t1, _null) + " named " + A.toSentence0(keywords.get$keys(0).map$1$1(0, new A._updateComponents_closure2(), type$.Object), "or") + ".", _null));
      hasRgb = red != null || green != null || blue != null;
      hasSL = saturation != null || lightness != null;
      hasWB = whiteness != null || blackness != null;
      if (hasRgb)
        t1 = hasSL || hasWB || hue != null;
      else
        t1 = false;
      if (t1)
        throw A.wrapException(A.SassScriptException$0(string$.RGB_pa + (hasWB ? "HWB" : "HSL") + " parameters.", _null));
      if (hasSL && hasWB)
        throw A.wrapException(A.SassScriptException$0(string$.HSL_pa, _null));
      t1 = new A._updateComponents_updateValue0(change, adjust);
      t2 = new A._updateComponents_updateRgb0(t1);
      if (hasRgb) {
        t3 = t2.call$2(color.get$red(0), red);
        t4 = t2.call$2(color.get$green(0), green);
        t2 = t2.call$2(color.get$blue(0), blue);
        return color.changeRgb$4$alpha$blue$green$red(t1.call$3(color._color1$_alpha, alpha, 1), t2, t4, t3);
      } else if (hasWB) {
        if (change)
          t2 = hue;
        else {
          t2 = color.get$hue(0);
          t2 += hue == null ? 0 : hue;
        }
        t3 = t1.call$3(color.get$whiteness(0), whiteness, 100);
        t4 = t1.call$3(color.get$blackness(0), blackness, 100);
        return color.changeHwb$4$alpha$blackness$hue$whiteness(t1.call$3(color._color1$_alpha, alpha, 1), t4, t2, t3);
      } else {
        t2 = hue == null;
        if (!t2 || hasSL) {
          if (change)
            t2 = hue;
          else {
            t3 = color.get$hue(0);
            t3 += t2 ? 0 : hue;
            t2 = t3;
          }
          t3 = t1.call$3(color.get$saturation(0), saturation, 100);
          t4 = t1.call$3(color.get$lightness(0), lightness, 100);
          return color.changeHsl$4$alpha$hue$lightness$saturation(t1.call$3(color._color1$_alpha, alpha, 1), t2, t4, t3);
        } else if (alpha != null)
          return color.changeAlpha$1(t1.call$3(color._color1$_alpha, alpha, 1));
        else
          return color;
      }
    },
    _functionString0($name, $arguments) {
      return new A.SassString0($name + "(" + J.map$1$1$ax($arguments, new A._functionString_closure0(), type$.String).join$1(0, ", ") + ")", false);
    },
    _removedColorFunction0($name, argument, negative) {
      return A.BuiltInCallable$function0($name, "$color, $amount", new A._removedColorFunction_closure0($name, argument, negative), "sass:color");
    },
    _rgb0($name, $arguments) {
      var t2, red, green, blue, t3, t4,
        t1 = J.getInterceptor$asx($arguments),
        alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null;
      if (!t1.$index($arguments, 0).get$isSpecialNumber())
        if (!t1.$index($arguments, 1).get$isSpecialNumber())
          if (!t1.$index($arguments, 2).get$isSpecialNumber()) {
            t2 = alpha == null ? null : alpha.get$isSpecialNumber();
            t2 = t2 === true;
          } else
            t2 = true;
        else
          t2 = true;
      else
        t2 = true;
      if (t2)
        return A._functionString0($name, $arguments);
      red = t1.$index($arguments, 0).assertNumber$1("red");
      green = t1.$index($arguments, 1).assertNumber$1("green");
      blue = t1.$index($arguments, 2).assertNumber$1("blue");
      t1 = A.fuzzyRound0(A._percentageOrUnitless0(red, 255, "red"));
      t2 = A.fuzzyRound0(A._percentageOrUnitless0(green, 255, "green"));
      t3 = A.fuzzyRound0(A._percentageOrUnitless0(blue, 255, "blue"));
      t4 = A.NullableExtension_andThen0(alpha, new A._rgb_closure0());
      return A.SassColor$rgbInternal0(t1, t2, t3, t4 == null ? 1 : t4, B._ColorFormatEnum_rgbFunction0);
    },
    _rgbTwoArg0($name, $arguments) {
      var t2, color,
        t1 = J.getInterceptor$asx($arguments);
      if (!t1.$index($arguments, 0).get$isVar())
        t2 = !(t1.$index($arguments, 0) instanceof A.SassColor0) && t1.$index($arguments, 1).get$isVar();
      else
        t2 = true;
      if (t2)
        return A._functionString0($name, $arguments);
      else if (t1.$index($arguments, 1).get$isSpecialNumber()) {
        color = t1.$index($arguments, 0).assertColor$1("color");
        return new A.SassString0($name + "(" + color.get$red(0) + ", " + color.get$green(0) + ", " + color.get$blue(0) + ", " + A.serializeValue0(t1.$index($arguments, 1), false, true) + ")", false);
      }
      return t1.$index($arguments, 0).assertColor$1("color").changeAlpha$1(A._percentageOrUnitless0(t1.$index($arguments, 1).assertNumber$1("alpha"), 1, "alpha"));
    },
    _hsl0($name, $arguments) {
      var t2, hue, saturation, lightness, t3,
        _s10_ = "saturation",
        _s9_ = "lightness",
        t1 = J.getInterceptor$asx($arguments),
        alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null;
      if (!t1.$index($arguments, 0).get$isSpecialNumber())
        if (!t1.$index($arguments, 1).get$isSpecialNumber())
          if (!t1.$index($arguments, 2).get$isSpecialNumber()) {
            t2 = alpha == null ? null : alpha.get$isSpecialNumber();
            t2 = t2 === true;
          } else
            t2 = true;
        else
          t2 = true;
      else
        t2 = true;
      if (t2)
        return A._functionString0($name, $arguments);
      hue = A._angleValue0(t1.$index($arguments, 0), "hue");
      saturation = t1.$index($arguments, 1).assertNumber$1(_s10_);
      lightness = t1.$index($arguments, 2).assertNumber$1(_s9_);
      A._checkPercent0(saturation, _s10_);
      A._checkPercent0(lightness, _s9_);
      t1 = B.JSNumber_methods.clamp$2(saturation._number1$_value, 0, 100);
      t2 = B.JSNumber_methods.clamp$2(lightness._number1$_value, 0, 100);
      t3 = A.NullableExtension_andThen0(alpha, new A._hsl_closure0());
      return A.SassColor$hslInternal0(hue, t1, t2, t3 == null ? 1 : t3, B._ColorFormatEnum_hslFunction0);
    },
    _angleValue0(angleValue, $name) {
      var angle = angleValue.assertNumber$1($name);
      if (angle.compatibleWithUnit$1("deg"))
        return angle.coerceValueToUnit$1("deg");
      A.warnForDeprecation0("$" + $name + ": Passing a unit other than deg (" + angle.toString$0(0) + string$.x29x20is_d + angle.unitSuggestion$1($name) + string$.x0a_See_, B.Deprecation_oCX);
      return angle._number1$_value;
    },
    _checkPercent0(number, $name) {
      if (number.hasUnit$1("%"))
        return;
      A.warnForDeprecation0("$" + $name + ": Passing a number without unit % (" + number.toString$0(0) + string$.x29x20is_d + number.unitSuggestion$2($name, "%") + string$.x0a_Morex3a, B.Deprecation_oCX);
    },
    _hwb0($arguments) {
      var t2, t3,
        _s9_ = "whiteness",
        _s9_0 = "blackness",
        t1 = J.getInterceptor$asx($arguments),
        alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null,
        hue = A._angleValue0(t1.$index($arguments, 0), "hue"),
        whiteness = t1.$index($arguments, 1).assertNumber$1(_s9_),
        blackness = t1.$index($arguments, 2).assertNumber$1(_s9_0);
      whiteness.assertUnit$2("%", _s9_);
      blackness.assertUnit$2("%", _s9_0);
      t1 = whiteness.valueInRange$3(0, 100, _s9_);
      t2 = blackness.valueInRange$3(0, 100, _s9_0);
      t3 = A.NullableExtension_andThen0(alpha, new A._hwb_closure0());
      return A.SassColor_SassColor$hwb0(hue, t1, t2, t3 == null ? 1 : t3);
    },
    _parseChannels0($name, argumentNames, channels) {
      var list, t1, channels0, alphaFromSlashList, isCommaSeparated, isBracketed, buffer, _0_4, _1_0, _1_2_isSet, _1_2, t2, _null = null,
        _s17_ = "$channels must be";
      if (channels.get$isVar())
        return A._functionString0($name, A._setArrayType([channels], type$.JSArray_Value_2));
      if (channels.get$separator(channels) === B.ListSeparator_cQA0) {
        list = channels.get$asList();
        t1 = list.length;
        if (t1 !== 2)
          throw A.wrapException(A.SassScriptException$0(string$.Only_2 + t1 + " " + A.pluralize0("was", t1, "were") + " passed.", _null));
        channels0 = list[0];
        alphaFromSlashList = list[1];
        if (!alphaFromSlashList.get$isSpecialNumber())
          alphaFromSlashList.assertNumber$1("alpha");
        if (list[0].get$isVar())
          return A._functionString0($name, A._setArrayType([channels], type$.JSArray_Value_2));
      } else {
        alphaFromSlashList = _null;
        channels0 = channels;
      }
      isCommaSeparated = channels0.get$separator(channels0) === B.ListSeparator_ECn0;
      isBracketed = channels0.get$hasBrackets();
      if (isCommaSeparated || isBracketed) {
        buffer = new A.StringBuffer(_s17_);
        if (isBracketed) {
          t1 = _s17_ + " an unbracketed";
          buffer._contents = t1;
        } else
          t1 = _s17_;
        if (isCommaSeparated) {
          t1 += isBracketed ? "," : " a";
          buffer._contents = t1;
          t1 = buffer._contents = t1 + " space-separated";
        }
        buffer._contents = t1 + " list.";
        throw A.wrapException(A.SassScriptException$0(buffer.toString$0(0), _null));
      }
      list = channels0.get$asList();
      if (list.length >= 2) {
        _0_4 = list[0];
        t1 = _0_4;
        if (t1 instanceof A.SassString0) {
          type$.SassString_2._as(_0_4);
          t1 = !_0_4._string0$_hasQuotes && A.equalsIgnoreCase0(_0_4._string0$_text, "from");
        } else
          t1 = false;
      } else
        t1 = false;
      if (t1)
        return A._functionString0($name, A._setArrayType([channels], type$.JSArray_Value_2));
      t1 = list.length;
      if (t1 > 3)
        throw A.wrapException(A.SassScriptException$0("Only 3 elements allowed, but " + t1 + " were passed.", _null));
      else if (t1 < 3) {
        if (!B.JSArray_methods.any$1(list, new A._parseChannels_closure0()))
          if (list.length !== 0) {
            t1 = B.JSArray_methods.get$last(list);
            if (t1 instanceof A.SassString0)
              if (t1._string0$_hasQuotes) {
                t1 = t1._string0$_text;
                t1 = A.startsWithIgnoreCase0(t1, "var(") && B.JSString_methods.contains$1(t1, "/");
              } else
                t1 = false;
            else
              t1 = false;
          } else
            t1 = false;
        else
          t1 = true;
        if (t1)
          return A._functionString0($name, A._setArrayType([channels], type$.JSArray_Value_2));
        else
          throw A.wrapException(A.SassScriptException$0("Missing element " + argumentNames[list.length] + ".", _null));
      }
      if (alphaFromSlashList != null) {
        t1 = A.List_List$of(list, true, type$.Value_2);
        t1.push(alphaFromSlashList);
        return t1;
      }
      _1_0 = list[2];
      $label0$0: {
        _1_2_isSet = _1_0 instanceof A.SassNumber0;
        if (_1_2_isSet) {
          _1_2 = _1_0.asSlash;
          t1 = type$.Record_2_nullable_Object_and_nullable_Object._is(_1_2);
        } else {
          _1_2 = _null;
          t1 = false;
        }
        if (t1) {
          if (_1_2_isSet)
            t1 = _1_2;
          else {
            _1_2 = _1_0.asSlash;
            t1 = _1_2;
            _1_2_isSet = true;
          }
          if (t1 == null)
            t1 = type$.Record_2_nullable_Object_and_nullable_Object._as(t1);
          t2 = _1_2_isSet ? _1_2 : _1_0.asSlash;
          if (t2 == null)
            t2 = type$.Record_2_nullable_Object_and_nullable_Object._as(t2);
          t2 = A._setArrayType([list[0], list[1], t1._0, t2._1], type$.JSArray_Value_2);
          t1 = t2;
          break $label0$0;
        }
        if (_1_0 instanceof A.SassString0)
          if (!_1_0._string0$_hasQuotes)
            t1 = B.JSString_methods.contains$1(_1_0._string0$_text, "/");
          else
            t1 = false;
        else
          t1 = false;
        if (t1) {
          t1 = A._functionString0($name, A._setArrayType([channels0], type$.JSArray_Value_2));
          break $label0$0;
        }
        t1 = list;
        break $label0$0;
      }
      return t1;
    },
    _percentageOrUnitless0(number, max, $name) {
      var value;
      if (!number.get$hasUnits())
        value = number._number1$_value;
      else if (number.hasUnit$1("%"))
        value = max * number._number1$_value / 100;
      else
        throw A.wrapException(A.SassScriptException$0("$" + $name + ": Expected " + number.toString$0(0) + ' to have unit "%" or no units.', null));
      return B.JSNumber_methods.clamp$2(value, 0, max);
    },
    _mixColors0(color1, color2, weight) {
      var weightScale, normalizedWeight, t1, t2, alphaDistance, t3, weight1, weight2;
      A._checkPercent0(weight, "weight");
      weightScale = weight.valueInRange$3(0, 100, "weight") / 100;
      normalizedWeight = weightScale * 2 - 1;
      t1 = color1._color1$_alpha;
      t2 = color2._color1$_alpha;
      alphaDistance = t1 - t2;
      t3 = normalizedWeight * alphaDistance;
      weight1 = ((t3 === -1 ? normalizedWeight : (normalizedWeight + alphaDistance) / (1 + t3)) + 1) / 2;
      weight2 = 1 - weight1;
      return A.SassColor$rgb0(A.fuzzyRound0(color1.get$red(0) * weight1 + color2.get$red(0) * weight2), A.fuzzyRound0(color1.get$green(0) * weight1 + color2.get$green(0) * weight2), A.fuzzyRound0(color1.get$blue(0) * weight1 + color2.get$blue(0) * weight2), t1 * weightScale + t2 * (1 - weightScale));
    },
    _opacify0($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color");
      return color.changeAlpha$1(B.JSNumber_methods.clamp$2(color._color1$_alpha + t1.$index($arguments, 1).assertNumber$1("amount").valueInRangeWithUnit$4(0, 1, "amount", ""), 0, 1));
    },
    _transparentize0($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color");
      return color.changeAlpha$1(B.JSNumber_methods.clamp$2(color._color1$_alpha - t1.$index($arguments, 1).assertNumber$1("amount").valueInRangeWithUnit$4(0, 1, "amount", ""), 0, 1));
    },
    _function11($name, $arguments, callback) {
      return A.BuiltInCallable$function0($name, $arguments, callback, "sass:color");
    },
    global_closure32: function global_closure32() {
    },
    global_closure33: function global_closure33() {
    },
    global_closure34: function global_closure34() {
    },
    global_closure35: function global_closure35() {
    },
    global_closure36: function global_closure36() {
    },
    global_closure37: function global_closure37() {
    },
    global_closure38: function global_closure38() {
    },
    global_closure39: function global_closure39() {
    },
    global_closure40: function global_closure40() {
    },
    global_closure41: function global_closure41() {
    },
    global_closure42: function global_closure42() {
    },
    global_closure43: function global_closure43() {
    },
    global_closure44: function global_closure44() {
    },
    global_closure45: function global_closure45() {
    },
    global_closure46: function global_closure46() {
    },
    global_closure47: function global_closure47() {
    },
    global_closure48: function global_closure48() {
    },
    global_closure49: function global_closure49() {
    },
    global_closure50: function global_closure50() {
    },
    global_closure51: function global_closure51() {
    },
    global_closure52: function global_closure52() {
    },
    global_closure53: function global_closure53() {
    },
    global_closure54: function global_closure54() {
    },
    global_closure55: function global_closure55() {
    },
    global_closure56: function global_closure56() {
    },
    global_closure57: function global_closure57() {
    },
    global__closure0: function global__closure0() {
    },
    global_closure58: function global_closure58() {
    },
    module_closure12: function module_closure12() {
    },
    module_closure13: function module_closure13() {
    },
    module_closure14: function module_closure14() {
    },
    module_closure15: function module_closure15() {
    },
    module_closure16: function module_closure16() {
    },
    module_closure17: function module_closure17() {
    },
    module_closure18: function module_closure18() {
    },
    module_closure19: function module_closure19() {
    },
    module__closure4: function module__closure4() {
    },
    module_closure20: function module_closure20() {
    },
    _red_closure0: function _red_closure0() {
    },
    _green_closure0: function _green_closure0() {
    },
    _blue_closure0: function _blue_closure0() {
    },
    _mix_closure0: function _mix_closure0() {
    },
    _hue_closure0: function _hue_closure0() {
    },
    _saturation_closure0: function _saturation_closure0() {
    },
    _lightness_closure0: function _lightness_closure0() {
    },
    _complement_closure0: function _complement_closure0() {
    },
    _adjust_closure0: function _adjust_closure0() {
    },
    _scale_closure0: function _scale_closure0() {
    },
    _change_closure0: function _change_closure0() {
    },
    _ieHexStr_closure0: function _ieHexStr_closure0() {
    },
    _ieHexStr_closure_hexString0: function _ieHexStr_closure_hexString0() {
    },
    _updateComponents_getParam0: function _updateComponents_getParam0(t0, t1, t2) {
      this.keywords = t0;
      this.scale = t1;
      this.change = t2;
    },
    _updateComponents_closure1: function _updateComponents_closure1() {
    },
    _updateComponents_closure2: function _updateComponents_closure2() {
    },
    _updateComponents_updateValue0: function _updateComponents_updateValue0(t0, t1) {
      this.change = t0;
      this.adjust = t1;
    },
    _updateComponents_updateRgb0: function _updateComponents_updateRgb0(t0) {
      this.updateValue = t0;
    },
    _functionString_closure0: function _functionString_closure0() {
    },
    _removedColorFunction_closure0: function _removedColorFunction_closure0(t0, t1, t2) {
      this.name = t0;
      this.argument = t1;
      this.negative = t2;
    },
    _rgb_closure0: function _rgb_closure0() {
    },
    _hsl_closure0: function _hsl_closure0() {
    },
    _hwb_closure0: function _hwb_closure0() {
    },
    _parseChannels_closure0: function _parseChannels_closure0() {
    },
    colorClass_closure: function colorClass_closure() {
    },
    colorClass__closure: function colorClass__closure() {
    },
    colorClass__closure0: function colorClass__closure0() {
    },
    colorClass__closure1: function colorClass__closure1() {
    },
    colorClass__closure2: function colorClass__closure2() {
    },
    colorClass__closure3: function colorClass__closure3() {
    },
    colorClass__closure4: function colorClass__closure4() {
    },
    colorClass__closure5: function colorClass__closure5() {
    },
    colorClass__closure6: function colorClass__closure6() {
    },
    colorClass__closure7: function colorClass__closure7() {
    },
    colorClass__closure8: function colorClass__closure8() {
    },
    colorClass__closure9: function colorClass__closure9() {
    },
    _Channels: function _Channels() {
    },
    _NodeSassColor: function _NodeSassColor() {
    },
    legacyColorClass_closure: function legacyColorClass_closure() {
    },
    legacyColorClass_closure0: function legacyColorClass_closure0() {
    },
    legacyColorClass_closure1: function legacyColorClass_closure1() {
    },
    legacyColorClass_closure2: function legacyColorClass_closure2() {
    },
    legacyColorClass_closure3: function legacyColorClass_closure3() {
    },
    legacyColorClass_closure4: function legacyColorClass_closure4() {
    },
    legacyColorClass_closure5: function legacyColorClass_closure5() {
    },
    legacyColorClass_closure6: function legacyColorClass_closure6() {
    },
    legacyColorClass_closure7: function legacyColorClass_closure7() {
    },
    SassColor$rgb0(red, green, blue, alpha) {
      var _null = null,
        t1 = new A.SassColor0(red, green, blue, _null, _null, _null, A.fuzzyAssertRange0(A.SassColor__handleNullAlpha0(alpha), 0, 1, "alpha"), _null);
      A.RangeError_checkValueInInterval(t1.get$red(0), 0, 255, "red");
      A.RangeError_checkValueInInterval(t1.get$green(0), 0, 255, "green");
      A.RangeError_checkValueInInterval(t1.get$blue(0), 0, 255, "blue");
      return t1;
    },
    SassColor$rgbInternal0(_red, _green, _blue, alpha, format) {
      var t1 = new A.SassColor0(_red, _green, _blue, null, null, null, A.fuzzyAssertRange0(alpha, 0, 1, "alpha"), format);
      A.RangeError_checkValueInInterval(t1.get$red(0), 0, 255, "red");
      A.RangeError_checkValueInInterval(t1.get$green(0), 0, 255, "green");
      A.RangeError_checkValueInInterval(t1.get$blue(0), 0, 255, "blue");
      return t1;
    },
    SassColor$hsl(hue, saturation, lightness, alpha) {
      var _null = null,
        t1 = A.SassColor__handleNullAlpha0(alpha);
      return new A.SassColor0(_null, _null, _null, B.JSNumber_methods.$mod(hue, 360), A.fuzzyAssertRange0(saturation, 0, 100, "saturation"), A.fuzzyAssertRange0(lightness, 0, 100, "lightness"), A.fuzzyAssertRange0(t1, 0, 1, "alpha"), _null);
    },
    SassColor$hslInternal0(hue, saturation, lightness, alpha, format) {
      return new A.SassColor0(null, null, null, B.JSNumber_methods.$mod(hue, 360), A.fuzzyAssertRange0(saturation, 0, 100, "saturation"), A.fuzzyAssertRange0(lightness, 0, 100, "lightness"), A.fuzzyAssertRange0(alpha, 0, 1, "alpha"), format);
    },
    SassColor_SassColor$hwb0(hue, whiteness, blackness, alpha) {
      var t2, t1 = {},
        scaledHue = B.JSNumber_methods.$mod(hue, 360) / 360,
        scaledWhiteness = t1.scaledWhiteness = A.fuzzyAssertRange0(whiteness, 0, 100, "whiteness") / 100,
        scaledBlackness = A.fuzzyAssertRange0(blackness, 0, 100, "blackness") / 100,
        sum = scaledWhiteness + scaledBlackness;
      if (sum > 1) {
        t2 = t1.scaledWhiteness = scaledWhiteness / sum;
        scaledBlackness /= sum;
      } else
        t2 = scaledWhiteness;
      t2 = new A.SassColor_SassColor$hwb_toRgb0(t1, 1 - t2 - scaledBlackness);
      return A.SassColor$rgb0(t2.call$1(scaledHue + 0.3333333333333333), t2.call$1(scaledHue), t2.call$1(scaledHue - 0.3333333333333333), alpha);
    },
    SassColor__handleNullAlpha0(alpha) {
      if (alpha != null)
        return alpha;
      A.warnForDeprecation0("Passing null for alpha in the JS API is deprecated.\nTo preserve current behavior, pass 1 or undefined instead.\nMore info: https://sass-lang.com/d/null-alpha", B.Deprecation_omH);
      return 1;
    },
    SassColor__hueToRgb0(m1, m2, hue) {
      var t1;
      if (hue < 0)
        ++hue;
      if (hue > 1)
        --hue;
      $label0$0: {
        if (hue < 0.16666666666666666) {
          t1 = m1 + (m2 - m1) * hue * 6;
          break $label0$0;
        }
        if (hue < 0.5) {
          t1 = m2;
          break $label0$0;
        }
        if (hue < 0.6666666666666666) {
          t1 = m1 + (m2 - m1) * (0.6666666666666666 - hue) * 6;
          break $label0$0;
        }
        t1 = m1;
        break $label0$0;
      }
      return t1;
    },
    SassColor0: function SassColor0(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._color1$_red = t0;
      _._color1$_green = t1;
      _._color1$_blue = t2;
      _._color1$_hue = t3;
      _._color1$_saturation = t4;
      _._color1$_lightness = t5;
      _._color1$_alpha = t6;
      _.format = t7;
    },
    SassColor_SassColor$hwb_toRgb0: function SassColor_SassColor$hwb_toRgb0(t0, t1) {
      this._box_0 = t0;
      this.factor = t1;
    },
    _ColorFormatEnum0: function _ColorFormatEnum0(t0) {
      this._color1$_name = t0;
    },
    SpanColorFormat0: function SpanColorFormat0(t0) {
      this._color1$_span = t0;
    },
    Combinator0: function Combinator0(t0, t1) {
      this._combinator0$_text = t0;
      this._name = t1;
    },
    ModifiableCssComment0: function ModifiableCssComment0(t0, t1) {
      var _ = this;
      _.text = t0;
      _.span = t1;
      _._node$_indexInParent = _._node$_parent = null;
      _.isGroupEnd = false;
    },
    compile0(path, options) {
      var color, ascii, logger, result, error, stackTrace, t1, color0, ascii0, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, exception, _null = null;
      if (!A.isNodeJs())
        A.jsThrow(new self.Error("The compile() method is only available in Node.js."));
      t1 = options == null;
      color0 = t1 ? _null : J.get$alertColor$x(options);
      color = color0 == null ? A.hasTerminal0() : color0;
      ascii0 = t1 ? _null : J.get$alertAscii$x(options);
      ascii = ascii0 == null ? $._glyphs === B.C_AsciiGlyphSet : ascii0;
      t2 = t1 ? _null : J.get$logger$x(options);
      t3 = ascii;
      if (t3 == null)
        t3 = $._glyphs === B.C_AsciiGlyphSet;
      logger = new A.JSToDartLogger(t2, new A.StderrLogger0(color), t3);
      try {
        t2 = t1 ? _null : J.get$loadPaths$x(options);
        t3 = t1 ? _null : J.get$quietDeps$x(options);
        if (t3 == null)
          t3 = false;
        t4 = A._parseOutputStyle0(t1 ? _null : J.get$style$x(options));
        t5 = t1 ? _null : J.get$verbose$x(options);
        if (t5 == null)
          t5 = false;
        t6 = t1 ? _null : J.get$charset$x(options);
        if (t6 == null)
          t6 = true;
        t7 = t1 ? _null : J.get$sourceMap$x(options);
        if (t7 == null)
          t7 = false;
        t8 = logger;
        if (t1)
          t9 = _null;
        else {
          t9 = J.get$importers$x(options);
          t9 = t9 == null ? _null : J.map$1$1$ax(t9, A.compile___parseImporter$closure(), type$.Importer);
        }
        t10 = A._parseFunctions0(t1 ? _null : J.get$functions$x(options), false);
        t11 = t1 ? _null : J.get$fatalDeprecations$x(options);
        t11 = A._parseDeprecations(logger, t11, true);
        t12 = t1 ? _null : J.get$silenceDeprecations$x(options);
        t12 = A._parseDeprecations(logger, t12, false);
        t13 = t1 ? _null : J.get$futureDeprecations$x(options);
        t13 = A._parseDeprecations(logger, t13, false);
        result = A.compile(path, t6, t11, new A.CastList(t10, A._arrayInstanceType(t10)._eval$1("CastList<1,Callable>")), t13, A.ImportCache$0(t9, t2, t8 == null ? new A.StderrLogger0(color) : t8, _null), _null, _null, t8, _null, t3, t12, t7, t4, _null, true, t5);
        t1 = t1 ? _null : J.get$sourceMapIncludeSources$x(options);
        if (t1 == null)
          t1 = false;
        t1 = A._convertResult(result, t1);
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException0) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          A.throwNodeException(error, ascii, color, stackTrace);
        } else
          throw exception;
      }
    },
    compileString0(text, options) {
      var logger, result, error, stackTrace, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, exception, _null = null,
        t1 = options == null,
        color0 = t1 ? _null : J.get$alertColor$x(options),
        color = color0 == null ? A.hasTerminal0() : color0,
        ascii0 = t1 ? _null : J.get$alertAscii$x(options),
        ascii = ascii0 == null ? $._glyphs === B.C_AsciiGlyphSet : ascii0,
        t2 = t1 ? _null : J.get$logger$x(options),
        t3 = ascii;
      if (t3 == null)
        t3 = $._glyphs === B.C_AsciiGlyphSet;
      logger = new A.JSToDartLogger(t2, new A.StderrLogger0(color), t3);
      try {
        t2 = A.parseSyntax(t1 ? _null : J.get$syntax$x(options));
        t3 = t1 ? _null : A.NullableExtension_andThen0(J.get$url$x(options), A.utils1__jsToDartUrl$closure());
        t4 = t1 ? _null : J.get$loadPaths$x(options);
        t5 = t1 ? _null : J.get$quietDeps$x(options);
        if (t5 == null)
          t5 = false;
        t6 = A._parseOutputStyle0(t1 ? _null : J.get$style$x(options));
        t7 = t1 ? _null : J.get$verbose$x(options);
        if (t7 == null)
          t7 = false;
        t8 = t1 ? _null : J.get$charset$x(options);
        if (t8 == null)
          t8 = true;
        t9 = t1 ? _null : J.get$sourceMap$x(options);
        if (t9 == null)
          t9 = false;
        t10 = logger;
        if (t1)
          t11 = _null;
        else {
          t11 = J.get$importers$x(options);
          t11 = t11 == null ? _null : J.map$1$1$ax(t11, A.compile___parseImporter$closure(), type$.Importer);
        }
        t12 = t1 ? _null : A.NullableExtension_andThen0(J.get$importer$x(options), A.compile___parseImporter$closure());
        if (t12 == null)
          t12 = (t1 ? _null : J.get$url$x(options)) == null ? new A.NoOpImporter0() : _null;
        t13 = A._parseFunctions0(t1 ? _null : J.get$functions$x(options), false);
        t14 = t1 ? _null : J.get$fatalDeprecations$x(options);
        t14 = A._parseDeprecations(logger, t14, true);
        t15 = t1 ? _null : J.get$silenceDeprecations$x(options);
        t15 = A._parseDeprecations(logger, t15, false);
        t16 = t1 ? _null : J.get$futureDeprecations$x(options);
        t16 = A._parseDeprecations(logger, t16, false);
        result = A.compileString(text, t8, t14, new A.CastList(t13, A._arrayInstanceType(t13)._eval$1("CastList<1,Callable>")), t16, A.ImportCache$0(t11, t4, t10 == null ? new A.StderrLogger0(color) : t10, _null), t12, _null, _null, t10, _null, t5, t15, t9, t6, t2, t3, true, t7);
        t1 = t1 ? _null : J.get$sourceMapIncludeSources$x(options);
        if (t1 == null)
          t1 = false;
        t1 = A._convertResult(result, t1);
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException0) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          A.throwNodeException(error, ascii, color, stackTrace);
        } else
          throw exception;
      }
    },
    compileAsync1(path, options) {
      var t1, color, ascii;
      if (!A.isNodeJs())
        A.jsThrow(new self.Error("The compileAsync() method is only available in Node.js."));
      t1 = options == null;
      color = t1 ? null : J.get$alertColor$x(options);
      if (color == null)
        color = A.hasTerminal0();
      ascii = t1 ? null : J.get$alertAscii$x(options);
      if (ascii == null)
        ascii = $._glyphs === B.C_AsciiGlyphSet;
      t1 = t1 ? null : J.get$logger$x(options);
      return A._wrapAsyncSassExceptions(A.futureToPromise0(new A.compileAsync_closure(path, color, options, new A.JSToDartLogger(t1, new A.StderrLogger0(color), ascii)).call$0()), ascii, color);
    },
    compileStringAsync1(text, options) {
      var ascii,
        t1 = options == null,
        color = t1 ? null : J.get$alertColor$x(options);
      if (color == null)
        color = A.hasTerminal0();
      ascii = t1 ? null : J.get$alertAscii$x(options);
      if (ascii == null)
        ascii = $._glyphs === B.C_AsciiGlyphSet;
      t1 = t1 ? null : J.get$logger$x(options);
      return A._wrapAsyncSassExceptions(A.futureToPromise0(new A.compileStringAsync_closure(text, options, color, new A.JSToDartLogger(t1, new A.StderrLogger0(color), ascii)).call$0()), ascii, color);
    },
    _convertResult(result, includeSourceContents) {
      var loadedUrls,
        t1 = result._compile_result$_serialize,
        t2 = t1._1,
        sourceMap = t2 == null ? null : t2.toJson$1$includeSourceContents(includeSourceContents);
      if (type$.Map_String_dynamic._is(sourceMap) && !sourceMap.containsKey$1("sources"))
        sourceMap.$indexSet(0, "sources", A._setArrayType([], type$.JSArray_String));
      loadedUrls = A.toJSArray(result._evaluate._0.map$1$1(0, A.utils1__dartToJSUrl$closure(), type$.nullable_Object));
      t1 = t1._0;
      return sourceMap == null ? {css: t1, loadedUrls: loadedUrls} : {css: t1, sourceMap: A.jsify0(sourceMap), loadedUrls: loadedUrls};
    },
    _wrapAsyncSassExceptions(promise, ascii, color) {
      return J.then$2$x(promise, null, A.allowInterop(new A._wrapAsyncSassExceptions_closure(color, ascii)));
    },
    _parseOutputStyle0(style) {
      var t1;
      $label0$0: {
        if (style == null || "expanded" === style) {
          t1 = B.OutputStyle_00;
          break $label0$0;
        }
        if ("compressed" === style) {
          t1 = B.OutputStyle_10;
          break $label0$0;
        }
        t1 = A.jsThrow(new self.Error('Unknown output style "' + A.S(style) + '".'));
      }
      return t1;
    },
    _parseAsyncImporter(importer) {
      var t1, canonicalize, load, _0_0;
      if (importer instanceof A.NodePackageImporter0)
        return importer;
      if (importer == null)
        A.jsThrow(new self.Error("Importers may not be null."));
      type$.JSImporter._as(importer);
      t1 = J.getInterceptor$x(importer);
      canonicalize = t1.get$canonicalize(importer);
      load = t1.get$load(importer);
      _0_0 = t1.get$findFileUrl(importer);
      if (_0_0 != null)
        if (canonicalize != null || load != null)
          A.jsThrow(new self.Error(string$.An_impa));
        else
          return new A.JSToDartAsyncFileImporter(_0_0);
      else if (canonicalize == null || load == null)
        A.jsThrow(new self.Error(string$.An_impu));
      else {
        t1 = A._normalizeNonCanonicalSchemes(t1.get$nonCanonicalScheme(importer));
        t1 = t1 == null ? B.Set_empty7 : A.Set_Set$unmodifiable(t1, type$.String);
        t1.forEach$1(0, A.utils2__validateUrlScheme$closure());
        return new A.JSToDartAsyncImporter(canonicalize, load, t1);
      }
    },
    _parseImporter0(importer) {
      var t1, canonicalize, load, _0_0;
      if (importer instanceof A.NodePackageImporter0)
        return importer;
      if (importer == null)
        A.jsThrow(new self.Error("Importers may not be null."));
      type$.JSImporter._as(importer);
      t1 = J.getInterceptor$x(importer);
      canonicalize = t1.get$canonicalize(importer);
      load = t1.get$load(importer);
      _0_0 = t1.get$findFileUrl(importer);
      if (_0_0 != null)
        if (canonicalize != null || load != null)
          A.jsThrow(new self.Error(string$.An_impa));
        else
          return new A.JSToDartFileImporter(_0_0);
      else if (canonicalize == null || load == null)
        A.jsThrow(new self.Error(string$.An_impu));
      else {
        t1 = A._normalizeNonCanonicalSchemes(t1.get$nonCanonicalScheme(importer));
        t1 = t1 == null ? B.Set_empty7 : A.Set_Set$unmodifiable(t1, type$.String);
        t1.forEach$1(0, A.utils2__validateUrlScheme$closure());
        return new A.JSToDartImporter(canonicalize, load, t1);
      }
    },
    _normalizeNonCanonicalSchemes(schemes) {
      var t1;
      $label0$0: {
        if (typeof schemes == "string") {
          t1 = A._setArrayType([schemes], type$.JSArray_String);
          break $label0$0;
        }
        if (type$.List_dynamic._is(schemes)) {
          t1 = J.cast$1$0$ax(schemes, type$.String);
          break $label0$0;
        }
        if (schemes == null) {
          t1 = null;
          break $label0$0;
        }
        t1 = A.jsThrow(new self.Error('nonCanonicalScheme must be a string or list of strings, was "' + A.S(schemes) + '"'));
      }
      return t1;
    },
    _simplifyValue(value) {
      var _0_1, t1, t2, _0_4, _0_3, _0_4_isSet, _0_5, _0_40, _0_8, first, _0_10, min, _null = null;
      $label1$1: {
        if (value instanceof A.SassCalculation0) {
          _0_1 = value.name;
          t1 = value.$arguments;
          t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Object>");
          _0_4 = A.List_List$of(new A.MappedListIterable(t1, A.compile___simplifyCalcArg$closure(), t2), true, t2._eval$1("ListIterable.E"));
          $label0$0: {
            _0_3 = "calc" === _0_1;
            _0_4_isSet = _0_3;
            if (_0_4_isSet) {
              _0_5 = _0_4.length;
              t1 = _0_5;
              _0_40 = _0_4;
              t1 = t1 === 1;
            } else {
              _0_40 = _null;
              _0_5 = _0_40;
              t1 = false;
            }
            if (t1) {
              _0_8 = (_0_4_isSet ? _0_40 : _0_4)[0];
              first = _0_8;
              type$.Value_2._as(first);
              t1 = first;
              break $label0$0;
            }
            if (_0_3)
              A.throwExpression(A.ArgumentError$("calc() requires exactly one argument.", _null));
            _0_10 = "clamp" === _0_1;
            t1 = _0_10;
            if (t1) {
              if (_0_4_isSet)
                t1 = _0_5;
              else {
                _0_5 = _0_4.length;
                t1 = _0_5;
                _0_40 = _0_4;
                _0_4_isSet = true;
              }
              t1 = t1 === 3;
            } else
              t1 = false;
            if (t1) {
              if (_0_4_isSet)
                t1 = _0_40;
              else {
                t1 = _0_4;
                _0_40 = t1;
                _0_4_isSet = true;
              }
              _0_8 = t1[0];
              min = _0_8;
              if (_0_4_isSet)
                t1 = _0_40;
              else {
                t1 = _0_4;
                _0_40 = t1;
                _0_4_isSet = true;
              }
              value = t1[1];
              t1 = A.SassCalculation_clamp0(min, value, (_0_4_isSet ? _0_40 : _0_4)[2]);
              break $label0$0;
            }
            if (_0_10)
              A.throwExpression(A.ArgumentError$("clamp() requires exactly 3 arguments.", _null));
            if ("min" === _0_1) {
              t1 = A.SassCalculation_min0(_0_4_isSet ? _0_40 : _0_4);
              break $label0$0;
            }
            if ("max" === _0_1) {
              t1 = A.SassCalculation_max0(_0_4_isSet ? _0_40 : _0_4);
              break $label0$0;
            }
            t1 = A.throwExpression(A.ArgumentError$('"' + _0_1 + '" is not a recognized calculation type.', _null));
          }
          break $label1$1;
        }
        t1 = value;
        break $label1$1;
      }
      return t1;
    },
    _simplifyCalcArg(value) {
      var t1;
      $label0$0: {
        if (value instanceof A.SassCalculation0) {
          t1 = A._simplifyValue(value);
          break $label0$0;
        }
        if (value instanceof A.CalculationOperation0) {
          t1 = A.SassCalculation_operateInternal0(value._calculation0$_operator, A._simplifyCalcArg(value._calculation0$_left), A._simplifyCalcArg(value._calculation0$_right), false, true);
          break $label0$0;
        }
        t1 = value;
        break $label0$0;
      }
      return t1;
    },
    _parseFunctions0(functions, asynch) {
      var result;
      if (functions == null)
        return B.List_empty24;
      result = A._setArrayType([], type$.JSArray_AsyncCallable_2);
      A.jsForEach(functions, new A._parseFunctions_closure0(asynch, result));
      return result;
    },
    _parseDeprecations(logger, deprecations, supportVersions) {
      if (deprecations == null)
        return null;
      return new A._parseDeprecations_closure(deprecations, logger, supportVersions).call$0();
    },
    compileAsync_closure: function compileAsync_closure(t0, t1, t2, t3) {
      var _ = this;
      _.path = t0;
      _.color = t1;
      _.options = t2;
      _.logger = t3;
    },
    compileAsync__closure: function compileAsync__closure() {
    },
    compileStringAsync_closure: function compileStringAsync_closure(t0, t1, t2, t3) {
      var _ = this;
      _.text = t0;
      _.options = t1;
      _.color = t2;
      _.logger = t3;
    },
    compileStringAsync__closure: function compileStringAsync__closure() {
    },
    compileStringAsync__closure0: function compileStringAsync__closure0() {
    },
    _wrapAsyncSassExceptions_closure: function _wrapAsyncSassExceptions_closure(t0, t1) {
      this.color = t0;
      this.ascii = t1;
    },
    _parseFunctions_closure0: function _parseFunctions_closure0(t0, t1) {
      this.asynch = t0;
      this.result = t1;
    },
    _parseFunctions__closure2: function _parseFunctions__closure2(t0, t1) {
      this.callback = t0;
      this.callable = t1;
    },
    _parseFunctions___closure6: function _parseFunctions___closure6(t0, t1) {
      this.callback = t0;
      this.$arguments = t1;
    },
    _parseFunctions__closure3: function _parseFunctions__closure3(t0, t1) {
      this.callback = t0;
      this.callable = t1;
    },
    _parseFunctions___closure5: function _parseFunctions___closure5(t0, t1) {
      this.callback = t0;
      this.$arguments = t1;
    },
    _parseDeprecations_closure: function _parseDeprecations_closure(t0, t1, t2) {
      this.deprecations = t0;
      this.logger = t1;
      this.supportVersions = t2;
    },
    nodePackageImporterClass_closure: function nodePackageImporterClass_closure() {
    },
    nodePackageImporterClass__closure: function nodePackageImporterClass__closure() {
    },
    compile(path, charset, fatalDeprecations, functions, futureDeprecations, importCache, indentWidth, lineFeed, logger, nodeImporter, quietDeps, silenceDeprecations, sourceMap, style, syntax, useSpaces, verbose) {
      var t3, t4, t0, stylesheet, result, _null = null,
        t1 = type$.Deprecation_3,
        t2 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      if (silenceDeprecations != null)
        t2.addAll$1(0, silenceDeprecations);
      t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      if (fatalDeprecations != null)
        t3.addAll$1(0, fatalDeprecations);
      t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      if (futureDeprecations != null)
        t1.addAll$1(0, futureDeprecations);
      logger = A.DeprecationProcessingLogger$0(logger, t3, t1, !verbose, t2);
      t1 = nodeImporter == null;
      if (t1)
        t2 = syntax == null || syntax === A.Syntax_forPath0(path);
      else
        t2 = false;
      if (t2) {
        if (importCache == null)
          importCache = A.ImportCache$none(logger);
        t2 = $.$get$FilesystemImporter_cwd0();
        t3 = A.isNodeJs() ? self.process : _null;
        if (!J.$eq$(t3 == null ? _null : J.get$platform$x(t3), "win32")) {
          t3 = A.isNodeJs() ? self.process : _null;
          t3 = J.$eq$(t3 == null ? _null : J.get$platform$x(t3), "darwin");
        } else
          t3 = true;
        if (t3) {
          t3 = $.$get$context();
          t4 = A._realCasePath0(A.absolute(t3.normalize$1(path), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
          t0 = t4;
          t4 = t3;
          t3 = t0;
        } else {
          t3 = $.$get$context();
          t4 = t3.canonicalize$1(0, path);
          t0 = t4;
          t4 = t3;
          t3 = t0;
        }
        t4 = importCache.importCanonical$3$originalUrl(t2, t4.toUri$1(t3), t4.toUri$1(path));
        t4.toString;
        stylesheet = t4;
      } else {
        t2 = A.readFile0(path);
        t3 = syntax == null ? A.Syntax_forPath0(path) : syntax;
        stylesheet = A.Stylesheet_Stylesheet$parse0(t2, t3, logger, $.$get$context().toUri$1(path));
      }
      result = A._compileStylesheet1(stylesheet, logger, importCache, nodeImporter, $.$get$FilesystemImporter_cwd0(), functions, style, useSpaces, indentWidth, lineFeed, quietDeps, sourceMap, charset);
      logger.summarize$1$js(!t1);
      return result;
    },
    compileString(source, charset, fatalDeprecations, functions, futureDeprecations, importCache, importer, indentWidth, lineFeed, logger, nodeImporter, quietDeps, silenceDeprecations, sourceMap, style, syntax, url, useSpaces, verbose) {
      var t3, stylesheet, result,
        t1 = type$.Deprecation_3,
        t2 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      if (silenceDeprecations != null)
        t2.addAll$1(0, silenceDeprecations);
      t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      if (fatalDeprecations != null)
        t3.addAll$1(0, fatalDeprecations);
      t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      if (futureDeprecations != null)
        t1.addAll$1(0, futureDeprecations);
      logger = A.DeprecationProcessingLogger$0(logger, t3, t1, !verbose, t2);
      stylesheet = A.Stylesheet_Stylesheet$parse0(source, syntax == null ? B.Syntax_SCSS_scss0 : syntax, logger, url);
      if (importer == null)
        t1 = A.isBrowser() ? new A.NoOpImporter0() : $.$get$FilesystemImporter_cwd0();
      else
        t1 = importer;
      result = A._compileStylesheet1(stylesheet, logger, importCache, nodeImporter, t1, functions, style, useSpaces, indentWidth, lineFeed, quietDeps, sourceMap, charset);
      logger.summarize$1$js(nodeImporter != null);
      return result;
    },
    _compileStylesheet1(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, quietDeps, sourceMap, charset) {
      var evaluateResult = A._EvaluateVisitor$1(functions, importCache, logger, nodeImporter, quietDeps, sourceMap).run$2(0, importer, stylesheet),
        serializeResult = A.serialize0(evaluateResult._1, charset, indentWidth, false, lineFeed, sourceMap, style, useSpaces),
        resultSourceMap = serializeResult._1;
      if (resultSourceMap != null && importCache != null)
        A.mapInPlace0(resultSourceMap.urls, new A._compileStylesheet_closure1(stylesheet, importCache));
      return new A.CompileResult0(evaluateResult, serializeResult);
    },
    _compileStylesheet_closure1: function _compileStylesheet_closure1(t0, t1) {
      this.stylesheet = t0;
      this.importCache = t1;
    },
    CompileOptions: function CompileOptions() {
    },
    CompileStringOptions: function CompileStringOptions() {
    },
    NodeCompileResult: function NodeCompileResult() {
    },
    CompileResult0: function CompileResult0(t0, t1) {
      this._evaluate = t0;
      this._compile_result$_serialize = t1;
    },
    initCompiler() {
      return new A.Compiler();
    },
    initAsyncCompiler() {
      return A.futureToPromise0(new A.initAsyncCompiler_closure().call$0());
    },
    Compiler: function Compiler() {
      this._disposed = false;
    },
    AsyncCompiler: function AsyncCompiler(t0) {
      this.compilations = t0;
      this._disposed = false;
    },
    AsyncCompiler_addCompilation_closure: function AsyncCompiler_addCompilation_closure() {
    },
    compilerClass_closure: function compilerClass_closure() {
    },
    compilerClass__closure: function compilerClass__closure() {
    },
    compilerClass__closure0: function compilerClass__closure0() {
    },
    compilerClass__closure1: function compilerClass__closure1() {
    },
    compilerClass__closure2: function compilerClass__closure2() {
    },
    asyncCompilerClass_closure: function asyncCompilerClass_closure() {
    },
    asyncCompilerClass__closure: function asyncCompilerClass__closure() {
    },
    asyncCompilerClass__closure0: function asyncCompilerClass__closure0() {
    },
    asyncCompilerClass__closure1: function asyncCompilerClass__closure1() {
    },
    asyncCompilerClass__closure2: function asyncCompilerClass__closure2() {
    },
    asyncCompilerClass___closure: function asyncCompilerClass___closure(t0) {
      this.self = t0;
    },
    initAsyncCompiler_closure: function initAsyncCompiler_closure() {
    },
    ComplexSassNumber0: function ComplexSassNumber0(t0, t1, t2, t3) {
      var _ = this;
      _._complex0$_numeratorUnits = t0;
      _._complex0$_denominatorUnits = t1;
      _._number1$_value = t2;
      _.hashCache = null;
      _.asSlash = t3;
    },
    ComplexSelector$0(leadingCombinators, components, span, lineBreak) {
      var t1 = A.List_List$unmodifiable(leadingCombinators, type$.CssValue_Combinator_2),
        t2 = A.List_List$unmodifiable(components, type$.ComplexSelectorComponent_2);
      if (t1.length === 0 && t2.length === 0)
        A.throwExpression(A.ArgumentError$(string$.leadin, null));
      return new A.ComplexSelector0(t1, t2, lineBreak, span);
    },
    ComplexSelector0: function ComplexSelector0(t0, t1, t2, t3) {
      var _ = this;
      _.leadingCombinators = t0;
      _.components = t1;
      _.lineBreak = t2;
      _._complex$__ComplexSelector_specificity_FI = $;
      _.span = t3;
    },
    ComplexSelector_specificity_closure0: function ComplexSelector_specificity_closure0() {
    },
    ComplexSelectorComponent0: function ComplexSelectorComponent0(t0, t1, t2) {
      this.selector = t0;
      this.combinators = t1;
      this.span = t2;
    },
    ComplexSelectorComponent_toString_closure0: function ComplexSelectorComponent_toString_closure0() {
    },
    CompoundSelector$0(components, span) {
      var t1 = A.List_List$unmodifiable(components, type$.SimpleSelector_2);
      if (t1.length === 0)
        A.throwExpression(A.ArgumentError$("components may not be empty.", null));
      return new A.CompoundSelector0(t1, span);
    },
    CompoundSelector0: function CompoundSelector0(t0, t1) {
      var _ = this;
      _.components = t0;
      _._compound$__CompoundSelector_hasComplicatedSuperselectorSemantics_FI = _._compound$__CompoundSelector_specificity_FI = $;
      _.span = t1;
    },
    CompoundSelector_specificity_closure0: function CompoundSelector_specificity_closure0() {
    },
    CompoundSelector_hasComplicatedSuperselectorSemantics_closure0: function CompoundSelector_hasComplicatedSuperselectorSemantics_closure0() {
    },
    Configuration0: function Configuration0(t0, t1) {
      this._configuration0$_values = t0;
      this._configuration0$__originalConfiguration = t1;
    },
    ExplicitConfiguration0: function ExplicitConfiguration0(t0, t1, t2) {
      this.nodeWithSpan = t0;
      this._configuration0$_values = t1;
      this._configuration0$__originalConfiguration = t2;
    },
    ConfiguredValue0: function ConfiguredValue0(t0, t1, t2) {
      this.value = t0;
      this.configurationSpan = t1;
      this.assignmentNode = t2;
    },
    ConfiguredVariable0: function ConfiguredVariable0(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.expression = t1;
      _.isGuarded = t2;
      _.span = t3;
    },
    ContentBlock$0($arguments, children, span) {
      var _s8_ = "@content",
        t1 = A.stringReplaceAllUnchecked(_s8_, "_", "-"),
        t2 = A.List_List$unmodifiable(children, type$.Statement_2),
        t3 = B.JSArray_methods.any$1(t2, new A.ParentStatement_closure0());
      return new A.ContentBlock0(t1, _s8_, $arguments, span, t2, t3);
    },
    ContentBlock0: function ContentBlock0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.name = t0;
      _.originalName = t1;
      _.$arguments = t2;
      _.span = t3;
      _.children = t4;
      _.hasDeclarations = t5;
    },
    ContentRule0: function ContentRule0(t0, t1) {
      this.$arguments = t0;
      this.span = t1;
    },
    _disallowedFunctionNames_closure0: function _disallowedFunctionNames_closure0() {
    },
    CssParser0: function CssParser0(t0, t1, t2, t3) {
      var _ = this;
      _._stylesheet0$_isUseAllowed = true;
      _._stylesheet0$_inExpression = _._stylesheet0$_inParentheses = _._stylesheet0$_inStyleRule = _._stylesheet0$_inUnknownAtRule = _._stylesheet0$_inControlDirective = _._stylesheet0$_inContentBlock = _._stylesheet0$_inMixin = false;
      _._stylesheet0$_globalVariables = t0;
      _.lastSilentComment = null;
      _.scanner = t1;
      _.logger = t2;
      _._parser0$_interpolationMap = t3;
    },
    DebugRule0: function DebugRule0(t0, t1) {
      this.expression = t0;
      this.span = t1;
    },
    ModifiableCssDeclaration$0($name, value, span, parsedAsCustomProperty, valueSpanForMap) {
      var t2,
        t1 = valueSpanForMap == null ? value.span : valueSpanForMap;
      if (parsedAsCustomProperty)
        if (!J.startsWith$1$s($name.value, "--"))
          A.throwExpression(A.ArgumentError$(string$.parsed, null));
        else {
          t2 = value.value;
          if (!(t2 instanceof A.SassString0))
            A.throwExpression(A.ArgumentError$(string$.If_par + value.toString$0(0) + "` of type " + A.getRuntimeTypeOfDartObject(t2).toString$0(0) + ").", null));
        }
      return new A.ModifiableCssDeclaration0($name, value, parsedAsCustomProperty, t1, span);
    },
    ModifiableCssDeclaration0: function ModifiableCssDeclaration0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.name = t0;
      _.value = t1;
      _.parsedAsCustomProperty = t2;
      _.valueSpanForMap = t3;
      _.span = t4;
      _._node$_indexInParent = _._node$_parent = null;
      _.isGroupEnd = false;
    },
    Declaration$0($name, value, span) {
      return new A.Declaration0($name, value, span, null, false);
    },
    Declaration$nested0($name, children, span, value) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement_2),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure0());
      return new A.Declaration0($name, value, span, t1, t2);
    },
    Declaration0: function Declaration0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.name = t0;
      _.value = t1;
      _.span = t2;
      _.children = t3;
      _.hasDeclarations = t4;
    },
    SupportsDeclaration0: function SupportsDeclaration0(t0, t1, t2) {
      this.name = t0;
      this.value = t1;
      this.span = t2;
    },
    Deprecation_fromId0(id) {
      return A.IterableExtension_firstWhereOrNull(B.List_wIq, new A.Deprecation_fromId_closure0(id));
    },
    Deprecation_forVersion0(version) {
      var t2, _i, deprecation, $self, t3,
        t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.Deprecation_3);
      for (t2 = A.VersionRange_VersionRange(true, version).get$allows(), _i = 0; _i < 19; ++_i) {
        deprecation = B.List_wIq[_i];
        $self = deprecation._deprecation$_deprecatedIn;
        t3 = $self == null ? null : A.Version___parse_tearOff($self);
        t3 = t3 == null ? null : t2.call$1(t3);
        if (t3 == null ? false : t3)
          t1.add$1(0, deprecation);
      }
      return t1;
    },
    Deprecation0: function Deprecation0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.id = t0;
      _._deprecation$_deprecatedIn = t1;
      _.description = t2;
      _.isFuture = t3;
      _._name = t4;
    },
    Deprecation_fromId_closure0: function Deprecation_fromId_closure0(t0) {
      this.id = t0;
    },
    DeprecationProcessingLogger$0(_inner, fatalDeprecations, futureDeprecations, limitRepetition, silenceDeprecations) {
      var t1 = new A.DeprecationProcessingLogger0(A.LinkedHashMap_LinkedHashMap$_empty(type$.Deprecation_3, type$.int), _inner, silenceDeprecations, fatalDeprecations, futureDeprecations, limitRepetition);
      t1.DeprecationProcessingLogger$5$fatalDeprecations$futureDeprecations$limitRepetition$silenceDeprecations0(_inner, fatalDeprecations, futureDeprecations, limitRepetition, silenceDeprecations);
      return t1;
    },
    DeprecationProcessingLogger0: function DeprecationProcessingLogger0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._deprecation_processing$_warningCounts = t0;
      _._deprecation_processing$_inner = t1;
      _.silenceDeprecations = t2;
      _.fatalDeprecations = t3;
      _.futureDeprecations = t4;
      _.limitRepetition = t5;
    },
    DeprecationProcessingLogger_summarize_closure1: function DeprecationProcessingLogger_summarize_closure1() {
    },
    DeprecationProcessingLogger_summarize_closure2: function DeprecationProcessingLogger_summarize_closure2() {
    },
    Deprecation1: function Deprecation1() {
    },
    deprecations_closure: function deprecations_closure(t0) {
      this.deprecation = t0;
    },
    versionClass_closure: function versionClass_closure() {
    },
    versionClass__closure: function versionClass__closure() {
    },
    versionClass__closure0: function versionClass__closure0() {
    },
    DynamicImport0: function DynamicImport0(t0, t1) {
      this.urlString = t0;
      this.span = t1;
    },
    EachRule$0(variables, list, children, span) {
      var t1 = A.List_List$unmodifiable(variables, type$.String),
        t2 = A.List_List$unmodifiable(children, type$.Statement_2),
        t3 = B.JSArray_methods.any$1(t2, new A.ParentStatement_closure0());
      return new A.EachRule0(t1, list, span, t2, t3);
    },
    EachRule0: function EachRule0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.variables = t0;
      _.list = t1;
      _.span = t2;
      _.children = t3;
      _.hasDeclarations = t4;
    },
    EachRule_toString_closure0: function EachRule_toString_closure0() {
    },
    EmptyExtensionStore0: function EmptyExtensionStore0() {
    },
    Environment$0() {
      var t1 = type$.String,
        t2 = type$.Module_Callable_2,
        t3 = type$.AstNode_2,
        t4 = type$.int,
        t5 = type$.Callable_2,
        t6 = type$.JSArray_Map_String_Callable_2;
      return new A.Environment0(A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t3), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), null, null, A._setArrayType([], type$.JSArray_Module_Callable_2), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Value_2)], type$.JSArray_Map_String_Value_2), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, t3)], type$.JSArray_Map_String_AstNode_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t4), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, t5)], t6), A.LinkedHashMap_LinkedHashMap$_empty(t1, t4), A._setArrayType([A.LinkedHashMap_LinkedHashMap$_empty(t1, t5)], t6), A.LinkedHashMap_LinkedHashMap$_empty(t1, t4), null);
    },
    Environment$_0(_modules, _namespaceNodes, _globalModules, _importedModules, _forwardedModules, _nestedForwardedModules, _allModules, _variables, _variableNodes, _functions, _mixins, _content) {
      var t1 = type$.String,
        t2 = type$.int;
      return new A.Environment0(_modules, _namespaceNodes, _globalModules, _importedModules, _forwardedModules, _nestedForwardedModules, _allModules, _variables, _variableNodes, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _functions, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _mixins, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _content);
    },
    _EnvironmentModule__EnvironmentModule1(environment, css, preModuleComments, extensionStore, forwarded) {
      var t1, t2, t3, t4, t5, t6, module, result, t7;
      if (forwarded == null)
        forwarded = B.Set_empty4;
      t1 = type$.dynamic;
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t2 = type$.Module_Callable_2, t3 = type$.List_CssComment_2, t4 = A.MapExtensions_get_pairs0(preModuleComments, t2, t3), t4 = t4.get$iterator(t4), t5 = type$.CssComment_2; t4.moveNext$0();) {
        t6 = t4.get$current(t4);
        module = t6._0;
        result = A.List_List$from(t6._1, false, t5);
        result.fixed$length = Array;
        result.immutable$list = Array;
        t1.$indexSet(0, module, result);
      }
      t1 = A.ConstantMap_ConstantMap$from(t1, t2, t3);
      t2 = A._EnvironmentModule__makeModulesByVariable1(forwarded);
      t3 = A._EnvironmentModule__memberMap1(B.JSArray_methods.get$first(environment._environment0$_variables), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure11(), type$.Map_String_Value_2), type$.Value_2);
      t4 = A._EnvironmentModule__memberMap1(B.JSArray_methods.get$first(environment._environment0$_variableNodes), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure12(), type$.Map_String_AstNode_2), type$.AstNode_2);
      t5 = type$.Map_String_Callable_2;
      t6 = type$.Callable_2;
      t7 = A._EnvironmentModule__memberMap1(B.JSArray_methods.get$first(environment._environment0$_functions), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure13(), t5), t6);
      t6 = A._EnvironmentModule__memberMap1(B.JSArray_methods.get$first(environment._environment0$_mixins), forwarded.map$1$1(0, new A._EnvironmentModule__EnvironmentModule_closure14(), t5), t6);
      t5 = J.get$isNotEmpty$asx(css.get$children(css)) || preModuleComments.get$isNotEmpty(preModuleComments) || B.JSArray_methods.any$1(environment._environment0$_allModules, new A._EnvironmentModule__EnvironmentModule_closure15());
      return A._EnvironmentModule$_1(environment, css, t1, extensionStore, t2, t3, t4, t7, t6, t5, !extensionStore.get$isEmpty(extensionStore) || B.JSArray_methods.any$1(environment._environment0$_allModules, new A._EnvironmentModule__EnvironmentModule_closure16()));
    },
    _EnvironmentModule__makeModulesByVariable1(forwarded) {
      var modulesByVariable, t1, t2, t3, t4, t5;
      if (forwarded.get$isEmpty(forwarded))
        return B.Map_empty10;
      modulesByVariable = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Module_Callable_2);
      for (t1 = forwarded.get$iterator(forwarded); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (t2 instanceof A._EnvironmentModule1) {
          for (t3 = t2._environment0$_modulesByVariable, t3 = t3.get$values(t3), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
            t4 = t3.get$current(t3);
            t5 = t4.get$variables();
            A.setAll0(modulesByVariable, t5.get$keys(t5), t4);
          }
          A.setAll0(modulesByVariable, J.get$keys$z(B.JSArray_methods.get$first(t2._environment0$_environment._environment0$_variables)), t2);
        } else {
          t3 = t2.get$variables();
          A.setAll0(modulesByVariable, t3.get$keys(t3), t2);
        }
      }
      return modulesByVariable;
    },
    _EnvironmentModule__memberMap1(localMap, otherMaps, $V) {
      var t1, t2, t3;
      localMap = new A.PublicMemberMapView0(localMap, $V._eval$1("PublicMemberMapView0<0>"));
      if (otherMaps.get$isEmpty(otherMaps))
        return localMap;
      t1 = A._setArrayType([], $V._eval$1("JSArray>"));
      for (t2 = otherMaps.get$iterator(otherMaps); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        if (t3.get$isNotEmpty(t3))
          t1.push(t3);
      }
      t1.push(localMap);
      if (t1.length === 1)
        return localMap;
      return A.MergedMapView$0(t1, type$.String, $V);
    },
    _EnvironmentModule$_1(_environment, css, preModuleComments, extensionStore, _modulesByVariable, variables, variableNodes, functions, mixins, transitivelyContainsCss, transitivelyContainsExtensions) {
      return new A._EnvironmentModule1(_environment._environment0$_allModules, variables, variableNodes, functions, mixins, extensionStore, css, preModuleComments, transitivelyContainsCss, transitivelyContainsExtensions, _environment, _modulesByVariable);
    },
    Environment0: function Environment0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._environment0$_modules = t0;
      _._environment0$_namespaceNodes = t1;
      _._environment0$_globalModules = t2;
      _._environment0$_importedModules = t3;
      _._environment0$_forwardedModules = t4;
      _._environment0$_nestedForwardedModules = t5;
      _._environment0$_allModules = t6;
      _._environment0$_variables = t7;
      _._environment0$_variableNodes = t8;
      _._environment0$_variableIndices = t9;
      _._environment0$_functions = t10;
      _._environment0$_functionIndices = t11;
      _._environment0$_mixins = t12;
      _._environment0$_mixinIndices = t13;
      _._environment0$_content = t14;
      _._environment0$_inMixin = false;
      _._environment0$_inSemiGlobalScope = true;
      _._environment0$_lastVariableIndex = _._environment0$_lastVariableName = null;
    },
    Environment__getVariableFromGlobalModule_closure0: function Environment__getVariableFromGlobalModule_closure0(t0) {
      this.name = t0;
    },
    Environment_setVariable_closure2: function Environment_setVariable_closure2(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    Environment_setVariable_closure3: function Environment_setVariable_closure3(t0) {
      this.name = t0;
    },
    Environment_setVariable_closure4: function Environment_setVariable_closure4(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    Environment__getFunctionFromGlobalModule_closure0: function Environment__getFunctionFromGlobalModule_closure0(t0) {
      this.name = t0;
    },
    Environment__getMixinFromGlobalModule_closure0: function Environment__getMixinFromGlobalModule_closure0(t0) {
      this.name = t0;
    },
    Environment_toModule_closure0: function Environment_toModule_closure0() {
    },
    Environment_toDummyModule_closure0: function Environment_toDummyModule_closure0() {
    },
    _EnvironmentModule1: function _EnvironmentModule1(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.upstream = t0;
      _.variables = t1;
      _.variableNodes = t2;
      _.functions = t3;
      _.mixins = t4;
      _.extensionStore = t5;
      _.css = t6;
      _.preModuleComments = t7;
      _.transitivelyContainsCss = t8;
      _.transitivelyContainsExtensions = t9;
      _._environment0$_environment = t10;
      _._environment0$_modulesByVariable = t11;
    },
    _EnvironmentModule__EnvironmentModule_closure11: function _EnvironmentModule__EnvironmentModule_closure11() {
    },
    _EnvironmentModule__EnvironmentModule_closure12: function _EnvironmentModule__EnvironmentModule_closure12() {
    },
    _EnvironmentModule__EnvironmentModule_closure13: function _EnvironmentModule__EnvironmentModule_closure13() {
    },
    _EnvironmentModule__EnvironmentModule_closure14: function _EnvironmentModule__EnvironmentModule_closure14() {
    },
    _EnvironmentModule__EnvironmentModule_closure15: function _EnvironmentModule__EnvironmentModule_closure15() {
    },
    _EnvironmentModule__EnvironmentModule_closure16: function _EnvironmentModule__EnvironmentModule_closure16() {
    },
    ErrorRule0: function ErrorRule0(t0, t1) {
      this.expression = t0;
      this.span = t1;
    },
    _EvaluateVisitor$1(functions, importCache, logger, nodeImporter, quietDeps, sourceMap) {
      var t4,
        t1 = type$.Uri,
        t2 = type$.Module_Callable_2,
        t3 = A._setArrayType([], type$.JSArray_Record_2_String_and_AstNode_2);
      if (importCache == null)
        t4 = nodeImporter == null ? A.ImportCache$none(logger) : null;
      else
        t4 = importCache;
      t1 = new A._EvaluateVisitor1(t4, nodeImporter, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Callable_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Configuration_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AstNode_2), logger, A.LinkedHashSet_LinkedHashSet$_empty(type$.Record_2_String_and_SourceSpan), quietDeps, sourceMap, A.Environment$0(), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.nullable_AstNode_2), t3, B.Configuration_Map_empty_null0);
      t1._EvaluateVisitor$6$functions$importCache$logger$nodeImporter$quietDeps$sourceMap1(functions, importCache, logger, nodeImporter, quietDeps, sourceMap);
      return t1;
    },
    _EvaluateVisitor1: function _EvaluateVisitor1(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _._evaluate0$_importCache = t0;
      _._nodeImporter = t1;
      _._evaluate0$_builtInFunctions = t2;
      _._evaluate0$_builtInModules = t3;
      _._evaluate0$_modules = t4;
      _._evaluate0$_moduleConfigurations = t5;
      _._evaluate0$_moduleNodes = t6;
      _._evaluate0$_logger = t7;
      _._evaluate0$_warningsEmitted = t8;
      _._evaluate0$_quietDeps = t9;
      _._evaluate0$_sourceMap = t10;
      _._evaluate0$_environment = t11;
      _._evaluate0$_declarationName = _._evaluate0$__parent = _._evaluate0$_mediaQuerySources = _._evaluate0$_mediaQueries = _._evaluate0$_styleRuleIgnoringAtRoot = null;
      _._evaluate0$_member = "root stylesheet";
      _._evaluate0$_importSpan = _._evaluate0$_callableNode = _._evaluate0$_currentCallable = null;
      _._evaluate0$_inSupportsDeclaration = _._evaluate0$_inKeyframes = _._evaluate0$_atRootExcludingStyleRule = _._evaluate0$_inUnknownAtRule = _._evaluate0$_inFunction = false;
      _._evaluate0$_loadedUrls = t12;
      _._evaluate0$_activeModules = t13;
      _._evaluate0$_stack = t14;
      _._evaluate0$_importer = null;
      _._evaluate0$_inDependency = false;
      _._evaluate0$__extensionStore = _._evaluate0$_preModuleComments = _._evaluate0$_outOfOrderImports = _._evaluate0$__endOfImports = _._evaluate0$__root = _._evaluate0$__stylesheet = null;
      _._evaluate0$_configuration = t15;
    },
    _EvaluateVisitor_closure25: function _EvaluateVisitor_closure25(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure26: function _EvaluateVisitor_closure26(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure27: function _EvaluateVisitor_closure27(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure28: function _EvaluateVisitor_closure28(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure29: function _EvaluateVisitor_closure29(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure30: function _EvaluateVisitor_closure30(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure31: function _EvaluateVisitor_closure31(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure32: function _EvaluateVisitor_closure32(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure33: function _EvaluateVisitor_closure33(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__closure10: function _EvaluateVisitor__closure10(t0, t1, t2) {
      this.$this = t0;
      this.name = t1;
      this.module = t2;
    },
    _EvaluateVisitor_closure34: function _EvaluateVisitor_closure34(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__closure9: function _EvaluateVisitor__closure9(t0, t1, t2) {
      this.$this = t0;
      this.name = t1;
      this.module = t2;
    },
    _EvaluateVisitor_closure35: function _EvaluateVisitor_closure35(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure36: function _EvaluateVisitor_closure36(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__closure7: function _EvaluateVisitor__closure7(t0, t1, t2) {
      this.values = t0;
      this.span = t1;
      this.callableNode = t2;
    },
    _EvaluateVisitor__closure8: function _EvaluateVisitor__closure8(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_closure37: function _EvaluateVisitor_closure37(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_run_closure1: function _EvaluateVisitor_run_closure1(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.importer = t2;
    },
    _EvaluateVisitor_run__closure1: function _EvaluateVisitor_run__closure1(t0, t1, t2) {
      this.$this = t0;
      this.importer = t1;
      this.node = t2;
    },
    _EvaluateVisitor__loadModule_closure3: function _EvaluateVisitor__loadModule_closure3(t0, t1) {
      this._box_1 = t0;
      this.callback = t1;
    },
    _EvaluateVisitor__loadModule_closure4: function _EvaluateVisitor__loadModule_closure4(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.url = t1;
      _.nodeWithSpan = t2;
      _.baseUrl = t3;
      _.namesInErrors = t4;
      _.configuration = t5;
      _.callback = t6;
    },
    _EvaluateVisitor__loadModule__closure3: function _EvaluateVisitor__loadModule__closure3(t0, t1) {
      this.$this = t0;
      this.message = t1;
    },
    _EvaluateVisitor__loadModule__closure4: function _EvaluateVisitor__loadModule__closure4(t0, t1, t2) {
      this._box_0 = t0;
      this.callback = t1;
      this.firstLoad = t2;
    },
    _EvaluateVisitor__execute_closure1: function _EvaluateVisitor__execute_closure1(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.importer = t1;
      _.stylesheet = t2;
      _.extensionStore = t3;
      _.configuration = t4;
      _.css = t5;
      _.preModuleComments = t6;
    },
    _EvaluateVisitor__combineCss_closure3: function _EvaluateVisitor__combineCss_closure3() {
    },
    _EvaluateVisitor__combineCss_closure4: function _EvaluateVisitor__combineCss_closure4(t0) {
      this.selectors = t0;
    },
    _EvaluateVisitor__combineCss_visitModule1: function _EvaluateVisitor__combineCss_visitModule1(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.seen = t1;
      _.clone = t2;
      _.css = t3;
      _.imports = t4;
      _.sorted = t5;
    },
    _EvaluateVisitor__extendModules_closure3: function _EvaluateVisitor__extendModules_closure3(t0) {
      this.originalSelectors = t0;
    },
    _EvaluateVisitor__extendModules_closure4: function _EvaluateVisitor__extendModules_closure4() {
    },
    _EvaluateVisitor_visitAtRootRule_closure3: function _EvaluateVisitor_visitAtRootRule_closure3(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitAtRootRule_closure4: function _EvaluateVisitor_visitAtRootRule_closure4(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure11: function _EvaluateVisitor__scopeForAtRoot_closure11(t0, t1, t2) {
      this.$this = t0;
      this.newParent = t1;
      this.node = t2;
    },
    _EvaluateVisitor__scopeForAtRoot_closure12: function _EvaluateVisitor__scopeForAtRoot_closure12(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure13: function _EvaluateVisitor__scopeForAtRoot_closure13(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor__scopeForAtRoot__closure1: function _EvaluateVisitor__scopeForAtRoot__closure1(t0, t1) {
      this.innerScope = t0;
      this.callback = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure14: function _EvaluateVisitor__scopeForAtRoot_closure14(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor__scopeForAtRoot_closure15: function _EvaluateVisitor__scopeForAtRoot_closure15() {
    },
    _EvaluateVisitor__scopeForAtRoot_closure16: function _EvaluateVisitor__scopeForAtRoot_closure16(t0, t1) {
      this.$this = t0;
      this.innerScope = t1;
    },
    _EvaluateVisitor_visitContentRule_closure1: function _EvaluateVisitor_visitContentRule_closure1(t0, t1) {
      this.$this = t0;
      this.content = t1;
    },
    _EvaluateVisitor_visitDeclaration_closure1: function _EvaluateVisitor_visitDeclaration_closure1(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _EvaluateVisitor_visitEachRule_closure5: function _EvaluateVisitor_visitEachRule_closure5(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.nodeWithSpan = t2;
    },
    _EvaluateVisitor_visitEachRule_closure6: function _EvaluateVisitor_visitEachRule_closure6(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.nodeWithSpan = t2;
    },
    _EvaluateVisitor_visitEachRule_closure7: function _EvaluateVisitor_visitEachRule_closure7(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.list = t1;
      _.setVariables = t2;
      _.node = t3;
    },
    _EvaluateVisitor_visitEachRule__closure1: function _EvaluateVisitor_visitEachRule__closure1(t0, t1, t2) {
      this.$this = t0;
      this.setVariables = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitEachRule___closure1: function _EvaluateVisitor_visitEachRule___closure1(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitAtRule_closure5: function _EvaluateVisitor_visitAtRule_closure5(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitAtRule_closure6: function _EvaluateVisitor_visitAtRule_closure6(t0, t1, t2) {
      this.$this = t0;
      this.name = t1;
      this.children = t2;
    },
    _EvaluateVisitor_visitAtRule__closure1: function _EvaluateVisitor_visitAtRule__closure1(t0, t1) {
      this.$this = t0;
      this.children = t1;
    },
    _EvaluateVisitor_visitAtRule_closure7: function _EvaluateVisitor_visitAtRule_closure7() {
    },
    _EvaluateVisitor_visitForRule_closure9: function _EvaluateVisitor_visitForRule_closure9(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitForRule_closure10: function _EvaluateVisitor_visitForRule_closure10(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitForRule_closure11: function _EvaluateVisitor_visitForRule_closure11(t0) {
      this.fromNumber = t0;
    },
    _EvaluateVisitor_visitForRule_closure12: function _EvaluateVisitor_visitForRule_closure12(t0, t1) {
      this.toNumber = t0;
      this.fromNumber = t1;
    },
    _EvaluateVisitor_visitForRule_closure13: function _EvaluateVisitor_visitForRule_closure13(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.node = t2;
      _.from = t3;
      _.direction = t4;
      _.fromNumber = t5;
    },
    _EvaluateVisitor_visitForRule__closure1: function _EvaluateVisitor_visitForRule__closure1(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitForwardRule_closure3: function _EvaluateVisitor_visitForwardRule_closure3(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitForwardRule_closure4: function _EvaluateVisitor_visitForwardRule_closure4(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__registerCommentsForModule_closure1: function _EvaluateVisitor__registerCommentsForModule_closure1() {
    },
    _EvaluateVisitor_visitIfRule_closure1: function _EvaluateVisitor_visitIfRule_closure1(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitIfRule__closure1: function _EvaluateVisitor_visitIfRule__closure1(t0, t1) {
      this.$this = t0;
      this.clause = t1;
    },
    _EvaluateVisitor_visitIfRule___closure1: function _EvaluateVisitor_visitIfRule___closure1(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__visitDynamicImport_closure1: function _EvaluateVisitor__visitDynamicImport_closure1(t0, t1) {
      this.$this = t0;
      this.$import = t1;
    },
    _EvaluateVisitor__visitDynamicImport__closure7: function _EvaluateVisitor__visitDynamicImport__closure7(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor__visitDynamicImport__closure8: function _EvaluateVisitor__visitDynamicImport__closure8() {
    },
    _EvaluateVisitor__visitDynamicImport__closure9: function _EvaluateVisitor__visitDynamicImport__closure9() {
    },
    _EvaluateVisitor__visitDynamicImport__closure10: function _EvaluateVisitor__visitDynamicImport__closure10(t0, t1, t2, t3, t4) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.loadsUserDefinedModules = t2;
      _.environment = t3;
      _.children = t4;
    },
    _EvaluateVisitor__applyMixin_closure3: function _EvaluateVisitor__applyMixin_closure3(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.$arguments = t1;
      _.mixin = t2;
      _.nodeWithSpanWithoutContent = t3;
    },
    _EvaluateVisitor__applyMixin__closure4: function _EvaluateVisitor__applyMixin__closure4(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.$arguments = t1;
      _.mixin = t2;
      _.nodeWithSpanWithoutContent = t3;
    },
    _EvaluateVisitor__applyMixin_closure4: function _EvaluateVisitor__applyMixin_closure4(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.contentCallable = t1;
      _.mixin = t2;
      _.nodeWithSpanWithoutContent = t3;
    },
    _EvaluateVisitor__applyMixin__closure3: function _EvaluateVisitor__applyMixin__closure3(t0, t1, t2) {
      this.$this = t0;
      this.mixin = t1;
      this.nodeWithSpanWithoutContent = t2;
    },
    _EvaluateVisitor__applyMixin___closure1: function _EvaluateVisitor__applyMixin___closure1(t0, t1, t2) {
      this.$this = t0;
      this.mixin = t1;
      this.nodeWithSpanWithoutContent = t2;
    },
    _EvaluateVisitor__applyMixin____closure1: function _EvaluateVisitor__applyMixin____closure1(t0, t1) {
      this.$this = t0;
      this.statement = t1;
    },
    _EvaluateVisitor_visitIncludeRule_closure5: function _EvaluateVisitor_visitIncludeRule_closure5(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitIncludeRule_closure6: function _EvaluateVisitor_visitIncludeRule_closure6(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitIncludeRule_closure7: function _EvaluateVisitor_visitIncludeRule_closure7(t0) {
      this.node = t0;
    },
    _EvaluateVisitor_visitMediaRule_closure5: function _EvaluateVisitor_visitMediaRule_closure5(t0, t1) {
      this.$this = t0;
      this.queries = t1;
    },
    _EvaluateVisitor_visitMediaRule_closure6: function _EvaluateVisitor_visitMediaRule_closure6(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.mergedQueries = t1;
      _.queries = t2;
      _.mergedSources = t3;
      _.node = t4;
    },
    _EvaluateVisitor_visitMediaRule__closure1: function _EvaluateVisitor_visitMediaRule__closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitMediaRule___closure1: function _EvaluateVisitor_visitMediaRule___closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitMediaRule_closure7: function _EvaluateVisitor_visitMediaRule_closure7(t0) {
      this.mergedSources = t0;
    },
    _EvaluateVisitor_visitStyleRule_closure7: function _EvaluateVisitor_visitStyleRule_closure7(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitStyleRule_closure8: function _EvaluateVisitor_visitStyleRule_closure8() {
    },
    _EvaluateVisitor_visitStyleRule_closure10: function _EvaluateVisitor_visitStyleRule_closure10(t0, t1, t2) {
      this.$this = t0;
      this.rule = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitStyleRule__closure1: function _EvaluateVisitor_visitStyleRule__closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitStyleRule_closure9: function _EvaluateVisitor_visitStyleRule_closure9() {
    },
    _EvaluateVisitor__warnForBogusCombinators_closure1: function _EvaluateVisitor__warnForBogusCombinators_closure1() {
    },
    _EvaluateVisitor_visitSupportsRule_closure3: function _EvaluateVisitor_visitSupportsRule_closure3(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitSupportsRule__closure1: function _EvaluateVisitor_visitSupportsRule__closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitSupportsRule_closure4: function _EvaluateVisitor_visitSupportsRule_closure4() {
    },
    _EvaluateVisitor__visitSupportsCondition_closure1: function _EvaluateVisitor__visitSupportsCondition_closure1(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _EvaluateVisitor_visitVariableDeclaration_closure5: function _EvaluateVisitor_visitVariableDeclaration_closure5(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitVariableDeclaration_closure6: function _EvaluateVisitor_visitVariableDeclaration_closure6(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitVariableDeclaration_closure7: function _EvaluateVisitor_visitVariableDeclaration_closure7(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.value = t2;
    },
    _EvaluateVisitor_visitUseRule_closure1: function _EvaluateVisitor_visitUseRule_closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitWarnRule_closure1: function _EvaluateVisitor_visitWarnRule_closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitWhileRule_closure1: function _EvaluateVisitor_visitWhileRule_closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitWhileRule__closure1: function _EvaluateVisitor_visitWhileRule__closure1(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitBinaryOperationExpression_closure1: function _EvaluateVisitor_visitBinaryOperationExpression_closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__slash_recommendation1: function _EvaluateVisitor__slash_recommendation1() {
    },
    _EvaluateVisitor_visitVariableExpression_closure1: function _EvaluateVisitor_visitVariableExpression_closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitUnaryOperationExpression_closure1: function _EvaluateVisitor_visitUnaryOperationExpression_closure1(t0, t1) {
      this.node = t0;
      this.operand = t1;
    },
    _EvaluateVisitor_visitListExpression_closure1: function _EvaluateVisitor_visitListExpression_closure1(t0) {
      this.$this = t0;
    },
    _EvaluateVisitor_visitFunctionExpression_closure5: function _EvaluateVisitor_visitFunctionExpression_closure5(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitFunctionExpression_closure6: function _EvaluateVisitor_visitFunctionExpression_closure6() {
    },
    _EvaluateVisitor_visitFunctionExpression_closure7: function _EvaluateVisitor_visitFunctionExpression_closure7(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.node = t2;
    },
    _EvaluateVisitor__checkCalculationArguments_check1: function _EvaluateVisitor__checkCalculationArguments_check1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor__visitCalculationExpression_closure1: function _EvaluateVisitor__visitCalculationExpression_closure1(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.node = t2;
      _.inLegacySassFunction = t3;
    },
    _EvaluateVisitor_visitInterpolatedFunctionExpression_closure1: function _EvaluateVisitor_visitInterpolatedFunctionExpression_closure1(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.$function = t2;
    },
    _EvaluateVisitor__runUserDefinedCallable_closure1: function _EvaluateVisitor__runUserDefinedCallable_closure1(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.callable = t1;
      _.evaluated = t2;
      _.nodeWithSpan = t3;
      _.run = t4;
      _.V = t5;
    },
    _EvaluateVisitor__runUserDefinedCallable__closure1: function _EvaluateVisitor__runUserDefinedCallable__closure1(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.evaluated = t1;
      _.callable = t2;
      _.nodeWithSpan = t3;
      _.run = t4;
      _.V = t5;
    },
    _EvaluateVisitor__runUserDefinedCallable___closure1: function _EvaluateVisitor__runUserDefinedCallable___closure1(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.evaluated = t1;
      _.callable = t2;
      _.nodeWithSpan = t3;
      _.run = t4;
      _.V = t5;
    },
    _EvaluateVisitor__runUserDefinedCallable____closure1: function _EvaluateVisitor__runUserDefinedCallable____closure1() {
    },
    _EvaluateVisitor__runFunctionCallable_closure1: function _EvaluateVisitor__runFunctionCallable_closure1(t0, t1) {
      this.$this = t0;
      this.callable = t1;
    },
    _EvaluateVisitor__runBuiltInCallable_closure5: function _EvaluateVisitor__runBuiltInCallable_closure5(t0, t1, t2) {
      this._box_0 = t0;
      this.evaluated = t1;
      this.namedSet = t2;
    },
    _EvaluateVisitor__runBuiltInCallable_closure6: function _EvaluateVisitor__runBuiltInCallable_closure6(t0, t1) {
      this._box_0 = t0;
      this.evaluated = t1;
    },
    _EvaluateVisitor__runBuiltInCallable_closure7: function _EvaluateVisitor__runBuiltInCallable_closure7() {
    },
    _EvaluateVisitor__evaluateArguments_closure7: function _EvaluateVisitor__evaluateArguments_closure7() {
    },
    _EvaluateVisitor__evaluateArguments_closure8: function _EvaluateVisitor__evaluateArguments_closure8(t0, t1) {
      this.$this = t0;
      this.restNodeForSpan = t1;
    },
    _EvaluateVisitor__evaluateArguments_closure9: function _EvaluateVisitor__evaluateArguments_closure9(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.named = t1;
      _.restNodeForSpan = t2;
      _.namedNodes = t3;
    },
    _EvaluateVisitor__evaluateArguments_closure10: function _EvaluateVisitor__evaluateArguments_closure10() {
    },
    _EvaluateVisitor__evaluateMacroArguments_closure7: function _EvaluateVisitor__evaluateMacroArguments_closure7(t0) {
      this.restArgs = t0;
    },
    _EvaluateVisitor__evaluateMacroArguments_closure8: function _EvaluateVisitor__evaluateMacroArguments_closure8(t0, t1, t2) {
      this.$this = t0;
      this.restNodeForSpan = t1;
      this.restArgs = t2;
    },
    _EvaluateVisitor__evaluateMacroArguments_closure9: function _EvaluateVisitor__evaluateMacroArguments_closure9(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.named = t1;
      _.restNodeForSpan = t2;
      _.restArgs = t3;
    },
    _EvaluateVisitor__evaluateMacroArguments_closure10: function _EvaluateVisitor__evaluateMacroArguments_closure10(t0, t1, t2) {
      this.$this = t0;
      this.keywordRestNodeForSpan = t1;
      this.keywordRestArgs = t2;
    },
    _EvaluateVisitor__addRestMap_closure1: function _EvaluateVisitor__addRestMap_closure1(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.values = t1;
      _.convert = t2;
      _.expressionNode = t3;
      _.map = t4;
      _.nodeWithSpan = t5;
    },
    _EvaluateVisitor__verifyArguments_closure1: function _EvaluateVisitor__verifyArguments_closure1(t0, t1, t2) {
      this.$arguments = t0;
      this.positional = t1;
      this.named = t2;
    },
    _EvaluateVisitor_visitCssAtRule_closure3: function _EvaluateVisitor_visitCssAtRule_closure3(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssAtRule_closure4: function _EvaluateVisitor_visitCssAtRule_closure4() {
    },
    _EvaluateVisitor_visitCssKeyframeBlock_closure3: function _EvaluateVisitor_visitCssKeyframeBlock_closure3(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssKeyframeBlock_closure4: function _EvaluateVisitor_visitCssKeyframeBlock_closure4() {
    },
    _EvaluateVisitor_visitCssMediaRule_closure5: function _EvaluateVisitor_visitCssMediaRule_closure5(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssMediaRule_closure6: function _EvaluateVisitor_visitCssMediaRule_closure6(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.mergedQueries = t1;
      _.node = t2;
      _.mergedSources = t3;
    },
    _EvaluateVisitor_visitCssMediaRule__closure1: function _EvaluateVisitor_visitCssMediaRule__closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssMediaRule___closure1: function _EvaluateVisitor_visitCssMediaRule___closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssMediaRule_closure7: function _EvaluateVisitor_visitCssMediaRule_closure7(t0) {
      this.mergedSources = t0;
    },
    _EvaluateVisitor_visitCssStyleRule_closure4: function _EvaluateVisitor_visitCssStyleRule_closure4(t0, t1, t2) {
      this.$this = t0;
      this.rule = t1;
      this.node = t2;
    },
    _EvaluateVisitor_visitCssStyleRule__closure1: function _EvaluateVisitor_visitCssStyleRule__closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssStyleRule_closure3: function _EvaluateVisitor_visitCssStyleRule_closure3() {
    },
    _EvaluateVisitor_visitCssSupportsRule_closure3: function _EvaluateVisitor_visitCssSupportsRule_closure3(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssSupportsRule__closure1: function _EvaluateVisitor_visitCssSupportsRule__closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _EvaluateVisitor_visitCssSupportsRule_closure4: function _EvaluateVisitor_visitCssSupportsRule_closure4() {
    },
    _EvaluateVisitor__performInterpolationHelper_closure1: function _EvaluateVisitor__performInterpolationHelper_closure1(t0) {
      this.interpolation = t0;
    },
    _EvaluateVisitor__serialize_closure1: function _EvaluateVisitor__serialize_closure1(t0, t1) {
      this.value = t0;
      this.quote = t1;
    },
    _EvaluateVisitor__expressionNode_closure1: function _EvaluateVisitor__expressionNode_closure1(t0, t1) {
      this.$this = t0;
      this.expression = t1;
    },
    _EvaluateVisitor__withoutSlash_recommendation1: function _EvaluateVisitor__withoutSlash_recommendation1() {
    },
    _EvaluateVisitor__stackFrame_closure1: function _EvaluateVisitor__stackFrame_closure1(t0) {
      this.$this = t0;
    },
    _ImportedCssVisitor1: function _ImportedCssVisitor1(t0) {
      this._evaluate0$_visitor = t0;
    },
    _ImportedCssVisitor_visitCssAtRule_closure1: function _ImportedCssVisitor_visitCssAtRule_closure1() {
    },
    _ImportedCssVisitor_visitCssMediaRule_closure1: function _ImportedCssVisitor_visitCssMediaRule_closure1(t0) {
      this.hasBeenMerged = t0;
    },
    _ImportedCssVisitor_visitCssStyleRule_closure1: function _ImportedCssVisitor_visitCssStyleRule_closure1() {
    },
    _ImportedCssVisitor_visitCssSupportsRule_closure1: function _ImportedCssVisitor_visitCssSupportsRule_closure1() {
    },
    _EvaluationContext1: function _EvaluationContext1(t0, t1) {
      this._evaluate0$_visitor = t0;
      this._evaluate0$_defaultWarnNodeWithSpan = t1;
    },
    EveryCssVisitor0: function EveryCssVisitor0() {
    },
    EveryCssVisitor_visitCssAtRule_closure0: function EveryCssVisitor_visitCssAtRule_closure0(t0) {
      this.$this = t0;
    },
    EveryCssVisitor_visitCssKeyframeBlock_closure0: function EveryCssVisitor_visitCssKeyframeBlock_closure0(t0) {
      this.$this = t0;
    },
    EveryCssVisitor_visitCssMediaRule_closure0: function EveryCssVisitor_visitCssMediaRule_closure0(t0) {
      this.$this = t0;
    },
    EveryCssVisitor_visitCssStyleRule_closure0: function EveryCssVisitor_visitCssStyleRule_closure0(t0) {
      this.$this = t0;
    },
    EveryCssVisitor_visitCssStylesheet_closure0: function EveryCssVisitor_visitCssStylesheet_closure0(t0) {
      this.$this = t0;
    },
    EveryCssVisitor_visitCssSupportsRule_closure0: function EveryCssVisitor_visitCssSupportsRule_closure0(t0) {
      this.$this = t0;
    },
    throwNodeException(exception, ascii, color, trace) {
      var wasAscii, jsException, t1, trace0;
      trace = trace;
      wasAscii = $._glyphs === B.C_AsciiGlyphSet;
      $._glyphs = ascii ? B.C_AsciiGlyphSet : B.C_UnicodeGlyphSet;
      try {
        t1 = A.callConstructor($.$get$exceptionClass(), [exception, B.JSString_methods.replaceFirst$2(exception.toString$1$color(0, color), "Error: ", "")]);
        jsException = type$._NodeException._as(t1);
        trace0 = A.getTrace0(exception);
        trace = trace0 == null ? trace : trace0;
        if (trace != null)
          A.attachJsStack(jsException, trace);
        A.jsThrow(jsException);
      } finally {
        $._glyphs = wasAscii ? B.C_AsciiGlyphSet : B.C_UnicodeGlyphSet;
      }
    },
    _NodeException: function _NodeException() {
    },
    exceptionClass_closure: function exceptionClass_closure() {
    },
    exceptionClass__closure: function exceptionClass__closure() {
    },
    exceptionClass__closure0: function exceptionClass__closure0() {
    },
    exceptionClass__closure1: function exceptionClass__closure1() {
    },
    SassException$0(message, span, loadedUrls) {
      return new A.SassException0(loadedUrls == null ? B.Set_empty : A.Set_Set$unmodifiable(loadedUrls, type$.Uri), message, span);
    },
    MultiSpanSassException$0(message, span, primaryLabel, secondarySpans, loadedUrls) {
      var t1 = A.ConstantMap_ConstantMap$from(secondarySpans, type$.FileSpan, type$.String);
      return new A.MultiSpanSassException0(primaryLabel, t1, loadedUrls == null ? B.Set_empty : A.Set_Set$unmodifiable(loadedUrls, type$.Uri), message, span);
    },
    SassRuntimeException$0(message, span, trace, loadedUrls) {
      return new A.SassRuntimeException0(trace, loadedUrls == null ? B.Set_empty : A.Set_Set$unmodifiable(loadedUrls, type$.Uri), message, span);
    },
    MultiSpanSassRuntimeException$0(message, span, primaryLabel, secondarySpans, trace, loadedUrls) {
      var t1 = A.ConstantMap_ConstantMap$from(secondarySpans, type$.FileSpan, type$.String);
      return new A.MultiSpanSassRuntimeException0(trace, primaryLabel, t1, loadedUrls == null ? B.Set_empty : A.Set_Set$unmodifiable(loadedUrls, type$.Uri), message, span);
    },
    SassFormatException$0(message, span, loadedUrls) {
      return new A.SassFormatException0(loadedUrls == null ? B.Set_empty : A.Set_Set$unmodifiable(loadedUrls, type$.Uri), message, span);
    },
    MultiSpanSassFormatException$0(message, span, primaryLabel, secondarySpans, loadedUrls) {
      var t1 = A.ConstantMap_ConstantMap$from(secondarySpans, type$.FileSpan, type$.String);
      return new A.MultiSpanSassFormatException0(primaryLabel, t1, loadedUrls == null ? B.Set_empty : A.Set_Set$unmodifiable(loadedUrls, type$.Uri), message, span);
    },
    SassScriptException$0(message, argumentName) {
      return new A.SassScriptException0(argumentName == null ? message : "$" + argumentName + ": " + message);
    },
    MultiSpanSassScriptException$0(message, primaryLabel, secondarySpans) {
      var t1 = A.ConstantMap_ConstantMap$from(secondarySpans, type$.FileSpan, type$.String);
      return new A.MultiSpanSassScriptException0(primaryLabel, t1, message);
    },
    SassException0: function SassException0(t0, t1, t2) {
      this.loadedUrls = t0;
      this._span_exception$_message = t1;
      this._span = t2;
    },
    MultiSpanSassException0: function MultiSpanSassException0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.primaryLabel = t0;
      _.secondarySpans = t1;
      _.loadedUrls = t2;
      _._span_exception$_message = t3;
      _._span = t4;
    },
    SassRuntimeException0: function SassRuntimeException0(t0, t1, t2, t3) {
      var _ = this;
      _.trace = t0;
      _.loadedUrls = t1;
      _._span_exception$_message = t2;
      _._span = t3;
    },
    MultiSpanSassRuntimeException0: function MultiSpanSassRuntimeException0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.trace = t0;
      _.primaryLabel = t1;
      _.secondarySpans = t2;
      _.loadedUrls = t3;
      _._span_exception$_message = t4;
      _._span = t5;
    },
    SassFormatException0: function SassFormatException0(t0, t1, t2) {
      this.loadedUrls = t0;
      this._span_exception$_message = t1;
      this._span = t2;
    },
    MultiSpanSassFormatException0: function MultiSpanSassFormatException0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.primaryLabel = t0;
      _.secondarySpans = t1;
      _.loadedUrls = t2;
      _._span_exception$_message = t3;
      _._span = t4;
    },
    SassScriptException0: function SassScriptException0(t0) {
      this.message = t0;
    },
    MultiSpanSassScriptException0: function MultiSpanSassScriptException0(t0, t1, t2) {
      this.primaryLabel = t0;
      this.secondarySpans = t1;
      this.message = t2;
    },
    Exports: function Exports() {
    },
    LoggerNamespace: function LoggerNamespace() {
    },
    _IsCalculationSafeVisitor0: function _IsCalculationSafeVisitor0() {
    },
    _IsCalculationSafeVisitor_visitListExpression_closure0: function _IsCalculationSafeVisitor_visitListExpression_closure0(t0) {
      this.$this = t0;
    },
    expressionToCalc0(expression) {
      var t4,
        t1 = A._setArrayType([B.C__MakeExpressionCalculationSafe0.visitBinaryOperationExpression$1(expression)], type$.JSArray_Expression_2),
        t2 = expression.get$span(0),
        t3 = type$.Expression_2;
      t1 = A.List_List$unmodifiable(t1, t3);
      t3 = A.ConstantMap_ConstantMap$from(B.Map_empty14, type$.String, t3);
      t4 = expression.get$span(0);
      return new A.FunctionExpression0(null, A.stringReplaceAllUnchecked("calc", "_", "-"), "calc", new A.ArgumentInvocation0(t1, t3, null, null, t2), t4);
    },
    _MakeExpressionCalculationSafe0: function _MakeExpressionCalculationSafe0() {
    },
    __MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor0: function __MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor0() {
    },
    ExtendRule0: function ExtendRule0(t0, t1, t2) {
      this.selector = t0;
      this.isOptional = t1;
      this.span = t2;
    },
    Extension0: function Extension0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.extender = t0;
      _.target = t1;
      _.mediaContext = t2;
      _.isOptional = t3;
      _.span = t4;
    },
    Extender0: function Extender0(t0, t1) {
      this.selector = t0;
      this.isOriginal = t1;
      this._extension$_extension = null;
    },
    ExtensionStore__extendOrReplace0(selector, source, targets, mode, span) {
      var t1, t2, t3, t4, t5, t6, t7, t8, _i, complex, compound, t9, t10, t11, _i0, simple, t12, _i1, t13, t14,
        extender = A.ExtensionStore$_mode0(mode);
      if (!selector.accept$1(B._IsInvisibleVisitor_true0))
        extender._extension_store$_originals.addAll$1(0, selector.components);
      for (t1 = targets.components, t2 = t1.length, t3 = source.components, t4 = t3.length, t5 = type$.ComplexSelector_2, t6 = type$.Extension_2, t7 = type$.SimpleSelector_2, t8 = type$.Map_ComplexSelector_Extension_2, _i = 0; _i < t2; ++_i) {
        complex = t1[_i];
        compound = complex.get$singleCompound();
        if (compound == null)
          throw A.wrapException(A.SassScriptException$0("Can't extend complex selector " + A.S(complex) + ".", null));
        t9 = A.LinkedHashMap_LinkedHashMap$_empty(t7, t8);
        for (t10 = compound.components, t11 = t10.length, _i0 = 0; _i0 < t11; ++_i0) {
          simple = t10[_i0];
          t12 = A.LinkedHashMap_LinkedHashMap$_empty(t5, t6);
          for (_i1 = 0; _i1 < t4; ++_i1) {
            complex = t3[_i1];
            complex.get$specificity();
            t13 = new A.Extender0(complex, false);
            t14 = new A.Extension0(t13, simple, null, true, span);
            t13._extension$_extension = t14;
            t12.$indexSet(0, complex, t14);
          }
          t9.$indexSet(0, simple, t12);
        }
        selector = extender._extension_store$_extendList$2(selector, t9);
      }
      return selector;
    },
    ExtensionStore$0() {
      var t1 = type$.SimpleSelector_2;
      return new A.ExtensionStore0(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Set_ModifiableBox_SelectorList_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Map_ComplexSelector_Extension_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.List_Extension_2), A.LinkedHashMap_LinkedHashMap$_empty(type$.ModifiableBox_SelectorList_2, type$.List_CssMediaQuery_2), new A.JsIdentityLinkedHashMap(type$.JsIdentityLinkedHashMap_SimpleSelector_int_2), new A._LinkedIdentityHashSet(type$._LinkedIdentityHashSet_ComplexSelector_2), B.ExtendMode_normal_normal0);
    },
    ExtensionStore$_mode0(_mode) {
      var t1 = type$.SimpleSelector_2;
      return new A.ExtensionStore0(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Set_ModifiableBox_SelectorList_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Map_ComplexSelector_Extension_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.List_Extension_2), A.LinkedHashMap_LinkedHashMap$_empty(type$.ModifiableBox_SelectorList_2, type$.List_CssMediaQuery_2), new A.JsIdentityLinkedHashMap(type$.JsIdentityLinkedHashMap_SimpleSelector_int_2), new A._LinkedIdentityHashSet(type$._LinkedIdentityHashSet_ComplexSelector_2), _mode);
    },
    ExtensionStore0: function ExtensionStore0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._extension_store$_selectors = t0;
      _._extension_store$_extensions = t1;
      _._extension_store$_extensionsByExtender = t2;
      _._extension_store$_mediaContexts = t3;
      _._extension_store$_sourceSpecificity = t4;
      _._extension_store$_originals = t5;
      _._extension_store$_mode = t6;
    },
    ExtensionStore_extensionsWhereTarget_closure0: function ExtensionStore_extensionsWhereTarget_closure0() {
    },
    ExtensionStore__registerSelector_closure0: function ExtensionStore__registerSelector_closure0() {
    },
    ExtensionStore_addExtension_closure2: function ExtensionStore_addExtension_closure2() {
    },
    ExtensionStore_addExtension_closure3: function ExtensionStore_addExtension_closure3() {
    },
    ExtensionStore_addExtension_closure4: function ExtensionStore_addExtension_closure4(t0) {
      this.complex = t0;
    },
    ExtensionStore__extendExistingExtensions_closure1: function ExtensionStore__extendExistingExtensions_closure1() {
    },
    ExtensionStore__extendExistingExtensions_closure2: function ExtensionStore__extendExistingExtensions_closure2() {
    },
    ExtensionStore_addExtensions_closure0: function ExtensionStore_addExtensions_closure0() {
    },
    ExtensionStore__extendComplex_closure0: function ExtensionStore__extendComplex_closure0(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.complex = t2;
    },
    ExtensionStore__extendComplex__closure0: function ExtensionStore__extendComplex__closure0(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.complex = t2;
    },
    ExtensionStore__extendCompound_closure2: function ExtensionStore__extendCompound_closure2() {
    },
    ExtensionStore__extendCompound_closure3: function ExtensionStore__extendCompound_closure3() {
    },
    ExtensionStore__extendCompound_closure4: function ExtensionStore__extendCompound_closure4(t0) {
      this.original = t0;
    },
    ExtensionStore__extendSimple_withoutPseudo0: function ExtensionStore__extendSimple_withoutPseudo0(t0, t1, t2) {
      this.$this = t0;
      this.extensions = t1;
      this.targetsUsed = t2;
    },
    ExtensionStore__extendSimple_closure1: function ExtensionStore__extendSimple_closure1(t0, t1) {
      this.$this = t0;
      this.withoutPseudo = t1;
    },
    ExtensionStore__extendSimple_closure2: function ExtensionStore__extendSimple_closure2() {
    },
    ExtensionStore__extendPseudo_closure4: function ExtensionStore__extendPseudo_closure4() {
    },
    ExtensionStore__extendPseudo_closure5: function ExtensionStore__extendPseudo_closure5() {
    },
    ExtensionStore__extendPseudo_closure6: function ExtensionStore__extendPseudo_closure6() {
    },
    ExtensionStore__extendPseudo_closure7: function ExtensionStore__extendPseudo_closure7(t0) {
      this.pseudo = t0;
    },
    ExtensionStore__extendPseudo_closure8: function ExtensionStore__extendPseudo_closure8(t0, t1) {
      this.pseudo = t0;
      this.selector = t1;
    },
    ExtensionStore__trim_closure1: function ExtensionStore__trim_closure1(t0, t1) {
      this._box_0 = t0;
      this.complex1 = t1;
    },
    ExtensionStore__trim_closure2: function ExtensionStore__trim_closure2(t0, t1) {
      this._box_0 = t0;
      this.complex1 = t1;
    },
    ExtensionStore_clone_closure0: function ExtensionStore_clone_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.newSelectors = t1;
      _.oldToNewSelectors = t2;
      _.newMediaContexts = t3;
    },
    FiberClass: function FiberClass() {
    },
    Fiber: function Fiber() {
    },
    JSToDartFileImporter: function JSToDartFileImporter(t0) {
      this._file0$_findFileUrl = t0;
    },
    JSToDartFileImporter_canonicalize_closure: function JSToDartFileImporter_canonicalize_closure(t0, t1) {
      this.$this = t0;
      this.url = t1;
    },
    FilesystemImporter0: function FilesystemImporter0(t0, t1) {
      this._filesystem$_loadPath = t0;
      this._filesystem$_loadPathDeprecated = t1;
    },
    FilesystemImporter_canonicalize_closure0: function FilesystemImporter_canonicalize_closure0() {
    },
    ForRule$0(variable, from, to, children, span, exclusive) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement_2),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure0());
      return new A.ForRule0(variable, from, to, exclusive, span, t1, t2);
    },
    ForRule0: function ForRule0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.variable = t0;
      _.from = t1;
      _.to = t2;
      _.isExclusive = t3;
      _.span = t4;
      _.children = t5;
      _.hasDeclarations = t6;
    },
    ForwardRule0: function ForwardRule0(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.url = t0;
      _.shownMixinsAndFunctions = t1;
      _.shownVariables = t2;
      _.hiddenMixinsAndFunctions = t3;
      _.hiddenVariables = t4;
      _.prefix = t5;
      _.configuration = t6;
      _.span = t7;
    },
    ForwardedModuleView_ifNecessary0(inner, rule, $T) {
      var t1;
      if (rule.prefix == null)
        if (rule.shownMixinsAndFunctions == null)
          if (rule.shownVariables == null) {
            t1 = rule.hiddenMixinsAndFunctions;
            t1 = t1 == null ? null : t1._base.get$isEmpty(0);
            if (t1 === true) {
              t1 = rule.hiddenVariables;
              t1 = t1 == null ? null : t1._base.get$isEmpty(0);
              t1 = t1 === true;
            } else
              t1 = false;
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      if (t1)
        return inner;
      else
        return A.ForwardedModuleView$0(inner, rule, $T);
    },
    ForwardedModuleView$0(_inner, _rule, $T) {
      var t1 = _rule.prefix,
        t2 = _rule.shownVariables,
        t3 = _rule.hiddenVariables,
        t4 = _rule.shownMixinsAndFunctions,
        t5 = _rule.hiddenMixinsAndFunctions;
      return new A.ForwardedModuleView0(_inner, _rule, A.ForwardedModuleView__forwardedMap0(_inner.get$variables(), t1, t2, t3, type$.Value_2), A.ForwardedModuleView__forwardedMap0(_inner.get$variableNodes(), t1, t2, t3, type$.AstNode_2), A.ForwardedModuleView__forwardedMap0(_inner.get$functions(_inner), t1, t4, t5, $T), A.ForwardedModuleView__forwardedMap0(_inner.get$mixins(), t1, t4, t5, $T), $T._eval$1("ForwardedModuleView0<0>"));
    },
    ForwardedModuleView__forwardedMap0(map, prefix, safelist, blocklist, $V) {
      var t2,
        t1 = prefix == null;
      if (t1)
        if (safelist == null)
          t2 = blocklist == null || blocklist._base.get$isEmpty(0);
        else
          t2 = false;
      else
        t2 = false;
      if (t2)
        return map;
      if (!t1)
        map = new A.PrefixedMapView0(map, prefix, $V._eval$1("PrefixedMapView0<0>"));
      if (safelist != null)
        map = new A.LimitedMapView0(map, safelist._base.intersection$1(new A.MapKeySet(map, type$.MapKeySet_nullable_Object)), type$.$env_1_1_String._bind$1($V)._eval$1("LimitedMapView0<1,2>"));
      else if (blocklist != null && blocklist._base.get$isNotEmpty(0))
        map = A.LimitedMapView$blocklist0(map, blocklist, type$.String, $V);
      return map;
    },
    ForwardedModuleView0: function ForwardedModuleView0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._forwarded_view0$_inner = t0;
      _._forwarded_view0$_rule = t1;
      _.variables = t2;
      _.variableNodes = t3;
      _.functions = t4;
      _.mixins = t5;
      _.$ti = t6;
    },
    FunctionExpression0: function FunctionExpression0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.namespace = t0;
      _.name = t1;
      _.originalName = t2;
      _.$arguments = t3;
      _.span = t4;
    },
    JSFunction0: function JSFunction0() {
    },
    SupportsFunction0: function SupportsFunction0(t0, t1, t2) {
      this.name = t0;
      this.$arguments = t1;
      this.span = t2;
    },
    functionClass_closure: function functionClass_closure() {
    },
    functionClass__closure: function functionClass__closure() {
    },
    functionClass__closure0: function functionClass__closure0() {
    },
    SassFunction0: function SassFunction0(t0) {
      this.callable = t0;
    },
    FunctionRule$0($name, $arguments, children, span, comment) {
      var t1 = A.stringReplaceAllUnchecked($name, "_", "-"),
        t2 = A.List_List$unmodifiable(children, type$.Statement_2),
        t3 = B.JSArray_methods.any$1(t2, new A.ParentStatement_closure0());
      return new A.FunctionRule0(t1, $name, $arguments, span, t2, t3);
    },
    FunctionRule0: function FunctionRule0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.name = t0;
      _.originalName = t1;
      _.$arguments = t2;
      _.span = t3;
      _.children = t4;
      _.hasDeclarations = t5;
    },
    unifyComplex0(complexes, span) {
      var t2, trailingCombinator, leadingCombinator, unifiedBase, t3, t4, _0_6_isSet, _0_6, t5, newLeadingCombinator, base, _1_1, newTrailingCombinator, _i, t6, t7, t8, _null = null,
        t1 = J.getInterceptor$asx(complexes);
      if (t1.get$length(complexes) === 1)
        return complexes;
      for (t2 = t1.get$iterator(complexes), trailingCombinator = _null, leadingCombinator = trailingCombinator, unifiedBase = leadingCombinator; t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        if (t3.accept$1(B.C__IsUselessVisitor0))
          return _null;
        t4 = t3.components;
        _0_6_isSet = t4.length === 1;
        if (_0_6_isSet) {
          _0_6 = t3.leadingCombinators;
          t5 = _0_6.length === 1;
        } else {
          _0_6 = _null;
          t5 = false;
        }
        if (t5) {
          newLeadingCombinator = (_0_6_isSet ? _0_6 : t3.leadingCombinators)[0];
          if (leadingCombinator == null)
            leadingCombinator = newLeadingCombinator;
          else if (!(leadingCombinator.$ti._is(newLeadingCombinator) && J.$eq$(newLeadingCombinator.value, leadingCombinator.value)))
            return _null;
        }
        base = B.JSArray_methods.get$last(t4);
        _1_1 = base.combinators;
        if (_1_1.length === 1) {
          newTrailingCombinator = _1_1[0];
          if (trailingCombinator != null)
            t3 = !(trailingCombinator.$ti._is(newTrailingCombinator) && J.$eq$(newTrailingCombinator.value, trailingCombinator.value));
          else
            t3 = false;
          if (t3)
            return _null;
          trailingCombinator = newTrailingCombinator;
        }
        if (unifiedBase == null)
          unifiedBase = base.selector.components;
        else
          for (t3 = base.selector.components, t4 = t3.length, _i = 0; _i < t4; ++_i) {
            unifiedBase = t3[_i].unify$1(unifiedBase);
            if (unifiedBase == null)
              return _null;
          }
      }
      t2 = type$.JSArray_ComplexSelector_2;
      t3 = A._setArrayType([], t2);
      for (t4 = t1.get$iterator(complexes); t4.moveNext$0();) {
        t5 = t4.get$current(t4);
        t6 = t5.components;
        t7 = t6.length;
        if (t7 > 1) {
          t8 = t5.leadingCombinators;
          t3.push(A.ComplexSelector$0(t8, B.JSArray_methods.take$1(t6, t7 - 1), t5.span, t5.lineBreak));
        }
      }
      t4 = leadingCombinator == null ? B.List_empty13 : A._setArrayType([leadingCombinator], type$.JSArray_CssValue_Combinator_2);
      unifiedBase.toString;
      t5 = A.CompoundSelector$0(unifiedBase, span);
      t6 = trailingCombinator == null ? B.List_empty13 : A._setArrayType([trailingCombinator], type$.JSArray_CssValue_Combinator_2);
      base = A.ComplexSelector$0(t4, A._setArrayType([new A.ComplexSelectorComponent0(t5, A.List_List$unmodifiable(t6, type$.CssValue_Combinator_2), span)], type$.JSArray_ComplexSelectorComponent_2), span, t1.any$1(complexes, new A.unifyComplex_closure0()));
      if (t3.length === 0)
        t1 = A._setArrayType([base], t2);
      else {
        t1 = A.List_List$of(A.IterableExtension_get_exceptLast0(t3), true, type$.ComplexSelector_2);
        t1.push(B.JSArray_methods.get$last(t3).concatenate$2(base, span));
      }
      return A.weave0(t1, span, false);
    },
    unifyCompound0(compound1, compound2) {
      var t1, t2, _i, unified,
        result = compound2.components;
      for (t1 = compound1.components, t2 = t1.length, _i = 0; _i < t2; ++_i, result = unified) {
        unified = t1[_i].unify$1(result);
        if (unified == null)
          return null;
      }
      return A.CompoundSelector$0(result, compound1.span);
    },
    unifyUniversalAndElement0(selector1, selector2) {
      var namespace, $name, t1,
        _0_0 = A._namespaceAndName0(selector1, "selector1"),
        namespace1 = _0_0._0,
        name1 = _0_0._1,
        _1_0 = A._namespaceAndName0(selector2, "selector2"),
        namespace2 = _1_0._0,
        name2 = _1_0._1;
      if (namespace1 == namespace2 || namespace2 === "*")
        namespace = namespace1;
      else {
        if (namespace1 !== "*")
          return null;
        namespace = namespace2;
      }
      if (name1 == name2 || name2 == null)
        $name = name1;
      else {
        if (!(name1 == null || name1 === "*"))
          return null;
        $name = name2;
      }
      t1 = selector1.span;
      return $name == null ? new A.UniversalSelector0(namespace, t1) : new A.TypeSelector0(new A.QualifiedName0($name, namespace), t1);
    },
    _namespaceAndName0(selector, $name) {
      var t1, _0_4;
      $label0$0: {
        if (selector instanceof A.UniversalSelector0) {
          t1 = new A._Record_2(selector.namespace, null);
          break $label0$0;
        }
        if (selector instanceof A.TypeSelector0) {
          _0_4 = selector.name;
          t1 = new A._Record_2(_0_4.namespace, _0_4.name);
          break $label0$0;
        }
        t1 = A.throwExpression(A.ArgumentError$value(selector, $name, string$.must_b));
      }
      return t1;
    },
    weave0(complexes, span, forceLineBreak) {
      var complex, t2, prefixes, t3, t4, t5, t6, i, t7, t8, _i, t9, t10, _i0, parentPrefix, t11, t12,
        t1 = J.getInterceptor$asx(complexes);
      if (t1.get$length(complexes) === 1) {
        complex = t1.$index(complexes, 0);
        if (!forceLineBreak || complex.lineBreak)
          return complexes;
        return A._setArrayType([A.ComplexSelector$0(complex.leadingCombinators, complex.components, complex.span, true)], type$.JSArray_ComplexSelector_2);
      }
      t2 = type$.JSArray_ComplexSelector_2;
      prefixes = A._setArrayType([t1.get$first(complexes)], t2);
      for (t1 = t1.skip$1(complexes, 1), t3 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t3._eval$1("ListIterator")), t4 = type$.ComplexSelectorComponent_2, t3 = t3._eval$1("ListIterable.E"); t1.moveNext$0();) {
        t5 = t1.__internal$_current;
        if (t5 == null)
          t5 = t3._as(t5);
        t6 = t5.components;
        if (t6.length === 1) {
          for (i = 0; i < prefixes.length; ++i)
            prefixes[i] = prefixes[i].concatenate$3$forceLineBreak(t5, span, forceLineBreak);
          continue;
        }
        t7 = A._setArrayType([], t2);
        for (t8 = prefixes.length, _i = 0; _i < prefixes.length; prefixes.length === t8 || (0, A.throwConcurrentModificationError)(prefixes), ++_i) {
          t9 = A._weaveParents0(prefixes[_i], t5, span);
          if (t9 == null)
            t9 = B.List_empty14;
          t10 = t9.length;
          _i0 = 0;
          for (; _i0 < t9.length; t9.length === t10 || (0, A.throwConcurrentModificationError)(t9), ++_i0) {
            parentPrefix = t9[_i0];
            t11 = B.JSArray_methods.get$last(t6);
            t12 = A.List_List$of(parentPrefix.components, true, t4);
            t12.push(t11);
            t11 = parentPrefix.lineBreak || forceLineBreak;
            t7.push(A.ComplexSelector$0(parentPrefix.leadingCombinators, t12, span, t11));
          }
        }
        prefixes = t7;
      }
      return prefixes;
    },
    _weaveParents0(prefix, base, span) {
      var t1, queue1, queue2, trailingCombinators, _0_1, _0_3, _0_3_isSet, rootish1, t2, rootish2, _0_30, rootish, t3, rootish_case_0, t0, rootish_case_1, groups1, groups2, lcs, choices, t4, _i, group, t5, t6, t7, _i0, chunk, t8, t9, _null = null,
        leadingCombinators = A._mergeLeadingCombinators0(prefix.leadingCombinators, base.leadingCombinators);
      if (leadingCombinators == null)
        return _null;
      t1 = type$.ComplexSelectorComponent_2;
      queue1 = A.QueueList_QueueList$from(prefix.components, t1);
      queue2 = A.QueueList_QueueList$from(A.IterableExtension_get_exceptLast0(base.components), t1);
      trailingCombinators = A._mergeTrailingCombinators0(queue1, queue2, span, _null);
      if (trailingCombinators == null)
        return _null;
      $label0$0: {
        _0_1 = A._firstIfRootish0(queue1);
        _0_3 = A._firstIfRootish0(queue2);
        _0_3_isSet = _0_1 != null;
        if (_0_3_isSet) {
          rootish1 = _0_1 == null ? t1._as(_0_1) : _0_1;
          t2 = _0_3 != null;
          if (t2)
            rootish2 = _0_3 == null ? t1._as(_0_3) : _0_3;
          else
            rootish2 = _null;
          _0_30 = _0_3;
        } else {
          rootish2 = _null;
          rootish1 = rootish2;
          _0_30 = rootish1;
          t2 = false;
        }
        if (t2) {
          rootish = A.unifyCompound0(rootish1.selector, rootish2.selector);
          if (rootish == null)
            return _null;
          t1 = rootish1.combinators;
          t2 = rootish1.span;
          t3 = type$.CssValue_Combinator_2;
          queue1.addFirst$1(new A.ComplexSelectorComponent0(rootish, A.List_List$unmodifiable(t1, t3), t2));
          queue2.addFirst$1(new A.ComplexSelectorComponent0(rootish, A.List_List$unmodifiable(rootish2.combinators, t3), t2));
          break $label0$0;
        }
        if (_0_1 != null) {
          rootish_case_0 = _0_1;
          if (_0_3_isSet)
            t2 = _0_30;
          else {
            t2 = _0_3;
            _0_30 = t2;
            _0_3_isSet = true;
          }
          t2 = t2 == null;
          t3 = t2 ? rootish_case_0 : _null;
          t0 = t3;
          t3 = t2;
          t2 = t0;
        } else {
          t2 = _null;
          t3 = false;
        }
        if (!t3)
          if (_0_1 == null) {
            if (_0_3_isSet)
              t3 = _0_30;
            else {
              t3 = _0_3;
              _0_30 = t3;
              _0_3_isSet = true;
            }
            t3 = t3 != null;
            if (t3) {
              rootish_case_1 = _0_3_isSet ? _0_30 : _0_3;
              if (rootish_case_1 == null)
                rootish_case_1 = t1._as(rootish_case_1);
              t1 = rootish_case_1;
            } else
              t1 = t2;
            t2 = t3;
          } else {
            t1 = t2;
            t2 = false;
          }
        else {
          t1 = t2;
          t2 = true;
        }
        if (t2) {
          queue1.addFirst$1(t1);
          queue2.addFirst$1(t1);
        }
      }
      groups1 = A._groupSelectors0(queue1);
      groups2 = A._groupSelectors0(queue2);
      t1 = type$.List_ComplexSelectorComponent_2;
      lcs = A.longestCommonSubsequence0(groups2, groups1, new A._weaveParents_closure3(span), t1);
      choices = A._setArrayType([], type$.JSArray_List_Iterable_ComplexSelectorComponent_2);
      for (t2 = lcs.length, t3 = type$.JSArray_Iterable_ComplexSelectorComponent_2, t4 = type$.JSArray_ComplexSelectorComponent_2, _i = 0; _i < lcs.length; lcs.length === t2 || (0, A.throwConcurrentModificationError)(lcs), ++_i) {
        group = lcs[_i];
        t5 = A._setArrayType([], t3);
        for (t6 = A._chunks0(groups1, groups2, new A._weaveParents_closure4(group), t1), t7 = t6.length, _i0 = 0; _i0 < t6.length; t6.length === t7 || (0, A.throwConcurrentModificationError)(t6), ++_i0) {
          chunk = t6[_i0];
          t8 = A._setArrayType([], t4);
          for (t9 = B.JSArray_methods.get$iterator(chunk); t9.moveNext$0();)
            B.JSArray_methods.addAll$1(t8, t9.get$current(0));
          t5.push(t8);
        }
        choices.push(t5);
        choices.push(A._setArrayType([group], t3));
        groups1.removeFirst$0();
        groups2.removeFirst$0();
      }
      t2 = A._setArrayType([], t3);
      for (t1 = A._chunks0(groups1, groups2, new A._weaveParents_closure5(), t1), t3 = t1.length, _i = 0; _i < t1.length; t1.length === t3 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        chunk = t1[_i];
        t5 = A._setArrayType([], t4);
        for (t6 = B.JSArray_methods.get$iterator(chunk); t6.moveNext$0();)
          B.JSArray_methods.addAll$1(t5, t6.get$current(0));
        t2.push(t5);
      }
      choices.push(t2);
      B.JSArray_methods.addAll$1(choices, trailingCombinators);
      t1 = A._setArrayType([], type$.JSArray_ComplexSelector_2);
      for (t2 = J.get$iterator$ax(A.paths0(new A.WhereIterable(choices, new A._weaveParents_closure6(), type$.WhereIterable_List_Iterable_ComplexSelectorComponent_2), type$.Iterable_ComplexSelectorComponent_2)), t3 = !prefix.lineBreak, t5 = base.lineBreak; t2.moveNext$0();) {
        t6 = t2.get$current(t2);
        t7 = A._setArrayType([], t4);
        for (t6 = J.get$iterator$ax(t6); t6.moveNext$0();)
          B.JSArray_methods.addAll$1(t7, t6.get$current(t6));
        t1.push(A.ComplexSelector$0(leadingCombinators, t7, span, !t3 || t5));
      }
      return t1;
    },
    _firstIfRootish0(queue) {
      var first, t1, t2, _i, simple, t3;
      if (queue.get$length(0) >= 1) {
        first = queue.$index(0, 0);
        for (t1 = first.selector.components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
          simple = t1[_i];
          if (simple instanceof A.PseudoSelector0)
            if (simple.isClass)
              t3 = $._rootishPseudoClasses0.contains$1(0, simple.normalizedName);
            else
              t3 = false;
          else
            t3 = false;
          if (t3) {
            queue.removeFirst$0();
            return first;
          }
        }
      }
      return null;
    },
    _mergeLeadingCombinators0(combinators1, combinators2) {
      var _0_4, t1, _0_7_isSet, _0_7, t2, _0_11_isSet, _0_11, _0_4_isSet, combinators, _null = null;
      $label0$0: {
        _0_4 = combinators2;
        t1 = type$.List_CssValue_Combinator_2;
        _0_7_isSet = t1._is(combinators1);
        if (_0_7_isSet) {
          _0_7 = combinators1.length;
          t2 = _0_7;
          t2 = t2 > 1;
        } else {
          _0_7 = _null;
          t2 = false;
        }
        if (!t2) {
          t2 = _0_4;
          _0_11_isSet = t1._is(t2);
          if (_0_11_isSet) {
            t2 = _0_4;
            _0_11 = (t2 == null ? t1._as(t2) : t2).length;
            t2 = _0_11;
            _0_4_isSet = true;
            t2 = t2 > 1;
          } else {
            _0_11 = _null;
            _0_4_isSet = true;
            t2 = false;
          }
        } else {
          _0_11 = _null;
          _0_4_isSet = true;
          _0_11_isSet = false;
          t2 = true;
        }
        if (t2) {
          t1 = _null;
          break $label0$0;
        }
        if (t1._is(combinators1)) {
          if (_0_7_isSet)
            t2 = _0_7;
          else {
            _0_7 = combinators1.length;
            t2 = _0_7;
          }
          t2 = t2 <= 0;
          if (t2)
            if (_0_4_isSet)
              combinators = _0_4;
            else {
              combinators = combinators2;
              _0_4 = combinators;
              _0_4_isSet = true;
            }
          else
            combinators = _null;
        } else {
          combinators = _null;
          t2 = false;
        }
        if (!t2) {
          if (_0_4_isSet)
            t2 = _0_4;
          else {
            t2 = combinators2;
            _0_4 = t2;
            _0_4_isSet = true;
          }
          if (t1._is(t2)) {
            if (_0_11_isSet)
              t1 = _0_11;
            else {
              t2 = _0_4_isSet ? _0_4 : combinators2;
              _0_11 = (t2 == null ? t1._as(t2) : t2).length;
              t1 = _0_11;
            }
            t1 = t1 <= 0;
          } else
            t1 = false;
          combinators = combinators1;
        } else
          t1 = true;
        if (t1) {
          t1 = combinators;
          break $label0$0;
        }
        t1 = B.C_ListEquality.equals$2(0, combinators1, combinators2) ? combinators1 : _null;
        break $label0$0;
      }
      return t1;
    },
    _mergeTrailingCombinators0(components1, components2, span, result) {
      var _0_1, t1, _1_1, t2, t3, _4_1, _4_3, _4_4_isSet, _4_4, _4_5, component1, component2, t4, t5, choices, _2_0, _4_4_isSet0, _4_9, _4_6_isSet, _4_6, _4_7, nextComponents, followingComponents, _4_7_isSet, _4_10_isSet, _4_10, _4_5_isSet, next, following, _3_0, siblingComponents_case_0, t0, siblingComponents_case_1, combinator1, combinator2, unified, combinator_case_0, combinatorComponents_case_0, descendantComponents_case_0, t6, combinator_case_1, descendantComponents_case_1, combinatorComponents_case_1, _null = null;
      if (result == null)
        result = A.QueueList$(_null, type$.List_List_ComplexSelectorComponent_2);
      $label0$0: {
        _0_1 = components1.get$length(0);
        if (_0_1 >= 1) {
          t1 = components1.$index(0, _0_1 - 1).combinators;
          break $label0$0;
        }
        t1 = B.List_empty13;
        break $label0$0;
      }
      $label1$1: {
        _1_1 = components2.get$length(0);
        if (_1_1 >= 1) {
          t2 = components2.$index(0, _1_1 - 1).combinators;
          break $label1$1;
        }
        t2 = B.List_empty13;
        break $label1$1;
      }
      t3 = t1.length;
      if (t3 === 0 && t2.length === 0)
        return result;
      if (t3 > 1 || t2.length > 1)
        return _null;
      $label2$2: {
        t3 = A.IterableExtension_get_firstOrNull(t1);
        t3 = t3 == null ? _null : t3.value;
        t2 = A.IterableExtension_get_firstOrNull(t2);
        t2 = [t3, t2 == null ? _null : t2.value, components1, components2];
        _4_1 = t2[0];
        _4_3 = B.Combinator_y180 === _4_1;
        _4_4_isSet = _4_3;
        if (_4_4_isSet) {
          _4_4 = t2[1];
          _4_5 = B.Combinator_y180 === _4_4;
          t3 = _4_5;
        } else {
          _4_4 = _null;
          _4_5 = _4_4;
          t3 = false;
        }
        if (t3) {
          component1 = components1.removeLast$0(0);
          component2 = components2.removeLast$0(0);
          t2 = component1.selector;
          t3 = component2.selector;
          if (A.compoundIsSuperselector0(t2, t3, _null))
            result.addFirst$1(A._setArrayType([A._setArrayType([component2], type$.JSArray_ComplexSelectorComponent_2)], type$.JSArray_List_ComplexSelectorComponent_2));
          else {
            t4 = type$.JSArray_ComplexSelectorComponent_2;
            t5 = type$.JSArray_List_ComplexSelectorComponent_2;
            if (A.compoundIsSuperselector0(t3, t2, _null))
              result.addFirst$1(A._setArrayType([A._setArrayType([component1], t4)], t5));
            else {
              choices = A._setArrayType([A._setArrayType([component1, component2], t4), A._setArrayType([component2, component1], t4)], t5);
              _2_0 = A.unifyCompound0(t2, t3);
              if (_2_0 != null)
                choices.push(A._setArrayType([new A.ComplexSelectorComponent0(_2_0, A.List_List$unmodifiable(A._setArrayType([B.JSArray_methods.get$first(t1)], type$.JSArray_CssValue_Combinator_2), type$.CssValue_Combinator_2), span)], t4));
              result.addFirst$1(choices);
            }
          }
          break $label2$2;
        }
        if (_4_3) {
          if (_4_4_isSet) {
            t3 = _4_4;
            _4_4_isSet0 = _4_4_isSet;
          } else {
            _4_4 = t2[1];
            t3 = _4_4;
            _4_4_isSet0 = true;
          }
          _4_9 = B.Combinator_gRV0 === t3;
          _4_6_isSet = _4_9;
          if (_4_6_isSet) {
            _4_6 = t2[2];
            _4_7 = t2[3];
            nextComponents = _4_7;
            followingComponents = _4_6;
          } else {
            nextComponents = _null;
            followingComponents = nextComponents;
            _4_7 = followingComponents;
            _4_6 = _4_7;
          }
          t3 = _4_6_isSet;
          _4_7_isSet = t3;
        } else {
          nextComponents = _null;
          followingComponents = nextComponents;
          _4_7 = followingComponents;
          _4_6 = _4_7;
          _4_9 = _4_6;
          _4_4_isSet0 = _4_4_isSet;
          _4_6_isSet = false;
          _4_7_isSet = false;
          t3 = false;
        }
        _4_10_isSet = !t3;
        if (_4_10_isSet) {
          _4_10 = B.Combinator_gRV0 === _4_1;
          t3 = _4_10;
          if (t3) {
            if (_4_4_isSet) {
              t3 = _4_5;
              _4_5_isSet = _4_4_isSet;
              _4_4_isSet = _4_4_isSet0;
            } else {
              if (_4_4_isSet0) {
                t3 = _4_4;
                _4_4_isSet = _4_4_isSet0;
              } else {
                _4_4 = t2[1];
                t3 = _4_4;
                _4_4_isSet = true;
              }
              _4_5 = B.Combinator_y180 === t3;
              t3 = _4_5;
              _4_5_isSet = true;
            }
            if (t3) {
              if (_4_6_isSet)
                nextComponents = _4_6;
              else {
                _4_6 = t2[2];
                nextComponents = _4_6;
                _4_6_isSet = true;
              }
              if (_4_7_isSet)
                followingComponents = _4_7;
              else {
                _4_7 = t2[3];
                followingComponents = _4_7;
                _4_7_isSet = true;
              }
            }
          } else {
            _4_5_isSet = _4_4_isSet;
            _4_4_isSet = _4_4_isSet0;
            t3 = false;
          }
        } else {
          _4_10 = _null;
          _4_5_isSet = _4_4_isSet;
          _4_4_isSet = _4_4_isSet0;
          t3 = true;
        }
        if (t3) {
          next = nextComponents.removeLast$0(0);
          following = followingComponents.removeLast$0(0);
          t1 = following.selector;
          t2 = next.selector;
          t3 = type$.JSArray_ComplexSelectorComponent_2;
          t4 = type$.JSArray_List_ComplexSelectorComponent_2;
          if (A.compoundIsSuperselector0(t1, t2, _null))
            result.addFirst$1(A._setArrayType([A._setArrayType([next], t3)], t4));
          else {
            t4 = A._setArrayType([A._setArrayType([following, next], t3)], t4);
            _3_0 = A.unifyCompound0(t1, t2);
            if (_3_0 != null)
              t4.push(A._setArrayType([new A.ComplexSelectorComponent0(_3_0, A.List_List$unmodifiable(next.combinators, type$.CssValue_Combinator_2), span)], t3));
            result.addFirst$1(t4);
          }
          break $label2$2;
        }
        if (B.Combinator_8I80 === _4_1) {
          if (_4_3)
            t3 = _4_9;
          else {
            if (_4_4_isSet)
              t3 = _4_4;
            else {
              _4_4 = t2[1];
              t3 = _4_4;
              _4_4_isSet = true;
            }
            _4_9 = B.Combinator_gRV0 === t3;
            t3 = _4_9;
          }
          if (!t3)
            if (_4_5_isSet)
              t3 = _4_5;
            else {
              if (_4_4_isSet)
                t3 = _4_4;
              else {
                _4_4 = t2[1];
                t3 = _4_4;
                _4_4_isSet = true;
              }
              _4_5 = B.Combinator_y180 === t3;
              t3 = _4_5;
            }
          else
            t3 = true;
          if (t3) {
            if (_4_7_isSet)
              siblingComponents_case_0 = _4_7;
            else {
              _4_7 = t2[3];
              siblingComponents_case_0 = _4_7;
              _4_7_isSet = true;
            }
            t4 = siblingComponents_case_0;
          } else
            t4 = _null;
          t0 = t4;
          t4 = t3;
          t3 = t0;
        } else {
          t3 = _null;
          t4 = false;
        }
        if (!t4) {
          if (_4_10_isSet)
            t4 = _4_10;
          else {
            _4_10 = B.Combinator_gRV0 === _4_1;
            t4 = _4_10;
          }
          if (!t4)
            t4 = _4_3;
          else
            t4 = true;
          if (t4) {
            if (_4_4_isSet)
              t4 = _4_4;
            else {
              _4_4 = t2[1];
              t4 = _4_4;
              _4_4_isSet = true;
            }
            t4 = B.Combinator_8I80 === t4;
            if (t4) {
              if (_4_6_isSet)
                siblingComponents_case_1 = _4_6;
              else {
                _4_6 = t2[2];
                siblingComponents_case_1 = _4_6;
                _4_6_isSet = true;
              }
              t3 = siblingComponents_case_1;
            }
          } else
            t4 = false;
        } else
          t4 = true;
        if (t4) {
          result.addFirst$1(A._setArrayType([A._setArrayType([t3.removeLast$0(0)], type$.JSArray_ComplexSelectorComponent_2)], type$.JSArray_List_ComplexSelectorComponent_2));
          break $label2$2;
        }
        t3 = _4_1 == null;
        t4 = !t3;
        if (t4) {
          combinator1 = _4_1;
          if (_4_4_isSet)
            t5 = _4_4;
          else {
            _4_4 = t2[1];
            t5 = _4_4;
            _4_4_isSet = true;
          }
          if (t5 != null) {
            if (_4_4_isSet)
              combinator2 = _4_4;
            else {
              _4_4 = t2[1];
              combinator2 = _4_4;
              _4_4_isSet = true;
            }
            t5 = combinator1 === (combinator2 == null ? type$.Combinator_2._as(combinator2) : combinator2);
          } else
            t5 = false;
        } else
          t5 = false;
        if (t5) {
          unified = A.unifyCompound0(components1.removeLast$0(0).selector, components2.removeLast$0(0).selector);
          if (unified == null)
            return _null;
          result.addFirst$1(A._setArrayType([A._setArrayType([new A.ComplexSelectorComponent0(unified, A.List_List$unmodifiable(A._setArrayType([B.JSArray_methods.get$first(t1)], type$.JSArray_CssValue_Combinator_2), type$.CssValue_Combinator_2), span)], type$.JSArray_ComplexSelectorComponent_2)], type$.JSArray_List_ComplexSelectorComponent_2));
          break $label2$2;
        }
        if (t4) {
          combinator_case_0 = _4_1;
          if (_4_4_isSet)
            t1 = _4_4;
          else {
            _4_4 = t2[1];
            t1 = _4_4;
            _4_4_isSet = true;
          }
          t1 = t1 == null;
          if (t1) {
            if (_4_6_isSet)
              combinatorComponents_case_0 = _4_6;
            else {
              _4_6 = t2[2];
              combinatorComponents_case_0 = _4_6;
              _4_6_isSet = true;
            }
            if (_4_7_isSet)
              descendantComponents_case_0 = _4_7;
            else {
              _4_7 = t2[3];
              descendantComponents_case_0 = _4_7;
              _4_7_isSet = true;
            }
            t4 = descendantComponents_case_0;
            t6 = t4;
            t4 = combinator_case_0;
            t5 = combinatorComponents_case_0;
          } else {
            t6 = _null;
            t5 = t6;
            t4 = t5;
          }
          t0 = t6;
          t6 = t1;
          t1 = t4;
          t4 = t5;
          t5 = t0;
        } else {
          t5 = _null;
          t4 = t5;
          t1 = t4;
          t6 = false;
        }
        if (!t6)
          if (t3) {
            if (_4_4_isSet)
              t3 = _4_4;
            else {
              _4_4 = t2[1];
              t3 = _4_4;
              _4_4_isSet = true;
            }
            t3 = t3 != null;
            if (t3) {
              combinator_case_1 = _4_4_isSet ? _4_4 : t2[1];
              if (combinator_case_1 == null)
                combinator_case_1 = type$.Combinator_2._as(combinator_case_1);
              descendantComponents_case_1 = _4_6_isSet ? _4_6 : t2[2];
              combinatorComponents_case_1 = _4_7_isSet ? _4_7 : t2[3];
              t1 = combinatorComponents_case_1;
              t2 = descendantComponents_case_1;
              t4 = t2;
              t2 = t1;
              t1 = combinator_case_1;
            } else {
              t2 = t4;
              t4 = t5;
            }
            t0 = t4;
            t4 = t3;
            t3 = t0;
          } else {
            t3 = t5;
            t2 = t4;
            t4 = false;
          }
        else {
          t3 = t5;
          t2 = t4;
          t4 = true;
        }
        if (t4) {
          if (t1 === B.Combinator_8I80) {
            t1 = A.IterableExtension_get_lastOrNull(t3);
            t1 = t1 == null ? _null : A.compoundIsSuperselector0(t1.selector, t2.get$last(t2).selector, _null);
            t1 = t1 === true;
          } else
            t1 = false;
          if (t1)
            t3.removeLast$0(0);
          result.addFirst$1(A._setArrayType([A._setArrayType([t2.removeLast$0(0)], type$.JSArray_ComplexSelectorComponent_2)], type$.JSArray_List_ComplexSelectorComponent_2));
          break $label2$2;
        }
        return _null;
      }
      return A._mergeTrailingCombinators0(components1, components2, span, result);
    },
    _mustUnify0(complex1, complex2) {
      var t2, t3, t4,
        t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.SimpleSelector_2);
      for (t2 = J.get$iterator$ax(complex1); t2.moveNext$0();)
        for (t3 = B.JSArray_methods.get$iterator(t2.get$current(t2).selector.components), t4 = new A.WhereIterator(t3, A.functions0___isUnique$closure()); t4.moveNext$0();)
          t1.add$1(0, t3.get$current(0));
      if (t1._collection$_length === 0)
        return false;
      return J.any$1$ax(complex2, new A._mustUnify_closure0(t1));
    },
    _isUnique0(simple) {
      var t1;
      if (!(simple instanceof A.IDSelector0))
        t1 = simple instanceof A.PseudoSelector0 && !simple.isClass;
      else
        t1 = true;
      return t1;
    },
    _chunks0(queue1, queue2, done, $T) {
      var chunk2, _0_4, _0_5_isSet, _0_1, _0_7, _0_5, chunk, _0_5_isSet0, t2, _null = null,
        t1 = $T._eval$1("JSArray<0>"),
        chunk1 = A._setArrayType([], t1);
      for (; !done.call$1(queue1);)
        chunk1.push(queue1.removeFirst$0());
      chunk2 = A._setArrayType([], t1);
      for (; !done.call$1(queue2);)
        chunk2.push(queue2.removeFirst$0());
      $label0$0: {
        _0_4 = chunk1.length <= 0;
        _0_5_isSet = _0_4;
        _0_1 = chunk1;
        if (_0_5_isSet) {
          _0_7 = chunk2.length <= 0;
          t1 = _0_7;
          _0_5 = chunk2;
        } else {
          _0_5 = _null;
          _0_7 = _0_5;
          t1 = false;
        }
        if (t1) {
          t1 = A._setArrayType([], $T._eval$1("JSArray>"));
          break $label0$0;
        }
        if (_0_4)
          if (_0_5_isSet) {
            chunk = _0_5;
            _0_5_isSet0 = _0_5_isSet;
          } else {
            chunk = chunk2;
            _0_5 = chunk;
            _0_5_isSet0 = true;
          }
        else {
          chunk = _null;
          _0_5_isSet0 = _0_5_isSet;
        }
        if (!_0_4) {
          if (_0_5_isSet)
            t1 = _0_7;
          else {
            _0_7 = (_0_5_isSet0 ? _0_5 : chunk2).length <= 0;
            t1 = _0_7;
          }
          chunk = _0_1;
        } else
          t1 = true;
        if (t1) {
          t1 = A._setArrayType([chunk], $T._eval$1("JSArray>"));
          break $label0$0;
        }
        t1 = A.List_List$of(chunk1, true, $T);
        B.JSArray_methods.addAll$1(t1, chunk2);
        t2 = A.List_List$of(chunk2, true, $T);
        B.JSArray_methods.addAll$1(t2, chunk1);
        t2 = A._setArrayType([t1, t2], $T._eval$1("JSArray>"));
        t1 = t2;
        break $label0$0;
      }
      return t1;
    },
    paths0(choices, $T) {
      return J.fold$2$ax(choices, A._setArrayType([A._setArrayType([], $T._eval$1("JSArray<0>"))], $T._eval$1("JSArray>")), new A.paths_closure0($T));
    },
    _groupSelectors0(complex) {
      var t2, t3, t4,
        groups = A.QueueList$(null, type$.List_ComplexSelectorComponent_2),
        t1 = type$.JSArray_ComplexSelectorComponent_2,
        group = A._setArrayType([], t1);
      for (t2 = complex.$ti, t3 = new A.ListIterator(complex, complex.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t3.moveNext$0();) {
        t4 = t3.__internal$_current;
        if (t4 == null)
          t4 = t2._as(t4);
        group.push(t4);
        if (t4.combinators.length === 0) {
          groups._queue_list$_add$1(group);
          group = A._setArrayType([], t1);
        }
      }
      if (group.length !== 0)
        groups._queue_list$_add$1(group);
      return groups;
    },
    listIsSuperselector0(list1, list2) {
      return B.JSArray_methods.every$1(list2, new A.listIsSuperselector_closure0(list1));
    },
    _complexIsParentSuperselector0(complex1, complex2) {
      var t1, base, t2;
      if (J.get$length$asx(complex1) > J.get$length$asx(complex2))
        return false;
      t1 = $.$get$bogusSpan0();
      base = new A.ComplexSelectorComponent0(A.CompoundSelector$0(A._setArrayType([new A.PlaceholderSelector0("", t1)], type$.JSArray_SimpleSelector_2), t1), A.List_List$unmodifiable(B.List_empty13, type$.CssValue_Combinator_2), t1);
      t1 = type$.ComplexSelectorComponent_2;
      t2 = A.List_List$of(complex1, true, t1);
      t2.push(base);
      t1 = A.List_List$of(complex2, true, t1);
      t1.push(base);
      return A.complexIsSuperselector0(t2, t1);
    },
    complexIsSuperselector0(complex1, complex2) {
      var t1, t2, previousCombinator, i1, i2, remaining1, remaining2, component1, t3, t4, endOfSubselector, component2, t5, combinator1, _null = null;
      if (B.JSArray_methods.get$last(complex1).combinators.length !== 0)
        return false;
      if (B.JSArray_methods.get$last(complex2).combinators.length !== 0)
        return false;
      for (t1 = A._arrayInstanceType(complex2), t2 = t1._precomputed1, t1 = t1._eval$1("SubListIterable<1>"), previousCombinator = _null, i1 = 0, i2 = 0; true; previousCombinator = combinator1) {
        remaining1 = complex1.length - i1;
        remaining2 = complex2.length - i2;
        if (remaining1 === 0 || remaining2 === 0)
          return false;
        if (remaining1 > remaining2)
          return false;
        component1 = complex1[i1];
        t3 = component1.combinators;
        if (t3.length > 1)
          return false;
        if (remaining1 === 1)
          if (B.JSArray_methods.any$1(complex2, new A.complexIsSuperselector_closure1()))
            return false;
          else {
            t1 = component1.selector;
            t2 = B.JSArray_methods.get$last(complex2).selector;
            return A.compoundIsSuperselector0(t1, t2, t1.get$hasComplicatedSuperselectorSemantics() ? B.JSArray_methods.sublist$2(complex2, i2, complex2.length - 1) : _null);
          }
        for (t4 = component1.selector, endOfSubselector = i2; true;) {
          component2 = complex2[endOfSubselector];
          if (component2.combinators.length > 1)
            return false;
          t5 = component2.selector;
          if (A.compoundIsSuperselector0(t4, t5, t4.get$hasComplicatedSuperselectorSemantics() ? B.JSArray_methods.sublist$2(complex2, i2, endOfSubselector) : _null))
            break;
          ++endOfSubselector;
          if (endOfSubselector === complex2.length - 1)
            return false;
        }
        t4 = new A.SubListIterable(complex2, 0, endOfSubselector, t1);
        t4.SubListIterable$3(complex2, 0, endOfSubselector, t2);
        if (!A._compatibleWithPreviousCombinator0(previousCombinator, t4.skip$1(0, i2)))
          return false;
        component2 = complex2[endOfSubselector];
        combinator1 = A.IterableExtension_get_firstOrNull(t3);
        if (!A._isSupercombinator0(combinator1, A.IterableExtension_get_firstOrNull(component2.combinators)))
          return false;
        ++i1;
        i2 = endOfSubselector + 1;
        if (complex1.length - i1 === 1) {
          t3 = combinator1 == null;
          if (J.$eq$(t3 ? _null : combinator1.value, B.Combinator_y180)) {
            t3 = complex2.length - 1;
            t4 = new A.SubListIterable(complex2, 0, t3, t1);
            t4.SubListIterable$3(complex2, 0, t3, t2);
            if (!t4.skip$1(0, i2).every$1(0, new A.complexIsSuperselector_closure2(combinator1)))
              return false;
          } else if (!t3)
            if (complex2.length - i2 > 1)
              return false;
        }
      }
    },
    _compatibleWithPreviousCombinator0(previous, parents) {
      if (parents.get$isEmpty(parents))
        return true;
      if (previous == null)
        return true;
      if (previous.value !== B.Combinator_y180)
        return false;
      return parents.every$1(0, new A._compatibleWithPreviousCombinator_closure0());
    },
    _isSupercombinator0(combinator1, combinator2) {
      var t1, t2;
      if (!J.$eq$(combinator1, combinator2)) {
        t1 = combinator1 == null;
        if (t1)
          t2 = J.$eq$(combinator2 == null ? null : combinator2.value, B.Combinator_8I80);
        else
          t2 = false;
        if (!t2)
          if (J.$eq$(t1 ? null : combinator1.value, B.Combinator_y180))
            t1 = J.$eq$(combinator2 == null ? null : combinator2.value, B.Combinator_gRV0);
          else
            t1 = false;
        else
          t1 = true;
      } else
        t1 = true;
      return t1;
    },
    compoundIsSuperselector0(compound1, compound2, parents) {
      var t1, _0_1, _0_5, _0_5_isSet, t2, pseudo1, index1, t3, pseudo2, index2, _0_50, t4, t5, _i, simple1, _null = null;
      if (!compound1.get$hasComplicatedSuperselectorSemantics() && !compound2.get$hasComplicatedSuperselectorSemantics()) {
        t1 = compound1.components;
        if (t1.length > compound2.components.length)
          return false;
        return B.JSArray_methods.every$1(t1, new A.compoundIsSuperselector_closure0(compound2));
      }
      _0_1 = A._findPseudoElementIndexed0(compound1);
      _0_5 = A._findPseudoElementIndexed0(compound2);
      t1 = type$.Record_2_nullable_Object_and_nullable_Object;
      _0_5_isSet = t1._is(_0_1);
      if (_0_5_isSet) {
        t2 = _0_1 == null;
        pseudo1 = (t2 ? t1._as(_0_1) : _0_1)._0;
        index1 = (t2 ? t1._as(_0_1) : _0_1)._1;
        t2 = t1._is(_0_5);
        if (t2) {
          t3 = _0_5 == null;
          pseudo2 = (t3 ? t1._as(_0_5) : _0_5)._0;
          index2 = (t3 ? t1._as(_0_5) : _0_5)._1;
        } else {
          index2 = _null;
          pseudo2 = index2;
        }
        t1 = t2;
        _0_50 = _0_5;
      } else {
        index2 = _null;
        pseudo2 = index2;
        index1 = pseudo2;
        pseudo1 = index1;
        _0_50 = pseudo1;
        t1 = false;
      }
      if (t1) {
        if (pseudo1.isSuperselector$1(pseudo2)) {
          t1 = compound1.components;
          t2 = type$.int;
          t3 = A._arrayInstanceType(t1)._precomputed1;
          t4 = compound2.components;
          t5 = A._arrayInstanceType(t4)._precomputed1;
          t1 = A._compoundComponentsIsSuperselector0(A.SubListIterable$(t1, 0, A.checkNotNullable(index1, "count", t2), t3), A.SubListIterable$(t4, 0, A.checkNotNullable(index2, "count", t2), t5), parents) && A._compoundComponentsIsSuperselector0(A.SubListIterable$(t1, index1 + 1, _null, t3), A.SubListIterable$(t4, index2 + 1, _null, t5), parents);
        } else
          t1 = false;
        return t1;
      }
      if (_0_1 == null)
        t1 = (_0_5_isSet ? _0_50 : _0_5) != null;
      else
        t1 = true;
      if (t1)
        return false;
      for (t1 = compound1.components, t2 = t1.length, t3 = compound2.components, _i = 0; _i < t2; ++_i) {
        simple1 = t1[_i];
        if (simple1 instanceof A.PseudoSelector0)
          t4 = simple1.selector != null;
        else
          t4 = false;
        if (t4) {
          if (!A._selectorPseudoIsSuperselector0(simple1, compound2, parents))
            return false;
        } else if (!B.JSArray_methods.any$1(t3, simple1.get$isSuperselector()))
          return false;
      }
      return true;
    },
    _findPseudoElementIndexed0(compound) {
      var t1, t2, i, simple;
      for (t1 = compound.components, t2 = t1.length, i = 0; i < t2; ++i) {
        simple = t1[i];
        if (simple instanceof A.PseudoSelector0 && !simple.isClass)
          return new A._Record_2(simple, i);
      }
      return null;
    },
    _compoundComponentsIsSuperselector0(compound1, compound2, parents) {
      var t1;
      if (compound1.get$length(0) === 0)
        return true;
      if (compound2.get$length(0) === 0)
        compound2 = A._setArrayType([new A.UniversalSelector0("*", $.$get$bogusSpan0())], type$.JSArray_SimpleSelector_2);
      t1 = $.$get$bogusSpan0();
      return A.compoundIsSuperselector0(A.CompoundSelector$0(compound1, t1), A.CompoundSelector$0(compound2, t1), parents);
    },
    _selectorPseudoIsSuperselector0(pseudo1, compound2, parents) {
      var selector1 = pseudo1.selector;
      if (selector1 == null)
        throw A.wrapException(A.ArgumentError$("Selector " + pseudo1.toString$0(0) + " must have a selector argument.", null));
      switch (pseudo1.normalizedName) {
        case "is":
        case "matches":
        case "any":
        case "where":
          return A._selectorPseudoArgs0(compound2, pseudo1.name, true).any$1(0, new A._selectorPseudoIsSuperselector_closure6(selector1)) || B.JSArray_methods.any$1(selector1.components, new A._selectorPseudoIsSuperselector_closure7(parents, compound2));
        case "has":
        case "host":
        case "host-context":
          return A._selectorPseudoArgs0(compound2, pseudo1.name, true).any$1(0, new A._selectorPseudoIsSuperselector_closure8(selector1));
        case "slotted":
          return A._selectorPseudoArgs0(compound2, pseudo1.name, false).any$1(0, new A._selectorPseudoIsSuperselector_closure9(selector1));
        case "not":
          return B.JSArray_methods.every$1(selector1.components, new A._selectorPseudoIsSuperselector_closure10(compound2, pseudo1));
        case "current":
          return A._selectorPseudoArgs0(compound2, pseudo1.name, true).any$1(0, new A._selectorPseudoIsSuperselector_closure11(selector1));
        case "nth-child":
        case "nth-last-child":
          return B.JSArray_methods.any$1(compound2.components, new A._selectorPseudoIsSuperselector_closure12(pseudo1, selector1));
        default:
          throw A.wrapException("unreachable");
      }
    },
    _selectorPseudoArgs0(compound, $name, isClass) {
      var t1 = type$.WhereTypeIterable_PseudoSelector_2;
      return A.IterableNullableExtension_whereNotNull(new A.MappedIterable(new A.WhereIterable(new A.WhereTypeIterable(compound.components, t1), new A._selectorPseudoArgs_closure1(isClass, $name), t1._eval$1("WhereIterable")), new A._selectorPseudoArgs_closure2(), t1._eval$1("MappedIterable")), type$.SelectorList_2);
    },
    unifyComplex_closure0: function unifyComplex_closure0() {
    },
    _weaveParents_closure3: function _weaveParents_closure3(t0) {
      this.span = t0;
    },
    _weaveParents_closure4: function _weaveParents_closure4(t0) {
      this.group = t0;
    },
    _weaveParents_closure5: function _weaveParents_closure5() {
    },
    _weaveParents_closure6: function _weaveParents_closure6() {
    },
    _mustUnify_closure0: function _mustUnify_closure0(t0) {
      this.uniqueSelectors = t0;
    },
    _mustUnify__closure0: function _mustUnify__closure0(t0) {
      this.uniqueSelectors = t0;
    },
    paths_closure0: function paths_closure0(t0) {
      this.T = t0;
    },
    paths__closure0: function paths__closure0(t0, t1) {
      this.paths = t0;
      this.T = t1;
    },
    paths___closure0: function paths___closure0(t0, t1) {
      this.option = t0;
      this.T = t1;
    },
    listIsSuperselector_closure0: function listIsSuperselector_closure0(t0) {
      this.list1 = t0;
    },
    listIsSuperselector__closure0: function listIsSuperselector__closure0(t0) {
      this.complex1 = t0;
    },
    complexIsSuperselector_closure1: function complexIsSuperselector_closure1() {
    },
    complexIsSuperselector_closure2: function complexIsSuperselector_closure2(t0) {
      this.combinator1 = t0;
    },
    _compatibleWithPreviousCombinator_closure0: function _compatibleWithPreviousCombinator_closure0() {
    },
    compoundIsSuperselector_closure0: function compoundIsSuperselector_closure0(t0) {
      this.compound2 = t0;
    },
    _selectorPseudoIsSuperselector_closure6: function _selectorPseudoIsSuperselector_closure6(t0) {
      this.selector1 = t0;
    },
    _selectorPseudoIsSuperselector_closure7: function _selectorPseudoIsSuperselector_closure7(t0, t1) {
      this.parents = t0;
      this.compound2 = t1;
    },
    _selectorPseudoIsSuperselector_closure8: function _selectorPseudoIsSuperselector_closure8(t0) {
      this.selector1 = t0;
    },
    _selectorPseudoIsSuperselector_closure9: function _selectorPseudoIsSuperselector_closure9(t0) {
      this.selector1 = t0;
    },
    _selectorPseudoIsSuperselector_closure10: function _selectorPseudoIsSuperselector_closure10(t0, t1) {
      this.compound2 = t0;
      this.pseudo1 = t1;
    },
    _selectorPseudoIsSuperselector__closure0: function _selectorPseudoIsSuperselector__closure0(t0, t1) {
      this.complex = t0;
      this.pseudo1 = t1;
    },
    _selectorPseudoIsSuperselector___closure1: function _selectorPseudoIsSuperselector___closure1(t0) {
      this.simple2 = t0;
    },
    _selectorPseudoIsSuperselector___closure2: function _selectorPseudoIsSuperselector___closure2(t0) {
      this.simple2 = t0;
    },
    _selectorPseudoIsSuperselector_closure11: function _selectorPseudoIsSuperselector_closure11(t0) {
      this.selector1 = t0;
    },
    _selectorPseudoIsSuperselector_closure12: function _selectorPseudoIsSuperselector_closure12(t0, t1) {
      this.pseudo1 = t0;
      this.selector1 = t1;
    },
    _selectorPseudoArgs_closure1: function _selectorPseudoArgs_closure1(t0, t1) {
      this.isClass = t0;
      this.name = t1;
    },
    _selectorPseudoArgs_closure2: function _selectorPseudoArgs_closure2() {
    },
    globalFunctions_closure0: function globalFunctions_closure0() {
    },
    IDSelector0: function IDSelector0(t0, t1) {
      this.name = t0;
      this.span = t1;
    },
    IDSelector_unify_closure0: function IDSelector_unify_closure0(t0) {
      this.$this = t0;
    },
    IfExpression0: function IfExpression0(t0, t1) {
      this.$arguments = t0;
      this.span = t1;
    },
    IfClause$0(expression, children) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement_2);
      return new A.IfClause0(expression, t1, B.JSArray_methods.any$1(t1, new A.IfRuleClause$__closure0()));
    },
    ElseClause$0(children) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement_2);
      return new A.ElseClause0(t1, B.JSArray_methods.any$1(t1, new A.IfRuleClause$__closure0()));
    },
    IfRule0: function IfRule0(t0, t1, t2) {
      this.clauses = t0;
      this.lastClause = t1;
      this.span = t2;
    },
    IfRule_toString_closure0: function IfRule_toString_closure0() {
    },
    IfRuleClause0: function IfRuleClause0() {
    },
    IfRuleClause$__closure0: function IfRuleClause$__closure0() {
    },
    IfRuleClause$___closure0: function IfRuleClause$___closure0() {
    },
    IfClause0: function IfClause0(t0, t1, t2) {
      this.expression = t0;
      this.children = t1;
      this.hasDeclarations = t2;
    },
    ElseClause0: function ElseClause0(t0, t1) {
      this.children = t0;
      this.hasDeclarations = t1;
    },
    jsToDartList(list) {
      return self.immutable.isOrderedMap(list) ? J.toArray$0$x(type$.ImmutableList._as(list)) : type$.List_dynamic._as(list);
    },
    dartMapToImmutableMap(dartMap) {
      var t1, t2,
        immutableMap = J.asMutable$0$x(new self.immutable.OrderedMap());
      for (t1 = A.MapExtensions_get_pairs0(dartMap, type$.Object, type$.nullable_Object), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        immutableMap = J.$set$2$x(immutableMap, t2._0, t2._1);
      }
      return J.asImmutable$0$x(immutableMap);
    },
    immutableMapToDartMap(immutableMap) {
      var dartMap = A.LinkedHashMap_LinkedHashMap$_empty(type$.Object, type$.nullable_Object);
      J.forEach$1$ax(immutableMap, A.allowInterop(new A.immutableMapToDartMap_closure(dartMap)));
      return dartMap;
    },
    ImmutableList0: function ImmutableList0() {
    },
    ImmutableMap0: function ImmutableMap0() {
    },
    immutableMapToDartMap_closure: function immutableMapToDartMap_closure(t0) {
      this.dartMap = t0;
    },
    NodeImporter__addSassPath(includePaths) {
      return new A._SyncStarIterable(A.NodeImporter__addSassPath$body(includePaths), type$._SyncStarIterable_String);
    },
    NodeImporter__addSassPath$body($async$includePaths) {
      return function() {
        var includePaths = $async$includePaths;
        var $async$goto = 0, $async$handler = 2, $async$currentError, sassPath, t1;
        return function $async$NodeImporter__addSassPath($async$iterator, $async$errorCode, $async$result) {
          if ($async$errorCode === 1) {
            $async$currentError = $async$result;
            $async$goto = $async$handler;
          }
          while (true)
            switch ($async$goto) {
              case 0:
                // Function start
                $async$goto = 3;
                return $async$iterator._yieldStar$1(includePaths);
              case 3:
                // after yield
                sassPath = A.getEnvironmentVariable0("SASS_PATH");
                if (sassPath == null) {
                  // goto return
                  $async$goto = 1;
                  break;
                }
                t1 = A.isNodeJs() ? self.process : null;
                $async$goto = 4;
                return $async$iterator._yieldStar$1(A._setArrayType(sassPath.split(J.$eq$(t1 == null ? null : J.get$platform$x(t1), "win32") ? ";" : ":"), type$.JSArray_String));
              case 4:
                // after yield
              case 1:
                // return
                return 0;
              case 2:
                // rethrow
                return $async$iterator._datum = $async$currentError, 3;
            }
        };
      };
    },
    NodeImporter: function NodeImporter(t0, t1, t2) {
      this._implementation$_options = t0;
      this._includePaths = t1;
      this._implementation$_importers = t2;
    },
    NodeImporter_load_closure: function NodeImporter_load_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.importer = t1;
      _.forImport = t2;
      _.url = t3;
      _.previousString = t4;
    },
    NodeImporter__tryPath_closure: function NodeImporter__tryPath_closure(t0) {
      this.path = t0;
    },
    NodeImporter__tryPath_closure0: function NodeImporter__tryPath_closure0() {
    },
    NodeImporter__callImporterAsync_closure: function NodeImporter__callImporterAsync_closure(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.importer = t1;
      _.forImport = t2;
      _.url = t3;
      _.previousString = t4;
      _.completer = t5;
    },
    ModifiableCssImport0: function ModifiableCssImport0(t0, t1, t2) {
      var _ = this;
      _.url = t0;
      _.modifiers = t1;
      _.span = t2;
      _._node$_indexInParent = _._node$_parent = null;
      _.isGroupEnd = false;
    },
    ImportCache$0(importers, loadPaths, logger, packageConfig) {
      var t1 = type$.nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl_2,
        t2 = type$.Record_3_Importer_and_Uri_and_bool_forImport_2,
        t3 = type$.Uri,
        t4 = A.ImportCache__toImporters0(importers, loadPaths, packageConfig);
      return new A.ImportCache0(t4, logger, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult_2));
    },
    ImportCache$none(logger) {
      var t1 = type$.nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl_2,
        t2 = type$.Record_3_Importer_and_Uri_and_bool_forImport_2,
        t3 = type$.Uri;
      return new A.ImportCache0(B.List_empty23, logger, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult_2));
    },
    ImportCache__toImporters0(importers, loadPaths, packageConfig) {
      var t1, t2, t3, t4, _i, path, _null = null,
        sassPath = A.getEnvironmentVariable0("SASS_PATH");
      if (A.isBrowser()) {
        t1 = A._setArrayType([], type$.JSArray_Importer_2);
        if (importers != null)
          B.JSArray_methods.addAll$1(t1, importers);
        return t1;
      }
      t1 = A._setArrayType([], type$.JSArray_Importer_2);
      if (importers != null)
        B.JSArray_methods.addAll$1(t1, importers);
      if (loadPaths != null)
        for (t2 = J.get$iterator$ax(loadPaths); t2.moveNext$0();) {
          t3 = t2.get$current(t2);
          t1.push(new A.FilesystemImporter0($.$get$context().absolute$15(t3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false));
        }
      if (sassPath != null) {
        t2 = A.isNodeJs() ? self.process : _null;
        t3 = sassPath.split(J.$eq$(t2 == null ? _null : J.get$platform$x(t2), "win32") ? ";" : ":");
        t4 = t3.length;
        _i = 0;
        for (; _i < t4; ++_i) {
          path = t3[_i];
          t1.push(new A.FilesystemImporter0($.$get$context().absolute$15(path, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false));
        }
      }
      return t1;
    },
    ImportCache0: function ImportCache0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._import_cache$_importers = t0;
      _._import_cache$_logger = t1;
      _._import_cache$_canonicalizeCache = t2;
      _._import_cache$_perImporterCanonicalizeCache = t3;
      _._import_cache$_nonCanonicalRelativeUrls = t4;
      _._import_cache$_importCache = t5;
      _._import_cache$_resultsCache = t6;
    },
    ImportCache_canonicalize_closure0: function ImportCache_canonicalize_closure0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.baseImporter = t1;
      _.resolvedUrl = t2;
      _.baseUrl = t3;
      _.forImport = t4;
      _.key = t5;
      _.url = t6;
    },
    ImportCache__canonicalize_closure0: function ImportCache__canonicalize_closure0(t0, t1) {
      this.importer = t0;
      this.url = t1;
    },
    ImportCache_importCanonical_closure0: function ImportCache_importCanonical_closure0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.importer = t1;
      _.canonicalUrl = t2;
      _.originalUrl = t3;
      _.quiet = t4;
    },
    ImportCache_humanize_closure3: function ImportCache_humanize_closure3(t0) {
      this.canonicalUrl = t0;
    },
    ImportCache_humanize_closure4: function ImportCache_humanize_closure4() {
    },
    ImportCache_humanize_closure5: function ImportCache_humanize_closure5() {
    },
    ImportCache_humanize_closure6: function ImportCache_humanize_closure6(t0) {
      this.canonicalUrl = t0;
    },
    ImportRule0: function ImportRule0(t0, t1) {
      this.imports = t0;
      this.span = t1;
    },
    JSImporter: function JSImporter() {
    },
    JSImporterResult: function JSImporterResult() {
    },
    Importer0: function Importer0() {
    },
    NodeImporterResult0: function NodeImporterResult0() {
    },
    IncludeRule0: function IncludeRule0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.namespace = t0;
      _.name = t1;
      _.originalName = t2;
      _.$arguments = t3;
      _.content = t4;
      _.span = t5;
    },
    InterpolatedFunctionExpression0: function InterpolatedFunctionExpression0(t0, t1, t2) {
      this.name = t0;
      this.$arguments = t1;
      this.span = t2;
    },
    Interpolation$0(contents, span) {
      var t1 = new A.Interpolation0(A.List_List$unmodifiable(contents, type$.Object), span);
      t1.Interpolation$20(contents, span);
      return t1;
    },
    Interpolation0: function Interpolation0(t0, t1) {
      this.contents = t0;
      this.span = t1;
    },
    Interpolation_toString_closure0: function Interpolation_toString_closure0() {
    },
    SupportsInterpolation0: function SupportsInterpolation0(t0, t1) {
      this.expression = t0;
      this.span = t1;
    },
    InterpolationBuffer0: function InterpolationBuffer0(t0, t1) {
      this._interpolation_buffer0$_text = t0;
      this._interpolation_buffer0$_contents = t1;
    },
    InterpolationMap$0(_interpolation, targetLocations) {
      var t1 = A.List_List$unmodifiable(targetLocations, type$.SourceLocation),
        t2 = _interpolation.contents.length,
        expectedLocations = Math.max(0, t2 - 1);
      if (t1.length !== expectedLocations)
        A.throwExpression(A.ArgumentError$("InterpolationMap must have " + A.S(expectedLocations) + string$.x20targe + t2 + " components.", null));
      return new A.InterpolationMap0(_interpolation, t1);
    },
    InterpolationMap0: function InterpolationMap0(t0, t1) {
      this._interpolation_map$_interpolation = t0;
      this._interpolation_map$_targetLocations = t1;
    },
    InterpolationMap_mapException_closure0: function InterpolationMap_mapException_closure0() {
    },
    _realCasePath0(path) {
      var prefix, _null = null,
        t1 = A.isNodeJs() ? self.process : _null;
      if (!J.$eq$(t1 == null ? _null : J.get$platform$x(t1), "win32")) {
        t1 = A.isNodeJs() ? self.process : _null;
        t1 = J.$eq$(t1 == null ? _null : J.get$platform$x(t1), "darwin");
      } else
        t1 = true;
      if (!t1)
        return path;
      t1 = A.isNodeJs() ? self.process : _null;
      if (J.$eq$(t1 == null ? _null : J.get$platform$x(t1), "win32")) {
        prefix = B.JSString_methods.substring$2(path, 0, $.$get$context().style.rootLength$1(path));
        t1 = prefix.length;
        if (t1 !== 0 && A.CharacterExtension_get_isAlphabetic0(prefix.charCodeAt(0)))
          path = prefix.toUpperCase() + B.JSString_methods.substring$1(path, t1);
      }
      return new A._realCasePath_helper0().call$1(path);
    },
    _realCasePath_helper0: function _realCasePath_helper0() {
    },
    _realCasePath_helper_closure0: function _realCasePath_helper_closure0(t0, t1, t2) {
      this.helper = t0;
      this.dirname = t1;
      this.path = t2;
    },
    _realCasePath_helper__closure0: function _realCasePath_helper__closure0(t0) {
      this.basename = t0;
    },
    printError0(message) {
      var t1 = A.isNodeJs() ? self.process : null;
      if (t1 != null) {
        t1 = J.get$stderr$x(t1);
        J.write$1$x(t1, A.S(message) + "\n");
      } else {
        t1 = self.console;
        J.error$1$x(t1, message);
      }
    },
    readFile0(path) {
      var contents, sourceFile, t1, i;
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$("readFile() is only supported on Node.js"));
      contents = A._asString(A._readFile0(path, "utf8"));
      if (!B.JSString_methods.contains$1(contents, "\ufffd"))
        return contents;
      sourceFile = A.SourceFile$fromString(contents, $.$get$context().toUri$1(path));
      for (t1 = contents.length, i = 0; i < t1; ++i) {
        if (contents.charCodeAt(i) !== 65533)
          continue;
        throw A.wrapException(A.SassException$0("Invalid UTF-8.", A.FileLocation$_(sourceFile, i).pointSpan$0(), null));
      }
      return contents;
    },
    _readFile0(path, encoding) {
      return A._systemErrorToFileSystemException0(new A._readFile_closure0(path, encoding));
    },
    fileExists0(path) {
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$(string$.fileEx));
      return A._systemErrorToFileSystemException0(new A.fileExists_closure0(path));
    },
    dirExists0(path) {
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$("dirExists() is only supported on Node.js"));
      return A._systemErrorToFileSystemException0(new A.dirExists_closure0(path));
    },
    listDir0(path) {
      if (!A.isNodeJs())
        throw A.wrapException(A.UnsupportedError$("listDir() is only supported on Node.js"));
      return A._systemErrorToFileSystemException0(new A.listDir_closure0(false, path));
    },
    getEnvironmentVariable0($name) {
      var t1 = A.isNodeJs() ? self.process : null,
        env = t1 == null ? null : J.get$env$x(t1);
      if (env == null)
        t1 = null;
      else
        t1 = A._asStringQ(env[$name]);
      return t1;
    },
    _systemErrorToFileSystemException0(callback) {
      var error, t1, exception, t2;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        error = A.unwrapException(exception);
        if (!type$.JsSystemError._is(error))
          throw exception;
        t1 = error;
        t2 = J.getInterceptor$x(t1);
        throw A.wrapException(new A.FileSystemException0(J.substring$2$s(t2.get$message(t1), (A.S(t2.get$code(t1)) + ": ").length, J.get$length$asx(t2.get$message(t1)) - (", " + A.S(t2.get$syscall(t1)) + " '" + A.S(t2.get$path(t1)) + "'").length), J.get$path$x(error)));
      }
    },
    hasTerminal0() {
      var t1 = A.isNodeJs() ? self.process : null;
      return J.$eq$(t1 == null ? null : J.get$isTTY$x(J.get$stdout$x(t1)), true);
    },
    FileSystemException0: function FileSystemException0(t0, t1) {
      this.message = t0;
      this.path = t1;
    },
    _readFile_closure0: function _readFile_closure0(t0, t1) {
      this.path = t0;
      this.encoding = t1;
    },
    fileExists_closure0: function fileExists_closure0(t0) {
      this.path = t0;
    },
    dirExists_closure0: function dirExists_closure0(t0) {
      this.path = t0;
    },
    listDir_closure0: function listDir_closure0(t0, t1) {
      this.recursive = t0;
      this.path = t1;
    },
    listDir__closure1: function listDir__closure1(t0) {
      this.path = t0;
    },
    listDir__closure2: function listDir__closure2() {
    },
    listDir_closure_list0: function listDir_closure_list0() {
    },
    listDir__list_closure0: function listDir__list_closure0(t0, t1) {
      this.parent = t0;
      this.list = t1;
    },
    main() {
      J.set$compile$x(self.exports, A.allowInteropNamed("sass.compile", A.compile__compile$closure()));
      J.set$compileString$x(self.exports, A.allowInteropNamed("sass.compileString", A.compile__compileString$closure()));
      J.set$compileAsync$x(self.exports, A.allowInteropNamed("sass.compileAsync", A.compile__compileAsync$closure()));
      J.set$compileStringAsync$x(self.exports, A.allowInteropNamed("sass.compileStringAsync", A.compile__compileStringAsync$closure()));
      J.set$initCompiler$x(self.exports, A.allowInteropNamed("sass.initCompiler", A.compiler__initCompiler$closure()));
      J.set$initAsyncCompiler$x(self.exports, A.allowInteropNamed("sass.initAsyncCompiler", A.compiler__initAsyncCompiler$closure()));
      J.set$Compiler$x(self.exports, $.$get$compilerClass());
      J.set$AsyncCompiler$x(self.exports, $.$get$asyncCompilerClass());
      J.set$Value$x(self.exports, $.$get$valueClass());
      J.set$SassBoolean$x(self.exports, $.$get$booleanClass());
      J.set$SassArgumentList$x(self.exports, $.$get$argumentListClass());
      J.set$SassCalculation$x(self.exports, $.$get$calculationClass());
      J.set$CalculationOperation$x(self.exports, $.$get$calculationOperationClass());
      J.set$CalculationInterpolation$x(self.exports, $.$get$calculationInterpolationClass());
      J.set$SassColor$x(self.exports, $.$get$colorClass());
      J.set$SassFunction$x(self.exports, $.$get$functionClass());
      J.set$SassMixin$x(self.exports, $.$get$mixinClass());
      J.set$SassList$x(self.exports, $.$get$listClass());
      J.set$SassMap$x(self.exports, $.$get$mapClass());
      J.set$SassNumber$x(self.exports, $.$get$numberClass());
      J.set$SassString$x(self.exports, $.$get$stringClass());
      J.set$sassNull$x(self.exports, B.C__SassNull0);
      J.set$sassTrue$x(self.exports, B.SassBoolean_true0);
      J.set$sassFalse$x(self.exports, B.SassBoolean_false0);
      J.set$Exception$x(self.exports, $.$get$exceptionClass());
      J.set$Logger$x(self.exports, {silent: {warn: A.allowInteropNamed("sass.Logger.silent.warn", new A.main_closure()), debug: A.allowInteropNamed("sass.Logger.silent.debug", new A.main_closure0())}});
      J.set$NodePackageImporter$x(self.exports, $.$get$nodePackageImporterClass());
      J.set$deprecations$x(self.exports, A.jsify($.$get$deprecations()));
      J.set$Version$x(self.exports, $.$get$versionClass());
      J.set$info$x(self.exports, "dart-sass\t1.77.8\t(Sass Compiler)\t[Dart]\ndart2js\t3.4.4\t(Dart Compiler)\t[Dart]");
      A.updateCanonicalizeContextPrototype();
      A.updateSourceSpanPrototype();
      J.set$render$x(self.exports, A.allowInteropNamed("sass.render", A.legacy__render$closure()));
      J.set$renderSync$x(self.exports, A.allowInteropNamed("sass.renderSync", A.legacy__renderSync$closure()));
      J.set$types$x(self.exports, {Boolean: $.$get$legacyBooleanClass(), Color: $.$get$legacyColorClass(), List: $.$get$legacyListClass(), Map: $.$get$legacyMapClass(), Null: $.$get$legacyNullClass(), Number: $.$get$legacyNumberClass(), String: $.$get$legacyStringClass(), Error: self.Error});
      J.set$NULL$x(self.exports, B.C__SassNull0);
      J.set$TRUE$x(self.exports, B.SassBoolean_true0);
      J.set$FALSE$x(self.exports, B.SassBoolean_false0);
    },
    main_closure: function main_closure() {
    },
    main_closure0: function main_closure0() {
    },
    JSToDartLogger: function JSToDartLogger(t0, t1, t2) {
      this._node = t0;
      this._fallback = t1;
      this._ascii = t2;
    },
    JSToDartLogger_internalWarn_closure: function JSToDartLogger_internalWarn_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.message = t1;
      _.span = t2;
      _.trace = t3;
      _.deprecation = t4;
    },
    JSToDartLogger_debug_closure: function JSToDartLogger_debug_closure(t0, t1, t2) {
      this.$this = t0;
      this.message = t1;
      this.span = t2;
    },
    ModifiableCssKeyframeBlock$0(selector, span) {
      var t1 = A._setArrayType([], type$.JSArray_ModifiableCssNode_2);
      return new A.ModifiableCssKeyframeBlock0(selector, span, new A.UnmodifiableListView(t1, type$.UnmodifiableListView_ModifiableCssNode_2), t1);
    },
    ModifiableCssKeyframeBlock0: function ModifiableCssKeyframeBlock0(t0, t1, t2, t3) {
      var _ = this;
      _.selector = t0;
      _.span = t1;
      _.children = t2;
      _._node$_children = t3;
      _._node$_indexInParent = _._node$_parent = null;
      _.isGroupEnd = false;
    },
    KeyframeSelectorParser$0(contents, interpolationMap, logger) {
      var t1 = A.SpanScanner$(contents, null);
      return new A.KeyframeSelectorParser0(t1, logger, interpolationMap);
    },
    KeyframeSelectorParser0: function KeyframeSelectorParser0(t0, t1, t2) {
      this.scanner = t0;
      this.logger = t1;
      this._parser0$_interpolationMap = t2;
    },
    KeyframeSelectorParser_parse_closure0: function KeyframeSelectorParser_parse_closure0(t0) {
      this.$this = t0;
    },
    LazyFileSpan0: function LazyFileSpan0(t0) {
      this._lazy_file_span0$_builder = t0;
      this._lazy_file_span0$_span = null;
    },
    render(options, callback) {
      var _0_0;
      if (!A.isNodeJs())
        A.jsThrow(new self.Error("The render() method is only available in Node.js."));
      _0_0 = J.get$fiber$x(options);
      if (_0_0 != null)
        J.run$0$x(_0_0.call$1(A.allowInterop(new A.render_closure(callback, options))));
      else
        A._renderAsync(options).then$1$2$onError(0, new A.render_closure0(callback), new A.render_closure1(callback), type$.Null);
    },
    _renderAsync(options) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.RenderResult),
        $async$returnValue, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, result, start, t1, file, _0_0;
      var $async$_renderAsync = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              start = new A.DateTime(Date.now(), false);
              t1 = J.getInterceptor$x(options);
              file = A.NullableExtension_andThen0(t1.get$file(options), A.path__absolute$closure());
              _0_0 = t1.get$data(options);
              $async$goto = _0_0 != null ? 3 : 5;
              break;
            case 3:
              // then
              t2 = A._parseImporter(options, start);
              t3 = A._parsePackageImportersAsync(options, start);
              t4 = A._parseFunctions(options, start, true);
              t5 = t1.get$indentedSyntax(options);
              t5 = !J.$eq$(t5, false) && t5 != null ? B.Syntax_Sass_sass0 : null;
              t6 = A._parseOutputStyle(t1.get$outputStyle(options));
              t7 = J.$eq$(t1.get$indentType(options), "tab");
              t8 = A._parseIndentWidth(t1.get$indentWidth(options));
              t9 = A._parseLineFeed(t1.get$linefeed(options));
              t10 = file == null ? "stdin" : $.$get$context().toUri$1(file).toString$0(0);
              t11 = t1.get$quietDeps(options);
              if (t11 == null)
                t11 = false;
              t12 = t1.get$verbose(options);
              if (t12 == null)
                t12 = false;
              t13 = t1.get$charset(options);
              if (t13 == null)
                t13 = true;
              t14 = A._enableSourceMaps(options);
              t1 = t1.get$logger(options);
              t15 = A.hasTerminal0();
              t16 = $._glyphs;
              $async$goto = 6;
              return A._asyncAwait(A.compileStringAsync0(_0_0, t13, null, t4, null, t3, null, t8, t9, new A.JSToDartLogger(t1, new A.StderrLogger0(t15), t16 === B.C_AsciiGlyphSet), t2, t11, null, t14, t6, t5, t10, !t7, t12), $async$_renderAsync);
            case 6:
              // returning from await.
              result = $async$result;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = file != null ? 7 : 9;
              break;
            case 7:
              // then
              t2 = A._parseImporter(options, start);
              t3 = A._parsePackageImportersAsync(options, start);
              t4 = A._parseFunctions(options, start, true);
              t5 = t1.get$indentedSyntax(options);
              t5 = !J.$eq$(t5, false) && t5 != null ? B.Syntax_Sass_sass0 : null;
              t6 = A._parseOutputStyle(t1.get$outputStyle(options));
              t7 = J.$eq$(t1.get$indentType(options), "tab");
              t8 = A._parseIndentWidth(t1.get$indentWidth(options));
              t9 = A._parseLineFeed(t1.get$linefeed(options));
              t10 = t1.get$quietDeps(options);
              if (t10 == null)
                t10 = false;
              t11 = t1.get$verbose(options);
              if (t11 == null)
                t11 = false;
              t12 = t1.get$charset(options);
              if (t12 == null)
                t12 = true;
              t13 = A._enableSourceMaps(options);
              t1 = t1.get$logger(options);
              t14 = A.hasTerminal0();
              t15 = $._glyphs;
              $async$goto = 10;
              return A._asyncAwait(A.compileAsync0(file, t12, null, t4, null, t3, t8, t9, new A.JSToDartLogger(t1, new A.StderrLogger0(t14), t15 === B.C_AsciiGlyphSet), t2, t10, null, t13, t6, t5, !t7, t11), $async$_renderAsync);
            case 10:
              // returning from await.
              result = $async$result;
              // goto join
              $async$goto = 8;
              break;
            case 9:
              // else
              throw A.wrapException(A.ArgumentError$(string$.Either, null));
            case 8:
              // join
            case 4:
              // join
              $async$returnValue = A._newRenderResult(options, result, start);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_renderAsync, $async$completer);
    },
    renderSync(options) {
      var start, result, file, _0_0, data, error, stackTrace, error0, stackTrace0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, exception, _null = null;
      if (!A.isNodeJs())
        A.jsThrow(new self.Error("The renderSync() method is only available in Node.js."));
      try {
        start = new A.DateTime(Date.now(), false);
        result = null;
        t1 = J.getInterceptor$x(options);
        file = A.NullableExtension_andThen0(t1.get$file(options), A.path__absolute$closure());
        _0_0 = t1.get$data(options);
        data = null;
        if (_0_0 != null) {
          data = _0_0;
          t2 = data;
          t3 = A._parseImporter(options, start);
          t4 = A._parsePackageImporters(options, start);
          t5 = A._parseFunctions(options, start, false);
          t6 = t1.get$indentedSyntax(options);
          t6 = !J.$eq$(t6, false) && t6 != null ? B.Syntax_Sass_sass0 : _null;
          t7 = A._parseOutputStyle(t1.get$outputStyle(options));
          t8 = J.$eq$(t1.get$indentType(options), "tab");
          t9 = A._parseIndentWidth(t1.get$indentWidth(options));
          t10 = A._parseLineFeed(t1.get$linefeed(options));
          t11 = file == null ? "stdin" : $.$get$context().toUri$1(file).toString$0(0);
          t12 = t1.get$quietDeps(options);
          if (t12 == null)
            t12 = false;
          t13 = t1.get$verbose(options);
          if (t13 == null)
            t13 = false;
          t14 = t1.get$charset(options);
          if (t14 == null)
            t14 = true;
          t15 = A._enableSourceMaps(options);
          t1 = t1.get$logger(options);
          t16 = A.hasTerminal0();
          t17 = $._glyphs;
          result = A.compileString(t2, t14, _null, new A.CastList(t5, A._arrayInstanceType(t5)._eval$1("CastList<1,Callable>")), _null, t4, _null, t9, t10, new A.JSToDartLogger(t1, new A.StderrLogger0(t16), t17 === B.C_AsciiGlyphSet), t3, t12, _null, t15, t7, t6, t11, !t8, t13);
        } else if (file != null) {
          t2 = A._parseImporter(options, start);
          t3 = A._parsePackageImporters(options, start);
          t4 = A._parseFunctions(options, start, false);
          t5 = t1.get$indentedSyntax(options);
          t5 = !J.$eq$(t5, false) && t5 != null ? B.Syntax_Sass_sass0 : _null;
          t6 = A._parseOutputStyle(t1.get$outputStyle(options));
          t7 = J.$eq$(t1.get$indentType(options), "tab");
          t8 = A._parseIndentWidth(t1.get$indentWidth(options));
          t9 = A._parseLineFeed(t1.get$linefeed(options));
          t10 = t1.get$quietDeps(options);
          if (t10 == null)
            t10 = false;
          t11 = t1.get$verbose(options);
          if (t11 == null)
            t11 = false;
          t12 = t1.get$charset(options);
          if (t12 == null)
            t12 = true;
          t13 = A._enableSourceMaps(options);
          t1 = t1.get$logger(options);
          t14 = A.hasTerminal0();
          t15 = $._glyphs;
          result = A.compile(file, t12, _null, new A.CastList(t4, A._arrayInstanceType(t4)._eval$1("CastList<1,Callable>")), _null, t3, t8, t9, new A.JSToDartLogger(t1, new A.StderrLogger0(t14), t15 === B.C_AsciiGlyphSet), t2, t10, _null, t13, t6, t5, !t7, t11);
        } else {
          t1 = A.ArgumentError$(string$.Either, _null);
          throw A.wrapException(t1);
        }
        t1 = A._newRenderResult(options, result, start);
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException0) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          A.jsThrow(A._wrapException(error, stackTrace));
        } else {
          error0 = t1;
          stackTrace0 = A.getTraceFromException(exception);
          t1 = J.toString$0$(error0);
          t2 = A.getTrace0(error0);
          A.jsThrow(A._newRenderError(t1, t2 == null ? stackTrace0 : t2, _null, _null, _null, 3));
        }
      }
    },
    _wrapException(exception, stackTrace) {
      var t2, t3, t4, t5,
        t1 = A.SourceSpanException.prototype.get$span.call(exception, 0),
        _0_0 = t1.get$sourceUrl(t1);
      $label0$0: {
        if (_0_0 == null) {
          t1 = "stdin";
          break $label0$0;
        }
        if ("file" === _0_0.get$scheme()) {
          t1 = $.$get$context().style.pathFromUri$1(A._parseUri(_0_0));
          break $label0$0;
        }
        t1 = _0_0.toString$0(0);
        break $label0$0;
      }
      t2 = B.JSString_methods.replaceFirst$2(exception.toString$0(0), "Error: ", "");
      t3 = A.getTrace0(exception);
      if (t3 == null)
        t3 = stackTrace;
      t4 = A.SourceSpanException.prototype.get$span.call(exception, 0);
      t4 = t4.get$start(t4);
      t4 = t4.file.getLine$1(t4.offset);
      t5 = A.SourceSpanException.prototype.get$span.call(exception, 0);
      t5 = t5.get$start(t5);
      return A._newRenderError(t2, t3, t5.file.getColumn$1(t5.offset) + 1, t1, t4 + 1, 1);
    },
    _parseFunctions(options, start, asynch) {
      var result,
        functions = J.get$functions$x(options);
      if (functions == null)
        return B.List_empty24;
      result = A._setArrayType([], type$.JSArray_AsyncCallable_2);
      A.jsForEach(functions, new A._parseFunctions_closure(options, start, result, asynch));
      return result;
    },
    _parseImporter(options, start) {
      var t2, t3, contextOptions, _1_0, importers, _box_0 = {},
        t1 = J.getInterceptor$x(options),
        _0_0 = t1.get$importer(options);
      $label0$0: {
        if (_0_0 == null) {
          t2 = A._setArrayType([], type$.JSArray_JSFunction);
          break $label0$0;
        }
        if (type$.List_nullable_Object._is(_0_0)) {
          t2 = J.cast$1$0$ax(_0_0, type$.JSFunction);
          break $label0$0;
        }
        t2 = A._setArrayType([type$.JSFunction._as(_0_0)], type$.JSArray_JSFunction);
        break $label0$0;
      }
      t3 = J.getInterceptor$asx(t2);
      contextOptions = t3.get$isNotEmpty(t2) ? A._contextOptions(options, start) : new A.Object();
      _1_0 = t1.get$fiber(options);
      _box_0.fiber = null;
      if (_1_0 != null) {
        _box_0.fiber = _1_0;
        t2 = t3.map$1$1(t2, new A._parseImporter_closure(_box_0), type$.JSFunction);
        importers = A.List_List$of(t2, true, t2.$ti._eval$1("ListIterable.E"));
      } else
        importers = t2;
      t1 = t1.get$includePaths(options);
      if (t1 == null)
        t1 = [];
      t2 = type$.String;
      return new A.NodeImporter(contextOptions, A.List_List$unmodifiable(A.NodeImporter__addSassPath(A.List_List$from(t1, true, t2)), t2), A.List_List$unmodifiable(J.cast$1$0$ax(importers, type$.dynamic), type$.JSFunction));
    },
    _parsePackageImportersAsync(options, start) {
      var t2, t3, t4,
        t1 = J.getInterceptor$x(options);
      if (t1.get$pkgImporter(options) instanceof A.NodePackageImporter0) {
        t1 = t1.get$pkgImporter(options);
        t1.toString;
        t2 = type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2;
        t3 = type$.Record_3_AsyncImporter_and_Uri_and_bool_forImport_2;
        t4 = type$.Uri;
        t1 = A.List_List$unmodifiable(A._setArrayType([t1], type$.JSArray_AsyncImporter), type$.AsyncImporter);
        return new A.AsyncImportCache0(t1, B.StderrLogger_false0, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.ImporterResult_2));
      }
      return null;
    },
    _parsePackageImporters(options, start) {
      var t2, t3, t4,
        t1 = J.getInterceptor$x(options);
      if (t1.get$pkgImporter(options) instanceof A.NodePackageImporter0) {
        t1 = t1.get$pkgImporter(options);
        t1.toString;
        t2 = type$.nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl_2;
        t3 = type$.Record_3_Importer_and_Uri_and_bool_forImport_2;
        t4 = type$.Uri;
        t1 = A.List_List$unmodifiable(A._setArrayType([t1], type$.JSArray_Importer_2), type$.Importer);
        return new A.ImportCache0(t1, B.StderrLogger_false0, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.ImporterResult_2));
      }
      return null;
    },
    _contextOptions(options, start) {
      var includePaths, t3, t4, t5, t6, t7,
        t1 = J.getInterceptor$x(options),
        t2 = t1.get$includePaths(options);
      if (t2 == null)
        t2 = [];
      includePaths = A.List_List$from(t2, true, type$.String);
      t2 = t1.get$file(options);
      t3 = t1.get$data(options);
      t4 = A._setArrayType([A.current()], type$.JSArray_String);
      B.JSArray_methods.addAll$1(t4, includePaths);
      t5 = A.isNodeJs() ? self.process : null;
      t4 = B.JSArray_methods.join$1(t4, J.$eq$(t5 == null ? null : J.get$platform$x(t5), "win32") ? ";" : ":");
      t5 = J.$eq$(t1.get$indentType(options), "tab") ? 1 : 0;
      t6 = A._parseIndentWidth(t1.get$indentWidth(options));
      if (t6 == null)
        t6 = 2;
      t7 = A._parseLineFeed(t1.get$linefeed(options));
      t1 = t1.get$file(options);
      if (t1 == null)
        t1 = "data";
      return {file: t2, data: t3, includePaths: t4, precision: 10, style: 1, indentType: t5, indentWidth: t6, linefeed: t7.text, result: {stats: {start: start._value, entry: t1}}};
    },
    _parseOutputStyle(style) {
      var t1;
      $label0$0: {
        if (style == null || "expanded" === style) {
          t1 = B.OutputStyle_00;
          break $label0$0;
        }
        if ("compressed" === style) {
          t1 = B.OutputStyle_10;
          break $label0$0;
        }
        t1 = A.jsThrow(new self.Error('Unknown output style "' + A.S(style) + '".'));
      }
      return t1;
    },
    _parseIndentWidth(width) {
      var t1;
      $label0$0: {
        if (width == null) {
          t1 = null;
          break $label0$0;
        }
        if (A._isInt(width)) {
          t1 = width;
          break $label0$0;
        }
        t1 = A.int_parse(J.toString$0$(width), null);
        break $label0$0;
      }
      return t1;
    },
    _parseLineFeed(str) {
      var t1;
      $label0$0: {
        if ("cr" === str) {
          t1 = B.LineFeed_89t;
          break $label0$0;
        }
        if ("crlf" === str) {
          t1 = B.LineFeed_A4L;
          break $label0$0;
        }
        if ("lfcr" === str) {
          t1 = B.LineFeed_75j;
          break $label0$0;
        }
        t1 = B.LineFeed_LvD;
        break $label0$0;
      }
      return t1;
    },
    _newRenderResult(options, result, start) {
      var t3, sourceMapOption, sourceMapPath, t4, sourceMapDir, outFile, _0_0, t5, sourceMapDirUrl, i, source, t6, buffer, indices, url, t7, t8, _null = null,
        t1 = Date.now(),
        t2 = result._compile_result$_serialize,
        css = t2._0,
        sourceMapBytes = type$.Null._as(self.undefined);
      if (A._enableSourceMaps(options)) {
        t3 = J.getInterceptor$x(options);
        sourceMapOption = t3.get$sourceMap(options);
        if (typeof sourceMapOption == "string")
          sourceMapPath = sourceMapOption;
        else {
          t4 = t3.get$outFile(options);
          t4.toString;
          sourceMapPath = J.$add$ansx(t4, ".map");
        }
        t4 = $.$get$context();
        sourceMapDir = t4.dirname$1(sourceMapPath);
        t2 = t2._1;
        t2.toString;
        t2.sourceRoot = t3.get$sourceMapRoot(options);
        outFile = t3.get$outFile(options);
        if (outFile == null) {
          _0_0 = t3.get$file(options);
          $label0$0: {
            if (_0_0 != null) {
              t5 = t4.toUri$1(t4.withoutExtension$1(_0_0) + ".css").toString$0(0);
              break $label0$0;
            }
            t5 = t2.targetUrl = "stdin.css";
            break $label0$0;
          }
          t2.targetUrl = t5;
        } else
          t2.targetUrl = t4.toUri$1(t4.relative$2$from(outFile, sourceMapDir)).toString$0(0);
        sourceMapDirUrl = t4.toUri$1(sourceMapDir).toString$0(0);
        for (t4 = t2.urls, i = 0; i < t4.length; ++i) {
          source = t4[i];
          if (source === "stdin")
            continue;
          t5 = $.$get$url();
          t6 = t5.style;
          if (t6.rootLength$1(source) <= 0 || t6.isRootRelative$1(source))
            continue;
          t4[i] = t5.relative$2$from(source, sourceMapDirUrl);
        }
        t4 = t3.get$sourceMapContents(options);
        sourceMapBytes = self.Buffer.from(B.C_JsonCodec.encode$2$toEncodable(t2.toJson$1$includeSourceContents(!J.$eq$(t4, false) && t4 != null), _null), "utf8");
        t2 = t3.get$omitSourceMapUrl(options);
        if (!(!J.$eq$(t2, false) && t2 != null)) {
          t2 = t3.get$sourceMapEmbed(options);
          if (!J.$eq$(t2, false) && t2 != null) {
            buffer = new A.StringBuffer("");
            indices = A._setArrayType([-1], type$.JSArray_int);
            A.UriData__writeUri("application/json", _null, _null, buffer, indices);
            indices.push(buffer._contents.length);
            t2 = buffer._contents += ";base64,";
            indices.push(t2.length - 1);
            t2 = B.C_Base64Encoder.startChunkedConversion$1(new A._StringSinkConversionSink(buffer));
            t3 = sourceMapBytes.length;
            A.RangeError_checkValidRange(0, t3, t3);
            t2._convert$_add$4(sourceMapBytes, 0, t3, true);
            t2 = buffer._contents;
            url = new A.UriData(t2.charCodeAt(0) == 0 ? t2 : t2, indices, _null).get$uri();
          } else {
            if (outFile == null)
              t2 = sourceMapPath;
            else {
              t2 = $.$get$context();
              t2 = t2.relative$2$from(sourceMapPath, t2.dirname$1(outFile));
            }
            url = $.$get$context().toUri$1(t2);
          }
          t2 = url.toString$0(0);
          css += "\n\n/*# sourceMappingURL=" + A.stringReplaceAllUnchecked(t2, "*/", "%2A/") + " */";
        }
      }
      t2 = self.Buffer.from(css, "utf8");
      t3 = J.get$file$x(options);
      if (t3 == null)
        t3 = "data";
      t4 = start._value;
      t1 = new A.DateTime(t1, false)._value;
      t5 = B.JSInt_methods._tdivFast$1(A.Duration$(t1 - t4)._duration, 1000);
      t6 = A._setArrayType([], type$.JSArray_String);
      for (t7 = result._evaluate._0, t7 = t7.get$iterator(t7); t7.moveNext$0();) {
        t8 = t7.get$current(t7);
        t6.push(t8.get$scheme() === "file" ? $.$get$context().style.pathFromUri$1(A._parseUri(t8)) : t8.toString$0(0));
      }
      return {css: t2, map: sourceMapBytes, stats: {entry: t3, start: t4, end: t1, duration: t5, includedFiles: t6}};
    },
    _enableSourceMaps(options) {
      var t2,
        t1 = J.getInterceptor$x(options);
      if (typeof t1.get$sourceMap(options) != "string") {
        t2 = t1.get$sourceMap(options);
        t1 = !J.$eq$(t2, false) && t2 != null && t1.get$outFile(options) != null;
      } else
        t1 = true;
      return t1;
    },
    _newRenderError(message, stackTrace, column, file, line, $status) {
      var error = new self.Error(message);
      error.formatted = "Error: " + message;
      if (line != null)
        error.line = line;
      if (column != null)
        error.column = column;
      if (file != null)
        error.file = file;
      error.status = $status;
      A.attachJsStack(error, stackTrace);
      return error;
    },
    render_closure: function render_closure(t0, t1) {
      this.callback = t0;
      this.options = t1;
    },
    render_closure0: function render_closure0(t0) {
      this.callback = t0;
    },
    render_closure1: function render_closure1(t0) {
      this.callback = t0;
    },
    _parseFunctions_closure: function _parseFunctions_closure(t0, t1, t2, t3) {
      var _ = this;
      _.options = t0;
      _.start = t1;
      _.result = t2;
      _.asynch = t3;
    },
    _parseFunctions__closure: function _parseFunctions__closure(t0, t1, t2) {
      this._box_0 = t0;
      this.callback = t1;
      this.context = t2;
    },
    _parseFunctions___closure2: function _parseFunctions___closure2(t0) {
      this.currentFiber = t0;
    },
    _parseFunctions____closure: function _parseFunctions____closure(t0, t1) {
      this.currentFiber = t0;
      this.result = t1;
    },
    _parseFunctions___closure3: function _parseFunctions___closure3(t0, t1, t2) {
      this.callback = t0;
      this.context = t1;
      this.jsArguments = t2;
    },
    _parseFunctions___closure4: function _parseFunctions___closure4(t0) {
      this._box_0 = t0;
    },
    _parseFunctions__closure0: function _parseFunctions__closure0(t0, t1) {
      this.callback = t0;
      this.context = t1;
    },
    _parseFunctions___closure1: function _parseFunctions___closure1(t0, t1, t2) {
      this.callback = t0;
      this.context = t1;
      this.$arguments = t2;
    },
    _parseFunctions__closure1: function _parseFunctions__closure1(t0, t1) {
      this.callback = t0;
      this.context = t1;
    },
    _parseFunctions___closure: function _parseFunctions___closure(t0) {
      this.completer = t0;
    },
    _parseFunctions___closure0: function _parseFunctions___closure0(t0, t1, t2) {
      this.callback = t0;
      this.context = t1;
      this.jsArguments = t2;
    },
    _parseImporter_closure: function _parseImporter_closure(t0) {
      this._box_0 = t0;
    },
    _parseImporter__closure: function _parseImporter__closure(t0, t1) {
      this._box_0 = t0;
      this.importer = t1;
    },
    _parseImporter___closure: function _parseImporter___closure(t0) {
      this.currentFiber = t0;
    },
    _parseImporter____closure: function _parseImporter____closure(t0, t1) {
      this.currentFiber = t0;
      this.result = t1;
    },
    _parseImporter___closure0: function _parseImporter___closure0(t0) {
      this._box_0 = t0;
    },
    LimitedMapView$blocklist0(_map, blocklist, $K, $V) {
      var t2, key,
        t1 = A.LinkedHashSet_LinkedHashSet$_empty($K);
      for (t2 = J.get$iterator$ax(_map.get$keys(_map)); t2.moveNext$0();) {
        key = t2.get$current(t2);
        if (!blocklist.contains$1(0, key))
          t1.add$1(0, key);
      }
      return new A.LimitedMapView0(_map, t1, $K._eval$1("@<0>")._bind$1($V)._eval$1("LimitedMapView0<1,2>"));
    },
    LimitedMapView0: function LimitedMapView0(t0, t1, t2) {
      this._limited_map_view0$_map = t0;
      this._limited_map_view0$_keys = t1;
      this.$ti = t2;
    },
    ListExpression0: function ListExpression0(t0, t1, t2, t3) {
      var _ = this;
      _.contents = t0;
      _.separator = t1;
      _.hasBrackets = t2;
      _.span = t3;
    },
    ListExpression_toString_closure0: function ListExpression_toString_closure0(t0) {
      this.$this = t0;
    },
    _function10($name, $arguments, callback) {
      return A.BuiltInCallable$function0($name, $arguments, callback, "sass:list");
    },
    _length_closure2: function _length_closure2() {
    },
    _nth_closure0: function _nth_closure0() {
    },
    _setNth_closure0: function _setNth_closure0() {
    },
    _join_closure0: function _join_closure0() {
    },
    _append_closure2: function _append_closure2() {
    },
    _zip_closure0: function _zip_closure0() {
    },
    _zip__closure2: function _zip__closure2() {
    },
    _zip__closure3: function _zip__closure3(t0) {
      this._box_0 = t0;
    },
    _zip__closure4: function _zip__closure4(t0) {
      this._box_0 = t0;
    },
    _index_closure2: function _index_closure2() {
    },
    _separator_closure0: function _separator_closure0() {
    },
    _isBracketed_closure0: function _isBracketed_closure0() {
    },
    _slash_closure0: function _slash_closure0() {
    },
    SelectorList$0(components, span) {
      var t1 = A.List_List$unmodifiable(components, type$.ComplexSelector_2);
      if (t1.length === 0)
        A.throwExpression(A.ArgumentError$("components may not be empty.", null));
      return new A.SelectorList0(t1, span);
    },
    SelectorList_SelectorList$parse0(contents, allowParent, interpolationMap, logger, plainCss) {
      return A.SelectorParser$0(contents, allowParent, interpolationMap, logger, plainCss, null).parse$0();
    },
    SelectorList0: function SelectorList0(t0, t1) {
      this.components = t0;
      this.span = t1;
    },
    SelectorList_asSassList_closure0: function SelectorList_asSassList_closure0() {
    },
    SelectorList_nestWithin_closure0: function SelectorList_nestWithin_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.preserveParentSelectors = t1;
      _.implicitParent = t2;
      _.parent = t3;
    },
    SelectorList_nestWithin__closure1: function SelectorList_nestWithin__closure1(t0) {
      this.complex = t0;
    },
    SelectorList_nestWithin__closure2: function SelectorList_nestWithin__closure2(t0) {
      this.complex = t0;
    },
    SelectorList__nestWithinCompound_closure2: function SelectorList__nestWithinCompound_closure2() {
    },
    SelectorList__nestWithinCompound_closure3: function SelectorList__nestWithinCompound_closure3(t0) {
      this.parent = t0;
    },
    SelectorList__nestWithinCompound_closure4: function SelectorList__nestWithinCompound_closure4(t0, t1, t2) {
      this.parentSelector = t0;
      this.resolvedSimples = t1;
      this.component = t2;
    },
    SelectorList_withAdditionalCombinators_closure0: function SelectorList_withAdditionalCombinators_closure0(t0) {
      this.combinators = t0;
    },
    _ParentSelectorVisitor0: function _ParentSelectorVisitor0() {
    },
    __ParentSelectorVisitor_Object_SelectorSearchVisitor0: function __ParentSelectorVisitor_Object_SelectorSearchVisitor0() {
    },
    listClass_closure: function listClass_closure() {
    },
    listClass__closure: function listClass__closure() {
    },
    listClass__closure0: function listClass__closure0() {
    },
    _ConstructorOptions: function _ConstructorOptions() {
    },
    _NodeSassList: function _NodeSassList() {
    },
    legacyListClass_closure: function legacyListClass_closure() {
    },
    legacyListClass__closure: function legacyListClass__closure() {
    },
    legacyListClass_closure0: function legacyListClass_closure0() {
    },
    legacyListClass_closure1: function legacyListClass_closure1() {
    },
    legacyListClass_closure2: function legacyListClass_closure2() {
    },
    legacyListClass_closure3: function legacyListClass_closure3() {
    },
    legacyListClass_closure4: function legacyListClass_closure4() {
    },
    SassList$0(contents, _separator, brackets) {
      var t1 = new A.SassList0(A.List_List$unmodifiable(contents, type$.Value_2), _separator, brackets);
      t1.SassList$3$brackets0(contents, _separator, brackets);
      return t1;
    },
    SassList0: function SassList0(t0, t1, t2) {
      this._list1$_contents = t0;
      this._list1$_separator = t1;
      this._list1$_hasBrackets = t2;
    },
    SassList_isBlank_closure0: function SassList_isBlank_closure0() {
    },
    ListSeparator0: function ListSeparator0(t0, t1, t2) {
      this._list1$_name = t0;
      this.separator = t1;
      this._name = t2;
    },
    JSLogger: function JSLogger() {
    },
    WarnOptions: function WarnOptions() {
    },
    DebugOptions: function DebugOptions() {
    },
    WarnForDeprecation_warnForDeprecation0(_this, deprecation, message, span, trace) {
      if (deprecation.isFuture && !(_this instanceof A.DeprecationProcessingLogger0))
        return;
      if (_this instanceof A.LoggerWithDeprecationType)
        _this.internalWarn$4$deprecation$span$trace(message, deprecation, span, trace);
      else
        _this.warn$4$deprecation$span$trace(0, message, true, span, trace);
    },
    LoggerWithDeprecationType: function LoggerWithDeprecationType() {
    },
    _QuietLogger0: function _QuietLogger0() {
    },
    LoudComment0: function LoudComment0(t0) {
      this.text = t0;
    },
    MapExpression0: function MapExpression0(t0, t1) {
      this.pairs = t0;
      this.span = t1;
    },
    _modify0(map, keys, modify, addNesting) {
      var keyIterator = J.get$iterator$ax(keys);
      return keyIterator.moveNext$0() ? new A._modify_modifyNestedMap0(keyIterator, modify, addNesting).call$1(map) : modify.call$1(map);
    },
    _deepMergeImpl0(map1, map2) {
      var t2, t3, result, t4, key, value, _1_1, _1_3, _1_3_isSet, resultMap, _1_30, valueMap, merged, _null = null,
        t1 = map1._map0$_contents;
      if (t1.get$isEmpty(t1))
        return map2;
      t2 = map2._map0$_contents;
      if (t2.get$isEmpty(t2))
        return map1;
      t3 = type$.Value_2;
      result = A.LinkedHashMap_LinkedHashMap$of(t1, t3, t3);
      for (t1 = A.MapExtensions_get_pairs0(t2, t3, t3), t1 = t1.get$iterator(t1), t2 = type$.SassMap_2; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        key = t4._0;
        value = t4._1;
        t4 = result.$index(0, key);
        _1_1 = t4 == null ? _null : t4.tryMap$0();
        _1_3 = value.tryMap$0();
        _1_3_isSet = _1_1 != null;
        if (_1_3_isSet) {
          resultMap = _1_1 == null ? t2._as(_1_1) : _1_1;
          t4 = _1_3 != null;
          _1_30 = _1_3;
        } else {
          resultMap = _null;
          _1_30 = resultMap;
          t4 = false;
        }
        if (t4) {
          valueMap = _1_3_isSet ? _1_30 : _1_3;
          merged = A._deepMergeImpl0(resultMap, valueMap == null ? t2._as(valueMap) : valueMap);
          if (merged === resultMap)
            continue;
          result.$indexSet(0, key, merged);
        } else
          result.$indexSet(0, key, value);
      }
      return new A.SassMap0(A.ConstantMap_ConstantMap$from(result, t3, t3));
    },
    _function9($name, $arguments, callback) {
      return A.BuiltInCallable$function0($name, $arguments, callback, "sass:map");
    },
    _get_closure0: function _get_closure0() {
    },
    _set_closure1: function _set_closure1() {
    },
    _set__closure2: function _set__closure2(t0) {
      this.$arguments = t0;
    },
    _set_closure2: function _set_closure2() {
    },
    _set__closure1: function _set__closure1(t0) {
      this._box_0 = t0;
    },
    _merge_closure1: function _merge_closure1() {
    },
    _merge_closure2: function _merge_closure2() {
    },
    _merge__closure0: function _merge__closure0(t0) {
      this.map2 = t0;
    },
    _deepMerge_closure0: function _deepMerge_closure0() {
    },
    _deepRemove_closure0: function _deepRemove_closure0() {
    },
    _deepRemove__closure0: function _deepRemove__closure0(t0) {
      this.keys = t0;
    },
    _remove_closure1: function _remove_closure1() {
    },
    _remove_closure2: function _remove_closure2() {
    },
    _keys_closure0: function _keys_closure0() {
    },
    _values_closure0: function _values_closure0() {
    },
    _hasKey_closure0: function _hasKey_closure0() {
    },
    _modify_modifyNestedMap0: function _modify_modifyNestedMap0(t0, t1, t2) {
      this.keyIterator = t0;
      this.modify = t1;
      this.addNesting = t2;
    },
    MapExtensions_get_pairs0(_this, $K, $V) {
      return _this.get$entries(_this).map$1$1(0, new A.MapExtensions_get_pairs_closure0($K, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("+(1,2)"));
    },
    MapExtensions_get_pairs_closure0: function MapExtensions_get_pairs_closure0(t0, t1) {
      this.K = t0;
      this.V = t1;
    },
    mapClass_closure: function mapClass_closure() {
    },
    mapClass__closure: function mapClass__closure() {
    },
    mapClass__closure0: function mapClass__closure0() {
    },
    mapClass__closure1: function mapClass__closure1() {
    },
    _NodeSassMap: function _NodeSassMap() {
    },
    legacyMapClass_closure: function legacyMapClass_closure() {
    },
    legacyMapClass__closure: function legacyMapClass__closure() {
    },
    legacyMapClass__closure0: function legacyMapClass__closure0() {
    },
    legacyMapClass_closure0: function legacyMapClass_closure0() {
    },
    legacyMapClass_closure1: function legacyMapClass_closure1() {
    },
    legacyMapClass_closure2: function legacyMapClass_closure2() {
    },
    legacyMapClass_closure3: function legacyMapClass_closure3() {
    },
    legacyMapClass_closure4: function legacyMapClass_closure4() {
    },
    SassMap0: function SassMap0(t0) {
      this._map0$_contents = t0;
    },
    _singleArgumentMathFunc0($name, mathFunc) {
      return A.BuiltInCallable$function0($name, "$number", new A._singleArgumentMathFunc_closure0(mathFunc), "sass:math");
    },
    _numberFunction0($name, transform) {
      return A.BuiltInCallable$function0($name, "$number", new A._numberFunction_closure0(transform), "sass:math");
    },
    _function8($name, $arguments, callback) {
      return A.BuiltInCallable$function0($name, $arguments, callback, "sass:math");
    },
    global_closure31: function global_closure31() {
    },
    module_closure11: function module_closure11() {
    },
    _ceil_closure0: function _ceil_closure0() {
    },
    _clamp_closure0: function _clamp_closure0() {
    },
    _floor_closure0: function _floor_closure0() {
    },
    _max_closure0: function _max_closure0() {
    },
    _min_closure0: function _min_closure0() {
    },
    _round_closure0: function _round_closure0() {
    },
    _hypot_closure0: function _hypot_closure0() {
    },
    _hypot__closure0: function _hypot__closure0() {
    },
    _log_closure0: function _log_closure0() {
    },
    _pow_closure0: function _pow_closure0() {
    },
    _atan2_closure0: function _atan2_closure0() {
    },
    _compatible_closure0: function _compatible_closure0() {
    },
    _isUnitless_closure0: function _isUnitless_closure0() {
    },
    _unit_closure0: function _unit_closure0() {
    },
    _percentage_closure0: function _percentage_closure0() {
    },
    _randomFunction_closure0: function _randomFunction_closure0() {
    },
    _div_closure0: function _div_closure0() {
    },
    _singleArgumentMathFunc_closure0: function _singleArgumentMathFunc_closure0(t0) {
      this.mathFunc = t0;
    },
    _numberFunction_closure0: function _numberFunction_closure0(t0) {
      this.transform = t0;
    },
    CssMediaQuery_parseList0(contents, interpolationMap, logger) {
      var t1 = A.SpanScanner$(contents, null);
      return new A.MediaQueryParser0(t1, logger, interpolationMap).parse$0();
    },
    CssMediaQuery$type0(type, conditions, modifier) {
      return new A.CssMediaQuery0(modifier, type, true, conditions == null ? B.List_empty : A.List_List$unmodifiable(conditions, type$.String));
    },
    CssMediaQuery$condition0(conditions, conjunction) {
      var t1 = A.List_List$unmodifiable(conditions, type$.String);
      if (t1.length > 1 && conjunction == null)
        A.throwExpression(A.ArgumentError$(string$.If_con, null));
      return new A.CssMediaQuery0(null, null, conjunction !== false, t1);
    },
    CssMediaQuery0: function CssMediaQuery0(t0, t1, t2, t3) {
      var _ = this;
      _.modifier = t0;
      _.type = t1;
      _.conjunction = t2;
      _.conditions = t3;
    },
    _SingletonCssMediaQueryMergeResult0: function _SingletonCssMediaQueryMergeResult0(t0) {
      this._name = t0;
    },
    MediaQuerySuccessfulMergeResult0: function MediaQuerySuccessfulMergeResult0(t0) {
      this.query = t0;
    },
    MediaQueryParser0: function MediaQueryParser0(t0, t1, t2) {
      this.scanner = t0;
      this.logger = t1;
      this._parser0$_interpolationMap = t2;
    },
    MediaQueryParser_parse_closure0: function MediaQueryParser_parse_closure0(t0) {
      this.$this = t0;
    },
    ModifiableCssMediaRule$0(queries, span) {
      var t1 = A.List_List$unmodifiable(queries, type$.CssMediaQuery_2),
        t2 = A._setArrayType([], type$.JSArray_ModifiableCssNode_2);
      if (J.get$isEmpty$asx(queries))
        A.throwExpression(A.ArgumentError$value(queries, "queries", "may not be empty."));
      return new A.ModifiableCssMediaRule0(t1, span, new A.UnmodifiableListView(t2, type$.UnmodifiableListView_ModifiableCssNode_2), t2);
    },
    ModifiableCssMediaRule0: function ModifiableCssMediaRule0(t0, t1, t2, t3) {
      var _ = this;
      _.queries = t0;
      _.span = t1;
      _.children = t2;
      _._node$_children = t3;
      _._node$_indexInParent = _._node$_parent = null;
      _.isGroupEnd = false;
    },
    MediaRule$0(query, children, span) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement_2),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure0());
      return new A.MediaRule0(query, span, t1, t2);
    },
    MediaRule0: function MediaRule0(t0, t1, t2, t3) {
      var _ = this;
      _.query = t0;
      _.span = t1;
      _.children = t2;
      _.hasDeclarations = t3;
    },
    MergedExtension_merge0(left, right) {
      var t2, t3, t4,
        t1 = left.extender.selector;
      if (!t1.$eq(0, right.extender.selector) || !left.target.$eq(0, right.target))
        throw A.wrapException(A.ArgumentError$(left.toString$0(0) + " and " + right.toString$0(0) + " aren't the same extension.", null));
      t2 = left.mediaContext;
      t3 = t2 == null;
      if (!t3) {
        t4 = right.mediaContext;
        t4 = t4 != null && !B.C_ListEquality.equals$2(0, t2, t4);
      } else
        t4 = false;
      if (t4)
        throw A.wrapException(A.SassException$0("From " + left.span.message$1(0, "") + string$.x0aYou_m, right.span, null));
      if (right.isOptional && right.mediaContext == null)
        return left;
      if (left.isOptional && t3)
        return right;
      if (t3)
        t2 = right.mediaContext;
      t1.get$specificity();
      t1 = new A.Extender0(t1, false);
      return t1._extension$_extension = new A.MergedExtension0(left, right, t1, left.target, t2, true, left.span);
    },
    MergedExtension0: function MergedExtension0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.left = t0;
      _.right = t1;
      _.extender = t2;
      _.target = t3;
      _.mediaContext = t4;
      _.isOptional = t5;
      _.span = t6;
    },
    MergedMapView$0(maps, $K, $V) {
      var t1 = $K._eval$1("@<0>")._bind$1($V);
      t1 = new A.MergedMapView0(A.LinkedHashMap_LinkedHashMap$_empty($K, t1._eval$1("Map<1,2>")), t1._eval$1("MergedMapView0<1,2>"));
      t1.MergedMapView$10(maps, $K, $V);
      return t1;
    },
    MergedMapView0: function MergedMapView0(t0, t1) {
      this._merged_map_view$_mapsByKey = t0;
      this.$ti = t1;
    },
    _function12($name, $arguments, callback) {
      return A.BuiltInCallable$function0($name, $arguments, callback, "sass:meta");
    },
    global_closure59: function global_closure59() {
    },
    global_closure60: function global_closure60() {
    },
    global_closure61: function global_closure61() {
    },
    global_closure62: function global_closure62() {
    },
    local_closure2: function local_closure2() {
    },
    local_closure3: function local_closure3() {
    },
    local__closure0: function local__closure0() {
    },
    local_closure4: function local_closure4() {
    },
    mixinClass_closure: function mixinClass_closure() {
    },
    mixinClass__closure: function mixinClass__closure() {
    },
    mixinClass__closure0: function mixinClass__closure0() {
    },
    SassMixin0: function SassMixin0(t0) {
      this.callable = t0;
    },
    MixinRule$0($name, $arguments, children, span, comment) {
      var t1 = A.stringReplaceAllUnchecked($name, "_", "-"),
        t2 = A.List_List$unmodifiable(children, type$.Statement_2),
        t3 = B.JSArray_methods.any$1(t2, new A.ParentStatement_closure0());
      return new A.MixinRule0(t1, $name, $arguments, span, t2, t3);
    },
    MixinRule0: function MixinRule0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._mixin_rule$__MixinRule_hasContent_FI = $;
      _.name = t0;
      _.originalName = t1;
      _.$arguments = t2;
      _.span = t3;
      _.children = t4;
      _.hasDeclarations = t5;
    },
    _HasContentVisitor0: function _HasContentVisitor0() {
    },
    __HasContentVisitor_Object_StatementSearchVisitor0: function __HasContentVisitor_Object_StatementSearchVisitor0() {
    },
    ExtendMode0: function ExtendMode0(t0, t1) {
      this.name = t0;
      this._name = t1;
    },
    JSModule0: function JSModule0() {
    },
    JSModuleRequire0: function JSModuleRequire0() {
    },
    MultiSpan0: function MultiSpan0(t0, t1, t2) {
      this._multi_span0$_primary = t0;
      this.primaryLabel = t1;
      this.secondarySpans = t2;
    },
    SupportsNegation0: function SupportsNegation0(t0, t1) {
      this.condition = t0;
      this.span = t1;
    },
    NoOpImporter0: function NoOpImporter0() {
    },
    NoSourceMapBuffer0: function NoSourceMapBuffer0(t0) {
      this._no_source_map_buffer0$_buffer = t0;
    },
    _FakeAstNode0: function _FakeAstNode0(t0) {
      this._node0$_callback = t0;
    },
    CssNode0: function CssNode0() {
    },
    CssParentNode0: function CssParentNode0() {
    },
    _IsInvisibleVisitor1: function _IsInvisibleVisitor1(t0, t1) {
      this.includeBogus = t0;
      this.includeComments = t1;
    },
    __IsInvisibleVisitor_Object_EveryCssVisitor0: function __IsInvisibleVisitor_Object_EveryCssVisitor0() {
    },
    ModifiableCssNode0: function ModifiableCssNode0() {
    },
    ModifiableCssNode_hasFollowingSibling_closure0: function ModifiableCssNode_hasFollowingSibling_closure0() {
    },
    ModifiableCssParentNode0: function ModifiableCssParentNode0() {
    },
    NodePackageImporter0: function NodePackageImporter0() {
      this._node_package$__NodePackageImporter__entryPointDirectory_F = $;
    },
    NodePackageImporter__nodePackageExportsResolve_closure3: function NodePackageImporter__nodePackageExportsResolve_closure3() {
    },
    NodePackageImporter__nodePackageExportsResolve_closure4: function NodePackageImporter__nodePackageExportsResolve_closure4() {
    },
    NodePackageImporter__nodePackageExportsResolve_closure5: function NodePackageImporter__nodePackageExportsResolve_closure5() {
    },
    NodePackageImporter__nodePackageExportsResolve_closure6: function NodePackageImporter__nodePackageExportsResolve_closure6(t0, t1, t2) {
      this.$this = t0;
      this.exports = t1;
      this.packageRoot = t2;
    },
    NodePackageImporter__nodePackageExportsResolve__closure1: function NodePackageImporter__nodePackageExportsResolve__closure1(t0, t1, t2) {
      this.$this = t0;
      this.variant = t1;
      this.packageRoot = t2;
    },
    NodePackageImporter__nodePackageExportsResolve__closure2: function NodePackageImporter__nodePackageExportsResolve__closure2() {
    },
    NodePackageImporter__getMainExport_closure0: function NodePackageImporter__getMainExport_closure0() {
    },
    NullExpression0: function NullExpression0(t0) {
      this.span = t0;
    },
    legacyNullClass_closure: function legacyNullClass_closure() {
    },
    legacyNullClass__closure: function legacyNullClass__closure() {
    },
    _SassNull0: function _SassNull0() {
    },
    NumberExpression0: function NumberExpression0(t0, t1, t2) {
      this.value = t0;
      this.unit = t1;
      this.span = t2;
    },
    numberClass_closure: function numberClass_closure() {
    },
    numberClass__closure: function numberClass__closure() {
    },
    numberClass__closure0: function numberClass__closure0() {
    },
    numberClass__closure1: function numberClass__closure1() {
    },
    numberClass__closure2: function numberClass__closure2() {
    },
    numberClass__closure3: function numberClass__closure3() {
    },
    numberClass__closure4: function numberClass__closure4() {
    },
    numberClass__closure5: function numberClass__closure5() {
    },
    numberClass__closure6: function numberClass__closure6() {
    },
    numberClass__closure7: function numberClass__closure7() {
    },
    numberClass__closure8: function numberClass__closure8() {
    },
    numberClass__closure9: function numberClass__closure9() {
    },
    numberClass__closure10: function numberClass__closure10() {
    },
    numberClass__closure11: function numberClass__closure11() {
    },
    numberClass__closure12: function numberClass__closure12() {
    },
    numberClass__closure13: function numberClass__closure13() {
    },
    numberClass__closure14: function numberClass__closure14() {
    },
    numberClass__closure15: function numberClass__closure15() {
    },
    numberClass__closure16: function numberClass__closure16() {
    },
    numberClass__closure17: function numberClass__closure17() {
    },
    numberClass__closure18: function numberClass__closure18() {
    },
    numberClass__closure19: function numberClass__closure19() {
    },
    _ConstructorOptions0: function _ConstructorOptions0() {
    },
    _parseNumber(value, unit) {
      var invalidUnit, operands, t1, numerator, denominator, numeratorUnits, denominatorUnits;
      if (unit == null || unit.length === 0)
        return A.SassNumber_SassNumber0(value, null);
      if (!J.contains$1$asx(unit, "*") && !B.JSString_methods.contains$1(unit, "/"))
        return A.SassNumber_SassNumber0(value, unit);
      invalidUnit = new A.ArgumentError(true, unit, "unit", "is invalid.");
      operands = unit.split("/");
      t1 = operands.length;
      if (t1 > 2)
        throw A.wrapException(invalidUnit);
      numerator = operands[0];
      denominator = t1 === 1 ? null : operands[1];
      t1 = type$.JSArray_String;
      numeratorUnits = numerator.length === 0 ? A._setArrayType([], t1) : A._setArrayType(numerator.split("*"), t1);
      if (B.JSArray_methods.any$1(numeratorUnits, new A._parseNumber_closure()))
        throw A.wrapException(invalidUnit);
      denominatorUnits = denominator == null ? A._setArrayType([], t1) : A._setArrayType(denominator.split("*"), t1);
      if (B.JSArray_methods.any$1(denominatorUnits, new A._parseNumber_closure0()))
        throw A.wrapException(invalidUnit);
      return A.SassNumber_SassNumber$withUnits0(value, denominatorUnits, numeratorUnits);
    },
    _NodeSassNumber: function _NodeSassNumber() {
    },
    legacyNumberClass_closure: function legacyNumberClass_closure() {
    },
    legacyNumberClass_closure0: function legacyNumberClass_closure0() {
    },
    legacyNumberClass_closure1: function legacyNumberClass_closure1() {
    },
    legacyNumberClass_closure2: function legacyNumberClass_closure2() {
    },
    legacyNumberClass_closure3: function legacyNumberClass_closure3() {
    },
    _parseNumber_closure: function _parseNumber_closure() {
    },
    _parseNumber_closure0: function _parseNumber_closure0() {
    },
    conversionFactor0(unit1, unit2) {
      var _0_0;
      if (unit1 === unit2)
        return 1;
      _0_0 = B.Map_gQqJO.$index(0, unit1);
      if (_0_0 != null)
        return _0_0.$index(0, unit2);
      return null;
    },
    SassNumber_SassNumber0(value, unit) {
      return unit == null ? new A.UnitlessSassNumber0(value, null) : new A.SingleUnitSassNumber0(unit, value, null);
    },
    SassNumber_SassNumber$withUnits0(value, denominatorUnits, numeratorUnits) {
      var _0_4, _0_6, _0_8_isSet, _0_8, _0_10_isSet, _0_10, _0_7, t2, _0_4_isSet, unit, _0_7_isSet, numerators, t3, denominators, unsimplifiedDenominators, valueDouble, _i, denominator, simplifiedAway, i, factor, _1_2, _1_7_isSet, _1_7, _null = null,
        _0_3 = numeratorUnits == null,
        t1 = _0_3,
        _0_6_isSet = !t1;
      if (_0_6_isSet) {
        _0_4 = J.get$length$asx(numeratorUnits == null ? type$.List_String._as(numeratorUnits) : numeratorUnits);
        t1 = _0_4;
        _0_6 = t1 <= 0;
        _0_8_isSet = _0_6;
      } else {
        _0_4 = _null;
        _0_6 = _0_4;
        _0_8_isSet = true;
      }
      if (_0_8_isSet) {
        _0_8 = denominatorUnits == null;
        t1 = _0_8;
        _0_10_isSet = !t1;
        if (_0_10_isSet) {
          _0_10 = J.get$length$asx(denominatorUnits == null ? type$.List_String._as(denominatorUnits) : denominatorUnits) <= 0;
          t1 = _0_10;
        } else {
          _0_10 = _null;
          t1 = true;
        }
        _0_7 = denominatorUnits;
      } else {
        _0_10 = _null;
        _0_7 = _0_10;
        _0_8 = _0_7;
        _0_10_isSet = false;
        t1 = false;
      }
      if (t1)
        return new A.UnitlessSassNumber0(value, _null);
      t1 = type$.List_String;
      if (t1._is(numeratorUnits)) {
        if (_0_6_isSet) {
          t2 = _0_4;
          _0_4_isSet = _0_6_isSet;
        } else {
          _0_4 = J.get$length$asx(numeratorUnits);
          t2 = _0_4;
          _0_4_isSet = true;
        }
        if (t2 === 1) {
          unit = J.$index$asx(numeratorUnits, 0);
          if (_0_8_isSet) {
            t2 = _0_8;
            _0_7_isSet = _0_8_isSet;
          } else {
            _0_8 = denominatorUnits == null;
            t2 = _0_8;
            _0_7 = denominatorUnits;
            _0_8_isSet = true;
            _0_7_isSet = true;
          }
          if (!t2)
            if (_0_10_isSet)
              t2 = _0_10;
            else {
              if (_0_7_isSet)
                t2 = _0_7;
              else {
                t2 = denominatorUnits;
                _0_7 = t2;
                _0_7_isSet = true;
              }
              _0_10 = J.get$length$asx(t2 == null ? t1._as(t2) : t2) <= 0;
              t2 = _0_10;
              _0_10_isSet = true;
            }
          else
            t2 = true;
        } else {
          unit = _null;
          _0_7_isSet = _0_8_isSet;
          t2 = false;
        }
      } else {
        unit = _null;
        _0_7_isSet = _0_8_isSet;
        _0_4_isSet = _0_6_isSet;
        t2 = false;
      }
      if (t2)
        return new A.SingleUnitSassNumber0(unit, value, _null);
      t2 = numeratorUnits == null;
      if (!t2) {
        numerators = numeratorUnits;
        if (_0_8_isSet)
          t3 = _0_8;
        else {
          if (_0_7_isSet)
            t3 = _0_7;
          else {
            t3 = denominatorUnits;
            _0_7 = t3;
            _0_7_isSet = true;
          }
          _0_8 = t3 == null;
          t3 = _0_8;
        }
        if (!t3)
          if (_0_10_isSet)
            t3 = _0_10;
          else {
            if (_0_7_isSet)
              t3 = _0_7;
            else {
              t3 = denominatorUnits;
              _0_7 = t3;
              _0_7_isSet = true;
            }
            _0_10 = J.get$length$asx(t3 == null ? t1._as(t3) : t3) <= 0;
            t3 = _0_10;
          }
        else
          t3 = true;
      } else {
        numerators = _null;
        t3 = false;
      }
      if (t3)
        return new A.ComplexSassNumber0(A.List_List$unmodifiable(numerators, type$.String), B.List_empty, value, _null);
      if (!_0_3)
        if (_0_6_isSet)
          t2 = _0_6;
        else {
          if (_0_4_isSet)
            t2 = _0_4;
          else {
            _0_4 = J.get$length$asx(t2 ? t1._as(numeratorUnits) : numeratorUnits);
            t2 = _0_4;
          }
          _0_6 = t2 <= 0;
          t2 = _0_6;
        }
      else
        t2 = true;
      if (t2) {
        if (_0_7_isSet)
          t2 = _0_7;
        else {
          t2 = denominatorUnits;
          _0_7 = t2;
          _0_7_isSet = true;
        }
        t2 = t2 != null;
        if (t2) {
          denominators = _0_7_isSet ? _0_7 : denominatorUnits;
          if (denominators == null)
            denominators = t1._as(denominators);
        } else
          denominators = _null;
        t1 = t2;
      } else {
        denominators = _null;
        t1 = false;
      }
      if (t1)
        return new A.ComplexSassNumber0(B.List_empty, A.List_List$unmodifiable(denominators, type$.String), value, _null);
      numeratorUnits.toString;
      numerators = J.toList$0$ax(numeratorUnits);
      denominatorUnits.toString;
      unsimplifiedDenominators = J.toList$0$ax(denominatorUnits);
      denominators = A._setArrayType([], type$.JSArray_String);
      for (t1 = unsimplifiedDenominators.length, valueDouble = value, _i = 0; _i < unsimplifiedDenominators.length; unsimplifiedDenominators.length === t1 || (0, A.throwConcurrentModificationError)(unsimplifiedDenominators), ++_i) {
        denominator = unsimplifiedDenominators[_i];
        i = 0;
        while (true) {
          if (!(i < numerators.length)) {
            simplifiedAway = false;
            break;
          }
          c$0: {
            factor = A.conversionFactor0(denominator, numerators[i]);
            if (factor == null)
              break c$0;
            valueDouble *= factor;
            B.JSArray_methods.removeAt$1(numerators, i);
            simplifiedAway = true;
            break;
          }
          ++i;
        }
        if (!simplifiedAway)
          denominators.push(denominator);
      }
      $label0$1: {
        _1_2 = numerators.length;
        t1 = _1_2;
        _1_7_isSet = t1 <= 0;
        if (_1_7_isSet) {
          _1_7 = denominators.length <= 0;
          t1 = _1_7;
        } else {
          _1_7 = _null;
          t1 = false;
        }
        if (t1) {
          t1 = new A.UnitlessSassNumber0(valueDouble, _null);
          break $label0$1;
        }
        if (_1_2 === 1) {
          unit = numerators[0];
          t1 = _1_7_isSet ? _1_7 : denominators.length <= 0;
        } else {
          unit = _null;
          t1 = false;
        }
        if (t1) {
          t1 = new A.SingleUnitSassNumber0(unit, valueDouble, _null);
          break $label0$1;
        }
        t1 = type$.String;
        t1 = new A.ComplexSassNumber0(A.List_List$unmodifiable(numerators, t1), A.List_List$unmodifiable(denominators, t1), valueDouble, _null);
        break $label0$1;
      }
      return t1;
    },
    SassNumber0: function SassNumber0() {
    },
    SassNumber__coerceOrConvertValue_compatibilityException0: function SassNumber__coerceOrConvertValue_compatibilityException0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.$this = t0;
      _.other = t1;
      _.otherName = t2;
      _.otherHasUnits = t3;
      _.name = t4;
      _.newNumerators = t5;
      _.newDenominators = t6;
    },
    SassNumber__coerceOrConvertValue_closure3: function SassNumber__coerceOrConvertValue_closure3(t0, t1) {
      this._box_0 = t0;
      this.newNumerator = t1;
    },
    SassNumber__coerceOrConvertValue_closure4: function SassNumber__coerceOrConvertValue_closure4(t0) {
      this.compatibilityException = t0;
    },
    SassNumber__coerceOrConvertValue_closure5: function SassNumber__coerceOrConvertValue_closure5(t0, t1) {
      this._box_0 = t0;
      this.newDenominator = t1;
    },
    SassNumber__coerceOrConvertValue_closure6: function SassNumber__coerceOrConvertValue_closure6(t0) {
      this.compatibilityException = t0;
    },
    SassNumber_plus_closure0: function SassNumber_plus_closure0() {
    },
    SassNumber_minus_closure0: function SassNumber_minus_closure0() {
    },
    SassNumber_multiplyUnits_closure3: function SassNumber_multiplyUnits_closure3(t0, t1) {
      this._box_0 = t0;
      this.numerator = t1;
    },
    SassNumber_multiplyUnits_closure4: function SassNumber_multiplyUnits_closure4(t0, t1) {
      this.newNumerators = t0;
      this.numerator = t1;
    },
    SassNumber_multiplyUnits_closure5: function SassNumber_multiplyUnits_closure5(t0, t1) {
      this._box_0 = t0;
      this.numerator = t1;
    },
    SassNumber_multiplyUnits_closure6: function SassNumber_multiplyUnits_closure6(t0, t1) {
      this.newNumerators = t0;
      this.numerator = t1;
    },
    SassNumber__areAnyConvertible_closure0: function SassNumber__areAnyConvertible_closure0(t0) {
      this.units2 = t0;
    },
    SassNumber__canonicalizeUnitList_closure0: function SassNumber__canonicalizeUnitList_closure0() {
    },
    SassNumber__canonicalMultiplier_closure0: function SassNumber__canonicalMultiplier_closure0(t0) {
      this.$this = t0;
    },
    SassNumber_unitSuggestion_closure1: function SassNumber_unitSuggestion_closure1() {
    },
    SassNumber_unitSuggestion_closure2: function SassNumber_unitSuggestion_closure2() {
    },
    SupportsOperation$0(left, right, operator, span) {
      var lowerOperator = operator.toLowerCase();
      if (lowerOperator !== "and" && lowerOperator !== "or")
        A.throwExpression(A.ArgumentError$value(operator, "operator", 'may only be "and" or "or".'));
      return new A.SupportsOperation0(left, right, operator, span);
    },
    SupportsOperation0: function SupportsOperation0(t0, t1, t2, t3) {
      var _ = this;
      _.left = t0;
      _.right = t1;
      _.operator = t2;
      _.span = t3;
    },
    ParentSelector0: function ParentSelector0(t0, t1) {
      this.suffix = t0;
      this.span = t1;
    },
    ParentStatement0: function ParentStatement0() {
    },
    ParentStatement_closure0: function ParentStatement_closure0() {
    },
    ParentStatement__closure0: function ParentStatement__closure0() {
    },
    ParenthesizedExpression0: function ParenthesizedExpression0(t0, t1) {
      this.expression = t0;
      this.span = t1;
    },
    Parser_isIdentifier0(text) {
      var t1, t2, exception, logger = null;
      try {
        t1 = logger;
        t2 = A.SpanScanner$(text, null);
        new A.Parser1(t2, t1 == null ? B.StderrLogger_false0 : t1, null)._parser0$_parseIdentifier$0();
        return true;
      } catch (exception) {
        if (type$.SassFormatException_2._is(A.unwrapException(exception)))
          return false;
        else
          throw exception;
      }
    },
    Parser1: function Parser1(t0, t1, t2) {
      this.scanner = t0;
      this.logger = t1;
      this._parser0$_interpolationMap = t2;
    },
    Parser__parseIdentifier_closure0: function Parser__parseIdentifier_closure0(t0) {
      this.$this = t0;
    },
    Parser_escape_closure0: function Parser_escape_closure0() {
    },
    Parser_scanIdentChar_matches0: function Parser_scanIdentChar_matches0(t0, t1) {
      this.caseSensitive = t0;
      this.char = t1;
    },
    Parser_spanFrom_closure0: function Parser_spanFrom_closure0(t0, t1) {
      this.$this = t0;
      this.span = t1;
    },
    PlaceholderSelector0: function PlaceholderSelector0(t0, t1) {
      this.name = t0;
      this.span = t1;
    },
    PlainCssCallable0: function PlainCssCallable0(t0) {
      this.name = t0;
    },
    PrefixedMapView0: function PrefixedMapView0(t0, t1, t2) {
      this._prefixed_map_view0$_map = t0;
      this._prefixed_map_view0$_prefix = t1;
      this.$ti = t2;
    },
    _PrefixedKeys0: function _PrefixedKeys0(t0) {
      this._prefixed_map_view0$_view = t0;
    },
    _PrefixedKeys_iterator_closure0: function _PrefixedKeys_iterator_closure0(t0) {
      this.$this = t0;
    },
    PseudoSelector$0($name, span, argument, element, selector) {
      var t1 = !element,
        t2 = t1 && !A.PseudoSelector__isFakePseudoElement0($name);
      return new A.PseudoSelector0($name, A.unvendor0($name), t2, t1, argument, selector, span);
    },
    PseudoSelector__isFakePseudoElement0($name) {
      switch ($name.charCodeAt(0)) {
        case 97:
        case 65:
          return A.equalsIgnoreCase0($name, "after");
        case 98:
        case 66:
          return A.equalsIgnoreCase0($name, "before");
        case 102:
        case 70:
          return A.equalsIgnoreCase0($name, "first-line") || A.equalsIgnoreCase0($name, "first-letter");
        default:
          return false;
      }
    },
    PseudoSelector0: function PseudoSelector0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.name = t0;
      _.normalizedName = t1;
      _.isClass = t2;
      _.isSyntacticClass = t3;
      _.argument = t4;
      _.selector = t5;
      _._pseudo$__PseudoSelector_specificity_FI = $;
      _.span = t6;
    },
    PseudoSelector_specificity_closure0: function PseudoSelector_specificity_closure0(t0) {
      this.$this = t0;
    },
    PseudoSelector_specificity__closure1: function PseudoSelector_specificity__closure1() {
    },
    PseudoSelector_specificity__closure2: function PseudoSelector_specificity__closure2() {
    },
    PseudoSelector_unify_closure0: function PseudoSelector_unify_closure0() {
    },
    PublicMemberMapView0: function PublicMemberMapView0(t0, t1) {
      this._public_member_map_view0$_inner = t0;
      this.$ti = t1;
    },
    QualifiedName0: function QualifiedName0(t0, t1) {
      this.name = t0;
      this.namespace = t1;
    },
    createJSClass($name, $constructor) {
      return type$.JSClass._as(A.allowInteropCaptureThisNamed($name, $constructor));
    },
    JSClassExtension_injectSuperclass(_this, superclass) {
      var t1 = J.getInterceptor$x(superclass),
        t2 = J.getInterceptor$x(_this);
      self.Object.setPrototypeOf(t1.get$$prototype(superclass), J.get$$prototype$x(type$.JSClass._as(self.Object.getPrototypeOf(t2.get$$prototype(_this)).constructor)));
      self.Object.setPrototypeOf(t2.get$$prototype(_this), self.Object.create(t1.get$$prototype(superclass)));
    },
    JSClassExtension_setCustomInspect(_this, inspect) {
      if (self.util == null)
        return;
      J.get$$prototype$x(_this)[self.util.inspect.custom] = A.allowInteropCaptureThis(new A.JSClassExtension_setCustomInspect_closure(inspect));
    },
    JSClassExtension_get_defineStaticMethod(_this) {
      return new A.JSClassExtension_get_defineStaticMethod_closure(_this);
    },
    JSClassExtension_get_defineMethod(_this) {
      return new A.JSClassExtension_get_defineMethod_closure(_this);
    },
    JSClassExtension_defineMethods(_this, methods) {
      methods.forEach$1(0, A.JSClassExtension_get_defineMethod(_this));
    },
    JSClassExtension_get_defineGetter(_this) {
      return new A.JSClassExtension_get_defineGetter_closure(_this);
    },
    JSClass0: function JSClass0() {
    },
    JSClassExtension_setCustomInspect_closure: function JSClassExtension_setCustomInspect_closure(t0) {
      this.inspect = t0;
    },
    JSClassExtension_get_defineStaticMethod_closure: function JSClassExtension_get_defineStaticMethod_closure(t0) {
      this._this = t0;
    },
    JSClassExtension_get_defineMethod_closure: function JSClassExtension_get_defineMethod_closure(t0) {
      this._this = t0;
    },
    JSClassExtension_get_defineGetter_closure: function JSClassExtension_get_defineGetter_closure(t0) {
      this._this = t0;
    },
    RenderContext0: function RenderContext0() {
    },
    RenderContextOptions0: function RenderContextOptions0() {
    },
    RenderContextResult0: function RenderContextResult0() {
    },
    RenderContextResultStats0: function RenderContextResultStats0() {
    },
    RenderOptions: function RenderOptions() {
    },
    RenderResult: function RenderResult() {
    },
    RenderResultStats: function RenderResultStats() {
    },
    ReplaceExpressionVisitor0: function ReplaceExpressionVisitor0() {
    },
    ReplaceExpressionVisitor_visitListExpression_closure0: function ReplaceExpressionVisitor_visitListExpression_closure0(t0) {
      this.$this = t0;
    },
    ReplaceExpressionVisitor_visitArgumentInvocation_closure0: function ReplaceExpressionVisitor_visitArgumentInvocation_closure0(t0) {
      this.$this = t0;
    },
    ReplaceExpressionVisitor_visitInterpolation_closure0: function ReplaceExpressionVisitor_visitInterpolation_closure0(t0) {
      this.$this = t0;
    },
    ImporterResult$(contents, sourceMapUrl, syntax) {
      if ((sourceMapUrl == null ? null : sourceMapUrl.get$scheme()) === "")
        A.throwExpression(A.ArgumentError$value(sourceMapUrl, "sourceMapUrl", "must be absolute"));
      return new A.ImporterResult0(contents, sourceMapUrl, syntax);
    },
    ImporterResult0: function ImporterResult0(t0, t1, t2) {
      this.contents = t0;
      this._result$_sourceMapUrl = t1;
      this.syntax = t2;
    },
    ReturnRule0: function ReturnRule0(t0, t1) {
      this.expression = t0;
      this.span = t1;
    },
    SassParser0: function SassParser0(t0, t1, t2, t3) {
      var _ = this;
      _._sass0$_currentIndentation = 0;
      _._sass0$_spaces = _._sass0$_nextIndentationEnd = _._sass0$_nextIndentation = null;
      _._stylesheet0$_isUseAllowed = true;
      _._stylesheet0$_inExpression = _._stylesheet0$_inParentheses = _._stylesheet0$_inStyleRule = _._stylesheet0$_inUnknownAtRule = _._stylesheet0$_inControlDirective = _._stylesheet0$_inContentBlock = _._stylesheet0$_inMixin = false;
      _._stylesheet0$_globalVariables = t0;
      _.lastSilentComment = null;
      _.scanner = t1;
      _.logger = t2;
      _._parser0$_interpolationMap = t3;
    },
    SassParser_styleRuleSelector_closure0: function SassParser_styleRuleSelector_closure0() {
    },
    SassParser_children_closure0: function SassParser_children_closure0(t0, t1, t2) {
      this.$this = t0;
      this.child = t1;
      this.children = t2;
    },
    SassParser__peekIndentation_closure1: function SassParser__peekIndentation_closure1() {
    },
    SassParser__peekIndentation_closure2: function SassParser__peekIndentation_closure2() {
    },
    _translateReturnValue(val) {
      if (val instanceof A._Future)
        return A.futureToPromise(val, type$.dynamic);
      else
        return val;
    },
    main2() {
      new Uint8Array(0);
      A.main();
      J.set$cli_pkg_main_0_$x(self.exports, A._wrapMain(A.sass__main$closure()));
    },
    _wrapMain(main) {
      if (type$.dynamic_Function._is(main))
        return A.allowInterop(new A._wrapMain_closure(main));
      else
        return A.allowInterop(new A._wrapMain_closure0(main));
    },
    _Exports: function _Exports() {
    },
    _wrapMain_closure: function _wrapMain_closure(t0) {
      this.main = t0;
    },
    _wrapMain_closure0: function _wrapMain_closure0(t0) {
      this.main = t0;
    },
    ScssParser$0(contents, logger, url) {
      var t1 = A.SpanScanner$(contents, url),
        t2 = logger == null ? B.StderrLogger_false0 : logger;
      return new A.ScssParser0(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration_2), t1, t2, null);
    },
    ScssParser0: function ScssParser0(t0, t1, t2, t3) {
      var _ = this;
      _._stylesheet0$_isUseAllowed = true;
      _._stylesheet0$_inExpression = _._stylesheet0$_inParentheses = _._stylesheet0$_inStyleRule = _._stylesheet0$_inUnknownAtRule = _._stylesheet0$_inControlDirective = _._stylesheet0$_inContentBlock = _._stylesheet0$_inMixin = false;
      _._stylesheet0$_globalVariables = t0;
      _.lastSilentComment = null;
      _.scanner = t1;
      _.logger = t2;
      _._parser0$_interpolationMap = t3;
    },
    Selector0: function Selector0() {
    },
    _IsInvisibleVisitor2: function _IsInvisibleVisitor2(t0) {
      this.includeBogus = t0;
    },
    _IsBogusVisitor0: function _IsBogusVisitor0(t0) {
      this.includeLeadingCombinator = t0;
    },
    _IsBogusVisitor_visitComplexSelector_closure0: function _IsBogusVisitor_visitComplexSelector_closure0(t0) {
      this.$this = t0;
    },
    _IsUselessVisitor0: function _IsUselessVisitor0() {
    },
    _IsUselessVisitor_visitComplexSelector_closure0: function _IsUselessVisitor_visitComplexSelector_closure0(t0) {
      this.$this = t0;
    },
    __IsBogusVisitor_Object_AnySelectorVisitor0: function __IsBogusVisitor_Object_AnySelectorVisitor0() {
    },
    __IsInvisibleVisitor_Object_AnySelectorVisitor0: function __IsInvisibleVisitor_Object_AnySelectorVisitor0() {
    },
    __IsUselessVisitor_Object_AnySelectorVisitor0: function __IsUselessVisitor_Object_AnySelectorVisitor0() {
    },
    SelectorExpression0: function SelectorExpression0(t0) {
      this.span = t0;
    },
    _prependParent0(compound) {
      var _0_3, _0_4, _0_4_isSet, rest, _null = null,
        t1 = A.EvaluationContext_currentOrNull0(),
        span = (t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan(),
        _0_0 = compound.components;
      $label0$0: {
        _0_3 = _0_0.length >= 1;
        if (_0_3) {
          _0_4 = _0_0[0];
          t1 = _0_4;
          t1 = t1 instanceof A.UniversalSelector0;
        } else {
          _0_4 = _null;
          t1 = false;
        }
        if (t1) {
          t1 = _null;
          break $label0$0;
        }
        if (_0_3) {
          t1 = _0_4;
          if (t1 instanceof A.TypeSelector0) {
            t1 = _0_4;
            t1 = type$.TypeSelector_2._as(t1).name.namespace != null;
            _0_4_isSet = true;
          } else {
            _0_4_isSet = true;
            t1 = false;
          }
        } else {
          _0_4_isSet = _0_3;
          t1 = false;
        }
        if (t1) {
          t1 = _null;
          break $label0$0;
        }
        if (_0_3) {
          if (_0_4_isSet)
            t1 = _0_4;
          else {
            _0_4 = _0_0[0];
            t1 = _0_4;
            _0_4_isSet = true;
          }
          t1 = t1 instanceof A.TypeSelector0;
        } else
          t1 = false;
        if (t1) {
          t1 = _0_4_isSet ? _0_4 : _0_0[0];
          type$.TypeSelector_2._as(t1);
          rest = B.JSArray_methods.sublist$1(_0_0, 1);
          t1 = A._setArrayType([new A.ParentSelector0(t1.name.name, span)], type$.JSArray_SimpleSelector_2);
          B.JSArray_methods.addAll$1(t1, rest);
          t1 = A.CompoundSelector$0(t1, span);
          break $label0$0;
        }
        t1 = A._setArrayType([new A.ParentSelector0(_null, span)], type$.JSArray_SimpleSelector_2);
        B.JSArray_methods.addAll$1(t1, _0_0);
        t1 = A.CompoundSelector$0(t1, span);
        break $label0$0;
      }
      return t1;
    },
    _function7($name, $arguments, callback) {
      return A.BuiltInCallable$function0($name, $arguments, callback, "sass:selector");
    },
    _nest_closure0: function _nest_closure0() {
    },
    _nest__closure1: function _nest__closure1(t0) {
      this._box_0 = t0;
    },
    _nest__closure2: function _nest__closure2() {
    },
    _append_closure1: function _append_closure1() {
    },
    _append__closure1: function _append__closure1() {
    },
    _append__closure2: function _append__closure2(t0) {
      this.span = t0;
    },
    _append___closure0: function _append___closure0(t0, t1) {
      this.parent = t0;
      this.span = t1;
    },
    _extend_closure0: function _extend_closure0() {
    },
    _replace_closure0: function _replace_closure0() {
    },
    _unify_closure0: function _unify_closure0() {
    },
    _isSuperselector_closure0: function _isSuperselector_closure0() {
    },
    _simpleSelectors_closure0: function _simpleSelectors_closure0() {
    },
    _simpleSelectors__closure0: function _simpleSelectors__closure0() {
    },
    _parse_closure0: function _parse_closure0() {
    },
    SelectorParser$0(contents, allowParent, interpolationMap, logger, plainCss, url) {
      var t1 = A.SpanScanner$(contents, url);
      return new A.SelectorParser0(allowParent, plainCss, t1, logger == null ? B.StderrLogger_false0 : logger, interpolationMap);
    },
    SelectorParser0: function SelectorParser0(t0, t1, t2, t3, t4) {
      var _ = this;
      _._selector$_allowParent = t0;
      _._selector$_plainCss = t1;
      _.scanner = t2;
      _.logger = t3;
      _._parser0$_interpolationMap = t4;
    },
    SelectorParser_parse_closure0: function SelectorParser_parse_closure0(t0) {
      this.$this = t0;
    },
    SelectorParser_parseCompoundSelector_closure0: function SelectorParser_parseCompoundSelector_closure0(t0) {
      this.$this = t0;
    },
    SelectorSearchVisitor0: function SelectorSearchVisitor0() {
    },
    SelectorSearchVisitor_visitComplexSelector_closure0: function SelectorSearchVisitor_visitComplexSelector_closure0(t0) {
      this.$this = t0;
    },
    SelectorSearchVisitor_visitCompoundSelector_closure0: function SelectorSearchVisitor_visitCompoundSelector_closure0(t0) {
      this.$this = t0;
    },
    serialize0(node, charset, indentWidth, inspect, lineFeed, sourceMap, style, useSpaces) {
      var t1, css, t2, prefix,
        visitor = A._SerializeVisitor$0(indentWidth == null ? 2 : indentWidth, inspect, lineFeed, true, sourceMap, style, useSpaces);
      node.accept$1(visitor);
      t1 = visitor._serialize0$_buffer;
      css = t1.toString$0(0);
      if (charset) {
        t2 = new A.CodeUnits(css);
        t2 = t2.any$1(t2, new A.serialize_closure0());
      } else
        t2 = false;
      if (t2)
        prefix = style === B.OutputStyle_10 ? "\ufeff" : '@charset "UTF-8";\n';
      else
        prefix = "";
      t1 = sourceMap ? t1.buildSourceMap$1$prefix(prefix) : null;
      return new A._Record_2_sourceMap(prefix + css, t1);
    },
    serializeValue0(value, inspect, quote) {
      var visitor = A._SerializeVisitor$0(null, inspect, null, quote, false, null, true);
      value.accept$1(visitor);
      return visitor._serialize0$_buffer.toString$0(0);
    },
    serializeSelector0(selector, inspect) {
      var visitor = A._SerializeVisitor$0(null, true, null, true, false, null, true);
      selector.accept$1(visitor);
      return visitor._serialize0$_buffer.toString$0(0);
    },
    _SerializeVisitor$0(indentWidth, inspect, lineFeed, quote, sourceMap, style, useSpaces) {
      var t1 = sourceMap ? new A.SourceMapBuffer0(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Entry)) : new A.NoSourceMapBuffer0(new A.StringBuffer("")),
        t2 = style == null ? B.OutputStyle_00 : style,
        t3 = useSpaces ? 32 : 9,
        t4 = indentWidth == null ? 2 : indentWidth,
        t5 = lineFeed == null ? B.LineFeed_LvD : lineFeed;
      A.RangeError_checkValueInInterval(t4, 0, 10, "indentWidth");
      return new A._SerializeVisitor0(t1, t2, inspect, quote, t3, t4, t5);
    },
    serialize_closure0: function serialize_closure0() {
    },
    _SerializeVisitor0: function _SerializeVisitor0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._serialize0$_buffer = t0;
      _._serialize0$_indentation = 0;
      _._serialize0$_style = t1;
      _._serialize0$_inspect = t2;
      _._serialize0$_quote = t3;
      _._serialize0$_indentCharacter = t4;
      _._serialize0$_indentWidth = t5;
      _._lineFeed = t6;
    },
    _SerializeVisitor_visitCssComment_closure0: function _SerializeVisitor_visitCssComment_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssAtRule_closure0: function _SerializeVisitor_visitCssAtRule_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssMediaRule_closure0: function _SerializeVisitor_visitCssMediaRule_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssImport_closure0: function _SerializeVisitor_visitCssImport_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssImport__closure0: function _SerializeVisitor_visitCssImport__closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssKeyframeBlock_closure0: function _SerializeVisitor_visitCssKeyframeBlock_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssStyleRule_closure0: function _SerializeVisitor_visitCssStyleRule_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssSupportsRule_closure0: function _SerializeVisitor_visitCssSupportsRule_closure0(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssDeclaration_closure1: function _SerializeVisitor_visitCssDeclaration_closure1(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitCssDeclaration_closure2: function _SerializeVisitor_visitCssDeclaration_closure2(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _SerializeVisitor_visitList_closure2: function _SerializeVisitor_visitList_closure2() {
    },
    _SerializeVisitor_visitList_closure3: function _SerializeVisitor_visitList_closure3(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    _SerializeVisitor_visitList_closure4: function _SerializeVisitor_visitList_closure4(t0) {
      this.$this = t0;
    },
    _SerializeVisitor_visitMap_closure0: function _SerializeVisitor_visitMap_closure0(t0) {
      this.$this = t0;
    },
    _SerializeVisitor_visitSelectorList_closure0: function _SerializeVisitor_visitSelectorList_closure0() {
    },
    _SerializeVisitor__write_closure0: function _SerializeVisitor__write_closure0(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    _SerializeVisitor__visitChildren_closure1: function _SerializeVisitor__visitChildren_closure1(t0, t1) {
      this.$this = t0;
      this.child = t1;
    },
    _SerializeVisitor__visitChildren_closure2: function _SerializeVisitor__visitChildren_closure2(t0, t1) {
      this.$this = t0;
      this.child = t1;
    },
    OutputStyle0: function OutputStyle0(t0) {
      this._name = t0;
    },
    LineFeed0: function LineFeed0(t0, t1, t2) {
      this.name = t0;
      this.text = t1;
      this._name = t2;
    },
    ShadowedModuleView_ifNecessary0(inner, functions, mixins, variables, $T) {
      return A.ShadowedModuleView__needsBlocklist0(inner.get$variables(), variables) || A.ShadowedModuleView__needsBlocklist0(inner.get$functions(inner), functions) || A.ShadowedModuleView__needsBlocklist0(inner.get$mixins(), mixins) ? new A.ShadowedModuleView0(inner, A.ShadowedModuleView__shadowedMap0(inner.get$variables(), variables, type$.Value_2), A.ShadowedModuleView__shadowedMap0(inner.get$variableNodes(), variables, type$.AstNode_2), A.ShadowedModuleView__shadowedMap0(inner.get$functions(inner), functions, $T), A.ShadowedModuleView__shadowedMap0(inner.get$mixins(), mixins, $T), $T._eval$1("ShadowedModuleView0<0>")) : null;
    },
    ShadowedModuleView__shadowedMap0(map, blocklist, $V) {
      var t1 = A.ShadowedModuleView__needsBlocklist0(map, blocklist);
      return !t1 ? map : A.LimitedMapView$blocklist0(map, blocklist, type$.String, $V);
    },
    ShadowedModuleView__needsBlocklist0(map, blocklist) {
      return map.get$isNotEmpty(map) && blocklist.any$1(0, map.get$containsKey());
    },
    ShadowedModuleView0: function ShadowedModuleView0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._shadowed_view0$_inner = t0;
      _.variables = t1;
      _.variableNodes = t2;
      _.functions = t3;
      _.mixins = t4;
      _.$ti = t5;
    },
    SilentComment0: function SilentComment0(t0, t1) {
      this.text = t0;
      this.span = t1;
    },
    SimpleSelector0: function SimpleSelector0() {
    },
    SimpleSelector_isSuperselector_closure0: function SimpleSelector_isSuperselector_closure0(t0) {
      this.$this = t0;
    },
    SimpleSelector_isSuperselector__closure0: function SimpleSelector_isSuperselector__closure0(t0) {
      this.$this = t0;
    },
    SingleUnitSassNumber0: function SingleUnitSassNumber0(t0, t1, t2) {
      var _ = this;
      _._single_unit$_unit = t0;
      _._number1$_value = t1;
      _.hashCache = null;
      _.asSlash = t2;
    },
    SingleUnitSassNumber__coerceToUnit_closure0: function SingleUnitSassNumber__coerceToUnit_closure0(t0, t1) {
      this.$this = t0;
      this.unit = t1;
    },
    SingleUnitSassNumber__coerceValueToUnit_closure0: function SingleUnitSassNumber__coerceValueToUnit_closure0(t0) {
      this.$this = t0;
    },
    SingleUnitSassNumber_multiplyUnits_closure1: function SingleUnitSassNumber_multiplyUnits_closure1(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    SingleUnitSassNumber_multiplyUnits_closure2: function SingleUnitSassNumber_multiplyUnits_closure2(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    SourceMapBuffer0: function SourceMapBuffer0(t0, t1) {
      var _ = this;
      _._source_map_buffer0$_buffer = t0;
      _._source_map_buffer0$_entries = t1;
      _._source_map_buffer0$_column = _._source_map_buffer0$_line = 0;
      _._source_map_buffer0$_inSpan = false;
    },
    SourceMapBuffer_buildSourceMap_closure0: function SourceMapBuffer_buildSourceMap_closure0(t0, t1) {
      this._box_0 = t0;
      this.prefixLength = t1;
    },
    updateSourceSpanPrototype() {
      var t3, t4, _i, t5,
        span = A.SourceFile$fromString("", null).span$1(0, 0),
        t1 = type$.SourceSpan,
        t2 = type$.String;
      for (t1 = [span, new A.MultiSpan0(span, "", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t1, t2)), new A.LazyFileSpan0(new A.updateSourceSpanPrototype_closure(span))], t3 = type$.JSClass, t4 = type$.Function, _i = 0; _i < 3; ++_i) {
        t5 = t3._as(t1[_i].constructor);
        A.LinkedHashMap_LinkedHashMap$_literal(["start", new A.updateSourceSpanPrototype_closure0(), "end", new A.updateSourceSpanPrototype_closure1(), "url", new A.updateSourceSpanPrototype_closure2(), "text", new A.updateSourceSpanPrototype_closure3(), "context", new A.updateSourceSpanPrototype_closure4()], t2, t4).forEach$1(0, A.JSClassExtension_get_defineGetter(t5));
      }
      t1 = t3._as(A.FileLocation$_(span.file, span._file$_start).constructor);
      A.LinkedHashMap_LinkedHashMap$_literal(["line", new A.updateSourceSpanPrototype_closure5(), "column", new A.updateSourceSpanPrototype_closure6()], t2, t4).forEach$1(0, A.JSClassExtension_get_defineGetter(t1));
    },
    updateSourceSpanPrototype_closure: function updateSourceSpanPrototype_closure(t0) {
      this.span = t0;
    },
    updateSourceSpanPrototype_closure0: function updateSourceSpanPrototype_closure0() {
    },
    updateSourceSpanPrototype_closure1: function updateSourceSpanPrototype_closure1() {
    },
    updateSourceSpanPrototype_closure2: function updateSourceSpanPrototype_closure2() {
    },
    updateSourceSpanPrototype_closure3: function updateSourceSpanPrototype_closure3() {
    },
    updateSourceSpanPrototype_closure4: function updateSourceSpanPrototype_closure4() {
    },
    updateSourceSpanPrototype_closure5: function updateSourceSpanPrototype_closure5() {
    },
    updateSourceSpanPrototype_closure6: function updateSourceSpanPrototype_closure6() {
    },
    StatementSearchVisitor0: function StatementSearchVisitor0() {
    },
    StatementSearchVisitor_visitIfRule_closure1: function StatementSearchVisitor_visitIfRule_closure1(t0) {
      this.$this = t0;
    },
    StatementSearchVisitor_visitIfRule__closure2: function StatementSearchVisitor_visitIfRule__closure2(t0) {
      this.$this = t0;
    },
    StatementSearchVisitor_visitIfRule_closure2: function StatementSearchVisitor_visitIfRule_closure2(t0) {
      this.$this = t0;
    },
    StatementSearchVisitor_visitIfRule__closure1: function StatementSearchVisitor_visitIfRule__closure1(t0) {
      this.$this = t0;
    },
    StatementSearchVisitor_visitChildren_closure0: function StatementSearchVisitor_visitChildren_closure0(t0) {
      this.$this = t0;
    },
    StaticImport0: function StaticImport0(t0, t1, t2) {
      this.url = t0;
      this.modifiers = t1;
      this.span = t2;
    },
    StderrLogger0: function StderrLogger0(t0) {
      this.color = t0;
    },
    StringExpression_quoteText0(text) {
      var t1,
        quote = A.StringExpression__bestQuote0(A._setArrayType([text], type$.JSArray_String)),
        buffer = new A.StringBuffer("");
      buffer._contents = "" + A.Primitives_stringFromCharCode(quote);
      A.StringExpression__quoteInnerText0(text, quote, buffer, true);
      t1 = A.Primitives_stringFromCharCode(quote);
      t1 = buffer._contents += t1;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    StringExpression__quoteInnerText0(text, quote, buffer, $static) {
      var t1, t2, i, _1_0, _0_0, t3, t4, t0;
      for (t1 = text.length, t2 = t1 - 1, i = 0; i < t1; ++i) {
        _1_0 = text.charCodeAt(i);
        if (_1_0 === 10 || _1_0 === 13 || _1_0 === 12) {
          buffer.writeCharCode$1(92);
          buffer.writeCharCode$1(97);
          if (i !== t2) {
            _0_0 = text.charCodeAt(i + 1);
            if (!(_0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12))
              if (!(_0_0 >= 48 && _0_0 <= 57))
                if (!(_0_0 >= 97 && _0_0 <= 102))
                  t3 = _0_0 >= 65 && _0_0 <= 70;
                else
                  t3 = true;
              else
                t3 = true;
            else
              t3 = true;
            if (t3)
              buffer.writeCharCode$1(32);
          }
          continue;
        }
        t3 = 92 === _1_0;
        if (t3)
          t4 = _1_0;
        else
          t4 = null;
        if (!t3) {
          t3 = _1_0 === quote;
          if (t3)
            t4 = _1_0;
          t0 = t4;
          t4 = t3;
          t3 = t0;
          if (!t4)
            if (35 === _1_0)
              if ($static)
                if (i < t2) {
                  t4 = text.charCodeAt(i + 1) === 123;
                  if (t4)
                    t3 = _1_0;
                } else
                  t4 = false;
              else
                t4 = false;
            else
              t4 = false;
          else
            t4 = true;
        } else {
          t3 = t4;
          t4 = true;
        }
        if (t4) {
          buffer.writeCharCode$1(92);
          buffer.writeCharCode$1(t3);
          continue;
        }
        buffer.writeCharCode$1(_1_0);
      }
    },
    StringExpression__bestQuote0(strings) {
      var t1, t2, t3, containsDoubleQuote, t4, t5;
      for (t1 = J.get$iterator$ax(strings), t2 = type$.CodeUnits, t3 = t2._eval$1("ListIterator"), t2 = t2._eval$1("ListBase.E"), containsDoubleQuote = false; t1.moveNext$0();)
        for (t4 = new A.CodeUnits(t1.get$current(t1)), t4 = new A.ListIterator(t4, t4.get$length(0), t3); t4.moveNext$0();) {
          t5 = t4.__internal$_current;
          if (t5 == null)
            t5 = t2._as(t5);
          if (t5 === 39)
            return 34;
          if (t5 === 34)
            containsDoubleQuote = true;
        }
      return containsDoubleQuote ? 39 : 34;
    },
    StringExpression0: function StringExpression0(t0, t1) {
      this.text = t0;
      this.hasQuotes = t1;
    },
    _codepointForIndex0(index, lengthInCodepoints, allowNegative) {
      var result;
      if (index === 0)
        return 0;
      if (index > 0)
        return Math.min(index - 1, lengthInCodepoints);
      result = lengthInCodepoints + index;
      if (result < 0 && !allowNegative)
        return 0;
      return result;
    },
    _function6($name, $arguments, callback) {
      return A.BuiltInCallable$function0($name, $arguments, callback, "sass:string");
    },
    module_closure10: function module_closure10() {
    },
    module__closure2: function module__closure2(t0) {
      this.string = t0;
    },
    module__closure3: function module__closure3(t0) {
      this.string = t0;
    },
    _unquote_closure0: function _unquote_closure0() {
    },
    _quote_closure0: function _quote_closure0() {
    },
    _length_closure1: function _length_closure1() {
    },
    _insert_closure0: function _insert_closure0() {
    },
    _index_closure1: function _index_closure1() {
    },
    _slice_closure0: function _slice_closure0() {
    },
    _toUpperCase_closure0: function _toUpperCase_closure0() {
    },
    _toLowerCase_closure0: function _toLowerCase_closure0() {
    },
    _uniqueId_closure0: function _uniqueId_closure0() {
    },
    stringClass_closure: function stringClass_closure() {
    },
    stringClass__closure: function stringClass__closure() {
    },
    stringClass__closure0: function stringClass__closure0() {
    },
    stringClass__closure1: function stringClass__closure1() {
    },
    stringClass__closure2: function stringClass__closure2() {
    },
    stringClass__closure3: function stringClass__closure3() {
    },
    _ConstructorOptions1: function _ConstructorOptions1() {
    },
    _NodeSassString: function _NodeSassString() {
    },
    legacyStringClass_closure: function legacyStringClass_closure() {
    },
    legacyStringClass_closure0: function legacyStringClass_closure0() {
    },
    legacyStringClass_closure1: function legacyStringClass_closure1() {
    },
    SassString$0(_text, quotes) {
      return new A.SassString0(_text, quotes);
    },
    SassString0: function SassString0(t0, t1) {
      var _ = this;
      _._string0$_text = t0;
      _._string0$_hasQuotes = t1;
      _._string0$__SassString__sassLength_FI = $;
      _._string0$_hashCache = null;
    },
    ModifiableCssStyleRule$0(_selector, span, fromPlainCss, originalSelector) {
      var t1 = A._setArrayType([], type$.JSArray_ModifiableCssNode_2);
      return new A.ModifiableCssStyleRule0(_selector, originalSelector, span, fromPlainCss, new A.UnmodifiableListView(t1, type$.UnmodifiableListView_ModifiableCssNode_2), t1);
    },
    ModifiableCssStyleRule0: function ModifiableCssStyleRule0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._style_rule0$_selector = t0;
      _.originalSelector = t1;
      _.span = t2;
      _.fromPlainCss = t3;
      _.children = t4;
      _._node$_children = t5;
      _._node$_indexInParent = _._node$_parent = null;
      _.isGroupEnd = false;
    },
    StyleRule$0(selector, children, span) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement_2),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure0());
      return new A.StyleRule0(selector, span, t1, t2);
    },
    StyleRule0: function StyleRule0(t0, t1, t2, t3) {
      var _ = this;
      _.selector = t0;
      _.span = t1;
      _.children = t2;
      _.hasDeclarations = t3;
    },
    CssStylesheet0: function CssStylesheet0(t0, t1) {
      this.children = t0;
      this.span = t1;
    },
    ModifiableCssStylesheet$0(span) {
      var t1 = A._setArrayType([], type$.JSArray_ModifiableCssNode_2);
      return new A.ModifiableCssStylesheet0(span, new A.UnmodifiableListView(t1, type$.UnmodifiableListView_ModifiableCssNode_2), t1);
    },
    ModifiableCssStylesheet0: function ModifiableCssStylesheet0(t0, t1, t2) {
      var _ = this;
      _.span = t0;
      _.children = t1;
      _._node$_children = t2;
      _._node$_indexInParent = _._node$_parent = null;
      _.isGroupEnd = false;
    },
    StylesheetParser0: function StylesheetParser0() {
    },
    StylesheetParser_parse_closure0: function StylesheetParser_parse_closure0(t0) {
      this.$this = t0;
    },
    StylesheetParser_parse__closure1: function StylesheetParser_parse__closure1(t0) {
      this.$this = t0;
    },
    StylesheetParser_parse__closure2: function StylesheetParser_parse__closure2() {
    },
    StylesheetParser_parseArgumentDeclaration_closure0: function StylesheetParser_parseArgumentDeclaration_closure0(t0) {
      this.$this = t0;
    },
    StylesheetParser__parseSingleProduction_closure0: function StylesheetParser__parseSingleProduction_closure0(t0, t1, t2) {
      this.$this = t0;
      this.production = t1;
      this.T = t2;
    },
    StylesheetParser_parseSignature_closure: function StylesheetParser_parseSignature_closure(t0, t1) {
      this.$this = t0;
      this.requireParens = t1;
    },
    StylesheetParser__statement_closure0: function StylesheetParser__statement_closure0(t0) {
      this.$this = t0;
    },
    StylesheetParser_variableDeclarationWithoutNamespace_closure1: function StylesheetParser_variableDeclarationWithoutNamespace_closure1(t0, t1) {
      this.$this = t0;
      this.start = t1;
    },
    StylesheetParser_variableDeclarationWithoutNamespace_closure2: function StylesheetParser_variableDeclarationWithoutNamespace_closure2(t0) {
      this.declaration = t0;
    },
    StylesheetParser__styleRule_closure0: function StylesheetParser__styleRule_closure0(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.wasInStyleRule = t2;
      _.start = t3;
    },
    StylesheetParser__tryDeclarationChildren_closure0: function StylesheetParser__tryDeclarationChildren_closure0(t0, t1) {
      this.name = t0;
      this.value = t1;
    },
    StylesheetParser__atRootRule_closure1: function StylesheetParser__atRootRule_closure1(t0) {
      this.query = t0;
    },
    StylesheetParser__atRootRule_closure2: function StylesheetParser__atRootRule_closure2() {
    },
    StylesheetParser__eachRule_closure0: function StylesheetParser__eachRule_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.wasInControlDirective = t1;
      _.variables = t2;
      _.list = t3;
    },
    StylesheetParser__functionRule_closure0: function StylesheetParser__functionRule_closure0(t0, t1, t2) {
      this.name = t0;
      this.$arguments = t1;
      this.precedingComment = t2;
    },
    StylesheetParser__forRule_closure1: function StylesheetParser__forRule_closure1(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    StylesheetParser__forRule_closure2: function StylesheetParser__forRule_closure2(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.wasInControlDirective = t2;
      _.variable = t3;
      _.from = t4;
      _.to = t5;
    },
    StylesheetParser__memberList_closure0: function StylesheetParser__memberList_closure0(t0, t1, t2) {
      this.$this = t0;
      this.variables = t1;
      this.identifiers = t2;
    },
    StylesheetParser__includeRule_closure0: function StylesheetParser__includeRule_closure0(t0) {
      this.contentArguments_ = t0;
    },
    StylesheetParser_mediaRule_closure0: function StylesheetParser_mediaRule_closure0(t0) {
      this.query = t0;
    },
    StylesheetParser__mixinRule_closure0: function StylesheetParser__mixinRule_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.name = t1;
      _.$arguments = t2;
      _.precedingComment = t3;
    },
    StylesheetParser_mozDocumentRule_closure0: function StylesheetParser_mozDocumentRule_closure0(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.name = t2;
      _.value = t3;
    },
    StylesheetParser_supportsRule_closure0: function StylesheetParser_supportsRule_closure0(t0) {
      this.condition = t0;
    },
    StylesheetParser__whileRule_closure0: function StylesheetParser__whileRule_closure0(t0, t1, t2) {
      this.$this = t0;
      this.wasInControlDirective = t1;
      this.condition = t2;
    },
    StylesheetParser_unknownAtRule_closure0: function StylesheetParser_unknownAtRule_closure0(t0, t1) {
      this._box_0 = t0;
      this.name = t1;
    },
    StylesheetParser__expression_resetState0: function StylesheetParser__expression_resetState0(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.start = t2;
    },
    StylesheetParser__expression_resolveOneOperation0: function StylesheetParser__expression_resolveOneOperation0(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    StylesheetParser__expression_resolveOperations0: function StylesheetParser__expression_resolveOperations0(t0, t1) {
      this._box_0 = t0;
      this.resolveOneOperation = t1;
    },
    StylesheetParser__expression_addSingleExpression0: function StylesheetParser__expression_addSingleExpression0(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.resetState = t2;
      _.resolveOperations = t3;
    },
    StylesheetParser__expression_addOperator0: function StylesheetParser__expression_addOperator0(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.resolveOneOperation = t2;
    },
    StylesheetParser__expression_resolveSpaceExpressions0: function StylesheetParser__expression_resolveSpaceExpressions0(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.resolveOperations = t2;
    },
    StylesheetParser_expressionUntilComma_closure0: function StylesheetParser_expressionUntilComma_closure0(t0) {
      this.$this = t0;
    },
    StylesheetParser__isHexColor_closure0: function StylesheetParser__isHexColor_closure0() {
    },
    StylesheetParser__unicodeRange_closure1: function StylesheetParser__unicodeRange_closure1() {
    },
    StylesheetParser__unicodeRange_closure2: function StylesheetParser__unicodeRange_closure2() {
    },
    StylesheetParser_namespacedExpression_closure0: function StylesheetParser_namespacedExpression_closure0(t0, t1) {
      this.$this = t0;
      this.start = t1;
    },
    StylesheetParser_trySpecialFunction_closure0: function StylesheetParser_trySpecialFunction_closure0() {
    },
    StylesheetParser__expressionUntilComparison_closure0: function StylesheetParser__expressionUntilComparison_closure0(t0) {
      this.$this = t0;
    },
    StylesheetParser__publicIdentifier_closure0: function StylesheetParser__publicIdentifier_closure0(t0, t1) {
      this.$this = t0;
      this.start = t1;
    },
    Stylesheet$internal0(children, span, plainCss) {
      var t1 = A._setArrayType([], type$.JSArray_UseRule_2),
        t2 = A._setArrayType([], type$.JSArray_ForwardRule_2),
        t3 = A.List_List$unmodifiable(children, type$.Statement_2),
        t4 = B.JSArray_methods.any$1(t3, new A.ParentStatement_closure0());
      t1 = new A.Stylesheet0(span, plainCss, t1, t2, t3, t4);
      t1.Stylesheet$internal$3$plainCss0(children, span, plainCss);
      return t1;
    },
    Stylesheet_Stylesheet$parse0(contents, syntax, logger, url) {
      var error, stackTrace, url0, t1, exception, t2;
      try {
        switch (syntax) {
          case B.Syntax_Sass_sass0:
            t1 = A.SpanScanner$(contents, url);
            t1 = new A.SassParser0(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration_2), t1, logger, null).parse$0();
            return t1;
          case B.Syntax_SCSS_scss0:
            t1 = A.ScssParser$0(contents, logger, url).parse$0();
            return t1;
          case B.Syntax_CSS_css0:
            t1 = A.SpanScanner$(contents, url);
            t1 = new A.CssParser0(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration_2), t1, logger, null).parse$0();
            return t1;
          default:
            t1 = A.ArgumentError$("Unknown syntax " + syntax.toString$0(0) + ".", null);
            throw A.wrapException(t1);
        }
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException0) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = error;
          t2 = J.getInterceptor$z(t1);
          t1 = A.SourceSpanException.prototype.get$span.call(t2, t1);
          url0 = t1.get$sourceUrl(t1);
          if (url0 == null || J.toString$0$(url0) === "stdin")
            throw exception;
          t1 = type$.Uri;
          throw A.wrapException(A.throwWithTrace0(error.withLoadedUrls$1(A.Set_Set$unmodifiable(A.LinkedHashSet_LinkedHashSet$_literal([url0], t1), t1)), error, stackTrace));
        } else
          throw exception;
      }
    },
    Stylesheet0: function Stylesheet0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.span = t0;
      _.plainCss = t1;
      _._stylesheet1$_uses = t2;
      _._stylesheet1$_forwards = t3;
      _.children = t4;
      _.hasDeclarations = t5;
    },
    SupportsExpression0: function SupportsExpression0(t0) {
      this.condition = t0;
    },
    ModifiableCssSupportsRule$0(condition, span) {
      var t1 = A._setArrayType([], type$.JSArray_ModifiableCssNode_2);
      return new A.ModifiableCssSupportsRule0(condition, span, new A.UnmodifiableListView(t1, type$.UnmodifiableListView_ModifiableCssNode_2), t1);
    },
    ModifiableCssSupportsRule0: function ModifiableCssSupportsRule0(t0, t1, t2, t3) {
      var _ = this;
      _.condition = t0;
      _.span = t1;
      _.children = t2;
      _._node$_children = t3;
      _._node$_indexInParent = _._node$_parent = null;
      _.isGroupEnd = false;
    },
    SupportsRule$0(condition, children, span) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement_2),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure0());
      return new A.SupportsRule0(condition, span, t1, t2);
    },
    SupportsRule0: function SupportsRule0(t0, t1, t2, t3) {
      var _ = this;
      _.condition = t0;
      _.span = t1;
      _.children = t2;
      _.hasDeclarations = t3;
    },
    JSToDartImporter: function JSToDartImporter(t0, t1, t2) {
      this._sync$_canonicalize = t0;
      this._sync$_load = t1;
      this._sync$_nonCanonicalSchemes = t2;
    },
    JSToDartImporter_canonicalize_closure: function JSToDartImporter_canonicalize_closure(t0, t1) {
      this.$this = t0;
      this.url = t1;
    },
    JSToDartImporter_load_closure: function JSToDartImporter_load_closure(t0, t1) {
      this.$this = t0;
      this.url = t1;
    },
    Syntax_forPath0(path) {
      var t1,
        _0_0 = A.ParsedPath_ParsedPath$parse(path, $.$get$context().style)._splitExtension$1(1)[1];
      $label0$0: {
        if (".sass" === _0_0) {
          t1 = B.Syntax_Sass_sass0;
          break $label0$0;
        }
        if (".css" === _0_0) {
          t1 = B.Syntax_CSS_css0;
          break $label0$0;
        }
        t1 = B.Syntax_SCSS_scss0;
        break $label0$0;
      }
      return t1;
    },
    Syntax0: function Syntax0(t0, t1) {
      this._syntax0$_name = t0;
      this._name = t1;
    },
    TypeSelector0: function TypeSelector0(t0, t1) {
      this.name = t0;
      this.span = t1;
    },
    Types: function Types() {
    },
    UnaryOperationExpression0: function UnaryOperationExpression0(t0, t1, t2) {
      this.operator = t0;
      this.operand = t1;
      this.span = t2;
    },
    UnaryOperator0: function UnaryOperator0(t0, t1, t2) {
      this.name = t0;
      this.operator = t1;
      this._name = t2;
    },
    UnitlessSassNumber0: function UnitlessSassNumber0(t0, t1) {
      this._number1$_value = t0;
      this.hashCache = null;
      this.asSlash = t1;
    },
    UniversalSelector0: function UniversalSelector0(t0, t1) {
      this.namespace = t0;
      this.span = t1;
    },
    UnprefixedMapView0: function UnprefixedMapView0(t0, t1, t2) {
      this._unprefixed_map_view0$_map = t0;
      this._unprefixed_map_view0$_prefix = t1;
      this.$ti = t2;
    },
    _UnprefixedKeys0: function _UnprefixedKeys0(t0) {
      this._unprefixed_map_view0$_view = t0;
    },
    _UnprefixedKeys_iterator_closure1: function _UnprefixedKeys_iterator_closure1(t0) {
      this.$this = t0;
    },
    _UnprefixedKeys_iterator_closure2: function _UnprefixedKeys_iterator_closure2(t0) {
      this.$this = t0;
    },
    JSUrl0: function JSUrl0() {
    },
    UseRule0: function UseRule0(t0, t1, t2, t3) {
      var _ = this;
      _.url = t0;
      _.namespace = t1;
      _.configuration = t2;
      _.span = t3;
    },
    UserDefinedCallable0: function UserDefinedCallable0(t0, t1, t2, t3) {
      var _ = this;
      _.declaration = t0;
      _.environment = t1;
      _.inDependency = t2;
      _.$ti = t3;
    },
    fromImport0() {
      var t1 = type$.nullable_CanonicalizeContext_2._as($.Zone__current.$index(0, B.Symbol__canonicalizeContext));
      t1 = t1 == null ? null : t1._canonicalize_context$_fromImport;
      return t1 === true;
    },
    canonicalizeContext0() {
      var t1,
        _0_0 = $.Zone__current.$index(0, B.Symbol__canonicalizeContext);
      $label0$0: {
        if (_0_0 == null)
          A.throwExpression(A.StateError$(string$.canoni));
        if (_0_0 instanceof A.CanonicalizeContext0) {
          t1 = _0_0;
          break $label0$0;
        }
        t1 = A.throwExpression(A.StateError$(string$.Unexpe + A.S(_0_0) + "."));
      }
      return t1;
    },
    inImportRule(callback, $T) {
      var t1,
        _0_0 = $.Zone__current.$index(0, B.Symbol__canonicalizeContext);
      $label0$0: {
        if (_0_0 == null) {
          t1 = type$.nullable_Object;
          t1 = A.runZoned(callback, A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__canonicalizeContext, new A.CanonicalizeContext0(true, null)], t1, t1), $T);
          break $label0$0;
        }
        if (_0_0 instanceof A.CanonicalizeContext0) {
          t1 = _0_0.withFromImport$2(true, callback);
          break $label0$0;
        }
        t1 = A.throwExpression(A.StateError$(string$.Unexpe + A.S(_0_0) + "."));
      }
      return t1;
    },
    resolveImportPath0(path) {
      var t1,
        extension = A.ParsedPath_ParsedPath$parse(path, $.$get$context().style)._splitExtension$1(1)[1];
      if (extension === ".sass" || extension === ".scss" || extension === ".css") {
        t1 = A.fromImport0() ? new A.resolveImportPath_closure1(path, extension).call$0() : null;
        return t1 == null ? A._exactlyOne0(A._tryPath0(path)) : t1;
      }
      t1 = A.fromImport0() ? new A.resolveImportPath_closure2(path).call$0() : null;
      if (t1 == null)
        t1 = A._exactlyOne0(A._tryPathWithExtensions0(path));
      return t1 == null ? A._tryPathAsDirectory0(path) : t1;
    },
    _tryPathWithExtensions0(path) {
      var result = A._tryPath0(path + ".sass");
      B.JSArray_methods.addAll$1(result, A._tryPath0(path + ".scss"));
      return result.length !== 0 ? result : A._tryPath0(path + ".css");
    },
    _tryPath0(path) {
      var t1 = $.$get$context(),
        partial = A.join(t1.dirname$1(path), "_" + A.ParsedPath_ParsedPath$parse(path, t1.style).get$basename(), null);
      t1 = A._setArrayType([], type$.JSArray_String);
      if (A.fileExists0(partial))
        t1.push(partial);
      if (A.fileExists0(path))
        t1.push(path);
      return t1;
    },
    _tryPathAsDirectory0(path) {
      var t1;
      if (!A.dirExists0(path))
        return null;
      t1 = A.fromImport0() ? new A._tryPathAsDirectory_closure0(path).call$0() : null;
      return t1 == null ? A._exactlyOne0(A._tryPathWithExtensions0(A.join(path, "index", null))) : t1;
    },
    _exactlyOne0(paths) {
      var _0_1, t1, path;
      $label0$0: {
        _0_1 = paths.length;
        if (_0_1 <= 0) {
          t1 = null;
          break $label0$0;
        }
        if (_0_1 === 1) {
          path = paths[0];
          t1 = path;
          break $label0$0;
        }
        t1 = A.throwExpression(string$.It_s_n + B.JSArray_methods.map$1$1(paths, new A._exactlyOne_closure0(), type$.String).join$1(0, "\n"));
      }
      return t1;
    },
    resolveImportPath_closure1: function resolveImportPath_closure1(t0, t1) {
      this.path = t0;
      this.extension = t1;
    },
    resolveImportPath_closure2: function resolveImportPath_closure2(t0) {
      this.path = t0;
    },
    _tryPathAsDirectory_closure0: function _tryPathAsDirectory_closure0(t0) {
      this.path = t0;
    },
    _exactlyOne_closure0: function _exactlyOne_closure0() {
    },
    jsThrow(error) {
      return type$.Never._as($.$get$_jsThrow().call$1(error));
    },
    attachJsStack(error, trace) {
      var traceString = trace.toString$0(0),
        firstRealLine = B.JSString_methods.indexOf$1(traceString, "\n    at");
      if (firstRealLine !== -1)
        traceString = B.JSString_methods.substring$1(traceString, firstRealLine + 1);
      error.stack = "Error: " + A.S(J.get$message$x(error)) + "\n" + traceString;
    },
    jsForEach(object, callback) {
      var t1, t2;
      for (t1 = J.get$iterator$ax(self.Object.keys(object)); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        callback.call$2(t2, object[t2]);
      }
    },
    jsType(value) {
      var typeOf = A._asString(new self.Function("value", "return typeof value").call$1(value));
      return typeOf !== "object" ? typeOf : A._asString(new self.Function("value", '    if (value && value.constructor && value.constructor.name) {\n      return value.constructor.name;\n    }\n    return "object";\n  ').call$1(value));
    },
    defineGetter(object, $name, get, value) {
      self.Object.defineProperty(object, $name, get == null ? {value: value, enumerable: false} : {get: A.allowInteropCaptureThis(get), enumerable: false});
    },
    allowInteropNamed($name, $function) {
      $function = A.allowInterop($function);
      A.defineGetter($function, "name", null, $name);
      A._hideDartProperties($function);
      return $function;
    },
    allowInteropCaptureThisNamed($name, $function) {
      $function = A.allowInteropCaptureThis($function);
      A.defineGetter($function, "name", null, $name);
      A._hideDartProperties($function);
      return $function;
    },
    _hideDartProperties(object) {
      var t1, t2, t3, t4;
      for (t1 = J.cast$1$0$ax(self.Object.getOwnPropertyNames(object), type$.String), t2 = A._instanceType(t1), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        if (B.JSString_methods.startsWith$1(t3, "_")) {
          t4 = {value: object[t3], enumerable: false};
          self.Object.defineProperty(object, t3, t4);
        }
      }
    },
    futureToPromise0(future) {
      return new self.Promise(A.allowInterop(new A.futureToPromise_closure0(future)));
    },
    jsToDartUrl(url) {
      return A.Uri_parse(J.toString$0$(url));
    },
    dartToJSUrl(url) {
      return new self.URL(url.toString$0(0));
    },
    toJSArray(iterable) {
      var t1, t2,
        array = new self.Array();
      for (t1 = J.get$iterator$ax(iterable), t2 = J.getInterceptor$x(array); t1.moveNext$0();)
        t2.push$1(array, t1.get$current(t1));
      return array;
    },
    objectToMap(object) {
      var map = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_Object);
      A.jsForEach(object, new A.objectToMap_closure(map));
      return map;
    },
    jsToDartSeparator(separator) {
      var t1;
      $label0$0: {
        if (" " === separator) {
          t1 = B.ListSeparator_nbm0;
          break $label0$0;
        }
        if ("," === separator) {
          t1 = B.ListSeparator_ECn0;
          break $label0$0;
        }
        if ("/" === separator) {
          t1 = B.ListSeparator_cQA0;
          break $label0$0;
        }
        if (separator == null) {
          t1 = B.ListSeparator_undecided_null_undecided0;
          break $label0$0;
        }
        t1 = A.jsThrow(new self.Error('Unknown separator "' + separator + '".'));
      }
      return t1;
    },
    parseSyntax(syntax) {
      var t1;
      $label0$0: {
        if (syntax == null || "scss" === syntax) {
          t1 = B.Syntax_SCSS_scss0;
          break $label0$0;
        }
        if ("indented" === syntax) {
          t1 = B.Syntax_Sass_sass0;
          break $label0$0;
        }
        if ("css" === syntax) {
          t1 = B.Syntax_CSS_css0;
          break $label0$0;
        }
        t1 = A.jsThrow(new self.Error('Unknown syntax "' + A.S(syntax) + '".'));
      }
      return t1;
    },
    entrypointFilename() {
      var _1_0, _1_5_isSet, _1_5, t2, path,
        t1 = self.require.main,
        _0_0 = t1 == null ? null : J.get$filename$x(t1);
      if (_0_0 != null)
        return _0_0;
      else {
        _1_0 = J.get$argv$x(self.process);
        t1 = J.getInterceptor$asx(_1_0);
        _1_5_isSet = t1.get$length(_1_0) >= 2;
        if (_1_5_isSet) {
          _1_5 = t1.$index(_1_0, 1);
          t2 = typeof _1_5 == "string";
        } else {
          _1_5 = null;
          t2 = false;
        }
        if (t2) {
          path = A._asString(_1_5_isSet ? _1_5 : t1.$index(_1_0, 1));
          return J.resolve$1$x(J.createRequire$1$x(self.nodeModule, path), path);
        } else
          return null;
      }
    },
    _PropertyDescriptor0: function _PropertyDescriptor0() {
    },
    futureToPromise_closure0: function futureToPromise_closure0(t0) {
      this.future = t0;
    },
    futureToPromise__closure0: function futureToPromise__closure0(t0) {
      this.resolve = t0;
    },
    futureToPromise__closure1: function futureToPromise__closure1(t0) {
      this.reject = t0;
    },
    objectToMap_closure: function objectToMap_closure(t0) {
      this.map = t0;
    },
    _RequireMain0: function _RequireMain0() {
    },
    toSentence0(iter, conjunction) {
      if (iter.get$length(iter) === 1)
        return J.toString$0$(iter.get$first(iter));
      return A.IterableExtension_get_exceptLast0(iter).join$1(0, ", ") + (" " + conjunction + " " + A.S(iter.get$last(iter)));
    },
    indent0(string, indentation) {
      return new A.MappedListIterable(A._setArrayType(string.split("\n"), type$.JSArray_String), new A.indent_closure0(indentation), type$.MappedListIterable_String_String).join$1(0, "\n");
    },
    pluralize0($name, number, plural) {
      if (number === 1)
        return $name;
      if (plural != null)
        return plural;
      return $name + "s";
    },
    trimAscii0(string, excludeEscape) {
      var t1,
        start = A._firstNonWhitespace0(string);
      if (start == null)
        t1 = "";
      else {
        t1 = A._lastNonWhitespace0(string, true);
        t1.toString;
        t1 = B.JSString_methods.substring$2(string, start, t1 + 1);
      }
      return t1;
    },
    trimAsciiRight0(string, excludeEscape) {
      var end = A._lastNonWhitespace0(string, excludeEscape);
      return end == null ? "" : B.JSString_methods.substring$2(string, 0, end + 1);
    },
    _firstNonWhitespace0(string) {
      var t1, i, t2;
      for (t1 = string.length, i = 0; i < t1; ++i) {
        t2 = string.charCodeAt(i);
        if (!(t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12))
          return i;
      }
      return null;
    },
    _lastNonWhitespace0(string, excludeEscape) {
      var i, i0, codeUnit;
      for (i = string.length - 1, i0 = i; i0 >= 0; --i0) {
        codeUnit = string.charCodeAt(i0);
        if (!(codeUnit === 32 || codeUnit === 9 || codeUnit === 10 || codeUnit === 13 || codeUnit === 12))
          if (excludeEscape && i0 !== 0 && i0 !== i && codeUnit === 92)
            return i0 + 1;
          else
            return i0;
      }
      return null;
    },
    isPublic0(member) {
      var start = member.charCodeAt(0);
      return start !== 45 && start !== 95;
    },
    flattenVertically0(iterable, $T) {
      var result,
        t1 = iterable.$ti._eval$1("@")._bind$1($T._eval$1("QueueList<0>"))._eval$1("MappedListIterable<1,2>"),
        queues = A.List_List$of(new A.MappedListIterable(iterable, new A.flattenVertically_closure1($T), t1), true, t1._eval$1("ListIterable.E"));
      if (queues.length === 1)
        return B.JSArray_methods.get$first(queues);
      result = A._setArrayType([], $T._eval$1("JSArray<0>"));
      for (; queues.length !== 0;) {
        if (!!queues.fixed$length)
          A.throwExpression(A.UnsupportedError$("removeWhere"));
        B.JSArray_methods._removeWhere$2(queues, new A.flattenVertically_closure2(result, $T), true);
      }
      return result;
    },
    codepointIndexToCodeUnitIndex0(string, codepointIndex) {
      var codeUnitIndex, i, codeUnitIndex0;
      for (codeUnitIndex = 0, i = 0; i < codepointIndex; ++i) {
        codeUnitIndex0 = codeUnitIndex + 1;
        codeUnitIndex = string.charCodeAt(codeUnitIndex) >>> 10 === 54 ? codeUnitIndex0 + 1 : codeUnitIndex0;
      }
      return codeUnitIndex;
    },
    codeUnitIndexToCodepointIndex0(string, codeUnitIndex) {
      var codepointIndex, i;
      for (codepointIndex = 0, i = 0; i < codeUnitIndex; i = (string.charCodeAt(i) >>> 10 === 54 ? i + 1 : i) + 1)
        ++codepointIndex;
      return codepointIndex;
    },
    frameForSpan0(span, member, url) {
      var t2, t3,
        t1 = url == null ? span.get$sourceUrl(span) : url;
      if (t1 == null)
        t1 = $.$get$_noSourceUrl0();
      t2 = span.get$start(span);
      t2 = t2.file.getLine$1(t2.offset);
      t3 = span.get$start(span);
      return new A.Frame(t1, t2 + 1, t3.file.getColumn$1(t3.offset) + 1, member);
    },
    declarationName0(span) {
      var text = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(span.file._decodedChars, span._file$_start, span._end), 0, null);
      return A.trimAsciiRight0(B.JSString_methods.substring$2(text, 0, B.JSString_methods.indexOf$1(text, ":")), false);
    },
    unvendor0($name) {
      var i,
        t1 = $name.length;
      if (t1 < 2)
        return $name;
      if ($name.charCodeAt(0) !== 45)
        return $name;
      if ($name.charCodeAt(1) === 45)
        return $name;
      for (i = 2; i < t1; ++i)
        if ($name.charCodeAt(i) === 45)
          return B.JSString_methods.substring$1($name, i + 1);
      return $name;
    },
    equalsIgnoreCase0(string1, string2) {
      var t1, i;
      if (string1 === string2)
        return true;
      if (string1 == null)
        return false;
      t1 = string1.length;
      if (t1 !== string2.length)
        return false;
      for (i = 0; i < t1; ++i)
        if (!A.characterEqualsIgnoreCase0(string1.charCodeAt(i), string2.charCodeAt(i)))
          return false;
      return true;
    },
    startsWithIgnoreCase0(string, prefix) {
      var i,
        t1 = prefix.length;
      if (string.length < t1)
        return false;
      for (i = 0; i < t1; ++i)
        if (!A.characterEqualsIgnoreCase0(string.charCodeAt(i), prefix.charCodeAt(i)))
          return false;
      return true;
    },
    mapInPlace0(list, $function) {
      var i;
      for (i = 0; i < list.length; ++i)
        list[i] = $function.call$1(list[i]);
    },
    longestCommonSubsequence0(list1, list2, select, $T) {
      var t1, _i, selections, i, i0, j, selection, j0,
        _length = list1.get$length(0) + 1,
        lengths = J.JSArray_JSArray$allocateFixed(_length, type$.List_int);
      for (t1 = type$.int, _i = 0; _i < _length; ++_i)
        lengths[_i] = A.List_List$filled(((list2._queue_list$_tail - list2._queue_list$_head & J.get$length$asx(list2._queue_list$_table) - 1) >>> 0) + 1, 0, false, t1);
      _length = list1.get$length(0);
      selections = J.JSArray_JSArray$allocateFixed(_length, $T._eval$1("List<0?>"));
      for (t1 = $T._eval$1("0?"), _i = 0; _i < _length; ++_i)
        selections[_i] = A.List_List$filled((list2._queue_list$_tail - list2._queue_list$_head & J.get$length$asx(list2._queue_list$_table) - 1) >>> 0, null, false, t1);
      for (i = 0; i < (list1._queue_list$_tail - list1._queue_list$_head & J.get$length$asx(list1._queue_list$_table) - 1) >>> 0; i = i0)
        for (i0 = i + 1, j = 0; j < (list2._queue_list$_tail - list2._queue_list$_head & J.get$length$asx(list2._queue_list$_table) - 1) >>> 0; j = j0) {
          selection = select.call$2(list1.$index(0, i), list2.$index(0, j));
          selections[i][j] = selection;
          t1 = lengths[i0];
          j0 = j + 1;
          t1[j0] = selection == null ? Math.max(t1[j], lengths[i][j0]) : lengths[i][j] + 1;
        }
      return new A.longestCommonSubsequence_backtrack0(selections, lengths, $T).call$2(list1.get$length(0) - 1, list2.get$length(0) - 1);
    },
    removeFirstWhere0(list, test, orElse) {
      var i;
      for (i = 0; i < list.length; ++i) {
        if (!test.call$1(list[i]))
          continue;
        B.JSArray_methods.removeAt$1(list, i);
        return;
      }
      orElse.call$0();
    },
    mapAddAll20(destination, source, K1, K2, $V) {
      source.forEach$1(0, new A.mapAddAll2_closure0(destination, K1, K2, $V));
    },
    setAll0(map, keys, value) {
      var t1;
      for (t1 = J.get$iterator$ax(keys); t1.moveNext$0();)
        map.$indexSet(0, t1.get$current(t1), value);
    },
    rotateSlice0(list, start, end) {
      var i, next,
        element = list.$index(0, end - 1);
      for (i = start; i < end; ++i, element = next) {
        next = list.$index(0, i);
        list.$indexSet(0, i, element);
      }
    },
    mapAsync0(iterable, callback, $E, $F) {
      return A.mapAsync$body0(iterable, callback, $E, $F, $F._eval$1("Iterable<0>"));
    },
    mapAsync$body0(iterable, callback, $E, $F, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, t2, _i, t1, $async$temp1;
      var $async$mapAsync0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = A._setArrayType([], $F._eval$1("JSArray<0>"));
              t2 = iterable.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$temp1 = t1;
              $async$goto = 6;
              return A._asyncAwait(callback.call$1(iterable[_i]), $async$mapAsync0);
            case 6:
              // returning from await.
              $async$temp1.push($async$result);
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$mapAsync0, $async$completer);
    },
    putIfAbsentAsync0(map, key, ifAbsent, $K, $V) {
      return A.putIfAbsentAsync$body0(map, key, ifAbsent, $K, $V, $V);
    },
    putIfAbsentAsync$body0(map, key, ifAbsent, $K, $V, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, t1, value;
      var $async$putIfAbsentAsync0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (map.containsKey$1(key)) {
                t1 = map.$index(0, key);
                $async$returnValue = t1 == null ? $V._as(t1) : t1;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(ifAbsent.call$0(), $async$putIfAbsentAsync0);
            case 3:
              // returning from await.
              value = $async$result;
              map.$indexSet(0, key, value);
              $async$returnValue = value;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$putIfAbsentAsync0, $async$completer);
    },
    copyMapOfMap0(map, K1, K2, $V) {
      var t3, key, child,
        t1 = K2._eval$1("@<0>")._bind$1($V)._eval$1("Map<1,2>"),
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(K1, t1);
      for (t1 = A.MapExtensions_get_pairs0(map, K1, t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        key = t3._0;
        child = t3._1;
        t3 = A.LinkedHashMap_LinkedHashMap(null, null, null, K2, $V);
        t3.addAll$1(0, child);
        t2.$indexSet(0, key, t3);
      }
      return t2;
    },
    copyMapOfList0(map, $K, $E) {
      var t3,
        t1 = $E._eval$1("List<0>"),
        t2 = A.LinkedHashMap_LinkedHashMap$_empty($K, t1);
      for (t1 = A.MapExtensions_get_pairs0(map, $K, t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3._0, J.toList$0$ax(t3._1));
      }
      return t2;
    },
    consumeEscapedCharacter0(scanner) {
      var _1_0, value, i, next, t1;
      scanner.expectChar$1(92);
      _1_0 = scanner.peekChar$0();
      if (_1_0 == null)
        return 65533;
      if (_1_0 === 10 || _1_0 === 13 || _1_0 === 12)
        scanner.error$1(0, "Expected escape sequence.");
      if (A.CharacterExtension_get_isHex0(_1_0)) {
        for (value = 0, i = 0; i < 6; ++i) {
          next = scanner.peekChar$0();
          if (next != null) {
            if (!(next >= 48 && next <= 57))
              if (!(next >= 97 && next <= 102))
                t1 = next >= 65 && next <= 70;
              else
                t1 = true;
            else
              t1 = true;
            t1 = !t1;
          } else
            t1 = true;
          if (t1)
            break;
          value = (value << 4 >>> 0) + A.asHex0(scanner.readChar$0());
        }
        t1 = scanner.peekChar$0();
        if (t1 === 32 || t1 === 9 || t1 === 10 || t1 === 13 || t1 === 12)
          scanner.readChar$0();
        $label0$1: {
          if (0 !== value)
            t1 = value >= 55296 && value <= 57343 || value >= 1114111;
          else
            t1 = true;
          if (t1) {
            t1 = 65533;
            break $label0$1;
          }
          t1 = value;
          break $label0$1;
        }
        return t1;
      }
      return scanner.readChar$0();
    },
    throwWithTrace0(error, originalError, trace) {
      var t1 = A.getTrace0(originalError);
      A.attachTrace0(error, t1 == null ? trace : t1);
      throw A.wrapException(error);
    },
    attachTrace0(error, trace) {
      var t1;
      if (typeof error == "string" || typeof error == "number" || A._isBool(error))
        return;
      if (trace.toString$0(0).length === 0)
        return;
      t1 = $.$get$_traces0();
      A.Expando__checkType(error);
      if (t1._jsWeakMap.get(error) == null)
        t1.$indexSet(0, error, trace);
    },
    getTrace0(error) {
      var t1;
      if (typeof error == "string" || typeof error == "number" || A._isBool(error))
        t1 = null;
      else {
        t1 = $.$get$_traces0();
        A.Expando__checkType(error);
        t1 = t1._jsWeakMap.get(error);
      }
      return t1;
    },
    parseSignature(signature, requireParens) {
      var error, stackTrace, t1, exception, t2;
      try {
        t1 = A.ScssParser$0(signature, null, null).parseSignature$1$requireParens(requireParens);
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.SassFormatException_2._is(t1)) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = error._span_exception$_message;
          t2 = J.get$span$z(error);
          A.throwWithTrace0(new A.SassFormatException0(B.Set_empty, 'Invalid signature "' + signature + '": ' + t1, t2), error, stackTrace);
        } else
          throw exception;
      }
    },
    indent_closure0: function indent_closure0(t0) {
      this.indentation = t0;
    },
    flattenVertically_closure1: function flattenVertically_closure1(t0) {
      this.T = t0;
    },
    flattenVertically_closure2: function flattenVertically_closure2(t0, t1) {
      this.result = t0;
      this.T = t1;
    },
    longestCommonSubsequence_backtrack0: function longestCommonSubsequence_backtrack0(t0, t1, t2) {
      this.selections = t0;
      this.lengths = t1;
      this.T = t2;
    },
    mapAddAll2_closure0: function mapAddAll2_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.destination = t0;
      _.K1 = t1;
      _.K2 = t2;
      _.V = t3;
    },
    CssValue0: function CssValue0(t0, t1, t2) {
      this.value = t0;
      this.span = t1;
      this.$ti = t2;
    },
    ValueExpression0: function ValueExpression0(t0, t1) {
      this.value = t0;
      this.span = t1;
    },
    valueClass_closure: function valueClass_closure() {
    },
    valueClass__closure: function valueClass__closure() {
    },
    valueClass__closure0: function valueClass__closure0() {
    },
    valueClass__closure1: function valueClass__closure1() {
    },
    valueClass__closure2: function valueClass__closure2() {
    },
    valueClass__closure3: function valueClass__closure3() {
    },
    valueClass__closure4: function valueClass__closure4() {
    },
    valueClass__closure5: function valueClass__closure5() {
    },
    valueClass__closure6: function valueClass__closure6() {
    },
    valueClass__closure7: function valueClass__closure7() {
    },
    valueClass__closure8: function valueClass__closure8() {
    },
    valueClass__closure9: function valueClass__closure9() {
    },
    valueClass__closure10: function valueClass__closure10() {
    },
    valueClass__closure11: function valueClass__closure11() {
    },
    valueClass__closure12: function valueClass__closure12() {
    },
    valueClass__closure13: function valueClass__closure13() {
    },
    valueClass__closure14: function valueClass__closure14() {
    },
    valueClass__closure15: function valueClass__closure15() {
    },
    valueClass__closure16: function valueClass__closure16() {
    },
    valueClass__closure17: function valueClass__closure17() {
    },
    valueClass__closure18: function valueClass__closure18() {
    },
    SassApiValue_assertSelector0(_this, allowParent, $name) {
      var error, stackTrace, t1, exception,
        string = _this._value$_selectorString$1($name);
      try {
        t1 = A.SelectorList_SelectorList$parse0(string, allowParent, null, null, false);
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.SassFormatException_2._is(t1)) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = B.JSString_methods.replaceFirst$2(J.toString$0$(error), "Error: ", "");
          A.throwWithTrace0(new A.SassScriptException0($name == null ? t1 : "$" + $name + ": " + t1), error, stackTrace);
        } else
          throw exception;
      }
    },
    SassApiValue_assertCompoundSelector0(_this, $name) {
      var error, stackTrace, t1, exception,
        allowParent = false,
        string = _this._value$_selectorString$1($name);
      try {
        t1 = A.SelectorParser$0(string, allowParent, null, null, false, null).parseCompoundSelector$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.SassFormatException_2._is(t1)) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = B.JSString_methods.replaceFirst$2(J.toString$0$(error), "Error: ", "");
          A.throwWithTrace0(new A.SassScriptException0("$" + $name + ": " + t1), error, stackTrace);
        } else
          throw exception;
      }
    },
    Value0: function Value0() {
    },
    VariableExpression0: function VariableExpression0(t0, t1, t2) {
      this.namespace = t0;
      this.name = t1;
      this.span = t2;
    },
    VariableDeclaration$0($name, expression, span, comment, global, guarded, namespace) {
      if (namespace != null && global)
        A.throwExpression(A.ArgumentError$(string$.Other_, null));
      return new A.VariableDeclaration0(namespace, $name, expression, guarded, global, span);
    },
    VariableDeclaration0: function VariableDeclaration0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.namespace = t0;
      _.name = t1;
      _.expression = t2;
      _.isGuarded = t3;
      _.isGlobal = t4;
      _.span = t5;
    },
    WarnRule0: function WarnRule0(t0, t1) {
      this.expression = t0;
      this.span = t1;
    },
    WhileRule$0(condition, children, span) {
      var t1 = A.List_List$unmodifiable(children, type$.Statement_2),
        t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure0());
      return new A.WhileRule0(condition, span, t1, t2);
    },
    WhileRule0: function WhileRule0(t0, t1, t2, t3) {
      var _ = this;
      _.condition = t0;
      _.span = t1;
      _.children = t2;
      _.hasDeclarations = t3;
    },
    AsyncCallable_AsyncCallable$fromSignature(signature, callback, requireParens) {
      var _0_0 = A.parseSignature(signature, requireParens);
      return new A.AsyncBuiltInCallable0(_0_0._0, _0_0._1, callback, false);
    },
    Callable_Callable$fromSignature(signature, callback, requireParens) {
      var _0_0 = A.parseSignature(signature, requireParens);
      return new A.BuiltInCallable0(_0_0._0, A._setArrayType([new A._Record_2(_0_0._1, callback)], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value_2), false);
    },
    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);
    },
    mergeMaps(map1, map2, $K, $V) {
      var result = A.LinkedHashMap_LinkedHashMap$of(map1, $K, $V);
      result.addAll$1(0, map2);
      return result;
    },
    groupBy(values, key, $S, $T) {
      var t1, t2, _i, element, t3, t4,
        map = A.LinkedHashMap_LinkedHashMap$_empty($T, $S._eval$1("List<0>"));
      for (t1 = values.length, t2 = $S._eval$1("JSArray<0>"), _i = 0; _i < values.length; values.length === t1 || (0, A.throwConcurrentModificationError)(values), ++_i) {
        element = values[_i];
        t3 = key.call$1(element);
        t4 = map.$index(0, t3);
        if (t4 == null) {
          t4 = A._setArrayType([], t2);
          map.$indexSet(0, t3, t4);
          t3 = t4;
        } else
          t3 = t4;
        J.add$1$ax(t3, element);
      }
      return map;
    },
    minBy(values, orderBy) {
      var t1, t2, minValue, minOrderBy, element, elementOrderBy;
      for (t1 = values.$ti, t1 = t1._eval$1("@<1>")._bind$1(t1._rest[1]), t2 = new A.MappedIterator(J.get$iterator$ax(values.__internal$_iterable), values._f, t1._eval$1("MappedIterator<1,2>")), t1 = t1._rest[1], minValue = null, minOrderBy = null; t2.moveNext$0();) {
        element = t2.__internal$_current;
        if (element == null)
          element = t1._as(element);
        elementOrderBy = orderBy.call$1(element);
        if (minOrderBy == null || A.defaultCompare(elementOrderBy, minOrderBy) < 0) {
          minOrderBy = elementOrderBy;
          minValue = element;
        }
      }
      return minValue;
    },
    IterableExtension_firstWhereOrNull(_this, test) {
      var t1, element;
      for (t1 = J.get$iterator$ax(_this); t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (test.call$1(element))
          return element;
      }
      return null;
    },
    IterableExtension_get_firstOrNull(_this) {
      var iterator = J.get$iterator$ax(_this);
      if (iterator.moveNext$0())
        return iterator.get$current(iterator);
      return null;
    },
    IterableExtension_get_lastOrNull(_this) {
      if (_this.get$length(0) === 0)
        return null;
      return _this.get$last(_this);
    },
    IterableExtension_get_singleOrNull(_this) {
      var result,
        iterator = J.get$iterator$ax(_this);
      if (iterator.moveNext$0()) {
        result = iterator.get$current(iterator);
        if (!iterator.moveNext$0())
          return result;
      }
      return null;
    },
    IterableNullableExtension_whereNotNull(_this, $T) {
      return new A._SyncStarIterable(A.IterableNullableExtension_whereNotNull$body(_this, $T), $T._eval$1("_SyncStarIterable<0>"));
    },
    IterableNullableExtension_whereNotNull$body($async$_this, $async$$T) {
      return function() {
        var _this = $async$_this,
          $T = $async$$T;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, element;
        return function $async$IterableNullableExtension_whereNotNull($async$iterator, $async$errorCode, $async$result) {
          if ($async$errorCode === 1) {
            $async$currentError = $async$result;
            $async$goto = $async$handler;
          }
          while (true)
            switch ($async$goto) {
              case 0:
                // Function start
                t1 = J.get$iterator$ax(_this);
              case 2:
                // for condition
                if (!t1.moveNext$0()) {
                  // goto after for
                  $async$goto = 3;
                  break;
                }
                element = t1.get$current(t1);
                $async$goto = element != null ? 4 : 5;
                break;
              case 4:
                // then
                $async$goto = 6;
                return $async$iterator._async$_current = element, 1;
              case 6:
                // after yield
              case 5:
                // join
                // goto for condition
                $async$goto = 2;
                break;
              case 3:
                // after for
                // implicit return
                return 0;
              case 1:
                // rethrow
                return $async$iterator._datum = $async$currentError, 3;
            }
        };
      };
    },
    IterableIntegerExtension_get_maxOrNull(_this) {
      var value, newValue,
        t1 = _this.$ti,
        iterator = new A.ListIterator(_this, _this.get$length(0), t1._eval$1("ListIterator"));
      if (iterator.moveNext$0()) {
        value = iterator.__internal$_current;
        if (value == null)
          value = t1._eval$1("ListIterable.E")._as(value);
        for (t1 = t1._eval$1("ListIterable.E"); iterator.moveNext$0();) {
          newValue = iterator.__internal$_current;
          if (newValue == null)
            newValue = t1._as(newValue);
          if (newValue > value)
            value = newValue;
        }
        return value;
      }
      return null;
    },
    IterableIntegerExtension_get_max(_this) {
      var t1 = A.IterableIntegerExtension_get_maxOrNull(_this);
      return t1 == null ? A.throwExpression(A.StateError$("No element")) : t1;
    },
    IterableIntegerExtension_get_sum(_this) {
      var t1, t2, result, t3;
      for (t1 = _this.$ti, t1 = t1._eval$1("@<1>")._bind$1(t1._rest[1]), t2 = new A.MappedIterator(J.get$iterator$ax(_this.__internal$_iterable), _this._f, t1._eval$1("MappedIterator<1,2>")), t1 = t1._rest[1], result = 0; t2.moveNext$0();) {
        t3 = t2.__internal$_current;
        result += t3 == null ? t1._as(t3) : t3;
      }
      return result;
    },
    ListExtensions_mapIndexed(_this, convert, $E, $R) {
      return new A._SyncStarIterable(A.ListExtensions_mapIndexed$body(_this, convert, $E, $R), $R._eval$1("_SyncStarIterable<0>"));
    },
    ListExtensions_mapIndexed$body($async$_this, $async$convert, $async$$E, $async$$R) {
      return function() {
        var _this = $async$_this,
          convert = $async$convert,
          $E = $async$$E,
          $R = $async$$R;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, index;
        return function $async$ListExtensions_mapIndexed($async$iterator, $async$errorCode, $async$result) {
          if ($async$errorCode === 1) {
            $async$currentError = $async$result;
            $async$goto = $async$handler;
          }
          while (true)
            switch ($async$goto) {
              case 0:
                // Function start
                t1 = _this.length, index = 0;
              case 2:
                // for condition
                if (!(index < t1)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                $async$goto = 5;
                return $async$iterator._async$_current = convert.call$2(index, _this[index]), 1;
              case 5:
                // after yield
              case 3:
                // for update
                ++index;
                // goto for condition
                $async$goto = 2;
                break;
              case 4:
                // after for
                // implicit return
                return 0;
              case 1:
                // rethrow
                return $async$iterator._datum = $async$currentError, 3;
            }
        };
      };
    },
    ListExtensions_elementAtOrNull(_this, index) {
      var t1 = J.getInterceptor$asx(_this);
      return index < t1.get$length(_this) ? t1.$index(_this, index) : null;
    },
    defaultCompare(value1, value2) {
      return J.compareTo$1$ns(type$.Comparable_nullable_Object._as(value1), value2);
    },
    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 = J.resolve$1$x(uri, ".").toString$0(0);
      else {
        path = uri.toFilePath$0();
        lastIndex = path.length - 1;
        t1 = $._current = lastIndex === 0 ? path : B.JSString_methods.substring$2(path, 0, lastIndex);
      }
      return t1;
    },
    absolute(part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15) {
      return $.$get$context().absolute$15(part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15);
    },
    join(part1, part2, part3) {
      var _null = null;
      return $.$get$context().join$16(0, part1, part2, part3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    },
    prettyUri(uri) {
      var t1 = $.$get$context();
      uri.toString;
      return t1.prettyUri$1(uri);
    },
    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 (!A.isAlphabetic(path.charCodeAt(index)))
        return _null;
      t2 = index + 1;
      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 (path.charCodeAt(t2) !== 47)
        return _null;
      return index + 3;
    },
    main0(args) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        t1;
      var $async$main0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              A.printError("sass --embedded is unavailable in pure JS mode.");
              t1 = A.isNodeJs() ? self.process : null;
              if (t1 != null)
                J.set$exitCode$x(t1, 1);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$main0, $async$completer);
    },
    EvaluationContext_currentOrNull() {
      var t1,
        _0_0 = $.Zone__current.$index(0, B.Symbol__evaluationContext);
      $label0$0: {
        if (type$.EvaluationContext._is(_0_0)) {
          t1 = _0_0;
          break $label0$0;
        }
        t1 = null;
        break $label0$0;
      }
      return t1;
    },
    warn(message) {
      var t1,
        _0_0 = A.EvaluationContext_currentOrNull();
      $label0$0: {
        if (_0_0 != null) {
          t1 = _0_0.warn$2(0, message, null);
          break $label0$0;
        }
        t1 = B.StderrLogger_false.warn$1(0, message);
        break $label0$0;
      }
      return t1;
    },
    warnForDeprecation(message, deprecation) {
      var t1,
        _0_0 = A.EvaluationContext_currentOrNull();
      $label0$0: {
        if (_0_0 != null) {
          t1 = _0_0.warn$2(0, message, deprecation);
          break $label0$0;
        }
        t1 = A.WarnForDeprecation_warnForDeprecation(B.StderrLogger_false, deprecation, message, null, null);
        break $label0$0;
      }
      return t1;
    },
    compileStylesheets(options, graph, sourcesToDestinations, ifModified) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, t2, _1_4, source, t3, _i, t4, printedError, errorWithStackTrace, code, error, stackTrace, buffer, t1, $async$temp1;
      var $async$compileStylesheets = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.nullable_String;
              t1 = A.List_List$of(A.MapExtensions_get_pairs(sourcesToDestinations, t1, t1), true, type$.Record_2_nullable_String_and_nullable_String);
              t2 = t1.length;
              $async$goto = t2 === 1 ? 4 : 5;
              break;
            case 4:
              // then
              _1_4 = t1[0];
              source = _1_4._0;
              $async$temp1 = A;
              $async$goto = 6;
              return A._asyncAwait(A.compileStylesheet(options, graph, source, _1_4._1, ifModified), $async$compileStylesheets);
            case 6:
              // returning from await.
              t1 = $async$temp1._setArrayType([$async$result], type$.JSArray_nullable_Record_3_int_and_String_and_nullable_String);
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 5:
              // join
              t3 = A._setArrayType([], type$.JSArray_Future_nullable_Record_3_int_and_String_and_nullable_String);
              for (_i = 0; _i < t2; ++_i) {
                t4 = t1[_i];
                t3.push(A.compileStylesheet(options, graph, t4._0, t4._1, ifModified));
              }
              $async$goto = 7;
              return A._asyncAwait(A.Future_wait(t3, A._asBool(options._options.$index(0, "stop-on-error")), type$.nullable_Record_3_int_and_String_and_nullable_String), $async$compileStylesheets);
            case 7:
              // returning from await.
              t1 = $async$result;
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 3:
              // break $label0$0
              for (t1 = J.get$iterator$ax(t1), printedError = false; t1.moveNext$0();) {
                errorWithStackTrace = t1.get$current(t1);
                if (errorWithStackTrace == null)
                  continue;
                code = errorWithStackTrace._0;
                error = errorWithStackTrace._1;
                stackTrace = errorWithStackTrace._2;
                t2 = self.process;
                if (t2 == null)
                  t2 = null;
                else {
                  t2 = J.get$release$x(t2);
                  t2 = t2 == null ? null : J.get$name$x(t2);
                }
                t2 = J.$eq$(t2, "node") ? self.process : null;
                t2 = t2 == null ? null : J.get$exitCode$x(t2);
                if (t2 == null)
                  t2 = 0;
                t2 = Math.max(t2, code);
                t3 = self.process;
                if (t3 == null)
                  t3 = null;
                else {
                  t3 = J.get$release$x(t3);
                  t3 = t3 == null ? null : J.get$name$x(t3);
                }
                t3 = J.$eq$(t3, "node") ? self.process : null;
                if (t3 != null)
                  J.set$exitCode$x(t3, t2);
                buffer = new A.StringBuffer("");
                t2 = (printedError ? buffer._contents = "" + "\n" : "") + error;
                buffer._contents = t2;
                if (stackTrace != null) {
                  t2 += "\n";
                  buffer._contents = t2;
                  t2 += "\n";
                  buffer._contents = t2;
                  buffer._contents = t2 + stackTrace;
                }
                A.printError(buffer);
                printedError = true;
              }
              $async$returnValue = !printedError;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$compileStylesheets, $async$completer);
    },
    repl(options) {
      return A.repl$body(options);
    },
    repl$body(options) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], repl, trackingLogger, logger, evaluator, line, declaration, error, stackTrace, t4, t5, t6, t7, t8, line0, toZone, exception, t1, t2, t3, repl0;
      var $async$repl = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = A._setArrayType([], type$.JSArray_String);
              t2 = B.JSString_methods.$mul(" ", 3);
              t3 = $.$get$alwaysValid();
              repl0 = new A.Repl(">> ", t2, t3, t1);
              repl0.__Repl__adapter_A = new A.ReplAdapter(repl0);
              repl = repl0;
              t1 = options._options;
              trackingLogger = new A.TrackingLogger(A._asBool(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new A.StderrLogger(options.get$color()));
              t2 = options.get$silenceDeprecations(0);
              logger = A.DeprecationProcessingLogger$(trackingLogger, options.get$fatalDeprecations(0), options.get$futureDeprecations(0), !A._asBool(t1.$index(0, "verbose")), t2);
              t2 = $.$get$FilesystemImporter_cwd();
              evaluator = new A.Evaluator(A._EvaluateVisitor$(null, A.ImportCache$(options.get$pkgImporters(), type$.List_String._as(t1.$index(0, "load-path")), logger), logger, null, false, false), t2);
              t2 = repl.__Repl__adapter_A;
              t2 === $ && A.throwUnnamedLateFieldNI();
              t2 = new A._StreamIterator(A.checkNotNullable(t2.runAsync$0(), "stream", type$.Object));
              $async$handler = 2;
              t1 = type$.Expression, t3 = type$.String, t4 = type$.VariableDeclaration;
            case 5:
              // for condition
              $async$goto = 7;
              return A._asyncAwait(t2.moveNext$0(), $async$repl);
            case 7:
              // returning from await.
              if (!$async$result) {
                // goto after for
                $async$goto = 6;
                break;
              }
              line = t2.get$current(0);
              if (J.trim$0$s(line).length === 0) {
                // goto for condition
                $async$goto = 5;
                break;
              }
              try {
                if (J.startsWith$1$s(line, "@")) {
                  t5 = evaluator;
                  t6 = logger;
                  t7 = A.SpanScanner$(line, null);
                  if (t6 == null)
                    t6 = B.StderrLogger_false;
                  t6 = new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), t7, t6, null).parseUseRule$0();
                  t5._visitor.runStatement$2(t5._importer, t6);
                  // goto for condition
                  $async$goto = 5;
                  break;
                }
                t5 = A.SpanScanner$(line, null);
                if (new A.Parser(t5, B.StderrLogger_false, null)._isVariableDeclarationLike$0()) {
                  t5 = logger;
                  t6 = A.SpanScanner$(line, null);
                  if (t5 == null)
                    t5 = B.StderrLogger_false;
                  declaration = new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), t6, t5, null).parseVariableDeclaration$0();
                  t5 = evaluator;
                  t5._visitor.runStatement$2(t5._importer, declaration);
                  t5 = evaluator;
                  t6 = declaration.name;
                  t7 = declaration.span;
                  t8 = declaration.namespace;
                  line0 = t5._visitor.runExpression$2(t5._importer, new A.VariableExpression(t8, t6, t7)).toString$0(0);
                  toZone = $.printToZone;
                  if (toZone == null)
                    A.printString(line0);
                  else
                    toZone.call$1(line0);
                } else {
                  t5 = evaluator;
                  t6 = logger;
                  t7 = A.SpanScanner$(line, null);
                  if (t6 == null)
                    t6 = B.StderrLogger_false;
                  t6 = new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), t7, t6, null);
                  t6 = t6._parseSingleProduction$1$1(t6.get$_expression(), t1);
                  line0 = t5._visitor.runExpression$2(t5._importer, t6).toString$0(0);
                  toZone = $.printToZone;
                  if (toZone == null)
                    A.printString(line0);
                  else
                    toZone.call$1(line0);
                }
              } catch (exception) {
                t5 = A.unwrapException(exception);
                if (t5 instanceof A.SassException) {
                  error = t5;
                  stackTrace = A.getTraceFromException(exception);
                  t5 = error;
                  t6 = typeof t5 != "string";
                  if (!t6 || typeof t5 == "number" || A._isBool(t5))
                    t5 = null;
                  else {
                    t7 = $.$get$_traces();
                    if (A._isBool(t5) || typeof t5 == "number" || !t6 || t5 instanceof A._Record)
                      A.Expando__badExpandoKey(t5);
                    t5 = t7._jsWeakMap.get(t5);
                  }
                  if (t5 == null)
                    t5 = stackTrace;
                  A._logError(error, t5, line, repl, options, trackingLogger);
                } else
                  throw exception;
              }
              // goto for condition
              $async$goto = 5;
              break;
            case 6:
              // after for
              $async$next.push(4);
              // goto finally
              $async$goto = 3;
              break;
            case 2:
              // uncaught
              $async$next = [1];
            case 3:
              // finally
              $async$handler = 1;
              $async$goto = 8;
              return A._asyncAwait(t2.cancel$0(), $async$repl);
            case 8:
              // returning from await.
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$repl, $async$completer);
    },
    _logError(error, stackTrace, line, repl, options, logger) {
      var t2, spacesBeforeError, t3,
        t1 = A.SourceSpanException.prototype.get$span.call(error, 0);
      if (t1.get$sourceUrl(t1) == null)
        if (!A._asBool(options._options.$index(0, "quiet")))
          t1 = logger._emittedDebug || logger._emittedWarning;
        else
          t1 = false;
      else
        t1 = true;
      if (t1) {
        A.print(error.toString$1$color(0, options.get$color()));
        return;
      }
      t1 = options.get$color() ? "" + "\x1b[31m" : "";
      t2 = A.SourceSpanException.prototype.get$span.call(error, 0);
      t2 = t2.get$start(t2);
      spacesBeforeError = repl.prompt.length + t2.file.getColumn$1(t2.offset);
      if (options.get$color()) {
        t2 = A.SourceSpanException.prototype.get$span.call(error, 0);
        t2 = t2.get$start(t2);
        t2 = t2.file.getColumn$1(t2.offset) < line.length;
      } else
        t2 = false;
      if (t2)
        t1 = t1 + ("\x1b[1F\x1b[" + spacesBeforeError + "C") + (A.SourceSpanException.prototype.get$span.call(error, 0).get$text() + "\n");
      t2 = B.JSString_methods.$mul(" ", spacesBeforeError);
      t3 = A.SourceSpanException.prototype.get$span.call(error, 0);
      t3 = t1 + t2 + (B.JSString_methods.$mul("^", Math.max(1, t3.get$length(t3))) + "\n");
      t1 = options.get$color() ? t3 + "\x1b[0m" : t3;
      t1 += "Error: " + error._span_exception$_message + "\n";
      if (A._asBool(options._options.$index(0, "trace")))
        t1 += A.Trace_Trace$from(stackTrace).get$terse().toString$0(0);
      A.print(B.JSString_methods.trimRight$0(t1.charCodeAt(0) == 0 ? t1 : t1));
    },
    CharacterExtension_get_isAlphabetic(_this) {
      var t1;
      if (!(_this >= 97 && _this <= 122))
        t1 = _this >= 65 && _this <= 90;
      else
        t1 = true;
      return t1;
    },
    CharacterExtension_get_isHex(_this) {
      var t1;
      if (!(_this >= 48 && _this <= 57))
        if (!(_this >= 97 && _this <= 102))
          t1 = _this >= 65 && _this <= 70;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    asHex(character) {
      var t1;
      $label0$0: {
        if (character <= 57) {
          t1 = character - 48;
          break $label0$0;
        }
        if (character <= 70) {
          t1 = 10 + character - 65;
          break $label0$0;
        }
        t1 = 10 + character - 97;
        break $label0$0;
      }
      return t1;
    },
    hexCharFor(number) {
      return number < 10 ? 48 + number : 87 + number;
    },
    opposite(character) {
      var t1;
      $label0$0: {
        if (40 === character) {
          t1 = 41;
          break $label0$0;
        }
        if (123 === character) {
          t1 = 125;
          break $label0$0;
        }
        if (91 === character) {
          t1 = 93;
          break $label0$0;
        }
        t1 = A.throwExpression(A.ArgumentError$('"' + A.String_String$fromCharCode(character) + "\" isn't a brace-like character.", null));
      }
      return t1;
    },
    characterEqualsIgnoreCase(character1, character2) {
      var upperCase1;
      if (character1 === character2)
        return true;
      if ((character1 ^ character2) >>> 0 !== 32)
        return false;
      upperCase1 = (character1 & 4294967263) >>> 0;
      return upperCase1 >= 65 && upperCase1 <= 90;
    },
    IterableExtension_search(_this, callback) {
      var t1, _0_0;
      for (t1 = J.get$iterator$ax(_this); t1.moveNext$0();) {
        _0_0 = callback.call$1(t1.get$current(t1));
        if (_0_0 != null)
          return _0_0;
      }
      return null;
    },
    IterableExtension_get_exceptLast(_this) {
      var t1 = J.getInterceptor$asx(_this),
        size = t1.get$length(_this) - 1;
      if (size < 0)
        throw A.wrapException(A.StateError$("Iterable may not be empty"));
      return t1.take$1(_this, size);
    },
    NullableExtension_andThen(_this, fn) {
      return _this == null ? null : fn.call$1(_this);
    },
    SetExtension_removeNull(_this, $T) {
      _this.remove$1(0, null);
      return A.Set_castFrom(_this, _this.get$_newSimilarSet(), A._instanceType(_this)._precomputed1, $T);
    },
    fuzzyEquals(number1, number2) {
      var t1;
      if (number1 === number2)
        return true;
      if (Math.abs(number1 - number2) <= $.$get$_epsilon()) {
        t1 = $.$get$_inverseEpsilon();
        t1 = B.JSNumber_methods.round$0(number1 * t1) === B.JSNumber_methods.round$0(number2 * t1);
      } else
        t1 = false;
      return t1;
    },
    fuzzyHashCode(number) {
      if (!isFinite(number))
        return B.JSNumber_methods.get$hashCode(number);
      return B.JSInt_methods.get$hashCode(B.JSNumber_methods.round$0(number * $.$get$_inverseEpsilon()));
    },
    fuzzyLessThan(number1, number2) {
      return number1 < number2 && !A.fuzzyEquals(number1, number2);
    },
    fuzzyLessThanOrEquals(number1, number2) {
      return number1 < number2 || A.fuzzyEquals(number1, number2);
    },
    fuzzyGreaterThan(number1, number2) {
      return number1 > number2 && !A.fuzzyEquals(number1, number2);
    },
    fuzzyGreaterThanOrEquals(number1, number2) {
      return number1 > number2 || A.fuzzyEquals(number1, number2);
    },
    fuzzyAsInt(number) {
      var rounded;
      if (number == 1 / 0 || number == -1 / 0 || isNaN(number))
        return null;
      rounded = B.JSNumber_methods.round$0(number);
      return A.fuzzyEquals(number, rounded) ? rounded : null;
    },
    fuzzyRound(number) {
      var t1;
      if (number > 0) {
        t1 = B.JSNumber_methods.$mod(number, 1);
        return t1 < 0.5 && !A.fuzzyEquals(t1, 0.5) ? B.JSNumber_methods.floor$0(number) : B.JSNumber_methods.ceil$0(number);
      } else {
        t1 = B.JSNumber_methods.$mod(number, 1);
        return t1 < 0.5 || A.fuzzyEquals(t1, 0.5) ? B.JSNumber_methods.floor$0(number) : B.JSNumber_methods.ceil$0(number);
      }
    },
    fuzzyCheckRange(number, min, max) {
      if (A.fuzzyEquals(number, min))
        return min;
      if (A.fuzzyEquals(number, max))
        return max;
      if (number > min && number < max)
        return number;
      return null;
    },
    fuzzyAssertRange(number, min, max, $name) {
      var result = A.fuzzyCheckRange(number, min, max);
      if (result != null)
        return result;
      throw A.wrapException(A.RangeError$range(number, min, max, $name, "must be between " + min + " and " + max));
    },
    moduloLikeSass(num1, num2) {
      var result;
      if (num1 == 1 / 0 || num1 == -1 / 0)
        return 0 / 0;
      if (num2 == 1 / 0 || num2 == -1 / 0)
        return A.DoubleWithSignedZero_get_signIncludingZero(num1) === J.get$sign$in(num2) ? num1 : 0 / 0;
      if (num2 > 0)
        return B.JSNumber_methods.$mod(num1, num2);
      if (num2 === 0)
        return 0 / 0;
      result = B.JSNumber_methods.$mod(num1, num2);
      return result === 0 ? 0 : result + num2;
    },
    sqrt(number) {
      number.assertNoUnits$1("number");
      return A.SassNumber_SassNumber(Math.sqrt(number._number$_value), null);
    },
    sin(number) {
      return A.SassNumber_SassNumber(Math.sin(number.coerceValueToUnit$2("rad", "number")), null);
    },
    cos(number) {
      return A.SassNumber_SassNumber(Math.cos(number.coerceValueToUnit$2("rad", "number")), null);
    },
    tan(number) {
      return A.SassNumber_SassNumber(Math.tan(number.coerceValueToUnit$2("rad", "number")), null);
    },
    atan(number) {
      number.assertNoUnits$1("number");
      return A.SassNumber_SassNumber$withUnits(Math.atan(number._number$_value) * 57.29577951308232, null, A._setArrayType(["deg"], type$.JSArray_String));
    },
    asin(number) {
      number.assertNoUnits$1("number");
      return A.SassNumber_SassNumber$withUnits(Math.asin(number._number$_value) * 57.29577951308232, null, A._setArrayType(["deg"], type$.JSArray_String));
    },
    acos(number) {
      number.assertNoUnits$1("number");
      return A.SassNumber_SassNumber$withUnits(Math.acos(number._number$_value) * 57.29577951308232, null, A._setArrayType(["deg"], type$.JSArray_String));
    },
    log(number, base) {
      if (base != null)
        return A.SassNumber_SassNumber(Math.log(number._number$_value) / Math.log(base._number$_value), null);
      return A.SassNumber_SassNumber(Math.log(number._number$_value), null);
    },
    pow0(base, exponent) {
      base.assertNoUnits$1("base");
      exponent.assertNoUnits$1("exponent");
      return A.SassNumber_SassNumber(Math.pow(base._number$_value, exponent._number$_value), null);
    },
    DoubleWithSignedZero_get_signIncludingZero(_this) {
      if (_this === -0.0)
        return -1;
      if (_this === 0)
        return 1;
      return J.get$sign$in(_this);
    },
    SpanExtensions_trimLeft(_this) {
      var t1, start = 0;
      while (true) {
        t1 = _this.get$text().charCodeAt(start);
        if (!(t1 === 32 || t1 === 9 || t1 === 10 || t1 === 13 || t1 === 12))
          break;
        ++start;
      }
      return A.FileSpanExtension_subspan(_this, start, null);
    },
    SpanExtensions_trimRight(_this) {
      var t1,
        end = _this.get$text().length - 1;
      while (true) {
        t1 = _this.get$text().charCodeAt(end);
        if (!(t1 === 32 || t1 === 9 || t1 === 10 || t1 === 13 || t1 === 12))
          break;
        --end;
      }
      return A.FileSpanExtension_subspan(_this, 0, end + 1);
    },
    SpanExtensions_initialIdentifier(_this) {
      var i,
        scanner = A.StringScanner$(_this.get$text(), null, null);
      for (i = 0; false; ++i)
        scanner.readChar$0();
      A._scanIdentifier(scanner);
      return A.FileSpanExtension_subspan(_this, 0, scanner._string_scanner$_position);
    },
    SpanExtensions_withoutInitialIdentifier(_this) {
      var scanner = A.StringScanner$(_this.get$text(), null, null);
      A._scanIdentifier(scanner);
      return A.FileSpanExtension_subspan(_this, scanner._string_scanner$_position, null);
    },
    _scanIdentifier(scanner) {
      var t1, _0_0, t2;
      for (t1 = scanner.string.length; scanner._string_scanner$_position !== t1;) {
        _0_0 = scanner.peekChar$0();
        if (92 === _0_0) {
          A.consumeEscapedCharacter(scanner);
          continue;
        }
        if (A._isInt(_0_0)) {
          if (_0_0 !== 95) {
            if (!(_0_0 >= 97 && _0_0 <= 122))
              t2 = _0_0 >= 65 && _0_0 <= 90;
            else
              t2 = true;
            t2 = t2 || _0_0 >= 128;
          } else
            t2 = true;
          if (!t2)
            t2 = _0_0 >= 48 && _0_0 <= 57 || _0_0 === 45;
          else
            t2 = true;
        } else
          t2 = false;
        if (t2) {
          scanner.readChar$0();
          continue;
        }
        break;
      }
    },
    encodeVlq(value) {
      var res, signBit, digit, t1;
      if (value < $.$get$minInt32() || value > $.$get$maxInt32())
        throw A.wrapException(A.ArgumentError$("expected 32 bit int, got: " + value, null));
      res = A._setArrayType([], type$.JSArray_String);
      if (value < 0) {
        value = -value;
        signBit = 1;
      } else
        signBit = 0;
      value = value << 1 | signBit;
      do {
        digit = value & 31;
        value = value >>> 5;
        t1 = value > 0;
        res.push(string$.ABCDEF[t1 ? digit | 32 : digit]);
      } while (t1);
      return res;
    },
    isAllTheSame(iter) {
      var firstValue, t1, t2, value;
      if (iter.get$length(0) === 0)
        return true;
      firstValue = iter.get$first(0);
      for (t1 = A.SubListIterable$(iter, 1, null, iter.$ti._eval$1("ListIterable.E")), 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();) {
        value = t1.__internal$_current;
        if (!J.$eq$(value == null ? t2._as(value) : value, firstValue))
          return false;
      }
      return true;
    },
    replaceFirstNull(list, element) {
      var index = B.JSArray_methods.indexOf$1(list, null);
      if (index < 0)
        throw A.wrapException(A.ArgumentError$(A.S(list) + " contains no null elements.", null));
      list[index] = element;
    },
    replaceWithNull(list, element) {
      var index = B.JSArray_methods.indexOf$1(list, element);
      if (index < 0)
        throw A.wrapException(A.ArgumentError$(A.S(list) + " contains no elements matching " + element.toString$0(0) + ".", null));
      list[index] = null;
    },
    countCodeUnits(string, codeUnit) {
      var t1, t2, count, t3;
      for (t1 = new A.CodeUnits(string), t2 = type$.CodeUnits, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"), count = 0; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if ((t3 == null ? t2._as(t3) : t3) === codeUnit)
          ++count;
      }
      return count;
    },
    findLineStart(context, text, column) {
      var beginningOfLine, index, lineStart;
      if (text.length === 0)
        for (beginningOfLine = 0; true;) {
          index = B.JSString_methods.indexOf$2(context, "\n", beginningOfLine);
          if (index === -1)
            return context.length - beginningOfLine >= column ? beginningOfLine : null;
          if (index - beginningOfLine >= column)
            return beginningOfLine;
          beginningOfLine = index + 1;
        }
      index = B.JSString_methods.indexOf$1(context, text);
      for (; index !== -1;) {
        lineStart = index === 0 ? 0 : B.JSString_methods.lastIndexOf$2(context, "\n", index - 1) + 1;
        if (column === index - lineStart)
          return lineStart;
        index = B.JSString_methods.indexOf$2(context, text, index + 1);
      }
      return null;
    },
    validateErrorArgs(string, match, position, $length) {
      var t2,
        t1 = position != null;
      if (t1)
        if (position < 0)
          throw A.wrapException(A.RangeError$("position must be greater than or equal to 0."));
        else if (position > string.length)
          throw A.wrapException(A.RangeError$("position must be less than or equal to the string length."));
      t2 = $length != null;
      if (t2 && $length < 0)
        throw A.wrapException(A.RangeError$("length must be greater than or equal to 0."));
      if (t1 && t2 && position + $length > string.length)
        throw A.wrapException(A.RangeError$("position plus length must not go beyond the end of the string."));
    },
    CharacterExtension_get_isAlphabetic0(_this) {
      var t1;
      if (!(_this >= 97 && _this <= 122))
        t1 = _this >= 65 && _this <= 90;
      else
        t1 = true;
      return t1;
    },
    CharacterExtension_get_isHex0(_this) {
      var t1;
      if (!(_this >= 48 && _this <= 57))
        if (!(_this >= 97 && _this <= 102))
          t1 = _this >= 65 && _this <= 70;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    asHex0(character) {
      var t1;
      $label0$0: {
        if (character <= 57) {
          t1 = character - 48;
          break $label0$0;
        }
        if (character <= 70) {
          t1 = 10 + character - 65;
          break $label0$0;
        }
        t1 = 10 + character - 97;
        break $label0$0;
      }
      return t1;
    },
    hexCharFor0(number) {
      return number < 10 ? 48 + number : 87 + number;
    },
    opposite0(character) {
      var t1;
      $label0$0: {
        if (40 === character) {
          t1 = 41;
          break $label0$0;
        }
        if (123 === character) {
          t1 = 125;
          break $label0$0;
        }
        if (91 === character) {
          t1 = 93;
          break $label0$0;
        }
        t1 = A.throwExpression(A.ArgumentError$('"' + A.String_String$fromCharCode(character) + "\" isn't a brace-like character.", null));
      }
      return t1;
    },
    characterEqualsIgnoreCase0(character1, character2) {
      var upperCase1;
      if (character1 === character2)
        return true;
      if ((character1 ^ character2) >>> 0 !== 32)
        return false;
      upperCase1 = (character1 & 4294967263) >>> 0;
      return upperCase1 >= 65 && upperCase1 <= 90;
    },
    EvaluationContext_currentOrNull0() {
      var t1,
        _0_0 = $.Zone__current.$index(0, B.Symbol__evaluationContext);
      $label0$0: {
        if (type$.EvaluationContext_2._is(_0_0)) {
          t1 = _0_0;
          break $label0$0;
        }
        t1 = null;
        break $label0$0;
      }
      return t1;
    },
    warn0(message) {
      var t1,
        _0_0 = A.EvaluationContext_currentOrNull0();
      $label0$0: {
        if (_0_0 != null) {
          t1 = _0_0.warn$2(0, message, null);
          break $label0$0;
        }
        t1 = B.StderrLogger_false0.warn$1(0, message);
        break $label0$0;
      }
      return t1;
    },
    warnForDeprecation0(message, deprecation) {
      var t1,
        _0_0 = A.EvaluationContext_currentOrNull0();
      $label0$0: {
        if (_0_0 != null) {
          t1 = _0_0.warn$2(0, message, deprecation);
          break $label0$0;
        }
        t1 = A.WarnForDeprecation_warnForDeprecation0(B.StderrLogger_false0, deprecation, message, null, null);
        break $label0$0;
      }
      return t1;
    },
    IterableExtension_search0(_this, callback) {
      var t1, _0_0;
      for (t1 = J.get$iterator$ax(_this); t1.moveNext$0();) {
        _0_0 = callback.call$1(t1.get$current(t1));
        if (_0_0 != null)
          return _0_0;
      }
      return null;
    },
    IterableExtension_get_exceptLast0(_this) {
      var t1 = J.getInterceptor$asx(_this),
        size = t1.get$length(_this) - 1;
      if (size < 0)
        throw A.wrapException(A.StateError$("Iterable may not be empty"));
      return t1.take$1(_this, size);
    },
    NullableExtension_andThen0(_this, fn) {
      return _this == null ? null : fn.call$1(_this);
    },
    fuzzyEquals0(number1, number2) {
      var t1;
      if (number1 === number2)
        return true;
      if (Math.abs(number1 - number2) <= $.$get$_epsilon0()) {
        t1 = $.$get$_inverseEpsilon0();
        t1 = B.JSNumber_methods.round$0(number1 * t1) === B.JSNumber_methods.round$0(number2 * t1);
      } else
        t1 = false;
      return t1;
    },
    fuzzyHashCode0(number) {
      if (!isFinite(number))
        return B.JSNumber_methods.get$hashCode(number);
      return B.JSInt_methods.get$hashCode(B.JSNumber_methods.round$0(number * $.$get$_inverseEpsilon0()));
    },
    fuzzyLessThan0(number1, number2) {
      return number1 < number2 && !A.fuzzyEquals0(number1, number2);
    },
    fuzzyLessThanOrEquals0(number1, number2) {
      return number1 < number2 || A.fuzzyEquals0(number1, number2);
    },
    fuzzyGreaterThan0(number1, number2) {
      return number1 > number2 && !A.fuzzyEquals0(number1, number2);
    },
    fuzzyGreaterThanOrEquals0(number1, number2) {
      return number1 > number2 || A.fuzzyEquals0(number1, number2);
    },
    fuzzyIsInt(number) {
      if (number == 1 / 0 || number == -1 / 0 || isNaN(number))
        return false;
      return A.fuzzyEquals0(number, B.JSNumber_methods.round$0(number));
    },
    fuzzyAsInt0(number) {
      var rounded;
      if (number == 1 / 0 || number == -1 / 0 || isNaN(number))
        return null;
      rounded = B.JSNumber_methods.round$0(number);
      return A.fuzzyEquals0(number, rounded) ? rounded : null;
    },
    fuzzyRound0(number) {
      var t1;
      if (number > 0) {
        t1 = B.JSNumber_methods.$mod(number, 1);
        return t1 < 0.5 && !A.fuzzyEquals0(t1, 0.5) ? B.JSNumber_methods.floor$0(number) : B.JSNumber_methods.ceil$0(number);
      } else {
        t1 = B.JSNumber_methods.$mod(number, 1);
        return t1 < 0.5 || A.fuzzyEquals0(t1, 0.5) ? B.JSNumber_methods.floor$0(number) : B.JSNumber_methods.ceil$0(number);
      }
    },
    fuzzyCheckRange0(number, min, max) {
      if (A.fuzzyEquals0(number, min))
        return min;
      if (A.fuzzyEquals0(number, max))
        return max;
      if (number > min && number < max)
        return number;
      return null;
    },
    fuzzyAssertRange0(number, min, max, $name) {
      var result = A.fuzzyCheckRange0(number, min, max);
      if (result != null)
        return result;
      throw A.wrapException(A.RangeError$range(number, min, max, $name, "must be between " + min + " and " + max));
    },
    moduloLikeSass0(num1, num2) {
      var result;
      if (num1 == 1 / 0 || num1 == -1 / 0)
        return 0 / 0;
      if (num2 == 1 / 0 || num2 == -1 / 0)
        return A.DoubleWithSignedZero_get_signIncludingZero0(num1) === J.get$sign$in(num2) ? num1 : 0 / 0;
      if (num2 > 0)
        return B.JSNumber_methods.$mod(num1, num2);
      if (num2 === 0)
        return 0 / 0;
      result = B.JSNumber_methods.$mod(num1, num2);
      return result === 0 ? 0 : result + num2;
    },
    sqrt0(number) {
      number.assertNoUnits$1("number");
      return A.SassNumber_SassNumber0(Math.sqrt(number._number1$_value), null);
    },
    sin0(number) {
      return A.SassNumber_SassNumber0(Math.sin(number.coerceValueToUnit$2("rad", "number")), null);
    },
    cos0(number) {
      return A.SassNumber_SassNumber0(Math.cos(number.coerceValueToUnit$2("rad", "number")), null);
    },
    tan0(number) {
      return A.SassNumber_SassNumber0(Math.tan(number.coerceValueToUnit$2("rad", "number")), null);
    },
    atan0(number) {
      number.assertNoUnits$1("number");
      return A.SassNumber_SassNumber$withUnits0(Math.atan(number._number1$_value) * 57.29577951308232, null, A._setArrayType(["deg"], type$.JSArray_String));
    },
    asin0(number) {
      number.assertNoUnits$1("number");
      return A.SassNumber_SassNumber$withUnits0(Math.asin(number._number1$_value) * 57.29577951308232, null, A._setArrayType(["deg"], type$.JSArray_String));
    },
    acos0(number) {
      number.assertNoUnits$1("number");
      return A.SassNumber_SassNumber$withUnits0(Math.acos(number._number1$_value) * 57.29577951308232, null, A._setArrayType(["deg"], type$.JSArray_String));
    },
    log0(number, base) {
      if (base != null)
        return A.SassNumber_SassNumber0(Math.log(number._number1$_value) / Math.log(base._number1$_value), null);
      return A.SassNumber_SassNumber0(Math.log(number._number1$_value), null);
    },
    pow1(base, exponent) {
      base.assertNoUnits$1("base");
      exponent.assertNoUnits$1("exponent");
      return A.SassNumber_SassNumber0(Math.pow(base._number1$_value, exponent._number1$_value), null);
    },
    DoubleWithSignedZero_get_signIncludingZero0(_this) {
      if (_this === -0.0)
        return -1;
      if (_this === 0)
        return 1;
      return J.get$sign$in(_this);
    },
    main1(args) {
      return A.main$body(args);
    },
    main$body(args) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, options, t1, graph, error, error0, stackTrace, buffer, t2, t3, t4, t5, exception, $async$exception, $async$temp1;
      var $async$main1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (args.length >= 1 && "--embedded" === args[0]) {
                A.main0(B.JSArray_methods.sublist$1(args, 1));
                // goto return
                $async$goto = 1;
                break;
              }
              options = null;
              $async$handler = 4;
              options = A.ExecutableOptions_ExecutableOptions$parse(args);
              t2 = options._options;
              $._glyphs = !(t2.wasParsed$1("unicode") ? A._asBool(t2.$index(0, "unicode")) : $._glyphs !== B.C_AsciiGlyphSet) ? B.C_AsciiGlyphSet : B.C_UnicodeGlyphSet;
              $async$goto = A._asBool(options._options.$index(0, "version")) ? 7 : 8;
              break;
            case 7:
              // then
              $async$temp1 = A;
              $async$goto = 9;
              return A._asyncAwait(A._loadVersion(), $async$main1);
            case 9:
              // returning from await.
              $async$temp1.print($async$result);
              t1 = A.isNodeJs() ? self.process : null;
              if (t1 != null)
                J.set$exitCode$x(t1, 0);
              // goto return
              $async$goto = 1;
              break;
            case 8:
              // join
              $async$goto = options.get$interactive() ? 10 : 11;
              break;
            case 10:
              // then
              $async$goto = 12;
              return A._asyncAwait(A.repl(options), $async$main1);
            case 12:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 11:
              // join
              t1 = A.List_List$of(options.get$pkgImporters(), true, type$.Importer_2);
              J.add$1$ax(t1, $.$get$FilesystemImporter_noLoadPath());
              t2 = type$.List_String._as(options._options.$index(0, "load-path"));
              t3 = options;
              t3 = A._asBool(t3._options.$index(0, "quiet")) ? $.$get$Logger_quiet() : new A.StderrLogger(t3.get$color());
              t4 = J.get$silenceDeprecations$x(options);
              t5 = type$.Uri;
              graph = new A.StylesheetGraph(A.LinkedHashMap_LinkedHashMap$_empty(t5, type$.StylesheetNode), A.ImportCache$(t1, t2, A.DeprecationProcessingLogger$(t3, J.get$fatalDeprecations$x(options), J.get$futureDeprecations$x(options), false, t4)), A.LinkedHashMap_LinkedHashMap$_empty(t5, type$.DateTime));
              $async$goto = A._asBool(options._options.$index(0, "watch")) ? 13 : 14;
              break;
            case 13:
              // then
              $async$goto = 15;
              return A._asyncAwait(A.watch(options, graph), $async$main1);
            case 15:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 14:
              // join
              t1 = options;
              t2 = options;
              t2._ensureSources$0();
              t2 = t2._sourcesToDestinations;
              t2.toString;
              $async$goto = 16;
              return A._asyncAwait(A.compileStylesheets(t1, graph, t2, A._asBool(options._options.$index(0, "update"))), $async$main1);
            case 16:
              // returning from await.
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.UsageException) {
                error = t1;
                A.print(error.message + "\n");
                A.print("Usage: sass  [output.css]\n       sass : : \n");
                t1 = $.$get$ExecutableOptions__parser();
                A.print(new A._Usage(t1._optionsAndSeparators, new A.StringBuffer(""), t1.usageLineLength).generate$0());
                t1 = A.isNodeJs() ? self.process : null;
                if (t1 != null)
                  J.set$exitCode$x(t1, 64);
              } else {
                error0 = t1;
                stackTrace = A.getTraceFromException($async$exception);
                buffer = new A.StringBuffer("");
                t1 = options;
                t1 = t1 == null ? null : t1.get$color();
                if (t1 === true)
                  buffer._contents += "\x1b[31m\x1b[1m";
                buffer._contents += "Unexpected exception:";
                t1 = options;
                t1 = t1 == null ? null : t1.get$color();
                if (t1 === true)
                  buffer._contents += "\x1b[0m";
                buffer._contents += "\n";
                t1 = buffer;
                t2 = A.S(error0) + "\n";
                t1._contents += t2;
                buffer._contents += "\n";
                buffer._contents += "\n";
                t2 = buffer;
                t1 = A.getTrace(error0);
                t1 = B.JSString_methods.trimRight$0(A.Trace_Trace$from(t1 == null ? stackTrace : t1).get$terse().toString$0(0));
                t2._contents += t1;
                A.printError(buffer);
                t1 = A.isNodeJs() ? self.process : null;
                if (t1 != null)
                  J.set$exitCode$x(t1, 255);
              }
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$main1, $async$completer);
    },
    _loadVersion() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue;
      var $async$_loadVersion = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = "1.77.8 compiled with dart2js 3.4.4";
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_loadVersion, $async$completer);
    },
    SpanExtensions_trimLeft0(_this) {
      var t1, start = 0;
      while (true) {
        t1 = _this.get$text().charCodeAt(start);
        if (!(t1 === 32 || t1 === 9 || t1 === 10 || t1 === 13 || t1 === 12))
          break;
        ++start;
      }
      return A.FileSpanExtension_subspan(_this, start, null);
    },
    SpanExtensions_trimRight0(_this) {
      var t1,
        end = _this.get$text().length - 1;
      while (true) {
        t1 = _this.get$text().charCodeAt(end);
        if (!(t1 === 32 || t1 === 9 || t1 === 10 || t1 === 13 || t1 === 12))
          break;
        --end;
      }
      return A.FileSpanExtension_subspan(_this, 0, end + 1);
    },
    SpanExtensions_initialIdentifier0(_this) {
      var i,
        scanner = A.StringScanner$(_this.get$text(), null, null);
      for (i = 0; false; ++i)
        scanner.readChar$0();
      A._scanIdentifier0(scanner);
      return A.FileSpanExtension_subspan(_this, 0, scanner._string_scanner$_position);
    },
    SpanExtensions_withoutInitialIdentifier0(_this) {
      var scanner = A.StringScanner$(_this.get$text(), null, null);
      A._scanIdentifier0(scanner);
      return A.FileSpanExtension_subspan(_this, scanner._string_scanner$_position, null);
    },
    _scanIdentifier0(scanner) {
      var t1, _0_0, t2;
      for (t1 = scanner.string.length; scanner._string_scanner$_position !== t1;) {
        _0_0 = scanner.peekChar$0();
        if (92 === _0_0) {
          A.consumeEscapedCharacter0(scanner);
          continue;
        }
        if (A._isInt(_0_0)) {
          if (_0_0 !== 95) {
            if (!(_0_0 >= 97 && _0_0 <= 122))
              t2 = _0_0 >= 65 && _0_0 <= 90;
            else
              t2 = true;
            t2 = t2 || _0_0 >= 128;
          } else
            t2 = true;
          if (!t2)
            t2 = _0_0 >= 48 && _0_0 <= 57 || _0_0 === 45;
          else
            t2 = true;
        } else
          t2 = false;
        if (t2) {
          scanner.readChar$0();
          continue;
        }
        break;
      }
    },
    validateUrlScheme(scheme) {
      var t1 = $.$get$_urlSchemeRegExp();
      if (!t1._nativeRegExp.test(scheme))
        A.jsThrow(new self.Error('"' + scheme + '" isn\'t a valid URL scheme (for example "file").'));
    },
    unwrapValue(object) {
      var value;
      if (object != null) {
        if (object instanceof A.Value0)
          return object;
        value = object.dartValue;
        if (value != null && value instanceof A.Value0)
          return value;
        if (object instanceof self.Error)
          throw A.wrapException(object);
      }
      throw A.wrapException(A.S(object) + " must be a Sass value type.");
    },
    wrapValue(value) {
      var t1;
      $label0$0: {
        if (value instanceof A.SassColor0) {
          t1 = A.callConstructor($.$get$legacyColorClass(), [null, null, null, null, value]);
          break $label0$0;
        }
        if (value instanceof A.SassList0) {
          t1 = A.callConstructor($.$get$legacyListClass(), [null, null, value]);
          break $label0$0;
        }
        if (value instanceof A.SassMap0) {
          t1 = A.callConstructor($.$get$legacyMapClass(), [null, value]);
          break $label0$0;
        }
        if (value instanceof A.SassNumber0) {
          t1 = A.callConstructor($.$get$legacyNumberClass(), [null, null, value]);
          break $label0$0;
        }
        if (value instanceof A.SassString0) {
          t1 = A.callConstructor($.$get$legacyStringClass(), [null, value]);
          break $label0$0;
        }
        t1 = value;
        break $label0$0;
      }
      return t1;
    }
  },
  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) + "'";
    },
    noSuchMethod$1(receiver, invocation) {
      throw A.wrapException(A.NoSuchMethodError_NoSuchMethodError$withInvocation(receiver, invocation));
    },
    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;
    },
    get$runtimeType(receiver) {
      return A.createRuntimeType(type$.Null);
    },
    $isTrustedGetRuntimeType: 1,
    $isNull: 1
  };
  J.JavaScriptObject.prototype = {};
  J.LegacyJavaScriptObject.prototype = {
    get$hashCode(receiver) {
      return 0;
    },
    toString$0(receiver) {
      return String(receiver);
    },
    $isPromise: 1,
    $isJsSystemError: 1,
    $isImmutableList: 1,
    $is_Channels: 1,
    $is_NodeSassColor: 1,
    $isCompileOptions: 1,
    $isCompileStringOptions: 1,
    $isNodeCompileResult: 1,
    $isDeprecation1: 1,
    $is_NodeException: 1,
    $isFiber: 1,
    $isJSFunction0: 1,
    $isImmutableList0: 1,
    $isImmutableMap0: 1,
    $isJSImporter: 1,
    $isJSImporterResult: 1,
    $isNodeImporterResult0: 1,
    $is_ConstructorOptions: 1,
    $is_NodeSassList: 1,
    $isWarnOptions: 1,
    $isDebugOptions: 1,
    $is_NodeSassMap: 1,
    $is_ConstructorOptions0: 1,
    $is_NodeSassNumber: 1,
    $isJSClass0: 1,
    $isRenderContextOptions0: 1,
    $isRenderOptions: 1,
    $isRenderResult: 1,
    $is_ConstructorOptions1: 1,
    $is_NodeSassString: 1,
    $isJSUrl0: 1,
    get$isTTY(obj) {
      return obj.isTTY;
    },
    get$write(obj) {
      return obj.write;
    },
    write$1(receiver, p0) {
      return receiver.write(p0);
    },
    createInterface$1(receiver, p0) {
      return receiver.createInterface(p0);
    },
    on$2(receiver, p0, p1) {
      return receiver.on(p0, p1);
    },
    get$close(obj) {
      return obj.close;
    },
    close$0(receiver) {
      return receiver.close();
    },
    setPrompt$1(receiver, p0) {
      return receiver.setPrompt(p0);
    },
    get$length(obj) {
      return obj.length;
    },
    toString$0(receiver) {
      return receiver.toString();
    },
    get$debug(obj) {
      return obj.debug;
    },
    debug$2(receiver, p0, p1) {
      return receiver.debug(p0, p1);
    },
    get$error(obj) {
      return obj.error;
    },
    error$1(receiver, p0) {
      return receiver.error(p0);
    },
    error$2(receiver, p0, p1) {
      return receiver.error(p0, p1);
    },
    log$1(receiver, p0) {
      return receiver.log(p0);
    },
    get$warn(obj) {
      return obj.warn;
    },
    warn$1(receiver, p0) {
      return receiver.warn(p0);
    },
    warn$2(receiver, p0, p1) {
      return receiver.warn(p0, p1);
    },
    existsSync$1(receiver, p0) {
      return receiver.existsSync(p0);
    },
    mkdirSync$1(receiver, p0) {
      return receiver.mkdirSync(p0);
    },
    readdirSync$1(receiver, p0) {
      return receiver.readdirSync(p0);
    },
    readFileSync$2(receiver, p0, p1) {
      return receiver.readFileSync(p0, p1);
    },
    statSync$1(receiver, p0) {
      return receiver.statSync(p0);
    },
    unlinkSync$1(receiver, p0) {
      return receiver.unlinkSync(p0);
    },
    watch$2(receiver, p0, p1) {
      return receiver.watch(p0, p1);
    },
    writeFileSync$2(receiver, p0, p1) {
      return receiver.writeFileSync(p0, p1);
    },
    get$path(obj) {
      return obj.path;
    },
    isDirectory$0(receiver) {
      return receiver.isDirectory();
    },
    isFile$0(receiver) {
      return receiver.isFile();
    },
    get$mtime(obj) {
      return obj.mtime;
    },
    then$1$1(receiver, p0) {
      return receiver.then(p0);
    },
    then$2(receiver, p0, p1) {
      return receiver.then(p0, p1);
    },
    getTime$0(receiver) {
      return receiver.getTime();
    },
    get$message(obj) {
      return obj.message;
    },
    message$1(receiver, p0) {
      return receiver.message(p0);
    },
    get$filename(obj) {
      return obj.filename;
    },
    get$id(obj) {
      return obj.id;
    },
    get$code(obj) {
      return obj.code;
    },
    get$syscall(obj) {
      return obj.syscall;
    },
    get$argv(obj) {
      return obj.argv;
    },
    get$env(obj) {
      return obj.env;
    },
    get$exitCode(obj) {
      return obj.exitCode;
    },
    set$exitCode(obj, v) {
      return obj.exitCode = v;
    },
    get$platform(obj) {
      return obj.platform;
    },
    get$release(obj) {
      return obj.release;
    },
    get$stderr(obj) {
      return obj.stderr;
    },
    get$stdin(obj) {
      return obj.stdin;
    },
    get$stdout(obj) {
      return obj.stdout;
    },
    get$name(obj) {
      return obj.name;
    },
    push$1(receiver, p0) {
      return receiver.push(p0);
    },
    call$0(receiver) {
      return receiver.call();
    },
    call$1(receiver, p0) {
      return receiver.call(p0);
    },
    call$2(receiver, p0, p1) {
      return receiver.call(p0, p1);
    },
    call$3$1(receiver, p0) {
      return receiver.call(p0);
    },
    call$2$1(receiver, p0) {
      return receiver.call(p0);
    },
    call$1$1(receiver, p0) {
      return receiver.call(p0);
    },
    call$3(receiver, p0, p1, p2) {
      return receiver.call(p0, p1, p2);
    },
    call$3$3(receiver, p0, p1, p2) {
      return receiver.call(p0, p1, p2);
    },
    call$2$2(receiver, p0, p1) {
      return receiver.call(p0, p1);
    },
    call$2$0(receiver) {
      return receiver.call();
    },
    call$1$0(receiver) {
      return receiver.call();
    },
    call$1$2(receiver, p0, p1) {
      return receiver.call(p0, p1);
    },
    call$2$3(receiver, p0, p1, p2) {
      return receiver.call(p0, p1, p2);
    },
    apply$2(receiver, p0, p1) {
      return receiver.apply(p0, p1);
    },
    toArray$0(receiver) {
      return receiver.toArray();
    },
    asMutable$0(receiver) {
      return receiver.asMutable();
    },
    asImmutable$0(receiver) {
      return receiver.asImmutable();
    },
    $set$2(receiver, p0, p1) {
      return receiver.set(p0, p1);
    },
    forEach$1(receiver, p0) {
      return receiver.forEach(p0);
    },
    get$file(obj) {
      return obj.file;
    },
    get$contents(obj) {
      return obj.contents;
    },
    get$options(obj) {
      return obj.options;
    },
    get$data(obj) {
      return obj.data;
    },
    get$includePaths(obj) {
      return obj.includePaths;
    },
    get$style(obj) {
      return obj.style;
    },
    get$indentType(obj) {
      return obj.indentType;
    },
    get$indentWidth(obj) {
      return obj.indentWidth;
    },
    get$linefeed(obj) {
      return obj.linefeed;
    },
    set$context(obj, v) {
      return obj.context = v;
    },
    createRequire$1(receiver, p0) {
      return receiver.createRequire(p0);
    },
    resolve$1(receiver, p0) {
      return receiver.resolve(p0);
    },
    get$$prototype(obj) {
      return obj.prototype;
    },
    get$red(obj) {
      return obj.red;
    },
    get$green(obj) {
      return obj.green;
    },
    get$blue(obj) {
      return obj.blue;
    },
    get$hue(obj) {
      return obj.hue;
    },
    get$saturation(obj) {
      return obj.saturation;
    },
    get$lightness(obj) {
      return obj.lightness;
    },
    get$whiteness(obj) {
      return obj.whiteness;
    },
    get$blackness(obj) {
      return obj.blackness;
    },
    get$alpha(obj) {
      return obj.alpha;
    },
    get$dartValue(obj) {
      return obj.dartValue;
    },
    set$dartValue(obj, v) {
      return obj.dartValue = v;
    },
    get$alertAscii(obj) {
      return obj.alertAscii;
    },
    get$alertColor(obj) {
      return obj.alertColor;
    },
    get$loadPaths(obj) {
      return obj.loadPaths;
    },
    get$quietDeps(obj) {
      return obj.quietDeps;
    },
    get$verbose(obj) {
      return obj.verbose;
    },
    get$charset(obj) {
      return obj.charset;
    },
    get$sourceMap(obj) {
      return obj.sourceMap;
    },
    get$sourceMapIncludeSources(obj) {
      return obj.sourceMapIncludeSources;
    },
    get$logger(obj) {
      return obj.logger;
    },
    get$importers(obj) {
      return obj.importers;
    },
    get$functions(obj) {
      return obj.functions;
    },
    get$fatalDeprecations(obj) {
      return obj.fatalDeprecations;
    },
    get$silenceDeprecations(obj) {
      return obj.silenceDeprecations;
    },
    get$futureDeprecations(obj) {
      return obj.futureDeprecations;
    },
    get$syntax(obj) {
      return obj.syntax;
    },
    get$url(obj) {
      return obj.url;
    },
    get$importer(obj) {
      return obj.importer;
    },
    get$_dartException(obj) {
      return obj._dartException;
    },
    set$renderSync(obj, v) {
      return obj.renderSync = v;
    },
    set$compileString(obj, v) {
      return obj.compileString = v;
    },
    set$compileStringAsync(obj, v) {
      return obj.compileStringAsync = v;
    },
    set$compile(obj, v) {
      return obj.compile = v;
    },
    set$compileAsync(obj, v) {
      return obj.compileAsync = v;
    },
    set$initCompiler(obj, v) {
      return obj.initCompiler = v;
    },
    set$initAsyncCompiler(obj, v) {
      return obj.initAsyncCompiler = v;
    },
    set$Compiler(obj, v) {
      return obj.Compiler = v;
    },
    set$AsyncCompiler(obj, v) {
      return obj.AsyncCompiler = v;
    },
    set$info(obj, v) {
      return obj.info = v;
    },
    set$Exception(obj, v) {
      return obj.Exception = v;
    },
    set$Logger(obj, v) {
      return obj.Logger = v;
    },
    set$NodePackageImporter(obj, v) {
      return obj.NodePackageImporter = v;
    },
    set$deprecations(obj, v) {
      return obj.deprecations = v;
    },
    set$Version(obj, v) {
      return obj.Version = v;
    },
    set$Value(obj, v) {
      return obj.Value = v;
    },
    set$SassArgumentList(obj, v) {
      return obj.SassArgumentList = v;
    },
    set$SassCalculation(obj, v) {
      return obj.SassCalculation = v;
    },
    set$CalculationOperation(obj, v) {
      return obj.CalculationOperation = v;
    },
    set$CalculationInterpolation(obj, v) {
      return obj.CalculationInterpolation = v;
    },
    set$SassBoolean(obj, v) {
      return obj.SassBoolean = v;
    },
    set$SassColor(obj, v) {
      return obj.SassColor = v;
    },
    set$SassFunction(obj, v) {
      return obj.SassFunction = v;
    },
    set$SassMixin(obj, v) {
      return obj.SassMixin = v;
    },
    set$SassList(obj, v) {
      return obj.SassList = v;
    },
    set$SassMap(obj, v) {
      return obj.SassMap = v;
    },
    set$SassNumber(obj, v) {
      return obj.SassNumber = v;
    },
    set$SassString(obj, v) {
      return obj.SassString = v;
    },
    set$sassNull(obj, v) {
      return obj.sassNull = v;
    },
    set$sassTrue(obj, v) {
      return obj.sassTrue = v;
    },
    set$sassFalse(obj, v) {
      return obj.sassFalse = v;
    },
    set$render(obj, v) {
      return obj.render = v;
    },
    set$types(obj, v) {
      return obj.types = v;
    },
    set$NULL(obj, v) {
      return obj.NULL = v;
    },
    set$TRUE(obj, v) {
      return obj.TRUE = v;
    },
    set$FALSE(obj, v) {
      return obj.FALSE = v;
    },
    get$current(obj) {
      return obj.current;
    },
    yield$0(receiver) {
      return receiver.yield();
    },
    run$1$1(receiver, p0) {
      return receiver.run(p0);
    },
    run$1(receiver, p0) {
      return receiver.run(p0);
    },
    run$0(receiver) {
      return receiver.run();
    },
    get$canonicalize(obj) {
      return obj.canonicalize;
    },
    canonicalize$1(receiver, p0) {
      return receiver.canonicalize(p0);
    },
    get$load(obj) {
      return obj.load;
    },
    load$1(receiver, p0) {
      return receiver.load(p0);
    },
    get$findFileUrl(obj) {
      return obj.findFileUrl;
    },
    get$nonCanonicalScheme(obj) {
      return obj.nonCanonicalScheme;
    },
    get$sourceMapUrl(obj) {
      return obj.sourceMapUrl;
    },
    get$separator(obj) {
      return obj.separator;
    },
    get$brackets(obj) {
      return obj.brackets;
    },
    get$numeratorUnits(obj) {
      return obj.numeratorUnits;
    },
    get$denominatorUnits(obj) {
      return obj.denominatorUnits;
    },
    get$pkgImporter(obj) {
      return obj.pkgImporter;
    },
    get$indentedSyntax(obj) {
      return obj.indentedSyntax;
    },
    get$omitSourceMapUrl(obj) {
      return obj.omitSourceMapUrl;
    },
    get$outFile(obj) {
      return obj.outFile;
    },
    get$outputStyle(obj) {
      return obj.outputStyle;
    },
    get$fiber(obj) {
      return obj.fiber;
    },
    get$sourceMapContents(obj) {
      return obj.sourceMapContents;
    },
    get$sourceMapEmbed(obj) {
      return obj.sourceMapEmbed;
    },
    get$sourceMapRoot(obj) {
      return obj.sourceMapRoot;
    },
    set$cli_pkg_main_0_(obj, v) {
      return obj.cli_pkg_main_0_ = v;
    },
    get$quotes(obj) {
      return obj.quotes;
    }
  };
  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 " + A.S(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) {
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("add"));
      receiver.push(value);
    },
    removeAt$1(receiver, index) {
      var t1;
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("removeAt"));
      t1 = receiver.length;
      if (index >= t1)
        throw A.wrapException(A.RangeError$value(index, null, null));
      return receiver.splice(index, 1)[0];
    },
    insert$2(receiver, index, value) {
      var t1;
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("insert"));
      t1 = receiver.length;
      if (index > t1)
        throw A.wrapException(A.RangeError$value(index, null, null));
      receiver.splice(index, 0, value);
    },
    insertAll$2(receiver, index, iterable) {
      var insertionLength, end;
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("insertAll"));
      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);
      receiver.length = 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) {
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("removeLast"));
      if (receiver.length === 0)
        throw A.wrapException(A.diagnoseIndexError(receiver, -1));
      return receiver.pop();
    },
    _removeWhere$2(receiver, test, removeMatching) {
      var i, element, t1, retained = [],
        end = receiver.length;
      for (i = 0; i < end; ++i) {
        element = receiver[i];
        if (!test.call$1(element))
          retained.push(element);
        if (receiver.length !== end)
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      t1 = retained.length;
      if (t1 === end)
        return;
      this.set$length(receiver, t1);
      for (i = 0; i < retained.length; ++i)
        receiver[i] = retained[i];
    },
    where$1(receiver, f) {
      return new A.WhereIterable(receiver, f, A._arrayInstanceType(receiver)._eval$1("WhereIterable<1>"));
    },
    expand$1$1(receiver, f, $T) {
      return new A.ExpandIterable(receiver, f, A._arrayInstanceType(receiver)._eval$1("@<1>")._bind$1($T)._eval$1("ExpandIterable<1,2>"));
    },
    addAll$1(receiver, collection) {
      var t1;
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("addAll"));
      if (Array.isArray(collection)) {
        this._addAllFromArray$1(receiver, collection);
        return;
      }
      for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();)
        receiver.push(t1.get$current(t1));
    },
    _addAllFromArray$1(receiver, array) {
      var i,
        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) {
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("clear"));
      receiver.length = 0;
    },
    map$1$1(receiver, f, $T) {
      return new A.MappedListIterable(receiver, f, A._arrayInstanceType(receiver)._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)
        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);
    },
    fold$1$2(receiver, initialValue, combine) {
      var value, i,
        $length = receiver.length;
      for (value = initialValue, i = 0; i < $length; ++i) {
        value = combine.call$2(value, receiver[i]);
        if (receiver.length !== $length)
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return value;
    },
    fold$2(receiver, initialValue, combine) {
      return this.fold$1$2(receiver, initialValue, combine, type$.dynamic);
    },
    elementAt$1(receiver, index) {
      return receiver[index];
    },
    sublist$2(receiver, start, end) {
      var end0 = receiver.length;
      if (start > end0)
        throw A.wrapException(A.RangeError$range(start, 0, end0, "start", null));
      if (end == null)
        end = end0;
      else if (end < start || end > end0)
        throw A.wrapException(A.RangeError$range(end, start, end0, "end", null));
      if (start === end)
        return A._setArrayType([], A._arrayInstanceType(receiver));
      return A._setArrayType(receiver.slice(start, end), A._arrayInstanceType(receiver));
    },
    sublist$1(receiver, start) {
      return this.sublist$2(receiver, start, null);
    },
    getRange$2(receiver, start, end) {
      A.RangeError_checkValidRange(start, end, receiver.length);
      return A.SubListIterable$(receiver, start, end, A._arrayInstanceType(receiver)._precomputed1);
    },
    get$first(receiver) {
      if (receiver.length > 0)
        return receiver[0];
      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());
    },
    get$single(receiver) {
      var t1 = receiver.length;
      if (t1 === 1)
        return receiver[0];
      if (t1 === 0)
        throw A.wrapException(A.IterableElementError_noElement());
      throw A.wrapException(A.IterableElementError_tooMany());
    },
    removeRange$2(receiver, start, end) {
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("removeRange"));
      A.RangeError_checkValidRange(start, end, receiver.length);
      receiver.splice(start, end - start);
    },
    setRange$4(receiver, start, end, iterable, skipCount) {
      var $length, otherList, otherStart, t1, i;
      if (!!receiver.immutable$list)
        A.throwExpression(A.UnsupportedError$("setRange"));
      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);
    },
    fillRange$3(receiver, start, end, fillValue) {
      var i;
      if (!!receiver.immutable$list)
        A.throwExpression(A.UnsupportedError$("fill range"));
      A.RangeError_checkValidRange(start, end, receiver.length);
      A._arrayInstanceType(receiver)._precomputed1._as(fillValue);
      for (i = start; i < end; ++i)
        receiver[i] = fillValue;
    },
    any$1(receiver, test) {
      var i,
        end = receiver.length;
      for (i = 0; i < end; ++i) {
        if (test.call$1(receiver[i]))
          return true;
        if (receiver.length !== end)
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return false;
    },
    every$1(receiver, test) {
      var i,
        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;
    },
    get$reversed(receiver) {
      return new A.ReversedListIterable(receiver, A._arrayInstanceType(receiver)._eval$1("ReversedListIterable<1>"));
    },
    sort$1(receiver, compare) {
      var len, a, b, undefineds, i;
      if (!!receiver.immutable$list)
        A.throwExpression(A.UnsupportedError$("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];
        if (compare.call$2(a, b) > 0) {
          receiver[0] = b;
          receiver[1] = a;
        }
        return;
      }
      if (A._arrayInstanceType(receiver)._precomputed1._is(null)) {
        for (undefineds = 0, i = 0; i < receiver.length; ++i)
          if (receiver[i] === void 0) {
            receiver[i] = null;
            ++undefineds;
          }
      } else
        undefineds = 0;
      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 i0,
        i = receiver.length;
      for (; i0 = i - 1, i > 0; i = i0)
        if (receiver[i0] === null) {
          receiver[i0] = void 0;
          --count;
          if (count === 0)
            break;
        }
    },
    indexOf$1(receiver, element) {
      var i,
        $length = receiver.length;
      if (0 >= $length)
        return -1;
      for (i = 0; i < $length; ++i)
        if (J.$eq$(receiver[i], element))
          return i;
      return -1;
    },
    contains$1(receiver, other) {
      var i;
      for (i = 0; i < receiver.length; ++i)
        if (J.$eq$(receiver[i], other))
          return true;
      return false;
    },
    get$isEmpty(receiver) {
      return receiver.length === 0;
    },
    get$isNotEmpty(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);
    },
    toSet$0(receiver) {
      return A.LinkedHashSet_LinkedHashSet$from(receiver, A._arrayInstanceType(receiver)._precomputed1);
    },
    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;
    },
    set$length(receiver, newLength) {
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("set length"));
      if (newLength < 0)
        throw A.wrapException(A.RangeError$range(newLength, 0, null, "newLength", null));
      if (newLength > receiver.length)
        A._arrayInstanceType(receiver)._precomputed1._as(null);
      receiver.length = newLength;
    },
    $index(receiver, index) {
      if (!(index >= 0 && index < receiver.length))
        throw A.wrapException(A.diagnoseIndexError(receiver, index));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      if (!!receiver.immutable$list)
        A.throwExpression(A.UnsupportedError$("indexed set"));
      if (!(index >= 0 && index < receiver.length))
        throw A.wrapException(A.diagnoseIndexError(receiver, index));
      receiver[index] = value;
    },
    $add(receiver, other) {
      var t1 = A.List_List$of(receiver, true, A._arrayInstanceType(receiver)._precomputed1);
      this.addAll$1(t1, other);
      return t1;
    },
    indexWhere$1(receiver, test) {
      var i;
      if (0 >= receiver.length)
        return -1;
      for (i = 0; i < receiver.length; ++i)
        if (test.call$1(receiver[i]))
          return i;
      return -1;
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  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)
        throw A.wrapException(A.throwConcurrentModificationError(t1));
      t2 = _this._index;
      if (t2 >= $length) {
        _this._current = null;
        return false;
      }
      _this._current = t1[t2];
      _this._index = t2 + 1;
      return true;
    }
  };
  J.JSNumber.prototype = {
    compareTo$1(receiver, b) {
      var bIsNegative;
      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;
    },
    get$sign(receiver) {
      var t1;
      if (receiver > 0)
        t1 = 1;
      else
        t1 = receiver < 0 ? -1 : receiver;
      return t1;
    },
    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()"));
    },
    floor$0(receiver) {
      var truncated, d;
      if (receiver >= 0) {
        if (receiver <= 2147483647)
          return receiver | 0;
      } else if (receiver >= -2147483648) {
        truncated = receiver | 0;
        return receiver === truncated ? truncated : truncated - 1;
      }
      d = Math.floor(receiver);
      if (isFinite(d))
        return d;
      throw A.wrapException(A.UnsupportedError$("" + receiver + ".floor()"));
    },
    round$0(receiver) {
      if (receiver > 0) {
        if (receiver !== 1 / 0)
          return Math.round(receiver);
      } else if (receiver > -1 / 0)
        return 0 - Math.round(0 - receiver);
      throw A.wrapException(A.UnsupportedError$("" + receiver + ".round()"));
    },
    clamp$2(receiver, lowerLimit, upperLimit) {
      if (B.JSInt_methods.compareTo$1(lowerLimit, upperLimit) > 0)
        throw A.wrapException(A.argumentErrorValue(lowerLimit));
      if (this.compareTo$1(receiver, lowerLimit) < 0)
        return lowerLimit;
      if (this.compareTo$1(receiver, upperLimit) > 0)
        return upperLimit;
      return receiver;
    },
    toRadixString$1(receiver, radix) {
      var result, match, exponent, t1;
      if (radix < 2 || radix > 36)
        throw A.wrapException(A.RangeError$range(radix, 2, 36, "radix", null));
      result = receiver.toString(radix);
      if (result.charCodeAt(result.length - 1) !== 41)
        return result;
      match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result);
      if (match == null)
        A.throwExpression(A.UnsupportedError$("Unexpected toString result: " + result));
      result = match[1];
      exponent = +match[3];
      t1 = match[2];
      if (t1 != null) {
        result += t1;
        exponent -= t1.length;
      }
      return result + B.JSString_methods.$mul("0", exponent);
    },
    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;
      if (other < 0)
        return result - other;
      else
        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));
    },
    _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$sign(receiver) {
      var t1;
      if (receiver > 0)
        t1 = 1;
      else
        t1 = receiver < 0 ? -1 : receiver;
      return t1;
    },
    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, i, _null = null;
      if (start < 0 || start > string.length)
        throw A.wrapException(A.RangeError$range(start, 0, string.length, _null, _null));
      t1 = receiver.length;
      if (start + t1 > string.length)
        return _null;
      for (i = 0; i < t1; ++i)
        if (string.charCodeAt(start + i) !== receiver.charCodeAt(i))
          return _null;
      return new A.StringMatch(start, receiver);
    },
    $add(receiver, other) {
      return receiver + other;
    },
    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) {
      if (typeof pattern == "string")
        return A._setArrayType(receiver.split(pattern), type$.JSArray_String);
      else if (pattern instanceof A.JSSyntaxRegExp && pattern.get$_nativeAnchoredVersion().exec("").length - 2 === 0)
        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(t1);
        matchStart = match.get$start(match);
        matchEnd = match.get$end(match);
        $length = matchEnd - matchStart;
        if ($length === 0 && start === matchStart)
          continue;
        result.push(this.substring$2(receiver, start, matchStart));
        start = matchEnd;
      }
      if (start < receiver.length || $length > 0)
        result.push(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 (result.charCodeAt(0) === 133) {
        startIndex = J.JSString__skipLeadingWhitespace(result, 1);
        if (startIndex === endIndex)
          return "";
      } else
        startIndex = 0;
      t1 = endIndex - 1;
      endIndex0 = result.charCodeAt(t1) === 133 ? J.JSString__skipTrailingWhitespace(result, t1) : endIndex;
      if (startIndex === 0 && endIndex0 === endIndex)
        return result;
      return result.substring(startIndex, endIndex0);
    },
    trimLeft$0(receiver) {
      var result = receiver.trimStart();
      if (result.length === 0)
        return result;
      if (result.charCodeAt(0) !== 133)
        return result;
      return result.substring(J.JSString__skipLeadingWhitespace(result, 1));
    },
    trimRight$0(receiver) {
      var t1,
        result = receiver.trimEnd(),
        endIndex = result.length;
      if (endIndex === 0)
        return result;
      t1 = endIndex - 1;
      if (result.charCodeAt(t1) !== 133)
        return result;
      return result.substring(0, J.JSString__skipTrailingWhitespace(result, t1));
    },
    $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 = ""; true;) {
        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, i;
      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));
      if (typeof pattern == "string") {
        t1 = pattern.length;
        t2 = receiver.length;
        if (start + t1 > t2)
          start = t2 - t1;
        return receiver.lastIndexOf(pattern, start);
      }
      for (t1 = J.getInterceptor$s(pattern), i = start; i >= 0; --i)
        if (t1.matchAsPrefix$2(pattern, receiver, i) != null)
          return i;
      return -1;
    },
    lastIndexOf$1(receiver, pattern) {
      return this.lastIndexOf$2(receiver, pattern, null);
    },
    contains$2(receiver, other, startIndex) {
      var t1 = receiver.length;
      if (startIndex > t1)
        throw A.wrapException(A.RangeError$range(startIndex, 0, t1, null, null));
      return A.stringContainsUnchecked(receiver, other, startIndex);
    },
    contains$1(receiver, other) {
      return this.contains$2(receiver, other, 0);
    },
    compareTo$1(receiver, other) {
      var t1;
      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;
    },
    $isTrustedGetRuntimeType: 1,
    $isComparable: 1,
    $isString: 1
  };
  A._CastIterableBase.prototype = {
    get$iterator(_) {
      var t1 = A._instanceType(this);
      return new A.CastIterator(J.get$iterator$ax(this.get$_source()), t1._eval$1("@<1>")._bind$1(t1._rest[1])._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());
    },
    get$isNotEmpty(_) {
      return J.get$isNotEmpty$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()));
    },
    get$single(_) {
      return A._instanceType(this)._rest[1]._as(J.get$single$ax(this.get$_source()));
    },
    contains$1(_, other) {
      return J.contains$1$asx(this.get$_source(), other);
    },
    toString$0(_) {
      return J.toString$0$(this.get$_source());
    }
  };
  A.CastIterator.prototype = {
    moveNext$0() {
      return this._source.moveNext$0();
    },
    get$current(_) {
      var t1 = this._source;
      return this.$ti._rest[1]._as(t1.get$current(t1));
    }
  };
  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) {
      J.$indexSet$ax(this._source, index, this.$ti._precomputed1._as(value));
    },
    set$length(_, $length) {
      J.set$length$asx(this._source, $length);
    },
    add$1(_, value) {
      J.add$1$ax(this._source, this.$ti._precomputed1._as(value));
    },
    addAll$1(_, values) {
      var t1 = this.$ti;
      J.addAll$1$ax(this._source, A.CastIterable_CastIterable(values, t1._rest[1], t1._precomputed1));
    },
    sort$1(_, compare) {
      var t1 = compare == null ? null : new A._CastListBase_sort_closure(this, compare);
      J.sort$1$ax(this._source, t1);
    },
    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(iterable, t1._rest[1], t1._precomputed1), skipCount);
    },
    removeRange$2(_, start, end) {
      J.removeRange$2$ax(this._source, start, end);
    },
    fillRange$3(_, start, end, fillValue) {
      J.fillRange$3$ax(this._source, start, end, this.$ti._precomputed1._as(fillValue));
    },
    $isEfficientLengthIterable: 1,
    $isList: 1
  };
  A._CastListBase_sort_closure.prototype = {
    call$2(v1, v2) {
      var t1 = this.$this.$ti._rest[1];
      return this.compare.call$2(t1._as(v1), t1._as(v2));
    },
    $signature() {
      return this.$this.$ti._eval$1("int(1,1)");
    }
  };
  A.CastList.prototype = {
    cast$1$0(_, $R) {
      return new A.CastList(this._source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>"));
    },
    get$_source() {
      return this._source;
    }
  };
  A.CastSet.prototype = {
    add$1(_, value) {
      return this._source.add$1(0, this.$ti._precomputed1._as(value));
    },
    addAll$1(_, elements) {
      var t1 = this.$ti;
      this._source.addAll$1(0, A.CastIterable_CastIterable(elements, t1._rest[1], t1._precomputed1));
    },
    difference$1(other) {
      var t1, _this = this;
      if (_this._emptySet != null)
        return _this._conditionalAdd$2(other, false);
      t1 = _this.$ti;
      return new A.CastSet(_this._source.difference$1(other), null, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastSet<1,2>"));
    },
    _conditionalAdd$2(other, otherContains) {
      var t3, castElement,
        emptySet = this._emptySet,
        t1 = this.$ti,
        t2 = t1._rest[1],
        result = emptySet == null ? A.LinkedHashSet_LinkedHashSet(t2) : emptySet.call$1$0(t2);
      for (t2 = this._source, t2 = t2.get$iterator(t2), t3 = other._source, t1 = t1._rest[1]; t2.moveNext$0();) {
        castElement = t1._as(t2.get$current(t2));
        if (otherContains === t3.contains$1(0, castElement))
          result.add$1(0, castElement);
      }
      return result;
    },
    toSet$0(_) {
      var emptySet = this._emptySet,
        t1 = this.$ti._rest[1],
        result = emptySet == null ? A.LinkedHashSet_LinkedHashSet(t1) : emptySet.call$1$0(t1);
      result.addAll$1(0, this);
      return result;
    },
    $isEfficientLengthIterable: 1,
    $isSet: 1,
    get$_source() {
      return this._source;
    }
  };
  A.CastMap.prototype = {
    cast$2$0(_, RK, RV) {
      var t1 = this.$ti;
      return new A.CastMap(this._source, t1._eval$1("@<1>")._bind$1(t1._rest[1])._bind$1(RK)._bind$1(RV)._eval$1("CastMap<1,2,3,4>"));
    },
    containsKey$1(key) {
      return this._source.containsKey$1(key);
    },
    $index(_, key) {
      return this.$ti._eval$1("4?")._as(this._source.$index(0, key));
    },
    $indexSet(_, key, value) {
      var t1 = this.$ti;
      this._source.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value));
    },
    addAll$1(_, other) {
      var t1 = this.$ti;
      this._source.addAll$1(0, new A.CastMap(other, t1._eval$1("@<3>")._bind$1(t1._rest[3])._bind$1(t1._precomputed1)._bind$1(t1._rest[1])._eval$1("CastMap<1,2,3,4>")));
    },
    remove$1(_, key) {
      return this.$ti._eval$1("4?")._as(this._source.remove$1(0, key));
    },
    forEach$1(_, f) {
      this._source.forEach$1(0, new A.CastMap_forEach_closure(this, f));
    },
    get$keys(_) {
      var t1 = this._source,
        t2 = this.$ti;
      return A.CastIterable_CastIterable(t1.get$keys(t1), t2._precomputed1, t2._rest[2]);
    },
    get$values(_) {
      var t1 = this._source,
        t2 = this.$ti;
      return A.CastIterable_CastIterable(t1.get$values(t1), t2._rest[1], t2._rest[3]);
    },
    get$length(_) {
      var t1 = this._source;
      return t1.get$length(t1);
    },
    get$isEmpty(_) {
      var t1 = this._source;
      return t1.get$isEmpty(t1);
    },
    get$isNotEmpty(_) {
      var t1 = this._source;
      return t1.get$isNotEmpty(t1);
    },
    get$entries(_) {
      var t1 = this._source;
      return t1.get$entries(t1).map$1$1(0, new A.CastMap_entries_closure(this), this.$ti._eval$1("MapEntry<3,4>"));
    }
  };
  A.CastMap_forEach_closure.prototype = {
    call$2(key, value) {
      var t1 = this.$this.$ti;
      this.f.call$2(t1._rest[2]._as(key), t1._rest[3]._as(value));
    },
    $signature() {
      return this.$this.$ti._eval$1("~(1,2)");
    }
  };
  A.CastMap_entries_closure.prototype = {
    call$1(e) {
      var t1 = this.$this.$ti,
        t2 = t1._rest[3];
      return new A.MapEntry(t1._rest[2]._as(e.key), t2._as(e.value), t1._eval$1("@<3>")._bind$1(t2)._eval$1("MapEntry<1,2>"));
    },
    $signature() {
      return this.$this.$ti._eval$1("MapEntry<3,4>(MapEntry<1,2>)");
    }
  };
  A.LateError.prototype = {
    toString$0(_) {
      return "LateInitializationError: " + this._message;
    }
  };
  A.ReachabilityError.prototype = {
    toString$0(_) {
      return "ReachabilityError: " + this._message;
    }
  };
  A.CodeUnits.prototype = {
    get$length(_) {
      return this._string.length;
    },
    $index(_, i) {
      return this._string.charCodeAt(i);
    }
  };
  A.nullFuture_closure.prototype = {
    call$0() {
      return A.Future_Future$value(null, type$.Null);
    },
    $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);
    },
    get$single(_) {
      var _this = this;
      if (_this.get$length(_this) === 0)
        throw A.wrapException(A.IterableElementError_noElement());
      if (_this.get$length(_this) > 1)
        throw A.wrapException(A.IterableElementError_tooMany());
      return _this.elementAt$1(0, 0);
    },
    contains$1(_, element) {
      var i, _this = this,
        $length = _this.get$length(_this);
      for (i = 0; i < $length; ++i) {
        if (J.$eq$(_this.elementAt$1(0, i), element))
          return true;
        if ($length !== _this.get$length(_this))
          throw A.wrapException(A.ConcurrentModificationError$(_this));
      }
      return false;
    },
    every$1(_, test) {
      var i, _this = this,
        $length = _this.get$length(_this);
      for (i = 0; i < $length; ++i) {
        if (!test.call$1(_this.elementAt$1(0, i)))
          return false;
        if ($length !== _this.get$length(_this))
          throw A.wrapException(A.ConcurrentModificationError$(_this));
      }
      return true;
    },
    any$1(_, test) {
      var i, _this = this,
        $length = _this.get$length(_this);
      for (i = 0; i < $length; ++i) {
        if (test.call$1(_this.elementAt$1(0, i)))
          return true;
        if ($length !== _this.get$length(_this))
          throw A.wrapException(A.ConcurrentModificationError$(_this));
      }
      return false;
    },
    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, "");
    },
    where$1(_, test) {
      return this.super$Iterable$where(0, test);
    },
    map$1$1(_, toElement, $T) {
      return new A.MappedListIterable(this, toElement, A._instanceType(this)._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
    },
    reduce$1(_, combine) {
      var value, i, _this = this,
        $length = _this.get$length(_this);
      if ($length === 0)
        throw A.wrapException(A.IterableElementError_noElement());
      value = _this.elementAt$1(0, 0);
      for (i = 1; 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;
    },
    fold$1$2(_, initialValue, combine) {
      var value, i, _this = this,
        $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;
    },
    fold$2(_, initialValue, combine) {
      return this.fold$1$2(0, initialValue, combine, type$.dynamic);
    },
    skip$1(_, count) {
      return A.SubListIterable$(this, count, null, A._instanceType(this)._eval$1("ListIterable.E"));
    },
    take$1(_, count) {
      return A.SubListIterable$(this, 0, A.checkNotNullable(count, "count", type$.int), A._instanceType(this)._eval$1("ListIterable.E"));
    },
    toList$1$growable(_, growable) {
      return A.List_List$of(this, true, A._instanceType(this)._eval$1("ListIterable.E"));
    },
    toList$0(_) {
      return this.toList$1$growable(0, true);
    },
    toSet$0(_) {
      var i, _this = this,
        result = A.LinkedHashSet_LinkedHashSet(A._instanceType(_this)._eval$1("ListIterable.E"));
      for (i = 0; i < _this.get$length(_this); ++i)
        result.add$1(0, _this.elementAt$1(0, i));
      return result;
    }
  };
  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 = _this.$ti._precomputed1;
        return growable ? J.JSArray_JSArray$growable(0, t1) : J.JSArray_JSArray$fixed(0, t1);
      }
      result = A.List_List$filled($length, t2.elementAt$1(t1, start), growable, _this.$ti._precomputed1);
      for (i = 1; i < $length; ++i) {
        result[i] = t2.elementAt$1(t1, start + i);
        if (t2.get$length(t1) < end)
          throw A.wrapException(A.ConcurrentModificationError$(_this));
      }
      return result;
    },
    toList$0(_) {
      return this.toList$1$growable(0, true);
    }
  };
  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;
    }
  };
  A.MappedIterable.prototype = {
    get$iterator(_) {
      var t1 = A._instanceType(this);
      return new A.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("MappedIterator<1,2>"));
    },
    get$length(_) {
      return J.get$length$asx(this.__internal$_iterable);
    },
    get$isEmpty(_) {
      return J.get$isEmpty$asx(this.__internal$_iterable);
    },
    get$first(_) {
      return this._f.call$1(J.get$first$ax(this.__internal$_iterable));
    },
    get$last(_) {
      return this._f.call$1(J.get$last$ax(this.__internal$_iterable));
    },
    get$single(_) {
      return this._f.call$1(J.get$single$ax(this.__internal$_iterable));
    },
    elementAt$1(_, index) {
      return this._f.call$1(J.elementAt$1$ax(this.__internal$_iterable, 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(t1));
        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;
    }
  };
  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);
    },
    map$1$1(_, toElement, $T) {
      return new A.MappedIterable(this, toElement, this.$ti._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(t1)))
          return true;
      return false;
    },
    get$current(_) {
      var t1 = this._iterator;
      return t1.get$current(t1);
    }
  };
  A.ExpandIterable.prototype = {
    get$iterator(_) {
      var t1 = this.$ti;
      return new A.ExpandIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, B.C_EmptyIterator, t1._eval$1("@<1>")._bind$1(t1._rest[1])._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(t2)));
          _this._currentExpansion = t1;
        } else
          return false;
      }
      t1 = _this._currentExpansion;
      _this.__internal$_current = t1.get$current(t1);
      return true;
    }
  };
  A.TakeIterable.prototype = {
    get$iterator(_) {
      return new A.TakeIterator(J.get$iterator$ax(this.__internal$_iterable), this._takeCount, A._instanceType(this)._eval$1("TakeIterator<1>"));
    }
  };
  A.EfficientLengthTakeIterable.prototype = {
    get$length(_) {
      var iterableLength = J.get$length$asx(this.__internal$_iterable),
        t1 = this._takeCount;
      if (iterableLength > t1)
        return t1;
      return iterableLength;
    },
    $isEfficientLengthIterable: 1
  };
  A.TakeIterator.prototype = {
    moveNext$0() {
      if (--this._remaining >= 0)
        return this._iterator.moveNext$0();
      this._remaining = -1;
      return false;
    },
    get$current(_) {
      var t1;
      if (this._remaining < 0) {
        this.$ti._precomputed1._as(null);
        return null;
      }
      t1 = this._iterator;
      return t1.get$current(t1);
    }
  };
  A.SkipIterable.prototype = {
    skip$1(_, count) {
      A.ArgumentError_checkNotNull(count, "count");
      A.RangeError_checkNotNegative(count, "count");
      return new A.SkipIterable(this.__internal$_iterable, this._skipCount + count, A._instanceType(this)._eval$1("SkipIterable<1>"));
    },
    get$iterator(_) {
      return new A.SkipIterator(J.get$iterator$ax(this.__internal$_iterable), this._skipCount);
    }
  };
  A.EfficientLengthSkipIterable.prototype = {
    get$length(_) {
      var $length = J.get$length$asx(this.__internal$_iterable) - this._skipCount;
      if ($length >= 0)
        return $length;
      return 0;
    },
    skip$1(_, count) {
      A.ArgumentError_checkNotNull(count, "count");
      A.RangeError_checkNotNegative(count, "count");
      return new A.EfficientLengthSkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti);
    },
    $isEfficientLengthIterable: 1
  };
  A.SkipIterator.prototype = {
    moveNext$0() {
      var t1, i;
      for (t1 = this._iterator, i = 0; i < this._skipCount; ++i)
        t1.moveNext$0();
      this._skipCount = 0;
      return t1.moveNext$0();
    },
    get$current(_) {
      var t1 = this._iterator;
      return t1.get$current(t1);
    }
  };
  A.SkipWhileIterable.prototype = {
    get$iterator(_) {
      return new A.SkipWhileIterator(J.get$iterator$ax(this.__internal$_iterable), this._f);
    }
  };
  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(t1)))
            return true;
      }
      return _this._iterator.moveNext$0();
    },
    get$current(_) {
      var t1 = this._iterator;
      return t1.get$current(t1);
    }
  };
  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());
    },
    get$single(_) {
      throw A.wrapException(A.IterableElementError_noElement());
    },
    elementAt$1(_, index) {
      throw A.wrapException(A.RangeError$range(index, 0, 0, "index", null));
    },
    contains$1(_, element) {
      return false;
    },
    every$1(_, test) {
      return true;
    },
    any$1(_, test) {
      return false;
    },
    join$1(_, separator) {
      return "";
    },
    where$1(_, test) {
      return this;
    },
    map$1$1(_, toElement, $T) {
      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;
    },
    toList$1$growable(_, growable) {
      var t1 = J.JSArray_JSArray$growable(0, this.$ti._precomputed1);
      return t1;
    },
    toList$0(_) {
      return this.toList$1$growable(0, true);
    },
    toSet$0(_) {
      return A.LinkedHashSet_LinkedHashSet(this.$ti._precomputed1);
    }
  };
  A.EmptyIterator.prototype = {
    moveNext$0() {
      return false;
    },
    get$current(_) {
      throw A.wrapException(A.IterableElementError_noElement());
    }
  };
  A.FollowedByIterable.prototype = {
    get$iterator(_) {
      return new A.FollowedByIterator(J.get$iterator$ax(this.__internal$_first), this._second);
    },
    get$length(_) {
      var t1 = this._second;
      return J.get$length$asx(this.__internal$_first) + t1.get$length(t1);
    },
    get$isEmpty(_) {
      var t1;
      if (J.get$isEmpty$asx(this.__internal$_first)) {
        t1 = this._second;
        t1 = t1.get$isEmpty(t1);
      } else
        t1 = false;
      return t1;
    },
    get$isNotEmpty(_) {
      var t1;
      if (!J.get$isNotEmpty$asx(this.__internal$_first)) {
        t1 = this._second;
        t1 = t1.get$isNotEmpty(t1);
      } else
        t1 = true;
      return t1;
    },
    contains$1(_, value) {
      var t1;
      if (!J.contains$1$asx(this.__internal$_first, value)) {
        t1 = this._second;
        t1 = t1.contains$1(t1, value);
      } else
        t1 = true;
      return t1;
    },
    get$first(_) {
      var t1,
        iterator = J.get$iterator$ax(this.__internal$_first);
      if (iterator.moveNext$0())
        return iterator.get$current(iterator);
      t1 = this._second;
      return t1.get$first(t1);
    },
    get$last(_) {
      var last,
        t1 = this._second,
        iterator = t1.get$iterator(t1);
      if (iterator.moveNext$0()) {
        last = iterator.get$current(iterator);
        for (; iterator.moveNext$0();)
          last = iterator.get$current(iterator);
        return last;
      }
      return J.get$last$ax(this.__internal$_first);
    }
  };
  A.EfficientLengthFollowedByIterable.prototype = {
    elementAt$1(_, index) {
      var t1 = this.__internal$_first,
        t2 = J.getInterceptor$asx(t1),
        firstLength = t2.get$length(t1);
      if (index < firstLength)
        return t2.elementAt$1(t1, index);
      t1 = this._second;
      return t1.elementAt$1(t1, index - firstLength);
    },
    get$first(_) {
      var t1 = this.__internal$_first,
        t2 = J.getInterceptor$asx(t1);
      if (t2.get$isNotEmpty(t1))
        return t2.get$first(t1);
      t1 = this._second;
      return t1.get$first(t1);
    },
    get$last(_) {
      var t1 = this._second;
      if (t1.get$isNotEmpty(t1))
        return t1.get$last(t1);
      return J.get$last$ax(this.__internal$_first);
    },
    $isEfficientLengthIterable: 1
  };
  A.FollowedByIterator.prototype = {
    moveNext$0() {
      var t1, _this = this;
      if (_this._currentIterator.moveNext$0())
        return true;
      t1 = _this._nextIterable;
      if (t1 != null) {
        t1 = t1.get$iterator(t1);
        _this._currentIterator = t1;
        _this._nextIterable = null;
        return t1.moveNext$0();
      }
      return false;
    },
    get$current(_) {
      var t1 = this._currentIterator;
      return t1.get$current(t1);
    }
  };
  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(t1)))
          return true;
      return false;
    },
    get$current(_) {
      var t1 = this._source;
      return this.$ti._precomputed1._as(t1.get$current(t1));
    }
  };
  A.FixedLengthListMixin.prototype = {
    set$length(receiver, newLength) {
      throw A.wrapException(A.UnsupportedError$("Cannot change the length of a fixed-length list"));
    },
    add$1(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to a fixed-length list"));
    },
    addAll$1(receiver, iterable) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to a fixed-length list"));
    },
    removeRange$2(receiver, start, end) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from a fixed-length list"));
    }
  };
  A.UnmodifiableListMixin.prototype = {
    $indexSet(_, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
    },
    set$length(_, newLength) {
      throw A.wrapException(A.UnsupportedError$("Cannot change the length of an unmodifiable list"));
    },
    add$1(_, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to an unmodifiable list"));
    },
    addAll$1(_, iterable) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to an unmodifiable list"));
    },
    sort$1(_, compare) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
    },
    setRange$4(_, start, end, iterable, skipCount) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
    },
    removeRange$2(_, start, end) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from an unmodifiable list"));
    },
    fillRange$3(_, start, end, fillValue) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
    }
  };
  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;
    },
    $isSymbol0: 1
  };
  A.__CastListBase__CastIterableBase_ListMixin.prototype = {};
  A._Record_1.prototype = {$recipe: "+(1)", $shape: 1};
  A._Record_2.prototype = {$recipe: "+(1,2)", $shape: 2};
  A._Record_2_forImport.prototype = {$recipe: "+forImport(1,2)", $shape: 3};
  A._Record_2_imports_modules.prototype = {$recipe: "+imports,modules(1,2)", $shape: 5};
  A._Record_2_loadedUrls_stylesheet.prototype = {$recipe: "+loadedUrls,stylesheet(1,2)", $shape: 6};
  A._Record_2_sourceMap.prototype = {$recipe: "+sourceMap(1,2)", $shape: 4};
  A._Record_3.prototype = {$recipe: "+(1,2,3)", $shape: 7};
  A._Record_3_forImport.prototype = {$recipe: "+forImport(1,2,3)", $shape: 8};
  A._Record_3_importer_isDependency.prototype = {$recipe: "+importer,isDependency(1,2,3)", $shape: 10};
  A._Record_3_originalUrl.prototype = {$recipe: "+originalUrl(1,2,3)", $shape: 9};
  A._Record_5_named_namedNodes_positional_positionalNodes_separator.prototype = {$recipe: "+named,namedNodes,positional,positionalNodes,separator(1,2,3,4,5)", $shape: 12};
  A.ConstantMapView.prototype = {};
  A.ConstantMap.prototype = {
    cast$2$0(_, RK, RV) {
      var t1 = A._instanceType(this);
      return A.Map_castFrom(this, t1._precomputed1, t1._rest[1], RK, RV);
    },
    get$isEmpty(_) {
      return this.get$length(this) === 0;
    },
    get$isNotEmpty(_) {
      return this.get$length(this) !== 0;
    },
    toString$0(_) {
      return A.MapBase_mapToString(this);
    },
    $indexSet(_, key, value) {
      A.ConstantMap__throwUnmodifiable();
    },
    remove$1(_, key) {
      A.ConstantMap__throwUnmodifiable();
    },
    addAll$1(_, other) {
      A.ConstantMap__throwUnmodifiable();
    },
    get$entries(_) {
      return new A._SyncStarIterable(this.entries$body$ConstantMap(0), A._instanceType(this)._eval$1("_SyncStarIterable>"));
    },
    entries$body$ConstantMap($async$_) {
      var $async$self = this;
      return function() {
        var _ = $async$_;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, key;
        return function $async$get$entries($async$iterator, $async$errorCode, $async$result) {
          if ($async$errorCode === 1) {
            $async$currentError = $async$result;
            $async$goto = $async$handler;
          }
          while (true)
            switch ($async$goto) {
              case 0:
                // Function start
                t1 = $async$self.get$keys($async$self), t1 = t1.get$iterator(t1), t2 = A._instanceType($async$self), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("MapEntry<1,2>");
              case 2:
                // for condition
                if (!t1.moveNext$0()) {
                  // goto after for
                  $async$goto = 3;
                  break;
                }
                key = t1.get$current(t1);
                $async$goto = 4;
                return $async$iterator._async$_current = new A.MapEntry(key, $async$self.$index(0, key), 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$currentError, 3;
            }
        };
      };
    },
    $isMap: 1
  };
  A.ConstantStringMap.prototype = {
    get$length(_) {
      return this._values.length;
    },
    get$_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 t1, i,
        keys = this.get$_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$_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$isNotEmpty(_) {
      return 0 !== this._elements.length;
    },
    get$iterator(_) {
      var t1 = this._elements;
      return new A._KeysOrValuesOrElementsIterator(t1, t1.length, this.$ti._eval$1("_KeysOrValuesOrElementsIterator<1>"));
    }
  };
  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;
    }
  };
  A.ConstantSet.prototype = {
    add$1(_, value) {
      A.ConstantSet__throwUnmodifiable();
    },
    addAll$1(_, elements) {
      A.ConstantSet__throwUnmodifiable();
    },
    remove$1(_, value) {
      A.ConstantSet__throwUnmodifiable();
    }
  };
  A.ConstantStringSet.prototype = {
    get$length(_) {
      return this.__js_helper$_length;
    },
    get$isEmpty(_) {
      return this.__js_helper$_length === 0;
    },
    get$isNotEmpty(_) {
      return this.__js_helper$_length !== 0;
    },
    get$iterator(_) {
      var t1, _this = this,
        keys = _this.$keys;
      if (keys == null) {
        keys = Object.keys(_this._jsIndex);
        _this.$keys = keys;
      }
      t1 = keys;
      return new A._KeysOrValuesOrElementsIterator(t1, t1.length, _this.$ti._eval$1("_KeysOrValuesOrElementsIterator<1>"));
    },
    contains$1(_, key) {
      if (typeof key != "string")
        return false;
      if ("__proto__" === key)
        return false;
      return this._jsIndex.hasOwnProperty(key);
    },
    toSet$0(_) {
      return A.LinkedHashSet_LinkedHashSet$of(this, this.$ti._precomputed1);
    }
  };
  A.GeneralConstantSet.prototype = {
    get$length(_) {
      return this._elements.length;
    },
    get$isEmpty(_) {
      return this._elements.length === 0;
    },
    get$isNotEmpty(_) {
      return this._elements.length !== 0;
    },
    get$iterator(_) {
      var t1 = this._elements;
      return new A._KeysOrValuesOrElementsIterator(t1, t1.length, this.$ti._eval$1("_KeysOrValuesOrElementsIterator<1>"));
    },
    _getMap$0() {
      var t1, t2, _i, key, _this = this,
        backingMap = _this.$map;
      if (backingMap == null) {
        t1 = _this.$ti;
        backingMap = new A.JsConstantLinkedHashMap(t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("JsConstantLinkedHashMap<1,2>"));
        for (t1 = _this._elements, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          key = t1[_i];
          backingMap.$indexSet(0, key, key);
        }
        _this.$map = backingMap;
      }
      return backingMap;
    },
    contains$1(_, key) {
      return this._getMap$0().containsKey$1(key);
    },
    toSet$0(_) {
      return A.LinkedHashSet_LinkedHashSet$of(this, this.$ti._precomputed1);
    }
  };
  A.Instantiation.prototype = {
    Instantiation$1(_genericClosure) {
      if (false)
        A.instantiatedGenericFunctionType(0, 0);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Instantiation && 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(this.get$_types(), ", ");
      return this._genericClosure.toString$0(0) + " with " + ("<" + t1 + ">");
    }
  };
  A.Instantiation1.prototype = {
    get$_types() {
      return [A.createRuntimeType(this.$ti._precomputed1)];
    },
    call$0() {
      return this._genericClosure.call$1$0(this.$ti._rest[0]);
    },
    call$2(a0, a1) {
      return this._genericClosure.call$1$2(a0, a1, this.$ti._rest[0]);
    },
    call$3(a0, a1, a2) {
      return this._genericClosure.call$1$3(a0, a1, a2, 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.JSInvocationMirror.prototype = {
    get$memberName() {
      var t1 = this.__js_helper$_memberName;
      if (t1 instanceof A.Symbol)
        return t1;
      return this.__js_helper$_memberName = new A.Symbol(t1);
    },
    get$positionalArguments() {
      var t1, t2, argumentCount, list, index, _this = this;
      if (_this.__js_helper$_kind === 1)
        return B.List_empty6;
      t1 = _this._arguments;
      t2 = J.getInterceptor$asx(t1);
      argumentCount = t2.get$length(t1) - J.get$length$asx(_this._namedArgumentNames) - _this._typeArgumentCount;
      if (argumentCount === 0)
        return B.List_empty6;
      list = [];
      for (index = 0; index < argumentCount; ++index)
        list.push(t2.$index(t1, index));
      return J.JSArray_markUnmodifiableList(list);
    },
    get$namedArguments() {
      var t1, t2, namedArgumentCount, t3, t4, namedArgumentsStartIndex, map, i, _this = this;
      if (_this.__js_helper$_kind !== 0)
        return B.Map_empty3;
      t1 = _this._namedArgumentNames;
      t2 = J.getInterceptor$asx(t1);
      namedArgumentCount = t2.get$length(t1);
      t3 = _this._arguments;
      t4 = J.getInterceptor$asx(t3);
      namedArgumentsStartIndex = t4.get$length(t3) - namedArgumentCount - _this._typeArgumentCount;
      if (namedArgumentCount === 0)
        return B.Map_empty3;
      map = new A.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic);
      for (i = 0; i < namedArgumentCount; ++i)
        map.$indexSet(0, new A.Symbol(t2.$index(t1, i)), t4.$index(t3, namedArgumentsStartIndex + i));
      return new A.ConstantMapView(map, type$.ConstantMapView_Symbol_dynamic);
    }
  };
  A.Primitives_functionNoSuchMethod_closure.prototype = {
    call$2($name, argument) {
      var t1 = this._box_0;
      t1.names = t1.names + "$" + $name;
      this.namedArgumentList.push($name);
      this.$arguments.push(argument);
      ++t1.argumentCount;
    },
    $signature: 114
  };
  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._CyclicInitializationError.prototype = {
    toString$0(_) {
      return "Reading static variable '" + this.variableName + "' during its initialization";
    }
  };
  A.RuntimeError.prototype = {
    toString$0(_) {
      return "RuntimeError: " + this.message;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A._Required.prototype = {};
  A.JsLinkedHashMap.prototype = {
    get$length(_) {
      return this.__js_helper$_length;
    },
    get$isEmpty(_) {
      return this.__js_helper$_length === 0;
    },
    get$isNotEmpty(_) {
      return this.__js_helper$_length !== 0;
    },
    get$keys(_) {
      return new A.LinkedHashMapKeyIterable(this, A._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>"));
    },
    get$values(_) {
      var t1 = A._instanceType(this);
      return A.MappedIterable_MappedIterable(new A.LinkedHashMapKeyIterable(this, t1._eval$1("LinkedHashMapKeyIterable<1>")), new A.JsLinkedHashMap_values_closure(this), t1._precomputed1, t1._rest[1]);
    },
    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) {
      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;
      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 hash, bucket, index, _this = this,
        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)
        rest[hash] = [_this.__js_helper$_newLinkedCell$2(key, value)];
      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 t1, value, _this = this;
      if (_this.containsKey$1(key)) {
        t1 = _this.$index(0, key);
        return t1 == null ? A._instanceType(_this)._rest[1]._as(t1) : t1;
      }
      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 _this = this,
        cell = _this.__js_helper$_first,
        modifications = _this.__js_helper$_modifications;
      for (; 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 = 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 t1, _this = this,
        cell = new A.LinkedHashMapCell(key, 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)
        _this.__js_helper$_first = next;
      else
        previous.__js_helper$_next = next;
      if (next == null)
        _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);
      table[""] = table;
      delete table[""];
      return table;
    }
  };
  A.JsLinkedHashMap_values_closure.prototype = {
    call$1(each) {
      var t1 = this.$this,
        t2 = t1.$index(0, each);
      return t2 == null ? A._instanceType(t1)._rest[1]._as(t2) : t2;
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("2(1)");
    }
  };
  A.JsLinkedHashMap_addAll_closure.prototype = {
    call$2(key, value) {
      this.$this.$indexSet(0, key, value);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(1,2)");
    }
  };
  A.LinkedHashMapCell.prototype = {};
  A.LinkedHashMapKeyIterable.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,
        t2 = new A.LinkedHashMapKeyIterator(t1, t1.__js_helper$_modifications);
      t2.__js_helper$_cell = t1.__js_helper$_first;
      return t2;
    },
    contains$1(_, element) {
      return this.__js_helper$_map.containsKey$1(element);
    }
  };
  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;
      }
    }
  };
  A.JsIdentityLinkedHashMap.prototype = {
    internalComputeHashCode$1(key) {
      return A.objectHashCode(key) & 1073741823;
    },
    internalFindBucketIndex$2(bucket, key) {
      var $length, i, t1;
      if (bucket == null)
        return -1;
      $length = bucket.length;
      for (i = 0; i < $length; ++i) {
        t1 = bucket[i].hashMapCellKey;
        if (t1 == null ? key == null : t1 === key)
          return i;
      }
      return -1;
    }
  };
  A.JsConstantLinkedHashMap.prototype = {
    internalComputeHashCode$1(key) {
      return A.constantHashCode(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;
    }
  };
  A.initHooks_closure.prototype = {
    call$1(o) {
      return this.getTag(o);
    },
    $signature: 82
  };
  A.initHooks_closure0.prototype = {
    call$2(o, tag) {
      return this.getUnknownTag(o, tag);
    },
    $signature: 397
  };
  A.initHooks_closure1.prototype = {
    call$1(tag) {
      return this.prototypeForTag(tag);
    },
    $signature: 171
  };
  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 = (safe ? "" + "Record " : "") + "(";
      for (t2 = keys.length, separator = "", i = 0; i < t2; ++i, separator = ", ") {
        t1 += separator;
        key = keys[i];
        if (typeof key == "string")
          t1 = t1 + key + ": ";
        value = values[i];
        t1 = safe ? t1 + A.Primitives_safeToString(value) : t1 + A.S(value);
      }
      t1 += ")";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _fieldKeys$0() {
      var t1,
        shapeTag = this.$shape;
      for (; $._Record__computedFieldKeys.length <= shapeTag;)
        $._Record__computedFieldKeys.push(null);
      t1 = $._Record__computedFieldKeys[shapeTag];
      if (t1 == null) {
        t1 = this._computeFieldKeys$0();
        $._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,
        t1 = type$.Object,
        result = J.JSArray_JSArray$allocateGrowable(arity, t1);
      for (i = 0; i < arity; ++i)
        result[i] = i;
      if (joinedNames !== "") {
        names = joinedNames.split(",");
        i = names.length;
        for (last = arity; i > 0;) {
          --last;
          --i;
          result[last] = names[i];
        }
      }
      return A.List_List$unmodifiable(result, t1);
    }
  };
  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._Record1.prototype = {
    _getFieldValues$0() {
      return [this._0];
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A._Record1 && this.$shape === other.$shape && J.$eq$(this._0, other._0);
    },
    get$hashCode(_) {
      return A.Object_hash(this.$shape, this._0, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A._Record3.prototype = {
    _getFieldValues$0() {
      return [this._0, this._1, this._2];
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof A._Record3 && _this.$shape === other.$shape && J.$eq$(_this._0, other._0) && J.$eq$(_this._1, other._1) && J.$eq$(_this._2, other._2);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.$shape, _this._0, _this._1, _this._2);
    }
  };
  A._RecordN.prototype = {
    _getFieldValues$0() {
      return this._values;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A._RecordN && this.$shape === other.$shape && A._RecordN__equalValues(this._values, other._values);
    },
    get$hashCode(_) {
      return A.Object_hash(this.$shape, A.Object_hashAll(this._values), B.C_SentinelValue, 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, true);
    },
    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, true);
    },
    firstMatch$1(string) {
      var m = this._nativeRegExp.exec(string);
      if (m == null)
        return null;
      return new A._MatchImplementation(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();
      regexp.lastIndex = start;
      match = regexp.exec(string);
      if (match == null)
        return null;
      return new A._MatchImplementation(match);
    },
    _execAnchored$2(string, start) {
      var match,
        regexp = this.get$_nativeAnchoredVersion();
      regexp.lastIndex = start;
      match = regexp.exec(string);
      if (match == null)
        return null;
      if (match.pop() != null)
        return null;
      return new A._MatchImplementation(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);
    }
  };
  A._MatchImplementation.prototype = {
    get$start(_) {
      return this._match.index;
    },
    get$end(_) {
      var t1 = this._match;
      return t1.index + t1[0].length;
    },
    $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, _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(0);
          if (match._match.index === nextIndex) {
            if (t3._nativeRegExp.unicode) {
              t1 = _this._nextIndex;
              t3 = t1 + 1;
              if (t3 < t2) {
                t1 = string.charCodeAt(t1);
                if (t1 >= 55296 && t1 <= 56319) {
                  t1 = string.charCodeAt(t3);
                  t1 = t1 >= 56320 && t1 <= 57343;
                } else
                  t1 = false;
              } else
                t1 = false;
            } else
              t1 = false;
            nextIndex = (t1 ? nextIndex + 1 : nextIndex) + 1;
          }
          _this._nextIndex = nextIndex;
          return true;
        }
      }
      _this.__js_helper$_string = _this.__js_helper$_current = null;
      return false;
    }
  };
  A.StringMatch.prototype = {
    get$end(_) {
      return this.start + this.pattern.length;
    },
    $isMatch: 1,
    get$start(receiver) {
      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;
    }
  };
  A._Cell.prototype = {
    readLocal$1$0() {
      var t1 = this.__late_helper$_value;
      if (t1 === this)
        A.throwExpression(new A.LateError("Local '' has not been initialized."));
      return t1;
    },
    readLocal$0() {
      return this.readLocal$1$0(type$.dynamic);
    },
    _readLocal$0() {
      var t1 = this.__late_helper$_value;
      if (t1 === this)
        throw A.wrapException(new A.LateError("Local '' has not been initialized."));
      return t1;
    }
  };
  A.NativeByteBuffer.prototype = {
    get$runtimeType(receiver) {
      return B.Type_ByteBuffer_EOZ;
    },
    $isTrustedGetRuntimeType: 1,
    $isByteBuffer: 1
  };
  A.NativeTypedData.prototype = {
    _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.NativeByteData.prototype = {
    get$runtimeType(receiver) {
      return B.Type_ByteData_mF8;
    },
    $isTrustedGetRuntimeType: 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);
    },
    $isJavaScriptIndexingBehavior: 1
  };
  A.NativeTypedArrayOfDouble.prototype = {
    $index(receiver, index) {
      A._checkValidIndex(index, receiver, receiver.length);
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      A._checkValidIndex(index, receiver, receiver.length);
      receiver[index] = value;
    },
    setRange$4(receiver, start, end, iterable, skipCount) {
      if (type$.NativeTypedArrayOfDouble._is(iterable)) {
        this._setRangeFast$4(receiver, start, end, iterable, skipCount);
        return;
      }
      this.super$ListBase$setRange(receiver, start, end, iterable, skipCount);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.NativeTypedArrayOfInt.prototype = {
    $indexSet(receiver, index, value) {
      A._checkValidIndex(index, receiver, receiver.length);
      receiver[index] = value;
    },
    setRange$4(receiver, start, end, iterable, skipCount) {
      if (type$.NativeTypedArrayOfInt._is(iterable)) {
        this._setRangeFast$4(receiver, start, end, iterable, skipCount);
        return;
      }
      this.super$ListBase$setRange(receiver, start, end, iterable, skipCount);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.NativeFloat32List.prototype = {
    get$runtimeType(receiver) {
      return B.Type_Float32List_Ymk;
    },
    sublist$2(receiver, start, end) {
      return new Float32Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length)));
    },
    sublist$1(receiver, start) {
      return this.sublist$2(receiver, start, null);
    },
    $isTrustedGetRuntimeType: 1,
    $isFloat32List: 1
  };
  A.NativeFloat64List.prototype = {
    get$runtimeType(receiver) {
      return B.Type_Float64List_Ymk;
    },
    sublist$2(receiver, start, end) {
      return new Float64Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length)));
    },
    sublist$1(receiver, start) {
      return this.sublist$2(receiver, start, null);
    },
    $isTrustedGetRuntimeType: 1,
    $isFloat64List: 1
  };
  A.NativeInt16List.prototype = {
    get$runtimeType(receiver) {
      return B.Type_Int16List_cot;
    },
    $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)));
    },
    sublist$1(receiver, start) {
      return this.sublist$2(receiver, start, null);
    },
    $isTrustedGetRuntimeType: 1,
    $isInt16List: 1
  };
  A.NativeInt32List.prototype = {
    get$runtimeType(receiver) {
      return B.Type_Int32List_m1p;
    },
    $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)));
    },
    sublist$1(receiver, start) {
      return this.sublist$2(receiver, start, null);
    },
    $isTrustedGetRuntimeType: 1,
    $isInt32List: 1
  };
  A.NativeInt8List.prototype = {
    get$runtimeType(receiver) {
      return B.Type_Int8List_woc;
    },
    $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)));
    },
    sublist$1(receiver, start) {
      return this.sublist$2(receiver, start, null);
    },
    $isTrustedGetRuntimeType: 1,
    $isInt8List: 1
  };
  A.NativeUint16List.prototype = {
    get$runtimeType(receiver) {
      return B.Type_Uint16List_2mh;
    },
    $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)));
    },
    sublist$1(receiver, start) {
      return this.sublist$2(receiver, start, null);
    },
    $isTrustedGetRuntimeType: 1,
    $isUint16List: 1
  };
  A.NativeUint32List.prototype = {
    get$runtimeType(receiver) {
      return B.Type_Uint32List_2mh;
    },
    $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)));
    },
    sublist$1(receiver, start) {
      return this.sublist$2(receiver, start, null);
    },
    $isTrustedGetRuntimeType: 1,
    $isUint32List: 1
  };
  A.NativeUint8ClampedList.prototype = {
    get$runtimeType(receiver) {
      return B.Type_Uint8ClampedList_9Bb;
    },
    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)));
    },
    sublist$1(receiver, start) {
      return this.sublist$2(receiver, start, null);
    },
    $isTrustedGetRuntimeType: 1,
    $isUint8ClampedList: 1
  };
  A.NativeUint8List.prototype = {
    get$runtimeType(receiver) {
      return B.Type_Uint8List_CSc;
    },
    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)));
    },
    sublist$1(receiver, start) {
      return this.sublist$2(receiver, start, null);
    },
    $isTrustedGetRuntimeType: 1,
    $isNativeUint8List: 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.__rti$_message;
    }
  };
  A._TypeError.prototype = {
    get$message(_) {
      return this.__rti$_message;
    },
    $isTypeError: 1
  };
  A._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = {
    call$1(_) {
      var t1 = this._box_0,
        f = t1.storedCallback;
      t1.storedCallback = null;
      f.call$0();
    },
    $signature: 61
  };
  A._AsyncRun__initializeScheduleImmediate_closure.prototype = {
    call$1(callback) {
      var t1, t2;
      this._box_0.storedCallback = callback;
      t1 = this.div;
      t2 = this.span;
      t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
    },
    $signature: 32
  };
  A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
    call$0() {
      this.callback.call$0();
    },
    $signature: 1
  };
  A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = {
    call$0() {
      this.callback.call$0();
    },
    $signature: 1
  };
  A._TimerImpl.prototype = {
    _TimerImpl$2(milliseconds, callback) {
      if (self.setTimeout != null)
        this._handle = 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)
        this._handle = self.setInterval(A.convertDartClosureToJS(new A._TimerImpl$periodic_closure(this, milliseconds, Date.now(), callback), 0), milliseconds);
      else
        throw A.wrapException(A.UnsupportedError$("Periodic timer."));
    },
    cancel$0() {
      if (self.setTimeout != null) {
        var t1 = this._handle;
        if (t1 == null)
          return;
        if (this._once)
          self.clearTimeout(t1);
        else
          self.clearInterval(t1);
        this._handle = null;
      } else
        throw A.wrapException(A.UnsupportedError$("Canceling a timer."));
    }
  };
  A._TimerImpl_internalCallback.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._handle = null;
      t1._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: 1
  };
  A._AsyncAwaitCompleter.prototype = {
    complete$1(value) {
      var t1, _this = this;
      if (value == null)
        value = _this.$ti._precomputed1._as(value);
      if (!_this.isSync)
        _this._future._asyncComplete$1(value);
      else {
        t1 = _this._future;
        if (_this.$ti._eval$1("Future<1>")._is(value))
          t1._chainFuture$1(value);
        else
          t1._completeWithValue$1(value);
      }
    },
    completeError$2(e, st) {
      var t1 = this._future;
      if (this.isSync)
        t1._completeError$2(e, st);
      else
        t1._asyncCompleteError$2(e, st);
    }
  };
  A._awaitOnObject_closure.prototype = {
    call$1(result) {
      return this.bodyFunction.call$2(0, result);
    },
    $signature: 71
  };
  A._awaitOnObject_closure0.prototype = {
    call$2(error, stackTrace) {
      this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, stackTrace));
    },
    $signature: 626
  };
  A._wrapJsFunctionForAsync_closure.prototype = {
    call$2(errorCode, result) {
      this.$protected(errorCode, result);
    },
    $signature: 371
  };
  A._SyncStarIterator.prototype = {
    get$current(_) {
      return this._async$_current;
    },
    _resumeBody$2(errorCode, errorValue) {
      var body, t1, exception;
      errorCode = errorCode;
      errorValue = errorValue;
      body = this._body;
      for (; true;)
        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 (; true;) {
        nestedIterator = _this._nestedIterator;
        if (nestedIterator != null)
          try {
            if (nestedIterator.moveNext$0()) {
              _this._async$_current = J.get$current$x(nestedIterator);
              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;
          }
          _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;
          }
          _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 = [];
        t2.push(_this._body);
        _this._body = t1;
        return 2;
      } else {
        _this._nestedIterator = J.get$iterator$ax(iterable);
        return 2;
      }
    }
  };
  A._SyncStarIterable.prototype = {
    get$iterator(_) {
      return new A._SyncStarIterator(this._outerHelper());
    }
  };
  A.AsyncError.prototype = {
    toString$0(_) {
      return A.S(this.error);
    },
    $isError: 1,
    get$stackTrace() {
      return this.stackTrace;
    }
  };
  A.Future_wait_handleError.prototype = {
    call$2(theError, theStackTrace) {
      var _this = this,
        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._completeError$2(theError, theStackTrace);
      } else if (t2 === 0 && !_this.eagerError) {
        t2 = t1.error;
        t2.toString;
        t1 = t1.stackTrace;
        t1.toString;
        _this._future._completeError$2(t2, t1);
      }
    },
    $signature: 73
  };
  A.Future_wait_closure.prototype = {
    call$1(value) {
      var t1, value0, t3, t4, _i, t5, _this = this,
        t2 = _this._box_0,
        remainingResults = --t2.remaining,
        valueList = t2.values;
      if (valueList != null) {
        J.$indexSet$ax(valueList, _this.pos, value);
        if (J.$eq$(remainingResults, 0)) {
          t2 = _this.T;
          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 = t2.error;
        t1.toString;
        t2 = t2.stackTrace;
        t2.toString;
        _this._future._completeError$2(t1, t2);
      }
    },
    $signature() {
      return this.T._eval$1("Null(0)");
    }
  };
  A._Completer.prototype = {
    completeError$2(error, stackTrace) {
      var replacement;
      A.checkNotNullable(error, "error", type$.Object);
      if ((this.future._state & 30) !== 0)
        throw A.wrapException(A.StateError$("Future already completed"));
      replacement = $.Zone__current.errorCallback$2(error, stackTrace);
      if (replacement != null) {
        error = replacement.error;
        stackTrace = replacement.stackTrace;
      } else if (stackTrace == null)
        stackTrace = A.AsyncError_defaultStackTrace(error);
      this._completeError$2(error, stackTrace);
    },
    completeError$1(error) {
      return this.completeError$2(error, null);
    }
  };
  A._AsyncCompleter.prototype = {
    complete$1(value) {
      var t1 = this.future;
      if ((t1._state & 30) !== 0)
        throw A.wrapException(A.StateError$("Future already completed"));
      t1._asyncComplete$1(value);
    },
    complete$0() {
      return this.complete$1(null);
    },
    _completeError$2(error, stackTrace) {
      this.future._asyncCompleteError$2(error, stackTrace);
    }
  };
  A._SyncCompleter.prototype = {
    complete$1(value) {
      var t1 = this.future;
      if ((t1._state & 30) !== 0)
        throw A.wrapException(A.StateError$("Future already completed"));
      t1._complete$1(value);
    },
    _completeError$2(error, stackTrace) {
      this.future._completeError$2(error, stackTrace);
    }
  };
  A._FutureListener.prototype = {
    matchesErrorTest$1(asyncError) {
      if ((this.state & 15) !== 6)
        return true;
      return this.result._zone.runUnary$2$2(this.callback, asyncError.error, type$.bool, type$.Object);
    },
    handleError$1(asyncError) {
      var exception,
        errorCallback = this.errorCallback,
        result = null,
        t1 = type$.dynamic,
        t2 = type$.Object,
        t3 = asyncError.error,
        t4 = this.result._zone;
      if (type$.dynamic_Function_Object_StackTrace._is(errorCallback))
        result = t4.runBinary$3$3(errorCallback, t3, asyncError.stackTrace, t1, t2, type$.StackTrace);
      else
        result = t4.runUnary$2$2(errorCallback, t3, t1, t2);
      try {
        t1 = result;
        return t1;
      } catch (exception) {
        if (type$.TypeError._is(A.unwrapException(exception))) {
          if ((this.state & 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 = {
    _setChained$1(source) {
      this._state = this._state & 1 | 4;
      this._resultOrListeners = source;
    },
    then$1$2$onError(_, f, onError, $R) {
      var result, t1,
        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/"), this.$ti._precomputed1);
        if (onError != null)
          onError = A._registerErrorHandler(onError, currentZone);
      }
      result = new A._Future($.Zone__current, $R._eval$1("_Future<0>"));
      t1 = onError == null ? 1 : 3;
      this._addListener$1(new A._FutureListener(result, t1, f, onError, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>")));
      return result;
    },
    then$1$1(_, f, $R) {
      return this.then$1$2$onError(0, f, null, $R);
    },
    _thenAwait$1$2(f, onError, $E) {
      var result = new A._Future($.Zone__current, $E._eval$1("_Future<0>"));
      this._addListener$1(new A._FutureListener(result, 19, f, onError, this.$ti._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>")));
      return result;
    },
    catchError$1(onError) {
      var t1 = this.$ti,
        t2 = $.Zone__current,
        result = new A._Future(t2, t1);
      if (t2 !== B.C__RootZone)
        onError = A._registerErrorHandler(onError, t2);
      this._addListener$1(new A._FutureListener(result, 2, null, onError, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>")));
      return result;
    },
    whenComplete$1(action) {
      var 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("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>")));
      return result;
    },
    _setErrorObject$1(error) {
      this._state = this._state & 1 | 16;
      this._resultOrListeners = error;
    },
    _cloneResult$1(source) {
      this._state = source._state & 30 | this._state & 1;
      this._resultOrListeners = source._resultOrListeners;
    },
    _addListener$1(listener) {
      var _this = this,
        t1 = _this._state;
      if (t1 <= 3) {
        listener._nextListener = _this._resultOrListeners;
        _this._resultOrListeners = listener;
      } else {
        if ((t1 & 4) !== 0) {
          t1 = _this._resultOrListeners;
          if ((t1._state & 24) === 0) {
            t1._addListener$1(listener);
            return;
          }
          _this._cloneResult$1(t1);
        }
        _this._zone.scheduleMicrotask$1(new A._Future__addListener_closure(_this, listener));
      }
    },
    _prependListeners$1(listeners) {
      var t1, existingListeners, next, cursor, next0, _this = this, _box_0 = {};
      _box_0.listeners = listeners;
      if (listeners == null)
        return;
      t1 = _this._state;
      if (t1 <= 3) {
        existingListeners = _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) {
          t1 = _this._resultOrListeners;
          if ((t1._state & 24) === 0) {
            t1._prependListeners$1(listeners);
            return;
          }
          _this._cloneResult$1(t1);
        }
        _box_0.listeners = _this._reverseListeners$1(listeners);
        _this._zone.scheduleMicrotask$1(new A._Future__prependListeners_closure(_box_0, _this));
      }
    },
    _removeListeners$0() {
      var current = 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;
    },
    _chainForeignFuture$1(source) {
      var e, s, exception, _this = this;
      _this._state ^= 2;
      try {
        source.then$1$2$onError(0, new A._Future__chainForeignFuture_closure(_this), new A._Future__chainForeignFuture_closure0(_this), type$.Null);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        A.scheduleMicrotask(new A._Future__chainForeignFuture_closure1(_this, e, s));
      }
    },
    _complete$1(value) {
      var listeners, _this = this,
        t1 = _this.$ti;
      if (t1._eval$1("Future<1>")._is(value))
        if (t1._is(value))
          A._Future__chainCoreFutureSync(value, _this);
        else
          _this._chainForeignFuture$1(value);
      else {
        listeners = _this._removeListeners$0();
        _this._state = 8;
        _this._resultOrListeners = value;
        A._Future__propagateToListeners(_this, listeners);
      }
    },
    _completeWithValue$1(value) {
      var _this = this,
        listeners = _this._removeListeners$0();
      _this._state = 8;
      _this._resultOrListeners = value;
      A._Future__propagateToListeners(_this, listeners);
    },
    _completeError$2(error, stackTrace) {
      var listeners = this._removeListeners$0();
      this._setErrorObject$1(A.AsyncError$(error, stackTrace));
      A._Future__propagateToListeners(this, listeners);
    },
    _asyncComplete$1(value) {
      if (this.$ti._eval$1("Future<1>")._is(value)) {
        this._chainFuture$1(value);
        return;
      }
      this._asyncCompleteWithValue$1(value);
    },
    _asyncCompleteWithValue$1(value) {
      this._state ^= 2;
      this._zone.scheduleMicrotask$1(new A._Future__asyncCompleteWithValue_closure(this, value));
    },
    _chainFuture$1(value) {
      if (this.$ti._is(value)) {
        A._Future__chainCoreFutureAsync(value, this);
        return;
      }
      this._chainForeignFuture$1(value);
    },
    _asyncCompleteError$2(error, stackTrace) {
      this._state ^= 2;
      this._zone.scheduleMicrotask$1(new A._Future__asyncCompleteError_closure(this, error, stackTrace));
    },
    $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__chainForeignFuture_closure.prototype = {
    call$1(value) {
      var error, stackTrace, exception,
        t1 = this.$this;
      t1._state ^= 2;
      try {
        t1._completeWithValue$1(t1.$ti._precomputed1._as(value));
      } catch (exception) {
        error = A.unwrapException(exception);
        stackTrace = A.getTraceFromException(exception);
        t1._completeError$2(error, stackTrace);
      }
    },
    $signature: 61
  };
  A._Future__chainForeignFuture_closure0.prototype = {
    call$2(error, stackTrace) {
      this.$this._completeError$2(error, stackTrace);
    },
    $signature: 52
  };
  A._Future__chainForeignFuture_closure1.prototype = {
    call$0() {
      this.$this._completeError$2(this.e, this.s);
    },
    $signature: 0
  };
  A._Future__chainCoreFutureAsync_closure.prototype = {
    call$0() {
      A._Future__chainCoreFutureSync(this._box_0.source, this.target);
    },
    $signature: 0
  };
  A._Future__asyncCompleteWithValue_closure.prototype = {
    call$0() {
      this.$this._completeWithValue$1(this.value);
    },
    $signature: 0
  };
  A._Future__asyncCompleteError_closure.prototype = {
    call$0() {
      this.$this._completeError$2(this.error, this.stackTrace);
    },
    $signature: 0
  };
  A._Future__propagateToListeners_handleWhenCompleteCallback.prototype = {
    call$0() {
      var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null;
      try {
        t1 = _this._box_0.listener;
        completeResult = t1.result._zone.run$1$1(0, t1.callback, type$.dynamic);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        t1 = _this.hasError && _this._box_1.source._resultOrListeners.error === e;
        t2 = _this._box_0;
        if (t1)
          t2.listenerValueOrError = _this._box_1.source._resultOrListeners;
        else
          t2.listenerValueOrError = A.AsyncError$(e, s);
        t2.listenerHasError = true;
        return;
      }
      if (completeResult instanceof A._Future && (completeResult._state & 24) !== 0) {
        if ((completeResult._state & 16) !== 0) {
          t1 = _this._box_0;
          t1.listenerValueOrError = completeResult._resultOrListeners;
          t1.listenerHasError = true;
        }
        return;
      }
      if (completeResult instanceof A._Future) {
        originalSource = _this._box_1.source;
        t1 = _this._box_0;
        t1.listenerValueOrError = J.then$1$1$x(completeResult, new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic);
        t1.listenerHasError = false;
      }
    },
    $signature: 0
  };
  A._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = {
    call$1(_) {
      return this.originalSource;
    },
    $signature: 425
  };
  A._Future__propagateToListeners_handleValueCallback.prototype = {
    call$0() {
      var e, s, t1, t2, t3, exception;
      try {
        t1 = this._box_0;
        t2 = t1.listener;
        t3 = t2.$ti;
        t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t2.callback, this.sourceResult, t3._eval$1("2/"), t3._precomputed1);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        t1 = this._box_0;
        t1.listenerValueOrError = A.AsyncError$(e, s);
        t1.listenerHasError = true;
      }
    },
    $signature: 0
  };
  A._Future__propagateToListeners_handleError.prototype = {
    call$0() {
      var asyncError, e, s, t1, exception, t2, _this = this;
      try {
        asyncError = _this._box_1.source._resultOrListeners;
        t1 = _this._box_0;
        if (t1.listener.matchesErrorTest$1(asyncError) && t1.listener.errorCallback != null) {
          t1.listenerValueOrError = t1.listener.handleError$1(asyncError);
          t1.listenerHasError = false;
        }
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        t1 = _this._box_1.source._resultOrListeners;
        t2 = _this._box_0;
        if (t1.error === e)
          t2.listenerValueOrError = t1;
        else
          t2.listenerValueOrError = A.AsyncError$(e, s);
        t2.listenerHasError = true;
      }
    },
    $signature: 0
  };
  A._AsyncCallbackEntry.prototype = {};
  A.Stream.prototype = {
    get$isBroadcast() {
      return false;
    },
    get$length(_) {
      var t1 = {},
        future = new A._Future($.Zone__current, type$._Future_int);
      t1.count = 0;
      this.listen$4$cancelOnError$onDone$onError(0, new A.Stream_length_closure(t1, this), true, new A.Stream_length_closure0(t1, future), future.get$_completeError());
      return future;
    }
  };
  A.Stream_Stream$fromFuture_closure.prototype = {
    call$1(value) {
      var t1 = this.controller;
      t1._async$_add$1(value);
      t1._closeUnchecked$0();
    },
    $signature() {
      return this.T._eval$1("Null(0)");
    }
  };
  A.Stream_Stream$fromFuture_closure0.prototype = {
    call$2(error, stackTrace) {
      var t1 = this.controller;
      t1._addError$2(error, stackTrace);
      t1._closeUnchecked$0();
    },
    $signature: 442
  };
  A.Stream_length_closure.prototype = {
    call$1(_) {
      ++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._StreamController.prototype = {
    get$stream() {
      return new A._ControllerStream(this, A._instanceType(this)._eval$1("_ControllerStream<1>"));
    },
    get$_pendingEvents() {
      if ((this._state & 8) === 0)
        return this._varData;
      return this._varData._varData;
    },
    _ensurePendingEvents$0() {
      var events, state, _this = this;
      if ((_this._state & 8) === 0) {
        events = _this._varData;
        return events == null ? _this._varData = new A._PendingEvents() : events;
      }
      state = _this._varData;
      events = state._varData;
      return events == null ? state._varData = new A._PendingEvents() : events;
    },
    get$_subscription() {
      var varData = this._varData;
      return (this._state & 8) !== 0 ? varData._varData : varData;
    },
    _badEventState$0() {
      if ((this._state & 4) !== 0)
        return new A.StateError("Cannot add event after closing");
      return new A.StateError("Cannot add event while adding a stream");
    },
    addStream$2$cancelOnError(source, cancelOnError) {
      var t2, t3, t4, _this = this,
        t1 = _this._state;
      if (t1 >= 4)
        throw A.wrapException(_this._badEventState$0());
      if ((t1 & 2) !== 0) {
        t1 = new A._Future($.Zone__current, type$._Future_dynamic);
        t1._asyncComplete$1(null);
        return t1;
      }
      t1 = _this._varData;
      t2 = cancelOnError === true;
      t3 = new A._Future($.Zone__current, type$._Future_dynamic);
      t4 = t2 ? A._AddStreamState_makeErrorHandler(_this) : _this.get$_addError();
      t4 = source.listen$4$cancelOnError$onDone$onError(0, _this.get$_async$_add(), t2, _this.get$_close(), t4);
      t2 = _this._state;
      if ((t2 & 1) !== 0 ? (_this.get$_subscription()._state & 4) !== 0 : (t2 & 2) === 0)
        t4.pause$0(0);
      _this._varData = new A._StreamControllerAddStreamState(t1, t3, t4);
      _this._state |= 8;
      return t3;
    },
    _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) {
      if (this._state >= 4)
        throw A.wrapException(this._badEventState$0());
      this._async$_add$1(value);
    },
    addError$2(error, stackTrace) {
      var replacement;
      A.checkNotNullable(error, "error", type$.Object);
      if (this._state >= 4)
        throw A.wrapException(this._badEventState$0());
      replacement = $.Zone__current.errorCallback$2(error, stackTrace);
      if (replacement != null) {
        error = replacement.error;
        stackTrace = replacement.stackTrace;
      } else if (stackTrace == null)
        stackTrace = A.AsyncError_defaultStackTrace(error);
      this._addError$2(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());
      _this._closeUnchecked$0();
      return _this._ensureDoneFuture$0();
    },
    _closeUnchecked$0() {
      var t1 = this._state |= 4;
      if ((t1 & 1) !== 0)
        this._sendDone$0();
      else if ((t1 & 3) === 0)
        this._ensurePendingEvents$0().add$1(0, B.C__DelayedDone);
    },
    _async$_add$1(value) {
      var t1 = this._state;
      if ((t1 & 1) !== 0)
        this._sendData$1(value);
      else if ((t1 & 3) === 0)
        this._ensurePendingEvents$0().add$1(0, new A._DelayedData(value));
    },
    _addError$2(error, stackTrace) {
      var 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));
    },
    _close$0() {
      var addState = this._varData;
      this._varData = addState._varData;
      this._state &= 4294967287;
      addState.addStreamFuture._asyncComplete$1(null);
    },
    _subscribe$4(onData, onError, onDone, cancelOnError) {
      var subscription, pendingEvents, t1, addState, _this = this;
      if ((_this._state & 3) !== 0)
        throw A.wrapException(A.StateError$("Stream has already been listened to."));
      subscription = A._ControllerSubscription$(_this, onData, onError, onDone, cancelOnError, A._instanceType(_this)._precomputed1);
      pendingEvents = _this.get$_pendingEvents();
      t1 = _this._state |= 1;
      if ((t1 & 8) !== 0) {
        addState = _this._varData;
        addState._varData = subscription;
        addState.addSubscription.resume$0(0);
      } else
        _this._varData = subscription;
      subscription._setPendingEvents$1(pendingEvents);
      subscription._guardCallback$1(new A._StreamController__subscribe_closure(_this));
      return subscription;
    },
    _recordCancel$1(subscription) {
      var onCancel, cancelResult, e, s, exception, result0, t1, _this = this, result = null;
      if ((_this._state & 8) !== 0)
        result = _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);
            result0._asyncCompleteError$2(e, s);
            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) {
      if ((this._state & 8) !== 0)
        this._varData.addSubscription.pause$0(0);
      A._runGuarded(this.onPause);
    },
    _recordResume$1(subscription) {
      if ((this._state & 8) !== 0)
        this._varData.addSubscription.resume$0(0);
      A._runGuarded(this.onResume);
    },
    $isEventSink: 1,
    set$onPause(val) {
      return this.onPause = val;
    },
    set$onResume(val) {
      return this.onResume = val;
    },
    set$onCancel(val) {
      return this.onCancel = val;
    }
  };
  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.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) {
      this.get$_subscription()._addPending$1(new A._DelayedData(data));
    },
    _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 = {
    _async$_onCancel$0() {
      return this._controller._recordCancel$1(this);
    },
    _async$_onPause$0() {
      this._controller._recordPause$1(this);
    },
    _async$_onResume$0() {
      this._controller._recordResume$1(this);
    }
  };
  A._AddStreamState.prototype = {
    cancel$0() {
      var cancel = this.addSubscription.cancel$0();
      return cancel.whenComplete$1(new A._AddStreamState_cancel_closure(this));
    }
  };
  A._AddStreamState_makeErrorHandler_closure.prototype = {
    call$2(e, s) {
      var t1 = this.controller;
      t1._addError$2(e, s);
      t1._close$0();
    },
    $signature: 52
  };
  A._AddStreamState_cancel_closure.prototype = {
    call$0() {
      this.$this.addStreamFuture._asyncComplete$1(null);
    },
    $signature: 1
  };
  A._StreamControllerAddStreamState.prototype = {};
  A._BufferingStreamSubscription.prototype = {
    _setPendingEvents$1(pendingEvents) {
      var _this = this;
      if (pendingEvents == null)
        return;
      _this._pending = pendingEvents;
      if (pendingEvents.lastPendingEvent != null) {
        _this._state = (_this._state | 128) >>> 0;
        pendingEvents.schedule$1(_this);
      }
    },
    pause$1(_, resumeSignal) {
      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$_async$_onPause());
    },
    pause$0(_) {
      return this.pause$1(0, null);
    },
    resume$0(_) {
      var _this = this,
        t1 = _this._state;
      if ((t1 & 8) !== 0)
        return;
      if (t1 >= 256) {
        t1 = _this._state = t1 - 256;
        if (t1 < 256)
          if ((t1 & 128) !== 0 && _this._pending.lastPendingEvent != null)
            _this._pending.schedule$1(_this);
          else {
            t1 = (t1 & 4294967291) >>> 0;
            _this._state = t1;
            if ((t1 & 64) === 0)
              _this._guardCallback$1(_this.get$_async$_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;
    },
    _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._async$_onCancel$0();
    },
    _async$_add$1(data) {
      var t1 = this._state;
      if ((t1 & 8) !== 0)
        return;
      if (t1 < 64)
        this._sendData$1(data);
      else
        this._addPending$1(new A._DelayedData(data));
    },
    _addError$2(error, stackTrace) {
      var 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 _this = this,
        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);
    },
    _async$_onPause$0() {
    },
    _async$_onResume$0() {
    },
    _async$_onCancel$0() {
      return null;
    },
    _addPending$1($event) {
      var t1, _this = this,
        pending = _this._pending;
      if (pending == null)
        pending = _this._pending = new A._PendingEvents();
      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 _this = this,
        t1 = _this._state;
      _this._state = (t1 | 64) >>> 0;
      _this._zone.runUnaryGuarded$1$2(_this._onData, data, A._instanceType(_this)._eval$1("_BufferingStreamSubscription.T"));
      _this._state = (_this._state & 4294967231) >>> 0;
      _this._checkState$1((t1 & 4) !== 0);
    },
    _sendError$2(error, stackTrace) {
      var cancelFuture, _this = this,
        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 cancelFuture, _this = this,
        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 _this = this,
        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 t2, isInputPaused, _this = this,
        t1 = _this._state;
      if ((t1 & 128) !== 0 && _this._pending.lastPendingEvent == null) {
        t1 = _this._state = (t1 & 4294967167) >>> 0;
        if ((t1 & 4) !== 0)
          if (t1 < 256) {
            t2 = _this._pending;
            t2 = t2 == null ? null : t2.lastPendingEvent == null;
            t2 = t2 !== false;
          } else
            t2 = false;
        else
          t2 = false;
        if (t2) {
          t1 = (t1 & 4294967291) >>> 0;
          _this._state = t1;
        }
      }
      for (; true; 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._async$_onPause$0();
        else
          _this._async$_onResume$0();
        t1 = (_this._state & 4294967231) >>> 0;
        _this._state = t1;
      }
      if ((t1 & 128) !== 0 && t1 < 256)
        _this._pending.schedule$1(_this);
    },
    $isStreamSubscription: 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(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) {
      return this._controller._subscribe$4(onData, onError, onDone, cancelOnError === true);
    },
    listen$1(_, onData) {
      return this.listen$4$cancelOnError$onDone$onError(0, onData, null, null, null);
    },
    listen$3$onDone$onError(_, onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(0, onData, null, onDone, onError);
    }
  };
  A._DelayedEvent.prototype = {
    get$next() {
      return this.next;
    },
    set$next(val) {
      return this.next = val;
    }
  };
  A._DelayedData.prototype = {
    perform$1(dispatch) {
      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(_) {
      throw A.wrapException(A.StateError$("No events after a done."));
    }
  };
  A._PendingEvents.prototype = {
    schedule$1(dispatch) {
      var _this = this,
        t1 = _this._state;
      if (t1 === 1)
        return;
      if (t1 >= 1) {
        _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 $event, nextEvent,
        t1 = this.$this,
        oldState = t1._state;
      t1._state = 0;
      if (oldState === 3)
        return;
      $event = t1.firstPendingEvent;
      nextEvent = $event.get$next();
      t1.firstPendingEvent = nextEvent;
      if (nextEvent == null)
        t1.lastPendingEvent = null;
      $event.perform$1(this.dispatch);
    },
    $signature: 0
  };
  A._StreamIterator.prototype = {
    get$current(_) {
      if (this._async$_hasValue)
        return this._stateData;
      return 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(0);
          return future;
        }
        throw A.wrapException(A.StateError$("Already waiting for next."));
      }
      return _this._initializeOrDone$0();
    },
    _initializeOrDone$0() {
      var future, subscription, _this = this,
        stateData = _this._stateData;
      if (stateData != null) {
        future = new A._Future($.Zone__current, type$._Future_bool);
        _this._stateData = future;
        subscription = stateData.listen$4$cancelOnError$onDone$onError(0, _this.get$_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)
          stateData._asyncComplete$1(false);
        else
          _this._async$_hasValue = false;
        return subscription.cancel$0();
      }
      return $.$get$Future__nullFuture();
    },
    _onData$1(data) {
      var moveNextFuture, t1, _this = this;
      if (_this._subscription == null)
        return;
      moveNextFuture = _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(0);
      }
    },
    _onError$2(error, stackTrace) {
      var _this = this,
        subscription = _this._subscription,
        moveNextFuture = _this._stateData;
      _this._stateData = _this._subscription = null;
      if (subscription != null)
        moveNextFuture._completeError$2(error, stackTrace);
      else
        moveNextFuture._asyncCompleteError$2(error, stackTrace);
    },
    _onDone$0() {
      var _this = this,
        subscription = _this._subscription,
        moveNextFuture = _this._stateData;
      _this._stateData = _this._subscription = null;
      if (subscription != null)
        moveNextFuture._completeWithValue$1(false);
      else
        moveNextFuture._asyncCompleteWithValue$1(false);
    }
  };
  A._ForwardingStream.prototype = {
    get$isBroadcast() {
      return this._async$_source.get$isBroadcast();
    },
    listen$4$cancelOnError$onDone$onError(_, onData, cancelOnError, onDone, onError) {
      var t1 = this.$ti,
        t2 = t1._rest[1],
        t3 = $.Zone__current,
        t4 = cancelOnError === true ? 1 : 0,
        t5 = onError != null ? 32 : 0,
        t6 = A._BufferingStreamSubscription__registerDataHandler(t3, onData, t2),
        t7 = A._BufferingStreamSubscription__registerErrorHandler(t3, onError),
        t8 = onDone == null ? A.async___nullDoneHandler$closure() : onDone;
      t2 = new A._ForwardingStreamSubscription(this, t6, t7, t3.registerCallback$1$1(t8, type$.void), t3, t4 | t5, t1._eval$1("@<1>")._bind$1(t2)._eval$1("_ForwardingStreamSubscription<1,2>"));
      t2._subscription = this._async$_source.listen$3$onDone$onError(0, t2.get$_handleData(), t2.get$_handleDone(), t2.get$_handleError());
      return t2;
    },
    listen$1(_, onData) {
      return this.listen$4$cancelOnError$onDone$onError(0, onData, null, null, null);
    },
    listen$3$onDone$onError(_, onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(0, onData, null, onDone, onError);
    }
  };
  A._ForwardingStreamSubscription.prototype = {
    _async$_add$1(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);
    },
    _async$_onPause$0() {
      var t1 = this._subscription;
      if (t1 != null)
        t1.pause$0(0);
    },
    _async$_onResume$0() {
      var t1 = this._subscription;
      if (t1 != null)
        t1.resume$0(0);
    },
    _async$_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(data, this);
    },
    _handleError$2(error, stackTrace) {
      this._addError$2(error, stackTrace);
    },
    _handleDone$0() {
      this._close$0();
    }
  };
  A._ExpandStream.prototype = {
    _handleData$2(inputEvent, sink) {
      var value, e, s, t1, exception, error, stackTrace, replacement;
      try {
        for (t1 = J.get$iterator$ax(this._expand.call$1(inputEvent)); t1.moveNext$0();) {
          value = t1.get$current(t1);
          sink._async$_add$1(value);
        }
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        error = e;
        stackTrace = s;
        replacement = $.Zone__current.errorCallback$2(error, stackTrace);
        if (replacement != null) {
          error = replacement.error;
          stackTrace = replacement.stackTrace;
        }
        sink._addError$2(error, stackTrace);
      }
    }
  };
  A._ZoneFunction.prototype = {};
  A._ZoneSpecification.prototype = {$isZoneSpecification: 1};
  A._ZoneDelegate.prototype = {$isZoneDelegate: 1};
  A._Zone.prototype = {
    _processUncaughtError$3(zone, error, stackTrace) {
      var handler, parentDelegate, parentZone, currentZone, e, s, t1, exception,
        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 = J.get$parent$z(implZone);
      t1.toString;
      parentZone = t1;
      currentZone = $.Zone__current;
      try {
        $.Zone__current = parentZone;
        handler.call$5(implZone, parentDelegate, zone, error, stackTrace);
        $.Zone__current = currentZone;
      } catch (exception) {
        e = 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$_delegate() {
      var t1 = this._delegateCache;
      return t1 == null ? this._delegateCache = new A._ZoneDelegate(this) : t1;
    },
    get$_parentDelegate() {
      return this.parent.get$_delegate();
    },
    get$errorZone() {
      return this._handleUncaughtError.zone;
    },
    runGuarded$1(f) {
      var e, s, exception;
      try {
        this.run$1$1(0, f, type$.void);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        this._processUncaughtError$3(this, e, s);
      }
    },
    runUnaryGuarded$1$2(f, arg, $T) {
      var e, s, exception;
      try {
        this.runUnary$2$2(f, arg, type$.void, $T);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        this._processUncaughtError$3(this, e, s);
      }
    },
    runBinaryGuarded$2$3(f, arg1, arg2, T1, T2) {
      var e, s, exception;
      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, e, s);
      }
    },
    bindCallback$1$1(f, $R) {
      return new A._CustomZone_bindCallback_closure(this, this.registerCallback$1$1(f, $R), $R);
    },
    bindUnaryCallback$2$1(f, $R, $T) {
      return new A._CustomZone_bindUnaryCallback_closure(this, this.registerUnaryCallback$2$1(f, $R, $T), $T, $R);
    },
    bindCallbackGuarded$1(f) {
      return new A._CustomZone_bindCallbackGuarded_closure(this, this.registerCallback$1$1(f, type$.void));
    },
    $index(_, key) {
      var value,
        t1 = this._async$_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, 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) {
      var implementation = this._run,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, f);
    },
    runUnary$2$2(f, arg) {
      var implementation = this._runUnary,
        t1 = implementation.zone;
      return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, f, arg);
    },
    runBinary$3$3(f, arg1, arg2) {
      var implementation = this._runBinary,
        t1 = implementation.zone;
      return implementation.$function.call$6(t1, t1.get$_parentDelegate(), this, f, arg1, arg2);
    },
    registerCallback$1$1(callback) {
      var implementation = this._registerCallback,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, callback);
    },
    registerUnaryCallback$2$1(callback) {
      var implementation = this._registerUnaryCallback,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, callback);
    },
    registerBinaryCallback$3$1(callback) {
      var implementation = this._registerBinaryCallback,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, callback);
    },
    errorCallback$2(error, stackTrace) {
      var implementation, implementationZone;
      A.checkNotNullable(error, "error", type$.Object);
      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 = this._scheduleMicrotask,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, f);
    },
    createTimer$2(duration, f) {
      var 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(receiver) {
      return this.parent;
    },
    get$_async$_map() {
      return this._async$_map;
    }
  };
  A._CustomZone_bindCallback_closure.prototype = {
    call$0() {
      return this.$this.run$1$1(0, this.registered, this.R);
    },
    $signature() {
      return this.R._eval$1("0()");
    }
  };
  A._CustomZone_bindUnaryCallback_closure.prototype = {
    call$1(arg) {
      var _this = this;
      return _this.$this.runUnary$2$2(_this.registered, arg, _this.R, _this.T);
    },
    $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._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_QOa;
    },
    get$_registerBinaryCallback() {
      return B._ZoneFunction_qxw;
    },
    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_kWM;
    },
    get$_print() {
      return B._ZoneFunction__RootZone__rootPrint;
    },
    get$_fork() {
      return B._ZoneFunction__RootZone__rootFork;
    },
    get$_handleUncaughtError() {
      return B._ZoneFunction_NIe;
    },
    get$parent(_) {
      return null;
    },
    get$_async$_map() {
      return $.$get$_RootZone__rootMap();
    },
    get$_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;
      try {
        if (B.C__RootZone === $.Zone__current) {
          f.call$0();
          return;
        }
        A._rootRun(null, null, this, f);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        A._rootHandleError(e, s);
      }
    },
    runUnaryGuarded$1$2(f, arg) {
      var e, s, exception;
      try {
        if (B.C__RootZone === $.Zone__current) {
          f.call$1(arg);
          return;
        }
        A._rootRunUnary(null, null, this, f, arg);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        A._rootHandleError(e, s);
      }
    },
    runBinaryGuarded$2$3(f, arg1, arg2) {
      var e, s, exception;
      try {
        if (B.C__RootZone === $.Zone__current) {
          f.call$2(arg1, arg2);
          return;
        }
        A._rootRunBinary(null, null, this, f, arg1, arg2);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        A._rootHandleError(e, s);
      }
    },
    bindCallback$1$1(f, $R) {
      return new A._RootZone_bindCallback_closure(this, f, $R);
    },
    bindUnaryCallback$2$1(f, $R, $T) {
      return new A._RootZone_bindUnaryCallback_closure(this, f, $T, $R);
    },
    bindCallbackGuarded$1(f) {
      return new A._RootZone_bindCallbackGuarded_closure(this, f);
    },
    $index(_, key) {
      return null;
    },
    handleUncaughtError$2(error, stackTrace) {
      A._rootHandleError(error, stackTrace);
    },
    fork$2$specification$zoneValues(specification, zoneValues) {
      return A._rootFork(null, null, this, specification, zoneValues);
    },
    run$1$1(_, f) {
      if ($.Zone__current === B.C__RootZone)
        return f.call$0();
      return A._rootRun(null, null, this, f);
    },
    runUnary$2$2(f, arg) {
      if ($.Zone__current === B.C__RootZone)
        return f.call$1(arg);
      return A._rootRunUnary(null, null, this, f, arg);
    },
    runBinary$3$3(f, arg1, arg2) {
      if ($.Zone__current === B.C__RootZone)
        return f.call$2(arg1, arg2);
      return A._rootRunBinary(null, null, this, f, arg1, arg2);
    },
    registerCallback$1$1(f) {
      return f;
    },
    registerUnaryCallback$2$1(f) {
      return f;
    },
    registerBinaryCallback$3$1(f) {
      return f;
    },
    errorCallback$2(error, stackTrace) {
      return null;
    },
    scheduleMicrotask$1(f) {
      A._rootScheduleMicrotask(null, null, this, f);
    },
    createTimer$2(duration, f) {
      return A.Timer__createTimer(duration, f);
    },
    print$1(line) {
      A.printString(line);
    }
  };
  A._RootZone_bindCallback_closure.prototype = {
    call$0() {
      return this.$this.run$1$1(0, this.f, this.R);
    },
    $signature() {
      return this.R._eval$1("0()");
    }
  };
  A._RootZone_bindUnaryCallback_closure.prototype = {
    call$1(arg) {
      var _this = this;
      return _this.$this.runUnary$2$2(_this.f, arg, _this.R, _this.T);
    },
    $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._HashMap.prototype = {
    get$length(_) {
      return this._collection$_length;
    },
    get$isEmpty(_) {
      return this._collection$_length === 0;
    },
    get$isNotEmpty(_) {
      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;
    },
    addAll$1(_, other) {
      other.forEach$1(0, new A._HashMap_addAll_closure(this));
    },
    $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;
      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 hash, bucket, index, _this = this,
        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._collection$_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._collection$_keys = null;
        }
      }
    },
    remove$1(_, key) {
      var _this = this;
      if (typeof key == "string" && key !== "__proto__")
        return _this._removeHashTableEntry$2(_this._strings, key);
      else if (typeof key == "number" && (key & 1073741823) === key)
        return _this._removeHashTableEntry$2(_this._nums, key);
      else
        return _this._remove$1(key);
    },
    _remove$1(key) {
      var hash, bucket, index, result, _this = this,
        rest = _this._collection$_rest;
      if (rest == null)
        return null;
      hash = _this._computeHashCode$1(key);
      bucket = rest[hash];
      index = _this._findBucketIndex$2(bucket, key);
      if (index < 0)
        return null;
      --_this._collection$_length;
      _this._collection$_keys = null;
      result = bucket.splice(index, 2)[1];
      if (0 === bucket.length)
        delete rest[hash];
      return result;
    },
    forEach$1(_, action) {
      var $length, t1, i, key, t2, _this = this,
        keys = _this._computeKeys$0();
      for ($length = keys.length, t1 = A._instanceType(_this)._rest[1], i = 0; i < $length; ++i) {
        key = keys[i];
        t2 = _this.$index(0, key);
        action.call$2(key, t2 == null ? t1._as(t2) : t2);
        if (keys !== _this._collection$_keys)
          throw A.wrapException(A.ConcurrentModificationError$(_this));
      }
    },
    _computeKeys$0() {
      var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this,
        result = _this._collection$_keys;
      if (result != null)
        return result;
      result = A.List_List$filled(_this._collection$_length, null, false, type$.dynamic);
      strings = _this._strings;
      if (strings != null) {
        names = Object.getOwnPropertyNames(strings);
        entries = names.length;
        for (index = 0, i = 0; i < entries; ++i) {
          result[index] = names[i];
          ++index;
        }
      } else
        index = 0;
      nums = _this._nums;
      if (nums != null) {
        names = Object.getOwnPropertyNames(nums);
        entries = names.length;
        for (i = 0; i < entries; ++i) {
          result[index] = +names[i];
          ++index;
        }
      }
      rest = _this._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;
          }
        }
      }
      return _this._collection$_keys = result;
    },
    _addHashTableEntry$3(table, key, value) {
      if (table[key] == null) {
        ++this._collection$_length;
        this._collection$_keys = null;
      }
      A._HashMap__setTableEntry(table, key, value);
    },
    _removeHashTableEntry$2(table, key) {
      var value;
      if (table != null && table[key] != null) {
        value = A._HashMap__getTableEntry(table, key);
        delete table[key];
        --this._collection$_length;
        this._collection$_keys = null;
        return value;
      } else
        return null;
    },
    _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 = t1.$index(0, each);
      return t2 == null ? A._instanceType(t1)._rest[1]._as(t2) : t2;
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("2(1)");
    }
  };
  A._HashMap_addAll_closure.prototype = {
    call$2(key, value) {
      this.$this.$indexSet(0, key, value);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(1,2)");
    }
  };
  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._map._collection$_length;
    },
    get$isEmpty(_) {
      return this._map._collection$_length === 0;
    },
    get$isNotEmpty(_) {
      return this._map._collection$_length !== 0;
    },
    get$iterator(_) {
      var t1 = this._map;
      return new A._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>"));
    },
    contains$1(_, element) {
      return this._map.containsKey$1(element);
    }
  };
  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._collection$_keys,
        offset = _this._offset,
        t1 = _this._map;
      if (keys !== t1._collection$_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;
      }
    }
  };
  A._LinkedCustomHashMap.prototype = {
    $index(_, key) {
      if (!this._validKey.call$1(key))
        return null;
      return this.super$JsLinkedHashMap$internalGet(key);
    },
    $indexSet(_, key, value) {
      this.super$JsLinkedHashMap$internalSet(key, value);
    },
    containsKey$1(key) {
      if (!this._validKey.call$1(key))
        return false;
      return this.super$JsLinkedHashMap$internalContainsKey(key);
    },
    remove$1(_, key) {
      if (!this._validKey.call$1(key))
        return null;
      return this.super$JsLinkedHashMap$internalRemove(key);
    },
    internalComputeHashCode$1(key) {
      return this._hashCode.call$1(key) & 1073741823;
    },
    internalFindBucketIndex$2(bucket, key) {
      var $length, t1, i;
      if (bucket == null)
        return -1;
      $length = bucket.length;
      for (t1 = this._equals, i = 0; i < $length; ++i)
        if (t1.call$2(bucket[i].hashMapCellKey, key))
          return i;
      return -1;
    }
  };
  A._LinkedCustomHashMap_closure.prototype = {
    call$1(v) {
      return this.K._is(v);
    },
    $signature: 128
  };
  A._LinkedHashSet.prototype = {
    _newSet$0() {
      return new A._LinkedHashSet(A._instanceType(this)._eval$1("_LinkedHashSet<1>"));
    },
    _newSimilarSet$1$0($R) {
      return new A._LinkedHashSet($R._eval$1("_LinkedHashSet<0>"));
    },
    _newSimilarSet$0() {
      return this._newSimilarSet$1$0(type$.dynamic);
    },
    get$iterator(_) {
      var _this = this,
        t1 = new A._LinkedHashSetIterator(_this, _this._modifications, A._instanceType(_this)._eval$1("_LinkedHashSetIterator<1>"));
      t1._cell = _this._first;
      return t1;
    },
    get$length(_) {
      return this._collection$_length;
    },
    get$isEmpty(_) {
      return this._collection$_length === 0;
    },
    get$isNotEmpty(_) {
      return this._collection$_length !== 0;
    },
    contains$1(_, object) {
      var strings, nums;
      if (typeof object == "string" && object !== "__proto__") {
        strings = this._strings;
        if (strings == null)
          return false;
        return strings[object] != null;
      } else if (typeof object == "number" && (object & 1073741823) === object) {
        nums = this._nums;
        if (nums == null)
          return false;
        return nums[object] != null;
      } else
        return this._contains$1(object);
    },
    _contains$1(object) {
      var rest = this._collection$_rest;
      if (rest == null)
        return false;
      return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0;
    },
    get$first(_) {
      var first = this._first;
      if (first == null)
        throw A.wrapException(A.StateError$("No elements"));
      return first._element;
    },
    get$last(_) {
      var last = this._last;
      if (last == null)
        throw A.wrapException(A.StateError$("No elements"));
      return last._element;
    },
    add$1(_, element) {
      var strings, nums, _this = this;
      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 hash, bucket, _this = this,
        rest = _this._collection$_rest;
      if (rest == null)
        rest = _this._collection$_rest = A._LinkedHashSet__newHashTable();
      hash = _this._computeHashCode$1(element);
      bucket = rest[hash];
      if (bucket == null)
        rest[hash] = [_this._newLinkedCell$1(element)];
      else {
        if (_this._findBucketIndex$2(bucket, element) >= 0)
          return false;
        bucket.push(_this._newLinkedCell$1(element));
      }
      return true;
    },
    remove$1(_, object) {
      var _this = this;
      if (typeof object == "string" && object !== "__proto__")
        return _this._removeHashTableEntry$2(_this._strings, object);
      else if (typeof object == "number" && (object & 1073741823) === object)
        return _this._removeHashTableEntry$2(_this._nums, object);
      else
        return _this._remove$1(object);
    },
    _remove$1(object) {
      var hash, bucket, index, cell, _this = this,
        rest = _this._collection$_rest;
      if (rest == null)
        return false;
      hash = _this._computeHashCode$1(object);
      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) {
      if (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 = 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(element);
      if (_this._first == null)
        _this._first = _this._last = cell;
      else {
        t1 = _this._last;
        t1.toString;
        cell._previous = t1;
        _this._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)
        _this._first = next;
      else
        previous._next = next;
      if (next == null)
        _this._last = previous;
      else
        next._previous = previous;
      --_this._collection$_length;
      _this._modified$0();
    },
    _computeHashCode$1(element) {
      return J.get$hashCode$(element) & 1073741823;
    },
    _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._LinkedIdentityHashSet.prototype = {
    _newSet$0() {
      return new A._LinkedIdentityHashSet(this.$ti);
    },
    _newSimilarSet$1$0($R) {
      return new A._LinkedIdentityHashSet($R._eval$1("_LinkedIdentityHashSet<0>"));
    },
    _newSimilarSet$0() {
      return this._newSimilarSet$1$0(type$.dynamic);
    },
    _computeHashCode$1(key) {
      return A.objectHashCode(key) & 1073741823;
    },
    _findBucketIndex$2(bucket, element) {
      var $length, i, t1;
      if (bucket == null)
        return -1;
      $length = bucket.length;
      for (i = 0; i < $length; ++i) {
        t1 = bucket[i]._element;
        if (t1 == null ? element == null : t1 === 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 = cell._element;
        _this._cell = cell._next;
        return true;
      }
    }
  };
  A.UnmodifiableListView.prototype = {
    cast$1$0(_, $R) {
      return new A.UnmodifiableListView(J.cast$1$0$ax(this._collection$_source, $R), $R._eval$1("UnmodifiableListView<0>"));
    },
    get$length(_) {
      return J.get$length$asx(this._collection$_source);
    },
    $index(_, index) {
      return J.elementAt$1$ax(this._collection$_source, index);
    }
  };
  A.HashMap_HashMap$from_closure.prototype = {
    call$2(k, v) {
      this.result.$indexSet(0, this.K._as(k), this.V._as(v));
    },
    $signature: 168
  };
  A.LinkedHashMap_LinkedHashMap$from_closure.prototype = {
    call$2(k, v) {
      this.result.$indexSet(0, this.K._as(k), this.V._as(v));
    },
    $signature: 168
  };
  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);
    },
    forEach$1(receiver, action) {
      var i,
        $length = this.get$length(receiver);
      for (i = 0; i < $length; ++i) {
        action.call$1(this.$index(receiver, i));
        if ($length !== this.get$length(receiver))
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
    },
    get$isEmpty(receiver) {
      return this.get$length(receiver) === 0;
    },
    get$isNotEmpty(receiver) {
      return !this.get$isEmpty(receiver);
    },
    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);
    },
    get$single(receiver) {
      if (this.get$length(receiver) === 0)
        throw A.wrapException(A.IterableElementError_noElement());
      if (this.get$length(receiver) > 1)
        throw A.wrapException(A.IterableElementError_tooMany());
      return this.$index(receiver, 0);
    },
    contains$1(receiver, element) {
      var i,
        $length = this.get$length(receiver);
      for (i = 0; i < $length; ++i) {
        if (J.$eq$(this.$index(receiver, i), element))
          return true;
        if ($length !== this.get$length(receiver))
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return false;
    },
    every$1(receiver, test) {
      var i,
        $length = this.get$length(receiver);
      for (i = 0; i < $length; ++i) {
        if (!test.call$1(this.$index(receiver, i)))
          return false;
        if ($length !== this.get$length(receiver))
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return true;
    },
    any$1(receiver, test) {
      var i,
        $length = this.get$length(receiver);
      for (i = 0; i < $length; ++i) {
        if (test.call$1(this.$index(receiver, i)))
          return true;
        if ($length !== this.get$length(receiver))
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return false;
    },
    lastWhere$2$orElse(receiver, test, orElse) {
      var i, element,
        $length = this.get$length(receiver);
      for (i = $length - 1; i >= 0; --i) {
        element = this.$index(receiver, i);
        if (test.call$1(element))
          return element;
        if ($length !== this.get$length(receiver))
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      if (orElse != null)
        return orElse.call$0();
      throw A.wrapException(A.IterableElementError_noElement());
    },
    join$1(receiver, separator) {
      var t1;
      if (this.get$length(receiver) === 0)
        return "";
      t1 = A.StringBuffer__writeAll("", receiver, separator);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    where$1(receiver, test) {
      return new A.WhereIterable(receiver, test, A.instanceType(receiver)._eval$1("WhereIterable"));
    },
    map$1$1(receiver, f, $T) {
      return new A.MappedListIterable(receiver, f, A.instanceType(receiver)._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
    },
    expand$1$1(receiver, f, $T) {
      return new A.ExpandIterable(receiver, f, A.instanceType(receiver)._eval$1("@")._bind$1($T)._eval$1("ExpandIterable<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)
        result[i] = _this.$index(receiver, i);
      return result;
    },
    toList$0(receiver) {
      return this.toList$1$growable(receiver, true);
    },
    toSet$0(receiver) {
      var i,
        result = A.LinkedHashSet_LinkedHashSet(A.instanceType(receiver)._eval$1("ListBase.E"));
      for (i = 0; i < this.get$length(receiver); ++i)
        result.add$1(0, this.$index(receiver, i));
      return result;
    },
    add$1(receiver, element) {
      var t1 = this.get$length(receiver);
      this.set$length(receiver, t1 + 1);
      this.$indexSet(receiver, t1, element);
    },
    addAll$1(receiver, iterable) {
      var t1,
        i = this.get$length(receiver);
      for (t1 = iterable.get$iterator(iterable); t1.moveNext$0();) {
        this.add$1(receiver, t1.get$current(t1));
        ++i;
      }
    },
    _closeGap$2(receiver, start, end) {
      var i, _this = this,
        $length = _this.get$length(receiver),
        size = end - start;
      for (i = end; i < $length; ++i)
        _this.$indexSet(receiver, i - size, _this.$index(receiver, i));
      _this.set$length(receiver, $length - size);
    },
    cast$1$0(receiver, $R) {
      return new A.CastList(receiver, A.instanceType(receiver)._eval$1("@")._bind$1($R)._eval$1("CastList<1,2>"));
    },
    sort$1(receiver, compare) {
      var t1 = compare == null ? A.collection_ListBase__compareAny$closure() : compare;
      A.Sort__doSort(receiver, 0, this.get$length(receiver) - 1, t1);
    },
    sublist$2(receiver, start, end) {
      var listLength = this.get$length(receiver);
      A.RangeError_checkValidRange(start, listLength, listLength);
      return A.List_List$from(this.getRange$2(receiver, start, listLength), true, A.instanceType(receiver)._eval$1("ListBase.E"));
    },
    sublist$1(receiver, start) {
      return this.sublist$2(receiver, start, null);
    },
    getRange$2(receiver, start, end) {
      A.RangeError_checkValidRange(start, end, this.get$length(receiver));
      return A.SubListIterable$(receiver, start, end, A.instanceType(receiver)._eval$1("ListBase.E"));
    },
    removeRange$2(receiver, start, end) {
      A.RangeError_checkValidRange(start, end, this.get$length(receiver));
      if (end > start)
        this._closeGap$2(receiver, start, end);
    },
    fillRange$3(receiver, start, end, fill) {
      var i,
        value = fill == null ? A.instanceType(receiver)._eval$1("ListBase.E")._as(fill) : fill;
      A.RangeError_checkValidRange(start, end, this.get$length(receiver));
      for (i = start; i < end; ++i)
        this.$indexSet(receiver, i, value);
    },
    setRange$4(receiver, start, end, iterable, skipCount) {
      var $length, otherStart, otherList, t1, i;
      A.RangeError_checkValidRange(start, end, this.get$length(receiver));
      $length = end - start;
      if ($length === 0)
        return;
      A.RangeError_checkNotNegative(skipCount, "skipCount");
      if (A.instanceType(receiver)._eval$1("List")._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));
    },
    get$reversed(receiver) {
      return new A.ReversedListIterable(receiver, A.instanceType(receiver)._eval$1("ReversedListIterable"));
    },
    toString$0(receiver) {
      return A.Iterable_iterableToFullString(receiver, "[", "]");
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.MapBase.prototype = {
    cast$2$0(_, RK, RV) {
      var t1 = A._instanceType(this);
      return A.Map_castFrom(this, t1._eval$1("MapBase.K"), t1._eval$1("MapBase.V"), RK, RV);
    },
    forEach$1(_, action) {
      var t1, t2, key, t3, _this = this;
      for (t1 = J.get$iterator$ax(_this.get$keys(_this)), t2 = A._instanceType(_this)._eval$1("MapBase.V"); t1.moveNext$0();) {
        key = t1.get$current(t1);
        t3 = _this.$index(0, key);
        action.call$2(key, t3 == null ? t2._as(t3) : t3);
      }
    },
    addAll$1(_, other) {
      other.forEach$1(0, new A.MapBase_addAll_closure(this));
    },
    get$entries(_) {
      var _this = this;
      return J.map$1$1$ax(_this.get$keys(_this), new A.MapBase_entries_closure(_this), A._instanceType(_this)._eval$1("MapEntry"));
    },
    removeWhere$1(_, test) {
      var t2, key, t3, _i, _this = this,
        t1 = A._instanceType(_this),
        keysToRemove = A._setArrayType([], t1._eval$1("JSArray"));
      for (t2 = J.get$iterator$ax(_this.get$keys(_this)), t1 = t1._eval$1("MapBase.V"); t2.moveNext$0();) {
        key = t2.get$current(t2);
        t3 = _this.$index(0, key);
        if (test.call$2(key, t3 == null ? t1._as(t3) : t3))
          keysToRemove.push(key);
      }
      for (t1 = keysToRemove.length, _i = 0; _i < keysToRemove.length; keysToRemove.length === t1 || (0, A.throwConcurrentModificationError)(keysToRemove), ++_i)
        _this.remove$1(0, keysToRemove[_i]);
    },
    containsKey$1(key) {
      return J.contains$1$asx(this.get$keys(this), key);
    },
    get$length(_) {
      return J.get$length$asx(this.get$keys(this));
    },
    get$isEmpty(_) {
      return J.get$isEmpty$asx(this.get$keys(this));
    },
    get$isNotEmpty(_) {
      return J.get$isNotEmpty$asx(this.get$keys(this));
    },
    get$values(_) {
      var t1 = A._instanceType(this);
      return new A._MapBaseValueIterable(this, t1._eval$1("@")._bind$1(t1._eval$1("MapBase.V"))._eval$1("_MapBaseValueIterable<1,2>"));
    },
    toString$0(_) {
      return A.MapBase_mapToString(this);
    },
    $isMap: 1
  };
  A.MapBase_addAll_closure.prototype = {
    call$2(key, value) {
      this.$this.$indexSet(0, key, value);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(MapBase.K,MapBase.V)");
    }
  };
  A.MapBase_entries_closure.prototype = {
    call$1(key) {
      var t1 = this.$this,
        t2 = t1.$index(0, key);
      if (t2 == null)
        t2 = A._instanceType(t1)._eval$1("MapBase.V")._as(t2);
      t1 = A._instanceType(t1);
      return new A.MapEntry(key, t2, t1._eval$1("@")._bind$1(t1._eval$1("MapBase.V"))._eval$1("MapEntry<1,2>"));
    },
    $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);
      t2 = t1._contents += t2;
      t1._contents = t2 + ": ";
      t2 = A.S(v);
      t1._contents += t2;
    },
    $signature: 170
  };
  A.UnmodifiableMapBase.prototype = {};
  A._MapBaseValueIterable.prototype = {
    get$length(_) {
      var t1 = this._map;
      return t1.get$length(t1);
    },
    get$isEmpty(_) {
      var t1 = this._map;
      return t1.get$isEmpty(t1);
    },
    get$isNotEmpty(_) {
      var t1 = this._map;
      return t1.get$isNotEmpty(t1);
    },
    get$first(_) {
      var t1 = this._map;
      t1 = t1.$index(0, J.get$first$ax(t1.get$keys(t1)));
      return t1 == null ? this.$ti._rest[1]._as(t1) : t1;
    },
    get$single(_) {
      var t1 = this._map;
      t1 = t1.$index(0, J.get$single$ax(t1.get$keys(t1)));
      return t1 == null ? this.$ti._rest[1]._as(t1) : t1;
    },
    get$last(_) {
      var t1 = this._map;
      t1 = t1.$index(0, J.get$last$ax(t1.get$keys(t1)));
      return t1 == null ? this.$ti._rest[1]._as(t1) : t1;
    },
    get$iterator(_) {
      var t1 = this._map,
        t2 = this.$ti;
      return new A._MapBaseValueIterator(J.get$iterator$ax(t1.get$keys(t1)), t1, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("_MapBaseValueIterator<1,2>"));
    }
  };
  A._MapBaseValueIterator.prototype = {
    moveNext$0() {
      var _this = this,
        t1 = _this._collection$_keys;
      if (t1.moveNext$0()) {
        _this._collection$_current = _this._map.$index(0, t1.get$current(t1));
        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;
    }
  };
  A._UnmodifiableMapMixin.prototype = {
    $indexSet(_, key, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable map"));
    },
    addAll$1(_, other) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable map"));
    },
    remove$1(_, key) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable map"));
    }
  };
  A.MapView.prototype = {
    cast$2$0(_, RK, RV) {
      return this._map.cast$2$0(0, RK, RV);
    },
    $index(_, key) {
      return this._map.$index(0, key);
    },
    $indexSet(_, key, value) {
      this._map.$indexSet(0, key, value);
    },
    addAll$1(_, other) {
      this._map.addAll$1(0, other);
    },
    containsKey$1(key) {
      return this._map.containsKey$1(key);
    },
    forEach$1(_, action) {
      this._map.forEach$1(0, action);
    },
    get$isEmpty(_) {
      var t1 = this._map;
      return t1.get$isEmpty(t1);
    },
    get$isNotEmpty(_) {
      var t1 = this._map;
      return t1.get$isNotEmpty(t1);
    },
    get$length(_) {
      var t1 = this._map;
      return t1.get$length(t1);
    },
    get$keys(_) {
      var t1 = this._map;
      return t1.get$keys(t1);
    },
    remove$1(_, key) {
      return this._map.remove$1(0, key);
    },
    toString$0(_) {
      return this._map.toString$0(0);
    },
    get$values(_) {
      var t1 = this._map;
      return t1.get$values(t1);
    },
    get$entries(_) {
      var t1 = this._map;
      return t1.get$entries(t1);
    },
    $isMap: 1
  };
  A.UnmodifiableMapView.prototype = {
    cast$2$0(_, RK, RV) {
      return new A.UnmodifiableMapView(this._map.cast$2$0(0, RK, RV), RK._eval$1("@<0>")._bind$1(RV)._eval$1("UnmodifiableMapView<1,2>"));
    }
  };
  A.ListQueue.prototype = {
    get$iterator(_) {
      var _this = this;
      return new A._ListQueueIterator(_this, _this._tail, _this._modificationCount, _this._head, _this.$ti._eval$1("_ListQueueIterator<1>"));
    },
    get$isEmpty(_) {
      return this._head === this._tail;
    },
    get$length(_) {
      return (this._tail - this._head & this._table.length - 1) >>> 0;
    },
    get$first(_) {
      var _this = this,
        t1 = _this._head;
      if (t1 === _this._tail)
        throw A.wrapException(A.IterableElementError_noElement());
      t1 = _this._table[t1];
      return t1 == null ? _this.$ti._precomputed1._as(t1) : t1;
    },
    get$last(_) {
      var _this = this,
        t1 = _this._head,
        t2 = _this._tail;
      if (t1 === t2)
        throw A.wrapException(A.IterableElementError_noElement());
      t1 = _this._table;
      t1 = t1[(t2 - 1 & t1.length - 1) >>> 0];
      return t1 == null ? _this.$ti._precomputed1._as(t1) : t1;
    },
    get$single(_) {
      var t1, _this = this;
      if (_this._head === _this._tail)
        throw A.wrapException(A.IterableElementError_noElement());
      if (_this.get$length(0) > 1)
        throw A.wrapException(A.IterableElementError_tooMany());
      t1 = _this._table[_this._head];
      return t1 == null ? _this.$ti._precomputed1._as(t1) : t1;
    },
    elementAt$1(_, index) {
      var t1, _this = this;
      A.IndexError_check(index, _this.get$length(0), _this, null, null);
      t1 = _this._table;
      t1 = t1[(_this._head + index & t1.length - 1) >>> 0];
      return t1 == null ? _this.$ti._precomputed1._as(t1) : t1;
    },
    toList$1$growable(_, growable) {
      var t1, list, t2, t3, i, t4, _this = this,
        mask = _this._table.length - 1,
        $length = (_this._tail - _this._head & mask) >>> 0;
      if ($length === 0) {
        t1 = J.JSArray_JSArray$growable(0, _this.$ti._precomputed1);
        return t1;
      }
      t1 = _this.$ti._precomputed1;
      list = A.List_List$filled($length, _this.get$first(0), true, t1);
      for (t2 = _this._table, t3 = _this._head, i = 0; i < $length; ++i) {
        t4 = t2[(t3 + i & mask) >>> 0];
        list[i] = t4 == null ? t1._as(t4) : t4;
      }
      return list;
    },
    toList$0(_) {
      return this.toList$1$growable(0, true);
    },
    addAll$1(_, elements) {
      var addCount, $length, t2, t3, t4, newTable, endSpace, preSpace, _i, _this = this,
        t1 = _this.$ti;
      if (t1._eval$1("List<1>")._is(elements)) {
        addCount = elements.length;
        $length = _this.get$length(0);
        t2 = $length + addCount;
        t3 = _this._table;
        t4 = t3.length;
        if (t2 >= t4) {
          newTable = A.List_List$filled(A.ListQueue__nextPowerOf2(t2 + (t2 >>> 1)), null, false, t1._eval$1("1?"));
          _this._tail = _this._collection$_writeToList$1(newTable);
          _this._table = newTable;
          _this._head = 0;
          B.JSArray_methods.setRange$4(newTable, $length, t2, elements, 0);
          _this._tail += addCount;
        } else {
          t1 = _this._tail;
          endSpace = t4 - t1;
          if (addCount < endSpace) {
            B.JSArray_methods.setRange$4(t3, t1, t1 + addCount, elements, 0);
            _this._tail += addCount;
          } else {
            preSpace = addCount - endSpace;
            B.JSArray_methods.setRange$4(t3, t1, t1 + endSpace, elements, 0);
            B.JSArray_methods.setRange$4(_this._table, 0, preSpace, elements, endSpace);
            _this._tail = preSpace;
          }
        }
        ++_this._modificationCount;
      } else
        for (t1 = elements.length, _i = 0; _i < elements.length; elements.length === t1 || (0, A.throwConcurrentModificationError)(elements), ++_i)
          _this._add$1(elements[_i]);
    },
    clear$0(_) {
      var t2, t3, _this = this,
        i = _this._head,
        t1 = _this._tail;
      if (i !== t1) {
        for (t2 = _this._table, t3 = t2.length - 1; i !== t1; i = (i + 1 & t3) >>> 0)
          t2[i] = null;
        _this._head = _this._tail = 0;
        ++_this._modificationCount;
      }
    },
    toString$0(_) {
      return A.Iterable_iterableToFullString(this, "{", "}");
    },
    addFirst$1(value) {
      var _this = this,
        t1 = _this._head,
        t2 = _this._table;
      t1 = _this._head = (t1 - 1 & t2.length - 1) >>> 0;
      t2[t1] = value;
      if (t1 === _this._tail)
        _this._grow$0();
      ++_this._modificationCount;
    },
    removeFirst$0() {
      var t2, result, _this = this,
        t1 = _this._head;
      if (t1 === _this._tail)
        throw A.wrapException(A.IterableElementError_noElement());
      ++_this._modificationCount;
      t2 = _this._table;
      result = t2[t1];
      if (result == null)
        result = _this.$ti._precomputed1._as(result);
      t2[t1] = null;
      _this._head = (t1 + 1 & t2.length - 1) >>> 0;
      return result;
    },
    _add$1(element) {
      var _this = this,
        t1 = _this._table,
        t2 = _this._tail;
      t1[t2] = element;
      t1 = (t2 + 1 & t1.length - 1) >>> 0;
      _this._tail = t1;
      if (_this._head === t1)
        _this._grow$0();
      ++_this._modificationCount;
    },
    _grow$0() {
      var _this = this,
        newTable = A.List_List$filled(_this._table.length * 2, null, false, _this.$ti._eval$1("1?")),
        t1 = _this._table,
        t2 = _this._head,
        split = t1.length - t2;
      B.JSArray_methods.setRange$4(newTable, 0, split, t1, t2);
      B.JSArray_methods.setRange$4(newTable, split, split + _this._head, _this._table, 0);
      _this._head = 0;
      _this._tail = _this._table.length;
      _this._table = newTable;
    },
    _collection$_writeToList$1(target) {
      var $length, firstPartSize, _this = this,
        t1 = _this._head,
        t2 = _this._tail,
        t3 = _this._table;
      if (t1 <= t2) {
        $length = t2 - t1;
        B.JSArray_methods.setRange$4(target, 0, $length, t3, t1);
        return $length;
      } else {
        firstPartSize = t3.length - t1;
        B.JSArray_methods.setRange$4(target, 0, firstPartSize, t3, t1);
        B.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this._tail, _this._table, 0);
        return _this._tail + firstPartSize;
      }
    },
    $isQueue: 1
  };
  A._ListQueueIterator.prototype = {
    get$current(_) {
      var t1 = this._collection$_current;
      return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
    },
    moveNext$0() {
      var t2, _this = this,
        t1 = _this._queue;
      if (_this._modificationCount !== t1._modificationCount)
        A.throwExpression(A.ConcurrentModificationError$(t1));
      t2 = _this._collection$_position;
      if (t2 === _this._collection$_end) {
        _this._collection$_current = null;
        return false;
      }
      t1 = t1._table;
      _this._collection$_current = t1[t2];
      _this._collection$_position = (t2 + 1 & t1.length - 1) >>> 0;
      return true;
    }
  };
  A.SetBase.prototype = {
    get$isEmpty(_) {
      return this.get$length(this) === 0;
    },
    get$isNotEmpty(_) {
      return this.get$length(this) !== 0;
    },
    addAll$1(_, elements) {
      var t1;
      for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
        this.add$1(0, t1.get$current(t1));
    },
    removeAll$1(elements) {
      var t1;
      for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
        this.remove$1(0, t1.get$current(t1));
    },
    difference$1(other) {
      var t1, t2, element,
        result = this.toSet$0(0);
      for (t1 = this.get$iterator(this), t2 = other._source; t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (t2.contains$1(0, element))
          result.remove$1(0, element);
      }
      return result;
    },
    toList$1$growable(_, growable) {
      return A.List_List$of(this, true, A._instanceType(this)._precomputed1);
    },
    toList$0(_) {
      return this.toList$1$growable(0, true);
    },
    map$1$1(_, f, $T) {
      return new A.EfficientLengthMappedIterable(this, f, A._instanceType(this)._eval$1("@<1>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
    },
    get$single(_) {
      var it, _this = this;
      if (_this.get$length(_this) > 1)
        throw A.wrapException(A.IterableElementError_tooMany());
      it = _this.get$iterator(_this);
      if (!it.moveNext$0())
        throw A.wrapException(A.IterableElementError_noElement());
      return it.get$current(it);
    },
    toString$0(_) {
      return A.Iterable_iterableToFullString(this, "{", "}");
    },
    where$1(_, f) {
      return new A.WhereIterable(this, f, A._instanceType(this)._eval$1("WhereIterable<1>"));
    },
    forEach$1(_, f) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        f.call$1(t1.get$current(t1));
    },
    every$1(_, f) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        if (!f.call$1(t1.get$current(t1)))
          return false;
      return true;
    },
    any$1(_, test) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        if (test.call$1(t1.get$current(t1)))
          return true;
      return false;
    },
    take$1(_, n) {
      return A.TakeIterable_TakeIterable(this, n, A._instanceType(this)._precomputed1);
    },
    skip$1(_, n) {
      return A.SkipIterable_SkipIterable(this, n, A._instanceType(this)._precomputed1);
    },
    get$first(_) {
      var it = this.get$iterator(this);
      if (!it.moveNext$0())
        throw A.wrapException(A.IterableElementError_noElement());
      return it.get$current(it);
    },
    get$last(_) {
      var result,
        it = this.get$iterator(this);
      if (!it.moveNext$0())
        throw A.wrapException(A.IterableElementError_noElement());
      do
        result = it.get$current(it);
      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(iterator);
        --skipCount;
      }
      throw A.wrapException(A.IndexError$withLength(index, index - skipCount, this, null, "index"));
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isSet: 1
  };
  A._SetBase.prototype = {
    difference$1(other) {
      var t1, t2, t3, element, _this = this,
        result = _this._newSet$0();
      for (t1 = A._LinkedHashSetIterator$(_this, _this._modifications, A._instanceType(_this)._precomputed1), t2 = other._source, t3 = t1.$ti._precomputed1; t1.moveNext$0();) {
        element = t1._collection$_current;
        if (element == null)
          element = t3._as(element);
        if (!t2.contains$1(0, element))
          result.add$1(0, element);
      }
      return result;
    },
    intersection$1(other) {
      var t1, t2, t3, element, _this = this,
        result = _this._newSet$0();
      for (t1 = A._LinkedHashSetIterator$(_this, _this._modifications, A._instanceType(_this)._precomputed1), t2 = other._baseMap, t3 = t1.$ti._precomputed1; t1.moveNext$0();) {
        element = t1._collection$_current;
        if (element == null)
          element = t3._as(element);
        if (t2.containsKey$1(element))
          result.add$1(0, element);
      }
      return result;
    },
    toSet$0(_) {
      var t1 = this._newSet$0();
      t1.addAll$1(0, this);
      return t1;
    }
  };
  A._UnmodifiableSetMixin.prototype = {
    add$1(_, value) {
      return A._UnmodifiableSetMixin__throwUnmodifiable();
    },
    addAll$1(_, elements) {
      return A._UnmodifiableSetMixin__throwUnmodifiable();
    },
    remove$1(_, value) {
      return A._UnmodifiableSetMixin__throwUnmodifiable();
    }
  };
  A.UnmodifiableSetView.prototype = {
    contains$1(_, element) {
      return this._collection$_source.contains$1(0, element);
    },
    get$length(_) {
      return this._collection$_source._collection$_length;
    },
    get$iterator(_) {
      var t1 = this._collection$_source;
      return A._LinkedHashSetIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1);
    },
    toSet$0(_) {
      return this._collection$_source.toSet$0(0);
    }
  };
  A._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {};
  A._UnmodifiableSetView_SetBase__UnmodifiableSetMixin.prototype = {};
  A._JsonMap.prototype = {
    $index(_, key) {
      var result,
        t1 = this._processed;
      if (t1 == null)
        return this._data.$index(0, key);
      else if (typeof key != "string")
        return null;
      else {
        result = t1[key];
        return typeof result == "undefined" ? this._process$1(key) : result;
      }
    },
    get$length(_) {
      return this._processed == null ? this._data.__js_helper$_length : this._convert$_computeKeys$0().length;
    },
    get$isEmpty(_) {
      return this.get$length(0) === 0;
    },
    get$isNotEmpty(_) {
      return this.get$length(0) > 0;
    },
    get$keys(_) {
      var t1;
      if (this._processed == null) {
        t1 = this._data;
        return new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"));
      }
      return new A._JsonMapKeyIterable(this);
    },
    get$values(_) {
      var _this = this;
      if (_this._processed == null)
        return _this._data.get$values(0);
      return A.MappedIterable_MappedIterable(_this._convert$_computeKeys$0(), new A._JsonMap_values_closure(_this), type$.String, type$.dynamic);
    },
    $indexSet(_, key, value) {
      var processed, original, _this = this;
      if (_this._processed == null)
        _this._data.$indexSet(0, key, value);
      else if (_this.containsKey$1(key)) {
        processed = _this._processed;
        processed[key] = value;
        original = _this._original;
        if (original == null ? processed != null : original !== processed)
          original[key] = null;
      } else
        _this._upgrade$0().$indexSet(0, key, value);
    },
    addAll$1(_, other) {
      other.forEach$1(0, new A._JsonMap_addAll_closure(this));
    },
    containsKey$1(key) {
      if (this._processed == null)
        return this._data.containsKey$1(key);
      if (typeof key != "string")
        return false;
      return Object.prototype.hasOwnProperty.call(this._original, key);
    },
    remove$1(_, key) {
      if (this._processed != null && !this.containsKey$1(key))
        return null;
      return this._upgrade$0().remove$1(0, key);
    },
    forEach$1(_, f) {
      var keys, i, key, value, _this = this;
      if (_this._processed == null)
        return _this._data.forEach$1(0, f);
      keys = _this._convert$_computeKeys$0();
      for (i = 0; i < keys.length; ++i) {
        key = keys[i];
        value = _this._processed[key];
        if (typeof value == "undefined") {
          value = A._convertJsonToDartLazy(_this._original[key]);
          _this._processed[key] = value;
        }
        f.call$2(key, value);
        if (keys !== _this._data)
          throw A.wrapException(A.ConcurrentModificationError$(_this));
      }
    },
    _convert$_computeKeys$0() {
      var keys = this._data;
      if (keys == null)
        keys = this._data = A._setArrayType(Object.keys(this._original), type$.JSArray_String);
      return keys;
    },
    _upgrade$0() {
      var result, keys, i, t1, key, _this = this;
      if (_this._processed == null)
        return _this._data;
      result = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      keys = _this._convert$_computeKeys$0();
      for (i = 0; t1 = keys.length, i < t1; ++i) {
        key = keys[i];
        result.$indexSet(0, key, _this.$index(0, key));
      }
      if (t1 === 0)
        keys.push("");
      else
        B.JSArray_methods.clear$0(keys);
      _this._original = _this._processed = null;
      return _this._data = result;
    },
    _process$1(key) {
      var result;
      if (!Object.prototype.hasOwnProperty.call(this._original, key))
        return null;
      result = A._convertJsonToDartLazy(this._original[key]);
      return this._processed[key] = result;
    }
  };
  A._JsonMap_values_closure.prototype = {
    call$1(each) {
      return this.$this.$index(0, each);
    },
    $signature: 171
  };
  A._JsonMap_addAll_closure.prototype = {
    call$2(key, value) {
      this.$this.$indexSet(0, key, value);
    },
    $signature: 114
  };
  A._JsonMapKeyIterable.prototype = {
    get$length(_) {
      return this._convert$_parent.get$length(0);
    },
    elementAt$1(_, index) {
      var t1 = this._convert$_parent;
      return t1._processed == null ? t1.get$keys(0).elementAt$1(0, index) : t1._convert$_computeKeys$0()[index];
    },
    get$iterator(_) {
      var t1 = this._convert$_parent;
      if (t1._processed == null) {
        t1 = t1.get$keys(0);
        t1 = t1.get$iterator(t1);
      } else {
        t1 = t1._convert$_computeKeys$0();
        t1 = new J.ArrayIterator(t1, t1.length, A._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
      }
      return t1;
    },
    contains$1(_, key) {
      return this._convert$_parent.containsKey$1(key);
    }
  };
  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: 60
  };
  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: 60
  };
  A.AsciiCodec.prototype = {
    encode$1(source) {
      return B.AsciiEncoder_127.convert$1(source);
    }
  };
  A._UnicodeSubsetEncoder.prototype = {
    convert$1(string) {
      var t1, i, codeUnit,
        $length = A.RangeError_checkValidRange(0, null, string.length) - 0,
        result = new Uint8Array($length);
      for (t1 = ~this._subsetMask, i = 0; i < $length; ++i) {
        codeUnit = string.charCodeAt(i);
        if ((codeUnit & t1) !== 0)
          throw A.wrapException(A.ArgumentError$value(string, "string", "Contains invalid characters."));
        result[i] = codeUnit;
      }
      return result;
    }
  };
  A.AsciiEncoder.prototype = {};
  A.Base64Codec.prototype = {
    normalize$3(source, start, end) {
      var inverseAlphabet, i, sliceStart, buffer, firstPadding, firstPaddingSourceIndex, paddingCount, i0, char, i1, digit1, digit2, char0, value, t1, t2, endLength, $length,
        _s31_ = "Invalid base64 encoding length ";
      end = A.RangeError_checkValidRange(start, end, source.length);
      inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet();
      for (i = start, sliceStart = i, buffer = null, firstPadding = -1, firstPaddingSourceIndex = -1, paddingCount = 0; i < end; i = i0) {
        i0 = i + 1;
        char = source.charCodeAt(i);
        if (char === 37) {
          i1 = i0 + 2;
          if (i1 <= end) {
            digit1 = A.hexDigitValue(source.charCodeAt(i0));
            digit2 = A.hexDigitValue(source.charCodeAt(i0 + 1));
            char0 = digit1 * 16 + digit2 - (digit2 & 256);
            if (char0 === 37)
              char0 = -1;
            i0 = i1;
          } else
            char0 = -1;
        } else
          char0 = char;
        if (0 <= char0 && char0 <= 127) {
          value = inverseAlphabet[char0];
          if (value >= 0) {
            char0 = string$.ABCDEF.charCodeAt(value);
            if (char0 === char)
              continue;
            char = char0;
          } else {
            if (value === -1) {
              if (firstPadding < 0) {
                t1 = buffer == null ? null : buffer._contents.length;
                if (t1 == null)
                  t1 = 0;
                firstPadding = t1 + (i - sliceStart);
                firstPaddingSourceIndex = i;
              }
              ++paddingCount;
              if (char === 61)
                continue;
            }
            char = char0;
          }
          if (value !== -2) {
            if (buffer == null) {
              buffer = new A.StringBuffer("");
              t1 = buffer;
            } else
              t1 = buffer;
            t1._contents += B.JSString_methods.substring$2(source, sliceStart, i);
            t2 = A.Primitives_stringFromCharCode(char);
            t1._contents += t2;
            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));
          for (; 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 = {
    startChunkedConversion$1(sink) {
      return new A._Utf8Base64EncoderSink(new A._Utf8StringSinkAdapter(new A._Utf8Decoder(false), sink, sink._stringSink), new A._Base64Encoder(string$.ABCDEF));
    }
  };
  A._Base64Encoder.prototype = {
    createBuffer$1(bufferLength) {
      return new Uint8Array(bufferLength);
    },
    encode$4(bytes, start, end, isLast) {
      var output, _this = this,
        byteCount = (_this._convert$_state & 3) + (end - start),
        fullChunks = B.JSInt_methods._tdivFast$1(byteCount, 3),
        bufferLength = fullChunks * 4;
      if (isLast && byteCount - fullChunks * 3 > 0)
        bufferLength += 4;
      output = _this.createBuffer$1(bufferLength);
      _this._convert$_state = A._Base64Encoder_encodeChunk(_this._alphabet, bytes, start, end, isLast, output, 0, _this._convert$_state);
      if (bufferLength > 0)
        return output;
      return null;
    }
  };
  A._Base64EncoderSink.prototype = {};
  A._Utf8Base64EncoderSink.prototype = {
    _convert$_add$4(source, start, end, isLast) {
      var buffer = this._encoder.encode$4(source, start, end, isLast);
      if (buffer != null)
        this._sink.addSlice$4(buffer, 0, buffer.length, isLast);
    }
  };
  A.ByteConversionSink.prototype = {};
  A.Codec.prototype = {};
  A.Converter.prototype = {};
  A.Encoding.prototype = {};
  A.JsonUnsupportedObjectError.prototype = {
    toString$0(_) {
      var safeString = A.Error_safeToString(this.unsupportedObject);
      return (this.cause != null ? "Converting object to an encodable object failed:" : "Converting object did not return an encodable object:") + " " + safeString;
    }
  };
  A.JsonCyclicError.prototype = {
    toString$0(_) {
      return "Cyclic error in JSON stringify";
    }
  };
  A.JsonCodec.prototype = {
    decode$1(source) {
      var t1 = A._parseJson(source, this.get$decoder()._reviver);
      return t1;
    },
    encode$2$toEncodable(value, toEncodable) {
      var t1 = A._JsonStringStringifier_stringify(value, this.get$encoder()._toEncodable, null);
      return t1;
    },
    get$encoder() {
      return B.JsonEncoder_null;
    },
    get$decoder() {
      return B.JsonDecoder_null;
    }
  };
  A.JsonEncoder.prototype = {};
  A.JsonDecoder.prototype = {};
  A._JsonStringifier.prototype = {
    writeStringContent$1(s) {
      var offset, i, charCode, t1, t2, _this = this,
        $length = s.length;
      for (offset = 0, i = 0; i < $length; ++i) {
        charCode = s.charCodeAt(i);
        if (charCode > 92) {
          if (charCode >= 55296) {
            t1 = charCode & 64512;
            if (t1 === 55296) {
              t2 = i + 1;
              t2 = !(t2 < $length && (s.charCodeAt(t2) & 64512) === 56320);
            } else
              t2 = false;
            if (!t2)
              if (t1 === 56320) {
                t1 = i - 1;
                t1 = !(t1 >= 0 && (s.charCodeAt(t1) & 64512) === 55296);
              } else
                t1 = false;
            else
              t1 = true;
            if (t1) {
              if (i > offset)
                _this.writeStringSlice$3(s, offset, i);
              offset = i + 1;
              _this.writeCharCode$1(92);
              _this.writeCharCode$1(117);
              _this.writeCharCode$1(100);
              t1 = charCode >>> 8 & 15;
              _this.writeCharCode$1(t1 < 10 ? 48 + t1 : 87 + t1);
              t1 = charCode >>> 4 & 15;
              _this.writeCharCode$1(t1 < 10 ? 48 + t1 : 87 + t1);
              t1 = charCode & 15;
              _this.writeCharCode$1(t1 < 10 ? 48 + t1 : 87 + t1);
            }
          }
          continue;
        }
        if (charCode < 32) {
          if (i > offset)
            _this.writeStringSlice$3(s, offset, i);
          offset = i + 1;
          _this.writeCharCode$1(92);
          switch (charCode) {
            case 8:
              _this.writeCharCode$1(98);
              break;
            case 9:
              _this.writeCharCode$1(116);
              break;
            case 10:
              _this.writeCharCode$1(110);
              break;
            case 12:
              _this.writeCharCode$1(102);
              break;
            case 13:
              _this.writeCharCode$1(114);
              break;
            default:
              _this.writeCharCode$1(117);
              _this.writeCharCode$1(48);
              _this.writeCharCode$1(48);
              t1 = charCode >>> 4 & 15;
              _this.writeCharCode$1(t1 < 10 ? 48 + t1 : 87 + t1);
              t1 = charCode & 15;
              _this.writeCharCode$1(t1 < 10 ? 48 + t1 : 87 + t1);
              break;
          }
        } else if (charCode === 34 || charCode === 92) {
          if (i > offset)
            _this.writeStringSlice$3(s, offset, i);
          offset = i + 1;
          _this.writeCharCode$1(92);
          _this.writeCharCode$1(charCode);
        }
      }
      if (offset === 0)
        _this.writeString$1(s);
      else if (offset < $length)
        _this.writeStringSlice$3(s, offset, $length);
    },
    _checkCycle$1(object) {
      var t1, t2, i, t3;
      for (t1 = this._seen, t2 = t1.length, i = 0; i < t2; ++i) {
        t3 = t1[i];
        if (object == null ? t3 == null : object === t3)
          throw A.wrapException(new A.JsonCyclicError(object, null));
      }
      t1.push(object);
    },
    writeObject$1(object) {
      var customJson, e, t1, exception, _this = this;
      if (_this.writeJsonValue$1(object))
        return;
      _this._checkCycle$1(object);
      try {
        customJson = _this._toEncodable.call$1(object);
        if (!_this.writeJsonValue$1(customJson)) {
          t1 = A.JsonUnsupportedObjectError$(object, null, _this.get$_partialResult());
          throw A.wrapException(t1);
        }
        _this._seen.pop();
      } catch (exception) {
        e = A.unwrapException(exception);
        t1 = A.JsonUnsupportedObjectError$(object, e, _this.get$_partialResult());
        throw A.wrapException(t1);
      }
    },
    writeJsonValue$1(object) {
      var success, _this = this;
      if (typeof object == "number") {
        if (!isFinite(object))
          return false;
        _this.writeNumber$1(object);
        return true;
      } else if (object === true) {
        _this.writeString$1("true");
        return true;
      } else if (object === false) {
        _this.writeString$1("false");
        return true;
      } else if (object == null) {
        _this.writeString$1("null");
        return true;
      } else if (typeof object == "string") {
        _this.writeString$1('"');
        _this.writeStringContent$1(object);
        _this.writeString$1('"');
        return true;
      } else if (type$.List_dynamic._is(object)) {
        _this._checkCycle$1(object);
        _this.writeList$1(object);
        _this._seen.pop();
        return true;
      } else if (type$.Map_dynamic_dynamic._is(object)) {
        _this._checkCycle$1(object);
        success = _this.writeMap$1(object);
        _this._seen.pop();
        return success;
      } else
        return false;
    },
    writeList$1(list) {
      var t1, i, _this = this;
      _this.writeString$1("[");
      t1 = J.getInterceptor$asx(list);
      if (t1.get$isNotEmpty(list)) {
        _this.writeObject$1(t1.$index(list, 0));
        for (i = 1; i < t1.get$length(list); ++i) {
          _this.writeString$1(",");
          _this.writeObject$1(t1.$index(list, i));
        }
      }
      _this.writeString$1("]");
    },
    writeMap$1(map) {
      var t1, keyValueList, i, separator, _this = this, _box_0 = {};
      if (map.get$isEmpty(map)) {
        _this.writeString$1("{}");
        return true;
      }
      t1 = map.get$length(map) * 2;
      keyValueList = A.List_List$filled(t1, null, false, type$.nullable_Object);
      i = _box_0.i = 0;
      _box_0.allStringKeys = true;
      map.forEach$1(0, new A._JsonStringifier_writeMap_closure(_box_0, keyValueList));
      if (!_box_0.allStringKeys)
        return false;
      _this.writeString$1("{");
      for (separator = '"'; i < t1; i += 2, separator = ',"') {
        _this.writeString$1(separator);
        _this.writeStringContent$1(A._asString(keyValueList[i]));
        _this.writeString$1('":');
        _this.writeObject$1(keyValueList[i + 1]);
      }
      _this.writeString$1("}");
      return true;
    }
  };
  A._JsonStringifier_writeMap_closure.prototype = {
    call$2(key, value) {
      var t1, t2, t3, i;
      if (typeof key != "string")
        this._box_0.allStringKeys = false;
      t1 = this.keyValueList;
      t2 = this._box_0;
      t3 = t2.i;
      i = t2.i = t3 + 1;
      t1[t3] = key;
      t2.i = i + 1;
      t1[i] = value;
    },
    $signature: 170
  };
  A._JsonStringStringifier.prototype = {
    get$_partialResult() {
      var t1 = this._sink._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    writeNumber$1(number) {
      var t1 = this._sink,
        t2 = B.JSNumber_methods.toString$0(number);
      t1._contents += t2;
    },
    writeString$1(string) {
      this._sink._contents += string;
    },
    writeStringSlice$3(string, start, end) {
      this._sink._contents += B.JSString_methods.substring$2(string, start, end);
    },
    writeCharCode$1(charCode) {
      var t1 = this._sink,
        t2 = A.Primitives_stringFromCharCode(charCode);
      t1._contents += t2;
    }
  };
  A.StringConversionSink.prototype = {};
  A._StringSinkConversionSink.prototype = {
    close$0(_) {
    }
  };
  A._StringCallbackSink.prototype = {
    close$0(_) {
      var t1 = this._stringSink,
        t2 = t1._contents;
      t1._contents = "";
      this._convert$_callback.call$1(t2.charCodeAt(0) == 0 ? t2 : t2);
    },
    asUtf8Sink$1(allowMalformed) {
      return new A._Utf8StringSinkAdapter(new A._Utf8Decoder(allowMalformed), this, this._stringSink);
    }
  };
  A._Utf8StringSinkAdapter.prototype = {
    close$0(_) {
      this._decoder.flush$1(this._stringSink);
      this._sink.close$0(0);
    },
    add$1(_, chunk) {
      this.addSlice$4(chunk, 0, J.get$length$asx(chunk), false);
    },
    addSlice$4(codeUnits, startIndex, endIndex, isLast) {
      var t1 = this._stringSink,
        t2 = this._decoder._convertGeneral$4(codeUnits, startIndex, endIndex, false);
      t1._contents += t2;
      if (isLast)
        this.close$0(0);
    }
  };
  A.Utf8Codec.prototype = {
    encode$1(string) {
      return B.C_Utf8Encoder.convert$1(string);
    }
  };
  A.Utf8Encoder.prototype = {
    convert$1(string) {
      var t1, encoder,
        end = A.RangeError_checkValidRange(0, null, string.length),
        $length = end - 0;
      if ($length === 0)
        return new Uint8Array(0);
      t1 = new Uint8Array($length * 3);
      encoder = new A._Utf8Encoder(t1);
      if (encoder._fillBuffer$3(string, 0, end) !== end)
        encoder._writeReplacementCharacter$0();
      return B.NativeUint8List_methods.sublist$2(t1, 0, encoder._bufferIndex);
    }
  };
  A._Utf8Encoder.prototype = {
    _writeReplacementCharacter$0() {
      var _this = this,
        t1 = _this._buffer,
        t2 = _this._bufferIndex,
        t3 = _this._bufferIndex = t2 + 1;
      t1[t2] = 239;
      t2 = _this._bufferIndex = t3 + 1;
      t1[t3] = 191;
      _this._bufferIndex = t2 + 1;
      t1[t2] = 189;
    },
    _writeSurrogate$2(leadingSurrogate, nextCodeUnit) {
      var rune, t1, t2, t3, _this = this;
      if ((nextCodeUnit & 64512) === 56320) {
        rune = 65536 + ((leadingSurrogate & 1023) << 10) | nextCodeUnit & 1023;
        t1 = _this._buffer;
        t2 = _this._bufferIndex;
        t3 = _this._bufferIndex = t2 + 1;
        t1[t2] = rune >>> 18 | 240;
        t2 = _this._bufferIndex = t3 + 1;
        t1[t3] = rune >>> 12 & 63 | 128;
        t3 = _this._bufferIndex = t2 + 1;
        t1[t2] = rune >>> 6 & 63 | 128;
        _this._bufferIndex = t3 + 1;
        t1[t3] = rune & 63 | 128;
        return true;
      } else {
        _this._writeReplacementCharacter$0();
        return false;
      }
    },
    _fillBuffer$3(str, start, end) {
      var t1, t2, stringIndex, codeUnit, t3, stringIndex0, t4, _this = this;
      if (start !== end && (str.charCodeAt(end - 1) & 64512) === 55296)
        --end;
      for (t1 = _this._buffer, t2 = t1.length, stringIndex = start; stringIndex < end; ++stringIndex) {
        codeUnit = str.charCodeAt(stringIndex);
        if (codeUnit <= 127) {
          t3 = _this._bufferIndex;
          if (t3 >= t2)
            break;
          _this._bufferIndex = t3 + 1;
          t1[t3] = codeUnit;
        } else {
          t3 = codeUnit & 64512;
          if (t3 === 55296) {
            if (_this._bufferIndex + 4 > t2)
              break;
            stringIndex0 = stringIndex + 1;
            if (_this._writeSurrogate$2(codeUnit, str.charCodeAt(stringIndex0)))
              stringIndex = stringIndex0;
          } else if (t3 === 56320) {
            if (_this._bufferIndex + 3 > t2)
              break;
            _this._writeReplacementCharacter$0();
          } else if (codeUnit <= 2047) {
            t3 = _this._bufferIndex;
            t4 = t3 + 1;
            if (t4 >= t2)
              break;
            _this._bufferIndex = t4;
            t1[t3] = codeUnit >>> 6 | 192;
            _this._bufferIndex = t4 + 1;
            t1[t4] = codeUnit & 63 | 128;
          } else {
            t3 = _this._bufferIndex;
            if (t3 + 2 >= t2)
              break;
            t4 = _this._bufferIndex = t3 + 1;
            t1[t3] = codeUnit >>> 12 | 224;
            t3 = _this._bufferIndex = t4 + 1;
            t1[t4] = codeUnit >>> 6 & 63 | 128;
            _this._bufferIndex = t3 + 1;
            t1[t3] = codeUnit & 63 | 128;
          }
        }
      }
      return stringIndex;
    }
  };
  A.Utf8Decoder.prototype = {
    convert$1(codeUnits) {
      return new A._Utf8Decoder(this._allowMalformed)._convertGeneral$4(codeUnits, 0, null, true);
    }
  };
  A._Utf8Decoder.prototype = {
    _convertGeneral$4(codeUnits, start, maybeEnd, single) {
      var casted, bytes, errorOffset, t1, result, message, _this = this,
        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);
    },
    flush$1(sink) {
      var t1,
        state = this._convert$_state;
      this._convert$_state = 0;
      if (state <= 32)
        return;
      if (this.allowMalformed) {
        t1 = A.Primitives_stringFromCharCode(65533);
        sink._contents += t1;
      } else
        throw A.wrapException(A.FormatException$(A._Utf8Decoder_errorDescription(77), null, null));
    },
    decodeGeneral$4(bytes, start, end, single) {
      var t1, type, t2, i0, markEnd, i1, m, _this = this, _65533 = 65533,
        state = _this._convert$_state,
        char = _this._charOrIndex,
        buffer = new A.StringBuffer(""),
        i = start + 1,
        byte = bytes[start];
      $label0$0:
        for (t1 = _this.allowMalformed; true;) {
          for (; true; i = i0) {
            type = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE".charCodeAt(byte) & 31;
            char = state <= 32 ? byte & 61694 >>> type : (byte & 63 | char << 6) >>> 0;
            state = " \x000:XECCCCCN:lDb \x000:XECCCCCNvlDb \x000:XECCCCCN:lDb AAAAA\x00\x00\x00\x00\x00AAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA000\x800AAAAA\x00\x00\x00\x00 AAAAA".charCodeAt(state + type);
            if (state === 0) {
              t2 = A.Primitives_stringFromCharCode(char);
              buffer._contents += t2;
              if (i === end)
                break $label0$0;
              break;
            } else if ((state & 1) !== 0) {
              if (t1)
                switch (state) {
                  case 69:
                  case 67:
                    t2 = A.Primitives_stringFromCharCode(_65533);
                    buffer._contents += t2;
                    break;
                  case 65:
                    t2 = A.Primitives_stringFromCharCode(_65533);
                    buffer._contents += t2;
                    --i;
                    break;
                  default:
                    t2 = A.Primitives_stringFromCharCode(_65533);
                    t2 = buffer._contents += t2;
                    buffer._contents = t2 + A.Primitives_stringFromCharCode(_65533);
                    break;
                }
              else {
                _this._convert$_state = state;
                _this._charOrIndex = i - 1;
                return "";
              }
              state = 0;
            }
            if (i === end)
              break $label0$0;
            i0 = i + 1;
            byte = bytes[i];
          }
          i0 = i + 1;
          byte = bytes[i];
          if (byte < 128) {
            while (true) {
              if (!(i0 < end)) {
                markEnd = end;
                break;
              }
              i1 = i0 + 1;
              byte = bytes[i0];
              if (byte >= 128) {
                markEnd = i1 - 1;
                i0 = i1;
                break;
              }
              i0 = i1;
            }
            if (markEnd - i < 20)
              for (m = i; m < markEnd; ++m) {
                t2 = A.Primitives_stringFromCharCode(bytes[m]);
                buffer._contents += t2;
              }
            else {
              t2 = A.String_String$fromCharCodes(bytes, i, markEnd);
              buffer._contents += t2;
            }
            if (markEnd === end)
              break $label0$0;
            i = i0;
          } else
            i = i0;
        }
      if (single && state > 32)
        if (t1) {
          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.NoSuchMethodError_toString_closure.prototype = {
    call$2(key, value) {
      var t1 = this.sb,
        t2 = this._box_0,
        t3 = t1._contents += t2.comma;
      t3 += key.__internal$_name;
      t1._contents = t3;
      t1._contents = t3 + ": ";
      t3 = A.Error_safeToString(value);
      t1._contents += t3;
      t2.comma = ", ";
    },
    $signature: 325
  };
  A.DateTime.prototype = {
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (other instanceof A.DateTime)
        t1 = this._value === other._value;
      else
        t1 = false;
      return t1;
    },
    compareTo$1(_, other) {
      return B.JSInt_methods.compareTo$1(this._value, other._value);
    },
    get$hashCode(_) {
      var t1 = this._value;
      return (t1 ^ B.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823;
    },
    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));
      return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms;
    },
    $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, 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();
    }
  };
  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";
    },
    get$message(receiver) {
      return this.message;
    }
  };
  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;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.RangeError.prototype = {
    get$invalidValue() {
      return this.invalidValue;
    },
    get$_errorName() {
      return "RangeError";
    },
    get$_errorExplanation() {
      var explanation,
        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 this.invalidValue;
    },
    get$_errorName() {
      return "RangeError";
    },
    get$_errorExplanation() {
      if (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;
    },
    $isRangeError: 1,
    get$length(receiver) {
      return this.length;
    }
  };
  A.NoSuchMethodError.prototype = {
    toString$0(_) {
      var $arguments, t1, _i, t2, t3, argument, receiverText, actualParameters, _this = this, _box_0 = {},
        sb = new A.StringBuffer("");
      _box_0.comma = "";
      $arguments = _this._core$_arguments;
      for (t1 = $arguments.length, _i = 0, t2 = "", t3 = ""; _i < t1; ++_i, t3 = ", ") {
        argument = $arguments[_i];
        sb._contents = t2 + t3;
        t2 = A.Error_safeToString(argument);
        t2 = sb._contents += t2;
        _box_0.comma = ", ";
      }
      _this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb));
      receiverText = A.Error_safeToString(_this._core$_receiver);
      actualParameters = sb.toString$0(0);
      return "NoSuchMethodError: method not found: '" + _this._memberName.__internal$_name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
    }
  };
  A.UnsupportedError.prototype = {
    toString$0(_) {
      return "Unsupported operation: " + this.message;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.UnimplementedError.prototype = {
    toString$0(_) {
      return "UnimplementedError: " + this.message;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.StateError.prototype = {
    toString$0(_) {
      return "Bad state: " + this.message;
    },
    get$message(receiver) {
      return 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,
    get$message(receiver) {
      return this.message;
    }
  };
  A.FormatException.prototype = {
    toString$0(_) {
      var t1, lineNum, lineStart, previousCharWasCR, i, char, lineEnd, end, start, prefix, postfix,
        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 (lineNum = 1, lineStart = 0, previousCharWasCR = false, i = 0; i < offset; ++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");
        lineEnd = source.length;
        for (i = offset; i < lineEnd; ++i) {
          char = source.charCodeAt(i);
          if (char === 10 || char === 13) {
            lineEnd = i;
            break;
          }
        }
        if (lineEnd - lineStart > 78)
          if (offset - lineStart < 75) {
            end = lineStart + 75;
            start = lineStart;
            prefix = "";
            postfix = "...";
          } else {
            if (lineEnd - offset < 75) {
              start = lineEnd - 75;
              end = lineEnd;
              postfix = "";
            } else {
              start = offset - 36;
              end = offset + 36;
              postfix = "...";
            }
            prefix = "...";
          }
        else {
          end = lineEnd;
          start = lineStart;
          prefix = "";
          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,
    get$message(receiver) {
      return this.message;
    }
  };
  A.Iterable.prototype = {
    cast$1$0(_, $R) {
      return A.CastIterable_CastIterable(this, A._instanceType(this)._eval$1("Iterable.E"), $R);
    },
    followedBy$1(_, other) {
      var _this = this,
        t1 = A._instanceType(_this);
      if (t1._eval$1("EfficientLengthIterable")._is(_this))
        return A.FollowedByIterable_FollowedByIterable$firstEfficient(_this, other, t1._eval$1("Iterable.E"));
      return new A.FollowedByIterable(_this, other, t1._eval$1("FollowedByIterable"));
    },
    map$1$1(_, toElement, $T) {
      return A.MappedIterable_MappedIterable(this, toElement, A._instanceType(this)._eval$1("Iterable.E"), $T);
    },
    where$1(_, test) {
      return new A.WhereIterable(this, test, A._instanceType(this)._eval$1("WhereIterable"));
    },
    expand$1$1(_, toElements, $T) {
      return new A.ExpandIterable(this, toElements, A._instanceType(this)._eval$1("@")._bind$1($T)._eval$1("ExpandIterable<1,2>"));
    },
    contains$1(_, element) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        if (J.$eq$(t1.get$current(t1), element))
          return true;
      return false;
    },
    forEach$1(_, action) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        action.call$1(t1.get$current(t1));
    },
    fold$1$2(_, initialValue, combine) {
      var t1, value;
      for (t1 = this.get$iterator(this), value = initialValue; t1.moveNext$0();)
        value = combine.call$2(value, t1.get$current(t1));
      return value;
    },
    fold$2(_, initialValue, combine) {
      return this.fold$1$2(0, initialValue, combine, type$.dynamic);
    },
    every$1(_, test) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        if (!test.call$1(t1.get$current(t1)))
          return false;
      return true;
    },
    join$1(_, separator) {
      var first, t1,
        iterator = this.get$iterator(this);
      if (!iterator.moveNext$0())
        return "";
      first = J.toString$0$(iterator.get$current(iterator));
      if (!iterator.moveNext$0())
        return first;
      if (separator.length === 0) {
        t1 = first;
        do
          t1 += A.S(J.toString$0$(iterator.get$current(iterator)));
        while (iterator.moveNext$0());
      } else {
        t1 = first;
        do
          t1 = t1 + separator + A.S(J.toString$0$(iterator.get$current(iterator)));
        while (iterator.moveNext$0());
      }
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    any$1(_, test) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        if (test.call$1(t1.get$current(t1)))
          return true;
      return false;
    },
    toList$1$growable(_, growable) {
      return A.List_List$of(this, growable, A._instanceType(this)._eval$1("Iterable.E"));
    },
    toList$0(_) {
      return this.toList$1$growable(0, true);
    },
    toSet$0(_) {
      return A.LinkedHashSet_LinkedHashSet$of(this, A._instanceType(this)._eval$1("Iterable.E"));
    },
    get$length(_) {
      var count,
        it = this.get$iterator(this);
      for (count = 0; it.moveNext$0();)
        ++count;
      return count;
    },
    get$isEmpty(_) {
      return !this.get$iterator(this).moveNext$0();
    },
    get$isNotEmpty(_) {
      return !this.get$isEmpty(this);
    },
    take$1(_, count) {
      return A.TakeIterable_TakeIterable(this, count, A._instanceType(this)._eval$1("Iterable.E"));
    },
    skip$1(_, count) {
      return A.SkipIterable_SkipIterable(this, count, A._instanceType(this)._eval$1("Iterable.E"));
    },
    skipWhile$1(_, test) {
      return new A.SkipWhileIterable(this, test, A._instanceType(this)._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(it);
    },
    get$last(_) {
      var result,
        it = this.get$iterator(this);
      if (!it.moveNext$0())
        throw A.wrapException(A.IterableElementError_noElement());
      do
        result = it.get$current(it);
      while (it.moveNext$0());
      return result;
    },
    get$single(_) {
      var result,
        it = this.get$iterator(this);
      if (!it.moveNext$0())
        throw A.wrapException(A.IterableElementError_noElement());
      result = it.get$current(it);
      if (it.moveNext$0())
        throw A.wrapException(A.IterableElementError_tooMany());
      return result;
    },
    elementAt$1(_, index) {
      var iterator, skipCount;
      A.RangeError_checkNotNegative(index, "index");
      iterator = this.get$iterator(this);
      for (skipCount = index; iterator.moveNext$0();) {
        if (skipCount === 0)
          return iterator.get$current(iterator);
        --skipCount;
      }
      throw A.wrapException(A.IndexError$withLength(index, index - skipCount, this, null, "index"));
    },
    toString$0(_) {
      return A.Iterable_iterableToShortString(this, "(", ")");
    }
  };
  A._GeneratorIterable.prototype = {
    elementAt$1(_, index) {
      A.IndexError_check(index, this.length, this, null, null);
      return this._generator.call$1(index);
    },
    get$length(receiver) {
      return this.length;
    }
  };
  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) + "'";
    },
    noSuchMethod$1(_, invocation) {
      throw A.wrapException(A.NoSuchMethodError_NoSuchMethodError$withInvocation(this, invocation));
    },
    get$runtimeType(_) {
      return A.getRuntimeTypeOfDartObject(this);
    },
    toString() {
      return this.toString$0(this);
    }
  };
  A._StringStackTrace.prototype = {
    toString$0(_) {
      return this._stackTrace;
    },
    $isStackTrace: 1
  };
  A.Runes.prototype = {
    get$iterator(_) {
      return new A.RuneIterator(this.string);
    },
    get$last(_) {
      var code, previousCode,
        t1 = this.string,
        t2 = t1.length;
      if (t2 === 0)
        throw A.wrapException(A.StateError$("No elements."));
      code = t1.charCodeAt(t2 - 1);
      if ((code & 64512) === 56320 && t2 > 1) {
        previousCode = t1.charCodeAt(t2 - 2);
        if ((previousCode & 64512) === 55296)
          return A._combineSurrogatePair(previousCode, code);
      }
      return code;
    }
  };
  A.RuneIterator.prototype = {
    get$current(_) {
      return this._currentCodePoint;
    },
    moveNext$0() {
      var codeUnit, nextPosition, nextCodeUnit, _this = this,
        t1 = _this._position = _this._nextPosition,
        t2 = _this.string,
        t3 = t2.length;
      if (t1 === t3) {
        _this._currentCodePoint = -1;
        return false;
      }
      codeUnit = t2.charCodeAt(t1);
      nextPosition = t1 + 1;
      if ((codeUnit & 64512) === 55296 && nextPosition < t3) {
        nextCodeUnit = t2.charCodeAt(nextPosition);
        if ((nextCodeUnit & 64512) === 56320) {
          _this._nextPosition = nextPosition + 1;
          _this._currentCodePoint = A._combineSurrogatePair(codeUnit, nextCodeUnit);
          return true;
        }
      }
      _this._nextPosition = nextPosition;
      _this._currentCodePoint = codeUnit;
      return true;
    }
  };
  A.StringBuffer.prototype = {
    get$length(_) {
      return this._contents.length;
    },
    write$1(_, obj) {
      var t1 = A.S(obj);
      this._contents += t1;
    },
    writeCharCode$1(charCode) {
      var t1 = A.Primitives_stringFromCharCode(charCode);
      this._contents += t1;
    },
    toString$0(_) {
      var t1 = this._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.Uri__parseIPv4Address_error.prototype = {
    call$2(msg, position) {
      throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
    },
    $signature: 288
  };
  A.Uri_parseIPv6Address_error.prototype = {
    call$2(msg, position) {
      throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position));
    },
    $signature: 295
  };
  A.Uri_parseIPv6Address_parseHex.prototype = {
    call$2(start, end) {
      var value;
      if (end - start > 4)
        this.error.call$2("an IPv6 part can only contain a maximum of 4 hex digits", start);
      value = A.int_parse(B.JSString_methods.substring$2(this.host, start, end), 16);
      if (value < 0 || value > 65535)
        this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start);
      return value;
    },
    $signature: 296
  };
  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 !== $ && A.throwUnnamedLateFieldADI();
        value = _this.___Uri__text_FI = t1.charCodeAt(0) == 0 ? t1 : t1;
      }
      return value;
    },
    get$pathSegments() {
      var pathToSplit, result, _this = this,
        value = _this.___Uri_pathSegments_FI;
      if (value === $) {
        pathToSplit = _this.path;
        if (pathToSplit.length !== 0 && pathToSplit.charCodeAt(0) === 47)
          pathToSplit = B.JSString_methods.substring$1(pathToSplit, 1);
        result = pathToSplit.length === 0 ? B.List_empty : A.List_List$unmodifiable(new A.MappedListIterable(A._setArrayType(pathToSplit.split("/"), type$.JSArray_String), A.core_Uri_decodeComponent$closure(), type$.MappedListIterable_String_dynamic), type$.String);
        _this.___Uri_pathSegments_FI !== $ && A.throwUnnamedLateFieldADI();
        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.throwUnnamedLateFieldADI();
        _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, "["))
        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);
    },
    _mergePaths$2(base, reference) {
      var backCount, refStart, baseEnd, newEnd, delta, t1;
      for (backCount = 0, refStart = 0; B.JSString_methods.startsWith$2(reference, "../", refStart);) {
        refStart += 3;
        ++backCount;
      }
      baseEnd = B.JSString_methods.lastIndexOf$1(base, "/");
      while (true) {
        if (!(baseEnd > 0 && backCount > 0))
          break;
        newEnd = B.JSString_methods.lastIndexOf$2(base, "/", baseEnd - 1);
        if (newEnd < 0)
          break;
        delta = baseEnd - newEnd;
        t1 = delta !== 2;
        if (!t1 || delta === 3)
          if (base.charCodeAt(newEnd + 1) === 46)
            t1 = !t1 || base.charCodeAt(newEnd + 2) === 46;
          else
            t1 = false;
        else
          t1 = false;
        if (t1)
          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, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, split, packageNameEnd, packageName, mergedPath, t1, fragment, _this = this, _null = null;
      if (reference.get$scheme().length !== 0) {
        if (type$._PlatformUri._is(reference))
          return reference;
        targetScheme = reference.get$scheme();
        if (reference.get$hasAuthority()) {
          targetUserInfo = reference.get$userInfo();
          targetHost = reference.get$host();
          targetPort = reference.get$hasPort() ? reference.get$port(reference) : _null;
        } else {
          targetPort = _null;
          targetHost = targetPort;
          targetUserInfo = "";
        }
        targetPath = A._Uri__removeDotSegments(reference.get$path(reference));
        targetQuery = reference.get$hasQuery() ? reference.get$query() : _null;
        split = 0;
      } else {
        targetScheme = _this.scheme;
        if (reference.get$hasAuthority()) {
          if (type$._PlatformUri._is(reference))
            return reference.replace$1$scheme(targetScheme);
          targetUserInfo = reference.get$userInfo();
          targetHost = reference.get$host();
          targetPort = A._Uri__makePort(reference.get$hasPort() ? reference.get$port(reference) : _null, targetScheme);
          targetPath = A._Uri__removeDotSegments(reference.get$path(reference));
          targetQuery = reference.get$hasQuery() ? reference.get$query() : _null;
          split = 1;
        } else {
          targetUserInfo = _this._userInfo;
          targetHost = _this._host;
          targetPort = _this._port;
          targetPath = _this.path;
          if (reference.get$hasEmptyPath())
            if (reference.get$hasQuery()) {
              targetQuery = reference.get$query();
              split = 3;
            } else {
              targetQuery = _this._query;
              split = 4;
            }
          else {
            packageNameEnd = A._Uri__packageNameEnd(_this, targetPath);
            if (packageNameEnd > 0) {
              packageName = B.JSString_methods.substring$2(targetPath, 0, packageNameEnd);
              targetPath = reference.get$hasAbsolutePath() ? packageName + A._Uri__removeDotSegments(reference.get$path(reference)) : packageName + A._Uri__removeDotSegments(_this._mergePaths$2(B.JSString_methods.substring$1(targetPath, packageName.length), reference.get$path(reference)));
            } else if (reference.get$hasAbsolutePath())
              targetPath = A._Uri__removeDotSegments(reference.get$path(reference));
            else if (targetPath.length === 0)
              if (targetHost == null)
                targetPath = targetScheme.length === 0 ? reference.get$path(reference) : A._Uri__removeDotSegments(reference.get$path(reference));
              else
                targetPath = A._Uri__removeDotSegments("/" + reference.get$path(reference));
            else {
              mergedPath = _this._mergePaths$2(targetPath, reference.get$path(reference));
              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;
            split = 2;
          }
        }
      }
      fragment = reference.get$hasFragment() ? reference.get$fragment() : _null;
      if (!type$._PlatformUri._is(reference)) {
        if (split === 0)
          targetScheme = A._Uri__makeScheme(targetScheme, 0, targetScheme.length);
        if (split <= 1) {
          targetUserInfo = A._Uri__makeUserInfo(targetUserInfo, 0, targetUserInfo.length);
          if (targetPort != null)
            targetPort = A._Uri__makePort(targetPort, targetScheme);
          if (targetHost != null && targetHost.length !== 0)
            targetHost = A._Uri__makeHost(targetHost, 0, targetHost.length, false);
        }
        t1 = split <= 3;
        if (t1)
          targetPath = A._Uri__makePath(targetPath, 0, targetPath.length, _null, targetScheme, targetHost != null);
        if (t1 && targetQuery != null)
          targetQuery = A._Uri__makeQuery(targetQuery, 0, targetQuery.length, _null);
        if (fragment != null)
          fragment = A._Uri__makeFragment(fragment, 0, fragment.length);
      }
      return A._Uri$_internal(targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, fragment);
    },
    get$hasAuthority() {
      return this._host != null;
    },
    get$hasPort() {
      return this._port != 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$.Cannotfq));
      t1 = _this._fragment;
      if ((t1 == null ? "" : t1) !== "")
        throw A.wrapException(A.UnsupportedError$(string$.Cannotff));
      t1 = $.$get$_Uri__isWindowsCached();
      if (t1)
        t1 = A._Uri__toWindowsFilePath(_this);
      else {
        if (_this._host != null && _this.get$host() !== "")
          A.throwExpression(A.UnsupportedError$(string$.Cannotn));
        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, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      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(0) === other.get$port(other))
                  if (_this.path === other.get$path(other)) {
                    t1 = _this._query;
                    t2 = t1 == null;
                    if (!t2 === other.get$hasQuery()) {
                      if (t2)
                        t1 = "";
                      if (t1 === other.get$query()) {
                        t1 = _this._fragment;
                        t2 = t1 == null;
                        if (!t2 === other.get$hasFragment()) {
                          if (t2)
                            t1 = "";
                          t1 = t1 === other.get$fragment();
                        } else
                          t1 = false;
                      } else
                        t1 = false;
                    } else
                      t1 = false;
                  } else
                    t1 = false;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    $isUri: 1,
    $is_PlatformUri: 1,
    get$scheme() {
      return this.scheme;
    },
    get$path(receiver) {
      return this.path;
    }
  };
  A._Uri__makePath_closure.prototype = {
    call$1(s) {
      return A._Uri__uriEncode(B.List_M2I0, s, B.C_Utf8Codec, false);
    },
    $signature: 5
  };
  A.UriData.prototype = {
    get$uri() {
      var t2, queryIndex, end, query, _this = this, _null = null,
        t1 = _this._uriCache;
      if (t1 == null) {
        t1 = _this._text;
        t2 = _this._separatorIndices[0] + 1;
        queryIndex = B.JSString_methods.indexOf$2(t1, "?", t2);
        end = t1.length;
        if (queryIndex >= 0) {
          query = A._Uri__normalizeOrSubstring(t1, queryIndex + 1, end, B.List_42A, false, false);
          end = queryIndex;
        } else
          query = _null;
        t1 = _this._uriCache = new A._DataUri("data", "", _null, _null, A._Uri__normalizeOrSubstring(t1, t2, end, B.List_M2I, false, false), query, _null);
      }
      return t1;
    },
    toString$0(_) {
      var t1 = this._text;
      return this._separatorIndices[0] === -1 ? "data:" + t1 : t1;
    }
  };
  A._createTables_build.prototype = {
    call$2(state, defaultTransition) {
      var t1 = this.tables[state];
      B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition);
      return t1;
    },
    $signature: 328
  };
  A._createTables_setChars.prototype = {
    call$3(target, chars, transition) {
      var t1, i;
      for (t1 = chars.length, i = 0; i < t1; ++i)
        target[chars.charCodeAt(i) ^ 96] = transition;
    },
    $signature: 221
  };
  A._createTables_setRange.prototype = {
    call$3(target, range, transition) {
      var i, n;
      for (i = range.charCodeAt(0), n = range.charCodeAt(1); i <= n; ++i)
        target[(i ^ 96) >>> 0] = transition;
    },
    $signature: 221
  };
  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$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) : "";
    },
    get$pathSegments() {
      var parts, i,
        start = this._pathStart,
        end = this._queryStart,
        t1 = this._uri;
      if (B.JSString_methods.startsWith$2(t1, "/", start))
        ++start;
      if (start === end)
        return B.List_empty;
      parts = A._setArrayType([], type$.JSArray_String);
      for (i = start; i < end; ++i)
        if (t1.charCodeAt(i) === 47) {
          parts.push(B.JSString_methods.substring$2(t1, start, i));
          start = i + 1;
        }
      parts.push(B.JSString_methods.substring$2(t1, start, end));
      return A.List_List$unmodifiable(parts, type$.String);
    },
    _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(0) : _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) {
        for (; 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;
      while (true) {
        refStart0 = refStart + 3;
        if (!(refStart0 <= t1 && B.JSString_methods.startsWith$2(t2, "../", refStart)))
          break;
        ++backCount;
        refStart = refStart0;
      }
      for (insert = ""; baseEnd > baseStart0;) {
        --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, t3, _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$.Cannotfq));
        throw A.wrapException(A.UnsupportedError$(string$.Cannotff));
      }
      t3 = $.$get$_Uri__isWindowsCached();
      if (t3)
        t1 = A._Uri__toWindowsFilePath(_this);
      else {
        if (_this._hostStart < _this._portStart)
          A.throwExpression(A.UnsupportedError$(string$.Cannotn));
        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(0) : _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,
    $is_PlatformUri: 1
  };
  A._DataUri.prototype = {};
  A.Expando.prototype = {
    $indexSet(_, object, value) {
      if (object instanceof A._Record)
        A.Expando__badExpandoKey(object);
      this._jsWeakMap.set(object, value);
    },
    toString$0(_) {
      return "Expando:null";
    }
  };
  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_of_nullable_Object_and_nullable_Object._is(o)) {
        convertedMap = {};
        t1.$indexSet(0, o, convertedMap);
        for (t1 = J.get$iterator$ax(o.get$keys(o)); t1.moveNext$0();) {
          key = t1.get$current(t1);
          convertedMap[key] = this.call$1(o.$index(0, key));
        }
        return convertedMap;
      } else if (type$.Iterable_nullable_Object._is(o)) {
        convertedList = [];
        t1.$indexSet(0, o, convertedList);
        B.JSArray_methods.addAll$1(convertedList, J.map$1$1$ax(o, this, type$.dynamic));
        return convertedList;
      } else
        return o;
    },
    $signature: 392
  };
  A.promiseToFuture_closure1.prototype = {
    call$1(r) {
      return this.completer.complete$1(r);
    },
    $signature: 71
  };
  A.promiseToFuture_closure2.prototype = {
    call$1(e) {
      if (e == null)
        return this.completer.completeError$1(new A.NullRejectionException(e === undefined));
      return this.completer.completeError$1(e);
    },
    $signature: 71
  };
  A.NullRejectionException.prototype = {
    toString$0(_) {
      return "Promise was rejected with a value of `" + (this.isUndefined ? "undefined" : "null") + "`.";
    },
    $isException: 1
  };
  A._JSRandom.prototype = {
    nextInt$1(max) {
      if (max <= 0 || max > 4294967296)
        throw A.wrapException(A.RangeError$("max must be in range 0 < max \u2264 2^32, was " + max));
      return Math.random() * max >>> 0;
    },
    nextDouble$0() {
      return Math.random();
    }
  };
  A.ArgParser.prototype = {
    addFlag$6$abbr$defaultsTo$help$hide$negatable($name, abbr, defaultsTo, help, hide, negatable) {
      var _null = null;
      this._addOption$12$aliases$hide$negatable($name, abbr, help, _null, _null, _null, defaultsTo, _null, B.OptionType_I6i, B.List_empty, hide, negatable);
    },
    addFlag$2$hide($name, hide) {
      return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, false, null, hide, true);
    },
    addFlag$2$help($name, help) {
      return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, false, help, false, true);
    },
    addFlag$3$defaultsTo$help($name, defaultsTo, help) {
      return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, defaultsTo, help, false, true);
    },
    addFlag$3$help$negatable($name, help, negatable) {
      return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, false, help, false, negatable);
    },
    addFlag$3$abbr$help($name, abbr, help) {
      return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, abbr, false, help, false, true);
    },
    addFlag$4$abbr$help$negatable($name, abbr, help, negatable) {
      return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, abbr, false, help, false, negatable);
    },
    addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, abbr, allowed, defaultsTo, help, hide, valueHelp) {
      this._addOption$12$aliases$hide$mandatory($name, abbr, help, valueHelp, allowed, null, defaultsTo, null, B.OptionType_tew, B.List_empty, hide, false);
    },
    addOption$2$hide($name, hide) {
      var _null = null;
      return this.addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, _null, _null, _null, _null, hide, _null);
    },
    addOption$6$abbr$allowed$defaultsTo$help$valueHelp($name, abbr, allowed, defaultsTo, help, valueHelp) {
      return this.addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, abbr, allowed, defaultsTo, help, false, valueHelp);
    },
    addOption$4$allowed$defaultsTo$help($name, allowed, defaultsTo, help) {
      return this.addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, null, allowed, defaultsTo, help, false, null);
    },
    addMultiOption$7$abbr$allowed$allowedHelp$help$splitCommas$valueHelp($name, abbr, allowed, allowedHelp, help, splitCommas, valueHelp) {
      var t1 = A._setArrayType([], type$.JSArray_String);
      this._addOption$12$aliases$hide$splitCommas($name, abbr, help, valueHelp, allowed, allowedHelp, t1, null, B.OptionType_yPm, B.List_empty, false, splitCommas);
    },
    addMultiOption$5$abbr$help$splitCommas$valueHelp($name, abbr, help, splitCommas, valueHelp) {
      return this.addMultiOption$7$abbr$allowed$allowedHelp$help$splitCommas$valueHelp($name, abbr, null, null, help, splitCommas, valueHelp);
    },
    addMultiOption$6$abbr$allowed$allowedHelp$help$valueHelp($name, abbr, allowed, allowedHelp, help, valueHelp) {
      return this.addMultiOption$7$abbr$allowed$allowedHelp$help$splitCommas$valueHelp($name, abbr, allowed, allowedHelp, help, true, valueHelp);
    },
    addMultiOption$2$help($name, help) {
      var _null = null;
      return this.addMultiOption$7$abbr$allowed$allowedHelp$help$splitCommas$valueHelp($name, _null, _null, _null, help, true, _null);
    },
    _addOption$14$aliases$hide$mandatory$negatable$splitCommas($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, aliases, hide, mandatory, negatable, splitCommas) {
      var existing, t2, t3, option, _i, _this = this, _null = null,
        t1 = A._setArrayType([$name], type$.JSArray_String);
      B.JSArray_methods.addAll$1(t1, aliases);
      if (B.JSArray_methods.any$1(t1, new A.ArgParser__addOption_closure(_this)))
        throw A.wrapException(A.ArgumentError$('Duplicate option or alias "' + $name + '".', _null));
      t1 = abbr != null;
      if (t1) {
        existing = _this.findByAbbreviation$1(abbr);
        if (existing != null)
          throw A.wrapException(A.ArgumentError$('Abbreviation "' + abbr + '" is already used by "' + existing.name + '".', _null));
      }
      t2 = allowed == null ? _null : A.List_List$unmodifiable(allowed, type$.String);
      if (allowedHelp == null)
        t3 = _null;
      else {
        t3 = type$.String;
        t3 = A.ConstantMap_ConstantMap$from(allowedHelp, t3, t3);
      }
      option = new A.Option($name, abbr, help, valueHelp, t2, t3, defaultsTo, negatable, callback, type, splitCommas == null ? type === B.OptionType_yPm : splitCommas, false, hide);
      if ($name.length === 0)
        A.throwExpression(A.ArgumentError$("Name cannot be empty.", _null));
      else if (B.JSString_methods.startsWith$1($name, "-"))
        A.throwExpression(A.ArgumentError$("Name " + $name + ' cannot start with "-".', _null));
      t2 = $.$get$Option__invalidChars()._nativeRegExp;
      if (t2.test($name))
        A.throwExpression(A.ArgumentError$('Name "' + $name + '" contains invalid characters.', _null));
      if (t1) {
        if (abbr.length !== 1)
          A.throwExpression(A.ArgumentError$("Abbreviation must be null or have length 1.", _null));
        else if (abbr === "-")
          A.throwExpression(A.ArgumentError$('Abbreviation cannot be "-".', _null));
        if (t2.test(abbr))
          A.throwExpression(A.ArgumentError$("Abbreviation is an invalid character.", _null));
      }
      _this._arg_parser$_options.$indexSet(0, $name, option);
      _this._optionsAndSeparators.push(option);
      for (t1 = _this._aliases, _i = 0; false; ++_i)
        t1.$indexSet(0, aliases[_i], $name);
    },
    _addOption$12$aliases$hide$splitCommas($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, aliases, hide, splitCommas) {
      return this._addOption$14$aliases$hide$mandatory$negatable$splitCommas($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, aliases, hide, false, false, splitCommas);
    },
    _addOption$12$aliases$hide$mandatory($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, aliases, hide, mandatory) {
      return this._addOption$14$aliases$hide$mandatory$negatable$splitCommas($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, aliases, hide, mandatory, false, null);
    },
    _addOption$12$aliases$hide$negatable($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, aliases, hide, negatable) {
      return this._addOption$14$aliases$hide$mandatory$negatable$splitCommas($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, aliases, hide, false, negatable, null);
    },
    findByAbbreviation$1(abbr) {
      var t1, t2;
      for (t1 = this.options._map, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (t2.abbr === abbr)
          return t2;
      }
      return null;
    },
    findByNameOrAlias$1($name) {
      var t1 = this._aliases.$index(0, $name);
      if (t1 == null)
        t1 = $name;
      return this.options._map.$index(0, t1);
    }
  };
  A.ArgParser__addOption_closure.prototype = {
    call$1($name) {
      return this.$this.findByNameOrAlias$1($name) != null;
    },
    $signature: 4
  };
  A.ArgParserException.prototype = {};
  A.ArgResults.prototype = {
    $index(_, $name) {
      var t1 = this._parser.options._map;
      if (!t1.containsKey$1($name))
        throw A.wrapException(A.ArgumentError$('Could not find an option named "' + $name + '".', null));
      t1 = t1.$index(0, $name);
      t1.toString;
      return t1.valueOrDefault$1(this._parsed.$index(0, $name));
    },
    wasParsed$1($name) {
      if (!this._parser.options._map.containsKey$1($name))
        throw A.wrapException(A.ArgumentError$('Could not find an option named "' + $name + '".', null));
      return this._parsed.containsKey$1($name);
    }
  };
  A.Option.prototype = {
    valueOrDefault$1(value) {
      var t1;
      if (value != null)
        return value;
      if (this.type === B.OptionType_yPm) {
        t1 = this.defaultsTo;
        return t1 == null ? A._setArrayType([], type$.JSArray_String) : t1;
      }
      return this.defaultsTo;
    }
  };
  A.OptionType.prototype = {};
  A.Parser0.prototype = {
    parse$0() {
      var commandResults, commandName, commandParser, error, t1, t3, t4, t5, t6, t7, t8, command, exception, _this = this,
        t2 = _this._args;
      t2.toList$0(0);
      commandResults = null;
      for (t3 = _this._parser$_rest, t4 = _this._grammar, t5 = t4.commands, t6 = t2.$ti._precomputed1; !t2.get$isEmpty(0);) {
        t7 = t2._head;
        if (t7 === t2._tail)
          A.throwExpression(A.IterableElementError_noElement());
        t7 = t2._table[t7];
        t8 = t7 == null;
        if ((t8 ? t6._as(t7) : t7) === "--") {
          t2.removeFirst$0();
          break;
        }
        if (t8)
          t7 = t6._as(t7);
        command = t5._map.$index(0, t7);
        if (command != null) {
          if (t3.length !== 0)
            A.throwExpression(A.ArgParserException$("Cannot specify arguments before a command.", null));
          commandName = t2.removeFirst$0();
          t5 = type$.JSArray_String;
          t6 = A._setArrayType([], t5);
          B.JSArray_methods.addAll$1(t6, t3);
          commandParser = new A.Parser0(commandName, _this, command, t2, t6, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic));
          try {
            commandResults = commandParser.parse$0();
          } catch (exception) {
            t2 = A.unwrapException(exception);
            if (t2 instanceof A.ArgParserException) {
              error = t2;
              t2 = error.message;
              t1 = A._setArrayType([commandName], t5);
              J.addAll$1$ax(t1, error.commands);
              throw A.wrapException(A.ArgParserException$(t2, t1));
            } else
              throw exception;
          }
          B.JSArray_methods.clear$0(t3);
          break;
        }
        if (_this._parseSoloOption$0())
          continue;
        if (_this._parseAbbreviation$1(_this))
          continue;
        if (_this._parseLongOption$0())
          continue;
        t3.push(t2.removeFirst$0());
      }
      t4.options._map.forEach$1(0, new A.Parser_parse_closure(_this));
      B.JSArray_methods.addAll$1(t3, t2);
      t2.clear$0(0);
      return new A.ArgResults(t4, _this._results, _this._commandName, new A.UnmodifiableListView(t3, type$.UnmodifiableListView_String));
    },
    _readNextArgAsValue$1(option) {
      var t1 = this._args;
      if (t1.get$isEmpty(0))
        A.throwExpression(A.ArgParserException$('Missing argument for "' + option.name + '".', null));
      this._setOption$3(this._results, option, t1.get$first(0));
      t1.removeFirst$0();
    },
    _parseSoloOption$0() {
      var opt,
        t1 = this._args;
      if (t1.get$first(0).length !== 2)
        return false;
      if (!B.JSString_methods.startsWith$1(t1.get$first(0), "-"))
        return false;
      opt = t1.get$first(0)[1];
      if (!A._isLetterOrDigit(opt.charCodeAt(0)))
        return false;
      this._handleSoloOption$1(opt);
      return true;
    },
    _handleSoloOption$1(opt) {
      var t1, _this = this,
        option = _this._grammar.findByAbbreviation$1(opt);
      if (option == null) {
        t1 = _this._parser$_parent;
        if (t1 == null)
          A.throwExpression(A.ArgParserException$('Could not find an option or flag "-' + opt + '".', null));
        t1._handleSoloOption$1(opt);
        return true;
      }
      _this._args.removeFirst$0();
      if (option.type === B.OptionType_I6i)
        _this._results.$indexSet(0, option.name, true);
      else
        _this._readNextArgAsValue$1(option);
      return true;
    },
    _parseAbbreviation$1(innermostCommand) {
      var t2, index, t3, t4, lettersAndDigits, rest,
        t1 = this._args;
      if (t1.get$first(0).length < 2)
        return false;
      if (!B.JSString_methods.startsWith$1(t1.get$first(0), "-"))
        return false;
      t2 = t1.$ti._precomputed1;
      index = 1;
      while (true) {
        t3 = t1._head;
        if (t3 === t1._tail)
          A.throwExpression(A.IterableElementError_noElement());
        t3 = t1._table[t3];
        t4 = t3 == null;
        if (index < (t4 ? t2._as(t3) : t3).length) {
          t3 = (t4 ? t2._as(t3) : t3).charCodeAt(index);
          if (!(t3 >= 65 && t3 <= 90))
            if (!(t3 >= 97 && t3 <= 122))
              t3 = t3 >= 48 && t3 <= 57;
            else
              t3 = true;
          else
            t3 = true;
        } else
          t3 = false;
        if (!t3)
          break;
        ++index;
      }
      if (index === 1)
        return false;
      lettersAndDigits = B.JSString_methods.substring$2(t1.get$first(0), 1, index);
      rest = B.JSString_methods.substring$1(t1.get$first(0), index);
      if (B.JSString_methods.contains$1(rest, "\n") || B.JSString_methods.contains$1(rest, "\r"))
        return false;
      this._handleAbbreviation$3(lettersAndDigits, rest, innermostCommand);
      return true;
    },
    _handleAbbreviation$3(lettersAndDigits, rest, innermostCommand) {
      var t1, i, i0, _this = this,
        c = B.JSString_methods.substring$2(lettersAndDigits, 0, 1),
        first = _this._grammar.findByAbbreviation$1(c);
      if (first == null) {
        t1 = _this._parser$_parent;
        if (t1 == null)
          A.throwExpression(A.ArgParserException$(string$.Could_ + c + '".', null));
        t1._handleAbbreviation$3(lettersAndDigits, rest, innermostCommand);
        return true;
      } else if (first.type !== B.OptionType_I6i)
        _this._setOption$3(_this._results, first, B.JSString_methods.substring$1(lettersAndDigits, 1) + rest);
      else {
        t1 = B.JSString_methods.substring$1(lettersAndDigits, 1);
        if (rest !== "")
          A.throwExpression(A.ArgParserException$('Option "-' + c + '" is a flag and cannot handle value "' + t1 + rest + '".', null));
        for (t1 = lettersAndDigits.length, i = 0; i < t1; i = i0) {
          i0 = i + 1;
          innermostCommand._parseShortFlag$1(B.JSString_methods.substring$2(lettersAndDigits, i, i0));
        }
      }
      _this._args.removeFirst$0();
      return true;
    },
    _parseShortFlag$1(c) {
      var t1,
        option = this._grammar.findByAbbreviation$1(c);
      if (option == null) {
        t1 = this._parser$_parent;
        if (t1 == null)
          A.throwExpression(A.ArgParserException$(string$.Could_ + c + '".', null));
        t1._parseShortFlag$1(c);
        return;
      }
      if (option.type !== B.OptionType_I6i)
        A.throwExpression(A.ArgParserException$('Option "-' + c + '" must be a flag to be in a collapsed "-".', null));
      this._results.$indexSet(0, option.name, true);
    },
    _parseLongOption$0() {
      var index, t2, $name, t3, i, t4, t5, value,
        t1 = this._args;
      if (!B.JSString_methods.startsWith$1(t1.get$first(0), "--"))
        return false;
      index = B.JSString_methods.indexOf$1(t1.get$first(0), "=");
      t2 = index === -1;
      $name = t2 ? B.JSString_methods.substring$1(t1.get$first(0), 2) : B.JSString_methods.substring$2(t1.get$first(0), 2, index);
      for (t3 = $name.length, i = 0; i !== t3; ++i) {
        t4 = $name.charCodeAt(i);
        if (!(t4 >= 65 && t4 <= 90))
          if (!(t4 >= 97 && t4 <= 122))
            t5 = t4 >= 48 && t4 <= 57;
          else
            t5 = true;
        else
          t5 = true;
        if (!(t5 || t4 === 45 || t4 === 95))
          return false;
      }
      value = t2 ? null : B.JSString_methods.substring$1(t1.get$first(0), index + 1);
      if (value != null)
        t1 = B.JSString_methods.contains$1(value, "\n") || B.JSString_methods.contains$1(value, "\r");
      else
        t1 = false;
      if (t1)
        return false;
      this._handleLongOption$2($name, value);
      return true;
    },
    _handleLongOption$2($name, value) {
      var _this = this, _null = null,
        _s32_ = 'Could not find an option named "',
        t1 = _this._grammar,
        option = t1.findByNameOrAlias$1($name);
      if (option != null) {
        _this._args.removeFirst$0();
        if (option.type === B.OptionType_I6i) {
          if (value != null)
            A.throwExpression(A.ArgParserException$('Flag option "' + $name + '" should not be given a value.', _null));
          _this._results.$indexSet(0, option.name, true);
        } else if (value != null)
          _this._setOption$3(_this._results, option, value);
        else
          _this._readNextArgAsValue$1(option);
      } else if (B.JSString_methods.startsWith$1($name, "no-")) {
        option = t1.findByNameOrAlias$1(B.JSString_methods.substring$1($name, 3));
        if (option == null) {
          t1 = _this._parser$_parent;
          if (t1 == null)
            A.throwExpression(A.ArgParserException$(_s32_ + $name + '".', _null));
          t1._handleLongOption$2($name, value);
          return true;
        }
        _this._args.removeFirst$0();
        if (option.type !== B.OptionType_I6i)
          A.throwExpression(A.ArgParserException$('Cannot negate non-flag option "' + $name + '".', _null));
        if (!option.negatable)
          A.throwExpression(A.ArgParserException$('Cannot negate option "' + $name + '".', _null));
        _this._results.$indexSet(0, option.name, false);
      } else {
        t1 = _this._parser$_parent;
        if (t1 == null)
          A.throwExpression(A.ArgParserException$(_s32_ + $name + '".', _null));
        t1._handleLongOption$2($name, value);
        return true;
      }
      return true;
    },
    _setOption$3(results, option, value) {
      var list, t1, t2, t3, _i, element;
      if (option.type !== B.OptionType_yPm) {
        this._validateAllowed$2(option, value);
        results.$indexSet(0, option.name, value);
        return;
      }
      list = type$.List_dynamic._as(results.putIfAbsent$2(option.name, new A.Parser__setOption_closure()));
      if (option.splitCommas)
        for (t1 = value.split(","), t2 = t1.length, t3 = J.getInterceptor$ax(list), _i = 0; _i < t2; ++_i) {
          element = t1[_i];
          this._validateAllowed$2(option, element);
          t3.add$1(list, element);
        }
      else {
        this._validateAllowed$2(option, value);
        J.add$1$ax(list, value);
      }
    },
    _validateAllowed$2(option, value) {
      var t1 = option.allowed;
      if (t1 == null)
        return;
      if (!B.JSArray_methods.contains$1(t1, value))
        A.throwExpression(A.ArgParserException$('"' + value + '" is not an allowed value for option "' + option.name + '".', null));
    }
  };
  A.Parser_parse_closure.prototype = {
    call$2($name, option) {
      var parsedOption = this.$this._results.$index(0, $name),
        callback = option.callback;
      if (callback == null)
        return;
      callback.call$1(option.valueOrDefault$1(parsedOption));
    },
    $signature: 423
  };
  A.Parser__setOption_closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_String);
    },
    $signature: 124
  };
  A._Usage.prototype = {
    get$_columnWidths() {
      var result, _this = this,
        value = _this.___Usage__columnWidths_FI;
      if (value === $) {
        result = _this._calculateColumnWidths$0();
        _this.___Usage__columnWidths_FI !== $ && A.throwUnnamedLateFieldADI();
        _this.___Usage__columnWidths_FI = result;
        value = result;
      }
      return value;
    },
    generate$0() {
      var t1, t2, t3, t4, _i, optionOrSeparator, t5, _this = this;
      for (t1 = _this._usage$_optionsAndSeparators, t2 = t1.length, t3 = type$.Option, t4 = _this._usage$_buffer, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        optionOrSeparator = t1[_i];
        if (typeof optionOrSeparator == "string") {
          t5 = t4._contents;
          t4._contents = (t5.length !== 0 ? t4._contents = t5 + "\n\n" : t5) + optionOrSeparator;
          _this._newlinesNeeded = 1;
          continue;
        }
        t3._as(optionOrSeparator);
        if (optionOrSeparator.hide)
          continue;
        _this._writeOption$1(optionOrSeparator);
      }
      t1 = t4._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _writeOption$1(option) {
      var allowedNames, t2, t3, t4, _i, $name, t5, _this = this,
        t1 = option.abbr;
      _this._write$2(0, t1 == null ? "" : "-" + t1 + ", ");
      t1 = _this._longOption$1(option);
      _this._write$2(1, t1);
      t1 = option.help;
      if (t1 != null)
        _this._write$2(2, t1);
      t1 = option.allowedHelp;
      if (t1 != null) {
        allowedNames = J.toList$0$ax(t1.get$keys(t1));
        B.JSArray_methods.sort$0(allowedNames);
        _this._newline$0();
        for (t2 = allowedNames.length, t3 = option.defaultsTo, t4 = type$.List_dynamic._is(t3), _i = 0; _i < allowedNames.length; allowedNames.length === t2 || (0, A.throwConcurrentModificationError)(allowedNames), ++_i) {
          $name = allowedNames[_i];
          t5 = (t4 ? B.JSArray_methods.contains$1(t3, $name) : t3 === $name) ? " (default)" : "";
          _this._write$2(1, "      [" + $name + "]" + t5);
          t5 = t1.$index(0, $name);
          t5.toString;
          _this._write$2(2, t5);
        }
        _this._newline$0();
      } else if (option.allowed != null)
        _this._write$2(2, _this._buildAllowedList$1(option));
      else {
        t1 = option.type;
        if (t1 === B.OptionType_I6i) {
          if (option.defaultsTo === true)
            _this._write$2(2, "(defaults to on)");
        } else if (t1 === B.OptionType_yPm) {
          t1 = option.defaultsTo;
          if (t1 != null && type$.Iterable_dynamic._as(t1).length !== 0) {
            type$.List_dynamic._as(t1);
            _this._write$2(2, "(defaults to " + new A.MappedListIterable(t1, new A._Usage__writeOption_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$1(0, ", ") + ")");
          }
        } else {
          t1 = option.defaultsTo;
          if (t1 != null)
            _this._write$2(2, '(defaults to "' + A.S(t1) + '")');
        }
      }
    },
    _longOption$1(option) {
      var t1 = option.name,
        result = option.negatable ? "--[no-]" + t1 : "--" + t1;
      t1 = option.valueHelp;
      return t1 != null ? result + ("=<" + t1 + ">") : result;
    },
    _calculateColumnWidths$0() {
      var t1, t2, t3, abbr, title, _i, option, t4, t5, t6, t7, t8;
      for (t1 = this._usage$_optionsAndSeparators, t2 = t1.length, t3 = type$.List_dynamic, abbr = 0, title = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        option = t1[_i];
        if (!(option instanceof A.Option))
          continue;
        if (option.hide)
          continue;
        t4 = option.abbr;
        abbr = Math.max(abbr, (t4 == null ? "" : "-" + t4 + ", ").length);
        t4 = this._longOption$1(option);
        title = Math.max(title, t4.length);
        t4 = option.allowedHelp;
        if (t4 != null)
          for (t4 = J.get$iterator$ax(t4.get$keys(t4)), t5 = option.defaultsTo, t6 = t3._is(t5); t4.moveNext$0();) {
            t7 = t4.get$current(t4);
            t8 = (t6 ? B.JSArray_methods.contains$1(t5, t7) : t5 === t7) ? " (default)" : "";
            title = Math.max(title, ("      [" + t7 + "]" + t8).length);
          }
      }
      return A._setArrayType([abbr, title + 4], type$.JSArray_int);
    },
    _newline$0() {
      ++this._newlinesNeeded;
      this._currentColumn = 0;
    },
    _write$2(column, text) {
      var t1, _i,
        lines = A._setArrayType(text.split("\n"), type$.JSArray_String);
      this.get$_columnWidths();
      while (true) {
        if (!(lines.length !== 0 && J.trim$0$s(B.JSArray_methods.get$first(lines)) === ""))
          break;
        B.JSArray_methods.removeAt$1(lines, 0);
      }
      while (true) {
        if (!(lines.length !== 0 && J.trim$0$s(B.JSArray_methods.get$last(lines)) === ""))
          break;
        lines.pop();
      }
      for (t1 = lines.length, _i = 0; _i < lines.length; lines.length === t1 || (0, A.throwConcurrentModificationError)(lines), ++_i)
        this._writeLine$2(column, lines[_i]);
    },
    _writeLine$2(column, text) {
      var t1, t2, _this = this;
      for (t1 = _this._usage$_buffer; t2 = _this._newlinesNeeded, t2 > 0;) {
        t1._contents += "\n";
        _this._newlinesNeeded = t2 - 1;
      }
      for (; t2 = _this._currentColumn, t2 !== column;) {
        if (t2 < 2) {
          t2 = B.JSString_methods.$mul(" ", _this.get$_columnWidths()[_this._currentColumn]);
          t1._contents += t2;
        } else
          t1._contents += "\n";
        _this._currentColumn = (_this._currentColumn + 1) % 3;
      }
      _this.get$_columnWidths();
      if (column < 2) {
        t2 = B.JSString_methods.padRight$1(text, _this.get$_columnWidths()[column]);
        t1._contents += t2;
      } else
        t1._contents += text;
      _this._currentColumn = (_this._currentColumn + 1) % 3;
      if (column === 2)
        ++_this._newlinesNeeded;
    },
    _buildAllowedList$1(option) {
      var t2, t3, first, _i, allowed,
        t1 = option.defaultsTo,
        isDefault = type$.List_dynamic._is(t1) ? B.JSArray_methods.get$contains(t1) : new A._Usage__buildAllowedList_closure(option);
      t1 = "" + "[";
      for (t2 = option.allowed, t3 = t2.length, first = true, _i = 0; _i < t3; ++_i, first = false) {
        allowed = t2[_i];
        if (!first)
          t1 += ", ";
        t1 += A.S(allowed);
        if (isDefault.call$1(allowed))
          t1 += " (default)";
      }
      t1 += "]";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A._Usage__writeOption_closure.prototype = {
    call$1(value) {
      return '"' + A.S(value) + '"';
    },
    $signature: 108
  };
  A._Usage__buildAllowedList_closure.prototype = {
    call$1(value) {
      return value === this.option.defaultsTo;
    },
    $signature: 128
  };
  A.FutureGroup.prototype = {
    add$1(_, task) {
      var t1, index, _this = this;
      if (_this._future_group$_closed)
        throw A.wrapException(A.StateError$("The FutureGroup is closed."));
      t1 = _this._future_group$_values;
      index = t1.length;
      t1.push(null);
      ++_this._future_group$_pending;
      task.then$1$1(0, new A.FutureGroup_add_closure(_this, index), type$.Null).catchError$1(new A.FutureGroup_add_closure0(_this));
    },
    close$0(_) {
      var t1, t2, _this = this;
      _this._future_group$_closed = true;
      if (_this._future_group$_pending !== 0)
        return;
      t1 = _this._future_group$_completer;
      if ((t1.future._state & 30) !== 0)
        return;
      t2 = _this.$ti._eval$1("WhereTypeIterable<1>");
      t1.complete$1(A.List_List$of(new A.WhereTypeIterable(_this._future_group$_values, t2), true, t2._eval$1("Iterable.E")));
    }
  };
  A.FutureGroup_add_closure.prototype = {
    call$1(value) {
      var t3, t4,
        t1 = this.$this,
        t2 = t1._future_group$_completer;
      if ((t2.future._state & 30) !== 0)
        return null;
      t3 = --t1._future_group$_pending;
      t4 = t1._future_group$_values;
      t4[this.index] = value;
      if (t3 !== 0)
        return null;
      if (!t1._future_group$_closed)
        return null;
      t1 = t1.$ti._eval$1("WhereTypeIterable<1>");
      t2.complete$1(A.List_List$of(new A.WhereTypeIterable(t4, t1), true, t1._eval$1("Iterable.E")));
    },
    $signature() {
      return this.$this.$ti._eval$1("Null(1)");
    }
  };
  A.FutureGroup_add_closure0.prototype = {
    call$2(error, stackTrace) {
      var t1 = this.$this._future_group$_completer;
      if ((t1.future._state & 30) !== 0)
        return null;
      t1.completeError$2(error, stackTrace);
    },
    $signature: 52
  };
  A.ErrorResult.prototype = {
    complete$1(completer) {
      completer.completeError$2(this.error, this.stackTrace);
    },
    get$hashCode(_) {
      return (J.get$hashCode$(this.error) ^ A.Primitives_objectHashCode(this.stackTrace) ^ 492929599) >>> 0;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.ErrorResult && J.$eq$(this.error, other.error) && this.stackTrace === other.stackTrace;
    },
    $isResult: 1
  };
  A.ValueResult.prototype = {
    complete$1(completer) {
      completer.complete$1(this.value);
    },
    get$hashCode(_) {
      return (J.get$hashCode$(this.value) ^ 842997089) >>> 0;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.ValueResult && J.$eq$(this.value, other.value);
    },
    $isResult: 1
  };
  A.StreamCompleter.prototype = {
    setSourceStream$1(sourceStream) {
      var t1 = this._stream_completer$_stream;
      if (t1._sourceStream != null)
        throw A.wrapException(A.StateError$("Source stream already set"));
      t1._sourceStream = sourceStream;
      if (t1._stream_completer$_controller != null)
        t1._linkStreamToController$0();
    },
    setError$2(error, stackTrace) {
      var t1 = this.$ti._precomputed1;
      this.setSourceStream$1(A.Stream_Stream$fromFuture(A.Future_Future$error(error, stackTrace, t1), t1));
    },
    setError$1(error) {
      return this.setError$2(error, null);
    }
  };
  A._CompleterStream.prototype = {
    listen$4$cancelOnError$onDone$onError(_, onData, cancelOnError, onDone, onError) {
      var sourceStream, t1, _this = this, _null = null;
      if (_this._stream_completer$_controller == null) {
        sourceStream = _this._sourceStream;
        if (sourceStream != null && !sourceStream.get$isBroadcast())
          return sourceStream.listen$4$cancelOnError$onDone$onError(0, onData, cancelOnError, onDone, onError);
        if (_this._stream_completer$_controller == null)
          _this._stream_completer$_controller = A.StreamController_StreamController(_null, _null, _null, _null, true, _this.$ti._precomputed1);
        if (_this._sourceStream != null)
          _this._linkStreamToController$0();
      }
      t1 = _this._stream_completer$_controller;
      t1.toString;
      return new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$4$cancelOnError$onDone$onError(0, onData, cancelOnError, onDone, onError);
    },
    listen$1(_, onData) {
      return this.listen$4$cancelOnError$onDone$onError(0, onData, null, null, null);
    },
    listen$3$onDone$onError(_, onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(0, onData, null, onDone, onError);
    },
    _linkStreamToController$0() {
      var t2,
        t1 = this._stream_completer$_controller;
      t1.toString;
      t2 = this._sourceStream;
      t2.toString;
      t1.addStream$2$cancelOnError(t2, false).whenComplete$1(t1.get$close(t1));
    }
  };
  A.StreamGroup.prototype = {
    add$1(_, stream) {
      var t1, _this = this;
      if (_this._closed)
        throw A.wrapException(A.StateError$("Can't add a Stream to a closed StreamGroup."));
      t1 = _this._stream_group$_state;
      if (t1 === B._StreamGroupState_dormant)
        _this._subscriptions.putIfAbsent$2(stream, new A.StreamGroup_add_closure());
      else if (t1 === B._StreamGroupState_canceled)
        return stream.listen$1(0, null).cancel$0();
      else
        _this._subscriptions.putIfAbsent$2(stream, new A.StreamGroup_add_closure0(_this, stream));
      return null;
    },
    remove$1(_, stream) {
      var t1 = this._subscriptions,
        subscription = t1.remove$1(0, stream),
        future = subscription == null ? null : subscription.cancel$0();
      if (t1.__js_helper$_length === 0)
        if (this._closed) {
          t1 = this.__StreamGroup__controller_A;
          t1 === $ && A.throwUnnamedLateFieldNI();
          A.scheduleMicrotask(t1.get$close(t1));
        }
      return future;
    },
    _onListen$0() {
      var stream, t1, t2, t3, _i, entry, exception, _this = this;
      _this._stream_group$_state = B._StreamGroupState_listening;
      for (t1 = _this._subscriptions, t2 = A.List_List$of(t1.get$entries(0), true, _this.$ti._eval$1("MapEntry,StreamSubscription<1>?>")), t3 = t2.length, _i = 0; _i < t3; ++_i) {
        entry = t2[_i];
        if (entry.value != null)
          continue;
        stream = entry.key;
        try {
          t1.$indexSet(0, stream, _this._listenToStream$1(stream));
        } catch (exception) {
          t1 = _this._onCancel$0();
          if (t1 != null)
            t1.catchError$1(new A.StreamGroup__onListen_closure());
          throw exception;
        }
      }
    },
    _onPause$0() {
      var t1, t2, t3;
      this._stream_group$_state = B._StreamGroupState_paused;
      for (t1 = this._subscriptions.get$values(0), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        (t3 == null ? t2._as(t3) : t3).pause$0(0);
      }
    },
    _onResume$0() {
      var t1, t2, t3;
      this._stream_group$_state = B._StreamGroupState_listening;
      for (t1 = this._subscriptions.get$values(0), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        (t3 == null ? t2._as(t3) : t3).resume$0(0);
      }
    },
    _onCancel$0() {
      var t1, t2, futures;
      this._stream_group$_state = B._StreamGroupState_canceled;
      t1 = this._subscriptions;
      t2 = A.IterableNullableExtension_whereNotNull(t1.get$entries(0).map$1$1(0, new A.StreamGroup__onCancel_closure(this), type$.nullable_Future_void), type$.Future_void);
      futures = A.List_List$of(t2, true, t2.$ti._eval$1("Iterable.E"));
      t1.clear$0(0);
      return futures.length === 0 ? null : A.Future_wait(futures, false, type$.void);
    },
    _listenToStream$1(stream) {
      var subscription,
        t1 = this.__StreamGroup__controller_A;
      t1 === $ && A.throwUnnamedLateFieldNI();
      subscription = stream.listen$3$onDone$onError(0, t1.get$add(t1), new A.StreamGroup__listenToStream_closure(this, stream), t1.get$addError());
      if (this._stream_group$_state === B._StreamGroupState_paused)
        subscription.pause$0(0);
      return subscription;
    }
  };
  A.StreamGroup_add_closure.prototype = {
    call$0() {
      return null;
    },
    $signature: 1
  };
  A.StreamGroup_add_closure0.prototype = {
    call$0() {
      return this.$this._listenToStream$1(this.stream);
    },
    $signature() {
      return this.$this.$ti._eval$1("StreamSubscription<1>()");
    }
  };
  A.StreamGroup__onListen_closure.prototype = {
    call$1(_) {
    },
    $signature: 61
  };
  A.StreamGroup__onCancel_closure.prototype = {
    call$1(entry) {
      var t1, exception,
        subscription = entry.value;
      try {
        if (subscription != null) {
          t1 = subscription.cancel$0();
          return t1;
        }
        t1 = J.listen$1$z(entry.key, null).cancel$0();
        return t1;
      } catch (exception) {
        return null;
      }
    },
    $signature() {
      return this.$this.$ti._eval$1("Future<~>?(MapEntry,StreamSubscription<1>?>)");
    }
  };
  A.StreamGroup__listenToStream_closure.prototype = {
    call$0() {
      return this.$this.remove$1(0, this.stream);
    },
    $signature: 0
  };
  A._StreamGroupState.prototype = {
    toString$0(_) {
      return this.name;
    }
  };
  A.StreamQueue.prototype = {
    _updateRequests$0() {
      var t1, t2, t3, t4, _this = this;
      for (t1 = _this._requestQueue, t2 = _this._eventQueue, t3 = t1.$ti._precomputed1; !t1.get$isEmpty(0);) {
        t4 = t1._head;
        if (t4 === t1._tail)
          A.throwExpression(A.IterableElementError_noElement());
        t4 = t1._table[t4];
        if (t4 == null)
          t4 = t3._as(t4);
        if (t4.update$2(t2, _this._isDone))
          t1.removeFirst$0();
        else
          return;
      }
      if (!_this._isDone)
        _this._stream_queue$_subscription.pause$0(0);
    },
    _ensureListening$0() {
      var t1, _this = this;
      if (_this._isDone)
        return;
      t1 = _this._stream_queue$_subscription;
      if (t1 == null)
        _this._stream_queue$_subscription = _this._stream_queue$_source.listen$3$onDone$onError(0, new A.StreamQueue__ensureListening_closure(_this), new A.StreamQueue__ensureListening_closure0(_this), new A.StreamQueue__ensureListening_closure1(_this));
      else
        t1.resume$0(0);
    },
    _addResult$1(result) {
      ++this._eventsReceived;
      this._eventQueue._queue_list$_add$1(result);
      this._updateRequests$0();
    },
    _addRequest$1(request) {
      var _this = this,
        t1 = _this._requestQueue;
      if (t1._head === t1._tail) {
        if (request.update$2(_this._eventQueue, _this._isDone))
          return;
        _this._ensureListening$0();
      }
      t1._add$1(request);
    }
  };
  A.StreamQueue__ensureListening_closure.prototype = {
    call$1(data) {
      var t1 = this.$this;
      t1._addResult$1(new A.ValueResult(data, t1.$ti._eval$1("ValueResult<1>")));
    },
    $signature() {
      return this.$this.$ti._eval$1("~(1)");
    }
  };
  A.StreamQueue__ensureListening_closure1.prototype = {
    call$2(error, stackTrace) {
      this.$this._addResult$1(new A.ErrorResult(error, stackTrace));
    },
    $signature: 52
  };
  A.StreamQueue__ensureListening_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._stream_queue$_subscription = null;
      t1._isDone = true;
      t1._updateRequests$0();
    },
    $signature: 0
  };
  A._NextRequest.prototype = {
    update$2(events, isDone) {
      if (!events.get$isEmpty(events)) {
        events.removeFirst$0().complete$1(this._completer);
        return true;
      }
      if (isDone) {
        this._completer.completeError$2(new A.StateError("No elements"), A.StackTrace_current());
        return true;
      }
      return false;
    },
    $is_EventRequest: 1
  };
  A._isStrictMode_closure.prototype = {
    call$0() {
      var exception;
      try {
        "".name = null;
        return false;
      } catch (exception) {
        return true;
      }
    },
    $signature: 22
  };
  A.Repl.prototype = {};
  A.alwaysValid_closure.prototype = {
    call$1(text) {
      return true;
    },
    $signature: 4
  };
  A.ReplAdapter.prototype = {
    runAsync$0() {
      var rl, runController, _this = this, t1 = {},
        t2 = J.get$isTTY$x(self.process.stdin),
        output = (t2 == null ? false : t2) ? self.process.stdout : null;
      t2 = _this.repl.prompt;
      rl = J.createInterface$1$x($.$get$readline(), {input: self.process.stdin, output: output, prompt: t2});
      _this.rl = rl;
      t1.statement = "";
      t1.prompt = t2;
      runController = A._Cell$();
      runController.__late_helper$_value = A.StreamController_StreamController(_this.get$exit(_this), new A.ReplAdapter_runAsync_closure(t1, _this, rl, runController), null, null, false, type$.String);
      return runController._readLocal$0().get$stream();
    },
    exit$0(_) {
      var t1 = this.rl;
      if (t1 != null)
        J.close$0$x(t1);
      this.rl = null;
    }
  };
  A.ReplAdapter_runAsync_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$self = this, lineController, lineQueue, line, error, stackTrace, t1, t2, t3, t4, $prompt, prompt0, t5, t6, t7, t8, line0, toZone, statement, exception, $async$exception;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 3;
              lineController = A.StreamController_StreamController(null, null, null, null, false, type$.String);
              t1 = lineController;
              t2 = A.QueueList$(null, type$.Result_String);
              t3 = A.ListQueue$(type$._EventRequest_dynamic);
              lineQueue = new A.StreamQueue(new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")), t2, t3, type$.StreamQueue_String);
              t1 = $async$self.rl;
              t2 = J.getInterceptor$x(t1);
              t2.on$2(t1, "line", A.allowInterop(new A.ReplAdapter_runAsync__closure(lineController)));
              t3 = $async$self._box_0, t4 = $async$self.$this.repl, $prompt = t4.continuation, prompt0 = t4.prompt, t5 = $async$self.runController;
            case 6:
              // for condition
              // trivial condition
              t6 = J.get$isTTY$x(self.process.stdin);
              if (t6 == null ? false : t6)
                J.write$1$x(self.process.stdout, t3.prompt);
              t6 = lineQueue;
              t6.toString;
              t7 = t6.$ti;
              t8 = new A._Future($.Zone__current, t7._eval$1("_Future<1>"));
              t6._addRequest$1(new A._NextRequest(new A._AsyncCompleter(t8, t7._eval$1("_AsyncCompleter<1>")), t7._eval$1("_NextRequest<1>")));
              $async$goto = 8;
              return A._asyncAwait(t8, $async$call$0);
            case 8:
              // returning from await.
              line = $async$result;
              t6 = J.get$isTTY$x(self.process.stdin);
              if (!(t6 == null ? false : t6)) {
                line0 = t3.prompt + A.S(line);
                toZone = $.printToZone;
                if (toZone == null)
                  A.printString(line0);
                else
                  toZone.call$1(line0);
              }
              statement = B.JSString_methods.$add(t3.statement, line);
              t3.statement = statement;
              if (t4.validator.call$1(statement)) {
                t6 = t5.__late_helper$_value;
                if (t6 === t5)
                  A.throwExpression(A.LateError$localNI(""));
                J.add$1$ax(t6, t3.statement);
                t3.statement = "";
                t3.prompt = prompt0;
                t2.setPrompt$1(t1, prompt0);
              } else {
                t3.statement += "\n";
                t3.prompt = $prompt;
                t2.setPrompt$1(t1, $prompt);
              }
              // goto for condition
              $async$goto = 6;
              break;
            case 7:
              // after for
              $async$handler = 1;
              // goto after finally
              $async$goto = 5;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception = $async$currentError;
              error = A.unwrapException($async$exception);
              stackTrace = A.getTraceFromException($async$exception);
              t1 = $async$self.runController;
              t1._readLocal$0().addError$2(error, stackTrace);
              t2 = $async$self.$this.exit$0(0);
              t2 = A._Future$value(t2, type$.void);
              $async$goto = 9;
              return A._asyncAwait(t2, $async$call$0);
            case 9:
              // returning from await.
              J.close$0$x(t1._readLocal$0());
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A.ReplAdapter_runAsync__closure.prototype = {
    call$1(value) {
      return this.lineController.add$1(0, A._asString(value));
    },
    $signature: 71
  };
  A.Stdin.prototype = {};
  A.Stdout.prototype = {};
  A.ReadlineModule.prototype = {};
  A.ReadlineOptions.prototype = {};
  A.ReadlineInterface.prototype = {};
  A.EmptyUnmodifiableSet.prototype = {
    get$iterator(_) {
      return B.C_EmptyIterator;
    },
    get$length(_) {
      return 0;
    },
    contains$1(_, element) {
      return false;
    },
    toSet$0(_) {
      return A.LinkedHashSet_LinkedHashSet$_empty(this.$ti._precomputed1);
    },
    $isEfficientLengthIterable: 1,
    $isSet: 1
  };
  A._EmptyUnmodifiableSet_IterableBase_UnmodifiableSetMixin.prototype = {};
  A.DefaultEquality.prototype = {};
  A.IterableEquality.prototype = {
    equals$2(_, elements1, elements2) {
      var it1, it2, hasNext;
      if (elements1 === elements2)
        return true;
      it1 = J.get$iterator$ax(elements1);
      it2 = J.get$iterator$ax(elements2);
      for (; true;) {
        hasNext = it1.moveNext$0();
        if (hasNext !== it2.moveNext$0())
          return false;
        if (!hasNext)
          return true;
        if (!J.$eq$(it1.get$current(it1), it2.get$current(it2)))
          return false;
      }
    },
    hash$1(elements) {
      var t1, hash, _i;
      for (t1 = elements.length, hash = 0, _i = 0; _i < elements.length; elements.length === t1 || (0, A.throwConcurrentModificationError)(elements), ++_i) {
        hash = hash + J.get$hashCode$(elements[_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.ListEquality.prototype = {
    equals$2(_, list1, list2) {
      var t1, $length, t2, i;
      if (list1 == null ? list2 == null : list1 === list2)
        return true;
      if (list1 == null || list2 == null)
        return false;
      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 hash, i;
      for (hash = 0, i = 0; i < list.length; ++i) {
        hash = hash + J.get$hashCode$(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._MapEntry.prototype = {
    get$hashCode(_) {
      return 3 * J.get$hashCode$(this.key) + 7 * J.get$hashCode$(this.value) & 2147483647;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A._MapEntry && J.$eq$(this.key, other.key) && J.$eq$(this.value, other.value);
    }
  };
  A.MapEquality.prototype = {
    equals$2(_, map1, map2) {
      var equalElementCounts, t1, key, entry, count;
      if (map1 === map2)
        return true;
      if (map1.get$length(map1) !== map2.get$length(map2))
        return false;
      equalElementCounts = A.HashMap_HashMap(type$._MapEntry, type$.int);
      for (t1 = J.get$iterator$ax(map1.get$keys(map1)); t1.moveNext$0();) {
        key = t1.get$current(t1);
        entry = new A._MapEntry(this, key, map1.$index(0, key));
        count = equalElementCounts.$index(0, entry);
        equalElementCounts.$indexSet(0, entry, (count == null ? 0 : count) + 1);
      }
      for (t1 = J.get$iterator$ax(map2.get$keys(map2)); t1.moveNext$0();) {
        key = t1.get$current(t1);
        entry = new A._MapEntry(this, key, map2.$index(0, key));
        count = equalElementCounts.$index(0, entry);
        if (count == null || count === 0)
          return false;
        equalElementCounts.$indexSet(0, entry, count - 1);
      }
      return true;
    },
    hash$1(map) {
      var t1, t2, hash, key, keyHash, t3;
      for (t1 = J.get$iterator$ax(map.get$keys(map)), t2 = this.$ti._rest[1], hash = 0; t1.moveNext$0();) {
        key = t1.get$current(t1);
        keyHash = J.get$hashCode$(key);
        t3 = map.$index(0, key);
        hash = hash + 3 * keyHash + 7 * J.get$hashCode$(t3 == null ? t2._as(t3) : t3) & 2147483647;
      }
      hash = hash + (hash << 3 >>> 0) & 2147483647;
      hash ^= hash >>> 11;
      return hash + (hash << 15 >>> 0) & 2147483647;
    }
  };
  A.QueueList.prototype = {
    add$1(_, element) {
      this._queue_list$_add$1(element);
    },
    addAll$1(_, iterable) {
      var addCount, $length, t1, endSpace, t2, preSpace, _this = this;
      if (type$.List_dynamic._is(iterable)) {
        addCount = J.get$length$asx(iterable);
        $length = _this.get$length(0);
        t1 = $length + addCount;
        if (t1 >= J.get$length$asx(_this._queue_list$_table)) {
          _this._preGrow$1(t1);
          J.setRange$4$ax(_this._queue_list$_table, $length, t1, iterable, 0);
          _this.set$_queue_list$_tail(_this.get$_queue_list$_tail() + addCount);
        } else {
          endSpace = J.get$length$asx(_this._queue_list$_table) - _this.get$_queue_list$_tail();
          t1 = _this._queue_list$_table;
          t2 = J.getInterceptor$ax(t1);
          if (addCount < endSpace) {
            t2.setRange$4(t1, _this.get$_queue_list$_tail(), _this.get$_queue_list$_tail() + addCount, iterable, 0);
            _this.set$_queue_list$_tail(_this.get$_queue_list$_tail() + addCount);
          } else {
            preSpace = addCount - endSpace;
            t2.setRange$4(t1, _this.get$_queue_list$_tail(), _this.get$_queue_list$_tail() + endSpace, iterable, 0);
            J.setRange$4$ax(_this._queue_list$_table, 0, preSpace, iterable, endSpace);
            _this.set$_queue_list$_tail(preSpace);
          }
        }
      } else
        for (t1 = J.get$iterator$ax(iterable); t1.moveNext$0();)
          _this._queue_list$_add$1(t1.get$current(t1));
    },
    cast$1$0(_, $T) {
      return new A._CastQueueList(this, J.cast$1$0$ax(this._queue_list$_table, $T), -1, -1, A._instanceType(this)._eval$1("@")._bind$1($T)._eval$1("_CastQueueList<1,2>"));
    },
    toString$0(_) {
      return A.Iterable_iterableToFullString(this, "{", "}");
    },
    addFirst$1(element) {
      var _this = this;
      _this.set$_queue_list$_head((_this.get$_queue_list$_head() - 1 & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
      J.$indexSet$ax(_this._queue_list$_table, _this.get$_queue_list$_head(), element);
      if (_this.get$_queue_list$_head() === _this.get$_queue_list$_tail())
        _this._queue_list$_grow$0();
    },
    removeFirst$0() {
      var result, _this = this;
      if (_this.get$_queue_list$_head() === _this.get$_queue_list$_tail())
        throw A.wrapException(A.StateError$("No element"));
      result = J.$index$asx(_this._queue_list$_table, _this.get$_queue_list$_head());
      if (result == null)
        result = A._instanceType(_this)._eval$1("QueueList.E")._as(result);
      J.$indexSet$ax(_this._queue_list$_table, _this.get$_queue_list$_head(), null);
      _this.set$_queue_list$_head((_this.get$_queue_list$_head() + 1 & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
      return result;
    },
    removeLast$0(_) {
      var result, _this = this;
      if (_this.get$_queue_list$_head() === _this.get$_queue_list$_tail())
        throw A.wrapException(A.StateError$("No element"));
      _this.set$_queue_list$_tail((_this.get$_queue_list$_tail() - 1 & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
      result = J.$index$asx(_this._queue_list$_table, _this.get$_queue_list$_tail());
      if (result == null)
        result = A._instanceType(_this)._eval$1("QueueList.E")._as(result);
      J.$indexSet$ax(_this._queue_list$_table, _this.get$_queue_list$_tail(), null);
      return result;
    },
    get$length(_) {
      return (this.get$_queue_list$_tail() - this.get$_queue_list$_head() & J.get$length$asx(this._queue_list$_table) - 1) >>> 0;
    },
    set$length(_, value) {
      var delta, newTail, t1, t2, _this = this;
      if (value < 0)
        throw A.wrapException(A.RangeError$("Length " + value + " may not be negative."));
      if (value > _this.get$length(0) && !A._instanceType(_this)._eval$1("QueueList.E")._is(null))
        throw A.wrapException(A.UnsupportedError$("The length can only be increased when the element type is nullable, but the current element type is `" + A.createRuntimeType(A._instanceType(_this)._eval$1("QueueList.E")).toString$0(0) + "`."));
      delta = value - _this.get$length(0);
      if (delta >= 0) {
        if (J.get$length$asx(_this._queue_list$_table) <= value)
          _this._preGrow$1(value);
        _this.set$_queue_list$_tail((_this.get$_queue_list$_tail() + delta & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
        return;
      }
      newTail = _this.get$_queue_list$_tail() + delta;
      t1 = _this._queue_list$_table;
      if (newTail >= 0)
        J.fillRange$3$ax(t1, newTail, _this.get$_queue_list$_tail(), null);
      else {
        newTail += J.get$length$asx(t1);
        J.fillRange$3$ax(_this._queue_list$_table, 0, _this.get$_queue_list$_tail(), null);
        t1 = _this._queue_list$_table;
        t2 = J.getInterceptor$asx(t1);
        t2.fillRange$3(t1, newTail, t2.get$length(t1), null);
      }
      _this.set$_queue_list$_tail(newTail);
    },
    $index(_, index) {
      var t1, _this = this;
      if (index < 0 || index >= _this.get$length(0))
        throw A.wrapException(A.RangeError$("Index " + index + " must be in the range [0.." + _this.get$length(0) + ")."));
      t1 = J.$index$asx(_this._queue_list$_table, (_this.get$_queue_list$_head() + index & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
      return t1 == null ? A._instanceType(_this)._eval$1("QueueList.E")._as(t1) : t1;
    },
    $indexSet(_, index, value) {
      var _this = this;
      if (index < 0 || index >= _this.get$length(0))
        throw A.wrapException(A.RangeError$("Index " + index + " must be in the range [0.." + _this.get$length(0) + ")."));
      J.$indexSet$ax(_this._queue_list$_table, (_this.get$_queue_list$_head() + index & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0, value);
    },
    _queue_list$_add$1(element) {
      var _this = this;
      J.$indexSet$ax(_this._queue_list$_table, _this.get$_queue_list$_tail(), element);
      _this.set$_queue_list$_tail((_this.get$_queue_list$_tail() + 1 & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
      if (_this.get$_queue_list$_head() === _this.get$_queue_list$_tail())
        _this._queue_list$_grow$0();
    },
    _queue_list$_grow$0() {
      var _this = this,
        newTable = A.List_List$filled(J.get$length$asx(_this._queue_list$_table) * 2, null, false, A._instanceType(_this)._eval$1("QueueList.E?")),
        split = J.get$length$asx(_this._queue_list$_table) - _this.get$_queue_list$_head();
      B.JSArray_methods.setRange$4(newTable, 0, split, _this._queue_list$_table, _this.get$_queue_list$_head());
      B.JSArray_methods.setRange$4(newTable, split, split + _this.get$_queue_list$_head(), _this._queue_list$_table, 0);
      _this.set$_queue_list$_head(0);
      _this.set$_queue_list$_tail(J.get$length$asx(_this._queue_list$_table));
      _this._queue_list$_table = newTable;
    },
    _writeToList$1(target) {
      var $length, firstPartSize, _this = this;
      if (_this.get$_queue_list$_head() <= _this.get$_queue_list$_tail()) {
        $length = _this.get$_queue_list$_tail() - _this.get$_queue_list$_head();
        B.JSArray_methods.setRange$4(target, 0, $length, _this._queue_list$_table, _this.get$_queue_list$_head());
        return $length;
      } else {
        firstPartSize = J.get$length$asx(_this._queue_list$_table) - _this.get$_queue_list$_head();
        B.JSArray_methods.setRange$4(target, 0, firstPartSize, _this._queue_list$_table, _this.get$_queue_list$_head());
        B.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this.get$_queue_list$_tail(), _this._queue_list$_table, 0);
        return _this.get$_queue_list$_tail() + firstPartSize;
      }
    },
    _preGrow$1(newElementCount) {
      var _this = this,
        newTable = A.List_List$filled(A.QueueList__nextPowerOf2(newElementCount + B.JSInt_methods._shrOtherPositive$1(newElementCount, 1)), null, false, A._instanceType(_this)._eval$1("QueueList.E?"));
      _this.set$_queue_list$_tail(_this._writeToList$1(newTable));
      _this._queue_list$_table = newTable;
      _this.set$_queue_list$_head(0);
    },
    $isEfficientLengthIterable: 1,
    $isQueue: 1,
    $isIterable: 1,
    $isList: 1,
    get$_queue_list$_head() {
      return this._queue_list$_head;
    },
    get$_queue_list$_tail() {
      return this._queue_list$_tail;
    },
    set$_queue_list$_head(val) {
      return this._queue_list$_head = val;
    },
    set$_queue_list$_tail(val) {
      return this._queue_list$_tail = val;
    }
  };
  A._CastQueueList.prototype = {
    get$_queue_list$_head() {
      return this._queue_list$_delegate.get$_queue_list$_head();
    },
    set$_queue_list$_head(value) {
      this._queue_list$_delegate.set$_queue_list$_head(value);
    },
    get$_queue_list$_tail() {
      return this._queue_list$_delegate.get$_queue_list$_tail();
    },
    set$_queue_list$_tail(value) {
      this._queue_list$_delegate.set$_queue_list$_tail(value);
    }
  };
  A._QueueList_Object_ListMixin.prototype = {};
  A.UnionSet.prototype = {
    get$length(_) {
      var t1 = this.get$_union_set$_iterable().get$length(0);
      return t1;
    },
    get$iterator(_) {
      var t1 = this.get$_union_set$_iterable();
      return t1.get$iterator(t1);
    },
    get$_union_set$_iterable() {
      var t1 = this._sets,
        t2 = this.$ti._precomputed1,
        t3 = A._instanceType(t1)._eval$1("@<1>")._bind$1(t2)._eval$1("ExpandIterable<1,2>");
      t2 = A.LinkedHashSet_LinkedHashSet$_empty(t2);
      return new A.WhereIterable(new A.ExpandIterable(t1, new A.UnionSet__iterable_closure(this), t3), t2.get$add(t2), t3._eval$1("WhereIterable"));
    },
    contains$1(_, element) {
      return this._sets.any$1(0, new A.UnionSet_contains_closure(this, element));
    },
    toSet$0(_) {
      var t2, t3, t4,
        t1 = A.LinkedHashSet_LinkedHashSet$_empty(this.$ti._precomputed1);
      for (t2 = this._sets, t2 = A._LinkedHashSetIterator$(t2, t2._modifications, A._instanceType(t2)._precomputed1), t3 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t4 = t2._collection$_current;
        t1.addAll$1(0, t4 == null ? t3._as(t4) : t4);
      }
      return t1;
    }
  };
  A.UnionSet__iterable_closure.prototype = {
    call$1(set) {
      return set;
    },
    $signature() {
      return this.$this.$ti._eval$1("Set<1>(Set<1>)");
    }
  };
  A.UnionSet_contains_closure.prototype = {
    call$1(set) {
      return set.contains$1(0, this.element);
    },
    $signature() {
      return this.$this.$ti._eval$1("bool(Set<1>)");
    }
  };
  A._UnionSet_SetBase_UnmodifiableSetMixin.prototype = {};
  A.UnmodifiableSetView0.prototype = {};
  A.UnmodifiableSetMixin.prototype = {
    add$1(_, value) {
      return A.UnmodifiableSetMixin__throw();
    },
    addAll$1(_, elements) {
      return A.UnmodifiableSetMixin__throw();
    },
    remove$1(_, value) {
      return A.UnmodifiableSetMixin__throw();
    }
  };
  A._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin.prototype = {};
  A._DelegatingIterableBase.prototype = {
    any$1(_, test) {
      return J.any$1$ax(this.get$_base(), test);
    },
    contains$1(_, element) {
      return J.contains$1$asx(this.get$_base(), element);
    },
    elementAt$1(_, index) {
      return J.elementAt$1$ax(this.get$_base(), index);
    },
    every$1(_, test) {
      return J.every$1$ax(this.get$_base(), test);
    },
    get$first(_) {
      return J.get$first$ax(this.get$_base());
    },
    get$isEmpty(_) {
      return J.get$isEmpty$asx(this.get$_base());
    },
    get$isNotEmpty(_) {
      return J.get$isNotEmpty$asx(this.get$_base());
    },
    get$iterator(_) {
      return J.get$iterator$ax(this.get$_base());
    },
    get$last(_) {
      return J.get$last$ax(this.get$_base());
    },
    get$length(_) {
      return J.get$length$asx(this.get$_base());
    },
    map$1$1(_, f, $T) {
      return J.map$1$1$ax(this.get$_base(), f, $T);
    },
    get$single(_) {
      return J.get$single$ax(this.get$_base());
    },
    skip$1(_, n) {
      return J.skip$1$ax(this.get$_base(), n);
    },
    take$1(_, n) {
      return J.take$1$ax(this.get$_base(), n);
    },
    toList$1$growable(_, growable) {
      return J.toList$1$growable$ax(this.get$_base(), true);
    },
    toList$0(_) {
      return this.toList$1$growable(0, true);
    },
    toSet$0(_) {
      return J.toSet$0$ax(this.get$_base());
    },
    where$1(_, test) {
      return J.where$1$ax(this.get$_base(), test);
    },
    toString$0(_) {
      return J.toString$0$(this.get$_base());
    },
    $isIterable: 1
  };
  A.DelegatingSet.prototype = {
    add$1(_, value) {
      return this._base.add$1(0, value);
    },
    addAll$1(_, elements) {
      this._base.addAll$1(0, elements);
    },
    toSet$0(_) {
      return new A.DelegatingSet(this._base.toSet$0(0), A._instanceType(this)._eval$1("DelegatingSet<1>"));
    },
    $isEfficientLengthIterable: 1,
    $isSet: 1,
    get$_base() {
      return this._base;
    }
  };
  A.MapKeySet.prototype = {
    get$_base() {
      var t1 = this._baseMap;
      return t1.get$keys(t1);
    },
    contains$1(_, element) {
      return this._baseMap.containsKey$1(element);
    },
    get$isEmpty(_) {
      var t1 = this._baseMap;
      return t1.get$isEmpty(t1);
    },
    get$isNotEmpty(_) {
      var t1 = this._baseMap;
      return t1.get$isNotEmpty(t1);
    },
    get$length(_) {
      var t1 = this._baseMap;
      return t1.get$length(t1);
    },
    toString$0(_) {
      return A.Iterable_iterableToFullString(this, "{", "}");
    },
    difference$1(other) {
      return J.where$1$ax(this.get$_base(), new A.MapKeySet_difference_closure(this, other)).toSet$0(0);
    },
    $isEfficientLengthIterable: 1,
    $isSet: 1
  };
  A.MapKeySet_difference_closure.prototype = {
    call$1(element) {
      return !this.other._source.contains$1(0, element);
    },
    $signature() {
      return this.$this.$ti._eval$1("bool(1)");
    }
  };
  A._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin.prototype = {};
  A.BufferModule.prototype = {};
  A.BufferConstants.prototype = {};
  A.Buffer.prototype = {};
  A.ConsoleModule.prototype = {};
  A.Console.prototype = {};
  A.EventEmitter.prototype = {};
  A.FS.prototype = {};
  A.FSConstants.prototype = {};
  A.FSWatcher.prototype = {};
  A.ReadStream.prototype = {};
  A.ReadStreamOptions.prototype = {};
  A.WriteStream.prototype = {};
  A.WriteStreamOptions.prototype = {};
  A.FileOptions.prototype = {};
  A.StatOptions.prototype = {};
  A.MkdirOptions.prototype = {};
  A.RmdirOptions.prototype = {};
  A.WatchOptions.prototype = {};
  A.WatchFileOptions.prototype = {};
  A.Stats.prototype = {};
  A.Promise.prototype = {};
  A.Date.prototype = {};
  A.JsError.prototype = {};
  A.Atomics.prototype = {};
  A.Modules.prototype = {};
  A.Module.prototype = {};
  A.Net.prototype = {};
  A.Socket.prototype = {};
  A.NetAddress.prototype = {};
  A.NetServer.prototype = {};
  A.NodeJsError.prototype = {};
  A.JsAssertionError.prototype = {};
  A.JsRangeError.prototype = {};
  A.JsReferenceError.prototype = {};
  A.JsSyntaxError.prototype = {};
  A.JsTypeError.prototype = {};
  A.JsSystemError.prototype = {};
  A.Process.prototype = {};
  A.CPUUsage.prototype = {};
  A.Release.prototype = {};
  A.StreamModule.prototype = {};
  A.Readable.prototype = {};
  A.Writable.prototype = {};
  A.Duplex.prototype = {};
  A.Transform.prototype = {};
  A.WritableOptions.prototype = {};
  A.ReadableOptions.prototype = {};
  A.Immediate.prototype = {};
  A.Timeout.prototype = {};
  A.TTY.prototype = {};
  A.TTYReadStream.prototype = {};
  A.TTYWriteStream.prototype = {};
  A.Util.prototype = {};
  A.promiseToFuture_closure.prototype = {
    call$1(value) {
      this.completer.complete$1(value);
    },
    $signature: 61
  };
  A.promiseToFuture_closure0.prototype = {
    call$1(error) {
      this.completer.completeError$1(error);
    },
    $signature: 61
  };
  A.futureToPromise_closure.prototype = {
    call$2(resolve, reject) {
      this.future.then$1$2$onError(0, new A.futureToPromise__closure(resolve, this.T), reject, type$.dynamic);
    },
    $signature: 629
  };
  A.futureToPromise__closure.prototype = {
    call$1(result) {
      return this.resolve.call$1(result);
    },
    $signature() {
      return this.T._eval$1("@(0)");
    }
  };
  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));
      if (part2 == null) {
        t1 = this.style;
        t1 = t1.rootLength$1(part1) > 0 && !t1.isRootRelative$1(part1);
      } else
        t1 = false;
      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);
    },
    dirname$1(path) {
      var t1, t2,
        parsed = A.ParsedPath_ParsedPath$parse(path, this.style);
      parsed.removeTrailingSeparators$0();
      t1 = parsed.parts;
      t2 = t1.length;
      if (t2 === 0) {
        t1 = parsed.root;
        return t1 == null ? "." : t1;
      }
      if (t2 === 1) {
        t1 = parsed.root;
        return t1 == null ? "." : t1;
      }
      B.JSArray_methods.removeLast$0(t1);
      parsed.separators.pop();
      parsed.removeTrailingSeparators$0();
      return parsed.toString$0(0);
    },
    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;
      for (t1 = J.where$1$ax(parts, new A.Context_joinAll_closure()), t2 = J.get$iterator$ax(t1.__internal$_iterable), t1 = new A.WhereIterator(t2, t1._f), t3 = this.style, needsSeparator = false, isAbsoluteAndNotRootRelative = false, t4 = ""; t1.moveNext$0();) {
        t5 = t2.get$current(t2);
        if (t3.isRootRelative$1(t5) && isAbsoluteAndNotRootRelative) {
          parsed = A.ParsedPath_ParsedPath$parse(t5, t3);
          path = t4.charCodeAt(0) == 0 ? t4 : t4;
          t4 = B.JSString_methods.substring$2(path, 0, t3.rootLength$2$withDrive(path, true));
          parsed.root = t4;
          if (t3.needsSeparator$1(t4))
            parsed.separators[0] = t3.get$separator(t3);
          t4 = "" + parsed.toString$0(0);
        } else if (t3.rootLength$1(t5) > 0) {
          isAbsoluteAndNotRootRelative = !t3.isRootRelative$1(t5);
          t4 = "" + t5;
        } else {
          if (!(t5.length !== 0 && t3.containsSeparator$1(t5[0])))
            if (needsSeparator)
              t4 += t3.get$separator(t3);
          t4 += t5;
        }
        needsSeparator = t3.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)._eval$1("WhereIterable<1>");
      t2 = A.List_List$of(new A.WhereIterable(t1, new A.Context_split_closure(), t2), true, t2._eval$1("Iterable.E"));
      parsed.parts = t2;
      t1 = parsed.root;
      if (t1 != null)
        B.JSArray_methods.insert$2(t2, 0, t1);
      return parsed.parts;
    },
    canonicalize$1(_, path) {
      var t1, parsed;
      path = this.absolute$1(path);
      t1 = this.style;
      if (t1 !== $.$get$Style_windows() && !this._needsNormalization$1(path))
        return path;
      parsed = A.ParsedPath_ParsedPath$parse(path, t1);
      parsed.normalize$1$canonicalize(true);
      return parsed.toString$0(0);
    },
    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 i, start, previous, t2, t3, previousPrevious, codeUnit, t4,
        t1 = this.style,
        root = t1.rootLength$1(path);
      if (root !== 0) {
        if (t1 === $.$get$Style_windows())
          for (i = 0; i < root; ++i)
            if (path.charCodeAt(i) === 47)
              return true;
        start = root;
        previous = 47;
      } else {
        start = 0;
        previous = null;
      }
      for (t2 = new A.CodeUnits(path)._string, t3 = t2.length, i = start, previousPrevious = null; i < t3; ++i, previousPrevious = previous, previous = codeUnit) {
        codeUnit = t2.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)
            t4 = previousPrevious == null || previousPrevious === 46 || t1.isSeparator$1(previousPrevious);
          else
            t4 = false;
          if (t4)
            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, _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;
      if (t2.length !== 0 && J.$eq$(t2[0], "."))
        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);
      while (true) {
        t2 = fromParsed.parts;
        if (t2.length !== 0) {
          t3 = pathParsed.parts;
          t2 = t3.length !== 0 && t1.pathsEqual$2(t2[0], t3[0]);
        } else
          t2 = false;
        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;
      if (t2.length !== 0 && J.$eq$(t2[0], ".."))
        throw A.wrapException(A.PathException$(_s26_ + path + '" from "' + from + '".'));
      t2 = type$.String;
      B.JSArray_methods.insertAll$2(pathParsed.parts, 0, A.List_List$filled(fromParsed.parts.length, "..", false, t2));
      t3 = pathParsed.separators;
      t3[0] = "";
      B.JSArray_methods.insertAll$2(t3, 1, A.List_List$filled(fromParsed.parts.length, t1.get$separator(t1), false, t2));
      t1 = pathParsed.parts;
      t2 = t1.length;
      if (t2 === 0)
        return ".";
      if (t2 > 1 && J.$eq$(B.JSArray_methods.get$last(t1), ".")) {
        B.JSArray_methods.removeLast$0(pathParsed.parts);
        t1 = pathParsed.separators;
        t1.pop();
        t1.pop();
        t1.push("");
      }
      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 = $parent;
      child = child;
      t1 = _this.style;
      parentIsAbsolute = t1.rootLength$1($parent) > 0;
      childIsAbsolute = t1.rootLength$1(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(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, i, t2, t3, childIndex, parentIndex, lastCodeUnit, lastParentSeparator, parentCodeUnit, childCodeUnit, parentIndex0, 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 (i = 0; i < parentRootLength; ++i)
        if (!t1.codeUnitsEqual$2($parent.charCodeAt(i), child.charCodeAt(i)))
          return B._PathRelation_different;
      t2 = child.length;
      t3 = $parent.length;
      childIndex = childRootLength;
      parentIndex = parentRootLength;
      lastCodeUnit = 47;
      lastParentSeparator = null;
      while (true) {
        if (!(parentIndex < t3 && childIndex < t2))
          break;
        c$0: {
          parentCodeUnit = $parent.charCodeAt(parentIndex);
          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 === t3)
              break;
            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 === t3 || t1.isSeparator$1($parent.charCodeAt(parentIndex)))
                return B._PathRelation_inconclusive;
            }
          }
          if (childCodeUnit === 46 && t1.isSeparator$1(lastCodeUnit)) {
            ++childIndex;
            if (childIndex === t2)
              break;
            childCodeUnit = child.charCodeAt(childIndex);
            if (t1.isSeparator$1(childCodeUnit)) {
              ++childIndex;
              break c$0;
            }
            if (childCodeUnit === 46) {
              ++childIndex;
              if (childIndex === t2 || t1.isSeparator$1(child.charCodeAt(childIndex)))
                return B._PathRelation_inconclusive;
            }
          }
          if (_this._pathDirection$2(child, childIndex) !== B._PathDirection_yLX)
            return B._PathRelation_inconclusive;
          if (_this._pathDirection$2($parent, parentIndex) !== B._PathDirection_yLX)
            return B._PathRelation_inconclusive;
          return B._PathRelation_different;
        }
      }
      if (childIndex === t2) {
        if (parentIndex === t3 || t1.isSeparator$1($parent.charCodeAt(parentIndex)))
          lastParentSeparator = parentIndex;
        else if (lastParentSeparator == null)
          lastParentSeparator = Math.max(0, parentRootLength - 1);
        direction = _this._pathDirection$2($parent, lastParentSeparator);
        if (direction === B._PathDirection_8OV)
          return B._PathRelation_equal;
        return direction === B._PathDirection_3KU ? B._PathRelation_inconclusive : B._PathRelation_different;
      }
      direction = _this._pathDirection$2(child, childIndex);
      if (direction === B._PathDirection_8OV)
        return B._PathRelation_equal;
      if (direction === B._PathDirection_3KU)
        return B._PathRelation_inconclusive;
      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, i0, t3;
      for (t1 = path.length, t2 = this.style, i = index, depth = 0, reachedRoot = false; i < t1;) {
        while (true) {
          if (!(i < t1 && t2.isSeparator$1(path.charCodeAt(i))))
            break;
          ++i;
        }
        if (i === t1)
          break;
        i0 = i;
        while (true) {
          if (!(i0 < t1 && !t2.isSeparator$1(path.charCodeAt(i0))))
            break;
          ++i0;
        }
        t3 = i0 - i;
        if (!(t3 === 1 && path.charCodeAt(i) === 46))
          if (t3 === 2 && path.charCodeAt(i) === 46 && path.charCodeAt(i + 1) === 46) {
            --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_3KU;
      if (depth === 0)
        return B._PathDirection_8OV;
      if (reachedRoot)
        return B._PathDirection_e7w;
      return B._PathDirection_yLX;
    },
    hash$1(path) {
      var result, parsed, t1, _this = this;
      path = _this.absolute$1(path);
      result = _this._hashFast$1(path);
      if (result != null)
        return result;
      parsed = A.ParsedPath_ParsedPath$parse(path, _this.style);
      parsed.normalize$0();
      t1 = _this._hashFast$1(parsed.toString$0(0));
      t1.toString;
      return t1;
    },
    _hashFast$1(path) {
      var t1, t2, hash, beginning, wasSeparator, i, codeUnit, t3, next;
      for (t1 = path.length, t2 = this.style, hash = 4603, beginning = true, wasSeparator = true, i = 0; i < t1; ++i) {
        codeUnit = t2.canonicalizeCodeUnit$1(path.charCodeAt(i));
        if (t2.isSeparator$1(codeUnit)) {
          wasSeparator = true;
          continue;
        }
        if (codeUnit === 46 && wasSeparator) {
          t3 = i + 1;
          if (t3 === t1)
            break;
          next = path.charCodeAt(t3);
          if (t2.isSeparator$1(next))
            continue;
          if (!beginning)
            if (next === 46) {
              t3 = i + 2;
              t3 = t3 === t1 || t2.isSeparator$1(path.charCodeAt(t3));
            } else
              t3 = false;
          else
            t3 = false;
          if (t3)
            return null;
        }
        hash = ((hash & 67108863) * 33 ^ codeUnit) >>> 0;
        beginning = false;
        wasSeparator = false;
      }
      return hash;
    },
    withoutExtension$1(path) {
      var i,
        parsed = A.ParsedPath_ParsedPath$parse(path, this.style);
      for (i = parsed.parts.length - 1; i >= 0; --i)
        if (J.get$length$asx(parsed.parts[i]) !== 0) {
          parsed.parts[i] = parsed._splitExtension$0()[0];
          break;
        }
      return parsed.toString$0(0);
    },
    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 part !== "";
    },
    $signature: 4
  };
  A.Context_split_closure.prototype = {
    call$1(part) {
      return part.length !== 0;
    },
    $signature: 4
  };
  A._validateArgList_closure.prototype = {
    call$1(arg) {
      return arg == null ? "null" : '"' + arg + '"';
    },
    $signature: 609
  };
  A._PathDirection.prototype = {
    toString$0(_) {
      return this.name;
    }
  };
  A._PathRelation.prototype = {
    toString$0(_) {
      return this.name;
    }
  };
  A.InternalStyle.prototype = {
    getRoot$1(path) {
      var $length = this.rootLength$1(path);
      if ($length > 0)
        return B.JSString_methods.substring$2(path, 0, $length);
      return this.isRootRelative$1(path) ? path[0] : null;
    },
    relativePathToUri$1(path) {
      var segments, _null = null,
        t1 = path.length;
      if (t1 === 0)
        return A._Uri__Uri(_null, _null, _null, _null);
      segments = A.Context_Context(this).split$1(0, path);
      if (this.isSeparator$1(path.charCodeAt(t1 - 1)))
        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;
    },
    canonicalizeCodeUnit$1(codeUnit) {
      return codeUnit;
    },
    canonicalizePart$1(part) {
      return part;
    }
  };
  A.ParsedPath.prototype = {
    get$basename() {
      var _this = this,
        t1 = type$.String,
        copy = new A.ParsedPath(_this.style, _this.root, _this.isRootRelative, A.List_List$from(_this.parts, true, t1), A.List_List$from(_this.separators, true, t1));
      copy.removeTrailingSeparators$0();
      t1 = copy.parts;
      if (t1.length === 0) {
        t1 = _this.root;
        return t1 == null ? "" : t1;
      }
      return B.JSArray_methods.get$last(t1);
    },
    get$hasTrailingSeparator() {
      var t1 = this.parts;
      if (t1.length !== 0)
        t1 = J.$eq$(B.JSArray_methods.get$last(t1), "") || !J.$eq$(B.JSArray_methods.get$last(this.separators), "");
      else
        t1 = false;
      return t1;
    },
    removeTrailingSeparators$0() {
      var t1, t2, _this = this;
      while (true) {
        t1 = _this.parts;
        if (!(t1.length !== 0 && J.$eq$(B.JSArray_methods.get$last(t1), "")))
          break;
        B.JSArray_methods.removeLast$0(_this.parts);
        _this.separators.pop();
      }
      t1 = _this.separators;
      t2 = t1.length;
      if (t2 !== 0)
        t1[t2 - 1] = "";
    },
    normalize$1$canonicalize(canonicalize) {
      var t1, t2, t3, leadingDoubles, _i, part, t4, _this = this,
        newParts = A._setArrayType([], type$.JSArray_String);
      for (t1 = _this.parts, t2 = t1.length, t3 = _this.style, leadingDoubles = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        part = t1[_i];
        t4 = J.getInterceptor$(part);
        if (!(t4.$eq(part, ".") || t4.$eq(part, "")))
          if (t4.$eq(part, ".."))
            if (newParts.length !== 0)
              newParts.pop();
            else
              ++leadingDoubles;
          else
            newParts.push(canonicalize ? t3.canonicalizePart$1(part) : 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)
        newParts.push(".");
      _this.parts = newParts;
      _this.separators = A.List_List$filled(newParts.length + 1, t3.get$separator(t3), true, type$.String);
      t1 = _this.root;
      if (t1 == null || newParts.length === 0 || !t3.needsSeparator$1(t1))
        _this.separators[0] = "";
      t1 = _this.root;
      if (t1 != null && t3 === $.$get$Style_windows()) {
        if (canonicalize)
          t1 = _this.root = t1.toLowerCase();
        t1.toString;
        _this.root = A.stringReplaceAllUnchecked(t1, "/", "\\");
      }
      _this.removeTrailingSeparators$0();
    },
    normalize$0() {
      return this.normalize$1$canonicalize(false);
    },
    toString$0(_) {
      var i, _this = this,
        t1 = _this.root;
      t1 = t1 != null ? "" + t1 : "";
      for (i = 0; i < _this.parts.length; ++i)
        t1 = t1 + A.S(_this.separators[i]) + A.S(_this.parts[i]);
      t1 += A.S(B.JSArray_methods.get$last(_this.separators));
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _kthLastIndexOf$3(path, character, k) {
      var index, count, leftMostIndexedCharacter;
      for (index = path.length - 1, count = 0, leftMostIndexedCharacter = 0; index >= 0; --index)
        if (path[index] === character) {
          ++count;
          if (count === k)
            return index;
          leftMostIndexedCharacter = index;
        }
      return leftMostIndexedCharacter;
    },
    _splitExtension$1(level) {
      var t1, file, lastDot;
      if (level <= 0)
        throw A.wrapException(A.RangeError$value(level, "level", "level's value must be greater than 0"));
      t1 = this.parts;
      t1 = new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,String?>"));
      file = t1.lastWhere$2$orElse(t1, new A.ParsedPath__splitExtension_closure(), new A.ParsedPath__splitExtension_closure0());
      if (file == null)
        return A._setArrayType(["", ""], type$.JSArray_String);
      if (file === "..")
        return A._setArrayType(["..", ""], type$.JSArray_String);
      lastDot = this._kthLastIndexOf$3(file, ".", level);
      if (lastDot <= 0)
        return A._setArrayType([file, ""], type$.JSArray_String);
      return A._setArrayType([B.JSString_methods.substring$2(file, 0, lastDot), B.JSString_methods.substring$1(file, lastDot)], type$.JSArray_String);
    },
    _splitExtension$0() {
      return this._splitExtension$1(1);
    }
  };
  A.ParsedPath__splitExtension_closure.prototype = {
    call$1(p) {
      return p !== "";
    },
    $signature: 139
  };
  A.ParsedPath__splitExtension_closure0.prototype = {
    call$0() {
      return null;
    },
    $signature: 1
  };
  A.PathException.prototype = {
    toString$0(_) {
      return "PathException: " + this.message;
    },
    $isException: 1,
    get$message(receiver) {
      return this.message;
    }
  };
  A.PathMap.prototype = {};
  A.PathMap__create_closure.prototype = {
    call$2(path1, path2) {
      if (path1 == null)
        return path2 == null;
      if (path2 == null)
        return false;
      return this._box_0.context._isWithinOrEquals$2(path1, path2) === B._PathRelation_equal;
    },
    $signature: 553
  };
  A.PathMap__create_closure0.prototype = {
    call$1(path) {
      return path == null ? 0 : this._box_0.context.hash$1(path);
    },
    $signature: 530
  };
  A.PathMap__create_closure1.prototype = {
    call$1(path) {
      return typeof path == "string" || path == null;
    },
    $signature: 128
  };
  A.Style.prototype = {
    toString$0(_) {
      return this.get$name(this);
    }
  };
  A.PosixStyle.prototype = {
    containsSeparator$1(path) {
      return B.JSString_methods.contains$1(path, "/");
    },
    isSeparator$1(codeUnit) {
      return codeUnit === 47;
    },
    needsSeparator$1(path) {
      var t1 = path.length;
      return t1 !== 0 && path.charCodeAt(t1 - 1) !== 47;
    },
    rootLength$2$withDrive(path, withDrive) {
      if (path.length !== 0 && path.charCodeAt(0) === 47)
        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(uri);
        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 t1 = path.length;
      if (t1 === 0)
        return false;
      if (path.charCodeAt(t1 - 1) !== 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 (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) {
      return path.length !== 0 && path.charCodeAt(0) === 47;
    },
    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 t1 = path.length;
      if (t1 === 0)
        return false;
      t1 = path.charCodeAt(t1 - 1);
      return !(t1 === 47 || t1 === 92);
    },
    rootLength$2$withDrive(path, withDrive) {
      var index,
        t1 = path.length;
      if (t1 === 0)
        return 0;
      if (path.charCodeAt(0) === 47)
        return 1;
      if (path.charCodeAt(0) === 92) {
        if (t1 < 2 || path.charCodeAt(1) !== 92)
          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(uri);
      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), 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, i;
      if (path1 === path2)
        return true;
      t1 = path1.length;
      if (t1 !== path2.length)
        return false;
      for (i = 0; i < t1; ++i)
        if (!this.codeUnitsEqual$2(path1.charCodeAt(i), path2.charCodeAt(i)))
          return false;
      return true;
    },
    canonicalizeCodeUnit$1(codeUnit) {
      if (codeUnit === 47)
        return 92;
      if (codeUnit < 65)
        return codeUnit;
      if (codeUnit > 90)
        return codeUnit;
      return codeUnit | 32;
    },
    canonicalizePart$1(part) {
      return part.toLowerCase();
    },
    get$name() {
      return "windows";
    },
    get$separator() {
      return "\\";
    }
  };
  A.WindowsStyle_absolutePathToUri_closure.prototype = {
    call$1(part) {
      return part !== "";
    },
    $signature: 4
  };
  A.Version.prototype = {
    get$min() {
      return this;
    },
    get$max() {
      return this;
    },
    get$includeMin() {
      return true;
    },
    get$includeMax() {
      return true;
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof A.Version && _this.major === other.major && _this.minor === other.minor && _this.patch === other.patch && B.C_IterableEquality.equals$2(0, _this.preRelease, other.preRelease) && B.C_IterableEquality.equals$2(0, _this.build, other.build);
    },
    get$hashCode(_) {
      var _this = this;
      return (_this.major ^ _this.minor ^ _this.patch ^ B.C_IterableEquality.hash$1(_this.preRelease) ^ B.C_IterableEquality.hash$1(_this.build)) >>> 0;
    },
    compareTo$1(_, other) {
      var t1, t2, t3, comparison, _this = this;
      if (other instanceof A.Version) {
        t1 = _this.major;
        t2 = other.major;
        if (t1 !== t2)
          return B.JSInt_methods.compareTo$1(t1, t2);
        t1 = _this.minor;
        t2 = other.minor;
        if (t1 !== t2)
          return B.JSInt_methods.compareTo$1(t1, t2);
        t1 = _this.patch;
        t2 = other.patch;
        if (t1 !== t2)
          return B.JSInt_methods.compareTo$1(t1, t2);
        t1 = _this.preRelease;
        t2 = t1.length === 0;
        if (t2 && other.preRelease.length !== 0)
          return 1;
        t3 = other.preRelease;
        if (t3.length === 0 && !t2)
          return -1;
        comparison = _this._compareLists$2(t1, t3);
        if (comparison !== 0)
          return comparison;
        t1 = _this.build;
        t2 = t1.length === 0;
        if (t2 && other.build.length !== 0)
          return -1;
        t3 = other.build;
        if (t3.length === 0 && !t2)
          return 1;
        return _this._compareLists$2(t1, t3);
      } else
        return -other.compareTo$1(0, _this);
    },
    toString$0(_) {
      return this._version$_text;
    },
    _compareLists$2(a, b) {
      var i, t1, t2, aPart, bPart;
      for (i = 0; t1 = a.length, t2 = b.length, i < Math.max(t1, t2); ++i) {
        aPart = i < t1 ? a[i] : null;
        bPart = i < t2 ? b[i] : null;
        if (J.$eq$(aPart, bPart))
          continue;
        if (aPart == null)
          return -1;
        if (bPart == null)
          return 1;
        if (typeof aPart == "number")
          if (typeof bPart == "number")
            return B.JSNumber_methods.compareTo$1(aPart, bPart);
          else
            return -1;
        else if (typeof bPart == "number")
          return 1;
        else {
          A._asString(aPart);
          A._asString(bPart);
          if (aPart === bPart)
            t1 = 0;
          else
            t1 = aPart < bPart ? -1 : 1;
          return t1;
        }
      }
      return 0;
    },
    $isComparable: 1,
    $isVersionRange: 1
  };
  A.Version__splitParts_closure.prototype = {
    call$1(part) {
      var t1 = A.Primitives_parseInt(part, null);
      return t1 == null ? part : t1;
    },
    $signature: 529
  };
  A.VersionRange.prototype = {
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (!type$.VersionRange._is(other))
        return false;
      if (this.min == other.get$min())
        if (J.$eq$(this.max, other.get$max())) {
          t1 = !other.get$includeMin();
          if (t1)
            other.get$includeMax();
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var t1 = B.JSNull_methods.get$hashCode(this.min),
        t2 = J.get$hashCode$(this.max);
      return (t1 ^ t2 * 3 ^ 1090795 ^ 3633126) >>> 0;
    },
    allows$1(other) {
      var t1 = this.max;
      if (t1 != null)
        if (other.compareTo$1(0, t1) > 0)
          return false;
      return true;
    },
    compareTo$1(_, other) {
      if (other.get$min() == null)
        return this._compareMax$1(other);
      return -1;
    },
    _compareMax$1(other) {
      var t2, result,
        t1 = this.max;
      if (t1 == null) {
        if (other.get$max() == null)
          return 0;
        return 1;
      } else if (other.get$max() == null)
        return -1;
      t2 = other.get$max();
      t2.toString;
      result = t1.compareTo$1(0, t2);
      if (result !== 0)
        return result;
      other.get$includeMax();
      return 0;
    },
    toString$0(_) {
      var t2,
        max = this.max,
        t1 = max == null;
      if (!t1)
        t2 = "" + "<=" + max.toString$0(0);
      else
        t2 = "";
      t1 = t1 ? t2 + "any" : t2;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isComparable: 1,
    get$min() {
      return this.min;
    },
    get$max() {
      return this.max;
    },
    get$includeMin() {
      return this.includeMin;
    },
    get$includeMax() {
      return this.includeMax;
    }
  };
  A.CssMediaQuery.prototype = {
    merge$1(other) {
      var t1, ourModifier, t2, t3, ourType, t4, theirModifier, t5, t6, theirType, t7, t8, negativeConditions, conditions, type, modifier, fewerConditions, fewerConditions0, moreConditions, _this = this, _null = null, _s3_ = "all";
      if (!_this.conjunction || !other.conjunction)
        return B._SingletonCssMediaQueryMergeResult_1;
      t1 = _this.modifier;
      ourModifier = t1 == null ? _null : t1.toLowerCase();
      t2 = _this.type;
      t3 = t2 == null;
      ourType = t3 ? _null : t2.toLowerCase();
      t4 = other.modifier;
      theirModifier = t4 == null ? _null : t4.toLowerCase();
      t5 = other.type;
      t6 = t5 == null;
      theirType = t6 ? _null : t5.toLowerCase();
      t7 = ourType == null;
      if (t7 && theirType == null) {
        t1 = A.List_List$of(_this.conditions, true, type$.String);
        B.JSArray_methods.addAll$1(t1, other.conditions);
        return new A.MediaQuerySuccessfulMergeResult(A.CssMediaQuery$condition(t1, true));
      }
      t8 = ourModifier === "not";
      if (t8 !== (theirModifier === "not")) {
        if (ourType == theirType) {
          negativeConditions = t8 ? _this.conditions : other.conditions;
          if (B.JSArray_methods.every$1(negativeConditions, B.JSArray_methods.get$contains(t8 ? other.conditions : _this.conditions)))
            return B._SingletonCssMediaQueryMergeResult_0;
          else
            return B._SingletonCssMediaQueryMergeResult_1;
        } else if (t3 || A.equalsIgnoreCase(t2, _s3_) || t6 || A.equalsIgnoreCase(t5, _s3_))
          return B._SingletonCssMediaQueryMergeResult_1;
        if (t8) {
          conditions = other.conditions;
          type = theirType;
          modifier = theirModifier;
        } else {
          conditions = _this.conditions;
          type = ourType;
          modifier = ourModifier;
        }
      } else if (t8) {
        if (ourType != theirType)
          return B._SingletonCssMediaQueryMergeResult_1;
        fewerConditions = _this.conditions;
        fewerConditions0 = other.conditions;
        t3 = fewerConditions.length > fewerConditions0.length;
        moreConditions = t3 ? fewerConditions : fewerConditions0;
        if (t3)
          fewerConditions = fewerConditions0;
        if (!B.JSArray_methods.every$1(fewerConditions, B.JSArray_methods.get$contains(moreConditions)))
          return B._SingletonCssMediaQueryMergeResult_1;
        conditions = moreConditions;
        type = ourType;
        modifier = ourModifier;
      } else if (t3 || A.equalsIgnoreCase(t2, _s3_)) {
        type = (t6 || A.equalsIgnoreCase(t5, _s3_)) && t7 ? _null : theirType;
        t3 = A.List_List$of(_this.conditions, true, type$.String);
        B.JSArray_methods.addAll$1(t3, other.conditions);
        conditions = t3;
        modifier = theirModifier;
      } else {
        if (t6 || A.equalsIgnoreCase(t5, _s3_)) {
          t3 = A.List_List$of(_this.conditions, true, type$.String);
          B.JSArray_methods.addAll$1(t3, other.conditions);
          conditions = t3;
          modifier = ourModifier;
        } else {
          if (ourType != theirType)
            return B._SingletonCssMediaQueryMergeResult_0;
          else {
            modifier = ourModifier == null ? theirModifier : ourModifier;
            t3 = A.List_List$of(_this.conditions, true, type$.String);
            B.JSArray_methods.addAll$1(t3, other.conditions);
          }
          conditions = t3;
        }
        type = ourType;
      }
      t2 = type == ourType ? t2 : t5;
      return new A.MediaQuerySuccessfulMergeResult(A.CssMediaQuery$type(t2, conditions, modifier == ourModifier ? t1 : t4));
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.CssMediaQuery && other.modifier == this.modifier && other.type == this.type && B.C_ListEquality.equals$2(0, other.conditions, this.conditions);
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.modifier) ^ J.get$hashCode$(this.type) ^ B.C_ListEquality0.hash$1(this.conditions);
    },
    toString$0(_) {
      var t2, _this = this,
        t1 = _this.modifier;
      t1 = t1 != null ? "" + (t1 + " ") : "";
      t2 = _this.type;
      if (t2 != null) {
        t1 += t2;
        if (_this.conditions.length !== 0)
          t1 += " and ";
      }
      t2 = _this.conjunction ? " and " : " or ";
      t2 = t1 + B.JSArray_methods.join$1(_this.conditions, t2);
      return t2.charCodeAt(0) == 0 ? t2 : t2;
    }
  };
  A._SingletonCssMediaQueryMergeResult.prototype = {
    _enumToString$0() {
      return "_SingletonCssMediaQueryMergeResult." + this._name;
    }
  };
  A.MediaQuerySuccessfulMergeResult.prototype = {
    toString$0(_) {
      return this.query.toString$0(0);
    }
  };
  A.ModifiableCssAtRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssAtRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    equalsIgnoringChildren$1(other) {
      var t1, t2;
      if (other instanceof A.ModifiableCssAtRule) {
        t1 = this.name;
        t2 = other.name;
        t1 = t1.$ti._is(t2) && J.$eq$(t2.value, t1.value) && J.$eq$(this.value, other.value) && this.isChildless === other.isChildless;
      } else
        t1 = false;
      return t1;
    },
    copyWithoutChildren$0() {
      var _this = this;
      return A.ModifiableCssAtRule$(_this.name, _this.span, _this.isChildless, _this.value);
    },
    addChild$1(child) {
      this.super$ModifiableCssParentNode$addChild(child);
    },
    get$isChildless() {
      return this.isChildless;
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.ModifiableCssComment.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssComment$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    $isCssComment: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ModifiableCssDeclaration.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssDeclaration$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return this.name.toString$0(0) + ": " + this.value.toString$0(0) + ";";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.ModifiableCssImport.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssImport$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.ModifiableCssKeyframeBlock.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssKeyframeBlock$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    equalsIgnoringChildren$1(other) {
      return other instanceof A.ModifiableCssKeyframeBlock && B.C_ListEquality.equals$2(0, this.selector.value, other.selector.value);
    },
    copyWithoutChildren$0() {
      return A.ModifiableCssKeyframeBlock$(this.selector, this.span);
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.ModifiableCssMediaRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssMediaRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    equalsIgnoringChildren$1(other) {
      return other instanceof A.ModifiableCssMediaRule && B.C_ListEquality.equals$2(0, this.queries, other.queries);
    },
    copyWithoutChildren$0() {
      return A.ModifiableCssMediaRule$(this.queries, this.span);
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.ModifiableCssNode.prototype = {
    get$hasFollowingSibling() {
      var t2,
        t1 = this._parent;
      if (t1 == null)
        t1 = null;
      else {
        t1 = t1.children;
        t2 = this._indexInParent;
        t2.toString;
        t1 = A.SubListIterable$(t1, t2 + 1, null, t1.$ti._eval$1("ListBase.E")).any$1(0, new A.ModifiableCssNode_hasFollowingSibling_closure());
      }
      return t1 === true;
    },
    get$isGroupEnd() {
      return this.isGroupEnd;
    }
  };
  A.ModifiableCssNode_hasFollowingSibling_closure.prototype = {
    call$1(sibling) {
      return !sibling.accept$1(B._IsInvisibleVisitor_true_false);
    },
    $signature: 525
  };
  A.ModifiableCssParentNode.prototype = {
    get$isChildless() {
      return false;
    },
    addChild$1(child) {
      var t1;
      child._parent = this;
      t1 = this._children;
      child._indexInParent = t1.length;
      t1.push(child);
    },
    clearChildren$0() {
      var t1, t2, _i, child;
      for (t1 = this._children, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        child = t1[_i];
        child._indexInParent = child._parent = null;
      }
      B.JSArray_methods.clear$0(t1);
    },
    $isCssParentNode: 1,
    get$children(receiver) {
      return this.children;
    }
  };
  A.ModifiableCssStyleRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssStyleRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    equalsIgnoringChildren$1(other) {
      var t1;
      if (other instanceof A.ModifiableCssStyleRule)
        t1 = B.C_ListEquality.equals$2(0, other._style_rule$_selector._box$_inner.value.components, this._style_rule$_selector._box$_inner.value.components);
      else
        t1 = false;
      return t1;
    },
    copyWithoutChildren$0() {
      return A.ModifiableCssStyleRule$(this._style_rule$_selector, this.span, false, this.originalSelector);
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.ModifiableCssStylesheet.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssStylesheet$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    equalsIgnoringChildren$1(other) {
      return other instanceof A.ModifiableCssStylesheet;
    },
    copyWithoutChildren$0() {
      return A.ModifiableCssStylesheet$(this.span);
    },
    $isCssStylesheet: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ModifiableCssSupportsRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssSupportsRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    equalsIgnoringChildren$1(other) {
      var t1, t2;
      if (other instanceof A.ModifiableCssSupportsRule) {
        t1 = this.condition;
        t2 = other.condition;
        t1 = t1.$ti._is(t2) && J.$eq$(t2.value, t1.value);
      } else
        t1 = false;
      return t1;
    },
    copyWithoutChildren$0() {
      return A.ModifiableCssSupportsRule$(this.condition, this.span);
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.CssNode.prototype = {
    toString$0(_) {
      return A.serialize(this, true, null, true, null, false, null, true)._0;
    },
    $isAstNode: 1
  };
  A.CssParentNode.prototype = {};
  A._IsInvisibleVisitor.prototype = {
    visitCssAtRule$1(rule) {
      return false;
    },
    visitCssComment$1(comment) {
      return this.includeComments && comment.text.charCodeAt(2) !== 33;
    },
    visitCssStyleRule$1(rule) {
      var t1 = rule._style_rule$_selector._box$_inner;
      return (this.includeBogus ? t1.value.accept$1(B._IsInvisibleVisitor_true) : t1.value.accept$1(B._IsInvisibleVisitor_false)) || this.super$EveryCssVisitor$visitCssStyleRule(rule);
    }
  };
  A.__IsInvisibleVisitor_Object_EveryCssVisitor.prototype = {};
  A.CssStylesheet.prototype = {
    get$isGroupEnd() {
      return false;
    },
    get$isChildless() {
      return false;
    },
    accept$1$1(visitor) {
      return visitor.visitCssStylesheet$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    get$children(receiver) {
      return this.children;
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.CssValue.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return this.$ti._is(other) && J.$eq$(other.value, this.value);
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.value);
    },
    toString$0(_) {
      return J.toString$0$(this.value);
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A._FakeAstNode.prototype = {
    get$span(_) {
      return this._callback.call$0();
    },
    $isAstNode: 1
  };
  A.Argument.prototype = {
    toString$0(_) {
      var t1 = this.defaultValue,
        t2 = this.name;
      return t1 == null ? t2 : t2 + ": " + t1.toString$0(0);
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ArgumentDeclaration.prototype = {
    get$spanWithName() {
      var t3, t4,
        t1 = this.span,
        t2 = t1.file,
        text = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2._decodedChars, 0, null), 0, null),
        i = A.FileLocation$_(t2, t1._file$_start).offset - 1;
      while (true) {
        if (i > 0) {
          t3 = text.charCodeAt(i);
          t3 = t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12;
        } else
          t3 = false;
        if (!t3)
          break;
        --i;
      }
      t3 = text.charCodeAt(i);
      if (!(t3 === 95 || A.CharacterExtension_get_isAlphabetic(t3) || t3 >= 128))
        t3 = t3 >= 48 && t3 <= 57 || t3 === 45;
      else
        t3 = true;
      if (!t3)
        return t1;
      --i;
      while (true) {
        if (i >= 0) {
          t3 = text.charCodeAt(i);
          if (t3 !== 95) {
            if (!(t3 >= 97 && t3 <= 122))
              t4 = t3 >= 65 && t3 <= 90;
            else
              t4 = true;
            t4 = t4 || t3 >= 128;
          } else
            t4 = true;
          if (!t4)
            t3 = t3 >= 48 && t3 <= 57 || t3 === 45;
          else
            t3 = true;
        } else
          t3 = false;
        if (!t3)
          break;
        --i;
      }
      t3 = i + 1;
      t4 = text.charCodeAt(t3);
      if (!(t4 === 95 || A.CharacterExtension_get_isAlphabetic(t4) || t4 >= 128))
        return t1;
      return A.SpanExtensions_trimRight(A.SpanExtensions_trimLeft(t2.span$2(0, t3, A.FileLocation$_(t2, t1._end).offset)));
    },
    verify$2(positional, names) {
      var t1, t2, t3, namedUsed, i, argument, t4, unknownNames, _this = this,
        _s10_ = "invocation",
        _s8_ = "argument";
      for (t1 = _this.$arguments, t2 = t1.length, t3 = names._baseMap, namedUsed = 0, i = 0; i < t2; ++i) {
        argument = t1[i];
        if (i < positional) {
          t4 = argument.name;
          if (t3.containsKey$1(t4))
            throw A.wrapException(A.SassScriptException$("Argument " + _this._originalArgumentName$1(t4) + string$.x20was_p, null));
        } else {
          t4 = argument.name;
          if (t3.containsKey$1(t4))
            ++namedUsed;
          else if (argument.defaultValue == null)
            throw A.wrapException(A.MultiSpanSassScriptException$("Missing argument " + _this._originalArgumentName$1(t4) + ".", _s10_, A.LinkedHashMap_LinkedHashMap$_literal([_this.get$spanWithName(), "declaration"], type$.FileSpan, type$.String)));
        }
      }
      if (_this.restArgument != null)
        return;
      if (positional > t2) {
        t1 = names.get$isEmpty(0) ? "" : "positional ";
        throw A.wrapException(A.MultiSpanSassScriptException$("Only " + t2 + " " + t1 + A.pluralize(_s8_, t2, null) + " allowed, but " + positional + " " + A.pluralize("was", positional, "were") + " passed.", _s10_, A.LinkedHashMap_LinkedHashMap$_literal([_this.get$spanWithName(), "declaration"], type$.FileSpan, type$.String)));
      }
      if (namedUsed < t3.get$length(t3)) {
        t2 = type$.String;
        unknownNames = A.LinkedHashSet_LinkedHashSet$of(names, t2);
        unknownNames.removeAll$1(new A.MappedListIterable(t1, new A.ArgumentDeclaration_verify_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Object?>")));
        throw A.wrapException(A.MultiSpanSassScriptException$("No " + A.pluralize(_s8_, unknownNames._collection$_length, null) + " named " + A.toSentence(unknownNames.map$1$1(0, new A.ArgumentDeclaration_verify_closure0(), type$.Object), "or") + ".", _s10_, A.LinkedHashMap_LinkedHashMap$_literal([_this.get$spanWithName(), "declaration"], type$.FileSpan, t2)));
      }
    },
    _originalArgumentName$1($name) {
      var t1, text, t2, _i, argument, t3, t4, end, _null = null;
      if ($name === this.restArgument) {
        t1 = this.span;
        text = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._file$_start, t1._end), 0, _null);
        return B.JSString_methods.substring$2(B.JSString_methods.substring$1(text, B.JSString_methods.lastIndexOf$1(text, "$")), 0, B.JSString_methods.indexOf$1(text, "."));
      }
      for (t1 = this.$arguments, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        argument = t1[_i];
        if (argument.name === $name) {
          t1 = argument.defaultValue;
          t2 = argument.span;
          t3 = t2.file;
          t4 = t2._file$_start;
          t2 = t2._end;
          if (t1 == null) {
            t1 = t3._decodedChars;
            t1 = A.String_String$fromCharCodes(new Uint32Array(t1.subarray(t4, A._checkValidRange(t4, t2, t1.length))), 0, _null);
          } else {
            t1 = t3._decodedChars;
            text = A.String_String$fromCharCodes(new Uint32Array(t1.subarray(t4, A._checkValidRange(t4, t2, t1.length))), 0, _null);
            t1 = B.JSString_methods.substring$2(text, 0, B.JSString_methods.indexOf$1(text, ":"));
            end = A._lastNonWhitespace(t1, false);
            t1 = end == null ? "" : B.JSString_methods.substring$2(t1, 0, end + 1);
          }
          return t1;
        }
      }
      throw A.wrapException(A.ArgumentError$(string$.This_d + $name + '".', _null));
    },
    matches$2(positional, names) {
      var t1, t2, t3, namedUsed, i, argument;
      for (t1 = this.$arguments, t2 = t1.length, t3 = names._baseMap, namedUsed = 0, i = 0; i < t2; ++i) {
        argument = t1[i];
        if (i < positional) {
          if (t3.containsKey$1(argument.name))
            return false;
        } else if (t3.containsKey$1(argument.name))
          ++namedUsed;
        else if (argument.defaultValue == null)
          return false;
      }
      if (this.restArgument != null)
        return true;
      if (positional > t2)
        return false;
      if (namedUsed < t3.get$length(t3))
        return false;
      return true;
    },
    toString$0(_) {
      var t2, t3, _i,
        t1 = A._setArrayType([], type$.JSArray_String);
      for (t2 = this.$arguments, t3 = t2.length, _i = 0; _i < t3; ++_i)
        t1.push("$" + A.S(t2[_i]));
      t2 = this.restArgument;
      if (t2 != null)
        t1.push("$" + t2 + "...");
      return B.JSArray_methods.join$1(t1, ", ");
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ArgumentDeclaration_verify_closure.prototype = {
    call$1(argument) {
      return argument.name;
    },
    $signature: 518
  };
  A.ArgumentDeclaration_verify_closure0.prototype = {
    call$1($name) {
      return "$" + $name;
    },
    $signature: 5
  };
  A.ArgumentInvocation.prototype = {
    get$isEmpty(_) {
      var t1;
      if (this.positional.length === 0) {
        t1 = this.named;
        t1 = t1.get$isEmpty(t1) && this.rest == null;
      } else
        t1 = false;
      return t1;
    },
    toString$0(_) {
      var t2, t3, _i, _1_0, _2_0, _this = this,
        t1 = A._setArrayType([], type$.JSArray_String);
      for (t2 = _this.positional, t3 = t2.length, _i = 0; _i < t3; ++_i)
        t1.push(_this._parenthesizeArgument$1(t2[_i]));
      for (t2 = A.MapExtensions_get_pairs(_this.named, type$.String, type$.Expression), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.push("$" + t3._0 + ": " + _this._parenthesizeArgument$1(t3._1));
      }
      _1_0 = _this.rest;
      if (_1_0 != null)
        t1.push(_this._parenthesizeArgument$1(_1_0) + "...");
      _2_0 = _this.keywordRest;
      if (_2_0 != null)
        t1.push(_this._parenthesizeArgument$1(_2_0) + "...");
      return "(" + B.JSArray_methods.join$1(t1, ", ") + ")";
    },
    _parenthesizeArgument$1(argument) {
      var t1;
      $label0$0: {
        if (argument instanceof A.ListExpression && B.ListSeparator_ECn === argument.separator && !argument.hasBrackets && argument.contents.length >= 2) {
          t1 = "(" + argument.toString$0(0) + ")";
          break $label0$0;
        }
        t1 = argument.toString$0(0);
        break $label0$0;
      }
      return t1;
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.AtRootQuery.prototype = {
    excludes$1(node) {
      var t1, _this = this;
      if (_this._all)
        return !_this.include;
      $label0$0: {
        if (node instanceof A.ModifiableCssStyleRule) {
          t1 = _this._at_root_query$_rule !== _this.include;
          break $label0$0;
        }
        if (node instanceof A.ModifiableCssMediaRule) {
          t1 = _this.excludesName$1("media");
          break $label0$0;
        }
        if (node instanceof A.ModifiableCssSupportsRule) {
          t1 = _this.excludesName$1("supports");
          break $label0$0;
        }
        if (node instanceof A.ModifiableCssAtRule) {
          t1 = _this.excludesName$1(node.name.value.toLowerCase());
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    excludesName$1($name) {
      var t1 = this._all || this.names.contains$1(0, $name);
      return t1 !== this.include;
    }
  };
  A.ConfiguredVariable.prototype = {
    toString$0(_) {
      var t1 = this.expression.toString$0(0),
        t2 = this.isGuarded ? " !default" : "";
      return "$" + this.name + ": " + t1 + t2;
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A._IsCalculationSafeVisitor.prototype = {
    visitBinaryOperationExpression$1(node) {
      var t1;
      if (B.Set_mqKz.contains$1(0, node.operator))
        t1 = node.left.accept$1(this) || node.right.accept$1(this);
      else
        t1 = false;
      return t1;
    },
    visitBooleanExpression$1(node) {
      return false;
    },
    visitColorExpression$1(node) {
      return false;
    },
    visitFunctionExpression$1(node) {
      return true;
    },
    visitInterpolatedFunctionExpression$1(node) {
      return true;
    },
    visitIfExpression$1(node) {
      return true;
    },
    visitListExpression$1(node) {
      var t1;
      if (node.separator === B.ListSeparator_nbm)
        if (!node.hasBrackets) {
          t1 = node.contents;
          t1 = t1.length > 1 && B.JSArray_methods.every$1(t1, new A._IsCalculationSafeVisitor_visitListExpression_closure(this));
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    visitMapExpression$1(node) {
      return false;
    },
    visitNullExpression$1(node) {
      return false;
    },
    visitNumberExpression$1(node) {
      return true;
    },
    visitParenthesizedExpression$1(node) {
      return node.expression.accept$1(this);
    },
    visitSelectorExpression$1(node) {
      return false;
    },
    visitStringExpression$1(node) {
      var text, t1, t2;
      if (node.hasQuotes)
        return false;
      text = node.text.get$initialPlain();
      if (!B.JSString_methods.startsWith$1(text, "!"))
        if (!B.JSString_methods.startsWith$1(text, "#")) {
          t1 = text.length;
          if ((1 >= t1 ? null : text.charCodeAt(1)) !== 43) {
            t2 = (3 >= t1 ? null : text.charCodeAt(3)) !== 40;
            t1 = t2;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    visitSupportsExpression$1(node) {
      return false;
    },
    visitUnaryOperationExpression$1(node) {
      return false;
    },
    visitValueExpression$1(node) {
      return false;
    },
    visitVariableExpression$1(node) {
      return true;
    }
  };
  A._IsCalculationSafeVisitor_visitListExpression_closure.prototype = {
    call$1(expression) {
      return expression.accept$1(this.$this);
    },
    $signature: 113
  };
  A.BinaryOperationExpression.prototype = {
    get$span(_) {
      var right,
        left = this.left;
      for (; left instanceof A.BinaryOperationExpression;)
        left = left.left;
      right = this.right;
      for (; right instanceof A.BinaryOperationExpression;)
        right = right.right;
      return left.get$span(left).expand$1(0, right.get$span(right));
    },
    get$operatorSpan() {
      var t3, t4,
        t1 = this.left,
        t2 = t1.get$span(t1);
      t2 = t2.get$file(t2);
      t3 = this.right;
      t4 = t3.get$span(t3);
      if (t2 === t4.get$file(t4)) {
        t2 = t1.get$span(t1);
        t2 = t2.get$end(t2);
        t4 = t3.get$span(t3);
        t4 = t2.offset < t4.get$start(t4).offset;
        t2 = t4;
      } else
        t2 = false;
      if (t2) {
        t2 = t1.get$span(t1);
        t2 = t2.get$file(t2);
        t1 = t1.get$span(t1);
        t1 = t1.get$end(t1);
        t3 = t3.get$span(t3);
        t3 = A.SpanExtensions_trimRight(A.SpanExtensions_trimLeft(t2.span$2(0, t1.offset, t3.get$start(t3).offset)));
        t1 = t3;
      } else
        t1 = this.get$span(0);
      return t1;
    },
    accept$1$1(visitor) {
      return visitor.visitBinaryOperationExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1, t2, right, operator, t3, _this = this,
        _0_0 = _this.left;
      $label0$0: {
        if (_0_0 instanceof A.BinaryOperationExpression) {
          t1 = _0_0.operator.precedence < _this.operator.precedence;
          break $label0$0;
        }
        if (_0_0 instanceof A.ListExpression && !_0_0.hasBrackets && _0_0.contents.length >= 2) {
          t1 = true;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      t2 = t1 ? "" + A.Primitives_stringFromCharCode(40) : "";
      t2 += _0_0.toString$0(0);
      t1 = t1 ? t2 + A.Primitives_stringFromCharCode(41) : t2;
      t2 = _this.operator;
      t1 = t1 + A.Primitives_stringFromCharCode(32) + t2.operator + A.Primitives_stringFromCharCode(32);
      right = _this.right;
      $label1$1: {
        if (right instanceof A.BinaryOperationExpression) {
          operator = right.operator;
          if (operator.precedence <= t2.precedence) {
            t3 = !(operator === t2 && operator.isAssociative);
            t2 = t3;
          } else
            t2 = false;
          break $label1$1;
        }
        if (right instanceof A.ListExpression && !right.hasBrackets && right.contents.length >= 2) {
          t2 = true;
          break $label1$1;
        }
        t2 = false;
        break $label1$1;
      }
      if (t2)
        t1 += A.Primitives_stringFromCharCode(40);
      t1 += right.toString$0(0);
      if (t2)
        t1 += A.Primitives_stringFromCharCode(41);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isAstNode: 1,
    $isExpression: 1
  };
  A.BinaryOperator.prototype = {
    _enumToString$0() {
      return "BinaryOperator." + this._name;
    },
    toString$0(_) {
      return this.name;
    }
  };
  A.BooleanExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitBooleanExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return String(this.value);
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ColorExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitColorExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return A.serializeValue(this.value, true, true);
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.FunctionExpression.prototype = {
    get$nameSpan() {
      if (this.namespace == null)
        return A.SpanExtensions_initialIdentifier(this.span);
      return A.SpanExtensions_initialIdentifier(A.FileSpanExtension_subspan(A.SpanExtensions_withoutInitialIdentifier(this.span), 1, null));
    },
    accept$1$1(visitor) {
      return visitor.visitFunctionExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.namespace;
      t1 = t1 != null ? "" + (t1 + ".") : "";
      t1 += this.originalName + this.$arguments.toString$0(0);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.IfExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitIfExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "if" + this.$arguments.toString$0(0);
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.InterpolatedFunctionExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitInterpolatedFunctionExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return this.name.toString$0(0) + this.$arguments.toString$0(0);
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ListExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitListExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t2, t3, t4, t5, _this = this,
        t1 = _this.hasBrackets;
      if (t1)
        t2 = "" + A.Primitives_stringFromCharCode(91);
      else {
        t2 = _this.contents.length;
        if (t2 !== 0)
          t2 = t2 === 1 && _this.separator === B.ListSeparator_ECn;
        else
          t2 = true;
        t2 = t2 ? "" + A.Primitives_stringFromCharCode(40) : "";
      }
      t3 = _this.contents;
      t4 = _this.separator === B.ListSeparator_ECn;
      t5 = t4 ? ", " : " ";
      t5 = t2 + new A.MappedListIterable(t3, new A.ListExpression_toString_closure(_this), A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,String>")).join$1(0, t5);
      if (t1)
        t1 = t5 + A.Primitives_stringFromCharCode(93);
      else {
        t1 = t3.length;
        if (t1 === 0)
          t1 = t5 + A.Primitives_stringFromCharCode(41);
        else
          t1 = t1 === 1 && t4 ? t5 + ",)" : t5;
      }
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _list0$_elementNeedsParens$1(expression) {
      var childSeparator, t1, _0_13;
      $label0$0: {
        if (expression instanceof A.ListExpression && expression.contents.length >= 2 && !expression.hasBrackets) {
          childSeparator = expression.separator;
          t1 = this.separator === B.ListSeparator_ECn ? childSeparator === B.ListSeparator_ECn : childSeparator !== B.ListSeparator_undecided_null_undecided;
          break $label0$0;
        }
        if (expression instanceof A.UnaryOperationExpression) {
          _0_13 = expression.operator;
          if (B.UnaryOperator_cLp !== _0_13)
            t1 = B.UnaryOperator_AiQ === _0_13;
          else
            t1 = true;
        } else
          t1 = false;
        if (t1) {
          t1 = this.separator === B.ListSeparator_nbm;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ListExpression_toString_closure.prototype = {
    call$1(element) {
      return this.$this._list0$_elementNeedsParens$1(element) ? "(" + element.toString$0(0) + ")" : element.toString$0(0);
    },
    $signature: 111
  };
  A.MapExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitMapExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t2, t3, _i, t4, key, value,
        t1 = A._setArrayType([], type$.JSArray_String);
      for (t2 = this.pairs, t3 = t2.length, _i = 0; _i < t3; ++_i) {
        t4 = t2[_i];
        key = t4._0;
        value = t4._1;
        t1.push(key.toString$0(0) + ": " + value.toString$0(0));
      }
      return "(" + B.JSArray_methods.join$1(t1, ", ") + ")";
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.NullExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitNullExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "null";
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.NumberExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitNumberExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return A.serializeValue(A.SassNumber_SassNumber(this.value, this.unit), true, true);
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ParenthesizedExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitParenthesizedExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "(" + this.expression.toString$0(0) + ")";
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.SelectorExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitSelectorExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "&";
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.StringExpression.prototype = {
    get$span(_) {
      return this.text.span;
    },
    accept$1$1(visitor) {
      return visitor.visitStringExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    asInterpolation$1$static($static) {
      var t1, t2, quote, t3, t4, buffer, t5, t6, _i, value;
      if (!this.hasQuotes)
        return this.text;
      t1 = this.text;
      t2 = t1.contents;
      quote = A.StringExpression__bestQuote(new A.WhereTypeIterable(t2, type$.WhereTypeIterable_String));
      t3 = new A.StringBuffer("");
      t4 = A._setArrayType([], type$.JSArray_Object);
      buffer = new A.InterpolationBuffer(t3, t4);
      t5 = A.Primitives_stringFromCharCode(quote);
      t3._contents += t5;
      for (t5 = t2.length, t6 = type$.Expression, _i = 0; _i < t5; ++_i) {
        value = t2[_i];
        if (t6._is(value)) {
          buffer._flushText$0();
          t4.push(value);
          continue;
        }
        if (typeof value == "string")
          A.StringExpression__quoteInnerText(value, quote, buffer, $static);
      }
      t2 = A.Primitives_stringFromCharCode(quote);
      t3._contents += t2;
      return buffer.interpolation$1(t1.span);
    },
    asInterpolation$0() {
      return this.asInterpolation$1$static(false);
    },
    toString$0(_) {
      return this.asInterpolation$0().toString$0(0);
    },
    $isAstNode: 1,
    $isExpression: 1
  };
  A.SupportsExpression.prototype = {
    get$span(_) {
      var t1 = this.condition;
      return t1.get$span(t1);
    },
    accept$1$1(visitor) {
      return visitor.visitSupportsExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return this.condition.toString$0(0);
    },
    $isAstNode: 1,
    $isExpression: 1
  };
  A.UnaryOperationExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitUnaryOperationExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var operand,
        t1 = this.operator,
        t2 = t1.operator;
      t1 = t1 === B.UnaryOperator_not_not_not ? t2 + A.Primitives_stringFromCharCode(32) : t2;
      operand = this.operand;
      $label0$0: {
        if (!(operand instanceof A.BinaryOperationExpression))
          if (!(operand instanceof A.UnaryOperationExpression))
            t2 = operand instanceof A.ListExpression && !operand.hasBrackets && operand.contents.length >= 2;
          else
            t2 = true;
        else
          t2 = true;
        if (t2)
          break $label0$0;
        break $label0$0;
      }
      if (t2)
        t1 += "40";
      t1 += operand.toString$0(0);
      if (t2)
        t1 += "41";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.UnaryOperator.prototype = {
    _enumToString$0() {
      return "UnaryOperator." + this._name;
    },
    toString$0(_) {
      return this.name;
    }
  };
  A.ValueExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitValueExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return A.serializeValue(this.value, true, true);
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.VariableExpression.prototype = {
    accept$1$1(visitor) {
      return visitor.visitVariableExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.span;
      return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._file$_start, t1._end), 0, null);
    },
    $isAstNode: 1,
    $isExpression: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.DynamicImport.prototype = {
    toString$0(_) {
      return A.StringExpression_quoteText(this.urlString);
    },
    $isAstNode: 1,
    $isImport: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.StaticImport.prototype = {
    toString$0(_) {
      var t1 = this.url.toString$0(0),
        t2 = this.modifiers;
      return t1 + (t2 == null ? "" : " " + t2.toString$0(0));
    },
    $isAstNode: 1,
    $isImport: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.Interpolation.prototype = {
    get$asPlain() {
      var _0_1, t1, _0_6_isSet, _0_6, first, _null = null,
        _0_0 = this.contents;
      $label0$0: {
        _0_1 = _0_0.length;
        if (_0_1 <= 0) {
          t1 = "";
          break $label0$0;
        }
        _0_6_isSet = _0_1 === 1;
        if (_0_6_isSet) {
          _0_6 = _0_0[0];
          t1 = _0_6;
          t1 = typeof t1 == "string";
        } else {
          _0_6 = _null;
          t1 = false;
        }
        if (t1) {
          first = A._asString(_0_6_isSet ? _0_6 : _0_0[0]);
          t1 = first;
          break $label0$0;
        }
        t1 = _null;
        break $label0$0;
      }
      return t1;
    },
    get$initialPlain() {
      var _0_4_isSet, _0_4, t1, first,
        _0_0 = this.contents;
      $label0$0: {
        _0_4_isSet = _0_0.length >= 1;
        if (_0_4_isSet) {
          _0_4 = _0_0[0];
          t1 = _0_4;
          t1 = typeof t1 == "string";
        } else {
          _0_4 = null;
          t1 = false;
        }
        if (t1) {
          first = A._asString(_0_4_isSet ? _0_4 : _0_0[0]);
          t1 = first;
          break $label0$0;
        }
        t1 = "";
        break $label0$0;
      }
      return t1;
    },
    Interpolation$2(contents, span) {
      var t1, t2, t3, i, t4, t5,
        _s8_ = "contents";
      for (t1 = this.contents, t2 = t1.length, t3 = type$.Expression, i = 0; i < t2; ++i) {
        t4 = t1[i];
        t5 = typeof t4 == "string";
        if (!t5 && !t3._is(t4))
          throw A.wrapException(A.ArgumentError$value(t1, _s8_, string$.May_on));
        if (i !== 0 && typeof t1[i - 1] == "string" && t5)
          throw A.wrapException(A.ArgumentError$value(t1, _s8_, "May not contain adjacent Strings."));
      }
    },
    toString$0(_) {
      var t1 = this.contents;
      return new A.MappedListIterable(t1, new A.Interpolation_toString_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$0(0);
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.Interpolation_toString_closure.prototype = {
    call$1(value) {
      return typeof value == "string" ? value : "#{" + A.S(value) + "}";
    },
    $signature: 134
  };
  A.AtRootRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitAtRootRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var buffer = new A.StringBuffer("@at-root "),
        t1 = this.query;
      if (t1 != null)
        buffer._contents = "@at-root " + (t1.toString$0(0) + " ");
      t1 = this.children;
      return buffer.toString$0(0) + " {" + (t1 && B.JSArray_methods).join$1(t1, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.AtRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitAtRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var children,
        t1 = "@" + this.name.toString$0(0),
        buffer = new A.StringBuffer(t1),
        t2 = this.value;
      if (t2 != null)
        buffer._contents = t1 + (" " + t2.toString$0(0));
      children = this.children;
      return children == null ? buffer.toString$0(0) + ";" : buffer.toString$0(0) + " {" + B.JSArray_methods.join$1(children, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.CallableDeclaration.prototype = {
    get$span(receiver) {
      return this.span;
    }
  };
  A.ContentBlock.prototype = {
    accept$1$1(visitor) {
      return visitor.visitContentBlock$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t2,
        t1 = this.$arguments;
      t1 = t1.$arguments.length === 0 && t1.restArgument == null ? "" : " using (" + t1.toString$0(0) + ")";
      t2 = this.children;
      return t1 + (" {" + (t2 && B.JSArray_methods).join$1(t2, " ") + "}");
    }
  };
  A.ContentRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitContentRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.$arguments;
      return t1.get$isEmpty(0) ? "@content;" : "@content(" + t1.toString$0(0) + ");";
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.DebugRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitDebugRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "@debug " + this.expression.toString$0(0) + ";";
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.Declaration.prototype = {
    accept$1$1(visitor) {
      return visitor.visitDeclaration$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t3, _0_0,
        buffer = new A.StringBuffer(""),
        t1 = this.name,
        t2 = "" + t1.toString$0(0);
      buffer._contents = t2;
      t2 = buffer._contents = t2 + A.Primitives_stringFromCharCode(58);
      t3 = this.value;
      if (t3 != null) {
        t1 = !B.JSString_methods.startsWith$1(t1.get$initialPlain(), "--") ? buffer._contents = t2 + A.Primitives_stringFromCharCode(32) : t2;
        buffer._contents = t1 + t3.toString$0(0);
      }
      _0_0 = this.children;
      if (_0_0 != null)
        return buffer.toString$0(0) + " {" + B.JSArray_methods.join$1(_0_0, " ") + "}";
      else
        return buffer.toString$0(0) + ";";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.EachRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitEachRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.variables,
        t2 = this.children;
      return "@each " + new A.MappedListIterable(t1, new A.EachRule_toString_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$1(0, ", ") + " in " + this.list.toString$0(0) + " {" + (t2 && B.JSArray_methods).join$1(t2, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.EachRule_toString_closure.prototype = {
    call$1(variable) {
      return "$" + variable;
    },
    $signature: 5
  };
  A.ErrorRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitErrorRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "@error " + this.expression.toString$0(0) + ";";
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ExtendRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitExtendRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.selector.toString$0(0),
        t2 = this.isOptional ? " !optional" : "";
      return "@extend " + t1 + t2 + ";";
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ForRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitForRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var _this = this,
        t1 = _this.from.toString$0(0),
        t2 = _this.isExclusive ? "to" : "through",
        t3 = _this.children;
      return "@for $" + _this.variable + " from " + t1 + " " + t2 + " " + _this.to.toString$0(0) + " {" + (t3 && B.JSArray_methods).join$1(t3, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.ForwardRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitForwardRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t2, prefix, _this = this,
        t1 = "@forward " + A.StringExpression_quoteText(_this.url.toString$0(0)),
        shownMixinsAndFunctions = _this.shownMixinsAndFunctions,
        hiddenMixinsAndFunctions = _this.hiddenMixinsAndFunctions;
      if (shownMixinsAndFunctions != null) {
        t2 = _this.shownVariables;
        t2.toString;
        t2 = t1 + " show " + _this._forward_rule$_memberList$2(shownMixinsAndFunctions, t2);
        t1 = t2;
      } else if (hiddenMixinsAndFunctions != null && hiddenMixinsAndFunctions._base.get$isNotEmpty(0)) {
        t2 = _this.hiddenVariables;
        t2.toString;
        t2 = t1 + " hide " + _this._forward_rule$_memberList$2(hiddenMixinsAndFunctions, t2);
        t1 = t2;
      }
      prefix = _this.prefix;
      if (prefix != null)
        t1 += " as " + prefix + "*";
      t2 = _this.configuration;
      t1 = (t2.length !== 0 ? t1 + (" with (" + B.JSArray_methods.join$1(t2, ", ") + ")") : t1) + ";";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _forward_rule$_memberList$2(mixinsAndFunctions, variables) {
      var t2,
        t1 = A.List_List$of(mixinsAndFunctions, true, type$.String);
      for (t2 = variables._base.get$iterator(0); t2.moveNext$0();)
        t1.push("$" + t2.get$current(0));
      return B.JSArray_methods.join$1(t1, ", ");
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.FunctionRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitFunctionRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.children;
      return "@function " + this.name + "(" + this.$arguments.toString$0(0) + ") {" + (t1 && B.JSArray_methods).join$1(t1, " ") + "}";
    }
  };
  A.IfRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitIfRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var result = A.ListExtensions_mapIndexed(this.clauses, new A.IfRule_toString_closure(), type$.IfClause, type$.String).join$1(0, " "),
        lastClause = this.lastClause;
      return lastClause != null ? result + (" " + lastClause.toString$0(0)) : result;
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.IfRule_toString_closure.prototype = {
    call$2(index, clause) {
      var t1 = index === 0 ? "if" : "else if";
      return "@" + t1 + " " + clause.expression.toString$0(0) + " {" + B.JSArray_methods.join$1(clause.children, " ") + "}";
    },
    $signature: 499
  };
  A.IfRuleClause.prototype = {};
  A.IfRuleClause$__closure.prototype = {
    call$1(child) {
      var t1;
      $label0$0: {
        if (child instanceof A.VariableDeclaration || child instanceof A.FunctionRule || child instanceof A.MixinRule) {
          t1 = true;
          break $label0$0;
        }
        if (child instanceof A.ImportRule) {
          t1 = B.JSArray_methods.any$1(child.imports, new A.IfRuleClause$___closure());
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    $signature: 152
  };
  A.IfRuleClause$___closure.prototype = {
    call$1($import) {
      return $import instanceof A.DynamicImport;
    },
    $signature: 156
  };
  A.IfClause.prototype = {
    toString$0(_) {
      return "@if " + this.expression.toString$0(0) + " {" + B.JSArray_methods.join$1(this.children, " ") + "}";
    }
  };
  A.ElseClause.prototype = {
    toString$0(_) {
      return "@else {" + B.JSArray_methods.join$1(this.children, " ") + "}";
    }
  };
  A.ImportRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitImportRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "@import " + B.JSArray_methods.join$1(this.imports, ", ") + ";";
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.IncludeRule.prototype = {
    get$spanWithoutContent() {
      var t2, t3,
        t1 = this.span;
      if (!(this.content == null)) {
        t2 = t1.file;
        t3 = this.$arguments.span;
        t3 = A.SpanExtensions_trimRight(A.SpanExtensions_trimLeft(t2.span$2(0, A.FileLocation$_(t2, t1._file$_start).offset, t3.get$end(t3).offset)));
        t1 = t3;
      }
      return t1;
    },
    get$nameSpan() {
      var startSpan, scanner, _null = null,
        t1 = this.span,
        t2 = t1._file$_start,
        t3 = t1._end,
        t4 = t1.file._decodedChars;
      if (B.JSString_methods.startsWith$1(A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t4, t2, t3), 0, _null), "+"))
        startSpan = A.SpanExtensions_trimLeft(A.FileSpanExtension_subspan(t1, 1, _null));
      else {
        scanner = A.StringScanner$(A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t4, t2, t3), 0, _null), _null, _null);
        scanner.expectChar$1(64);
        A._scanIdentifier(scanner);
        startSpan = A.SpanExtensions_trimLeft(A.FileSpanExtension_subspan(t1, scanner._string_scanner$_position, _null));
      }
      return A.SpanExtensions_initialIdentifier(this.namespace != null ? A.FileSpanExtension_subspan(A.SpanExtensions_withoutInitialIdentifier(startSpan), 1, _null) : startSpan);
    },
    accept$1$1(visitor) {
      return visitor.visitIncludeRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t2, _this = this,
        t1 = _this.namespace;
      t1 = t1 != null ? "@include " + (t1 + ".") : "@include ";
      t1 += _this.name;
      t2 = _this.$arguments;
      if (!t2.get$isEmpty(0))
        t1 += "(" + t2.toString$0(0) + ")";
      t2 = _this.content;
      t1 += t2 == null ? ";" : " " + t2.toString$0(0);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.LoudComment.prototype = {
    get$span(_) {
      return this.text.span;
    },
    accept$1$1(visitor) {
      return visitor.visitLoudComment$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return this.text.toString$0(0);
    },
    $isAstNode: 1,
    $isStatement: 1
  };
  A.MediaRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitMediaRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.children;
      return "@media " + this.query.toString$0(0) + " {" + (t1 && B.JSArray_methods).join$1(t1, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.MixinRule.prototype = {
    get$hasContent() {
      var result, _this = this,
        value = _this.__MixinRule_hasContent_FI;
      if (value === $) {
        result = J.$eq$(B.C__HasContentVisitor.visitChildren$1(_this.children), true);
        _this.__MixinRule_hasContent_FI !== $ && A.throwUnnamedLateFieldADI();
        _this.__MixinRule_hasContent_FI = result;
        value = result;
      }
      return value;
    },
    accept$1$1(visitor) {
      return visitor.visitMixinRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = "@mixin " + this.name,
        t2 = this.$arguments;
      if (!(t2.$arguments.length === 0 && t2.restArgument == null))
        t1 += "(" + t2.toString$0(0) + ")";
      t2 = this.children;
      t2 = t1 + (" {" + (t2 && B.JSArray_methods).join$1(t2, " ") + "}");
      return t2.charCodeAt(0) == 0 ? t2 : t2;
    }
  };
  A._HasContentVisitor.prototype = {
    visitContentRule$1(_) {
      return true;
    }
  };
  A.__HasContentVisitor_Object_StatementSearchVisitor.prototype = {};
  A.ParentStatement.prototype = {$isAstNode: 1, $isStatement: 1};
  A.ParentStatement_closure.prototype = {
    call$1(child) {
      var t1;
      $label0$0: {
        if (child instanceof A.VariableDeclaration || child instanceof A.FunctionRule || child instanceof A.MixinRule) {
          t1 = true;
          break $label0$0;
        }
        if (child instanceof A.ImportRule) {
          t1 = B.JSArray_methods.any$1(child.imports, new A.ParentStatement__closure());
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    $signature: 152
  };
  A.ParentStatement__closure.prototype = {
    call$1($import) {
      return $import instanceof A.DynamicImport;
    },
    $signature: 156
  };
  A.ReturnRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitReturnRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "@return " + this.expression.toString$0(0) + ";";
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.SilentComment.prototype = {
    accept$1$1(visitor) {
      return visitor.visitSilentComment$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return this.text;
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.StyleRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitStyleRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.children;
      return this.selector.toString$0(0) + " {" + (t1 && B.JSArray_methods).join$1(t1, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.Stylesheet.prototype = {
    Stylesheet$internal$3$plainCss(children, span, plainCss) {
      var t1, t2, t3, t4, _i, child;
      for (t1 = this.children, t2 = t1.length, t3 = this._forwards, t4 = this._uses, _i = 0; _i < t2; ++_i) {
        child = t1[_i];
        if (child instanceof A.UseRule) {
          t4.push(child);
          continue;
        }
        if (child instanceof A.ForwardRule) {
          t3.push(child);
          continue;
        }
        if (child instanceof A.SilentComment || child instanceof A.LoudComment || child instanceof A.VariableDeclaration)
          continue;
        break;
      }
    },
    accept$1$1(visitor) {
      return visitor.visitStylesheet$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.children;
      return (t1 && B.JSArray_methods).join$1(t1, " ");
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.SupportsRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitSupportsRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.children;
      return "@supports " + this.condition.toString$0(0) + " {" + (t1 && B.JSArray_methods).join$1(t1, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.UseRule.prototype = {
    UseRule$4$configuration(url, namespace, span, configuration) {
      var t1, t2, _i, variable;
      for (t1 = this.configuration, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        variable = t1[_i];
        if (variable.isGuarded)
          throw A.wrapException(A.ArgumentError$value(variable, "configured variable", "can't be guarded in a @use rule."));
      }
    },
    accept$1$1(visitor) {
      return visitor.visitUseRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.url,
        t2 = "@use " + A.StringExpression_quoteText(t1.toString$0(0)),
        basename = t1.get$pathSegments().length === 0 ? "" : B.JSArray_methods.get$last(t1.get$pathSegments()),
        dot = B.JSString_methods.indexOf$1(basename, ".");
      t1 = this.namespace;
      if (t1 !== B.JSString_methods.substring$2(basename, 0, dot === -1 ? basename.length : dot))
        t1 = t2 + (" as " + (t1 == null ? "*" : t1));
      else
        t1 = t2;
      t2 = this.configuration;
      t1 = (t2.length !== 0 ? t1 + (" with (" + B.JSArray_methods.join$1(t2, ", ") + ")") : t1) + ";";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.VariableDeclaration.prototype = {
    accept$1$1(visitor) {
      return visitor.visitVariableDeclaration$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.namespace;
      t1 = t1 != null ? "" + (t1 + ".") : "";
      t1 += "$" + this.name + ": " + this.expression.toString$0(0) + ";";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.WarnRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitWarnRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "@warn " + this.expression.toString$0(0) + ";";
    },
    $isAstNode: 1,
    $isStatement: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.WhileRule.prototype = {
    accept$1$1(visitor) {
      return visitor.visitWhileRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.children;
      return "@while " + this.condition.toString$0(0) + " {" + (t1 && B.JSArray_methods).join$1(t1, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.SupportsAnything.prototype = {
    toString$0(_) {
      return "(" + this.contents.toString$0(0) + ")";
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.SupportsDeclaration.prototype = {
    get$isCustomProperty() {
      var t1,
        _0_0 = this.name;
      $label0$0: {
        if (_0_0 instanceof A.StringExpression && !_0_0.hasQuotes) {
          t1 = B.JSString_methods.startsWith$1(_0_0.text.get$initialPlain(), "--");
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    toString$0(_) {
      return "(" + this.name.toString$0(0) + ": " + this.value.toString$0(0) + ")";
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.SupportsFunction.prototype = {
    toString$0(_) {
      return this.name.toString$0(0) + "(" + this.$arguments.toString$0(0) + ")";
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.SupportsInterpolation.prototype = {
    toString$0(_) {
      return "#{" + this.expression.toString$0(0) + "}";
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.SupportsNegation.prototype = {
    toString$0(_) {
      var t1 = this.condition;
      if (t1 instanceof A.SupportsNegation || t1 instanceof A.SupportsOperation)
        return "not (" + t1.toString$0(0) + ")";
      else
        return "not " + t1.toString$0(0);
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.SupportsOperation.prototype = {
    toString$0(_) {
      var _this = this;
      return _this._operation$_parenthesize$1(_this.left) + " " + _this.operator + " " + _this._operation$_parenthesize$1(_this.right);
    },
    _operation$_parenthesize$1(condition) {
      var t1;
      if (!(condition instanceof A.SupportsNegation))
        t1 = condition instanceof A.SupportsOperation && condition.operator === this.operator;
      else
        t1 = true;
      return t1 ? "(" + condition.toString$0(0) + ")" : condition.toString$0(0);
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.Selector.prototype = {
    assertNotBogus$1$name($name) {
      if (!this.accept$1(B._IsBogusVisitor_true))
        return;
      A.warnForDeprecation("$" + $name + ": " + (this.toString$0(0) + string$.x20is_nov), B.Deprecation_ido);
    },
    toString$0(_) {
      var visitor = A._SerializeVisitor$(null, true, null, true, false, null, true);
      this.accept$1(visitor);
      return visitor._serialize$_buffer.toString$0(0);
    },
    $isAstNode: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A._IsInvisibleVisitor0.prototype = {
    visitSelectorList$1(list) {
      return B.JSArray_methods.every$1(list.components, this.get$visitComplexSelector());
    },
    visitComplexSelector$1(complex) {
      var t1;
      if (!this.super$AnySelectorVisitor$visitComplexSelector(complex))
        t1 = this.includeBogus && complex.accept$1(B._IsBogusVisitor_false);
      else
        t1 = true;
      return t1;
    },
    visitPlaceholderSelector$1(placeholder) {
      return true;
    },
    visitPseudoSelector$1(pseudo) {
      var t1,
        _0_0 = pseudo.selector;
      if (_0_0 != null) {
        if (pseudo.name === "not")
          t1 = this.includeBogus && _0_0.accept$1(B._IsBogusVisitor_true);
        else
          t1 = this.visitSelectorList$1(_0_0);
        return t1;
      } else
        return false;
    }
  };
  A._IsBogusVisitor.prototype = {
    visitComplexSelector$1(complex) {
      var t2,
        t1 = complex.components;
      if (t1.length === 0)
        return complex.leadingCombinators.length !== 0;
      else {
        t2 = this.includeLeadingCombinator ? 0 : 1;
        return complex.leadingCombinators.length > t2 || B.JSArray_methods.get$last(t1).combinators.length !== 0 || B.JSArray_methods.any$1(t1, new A._IsBogusVisitor_visitComplexSelector_closure(this));
      }
    },
    visitPseudoSelector$1(pseudo) {
      var selector = pseudo.selector;
      if (selector == null)
        return false;
      return pseudo.name === "has" ? selector.accept$1(B._IsBogusVisitor_false) : selector.accept$1(B._IsBogusVisitor_true);
    }
  };
  A._IsBogusVisitor_visitComplexSelector_closure.prototype = {
    call$1(component) {
      return component.combinators.length > 1 || this.$this.visitCompoundSelector$1(component.selector);
    },
    $signature: 49
  };
  A._IsUselessVisitor.prototype = {
    visitComplexSelector$1(complex) {
      return complex.leadingCombinators.length > 1 || B.JSArray_methods.any$1(complex.components, new A._IsUselessVisitor_visitComplexSelector_closure(this));
    },
    visitPseudoSelector$1(pseudo) {
      return pseudo.accept$1(B._IsBogusVisitor_true);
    }
  };
  A._IsUselessVisitor_visitComplexSelector_closure.prototype = {
    call$1(component) {
      return component.combinators.length > 1 || this.$this.visitCompoundSelector$1(component.selector);
    },
    $signature: 49
  };
  A.__IsBogusVisitor_Object_AnySelectorVisitor.prototype = {};
  A.__IsInvisibleVisitor_Object_AnySelectorVisitor.prototype = {};
  A.__IsUselessVisitor_Object_AnySelectorVisitor.prototype = {};
  A.AttributeSelector.prototype = {
    accept$1$1(visitor) {
      return visitor.visitAttributeSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof A.AttributeSelector && other.name.$eq(0, _this.name) && other.op == _this.op && other.value == _this.value && other.modifier == _this.modifier;
    },
    get$hashCode(_) {
      var _this = this,
        t1 = _this.name;
      return (B.JSString_methods.get$hashCode(t1.name) ^ J.get$hashCode$(t1.namespace) ^ J.get$hashCode$(_this.op) ^ J.get$hashCode$(_this.value) ^ J.get$hashCode$(_this.modifier)) >>> 0;
    }
  };
  A.AttributeOperator.prototype = {
    _enumToString$0() {
      return "AttributeOperator." + this._name;
    },
    toString$0(_) {
      return this._attribute$_text;
    }
  };
  A.ClassSelector.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.ClassSelector && other.name === this.name;
    },
    accept$1$1(visitor) {
      return visitor.visitClassSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    addSuffix$1(suffix) {
      return new A.ClassSelector(this.name + suffix, this.span);
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.name);
    }
  };
  A.Combinator.prototype = {
    _enumToString$0() {
      return "Combinator." + this._name;
    },
    toString$0(_) {
      return this._combinator$_text;
    }
  };
  A.ComplexSelector.prototype = {
    get$specificity() {
      var result, _this = this,
        value = _this.__ComplexSelector_specificity_FI;
      if (value === $) {
        result = B.JSArray_methods.fold$2(_this.components, 0, new A.ComplexSelector_specificity_closure());
        _this.__ComplexSelector_specificity_FI !== $ && A.throwUnnamedLateFieldADI();
        _this.__ComplexSelector_specificity_FI = result;
        value = result;
      }
      return value;
    },
    get$singleCompound() {
      var _0_0, _0_4, t1, selector, _null = null;
      if (this.leadingCombinators.length !== 0)
        return _null;
      _0_0 = this.components;
      $label0$0: {
        if (_0_0.length === 1) {
          _0_4 = _0_0[0];
          t1 = _0_4;
          selector = t1.selector;
          t1 = _0_4.combinators.length <= 0;
        } else {
          selector = _null;
          t1 = false;
        }
        if (t1) {
          t1 = selector;
          break $label0$0;
        }
        t1 = _null;
        break $label0$0;
      }
      return t1;
    },
    accept$1$1(visitor) {
      return visitor.visitComplexSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    isSuperselector$1(other) {
      return this.leadingCombinators.length === 0 && other.leadingCombinators.length === 0 && A.complexIsSuperselector(this.components, other.components);
    },
    withAdditionalCombinators$1(combinators) {
      var _0_0, _0_1, t1, initial, last, _this = this;
      if (combinators.length === 0)
        return _this;
      _0_0 = _this.components;
      $label0$0: {
        _0_1 = _0_0.length;
        if (_0_1 >= 1) {
          t1 = _0_1 - 1;
          initial = B.JSArray_methods.sublist$2(_0_0, 0, t1);
          last = _0_0[t1];
          t1 = A.List_List$of(initial, true, type$.ComplexSelectorComponent);
          t1.push(last.withAdditionalCombinators$1(combinators));
          t1 = A.ComplexSelector$(_this.leadingCombinators, t1, _this.span, _this.lineBreak);
          break $label0$0;
        }
        if (_0_1 <= 0) {
          t1 = A.List_List$of(_this.leadingCombinators, true, type$.CssValue_Combinator);
          B.JSArray_methods.addAll$1(t1, combinators);
          t1 = A.ComplexSelector$(t1, B.List_empty2, _this.span, _this.lineBreak);
          break $label0$0;
        }
        throw A.wrapException(A.ReachabilityError$(string$.None_o));
      }
      return t1;
    },
    concatenate$3$forceLineBreak(child, span, forceLineBreak) {
      var t2, _0_1, initial, last, _this = this,
        t1 = child.leadingCombinators,
        _0_0 = _this.components;
      if (t1.length === 0) {
        t1 = A.List_List$of(_0_0, true, type$.ComplexSelectorComponent);
        B.JSArray_methods.addAll$1(t1, child.components);
        t2 = _this.lineBreak || child.lineBreak || forceLineBreak;
        return A.ComplexSelector$(_this.leadingCombinators, t1, span, t2);
      } else {
        _0_1 = _0_0.length;
        if (_0_1 >= 1) {
          t2 = _0_1 - 1;
          initial = B.JSArray_methods.sublist$2(_0_0, 0, t2);
          last = _0_0[t2];
          t2 = A.List_List$of(initial, true, type$.ComplexSelectorComponent);
          t2.push(last.withAdditionalCombinators$1(t1));
          B.JSArray_methods.addAll$1(t2, child.components);
          t1 = _this.lineBreak || child.lineBreak || forceLineBreak;
          return A.ComplexSelector$(_this.leadingCombinators, t2, span, t1);
        } else {
          t2 = A.List_List$of(_this.leadingCombinators, true, type$.CssValue_Combinator);
          B.JSArray_methods.addAll$1(t2, t1);
          t1 = _this.lineBreak || child.lineBreak || forceLineBreak;
          return A.ComplexSelector$(t2, child.components, span, t1);
        }
      }
    },
    concatenate$2(child, span) {
      return this.concatenate$3$forceLineBreak(child, span, false);
    },
    get$hashCode(_) {
      return B.C_ListEquality0.hash$1(this.leadingCombinators) ^ B.C_ListEquality0.hash$1(this.components);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.ComplexSelector && B.C_ListEquality.equals$2(0, this.leadingCombinators, other.leadingCombinators) && B.C_ListEquality.equals$2(0, this.components, other.components);
    }
  };
  A.ComplexSelector_specificity_closure.prototype = {
    call$2(sum, component) {
      return sum + component.selector.get$specificity();
    },
    $signature: 359
  };
  A.ComplexSelectorComponent.prototype = {
    withAdditionalCombinators$1(combinators) {
      var t1, t2, _this = this;
      if (combinators.length === 0)
        t1 = _this;
      else {
        t1 = type$.CssValue_Combinator;
        t2 = A.List_List$of(_this.combinators, true, t1);
        B.JSArray_methods.addAll$1(t2, combinators);
        t1 = new A.ComplexSelectorComponent(_this.selector, A.List_List$unmodifiable(t2, t1), _this.span);
      }
      return t1;
    },
    get$hashCode(_) {
      return B.C_ListEquality0.hash$1(this.selector.components) ^ B.C_ListEquality0.hash$1(this.combinators);
    },
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (other instanceof A.ComplexSelectorComponent) {
        t1 = B.C_ListEquality.equals$2(0, this.selector.components, other.selector.components);
        t1 = t1 && B.C_ListEquality.equals$2(0, this.combinators, other.combinators);
      } else
        t1 = false;
      return t1;
    },
    toString$0(_) {
      var t1 = this.combinators;
      return A.serializeSelector(this.selector, true) + new A.MappedListIterable(t1, new A.ComplexSelectorComponent_toString_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$1(0, "");
    }
  };
  A.ComplexSelectorComponent_toString_closure.prototype = {
    call$1(combinator) {
      return " " + combinator.toString$0(0);
    },
    $signature: 353
  };
  A.CompoundSelector.prototype = {
    get$specificity() {
      var result, _this = this,
        value = _this.__CompoundSelector_specificity_FI;
      if (value === $) {
        result = B.JSArray_methods.fold$2(_this.components, 0, new A.CompoundSelector_specificity_closure());
        _this.__CompoundSelector_specificity_FI !== $ && A.throwUnnamedLateFieldADI();
        _this.__CompoundSelector_specificity_FI = result;
        value = result;
      }
      return value;
    },
    get$hasComplicatedSuperselectorSemantics() {
      var result, _this = this,
        value = _this.__CompoundSelector_hasComplicatedSuperselectorSemantics_FI;
      if (value === $) {
        result = B.JSArray_methods.any$1(_this.components, new A.CompoundSelector_hasComplicatedSuperselectorSemantics_closure());
        _this.__CompoundSelector_hasComplicatedSuperselectorSemantics_FI !== $ && A.throwUnnamedLateFieldADI();
        _this.__CompoundSelector_hasComplicatedSuperselectorSemantics_FI = result;
        value = result;
      }
      return value;
    },
    accept$1$1(visitor) {
      return visitor.visitCompoundSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    get$hashCode(_) {
      return B.C_ListEquality0.hash$1(this.components);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.CompoundSelector && B.C_ListEquality.equals$2(0, this.components, other.components);
    }
  };
  A.CompoundSelector_specificity_closure.prototype = {
    call$2(sum, component) {
      return sum + component.get$specificity();
    },
    $signature: 346
  };
  A.CompoundSelector_hasComplicatedSuperselectorSemantics_closure.prototype = {
    call$1(component) {
      return component.get$hasComplicatedSuperselectorSemantics();
    },
    $signature: 13
  };
  A.IDSelector.prototype = {
    get$specificity() {
      return A._asInt(Math.pow(A.SimpleSelector.prototype.get$specificity.call(this), 2));
    },
    accept$1$1(visitor) {
      return visitor.visitIDSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    addSuffix$1(suffix) {
      return new A.IDSelector(this.name + suffix, this.span);
    },
    unify$1(compound) {
      if (B.JSArray_methods.any$1(compound, new A.IDSelector_unify_closure(this)))
        return null;
      return this.super$SimpleSelector$unify(compound);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.IDSelector && other.name === this.name;
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.name);
    }
  };
  A.IDSelector_unify_closure.prototype = {
    call$1(simple) {
      var t1;
      if (simple instanceof A.IDSelector)
        t1 = this.$this.name !== simple.name;
      else
        t1 = false;
      return t1;
    },
    $signature: 13
  };
  A.SelectorList.prototype = {
    get$asSassList() {
      var t1 = this.components;
      return A.SassList$(new A.MappedListIterable(t1, new A.SelectorList_asSassList_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value>")), B.ListSeparator_ECn, false);
    },
    accept$1$1(visitor) {
      return visitor.visitSelectorList$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    unify$1(other) {
      var t3, t4, t5, t6, _i, complex1, _i0, t7,
        t1 = type$.JSArray_ComplexSelector,
        t2 = A._setArrayType([], t1);
      for (t3 = this.components, t4 = t3.length, t5 = other.components, t6 = t5.length, _i = 0; _i < t4; ++_i) {
        complex1 = t3[_i];
        for (_i0 = 0; _i0 < t6; ++_i0) {
          t7 = A.unifyComplex(A._setArrayType([complex1, t5[_i0]], t1), complex1.span);
          if (t7 != null)
            B.JSArray_methods.addAll$1(t2, t7);
        }
      }
      return t2.length === 0 ? null : A.SelectorList$(t2, this.span);
    },
    nestWithin$3$implicitParent$preserveParentSelectors($parent, implicitParent, preserveParentSelectors) {
      var parentSelector, t1, _this = this;
      if ($parent == null) {
        if (preserveParentSelectors)
          return _this;
        parentSelector = B.C__ParentSelectorVisitor.visitSelectorList$1(_this);
        if (parentSelector == null)
          return _this;
        throw A.wrapException(A.SassException$(string$.Top_les, parentSelector.span, null));
      }
      t1 = _this.components;
      return A.SelectorList$(A.flattenVertically(new A.MappedListIterable(t1, new A.SelectorList_nestWithin_closure(_this, preserveParentSelectors, implicitParent, $parent), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Iterable>")), type$.ComplexSelector), _this.span);
    },
    nestWithin$1($parent) {
      return this.nestWithin$3$implicitParent$preserveParentSelectors($parent, true, false);
    },
    nestWithin$2$implicitParent($parent, implicitParent) {
      return this.nestWithin$3$implicitParent$preserveParentSelectors($parent, implicitParent, false);
    },
    _nestWithinCompound$2(component, $parent) {
      var resolvedSimples, parentSelector, error, stackTrace, t2, resolvedSimples0, exception,
        t1 = component.selector,
        simples = t1.components,
        containsSelectorPseudo = J.any$1$ax(simples, new A.SelectorList__nestWithinCompound_closure());
      if (!containsSelectorPseudo && !(J.get$first$ax(simples) instanceof A.ParentSelector))
        return null;
      if (containsSelectorPseudo) {
        t2 = simples;
        resolvedSimples0 = new A.MappedListIterable(t2, new A.SelectorList__nestWithinCompound_closure0($parent), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,SimpleSelector>"));
      } else
        resolvedSimples0 = simples;
      resolvedSimples = resolvedSimples0;
      parentSelector = J.get$first$ax(simples);
      try {
        if (!(parentSelector instanceof A.ParentSelector)) {
          t2 = component.span;
          t2 = A._setArrayType([A.ComplexSelector$(B.List_empty0, A._setArrayType([new A.ComplexSelectorComponent(A.CompoundSelector$(resolvedSimples, t1.span), A.List_List$unmodifiable(component.combinators, type$.CssValue_Combinator), t2)], type$.JSArray_ComplexSelectorComponent), t2, false)], type$.JSArray_ComplexSelector);
          return t2;
        } else if (J.get$length$asx(simples) === 1 && parentSelector.suffix == null) {
          t1 = $parent.withAdditionalCombinators$1(component.combinators);
          return t1.components;
        }
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          A.throwWithTrace(error.withAdditionalSpan$2(parentSelector.span, "parent selector"), error, stackTrace);
        } else
          throw exception;
      }
      t1 = $parent.components;
      return new A.MappedListIterable(t1, new A.SelectorList__nestWithinCompound_closure1(parentSelector, resolvedSimples, component), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ComplexSelector>"));
    },
    isSuperselector$1(other) {
      return A.listIsSuperselector(this.components, other.components);
    },
    withAdditionalCombinators$1(combinators) {
      var t1;
      if (combinators.length === 0)
        t1 = this;
      else {
        t1 = this.components;
        t1 = A.SelectorList$(new A.MappedListIterable(t1, new A.SelectorList_withAdditionalCombinators_closure(combinators), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ComplexSelector>")), this.span);
      }
      return t1;
    },
    get$hashCode(_) {
      return B.C_ListEquality0.hash$1(this.components);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.SelectorList && B.C_ListEquality.equals$2(0, this.components, other.components);
    }
  };
  A.SelectorList_asSassList_closure.prototype = {
    call$1(complex) {
      var t3, t4, _i, component, t5, visitor, t6, t7, _i0,
        t1 = type$.JSArray_Value,
        t2 = A._setArrayType([], t1);
      for (t3 = complex.leadingCombinators, t4 = t3.length, _i = 0; _i < t4; ++_i)
        t2.push(new A.SassString(J.toString$0$(t3[_i].value), false));
      for (t3 = complex.components, t4 = t3.length, _i = 0; _i < t4; ++_i) {
        component = t3[_i];
        t5 = component.selector;
        visitor = A._SerializeVisitor$(null, true, null, true, false, null, true);
        t5.accept$1(visitor);
        t5 = A._setArrayType([new A.SassString(visitor._serialize$_buffer.toString$0(0), false)], t1);
        for (t6 = component.combinators, t7 = t6.length, _i0 = 0; _i0 < t7; ++_i0)
          t5.push(new A.SassString(J.toString$0$(t6[_i0].value), false));
        B.JSArray_methods.addAll$1(t2, t5);
      }
      return A.SassList$(t2, B.ListSeparator_nbm, false);
    },
    $signature: 341
  };
  A.SelectorList_nestWithin_closure.prototype = {
    call$1(complex) {
      var t1, newComplexes, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _i, component, resolved, i, t12, t13, t14, _i0, newComplex, t15, _this = this;
      if (_this.preserveParentSelectors || complex.accept$1(B.C__ParentSelectorVisitor) == null) {
        if (!_this.implicitParent)
          return A._setArrayType([complex], type$.JSArray_ComplexSelector);
        t1 = _this.parent.components;
        return new A.MappedListIterable(t1, new A.SelectorList_nestWithin__closure(complex), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ComplexSelector>"));
      }
      t1 = type$.JSArray_ComplexSelector;
      newComplexes = A._setArrayType([], t1);
      for (t2 = complex.components, t3 = t2.length, t4 = _this.$this, t5 = _this.parent, t6 = type$.ComplexSelector, t7 = complex.leadingCombinators, t8 = t7.length === 0, t9 = complex.span, t10 = type$.ComplexSelectorComponent, t11 = type$.JSArray_ComplexSelectorComponent, _i = 0; _i < t3; ++_i) {
        component = t2[_i];
        resolved = t4._nestWithinCompound$2(component, t5);
        if (resolved == null)
          if (newComplexes.length === 0)
            newComplexes.push(A.ComplexSelector$(t7, A._setArrayType([component], t11), t9, false));
          else
            for (i = 0; i < newComplexes.length; ++i) {
              t12 = newComplexes[i];
              t13 = t12.leadingCombinators;
              t14 = A.List_List$of(t12.components, true, t10);
              t14.push(component);
              t12 = t12.lineBreak;
              newComplexes[i] = A.ComplexSelector$(t13, t14, t9, t12);
            }
        else if (newComplexes.length === 0)
          B.JSArray_methods.addAll$1(newComplexes, t8 ? resolved : J.map$1$1$ax(resolved, new A.SelectorList_nestWithin__closure0(complex), t6));
        else {
          t12 = A._setArrayType([], t1);
          for (t13 = newComplexes.length, t14 = J.getInterceptor$ax(resolved), _i0 = 0; _i0 < newComplexes.length; newComplexes.length === t13 || (0, A.throwConcurrentModificationError)(newComplexes), ++_i0) {
            newComplex = newComplexes[_i0];
            for (t15 = t14.get$iterator(resolved); t15.moveNext$0();)
              t12.push(newComplex.concatenate$2(t15.get$current(t15), newComplex.span));
          }
          newComplexes = t12;
        }
      }
      return newComplexes;
    },
    $signature: 337
  };
  A.SelectorList_nestWithin__closure.prototype = {
    call$1(parentComplex) {
      var t1 = this.complex;
      return parentComplex.concatenate$2(t1, t1.span);
    },
    $signature: 59
  };
  A.SelectorList_nestWithin__closure0.prototype = {
    call$1(resolvedComplex) {
      var t1 = resolvedComplex.leadingCombinators,
        t2 = this.complex,
        t3 = t2.leadingCombinators;
      if (t1.length === 0)
        t1 = t3;
      else {
        t3 = A.List_List$of(t3, true, type$.CssValue_Combinator);
        B.JSArray_methods.addAll$1(t3, t1);
        t1 = t3;
      }
      return A.ComplexSelector$(t1, resolvedComplex.components, t2.span, resolvedComplex.lineBreak);
    },
    $signature: 59
  };
  A.SelectorList__nestWithinCompound_closure.prototype = {
    call$1(simple) {
      var selector;
      if (!(simple instanceof A.PseudoSelector))
        return false;
      selector = simple.selector;
      return selector != null && selector.accept$1(B.C__ParentSelectorVisitor) != null;
    },
    $signature: 13
  };
  A.SelectorList__nestWithinCompound_closure0.prototype = {
    call$1(simple) {
      var _0_2, selector, t1;
      $label0$0: {
        if (simple instanceof A.PseudoSelector) {
          _0_2 = simple.selector;
          if (_0_2 != null) {
            selector = _0_2 == null ? type$.SelectorList._as(_0_2) : _0_2;
            t1 = selector.accept$1(B.C__ParentSelectorVisitor) != null;
          } else {
            selector = null;
            t1 = false;
          }
        } else {
          selector = null;
          t1 = false;
        }
        if (t1) {
          t1 = simple.withSelector$1(selector.nestWithin$2$implicitParent(this.parent, false));
          break $label0$0;
        }
        t1 = simple;
        break $label0$0;
      }
      return t1;
    },
    $signature: 333
  };
  A.SelectorList__nestWithinCompound_closure1.prototype = {
    call$1(complex) {
      var lastComponent, suffix, lastSimples, t1, t2, last, t3, error, stackTrace, t4, t5, t6, t7, exception, _this = this;
      try {
        t4 = complex.components;
        lastComponent = B.JSArray_methods.get$last(t4);
        if (lastComponent.combinators.length !== 0) {
          t1 = A.MultiSpanSassException$('Selector "' + complex.toString$0(0) + string$.x22x20can_, A.SpanExtensions_trimRight(lastComponent.span), "outer selector", A.LinkedHashMap_LinkedHashMap$_literal([_this.parentSelector.span, "parent selector"], type$.FileSpan, type$.String), null);
          throw A.wrapException(t1);
        }
        suffix = _this.parentSelector.suffix;
        lastSimples = lastComponent.selector.components;
        t5 = type$.SimpleSelector;
        t6 = _this.resolvedSimples;
        t7 = J.getInterceptor$ax(t6);
        if (suffix == null) {
          t1 = A.List_List$of(lastSimples, true, t5);
          J.addAll$1$ax(t1, t7.skip$1(t6, 1));
          t1 = t1;
        } else {
          t2 = A.List_List$of(A.IterableExtension_get_exceptLast(lastSimples), true, t5);
          J.add$1$ax(t2, J.get$last$ax(lastSimples).addSuffix$1(suffix));
          J.addAll$1$ax(t2, t7.skip$1(t6, 1));
          t1 = t2;
        }
        t2 = _this.component;
        last = A.CompoundSelector$(t1, t2.selector.span);
        t3 = A.List_List$of(A.IterableExtension_get_exceptLast(t4), true, type$.ComplexSelectorComponent);
        t4 = t2.span;
        J.add$1$ax(t3, new A.ComplexSelectorComponent(last, A.List_List$unmodifiable(t2.combinators, type$.CssValue_Combinator), t4));
        t4 = A.ComplexSelector$(complex.leadingCombinators, t3, t4, complex.lineBreak);
        return t4;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          A.throwWithTrace(error.withAdditionalSpan$2(_this.parentSelector.span, "parent selector"), error, stackTrace);
        } else
          throw exception;
      }
    },
    $signature: 59
  };
  A.SelectorList_withAdditionalCombinators_closure.prototype = {
    call$1(complex) {
      return complex.withAdditionalCombinators$1(this.combinators);
    },
    $signature: 59
  };
  A._ParentSelectorVisitor.prototype = {
    visitParentSelector$1(selector) {
      return selector;
    }
  };
  A.__ParentSelectorVisitor_Object_SelectorSearchVisitor.prototype = {};
  A.ParentSelector.prototype = {
    accept$1$1(visitor) {
      return visitor.visitParentSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    unify$1(compound) {
      return A.throwExpression(A.UnsupportedError$("& doesn't support unification."));
    }
  };
  A.PlaceholderSelector.prototype = {
    accept$1$1(visitor) {
      return visitor.visitPlaceholderSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    addSuffix$1(suffix) {
      return new A.PlaceholderSelector(this.name + suffix, this.span);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.PlaceholderSelector && other.name === this.name;
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.name);
    }
  };
  A.PseudoSelector.prototype = {
    get$isHostContext() {
      return this.isClass && this.name === "host-context" && this.selector != null;
    },
    get$hasComplicatedSuperselectorSemantics() {
      return !this.isClass || this.selector != null;
    },
    get$specificity() {
      var result, _this = this,
        value = _this.__PseudoSelector_specificity_FI;
      if (value === $) {
        result = new A.PseudoSelector_specificity_closure(_this).call$0();
        _this.__PseudoSelector_specificity_FI !== $ && A.throwUnnamedLateFieldADI();
        _this.__PseudoSelector_specificity_FI = result;
        value = result;
      }
      return value;
    },
    withSelector$1(selector) {
      var _this = this;
      return A.PseudoSelector$(_this.name, _this.span, _this.argument, !_this.isClass, selector);
    },
    addSuffix$1(suffix) {
      var _this = this;
      if (_this.argument != null || _this.selector != null)
        _this.super$SimpleSelector$addSuffix(suffix);
      return A.PseudoSelector$(_this.name + suffix, _this.span, null, !_this.isClass, null);
    },
    unify$1(compound) {
      var other, result, t2, addedThis, _i, simple, _this = this,
        t1 = _this.name;
      if (t1 === "host" || t1 === "host-context") {
        if (!B.JSArray_methods.every$1(compound, new A.PseudoSelector_unify_closure()))
          return null;
      } else {
        if (compound.length === 1) {
          other = compound[0];
          if (!(other instanceof A.UniversalSelector))
            if (other instanceof A.PseudoSelector)
              t1 = other.isClass && other.name === "host" || other.get$isHostContext();
            else
              t1 = false;
          else
            t1 = true;
        } else {
          other = null;
          t1 = false;
        }
        if (t1)
          return other.unify$1(A._setArrayType([_this], type$.JSArray_SimpleSelector));
      }
      if (B.JSArray_methods.contains$1(compound, _this))
        return compound;
      result = A._setArrayType([], type$.JSArray_SimpleSelector);
      for (t1 = compound.length, t2 = !_this.isClass, addedThis = false, _i = 0; _i < compound.length; compound.length === t1 || (0, A.throwConcurrentModificationError)(compound), ++_i) {
        simple = compound[_i];
        if (simple instanceof A.PseudoSelector && !simple.isClass) {
          if (t2)
            return null;
          result.push(_this);
          addedThis = true;
        }
        result.push(simple);
      }
      if (!addedThis)
        result.push(_this);
      return result;
    },
    isSuperselector$1(other) {
      var selector, t1, t2, _this = this;
      if (_this.super$SimpleSelector$isSuperselector(other))
        return true;
      selector = _this.selector;
      if (selector == null)
        return _this.$eq(0, other);
      if (other instanceof A.PseudoSelector && !_this.isClass && !other.isClass && _this.normalizedName === "slotted" && other.name === _this.name) {
        t1 = A.NullableExtension_andThen(other.selector, selector.get$isSuperselector());
        return t1 == null ? false : t1;
      }
      t1 = type$.JSArray_SimpleSelector;
      t2 = _this.span;
      return A.compoundIsSuperselector(A.CompoundSelector$(A._setArrayType([_this], t1), t2), A.CompoundSelector$(A._setArrayType([other], t1), t2), null);
    },
    accept$1$1(visitor) {
      return visitor.visitPseudoSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof A.PseudoSelector && other.name === _this.name && other.isClass === _this.isClass && other.argument == _this.argument && J.$eq$(other.selector, _this.selector);
    },
    get$hashCode(_) {
      var _this = this,
        t1 = B.JSString_methods.get$hashCode(_this.name),
        t2 = !_this.isClass ? 519018 : 218159;
      return t1 ^ t2 ^ J.get$hashCode$(_this.argument) ^ J.get$hashCode$(_this.selector);
    }
  };
  A.PseudoSelector_specificity_closure.prototype = {
    call$0() {
      var selector, t2,
        t1 = this.$this;
      if (!t1.isClass)
        return 1;
      selector = t1.selector;
      if (selector == null)
        return A.SimpleSelector.prototype.get$specificity.call(t1);
      switch (t1.normalizedName) {
        case "where":
          return 0;
        case "is":
        case "not":
        case "has":
        case "matches":
          t1 = selector.components;
          return A.IterableIntegerExtension_get_max(new A.MappedListIterable(t1, new A.PseudoSelector_specificity__closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,int>")));
        case "nth-child":
        case "nth-last-child":
          t1 = A.SimpleSelector.prototype.get$specificity.call(t1);
          t2 = selector.components;
          return t1 + A.IterableIntegerExtension_get_max(new A.MappedListIterable(t2, new A.PseudoSelector_specificity__closure0(), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,int>")));
        default:
          return A.SimpleSelector.prototype.get$specificity.call(t1);
      }
    },
    $signature: 10
  };
  A.PseudoSelector_specificity__closure.prototype = {
    call$1(component) {
      return component.get$specificity();
    },
    $signature: 177
  };
  A.PseudoSelector_specificity__closure0.prototype = {
    call$1(component) {
      return component.get$specificity();
    },
    $signature: 177
  };
  A.PseudoSelector_unify_closure.prototype = {
    call$1(simple) {
      var t1;
      if (simple instanceof A.PseudoSelector)
        t1 = simple.isClass && simple.name === "host" || simple.selector != null;
      else
        t1 = false;
      return t1;
    },
    $signature: 13
  };
  A.QualifiedName.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.QualifiedName && other.name === this.name && other.namespace == this.namespace;
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.name) ^ J.get$hashCode$(this.namespace);
    },
    toString$0(_) {
      var t1 = this.namespace,
        t2 = this.name;
      return t1 == null ? t2 : t1 + "|" + t2;
    }
  };
  A.SimpleSelector.prototype = {
    get$specificity() {
      return 1000;
    },
    get$hasComplicatedSuperselectorSemantics() {
      return false;
    },
    addSuffix$1(suffix) {
      return A.throwExpression(A.MultiSpanSassException$('Selector "' + this.toString$0(0) + "\" can't have a suffix", this.span, "outer selector", A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String), null));
    },
    unify$1(compound) {
      var other, t1, result, addedThis, _i, simple, _this = this;
      if (compound.length === 1) {
        other = compound[0];
        if (!(other instanceof A.UniversalSelector))
          if (other instanceof A.PseudoSelector)
            t1 = other.isClass && other.name === "host" || other.get$isHostContext();
          else
            t1 = false;
        else
          t1 = true;
      } else {
        other = null;
        t1 = false;
      }
      if (t1)
        return other.unify$1(A._setArrayType([_this], type$.JSArray_SimpleSelector));
      if (B.JSArray_methods.contains$1(compound, _this))
        return compound;
      result = A._setArrayType([], type$.JSArray_SimpleSelector);
      for (t1 = compound.length, addedThis = false, _i = 0; _i < compound.length; compound.length === t1 || (0, A.throwConcurrentModificationError)(compound), ++_i) {
        simple = compound[_i];
        if (!addedThis && simple instanceof A.PseudoSelector) {
          result.push(_this);
          addedThis = true;
        }
        result.push(simple);
      }
      if (!addedThis)
        result.push(_this);
      return result;
    },
    isSuperselector$1(other) {
      var list;
      if (this.$eq(0, other))
        return true;
      if (other instanceof A.PseudoSelector && other.isClass) {
        list = other.selector;
        if (list != null && $._subselectorPseudos.contains$1(0, other.normalizedName))
          return B.JSArray_methods.every$1(list.components, new A.SimpleSelector_isSuperselector_closure(this));
      }
      return false;
    }
  };
  A.SimpleSelector_isSuperselector_closure.prototype = {
    call$1(complex) {
      var t1 = complex.components;
      return t1.length !== 0 && B.JSArray_methods.any$1(B.JSArray_methods.get$last(t1).selector.components, new A.SimpleSelector_isSuperselector__closure(this.$this));
    },
    $signature: 16
  };
  A.SimpleSelector_isSuperselector__closure.prototype = {
    call$1(simple) {
      return this.$this.isSuperselector$1(simple);
    },
    $signature: 13
  };
  A.TypeSelector.prototype = {
    get$specificity() {
      return 1;
    },
    accept$1$1(visitor) {
      return visitor.visitTypeSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    addSuffix$1(suffix) {
      var t1 = this.name;
      return new A.TypeSelector(new A.QualifiedName(t1.name + suffix, t1.namespace), this.span);
    },
    unify$1(compound) {
      var unified, t1,
        _0_0 = B.JSArray_methods.get$first(compound);
      if (_0_0 instanceof A.UniversalSelector || _0_0 instanceof A.TypeSelector) {
        unified = A.unifyUniversalAndElement(this, B.JSArray_methods.get$first(compound));
        if (unified == null)
          return null;
        t1 = A._setArrayType([unified], type$.JSArray_SimpleSelector);
        B.JSArray_methods.addAll$1(t1, A.SubListIterable$(compound, 1, null, A._arrayInstanceType(compound)._precomputed1));
        return t1;
      } else {
        t1 = A._setArrayType([this], type$.JSArray_SimpleSelector);
        B.JSArray_methods.addAll$1(t1, compound);
        return t1;
      }
    },
    isSuperselector$1(other) {
      var t1, t2;
      if (!this.super$SimpleSelector$isSuperselector(other))
        if (other instanceof A.TypeSelector) {
          t1 = this.name;
          t2 = other.name;
          if (t1.name === t2.name) {
            t1 = t1.namespace;
            t1 = t1 === "*" || t1 == t2.namespace;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.TypeSelector && other.name.$eq(0, this.name);
    },
    get$hashCode(_) {
      var t1 = this.name;
      return B.JSString_methods.get$hashCode(t1.name) ^ J.get$hashCode$(t1.namespace);
    }
  };
  A.UniversalSelector.prototype = {
    get$specificity() {
      return 0;
    },
    accept$1$1(visitor) {
      return visitor.visitUniversalSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    unify$1(compound) {
      var _0_4, t1, rest, unified, _this = this, _null = null,
        _0_1 = compound.length,
        _0_4_isSet = _0_1 >= 1;
      if (_0_4_isSet) {
        _0_4 = compound[0];
        t1 = _0_4;
        if (!(t1 instanceof A.UniversalSelector))
          t1 = _0_4 instanceof A.TypeSelector;
        else
          t1 = true;
        rest = t1 ? B.JSArray_methods.sublist$1(compound, 1) : _null;
      } else {
        rest = _null;
        _0_4 = rest;
        t1 = false;
      }
      if (t1) {
        unified = A.unifyUniversalAndElement(_this, B.JSArray_methods.get$first(compound));
        if (unified == null)
          return _null;
        t1 = A._setArrayType([unified], type$.JSArray_SimpleSelector);
        B.JSArray_methods.addAll$1(t1, rest);
        return t1;
      }
      if (_0_1 === 1) {
        if (_0_4_isSet)
          t1 = _0_4;
        else {
          _0_4 = compound[0];
          t1 = _0_4;
          _0_4_isSet = true;
        }
        if (t1 instanceof A.PseudoSelector) {
          t1 = _0_4_isSet ? _0_4 : compound[0];
          type$.PseudoSelector._as(t1);
          t1 = t1.isClass && t1.name === "host" || t1.get$isHostContext();
        } else
          t1 = false;
      } else
        t1 = false;
      if (t1)
        return _null;
      if (_0_1 <= 0)
        return A._setArrayType([_this], type$.JSArray_SimpleSelector);
      t1 = _this.namespace;
      if (t1 == null || t1 === "*")
        t1 = compound;
      else {
        t1 = A._setArrayType([_this], type$.JSArray_SimpleSelector);
        B.JSArray_methods.addAll$1(t1, compound);
      }
      return t1;
    },
    isSuperselector$1(other) {
      var t1 = this.namespace;
      if (t1 === "*")
        return true;
      if (other instanceof A.TypeSelector)
        return t1 == other.name.namespace;
      if (other instanceof A.UniversalSelector)
        return t1 == other.namespace;
      return t1 == null || this.super$SimpleSelector$isSuperselector(other);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.UniversalSelector && other.namespace == this.namespace;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.namespace);
    }
  };
  A._compileStylesheet_closure0.prototype = {
    call$1(url) {
      var t1;
      if (url === "") {
        t1 = this.stylesheet.span;
        t1 = A.Uri_Uri$dataFromString(A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.get$file(t1)._decodedChars, 0, null), 0, null), B.C_Utf8Codec, null).get$_text();
      } else
        t1 = this.importCache.sourceMapUrl$1(0, A.Uri_parse(url)).toString$0(0);
      return t1;
    },
    $signature: 5
  };
  A.AsyncEnvironment.prototype = {
    closure$0() {
      var t4, t5, t6, _this = this,
        t1 = _this._async_environment$_forwardedModules,
        t2 = _this._async_environment$_nestedForwardedModules,
        t3 = _this._async_environment$_variables;
      t3 = A._setArrayType(t3.slice(0), A._arrayInstanceType(t3));
      t4 = _this._async_environment$_variableNodes;
      t4 = A._setArrayType(t4.slice(0), A._arrayInstanceType(t4));
      t5 = _this._async_environment$_functions;
      t5 = A._setArrayType(t5.slice(0), A._arrayInstanceType(t5));
      t6 = _this._async_environment$_mixins;
      t6 = A._setArrayType(t6.slice(0), A._arrayInstanceType(t6));
      return A.AsyncEnvironment$_(_this._async_environment$_modules, _this._async_environment$_namespaceNodes, _this._async_environment$_globalModules, _this._async_environment$_importedModules, t1, t2, _this._async_environment$_allModules, t3, t4, t5, t6, _this._async_environment$_content);
    },
    forwardModule$2(module, rule) {
      var view, t1, t2, _this = this,
        forwardedModules = _this._async_environment$_forwardedModules;
      if (forwardedModules == null)
        forwardedModules = _this._async_environment$_forwardedModules = A.LinkedHashMap_LinkedHashMap$_empty(type$.Module_AsyncCallable, type$.AstNode);
      view = A.ForwardedModuleView_ifNecessary(module, rule, type$.AsyncCallable);
      for (t1 = A.LinkedHashMapKeyIterator$(forwardedModules, forwardedModules.__js_helper$_modifications); t1.moveNext$0();) {
        t2 = t1.__js_helper$_current;
        _this._async_environment$_assertNoConflicts$5(view.get$variables(), t2.get$variables(), view, t2, "variable");
        _this._async_environment$_assertNoConflicts$5(view.get$functions(view), t2.get$functions(t2), view, t2, "function");
        _this._async_environment$_assertNoConflicts$5(view.get$mixins(), t2.get$mixins(), view, t2, "mixin");
      }
      _this._async_environment$_allModules.push(module);
      forwardedModules.$indexSet(0, view, rule);
    },
    _async_environment$_assertNoConflicts$5(newMembers, oldMembers, newModule, oldModule, type) {
      var larger, smaller, t1, t2, t3, t4, $name, small, large, span;
      if (newMembers.get$length(newMembers) < oldMembers.get$length(oldMembers)) {
        larger = oldMembers;
        smaller = newMembers;
      } else {
        larger = newMembers;
        smaller = oldMembers;
      }
      for (t1 = type$.String, t2 = A.MapExtensions_get_pairs(smaller, t1, type$.Object), t2 = t2.get$iterator(t2), t3 = type === "variable"; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        $name = t4._0;
        small = t4._1;
        large = larger.$index(0, $name);
        if (large == null)
          continue;
        if (t3 ? newModule.variableIdentity$1($name) === oldModule.variableIdentity$1($name) : J.$eq$(large, small))
          continue;
        if (t3)
          $name = "$" + $name;
        t2 = this._async_environment$_forwardedModules;
        if (t2 == null)
          span = null;
        else {
          t2 = t2.$index(0, oldModule);
          span = t2 == null ? null : J.get$span$z(t2);
        }
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, t1);
        if (span != null)
          t2.$indexSet(0, span, "original @forward");
        throw A.wrapException(A.MultiSpanSassScriptException$("Two forwarded modules both define a " + type + " named " + $name + ".", "new @forward", t2));
      }
    },
    importForwards$1(module) {
      var forwardedModules, t1, t2, t3, t4, node, t5, t6, t7, t8, t9, t10, _i, t11, shadowed, _length, _list, _this = this,
        forwarded = module._async_environment$_environment._async_environment$_forwardedModules;
      if (forwarded == null)
        return;
      forwardedModules = _this._async_environment$_forwardedModules;
      if (forwardedModules != null) {
        t1 = type$.Module_AsyncCallable;
        t2 = type$.AstNode;
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        for (t1 = A.MapExtensions_get_pairs(forwarded, t1, t2), t1 = t1.get$iterator(t1), t2 = _this._async_environment$_globalModules; t1.moveNext$0();) {
          t4 = t1.get$current(t1);
          module = t4._0;
          node = t4._1;
          if (!forwardedModules.containsKey$1(module) || !t2.containsKey$1(module))
            t3.$indexSet(0, module, node);
        }
        forwarded = t3;
      } else
        forwardedModules = _this._async_environment$_forwardedModules = A.LinkedHashMap_LinkedHashMap$_empty(type$.Module_AsyncCallable, type$.AstNode);
      t1 = type$.String;
      t2 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t3 = A.LinkedHashMapKeyIterator$(forwarded, forwarded.__js_helper$_modifications); t3.moveNext$0();)
        for (t4 = t3.__js_helper$_current.get$variables(), t4 = J.get$iterator$ax(t4.get$keys(t4)); t4.moveNext$0();)
          t2.add$1(0, t4.get$current(t4));
      t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t4 = A.LinkedHashMapKeyIterator$(forwarded, forwarded.__js_helper$_modifications); t4.moveNext$0();) {
        t5 = t4.__js_helper$_current;
        for (t5 = t5.get$functions(t5), t5 = J.get$iterator$ax(t5.get$keys(t5)); t5.moveNext$0();)
          t3.add$1(0, t5.get$current(t5));
      }
      t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t4 = A.LinkedHashMapKeyIterator$(forwarded, forwarded.__js_helper$_modifications); t4.moveNext$0();)
        for (t5 = t4.__js_helper$_current.get$mixins(), t5 = J.get$iterator$ax(t5.get$keys(t5)); t5.moveNext$0();)
          t1.add$1(0, t5.get$current(t5));
      t4 = _this._async_environment$_variables;
      t5 = t4.length;
      if (t5 === 1) {
        for (t5 = _this._async_environment$_importedModules, t6 = type$.Module_AsyncCallable, t7 = type$.AstNode, t8 = A.MapExtensions_get_pairs(t5, t6, t7).toList$0(0), t9 = t8.length, t10 = type$.AsyncCallable, _i = 0; _i < t8.length; t8.length === t9 || (0, A.throwConcurrentModificationError)(t8), ++_i) {
          t11 = t8[_i];
          module = t11._0;
          node = t11._1;
          shadowed = A.ShadowedModuleView_ifNecessary(module, t3, t1, t2, t10);
          if (shadowed != null) {
            t5.remove$1(0, module);
            t11 = shadowed.variables;
            if (t11.get$isEmpty(t11)) {
              t11 = shadowed.functions;
              if (t11.get$isEmpty(t11)) {
                t11 = shadowed.mixins;
                if (t11.get$isEmpty(t11)) {
                  t11 = shadowed._shadowed_view$_inner;
                  t11 = t11.get$css(t11);
                  t11 = J.get$isEmpty$asx(t11.get$children(t11));
                } else
                  t11 = false;
              } else
                t11 = false;
            } else
              t11 = false;
            if (!t11)
              t5.$indexSet(0, shadowed, node);
          }
        }
        for (t6 = A.MapExtensions_get_pairs(forwardedModules, t6, t7).toList$0(0), t7 = t6.length, _i = 0; _i < t6.length; t6.length === t7 || (0, A.throwConcurrentModificationError)(t6), ++_i) {
          t8 = t6[_i];
          module = t8._0;
          node = t8._1;
          shadowed = A.ShadowedModuleView_ifNecessary(module, t3, t1, t2, t10);
          if (shadowed != null) {
            forwardedModules.remove$1(0, module);
            t8 = shadowed.variables;
            if (t8.get$isEmpty(t8)) {
              t8 = shadowed.functions;
              if (t8.get$isEmpty(t8)) {
                t8 = shadowed.mixins;
                if (t8.get$isEmpty(t8)) {
                  t8 = shadowed._shadowed_view$_inner;
                  t8 = t8.get$css(t8);
                  t8 = J.get$isEmpty$asx(t8.get$children(t8));
                } else
                  t8 = false;
              } else
                t8 = false;
            } else
              t8 = false;
            if (!t8)
              forwardedModules.$indexSet(0, shadowed, node);
          }
        }
        t5.addAll$1(0, forwarded);
        forwardedModules.addAll$1(0, forwarded);
      } else {
        t6 = _this._async_environment$_nestedForwardedModules;
        if (t6 == null) {
          _length = t5 - 1;
          _list = J.JSArray_JSArray$allocateGrowable(_length, type$.List_Module_AsyncCallable);
          for (t5 = type$.JSArray_Module_AsyncCallable, _i = 0; _i < _length; ++_i)
            _list[_i] = A._setArrayType([], t5);
          _this._async_environment$_nestedForwardedModules = _list;
          t5 = _list;
        } else
          t5 = t6;
        B.JSArray_methods.addAll$1(B.JSArray_methods.get$last(t5), new A.LinkedHashMapKeyIterable(forwarded, A._instanceType(forwarded)._eval$1("LinkedHashMapKeyIterable<1>")));
      }
      for (t2 = A._LinkedHashSetIterator$(t2, t2._modifications, t2.$ti._precomputed1), t5 = _this._async_environment$_variableIndices, t6 = _this._async_environment$_variableNodes, t7 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t8 = t2._collection$_current;
        if (t8 == null)
          t8 = t7._as(t8);
        t5.remove$1(0, t8);
        J.remove$1$z(B.JSArray_methods.get$last(t4), t8);
        J.remove$1$z(B.JSArray_methods.get$last(t6), t8);
      }
      for (t2 = A._LinkedHashSetIterator$(t3, t3._modifications, t3.$ti._precomputed1), t3 = _this._async_environment$_functionIndices, t4 = _this._async_environment$_functions, t5 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t6 = t2._collection$_current;
        if (t6 == null)
          t6 = t5._as(t6);
        t3.remove$1(0, t6);
        J.remove$1$z(B.JSArray_methods.get$last(t4), t6);
      }
      for (t1 = A._LinkedHashSetIterator$(t1, t1._modifications, t1.$ti._precomputed1), t2 = _this._async_environment$_mixinIndices, t3 = _this._async_environment$_mixins, t4 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t5 = t1._collection$_current;
        if (t5 == null)
          t5 = t4._as(t5);
        t2.remove$1(0, t5);
        J.remove$1$z(B.JSArray_methods.get$last(t3), t5);
      }
    },
    getVariable$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null)
        return _this._async_environment$_getModule$1(namespace).get$variables().$index(0, $name);
      if (_this._async_environment$_lastVariableName === $name) {
        t1 = _this._async_environment$_lastVariableIndex;
        t1.toString;
        t1 = J.$index$asx(_this._async_environment$_variables[t1], $name);
        return t1 == null ? _this._async_environment$_getVariableFromGlobalModule$1($name) : t1;
      }
      t1 = _this._async_environment$_variableIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        _this._async_environment$_lastVariableName = $name;
        _this._async_environment$_lastVariableIndex = _0_0;
        t1 = J.$index$asx(_this._async_environment$_variables[_0_0], $name);
        return t1 == null ? _this._async_environment$_getVariableFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._async_environment$_variableIndex$1($name);
        if (_1_0 != null) {
          _this._async_environment$_lastVariableName = $name;
          _this._async_environment$_lastVariableIndex = _1_0;
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._async_environment$_variables[_1_0], $name);
          return t1 == null ? _this._async_environment$_getVariableFromGlobalModule$1($name) : t1;
        } else
          return _this._async_environment$_getVariableFromGlobalModule$1($name);
      }
    },
    getVariable$1($name) {
      return this.getVariable$2$namespace($name, null);
    },
    _async_environment$_getVariableFromGlobalModule$1($name) {
      return this._async_environment$_fromOneModule$3($name, "variable", new A.AsyncEnvironment__getVariableFromGlobalModule_closure($name));
    },
    getVariableNode$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null)
        return _this._async_environment$_getModule$1(namespace).get$variableNodes().$index(0, $name);
      if (_this._async_environment$_lastVariableName === $name) {
        t1 = _this._async_environment$_lastVariableIndex;
        t1.toString;
        t1 = J.$index$asx(_this._async_environment$_variableNodes[t1], $name);
        return t1 == null ? _this._async_environment$_getVariableNodeFromGlobalModule$1($name) : t1;
      }
      t1 = _this._async_environment$_variableIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        _this._async_environment$_lastVariableName = $name;
        _this._async_environment$_lastVariableIndex = _0_0;
        t1 = J.$index$asx(_this._async_environment$_variableNodes[_0_0], $name);
        return t1 == null ? _this._async_environment$_getVariableNodeFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._async_environment$_variableIndex$1($name);
        if (_1_0 != null) {
          _this._async_environment$_lastVariableName = $name;
          _this._async_environment$_lastVariableIndex = _1_0;
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._async_environment$_variableNodes[_1_0], $name);
          return t1 == null ? _this._async_environment$_getVariableNodeFromGlobalModule$1($name) : t1;
        } else
          return _this._async_environment$_getVariableNodeFromGlobalModule$1($name);
      }
    },
    _async_environment$_getVariableNodeFromGlobalModule$1($name) {
      var t1, t2, _0_0;
      for (t1 = this._async_environment$_importedModules, t2 = this._async_environment$_globalModules, t2 = new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>")).followedBy$1(0, new A.LinkedHashMapKeyIterable(t2, A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>"))), t2 = new A.FollowedByIterator(J.get$iterator$ax(t2.__internal$_first), t2._second); t2.moveNext$0();) {
        t1 = t2._currentIterator;
        _0_0 = t1.get$current(t1).get$variableNodes().$index(0, $name);
        if (_0_0 != null)
          return _0_0;
      }
      return null;
    },
    globalVariableExists$2$namespace($name, namespace) {
      if (namespace != null)
        return this._async_environment$_getModule$1(namespace).get$variables().containsKey$1($name);
      if (B.JSArray_methods.get$first(this._async_environment$_variables).containsKey$1($name))
        return true;
      return this._async_environment$_getVariableFromGlobalModule$1($name) != null;
    },
    globalVariableExists$1($name) {
      return this.globalVariableExists$2$namespace($name, null);
    },
    _async_environment$_variableIndex$1($name) {
      var t1, i;
      for (t1 = this._async_environment$_variables, i = t1.length - 1; i >= 0; --i)
        if (t1[i].containsKey$1($name))
          return i;
      return null;
    },
    setVariable$5$global$namespace($name, value, nodeWithSpan, global, namespace) {
      var t1, moduleWithName, nestedForwardedModules, t2, t3, t4, t5, index, _this = this;
      if (namespace != null) {
        _this._async_environment$_getModule$1(namespace).setVariable$3($name, value, nodeWithSpan);
        return;
      }
      if (global || _this._async_environment$_variables.length === 1) {
        _this._async_environment$_variableIndices.putIfAbsent$2($name, new A.AsyncEnvironment_setVariable_closure(_this, $name));
        t1 = _this._async_environment$_variables;
        if (!B.JSArray_methods.get$first(t1).containsKey$1($name)) {
          moduleWithName = _this._async_environment$_fromOneModule$3($name, "variable", new A.AsyncEnvironment_setVariable_closure0($name));
          if (moduleWithName != null) {
            moduleWithName.setVariable$3($name, value, nodeWithSpan);
            return;
          }
        }
        J.$indexSet$ax(B.JSArray_methods.get$first(t1), $name, value);
        J.$indexSet$ax(B.JSArray_methods.get$first(_this._async_environment$_variableNodes), $name, nodeWithSpan);
        return;
      }
      nestedForwardedModules = _this._async_environment$_nestedForwardedModules;
      if (nestedForwardedModules != null && !_this._async_environment$_variableIndices.containsKey$1($name) && _this._async_environment$_variableIndex$1($name) == null)
        for (t1 = A._arrayInstanceType(nestedForwardedModules)._eval$1("ReversedListIterable<1>"), t2 = new A.ReversedListIterable(nestedForwardedModules, t1), t2 = new A.ListIterator(t2, t2.get$length(0), t1._eval$1("ListIterator")), t1 = t1._eval$1("ListIterable.E"); t2.moveNext$0();) {
          t3 = t2.__internal$_current;
          for (t3 = J.get$reversed$ax(t3 == null ? t1._as(t3) : t3), t4 = t3.$ti, t3 = new A.ListIterator(t3, t3.get$length(0), t4._eval$1("ListIterator")), t4 = t4._eval$1("ListIterable.E"); t3.moveNext$0();) {
            t5 = t3.__internal$_current;
            if (t5 == null)
              t5 = t4._as(t5);
            if (t5.get$variables().containsKey$1($name)) {
              t5.setVariable$3($name, value, nodeWithSpan);
              return;
            }
          }
        }
      if (_this._async_environment$_lastVariableName === $name) {
        t1 = _this._async_environment$_lastVariableIndex;
        t1.toString;
        index = t1;
      } else
        index = _this._async_environment$_variableIndices.putIfAbsent$2($name, new A.AsyncEnvironment_setVariable_closure1(_this, $name));
      if (!_this._async_environment$_inSemiGlobalScope && index === 0) {
        index = _this._async_environment$_variables.length - 1;
        _this._async_environment$_variableIndices.$indexSet(0, $name, index);
      }
      _this._async_environment$_lastVariableName = $name;
      _this._async_environment$_lastVariableIndex = index;
      J.$indexSet$ax(_this._async_environment$_variables[index], $name, value);
      J.$indexSet$ax(_this._async_environment$_variableNodes[index], $name, nodeWithSpan);
    },
    setVariable$4$global($name, value, nodeWithSpan, global) {
      return this.setVariable$5$global$namespace($name, value, nodeWithSpan, global, null);
    },
    setLocalVariable$3($name, value, nodeWithSpan) {
      var index, _this = this,
        t1 = _this._async_environment$_variables,
        t2 = t1.length;
      _this._async_environment$_lastVariableName = $name;
      index = _this._async_environment$_lastVariableIndex = t2 - 1;
      _this._async_environment$_variableIndices.$indexSet(0, $name, index);
      J.$indexSet$ax(t1[index], $name, value);
      J.$indexSet$ax(_this._async_environment$_variableNodes[index], $name, nodeWithSpan);
    },
    getFunction$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null) {
        t1 = _this._async_environment$_getModule$1(namespace);
        return t1.get$functions(t1).$index(0, $name);
      }
      t1 = _this._async_environment$_functionIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        t1 = J.$index$asx(_this._async_environment$_functions[_0_0], $name);
        return t1 == null ? _this._async_environment$_getFunctionFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._async_environment$_functionIndex$1($name);
        if (_1_0 != null) {
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._async_environment$_functions[_1_0], $name);
          return t1 == null ? _this._async_environment$_getFunctionFromGlobalModule$1($name) : t1;
        } else
          return _this._async_environment$_getFunctionFromGlobalModule$1($name);
      }
    },
    getFunction$1($name) {
      return this.getFunction$2$namespace($name, null);
    },
    _async_environment$_getFunctionFromGlobalModule$1($name) {
      return this._async_environment$_fromOneModule$3($name, "function", new A.AsyncEnvironment__getFunctionFromGlobalModule_closure($name));
    },
    _async_environment$_functionIndex$1($name) {
      var t1, i;
      for (t1 = this._async_environment$_functions, i = t1.length - 1; i >= 0; --i)
        if (t1[i].containsKey$1($name))
          return i;
      return null;
    },
    getMixin$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null)
        return _this._async_environment$_getModule$1(namespace).get$mixins().$index(0, $name);
      t1 = _this._async_environment$_mixinIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        t1 = J.$index$asx(_this._async_environment$_mixins[_0_0], $name);
        return t1 == null ? _this._async_environment$_getMixinFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._async_environment$_mixinIndex$1($name);
        if (_1_0 != null) {
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._async_environment$_mixins[_1_0], $name);
          return t1 == null ? _this._async_environment$_getMixinFromGlobalModule$1($name) : t1;
        } else
          return _this._async_environment$_getMixinFromGlobalModule$1($name);
      }
    },
    _async_environment$_getMixinFromGlobalModule$1($name) {
      return this._async_environment$_fromOneModule$3($name, "mixin", new A.AsyncEnvironment__getMixinFromGlobalModule_closure($name));
    },
    _async_environment$_mixinIndex$1($name) {
      var t1, i;
      for (t1 = this._async_environment$_mixins, i = t1.length - 1; i >= 0; --i)
        if (t1[i].containsKey$1($name))
          return i;
      return null;
    },
    withContent$2($content, callback) {
      return this.withContent$body$AsyncEnvironment($content, callback);
    },
    withContent$body$AsyncEnvironment($content, callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, oldContent;
      var $async$withContent$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldContent = $async$self._async_environment$_content;
              $async$self._async_environment$_content = $content;
              $async$goto = 2;
              return A._asyncAwait(callback.call$0(), $async$withContent$2);
            case 2:
              // returning from await.
              $async$self._async_environment$_content = oldContent;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$withContent$2, $async$completer);
    },
    asMixin$1(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, oldInMixin;
      var $async$asMixin$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldInMixin = $async$self._async_environment$_inMixin;
              $async$self._async_environment$_inMixin = true;
              $async$goto = 2;
              return A._asyncAwait(callback.call$0(), $async$asMixin$1);
            case 2:
              // returning from await.
              $async$self._async_environment$_inMixin = oldInMixin;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$asMixin$1, $async$completer);
    },
    scope$1$3$semiGlobal$when(callback, semiGlobal, when, $T) {
      return this.scope$body$AsyncEnvironment(callback, semiGlobal, when, $T, $T);
    },
    scope$1$1(callback, $T) {
      return this.scope$1$3$semiGlobal$when(callback, false, true, $T);
    },
    scope$1$2$when(callback, when, $T) {
      return this.scope$1$3$semiGlobal$when(callback, false, when, $T);
    },
    scope$1$2$semiGlobal(callback, semiGlobal, $T) {
      return this.scope$1$3$semiGlobal$when(callback, semiGlobal, true, $T);
    },
    scope$body$AsyncEnvironment(callback, semiGlobal, when, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, wasInSemiGlobalScope, $name, name0, name1, t1, t2, t3, t4, t5, t6;
      var $async$scope$1$3$semiGlobal$when = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              semiGlobal = semiGlobal && $async$self._async_environment$_inSemiGlobalScope;
              wasInSemiGlobalScope = $async$self._async_environment$_inSemiGlobalScope;
              $async$self._async_environment$_inSemiGlobalScope = semiGlobal;
              $async$goto = !when ? 3 : 4;
              break;
            case 3:
              // then
              $async$handler = 5;
              $async$goto = 8;
              return A._asyncAwait(callback.call$0(), $async$scope$1$3$semiGlobal$when);
            case 8:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              $async$next = [1];
              // goto finally
              $async$goto = 6;
              break;
              $async$next.push(7);
              // goto finally
              $async$goto = 6;
              break;
            case 5:
              // uncaught
              $async$next = [2];
            case 6:
              // finally
              $async$handler = 2;
              $async$self._async_environment$_inSemiGlobalScope = wasInSemiGlobalScope;
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 7:
              // after finally
            case 4:
              // join
              t1 = $async$self._async_environment$_variables;
              t2 = type$.String;
              B.JSArray_methods.add$1(t1, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.Value));
              t3 = $async$self._async_environment$_variableNodes;
              B.JSArray_methods.add$1(t3, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.AstNode));
              t4 = $async$self._async_environment$_functions;
              t5 = type$.AsyncCallable;
              B.JSArray_methods.add$1(t4, A.LinkedHashMap_LinkedHashMap$_empty(t2, t5));
              t6 = $async$self._async_environment$_mixins;
              B.JSArray_methods.add$1(t6, A.LinkedHashMap_LinkedHashMap$_empty(t2, t5));
              t5 = $async$self._async_environment$_nestedForwardedModules;
              if (t5 != null)
                t5.push(A._setArrayType([], type$.JSArray_Module_AsyncCallable));
              $async$handler = 9;
              $async$goto = 12;
              return A._asyncAwait(callback.call$0(), $async$scope$1$3$semiGlobal$when);
            case 12:
              // returning from await.
              t2 = $async$result;
              $async$returnValue = t2;
              $async$next = [1];
              // goto finally
              $async$goto = 10;
              break;
              $async$next.push(11);
              // goto finally
              $async$goto = 10;
              break;
            case 9:
              // uncaught
              $async$next = [2];
            case 10:
              // finally
              $async$handler = 2;
              $async$self._async_environment$_inSemiGlobalScope = wasInSemiGlobalScope;
              $async$self._async_environment$_lastVariableIndex = $async$self._async_environment$_lastVariableName = null;
              for (t1 = J.get$iterator$ax(J.get$keys$z(B.JSArray_methods.removeLast$0(t1))), t2 = $async$self._async_environment$_variableIndices; t1.moveNext$0();) {
                $name = t1.get$current(t1);
                t2.remove$1(0, $name);
              }
              B.JSArray_methods.removeLast$0(t3);
              for (t1 = J.get$iterator$ax(J.get$keys$z(B.JSArray_methods.removeLast$0(t4))), t2 = $async$self._async_environment$_functionIndices; t1.moveNext$0();) {
                name0 = t1.get$current(t1);
                t2.remove$1(0, name0);
              }
              for (t1 = J.get$iterator$ax(J.get$keys$z(B.JSArray_methods.removeLast$0(t6))), t2 = $async$self._async_environment$_mixinIndices; t1.moveNext$0();) {
                name1 = t1.get$current(t1);
                t2.remove$1(0, name1);
              }
              t1 = $async$self._async_environment$_nestedForwardedModules;
              if (t1 != null)
                t1.pop();
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 11:
              // after finally
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$scope$1$3$semiGlobal$when, $async$completer);
    },
    toImplicitConfiguration$0() {
      var t2, t3, t4, i, values, nodes, t5, t6, $name, value,
        t1 = type$.String,
        configuration = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.ConfiguredValue);
      for (t2 = this._async_environment$_variables, t3 = type$.Value, t4 = this._async_environment$_variableNodes, i = 0; i < t2.length; ++i) {
        values = t2[i];
        nodes = t4[i];
        for (t5 = A.MapExtensions_get_pairs(values, t1, t3), t5 = t5.get$iterator(t5); t5.moveNext$0();) {
          t6 = t5.get$current(t5);
          $name = t6._0;
          value = t6._1;
          t6 = nodes.$index(0, $name);
          t6.toString;
          configuration.$indexSet(0, $name, new A.ConfiguredValue(value, null, t6));
        }
      }
      return new A.Configuration(configuration, null);
    },
    toModule$3(css, preModuleComments, extensionStore) {
      return A._EnvironmentModule__EnvironmentModule0(this, css, preModuleComments, extensionStore, A.NullableExtension_andThen(this._async_environment$_forwardedModules, new A.AsyncEnvironment_toModule_closure()));
    },
    toDummyModule$0() {
      return A._EnvironmentModule__EnvironmentModule0(this, new A.CssStylesheet(new A.UnmodifiableListView(B.List_empty3, type$.UnmodifiableListView_CssNode), A.SourceFile$decoded(B.List_empty4, "").span$1(0, 0)), B.Map_empty7, B.C_EmptyExtensionStore, A.NullableExtension_andThen(this._async_environment$_forwardedModules, new A.AsyncEnvironment_toDummyModule_closure()));
    },
    _async_environment$_getModule$1(namespace) {
      var _0_0 = this._async_environment$_modules.$index(0, namespace);
      if (_0_0 != null)
        return _0_0;
      throw A.wrapException(A.SassScriptException$('There is no module with the namespace "' + namespace + '".', null));
    },
    _async_environment$_fromOneModule$1$3($name, type, callback) {
      var t1, t2, t3, t4, t5, _1_0, _2_0, value, identity, valueInModule, identityFromModule, module, node,
        _0_0 = this._async_environment$_nestedForwardedModules;
      if (_0_0 != null)
        for (t1 = A._arrayInstanceType(_0_0)._eval$1("ReversedListIterable<1>"), t2 = new A.ReversedListIterable(_0_0, t1), t2 = new A.ListIterator(t2, t2.get$length(0), t1._eval$1("ListIterator")), t1 = t1._eval$1("ListIterable.E"); t2.moveNext$0();) {
          t3 = t2.__internal$_current;
          for (t3 = J.get$reversed$ax(t3 == null ? t1._as(t3) : t3), t4 = t3.$ti, t3 = new A.ListIterator(t3, t3.get$length(0), t4._eval$1("ListIterator")), t4 = t4._eval$1("ListIterable.E"); t3.moveNext$0();) {
            t5 = t3.__internal$_current;
            _1_0 = callback.call$1(t5 == null ? t4._as(t5) : t5);
            if (_1_0 != null)
              return _1_0;
          }
        }
      for (t1 = this._async_environment$_importedModules, t1 = A.LinkedHashMapKeyIterator$(t1, t1.__js_helper$_modifications); t1.moveNext$0();) {
        _2_0 = callback.call$1(t1.__js_helper$_current);
        if (_2_0 != null)
          return _2_0;
      }
      for (t1 = this._async_environment$_globalModules, t2 = A.LinkedHashMapKeyIterator$(t1, t1.__js_helper$_modifications), t3 = type$.AsyncCallable, value = null, identity = null; t2.moveNext$0();) {
        t4 = t2.__js_helper$_current;
        valueInModule = callback.call$1(t4);
        if (valueInModule == null)
          continue;
        identityFromModule = t3._is(valueInModule) ? valueInModule : t4.variableIdentity$1($name);
        if (identityFromModule.$eq(0, identity))
          continue;
        if (value != null) {
          t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
          for (t3 = A.MapExtensions_get_pairs(t1, type$.Module_AsyncCallable, type$.AstNode), t3 = t3.get$iterator(t3), t4 = "includes " + type; t3.moveNext$0();) {
            t1 = t3.get$current(t3);
            module = t1._0;
            node = t1._1;
            if (callback.call$1(module) != null)
              t2.$indexSet(0, node.get$span(node), t4);
          }
          throw A.wrapException(A.MultiSpanSassScriptException$("This " + type + string$.x20is_av, type + " use", t2));
        }
        identity = identityFromModule;
        value = valueInModule;
      }
      return value;
    },
    _async_environment$_fromOneModule$3($name, type, callback) {
      return this._async_environment$_fromOneModule$1$3($name, type, callback, type$.dynamic);
    }
  };
  A.AsyncEnvironment__getVariableFromGlobalModule_closure.prototype = {
    call$1(module) {
      return module.get$variables().$index(0, this.name);
    },
    $signature: 318
  };
  A.AsyncEnvironment_setVariable_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._async_environment$_lastVariableName = this.name;
      return t1._async_environment$_lastVariableIndex = 0;
    },
    $signature: 10
  };
  A.AsyncEnvironment_setVariable_closure0.prototype = {
    call$1(module) {
      return module.get$variables().containsKey$1(this.name) ? module : null;
    },
    $signature: 317
  };
  A.AsyncEnvironment_setVariable_closure1.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._async_environment$_variableIndex$1(this.name);
      return t2 == null ? t1._async_environment$_variables.length - 1 : t2;
    },
    $signature: 10
  };
  A.AsyncEnvironment__getFunctionFromGlobalModule_closure.prototype = {
    call$1(module) {
      return module.get$functions(module).$index(0, this.name);
    },
    $signature: 178
  };
  A.AsyncEnvironment__getMixinFromGlobalModule_closure.prototype = {
    call$1(module) {
      return module.get$mixins().$index(0, this.name);
    },
    $signature: 178
  };
  A.AsyncEnvironment_toModule_closure.prototype = {
    call$1(modules) {
      return new A.MapKeySet(modules, type$.MapKeySet_Module_AsyncCallable);
    },
    $signature: 180
  };
  A.AsyncEnvironment_toDummyModule_closure.prototype = {
    call$1(modules) {
      return new A.MapKeySet(modules, type$.MapKeySet_Module_AsyncCallable);
    },
    $signature: 180
  };
  A._EnvironmentModule0.prototype = {
    get$url(_) {
      var t1 = this.css;
      t1 = t1.get$span(t1);
      return t1.get$sourceUrl(t1);
    },
    setVariable$3($name, value, nodeWithSpan) {
      var t1, t2,
        _0_0 = this._async_environment$_modulesByVariable.$index(0, $name);
      if (_0_0 != null) {
        _0_0.setVariable$3($name, value, nodeWithSpan);
        return;
      }
      t1 = this._async_environment$_environment;
      t2 = t1._async_environment$_variables;
      if (!B.JSArray_methods.get$first(t2).containsKey$1($name))
        throw A.wrapException(A.SassScriptException$("Undefined variable.", null));
      J.$indexSet$ax(B.JSArray_methods.get$first(t2), $name, value);
      J.$indexSet$ax(B.JSArray_methods.get$first(t1._async_environment$_variableNodes), $name, nodeWithSpan);
      return;
    },
    variableIdentity$1($name) {
      var module = this._async_environment$_modulesByVariable.$index(0, $name);
      return module == null ? this : module.variableIdentity$1($name);
    },
    cloneCss$0() {
      var _0_0, _this = this;
      if (!_this.transitivelyContainsCss)
        return _this;
      _0_0 = A.cloneCssStylesheet(_this.css, _this.extensionStore);
      return A._EnvironmentModule$_0(_this._async_environment$_environment, _0_0._0, _this.preModuleComments, _0_0._1, _this._async_environment$_modulesByVariable, _this.variables, _this.variableNodes, _this.functions, _this.mixins, true, _this.transitivelyContainsExtensions);
    },
    toString$0(_) {
      var t1 = this.css,
        t2 = t1.get$span(t1);
      if (t2.get$sourceUrl(t2) == null)
        t1 = "";
      else {
        t1 = t1.get$span(t1);
        t1 = t1.get$sourceUrl(t1);
        t2 = $.$get$context();
        t1.toString;
        t1 = t2.prettyUri$1(t1);
      }
      return t1;
    },
    $isModule0: 1,
    get$upstream() {
      return this.upstream;
    },
    get$variables() {
      return this.variables;
    },
    get$variableNodes() {
      return this.variableNodes;
    },
    get$functions(receiver) {
      return this.functions;
    },
    get$mixins() {
      return this.mixins;
    },
    get$extensionStore() {
      return this.extensionStore;
    },
    get$css(receiver) {
      return this.css;
    },
    get$preModuleComments() {
      return this.preModuleComments;
    },
    get$transitivelyContainsCss() {
      return this.transitivelyContainsCss;
    },
    get$transitivelyContainsExtensions() {
      return this.transitivelyContainsExtensions;
    }
  };
  A._EnvironmentModule__EnvironmentModule_closure5.prototype = {
    call$1(module) {
      return module.get$variables();
    },
    $signature: 312
  };
  A._EnvironmentModule__EnvironmentModule_closure6.prototype = {
    call$1(module) {
      return module.get$variableNodes();
    },
    $signature: 306
  };
  A._EnvironmentModule__EnvironmentModule_closure7.prototype = {
    call$1(module) {
      return module.get$functions(module);
    },
    $signature: 185
  };
  A._EnvironmentModule__EnvironmentModule_closure8.prototype = {
    call$1(module) {
      return module.get$mixins();
    },
    $signature: 185
  };
  A._EnvironmentModule__EnvironmentModule_closure9.prototype = {
    call$1(module) {
      return module.get$transitivelyContainsCss();
    },
    $signature: 123
  };
  A._EnvironmentModule__EnvironmentModule_closure10.prototype = {
    call$1(module) {
      return module.get$transitivelyContainsExtensions();
    },
    $signature: 123
  };
  A.AsyncImportCache.prototype = {
    canonicalize$4$baseImporter$baseUrl$forImport(_, url, baseImporter, baseUrl, forImport) {
      return this.canonicalize$body$AsyncImportCache(0, url, baseImporter, baseUrl, forImport);
    },
    canonicalize$body$AsyncImportCache(_, url, baseImporter, baseUrl, forImport) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl),
        $async$returnValue, $async$self = this, t1, resolvedUrl, key, relativeResult, t2, t3, t4, t5, t6, cacheable, i, importer, perImporterKey, t7, _1_0, _1_2_isSet, _1_2, result, _2_0, _2_1, _2_5_isSet, _2_3, _2_5, _2_3_isSet, j;
      var $async$canonicalize$4$baseImporter$baseUrl$forImport = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (A.isBrowser())
                t1 = (baseImporter == null || baseImporter instanceof A.NoOpImporter) && $async$self._async_import_cache$_importers.length === 0;
              else
                t1 = false;
              if (t1)
                throw A.wrapException(string$.Custom);
              $async$goto = baseImporter != null && url.get$scheme() === "" ? 3 : 4;
              break;
            case 3:
              // then
              resolvedUrl = baseUrl == null ? null : baseUrl.resolveUri$1(url);
              if (resolvedUrl == null)
                resolvedUrl = url;
              key = new A._Record_3_forImport(baseImporter, resolvedUrl, forImport);
              $async$goto = 5;
              return A._asyncAwait(A.putIfAbsentAsync($async$self._async_import_cache$_perImporterCanonicalizeCache, key, new A.AsyncImportCache_canonicalize_closure($async$self, baseImporter, resolvedUrl, baseUrl, forImport, key, url), type$.Record_3_AsyncImporter_and_Uri_and_bool_forImport, type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl), $async$canonicalize$4$baseImporter$baseUrl$forImport);
            case 5:
              // returning from await.
              relativeResult = $async$result;
              if (relativeResult != null) {
                $async$returnValue = relativeResult;
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // join
              key = new A._Record_2_forImport(url, forImport);
              t1 = $async$self._async_import_cache$_canonicalizeCache;
              if (t1.containsKey$1(key)) {
                $async$returnValue = t1.$index(0, key);
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = $async$self._async_import_cache$_importers, t3 = type$.Record_1_nullable_Object, t4 = $async$self._async_import_cache$_perImporterCanonicalizeCache, t5 = type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl, t6 = type$.Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl, cacheable = true, i = 0;
            case 6:
              // for condition
              if (!(i < t2.length)) {
                // goto after for
                $async$goto = 8;
                break;
              }
              importer = t2[i];
              perImporterKey = new A._Record_3_forImport(importer, url, forImport);
              if (t4.containsKey$1(perImporterKey)) {
                t7 = t4.$index(0, perImporterKey);
                _1_0 = new A._Record_1(t7 == null ? t5._as(t7) : t7);
              } else
                _1_0 = null;
              _1_2_isSet = t3._is(_1_0);
              if (_1_2_isSet) {
                _1_2 = _1_0._0;
                t7 = _1_2 != null;
                if (t7) {
                  t6._as(_1_2);
                  result = _1_2;
                } else
                  result = null;
              } else {
                _1_2 = null;
                result = null;
                t7 = false;
              }
              if (t7) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              if (_1_2_isSet)
                t7 = _1_2 == null;
              else
                t7 = false;
              if (t7) {
                // goto for update
                $async$goto = 7;
                break;
              }
              $async$goto = 10;
              return A._asyncAwait($async$self._async_import_cache$_canonicalize$4(importer, url, baseUrl, forImport), $async$canonicalize$4$baseImporter$baseUrl$forImport);
            case 10:
              // returning from await.
              _2_0 = $async$result;
              _2_1 = _2_0._0;
              _2_5_isSet = _2_1 != null;
              if (_2_5_isSet) {
                result = _2_1 == null ? t6._as(_2_1) : _2_1;
                _2_3 = _2_0._1;
                t7 = _2_3;
                _2_5 = t7;
                t7 = t7 && cacheable;
              } else {
                _2_5 = null;
                _2_3 = null;
                result = null;
                t7 = false;
              }
              if (t7) {
                t1.$indexSet(0, key, result);
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              if (_2_5_isSet) {
                t7 = _2_5;
                _2_3_isSet = _2_5_isSet;
              } else {
                _2_3 = _2_0._1;
                t7 = _2_3;
                _2_3_isSet = true;
              }
              t7 = t7 && !cacheable;
              if (t7) {
                t4.$indexSet(0, perImporterKey, _2_1);
                if (_2_1 != null) {
                  $async$returnValue = _2_1;
                  // goto return
                  $async$goto = 1;
                  break;
                }
                // goto break $label0$1
                $async$goto = 9;
                break;
              }
              t7 = false === (_2_3_isSet ? _2_3 : _2_0._1);
              if (t7) {
                if (cacheable) {
                  for (j = 0; j < i; ++j)
                    t4.$indexSet(0, new A._Record_3_forImport(t2[j], url, forImport), null);
                  cacheable = false;
                }
                if (_2_1 != null) {
                  $async$returnValue = _2_1;
                  // goto return
                  $async$goto = 1;
                  break;
                }
              }
            case 9:
              // break $label0$1
            case 7:
              // for update
              ++i;
              // goto for condition
              $async$goto = 6;
              break;
            case 8:
              // after for
              if (cacheable)
                t1.$indexSet(0, key, null);
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$canonicalize$4$baseImporter$baseUrl$forImport, $async$completer);
    },
    _async_import_cache$_canonicalize$4(importer, url, baseUrl, forImport) {
      return this._canonicalize$body$AsyncImportCache(importer, url, baseUrl, forImport);
    },
    _canonicalize$body$AsyncImportCache(importer, url, baseUrl, forImport) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_and_bool),
        $async$returnValue, $async$self = this, t1, passContainingUrl, canonicalizeContext, result, cacheable;
      var $async$_async_import_cache$_canonicalize$4 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = baseUrl != null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = url.get$scheme() !== "" ? 6 : 8;
              break;
            case 6:
              // then
              t1 = A._Future$value(importer.isNonCanonicalScheme$1(url.get$scheme()), type$.bool);
              $async$goto = 9;
              return A._asyncAwait(t1, $async$_async_import_cache$_canonicalize$4);
            case 9:
              // returning from await.
              t1 = $async$result;
              passContainingUrl = t1;
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              passContainingUrl = true;
            case 7:
              // join
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              passContainingUrl = false;
            case 4:
              // join
              canonicalizeContext = new A.CanonicalizeContext(forImport, passContainingUrl ? baseUrl : null);
              t1 = type$.nullable_Object;
              t1 = A.runZoned(new A.AsyncImportCache__canonicalize_closure(importer, url), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__canonicalizeContext, canonicalizeContext], t1, t1), type$.FutureOr_nullable_Uri);
              $async$goto = 10;
              return A._asyncAwait(type$.Future_nullable_Uri._is(t1) ? t1 : A._Future$value(t1, type$.nullable_Uri), $async$_async_import_cache$_canonicalize$4);
            case 10:
              // returning from await.
              result = $async$result;
              cacheable = !passContainingUrl || !canonicalizeContext._wasContainingUrlAccessed;
              if (result == null) {
                $async$returnValue = new A._Record_2(null, cacheable);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = result.get$scheme() === "" ? 11 : 13;
              break;
            case 11:
              // then
              A.WarnForDeprecation_warnForDeprecation($async$self._async_import_cache$_logger, B.Deprecation_IMm, "Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2e_Rela, null, null);
              // goto join
              $async$goto = 12;
              break;
            case 13:
              // else
              t1 = A._Future$value(importer.isNonCanonicalScheme$1(result.get$scheme()), type$.bool);
              $async$goto = 14;
              return A._asyncAwait(t1, $async$_async_import_cache$_canonicalize$4);
            case 14:
              // returning from await.
              if ($async$result)
                throw A.wrapException("Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2c_whicu);
            case 12:
              // join
              $async$returnValue = new A._Record_2(new A._Record_3_originalUrl(importer, result, url), cacheable);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_import_cache$_canonicalize$4, $async$completer);
    },
    importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, quiet) {
      return this.importCanonical$body$AsyncImportCache(importer, canonicalUrl, originalUrl, quiet);
    },
    importCanonical$3$originalUrl(importer, canonicalUrl, originalUrl) {
      return this.importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, false);
    },
    importCanonical$body$AsyncImportCache(importer, canonicalUrl, originalUrl, quiet) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Stylesheet),
        $async$returnValue, $async$self = this;
      var $async$importCanonical$4$originalUrl$quiet = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait(A.putIfAbsentAsync($async$self._async_import_cache$_importCache, canonicalUrl, new A.AsyncImportCache_importCanonical_closure($async$self, importer, canonicalUrl, originalUrl, quiet), type$.Uri, type$.nullable_Stylesheet), $async$importCanonical$4$originalUrl$quiet);
            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$importCanonical$4$originalUrl$quiet, $async$completer);
    },
    humanize$1(canonicalUrl) {
      var t1 = A.IterableNullableExtension_whereNotNull(this._async_import_cache$_canonicalizeCache.get$values(0), type$.Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl),
        t2 = t1.$ti;
      t2 = A.NullableExtension_andThen(A.minBy(new A.MappedIterable(new A.WhereIterable(t1, new A.AsyncImportCache_humanize_closure(canonicalUrl), t2._eval$1("WhereIterable")), new A.AsyncImportCache_humanize_closure0(), t2._eval$1("MappedIterable")), new A.AsyncImportCache_humanize_closure1()), new A.AsyncImportCache_humanize_closure2(canonicalUrl));
      return t2 == null ? canonicalUrl : t2;
    },
    sourceMapUrl$1(_, canonicalUrl) {
      var t1 = this._async_import_cache$_resultsCache.$index(0, canonicalUrl);
      t1 = t1 == null ? null : t1.get$sourceMapUrl(0);
      return t1 == null ? canonicalUrl : t1;
    }
  };
  A.AsyncImportCache_canonicalize_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl),
        $async$returnValue, $async$self = this, t1, t2, _0_0, result;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self.baseUrl;
              $async$goto = 3;
              return A._asyncAwait(t1._async_import_cache$_canonicalize$4($async$self.baseImporter, $async$self.resolvedUrl, t2, $async$self.forImport), $async$call$0);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              result = _0_0._0;
              _0_0._1;
              if (t2 != null)
                t1._async_import_cache$_nonCanonicalRelativeUrls.$indexSet(0, $async$self.key, $async$self.url);
              $async$returnValue = 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: 266
  };
  A.AsyncImportCache__canonicalize_closure.prototype = {
    call$0() {
      return this.importer.canonicalize$1(0, this.url);
    },
    $signature: 263
  };
  A.AsyncImportCache_importCanonical_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Stylesheet),
        $async$returnValue, $async$self = this, t3, t4, t1, t2, result;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.canonicalUrl;
              t2 = A._Future$value($async$self.importer.load$1(0, t1), type$.nullable_ImporterResult);
              $async$goto = 3;
              return A._asyncAwait(t2, $async$call$0);
            case 3:
              // returning from await.
              result = $async$result;
              if (result == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = $async$self.$this;
              t2._async_import_cache$_resultsCache.$indexSet(0, t1, result);
              t3 = result.contents;
              t4 = result.syntax;
              t1 = $async$self.originalUrl.resolveUri$1(t1);
              $async$returnValue = A.Stylesheet_Stylesheet$parse(t3, t4, $async$self.quiet ? $.$get$Logger_quiet() : t2._async_import_cache$_logger, t1);
              // 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: 278
  };
  A.AsyncImportCache_humanize_closure.prototype = {
    call$1(result) {
      return J.$eq$(result._1, this.canonicalUrl);
    },
    $signature: 289
  };
  A.AsyncImportCache_humanize_closure0.prototype = {
    call$1(result) {
      return result._2;
    },
    $signature: 294
  };
  A.AsyncImportCache_humanize_closure1.prototype = {
    call$1(url) {
      return url.get$path(url).length;
    },
    $signature: 87
  };
  A.AsyncImportCache_humanize_closure2.prototype = {
    call$1(url) {
      var t1 = $.$get$url(),
        t2 = this.canonicalUrl;
      return url.resolve$1(0, A.ParsedPath_ParsedPath$parse(t2.get$path(t2), t1.style).get$basename());
    },
    $signature: 43
  };
  A.AsyncBuiltInCallable.prototype = {
    callbackFor$2(positional, names) {
      return new A._Record_2(this._async_built_in$_arguments, this._async_built_in$_callback);
    },
    $isAsyncCallable: 1,
    get$name(receiver) {
      return this.name;
    },
    get$acceptsContent() {
      return this.acceptsContent;
    }
  };
  A.AsyncBuiltInCallable$mixin_closure.prototype = {
    call$1($arguments) {
      return this.$call$body$AsyncBuiltInCallable$mixin_closure($arguments);
    },
    $call$body$AsyncBuiltInCallable$mixin_closure($arguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$self = this, t1;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.callback.call$1($arguments);
              $async$goto = 3;
              return A._asyncAwait(t1 instanceof A._Future ? t1 : A._Future$value(t1, type$.void), $async$call$1);
            case 3:
              // returning from await.
              $async$returnValue = B.C__SassNull;
              // 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: 257
  };
  A.BuiltInCallable.prototype = {
    callbackFor$2(positional, names) {
      var t1, t2, fuzzyMatch, minMismatchDistance, _i, overload, t3, mismatchDistance, t4;
      for (t1 = this._overloads, t2 = t1.length, fuzzyMatch = null, minMismatchDistance = null, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        overload = t1[_i];
        t3 = overload._0;
        if (t3.matches$2(positional, names))
          return overload;
        mismatchDistance = t3.$arguments.length - positional;
        if (minMismatchDistance != null) {
          t3 = Math.abs(mismatchDistance);
          t4 = Math.abs(minMismatchDistance);
          if (t3 > t4)
            continue;
          if (t3 === t4 && mismatchDistance < 0)
            continue;
        }
        minMismatchDistance = mismatchDistance;
        fuzzyMatch = overload;
      }
      if (fuzzyMatch != null)
        return fuzzyMatch;
      throw A.wrapException(A.StateError$("BuiltInCallable " + this.name + " may not have empty overloads."));
    },
    withName$1($name) {
      return new A.BuiltInCallable($name, this._overloads, this.acceptsContent);
    },
    $isCallable0: 1,
    $isAsyncCallable: 1,
    $isAsyncBuiltInCallable: 1,
    get$name(receiver) {
      return this.name;
    },
    get$acceptsContent() {
      return this.acceptsContent;
    }
  };
  A.BuiltInCallable$mixin_closure.prototype = {
    call$1($arguments) {
      this.callback.call$1($arguments);
      return B.C__SassNull;
    },
    $signature: 6
  };
  A.PlainCssCallable.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.PlainCssCallable && this.name === other.name;
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.name);
    },
    $isCallable0: 1,
    $isAsyncCallable: 1,
    get$name(receiver) {
      return this.name;
    }
  };
  A.UserDefinedCallable.prototype = {
    get$name(_) {
      return this.declaration.name;
    },
    $isCallable0: 1,
    $isAsyncCallable: 1
  };
  A._compileStylesheet_closure.prototype = {
    call$1(url) {
      var t1;
      if (url === "") {
        t1 = this.stylesheet.span;
        t1 = A.Uri_Uri$dataFromString(A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.get$file(t1)._decodedChars, 0, null), 0, null), B.C_Utf8Codec, null).get$_text();
      } else
        t1 = this.importCache.sourceMapUrl$1(0, A.Uri_parse(url)).toString$0(0);
      return t1;
    },
    $signature: 5
  };
  A.CompileResult.prototype = {};
  A.Configuration.prototype = {
    throughForward$1($forward) {
      var _0_0, _1_0, _2_0, t1, hiddenVariables,
        newValues = this._configuration$_values;
      if (newValues.get$isEmpty(newValues))
        return B.Configuration_Map_empty_null;
      _0_0 = $forward.prefix;
      if (_0_0 != null)
        newValues = new A.UnprefixedMapView(newValues, _0_0, type$.UnprefixedMapView_ConfiguredValue);
      _1_0 = $forward.shownVariables;
      if (_1_0 != null)
        newValues = new A.LimitedMapView(newValues, _1_0._base.intersection$1(new A.MapKeySet(newValues, type$.MapKeySet_nullable_Object)), type$.LimitedMapView_String_ConfiguredValue);
      else {
        _2_0 = $forward.hiddenVariables;
        if (_2_0 != null) {
          t1 = _2_0._base.get$isNotEmpty(0);
          hiddenVariables = _2_0;
        } else {
          hiddenVariables = null;
          t1 = false;
        }
        if (t1)
          newValues = A.LimitedMapView$blocklist(newValues, hiddenVariables, type$.String, type$.ConfiguredValue);
      }
      return this._withValues$1(newValues);
    },
    _withValues$1(values) {
      var t1 = this.__originalConfiguration;
      return new A.Configuration(values, t1 == null ? this : t1);
    },
    toString$0(_) {
      var t2, t3,
        t1 = A._setArrayType([], type$.JSArray_String);
      for (t2 = A.MapExtensions_get_pairs(new A.UnmodifiableMapView(this._configuration$_values, type$.UnmodifiableMapView_String_ConfiguredValue), type$.String, type$.ConfiguredValue), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.push("$" + t3._0 + ": " + t3._1.toString$0(0));
      }
      return "(" + B.JSArray_methods.join$1(t1, ",") + ")";
    }
  };
  A.ExplicitConfiguration.prototype = {
    _withValues$1(values) {
      var t1 = this.__originalConfiguration;
      if (t1 == null)
        t1 = this;
      return new A.ExplicitConfiguration(this.nodeWithSpan, values, t1);
    }
  };
  A.ConfiguredValue.prototype = {
    toString$0(_) {
      return A.serializeValue(this.value, true, true);
    }
  };
  A.Deprecation.prototype = {
    _enumToString$0() {
      return "Deprecation." + this._name;
    },
    toString$0(_) {
      return this.id;
    }
  };
  A.Deprecation_fromId_closure.prototype = {
    call$1(deprecation) {
      return deprecation.id === this.id;
    },
    $signature: 302
  };
  A.Environment.prototype = {
    closure$0() {
      var t4, t5, t6, _this = this,
        t1 = _this._forwardedModules,
        t2 = _this._nestedForwardedModules,
        t3 = _this._variables;
      t3 = A._setArrayType(t3.slice(0), A._arrayInstanceType(t3));
      t4 = _this._variableNodes;
      t4 = A._setArrayType(t4.slice(0), A._arrayInstanceType(t4));
      t5 = _this._functions;
      t5 = A._setArrayType(t5.slice(0), A._arrayInstanceType(t5));
      t6 = _this._mixins;
      t6 = A._setArrayType(t6.slice(0), A._arrayInstanceType(t6));
      return A.Environment$_(_this._environment$_modules, _this._namespaceNodes, _this._globalModules, _this._importedModules, t1, t2, _this._allModules, t3, t4, t5, t6, _this._content);
    },
    forwardModule$2(module, rule) {
      var view, t1, t2, _this = this,
        forwardedModules = _this._forwardedModules;
      if (forwardedModules == null)
        forwardedModules = _this._forwardedModules = A.LinkedHashMap_LinkedHashMap$_empty(type$.Module_Callable, type$.AstNode);
      view = A.ForwardedModuleView_ifNecessary(module, rule, type$.Callable);
      for (t1 = A.LinkedHashMapKeyIterator$(forwardedModules, forwardedModules.__js_helper$_modifications); t1.moveNext$0();) {
        t2 = t1.__js_helper$_current;
        _this._assertNoConflicts$5(view.get$variables(), t2.get$variables(), view, t2, "variable");
        _this._assertNoConflicts$5(view.get$functions(view), t2.get$functions(t2), view, t2, "function");
        _this._assertNoConflicts$5(view.get$mixins(), t2.get$mixins(), view, t2, "mixin");
      }
      _this._allModules.push(module);
      forwardedModules.$indexSet(0, view, rule);
    },
    _assertNoConflicts$5(newMembers, oldMembers, newModule, oldModule, type) {
      var larger, smaller, t1, t2, t3, t4, $name, small, large, span;
      if (newMembers.get$length(newMembers) < oldMembers.get$length(oldMembers)) {
        larger = oldMembers;
        smaller = newMembers;
      } else {
        larger = newMembers;
        smaller = oldMembers;
      }
      for (t1 = type$.String, t2 = A.MapExtensions_get_pairs(smaller, t1, type$.Object), t2 = t2.get$iterator(t2), t3 = type === "variable"; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        $name = t4._0;
        small = t4._1;
        large = larger.$index(0, $name);
        if (large == null)
          continue;
        if (t3 ? newModule.variableIdentity$1($name) === oldModule.variableIdentity$1($name) : J.$eq$(large, small))
          continue;
        if (t3)
          $name = "$" + $name;
        t2 = this._forwardedModules;
        if (t2 == null)
          span = null;
        else {
          t2 = t2.$index(0, oldModule);
          span = t2 == null ? null : J.get$span$z(t2);
        }
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, t1);
        if (span != null)
          t2.$indexSet(0, span, "original @forward");
        throw A.wrapException(A.MultiSpanSassScriptException$("Two forwarded modules both define a " + type + " named " + $name + ".", "new @forward", t2));
      }
    },
    importForwards$1(module) {
      var forwardedModules, t1, t2, t3, t4, node, t5, t6, t7, t8, t9, t10, _i, t11, shadowed, _length, _list, _this = this,
        forwarded = module._environment$_environment._forwardedModules;
      if (forwarded == null)
        return;
      forwardedModules = _this._forwardedModules;
      if (forwardedModules != null) {
        t1 = type$.Module_Callable;
        t2 = type$.AstNode;
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        for (t1 = A.MapExtensions_get_pairs(forwarded, t1, t2), t1 = t1.get$iterator(t1), t2 = _this._globalModules; t1.moveNext$0();) {
          t4 = t1.get$current(t1);
          module = t4._0;
          node = t4._1;
          if (!forwardedModules.containsKey$1(module) || !t2.containsKey$1(module))
            t3.$indexSet(0, module, node);
        }
        forwarded = t3;
      } else
        forwardedModules = _this._forwardedModules = A.LinkedHashMap_LinkedHashMap$_empty(type$.Module_Callable, type$.AstNode);
      t1 = type$.String;
      t2 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t3 = A.LinkedHashMapKeyIterator$(forwarded, forwarded.__js_helper$_modifications); t3.moveNext$0();)
        for (t4 = t3.__js_helper$_current.get$variables(), t4 = J.get$iterator$ax(t4.get$keys(t4)); t4.moveNext$0();)
          t2.add$1(0, t4.get$current(t4));
      t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t4 = A.LinkedHashMapKeyIterator$(forwarded, forwarded.__js_helper$_modifications); t4.moveNext$0();) {
        t5 = t4.__js_helper$_current;
        for (t5 = t5.get$functions(t5), t5 = J.get$iterator$ax(t5.get$keys(t5)); t5.moveNext$0();)
          t3.add$1(0, t5.get$current(t5));
      }
      t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t4 = A.LinkedHashMapKeyIterator$(forwarded, forwarded.__js_helper$_modifications); t4.moveNext$0();)
        for (t5 = t4.__js_helper$_current.get$mixins(), t5 = J.get$iterator$ax(t5.get$keys(t5)); t5.moveNext$0();)
          t1.add$1(0, t5.get$current(t5));
      t4 = _this._variables;
      t5 = t4.length;
      if (t5 === 1) {
        for (t5 = _this._importedModules, t6 = type$.Module_Callable, t7 = type$.AstNode, t8 = A.MapExtensions_get_pairs(t5, t6, t7).toList$0(0), t9 = t8.length, t10 = type$.Callable, _i = 0; _i < t8.length; t8.length === t9 || (0, A.throwConcurrentModificationError)(t8), ++_i) {
          t11 = t8[_i];
          module = t11._0;
          node = t11._1;
          shadowed = A.ShadowedModuleView_ifNecessary(module, t3, t1, t2, t10);
          if (shadowed != null) {
            t5.remove$1(0, module);
            t11 = shadowed.variables;
            if (t11.get$isEmpty(t11)) {
              t11 = shadowed.functions;
              if (t11.get$isEmpty(t11)) {
                t11 = shadowed.mixins;
                if (t11.get$isEmpty(t11)) {
                  t11 = shadowed._shadowed_view$_inner;
                  t11 = t11.get$css(t11);
                  t11 = J.get$isEmpty$asx(t11.get$children(t11));
                } else
                  t11 = false;
              } else
                t11 = false;
            } else
              t11 = false;
            if (!t11)
              t5.$indexSet(0, shadowed, node);
          }
        }
        for (t6 = A.MapExtensions_get_pairs(forwardedModules, t6, t7).toList$0(0), t7 = t6.length, _i = 0; _i < t6.length; t6.length === t7 || (0, A.throwConcurrentModificationError)(t6), ++_i) {
          t8 = t6[_i];
          module = t8._0;
          node = t8._1;
          shadowed = A.ShadowedModuleView_ifNecessary(module, t3, t1, t2, t10);
          if (shadowed != null) {
            forwardedModules.remove$1(0, module);
            t8 = shadowed.variables;
            if (t8.get$isEmpty(t8)) {
              t8 = shadowed.functions;
              if (t8.get$isEmpty(t8)) {
                t8 = shadowed.mixins;
                if (t8.get$isEmpty(t8)) {
                  t8 = shadowed._shadowed_view$_inner;
                  t8 = t8.get$css(t8);
                  t8 = J.get$isEmpty$asx(t8.get$children(t8));
                } else
                  t8 = false;
              } else
                t8 = false;
            } else
              t8 = false;
            if (!t8)
              forwardedModules.$indexSet(0, shadowed, node);
          }
        }
        t5.addAll$1(0, forwarded);
        forwardedModules.addAll$1(0, forwarded);
      } else {
        t6 = _this._nestedForwardedModules;
        if (t6 == null) {
          _length = t5 - 1;
          _list = J.JSArray_JSArray$allocateGrowable(_length, type$.List_Module_Callable);
          for (t5 = type$.JSArray_Module_Callable, _i = 0; _i < _length; ++_i)
            _list[_i] = A._setArrayType([], t5);
          _this._nestedForwardedModules = _list;
          t5 = _list;
        } else
          t5 = t6;
        B.JSArray_methods.addAll$1(B.JSArray_methods.get$last(t5), new A.LinkedHashMapKeyIterable(forwarded, A._instanceType(forwarded)._eval$1("LinkedHashMapKeyIterable<1>")));
      }
      for (t2 = A._LinkedHashSetIterator$(t2, t2._modifications, t2.$ti._precomputed1), t5 = _this._variableIndices, t6 = _this._variableNodes, t7 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t8 = t2._collection$_current;
        if (t8 == null)
          t8 = t7._as(t8);
        t5.remove$1(0, t8);
        J.remove$1$z(B.JSArray_methods.get$last(t4), t8);
        J.remove$1$z(B.JSArray_methods.get$last(t6), t8);
      }
      for (t2 = A._LinkedHashSetIterator$(t3, t3._modifications, t3.$ti._precomputed1), t3 = _this._functionIndices, t4 = _this._functions, t5 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t6 = t2._collection$_current;
        if (t6 == null)
          t6 = t5._as(t6);
        t3.remove$1(0, t6);
        J.remove$1$z(B.JSArray_methods.get$last(t4), t6);
      }
      for (t1 = A._LinkedHashSetIterator$(t1, t1._modifications, t1.$ti._precomputed1), t2 = _this._mixinIndices, t3 = _this._mixins, t4 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t5 = t1._collection$_current;
        if (t5 == null)
          t5 = t4._as(t5);
        t2.remove$1(0, t5);
        J.remove$1$z(B.JSArray_methods.get$last(t3), t5);
      }
    },
    getVariable$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null)
        return _this._getModule$1(namespace).get$variables().$index(0, $name);
      if (_this._lastVariableName === $name) {
        t1 = _this._lastVariableIndex;
        t1.toString;
        t1 = J.$index$asx(_this._variables[t1], $name);
        return t1 == null ? _this._getVariableFromGlobalModule$1($name) : t1;
      }
      t1 = _this._variableIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        _this._lastVariableName = $name;
        _this._lastVariableIndex = _0_0;
        t1 = J.$index$asx(_this._variables[_0_0], $name);
        return t1 == null ? _this._getVariableFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._variableIndex$1($name);
        if (_1_0 != null) {
          _this._lastVariableName = $name;
          _this._lastVariableIndex = _1_0;
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._variables[_1_0], $name);
          return t1 == null ? _this._getVariableFromGlobalModule$1($name) : t1;
        } else
          return _this._getVariableFromGlobalModule$1($name);
      }
    },
    getVariable$1($name) {
      return this.getVariable$2$namespace($name, null);
    },
    _getVariableFromGlobalModule$1($name) {
      return this._fromOneModule$3($name, "variable", new A.Environment__getVariableFromGlobalModule_closure($name));
    },
    getVariableNode$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null)
        return _this._getModule$1(namespace).get$variableNodes().$index(0, $name);
      if (_this._lastVariableName === $name) {
        t1 = _this._lastVariableIndex;
        t1.toString;
        t1 = J.$index$asx(_this._variableNodes[t1], $name);
        return t1 == null ? _this._getVariableNodeFromGlobalModule$1($name) : t1;
      }
      t1 = _this._variableIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        _this._lastVariableName = $name;
        _this._lastVariableIndex = _0_0;
        t1 = J.$index$asx(_this._variableNodes[_0_0], $name);
        return t1 == null ? _this._getVariableNodeFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._variableIndex$1($name);
        if (_1_0 != null) {
          _this._lastVariableName = $name;
          _this._lastVariableIndex = _1_0;
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._variableNodes[_1_0], $name);
          return t1 == null ? _this._getVariableNodeFromGlobalModule$1($name) : t1;
        } else
          return _this._getVariableNodeFromGlobalModule$1($name);
      }
    },
    _getVariableNodeFromGlobalModule$1($name) {
      var t1, t2, _0_0;
      for (t1 = this._importedModules, t2 = this._globalModules, t2 = new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>")).followedBy$1(0, new A.LinkedHashMapKeyIterable(t2, A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>"))), t2 = new A.FollowedByIterator(J.get$iterator$ax(t2.__internal$_first), t2._second); t2.moveNext$0();) {
        t1 = t2._currentIterator;
        _0_0 = t1.get$current(t1).get$variableNodes().$index(0, $name);
        if (_0_0 != null)
          return _0_0;
      }
      return null;
    },
    globalVariableExists$2$namespace($name, namespace) {
      if (namespace != null)
        return this._getModule$1(namespace).get$variables().containsKey$1($name);
      if (B.JSArray_methods.get$first(this._variables).containsKey$1($name))
        return true;
      return this._getVariableFromGlobalModule$1($name) != null;
    },
    globalVariableExists$1($name) {
      return this.globalVariableExists$2$namespace($name, null);
    },
    _variableIndex$1($name) {
      var t1, i;
      for (t1 = this._variables, i = t1.length - 1; i >= 0; --i)
        if (t1[i].containsKey$1($name))
          return i;
      return null;
    },
    setVariable$5$global$namespace($name, value, nodeWithSpan, global, namespace) {
      var t1, moduleWithName, nestedForwardedModules, t2, t3, t4, t5, index, _this = this;
      if (namespace != null) {
        _this._getModule$1(namespace).setVariable$3($name, value, nodeWithSpan);
        return;
      }
      if (global || _this._variables.length === 1) {
        _this._variableIndices.putIfAbsent$2($name, new A.Environment_setVariable_closure(_this, $name));
        t1 = _this._variables;
        if (!B.JSArray_methods.get$first(t1).containsKey$1($name)) {
          moduleWithName = _this._fromOneModule$3($name, "variable", new A.Environment_setVariable_closure0($name));
          if (moduleWithName != null) {
            moduleWithName.setVariable$3($name, value, nodeWithSpan);
            return;
          }
        }
        J.$indexSet$ax(B.JSArray_methods.get$first(t1), $name, value);
        J.$indexSet$ax(B.JSArray_methods.get$first(_this._variableNodes), $name, nodeWithSpan);
        return;
      }
      nestedForwardedModules = _this._nestedForwardedModules;
      if (nestedForwardedModules != null && !_this._variableIndices.containsKey$1($name) && _this._variableIndex$1($name) == null)
        for (t1 = A._arrayInstanceType(nestedForwardedModules)._eval$1("ReversedListIterable<1>"), t2 = new A.ReversedListIterable(nestedForwardedModules, t1), t2 = new A.ListIterator(t2, t2.get$length(0), t1._eval$1("ListIterator")), t1 = t1._eval$1("ListIterable.E"); t2.moveNext$0();) {
          t3 = t2.__internal$_current;
          for (t3 = J.get$reversed$ax(t3 == null ? t1._as(t3) : t3), t4 = t3.$ti, t3 = new A.ListIterator(t3, t3.get$length(0), t4._eval$1("ListIterator")), t4 = t4._eval$1("ListIterable.E"); t3.moveNext$0();) {
            t5 = t3.__internal$_current;
            if (t5 == null)
              t5 = t4._as(t5);
            if (t5.get$variables().containsKey$1($name)) {
              t5.setVariable$3($name, value, nodeWithSpan);
              return;
            }
          }
        }
      if (_this._lastVariableName === $name) {
        t1 = _this._lastVariableIndex;
        t1.toString;
        index = t1;
      } else
        index = _this._variableIndices.putIfAbsent$2($name, new A.Environment_setVariable_closure1(_this, $name));
      if (!_this._inSemiGlobalScope && index === 0) {
        index = _this._variables.length - 1;
        _this._variableIndices.$indexSet(0, $name, index);
      }
      _this._lastVariableName = $name;
      _this._lastVariableIndex = index;
      J.$indexSet$ax(_this._variables[index], $name, value);
      J.$indexSet$ax(_this._variableNodes[index], $name, nodeWithSpan);
    },
    setVariable$4$global($name, value, nodeWithSpan, global) {
      return this.setVariable$5$global$namespace($name, value, nodeWithSpan, global, null);
    },
    setLocalVariable$3($name, value, nodeWithSpan) {
      var index, _this = this,
        t1 = _this._variables,
        t2 = t1.length;
      _this._lastVariableName = $name;
      index = _this._lastVariableIndex = t2 - 1;
      _this._variableIndices.$indexSet(0, $name, index);
      J.$indexSet$ax(t1[index], $name, value);
      J.$indexSet$ax(_this._variableNodes[index], $name, nodeWithSpan);
    },
    getFunction$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null) {
        t1 = _this._getModule$1(namespace);
        return t1.get$functions(t1).$index(0, $name);
      }
      t1 = _this._functionIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        t1 = J.$index$asx(_this._functions[_0_0], $name);
        return t1 == null ? _this._getFunctionFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._functionIndex$1($name);
        if (_1_0 != null) {
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._functions[_1_0], $name);
          return t1 == null ? _this._getFunctionFromGlobalModule$1($name) : t1;
        } else
          return _this._getFunctionFromGlobalModule$1($name);
      }
    },
    getFunction$1($name) {
      return this.getFunction$2$namespace($name, null);
    },
    _getFunctionFromGlobalModule$1($name) {
      return this._fromOneModule$3($name, "function", new A.Environment__getFunctionFromGlobalModule_closure($name));
    },
    _functionIndex$1($name) {
      var t1, i;
      for (t1 = this._functions, i = t1.length - 1; i >= 0; --i)
        if (t1[i].containsKey$1($name))
          return i;
      return null;
    },
    getMixin$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null)
        return _this._getModule$1(namespace).get$mixins().$index(0, $name);
      t1 = _this._mixinIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        t1 = J.$index$asx(_this._mixins[_0_0], $name);
        return t1 == null ? _this._getMixinFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._mixinIndex$1($name);
        if (_1_0 != null) {
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._mixins[_1_0], $name);
          return t1 == null ? _this._getMixinFromGlobalModule$1($name) : t1;
        } else
          return _this._getMixinFromGlobalModule$1($name);
      }
    },
    _getMixinFromGlobalModule$1($name) {
      return this._fromOneModule$3($name, "mixin", new A.Environment__getMixinFromGlobalModule_closure($name));
    },
    _mixinIndex$1($name) {
      var t1, i;
      for (t1 = this._mixins, i = t1.length - 1; i >= 0; --i)
        if (t1[i].containsKey$1($name))
          return i;
      return null;
    },
    withContent$2($content, callback) {
      var oldContent = this._content;
      this._content = $content;
      callback.call$0();
      this._content = oldContent;
    },
    asMixin$1(callback) {
      var oldInMixin = this._inMixin;
      this._inMixin = true;
      callback.call$0();
      this._inMixin = oldInMixin;
    },
    scope$1$3$semiGlobal$when(callback, semiGlobal, when) {
      var wasInSemiGlobalScope, $name, name0, name1, t1, t2, t3, t4, t5, t6, _this = this;
      semiGlobal = semiGlobal && _this._inSemiGlobalScope;
      wasInSemiGlobalScope = _this._inSemiGlobalScope;
      _this._inSemiGlobalScope = semiGlobal;
      if (!when)
        try {
          t1 = callback.call$0();
          return t1;
        } finally {
          _this._inSemiGlobalScope = wasInSemiGlobalScope;
        }
      t1 = _this._variables;
      t2 = type$.String;
      B.JSArray_methods.add$1(t1, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.Value));
      t3 = _this._variableNodes;
      B.JSArray_methods.add$1(t3, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.AstNode));
      t4 = _this._functions;
      t5 = type$.Callable;
      B.JSArray_methods.add$1(t4, A.LinkedHashMap_LinkedHashMap$_empty(t2, t5));
      t6 = _this._mixins;
      B.JSArray_methods.add$1(t6, A.LinkedHashMap_LinkedHashMap$_empty(t2, t5));
      t5 = _this._nestedForwardedModules;
      if (t5 != null)
        t5.push(A._setArrayType([], type$.JSArray_Module_Callable));
      try {
        t2 = callback.call$0();
        return t2;
      } finally {
        _this._inSemiGlobalScope = wasInSemiGlobalScope;
        _this._lastVariableIndex = _this._lastVariableName = null;
        for (t1 = J.get$iterator$ax(J.get$keys$z(B.JSArray_methods.removeLast$0(t1))), t2 = _this._variableIndices; t1.moveNext$0();) {
          $name = t1.get$current(t1);
          t2.remove$1(0, $name);
        }
        B.JSArray_methods.removeLast$0(t3);
        for (t1 = J.get$iterator$ax(J.get$keys$z(B.JSArray_methods.removeLast$0(t4))), t2 = _this._functionIndices; t1.moveNext$0();) {
          name0 = t1.get$current(t1);
          t2.remove$1(0, name0);
        }
        for (t1 = J.get$iterator$ax(J.get$keys$z(B.JSArray_methods.removeLast$0(t6))), t2 = _this._mixinIndices; t1.moveNext$0();) {
          name1 = t1.get$current(t1);
          t2.remove$1(0, name1);
        }
        t1 = _this._nestedForwardedModules;
        if (t1 != null)
          t1.pop();
      }
    },
    scope$1$1(callback) {
      return this.scope$1$3$semiGlobal$when(callback, false, true);
    },
    scope$1$2$when(callback, when) {
      return this.scope$1$3$semiGlobal$when(callback, false, when);
    },
    scope$1$2$semiGlobal(callback, semiGlobal) {
      return this.scope$1$3$semiGlobal$when(callback, semiGlobal, true);
    },
    toImplicitConfiguration$0() {
      var t2, t3, t4, i, values, nodes, t5, t6, $name, value,
        t1 = type$.String,
        configuration = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.ConfiguredValue);
      for (t2 = this._variables, t3 = type$.Value, t4 = this._variableNodes, i = 0; i < t2.length; ++i) {
        values = t2[i];
        nodes = t4[i];
        for (t5 = A.MapExtensions_get_pairs(values, t1, t3), t5 = t5.get$iterator(t5); t5.moveNext$0();) {
          t6 = t5.get$current(t5);
          $name = t6._0;
          value = t6._1;
          t6 = nodes.$index(0, $name);
          t6.toString;
          configuration.$indexSet(0, $name, new A.ConfiguredValue(value, null, t6));
        }
      }
      return new A.Configuration(configuration, null);
    },
    toModule$3(css, preModuleComments, extensionStore) {
      return A._EnvironmentModule__EnvironmentModule(this, css, preModuleComments, extensionStore, A.NullableExtension_andThen(this._forwardedModules, new A.Environment_toModule_closure()));
    },
    toDummyModule$0() {
      return A._EnvironmentModule__EnvironmentModule(this, new A.CssStylesheet(new A.UnmodifiableListView(B.List_empty3, type$.UnmodifiableListView_CssNode), A.SourceFile$decoded(B.List_empty4, "").span$1(0, 0)), B.Map_empty0, B.C_EmptyExtensionStore, A.NullableExtension_andThen(this._forwardedModules, new A.Environment_toDummyModule_closure()));
    },
    _getModule$1(namespace) {
      var _0_0 = this._environment$_modules.$index(0, namespace);
      if (_0_0 != null)
        return _0_0;
      throw A.wrapException(A.SassScriptException$('There is no module with the namespace "' + namespace + '".', null));
    },
    _fromOneModule$1$3($name, type, callback) {
      var t1, t2, t3, t4, t5, _1_0, _2_0, value, identity, valueInModule, identityFromModule, module, node,
        _0_0 = this._nestedForwardedModules;
      if (_0_0 != null)
        for (t1 = A._arrayInstanceType(_0_0)._eval$1("ReversedListIterable<1>"), t2 = new A.ReversedListIterable(_0_0, t1), t2 = new A.ListIterator(t2, t2.get$length(0), t1._eval$1("ListIterator")), t1 = t1._eval$1("ListIterable.E"); t2.moveNext$0();) {
          t3 = t2.__internal$_current;
          for (t3 = J.get$reversed$ax(t3 == null ? t1._as(t3) : t3), t4 = t3.$ti, t3 = new A.ListIterator(t3, t3.get$length(0), t4._eval$1("ListIterator")), t4 = t4._eval$1("ListIterable.E"); t3.moveNext$0();) {
            t5 = t3.__internal$_current;
            _1_0 = callback.call$1(t5 == null ? t4._as(t5) : t5);
            if (_1_0 != null)
              return _1_0;
          }
        }
      for (t1 = this._importedModules, t1 = A.LinkedHashMapKeyIterator$(t1, t1.__js_helper$_modifications); t1.moveNext$0();) {
        _2_0 = callback.call$1(t1.__js_helper$_current);
        if (_2_0 != null)
          return _2_0;
      }
      for (t1 = this._globalModules, t2 = A.LinkedHashMapKeyIterator$(t1, t1.__js_helper$_modifications), t3 = type$.Callable, value = null, identity = null; t2.moveNext$0();) {
        t4 = t2.__js_helper$_current;
        valueInModule = callback.call$1(t4);
        if (valueInModule == null)
          continue;
        identityFromModule = t3._is(valueInModule) ? valueInModule : t4.variableIdentity$1($name);
        if (identityFromModule.$eq(0, identity))
          continue;
        if (value != null) {
          t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
          for (t3 = A.MapExtensions_get_pairs(t1, type$.Module_Callable, type$.AstNode), t3 = t3.get$iterator(t3), t4 = "includes " + type; t3.moveNext$0();) {
            t1 = t3.get$current(t3);
            module = t1._0;
            node = t1._1;
            if (callback.call$1(module) != null)
              t2.$indexSet(0, node.get$span(node), t4);
          }
          throw A.wrapException(A.MultiSpanSassScriptException$("This " + type + string$.x20is_av, type + " use", t2));
        }
        identity = identityFromModule;
        value = valueInModule;
      }
      return value;
    },
    _fromOneModule$3($name, type, callback) {
      return this._fromOneModule$1$3($name, type, callback, type$.dynamic);
    }
  };
  A.Environment__getVariableFromGlobalModule_closure.prototype = {
    call$1(module) {
      return module.get$variables().$index(0, this.name);
    },
    $signature: 310
  };
  A.Environment_setVariable_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._lastVariableName = this.name;
      return t1._lastVariableIndex = 0;
    },
    $signature: 10
  };
  A.Environment_setVariable_closure0.prototype = {
    call$1(module) {
      return module.get$variables().containsKey$1(this.name) ? module : null;
    },
    $signature: 313
  };
  A.Environment_setVariable_closure1.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._variableIndex$1(this.name);
      return t2 == null ? t1._variables.length - 1 : t2;
    },
    $signature: 10
  };
  A.Environment__getFunctionFromGlobalModule_closure.prototype = {
    call$1(module) {
      return module.get$functions(module).$index(0, this.name);
    },
    $signature: 246
  };
  A.Environment__getMixinFromGlobalModule_closure.prototype = {
    call$1(module) {
      return module.get$mixins().$index(0, this.name);
    },
    $signature: 246
  };
  A.Environment_toModule_closure.prototype = {
    call$1(modules) {
      return new A.MapKeySet(modules, type$.MapKeySet_Module_Callable);
    },
    $signature: 243
  };
  A.Environment_toDummyModule_closure.prototype = {
    call$1(modules) {
      return new A.MapKeySet(modules, type$.MapKeySet_Module_Callable);
    },
    $signature: 243
  };
  A._EnvironmentModule.prototype = {
    get$url(_) {
      var t1 = this.css;
      t1 = t1.get$span(t1);
      return t1.get$sourceUrl(t1);
    },
    setVariable$3($name, value, nodeWithSpan) {
      var t1, t2,
        _0_0 = this._modulesByVariable.$index(0, $name);
      if (_0_0 != null) {
        _0_0.setVariable$3($name, value, nodeWithSpan);
        return;
      }
      t1 = this._environment$_environment;
      t2 = t1._variables;
      if (!B.JSArray_methods.get$first(t2).containsKey$1($name))
        throw A.wrapException(A.SassScriptException$("Undefined variable.", null));
      J.$indexSet$ax(B.JSArray_methods.get$first(t2), $name, value);
      J.$indexSet$ax(B.JSArray_methods.get$first(t1._variableNodes), $name, nodeWithSpan);
      return;
    },
    variableIdentity$1($name) {
      var module = this._modulesByVariable.$index(0, $name);
      return module == null ? this : module.variableIdentity$1($name);
    },
    cloneCss$0() {
      var _0_0, _this = this;
      if (!_this.transitivelyContainsCss)
        return _this;
      _0_0 = A.cloneCssStylesheet(_this.css, _this.extensionStore);
      return A._EnvironmentModule$_(_this._environment$_environment, _0_0._0, _this.preModuleComments, _0_0._1, _this._modulesByVariable, _this.variables, _this.variableNodes, _this.functions, _this.mixins, true, _this.transitivelyContainsExtensions);
    },
    toString$0(_) {
      var t1 = this.css,
        t2 = t1.get$span(t1);
      if (t2.get$sourceUrl(t2) == null)
        t1 = "";
      else {
        t1 = t1.get$span(t1);
        t1 = t1.get$sourceUrl(t1);
        t2 = $.$get$context();
        t1.toString;
        t1 = t2.prettyUri$1(t1);
      }
      return t1;
    },
    $isModule0: 1,
    get$upstream() {
      return this.upstream;
    },
    get$variables() {
      return this.variables;
    },
    get$variableNodes() {
      return this.variableNodes;
    },
    get$functions(receiver) {
      return this.functions;
    },
    get$mixins() {
      return this.mixins;
    },
    get$extensionStore() {
      return this.extensionStore;
    },
    get$css(receiver) {
      return this.css;
    },
    get$preModuleComments() {
      return this.preModuleComments;
    },
    get$transitivelyContainsCss() {
      return this.transitivelyContainsCss;
    },
    get$transitivelyContainsExtensions() {
      return this.transitivelyContainsExtensions;
    }
  };
  A._EnvironmentModule__EnvironmentModule_closure.prototype = {
    call$1(module) {
      return module.get$variables();
    },
    $signature: 319
  };
  A._EnvironmentModule__EnvironmentModule_closure0.prototype = {
    call$1(module) {
      return module.get$variableNodes();
    },
    $signature: 323
  };
  A._EnvironmentModule__EnvironmentModule_closure1.prototype = {
    call$1(module) {
      return module.get$functions(module);
    },
    $signature: 234
  };
  A._EnvironmentModule__EnvironmentModule_closure2.prototype = {
    call$1(module) {
      return module.get$mixins();
    },
    $signature: 234
  };
  A._EnvironmentModule__EnvironmentModule_closure3.prototype = {
    call$1(module) {
      return module.get$transitivelyContainsCss();
    },
    $signature: 117
  };
  A._EnvironmentModule__EnvironmentModule_closure4.prototype = {
    call$1(module) {
      return module.get$transitivelyContainsExtensions();
    },
    $signature: 117
  };
  A.SassException.prototype = {
    get$trace(_) {
      return A.Trace$(A._setArrayType([A.frameForSpan(A.SourceSpanException.prototype.get$span.call(this, 0), "root stylesheet", null)], type$.JSArray_Frame), null);
    },
    get$span(_) {
      return A.SourceSpanException.prototype.get$span.call(this, 0);
    },
    withAdditionalSpan$2(span, label) {
      return A.MultiSpanSassException$(this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(this, 0), "", A.LinkedHashMap_LinkedHashMap$_literal([span, label], type$.FileSpan, type$.String), this.loadedUrls);
    },
    withTrace$1(trace) {
      var t1 = A.SourceSpanException.prototype.get$span.call(this, 0),
        t2 = A.Set_Set$unmodifiable(this.loadedUrls, type$.Uri);
      return new A.SassRuntimeException(trace, t2, this._span_exception$_message, t1);
    },
    withLoadedUrls$1(loadedUrls) {
      var t1 = A.SourceSpanException.prototype.get$span.call(this, 0),
        t2 = A.Set_Set$unmodifiable(loadedUrls, type$.Uri);
      return new A.SassException(t2, this._span_exception$_message, t1);
    },
    toString$1$color(_, color) {
      var t2, _i, frame, t3, _this = this,
        buffer = new A.StringBuffer(""),
        t1 = "" + ("Error: " + _this._span_exception$_message + "\n");
      buffer._contents = t1;
      buffer._contents = t1 + A.SourceSpanException.prototype.get$span.call(_this, 0).highlight$1$color(color);
      for (t1 = _this.get$trace(_this).toString$0(0).split("\n"), t2 = t1.length, _i = 0; _i < t2; ++_i) {
        frame = t1[_i];
        if (J.get$length$asx(frame) === 0)
          continue;
        t3 = buffer._contents += "\n";
        buffer._contents = t3 + ("  " + A.S(frame));
      }
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    toString$0(_) {
      return this.toString$1$color(0, null);
    },
    toCssString$0() {
      var commentMessage, stringMessage, rune,
        t1 = $._glyphs,
        t2 = $._glyphs = B.C_AsciiGlyphSet,
        t3 = this.toString$1$color(0, false);
      t3 = A.stringReplaceAllUnchecked(t3, "*/", "*\u2215");
      commentMessage = A.stringReplaceAllUnchecked(t3, "\r\n", "\n");
      $._glyphs = t1 === B.C_AsciiGlyphSet ? t2 : B.C_UnicodeGlyphSet;
      stringMessage = new A.StringBuffer("");
      for (t1 = new A.RuneIterator(A.serializeValue(new A.SassString(this.toString$1$color(0, false), true), true, true)); t1.moveNext$0();) {
        rune = t1._currentCodePoint;
        if (rune > 127) {
          t2 = A.Primitives_stringFromCharCode(92);
          stringMessage._contents += t2;
          t2 = B.JSInt_methods.toRadixString$1(rune, 16);
          stringMessage._contents += t2;
          t2 = A.Primitives_stringFromCharCode(32);
          stringMessage._contents += t2;
        } else {
          t2 = A.Primitives_stringFromCharCode(rune);
          stringMessage._contents += t2;
        }
      }
      return "/* " + B.JSArray_methods.join$1(A._setArrayType(commentMessage.split("\n"), type$.JSArray_String), "\n * ") + ' */\n\nbody::before {\n  font-family: "Source Code Pro", "SF Mono", Monaco, Inconsolata, "Fira Mono",\n      "Droid Sans Mono", monospace, monospace;\n  white-space: pre;\n  display: block;\n  padding: 1em;\n  margin-bottom: 1em;\n  border-bottom: 2px solid black;\n  content: ' + stringMessage.toString$0(0) + ";\n}";
    }
  };
  A.MultiSpanSassException.prototype = {
    withAdditionalSpan$2(span, label) {
      var _this = this,
        t1 = A.SourceSpanException.prototype.get$span.call(_this, 0),
        t2 = A.LinkedHashMap_LinkedHashMap$of(_this.secondarySpans, type$.FileSpan, type$.String);
      t2.$indexSet(0, span, label);
      return A.MultiSpanSassException$(_this._span_exception$_message, t1, _this.primaryLabel, t2, _this.loadedUrls);
    },
    withTrace$1(trace) {
      var _this = this;
      return A.MultiSpanSassRuntimeException$(_this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(_this, 0), _this.primaryLabel, _this.secondarySpans, trace, _this.loadedUrls);
    },
    withLoadedUrls$1(loadedUrls) {
      var _this = this;
      return A.MultiSpanSassException$(_this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(_this, 0), _this.primaryLabel, _this.secondarySpans, loadedUrls);
    },
    toString$1$color(_, color) {
      var t1, t2, _i, frame, t3, _this = this,
        useColor = color === true,
        buffer = new A.StringBuffer("Error: " + _this._span_exception$_message + "\n");
      A.NullableExtension_andThen(A.Highlighter$multiple(A.SourceSpanException.prototype.get$span.call(_this, 0), _this.primaryLabel, _this.secondarySpans, useColor, null, null).highlight$0(), buffer.get$write(buffer));
      for (t1 = _this.get$trace(_this).toString$0(0).split("\n"), t2 = t1.length, _i = 0; _i < t2; ++_i) {
        frame = t1[_i];
        if (J.get$length$asx(frame) === 0)
          continue;
        buffer._contents += "\n";
        t3 = "  " + A.S(frame);
        buffer._contents += t3;
      }
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    toString$0(_) {
      return this.toString$1$color(0, null);
    },
    get$primaryLabel() {
      return this.primaryLabel;
    },
    get$secondarySpans() {
      return this.secondarySpans;
    }
  };
  A.SassRuntimeException.prototype = {
    withAdditionalSpan$2(span, label) {
      var _this = this;
      return A.MultiSpanSassRuntimeException$(_this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(_this, 0), "", A.LinkedHashMap_LinkedHashMap$_literal([span, label], type$.FileSpan, type$.String), _this.trace, _this.loadedUrls);
    },
    withLoadedUrls$1(loadedUrls) {
      var t1 = A.SourceSpanException.prototype.get$span.call(this, 0),
        t2 = A.Set_Set$unmodifiable(loadedUrls, type$.Uri);
      return new A.SassRuntimeException(this.trace, t2, this._span_exception$_message, t1);
    },
    get$trace(receiver) {
      return this.trace;
    }
  };
  A.MultiSpanSassRuntimeException.prototype = {
    withAdditionalSpan$2(span, label) {
      var _this = this,
        t1 = A.SourceSpanException.prototype.get$span.call(_this, 0),
        t2 = A.LinkedHashMap_LinkedHashMap$of(_this.secondarySpans, type$.FileSpan, type$.String);
      t2.$indexSet(0, span, label);
      return A.MultiSpanSassRuntimeException$(_this._span_exception$_message, t1, _this.primaryLabel, t2, _this.trace, _this.loadedUrls);
    },
    withLoadedUrls$1(loadedUrls) {
      var _this = this;
      return A.MultiSpanSassRuntimeException$(_this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(_this, 0), _this.primaryLabel, _this.secondarySpans, _this.trace, loadedUrls);
    },
    $isSassRuntimeException: 1,
    get$trace(receiver) {
      return this.trace;
    }
  };
  A.SassFormatException.prototype = {
    get$source() {
      var t1 = A.SourceSpanException.prototype.get$span.call(this, 0);
      return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.get$file(t1)._decodedChars, 0, null), 0, null);
    },
    withAdditionalSpan$2(span, label) {
      return A.MultiSpanSassFormatException$(this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(this, 0), "", A.LinkedHashMap_LinkedHashMap$_literal([span, label], type$.FileSpan, type$.String), this.loadedUrls);
    },
    withLoadedUrls$1(loadedUrls) {
      var t1 = A.SourceSpanException.prototype.get$span.call(this, 0),
        t2 = A.Set_Set$unmodifiable(loadedUrls, type$.Uri);
      return new A.SassFormatException(t2, this._span_exception$_message, t1);
    },
    $isFormatException: 1,
    $isSourceSpanFormatException: 1
  };
  A.MultiSpanSassFormatException.prototype = {
    get$source() {
      var t1 = A.SourceSpanException.prototype.get$span.call(this, 0);
      return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.get$file(t1)._decodedChars, 0, null), 0, null);
    },
    withAdditionalSpan$2(span, label) {
      var _this = this,
        t1 = A.SourceSpanException.prototype.get$span.call(_this, 0),
        t2 = A.LinkedHashMap_LinkedHashMap$of(_this.secondarySpans, type$.FileSpan, type$.String);
      t2.$indexSet(0, span, label);
      return A.MultiSpanSassFormatException$(_this._span_exception$_message, t1, _this.primaryLabel, t2, _this.loadedUrls);
    },
    withLoadedUrls$1(loadedUrls) {
      var _this = this;
      return A.MultiSpanSassFormatException$(_this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(_this, 0), _this.primaryLabel, _this.secondarySpans, loadedUrls);
    },
    $isFormatException: 1,
    $isSassFormatException: 1,
    $isSourceSpanFormatException: 1,
    $isMultiSourceSpanFormatException: 1
  };
  A.SassScriptException.prototype = {
    withSpan$1(span) {
      return new A.SassException(B.Set_empty, this.message, span);
    },
    toString$0(_) {
      return this.message + string$.x0a_BUG_;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.MultiSpanSassScriptException.prototype = {
    withSpan$1(span) {
      return A.MultiSpanSassException$(this.message, span, this.primaryLabel, this.secondarySpans, null);
    }
  };
  A._writeSourceMap_closure.prototype = {
    call$1(url) {
      return this.options.sourceMapUrl$2(0, A.Uri_parse(url), this.destination).toString$0(0);
    },
    $signature: 5
  };
  A.ExecutableOptions.prototype = {
    get$interactive() {
      var result, _this = this,
        value = _this.__ExecutableOptions_interactive_FI;
      if (value === $) {
        result = new A.ExecutableOptions_interactive_closure(_this).call$0();
        _this.__ExecutableOptions_interactive_FI !== $ && A.throwUnnamedLateFieldADI();
        _this.__ExecutableOptions_interactive_FI = result;
        value = result;
      }
      return value;
    },
    get$color() {
      var t1 = this._options;
      return t1.wasParsed$1("color") ? A._asBool(t1.$index(0, "color")) : A.hasTerminal();
    },
    get$pkgImporters() {
      var t2, t3, t4, _null = null,
        t1 = A._setArrayType([], type$.JSArray_Importer);
      for (t2 = J.get$iterator$ax(type$.List_String._as(this._options.$index(0, "pkg-importer"))); t2.moveNext$0();) {
        t2.get$current(t2);
        t3 = new A.NodePackageImporter();
        t4 = self.process;
        if (t4 == null)
          t4 = _null;
        else {
          t4 = J.get$release$x(t4);
          t4 = t4 == null ? _null : J.get$name$x(t4);
        }
        if (!J.$eq$(t4, "node") && self.document != null && typeof self.document.querySelector == "function")
          A.throwExpression(string$.The_No);
        t3.__NodePackageImporter__entryPointDirectory_F = $.$get$context().absolute$15(".", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
        t1.push(t3);
      }
      return t1;
    },
    get$emitErrorCss() {
      var t1 = A._asBoolQ(this._options.$index(0, "error-css"));
      if (t1 == null) {
        this._ensureSources$0();
        t1 = this._sourcesToDestinations;
        t1 = t1.get$values(t1).any$1(0, new A.ExecutableOptions_emitErrorCss_closure());
      }
      return t1;
    },
    _ensureSources$0() {
      var t1, stdin, t2, t3, $directories, t4, t5, t6, colonArgs, positionalArgs, t7, t8, t9, message, target, source, destination, seen, _0_0, _this = this, _null = null,
        _s18_ = 'Duplicate source "';
      if (_this._sourcesToDestinations != null)
        return;
      t1 = _this._options;
      stdin = A._asBool(t1.$index(0, "stdin"));
      t2 = t1.rest;
      if (t2.get$length(0) === 0 && !stdin)
        A.ExecutableOptions__fail("Compile Sass to CSS.");
      t3 = type$.String;
      $directories = A.LinkedHashSet_LinkedHashSet$_empty(t3);
      for (t4 = t2.$ti, t5 = t4._eval$1("ListIterator"), t6 = new A.ListIterator(t2, t2.get$length(0), t5), t4 = t4._eval$1("ListBase.E"), colonArgs = false, positionalArgs = false; t6.moveNext$0();) {
        t7 = t6.__internal$_current;
        if (t7 == null)
          t7 = t4._as(t7);
        t8 = t7.length;
        if (t8 === 0)
          A.ExecutableOptions__fail('Invalid argument "".');
        if (A.stringContainsUnchecked(t7, ":", 0)) {
          if (t8 > 2) {
            t9 = t7.charCodeAt(0);
            if (!(t9 >= 97 && t9 <= 122))
              t9 = t9 >= 65 && t9 <= 90;
            else
              t9 = true;
            t9 = t9 && t7.charCodeAt(1) === 58;
          } else
            t9 = false;
          if (t9) {
            if (2 > t8)
              A.throwExpression(A.RangeError$range(2, 0, t8, _null, _null));
            t8 = A.stringContainsUnchecked(t7, ":", 2);
          } else
            t8 = true;
        } else
          t8 = false;
        if (t8)
          colonArgs = true;
        else if (A.dirExists(t7))
          $directories.add$1(0, t7);
        else
          positionalArgs = true;
      }
      if (positionalArgs || t2.get$length(0) === 0) {
        if (colonArgs)
          A.ExecutableOptions__fail('Positional and ":" arguments may not both be used.');
        else if (stdin) {
          if (J.get$length$asx(t2._collection$_source) > 1)
            A.ExecutableOptions__fail("Only one argument is allowed with --stdin.");
          else if (A._asBool(t1.$index(0, "update")))
            A.ExecutableOptions__fail("--update is not allowed with --stdin.");
          else if (A._asBool(t1.$index(0, "watch")))
            A.ExecutableOptions__fail("--watch is not allowed with --stdin.");
          t1 = t2.get$length(0) === 0 ? _null : t2.get$first(t2);
          t2 = type$.dynamic;
          t3 = type$.nullable_String;
          _this._sourcesToDestinations = A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([null, t1], t2, t2), t3, t3);
        } else {
          t3 = t2._collection$_source;
          t4 = J.getInterceptor$asx(t3);
          if (t4.get$length(t3) > 2)
            A.ExecutableOptions__fail("Only two positional args may be passed.");
          else if ($directories._collection$_length !== 0) {
            message = 'Directory "' + A.S($directories.get$first(0)) + '" may not be a positional arg.';
            target = t2.get$last(t2);
            A.ExecutableOptions__fail(J.$eq$($directories.get$first(0), t2.get$first(t2)) && !A.fileExists(target) ? message + ('\nTo compile all CSS in "' + A.S($directories.get$first(0)) + '" to "' + target + '", use `sass ' + A.S($directories.get$first(0)) + ":" + target + "`.") : message);
          } else {
            source = J.$eq$(t2.get$first(t2), "-") ? _null : t2.get$first(t2);
            destination = t4.get$length(t3) === 1 ? _null : t2.get$last(t2);
            if (destination == null)
              if (A._asBool(t1.$index(0, "update")))
                A.ExecutableOptions__fail("--update is not allowed when printing to stdout.");
              else if (A._asBool(t1.$index(0, "watch")))
                A.ExecutableOptions__fail("--watch is not allowed when printing to stdout.");
            t1 = A.PathMap__create(_null, type$.nullable_String);
            t1.$indexSet(0, source, destination);
            _this._sourcesToDestinations = new A.UnmodifiableMapView(new A.PathMap(t1, type$.PathMap_nullable_String), type$.UnmodifiableMapView_of_nullable_String_and_nullable_String);
          }
        }
        _this.__ExecutableOptions__sourceDirectoriesToDestinations_F !== $ && A.throwUnnamedLateFieldAI();
        _this.__ExecutableOptions__sourceDirectoriesToDestinations_F = B.Map_empty;
        return;
      }
      if (stdin)
        A.ExecutableOptions__fail('--stdin may not be used with ":" arguments.');
      seen = A.LinkedHashSet_LinkedHashSet$_empty(t3);
      t1 = A.PathMap__create(_null, t3);
      t6 = type$.PathMap_String;
      t3 = A.PathMap__create(_null, t3);
      for (t2 = new A.ListIterator(t2, t2.get$length(0), t5); t2.moveNext$0();) {
        t5 = t2.__internal$_current;
        if (t5 == null)
          t5 = t4._as(t5);
        if ($directories.contains$1(0, t5)) {
          if (!seen.add$1(0, t5))
            A.ExecutableOptions__fail(_s18_ + t5 + '".');
          t3.$indexSet(0, t5, t5);
          t1.addAll$1(0, _this._listSourceDirectory$2(t5, t5));
          continue;
        }
        _0_0 = _this._splitSourceAndDestination$1(t5);
        source = _0_0._0;
        destination = _0_0._1;
        if (!seen.add$1(0, source))
          A.ExecutableOptions__fail(_s18_ + source + '".');
        if (source === "-")
          t1.$indexSet(0, _null, destination);
        else if (A.dirExists(source)) {
          t3.$indexSet(0, source, destination);
          t1.addAll$1(0, _this._listSourceDirectory$2(source, destination));
        } else
          t1.$indexSet(0, source, destination);
      }
      _this._sourcesToDestinations = new A.UnmodifiableMapView(new A.PathMap(t1, t6), type$.UnmodifiableMapView_of_nullable_String_and_nullable_String);
      _this.__ExecutableOptions__sourceDirectoriesToDestinations_F !== $ && A.throwUnnamedLateFieldAI();
      _this.__ExecutableOptions__sourceDirectoriesToDestinations_F = new A.UnmodifiableMapView(new A.PathMap(t3, t6), type$.UnmodifiableMapView_of_nullable_String_and_String);
    },
    _splitSourceAndDestination$1(argument) {
      var t1, i, t2, t3, nextColon;
      for (t1 = argument.length, i = 0; i < t1; ++i) {
        if (i === 1) {
          t2 = i - 1;
          if (t1 > t2 + 2) {
            t3 = argument.charCodeAt(t2);
            if (!(t3 >= 97 && t3 <= 122))
              t3 = t3 >= 65 && t3 <= 90;
            else
              t3 = true;
            t2 = t3 && argument.charCodeAt(t2 + 1) === 58;
          } else
            t2 = false;
        } else
          t2 = false;
        if (t2)
          continue;
        if (argument.charCodeAt(i) === 58) {
          t2 = i + 1;
          nextColon = B.JSString_methods.indexOf$2(argument, ":", t2);
          if (nextColon === i + 2)
            if (t1 > t2 + 2) {
              t1 = argument.charCodeAt(t2);
              if (!(t1 >= 97 && t1 <= 122))
                t1 = t1 >= 65 && t1 <= 90;
              else
                t1 = true;
              t1 = t1 && argument.charCodeAt(t2 + 1) === 58;
            } else
              t1 = false;
          else
            t1 = false;
          if ((t1 ? B.JSString_methods.indexOf$2(argument, ":", nextColon + 1) : nextColon) !== -1)
            A.ExecutableOptions__fail('"' + argument + '" may only contain one ":".');
          return new A._Record_2(B.JSString_methods.substring$2(argument, 0, i), B.JSString_methods.substring$1(argument, t2));
        }
      }
      throw A.wrapException(A.ArgumentError$('Expected "' + argument + '" to contain a colon.', null));
    },
    _listSourceDirectory$2(source, destination) {
      var t2, t3, t4, t5,
        t1 = type$.String;
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t2 = J.get$iterator$ax(A.listDir(source, true)), t3 = source === destination; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        if (this._isEntrypoint$1(t4))
          t5 = !(t3 && A.ParsedPath_ParsedPath$parse(t4, $.$get$context().style)._splitExtension$1(1)[1] === ".css");
        else
          t5 = false;
        if (t5) {
          t5 = $.$get$context();
          t1.$indexSet(0, t4, A.join(destination, t5.withoutExtension$1(t5.relative$2$from(t4, source)) + ".css", null));
        }
      }
      return t1;
    },
    _isEntrypoint$1(path) {
      var extension,
        t1 = $.$get$context().style;
      if (B.JSString_methods.startsWith$1(A.ParsedPath_ParsedPath$parse(path, t1).get$basename(), "_"))
        return false;
      extension = A.ParsedPath_ParsedPath$parse(path, t1)._splitExtension$1(1)[1];
      return extension === ".scss" || extension === ".sass" || extension === ".css";
    },
    get$_writeToStdout() {
      var t1, _this = this;
      _this._ensureSources$0();
      t1 = _this._sourcesToDestinations;
      if (t1.get$length(t1) === 1) {
        _this._ensureSources$0();
        t1 = _this._sourcesToDestinations;
        t1 = t1.get$values(t1);
        t1 = t1.get$single(t1) == null;
      } else
        t1 = false;
      return t1;
    },
    get$emitSourceMap() {
      var _this = this,
        _s10_ = "source-map",
        _s15_ = "source-map-urls",
        _s13_ = "embed-sources",
        _s16_ = "embed-source-map",
        t1 = _this._options;
      if (!A._asBool(t1.$index(0, _s10_)))
        if (t1.wasParsed$1(_s15_))
          A.ExecutableOptions__fail("--source-map-urls isn't allowed with --no-source-map.");
        else if (t1.wasParsed$1(_s13_))
          A.ExecutableOptions__fail("--embed-sources isn't allowed with --no-source-map.");
        else if (t1.wasParsed$1(_s16_))
          A.ExecutableOptions__fail("--embed-source-map isn't allowed with --no-source-map.");
      if (!_this.get$_writeToStdout())
        return A._asBool(t1.$index(0, _s10_));
      if (J.$eq$(_this._ifParsed$1(_s15_), "relative"))
        A.ExecutableOptions__fail("--source-map-urls=relative isn't allowed when printing to stdout.");
      if (A._asBool(t1.$index(0, _s16_)))
        return A._asBool(t1.$index(0, _s10_));
      else if (J.$eq$(_this._ifParsed$1(_s10_), true))
        A.ExecutableOptions__fail("When printing to stdout, --source-map requires --embed-source-map.");
      else if (t1.wasParsed$1(_s15_))
        A.ExecutableOptions__fail("When printing to stdout, --source-map-urls requires --embed-source-map.");
      else if (A._asBool(t1.$index(0, _s13_)))
        A.ExecutableOptions__fail("When printing to stdout, --embed-sources requires --embed-source-map.");
      else
        return false;
    },
    sourceMapUrl$2(_, url, destination) {
      var t1, path, t2, _null = null;
      if (url.get$scheme().length !== 0 && url.get$scheme() !== "file")
        return url;
      t1 = $.$get$context();
      path = t1.style.pathFromUri$1(A._parseUri(url));
      if (J.$eq$(this._options.$index(0, "source-map-urls"), "relative") && !this.get$_writeToStdout()) {
        destination.toString;
        t2 = t1.relative$2$from(path, t1.dirname$1(destination));
      } else
        t2 = A.absolute(path, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      return t1.toUri$1(t2);
    },
    get$silenceDeprecations(_) {
      var t2, t3, t4,
        t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.Deprecation);
      for (t2 = J.get$iterator$ax(type$.List_String._as(this._options.$index(0, "silence-deprecation"))); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t4 = A.Deprecation_fromId(t3);
        t1.add$1(0, t4 == null ? A.ExecutableOptions__fail('Invalid deprecation "' + t3 + '".') : t4);
      }
      return t1;
    },
    get$fatalDeprecations(_) {
      var t1 = this._fatalDeprecations;
      return t1 == null ? this._fatalDeprecations = new A.ExecutableOptions_fatalDeprecations_closure(this).call$0() : t1;
    },
    get$futureDeprecations(_) {
      var t2, t3, t4,
        t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.Deprecation);
      for (t2 = J.get$iterator$ax(type$.List_String._as(this._options.$index(0, "future-deprecation"))); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t4 = A.Deprecation_fromId(t3);
        t1.add$1(0, t4 == null ? A.ExecutableOptions__fail('Invalid deprecation "' + t3 + '".') : t4);
      }
      return t1;
    },
    _ifParsed$1($name) {
      var t1 = this._options;
      return t1.wasParsed$1($name) ? t1.$index(0, $name) : null;
    }
  };
  A.ExecutableOptions__parser_closure.prototype = {
    call$0() {
      var t1 = type$.String,
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Option),
        t3 = [],
        parser = new A.ArgParser(t2, A.LinkedHashMap_LinkedHashMap$_empty(t1, t1), new A.UnmodifiableMapView(t2, type$.UnmodifiableMapView_String_Option), new A.UnmodifiableMapView(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.ArgParser), type$.UnmodifiableMapView_String_ArgParser), t3, true, null);
      parser.addOption$2$hide("precision", true);
      parser.addFlag$2$hide("async", true);
      t3.push(A.ExecutableOptions__separator("Input and Output"));
      parser.addFlag$2$help("stdin", "Read the stylesheet from stdin.");
      parser.addFlag$2$help("indented", "Use the indented syntax for input from stdin.");
      parser.addMultiOption$5$abbr$help$splitCommas$valueHelp("load-path", "I", "A path to use when resolving imports.\nMay be passed multiple times.", false, "PATH");
      t2 = type$.JSArray_String;
      parser.addMultiOption$6$abbr$allowed$allowedHelp$help$valueHelp("pkg-importer", "p", A._setArrayType(["node"], t2), A.LinkedHashMap_LinkedHashMap$_literal(["node", "Load files like Node.js package resolution."], t1, t1), "Built-in importer(s) to use for pkg: URLs.", "TYPE");
      parser.addOption$6$abbr$allowed$defaultsTo$help$valueHelp("style", "s", A._setArrayType(["expanded", "compressed"], t2), "expanded", "Output style.", "NAME");
      parser.addFlag$3$defaultsTo$help("charset", true, "Emit a @charset or BOM for CSS with non-ASCII characters.");
      parser.addFlag$3$defaultsTo$help("error-css", null, "When an error occurs, emit a stylesheet describing it.\nDefaults to true when compiling to a file.");
      parser.addFlag$3$help$negatable("update", "Only compile out-of-date stylesheets.", false);
      t3.push(A.ExecutableOptions__separator("Source Maps"));
      parser.addFlag$3$defaultsTo$help("source-map", true, "Whether to generate source maps.");
      parser.addOption$4$allowed$defaultsTo$help("source-map-urls", A._setArrayType(["relative", "absolute"], t2), "relative", "How to link from source maps to source files.");
      parser.addFlag$3$defaultsTo$help("embed-sources", false, "Embed source file contents in source maps.");
      parser.addFlag$3$defaultsTo$help("embed-source-map", false, "Embed source map contents in CSS.");
      t3.push(A.ExecutableOptions__separator("Warnings"));
      parser.addFlag$3$abbr$help("quiet", "q", "Don't print warnings.");
      parser.addFlag$2$help("quiet-deps", "Don't print compiler warnings from dependencies.\nStylesheets imported through load paths count as dependencies.");
      parser.addFlag$2$help("verbose", "Print all deprecation warnings even when they're repetitive.");
      parser.addMultiOption$2$help("fatal-deprecation", "Deprecations to treat as errors. You may also pass a Sass\nversion to include any behavior deprecated in or before it.\nSee https://sass-lang.com/documentation/breaking-changes for \na complete list.");
      parser.addMultiOption$2$help("silence-deprecation", "Deprecations to ignore.");
      parser.addMultiOption$2$help("future-deprecation", "Opt in to a deprecation early.");
      t3.push(A.ExecutableOptions__separator("Other"));
      parser.addFlag$4$abbr$help$negatable("watch", "w", "Watch stylesheets and recompile when they change.", false);
      parser.addFlag$2$help("poll", "Manually check for changes rather than using a native watcher.\nOnly valid with --watch.");
      parser.addFlag$2$help("stop-on-error", "Don't compile more files once an error is encountered.");
      parser.addFlag$4$abbr$help$negatable("interactive", "i", "Run an interactive SassScript shell.", false);
      parser.addFlag$3$abbr$help("color", "c", "Whether to use terminal colors for messages.");
      parser.addFlag$2$help("unicode", "Whether to use Unicode characters for messages.");
      parser.addFlag$2$help("trace", "Print full Dart stack traces for exceptions.");
      parser.addFlag$4$abbr$help$negatable("help", "h", "Print this usage information.", false);
      parser.addFlag$3$help$negatable("version", "Print the version of Dart Sass.", false);
      return parser;
    },
    $signature: 330
  };
  A.ExecutableOptions_interactive_closure.prototype = {
    call$0() {
      var _0_0,
        t1 = this.$this._options;
      if (!A._asBool(t1.$index(0, "interactive")))
        return false;
      _0_0 = A.IterableExtension_firstWhereOrNull(A._setArrayType(["stdin", "indented", "style", "source-map", "source-map-urls", "embed-sources", "embed-source-map", "update", "watch"], type$.JSArray_String), t1.get$wasParsed());
      if (_0_0 != null)
        throw A.wrapException(A.UsageException$("--" + _0_0 + " isn't allowed with --interactive."));
      return true;
    },
    $signature: 22
  };
  A.ExecutableOptions_emitErrorCss_closure.prototype = {
    call$1(destination) {
      return destination != null;
    },
    $signature: 139
  };
  A.ExecutableOptions_fatalDeprecations_closure.prototype = {
    call$0() {
      var id, argVersion, sassVersion, t1, t2, _0_0, exception,
        deprecations = A.LinkedHashSet_LinkedHashSet$_empty(type$.Deprecation);
      for (t1 = J.get$iterator$ax(type$.List_String._as(this.$this._options.$index(0, "fatal-deprecation"))), t2 = type$.FormatException; t1.moveNext$0();) {
        id = t1.get$current(t1);
        _0_0 = A.Deprecation_fromId(id);
        if (_0_0 != null) {
          J.add$1$ax(deprecations, _0_0);
          continue;
        }
        try {
          argVersion = A.Version_Version$parse(id);
          sassVersion = A.Version_Version$parse("1.77.8");
          if (J.compareTo$1$ns(argVersion, sassVersion) > 0)
            A.ExecutableOptions__fail("Invalid version " + A.S(argVersion) + ". --fatal-deprecation requires a version less than or equal to the current Dart Sass version.");
          J.addAll$1$ax(deprecations, A.Deprecation_forVersion(argVersion));
        } catch (exception) {
          if (t2._is(A.unwrapException(exception)))
            A.ExecutableOptions__fail('Invalid deprecation "' + A.S(id) + '".');
          else
            throw exception;
        }
      }
      return deprecations;
    },
    $signature: 332
  };
  A.UsageException.prototype = {$isException: 1,
    get$message(receiver) {
      return this.message;
    }
  };
  A.watch_closure.prototype = {
    call$1(dir) {
      for (; !A.dirExists(dir);)
        dir = $.$get$context().dirname$1(dir);
      return this.dirWatcher.watch$1(0, dir);
    },
    $signature: 334
  };
  A._Watcher.prototype = {
    _delete$1(path) {
      var buffer, t1, exception;
      try {
        A.deleteFile(path);
        buffer = new A.StringBuffer("");
        t1 = this._watch$_options;
        if (t1.get$color())
          buffer._contents += "\x1b[33m";
        buffer._contents += "Deleted " + path + ".";
        if (t1.get$color())
          buffer._contents += "\x1b[0m";
        A.print(buffer);
      } catch (exception) {
        if (!(A.unwrapException(exception) instanceof A.FileSystemException))
          throw exception;
      }
    },
    watch$1(_, watcher) {
      return this.watch$body$_Watcher(0, watcher);
    },
    watch$body$_Watcher(_, watcher) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, $event, extension, success, success0, success1, t2, t1;
      var $async$watch$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = watcher._group.__StreamGroup__controller_A;
              t1 === $ && A.throwUnnamedLateFieldNI();
              t1 = new A._StreamIterator(A.checkNotNullable($async$self._debounceEvents$1(new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>"))), "stream", type$.Object));
              $async$handler = 3;
              t2 = $async$self._watch$_options._options;
            case 6:
              // for condition
              $async$goto = 8;
              return A._asyncAwait(t1.moveNext$0(), $async$watch$1);
            case 8:
              // returning from await.
              if (!$async$result) {
                // goto after for
                $async$goto = 7;
                break;
              }
              $event = t1.get$current(0);
              extension = A.ParsedPath_ParsedPath$parse($event.path, $.$get$context().style)._splitExtension$1(1)[1];
              if (!J.$eq$(extension, ".sass") && !J.$eq$(extension, ".scss") && !J.$eq$(extension, ".css")) {
                // goto for condition
                $async$goto = 6;
                break;
              }
            case 9:
              // switch
              switch ($event.type) {
                case B.ChangeType_modify:
                  // goto case
                  $async$goto = 11;
                  break;
                case B.ChangeType_add:
                  // goto case
                  $async$goto = 12;
                  break;
                case B.ChangeType_remove:
                  // goto case
                  $async$goto = 13;
                  break;
                default:
                  // goto after switch
                  $async$goto = 10;
                  break;
              }
              break;
            case 11:
              // case
              $async$goto = 14;
              return A._asyncAwait($async$self._handleModify$1($event.path), $async$watch$1);
            case 14:
              // returning from await.
              success = $async$result;
              if (!success && A._asBool(t2.$index(0, "stop-on-error"))) {
                $async$next = [1];
                // goto finally
                $async$goto = 4;
                break;
              }
              // goto after switch
              $async$goto = 10;
              break;
            case 12:
              // case
              $async$goto = 15;
              return A._asyncAwait($async$self._handleAdd$1($event.path), $async$watch$1);
            case 15:
              // returning from await.
              success0 = $async$result;
              if (!success0 && A._asBool(t2.$index(0, "stop-on-error"))) {
                $async$next = [1];
                // goto finally
                $async$goto = 4;
                break;
              }
              // goto after switch
              $async$goto = 10;
              break;
            case 13:
              // case
              $async$goto = 16;
              return A._asyncAwait($async$self._handleRemove$1($event.path), $async$watch$1);
            case 16:
              // returning from await.
              success1 = $async$result;
              if (!success1 && A._asBool(t2.$index(0, "stop-on-error"))) {
                $async$next = [1];
                // goto finally
                $async$goto = 4;
                break;
              }
              // goto after switch
              $async$goto = 10;
              break;
            case 10:
              // after switch
              // goto for condition
              $async$goto = 6;
              break;
            case 7:
              // after for
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 3:
              // uncaught
              $async$next = [2];
            case 4:
              // finally
              $async$handler = 2;
              $async$goto = 17;
              return A._asyncAwait(t1.cancel$0(), $async$watch$1);
            case 17:
              // returning from await.
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$watch$1, $async$completer);
    },
    _handleModify$1(path) {
      return this._handleModify$body$_Watcher(path);
    },
    _handleModify$body$_Watcher(path) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t2, t0, url, _0_0, t1;
      var $async$_handleModify$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = A.isNodeJs() ? self.process : null;
              if (!J.$eq$(t1 == null ? null : J.get$platform$x(t1), "win32")) {
                t1 = A.isNodeJs() ? self.process : null;
                t1 = J.$eq$(t1 == null ? null : J.get$platform$x(t1), "darwin");
              } else
                t1 = true;
              if (t1) {
                t1 = $.$get$context();
                t2 = A._realCasePath(A.absolute(t1.normalize$1(path), null, null, null, null, null, null, null, null, null, null, null, null, null, null));
                t0 = t2;
                t2 = t1;
                t1 = t0;
              } else {
                t1 = $.$get$context();
                t2 = t1.canonicalize$1(0, path);
                t0 = t2;
                t2 = t1;
                t1 = t0;
              }
              url = t2.toUri$1(t1);
              t1 = $async$self._graph;
              _0_0 = t1._nodes.$index(0, url);
              $async$goto = _0_0 != null ? 3 : 5;
              break;
            case 3:
              // then
              t1.reload$1(url);
              $async$goto = 6;
              return A._asyncAwait($async$self._recompileDownstream$1(A._setArrayType([_0_0], type$.JSArray_StylesheetNode)), $async$_handleModify$1);
            case 6:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$returnValue = $async$self._handleAdd$1(path);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handleModify$1, $async$completer);
    },
    _handleAdd$1(path) {
      return this._handleAdd$body$_Watcher(path);
    },
    _handleAdd$body$_Watcher(path) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1, success, t2, t3, t0, destination;
      var $async$_handleAdd$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              destination = $async$self._destinationFor$1(path);
              $async$goto = destination != null ? 3 : 5;
              break;
            case 3:
              // then
              t1 = type$.nullable_String;
              $async$goto = 6;
              return A._asyncAwait(A.compileStylesheets($async$self._watch$_options, $async$self._graph, A.LinkedHashMap_LinkedHashMap$_literal([path, destination], t1, t1), true), $async$_handleAdd$1);
            case 6:
              // returning from await.
              success = $async$result;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              success = true;
            case 4:
              // join
              t1 = $.$get$FilesystemImporter_cwd();
              t2 = A.isNodeJs() ? self.process : null;
              if (!J.$eq$(t2 == null ? null : J.get$platform$x(t2), "win32")) {
                t2 = A.isNodeJs() ? self.process : null;
                t2 = J.$eq$(t2 == null ? null : J.get$platform$x(t2), "darwin");
              } else
                t2 = true;
              if (t2) {
                t2 = $.$get$context();
                t3 = A._realCasePath(A.absolute(t2.normalize$1(path), null, null, null, null, null, null, null, null, null, null, null, null, null, null));
                t0 = t3;
                t3 = t2;
                t2 = t0;
              } else {
                t2 = $.$get$context();
                t3 = t2.canonicalize$1(0, path);
                t0 = t3;
                t3 = t2;
                t2 = t0;
              }
              $async$goto = 7;
              return A._asyncAwait($async$self._recompileDownstream$1($async$self._graph.addCanonical$3(t1, t3.toUri$1(t2), t3.toUri$1(path))), $async$_handleAdd$1);
            case 7:
              // returning from await.
              $async$returnValue = $async$result && success;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handleAdd$1, $async$completer);
    },
    _handleRemove$1(path) {
      return this._handleRemove$body$_Watcher(path);
    },
    _handleRemove$body$_Watcher(path) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t2, t0, url, _0_0, t3, node, toRecompile, t1;
      var $async$_handleRemove$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = A.isNodeJs() ? self.process : null;
              if (!J.$eq$(t1 == null ? null : J.get$platform$x(t1), "win32")) {
                t1 = A.isNodeJs() ? self.process : null;
                t1 = J.$eq$(t1 == null ? null : J.get$platform$x(t1), "darwin");
              } else
                t1 = true;
              if (t1) {
                t1 = $.$get$context();
                t2 = A._realCasePath(A.absolute(t1.normalize$1(path), null, null, null, null, null, null, null, null, null, null, null, null, null, null));
                t0 = t2;
                t2 = t1;
                t1 = t0;
              } else {
                t1 = $.$get$context();
                t2 = t1.canonicalize$1(0, path);
                t0 = t2;
                t2 = t1;
                t1 = t0;
              }
              url = t2.toUri$1(t1);
              t1 = $async$self._graph;
              t2 = t1._nodes;
              if (t2.containsKey$1(url)) {
                _0_0 = $async$self._destinationFor$1(path);
                if (_0_0 != null)
                  $async$self._delete$1(_0_0);
              }
              t3 = $.$get$FilesystemImporter_cwd();
              node = t2.remove$1(0, url);
              t2 = node != null;
              if (t2) {
                t1._transitiveModificationTimes.clear$0(0);
                t1.importCache.clearImport$1(url);
                node._stylesheet_graph$_remove$0();
              }
              toRecompile = t1._recanonicalizeImports$2(t3, url);
              if (t2)
                toRecompile.addAll$1(0, node._downstream);
              $async$goto = 3;
              return A._asyncAwait($async$self._recompileDownstream$1(toRecompile), $async$_handleRemove$1);
            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$_handleRemove$1, $async$completer);
    },
    _debounceEvents$1(events) {
      var t1 = type$.WatchEvent;
      t1 = A.RateLimit__debounceAggregate(events, A.Duration$(25), A.instantiate1(A.rate_limit___collect$closure(), t1), false, true, t1, type$.List_WatchEvent);
      return new A._ExpandStream(new A._Watcher__debounceEvents_closure(), t1, A._instanceType(t1)._eval$1("_ExpandStream"));
    },
    _recompileDownstream$1(nodes) {
      return this._recompileDownstream$body$_Watcher(nodes);
    },
    _recompileDownstream$body$_Watcher(nodes) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, allSucceeded, t6, t7, t8, sourcesToDestinations, success, _i, seen;
      var $async$_recompileDownstream$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              seen = A.LinkedHashSet_LinkedHashSet$_empty(type$.StylesheetNode);
              t1 = type$.UnmodifiableSetView_StylesheetNode, t2 = type$.JSArray_StylesheetNode, t3 = $async$self._watch$_options, t4 = $async$self._graph, t5 = t3._options, allSucceeded = true;
            case 3:
              // for condition
              if (!(t6 = J.getInterceptor$asx(nodes), t6.get$isNotEmpty(nodes))) {
                // goto after for
                $async$goto = 5;
                break;
              }
              t7 = A._setArrayType([], t2);
              for (t6 = t6.get$iterator(nodes); t6.moveNext$0();) {
                t8 = t6.get$current(t6);
                if (seen.add$1(0, t8))
                  t7.push(t8);
              }
              sourcesToDestinations = $async$self._sourceEntrypointsToDestinations$1(t7);
              $async$goto = sourcesToDestinations.__js_helper$_length !== 0 ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return A._asyncAwait(A.compileStylesheets(t3, t4, sourcesToDestinations, true), $async$_recompileDownstream$1);
            case 8:
              // returning from await.
              success = $async$result;
              if (!success && A._asBool(t5.$index(0, "stop-on-error"))) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              allSucceeded = allSucceeded && success;
            case 7:
              // join
              t6 = A._setArrayType([], t2);
              for (t8 = t7.length, _i = 0; _i < t7.length; t7.length === t8 || (0, A.throwConcurrentModificationError)(t7), ++_i)
                B.JSArray_methods.addAll$1(t6, new A.UnmodifiableSetView0(t7[_i]._downstream, t1));
            case 4:
              // for update
              nodes = t6;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = allSucceeded;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_recompileDownstream$1, $async$completer);
    },
    _sourceEntrypointsToDestinations$1(nodes) {
      var _i, url, source, _0_0,
        t1 = type$.String,
        entrypoints = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t1 = nodes.length, _i = 0; _i < nodes.length; nodes.length === t1 || (0, A.throwConcurrentModificationError)(nodes), ++_i) {
        url = nodes[_i].canonicalUrl;
        if (url.get$scheme() !== "file")
          continue;
        source = $.$get$context().style.pathFromUri$1(A._parseUri(url));
        _0_0 = this._destinationFor$1(source);
        if (_0_0 != null)
          entrypoints.$indexSet(0, source, _0_0);
      }
      return entrypoints;
    },
    _destinationFor$1(source) {
      var t2, _0_0, t3, sourceDir, destinationDir, destination,
        t1 = this._watch$_options;
      t1._ensureSources$0();
      t2 = type$.String;
      _0_0 = t1._sourcesToDestinations.cast$2$0(0, t2, t2).$index(0, source);
      if (_0_0 != null)
        return _0_0;
      t3 = $.$get$context();
      if (B.JSString_methods.startsWith$1(A.ParsedPath_ParsedPath$parse(source, t3.style).get$basename(), "_"))
        return null;
      t1._ensureSources$0();
      t1 = t1.__ExecutableOptions__sourceDirectoriesToDestinations_F;
      t1 === $ && A.throwUnnamedLateFieldNI();
      t2 = A.MapExtensions_get_pairs(t1.cast$2$0(0, t2, t2), t2, t2);
      t2 = t2.get$iterator(t2);
      for (; t2.moveNext$0();) {
        t1 = t2.get$current(t2);
        sourceDir = t1._0;
        destinationDir = t1._1;
        if (t3._isWithinOrEquals$2(sourceDir, source) !== B._PathRelation_within)
          continue;
        destination = A.join(destinationDir, t3.withoutExtension$1(t3.relative$2$from(source, sourceDir)) + ".css", null);
        if (t3._isWithinOrEquals$2(destination, source) !== B._PathRelation_equal)
          return destination;
      }
      return null;
    }
  };
  A._Watcher__debounceEvents_closure.prototype = {
    call$1(buffer) {
      var t3, t4, t5, oldType, newType, _1_1,
        t1 = type$.ChangeType,
        t2 = A.PathMap__create(null, t1);
      for (t3 = J.get$iterator$ax(buffer); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t5 = t4.path;
        oldType = t2.$index(0, t5);
        newType = t4.type;
        $label0$0: {
          if (oldType == null) {
            t4 = newType;
            break $label0$0;
          }
          if (B.ChangeType_remove === newType) {
            t4 = B.ChangeType_remove;
            break $label0$0;
          }
          if (B.ChangeType_add === oldType) {
            t4 = B.ChangeType_add;
            break $label0$0;
          }
          t4 = B.ChangeType_modify;
          break $label0$0;
        }
        t2.$indexSet(0, t5, t4);
      }
      t3 = A._setArrayType([], type$.JSArray_WatchEvent);
      for (t1 = A.MapExtensions_get_pairs(new A.PathMap(t2, type$.PathMap_ChangeType), type$.nullable_String, t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        _1_1 = t2._0;
        t4 = _1_1;
        t4.toString;
        _1_1.toString;
        t3.push(new A.WatchEvent(t2._1, _1_1));
      }
      return t3;
    },
    $signature: 340
  };
  A.EmptyExtensionStore.prototype = {
    get$_extensions() {
      return A.throwExpression(A.NoSuchMethodError_NoSuchMethodError$withInvocation(this, A.JSInvocationMirror$(B.Symbol__extensions, "get$_empty_extension_store$_extensions", 1, [], [], 0)));
    },
    get$_sourceSpecificity() {
      return A.throwExpression(A.NoSuchMethodError_NoSuchMethodError$withInvocation(this, A.JSInvocationMirror$(B.Symbol__sourceSpecificity, "get$_empty_extension_store$_sourceSpecificity", 1, [], [], 0)));
    },
    get$isEmpty(_) {
      return true;
    },
    get$simpleSelectors() {
      return B.C_EmptyUnmodifiableSet;
    },
    extensionsWhereTarget$1(callback) {
      return B.List_empty5;
    },
    addExtensions$1(extenders) {
      throw A.wrapException(A.UnsupportedError$(string$.addExt));
    },
    clone$0() {
      return B.Record2_EmptyExtensionStore_Map_empty;
    },
    $isExtensionStore: 1
  };
  A.Extension.prototype = {
    toString$0(_) {
      var t1 = this.extender.toString$0(0),
        t2 = this.target.toString$0(0),
        t3 = this.isOptional ? " !optional" : "";
      return t1 + " {@extend " + t2 + t3 + "}";
    }
  };
  A.Extender.prototype = {
    assertCompatibleMediaContext$1(mediaContext) {
      var expectedMediaContext,
        extension = this._extension;
      if (extension == null)
        return;
      expectedMediaContext = extension.mediaContext;
      if (expectedMediaContext == null)
        return;
      if (mediaContext != null && B.C_ListEquality.equals$2(0, expectedMediaContext, mediaContext))
        return;
      throw A.wrapException(A.SassException$(string$.You_ma, extension.span, null));
    },
    toString$0(_) {
      return A.serializeSelector(this.selector, true);
    }
  };
  A.ExtensionStore.prototype = {
    get$isEmpty(_) {
      return this._extensions.__js_helper$_length === 0;
    },
    get$simpleSelectors() {
      return new A.MapKeySet(this._selectors, type$.MapKeySet_SimpleSelector);
    },
    extensionsWhereTarget$1(callback) {
      return new A._SyncStarIterable(this.extensionsWhereTarget$body$ExtensionStore(callback), type$._SyncStarIterable_Extension);
    },
    extensionsWhereTarget$body$ExtensionStore($async$callback) {
      var $async$self = this;
      return function() {
        var callback = $async$callback;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, simple, sources, t3;
        return function $async$extensionsWhereTarget$1($async$iterator, $async$errorCode, $async$result) {
          if ($async$errorCode === 1) {
            $async$currentError = $async$result;
            $async$goto = $async$handler;
          }
          while (true)
            switch ($async$goto) {
              case 0:
                // Function start
                t1 = A.MapExtensions_get_pairs($async$self._extensions, type$.SimpleSelector, type$.Map_ComplexSelector_Extension), t1 = t1.get$iterator(t1);
              case 2:
                // for condition
                if (!t1.moveNext$0()) {
                  // goto after for
                  $async$goto = 3;
                  break;
                }
                t2 = t1.get$current(t1);
                simple = t2._0;
                sources = t2._1;
                if (!callback.call$1(simple)) {
                  // goto for condition
                  $async$goto = 2;
                  break;
                }
                t2 = sources.get$values(sources), t2 = t2.get$iterator(t2);
              case 4:
                // for condition
                if (!t2.moveNext$0()) {
                  // goto after for
                  $async$goto = 5;
                  break;
                }
                t3 = t2.get$current(t2);
                $async$goto = t3 instanceof A.MergedExtension ? 6 : 8;
                break;
              case 6:
                // then
                t3 = t3.unmerge$0();
                $async$goto = 9;
                return $async$iterator._yieldStar$1(new A.WhereIterable(t3, new A.ExtensionStore_extensionsWhereTarget_closure(), t3.$ti._eval$1("WhereIterable")));
              case 9:
                // after yield
                // goto join
                $async$goto = 7;
                break;
              case 8:
                // else
                $async$goto = !t3.isOptional ? 10 : 11;
                break;
              case 10:
                // then
                $async$goto = 12;
                return $async$iterator._async$_current = t3, 1;
              case 12:
                // after yield
              case 11:
                // join
              case 7:
                // join
                // goto for condition
                $async$goto = 4;
                break;
              case 5:
                // after for
                // goto for condition
                $async$goto = 2;
                break;
              case 3:
                // after for
                // implicit return
                return 0;
              case 1:
                // rethrow
                return $async$iterator._datum = $async$currentError, 3;
            }
        };
      };
    },
    addSelector$2(selector, mediaContext) {
      var originalSelector, error, stackTrace, t1, exception, t2, t3, t4, modifiableSelector, _this = this;
      selector = selector;
      originalSelector = selector;
      if (!originalSelector.accept$1(B._IsInvisibleVisitor_true))
        _this._originals.addAll$1(0, originalSelector.components);
      t1 = _this._extensions;
      if (t1.__js_helper$_length !== 0)
        try {
          selector = _this._extendList$3(originalSelector, t1, mediaContext);
        } catch (exception) {
          t1 = A.unwrapException(exception);
          if (t1 instanceof A.SassException) {
            error = t1;
            stackTrace = A.getTraceFromException(exception);
            t1 = error;
            t2 = J.getInterceptor$z(t1);
            t1 = A.SourceSpanException.prototype.get$span.call(t2, t1).message$1(0, "");
            t2 = error._span_exception$_message;
            t3 = error;
            t4 = J.getInterceptor$z(t3);
            t3 = A.SourceSpanException.prototype.get$span.call(t4, t3);
            A.throwWithTrace(new A.SassException(B.Set_empty, "From " + t1 + "\n" + t2, t3), error, stackTrace);
          } else
            throw exception;
        }
      modifiableSelector = new A.ModifiableBox(selector, type$.ModifiableBox_SelectorList);
      if (mediaContext != null)
        _this._mediaContexts.$indexSet(0, modifiableSelector, mediaContext);
      _this._registerSelector$2(selector, modifiableSelector);
      return new A.Box(modifiableSelector, type$.Box_SelectorList);
    },
    _registerSelector$2(list, selector) {
      var t1, t2, t3, t4, _i, t5, t6, _i0, t7, t8, _i1, simple, _0_2_isSet, _0_2, t9, selectorInPseudo;
      for (t1 = list.components, t2 = t1.length, t3 = this._selectors, t4 = type$.SelectorList, _i = 0; _i < t2; ++_i)
        for (t5 = t1[_i].components, t6 = t5.length, _i0 = 0; _i0 < t6; ++_i0)
          for (t7 = t5[_i0].selector.components, t8 = t7.length, _i1 = 0; _i1 < t8; ++_i1) {
            simple = t7[_i1];
            J.add$1$ax(t3.putIfAbsent$2(simple, new A.ExtensionStore__registerSelector_closure()), selector);
            _0_2_isSet = simple instanceof A.PseudoSelector;
            if (_0_2_isSet) {
              _0_2 = simple.selector;
              t9 = _0_2 != null;
            } else {
              _0_2 = null;
              t9 = false;
            }
            if (t9) {
              selectorInPseudo = _0_2_isSet ? _0_2 : simple.selector;
              this._registerSelector$2(selectorInPseudo == null ? t4._as(selectorInPseudo) : selectorInPseudo, selector);
            }
          }
    },
    addExtension$4(extender, target, extend, mediaContext) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, newExtensions, _i, complex, t11, extension, _0_0, t12, newExtensionsByTarget, additionalExtensions, _this = this,
        selectors = _this._selectors.$index(0, target),
        t1 = _this._extensionsByExtender,
        existingExtensions = t1.$index(0, target),
        sources = _this._extensions.putIfAbsent$2(target, new A.ExtensionStore_addExtension_closure());
      for (t2 = extender.components, t3 = t2.length, t4 = selectors == null, t5 = _this._sourceSpecificity, t6 = extend.span, t7 = extend.isOptional, t8 = existingExtensions != null, t9 = type$.ComplexSelector, t10 = type$.Extension, newExtensions = null, _i = 0; _i < t3; ++_i) {
        complex = t2[_i];
        if (complex.accept$1(B.C__IsUselessVisitor))
          continue;
        complex.get$specificity();
        t11 = new A.Extender(complex, false);
        extension = t11._extension = new A.Extension(t11, target, mediaContext, t7, t6);
        _0_0 = sources.$index(0, complex);
        if (_0_0 != null) {
          sources.$indexSet(0, complex, A.MergedExtension_merge(_0_0, extension));
          continue;
        }
        sources.$indexSet(0, complex, extension);
        for (t11 = new A._SyncStarIterator(_this._simpleSelectors$1(complex)._outerHelper()); t11.moveNext$0();) {
          t12 = t11._async$_current;
          J.add$1$ax(t1.putIfAbsent$2(t12, new A.ExtensionStore_addExtension_closure0()), extension);
          t5.putIfAbsent$2(t12, new A.ExtensionStore_addExtension_closure1(complex));
        }
        if (!t4 || t8) {
          if (newExtensions == null)
            newExtensions = A.LinkedHashMap_LinkedHashMap$_empty(t9, t10);
          newExtensions.$indexSet(0, complex, extension);
        }
      }
      if (newExtensions == null)
        return;
      t1 = type$.SimpleSelector;
      newExtensionsByTarget = A.LinkedHashMap_LinkedHashMap$_literal([target, newExtensions], t1, type$.Map_ComplexSelector_Extension);
      if (t8) {
        additionalExtensions = _this._extendExistingExtensions$2(existingExtensions, newExtensionsByTarget);
        if (additionalExtensions != null)
          A.mapAddAll2(newExtensionsByTarget, additionalExtensions, t1, t9, t10);
      }
      if (!t4)
        _this._extendExistingSelectors$2(selectors, newExtensionsByTarget);
    },
    _simpleSelectors$1(complex) {
      return new A._SyncStarIterable(this._simpleSelectors$body$ExtensionStore(complex), type$._SyncStarIterable_SimpleSelector);
    },
    _simpleSelectors$body$ExtensionStore($async$complex) {
      var $async$self = this;
      return function() {
        var complex = $async$complex;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, _i, t4, t5, _i0, simple, _0_2_isSet, _0_2, t6, selector, t7, _i1;
        return function $async$_simpleSelectors$1($async$iterator, $async$errorCode, $async$result) {
          if ($async$errorCode === 1) {
            $async$currentError = $async$result;
            $async$goto = $async$handler;
          }
          while (true)
            switch ($async$goto) {
              case 0:
                // Function start
                t1 = complex.components, t2 = t1.length, t3 = type$.SelectorList, _i = 0;
              case 2:
                // for condition
                if (!(_i < t2)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                t4 = t1[_i].selector.components, t5 = t4.length, _i0 = 0;
              case 5:
                // for condition
                if (!(_i0 < t5)) {
                  // goto after for
                  $async$goto = 7;
                  break;
                }
                simple = t4[_i0];
                $async$goto = 8;
                return $async$iterator._async$_current = simple, 1;
              case 8:
                // after yield
                _0_2_isSet = simple instanceof A.PseudoSelector;
                if (_0_2_isSet) {
                  _0_2 = simple.selector;
                  t6 = _0_2 != null;
                } else {
                  _0_2 = null;
                  t6 = false;
                }
                $async$goto = t6 ? 9 : 10;
                break;
              case 9:
                // then
                selector = _0_2_isSet ? _0_2 : simple.selector;
                t6 = (selector == null ? t3._as(selector) : selector).components, t7 = t6.length, _i1 = 0;
              case 11:
                // for condition
                if (!(_i1 < t7)) {
                  // goto after for
                  $async$goto = 13;
                  break;
                }
                $async$goto = 14;
                return $async$iterator._yieldStar$1($async$self._simpleSelectors$1(t6[_i1]));
              case 14:
                // after yield
              case 12:
                // for update
                ++_i1;
                // goto for condition
                $async$goto = 11;
                break;
              case 13:
                // after for
              case 10:
                // join
              case 6:
                // for update
                ++_i0;
                // goto for condition
                $async$goto = 5;
                break;
              case 7:
                // after for
              case 3:
                // for update
                ++_i;
                // goto for condition
                $async$goto = 2;
                break;
              case 4:
                // after for
                // implicit return
                return 0;
              case 1:
                // rethrow
                return $async$iterator._datum = $async$currentError, 3;
            }
        };
      };
    },
    _extendExistingExtensions$2(extensions, newExtensions) {
      var extension, selectors, error, stackTrace, t1, t2, t3, t4, t5, t6, additionalExtensions, _i, t7, exception, t8, t9, selectors0, t10, t11, t12, t13, t14, withExtender, _0_0, _i0, _i1;
      for (t1 = J.toList$0$ax(extensions), t2 = t1.length, t3 = this._extensionsByExtender, t4 = type$.SimpleSelector, t5 = type$.Map_ComplexSelector_Extension, t6 = this._extensions, additionalExtensions = null, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        extension = t1[_i];
        t7 = t6.$index(0, extension.target);
        t7.toString;
        selectors = null;
        try {
          selectors = this._extendComplex$3(extension.extender.selector, newExtensions, extension.mediaContext);
          if (selectors == null)
            continue;
        } catch (exception) {
          t8 = A.unwrapException(exception);
          if (t8 instanceof A.SassException) {
            error = t8;
            stackTrace = A.getTraceFromException(exception);
            A.throwWithTrace(error.withAdditionalSpan$2(extension.extender.selector.span, "target selector"), error, stackTrace);
          } else
            throw exception;
        }
        t8 = J.get$first$ax(selectors);
        t9 = extension.extender.selector;
        if (B.C_ListEquality.equals$2(0, t8.leadingCombinators, t9.leadingCombinators) && B.C_ListEquality.equals$2(0, t8.components, t9.components)) {
          t8 = selectors;
          t9 = A._arrayInstanceType(t8);
          selectors0 = new A.SubListIterable(t8, 1, null, t9._eval$1("SubListIterable<1>"));
          selectors0.SubListIterable$3(t8, 1, null, t9._precomputed1);
          selectors = selectors0;
        }
        for (t8 = J.get$iterator$ax(selectors); t8.moveNext$0();) {
          t9 = t8.get$current(t8);
          t10 = extension;
          t11 = t10.target;
          t12 = t10.span;
          t13 = t10.mediaContext;
          t10 = t10.isOptional;
          t9.get$specificity();
          t14 = new A.Extender(t9, false);
          withExtender = t14._extension = new A.Extension(t14, t11, t13, t10, t12);
          _0_0 = t7.$index(0, t9);
          if (_0_0 != null)
            t7.$indexSet(0, t9, A.MergedExtension_merge(_0_0, withExtender));
          else {
            t7.$indexSet(0, t9, withExtender);
            for (t10 = t9.components, t11 = t10.length, _i0 = 0; _i0 < t11; ++_i0)
              for (t12 = t10[_i0].selector.components, t13 = t12.length, _i1 = 0; _i1 < t13; ++_i1)
                J.add$1$ax(t3.putIfAbsent$2(t12[_i1], new A.ExtensionStore__extendExistingExtensions_closure()), withExtender);
            if (newExtensions.containsKey$1(extension.target)) {
              if (additionalExtensions == null)
                additionalExtensions = A.LinkedHashMap_LinkedHashMap$_empty(t4, t5);
              additionalExtensions.putIfAbsent$2(extension.target, new A.ExtensionStore__extendExistingExtensions_closure0()).$indexSet(0, t9, withExtender);
            }
          }
        }
      }
      return additionalExtensions;
    },
    _extendExistingSelectors$2(selectors, newExtensions) {
      var selector, error, stackTrace, t1, t2, oldValue, exception, t3, t4, t5, t6;
      for (t1 = selectors.get$iterator(selectors), t2 = this._mediaContexts; t1.moveNext$0();) {
        selector = t1.get$current(t1);
        oldValue = selector.value;
        try {
          selector.value = this._extendList$3(selector.value, newExtensions, t2.$index(0, selector));
        } catch (exception) {
          t3 = A.unwrapException(exception);
          if (t3 instanceof A.SassException) {
            error = t3;
            stackTrace = A.getTraceFromException(exception);
            t3 = selector.value.span.message$1(0, "");
            t4 = error._span_exception$_message;
            t5 = error;
            t6 = J.getInterceptor$z(t5);
            t5 = A.SourceSpanException.prototype.get$span.call(t6, t5);
            A.throwWithTrace(new A.SassException(B.Set_empty, "From " + t3 + "\n" + t4, t5), error, stackTrace);
          } else
            throw exception;
        }
        if (oldValue === selector.value)
          continue;
        this._registerSelector$2(selector.value, selector);
      }
    },
    addExtensions$1(extensionStores) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, newExtensions, selectorsToExtend, extensionsToExtend, t12, t13, target, newSources, first, extensionsForTarget, t14, selectorsForTarget, t15, _2_0, t16, extender, extension, _this = this, _null = null;
      for (t1 = J.get$iterator$ax(extensionStores), t2 = type$.SimpleSelector, t3 = type$.Map_ComplexSelector_Extension, t4 = _this._extensions, t5 = type$.ComplexSelector, t6 = type$.Extension, t7 = _this._selectors, t8 = _this._extensionsByExtender, t9 = type$.JSArray_Extension, t10 = type$.ModifiableBox_SelectorList, t11 = _this._sourceSpecificity, newExtensions = _null, selectorsToExtend = newExtensions, extensionsToExtend = selectorsToExtend; t1.moveNext$0();) {
        t12 = t1.get$current(t1);
        if (t12.get$isEmpty(t12))
          continue;
        t11.addAll$1(0, t12.get$_sourceSpecificity());
        for (t12 = A.MapExtensions_get_pairs(t12.get$_extensions(), t2, t3), t12 = t12.get$iterator(t12); t12.moveNext$0();) {
          t13 = t12.get$current(t12);
          target = t13._0;
          newSources = t13._1;
          if (target instanceof A.PlaceholderSelector) {
            first = target.name.charCodeAt(0);
            t13 = first === 45 || first === 95;
          } else
            t13 = false;
          if (t13)
            continue;
          extensionsForTarget = t8.$index(0, target);
          t13 = extensionsForTarget == null;
          if (!t13) {
            if (extensionsToExtend == null) {
              extensionsToExtend = A._setArrayType([], t9);
              t14 = extensionsToExtend;
            } else
              t14 = extensionsToExtend;
            B.JSArray_methods.addAll$1(t14, extensionsForTarget);
          }
          selectorsForTarget = t7.$index(0, target);
          t14 = selectorsForTarget != null;
          if (t14) {
            if (selectorsToExtend == null) {
              selectorsToExtend = A.LinkedHashSet_LinkedHashSet$_empty(t10);
              t15 = selectorsToExtend;
            } else
              t15 = selectorsToExtend;
            t15.addAll$1(0, selectorsForTarget);
          }
          _2_0 = t4.$index(0, target);
          if (_2_0 != null)
            for (t15 = A.MapExtensions_get_pairs(newSources, t5, t6), t15 = t15.get$iterator(t15); t15.moveNext$0();) {
              t16 = t15.get$current(t15);
              extender = t16._0;
              extension = t16._1;
              if (_2_0.containsKey$1(extender)) {
                t16 = _2_0.$index(0, extender);
                extension = A.MergedExtension_merge(t16 == null ? t6._as(t16) : t16, extension);
                _2_0.$indexSet(0, extender, extension);
              } else
                _2_0.$indexSet(0, extender, extension);
              if (!t13 || t14) {
                if (newExtensions == null) {
                  newExtensions = A.LinkedHashMap_LinkedHashMap$_empty(t2, t3);
                  t16 = newExtensions;
                } else
                  t16 = newExtensions;
                J.$indexSet$ax(t16.putIfAbsent$2(target, new A.ExtensionStore_addExtensions_closure()), extender, extension);
              }
            }
          else {
            t15 = A.LinkedHashMap_LinkedHashMap(_null, _null, _null, t5, t6);
            t15.addAll$1(0, newSources);
            t4.$indexSet(0, target, t15);
            if (!t13 || t14) {
              if (newExtensions == null) {
                newExtensions = A.LinkedHashMap_LinkedHashMap$_empty(t2, t3);
                t13 = newExtensions;
              } else
                t13 = newExtensions;
              t14 = A.LinkedHashMap_LinkedHashMap(_null, _null, _null, t5, t6);
              t14.addAll$1(0, newSources);
              t13.$indexSet(0, target, t14);
            }
          }
        }
      }
      if (newExtensions != null) {
        if (extensionsToExtend != null)
          _this._extendExistingExtensions$2(extensionsToExtend, newExtensions);
        if (selectorsToExtend != null)
          _this._extendExistingSelectors$2(selectorsToExtend, newExtensions);
      }
    },
    _extendList$3(list, extensions, mediaQueryContext) {
      var t1, t2, t3, extended, i, complex, result, t4;
      for (t1 = list.components, t2 = t1.length, t3 = type$.JSArray_ComplexSelector, extended = null, i = 0; i < t2; ++i) {
        complex = t1[i];
        result = this._extendComplex$3(complex, extensions, mediaQueryContext);
        if (result == null) {
          if (extended != null)
            extended.push(complex);
        } else {
          if (extended == null)
            if (i === 0)
              extended = A._setArrayType([], t3);
            else {
              t4 = B.JSArray_methods.sublist$2(t1, 0, i);
              extended = A._setArrayType(t4.slice(0), A._arrayInstanceType(t4));
            }
          B.JSArray_methods.addAll$1(extended, result);
        }
      }
      if (extended == null)
        return list;
      t1 = this._originals;
      return A.SelectorList$(this._trim$2(extended, t1.get$contains(t1)), list.span);
    },
    _extendList$2(list, extensions) {
      return this._extendList$3(list, extensions, null);
    },
    _extendComplex$3(complex, extensions, mediaQueryContext) {
      var isOriginal, t3, t4, t5, t6, t7, t8, t9, t10, extendedNotExpanded, i, component, extended, t11, t12, t13, t14, _box_0 = {},
        t1 = complex.leadingCombinators,
        t2 = t1.length;
      if (t2 > 1)
        return null;
      isOriginal = this._originals.contains$1(0, complex);
      for (t3 = complex.components, t4 = t3.length, t5 = type$.JSArray_List_ComplexSelector, t6 = complex.lineBreak, t7 = !t6, t8 = complex.span, t9 = type$.JSArray_ComplexSelector, t2 = t2 === 0, t10 = type$.JSArray_ComplexSelectorComponent, extendedNotExpanded = null, i = 0; i < t4; ++i) {
        component = t3[i];
        extended = this._extendCompound$4$inOriginal(component, extensions, mediaQueryContext, isOriginal);
        if (extended == null) {
          if (extendedNotExpanded != null)
            extendedNotExpanded.push(A._setArrayType([A.ComplexSelector$(B.List_empty0, A._setArrayType([component], t10), t8, t6)], t9));
        } else if (extendedNotExpanded != null)
          extendedNotExpanded.push(extended);
        else if (i !== 0) {
          t11 = A._arrayInstanceType(t3);
          t12 = new A.SubListIterable(t3, 0, i, t11._eval$1("SubListIterable<1>"));
          t12.SubListIterable$3(t3, 0, i, t11._precomputed1);
          extendedNotExpanded = A._setArrayType([A._setArrayType([A.ComplexSelector$(t1, t12, t8, t6)], t9), extended], t5);
        } else if (t2)
          extendedNotExpanded = A._setArrayType([extended], t5);
        else {
          t11 = A._setArrayType([], t9);
          for (t12 = J.get$iterator$ax(extended); t12.moveNext$0();) {
            t13 = t12.get$current(t12);
            t14 = t13.leadingCombinators;
            if (t14.length === 0 || B.C_ListEquality.equals$2(0, t1, t14)) {
              t14 = t13.components;
              t11.push(A.ComplexSelector$(t1, t14, t8, !t7 || t13.lineBreak));
            }
          }
          extendedNotExpanded = A._setArrayType([t11], t5);
        }
      }
      if (extendedNotExpanded == null)
        return null;
      _box_0.first = true;
      t1 = type$.ComplexSelector;
      t1 = J.expand$1$1$ax(A.paths(extendedNotExpanded, t1), new A.ExtensionStore__extendComplex_closure(_box_0, this, complex), t1);
      return A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
    },
    _extendCompound$4$inOriginal(component, extensions, mediaQueryContext, inOriginal) {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, options, i, simple, extended, t12, result, compound, complex, extenderPaths, withCombinators, isOriginal, _this = this, _null = null,
        t1 = _this._mode,
        targetsUsed = t1 === B.ExtendMode_normal_normal || extensions.__js_helper$_length < 2 ? _null : A.LinkedHashSet_LinkedHashSet$_empty(type$.SimpleSelector),
        t2 = component.selector,
        simples = t2.components;
      for (t3 = simples.length, t4 = type$.JSArray_List_Extender, t5 = type$.JSArray_Extender, t6 = type$.CssValue_Combinator, t7 = type$.JSArray_ComplexSelectorComponent, t8 = A._arrayInstanceType(simples), t9 = t8._precomputed1, t8 = t8._eval$1("SubListIterable<1>"), t10 = component.span, t11 = type$.SimpleSelector, options = _null, i = 0; i < t3; ++i) {
        simple = simples[i];
        extended = _this._extendSimple$4(simple, extensions, mediaQueryContext, targetsUsed);
        if (extended == null) {
          if (options != null)
            options.push(A._setArrayType([_this._extenderForSimple$1(simple)], t5));
        } else {
          if (options == null) {
            options = A._setArrayType([], t4);
            if (i !== 0) {
              t12 = new A.SubListIterable(simples, 0, i, t8);
              t12.SubListIterable$3(simples, 0, i, t9);
              result = A.List_List$from(t12, false, t11);
              result.fixed$length = Array;
              result.immutable$list = Array;
              t12 = result;
              compound = new A.CompoundSelector(t12, t10);
              if (t12.length === 0)
                A.throwExpression(A.ArgumentError$("components may not be empty.", _null));
              result = A.List_List$from(B.List_empty0, false, t6);
              result.fixed$length = Array;
              result.immutable$list = Array;
              t12 = A.ComplexSelector$(B.List_empty0, A._setArrayType([new A.ComplexSelectorComponent(compound, result, t10)], t7), t10, false);
              _this._sourceSpecificityFor$1(compound);
              options.push(A._setArrayType([new A.Extender(t12, true)], t5));
            }
          }
          B.JSArray_methods.addAll$1(options, extended);
        }
      }
      if (options == null)
        return _null;
      if (targetsUsed != null && targetsUsed._collection$_length !== extensions.__js_helper$_length)
        return _null;
      if (options.length === 1) {
        for (t1 = J.get$iterator$ax(options[0]), t2 = component.combinators, t3 = type$.JSArray_ComplexSelector, result = _null; t1.moveNext$0();) {
          t4 = t1.get$current(t1);
          t4.assertCompatibleMediaContext$1(mediaQueryContext);
          complex = t4.selector.withAdditionalCombinators$1(t2);
          if (complex.accept$1(B.C__IsUselessVisitor))
            continue;
          if (result == null)
            result = A._setArrayType([], t3);
          result.push(complex);
        }
        return result;
      }
      extenderPaths = A.paths(options, type$.Extender);
      t3 = A._setArrayType([], type$.JSArray_ComplexSelector);
      t1 = t1 === B.ExtendMode_replace_replace;
      t4 = !t1;
      if (t4)
        t3.push(A.ComplexSelector$(B.List_empty0, A._setArrayType([new A.ComplexSelectorComponent(A.CompoundSelector$(J.expand$1$1$ax(J.get$first$ax(extenderPaths), new A.ExtensionStore__extendCompound_closure(), t11), t2.span), A.List_List$unmodifiable(component.combinators, t6), t10)], t7), t10, false));
      t2 = J.skip$1$ax(extenderPaths, t1 ? 0 : 1);
      t5 = t2.$ti;
      t2 = new A.ListIterator(t2, t2.get$length(0), t5._eval$1("ListIterator"));
      t6 = component.combinators;
      t5 = t5._eval$1("ListIterable.E");
      for (; t2.moveNext$0();) {
        t1 = t2.__internal$_current;
        extended = _this._unifyExtenders$3(t1 == null ? t5._as(t1) : t1, mediaQueryContext, t10);
        if (extended == null)
          continue;
        for (t1 = J.get$iterator$ax(extended); t1.moveNext$0();) {
          withCombinators = t1.get$current(t1).withAdditionalCombinators$1(t6);
          if (!withCombinators.accept$1(B.C__IsUselessVisitor))
            t3.push(withCombinators);
        }
      }
      isOriginal = new A.ExtensionStore__extendCompound_closure0();
      return _this._trim$2(t3, inOriginal && t4 ? new A.ExtensionStore__extendCompound_closure1(B.JSArray_methods.get$first(t3)) : isOriginal);
    },
    _unifyExtenders$3(extenders, mediaQueryContext, span) {
      var t1, t2, t3, originals, originalsLineBreak, t4, complexes, _null = null,
        toUnify = A.QueueList$(_null, type$.ComplexSelector);
      for (t1 = J.getInterceptor$ax(extenders), t2 = t1.get$iterator(extenders), t3 = type$.JSArray_SimpleSelector, originals = _null, originalsLineBreak = false; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        if (t4.isOriginal) {
          if (originals == null)
            originals = A._setArrayType([], t3);
          t4 = t4.selector;
          B.JSArray_methods.addAll$1(originals, B.JSArray_methods.get$last(t4.components).selector.components);
          originalsLineBreak = originalsLineBreak || t4.lineBreak;
        } else {
          t4 = t4.selector;
          if (t4.accept$1(B.C__IsUselessVisitor))
            return _null;
          else
            toUnify._queue_list$_add$1(t4);
        }
      }
      if (originals != null)
        toUnify.addFirst$1(A.ComplexSelector$(B.List_empty0, A._setArrayType([new A.ComplexSelectorComponent(A.CompoundSelector$(originals, span), A.List_List$unmodifiable(B.List_empty0, type$.CssValue_Combinator), span)], type$.JSArray_ComplexSelectorComponent), span, originalsLineBreak));
      complexes = A.unifyComplex(toUnify, span);
      if (complexes == null)
        return _null;
      for (t1 = t1.get$iterator(extenders); t1.moveNext$0();)
        t1.get$current(t1).assertCompatibleMediaContext$1(mediaQueryContext);
      return complexes;
    },
    _extendSimple$4(simple, extensions, mediaQueryContext, targetsUsed) {
      var t2, _1_0,
        t1 = new A.ExtensionStore__extendSimple_withoutPseudo(this, extensions, targetsUsed);
      if (simple instanceof A.PseudoSelector)
        t2 = simple.selector != null;
      else
        t2 = false;
      if (t2) {
        _1_0 = this._extendPseudo$3(simple, extensions, mediaQueryContext);
        if (_1_0 != null)
          return new A.MappedListIterable(_1_0, new A.ExtensionStore__extendSimple_closure(this, t1), A._arrayInstanceType(_1_0)._eval$1("MappedListIterable<1,List>"));
      }
      return A.NullableExtension_andThen(t1.call$1(simple), new A.ExtensionStore__extendSimple_closure0());
    },
    _extenderForSimple$1(simple) {
      var t1 = simple.span;
      t1 = A.ComplexSelector$(B.List_empty0, A._setArrayType([new A.ComplexSelectorComponent(A.CompoundSelector$(A._setArrayType([simple], type$.JSArray_SimpleSelector), t1), A.List_List$unmodifiable(B.List_empty0, type$.CssValue_Combinator), t1)], type$.JSArray_ComplexSelectorComponent), t1, false);
      this._sourceSpecificity.$index(0, simple);
      return new A.Extender(t1, true);
    },
    _extendPseudo$3(pseudo, extensions, mediaQueryContext) {
      var extended, complexes, t1, result,
        selector = pseudo.selector;
      if (selector == null)
        throw A.wrapException(A.ArgumentError$("Selector " + pseudo.toString$0(0) + " must have a selector argument.", null));
      extended = this._extendList$3(selector, extensions, mediaQueryContext);
      if (extended === selector)
        return null;
      complexes = extended.components;
      t1 = pseudo.normalizedName === "not";
      if (t1 && !B.JSArray_methods.any$1(selector.components, new A.ExtensionStore__extendPseudo_closure()) && B.JSArray_methods.any$1(complexes, new A.ExtensionStore__extendPseudo_closure0()))
        complexes = new A.WhereIterable(complexes, new A.ExtensionStore__extendPseudo_closure1(), A._arrayInstanceType(complexes)._eval$1("WhereIterable<1>"));
      complexes = J.expand$1$1$ax(complexes, new A.ExtensionStore__extendPseudo_closure2(pseudo), type$.ComplexSelector);
      if (t1 && selector.components.length === 1) {
        t1 = A.MappedIterable_MappedIterable(complexes, new A.ExtensionStore__extendPseudo_closure3(pseudo, selector), complexes.$ti._eval$1("Iterable.E"), type$.PseudoSelector);
        result = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("Iterable.E"));
        return result.length === 0 ? null : result;
      } else
        return A._setArrayType([pseudo.withSelector$1(A.SelectorList$(complexes, selector.span))], type$.JSArray_PseudoSelector);
    },
    _trim$2(selectors, isOriginal) {
      var i, t1, t2, numOriginals, _box_0, complex1, j, t3, t4, _i, t5, maxSpecificity,
        result = A.QueueList$(null, type$.ComplexSelector);
      $label0$0:
        for (i = selectors.length - 1, t1 = A._arrayInstanceType(selectors), t2 = t1._precomputed1, t1 = t1._eval$1("SubListIterable<1>"), numOriginals = 0; i >= 0; --i) {
          _box_0 = {};
          complex1 = selectors[i];
          if (isOriginal.call$1(complex1)) {
            for (j = 0; j < numOriginals; ++j)
              if (J.$eq$(result.$index(0, j), complex1)) {
                A.rotateSlice(result, 0, j + 1);
                continue $label0$0;
              }
            ++numOriginals;
            result.addFirst$1(complex1);
            continue $label0$0;
          }
          _box_0.maxSpecificity = 0;
          for (t3 = complex1.components, t4 = t3.length, _i = 0, t5 = 0; _i < t4; ++_i, t5 = maxSpecificity) {
            maxSpecificity = Math.max(t5, this._sourceSpecificityFor$1(t3[_i].selector));
            _box_0.maxSpecificity = maxSpecificity;
          }
          if (result.any$1(result, new A.ExtensionStore__trim_closure(_box_0, complex1)))
            continue $label0$0;
          t3 = new A.SubListIterable(selectors, 0, i, t1);
          t3.SubListIterable$3(selectors, 0, i, t2);
          if (t3.any$1(0, new A.ExtensionStore__trim_closure0(_box_0, complex1)))
            continue $label0$0;
          result.addFirst$1(complex1);
        }
      return result;
    },
    _sourceSpecificityFor$1(compound) {
      var t1, t2, t3, specificity, _i, t4;
      for (t1 = compound.components, t2 = t1.length, t3 = this._sourceSpecificity, specificity = 0, _i = 0; _i < t2; ++_i) {
        t4 = t3.$index(0, t1[_i]);
        specificity = Math.max(specificity, A.checkNum(t4 == null ? 0 : t4));
      }
      return specificity;
    },
    clone$0() {
      var t2, t3, t4, _this = this,
        t1 = type$.SimpleSelector,
        newSelectors = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Set_ModifiableBox_SelectorList),
        newMediaContexts = A.LinkedHashMap_LinkedHashMap$_empty(type$.ModifiableBox_SelectorList, type$.List_CssMediaQuery),
        oldToNewSelectors = new A.JsIdentityLinkedHashMap(type$.JsIdentityLinkedHashMap_of_SelectorList_and_Box_SelectorList);
      _this._selectors.forEach$1(0, new A.ExtensionStore_clone_closure(_this, newSelectors, oldToNewSelectors, newMediaContexts));
      t2 = type$.Extension;
      t3 = A.copyMapOfMap(_this._extensions, t1, type$.ComplexSelector, t2);
      t2 = A.copyMapOfList(_this._extensionsByExtender, t1, t2);
      t1 = new A.JsIdentityLinkedHashMap(type$.JsIdentityLinkedHashMap_SimpleSelector_int);
      t1.addAll$1(0, _this._sourceSpecificity);
      t4 = new A._LinkedIdentityHashSet(type$._LinkedIdentityHashSet_ComplexSelector);
      t4.addAll$1(0, _this._originals);
      return new A._Record_2(new A.ExtensionStore(newSelectors, t3, t2, newMediaContexts, t1, t4, B.ExtendMode_normal_normal), oldToNewSelectors);
    },
    get$_extensions() {
      return this._extensions;
    },
    get$_sourceSpecificity() {
      return this._sourceSpecificity;
    }
  };
  A.ExtensionStore_extensionsWhereTarget_closure.prototype = {
    call$1(extension) {
      return !extension.isOptional;
    },
    $signature: 342
  };
  A.ExtensionStore__registerSelector_closure.prototype = {
    call$0() {
      return A.LinkedHashSet_LinkedHashSet$_empty(type$.ModifiableBox_SelectorList);
    },
    $signature: 343
  };
  A.ExtensionStore_addExtension_closure.prototype = {
    call$0() {
      return A.LinkedHashMap_LinkedHashMap$_empty(type$.ComplexSelector, type$.Extension);
    },
    $signature: 115
  };
  A.ExtensionStore_addExtension_closure0.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_Extension);
    },
    $signature: 220
  };
  A.ExtensionStore_addExtension_closure1.prototype = {
    call$0() {
      return this.complex.get$specificity();
    },
    $signature: 10
  };
  A.ExtensionStore__extendExistingExtensions_closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_Extension);
    },
    $signature: 220
  };
  A.ExtensionStore__extendExistingExtensions_closure0.prototype = {
    call$0() {
      return A.LinkedHashMap_LinkedHashMap$_empty(type$.ComplexSelector, type$.Extension);
    },
    $signature: 115
  };
  A.ExtensionStore_addExtensions_closure.prototype = {
    call$0() {
      return A.LinkedHashMap_LinkedHashMap$_empty(type$.ComplexSelector, type$.Extension);
    },
    $signature: 115
  };
  A.ExtensionStore__extendComplex_closure.prototype = {
    call$1(path) {
      var t1 = this.complex;
      return J.map$1$1$ax(A.weave(path, t1.span, t1.lineBreak), new A.ExtensionStore__extendComplex__closure(this._box_0, this.$this, t1), type$.ComplexSelector);
    },
    $signature: 348
  };
  A.ExtensionStore__extendComplex__closure.prototype = {
    call$1(outputComplex) {
      var _this = this,
        t1 = _this._box_0;
      if (t1.first && _this.$this._originals.contains$1(0, _this.complex))
        _this.$this._originals.add$1(0, outputComplex);
      t1.first = false;
      return outputComplex;
    },
    $signature: 59
  };
  A.ExtensionStore__extendCompound_closure.prototype = {
    call$1(extender) {
      return B.JSArray_methods.get$last(extender.selector.components).selector.components;
    },
    $signature: 349
  };
  A.ExtensionStore__extendCompound_closure0.prototype = {
    call$1(_) {
      return false;
    },
    $signature: 16
  };
  A.ExtensionStore__extendCompound_closure1.prototype = {
    call$1(complex) {
      return complex.$eq(0, this.original);
    },
    $signature: 16
  };
  A.ExtensionStore__extendSimple_withoutPseudo.prototype = {
    call$1(simple) {
      var t1, t2,
        extensionsForSimple = this.extensions.$index(0, simple);
      if (extensionsForSimple == null)
        return null;
      t1 = this.targetsUsed;
      if (t1 != null)
        t1.add$1(0, simple);
      t1 = A._setArrayType([], type$.JSArray_Extender);
      t2 = this.$this;
      if (t2._mode !== B.ExtendMode_replace_replace)
        t1.push(t2._extenderForSimple$1(simple));
      for (t2 = extensionsForSimple.get$values(extensionsForSimple), t2 = t2.get$iterator(t2); t2.moveNext$0();)
        t1.push(t2.get$current(t2).extender);
      return t1;
    },
    $signature: 350
  };
  A.ExtensionStore__extendSimple_closure.prototype = {
    call$1(pseudo) {
      var t1 = this.withoutPseudo.call$1(pseudo);
      return t1 == null ? A._setArrayType([this.$this._extenderForSimple$1(pseudo)], type$.JSArray_Extender) : t1;
    },
    $signature: 361
  };
  A.ExtensionStore__extendSimple_closure0.prototype = {
    call$1(result) {
      return A._setArrayType([result], type$.JSArray_List_Extender);
    },
    $signature: 362
  };
  A.ExtensionStore__extendPseudo_closure.prototype = {
    call$1(complex) {
      return complex.components.length > 1;
    },
    $signature: 16
  };
  A.ExtensionStore__extendPseudo_closure0.prototype = {
    call$1(complex) {
      return complex.components.length === 1;
    },
    $signature: 16
  };
  A.ExtensionStore__extendPseudo_closure1.prototype = {
    call$1(complex) {
      return complex.components.length <= 1;
    },
    $signature: 16
  };
  A.ExtensionStore__extendPseudo_closure2.prototype = {
    call$1(complex) {
      var innerPseudo, innerSelector,
        t1 = complex.get$singleCompound();
      if (t1 == null)
        innerPseudo = null;
      else {
        t1 = t1.components;
        innerPseudo = t1.length === 1 ? B.JSArray_methods.get$first(t1) : null;
      }
      if (!(innerPseudo instanceof A.PseudoSelector))
        return A._setArrayType([complex], type$.JSArray_ComplexSelector);
      innerSelector = innerPseudo.selector;
      if (innerSelector == null)
        return A._setArrayType([complex], type$.JSArray_ComplexSelector);
      t1 = this.pseudo;
      switch (t1.normalizedName) {
        case "not":
          if (!B.Set_mlzm2.contains$1(0, innerPseudo.normalizedName))
            return A._setArrayType([], type$.JSArray_ComplexSelector);
          return innerSelector.components;
        case "is":
        case "matches":
        case "where":
        case "any":
        case "current":
        case "nth-child":
        case "nth-last-child":
          if (innerPseudo.name !== t1.name)
            return A._setArrayType([], type$.JSArray_ComplexSelector);
          if (innerPseudo.argument != t1.argument)
            return A._setArrayType([], type$.JSArray_ComplexSelector);
          return innerSelector.components;
        case "has":
        case "host":
        case "host-context":
        case "slotted":
          return A._setArrayType([complex], type$.JSArray_ComplexSelector);
        default:
          return A._setArrayType([], type$.JSArray_ComplexSelector);
      }
    },
    $signature: 378
  };
  A.ExtensionStore__extendPseudo_closure3.prototype = {
    call$1(complex) {
      return this.pseudo.withSelector$1(A.SelectorList$(A._setArrayType([complex], type$.JSArray_ComplexSelector), this.selector.span));
    },
    $signature: 379
  };
  A.ExtensionStore__trim_closure.prototype = {
    call$1(complex2) {
      return complex2.get$specificity() >= this._box_0.maxSpecificity && complex2.isSuperselector$1(this.complex1);
    },
    $signature: 16
  };
  A.ExtensionStore__trim_closure0.prototype = {
    call$1(complex2) {
      return complex2.get$specificity() >= this._box_0.maxSpecificity && complex2.isSuperselector$1(this.complex1);
    },
    $signature: 16
  };
  A.ExtensionStore_clone_closure.prototype = {
    call$2(simple, selectors) {
      var t2, t3, t4, t5, t6, t7, newSelector, _0_0, _this = this,
        t1 = type$.ModifiableBox_SelectorList,
        newSelectorSet = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      _this.newSelectors.$indexSet(0, simple, newSelectorSet);
      for (t2 = selectors.get$iterator(selectors), t3 = _this.oldToNewSelectors, t4 = type$.Box_SelectorList, t5 = _this.$this._mediaContexts, t6 = _this.newMediaContexts; t2.moveNext$0();) {
        t7 = t2.get$current(t2);
        newSelector = new A.ModifiableBox(t7.value, t1);
        newSelectorSet.add$1(0, newSelector);
        t3.$indexSet(0, t7.value, new A.Box(newSelector, t4));
        _0_0 = t5.$index(0, t7);
        if (_0_0 != null)
          t6.$indexSet(0, newSelector, _0_0);
      }
    },
    $signature: 380
  };
  A.unifyComplex_closure.prototype = {
    call$1(complex) {
      return complex.lineBreak;
    },
    $signature: 16
  };
  A._weaveParents_closure.prototype = {
    call$2(group1, group2) {
      var t1, unified;
      if (B.C_ListEquality.equals$2(0, group1, group2))
        return group1;
      if (A._complexIsParentSuperselector(group1, group2))
        return group2;
      if (A._complexIsParentSuperselector(group2, group1))
        return group1;
      if (!A._mustUnify(group1, group2))
        return null;
      t1 = this.span;
      unified = A.unifyComplex(A._setArrayType([A.ComplexSelector$(B.List_empty0, group1, t1, false), A.ComplexSelector$(B.List_empty0, group2, t1, false)], type$.JSArray_ComplexSelector), t1);
      if (unified == null)
        t1 = null;
      else {
        t1 = A.IterableExtension_get_singleOrNull(unified);
        t1 = t1 == null ? null : t1.components;
      }
      return t1;
    },
    $signature: 381
  };
  A._weaveParents_closure0.prototype = {
    call$1(sequence) {
      return A._complexIsParentSuperselector(sequence.get$first(sequence), this.group);
    },
    $signature: 206
  };
  A._weaveParents_closure1.prototype = {
    call$1(sequence) {
      return sequence.get$length(0) === 0;
    },
    $signature: 206
  };
  A._weaveParents_closure2.prototype = {
    call$1(choice) {
      return J.get$isNotEmpty$asx(choice);
    },
    $signature: 387
  };
  A._mustUnify_closure.prototype = {
    call$1(component) {
      return B.JSArray_methods.any$1(component.selector.components, new A._mustUnify__closure(this.uniqueSelectors));
    },
    $signature: 49
  };
  A._mustUnify__closure.prototype = {
    call$1(simple) {
      var t1;
      if (!(simple instanceof A.IDSelector))
        t1 = simple instanceof A.PseudoSelector && !simple.isClass;
      else
        t1 = true;
      return t1 && this.uniqueSelectors.contains$1(0, simple);
    },
    $signature: 13
  };
  A.paths_closure.prototype = {
    call$2(paths, choice) {
      var t1 = this.T;
      t1 = J.expand$1$1$ax(choice, new A.paths__closure(paths, t1), t1._eval$1("List<0>"));
      return A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
    },
    $signature() {
      return this.T._eval$1("List>(List>,List<0>)");
    }
  };
  A.paths__closure.prototype = {
    call$1(option) {
      var t1 = this.T;
      return J.map$1$1$ax(this.paths, new A.paths___closure(option, t1), t1._eval$1("List<0>"));
    },
    $signature() {
      return this.T._eval$1("Iterable>(0)");
    }
  };
  A.paths___closure.prototype = {
    call$1(path) {
      var t1 = A.List_List$of(path, true, this.T);
      t1.push(this.option);
      return t1;
    },
    $signature() {
      return this.T._eval$1("List<0>(List<0>)");
    }
  };
  A.listIsSuperselector_closure.prototype = {
    call$1(complex1) {
      return B.JSArray_methods.any$1(this.list1, new A.listIsSuperselector__closure(complex1));
    },
    $signature: 16
  };
  A.listIsSuperselector__closure.prototype = {
    call$1(complex2) {
      return complex2.isSuperselector$1(this.complex1);
    },
    $signature: 16
  };
  A.complexIsSuperselector_closure.prototype = {
    call$1($parent) {
      return $parent.combinators.length > 1;
    },
    $signature: 49
  };
  A.complexIsSuperselector_closure0.prototype = {
    call$1(component) {
      return A._isSupercombinator(this.combinator1, A.IterableExtension_get_firstOrNull(component.combinators));
    },
    $signature: 49
  };
  A._compatibleWithPreviousCombinator_closure.prototype = {
    call$1(component) {
      var t1 = component.combinators,
        t2 = A.IterableExtension_get_firstOrNull(t1);
      if (!J.$eq$(t2 == null ? null : t2.value, B.Combinator_y18)) {
        t1 = A.IterableExtension_get_firstOrNull(t1);
        t1 = J.$eq$(t1 == null ? null : t1.value, B.Combinator_gRV);
      } else
        t1 = true;
      return t1;
    },
    $signature: 49
  };
  A.compoundIsSuperselector_closure.prototype = {
    call$1(simple1) {
      return B.JSArray_methods.any$1(this.compound2.components, simple1.get$isSuperselector());
    },
    $signature: 13
  };
  A._selectorPseudoIsSuperselector_closure.prototype = {
    call$1(selector2) {
      return A.listIsSuperselector(this.selector1.components, selector2.components);
    },
    $signature: 70
  };
  A._selectorPseudoIsSuperselector_closure0.prototype = {
    call$1(complex1) {
      var t1, t2;
      if (complex1.leadingCombinators.length === 0) {
        t1 = A._setArrayType([], type$.JSArray_ComplexSelectorComponent);
        t2 = this.parents;
        if (t2 != null)
          B.JSArray_methods.addAll$1(t1, t2);
        t2 = this.compound2;
        t1.push(new A.ComplexSelectorComponent(t2, A.List_List$unmodifiable(B.List_empty0, type$.CssValue_Combinator), t2.span));
        t1 = A.complexIsSuperselector(complex1.components, t1);
      } else
        t1 = false;
      return t1;
    },
    $signature: 16
  };
  A._selectorPseudoIsSuperselector_closure1.prototype = {
    call$1(selector2) {
      return A.listIsSuperselector(this.selector1.components, selector2.components);
    },
    $signature: 70
  };
  A._selectorPseudoIsSuperselector_closure2.prototype = {
    call$1(selector2) {
      return A.listIsSuperselector(this.selector1.components, selector2.components);
    },
    $signature: 70
  };
  A._selectorPseudoIsSuperselector_closure3.prototype = {
    call$1(complex) {
      if (complex.accept$1(B._IsBogusVisitor_true))
        return false;
      return B.JSArray_methods.any$1(this.compound2.components, new A._selectorPseudoIsSuperselector__closure(complex, this.pseudo1));
    },
    $signature: 16
  };
  A._selectorPseudoIsSuperselector__closure.prototype = {
    call$1(simple2) {
      var t1, _0_4, selector2, _this = this;
      $label0$1: {
        if (simple2 instanceof A.TypeSelector) {
          t1 = B.JSArray_methods.any$1(B.JSArray_methods.get$last(_this.complex.components).selector.components, new A._selectorPseudoIsSuperselector___closure(simple2));
          break $label0$1;
        }
        if (simple2 instanceof A.IDSelector) {
          t1 = B.JSArray_methods.any$1(B.JSArray_methods.get$last(_this.complex.components).selector.components, new A._selectorPseudoIsSuperselector___closure0(simple2));
          break $label0$1;
        }
        if (simple2 instanceof A.PseudoSelector) {
          _0_4 = simple2.selector;
          if (_0_4 != null) {
            selector2 = _0_4 == null ? type$.SelectorList._as(_0_4) : _0_4;
            t1 = simple2.name === _this.pseudo1.name;
          } else {
            selector2 = null;
            t1 = false;
          }
        } else {
          selector2 = null;
          t1 = false;
        }
        if (t1) {
          t1 = A.listIsSuperselector(selector2.components, A._setArrayType([_this.complex], type$.JSArray_ComplexSelector));
          break $label0$1;
        }
        t1 = false;
        break $label0$1;
      }
      return t1;
    },
    $signature: 13
  };
  A._selectorPseudoIsSuperselector___closure.prototype = {
    call$1(simple1) {
      var t1;
      if (simple1 instanceof A.TypeSelector) {
        t1 = this.simple2;
        t1 = !(t1 instanceof A.TypeSelector && t1.name.$eq(0, simple1.name));
      } else
        t1 = false;
      return t1;
    },
    $signature: 13
  };
  A._selectorPseudoIsSuperselector___closure0.prototype = {
    call$1(simple1) {
      var t1;
      if (simple1 instanceof A.IDSelector) {
        t1 = this.simple2;
        t1 = !(t1 instanceof A.IDSelector && t1.name === simple1.name);
      } else
        t1 = false;
      return t1;
    },
    $signature: 13
  };
  A._selectorPseudoIsSuperselector_closure4.prototype = {
    call$1(selector2) {
      var t1 = B.C_ListEquality.equals$2(0, this.selector1.components, selector2.components);
      return t1;
    },
    $signature: 70
  };
  A._selectorPseudoIsSuperselector_closure5.prototype = {
    call$1(pseudo2) {
      var t1, selector2;
      if (!(pseudo2 instanceof A.PseudoSelector))
        return false;
      t1 = this.pseudo1;
      if (pseudo2.name !== t1.name)
        return false;
      if (pseudo2.argument != t1.argument)
        return false;
      selector2 = pseudo2.selector;
      if (selector2 == null)
        return false;
      return A.listIsSuperselector(this.selector1.components, selector2.components);
    },
    $signature: 13
  };
  A._selectorPseudoArgs_closure.prototype = {
    call$1(pseudo) {
      return pseudo.isClass === this.isClass && pseudo.name === this.name;
    },
    $signature: 388
  };
  A._selectorPseudoArgs_closure0.prototype = {
    call$1(pseudo) {
      return pseudo.selector;
    },
    $signature: 390
  };
  A.MergedExtension.prototype = {
    unmerge$0() {
      return new A._SyncStarIterable(this.unmerge$body$MergedExtension(), type$._SyncStarIterable_Extension);
    },
    unmerge$body$MergedExtension() {
      var $async$self = this;
      return function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, right, left;
        return function $async$unmerge$0($async$iterator, $async$errorCode, $async$result) {
          if ($async$errorCode === 1) {
            $async$currentError = $async$result;
            $async$goto = $async$handler;
          }
          while (true)
            switch ($async$goto) {
              case 0:
                // Function start
                left = $async$self.left;
                $async$goto = left instanceof A.MergedExtension ? 2 : 4;
                break;
              case 2:
                // then
                $async$goto = 5;
                return $async$iterator._yieldStar$1(left.unmerge$0());
              case 5:
                // after yield
                // goto join
                $async$goto = 3;
                break;
              case 4:
                // else
                $async$goto = 6;
                return $async$iterator._async$_current = left, 1;
              case 6:
                // after yield
              case 3:
                // join
                right = $async$self.right;
                $async$goto = right instanceof A.MergedExtension ? 7 : 9;
                break;
              case 7:
                // then
                $async$goto = 10;
                return $async$iterator._yieldStar$1(right.unmerge$0());
              case 10:
                // after yield
                // goto join
                $async$goto = 8;
                break;
              case 9:
                // else
                $async$goto = 11;
                return $async$iterator._async$_current = right, 1;
              case 11:
                // after yield
              case 8:
                // join
                // implicit return
                return 0;
              case 1:
                // rethrow
                return $async$iterator._datum = $async$currentError, 3;
            }
        };
      };
    }
  };
  A.ExtendMode.prototype = {
    _enumToString$0() {
      return "ExtendMode." + this._name;
    },
    toString$0(_) {
      return this.name;
    }
  };
  A.globalFunctions_closure.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      return t1.$index($arguments, 0).get$isTruthy() ? t1.$index($arguments, 1) : t1.$index($arguments, 2);
    },
    $signature: 6
  };
  A.global_closure0.prototype = {
    call$1($arguments) {
      return A._rgb("rgb", $arguments);
    },
    $signature: 6
  };
  A.global_closure1.prototype = {
    call$1($arguments) {
      return A._rgb("rgb", $arguments);
    },
    $signature: 6
  };
  A.global_closure2.prototype = {
    call$1($arguments) {
      return A._rgbTwoArg("rgb", $arguments);
    },
    $signature: 6
  };
  A.global_closure3.prototype = {
    call$1($arguments) {
      var parsed = A._parseChannels("rgb", A._setArrayType(["$red", "$green", "$blue"], type$.JSArray_String), J.get$first$ax($arguments));
      return parsed instanceof A.SassString ? parsed : A._rgb("rgb", type$.List_Value._as(parsed));
    },
    $signature: 6
  };
  A.global_closure4.prototype = {
    call$1($arguments) {
      return A._rgb("rgba", $arguments);
    },
    $signature: 6
  };
  A.global_closure5.prototype = {
    call$1($arguments) {
      return A._rgb("rgba", $arguments);
    },
    $signature: 6
  };
  A.global_closure6.prototype = {
    call$1($arguments) {
      return A._rgbTwoArg("rgba", $arguments);
    },
    $signature: 6
  };
  A.global_closure7.prototype = {
    call$1($arguments) {
      var parsed = A._parseChannels("rgba", A._setArrayType(["$red", "$green", "$blue"], type$.JSArray_String), J.get$first$ax($arguments));
      return parsed instanceof A.SassString ? parsed : A._rgb("rgba", type$.List_Value._as(parsed));
    },
    $signature: 6
  };
  A.global_closure8.prototype = {
    call$1($arguments) {
      var color, t2,
        t1 = J.getInterceptor$asx($arguments),
        weight = t1.$index($arguments, 1).assertNumber$1("weight");
      if (t1.$index($arguments, 0) instanceof A.SassNumber || t1.$index($arguments, 0).get$isSpecialNumber()) {
        if (weight._number$_value !== 100 || !weight.hasUnit$1("%"))
          throw A.wrapException(string$.Only_oa);
        return A._functionString("invert", t1.take$1($arguments, 1));
      }
      color = t1.$index($arguments, 0).assertColor$1("color");
      t1 = color.get$red(0);
      t2 = color.get$green(0);
      return A._mixColors(color.changeRgb$3$blue$green$red(255 - color.get$blue(0), 255 - t2, 255 - t1), color, weight);
    },
    $signature: 6
  };
  A.global_closure9.prototype = {
    call$1($arguments) {
      return A._hsl("hsl", $arguments);
    },
    $signature: 6
  };
  A.global_closure10.prototype = {
    call$1($arguments) {
      return A._hsl("hsl", $arguments);
    },
    $signature: 6
  };
  A.global_closure11.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar())
        return A._functionString("hsl", $arguments);
      else
        throw A.wrapException(A.SassScriptException$("Missing argument $lightness.", null));
    },
    $signature: 17
  };
  A.global_closure12.prototype = {
    call$1($arguments) {
      var parsed = A._parseChannels("hsl", A._setArrayType(["$hue", "$saturation", "$lightness"], type$.JSArray_String), J.get$first$ax($arguments));
      return parsed instanceof A.SassString ? parsed : A._hsl("hsl", type$.List_Value._as(parsed));
    },
    $signature: 6
  };
  A.global_closure13.prototype = {
    call$1($arguments) {
      return A._hsl("hsla", $arguments);
    },
    $signature: 6
  };
  A.global_closure14.prototype = {
    call$1($arguments) {
      return A._hsl("hsla", $arguments);
    },
    $signature: 6
  };
  A.global_closure15.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar())
        return A._functionString("hsla", $arguments);
      else
        throw A.wrapException(A.SassScriptException$("Missing argument $lightness.", null));
    },
    $signature: 17
  };
  A.global_closure16.prototype = {
    call$1($arguments) {
      var parsed = A._parseChannels("hsla", A._setArrayType(["$hue", "$saturation", "$lightness"], type$.JSArray_String), J.get$first$ax($arguments));
      return parsed instanceof A.SassString ? parsed : A._hsl("hsla", type$.List_Value._as(parsed));
    },
    $signature: 6
  };
  A.global_closure17.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0) instanceof A.SassNumber || t1.$index($arguments, 0).get$isSpecialNumber())
        return A._functionString("grayscale", $arguments);
      return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0);
    },
    $signature: 6
  };
  A.global_closure18.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color"),
        degrees = A._angleValue(t1.$index($arguments, 1), "degrees");
      return color.changeHsl$1$hue(color.get$hue(0) + degrees);
    },
    $signature: 29
  };
  A.global_closure19.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color"),
        amount = t1.$index($arguments, 1).assertNumber$1("amount");
      return color.changeHsl$1$lightness(B.JSNumber_methods.clamp$2(color.get$lightness(0) + amount.valueInRange$3(0, 100, "amount"), 0, 100));
    },
    $signature: 29
  };
  A.global_closure20.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color"),
        amount = t1.$index($arguments, 1).assertNumber$1("amount");
      return color.changeHsl$1$lightness(B.JSNumber_methods.clamp$2(color.get$lightness(0) - amount.valueInRange$3(0, 100, "amount"), 0, 100));
    },
    $signature: 29
  };
  A.global_closure21.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0) instanceof A.SassNumber || t1.$index($arguments, 0).get$isSpecialNumber())
        return A._functionString("saturate", $arguments);
      return new A.SassString("saturate(" + A.serializeValue(t1.$index($arguments, 0).assertNumber$1("amount"), false, true) + ")", false);
    },
    $signature: 17
  };
  A.global_closure22.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color"),
        amount = t1.$index($arguments, 1).assertNumber$1("amount");
      return color.changeHsl$1$saturation(B.JSNumber_methods.clamp$2(color.get$saturation(0) + amount.valueInRange$3(0, 100, "amount"), 0, 100));
    },
    $signature: 29
  };
  A.global_closure23.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color"),
        amount = t1.$index($arguments, 1).assertNumber$1("amount");
      return color.changeHsl$1$saturation(B.JSNumber_methods.clamp$2(color.get$saturation(0) - amount.valueInRange$3(0, 100, "amount"), 0, 100));
    },
    $signature: 29
  };
  A.global_closure24.prototype = {
    call$1($arguments) {
      var argument = J.$index$asx($arguments, 0);
      if (argument instanceof A.SassString && !argument._hasQuotes && B.JSString_methods.contains$1(argument._string$_text, $.$get$_microsoftFilterStart()))
        return A._functionString("alpha", $arguments);
      return A.SassNumber_SassNumber(argument.assertColor$1("color")._alpha, null);
    },
    $signature: 6
  };
  A.global_closure25.prototype = {
    call$1($arguments) {
      var t1,
        argList = J.$index$asx($arguments, 0).get$asList();
      if (argList.length !== 0 && B.JSArray_methods.every$1(argList, new A.global__closure()))
        return A._functionString("alpha", $arguments);
      t1 = argList.length;
      if (t1 === 0)
        throw A.wrapException(A.SassScriptException$("Missing argument $color.", null));
      else
        throw A.wrapException(A.SassScriptException$("Only 1 argument allowed, but " + t1 + " were passed.", null));
    },
    $signature: 17
  };
  A.global__closure.prototype = {
    call$1(argument) {
      return argument instanceof A.SassString && !argument._hasQuotes && B.JSString_methods.contains$1(argument._string$_text, $.$get$_microsoftFilterStart());
    },
    $signature: 72
  };
  A.global_closure26.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0) instanceof A.SassNumber || t1.$index($arguments, 0).get$isSpecialNumber())
        return A._functionString("opacity", $arguments);
      return A.SassNumber_SassNumber(t1.$index($arguments, 0).assertColor$1("color")._alpha, null);
    },
    $signature: 6
  };
  A.module_closure1.prototype = {
    call$1($arguments) {
      var result, color, t2,
        t1 = J.getInterceptor$asx($arguments),
        weight = t1.$index($arguments, 1).assertNumber$1("weight");
      if (t1.$index($arguments, 0) instanceof A.SassNumber) {
        if (weight._number$_value !== 100 || !weight.hasUnit$1("%"))
          throw A.wrapException(string$.Only_oa);
        result = A._functionString("invert", t1.take$1($arguments, 1));
        A.warnForDeprecation("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x29x20to_ci + result.toString$0(0), B.Deprecation_iDZ);
        return result;
      }
      color = t1.$index($arguments, 0).assertColor$1("color");
      t1 = color.get$red(0);
      t2 = color.get$green(0);
      return A._mixColors(color.changeRgb$3$blue$green$red(255 - color.get$blue(0), 255 - t2, 255 - t1), color, weight);
    },
    $signature: 6
  };
  A.module_closure2.prototype = {
    call$1($arguments) {
      var result,
        t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0) instanceof A.SassNumber) {
        result = A._functionString("grayscale", t1.take$1($arguments, 1));
        A.warnForDeprecation("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x29x20to_cg + result.toString$0(0), B.Deprecation_iDZ);
        return result;
      }
      return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0);
    },
    $signature: 6
  };
  A.module_closure3.prototype = {
    call$1($arguments) {
      return A._hwb($arguments);
    },
    $signature: 6
  };
  A.module_closure4.prototype = {
    call$1($arguments) {
      var parsed = A._parseChannels("hwb", A._setArrayType(["$hue", "$whiteness", "$blackness"], type$.JSArray_String), J.get$first$ax($arguments));
      if (parsed instanceof A.SassString)
        throw A.wrapException(A.SassScriptException$('Expected numeric channels, got "' + parsed.toString$0(0) + '".', null));
      else
        return A._hwb(type$.List_Value._as(parsed));
    },
    $signature: 6
  };
  A.module_closure5.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$whiteness(0), "%");
    },
    $signature: 11
  };
  A.module_closure6.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$blackness(0), "%");
    },
    $signature: 11
  };
  A.module_closure7.prototype = {
    call$1($arguments) {
      var result,
        argument = J.$index$asx($arguments, 0);
      if (argument instanceof A.SassString && !argument._hasQuotes && B.JSString_methods.contains$1(argument._string$_text, $.$get$_microsoftFilterStart())) {
        result = A._functionString("alpha", $arguments);
        A.warnForDeprecation(string$.Using_c + result.toString$0(0), B.Deprecation_iDZ);
        return result;
      }
      return A.SassNumber_SassNumber(argument.assertColor$1("color")._alpha, null);
    },
    $signature: 6
  };
  A.module_closure8.prototype = {
    call$1($arguments) {
      var result,
        t1 = J.getInterceptor$asx($arguments);
      if (B.JSArray_methods.every$1(t1.$index($arguments, 0).get$asList(), new A.module__closure1())) {
        result = A._functionString("alpha", $arguments);
        A.warnForDeprecation(string$.Using_c + result.toString$0(0), B.Deprecation_iDZ);
        return result;
      }
      throw A.wrapException(A.SassScriptException$("Only 1 argument allowed, but " + t1.get$length($arguments) + " were passed.", null));
    },
    $signature: 17
  };
  A.module__closure1.prototype = {
    call$1(argument) {
      return argument instanceof A.SassString && !argument._hasQuotes && B.JSString_methods.contains$1(argument._string$_text, $.$get$_microsoftFilterStart());
    },
    $signature: 72
  };
  A.module_closure9.prototype = {
    call$1($arguments) {
      var result,
        t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0) instanceof A.SassNumber) {
        result = A._functionString("opacity", $arguments);
        A.warnForDeprecation("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x20to_co + result.toString$0(0), B.Deprecation_iDZ);
        return result;
      }
      return A.SassNumber_SassNumber(t1.$index($arguments, 0).assertColor$1("color")._alpha, null);
    },
    $signature: 6
  };
  A._red_closure.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$red(0), null);
    },
    $signature: 11
  };
  A._green_closure.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$green(0), null);
    },
    $signature: 11
  };
  A._blue_closure.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$blue(0), null);
    },
    $signature: 11
  };
  A._mix_closure.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      return A._mixColors(t1.$index($arguments, 0).assertColor$1("color1"), t1.$index($arguments, 1).assertColor$1("color2"), t1.$index($arguments, 2).assertNumber$1("weight"));
    },
    $signature: 29
  };
  A._hue_closure.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$hue(0), "deg");
    },
    $signature: 11
  };
  A._saturation_closure.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$saturation(0), "%");
    },
    $signature: 11
  };
  A._lightness_closure.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$lightness(0), "%");
    },
    $signature: 11
  };
  A._complement_closure.prototype = {
    call$1($arguments) {
      var color = J.$index$asx($arguments, 0).assertColor$1("color");
      return color.changeHsl$1$hue(color.get$hue(0) + 180);
    },
    $signature: 29
  };
  A._adjust_closure.prototype = {
    call$1($arguments) {
      return A._updateComponents($arguments, true, false, false);
    },
    $signature: 29
  };
  A._scale_closure.prototype = {
    call$1($arguments) {
      return A._updateComponents($arguments, false, false, true);
    },
    $signature: 29
  };
  A._change_closure.prototype = {
    call$1($arguments) {
      return A._updateComponents($arguments, false, true, false);
    },
    $signature: 29
  };
  A._ieHexStr_closure.prototype = {
    call$1($arguments) {
      var color = J.$index$asx($arguments, 0).assertColor$1("color"),
        t1 = new A._ieHexStr_closure_hexString();
      return new A.SassString("#" + A.S(t1.call$1(A.fuzzyRound(color._alpha * 255))) + A.S(t1.call$1(color.get$red(0))) + A.S(t1.call$1(color.get$green(0))) + A.S(t1.call$1(color.get$blue(0))), false);
    },
    $signature: 17
  };
  A._ieHexStr_closure_hexString.prototype = {
    call$1(component) {
      return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(component, 16), 2, "0").toUpperCase();
    },
    $signature: 191
  };
  A._updateComponents_getParam.prototype = {
    call$5$assertPercent$checkPercent$checkUnitless($name, max, assertPercent, checkPercent, checkUnitless) {
      var t2, _this = this,
        t1 = _this.keywords.remove$1(0, $name),
        number = t1 == null ? null : t1.assertNumber$1($name);
      if (number == null)
        return null;
      t1 = _this.scale;
      t2 = !t1;
      if (t2 && checkUnitless)
        if (number.get$hasUnits())
          A.warnForDeprecation("$" + $name + ": Passing a number with unit " + number.get$unitString() + string$.x20is_de + number.unitSuggestion$1($name) + string$.x0a_Morex3a, B.Deprecation_2jN);
      if (t2 && checkPercent)
        A._checkPercent(number, $name);
      if (!t2 || assertPercent)
        number.assertUnit$2("%", $name);
      if (t1)
        max = 100;
      if (!t2 || assertPercent)
        t1 = number.valueInRange$3(_this.change ? 0 : -max, max, $name);
      else {
        t1 = _this.change ? 0 : -max;
        t1 = number.valueInRangeWithUnit$4(t1, max, $name, checkPercent ? "%" : "");
      }
      return t1;
    },
    call$2($name, max) {
      return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, false, false, false);
    },
    call$3$checkUnitless($name, max, checkUnitless) {
      return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, false, false, checkUnitless);
    },
    call$3$checkPercent($name, max, checkPercent) {
      return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, false, checkPercent, false);
    },
    call$3$assertPercent($name, max, assertPercent) {
      return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, assertPercent, false, false);
    },
    $signature: 189
  };
  A._updateComponents_closure.prototype = {
    call$1(hue) {
      return A._angleValue(hue, "hue");
    },
    $signature: 83
  };
  A._updateComponents_closure0.prototype = {
    call$1($name) {
      return "$" + $name;
    },
    $signature: 5
  };
  A._updateComponents_updateValue.prototype = {
    call$3(current, param, max) {
      var t1;
      if (param == null)
        return current;
      if (this.change)
        return param;
      if (this.adjust)
        return B.JSNumber_methods.clamp$2(current + param, 0, max);
      t1 = param > 0 ? max - current : current;
      return current + t1 * (param / 100);
    },
    $signature: 251
  };
  A._updateComponents_updateRgb.prototype = {
    call$2(current, param) {
      return A.fuzzyRound(this.updateValue.call$3(current, param, 255));
    },
    $signature: 249
  };
  A._functionString_closure.prototype = {
    call$1(argument) {
      return A.serializeValue(argument, false, true);
    },
    $signature: 475
  };
  A._removedColorFunction_closure.prototype = {
    call$1($arguments) {
      var t1 = this.name,
        t2 = J.getInterceptor$asx($arguments),
        t3 = A.S(t2.$index($arguments, 0)),
        t4 = this.negative ? "-" : "";
      throw A.wrapException(A.SassScriptException$("The function " + t1 + string$.x28__isn + t3 + ", $" + this.argument + ": " + t4 + A.S(t2.$index($arguments, 1)) + string$.x29x0a_Mor + t1, null));
    },
    $signature: 527
  };
  A._rgb_closure.prototype = {
    call$1(alpha) {
      return A._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha");
    },
    $signature: 83
  };
  A._hsl_closure.prototype = {
    call$1(alpha) {
      return A._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha");
    },
    $signature: 83
  };
  A._hwb_closure.prototype = {
    call$1(alpha) {
      return A._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha");
    },
    $signature: 83
  };
  A._parseChannels_closure.prototype = {
    call$1(value) {
      return value.get$isVar();
    },
    $signature: 72
  };
  A._length_closure0.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber(J.$index$asx($arguments, 0).get$asList().length, null);
    },
    $signature: 11
  };
  A._nth_closure.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        list = t1.$index($arguments, 0),
        index = t1.$index($arguments, 1);
      return list.get$asList()[list.sassIndexToListIndex$2(index, "n")];
    },
    $signature: 6
  };
  A._setNth_closure.prototype = {
    call$1($arguments) {
      var newList,
        t1 = J.getInterceptor$asx($arguments),
        list = t1.$index($arguments, 0),
        index = t1.$index($arguments, 1),
        value = t1.$index($arguments, 2);
      t1 = list.get$asList();
      newList = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
      newList[list.sassIndexToListIndex$2(index, "n")] = value;
      return list.withListContents$1(newList);
    },
    $signature: 24
  };
  A._join_closure.prototype = {
    call$1($arguments) {
      var _0_1, _0_4, _0_3, t2, _0_40, separator, bracketed, _null = null,
        t1 = J.getInterceptor$asx($arguments),
        list1 = t1.$index($arguments, 0),
        list2 = t1.$index($arguments, 1),
        separatorParam = t1.$index($arguments, 2).assertString$1("separator"),
        bracketedParam = t1.$index($arguments, 3),
        _1_0 = separatorParam._string$_text;
      $label1$1: {
        if ("auto" === _1_0) {
          _0_1 = list1.get$separator(list1);
          _0_4 = list2.get$separator(list2);
          $label0$0: {
            _0_3 = B.ListSeparator_undecided_null_undecided === _0_1;
            t1 = _0_3;
            if (t1) {
              t2 = B.ListSeparator_undecided_null_undecided === _0_4;
              _0_40 = _0_4;
            } else {
              _0_40 = _null;
              t2 = false;
            }
            if (t2) {
              t1 = B.ListSeparator_nbm;
              break $label0$0;
            }
            if (_0_3)
              separator = t1 ? _0_40 : _0_4;
            else
              separator = _null;
            if (!_0_3)
              separator = _0_1;
            t1 = separator;
            break $label0$0;
          }
          break $label1$1;
        }
        if ("space" === _1_0) {
          t1 = B.ListSeparator_nbm;
          break $label1$1;
        }
        if ("comma" === _1_0) {
          t1 = B.ListSeparator_ECn;
          break $label1$1;
        }
        if ("slash" === _1_0) {
          t1 = B.ListSeparator_cQA;
          break $label1$1;
        }
        t1 = A.throwExpression(A.SassScriptException$(string$.x24separ, _null));
      }
      bracketed = bracketedParam instanceof A.SassString && bracketedParam._string$_text === "auto" ? list1.get$hasBrackets() : bracketedParam.get$isTruthy();
      t2 = A.List_List$of(list1.get$asList(), true, type$.Value);
      B.JSArray_methods.addAll$1(t2, list2.get$asList());
      return A.SassList$(t2, t1, bracketed);
    },
    $signature: 24
  };
  A._append_closure0.prototype = {
    call$1($arguments) {
      var t2,
        t1 = J.getInterceptor$asx($arguments),
        list = t1.$index($arguments, 0),
        value = t1.$index($arguments, 1),
        _0_0 = t1.$index($arguments, 2).assertString$1("separator")._string$_text;
      $label0$0: {
        if ("auto" === _0_0) {
          t1 = list.get$separator(list) === B.ListSeparator_undecided_null_undecided ? B.ListSeparator_nbm : list.get$separator(list);
          break $label0$0;
        }
        if ("space" === _0_0) {
          t1 = B.ListSeparator_nbm;
          break $label0$0;
        }
        if ("comma" === _0_0) {
          t1 = B.ListSeparator_ECn;
          break $label0$0;
        }
        if ("slash" === _0_0) {
          t1 = B.ListSeparator_cQA;
          break $label0$0;
        }
        t1 = A.throwExpression(A.SassScriptException$(string$.x24separ, null));
      }
      t2 = A.List_List$of(list.get$asList(), true, type$.Value);
      t2.push(value);
      return list.withListContents$2$separator(t2, t1);
    },
    $signature: 24
  };
  A._zip_closure.prototype = {
    call$1($arguments) {
      var results, result, _box_0 = {},
        t1 = J.$index$asx($arguments, 0).get$asList(),
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,List>"),
        lists = A.List_List$of(new A.MappedListIterable(t1, new A._zip__closure(), t2), true, t2._eval$1("ListIterable.E"));
      if (lists.length === 0)
        return B.SassList_bdS;
      _box_0.i = 0;
      results = A._setArrayType([], type$.JSArray_SassList);
      for (t1 = A._arrayInstanceType(lists)._eval$1("MappedListIterable<1,Value>"), t2 = type$.Value; B.JSArray_methods.every$1(lists, new A._zip__closure0(_box_0));) {
        result = A.List_List$from(new A.MappedListIterable(lists, new A._zip__closure1(_box_0), t1), false, t2);
        result.fixed$length = Array;
        result.immutable$list = Array;
        results.push(new A.SassList(result, B.ListSeparator_nbm, false));
        ++_box_0.i;
      }
      return A.SassList$(results, B.ListSeparator_ECn, false);
    },
    $signature: 24
  };
  A._zip__closure.prototype = {
    call$1(list) {
      return list.get$asList();
    },
    $signature: 591
  };
  A._zip__closure0.prototype = {
    call$1(list) {
      return this._box_0.i !== J.get$length$asx(list);
    },
    $signature: 608
  };
  A._zip__closure1.prototype = {
    call$1(list) {
      return J.$index$asx(list, this._box_0.i);
    },
    $signature: 6
  };
  A._index_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        index = B.JSArray_methods.indexOf$1(t1.$index($arguments, 0).get$asList(), t1.$index($arguments, 1));
      return index === -1 ? B.C__SassNull : A.SassNumber_SassNumber(index + 1, null);
    },
    $signature: 6
  };
  A._separator_closure.prototype = {
    call$1($arguments) {
      var t1,
        _0_0 = J.get$separator$x(J.$index$asx($arguments, 0));
      $label0$0: {
        if (B.ListSeparator_ECn === _0_0) {
          t1 = new A.SassString("comma", false);
          break $label0$0;
        }
        if (B.ListSeparator_cQA === _0_0) {
          t1 = new A.SassString("slash", false);
          break $label0$0;
        }
        t1 = new A.SassString("space", false);
        break $label0$0;
      }
      return t1;
    },
    $signature: 17
  };
  A._isBracketed_closure.prototype = {
    call$1($arguments) {
      return J.$index$asx($arguments, 0).get$hasBrackets() ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._slash_closure.prototype = {
    call$1($arguments) {
      var list = J.$index$asx($arguments, 0).get$asList();
      if (list.length < 2)
        throw A.wrapException(A.SassScriptException$("At least two elements are required.", null));
      return A.SassList$(list, B.ListSeparator_cQA, false);
    },
    $signature: 24
  };
  A._get_closure.prototype = {
    call$1($arguments) {
      var value,
        t1 = J.getInterceptor$asx($arguments),
        map = t1.$index($arguments, 0).assertMap$1("map"),
        t2 = A._setArrayType([t1.$index($arguments, 1)], type$.JSArray_Value);
      B.JSArray_methods.addAll$1(t2, t1.$index($arguments, 2).get$asList());
      for (t1 = A.IterableExtension_get_exceptLast(t2), t1 = t1.get$iterator(t1); t1.moveNext$0(); map = value) {
        value = map._map$_contents.$index(0, t1.get$current(t1));
        if (!(value instanceof A.SassMap))
          return B.C__SassNull;
      }
      t1 = map._map$_contents.$index(0, B.JSArray_methods.get$last(t2));
      return t1 == null ? B.C__SassNull : t1;
    },
    $signature: 6
  };
  A._set_closure.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      return A._modify(t1.$index($arguments, 0).assertMap$1("map"), A._setArrayType([t1.$index($arguments, 1)], type$.JSArray_Value), new A._set__closure0($arguments), true);
    },
    $signature: 6
  };
  A._set__closure0.prototype = {
    call$1(_) {
      return J.$index$asx(this.$arguments, 2);
    },
    $signature: 39
  };
  A._set_closure0.prototype = {
    call$1($arguments) {
      var keys, t3, t1 = {},
        t2 = J.getInterceptor$asx($arguments),
        map = t2.$index($arguments, 0).assertMap$1("map"),
        _0_0 = t2.$index($arguments, 1).get$asList(),
        _0_1 = _0_0.length;
      if (_0_1 <= 0)
        throw A.wrapException(A.SassScriptException$("Expected $args to contain a key.", null));
      if (_0_1 === 1)
        throw A.wrapException(A.SassScriptException$("Expected $args to contain a value.", null));
      keys = t1.value = null;
      t2 = _0_1 >= 1;
      if (t2) {
        t3 = _0_1 - 1;
        keys = B.JSArray_methods.sublist$2(_0_0, 0, t3);
        t1.value = _0_0[t3];
      }
      if (t2)
        return A._modify(map, keys, new A._set__closure(t1), true);
      throw A.wrapException("[BUG] Unreachable code");
    },
    $signature: 6
  };
  A._set__closure.prototype = {
    call$1(_) {
      return this._box_0.value;
    },
    $signature: 39
  };
  A._merge_closure.prototype = {
    call$1($arguments) {
      var t2,
        t1 = J.getInterceptor$asx($arguments),
        map1 = t1.$index($arguments, 0).assertMap$1("map1"),
        map2 = t1.$index($arguments, 1).assertMap$1("map2");
      t1 = type$.Value;
      t2 = A.LinkedHashMap_LinkedHashMap$of(map1._map$_contents, t1, t1);
      t2.addAll$1(0, map2._map$_contents);
      return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 33
  };
  A._merge_closure0.prototype = {
    call$1($arguments) {
      var t2, keys, last, _null = null,
        t1 = J.getInterceptor$asx($arguments),
        map1 = t1.$index($arguments, 0).assertMap$1("map1"),
        _0_0 = t1.$index($arguments, 1).get$asList(),
        _0_1 = _0_0.length;
      if (_0_1 <= 0)
        throw A.wrapException(A.SassScriptException$("Expected $args to contain a key.", _null));
      if (_0_1 === 1)
        throw A.wrapException(A.SassScriptException$("Expected $args to contain a map.", _null));
      t1 = _0_1 >= 1;
      if (t1) {
        t2 = _0_1 - 1;
        keys = B.JSArray_methods.sublist$2(_0_0, 0, t2);
        last = _0_0[t2];
      } else {
        last = _null;
        keys = last;
      }
      if (t1)
        return A._modify(map1, keys, new A._merge__closure(last.assertMap$1("map2")), true);
      throw A.wrapException("[BUG] Unreachable code");
    },
    $signature: 6
  };
  A._merge__closure.prototype = {
    call$1(oldValue) {
      var t1, t2,
        nestedMap = oldValue.tryMap$0();
      if (nestedMap == null)
        return this.map2;
      t1 = type$.Value;
      t2 = A.LinkedHashMap_LinkedHashMap$of(nestedMap._map$_contents, t1, t1);
      t2.addAll$1(0, this.map2._map$_contents);
      return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 301
  };
  A._deepMerge_closure.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      return A._deepMergeImpl(t1.$index($arguments, 0).assertMap$1("map1"), t1.$index($arguments, 1).assertMap$1("map2"));
    },
    $signature: 33
  };
  A._deepRemove_closure.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        map = t1.$index($arguments, 0).assertMap$1("map"),
        t2 = A._setArrayType([t1.$index($arguments, 1)], type$.JSArray_Value);
      B.JSArray_methods.addAll$1(t2, t1.$index($arguments, 2).get$asList());
      return A._modify(map, A.IterableExtension_get_exceptLast(t2), new A._deepRemove__closure(t2), false);
    },
    $signature: 6
  };
  A._deepRemove__closure.prototype = {
    call$1(value) {
      var t1, nestedMap, t2,
        _0_0 = value.tryMap$0();
      if (_0_0 != null) {
        t1 = _0_0._map$_contents.containsKey$1(B.JSArray_methods.get$last(this.keys));
        nestedMap = _0_0;
      } else {
        nestedMap = null;
        t1 = false;
      }
      if (t1) {
        t1 = type$.Value;
        t2 = A.LinkedHashMap_LinkedHashMap$of(nestedMap._map$_contents, t1, t1);
        t2.remove$1(0, B.JSArray_methods.get$last(this.keys));
        return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1));
      }
      return value;
    },
    $signature: 39
  };
  A._remove_closure.prototype = {
    call$1($arguments) {
      return J.$index$asx($arguments, 0).assertMap$1("map");
    },
    $signature: 33
  };
  A._remove_closure0.prototype = {
    call$1($arguments) {
      var mutableMap, t3, _i,
        t1 = J.getInterceptor$asx($arguments),
        map = t1.$index($arguments, 0).assertMap$1("map"),
        t2 = A._setArrayType([t1.$index($arguments, 1)], type$.JSArray_Value);
      B.JSArray_methods.addAll$1(t2, t1.$index($arguments, 2).get$asList());
      t1 = type$.Value;
      mutableMap = A.LinkedHashMap_LinkedHashMap$of(map._map$_contents, t1, t1);
      for (t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i)
        mutableMap.remove$1(0, t2[_i]);
      return new A.SassMap(A.ConstantMap_ConstantMap$from(mutableMap, t1, t1));
    },
    $signature: 33
  };
  A._keys_closure.prototype = {
    call$1($arguments) {
      var t1 = J.$index$asx($arguments, 0).assertMap$1("map")._map$_contents;
      return A.SassList$(t1.get$keys(t1), B.ListSeparator_ECn, false);
    },
    $signature: 24
  };
  A._values_closure.prototype = {
    call$1($arguments) {
      var t1 = J.$index$asx($arguments, 0).assertMap$1("map")._map$_contents;
      return A.SassList$(t1.get$values(t1), B.ListSeparator_ECn, false);
    },
    $signature: 24
  };
  A._hasKey_closure.prototype = {
    call$1($arguments) {
      var value,
        t1 = J.getInterceptor$asx($arguments),
        map = t1.$index($arguments, 0).assertMap$1("map"),
        t2 = A._setArrayType([t1.$index($arguments, 1)], type$.JSArray_Value);
      B.JSArray_methods.addAll$1(t2, t1.$index($arguments, 2).get$asList());
      for (t1 = A.IterableExtension_get_exceptLast(t2), t1 = t1.get$iterator(t1); t1.moveNext$0(); map = value) {
        value = map._map$_contents.$index(0, t1.get$current(t1));
        if (!(value instanceof A.SassMap))
          return B.SassBoolean_false;
      }
      return map._map$_contents.containsKey$1(B.JSArray_methods.get$last(t2)) ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._modify_modifyNestedMap.prototype = {
    call$1(map) {
      var nestedMap, _this = this,
        t1 = type$.Value,
        mutableMap = A.LinkedHashMap_LinkedHashMap$of(map._map$_contents, t1, t1),
        t2 = _this.keyIterator,
        key = t2.get$current(t2);
      if (!t2.moveNext$0()) {
        t2 = mutableMap.$index(0, key);
        if (t2 == null)
          t2 = B.C__SassNull;
        mutableMap.$indexSet(0, key, _this.modify.call$1(t2));
        return new A.SassMap(A.ConstantMap_ConstantMap$from(mutableMap, t1, t1));
      }
      t2 = mutableMap.$index(0, key);
      nestedMap = t2 == null ? null : t2.tryMap$0();
      t2 = nestedMap == null;
      if (t2 && !_this.addNesting)
        return new A.SassMap(A.ConstantMap_ConstantMap$from(mutableMap, t1, t1));
      mutableMap.$indexSet(0, key, _this.call$1(t2 ? B.SassMap_Map_empty : nestedMap));
      return new A.SassMap(A.ConstantMap_ConstantMap$from(mutableMap, t1, t1));
    },
    $signature: 627
  };
  A.global_closure.prototype = {
    call$1($arguments) {
      var t1,
        number = J.$index$asx($arguments, 0).assertNumber$1("number");
      if (number.hasUnit$1("%"))
        A.warnForDeprecation(string$.Passinp + number.toString$0(0) + ")\nTo emit a CSS abs() now: abs(#{" + number.toString$0(0) + string$.x7d__Mor, B.Deprecation_GFc);
      t1 = number.get$numeratorUnits(number);
      return A.SassNumber_SassNumber$withUnits(Math.abs(number._number$_value), number.get$denominatorUnits(number), t1);
    },
    $signature: 11
  };
  A.module_closure0.prototype = {
    call$1(value) {
      return Math.abs(value);
    },
    $signature: 37
  };
  A._ceil_closure.prototype = {
    call$1(value) {
      return B.JSNumber_methods.ceil$0(value);
    },
    $signature: 37
  };
  A._clamp_closure.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        min = t1.$index($arguments, 0).assertNumber$1("min"),
        number = t1.$index($arguments, 1).assertNumber$1("number"),
        max = t1.$index($arguments, 2).assertNumber$1("max");
      number.convertValueToMatch$3(min, "number", "min");
      max.convertValueToMatch$3(min, "max", "min");
      if (min.greaterThanOrEquals$1(max).value)
        return min;
      if (min.greaterThanOrEquals$1(number).value)
        return min;
      if (number.greaterThanOrEquals$1(max).value)
        return max;
      return number;
    },
    $signature: 11
  };
  A._floor_closure.prototype = {
    call$1(value) {
      return B.JSNumber_methods.floor$0(value);
    },
    $signature: 37
  };
  A._max_closure.prototype = {
    call$1($arguments) {
      var t1, t2, max, _i, number;
      for (t1 = J.$index$asx($arguments, 0).get$asList(), t2 = t1.length, max = null, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        number = t1[_i].assertNumber$0();
        if (max == null || max.lessThan$1(number).value)
          max = number;
      }
      if (max != null)
        return max;
      throw A.wrapException(A.SassScriptException$("At least one argument must be passed.", null));
    },
    $signature: 11
  };
  A._min_closure.prototype = {
    call$1($arguments) {
      var t1, t2, min, _i, number;
      for (t1 = J.$index$asx($arguments, 0).get$asList(), t2 = t1.length, min = null, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        number = t1[_i].assertNumber$0();
        if (min == null || min.greaterThan$1(number).value)
          min = number;
      }
      if (min != null)
        return min;
      throw A.wrapException(A.SassScriptException$("At least one argument must be passed.", null));
    },
    $signature: 11
  };
  A._round_closure.prototype = {
    call$1(number) {
      return B.JSNumber_methods.round$0(number);
    },
    $signature: 37
  };
  A._hypot_closure.prototype = {
    call$1($arguments) {
      var subtotal, i, i0, t3, t4,
        t1 = J.$index$asx($arguments, 0).get$asList(),
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,SassNumber>"),
        numbers = A.List_List$of(new A.MappedListIterable(t1, new A._hypot__closure(), t2), true, t2._eval$1("ListIterable.E"));
      t1 = numbers.length;
      if (t1 === 0)
        throw A.wrapException(A.SassScriptException$("At least one argument must be passed.", null));
      for (subtotal = 0, i = 0; i < t1; i = i0) {
        i0 = i + 1;
        subtotal += Math.pow(numbers[i].convertValueToMatch$3(numbers[0], "numbers[" + i0 + "]", "numbers[1]"), 2);
      }
      t1 = Math.sqrt(subtotal);
      t2 = numbers[0];
      t3 = J.getInterceptor$x(t2);
      t4 = t3.get$numeratorUnits(t2);
      return A.SassNumber_SassNumber$withUnits(t1, t3.get$denominatorUnits(t2), t4);
    },
    $signature: 11
  };
  A._hypot__closure.prototype = {
    call$1(argument) {
      return argument.assertNumber$0();
    },
    $signature: 606
  };
  A._log_closure.prototype = {
    call$1($arguments) {
      var base,
        _s18_ = " to have no units.",
        _null = null,
        t1 = J.getInterceptor$asx($arguments),
        number = t1.$index($arguments, 0).assertNumber$1("number");
      if (number.get$hasUnits())
        throw A.wrapException(A.SassScriptException$("$number: Expected " + number.toString$0(0) + _s18_, _null));
      else if (J.$eq$(t1.$index($arguments, 1), B.C__SassNull))
        return A.SassNumber_SassNumber(Math.log(number._number$_value), _null);
      base = t1.$index($arguments, 1).assertNumber$1("base");
      if (base.get$hasUnits())
        throw A.wrapException(A.SassScriptException$("$base: Expected " + base.toString$0(0) + _s18_, _null));
      else
        return A.SassNumber_SassNumber(Math.log(number._number$_value) / Math.log(base._number$_value), _null);
    },
    $signature: 11
  };
  A._pow_closure.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      return A.pow0(t1.$index($arguments, 0).assertNumber$1("base"), t1.$index($arguments, 1).assertNumber$1("exponent"));
    },
    $signature: 11
  };
  A._atan2_closure.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        y = t1.$index($arguments, 0).assertNumber$1("y");
      return A.SassNumber_SassNumber$withUnits(Math.atan2(y._number$_value, t1.$index($arguments, 1).assertNumber$1("x").convertValueToMatch$3(y, "x", "y")) * 57.29577951308232, null, A._setArrayType(["deg"], type$.JSArray_String));
    },
    $signature: 11
  };
  A._compatible_closure.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      return t1.$index($arguments, 0).assertNumber$1("number1").isComparableTo$1(t1.$index($arguments, 1).assertNumber$1("number2")) ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._isUnitless_closure.prototype = {
    call$1($arguments) {
      return !J.$index$asx($arguments, 0).assertNumber$1("number").get$hasUnits() ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._unit_closure.prototype = {
    call$1($arguments) {
      return new A.SassString(J.$index$asx($arguments, 0).assertNumber$1("number").get$unitString(), true);
    },
    $signature: 17
  };
  A._percentage_closure.prototype = {
    call$1($arguments) {
      var number = J.$index$asx($arguments, 0).assertNumber$1("number");
      number.assertNoUnits$1("number");
      return A.SassNumber_SassNumber(number._number$_value * 100, "%");
    },
    $signature: 11
  };
  A._randomFunction_closure.prototype = {
    call$1($arguments) {
      var limit, limitScalar,
        t1 = J.getInterceptor$asx($arguments);
      if (J.$eq$(t1.$index($arguments, 0), B.C__SassNull))
        return A.SassNumber_SassNumber($.$get$_random0().nextDouble$0(), null);
      limit = t1.$index($arguments, 0).assertNumber$1("limit");
      if (limit.get$hasUnits())
        A.warnForDeprecation(string$.math_r + limit.toString$0(0) + string$.x29x20in_a + limit.get$unitString() + ")) * 1" + limit.get$unitString() + string$.x0a_To_p + limit.get$unitString() + string$.x29x29__Mo, B.Deprecation_2jN);
      limitScalar = limit.assertInt$1("limit");
      if (limitScalar < 1)
        throw A.wrapException(A.SassScriptException$("$limit: Must be greater than 0, was " + limit.toString$0(0) + ".", null));
      return A.SassNumber_SassNumber($.$get$_random0().nextInt$1(limitScalar) + 1, null);
    },
    $signature: 11
  };
  A._div_closure.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        number1 = t1.$index($arguments, 0),
        number2 = t1.$index($arguments, 1);
      if (!(number1 instanceof A.SassNumber) || !(number2 instanceof A.SassNumber))
        A.warn(string$.math_d);
      return number1.dividedBy$1(number2);
    },
    $signature: 6
  };
  A._singleArgumentMathFunc_closure.prototype = {
    call$1($arguments) {
      return this.mathFunc.call$1(J.$index$asx($arguments, 0).assertNumber$1("number"));
    },
    $signature: 11
  };
  A._numberFunction_closure.prototype = {
    call$1($arguments) {
      var number = J.$index$asx($arguments, 0).assertNumber$1("number"),
        t1 = this.transform.call$1(number._number$_value),
        t2 = number.get$numeratorUnits(number);
      return A.SassNumber_SassNumber$withUnits(t1, number.get$denominatorUnits(number), t2);
    },
    $signature: 11
  };
  A.global_closure27.prototype = {
    call$1($arguments) {
      return $._features.contains$1(0, J.$index$asx($arguments, 0).assertString$1("feature")._string$_text) ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A.global_closure28.prototype = {
    call$1($arguments) {
      return new A.SassString(A.serializeValue(J.get$first$ax($arguments), true, true), false);
    },
    $signature: 17
  };
  A.global_closure29.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        _0_0 = t1.$index($arguments, 0);
      $label0$0: {
        if (_0_0 instanceof A.SassArgumentList) {
          t1 = "arglist";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassBoolean) {
          t1 = "bool";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassColor) {
          t1 = "color";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassList) {
          t1 = "list";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassMap) {
          t1 = "map";
          break $label0$0;
        }
        if (B.C__SassNull === _0_0) {
          t1 = "null";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassNumber) {
          t1 = "number";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassFunction) {
          t1 = "function";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassMixin) {
          t1 = "mixin";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassCalculation) {
          t1 = "calculation";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassString) {
          t1 = "string";
          break $label0$0;
        }
        t1 = A.throwExpression("[BUG] Unknown value type " + A.S(t1.$index($arguments, 0)));
      }
      return new A.SassString(t1, false);
    },
    $signature: 17
  };
  A.global_closure30.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.getInterceptor$asx($arguments),
        _1_0 = t1.$index($arguments, 0);
      if (_1_0 instanceof A.SassArgumentList) {
        _1_0._wereKeywordsAccessed = true;
        t1 = type$.Value;
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
        for (t3 = A.MapExtensions_get_pairs(_1_0._keywords, type$.String, t1), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
          t4 = t3.get$current(t3);
          t2.$indexSet(0, new A.SassString(t4._0, false), t4._1);
        }
        return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1));
      } else
        throw A.wrapException("$args: " + A.S(t1.$index($arguments, 0)) + " is not an argument list.");
    },
    $signature: 33
  };
  A.local_closure.prototype = {
    call$1($arguments) {
      return new A.SassString(J.$index$asx($arguments, 0).assertCalculation$1("calc").name, true);
    },
    $signature: 17
  };
  A.local_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.$index$asx($arguments, 0).assertCalculation$1("calc").$arguments;
      return A.SassList$(new A.MappedListIterable(t1, new A.local__closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value>")), B.ListSeparator_ECn, false);
    },
    $signature: 24
  };
  A.local__closure.prototype = {
    call$1(argument) {
      return argument instanceof A.Value ? argument : new A.SassString(J.toString$0$(argument), false);
    },
    $signature: 605
  };
  A.local_closure1.prototype = {
    call$1($arguments) {
      var _0_2_isSet, _0_2, acceptsContent, t1, _0_5_isSet, _0_5, hasContent,
        mixin = J.$index$asx($arguments, 0).assertMixin$1("mixin"),
        _0_0 = mixin.callable;
      $label0$0: {
        _0_2_isSet = type$.AsyncBuiltInCallable._is(_0_0);
        if (_0_2_isSet) {
          _0_2 = _0_0.get$acceptsContent();
          acceptsContent = _0_2;
        } else
          acceptsContent = null;
        if (!_0_2_isSet) {
          _0_2_isSet = _0_0 instanceof A.BuiltInCallable;
          if (_0_2_isSet) {
            _0_2 = _0_0.acceptsContent;
            acceptsContent = _0_2;
          }
          t1 = _0_2_isSet;
        } else
          t1 = true;
        if (t1) {
          t1 = acceptsContent;
          break $label0$0;
        }
        _0_5_isSet = _0_0 instanceof A.UserDefinedCallable;
        if (_0_5_isSet) {
          _0_5 = _0_0.declaration;
          t1 = _0_5 instanceof A.MixinRule;
        } else {
          _0_5 = null;
          t1 = false;
        }
        if (t1) {
          t1 = _0_5_isSet ? _0_5 : _0_0.declaration;
          hasContent = type$.MixinRule._as(t1).get$hasContent();
          t1 = hasContent;
          break $label0$0;
        }
        t1 = A.throwExpression(A.UnsupportedError$("Unknown callable type " + mixin.toString$0(0) + "."));
      }
      return t1 ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._nest_closure.prototype = {
    call$1($arguments) {
      var t1 = {},
        selectors = J.$index$asx($arguments, 0).get$asList();
      if (selectors.length === 0)
        throw A.wrapException(A.SassScriptException$(string$.x24selec, null));
      t1.first = true;
      return new A.MappedListIterable(selectors, new A._nest__closure(t1), A._arrayInstanceType(selectors)._eval$1("MappedListIterable<1,SelectorList>")).reduce$1(0, new A._nest__closure0()).get$asSassList();
    },
    $signature: 24
  };
  A._nest__closure.prototype = {
    call$1(selector) {
      var t1 = this._box_0,
        result = A.SassApiValue_assertSelector(selector, !t1.first, null);
      t1.first = false;
      return result;
    },
    $signature: 137
  };
  A._nest__closure0.prototype = {
    call$2($parent, child) {
      return child.nestWithin$1($parent);
    },
    $signature: 138
  };
  A._append_closure.prototype = {
    call$1($arguments) {
      var t1,
        selectors = J.$index$asx($arguments, 0).get$asList();
      if (selectors.length === 0)
        throw A.wrapException(A.SassScriptException$(string$.x24selec, null));
      t1 = A.EvaluationContext_currentOrNull();
      return new A.MappedListIterable(selectors, new A._append__closure(), A._arrayInstanceType(selectors)._eval$1("MappedListIterable<1,SelectorList>")).reduce$1(0, new A._append__closure0((t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan())).get$asSassList();
    },
    $signature: 24
  };
  A._append__closure.prototype = {
    call$1(selector) {
      return A.SassApiValue_assertSelector(selector, false, null);
    },
    $signature: 137
  };
  A._append__closure0.prototype = {
    call$2($parent, child) {
      var t1 = child.components,
        t2 = this.span;
      return A.SelectorList$(new A.MappedListIterable(t1, new A._append___closure($parent, t2), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ComplexSelector>")), t2).nestWithin$1($parent);
    },
    $signature: 138
  };
  A._append___closure.prototype = {
    call$1(complex) {
      var _0_0, t1, component, rest, newCompound, t2, _null = null;
      if (complex.leadingCombinators.length !== 0)
        throw A.wrapException(A.SassScriptException$("Can't append " + complex.toString$0(0) + " to " + this.parent.toString$0(0) + ".", _null));
      _0_0 = complex.components;
      t1 = _0_0.length >= 1;
      if (t1) {
        component = _0_0[0];
        rest = B.JSArray_methods.sublist$1(_0_0, 1);
      } else {
        rest = _null;
        component = rest;
      }
      if (!t1)
        throw A.wrapException(A.StateError$("Pattern matching error"));
      newCompound = A._prependParent(component.selector);
      if (newCompound == null)
        throw A.wrapException(A.SassScriptException$("Can't append " + complex.toString$0(0) + " to " + this.parent.toString$0(0) + ".", _null));
      t1 = this.span;
      t2 = A._setArrayType([new A.ComplexSelectorComponent(newCompound, A.List_List$unmodifiable(component.combinators, type$.CssValue_Combinator), t1)], type$.JSArray_ComplexSelectorComponent);
      B.JSArray_methods.addAll$1(t2, rest);
      return A.ComplexSelector$(B.List_empty0, t2, t1, false);
    },
    $signature: 59
  };
  A._extend_closure.prototype = {
    call$1($arguments) {
      var target, source,
        _s8_ = "selector",
        _s8_0 = "extendee",
        _s8_1 = "extender",
        t1 = J.getInterceptor$asx($arguments),
        selector = A.SassApiValue_assertSelector(t1.$index($arguments, 0), false, _s8_);
      selector.assertNotBogus$1$name(_s8_);
      target = A.SassApiValue_assertSelector(t1.$index($arguments, 1), false, _s8_0);
      target.assertNotBogus$1$name(_s8_0);
      source = A.SassApiValue_assertSelector(t1.$index($arguments, 2), false, _s8_1);
      source.assertNotBogus$1$name(_s8_1);
      t1 = A.EvaluationContext_currentOrNull();
      return A.ExtensionStore__extendOrReplace(selector, source, target, B.ExtendMode_allTargets_allTargets, (t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan()).get$asSassList();
    },
    $signature: 24
  };
  A._replace_closure.prototype = {
    call$1($arguments) {
      var target, source,
        _s8_ = "selector",
        _s8_0 = "original",
        _s11_ = "replacement",
        t1 = J.getInterceptor$asx($arguments),
        selector = A.SassApiValue_assertSelector(t1.$index($arguments, 0), false, _s8_);
      selector.assertNotBogus$1$name(_s8_);
      target = A.SassApiValue_assertSelector(t1.$index($arguments, 1), false, _s8_0);
      target.assertNotBogus$1$name(_s8_0);
      source = A.SassApiValue_assertSelector(t1.$index($arguments, 2), false, _s11_);
      source.assertNotBogus$1$name(_s11_);
      t1 = A.EvaluationContext_currentOrNull();
      return A.ExtensionStore__extendOrReplace(selector, source, target, B.ExtendMode_replace_replace, (t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan()).get$asSassList();
    },
    $signature: 24
  };
  A._unify_closure.prototype = {
    call$1($arguments) {
      var selector2,
        _s9_ = "selector1",
        _s9_0 = "selector2",
        t1 = J.getInterceptor$asx($arguments),
        selector1 = A.SassApiValue_assertSelector(t1.$index($arguments, 0), false, _s9_);
      selector1.assertNotBogus$1$name(_s9_);
      selector2 = A.SassApiValue_assertSelector(t1.$index($arguments, 1), false, _s9_0);
      selector2.assertNotBogus$1$name(_s9_0);
      t1 = selector1.unify$1(selector2);
      t1 = t1 == null ? null : t1.get$asSassList();
      return t1 == null ? B.C__SassNull : t1;
    },
    $signature: 6
  };
  A._isSuperselector_closure.prototype = {
    call$1($arguments) {
      var selector2,
        t1 = J.getInterceptor$asx($arguments),
        selector1 = A.SassApiValue_assertSelector(t1.$index($arguments, 0), false, "super");
      selector1.assertNotBogus$1$name("super");
      selector2 = A.SassApiValue_assertSelector(t1.$index($arguments, 1), false, "sub");
      selector2.assertNotBogus$1$name("sub");
      return A.listIsSuperselector(selector1.components, selector2.components) ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._simpleSelectors_closure.prototype = {
    call$1($arguments) {
      var t1 = A.SassApiValue_assertCompoundSelector(J.$index$asx($arguments, 0), "selector").components;
      return A.SassList$(new A.MappedListIterable(t1, new A._simpleSelectors__closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value>")), B.ListSeparator_ECn, false);
    },
    $signature: 24
  };
  A._simpleSelectors__closure.prototype = {
    call$1(simple) {
      return new A.SassString(A.serializeSelector(simple, true), false);
    },
    $signature: 590
  };
  A._parse_closure.prototype = {
    call$1($arguments) {
      return A.SassApiValue_assertSelector(J.$index$asx($arguments, 0), false, "selector").get$asSassList();
    },
    $signature: 24
  };
  A.module_closure.prototype = {
    call$1($arguments) {
      var limit, t2, chunks, i, lastEnd, match, t3,
        t1 = J.getInterceptor$asx($arguments),
        string = t1.$index($arguments, 0).assertString$1("string"),
        separator = t1.$index($arguments, 1).assertString$1("separator");
      t1 = t1.$index($arguments, 2).get$realNull();
      limit = t1 == null ? null : t1.assertNumber$1("limit").assertInt$1("limit");
      if (limit != null && limit < 1)
        throw A.wrapException(A.SassScriptException$("$limit: Must be 1 or greater, was " + A.S(limit) + ".", null));
      t1 = string._string$_text;
      if (t1.length === 0)
        return B.SassList_bdS0;
      else {
        t2 = separator._string$_text;
        if (t2.length === 0)
          return A.SassList$(A.MappedIterable_MappedIterable(new A.Runes(t1), new A.module__closure(string), type$.Runes._eval$1("Iterable.E"), type$.Value), B.ListSeparator_ECn, true);
      }
      chunks = A._setArrayType([], type$.JSArray_String);
      for (t2 = B.JSString_methods.allMatches$1(t2, t1), t2 = new A._StringAllMatchesIterator(t2._input, t2._pattern, t2.__js_helper$_index), i = 0, lastEnd = 0; t2.moveNext$0();) {
        match = t2.__js_helper$_current;
        t3 = match.start;
        chunks.push(B.JSString_methods.substring$2(t1, lastEnd, t3));
        lastEnd = t3 + match.pattern.length;
        ++i;
        if (i === limit)
          break;
      }
      chunks.push(B.JSString_methods.substring$1(t1, lastEnd));
      return A.SassList$(new A.MappedListIterable(chunks, new A.module__closure0(string), type$.MappedListIterable_String_Value), B.ListSeparator_ECn, true);
    },
    $signature: 24
  };
  A.module__closure.prototype = {
    call$1(rune) {
      return new A.SassString(A.Primitives_stringFromCharCode(rune), this.string._hasQuotes);
    },
    $signature: 569
  };
  A.module__closure0.prototype = {
    call$1(chunk) {
      return new A.SassString(chunk, this.string._hasQuotes);
    },
    $signature: 562
  };
  A._unquote_closure.prototype = {
    call$1($arguments) {
      var string = J.$index$asx($arguments, 0).assertString$1("string");
      if (!string._hasQuotes)
        return string;
      return new A.SassString(string._string$_text, false);
    },
    $signature: 17
  };
  A._quote_closure.prototype = {
    call$1($arguments) {
      var string = J.$index$asx($arguments, 0).assertString$1("string");
      if (string._hasQuotes)
        return string;
      return new A.SassString(string._string$_text, true);
    },
    $signature: 17
  };
  A._length_closure.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber(J.$index$asx($arguments, 0).assertString$1("string").get$_sassLength(), null);
    },
    $signature: 11
  };
  A._insert_closure.prototype = {
    call$1($arguments) {
      var indexInt, codeUnitIndex, _s5_ = "index",
        t1 = J.getInterceptor$asx($arguments),
        string = t1.$index($arguments, 0).assertString$1("string"),
        insert = t1.$index($arguments, 1).assertString$1("insert"),
        index = t1.$index($arguments, 2).assertNumber$1(_s5_);
      index.assertNoUnits$1(_s5_);
      indexInt = index.assertInt$1(_s5_);
      if (indexInt < 0)
        indexInt = Math.max(string.get$_sassLength() + indexInt + 2, 0);
      t1 = string._string$_text;
      codeUnitIndex = A.codepointIndexToCodeUnitIndex(t1, A._codepointForIndex(indexInt, string.get$_sassLength(), false));
      return new A.SassString(B.JSString_methods.replaceRange$3(t1, codeUnitIndex, codeUnitIndex, insert._string$_text), string._hasQuotes);
    },
    $signature: 17
  };
  A._index_closure.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        t2 = t1.$index($arguments, 0).assertString$1("string")._string$_text,
        codeUnitIndex = B.JSString_methods.indexOf$1(t2, t1.$index($arguments, 1).assertString$1("substring")._string$_text);
      if (codeUnitIndex === -1)
        return B.C__SassNull;
      return A.SassNumber_SassNumber(A.codeUnitIndexToCodepointIndex(t2, codeUnitIndex) + 1, null);
    },
    $signature: 6
  };
  A._slice_closure.prototype = {
    call$1($arguments) {
      var lengthInCodepoints, endInt, startCodepoint, endCodepoint,
        _s8_ = "start-at",
        t1 = J.getInterceptor$asx($arguments),
        string = t1.$index($arguments, 0).assertString$1("string"),
        start = t1.$index($arguments, 1).assertNumber$1(_s8_),
        end = t1.$index($arguments, 2).assertNumber$1("end-at");
      start.assertNoUnits$1(_s8_);
      end.assertNoUnits$1("end-at");
      lengthInCodepoints = string.get$_sassLength();
      endInt = end.assertInt$0();
      if (endInt === 0)
        return string._hasQuotes ? $.$get$_emptyQuoted() : $.$get$_emptyUnquoted();
      startCodepoint = A._codepointForIndex(start.assertInt$0(), lengthInCodepoints, false);
      endCodepoint = A._codepointForIndex(endInt, lengthInCodepoints, true);
      if (endCodepoint === lengthInCodepoints)
        --endCodepoint;
      if (endCodepoint < startCodepoint)
        return string._hasQuotes ? $.$get$_emptyQuoted() : $.$get$_emptyUnquoted();
      t1 = string._string$_text;
      return new A.SassString(B.JSString_methods.substring$2(t1, A.codepointIndexToCodeUnitIndex(t1, startCodepoint), A.codepointIndexToCodeUnitIndex(t1, endCodepoint + 1)), string._hasQuotes);
    },
    $signature: 17
  };
  A._toUpperCase_closure.prototype = {
    call$1($arguments) {
      var t1, t2, i, t3, t4,
        string = J.$index$asx($arguments, 0).assertString$1("string");
      for (t1 = string._string$_text, t2 = t1.length, i = 0, t3 = ""; i < t2; ++i) {
        t4 = t1.charCodeAt(i);
        t3 += A.Primitives_stringFromCharCode(t4 >= 97 && t4 <= 122 ? t4 & 4294967263 : t4);
      }
      return new A.SassString(t3.charCodeAt(0) == 0 ? t3 : t3, string._hasQuotes);
    },
    $signature: 17
  };
  A._toLowerCase_closure.prototype = {
    call$1($arguments) {
      var t1, t2, i, t3, t4,
        string = J.$index$asx($arguments, 0).assertString$1("string");
      for (t1 = string._string$_text, t2 = t1.length, i = 0, t3 = ""; i < t2; ++i) {
        t4 = t1.charCodeAt(i);
        t3 += A.Primitives_stringFromCharCode(t4 >= 65 && t4 <= 90 ? t4 | 32 : t4);
      }
      return new A.SassString(t3.charCodeAt(0) == 0 ? t3 : t3, string._hasQuotes);
    },
    $signature: 17
  };
  A._uniqueId_closure.prototype = {
    call$1($arguments) {
      var t1 = $.$get$_previousUniqueId() + ($.$get$_random().nextInt$1(36) + 1);
      $._previousUniqueId = t1;
      if (t1 > Math.pow(36, 6))
        $._previousUniqueId = B.JSInt_methods.$mod($.$get$_previousUniqueId(), A._asInt(Math.pow(36, 6)));
      return new A.SassString("u" + B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1($.$get$_previousUniqueId(), 36), 6, "0"), false);
    },
    $signature: 17
  };
  A.ImportCache.prototype = {
    canonicalize$4$baseImporter$baseUrl$forImport(_, url, baseImporter, baseUrl, forImport) {
      var t1, resolvedUrl, key, relativeResult, t2, t3, t4, t5, t6, cacheable, i, importer, perImporterKey, t7, _1_0, _1_2_isSet, _1_2, result, _2_0, _2_1, _2_5_isSet, _2_3, _2_5, _2_3_isSet, j, _this = this, _null = null;
      if (A.isBrowser())
        t1 = (baseImporter == null || baseImporter instanceof A.NoOpImporter) && _this._importers.length === 0;
      else
        t1 = false;
      if (t1)
        throw A.wrapException(string$.Custom);
      if (baseImporter != null && url.get$scheme() === "") {
        resolvedUrl = baseUrl == null ? _null : baseUrl.resolveUri$1(url);
        if (resolvedUrl == null)
          resolvedUrl = url;
        key = new A._Record_3_forImport(baseImporter, resolvedUrl, forImport);
        relativeResult = _this._perImporterCanonicalizeCache.putIfAbsent$2(key, new A.ImportCache_canonicalize_closure(_this, baseImporter, resolvedUrl, baseUrl, forImport, key, url));
        if (relativeResult != null)
          return relativeResult;
      }
      key = new A._Record_2_forImport(url, forImport);
      t1 = _this._canonicalizeCache;
      if (t1.containsKey$1(key))
        return t1.$index(0, key);
      for (t2 = _this._importers, t3 = type$.Record_1_nullable_Object, t4 = _this._perImporterCanonicalizeCache, t5 = type$.nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl, t6 = type$.Record_3_Importer_and_Uri_and_Uri_originalUrl, cacheable = true, i = 0; i < t2.length; ++i) {
        importer = t2[i];
        perImporterKey = new A._Record_3_forImport(importer, url, forImport);
        if (t4.containsKey$1(perImporterKey)) {
          t7 = t4.$index(0, perImporterKey);
          _1_0 = new A._Record_1(t7 == null ? t5._as(t7) : t7);
        } else
          _1_0 = _null;
        _1_2_isSet = t3._is(_1_0);
        if (_1_2_isSet) {
          _1_2 = _1_0._0;
          t7 = _1_2 != null;
          if (t7) {
            t6._as(_1_2);
            result = _1_2;
          } else
            result = _null;
        } else {
          result = _null;
          _1_2 = result;
          t7 = false;
        }
        if (t7)
          return result;
        if (_1_2_isSet)
          t7 = _1_2 == null;
        else
          t7 = false;
        if (t7)
          continue;
        $label0$1: {
          _2_0 = _this._canonicalize$4(importer, url, baseUrl, forImport);
          _2_1 = _2_0._0;
          _2_5_isSet = _2_1 != null;
          if (_2_5_isSet) {
            result = _2_1 == null ? t6._as(_2_1) : _2_1;
            _2_3 = _2_0._1;
            t7 = _2_3;
            _2_5 = t7;
            t7 = t7 && cacheable;
          } else {
            result = _null;
            _2_3 = result;
            _2_5 = _2_3;
            t7 = false;
          }
          if (t7) {
            t1.$indexSet(0, key, result);
            return result;
          }
          if (_2_5_isSet) {
            t7 = _2_5;
            _2_3_isSet = _2_5_isSet;
          } else {
            _2_3 = _2_0._1;
            t7 = _2_3;
            _2_3_isSet = true;
          }
          t7 = t7 && !cacheable;
          if (t7) {
            t4.$indexSet(0, perImporterKey, _2_1);
            if (_2_1 != null)
              return _2_1;
            break $label0$1;
          }
          t7 = false === (_2_3_isSet ? _2_3 : _2_0._1);
          if (t7) {
            if (cacheable) {
              for (j = 0; j < i; ++j)
                t4.$indexSet(0, new A._Record_3_forImport(t2[j], url, forImport), _null);
              cacheable = false;
            }
            if (_2_1 != null)
              return _2_1;
          }
        }
      }
      if (cacheable)
        t1.$indexSet(0, key, _null);
      return _null;
    },
    canonicalize$3$baseImporter$baseUrl(_, url, baseImporter, baseUrl) {
      return this.canonicalize$4$baseImporter$baseUrl$forImport(0, url, baseImporter, baseUrl, false);
    },
    _canonicalize$4(importer, url, baseUrl, forImport) {
      var passContainingUrl, canonicalizeContext, t1, result, cacheable, _null = null;
      if (baseUrl != null)
        passContainingUrl = url.get$scheme() === "" || importer.isNonCanonicalScheme$1(url.get$scheme());
      else
        passContainingUrl = false;
      canonicalizeContext = new A.CanonicalizeContext(forImport, passContainingUrl ? baseUrl : _null);
      t1 = type$.nullable_Object;
      result = A.runZoned(new A.ImportCache__canonicalize_closure(importer, url), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__canonicalizeContext, canonicalizeContext], t1, t1), type$.nullable_Uri);
      cacheable = !passContainingUrl || !canonicalizeContext._wasContainingUrlAccessed;
      if (result == null)
        return new A._Record_2(_null, cacheable);
      if (result.get$scheme() === "")
        A.WarnForDeprecation_warnForDeprecation(this._logger, B.Deprecation_IMm, "Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2e_Rela, _null, _null);
      else if (importer.isNonCanonicalScheme$1(result.get$scheme()))
        throw A.wrapException("Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2c_whicu);
      return new A._Record_2(new A._Record_3_originalUrl(importer, result, url), cacheable);
    },
    importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, quiet) {
      return this._importCache.putIfAbsent$2(canonicalUrl, new A.ImportCache_importCanonical_closure(this, importer, canonicalUrl, originalUrl, quiet));
    },
    importCanonical$3$originalUrl(importer, canonicalUrl, originalUrl) {
      return this.importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, false);
    },
    importCanonical$2(importer, canonicalUrl) {
      return this.importCanonical$4$originalUrl$quiet(importer, canonicalUrl, null, false);
    },
    humanize$1(canonicalUrl) {
      var t1 = A.IterableNullableExtension_whereNotNull(this._canonicalizeCache.get$values(0), type$.Record_3_Importer_and_Uri_and_Uri_originalUrl),
        t2 = t1.$ti;
      t2 = A.NullableExtension_andThen(A.minBy(new A.MappedIterable(new A.WhereIterable(t1, new A.ImportCache_humanize_closure(canonicalUrl), t2._eval$1("WhereIterable")), new A.ImportCache_humanize_closure0(), t2._eval$1("MappedIterable")), new A.ImportCache_humanize_closure1()), new A.ImportCache_humanize_closure2(canonicalUrl));
      return t2 == null ? canonicalUrl : t2;
    },
    sourceMapUrl$1(_, canonicalUrl) {
      var t1 = this._resultsCache.$index(0, canonicalUrl);
      t1 = t1 == null ? null : t1.get$sourceMapUrl(0);
      return t1 == null ? canonicalUrl : t1;
    },
    clearCanonicalize$1(url) {
      var t1 = this._canonicalizeCache;
      t1.remove$1(0, new A._Record_2_forImport(url, false));
      t1.remove$1(0, new A._Record_2_forImport(url, true));
      this._perImporterCanonicalizeCache.removeWhere$1(0, new A.ImportCache_clearCanonicalize_closure(this, url));
    },
    clearImport$1(canonicalUrl) {
      this._resultsCache.remove$1(0, canonicalUrl);
      this._importCache.remove$1(0, canonicalUrl);
    }
  };
  A.ImportCache_canonicalize_closure.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.baseUrl,
        _0_0 = t1._canonicalize$4(_this.baseImporter, _this.resolvedUrl, t2, _this.forImport);
      if (t2 != null)
        t1._nonCanonicalRelativeUrls.$indexSet(0, _this.key, _this.url);
      return _0_0._0;
    },
    $signature: 122
  };
  A.ImportCache__canonicalize_closure.prototype = {
    call$0() {
      return this.importer.canonicalize$1(0, this.url);
    },
    $signature: 140
  };
  A.ImportCache_importCanonical_closure.prototype = {
    call$0() {
      var t2, t3, t4, t5, _this = this,
        t1 = _this.canonicalUrl,
        result = _this.importer.load$1(0, t1);
      if (result == null)
        return null;
      t2 = _this.$this;
      t2._resultsCache.$indexSet(0, t1, result);
      t3 = result.contents;
      t4 = result.syntax;
      t5 = _this.originalUrl;
      t1 = t5 == null ? t1 : t5.resolveUri$1(t1);
      return A.Stylesheet_Stylesheet$parse(t3, t4, _this.quiet ? $.$get$Logger_quiet() : t2._logger, t1);
    },
    $signature: 81
  };
  A.ImportCache_humanize_closure.prototype = {
    call$1(result) {
      return J.$eq$(result._1, this.canonicalUrl);
    },
    $signature: 541
  };
  A.ImportCache_humanize_closure0.prototype = {
    call$1(result) {
      return result._2;
    },
    $signature: 540
  };
  A.ImportCache_humanize_closure1.prototype = {
    call$1(url) {
      return url.get$path(url).length;
    },
    $signature: 87
  };
  A.ImportCache_humanize_closure2.prototype = {
    call$1(url) {
      var t1 = $.$get$url(),
        t2 = this.canonicalUrl;
      return url.resolve$1(0, A.ParsedPath_ParsedPath$parse(t2.get$path(t2), t1.style).get$basename());
    },
    $signature: 43
  };
  A.ImportCache_clearCanonicalize_closure.prototype = {
    call$2(key, _) {
      var t1 = this.url;
      return J.$eq$(key._1, t1) || J.$eq$(this.$this._nonCanonicalRelativeUrls.$index(0, key), t1);
    },
    $signature: 538
  };
  A.Importer.prototype = {
    modificationTime$1(url) {
      return new A.DateTime(Date.now(), false);
    },
    couldCanonicalize$2(url, canonicalUrl) {
      return true;
    },
    isNonCanonicalScheme$1(scheme) {
      return false;
    }
  };
  A.AsyncImporter.prototype = {};
  A.CanonicalizeContext.prototype = {};
  A.FilesystemImporter.prototype = {
    canonicalize$1(_, url) {
      var resolved, _0_0;
      if (url.get$scheme() === "file")
        resolved = A.resolveImportPath($.$get$context().style.pathFromUri$1(A._parseUri(url)));
      else if (url.get$scheme() !== "")
        return null;
      else {
        _0_0 = this._loadPath;
        if (_0_0 != null) {
          resolved = A.resolveImportPath(A.join(_0_0, $.$get$context().style.pathFromUri$1(A._parseUri(url)), null));
          if (resolved != null && this._loadPathDeprecated)
            A.warnForDeprecation(string$.Using_t, B.Deprecation_B4v);
        } else
          return null;
      }
      return A.NullableExtension_andThen(resolved, new A.FilesystemImporter_canonicalize_closure());
    },
    load$1(_, url) {
      var path = $.$get$context().style.pathFromUri$1(A._parseUri(url)),
        t1 = A.readFile(path),
        t2 = A.Syntax_forPath(path),
        t3 = url.get$scheme();
      if (t3 === "")
        A.throwExpression(A.ArgumentError$value(url, "sourceMapUrl", "must be absolute"));
      return new A.ImporterResult(t1, url, t2);
    },
    modificationTime$1(url) {
      return A.modificationTime($.$get$context().style.pathFromUri$1(A._parseUri(url)));
    },
    couldCanonicalize$2(url, canonicalUrl) {
      var t1, t2, basename, canonicalBasename;
      if (url.get$scheme() !== "file" && url.get$scheme() !== "")
        return false;
      if (canonicalUrl.get$scheme() !== "file")
        return false;
      t1 = $.$get$url();
      t2 = t1.style;
      basename = A.ParsedPath_ParsedPath$parse(url.get$path(url), t2).get$basename();
      canonicalBasename = A.ParsedPath_ParsedPath$parse(canonicalUrl.get$path(canonicalUrl), t2).get$basename();
      if (!B.JSString_methods.startsWith$1(basename, "_") && B.JSString_methods.startsWith$1(canonicalBasename, "_"))
        canonicalBasename = B.JSString_methods.substring$1(canonicalBasename, 1);
      return basename === canonicalBasename || basename === t1.withoutExtension$1(canonicalBasename);
    },
    toString$0(_) {
      var t1 = this._loadPath;
      return t1 == null ? "" : t1;
    }
  };
  A.FilesystemImporter_canonicalize_closure.prototype = {
    call$1(resolved) {
      var t2, t0, _null = null,
        t1 = A.isNodeJs() ? self.process : _null;
      if (!J.$eq$(t1 == null ? _null : J.get$platform$x(t1), "win32")) {
        t1 = A.isNodeJs() ? self.process : _null;
        t1 = J.$eq$(t1 == null ? _null : J.get$platform$x(t1), "darwin");
      } else
        t1 = true;
      if (t1) {
        t1 = $.$get$context();
        t2 = A._realCasePath(A.absolute(t1.normalize$1(resolved), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
        t0 = t2;
        t2 = t1;
        t1 = t0;
      } else {
        t1 = $.$get$context();
        t2 = t1.canonicalize$1(0, resolved);
        t0 = t2;
        t2 = t1;
        t1 = t0;
      }
      return t2.toUri$1(t1);
    },
    $signature: 141
  };
  A.NoOpImporter.prototype = {};
  A.NodePackageImporter.prototype = {
    isNonCanonicalScheme$1(scheme) {
      return scheme === "pkg";
    },
    canonicalize$1(_, url) {
      var packageName, jsonPath, jsonString, packageManifest, e, t1, t2, t3, t4, baseDirectory, parts, t5, $name, subpath, packageRoot, exception, _1_0, rootPath, subpathInRoot, _this = this, _null = null;
      if (url.get$scheme() === "file")
        return $.$get$FilesystemImporter_cwd().canonicalize$1(0, url);
      if (url.get$scheme() !== "pkg")
        return _null;
      if (url.get$hasAuthority())
        throw A.wrapException(string$.A_pkg_h);
      else {
        t1 = $.$get$url();
        t2 = t1.style;
        if (t2.rootLength$1(url.get$path(url)) > 0)
          throw A.wrapException("A pkg: URL's path must not begin with /.");
        else if (url.get$path(url).length === 0)
          throw A.wrapException("A pkg: URL must not have an empty path.");
        else if (url.get$hasQuery() || url.get$hasFragment())
          throw A.wrapException(string$.A_pkg_q);
      }
      t3 = A.canonicalizeContext();
      t3._wasContainingUrlAccessed = true;
      t3 = t3._containingUrl;
      if ((t3 == null ? _null : t3.get$scheme()) === "file") {
        t3 = A.canonicalizeContext();
        t3._wasContainingUrlAccessed = true;
        t3 = t3._containingUrl;
        t3.toString;
        t4 = $.$get$context();
        baseDirectory = t4.dirname$1(t4.style.pathFromUri$1(A._parseUri(t3)));
      } else {
        t3 = _this.__NodePackageImporter__entryPointDirectory_F;
        t3 === $ && A.throwUnnamedLateFieldNI();
        baseDirectory = t3;
      }
      packageName = null;
      parts = t1.split$1(0, url.get$path(url));
      t3 = B.JSArray_methods.removeAt$1(parts, 0);
      t4 = $.$get$context();
      t3.toString;
      t5 = t4.style;
      $name = t5.pathFromUri$1(A._parseUri(t3));
      if (B.JSString_methods.startsWith$1($name, "@"))
        $name = parts.length !== 0 ? t1.join$2(0, $name, B.JSArray_methods.removeAt$1(parts, 0)) : $name;
      subpath = parts.length !== 0 ? t5.pathFromUri$1(A._parseUri(t1.joinAll$1(parts))) : _null;
      packageName = $name;
      if (!J.startsWith$1$s(packageName, "."))
        if (!J.contains$1$asx(packageName, "\\"))
          if (!J.contains$1$asx(packageName, "%"))
            t1 = J.startsWith$1$s(packageName, "@") && !J.contains$1$asx(packageName, t2.get$separator(t2));
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        return _null;
      packageRoot = _this._resolvePackageRoot$2(packageName, baseDirectory);
      if (packageRoot == null)
        return _null;
      jsonPath = A.join(packageRoot, "package.json", _null);
      jsonString = A.readFile(jsonPath);
      packageManifest = null;
      try {
        packageManifest = type$.Map_String_dynamic._as(B.C_JsonCodec.decode$1(jsonString));
      } catch (exception) {
        e = A.unwrapException(exception);
        t1 = A.S(jsonPath);
        t2 = A.S(packageName);
        t3 = A.S(e);
        throw A.wrapException("Failed to parse " + t1 + ' for "pkg:' + t2 + '": ' + t3);
      }
      _1_0 = _this._resolvePackageExports$4(packageRoot, subpath, packageManifest, packageName);
      if (_1_0 != null)
        if (B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(_1_0, t5)._splitExtension$1(1)[1]))
          return t4.toUri$1(t4.canonicalize$1(0, _1_0));
        else {
          t1 = subpath == null ? "root" : subpath;
          throw A.wrapException("The export for '" + t1 + "' in '" + A.S(packageName) + "' resolved to '" + _1_0 + string$.x27x2c_whi);
        }
      if (subpath == null) {
        rootPath = _this._resolvePackageRootValues$2(packageRoot, packageManifest);
        return rootPath != null ? t4.toUri$1(t4.canonicalize$1(0, rootPath)) : _null;
      }
      subpathInRoot = A.join(packageRoot, subpath, _null);
      return $.$get$FilesystemImporter_cwd().canonicalize$1(0, t4.toUri$1(subpathInRoot));
    },
    load$1(_, url) {
      return $.$get$FilesystemImporter_cwd().load$1(0, url);
    },
    _resolvePackageRoot$2(packageName, baseDirectory) {
      var potentialPackage, t1;
      for (; true;) {
        potentialPackage = A.join(baseDirectory, "node_modules", packageName);
        if (A.dirExists(potentialPackage))
          return potentialPackage;
        t1 = $.$get$context();
        if (t1.split$1(0, baseDirectory).length === 1)
          return null;
        baseDirectory = t1.dirname$1(baseDirectory);
      }
    },
    _resolvePackageRootValues$2(packageRoot, packageManifest) {
      var t1, sassValue, _1_0, styleValue, _null = null,
        _0_0 = packageManifest.$index(0, "sass");
      if (typeof _0_0 == "string") {
        t1 = B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(_0_0, $.$get$url().style)._splitExtension$1(1)[1]);
        sassValue = _0_0;
      } else {
        sassValue = _null;
        t1 = false;
      }
      if (t1)
        return A.join(packageRoot, sassValue, _null);
      else {
        _1_0 = packageManifest.$index(0, "style");
        if (typeof _1_0 == "string") {
          t1 = B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(_1_0, $.$get$url().style)._splitExtension$1(1)[1]);
          styleValue = _1_0;
        } else {
          styleValue = _null;
          t1 = false;
        }
        if (t1)
          return A.join(packageRoot, styleValue, _null);
      }
      return A.resolveImportPath(A.join(packageRoot, "index", _null));
    },
    _resolvePackageExports$4(packageRoot, subpath, packageManifest, packageName) {
      var _0_0, _1_0, _this = this,
        exports = packageManifest.$index(0, "exports");
      if (exports == null)
        return null;
      _0_0 = _this._nodePackageExportsResolve$5(packageRoot, _this._exportsToCheck$1(subpath), exports, subpath, packageName);
      if (_0_0 != null)
        return _0_0;
      if (subpath != null && A.ParsedPath_ParsedPath$parse(subpath, $.$get$url().style)._splitExtension$1(1)[1].length !== 0)
        return null;
      _1_0 = _this._nodePackageExportsResolve$5(packageRoot, _this._exportsToCheck$2$addIndex(subpath, true), exports, subpath, packageName);
      if (_1_0 != null)
        return _1_0;
      return null;
    },
    _nodePackageExportsResolve$5(packageRoot, subpathVariants, exports, subpath, packageName) {
      var t1, matches, _1_1, path;
      if (type$.Map_String_dynamic._is(exports) && J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__nodePackageExportsResolve_closure()) && J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__nodePackageExportsResolve_closure0()))
        throw A.wrapException("`exports` in " + packageName + string$.x20can_n + J.map$1$1$ax(J.get$keys$z(exports), new A.NodePackageImporter__nodePackageExportsResolve_closure1(), type$.String).join$1(0, ",") + " in " + A.join(packageRoot, "package.json", null) + ".");
      t1 = A.IterableNullableExtension_whereNotNull(new A.MappedListIterable(subpathVariants, new A.NodePackageImporter__nodePackageExportsResolve_closure2(this, exports, packageRoot), A._arrayInstanceType(subpathVariants)._eval$1("MappedListIterable<1,String?>")), type$.String);
      matches = A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
      $label0$1: {
        _1_1 = matches.length;
        if (_1_1 === 1) {
          path = matches[0];
          t1 = path;
          break $label0$1;
        }
        if (_1_1 <= 0) {
          t1 = null;
          break $label0$1;
        }
        t1 = subpath == null ? "root" : subpath;
        t1 = A.throwExpression(string$.Unable + t1 + " in " + packageName + " should be used. \n\nFound:\n" + B.JSArray_methods.join$1(matches, "\n"));
      }
      return t1;
    },
    _compareExpansionKeys$2(keyA, keyB) {
      var t1 = B.JSString_methods.contains$1(keyA, "*"),
        baseLengthA = t1 ? B.JSString_methods.indexOf$1(keyA, "*") + 1 : keyA.length,
        t2 = B.JSString_methods.contains$1(keyB, "*"),
        baseLengthB = t2 ? B.JSString_methods.indexOf$1(keyB, "*") + 1 : keyB.length;
      if (baseLengthA > baseLengthB)
        return -1;
      if (baseLengthB > baseLengthA)
        return 1;
      if (!t1)
        return 1;
      if (!t2)
        return -1;
      t1 = keyA.length;
      t2 = keyB.length;
      if (t1 > t2)
        return -1;
      if (t2 > t1)
        return 1;
      return 0;
    },
    _packageTargetResolve$4(subpath, exports, packageRoot, patternMatch) {
      var t2, string, path, map, key, value, _1_0, array, _2_0, _null = null,
        t1 = typeof exports == "string";
      if (t1) {
        t2 = !B.JSString_methods.startsWith$1(exports, "./");
        string = exports;
      } else {
        string = _null;
        t2 = false;
      }
      if (t2)
        throw A.wrapException("Export '" + A.S(string) + string$.x27x20must + packageRoot + "'.");
      if (t1) {
        t2 = patternMatch != null;
        string = exports;
      } else {
        string = _null;
        t2 = false;
      }
      if (t2) {
        t1 = J.replaceFirst$2$s(string, "*", patternMatch);
        t2 = $.$get$context();
        path = t2.normalize$1(A.join(packageRoot, t2.style.pathFromUri$1(A._parseUri(t1)), _null));
        return A.fileExists(path) ? path : _null;
      }
      string = t1 ? exports : _null;
      if (t1) {
        t1 = $.$get$context();
        string.toString;
        return A.join(packageRoot, t1.style.pathFromUri$1(A._parseUri(string)), _null);
      }
      t1 = type$.Map_String_dynamic._is(exports);
      map = t1 ? exports : _null;
      if (t1) {
        for (t1 = A.MapExtensions_get_pairs(map, type$.String, type$.dynamic), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
          t2 = t1.get$current(t1);
          key = t2._0;
          value = t2._1;
          if (!B.Set_TnQrk.contains$1(0, key))
            continue;
          if (value == null)
            continue;
          _1_0 = this._packageTargetResolve$4(subpath, value, packageRoot, patternMatch);
          if (_1_0 != null)
            return _1_0;
        }
        return _null;
      }
      if (type$.List_nullable_Object._is(exports) && J.get$length$asx(exports) <= 0)
        return _null;
      t1 = type$.List_dynamic._is(exports);
      array = t1 ? exports : _null;
      if (t1) {
        for (t1 = J.get$iterator$ax(array); t1.moveNext$0();) {
          value = t1.get$current(t1);
          if (value == null)
            continue;
          _2_0 = this._packageTargetResolve$4(subpath, value, packageRoot, patternMatch);
          if (_2_0 != null)
            return _2_0;
        }
        return _null;
      }
      throw A.wrapException("Invalid 'exports' value " + A.S(exports) + " in " + A.join(packageRoot, "package.json", _null) + ".");
    },
    _packageTargetResolve$3(subpath, exports, packageRoot) {
      return this._packageTargetResolve$4(subpath, exports, packageRoot, null);
    },
    _getMainExport$1(exports) {
      var t1, t2, map, _0_4, $export;
      $label0$0: {
        if (typeof exports == "string") {
          t1 = exports;
          break $label0$0;
        }
        if (type$.List_String._is(exports)) {
          t1 = exports;
          break $label0$0;
        }
        t1 = type$.Map_String_dynamic._is(exports);
        if (t1) {
          t2 = !J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__getMainExport_closure());
          map = exports;
        } else {
          map = null;
          t2 = false;
        }
        if (t2) {
          t1 = map;
          break $label0$0;
        }
        if (t1) {
          _0_4 = exports.$index(0, ".");
          if (_0_4 == null)
            t2 = exports.containsKey$1(".");
          else
            t2 = true;
          if (t2)
            t2 = _0_4 != null;
          else
            t2 = false;
        } else {
          _0_4 = null;
          t2 = false;
        }
        if (t2) {
          $export = t1 ? _0_4 : J.$index$asx(exports, ".");
          t1 = $export;
          break $label0$0;
        }
        t1 = null;
        break $label0$0;
      }
      return t1;
    },
    _exportsToCheck$2$addIndex(subpath, addIndex) {
      var basename, dirname, t3, t4, _i, path,
        t1 = type$.JSArray_String,
        paths = A._setArrayType([], t1),
        t2 = subpath == null;
      if (t2 && addIndex)
        subpath = "index";
      else if (!t2 && addIndex)
        subpath = A.join(subpath, "index", null);
      if (subpath == null)
        return A._setArrayType([null], type$.JSArray_nullable_String);
      if (B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(subpath, $.$get$url().style)._splitExtension$1(1)[1]))
        paths.push(subpath);
      else
        B.JSArray_methods.addAll$1(paths, A._setArrayType([subpath, subpath + ".scss", subpath + ".sass", subpath + ".css"], t1));
      t1 = $.$get$context();
      t2 = t1.style;
      basename = A.ParsedPath_ParsedPath$parse(subpath, t2).get$basename();
      dirname = t1.dirname$1(subpath);
      if (B.JSString_methods.startsWith$1(basename, "_"))
        return paths;
      t1 = A.List_List$of(paths, true, type$.nullable_String);
      for (t3 = paths.length, t4 = dirname === ".", _i = 0; _i < paths.length; paths.length === t3 || (0, A.throwConcurrentModificationError)(paths), ++_i) {
        path = paths[_i];
        if (t4)
          t1.push("_" + A.ParsedPath_ParsedPath$parse(path, t2).get$basename());
        else
          t1.push(A.join(dirname, "_" + A.ParsedPath_ParsedPath$parse(path, t2).get$basename(), null));
      }
      return t1;
    },
    _exportsToCheck$1(subpath) {
      return this._exportsToCheck$2$addIndex(subpath, false);
    }
  };
  A.NodePackageImporter__nodePackageExportsResolve_closure.prototype = {
    call$1(key) {
      return B.JSString_methods.startsWith$1(key, ".");
    },
    $signature: 4
  };
  A.NodePackageImporter__nodePackageExportsResolve_closure0.prototype = {
    call$1(key) {
      return !B.JSString_methods.startsWith$1(key, ".");
    },
    $signature: 4
  };
  A.NodePackageImporter__nodePackageExportsResolve_closure1.prototype = {
    call$1(key) {
      return '"' + key + '"';
    },
    $signature: 5
  };
  A.NodePackageImporter__nodePackageExportsResolve_closure2.prototype = {
    call$1(variant) {
      var t1, matchKey, t2, t3, t4, t5, t6, _i, expansionKey, _0_0, t7, patternBase, patternTrailer, t8, target, _this = this, _null = null;
      if (variant == null) {
        t1 = _this.$this;
        return A.NullableExtension_andThen(t1._getMainExport$1(_this.exports), new A.NodePackageImporter__nodePackageExportsResolve__closure(t1, variant, _this.packageRoot));
      } else {
        t1 = _this.exports;
        if (!type$.Map_String_dynamic._is(t1) || J.every$1$ax(t1.get$keys(t1), new A.NodePackageImporter__nodePackageExportsResolve__closure0()))
          return _null;
      }
      matchKey = "./" + $.$get$context().toUri$1(variant).toString$0(0);
      if (t1.containsKey$1(matchKey) && J.$index$asx(t1, matchKey) != null && !B.JSString_methods.contains$1(matchKey, "*")) {
        t1 = J.$index$asx(t1, matchKey);
        if (t1 == null)
          t1 = type$.Object._as(t1);
        return _this.$this._packageTargetResolve$3(matchKey, t1, _this.packageRoot);
      }
      t2 = A._setArrayType([], type$.JSArray_String);
      for (t3 = J.getInterceptor$z(t1), t4 = J.get$iterator$ax(t3.get$keys(t1)); t4.moveNext$0();) {
        t5 = t4.get$current(t4);
        if (B.JSString_methods.allMatches$1("*", t5).get$length(0) === 1)
          t2.push(t5);
      }
      t4 = _this.$this;
      B.JSArray_methods.sort$1(t2, t4.get$_compareExpansionKeys());
      for (t5 = t2.length, t6 = matchKey.length, _i = 0; _i < t2.length; t2.length === t5 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        expansionKey = t2[_i];
        _0_0 = expansionKey.split("*");
        t7 = _0_0.length === 2;
        if (t7) {
          patternBase = _0_0[0];
          patternTrailer = _0_0[1];
          patternTrailer = patternTrailer;
        } else {
          patternTrailer = _null;
          patternBase = patternTrailer;
        }
        if (!t7)
          throw A.wrapException(A.StateError$("Pattern matching error"));
        if (!B.JSString_methods.startsWith$1(matchKey, patternBase))
          continue;
        if (matchKey === patternBase)
          continue;
        t7 = patternTrailer.length;
        if (t7 !== 0)
          t8 = B.JSString_methods.endsWith$1(matchKey, patternTrailer) && t6 >= expansionKey.length;
        else
          t8 = true;
        if (t8) {
          target = t3.$index(t1, expansionKey);
          if (target == null)
            continue;
          return t4._packageTargetResolve$4(variant, target, _this.packageRoot, B.JSString_methods.substring$2(matchKey, patternBase.length, t6 - t7));
        }
      }
      return _null;
    },
    $signature: 143
  };
  A.NodePackageImporter__nodePackageExportsResolve__closure.prototype = {
    call$1(mainExport) {
      return this.$this._packageTargetResolve$3(this.variant, mainExport, this.packageRoot);
    },
    $signature: 144
  };
  A.NodePackageImporter__nodePackageExportsResolve__closure0.prototype = {
    call$1(key) {
      return !B.JSString_methods.startsWith$1(key, ".");
    },
    $signature: 4
  };
  A.NodePackageImporter__getMainExport_closure.prototype = {
    call$1(key) {
      return B.JSString_methods.startsWith$1(key, ".");
    },
    $signature: 4
  };
  A.ImporterResult.prototype = {
    get$sourceMapUrl(_) {
      return this._sourceMapUrl;
    }
  };
  A.resolveImportPath_closure.prototype = {
    call$0() {
      return A._exactlyOne(A._tryPath($.$get$context().withoutExtension$1(this.path) + ".import" + this.extension));
    },
    $signature: 44
  };
  A.resolveImportPath_closure0.prototype = {
    call$0() {
      return A._exactlyOne(A._tryPathWithExtensions(this.path + ".import"));
    },
    $signature: 44
  };
  A._tryPathAsDirectory_closure.prototype = {
    call$0() {
      return A._exactlyOne(A._tryPathWithExtensions(A.join(this.path, "index.import", null)));
    },
    $signature: 44
  };
  A._exactlyOne_closure.prototype = {
    call$1(path) {
      var t1 = $.$get$context();
      return "  " + t1.prettyUri$1(t1.toUri$1(path));
    },
    $signature: 5
  };
  A.InterpolationBuffer.prototype = {
    writeCharCode$1(character) {
      var t1 = this._interpolation_buffer$_text,
        t2 = A.Primitives_stringFromCharCode(character);
      t1._contents += t2;
      return null;
    },
    addInterpolation$1(interpolation) {
      var _0_4_isSet, _0_4, first, rest, t2, _this = this,
        toAdd = interpolation.contents,
        t1 = toAdd.length;
      if (t1 === 0)
        return;
      _0_4_isSet = t1 >= 1;
      if (_0_4_isSet) {
        _0_4 = toAdd[0];
        t1 = _0_4;
        t1 = typeof t1 == "string";
      } else {
        _0_4 = null;
        t1 = false;
      }
      if (t1) {
        first = A._asString(_0_4_isSet ? _0_4 : toAdd[0]);
        rest = B.JSArray_methods.sublist$1(toAdd, 1);
        t1 = _this._interpolation_buffer$_text;
        t1._contents += first;
        toAdd = rest;
      }
      _this._flushText$0();
      t1 = _this._interpolation_buffer$_contents;
      B.JSArray_methods.addAll$1(t1, toAdd);
      if (typeof B.JSArray_methods.get$last(t1) == "string") {
        t2 = _this._interpolation_buffer$_text;
        t1 = A.S(t1.pop());
        t2._contents += t1;
      }
    },
    _flushText$0() {
      var t1 = this._interpolation_buffer$_text,
        t2 = t1._contents;
      if (t2.length === 0)
        return;
      this._interpolation_buffer$_contents.push(t2.charCodeAt(0) == 0 ? t2 : t2);
      t1._contents = "";
    },
    interpolation$1(span) {
      var t1 = A.List_List$of(this._interpolation_buffer$_contents, true, type$.Object),
        t2 = this._interpolation_buffer$_text._contents;
      if (t2.length !== 0)
        t1.push(t2.charCodeAt(0) == 0 ? t2 : t2);
      return A.Interpolation$(t1, span);
    },
    toString$0(_) {
      var t1, t2, _i, t3, element;
      for (t1 = this._interpolation_buffer$_contents, t2 = t1.length, _i = 0, t3 = ""; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        element = t1[_i];
        t3 = typeof element == "string" ? t3 + element : t3 + "#{" + A.S(element) + A.Primitives_stringFromCharCode(125);
      }
      t1 = t3 + this._interpolation_buffer$_text.toString$0(0);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.InterpolationMap.prototype = {
    mapException$1(error) {
      var t3, t4, _this = this,
        target = error.get$span(error),
        source = _this.mapSpan$1(target),
        startIndex = _this._indexInContents$1(target.get$start(target)),
        endIndex = _this._indexInContents$1(target.get$end(target)),
        t1 = _this._interpolation.contents,
        t2 = error._span_exception$_message;
      if (!A.SubListIterable$(t1, startIndex, null, A._arrayInstanceType(t1)._precomputed1).take$1(0, endIndex - startIndex + 1).any$1(0, new A.InterpolationMap_mapException_closure()))
        return new A.SourceSpanFormatException(error.get$source(), t2, source);
      else {
        t1 = type$.SourceSpan;
        t3 = type$.String;
        t4 = A.LinkedHashMap_LinkedHashMap$_literal([target, "error in interpolated output"], t1, t3);
        return new A.MultiSourceSpanFormatException(error.get$source(), "", A.ConstantMap_ConstantMap$from(t4, t1, t3), t2, source);
      }
    },
    mapSpan$1(target) {
      var _0_10, t1, _0_2_isSet, _0_20, t2, start, end, _this = this, _null = null,
        _0_1 = _this._mapLocation$1(target.get$start(target)),
        _0_2 = _this._mapLocation$1(target.get$end(target));
      $label0$0: {
        _0_10 = _0_1;
        t1 = type$.FileSpan;
        _0_2_isSet = t1._is(_0_1);
        if (_0_2_isSet) {
          t1._as(_0_10);
          _0_20 = _0_2;
          t2 = t1._is(_0_2);
          start = _0_10;
          _0_1 = start;
        } else {
          start = _null;
          _0_20 = start;
          _0_1 = _0_10;
          t2 = false;
        }
        if (t2) {
          t1 = start.expand$1(0, t1._as(_0_2_isSet ? _0_20 : _0_2));
          break $label0$0;
        }
        if (t1._is(_0_1)) {
          if (_0_2_isSet)
            t2 = _0_20;
          else {
            t2 = _0_2;
            _0_20 = t2;
            _0_2_isSet = true;
          }
          t2 = t2 instanceof A.FileLocation;
          start = _0_1;
        } else {
          start = _null;
          t2 = false;
        }
        if (t2) {
          t1 = _0_2_isSet ? _0_20 : _0_2;
          type$.FileLocation._as(t1);
          t2 = _this._interpolation.span;
          t1 = t2.get$file(t2).span$2(0, _this._expandInterpolationSpanLeft$1(start.get$start(start)), t1.offset);
          break $label0$0;
        }
        if (_0_1 instanceof A.FileLocation) {
          if (_0_2_isSet)
            t2 = _0_20;
          else {
            t2 = _0_2;
            _0_20 = t2;
            _0_2_isSet = true;
          }
          t2 = t1._is(t2);
          start = _0_1;
        } else {
          start = _null;
          t2 = false;
        }
        if (t2) {
          end = t1._as(_0_2_isSet ? _0_20 : _0_2);
          t1 = _this._interpolation.span;
          t1 = t1.get$file(t1).span$2(0, start.offset, _this._expandInterpolationSpanRight$1(end.get$end(end)));
          break $label0$0;
        }
        if (_0_1 instanceof A.FileLocation) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          t1 = t1 instanceof A.FileLocation;
          start = _0_1;
        } else {
          start = _null;
          t1 = false;
        }
        if (t1) {
          t1 = _0_2_isSet ? _0_20 : _0_2;
          type$.FileLocation._as(t1);
          t2 = _this._interpolation.span;
          t1 = t2.get$file(t2).span$2(0, start.offset, t1.offset);
          break $label0$0;
        }
        t1 = A.throwExpression("[BUG] Unreachable");
      }
      return t1;
    },
    _mapLocation$1(target) {
      var t4, previousLocation, _this = this,
        index = _this._indexInContents$1(target),
        t1 = _this._interpolation,
        t2 = t1.contents,
        _0_0 = t2[index],
        t3 = type$.Expression;
      if (t3._is(_0_0))
        return _0_0.get$span(_0_0);
      t4 = index === 0;
      t1 = t1.span;
      if (t4)
        previousLocation = t1.get$start(t1);
      else {
        t1 = t1.get$file(t1);
        t2 = t3._as(t2[index - 1]);
        t2 = t2.get$span(t2);
        previousLocation = A.FileLocation$_(t1, _this._expandInterpolationSpanRight$1(t2.get$end(t2)));
      }
      t1 = t4 ? 0 : _this._targetLocations[index - 1].get$offset();
      return A.FileLocation$_(previousLocation.file, previousLocation.offset + (target.offset - t1));
    },
    _indexInContents$1(target) {
      var t1, t2, t3, i;
      for (t1 = this._targetLocations, t2 = t1.length, t3 = target.offset, i = 0; i < t2; ++i)
        if (t3 < t1[i].get$offset())
          return i;
      return this._interpolation.contents.length - 1;
    },
    _expandInterpolationSpanLeft$1(start) {
      var i0, prev, char,
        source = start.file._decodedChars,
        i = start.offset - 1;
      for (; i >= 0;) {
        i0 = i - 1;
        prev = source[i];
        if (prev === 123) {
          if (source[i0] === 35) {
            i = i0;
            break;
          }
          i = i0;
        } else if (prev === 47) {
          i = i0 - 1;
          if (source[i0] === 42)
            for (; true;) {
              i0 = i - 1;
              if (source[i] !== 42) {
                i = i0;
                continue;
              }
              i = i0;
              do {
                i0 = i - 1;
                char = source[i];
                if (char === 42) {
                  i = i0;
                  continue;
                } else
                  break;
              } while (true);
              if (char === 47) {
                i = i0;
                break;
              }
              i = i0;
            }
        } else
          i = i0;
      }
      return i;
    },
    _expandInterpolationSpanRight$1(end) {
      var t1, i0, next, second, t2, char,
        source = end.file._decodedChars,
        i = end.offset;
      for (t1 = source.length; i < t1;) {
        i0 = i + 1;
        next = source[i];
        if (next === 125) {
          i = i0;
          break;
        }
        if (next === 47) {
          i = i0 + 1;
          second = source[i0];
          if (second === 47) {
            while (true) {
              i0 = i + 1;
              t2 = source[i];
              if (!!(t2 === 10 || t2 === 13 || t2 === 12))
                break;
              i = i0;
            }
            i = i0;
          } else if (second === 42)
            for (; true;) {
              i0 = i + 1;
              if (source[i] !== 42) {
                i = i0;
                continue;
              }
              i = i0;
              do {
                i0 = i + 1;
                char = source[i];
                if (char === 42) {
                  i = i0;
                  continue;
                } else
                  break;
              } while (true);
              if (char === 47) {
                i = i0;
                break;
              }
              i = i0;
            }
        } else
          i = i0;
      }
      return i;
    }
  };
  A.InterpolationMap_mapException_closure.prototype = {
    call$1($content) {
      return type$.Expression._is($content);
    },
    $signature: 75
  };
  A._realCasePath_helper.prototype = {
    call$1(path) {
      var dirname = $.$get$context().dirname$1(path);
      if (dirname === path)
        return path;
      return $._realCaseCache.putIfAbsent$2(path, new A._realCasePath_helper_closure(this, dirname, path));
    },
    $signature: 5
  };
  A._realCasePath_helper_closure.prototype = {
    call$0() {
      var matches, t1, _0_0, match, exception,
        realDirname = this.helper.call$1(this.dirname),
        t2 = this.path,
        basename = A.ParsedPath_ParsedPath$parse(t2, $.$get$context().style).get$basename();
      try {
        matches = J.where$1$ax(A.listDir(realDirname, false), new A._realCasePath_helper__closure(basename)).toList$0(0);
        t1 = null;
        _0_0 = matches;
        $label0$0: {
          match = null;
          if (J.get$length$asx(_0_0) === 1) {
            match = J.$index$asx(_0_0, 0);
            t1 = match;
            break $label0$0;
          }
          t1 = A.join(realDirname, basename, null);
          break $label0$0;
        }
        t1 = t1;
        return t1;
      } catch (exception) {
        if (A.unwrapException(exception) instanceof A.FileSystemException)
          return t2;
        else
          throw exception;
      }
    },
    $signature: 26
  };
  A._realCasePath_helper__closure.prototype = {
    call$1(realPath) {
      return A.equalsIgnoreCase(A.ParsedPath_ParsedPath$parse(realPath, $.$get$context().style).get$basename(), this.basename);
    },
    $signature: 4
  };
  A.FileSystemException.prototype = {
    toString$0(_) {
      var t1 = $.$get$context();
      return t1.prettyUri$1(t1.toUri$1(this.path)) + ": " + this.message;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A._readFile_closure.prototype = {
    call$0() {
      return J.readFileSync$2$x(A.fs(), this.path, this.encoding);
    },
    $signature: 60
  };
  A.writeFile_closure.prototype = {
    call$0() {
      return J.writeFileSync$2$x(A.fs(), this.path, this.contents);
    },
    $signature: 0
  };
  A.deleteFile_closure.prototype = {
    call$0() {
      return J.unlinkSync$1$x(A.fs(), this.path);
    },
    $signature: 0
  };
  A.readStdin_closure.prototype = {
    call$1(result) {
      this._box_0.contents = result;
      this.completer.complete$1(result);
    },
    $signature: 104
  };
  A.readStdin_closure0.prototype = {
    call$1(chunk) {
      this.sink.add$1(0, type$.List_int._as(chunk));
    },
    call$0() {
      return this.call$1(null);
    },
    "call*": "call$1",
    $requiredArgCount: 0,
    $defaultValues() {
      return [null];
    },
    $signature: 93
  };
  A.readStdin_closure1.prototype = {
    call$1(_) {
      this.sink.close$0(0);
    },
    call$0() {
      return this.call$1(null);
    },
    "call*": "call$1",
    $requiredArgCount: 0,
    $defaultValues() {
      return [null];
    },
    $signature: 93
  };
  A.readStdin_closure2.prototype = {
    call$1(e) {
      A.printError("Failed to read from stdin");
      A.printError(e);
      e.toString;
      this.completer.completeError$1(e);
    },
    call$0() {
      return this.call$1(null);
    },
    "call*": "call$1",
    $requiredArgCount: 0,
    $defaultValues() {
      return [null];
    },
    $signature: 93
  };
  A.fileExists_closure.prototype = {
    call$0() {
      var error, systemError, exception,
        t1 = this.path;
      if (!J.existsSync$1$x(A.fs(), t1))
        return false;
      try {
        t1 = J.isFile$0$x(J.statSync$1$x(A.fs(), t1));
        return t1;
      } catch (exception) {
        error = A.unwrapException(exception);
        systemError = type$.JsSystemError._as(error);
        if (J.$eq$(J.get$code$x(systemError), "ENOENT"))
          return false;
        throw exception;
      }
    },
    $signature: 22
  };
  A.dirExists_closure.prototype = {
    call$0() {
      var error, systemError, exception,
        t1 = this.path;
      if (!J.existsSync$1$x(A.fs(), t1))
        return false;
      try {
        t1 = J.isDirectory$0$x(J.statSync$1$x(A.fs(), t1));
        return t1;
      } catch (exception) {
        error = A.unwrapException(exception);
        systemError = type$.JsSystemError._as(error);
        if (J.$eq$(J.get$code$x(systemError), "ENOENT"))
          return false;
        throw exception;
      }
    },
    $signature: 22
  };
  A.ensureDir_closure.prototype = {
    call$0() {
      var error, systemError, exception, t1;
      try {
        J.mkdirSync$1$x(A.fs(), this.path);
      } catch (exception) {
        error = A.unwrapException(exception);
        systemError = type$.JsSystemError._as(error);
        if (J.$eq$(J.get$code$x(systemError), "EEXIST"))
          return;
        if (!J.$eq$(J.get$code$x(systemError), "ENOENT"))
          throw exception;
        t1 = this.path;
        A.ensureDir($.$get$context().dirname$1(t1));
        J.mkdirSync$1$x(A.fs(), t1);
      }
    },
    $signature: 0
  };
  A.listDir_closure.prototype = {
    call$0() {
      var t1 = this.path;
      if (!this.recursive)
        return J.map$1$1$ax(J.readdirSync$1$x(A.fs(), t1), new A.listDir__closure(t1), type$.String).super$Iterable$where(0, new A.listDir__closure0());
      else
        return new A.listDir_closure_list().call$1(t1);
    },
    $signature: 145
  };
  A.listDir__closure.prototype = {
    call$1(child) {
      return A.join(this.path, A._asString(child), null);
    },
    $signature: 108
  };
  A.listDir__closure0.prototype = {
    call$1(child) {
      return !A.dirExists(child);
    },
    $signature: 4
  };
  A.listDir_closure_list.prototype = {
    call$1($parent) {
      return J.expand$1$1$ax(J.readdirSync$1$x(A.fs(), $parent), new A.listDir__list_closure($parent, this), type$.String);
    },
    $signature: 146
  };
  A.listDir__list_closure.prototype = {
    call$1(child) {
      var path = A.join(this.parent, A._asString(child), null);
      return A.dirExists(path) ? this.list.call$1(path) : A._setArrayType([path], type$.JSArray_String);
    },
    $signature: 147
  };
  A.modificationTime_closure.prototype = {
    call$0() {
      var t1 = J.getTime$0$x(J.get$mtime$x(J.statSync$1$x(A.fs(), this.path)));
      if (Math.abs(t1) > 864e13)
        A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + A.S(t1), null));
      A.checkNotNullable(false, "isUtc", type$.bool);
      return new A.DateTime(t1, false);
    },
    $signature: 148
  };
  A.watchDir_closure.prototype = {
    call$2(path, _) {
      var t1 = this._box_0.controller;
      return t1 == null ? null : t1.add$1(0, new A.WatchEvent(B.ChangeType_add, path));
    },
    call$1(path) {
      return this.call$2(path, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 149
  };
  A.watchDir_closure0.prototype = {
    call$2(path, _) {
      var t1 = this._box_0.controller;
      return t1 == null ? null : t1.add$1(0, new A.WatchEvent(B.ChangeType_modify, path));
    },
    call$1(path) {
      return this.call$2(path, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 149
  };
  A.watchDir_closure1.prototype = {
    call$1(path) {
      var t1 = this._box_0.controller;
      return t1 == null ? null : t1.add$1(0, new A.WatchEvent(B.ChangeType_remove, path));
    },
    $signature: 104
  };
  A.watchDir_closure2.prototype = {
    call$1(error) {
      var t1 = this._box_0.controller;
      return t1 == null ? null : t1.addError$1(error);
    },
    $signature: 99
  };
  A.watchDir_closure3.prototype = {
    call$0() {
      var controller = A.StreamController_StreamController(new A.watchDir__closure(this.watcher), null, null, null, false, type$.WatchEvent);
      this._box_0.controller = controller;
      this.completer.complete$1(new A._ControllerStream(controller, A._instanceType(controller)._eval$1("_ControllerStream<1>")));
    },
    $signature: 1
  };
  A.watchDir__closure.prototype = {
    call$0() {
      J.close$0$x(this.watcher);
    },
    $signature: 1
  };
  A.JSArray0.prototype = {};
  A.Chokidar.prototype = {};
  A.ChokidarOptions.prototype = {};
  A.ChokidarWatcher.prototype = {};
  A.JSFunction.prototype = {};
  A.ImmutableList.prototype = {};
  A.ImmutableMap.prototype = {};
  A.NodeImporterResult.prototype = {};
  A.RenderContext.prototype = {};
  A.RenderContextOptions.prototype = {};
  A.RenderContextResult.prototype = {};
  A.RenderContextResultStats.prototype = {};
  A.JSModule.prototype = {};
  A.JSModuleRequire.prototype = {};
  A.JSClass.prototype = {};
  A.JSUrl.prototype = {};
  A._PropertyDescriptor.prototype = {};
  A._RequireMain.prototype = {};
  A.LoggerWithDeprecationType0.prototype = {
    warn$4$deprecation$span$trace(_, message, deprecation, span, trace) {
      this.internalWarn$4$deprecation$span$trace(message, deprecation ? B.Deprecation_JeE : null, span, trace);
    },
    warn$3$span$trace(_, message, span, trace) {
      return this.warn$4$deprecation$span$trace(0, message, false, span, trace);
    },
    warn$2$span(_, message, span) {
      return this.warn$4$deprecation$span$trace(0, message, false, span, null);
    },
    warn$2$trace(_, message, trace) {
      return this.warn$4$deprecation$span$trace(0, message, false, null, trace);
    }
  };
  A._QuietLogger.prototype = {
    warn$4$deprecation$span$trace(_, message, deprecation, span, trace) {
    },
    warn$1(_, message) {
      return this.warn$4$deprecation$span$trace(0, message, false, null, null);
    },
    warn$3$span$trace(_, message, span, trace) {
      return this.warn$4$deprecation$span$trace(0, message, false, span, trace);
    },
    warn$2$span(_, message, span) {
      return this.warn$4$deprecation$span$trace(0, message, false, span, null);
    },
    debug$2(_, message, span) {
    }
  };
  A.DeprecationProcessingLogger.prototype = {
    DeprecationProcessingLogger$5$fatalDeprecations$futureDeprecations$limitRepetition$silenceDeprecations(_inner, fatalDeprecations, futureDeprecations, limitRepetition, silenceDeprecations) {
      var t1, t2, t3, t4, t5, t6, _1_7, _this = this, _null = null;
      for (t1 = _this.fatalDeprecations, t1 = t1.get$iterator(t1), t2 = _this.silenceDeprecations, t3 = _this.futureDeprecations, t4 = _this._inner; t1.moveNext$0();) {
        t5 = t1.get$current(t1);
        if (t5.isFuture && !t3.contains$1(0, t5)) {
          t5 = t5.toString$0(0);
          t4.warn$3$span$trace(0, "Future " + t5 + string$.x20deprex20m, _null, _null);
          continue;
        }
        t6 = t2.contains$1(0, t5);
        if (t6) {
          t5 = t5.toString$0(0);
          t4.warn$3$span$trace(0, "Ignoring setting to silence " + t5 + string$.x20deprex2c, _null, _null);
          continue;
        }
      }
      for (t1 = A._LinkedHashSetIterator$(t2, t2._modifications, A._instanceType(t2)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t5 = t1._collection$_current;
        if (t5 == null)
          t5 = t2._as(t5);
        if (B.Deprecation_JeE === t5) {
          t4.warn$3$span$trace(0, string$.User_a, _null, _null);
          continue;
        }
        _1_7 = t5.isFuture;
        if (_1_7 && t3.contains$1(0, t5)) {
          t5 = t5.toString$0(0);
          t4.warn$3$span$trace(0, "Conflicting options for future " + t5 + " deprecation cancel each other out.", _null, _null);
          continue;
        }
        if (_1_7) {
          t5 = t5.toString$0(0);
          t4.warn$3$span$trace(0, "Future " + t5 + string$.x20deprex20i, _null, _null);
          continue;
        }
      }
      for (t1 = A._LinkedHashSetIterator$(t3, t3._modifications, A._instanceType(t3)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        if (!t3.isFuture) {
          t3 = t3.toString$0(0);
          t4.warn$3$span$trace(0, t3 + string$.x20is_noaf, _null, _null);
        }
      }
    },
    internalWarn$4$deprecation$span$trace(message, deprecation, span, trace) {
      if (deprecation != null)
        this._handleDeprecation$4$span$trace(deprecation, message, span, trace);
      else
        this._inner.warn$3$span$trace(0, message, span, trace);
    },
    _handleDeprecation$4$span$trace(deprecation, message, span, trace) {
      var _0_3_isSet, span0, t1, _0_3, t2, count, _this = this, _null = null;
      if (deprecation.isFuture && !_this.futureDeprecations.contains$1(0, deprecation))
        return;
      if (_this.fatalDeprecations.contains$1(0, deprecation)) {
        message += string$.x0a_This + deprecation.toString$0(0) + string$.x20deprex20t;
        $label0$0: {
          _0_3_isSet = span != null;
          if (_0_3_isSet) {
            span0 = span == null ? type$.FileSpan._as(span) : span;
            t1 = trace != null;
            _0_3 = trace;
          } else {
            span0 = _null;
            _0_3 = span0;
            t1 = false;
          }
          if (t1) {
            if (_0_3_isSet)
              trace = _0_3;
            t1 = A.SassRuntimeException$(message, span0, trace == null ? type$.Trace._as(trace) : trace, _null);
            break $label0$0;
          }
          if (span != null)
            t1 = (_0_3_isSet ? _0_3 : trace) == null;
          else {
            span = _null;
            t1 = false;
          }
          if (t1) {
            t1 = A.SassException$(message, span, _null);
            break $label0$0;
          }
          t1 = A.SassScriptException$(message, _null);
          break $label0$0;
        }
        throw A.wrapException(t1);
      }
      if (_this.silenceDeprecations.contains$1(0, deprecation))
        return;
      if (_this.limitRepetition) {
        t1 = _this._warningCounts;
        t2 = t1.$index(0, deprecation);
        count = (t2 == null ? 0 : t2) + 1;
        t1.$indexSet(0, deprecation, count);
        if (count > 5)
          return;
      }
      _this._inner.warn$4$deprecation$span$trace(0, message, true, span, trace);
    },
    debug$2(_, message, span) {
      return this._inner.debug$2(0, message, span);
    },
    summarize$1$js(js) {
      var t1 = this._warningCounts.get$values(0),
        t2 = A._instanceType(t1),
        total = A.IterableIntegerExtension_get_sum(new A.MappedIterable(new A.WhereIterable(t1, new A.DeprecationProcessingLogger_summarize_closure(), t2._eval$1("WhereIterable")), new A.DeprecationProcessingLogger_summarize_closure0(), t2._eval$1("MappedIterable")));
      if (total > 0) {
        t1 = js ? "" : string$.x0aRun_i;
        this._inner.warn$1(0, "" + total + string$.x20repet + t1);
      }
    }
  };
  A.DeprecationProcessingLogger_summarize_closure.prototype = {
    call$1(count) {
      return count > 5;
    },
    $signature: 45
  };
  A.DeprecationProcessingLogger_summarize_closure0.prototype = {
    call$1(count) {
      return count - 5;
    },
    $signature: 150
  };
  A.StderrLogger.prototype = {
    warn$4$deprecation$span$trace(_, message, deprecation, span, trace) {
      var t2,
        result = new A.StringBuffer(""),
        t1 = this.color;
      if (t1) {
        t2 = result._contents = "" + "\x1b[33m\x1b[1m";
        t2 = result._contents = (deprecation ? result._contents = t2 + "Deprecation " : t2) + "Warning\x1b[0m";
      } else
        t2 = result._contents = (deprecation ? result._contents = "" + "DEPRECATION " : "") + "WARNING";
      if (span == null)
        t1 = result._contents = t2 + (": " + message + "\n");
      else if (trace != null) {
        t1 = t2 + (": " + message + "\n\n" + span.highlight$1$color(t1) + "\n");
        result._contents = t1;
      } else {
        t1 = t2 + (" on " + span.message$2$color(0, "\n" + message, t1) + "\n");
        result._contents = t1;
      }
      if (trace != null)
        result._contents = t1 + (A.indent(B.JSString_methods.trimRight$0(trace.toString$0(0)), 4) + "\n");
      A.printError(result);
    },
    warn$1(_, message) {
      return this.warn$4$deprecation$span$trace(0, message, false, null, null);
    },
    warn$3$span$trace(_, message, span, trace) {
      return this.warn$4$deprecation$span$trace(0, message, false, span, trace);
    },
    warn$2$span(_, message, span) {
      return this.warn$4$deprecation$span$trace(0, message, false, span, null);
    },
    warn$2$trace(_, message, trace) {
      return this.warn$4$deprecation$span$trace(0, message, false, null, trace);
    },
    debug$2(_, message, span) {
      var url, t3, t4,
        t1 = span.file,
        t2 = span._file$_start;
      if (A.FileLocation$_(t1, t2).file.url == null)
        url = "-";
      else {
        t3 = A.FileLocation$_(t1, t2).file.url;
        t4 = $.$get$context();
        t3.toString;
        url = t4.prettyUri$1(t3);
      }
      t1 = A.FileLocation$_(t1, t2);
      t1 = t1.file.getLine$1(t1.offset);
      t2 = this.color ? "\x1b[1mDebug\x1b[0m" : "DEBUG";
      t2 = "" + (url + ":" + (t1 + 1) + " ") + t2 + (": " + message);
      A.printError(t2.charCodeAt(0) == 0 ? t2 : t2);
    }
  };
  A.TrackingLogger.prototype = {
    warn$4$deprecation$span$trace(_, message, deprecation, span, trace) {
      this._emittedWarning = true;
      this._tracking$_logger.warn$4$deprecation$span$trace(0, message, deprecation, span, trace);
    },
    warn$1(_, message) {
      return this.warn$4$deprecation$span$trace(0, message, false, null, null);
    },
    warn$3$span$trace(_, message, span, trace) {
      return this.warn$4$deprecation$span$trace(0, message, false, span, trace);
    },
    debug$2(_, message, span) {
      this._emittedDebug = true;
      this._tracking$_logger.debug$2(0, message, span);
    }
  };
  A.BuiltInModule.prototype = {
    get$upstream() {
      return B.List_empty7;
    },
    get$variableNodes() {
      return B.Map_empty4;
    },
    get$extensionStore() {
      return B.C_EmptyExtensionStore;
    },
    get$css(_) {
      return new A.CssStylesheet(B.List_empty3, A.SourceFile$decoded(B.List_empty4, this.url).span$2(0, 0, 0));
    },
    get$preModuleComments() {
      return B.Map_empty2;
    },
    get$transitivelyContainsCss() {
      return false;
    },
    get$transitivelyContainsExtensions() {
      return false;
    },
    setVariable$3($name, value, nodeWithSpan) {
      if (!this.variables.containsKey$1($name))
        throw A.wrapException(A.SassScriptException$("Undefined variable.", null));
      throw A.wrapException(A.SassScriptException$("Cannot modify built-in variable.", null));
    },
    variableIdentity$1($name) {
      return this;
    },
    cloneCss$0() {
      return this;
    },
    $isModule0: 1,
    get$url(receiver) {
      return this.url;
    },
    get$functions(receiver) {
      return this.functions;
    },
    get$mixins() {
      return this.mixins;
    },
    get$variables() {
      return this.variables;
    }
  };
  A.ForwardedModuleView.prototype = {
    get$url(_) {
      var t1 = this._forwarded_view$_inner;
      return t1.get$url(t1);
    },
    get$upstream() {
      return this._forwarded_view$_inner.get$upstream();
    },
    get$extensionStore() {
      return this._forwarded_view$_inner.get$extensionStore();
    },
    get$css(_) {
      var t1 = this._forwarded_view$_inner;
      return t1.get$css(t1);
    },
    get$preModuleComments() {
      return this._forwarded_view$_inner.get$preModuleComments();
    },
    get$transitivelyContainsCss() {
      return this._forwarded_view$_inner.get$transitivelyContainsCss();
    },
    get$transitivelyContainsExtensions() {
      return this._forwarded_view$_inner.get$transitivelyContainsExtensions();
    },
    setVariable$3($name, value, nodeWithSpan) {
      var t2, _1_0, _2_0,
        _s19_ = "Undefined variable.",
        t1 = this._rule,
        _0_0 = t1.shownVariables;
      if (_0_0 != null)
        t2 = !_0_0._base.contains$1(0, $name);
      else
        t2 = false;
      if (t2)
        throw A.wrapException(A.SassScriptException$(_s19_, null));
      else {
        _1_0 = t1.hiddenVariables;
        if (_1_0 != null)
          t2 = _1_0._base.contains$1(0, $name);
        else
          t2 = false;
        if (t2)
          throw A.wrapException(A.SassScriptException$(_s19_, null));
      }
      _2_0 = t1.prefix;
      if (_2_0 != null) {
        if (!B.JSString_methods.startsWith$1($name, _2_0))
          throw A.wrapException(A.SassScriptException$(_s19_, null));
        $name = B.JSString_methods.substring$1($name, _2_0.length);
      }
      return this._forwarded_view$_inner.setVariable$3($name, value, nodeWithSpan);
    },
    variableIdentity$1($name) {
      var _0_0 = this._rule.prefix;
      if (_0_0 != null)
        $name = B.JSString_methods.substring$1($name, _0_0.length);
      return this._forwarded_view$_inner.variableIdentity$1($name);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.ForwardedModuleView && this._forwarded_view$_inner.$eq(0, other._forwarded_view$_inner) && this._rule === other._rule;
    },
    get$hashCode(_) {
      var t1 = this._forwarded_view$_inner;
      return (t1.get$hashCode(t1) ^ A.Primitives_objectHashCode(this._rule)) >>> 0;
    },
    cloneCss$0() {
      return A.ForwardedModuleView$(this._forwarded_view$_inner.cloneCss$0(), this._rule, this.$ti._precomputed1);
    },
    toString$0(_) {
      return "forwarded " + this._forwarded_view$_inner.toString$0(0);
    },
    $isModule0: 1,
    get$variables() {
      return this.variables;
    },
    get$variableNodes() {
      return this.variableNodes;
    },
    get$functions(receiver) {
      return this.functions;
    },
    get$mixins() {
      return this.mixins;
    }
  };
  A.ShadowedModuleView.prototype = {
    get$url(_) {
      var t1 = this._shadowed_view$_inner;
      return t1.get$url(t1);
    },
    get$upstream() {
      return this._shadowed_view$_inner.get$upstream();
    },
    get$extensionStore() {
      return this._shadowed_view$_inner.get$extensionStore();
    },
    get$css(_) {
      var t1 = this._shadowed_view$_inner;
      return t1.get$css(t1);
    },
    get$preModuleComments() {
      return this._shadowed_view$_inner.get$preModuleComments();
    },
    get$transitivelyContainsCss() {
      return this._shadowed_view$_inner.get$transitivelyContainsCss();
    },
    get$transitivelyContainsExtensions() {
      return this._shadowed_view$_inner.get$transitivelyContainsExtensions();
    },
    setVariable$3($name, value, nodeWithSpan) {
      if (!this.variables.containsKey$1($name))
        throw A.wrapException(A.SassScriptException$("Undefined variable.", null));
      else
        this._shadowed_view$_inner.setVariable$3($name, value, nodeWithSpan);
    },
    variableIdentity$1($name) {
      return this._shadowed_view$_inner.variableIdentity$1($name);
    },
    $eq(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (other instanceof A.ShadowedModuleView)
        if (_this._shadowed_view$_inner.$eq(0, other._shadowed_view$_inner)) {
          t1 = _this.variables;
          t1 = t1.get$keys(t1);
          t2 = other.variables;
          if (B.C_IterableEquality.equals$2(0, t1, t2.get$keys(t2))) {
            t1 = _this.functions;
            t1 = t1.get$keys(t1);
            t2 = other.functions;
            if (B.C_IterableEquality.equals$2(0, t1, t2.get$keys(t2))) {
              t1 = _this.mixins;
              t1 = t1.get$keys(t1);
              t2 = other.mixins;
              t2 = B.C_IterableEquality.equals$2(0, t1, t2.get$keys(t2));
              t1 = t2;
            } else
              t1 = false;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var t1 = this._shadowed_view$_inner;
      return t1.get$hashCode(t1);
    },
    cloneCss$0() {
      var _this = this;
      return new A.ShadowedModuleView(_this._shadowed_view$_inner.cloneCss$0(), _this.variables, _this.variableNodes, _this.functions, _this.mixins, _this.$ti);
    },
    toString$0(_) {
      return "shadowed " + this._shadowed_view$_inner.toString$0(0);
    },
    $isModule0: 1,
    get$variables() {
      return this.variables;
    },
    get$variableNodes() {
      return this.variableNodes;
    },
    get$functions(receiver) {
      return this.functions;
    },
    get$mixins() {
      return this.mixins;
    }
  };
  A.AtRootQueryParser.prototype = {
    parse$0() {
      return this.wrapSpanFormatException$1(new A.AtRootQueryParser_parse_closure(this));
    }
  };
  A.AtRootQueryParser_parse_closure.prototype = {
    call$0() {
      var include, atRules,
        t1 = this.$this,
        t2 = t1.scanner;
      t2.expectChar$1(40);
      t1.whitespace$0();
      include = t1.scanIdentifier$1("with");
      if (!include)
        t1.expectIdentifier$2$name("without", '"with" or "without"');
      t1.whitespace$0();
      t2.expectChar$1(58);
      t1.whitespace$0();
      atRules = A.LinkedHashSet_LinkedHashSet$_empty(type$.String);
      do {
        atRules.add$1(0, t1.identifier$0().toLowerCase());
        t1.whitespace$0();
      } while (t1.lookingAtIdentifier$0());
      t2.expectChar$1(41);
      t2.expectDone$0();
      return new A.AtRootQuery(include, atRules, atRules.contains$1(0, "all"), atRules.contains$1(0, "rule"));
    },
    $signature: 515
  };
  A._disallowedFunctionNames_closure.prototype = {
    call$1($function) {
      return $function.name;
    },
    $signature: 514
  };
  A.CssParser.prototype = {
    get$plainCss() {
      return true;
    },
    silentComment$0() {
      var t1, t2, _this = this;
      if (_this._inExpression)
        return false;
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      _this.super$Parser$silentComment();
      _this.error$2(0, string$.Silent, t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    atRule$2$root(child, root) {
      var $name, _0_0, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expectChar$1(64);
      $name = _this.interpolatedIdentifier$0();
      _this.whitespace$0();
      _0_0 = $name.get$asPlain();
      $label0$0: {
        if ("at-root" === _0_0 || "content" === _0_0 || "debug" === _0_0 || "each" === _0_0 || "error" === _0_0 || "extend" === _0_0 || "for" === _0_0 || "function" === _0_0 || "if" === _0_0 || "include" === _0_0 || "mixin" === _0_0 || "return" === _0_0 || "warn" === _0_0 || "while" === _0_0)
          _this._forbiddenAtRule$1(start);
        if ("import" === _0_0) {
          t1 = _this._cssImportRule$1(start);
          break $label0$0;
        }
        if ("media" === _0_0) {
          t1 = _this.mediaRule$1(start);
          break $label0$0;
        }
        if ("-moz-document" === _0_0) {
          t1 = _this.mozDocumentRule$2(start, $name);
          break $label0$0;
        }
        if ("supports" === _0_0) {
          t1 = _this.supportsRule$1(start);
          break $label0$0;
        }
        t1 = _this.unknownAtRule$2(start, $name);
        break $label0$0;
      }
      return t1;
    },
    _forbiddenAtRule$1(start) {
      this.almostAnyValue$0();
      this.error$2(0, "This at-rule isn't allowed in plain CSS.", this.scanner.spanFrom$1(start));
    },
    _cssImportRule$1(start) {
      var t2, urlSpan, modifiers, _this = this,
        t1 = _this.scanner,
        urlStart = new A._SpanScannerState(t1, t1._string_scanner$_position),
        _0_0 = t1.peekChar$0();
      $label0$0: {
        if (117 === _0_0 || 85 === _0_0) {
          t2 = _this.dynamicUrl$0();
          break $label0$0;
        }
        t2 = new A.StringExpression(_this.interpolatedString$0().asInterpolation$1$static(true), false);
        break $label0$0;
      }
      urlSpan = t1.spanFrom$1(urlStart);
      _this.whitespace$0();
      modifiers = _this.tryImportModifiers$0();
      _this.expectStatementSeparator$1("@import rule");
      t2 = A._setArrayType([new A.StaticImport(A.Interpolation$(A._setArrayType([t2], type$.JSArray_Object), urlSpan), modifiers, t1.spanFrom$1(urlStart))], type$.JSArray_Import);
      t1 = t1.spanFrom$1(start);
      return new A.ImportRule(A.List_List$unmodifiable(t2, type$.Import), t1);
    },
    parentheses$0() {
      var expression,
        t1 = this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expectChar$1(40);
      this.whitespace$0();
      expression = this.expressionUntilComma$0();
      t1.expectChar$1(41);
      return new A.ParenthesizedExpression(expression, t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    identifierLike$0() {
      var t2, allowEmptySecondArg, $arguments, t3, t4, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        identifier = _this.interpolatedIdentifier$0(),
        plain = identifier.get$asPlain(),
        lower = plain.toLowerCase(),
        _0_0 = _this.trySpecialFunction$2(lower, start);
      if (_0_0 != null)
        return _0_0;
      t2 = t1._string_scanner$_position;
      if (t1.scanChar$1(46))
        return _this.namespacedExpression$2(plain, start);
      if (!t1.scanChar$1(40))
        return new A.StringExpression(identifier, false);
      allowEmptySecondArg = lower === "var";
      $arguments = A._setArrayType([], type$.JSArray_Expression);
      if (!t1.scanChar$1(41)) {
        do {
          _this.whitespace$0();
          if (allowEmptySecondArg && $arguments.length === 1 && t1.peekChar$0() === 41) {
            t3 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
            t4 = t3.offset;
            t4 = A._FileSpan$(t3.file, t4, t4);
            $arguments.push(new A.StringExpression(A.Interpolation$(A._setArrayType([""], type$.JSArray_Object), t4), false));
            break;
          }
          $arguments.push(_this.expressionUntilComma$1$singleEquals(true));
          _this.whitespace$0();
        } while (t1.scanChar$1(44));
        t1.expectChar$1(41);
      }
      if ($.$get$_disallowedFunctionNames().contains$1(0, plain))
        _this.error$2(0, string$.This_f, t1.spanFrom$1(start));
      t2 = t1.spanFrom$1(new A._SpanScannerState(t1, t2));
      t3 = type$.Expression;
      t4 = A.List_List$unmodifiable($arguments, t3);
      t3 = A.ConstantMap_ConstantMap$from(B.Map_empty6, type$.String, t3);
      t1 = t1.spanFrom$1(start);
      return new A.FunctionExpression(null, A.stringReplaceAllUnchecked(plain, "_", "-"), plain, new A.ArgumentInvocation(t4, t3, null, null, t2), t1);
    },
    namespacedExpression$2(namespace, start) {
      var expression = this.super$StylesheetParser$namespacedExpression(namespace, start);
      this.error$2(0, string$.Modulen, expression.get$span(expression));
    }
  };
  A.KeyframeSelectorParser.prototype = {
    parse$0() {
      return this.wrapSpanFormatException$1(new A.KeyframeSelectorParser_parse_closure(this));
    },
    _percentage$0() {
      var $self, _0_0,
        t1 = this.scanner,
        t2 = t1.scanChar$1(43) ? "" + A.Primitives_stringFromCharCode(43) : "",
        second = t1.peekChar$0();
      if (!(second != null && second >= 48 && second <= 57) && second !== 46)
        t1.error$1(0, "Expected number.");
      while (true) {
        $self = t1.peekChar$0();
        if (!($self != null && $self >= 48 && $self <= 57))
          break;
        t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
      }
      if (t1.peekChar$0() === 46) {
        t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
        while (true) {
          $self = t1.peekChar$0();
          if (!($self != null && $self >= 48 && $self <= 57))
            break;
          t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
        }
      }
      if (this.scanIdentChar$1(101)) {
        t2 += A.Primitives_stringFromCharCode(101);
        _0_0 = t1.peekChar$0();
        if (43 === _0_0 || 45 === _0_0)
          t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
        $self = t1.peekChar$0();
        if (!($self != null && $self >= 48 && $self <= 57))
          t1.error$1(0, "Expected digit.");
        do {
          t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
          $self = t1.peekChar$0();
        } while ($self != null && $self >= 48 && $self <= 57);
      }
      t1.expectChar$1(37);
      t2 += A.Primitives_stringFromCharCode(37);
      return t2.charCodeAt(0) == 0 ? t2 : t2;
    }
  };
  A.KeyframeSelectorParser_parse_closure.prototype = {
    call$0() {
      var selectors = A._setArrayType([], type$.JSArray_String),
        t1 = this.$this,
        t2 = t1.scanner;
      do {
        t1.whitespace$0();
        if (t1.lookingAtIdentifier$0())
          if (t1.scanIdentifier$1("from"))
            selectors.push("from");
          else {
            t1.expectIdentifier$2$name("to", '"to" or "from"');
            selectors.push("to");
          }
        else
          selectors.push(t1._percentage$0());
        t1.whitespace$0();
      } while (t2.scanChar$1(44));
      t2.expectDone$0();
      return selectors;
    },
    $signature: 124
  };
  A.MediaQueryParser.prototype = {
    parse$0() {
      return this.wrapSpanFormatException$1(new A.MediaQueryParser_parse_closure(this));
    },
    _mediaQuery$0() {
      var conditions, conjunction, t1, identifier1, identifier2, type, modifier, _this = this, _s3_ = "and", _null = null;
      if (_this.scanner.peekChar$0() === 40) {
        conditions = A._setArrayType([_this._mediaInParens$0()], type$.JSArray_String);
        _this.whitespace$0();
        if (_this.scanIdentifier$1(_s3_)) {
          _this.expectWhitespace$0();
          B.JSArray_methods.addAll$1(conditions, _this._mediaLogicSequence$1(_s3_));
          conjunction = true;
        } else {
          t1 = _this.scanIdentifier$1("or");
          if (t1) {
            _this.expectWhitespace$0();
            B.JSArray_methods.addAll$1(conditions, _this._mediaLogicSequence$1("or"));
          }
          conjunction = !t1;
        }
        return A.CssMediaQuery$condition(conditions, conjunction);
      }
      identifier1 = _this.identifier$0();
      if (A.equalsIgnoreCase(identifier1, "not")) {
        _this.expectWhitespace$0();
        if (!_this.lookingAtIdentifier$0())
          return A.CssMediaQuery$condition(A._setArrayType(["(not " + _this._mediaInParens$0() + ")"], type$.JSArray_String), _null);
      }
      _this.whitespace$0();
      if (!_this.lookingAtIdentifier$0())
        return A.CssMediaQuery$type(identifier1, _null, _null);
      identifier2 = _this.identifier$0();
      if (A.equalsIgnoreCase(identifier2, _s3_)) {
        _this.expectWhitespace$0();
        type = identifier1;
        modifier = _null;
      } else {
        _this.whitespace$0();
        if (_this.scanIdentifier$1(_s3_))
          _this.expectWhitespace$0();
        else
          return A.CssMediaQuery$type(identifier2, _null, identifier1);
        type = identifier2;
        modifier = identifier1;
      }
      if (_this.scanIdentifier$1("not")) {
        _this.expectWhitespace$0();
        return A.CssMediaQuery$type(type, A._setArrayType(["(not " + _this._mediaInParens$0() + ")"], type$.JSArray_String), modifier);
      }
      return A.CssMediaQuery$type(type, _this._mediaLogicSequence$1(_s3_), modifier);
    },
    _mediaLogicSequence$1(operator) {
      var t1, t2, _this = this,
        result = A._setArrayType([], type$.JSArray_String);
      for (t1 = _this.scanner; true;) {
        t1.expectChar$2$name(40, "media condition in parentheses");
        t2 = _this.declarationValue$0();
        t1.expectChar$1(41);
        result.push("(" + t2 + ")");
        _this.whitespace$0();
        if (!_this.scanIdentifier$1(operator))
          return result;
        _this.expectWhitespace$0();
      }
    },
    _mediaInParens$0() {
      var t2,
        t1 = this.scanner;
      t1.expectChar$2$name(40, "media condition in parentheses");
      t2 = this.declarationValue$0();
      t1.expectChar$1(41);
      return "(" + t2 + ")";
    }
  };
  A.MediaQueryParser_parse_closure.prototype = {
    call$0() {
      var queries = A._setArrayType([], type$.JSArray_CssMediaQuery),
        t1 = this.$this,
        t2 = t1.scanner;
      do {
        t1.whitespace$0();
        queries.push(t1._mediaQuery$0());
        t1.whitespace$0();
      } while (t2.scanChar$1(44));
      t2.expectDone$0();
      return queries;
    },
    $signature: 509
  };
  A.Parser.prototype = {
    _parseIdentifier$0() {
      return this.wrapSpanFormatException$1(new A.Parser__parseIdentifier_closure(this));
    },
    _isVariableDeclarationLike$0() {
      var _this = this,
        t1 = _this.scanner;
      if (!t1.scanChar$1(36))
        return false;
      if (!_this.lookingAtIdentifier$0())
        return false;
      _this.identifier$0();
      _this.whitespace$0();
      return t1.scanChar$1(58);
    },
    whitespace$0() {
      do
        this.whitespaceWithoutComments$0();
      while (this.scanComment$0());
    },
    whitespaceWithoutComments$0() {
      var t3,
        t1 = this.scanner,
        t2 = t1.string.length;
      while (true) {
        if (t1._string_scanner$_position !== t2) {
          t3 = t1.peekChar$0();
          t3 = t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12;
        } else
          t3 = false;
        if (!t3)
          break;
        t1.readChar$0();
      }
    },
    spaces$0() {
      var t3,
        t1 = this.scanner,
        t2 = t1.string.length;
      while (true) {
        if (t1._string_scanner$_position !== t2) {
          t3 = t1.peekChar$0();
          t3 = t3 === 32 || t3 === 9;
        } else
          t3 = false;
        if (!t3)
          break;
        t1.readChar$0();
      }
    },
    scanComment$0() {
      var _0_0,
        t1 = this.scanner;
      if (t1.peekChar$0() !== 47)
        return false;
      _0_0 = t1.peekChar$1(1);
      if (47 === _0_0)
        return this.silentComment$0();
      if (42 === _0_0) {
        this.loudComment$0();
        return true;
      }
      return false;
    },
    expectWhitespace$0() {
      var t2, t3,
        t1 = this.scanner;
      if (t1._string_scanner$_position !== t1.string.length) {
        t2 = t1.peekChar$0();
        t3 = !(t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12 || this.scanComment$0());
        t2 = t3;
      } else
        t2 = true;
      if (t2)
        t1.error$1(0, "Expected whitespace.");
      this.whitespace$0();
    },
    silentComment$0() {
      var t2, t3,
        t1 = this.scanner;
      t1.expect$1("//");
      t2 = t1.string.length;
      while (true) {
        if (t1._string_scanner$_position !== t2) {
          t3 = t1.peekChar$0();
          t3 = !(t3 === 10 || t3 === 13 || t3 === 12);
        } else
          t3 = false;
        if (!t3)
          break;
        t1.readChar$0();
      }
      return true;
    },
    loudComment$0() {
      var next,
        t1 = this.scanner;
      t1.expect$1("/*");
      for (; true;) {
        if (t1.readChar$0() !== 42)
          continue;
        do
          next = t1.readChar$0();
        while (next === 42);
        if (next === 47)
          break;
      }
    },
    identifier$2$normalize$unit(normalize, unit) {
      var t2, _0_0, _this = this,
        _s20_ = "Expected identifier.",
        text = new A.StringBuffer(""),
        t1 = _this.scanner;
      if (t1.scanChar$1(45)) {
        t2 = text._contents = "" + A.Primitives_stringFromCharCode(45);
        if (t1.scanChar$1(45)) {
          text._contents = t2 + A.Primitives_stringFromCharCode(45);
          _this._identifierBody$3$normalize$unit(text, normalize, unit);
          t1 = text._contents;
          return t1.charCodeAt(0) == 0 ? t1 : t1;
        }
      } else
        t2 = "";
      $label0$0: {
        _0_0 = t1.peekChar$0();
        if (_0_0 == null)
          t1.error$1(0, _s20_);
        if (95 === _0_0 && normalize) {
          t1.readChar$0();
          text._contents = t2 + A.Primitives_stringFromCharCode(45);
          break $label0$0;
        }
        if (_0_0 === 95 || A.CharacterExtension_get_isAlphabetic(_0_0) || _0_0 >= 128) {
          text._contents = t2 + A.Primitives_stringFromCharCode(t1.readChar$0());
          break $label0$0;
        }
        if (92 === _0_0) {
          text._contents = t2 + _this.escape$1$identifierStart(true);
          break $label0$0;
        }
        t1.error$1(0, _s20_);
      }
      _this._identifierBody$3$normalize$unit(text, normalize, unit);
      t1 = text._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    identifier$0() {
      return this.identifier$2$normalize$unit(false, false);
    },
    identifier$1$normalize(normalize) {
      return this.identifier$2$normalize$unit(normalize, false);
    },
    identifier$1$unit(unit) {
      return this.identifier$2$normalize$unit(false, unit);
    },
    _identifierBody$3$normalize$unit(text, normalize, unit) {
      var t1, _1_0, _0_0, t2;
      for (t1 = this.scanner; true;) {
        _1_0 = t1.peekChar$0();
        if (_1_0 == null)
          break;
        if (45 === _1_0 && unit) {
          _0_0 = t1.peekChar$1(1);
          if (46 !== _0_0)
            t2 = A._isInt(_0_0) && _0_0 >= 48 && _0_0 <= 57;
          else
            t2 = true;
          if (t2)
            break;
          t2 = A.Primitives_stringFromCharCode(t1.readChar$0());
          text._contents += t2;
          continue;
        }
        if (95 === _1_0 && normalize) {
          t1.readChar$0();
          t2 = A.Primitives_stringFromCharCode(45);
          text._contents += t2;
          continue;
        }
        if (_1_0 !== 95) {
          if (!(_1_0 >= 97 && _1_0 <= 122))
            t2 = _1_0 >= 65 && _1_0 <= 90;
          else
            t2 = true;
          t2 = t2 || _1_0 >= 128;
        } else
          t2 = true;
        if (!t2)
          t2 = _1_0 >= 48 && _1_0 <= 57 || _1_0 === 45;
        else
          t2 = true;
        if (t2) {
          t2 = A.Primitives_stringFromCharCode(t1.readChar$0());
          text._contents += t2;
          continue;
        }
        if (92 === _1_0) {
          t2 = this.escape$0();
          text._contents += t2;
          continue;
        }
        break;
      }
    },
    _identifierBody$1(text) {
      return this._identifierBody$3$normalize$unit(text, false, false);
    },
    string$0() {
      var buffer, _0_0, t2,
        t1 = this.scanner,
        quote = t1.readChar$0();
      if (quote !== 39 && quote !== 34)
        t1.error$2$position(0, "Expected string.", t1._string_scanner$_position - 1);
      buffer = new A.StringBuffer("");
      for (; true;) {
        _0_0 = t1.peekChar$0();
        if (_0_0 === quote) {
          t1.readChar$0();
          break;
        }
        if (_0_0 == null || _0_0 === 10 || _0_0 === 13 || _0_0 === 12)
          t1.error$1(0, "Expected " + A.Primitives_stringFromCharCode(quote) + ".");
        if (92 === _0_0) {
          t2 = t1.peekChar$1(1);
          if (t2 === 10 || t2 === 13 || t2 === 12) {
            t1.readChar$0();
            t1.readChar$0();
          } else {
            t2 = A.Primitives_stringFromCharCode(A.consumeEscapedCharacter(t1));
            buffer._contents += t2;
          }
          continue;
        }
        t2 = A.Primitives_stringFromCharCode(t1.readChar$0());
        buffer._contents += t2;
      }
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    declarationValue$1$allowEmpty(allowEmpty) {
      var t1, t2, wroteNewline, next, t3, start, end, _0_0, _this = this,
        buffer = new A.StringBuffer(""),
        brackets = A._setArrayType([], type$.JSArray_int);
      for (t1 = _this.scanner, t2 = _this.get$string(), wroteNewline = false; true;) {
        next = t1.peekChar$0();
        if (next == null)
          break;
        if (92 === next) {
          t3 = _this.escape$1$identifierStart(true);
          buffer._contents += t3;
          wroteNewline = false;
          continue;
        }
        if (34 === next || 39 === next) {
          start = t1._string_scanner$_position;
          t2.call$0();
          end = t1._string_scanner$_position;
          buffer._contents += B.JSString_methods.substring$2(t1.string, start, end);
          wroteNewline = false;
          continue;
        }
        if (47 === next) {
          if (t1.peekChar$1(1) === 42) {
            t3 = _this.get$loudComment();
            start = t1._string_scanner$_position;
            t3.call$0();
            end = t1._string_scanner$_position;
            buffer._contents += B.JSString_methods.substring$2(t1.string, start, end);
          } else {
            t3 = A.Primitives_stringFromCharCode(t1.readChar$0());
            buffer._contents += t3;
          }
          wroteNewline = false;
          continue;
        }
        if (32 === next || 9 === next) {
          if (!wroteNewline) {
            t3 = t1.peekChar$1(1);
            t3 = !(t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12);
          } else
            t3 = true;
          if (t3) {
            t3 = A.Primitives_stringFromCharCode(32);
            buffer._contents += t3;
          }
          t1.readChar$0();
          continue;
        }
        if (10 === next || 13 === next || 12 === next) {
          t3 = t1.peekChar$1(-1);
          if (!(t3 === 10 || t3 === 13 || t3 === 12))
            buffer._contents += "\n";
          t1.readChar$0();
          wroteNewline = true;
          continue;
        }
        if (40 === next || 123 === next || 91 === next) {
          t3 = A.Primitives_stringFromCharCode(next);
          buffer._contents += t3;
          brackets.push(A.opposite(t1.readChar$0()));
          wroteNewline = false;
          continue;
        }
        if (41 === next || 125 === next || 93 === next) {
          if (brackets.length === 0)
            break;
          t3 = A.Primitives_stringFromCharCode(next);
          buffer._contents += t3;
          t1.expectChar$1(brackets.pop());
          wroteNewline = false;
          continue;
        }
        if (59 === next) {
          if (brackets.length === 0)
            break;
          t3 = A.Primitives_stringFromCharCode(t1.readChar$0());
          buffer._contents += t3;
          continue;
        }
        if (117 === next || 85 === next) {
          _0_0 = _this.tryUrl$0();
          if (_0_0 != null)
            buffer._contents += _0_0;
          else {
            t3 = A.Primitives_stringFromCharCode(t1.readChar$0());
            buffer._contents += t3;
          }
          wroteNewline = false;
          continue;
        }
        if (_this.lookingAtIdentifier$0()) {
          t3 = _this.identifier$0();
          buffer._contents += t3;
        } else {
          t3 = A.Primitives_stringFromCharCode(t1.readChar$0());
          buffer._contents += t3;
        }
        wroteNewline = false;
      }
      if (brackets.length !== 0)
        t1.expectChar$1(B.JSArray_methods.get$last(brackets));
      if (!allowEmpty && buffer._contents.length === 0)
        t1.error$1(0, "Expected token.");
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    declarationValue$0() {
      return this.declarationValue$1$allowEmpty(false);
    },
    tryUrl$0() {
      var buffer, _0_0, t2, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      if (!_this.scanIdentifier$1("url"))
        return null;
      if (!t1.scanChar$1(40)) {
        t1.set$state(start);
        return null;
      }
      _this.whitespace$0();
      buffer = new A.StringBuffer("");
      buffer._contents = "" + "url(";
      for (; true;) {
        _0_0 = t1.peekChar$0();
        if (_0_0 == null)
          break;
        if (92 === _0_0) {
          t2 = _this.escape$0();
          buffer._contents += t2;
          continue;
        }
        if (37 !== _0_0)
          if (38 !== _0_0)
            if (35 !== _0_0)
              t2 = _0_0 >= 42 && _0_0 <= 126 || _0_0 >= 128;
            else
              t2 = true;
          else
            t2 = true;
        else
          t2 = true;
        if (t2) {
          t2 = A.Primitives_stringFromCharCode(t1.readChar$0());
          buffer._contents += t2;
          continue;
        }
        if (_0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12) {
          _this.whitespace$0();
          if (t1.peekChar$0() !== 41)
            break;
          continue;
        }
        if (41 === _0_0) {
          t2 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t2 = buffer._contents += t2;
          return t2.charCodeAt(0) == 0 ? t2 : t2;
        }
        break;
      }
      t1.set$state(start);
      return null;
    },
    variableName$0() {
      this.scanner.expectChar$1(36);
      return this.identifier$1$normalize(true);
    },
    escape$1$identifierStart(identifierStart) {
      var value, _0_0, i, next, t2, exception,
        _s25_ = "Expected escape sequence.",
        t1 = this.scanner,
        start = t1._string_scanner$_position;
      t1.expectChar$1(92);
      value = 0;
      $label0$1: {
        _0_0 = t1.peekChar$0();
        if (_0_0 == null)
          t1.error$1(0, _s25_);
        if (_0_0 === 10 || _0_0 === 13 || _0_0 === 12)
          t1.error$1(0, _s25_);
        if (A.CharacterExtension_get_isHex(_0_0)) {
          for (i = 0; i < 6; ++i) {
            next = t1.peekChar$0();
            if (next != null) {
              if (!(next >= 48 && next <= 57))
                if (!(next >= 97 && next <= 102))
                  t2 = next >= 65 && next <= 70;
                else
                  t2 = true;
              else
                t2 = true;
              t2 = !t2;
            } else
              t2 = true;
            if (t2)
              break;
            value *= 16;
            value += A.asHex(t1.readChar$0());
          }
          this.scanCharIf$1(new A.Parser_escape_closure());
          break $label0$1;
        }
        value = t1.readChar$0();
      }
      if (identifierStart) {
        t2 = value;
        t2 = t2 === 95 || A.CharacterExtension_get_isAlphabetic(t2) || t2 >= 128;
      } else {
        t2 = value;
        if (!(t2 === 95 || A.CharacterExtension_get_isAlphabetic(t2) || t2 >= 128))
          t2 = t2 >= 48 && t2 <= 57 || t2 === 45;
        else
          t2 = true;
      }
      if (t2)
        try {
          t2 = A.Primitives_stringFromCharCode(value);
          return t2;
        } catch (exception) {
          if (type$.RangeError._is(A.unwrapException(exception)))
            t1.error$3$length$position(0, "Invalid Unicode code point.", t1._string_scanner$_position - start, start);
          else
            throw exception;
        }
      else {
        if (!(value <= 31))
          if (!J.$eq$(value, 127))
            if (identifierStart) {
              t1 = value;
              t1 = t1 >= 48 && t1 <= 57;
            } else
              t1 = false;
          else
            t1 = true;
        else
          t1 = true;
        if (t1) {
          t1 = "" + A.Primitives_stringFromCharCode(92);
          if (value > 15)
            t1 += A.Primitives_stringFromCharCode(A.hexCharFor(B.JSNumber_methods._shrOtherPositive$1(value, 4)));
          t1 = t1 + A.Primitives_stringFromCharCode(A.hexCharFor(value & 15)) + A.Primitives_stringFromCharCode(32);
          return t1.charCodeAt(0) == 0 ? t1 : t1;
        } else
          return A.String_String$fromCharCodes(A._setArrayType([92, value], type$.JSArray_int), 0, null);
      }
    },
    escape$0() {
      return this.escape$1$identifierStart(false);
    },
    scanCharIf$1(condition) {
      var t1 = this.scanner;
      if (!condition.call$1(t1.peekChar$0()))
        return false;
      t1.readChar$0();
      return true;
    },
    scanIdentChar$2$caseSensitive(char, caseSensitive) {
      var t3,
        t1 = new A.Parser_scanIdentChar_matches(caseSensitive, char),
        t2 = this.scanner,
        _0_0 = t2.peekChar$0();
      if (_0_0 != null) {
        t3 = t1.call$1(_0_0);
        t3 = t3;
      } else
        t3 = false;
      if (t3) {
        t2.readChar$0();
        return true;
      }
      if (92 === _0_0) {
        t3 = t2._string_scanner$_position;
        if (t1.call$1(A.consumeEscapedCharacter(t2)))
          return true;
        t2.set$state(new A._SpanScannerState(t2, t3));
      }
      return false;
    },
    scanIdentChar$1(char) {
      return this.scanIdentChar$2$caseSensitive(char, false);
    },
    expectIdentChar$1(letter) {
      var t1;
      if (this.scanIdentChar$2$caseSensitive(letter, false))
        return;
      t1 = this.scanner;
      t1.error$2$position(0, 'Expected "' + A.Primitives_stringFromCharCode(letter) + '".', t1._string_scanner$_position);
    },
    lookingAtIdentifier$1($forward) {
      var t1, _1_0, t2, _0_0;
      if ($forward == null)
        $forward = 0;
      t1 = this.scanner;
      _1_0 = t1.peekChar$1($forward);
      $label0$0: {
        if (A._isInt(_1_0))
          t2 = _1_0 === 95 || A.CharacterExtension_get_isAlphabetic(_1_0) || _1_0 >= 128;
        else
          t2 = false;
        if (t2 || 92 === _1_0) {
          t1 = true;
          break $label0$0;
        }
        if (45 === _1_0) {
          _0_0 = t1.peekChar$1($forward + 1);
          $label1$1: {
            if (A._isInt(_0_0))
              t1 = _0_0 === 95 || A.CharacterExtension_get_isAlphabetic(_0_0) || _0_0 >= 128;
            else
              t1 = false;
            t1 = t1 || 92 === _0_0 || 45 === _0_0;
            if (t1)
              break $label1$1;
            break $label1$1;
          }
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    lookingAtIdentifier$0() {
      return this.lookingAtIdentifier$1(null);
    },
    lookingAtIdentifierBody$0() {
      var t1,
        next = this.scanner.peekChar$0();
      if (next != null) {
        if (!(next === 95 || A.CharacterExtension_get_isAlphabetic(next) || next >= 128))
          t1 = next >= 48 && next <= 57 || next === 45;
        else
          t1 = true;
        t1 = t1 || next === 92;
      } else
        t1 = false;
      return t1;
    },
    scanIdentifier$2$caseSensitive(text, caseSensitive) {
      var t1, t2, _this = this;
      if (!_this.lookingAtIdentifier$0())
        return false;
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      if (_this._consumeIdentifier$2(text, caseSensitive) && !_this.lookingAtIdentifierBody$0())
        return true;
      else {
        t1.set$state(new A._SpanScannerState(t1, t2));
        return false;
      }
    },
    scanIdentifier$1(text) {
      return this.scanIdentifier$2$caseSensitive(text, false);
    },
    _consumeIdentifier$2(text, caseSensitive) {
      var t1, t2, t3;
      for (t1 = new A.CodeUnits(text), t2 = type$.CodeUnits, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (!this.scanIdentChar$2$caseSensitive(t3 == null ? t2._as(t3) : t3, caseSensitive))
          return false;
      }
      return true;
    },
    expectIdentifier$2$name(text, $name) {
      var t1, start, t2, t3, t4, t5, t6;
      if ($name == null)
        $name = '"' + text + '"';
      t1 = this.scanner;
      start = t1._string_scanner$_position;
      for (t2 = new A.CodeUnits(text), t3 = type$.CodeUnits, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t4 = "Expected " + $name, t5 = t4 + ".", t3 = t3._eval$1("ListBase.E"); t2.moveNext$0();) {
        t6 = t2.__internal$_current;
        if (this.scanIdentChar$2$caseSensitive(t6 == null ? t3._as(t6) : t6, false))
          continue;
        t1.error$2$position(0, t5, start);
      }
      if (!this.lookingAtIdentifierBody$0())
        return;
      t1.error$2$position(0, t4, start);
    },
    expectIdentifier$1(text) {
      return this.expectIdentifier$2$name(text, null);
    },
    rawText$1(consumer) {
      var t1 = this.scanner,
        start = t1._string_scanner$_position;
      consumer.call$0();
      return t1.substring$1(0, start);
    },
    spanFrom$1(state) {
      var span = this.scanner.spanFrom$1(state);
      return this._interpolationMap == null ? span : new A.LazyFileSpan(new A.Parser_spanFrom_closure(this, span));
    },
    error$3(_, message, span, trace) {
      var exception = new A.StringScannerException(this.scanner.string, message, span);
      if (trace == null)
        throw A.wrapException(exception);
      else
        A.throwWithTrace(exception, this.get$error(this), trace);
    },
    error$2(_, message, span) {
      return this.error$3(0, message, span, null);
    },
    withErrorMessage$1$2(message, callback) {
      var error, stackTrace, t1, exception;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.SourceSpanFormatException._is(t1)) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = J.get$span$z(error);
          A.throwWithTrace(new A.SourceSpanFormatException(error.get$source(), message, t1), error, stackTrace);
        } else
          throw exception;
      }
    },
    withErrorMessage$2(message, callback) {
      return this.withErrorMessage$1$2(message, callback, type$.dynamic);
    },
    wrapSpanFormatException$1$1(callback) {
      var error, stackTrace, map, error0, stackTrace0, span, error1, stackTrace1, span0, secondarySpans, t1, t2, span1, description, _0_0, t3, exception, t4, _this = this,
        _s8_ = "expected";
      try {
        try {
          t3 = callback.call$0();
          return t3;
        } catch (exception) {
          t3 = A.unwrapException(exception);
          if (type$.SourceSpanFormatException._is(t3)) {
            error = t3;
            stackTrace = A.getTraceFromException(exception);
            map = _this._interpolationMap;
            if (map == null)
              throw exception;
            A.throwWithTrace(map.mapException$1(error), error, stackTrace);
          } else
            throw exception;
        }
      } catch (exception) {
        t3 = A.unwrapException(exception);
        if (type$.SourceSpanFormatException._is(t3)) {
          error0 = t3;
          stackTrace0 = A.getTraceFromException(exception);
          span = J.get$span$z(error0);
          if (A.startsWithIgnoreCase(error0._span_exception$_message, _s8_))
            span = _this._adjustExceptionSpan$1(span);
          t1 = error0._span_exception$_message;
          t2 = span;
          A.throwWithTrace(new A.SassFormatException(B.Set_empty, t1, t2), error0, stackTrace0);
        } else if (type$.MultiSourceSpanFormatException._is(t3)) {
          error1 = t3;
          stackTrace1 = A.getTraceFromException(exception);
          span0 = J.get$span$z(error1);
          t3 = type$.FileSpan;
          t4 = type$.String;
          secondarySpans = error1.get$secondarySpans().cast$2$0(0, t3, t4);
          if (A.startsWithIgnoreCase(error1._span_exception$_message, _s8_)) {
            span0 = _this._adjustExceptionSpan$1(span0);
            t1 = A.LinkedHashMap_LinkedHashMap$_empty(t3, t4);
            for (t3 = A.MapExtensions_get_pairs(secondarySpans, t3, t4), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
              t2 = t3.get$current(t3);
              span1 = null;
              description = null;
              _0_0 = t2;
              span1 = _0_0._0;
              description = _0_0._1;
              J.$indexSet$ax(t1, _this._adjustExceptionSpan$1(span1), description);
            }
            secondarySpans = t1;
          }
          A.throwWithTrace(A.MultiSpanSassFormatException$(error1._span_exception$_message, span0, error1.get$primaryLabel(), secondarySpans, null), error1, stackTrace1);
        } else
          throw exception;
      }
    },
    wrapSpanFormatException$1(callback) {
      return this.wrapSpanFormatException$1$1(callback, type$.dynamic);
    },
    _adjustExceptionSpan$1(span) {
      var start, t1;
      if (span.get$length(span) > 0)
        return span;
      start = this._firstNewlineBefore$1(span.get$start(span));
      if (start.$eq(0, span.get$start(span)))
        t1 = span;
      else {
        t1 = start.offset;
        t1 = A._FileSpan$(start.file, t1, t1);
      }
      return t1;
    },
    _firstNewlineBefore$1($location) {
      var lastNewline, codeUnit,
        t1 = $location.file,
        t2 = $location.offset,
        text = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1._decodedChars, 0, t2), 0, null),
        index = t2 - 1;
      for (lastNewline = null; index >= 0;) {
        codeUnit = text.charCodeAt(index);
        if (!(codeUnit === 32 || codeUnit === 9 || codeUnit === 10 || codeUnit === 13 || codeUnit === 12)) {
          if (lastNewline == null)
            t1 = $location;
          else {
            t2 = new A.FileLocation(t1, lastNewline);
            t2.FileLocation$_$2(t1, lastNewline);
            t1 = t2;
          }
          return t1;
        }
        if (codeUnit === 10 || codeUnit === 13 || codeUnit === 12)
          lastNewline = index;
        --index;
      }
      return $location;
    }
  };
  A.Parser__parseIdentifier_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        result = t1.identifier$0();
      t1.scanner.expectDone$0();
      return result;
    },
    $signature: 26
  };
  A.Parser_escape_closure.prototype = {
    call$1(char) {
      return char === 32 || char === 9 || char === 10 || char === 13 || char === 12;
    },
    $signature: 30
  };
  A.Parser_scanIdentChar_matches.prototype = {
    call$1(actual) {
      var t1 = this.char;
      return this.caseSensitive ? actual === t1 : A.characterEqualsIgnoreCase(t1, actual);
    },
    $signature: 45
  };
  A.Parser_spanFrom_closure.prototype = {
    call$0() {
      return this.$this._interpolationMap.mapSpan$1(this.span);
    },
    $signature: 27
  };
  A.SassParser.prototype = {
    get$currentIndentation() {
      return this._currentIndentation;
    },
    get$indented() {
      return true;
    },
    styleRuleSelector$0() {
      var t4,
        t1 = this.scanner,
        t2 = t1._string_scanner$_position,
        t3 = new A.StringBuffer(""),
        buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object));
      do {
        buffer.addInterpolation$1(this.almostAnyValue$1$omitComments(true));
        t4 = A.Primitives_stringFromCharCode(10);
        t4 = t3._contents += t4;
      } while (B.JSString_methods.endsWith$1(B.JSString_methods.trimRight$0(t4.charCodeAt(0) == 0 ? t4 : t4), ",") && this.scanCharIf$1(new A.SassParser_styleRuleSelector_closure()));
      return buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    expectStatementSeparator$1($name) {
      var t1, _this = this;
      if (!_this.atEndOfStatement$0())
        _this._expectNewline$0();
      if (_this._peekIndentation$0() <= _this._currentIndentation)
        return;
      t1 = $name == null ? "here" : "beneath a " + $name;
      _this.scanner.error$2$position(0, "Nothing may be indented " + t1 + ".", _this._nextIndentationEnd.position);
    },
    expectStatementSeparator$0() {
      return this.expectStatementSeparator$1(null);
    },
    atEndOfStatement$0() {
      var t1 = this.scanner.peekChar$0();
      if (t1 == null)
        t1 = null;
      else
        t1 = t1 === 10 || t1 === 13 || t1 === 12;
      return t1 !== false;
    },
    lookingAtChildren$0() {
      return this.atEndOfStatement$0() && this._peekIndentation$0() > this._currentIndentation;
    },
    importArgument$0() {
      var url, span, innerError, stackTrace, t1, _0_0, start, next, t2, exception, _this = this;
      $label0$0: {
        t1 = _this.scanner;
        _0_0 = t1.peekChar$0();
        if (117 === _0_0 || 85 === _0_0) {
          start = new A._SpanScannerState(t1, t1._string_scanner$_position);
          if (_this.scanIdentifier$1("url"))
            if (t1.scanChar$1(40)) {
              t1.set$state(start);
              return _this.super$StylesheetParser$importArgument();
            } else
              t1.set$state(start);
          break $label0$0;
        }
        if (39 === _0_0 || 34 === _0_0)
          return _this.super$StylesheetParser$importArgument();
      }
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      next = t1.peekChar$0();
      while (true) {
        if (next != null)
          if (next !== 44)
            if (next !== 59)
              t2 = !(next === 10 || next === 13 || next === 12);
            else
              t2 = false;
          else
            t2 = false;
        else
          t2 = false;
        if (!t2)
          break;
        t1.readChar$0();
        next = t1.peekChar$0();
      }
      url = t1.substring$1(0, start.position);
      span = t1.spanFrom$1(start);
      if (_this.isPlainImportUrl$1(url))
        return new A.StaticImport(A.Interpolation$(A._setArrayType([A.serializeValue(new A.SassString(url, true), true, true)], type$.JSArray_Object), span), null, span);
      else
        try {
          t1 = _this.parseImportUrl$1(url);
          return new A.DynamicImport(t1, span);
        } catch (exception) {
          t1 = A.unwrapException(exception);
          if (type$.FormatException._is(t1)) {
            innerError = t1;
            stackTrace = A.getTraceFromException(exception);
            _this.error$3(0, "Invalid URL: " + J.get$message$x(innerError), span, stackTrace);
          } else
            throw exception;
        }
    },
    scanElse$1(ifIndentation) {
      var t1, t2, startIndentation, startNextIndentation, startNextIndentationEnd, _this = this;
      if (_this._peekIndentation$0() !== ifIndentation)
        return false;
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      startIndentation = _this._currentIndentation;
      startNextIndentation = _this._nextIndentation;
      startNextIndentationEnd = _this._nextIndentationEnd;
      _this._readIndentation$0();
      if (t1.scanChar$1(64) && _this.scanIdentifier$1("else"))
        return true;
      t1.set$state(new A._SpanScannerState(t1, t2));
      _this._currentIndentation = startIndentation;
      _this._nextIndentation = startNextIndentation;
      _this._nextIndentationEnd = startNextIndentationEnd;
      return false;
    },
    children$1(_, child) {
      var children = A._setArrayType([], type$.JSArray_Statement);
      this._whileIndentedLower$1(new A.SassParser_children_closure(this, child, children));
      return children;
    },
    statements$1(statement) {
      var statements, t2, _1_0,
        t1 = this.scanner,
        _0_0 = t1.peekChar$0();
      if (9 === _0_0 || 32 === _0_0)
        t1.error$3$length$position(0, string$.Indent, t1._string_scanner$_position, 0);
      statements = A._setArrayType([], type$.JSArray_Statement);
      for (t2 = t1.string.length; t1._string_scanner$_position !== t2;) {
        _1_0 = this._child$1(statement);
        if (_1_0 != null)
          statements.push(_1_0);
        this._readIndentation$0();
      }
      return statements;
    },
    _child$1(child) {
      var _0_0, _this = this,
        t1 = _this.scanner,
        _1_0 = t1.peekChar$0();
      $label0$0: {
        if (13 === _1_0 || 10 === _1_0 || 12 === _1_0) {
          t1 = null;
          break $label0$0;
        }
        if (36 === _1_0) {
          t1 = _this.variableDeclarationWithoutNamespace$0();
          break $label0$0;
        }
        if (47 === _1_0) {
          _0_0 = t1.peekChar$1(1);
          $label1$1: {
            if (47 === _0_0) {
              t1 = _this._silentComment$0();
              break $label1$1;
            }
            if (42 === _0_0) {
              t1 = _this._loudComment$0();
              break $label1$1;
            }
            t1 = child.call$0();
            break $label1$1;
          }
          break $label0$0;
        }
        t1 = child.call$0();
        break $label0$0;
      }
      return t1;
    },
    _silentComment$0() {
      var buffer, parentIndentation, t3, t4, t5, commentPrefix, i, t6, i0, t7, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expect$1("//");
      buffer = new A.StringBuffer("");
      parentIndentation = _this._currentIndentation;
      t3 = t1.string.length;
      t4 = 1 + parentIndentation;
      t5 = 2 + parentIndentation;
      $label0$0:
        do {
          commentPrefix = t1.scanChar$1(47) ? "///" : "//";
          for (i = commentPrefix.length; true;) {
            t6 = buffer._contents += commentPrefix;
            for (i0 = i; i0 < _this._currentIndentation - parentIndentation; ++i0) {
              t6 += A.Primitives_stringFromCharCode(32);
              buffer._contents = t6;
            }
            while (true) {
              if (t1._string_scanner$_position !== t3) {
                t7 = t1.peekChar$0();
                t7 = !(t7 === 10 || t7 === 13 || t7 === 12);
              } else
                t7 = false;
              if (!t7)
                break;
              t6 += A.Primitives_stringFromCharCode(t1.readChar$0());
              buffer._contents = t6;
            }
            buffer._contents = t6 + "\n";
            if (_this._peekIndentation$0() < parentIndentation)
              break $label0$0;
            if (_this._peekIndentation$0() === parentIndentation) {
              if (t1.peekChar$1(t4) === 47 && t1.peekChar$1(t5) === 47)
                _this._readIndentation$0();
              break;
            }
            _this._readIndentation$0();
          }
        } while (t1.scan$1("//"));
      t3 = buffer._contents;
      return _this.lastSilentComment = new A.SilentComment(t3.charCodeAt(0) == 0 ? t3 : t3, t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _loudComment$0() {
      var t3, t4, buffer, parentIndentation, t5, t6, first, beginningOfComment, t7, end, i, _0_0, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expect$1("/*");
      t3 = new A.StringBuffer("");
      t4 = A._setArrayType([], type$.JSArray_Object);
      buffer = new A.InterpolationBuffer(t3, t4);
      t3._contents = "" + "/*";
      parentIndentation = _this._currentIndentation;
      for (t5 = t1.string, t6 = t5.length, first = true; true; first = false) {
        if (first) {
          beginningOfComment = t1._string_scanner$_position;
          _this.spaces$0();
          t7 = t1.peekChar$0();
          if (t7 === 10 || t7 === 13 || t7 === 12) {
            _this._readIndentation$0();
            t7 = A.Primitives_stringFromCharCode(32);
            t3._contents += t7;
          } else {
            end = t1._string_scanner$_position;
            t3._contents += B.JSString_methods.substring$2(t5, beginningOfComment, end);
          }
        } else {
          t7 = t3._contents += "\n";
          t3._contents = t7 + " * ";
        }
        for (i = 3; i < _this._currentIndentation - parentIndentation; ++i) {
          t7 = A.Primitives_stringFromCharCode(32);
          t3._contents += t7;
        }
        for (; t1._string_scanner$_position !== t6;) {
          _0_0 = t1.peekChar$0();
          if (10 === _0_0 || 13 === _0_0 || 12 === _0_0)
            break;
          if (35 === _0_0) {
            if (t1.peekChar$1(1) === 123) {
              t7 = _this.singleInterpolation$0();
              buffer._flushText$0();
              t4.push(t7);
            } else {
              t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t7;
            }
            continue;
          }
          t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t3._contents += t7;
        }
        if (_this._peekIndentation$0() <= parentIndentation)
          break;
        for (; _this._lookingAtDoubleNewline$0();) {
          _this._expectNewline$0();
          t7 = t3._contents += "\n";
          t3._contents = t7 + " *";
        }
        _this._readIndentation$0();
      }
      t4 = t3._contents;
      if (!B.JSString_methods.endsWith$1(B.JSString_methods.trimRight$0(t4.charCodeAt(0) == 0 ? t4 : t4), "*/"))
        t3._contents += " */";
      return new A.LoudComment(buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2))));
    },
    whitespaceWithoutComments$0() {
      var t1, t2, next;
      for (t1 = this.scanner, t2 = t1.string.length; t1._string_scanner$_position !== t2;) {
        next = t1.peekChar$0();
        if (next !== 9 && next !== 32)
          break;
        t1.readChar$0();
      }
    },
    loudComment$0() {
      var next,
        t1 = this.scanner;
      t1.expect$1("/*");
      for (; true;) {
        next = t1.readChar$0();
        if (next === 10 || next === 13 || next === 12)
          t1.error$1(0, "expected */.");
        if (next !== 42)
          continue;
        do
          next = t1.readChar$0();
        while (next === 42);
        if (next === 47)
          break;
      }
    },
    _expectNewline$0() {
      var t1 = this.scanner,
        _0_0 = t1.peekChar$0();
      if (59 === _0_0)
        t1.error$1(0, string$.semico);
      if (13 === _0_0) {
        t1.readChar$0();
        if (t1.peekChar$0() === 10)
          t1.readChar$0();
        return;
      }
      if (10 === _0_0 || 12 === _0_0) {
        t1.readChar$0();
        return;
      }
      t1.error$1(0, "expected newline.");
    },
    _lookingAtDoubleNewline$0() {
      var _0_0,
        t1 = this.scanner,
        _1_0 = t1.peekChar$0();
      $label1$1: {
        if (13 === _1_0) {
          _0_0 = t1.peekChar$1(1);
          $label0$0: {
            if (10 === _0_0) {
              t1 = t1.peekChar$1(2);
              t1 = t1 === 10 || t1 === 13 || t1 === 12;
              break $label0$0;
            }
            if (13 === _0_0 || 12 === _0_0) {
              t1 = true;
              break $label0$0;
            }
            t1 = false;
            break $label0$0;
          }
          break $label1$1;
        }
        if (10 === _1_0 || 12 === _1_0) {
          t1 = t1.peekChar$1(1);
          t1 = t1 === 10 || t1 === 13 || t1 === 12;
          break $label1$1;
        }
        t1 = false;
        break $label1$1;
      }
      return t1;
    },
    _whileIndentedLower$1(body) {
      var t1, t2, childIndentation, indentation, t3, t4, _this = this,
        parentIndentation = _this._currentIndentation;
      for (t1 = _this.scanner, t2 = t1._sourceFile, childIndentation = null; _this._peekIndentation$0() > parentIndentation;) {
        indentation = _this._readIndentation$0();
        if (childIndentation == null)
          childIndentation = indentation;
        if (childIndentation !== indentation) {
          t3 = t1._string_scanner$_position;
          t4 = t2.getColumn$1(t3);
          t1.error$3$length$position(0, "Inconsistent indentation, expected " + childIndentation + " spaces.", t2.getColumn$1(t1._string_scanner$_position), t3 - t4);
        }
        body.call$0();
      }
    },
    _readIndentation$0() {
      var t1, _this = this,
        currentIndentation = _this._nextIndentation;
      if (currentIndentation == null)
        currentIndentation = _this._nextIndentation = _this._peekIndentation$0();
      _this._currentIndentation = currentIndentation;
      t1 = _this._nextIndentationEnd;
      t1.toString;
      _this.scanner.set$state(t1);
      _this._nextIndentationEnd = _this._nextIndentation = null;
      return currentIndentation;
    },
    _peekIndentation$0() {
      var t1, t2, t3, start, containsTab, containsSpace, nextIndentation, _1_0, t4, _this = this,
        _0_0 = _this._nextIndentation;
      if (_0_0 != null)
        return _0_0;
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      t3 = t1.string.length;
      if (t2 === t3) {
        _this._nextIndentation = 0;
        _this._nextIndentationEnd = new A._SpanScannerState(t1, t2);
        return 0;
      }
      start = new A._SpanScannerState(t1, t2);
      if (!_this.scanCharIf$1(new A.SassParser__peekIndentation_closure()))
        t1.error$2$position(0, "Expected newline.", t1._string_scanner$_position);
      containsTab = A._Cell$();
      containsSpace = A._Cell$();
      nextIndentation = A._Cell$();
      do {
        containsSpace.__late_helper$_value = containsTab.__late_helper$_value = false;
        nextIndentation.__late_helper$_value = 0;
        for (; true;) {
          $label0$0: {
            _1_0 = t1.peekChar$0();
            if (32 === _1_0) {
              containsSpace.__late_helper$_value = true;
              break $label0$0;
            }
            if (9 === _1_0) {
              containsTab.__late_helper$_value = true;
              break $label0$0;
            }
            break;
          }
          t2 = nextIndentation.__late_helper$_value;
          if (t2 === nextIndentation)
            A.throwExpression(A.LateError$localNI(""));
          nextIndentation.__late_helper$_value = t2 + 1;
          t1.readChar$0();
        }
        t2 = t1._string_scanner$_position;
        if (t2 === t3) {
          _this._nextIndentation = 0;
          _this._nextIndentationEnd = new A._SpanScannerState(t1, t2);
          t1.set$state(start);
          return 0;
        }
      } while (_this.scanCharIf$1(new A.SassParser__peekIndentation_closure0()));
      t2 = containsTab._readLocal$0();
      t3 = containsSpace._readLocal$0();
      if (t2) {
        if (t3) {
          t2 = t1._string_scanner$_position;
          t3 = t1._sourceFile;
          t4 = t3.getColumn$1(t2);
          t1.error$3$length$position(0, "Tabs and spaces may not be mixed.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4);
        } else if (_this._spaces === true) {
          t2 = t1._string_scanner$_position;
          t3 = t1._sourceFile;
          t4 = t3.getColumn$1(t2);
          t1.error$3$length$position(0, "Expected spaces, was tabs.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4);
        }
      } else if (t3 && _this._spaces === false) {
        t2 = t1._string_scanner$_position;
        t3 = t1._sourceFile;
        t4 = t3.getColumn$1(t2);
        t1.error$3$length$position(0, "Expected tabs, was spaces.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4);
      }
      _this._nextIndentation = nextIndentation._readLocal$0();
      if (nextIndentation._readLocal$0() > 0)
        if (_this._spaces == null)
          _this._spaces = containsSpace._readLocal$0();
      _this._nextIndentationEnd = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.set$state(start);
      return nextIndentation._readLocal$0();
    }
  };
  A.SassParser_styleRuleSelector_closure.prototype = {
    call$1(char) {
      return char === 10 || char === 13 || char === 12;
    },
    $signature: 30
  };
  A.SassParser_children_closure.prototype = {
    call$0() {
      var _0_0 = this.$this._child$1(this.child);
      if (_0_0 != null)
        this.children.push(_0_0);
    },
    $signature: 0
  };
  A.SassParser__peekIndentation_closure.prototype = {
    call$1(char) {
      return char === 10 || char === 13 || char === 12;
    },
    $signature: 30
  };
  A.SassParser__peekIndentation_closure0.prototype = {
    call$1(char) {
      return char === 10 || char === 13 || char === 12;
    },
    $signature: 30
  };
  A.ScssParser.prototype = {
    get$indented() {
      return false;
    },
    get$currentIndentation() {
      return 0;
    },
    styleRuleSelector$0() {
      return this.almostAnyValue$0();
    },
    expectStatementSeparator$1($name) {
      var t1, _0_0;
      this.whitespaceWithoutComments$0();
      t1 = this.scanner;
      if (t1._string_scanner$_position === t1.string.length)
        return;
      _0_0 = t1.peekChar$0();
      if (59 === _0_0 || 125 === _0_0)
        return;
      t1.expectChar$1(59);
    },
    expectStatementSeparator$0() {
      return this.expectStatementSeparator$1(null);
    },
    atEndOfStatement$0() {
      var next = this.scanner.peekChar$0();
      return next == null || next === 59 || next === 125 || next === 123;
    },
    lookingAtChildren$0() {
      return this.scanner.peekChar$0() === 123;
    },
    scanElse$1(ifIndentation) {
      var t3, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      _this.whitespace$0();
      t3 = t1._string_scanner$_position;
      if (t1.scanChar$1(64)) {
        if (_this.scanIdentifier$2$caseSensitive("else", true))
          return true;
        if (_this.scanIdentifier$2$caseSensitive("elseif", true)) {
          A.WarnForDeprecation_warnForDeprecation(_this.logger, B.Deprecation_EJz, string$.x40elsei, t1.spanFrom$1(new A._SpanScannerState(t1, t3)), null);
          t1.set$position(t1._string_scanner$_position - 2);
          return true;
        }
      }
      t1.set$state(new A._SpanScannerState(t1, t2));
      return false;
    },
    children$1(_, child) {
      var children, _this = this,
        t1 = _this.scanner;
      t1.expectChar$1(123);
      _this.whitespaceWithoutComments$0();
      children = A._setArrayType([], type$.JSArray_Statement);
      for (; true;)
        switch (t1.peekChar$0()) {
          case 36:
            children.push(_this.variableDeclarationWithoutNamespace$0());
            break;
          case 47:
            switch (t1.peekChar$1(1)) {
              case 47:
                children.push(_this._scss$_silentComment$0());
                _this.whitespaceWithoutComments$0();
                break;
              case 42:
                children.push(_this._scss$_loudComment$0());
                _this.whitespaceWithoutComments$0();
                break;
              default:
                children.push(child.call$0());
            }
            break;
          case 59:
            t1.readChar$0();
            _this.whitespaceWithoutComments$0();
            break;
          case 125:
            t1.expectChar$1(125);
            return children;
          default:
            children.push(child.call$0());
        }
    },
    statements$1(statement) {
      var t1, t2, _0_0, _1_0, _this = this,
        statements = A._setArrayType([], type$.JSArray_Statement);
      _this.whitespaceWithoutComments$0();
      for (t1 = _this.scanner, t2 = t1.string.length; t1._string_scanner$_position !== t2;)
        switch (t1.peekChar$0()) {
          case 36:
            statements.push(_this.variableDeclarationWithoutNamespace$0());
            break;
          case 47:
            switch (t1.peekChar$1(1)) {
              case 47:
                statements.push(_this._scss$_silentComment$0());
                _this.whitespaceWithoutComments$0();
                break;
              case 42:
                statements.push(_this._scss$_loudComment$0());
                _this.whitespaceWithoutComments$0();
                break;
              default:
                _0_0 = statement.call$0();
                if (_0_0 != null)
                  statements.push(_0_0);
            }
            break;
          case 59:
            t1.readChar$0();
            _this.whitespaceWithoutComments$0();
            break;
          default:
            _1_0 = statement.call$0();
            if (_1_0 != null)
              statements.push(_1_0);
        }
      return statements;
    },
    _scss$_silentComment$0() {
      var t2, t3, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expect$1("//");
      t2 = t1.string.length;
      do {
        while (true) {
          if (t1._string_scanner$_position !== t2) {
            t3 = t1.readChar$0();
            t3 = !(t3 === 10 || t3 === 13 || t3 === 12);
          } else
            t3 = false;
          if (!t3)
            break;
        }
        if (t1._string_scanner$_position === t2)
          break;
        _this.spaces$0();
      } while (t1.scan$1("//"));
      if (_this.get$plainCss())
        _this.error$2(0, string$.Silent, t1.spanFrom$1(start));
      return _this.lastSilentComment = new A.SilentComment(t1.substring$1(0, start.position), t1.spanFrom$1(start));
    },
    _scss$_loudComment$0() {
      var t3, t4, buffer, t5, endPosition, t6, result,
        t1 = this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expect$1("/*");
      t3 = new A.StringBuffer("");
      t4 = A._setArrayType([], type$.JSArray_Object);
      buffer = new A.InterpolationBuffer(t3, t4);
      t3._contents = "" + "/*";
      $label0$1:
        for (; true;)
          switch (t1.peekChar$0()) {
            case 35:
              if (t1.peekChar$1(1) === 123) {
                t5 = this.singleInterpolation$0();
                buffer._flushText$0();
                t4.push(t5);
              } else {
                t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
                t3._contents += t5;
              }
              break;
            case 42:
              t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t5;
              if (t1.peekChar$0() !== 47)
                continue $label0$1;
              t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t5;
              endPosition = t1._string_scanner$_position;
              t5 = t1._sourceFile;
              t6 = new A._SpanScannerState(t1, t2).position;
              t1 = new A._FileSpan(t5, t6, endPosition);
              t1._FileSpan$3(t5, t6, endPosition);
              t6 = type$.Object;
              t5 = A.List_List$of(t4, true, t6);
              t2 = t3._contents;
              if (t2.length !== 0)
                t5.push(t2.charCodeAt(0) == 0 ? t2 : t2);
              result = A.List_List$from(t5, false, t6);
              result.fixed$length = Array;
              result.immutable$list = Array;
              t2 = new A.Interpolation(result, t1);
              t2.Interpolation$2(t5, t1);
              return new A.LoudComment(t2);
            case 13:
              t1.readChar$0();
              if (t1.peekChar$0() !== 10) {
                t5 = A.Primitives_stringFromCharCode(10);
                t3._contents += t5;
              }
              break;
            case 12:
              t1.readChar$0();
              t5 = A.Primitives_stringFromCharCode(10);
              t3._contents += t5;
              break;
            default:
              t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t5;
          }
    }
  };
  A.SelectorParser.prototype = {
    parse$0() {
      return this.wrapSpanFormatException$1(new A.SelectorParser_parse_closure(this));
    },
    parseCompoundSelector$0() {
      return this.wrapSpanFormatException$1(new A.SelectorParser_parseCompoundSelector_closure(this));
    },
    _selectorList$0() {
      var t4, t5, lineBreak, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        t3 = t1._sourceFile,
        previousLine = t3.getLine$1(t2),
        components = A._setArrayType([_this._complexSelector$0()], type$.JSArray_ComplexSelector);
      _this.whitespace$0();
      for (t4 = t1.string.length; t1.scanChar$1(44);) {
        _this.whitespace$0();
        if (t1.peekChar$0() === 44)
          continue;
        t5 = t1._string_scanner$_position;
        if (t5 === t4)
          break;
        lineBreak = t3.getLine$1(t5) !== previousLine;
        if (lineBreak)
          previousLine = t3.getLine$1(t1._string_scanner$_position);
        components.push(_this._complexSelector$1$lineBreak(lineBreak));
      }
      return A.SelectorList$(components, _this.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _complexSelector$1$lineBreak(lineBreak) {
      var t4, lastCompound, initialCombinators, _0_0, t5, result, _this = this,
        _s18_ = "expected selector.",
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        componentStart = new A._SpanScannerState(t1, t2),
        t3 = type$.JSArray_CssValue_Combinator,
        combinators = A._setArrayType([], t3),
        components = A._setArrayType([], type$.JSArray_ComplexSelectorComponent);
      for (t4 = type$.CssValue_Combinator, lastCompound = null, initialCombinators = null; true;) {
        _this.whitespace$0();
        _0_0 = t1.peekChar$0();
        if (43 === _0_0) {
          t5 = t1._string_scanner$_position;
          t1.readChar$0();
          combinators.push(new A.CssValue(B.Combinator_gRV, _this.spanFrom$1(new A._SpanScannerState(t1, t5)), t4));
          continue;
        }
        if (62 === _0_0) {
          t5 = t1._string_scanner$_position;
          t1.readChar$0();
          combinators.push(new A.CssValue(B.Combinator_8I8, _this.spanFrom$1(new A._SpanScannerState(t1, t5)), t4));
          continue;
        }
        if (126 === _0_0) {
          t5 = t1._string_scanner$_position;
          t1.readChar$0();
          combinators.push(new A.CssValue(B.Combinator_y18, _this.spanFrom$1(new A._SpanScannerState(t1, t5)), t4));
          continue;
        }
        if (_0_0 == null)
          break;
        if (91 !== _0_0)
          if (46 !== _0_0)
            if (35 !== _0_0)
              if (37 !== _0_0)
                if (58 !== _0_0)
                  if (38 !== _0_0)
                    if (42 !== _0_0)
                      if (124 !== _0_0)
                        t5 = _this.lookingAtIdentifier$0();
                      else
                        t5 = true;
                    else
                      t5 = true;
                  else
                    t5 = true;
                else
                  t5 = true;
              else
                t5 = true;
            else
              t5 = true;
          else
            t5 = true;
        else
          t5 = true;
        if (t5) {
          if (lastCompound != null) {
            t5 = _this.spanFrom$1(componentStart);
            result = A.List_List$from(combinators, false, t4);
            result.fixed$length = Array;
            result.immutable$list = Array;
            components.push(new A.ComplexSelectorComponent(lastCompound, result, t5));
          } else if (combinators.length !== 0) {
            componentStart = new A._SpanScannerState(t1, t1._string_scanner$_position);
            initialCombinators = combinators;
          }
          lastCompound = _this._compoundSelector$0();
          combinators = A._setArrayType([], t3);
          if (t1.peekChar$0() === 38)
            t1.error$1(0, string$.x22x26__ma);
          continue;
        }
        break;
      }
      t3 = combinators.length !== 0;
      if (t3 && _this._plainCss)
        t1.error$1(0, _s18_);
      else if (lastCompound != null) {
        t3 = _this.spanFrom$1(componentStart);
        components.push(new A.ComplexSelectorComponent(lastCompound, A.List_List$unmodifiable(combinators, t4), t3));
      } else if (t3)
        initialCombinators = combinators;
      else
        t1.error$1(0, _s18_);
      t3 = initialCombinators == null ? B.List_empty0 : initialCombinators;
      return A.ComplexSelector$(t3, components, _this.spanFrom$1(new A._SpanScannerState(t1, t2)), lineBreak);
    },
    _complexSelector$0() {
      return this._complexSelector$1$lineBreak(false);
    },
    _compoundSelector$0() {
      var t3, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        components = A._setArrayType([_this._simpleSelector$0()], type$.JSArray_SimpleSelector);
      for (t3 = _this._plainCss; _this._isSimpleSelectorStart$1(t1.peekChar$0());)
        components.push(_this._simpleSelector$1$allowParent(t3));
      return A.CompoundSelector$(components, _this.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _simpleSelector$1$allowParent(allowParent) {
      var t2, $name, text, t3, suffix, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      if (allowParent == null)
        allowParent = _this._allowParent;
      switch (t1.peekChar$0()) {
        case 91:
          return _this._attributeSelector$0();
        case 46:
          t2 = t1._string_scanner$_position;
          t1.expectChar$1(46);
          return new A.ClassSelector(_this.identifier$0(), _this.spanFrom$1(new A._SpanScannerState(t1, t2)));
        case 35:
          t2 = t1._string_scanner$_position;
          t1.expectChar$1(35);
          return new A.IDSelector(_this.identifier$0(), _this.spanFrom$1(new A._SpanScannerState(t1, t2)));
        case 37:
          t2 = t1._string_scanner$_position;
          t1.expectChar$1(37);
          $name = _this.identifier$0();
          t2 = _this.spanFrom$1(new A._SpanScannerState(t1, t2));
          if (_this._plainCss)
            _this.error$2(0, string$.Placeh, t1.spanFrom$1(start));
          return new A.PlaceholderSelector($name, t2);
        case 58:
          return _this._pseudoSelector$0();
        case 38:
          t2 = t1._string_scanner$_position;
          t1.expectChar$1(38);
          if (_this.lookingAtIdentifierBody$0()) {
            text = new A.StringBuffer("");
            _this._identifierBody$1(text);
            if (text._contents.length === 0)
              t1.error$1(0, "Expected identifier body.");
            t3 = text._contents;
            suffix = t3.charCodeAt(0) == 0 ? t3 : t3;
          } else
            suffix = null;
          if (_this._plainCss && suffix != null)
            t1.error$3$length$position(0, string$.Parent, t1._string_scanner$_position - t2, t2);
          t2 = _this.spanFrom$1(new A._SpanScannerState(t1, t2));
          if (!allowParent)
            _this.error$2(0, "Parent selectors aren't allowed here.", t1.spanFrom$1(start));
          return new A.ParentSelector(suffix, t2);
        default:
          return _this._typeOrUniversalSelector$0();
      }
    },
    _simpleSelector$0() {
      return this._simpleSelector$1$allowParent(null);
    },
    _attributeSelector$0() {
      var $name, operator, next, value, modifier, _this = this, _null = null,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expectChar$1(91);
      _this.whitespace$0();
      $name = _this._attributeName$0();
      _this.whitespace$0();
      if (t1.scanChar$1(93))
        return new A.AttributeSelector($name, _null, _null, _null, _this.spanFrom$1(start));
      operator = _this._attributeOperator$0();
      _this.whitespace$0();
      next = t1.peekChar$0();
      value = next === 39 || next === 34 ? _this.string$0() : _this.identifier$0();
      _this.whitespace$0();
      next = t1.peekChar$0();
      modifier = next != null && A.CharacterExtension_get_isAlphabetic(next) ? A.Primitives_stringFromCharCode(t1.readChar$0()) : _null;
      t1.expectChar$1(93);
      return new A.AttributeSelector($name, operator, value, modifier, _this.spanFrom$1(start));
    },
    _attributeName$0() {
      var nameOrNamespace, _this = this,
        t1 = _this.scanner;
      if (t1.scanChar$1(42)) {
        t1.expectChar$1(124);
        return new A.QualifiedName(_this.identifier$0(), "*");
      }
      if (t1.scanChar$1(124))
        return new A.QualifiedName(_this.identifier$0(), "");
      nameOrNamespace = _this.identifier$0();
      if (t1.peekChar$0() !== 124 || t1.peekChar$1(1) === 61)
        return new A.QualifiedName(nameOrNamespace, null);
      t1.readChar$0();
      return new A.QualifiedName(_this.identifier$0(), nameOrNamespace);
    },
    _attributeOperator$0() {
      var t1 = this.scanner,
        t2 = t1._string_scanner$_position;
      switch (t1.readChar$0()) {
        case 61:
          return B.AttributeOperator_4QF;
        case 126:
          t1.expectChar$1(61);
          return B.AttributeOperator_yT8;
        case 124:
          t1.expectChar$1(61);
          return B.AttributeOperator_jqB;
        case 94:
          t1.expectChar$1(61);
          return B.AttributeOperator_cMb;
        case 36:
          t1.expectChar$1(61);
          return B.AttributeOperator_qhE;
        case 42:
          t1.expectChar$1(61);
          return B.AttributeOperator_61T;
        default:
          t1.error$2$position(0, 'Expected "]".', t2);
      }
    },
    _pseudoSelector$0() {
      var element, $name, unvendored, selector, argument, t2, _this = this, _null = null,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expectChar$1(58);
      element = t1.scanChar$1(58);
      $name = _this.identifier$0();
      if (!t1.scanChar$1(40))
        return A.PseudoSelector$($name, _this.spanFrom$1(start), _null, element, _null);
      _this.whitespace$0();
      unvendored = A.unvendor($name);
      if (element)
        if ($._selectorPseudoElements.contains$1(0, unvendored)) {
          selector = _this._selectorList$0();
          argument = _null;
        } else {
          argument = _this.declarationValue$1$allowEmpty(true);
          selector = _null;
        }
      else if ($._selectorPseudoClasses.contains$1(0, unvendored)) {
        selector = _this._selectorList$0();
        argument = _null;
      } else if (unvendored === "nth-child" || unvendored === "nth-last-child") {
        argument = _this._aNPlusB$0();
        _this.whitespace$0();
        t2 = t1.peekChar$1(-1);
        if ((t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12) && t1.peekChar$0() !== 41) {
          _this.expectIdentifier$1("of");
          argument += " of";
          _this.whitespace$0();
          selector = _this._selectorList$0();
        } else
          selector = _null;
      } else {
        argument = B.JSString_methods.trimRight$0(_this.declarationValue$1$allowEmpty(true));
        selector = _null;
      }
      t1.expectChar$1(41);
      return A.PseudoSelector$($name, _this.spanFrom$1(start), argument, element, selector);
    },
    _aNPlusB$0() {
      var t1, _0_0, t2, $self, next, _this = this;
      $label0$0: {
        t1 = _this.scanner;
        _0_0 = t1.peekChar$0();
        if (101 === _0_0 || 69 === _0_0) {
          _this.expectIdentifier$1("even");
          return "even";
        }
        if (111 === _0_0 || 79 === _0_0) {
          _this.expectIdentifier$1("odd");
          return "odd";
        }
        if (43 === _0_0 || 45 === _0_0) {
          t2 = "" + A.Primitives_stringFromCharCode(t1.readChar$0());
          break $label0$0;
        }
        t2 = "";
      }
      $self = t1.peekChar$0();
      if ($self != null && $self >= 48 && $self <= 57) {
        do {
          t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
          $self = t1.peekChar$0();
        } while ($self != null && $self >= 48 && $self <= 57);
        _this.whitespace$0();
        if (!_this.scanIdentChar$1(110))
          return t2.charCodeAt(0) == 0 ? t2 : t2;
      } else
        _this.expectIdentChar$1(110);
      t2 += A.Primitives_stringFromCharCode(110);
      _this.whitespace$0();
      next = t1.peekChar$0();
      if (next !== 43 && next !== 45)
        return t2.charCodeAt(0) == 0 ? t2 : t2;
      t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
      _this.whitespace$0();
      $self = t1.peekChar$0();
      if (!($self != null && $self >= 48 && $self <= 57))
        t1.error$1(0, "Expected a number.");
      do {
        t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
        $self = t1.peekChar$0();
      } while ($self != null && $self >= 48 && $self <= 57);
      return t2.charCodeAt(0) == 0 ? t2 : t2;
    },
    _typeOrUniversalSelector$0() {
      var nameOrNamespace, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      if (t1.scanChar$1(42)) {
        if (!t1.scanChar$1(124))
          return new A.UniversalSelector(null, _this.spanFrom$1(start));
        return t1.scanChar$1(42) ? new A.UniversalSelector("*", _this.spanFrom$1(start)) : new A.TypeSelector(new A.QualifiedName(_this.identifier$0(), "*"), _this.spanFrom$1(start));
      } else if (t1.scanChar$1(124))
        return t1.scanChar$1(42) ? new A.UniversalSelector("", _this.spanFrom$1(start)) : new A.TypeSelector(new A.QualifiedName(_this.identifier$0(), ""), _this.spanFrom$1(start));
      nameOrNamespace = _this.identifier$0();
      if (!t1.scanChar$1(124))
        return new A.TypeSelector(new A.QualifiedName(nameOrNamespace, null), _this.spanFrom$1(start));
      else if (t1.scanChar$1(42))
        return new A.UniversalSelector(nameOrNamespace, _this.spanFrom$1(start));
      else
        return new A.TypeSelector(new A.QualifiedName(_this.identifier$0(), nameOrNamespace), _this.spanFrom$1(start));
    },
    _isSimpleSelectorStart$1(character) {
      var t1;
      $label0$0: {
        if (42 === character || 91 === character || 46 === character || 35 === character || 37 === character || 58 === character) {
          t1 = true;
          break $label0$0;
        }
        if (38 === character) {
          t1 = this._plainCss;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    }
  };
  A.SelectorParser_parse_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        selector = t1._selectorList$0();
      t1 = t1.scanner;
      if (t1._string_scanner$_position !== t1.string.length)
        t1.error$1(0, "expected selector.");
      return selector;
    },
    $signature: 497
  };
  A.SelectorParser_parseCompoundSelector_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        compound = t1._compoundSelector$0();
      t1 = t1.scanner;
      if (t1._string_scanner$_position !== t1.string.length)
        t1.error$1(0, "expected selector.");
      return compound;
    },
    $signature: 484
  };
  A.StylesheetParser.prototype = {
    parse$0() {
      return this.wrapSpanFormatException$1(new A.StylesheetParser_parse_closure(this));
    },
    parseArgumentDeclaration$0() {
      return this._parseSingleProduction$1$1(new A.StylesheetParser_parseArgumentDeclaration_closure(this), type$.ArgumentDeclaration);
    },
    parseVariableDeclaration$0() {
      return this._parseSingleProduction$1$1(new A.StylesheetParser_parseVariableDeclaration_closure(this), type$.VariableDeclaration);
    },
    parseUseRule$0() {
      return this._parseSingleProduction$1$1(new A.StylesheetParser_parseUseRule_closure(this), type$.UseRule);
    },
    _parseSingleProduction$1$1(production, $T) {
      return this.wrapSpanFormatException$1(new A.StylesheetParser__parseSingleProduction_closure(this, production, $T));
    },
    _statement$1$root(root) {
      var t2, _this = this,
        t1 = _this.scanner,
        _0_0 = t1.peekChar$0();
      if (64 === _0_0)
        return _this.atRule$2$root(new A.StylesheetParser__statement_closure(_this), root);
      if (43 === _0_0) {
        if (!_this.get$indented() || !_this.lookingAtIdentifier$1(1))
          return _this._styleRule$0();
        _this._isUseAllowed = false;
        t2 = t1._string_scanner$_position;
        t1.readChar$0();
        return _this._includeRule$1(new A._SpanScannerState(t1, t2));
      }
      if (61 === _0_0) {
        if (!_this.get$indented())
          return _this._styleRule$0();
        _this._isUseAllowed = false;
        t2 = t1._string_scanner$_position;
        t1.readChar$0();
        _this.whitespace$0();
        return _this._mixinRule$1(new A._SpanScannerState(t1, t2));
      }
      if (125 === _0_0)
        t1.error$2$length(0, 'unmatched "}".', 1);
      return _this._inStyleRule || _this._stylesheet$_inUnknownAtRule || _this._stylesheet$_inMixin || _this._inContentBlock ? _this._declarationOrStyleRule$0() : _this._variableDeclarationOrStyleRule$0();
    },
    _statement$0() {
      return this._statement$1$root(false);
    },
    _variableDeclarationWithNamespace$0() {
      var t1 = this.scanner,
        t2 = t1._string_scanner$_position,
        namespace = this.identifier$0();
      t1.expectChar$1(46);
      return this.variableDeclarationWithoutNamespace$2(namespace, new A._SpanScannerState(t1, t2));
    },
    variableDeclarationWithoutNamespace$2(namespace, start_) {
      var t1, start, $name, t2, value, flagStart, t3, guarded, global, _0_0, endPosition, t4, t5, t6, declaration, _this = this,
        precedingComment = _this.lastSilentComment;
      _this.lastSilentComment = null;
      if (start_ == null) {
        t1 = _this.scanner;
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      } else
        start = start_;
      $name = _this.variableName$0();
      t1 = namespace != null;
      if (t1)
        _this._assertPublic$2($name, new A.StylesheetParser_variableDeclarationWithoutNamespace_closure(_this, start));
      if (_this.get$plainCss())
        _this.error$2(0, string$.Sassx20v, _this.scanner.spanFrom$1(start));
      _this.whitespace$0();
      t2 = _this.scanner;
      t2.expectChar$1(58);
      _this.whitespace$0();
      value = _this._expression$0();
      flagStart = new A._SpanScannerState(t2, t2._string_scanner$_position);
      for (t3 = _this.logger, guarded = false, global = false; t2.scanChar$1(33);) {
        $label0$0: {
          _0_0 = _this.identifier$0();
          if ("default" === _0_0) {
            if (guarded) {
              endPosition = t2._string_scanner$_position;
              t4 = t2._sourceFile;
              t5 = flagStart.position;
              t6 = new A._FileSpan(t4, t5, endPosition);
              t6._FileSpan$3(t4, t5, endPosition);
              A.WarnForDeprecation_warnForDeprecation(t3, B.Deprecation_zrt, string$.x21defau, t6, null);
            }
            guarded = true;
            break $label0$0;
          }
          if ("global" === _0_0) {
            if (t1) {
              endPosition = t2._string_scanner$_position;
              t4 = t2._sourceFile;
              t5 = flagStart.position;
              t6 = new A._FileSpan(t4, t5, endPosition);
              t6._FileSpan$3(t4, t5, endPosition);
              _this.error$2(0, string$.x21globai, t6);
            } else if (global) {
              endPosition = t2._string_scanner$_position;
              t4 = t2._sourceFile;
              t5 = flagStart.position;
              t6 = new A._FileSpan(t4, t5, endPosition);
              t6._FileSpan$3(t4, t5, endPosition);
              A.WarnForDeprecation_warnForDeprecation(t3, B.Deprecation_zrt, string$.x21globas, t6, null);
            }
            global = true;
            break $label0$0;
          }
          endPosition = t2._string_scanner$_position;
          t4 = t2._sourceFile;
          t5 = flagStart.position;
          t6 = new A._FileSpan(t4, t5, endPosition);
          t6._FileSpan$3(t4, t5, endPosition);
          _this.error$2(0, "Invalid flag name.", t6);
        }
        _this.whitespace$0();
        flagStart = new A._SpanScannerState(t2, t2._string_scanner$_position);
      }
      _this.expectStatementSeparator$1("variable declaration");
      declaration = A.VariableDeclaration$($name, value, t2.spanFrom$1(start), precedingComment, global, guarded, namespace);
      if (global)
        _this._globalVariables.putIfAbsent$2($name, new A.StylesheetParser_variableDeclarationWithoutNamespace_closure0(declaration));
      return declaration;
    },
    variableDeclarationWithoutNamespace$0() {
      return this.variableDeclarationWithoutNamespace$2(null, null);
    },
    _variableDeclarationOrStyleRule$0() {
      var t1, t2, variableOrInterpolation, t3, _this = this;
      if (_this.get$plainCss())
        return _this._styleRule$0();
      if (_this.get$indented() && _this.scanner.scanChar$1(92))
        return _this._styleRule$0();
      if (!_this.lookingAtIdentifier$0())
        return _this._styleRule$0();
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      variableOrInterpolation = _this._variableDeclarationOrInterpolation$0();
      if (variableOrInterpolation instanceof A.VariableDeclaration)
        t1 = variableOrInterpolation;
      else {
        t3 = new A.InterpolationBuffer(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object));
        t3.addInterpolation$1(type$.Interpolation._as(variableOrInterpolation));
        t2 = _this._styleRule$2(t3, new A._SpanScannerState(t1, t2));
        t1 = t2;
      }
      return t1;
    },
    _declarationOrStyleRule$0() {
      var t1, t2, declarationOrBuffer, _this = this;
      if (_this.get$indented() && _this.scanner.scanChar$1(92))
        return _this._styleRule$0();
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      declarationOrBuffer = _this._declarationOrBuffer$0();
      return type$.Statement._is(declarationOrBuffer) ? declarationOrBuffer : _this._styleRule$2(type$.InterpolationBuffer._as(declarationOrBuffer), new A._SpanScannerState(t1, t2));
    },
    _declarationOrBuffer$0() {
      var midBuffer, couldBeSelector, beforeDeclaration, value, additional, t2, t3, variableOrInterpolation, t4, t5, $name, postColonWhitespace, _0_0, exception, _1_0, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        nameBuffer = new A.InterpolationBuffer(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object)),
        startsWithPunctuation = _this._lookingAtPotentialPropertyHack$0();
      if (startsWithPunctuation) {
        t2 = t1.readChar$0();
        t3 = nameBuffer._interpolation_buffer$_text;
        t2 = A.Primitives_stringFromCharCode(t2);
        t3._contents += t2;
        t2 = _this.rawText$1(_this.get$whitespace());
        t3 = nameBuffer._interpolation_buffer$_text;
        t3._contents += t2;
      }
      if (!_this._lookingAtInterpolatedIdentifier$0())
        return nameBuffer;
      variableOrInterpolation = startsWithPunctuation ? _this.interpolatedIdentifier$0() : _this._variableDeclarationOrInterpolation$0();
      if (variableOrInterpolation instanceof A.VariableDeclaration)
        return variableOrInterpolation;
      else
        nameBuffer.addInterpolation$1(type$.Interpolation._as(variableOrInterpolation));
      _this._isUseAllowed = false;
      if (t1.matches$1("/*")) {
        t2 = _this.rawText$1(_this.get$loudComment());
        t3 = nameBuffer._interpolation_buffer$_text;
        t3._contents += t2;
      }
      midBuffer = new A.StringBuffer("");
      t2 = midBuffer;
      t3 = _this.get$whitespace();
      t4 = _this.rawText$1(t3);
      t2._contents += t4;
      t4 = t1._string_scanner$_position;
      if (!t1.scanChar$1(58)) {
        if (midBuffer._contents.length !== 0) {
          t1 = nameBuffer._interpolation_buffer$_text;
          t2 = A.Primitives_stringFromCharCode(32);
          t1._contents += t2;
        }
        return nameBuffer;
      }
      t2 = midBuffer;
      t5 = A.Primitives_stringFromCharCode(58);
      t2._contents += t5;
      $name = nameBuffer.interpolation$1(t1.spanFrom$2(start, new A._SpanScannerState(t1, t4)));
      if (B.JSString_methods.startsWith$1($name.get$initialPlain(), "--")) {
        t2 = _this._interpolatedDeclarationValue$1$silentComments(false);
        _this.expectStatementSeparator$1("custom property");
        return A.Declaration$($name, new A.StringExpression(t2, false), t1.spanFrom$1(start));
      }
      if (t1.scanChar$1(58)) {
        t1 = nameBuffer;
        t2 = t1._interpolation_buffer$_text;
        t3 = A.S(midBuffer);
        t2._contents += t3;
        t3 = A.Primitives_stringFromCharCode(58);
        t2._contents += t3;
        return t1;
      } else if (_this.get$indented() && _this._lookingAtInterpolatedIdentifier$0()) {
        t1 = nameBuffer;
        t2 = t1._interpolation_buffer$_text;
        t3 = A.S(midBuffer);
        t2._contents += t3;
        return t1;
      }
      postColonWhitespace = _this.rawText$1(t3);
      _0_0 = _this._tryDeclarationChildren$2($name, start);
      if (_0_0 != null)
        return _0_0;
      midBuffer._contents += postColonWhitespace;
      couldBeSelector = postColonWhitespace.length === 0 && _this._lookingAtInterpolatedIdentifier$0();
      beforeDeclaration = new A._SpanScannerState(t1, t1._string_scanner$_position);
      value = null;
      try {
        value = _this._expression$0();
        if (_this.lookingAtChildren$0()) {
          if (couldBeSelector)
            _this.expectStatementSeparator$0();
        } else if (!_this.atEndOfStatement$0())
          _this.expectStatementSeparator$0();
      } catch (exception) {
        if (type$.FormatException._is(A.unwrapException(exception))) {
          if (!couldBeSelector)
            throw exception;
          t1.set$state(beforeDeclaration);
          additional = _this.almostAnyValue$0();
          if (!_this.get$indented() && t1.peekChar$0() === 59)
            throw exception;
          t1 = nameBuffer._interpolation_buffer$_text;
          t2 = A.S(midBuffer);
          t1._contents += t2;
          nameBuffer.addInterpolation$1(additional);
          return nameBuffer;
        } else
          throw exception;
      }
      _1_0 = _this._tryDeclarationChildren$3$value($name, start, value);
      if (_1_0 != null)
        return _1_0;
      else {
        _this.expectStatementSeparator$0();
        return A.Declaration$($name, value, t1.spanFrom$1(start));
      }
    },
    _variableDeclarationOrInterpolation$0() {
      var t1, start, identifier, t2, buffer, _this = this;
      if (!_this.lookingAtIdentifier$0())
        return _this.interpolatedIdentifier$0();
      t1 = _this.scanner;
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      identifier = _this.identifier$0();
      if (t1.matches$1(".$")) {
        t1.readChar$0();
        return _this.variableDeclarationWithoutNamespace$2(identifier, start);
      } else {
        t2 = new A.StringBuffer("");
        buffer = new A.InterpolationBuffer(t2, A._setArrayType([], type$.JSArray_Object));
        t2._contents = "" + identifier;
        if (_this._lookingAtInterpolatedIdentifierBody$0())
          buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
        return buffer.interpolation$1(t1.spanFrom$1(start));
      }
    },
    _styleRule$2(buffer, start_) {
      var t2, start, interpolation, wasInStyleRule, _this = this, t1 = {};
      _this._isUseAllowed = false;
      if (start_ == null) {
        t2 = _this.scanner;
        start = new A._SpanScannerState(t2, t2._string_scanner$_position);
      } else
        start = start_;
      interpolation = t1.interpolation = _this.styleRuleSelector$0();
      if (buffer != null) {
        buffer.addInterpolation$1(interpolation);
        t2 = t1.interpolation = buffer.interpolation$1(_this.scanner.spanFrom$1(start));
      } else
        t2 = interpolation;
      if (t2.contents.length === 0)
        _this.scanner.error$1(0, 'expected "}".');
      wasInStyleRule = _this._inStyleRule;
      _this._inStyleRule = true;
      return _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser__styleRule_closure(t1, _this, wasInStyleRule, start));
    },
    _styleRule$0() {
      return this._styleRule$2(null, null);
    },
    _propertyOrVariableDeclaration$1$parseCustomProperties(parseCustomProperties) {
      var t2, nameBuffer, t3, $name, variableOrInterpolation, _0_0, value, _1_0, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      if (_this._lookingAtPotentialPropertyHack$0()) {
        t2 = new A.StringBuffer("");
        nameBuffer = new A.InterpolationBuffer(t2, A._setArrayType([], type$.JSArray_Object));
        t3 = A.Primitives_stringFromCharCode(t1.readChar$0());
        t2._contents += t3;
        t3 = _this.rawText$1(_this.get$whitespace());
        t2._contents += t3;
        nameBuffer.addInterpolation$1(_this.interpolatedIdentifier$0());
        $name = nameBuffer.interpolation$1(t1.spanFrom$1(start));
      } else if (!_this.get$plainCss()) {
        variableOrInterpolation = _this._variableDeclarationOrInterpolation$0();
        if (variableOrInterpolation instanceof A.VariableDeclaration)
          return variableOrInterpolation;
        else
          type$.Interpolation._as(variableOrInterpolation);
        $name = variableOrInterpolation;
      } else
        $name = _this.interpolatedIdentifier$0();
      _this.whitespace$0();
      t1.expectChar$1(58);
      _this.whitespace$0();
      _0_0 = _this._tryDeclarationChildren$2($name, start);
      if (_0_0 != null)
        return _0_0;
      value = _this._expression$0();
      _1_0 = _this._tryDeclarationChildren$3$value($name, start, value);
      if (_1_0 != null)
        return _1_0;
      else {
        _this.expectStatementSeparator$0();
        return A.Declaration$($name, value, t1.spanFrom$1(start));
      }
    },
    _tryDeclarationChildren$3$value($name, start, value) {
      var _this = this;
      if (!_this.lookingAtChildren$0())
        return null;
      if (_this.get$plainCss())
        _this.scanner.error$1(0, string$.Nested);
      return _this._withChildren$3(_this.get$_declarationChild(), start, new A.StylesheetParser__tryDeclarationChildren_closure($name, value));
    },
    _tryDeclarationChildren$2($name, start) {
      return this._tryDeclarationChildren$3$value($name, start, null);
    },
    _declarationChild$0() {
      return this.scanner.peekChar$0() === 64 ? this._declarationAtRule$0() : this._propertyOrVariableDeclaration$1$parseCustomProperties(false);
    },
    atRule$2$root(child, root) {
      var $name, wasUseAllowed, value, optional, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expectChar$2$name(64, "@-rule");
      $name = _this.interpolatedIdentifier$0();
      _this.whitespace$0();
      wasUseAllowed = _this._isUseAllowed;
      _this._isUseAllowed = false;
      switch ($name.get$asPlain()) {
        case "at-root":
          return _this._atRootRule$1(start);
        case "content":
          return _this._contentRule$1(start);
        case "debug":
          return _this._debugRule$1(start);
        case "each":
          return _this._eachRule$2(start, child);
        case "else":
          return _this._disallowedAtRule$1(start);
        case "error":
          return _this._errorRule$1(start);
        case "extend":
          if (!_this._inStyleRule && !_this._stylesheet$_inMixin && !_this._inContentBlock)
            _this.error$2(0, string$.x40exten, t1.spanFrom$1(start));
          value = _this.almostAnyValue$0();
          optional = t1.scanChar$1(33);
          if (optional) {
            _this.expectIdentifier$1("optional");
            _this.whitespace$0();
          }
          _this.expectStatementSeparator$1("@extend rule");
          return new A.ExtendRule(value, optional, t1.spanFrom$1(start));
        case "for":
          return _this._forRule$2(start, child);
        case "forward":
          _this._isUseAllowed = wasUseAllowed;
          if (!root)
            _this._disallowedAtRule$1(start);
          return _this._forwardRule$1(start);
        case "function":
          return _this._functionRule$1(start);
        case "if":
          return _this._ifRule$2(start, child);
        case "import":
          return _this._importRule$1(start);
        case "include":
          return _this._includeRule$1(start);
        case "media":
          return _this.mediaRule$1(start);
        case "mixin":
          return _this._mixinRule$1(start);
        case "-moz-document":
          return _this.mozDocumentRule$2(start, $name);
        case "return":
          return _this._disallowedAtRule$1(start);
        case "supports":
          return _this.supportsRule$1(start);
        case "use":
          _this._isUseAllowed = wasUseAllowed;
          if (!root)
            _this._disallowedAtRule$1(start);
          return _this._useRule$1(start);
        case "warn":
          return _this._warnRule$1(start);
        case "while":
          return _this._whileRule$2(start, child);
        default:
          return _this.unknownAtRule$2(start, $name);
      }
    },
    _declarationAtRule$0() {
      var _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        _0_0 = _this._plainAtRuleName$0();
      $label0$0: {
        if ("content" === _0_0) {
          t1 = _this._contentRule$1(start);
          break $label0$0;
        }
        if ("debug" === _0_0) {
          t1 = _this._debugRule$1(start);
          break $label0$0;
        }
        if ("each" === _0_0) {
          t1 = _this._eachRule$2(start, _this.get$_declarationChild());
          break $label0$0;
        }
        if ("else" === _0_0)
          _this._disallowedAtRule$1(start);
        if ("error" === _0_0) {
          t1 = _this._errorRule$1(start);
          break $label0$0;
        }
        if ("for" === _0_0) {
          t1 = _this._forRule$2(start, _this.get$_declarationChild());
          break $label0$0;
        }
        if ("if" === _0_0) {
          t1 = _this._ifRule$2(start, _this.get$_declarationChild());
          break $label0$0;
        }
        if ("include" === _0_0) {
          t1 = _this._includeRule$1(start);
          break $label0$0;
        }
        if ("warn" === _0_0) {
          t1 = _this._warnRule$1(start);
          break $label0$0;
        }
        if ("while" === _0_0) {
          t1 = _this._whileRule$2(start, _this.get$_declarationChild());
          break $label0$0;
        }
        t1 = _this._disallowedAtRule$1(start);
      }
      return t1;
    },
    _functionChild$0() {
      var state, variableDeclarationError, stackTrace, statement, t2, exception, t3, start, _0_0, value, _this = this,
        t1 = _this.scanner;
      if (t1.peekChar$0() !== 64) {
        state = new A._SpanScannerState(t1, t1._string_scanner$_position);
        try {
          t2 = _this._variableDeclarationWithNamespace$0();
          return t2;
        } catch (exception) {
          t2 = A.unwrapException(exception);
          t3 = type$.SourceSpanFormatException;
          if (t3._is(t2)) {
            variableDeclarationError = t2;
            stackTrace = A.getTraceFromException(exception);
            t1.set$state(state);
            statement = null;
            try {
              statement = _this._declarationOrStyleRule$0();
            } catch (exception) {
              if (t3._is(A.unwrapException(exception)))
                throw A.wrapException(variableDeclarationError);
              else
                throw exception;
            }
            t2 = statement instanceof A.StyleRule ? "style rules" : "declarations";
            _this.error$3(0, "@function rules may not contain " + t2 + ".", J.get$span$z(statement), stackTrace);
          } else
            throw exception;
        }
      }
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      _0_0 = _this._plainAtRuleName$0();
      $label0$0: {
        if ("debug" === _0_0) {
          t1 = _this._debugRule$1(start);
          break $label0$0;
        }
        if ("each" === _0_0) {
          t1 = _this._eachRule$2(start, _this.get$_functionChild());
          break $label0$0;
        }
        if ("else" === _0_0)
          _this._disallowedAtRule$1(start);
        if ("error" === _0_0) {
          t1 = _this._errorRule$1(start);
          break $label0$0;
        }
        if ("for" === _0_0) {
          t1 = _this._forRule$2(start, _this.get$_functionChild());
          break $label0$0;
        }
        if ("if" === _0_0) {
          t1 = _this._ifRule$2(start, _this.get$_functionChild());
          break $label0$0;
        }
        if ("return" === _0_0) {
          value = _this._expression$0();
          _this.expectStatementSeparator$1("@return rule");
          t1 = new A.ReturnRule(value, t1.spanFrom$1(start));
          break $label0$0;
        }
        if ("warn" === _0_0) {
          t1 = _this._warnRule$1(start);
          break $label0$0;
        }
        if ("while" === _0_0) {
          t1 = _this._whileRule$2(start, _this.get$_functionChild());
          break $label0$0;
        }
        t1 = _this._disallowedAtRule$1(start);
      }
      return t1;
    },
    _plainAtRuleName$0() {
      this.scanner.expectChar$2$name(64, "@-rule");
      var $name = this.identifier$0();
      this.whitespace$0();
      return $name;
    },
    _atRootRule$1(start) {
      var t2, t3, t4, buffer, t5, query, _this = this,
        t1 = _this.scanner;
      if (t1.peekChar$0() === 40) {
        t2 = t1._string_scanner$_position;
        t3 = new A.StringBuffer("");
        t4 = A._setArrayType([], type$.JSArray_Object);
        buffer = new A.InterpolationBuffer(t3, t4);
        t1.expectChar$1(40);
        t5 = A.Primitives_stringFromCharCode(40);
        t3._contents += t5;
        _this.whitespace$0();
        t5 = _this._expression$0();
        buffer._flushText$0();
        t4.push(t5);
        if (t1.scanChar$1(58)) {
          _this.whitespace$0();
          t5 = A.Primitives_stringFromCharCode(58);
          t3._contents += t5;
          t5 = A.Primitives_stringFromCharCode(32);
          t3._contents += t5;
          t5 = _this._expression$0();
          buffer._flushText$0();
          t4.push(t5);
        }
        t1.expectChar$1(41);
        _this.whitespace$0();
        t4 = A.Primitives_stringFromCharCode(41);
        t3._contents += t4;
        query = buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
        _this.whitespace$0();
        return _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser__atRootRule_closure(query));
      } else if (_this.lookingAtChildren$0())
        return _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser__atRootRule_closure0());
      else
        return A.AtRootRule$(A._setArrayType([_this._styleRule$0()], type$.JSArray_Statement), t1.spanFrom$1(start), null);
    },
    _contentRule$1(start) {
      var t1, beforeWhitespace, $arguments, t2, _this = this;
      if (!_this._stylesheet$_inMixin)
        _this.error$2(0, string$.x40conte, _this.scanner.spanFrom$1(start));
      t1 = _this.scanner;
      beforeWhitespace = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
      _this.whitespace$0();
      if (t1.peekChar$0() === 40) {
        $arguments = _this._argumentInvocation$1$mixin(true);
        _this.whitespace$0();
      } else {
        t2 = beforeWhitespace.offset;
        $arguments = A.ArgumentInvocation$empty(A._FileSpan$(beforeWhitespace.file, t2, t2));
      }
      _this.expectStatementSeparator$1("@content rule");
      return new A.ContentRule($arguments, t1.spanFrom$1(start));
    },
    _debugRule$1(start) {
      var value = this._expression$0();
      this.expectStatementSeparator$1("@debug rule");
      return new A.DebugRule(value, this.scanner.spanFrom$1(start));
    },
    _eachRule$2(start, child) {
      var variables, t1, _this = this,
        wasInControlDirective = _this._inControlDirective;
      _this._inControlDirective = true;
      variables = A._setArrayType([_this.variableName$0()], type$.JSArray_String);
      _this.whitespace$0();
      for (t1 = _this.scanner; t1.scanChar$1(44);) {
        _this.whitespace$0();
        t1.expectChar$1(36);
        variables.push(_this.identifier$1$normalize(true));
        _this.whitespace$0();
      }
      _this.expectIdentifier$1("in");
      _this.whitespace$0();
      return _this._withChildren$3(child, start, new A.StylesheetParser__eachRule_closure(_this, wasInControlDirective, variables, _this._expression$0()));
    },
    _errorRule$1(start) {
      var value = this._expression$0();
      this.expectStatementSeparator$1("@error rule");
      return new A.ErrorRule(value, this.scanner.spanFrom$1(start));
    },
    _functionRule$1(start) {
      var t1, t2, $name, $arguments, _0_0, _this = this,
        precedingComment = _this.lastSilentComment;
      _this.lastSilentComment = null;
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      $name = _this.identifier$0();
      if (B.JSString_methods.startsWith$1($name, "--"))
        A.WarnForDeprecation_warnForDeprecation(_this.logger, B.Deprecation_HJ0, string$.Sassx20_fm, t1.spanFrom$1(new A._SpanScannerState(t1, t2)), null);
      _this.whitespace$0();
      $arguments = _this._argumentDeclaration$0();
      if (_this._stylesheet$_inMixin || _this._inContentBlock)
        _this.error$2(0, string$.Mixinscf, t1.spanFrom$1(start));
      else if (_this._inControlDirective)
        _this.error$2(0, string$.Functi, t1.spanFrom$1(start));
      _0_0 = A.unvendor($name);
      if ("calc" === _0_0 || "element" === _0_0 || "expression" === _0_0 || "url" === _0_0 || "and" === _0_0 || "or" === _0_0 || "not" === _0_0 || "clamp" === _0_0)
        _this.error$2(0, "Invalid function name.", t1.spanFrom$1(start));
      _this.whitespace$0();
      return _this._withChildren$3(_this.get$_functionChild(), start, new A.StylesheetParser__functionRule_closure($name, $arguments, precedingComment));
    },
    _forRule$2(start, child) {
      var variable, from, _this = this, t1 = {},
        wasInControlDirective = _this._inControlDirective;
      _this._inControlDirective = true;
      variable = _this.variableName$0();
      _this.whitespace$0();
      _this.expectIdentifier$1("from");
      _this.whitespace$0();
      t1.exclusive = null;
      from = _this._expression$1$until(new A.StylesheetParser__forRule_closure(t1, _this));
      if (t1.exclusive == null)
        _this.scanner.error$1(0, 'Expected "to" or "through".');
      _this.whitespace$0();
      return _this._withChildren$3(child, start, new A.StylesheetParser__forRule_closure0(t1, _this, wasInControlDirective, variable, from, _this._expression$0()));
    },
    _forwardRule$1(start) {
      var prefix, _0_0, shownMixinsAndFunctions, shownVariables, hiddenVariables, hiddenMixinsAndFunctions, _1_0, configuration, span, t1, t2, t3, t4, _this = this, _null = null,
        url = _this._urlString$0();
      _this.whitespace$0();
      if (_this.scanIdentifier$1("as")) {
        _this.whitespace$0();
        prefix = _this.identifier$1$normalize(true);
        _this.scanner.expectChar$1(42);
        _this.whitespace$0();
      } else
        prefix = _null;
      if (_this.scanIdentifier$1("show")) {
        _0_0 = _this._memberList$0();
        shownMixinsAndFunctions = _0_0._0;
        shownVariables = _0_0._1;
        hiddenVariables = _null;
        hiddenMixinsAndFunctions = hiddenVariables;
      } else {
        if (_this.scanIdentifier$1("hide")) {
          _1_0 = _this._memberList$0();
          hiddenMixinsAndFunctions = _1_0._0;
          hiddenVariables = _1_0._1;
        } else {
          hiddenVariables = _null;
          hiddenMixinsAndFunctions = hiddenVariables;
        }
        shownVariables = _null;
        shownMixinsAndFunctions = shownVariables;
      }
      configuration = _this._stylesheet$_configuration$1$allowGuarded(true);
      _this.whitespace$0();
      _this.expectStatementSeparator$1("@forward rule");
      span = _this.scanner.spanFrom$1(start);
      if (!_this._isUseAllowed)
        _this.error$2(0, string$.x40forwa, span);
      if (shownMixinsAndFunctions != null) {
        shownVariables.toString;
        t1 = type$.String;
        t2 = A.LinkedHashSet_LinkedHashSet$of(shownMixinsAndFunctions, t1);
        t3 = type$.UnmodifiableSetView_String;
        t1 = A.LinkedHashSet_LinkedHashSet$of(shownVariables, t1);
        t4 = configuration == null ? B.List_empty10 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable);
        return new A.ForwardRule(url, new A.UnmodifiableSetView0(t2, t3), new A.UnmodifiableSetView0(t1, t3), _null, _null, prefix, t4, span);
      } else if (hiddenMixinsAndFunctions != null) {
        hiddenVariables.toString;
        t1 = type$.String;
        t2 = A.LinkedHashSet_LinkedHashSet$of(hiddenMixinsAndFunctions, t1);
        t3 = type$.UnmodifiableSetView_String;
        t1 = A.LinkedHashSet_LinkedHashSet$of(hiddenVariables, t1);
        t4 = configuration == null ? B.List_empty10 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable);
        return new A.ForwardRule(url, _null, _null, new A.UnmodifiableSetView0(t2, t3), new A.UnmodifiableSetView0(t1, t3), prefix, t4, span);
      } else
        return new A.ForwardRule(url, _null, _null, _null, _null, prefix, configuration == null ? B.List_empty10 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable), span);
    },
    _memberList$0() {
      var _this = this,
        t1 = type$.String,
        identifiers = A.LinkedHashSet_LinkedHashSet$_empty(t1),
        variables = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      t1 = _this.scanner;
      do {
        _this.whitespace$0();
        _this.withErrorMessage$2(string$.Expect, new A.StylesheetParser__memberList_closure(_this, variables, identifiers));
        _this.whitespace$0();
      } while (t1.scanChar$1(44));
      return new A._Record_2(identifiers, variables);
    },
    _ifRule$2(start, child) {
      var condition, children, clauses, lastClause, span, _this = this,
        ifIndentation = _this.get$currentIndentation(),
        wasInControlDirective = _this._inControlDirective;
      _this._inControlDirective = true;
      condition = _this._expression$0();
      children = _this.children$1(0, child);
      _this.whitespaceWithoutComments$0();
      clauses = A._setArrayType([A.IfClause$(condition, children)], type$.JSArray_IfClause);
      while (true) {
        if (!_this.scanElse$1(ifIndentation)) {
          lastClause = null;
          break;
        }
        _this.whitespace$0();
        if (_this.scanIdentifier$1("if")) {
          _this.whitespace$0();
          clauses.push(A.IfClause$(_this._expression$0(), _this.children$1(0, child)));
        } else {
          lastClause = A.ElseClause$(_this.children$1(0, child));
          break;
        }
      }
      _this._inControlDirective = wasInControlDirective;
      span = _this.scanner.spanFrom$1(start);
      _this.whitespaceWithoutComments$0();
      return new A.IfRule(A.List_List$unmodifiable(clauses, type$.IfClause), lastClause, span);
    },
    _importRule$1(start) {
      var argument, t3, _this = this,
        imports = A._setArrayType([], type$.JSArray_Import),
        t1 = _this.scanner,
        t2 = _this.logger;
      do {
        _this.whitespace$0();
        argument = _this.importArgument$0();
        t3 = argument instanceof A.DynamicImport;
        if (t3)
          A.WarnForDeprecation_warnForDeprecation(t2, B.Deprecation_import_null_true_import, string$.Sassx20_i, argument.span, null);
        if ((_this._inControlDirective || _this._stylesheet$_inMixin) && t3)
          _this._disallowedAtRule$1(start);
        imports.push(argument);
        _this.whitespace$0();
      } while (t1.scanChar$1(44));
      _this.expectStatementSeparator$1("@import rule");
      t1 = t1.spanFrom$1(start);
      return new A.ImportRule(A.List_List$unmodifiable(imports, type$.Import), t1);
    },
    importArgument$0() {
      var url, urlSpan, innerError, stackTrace, modifiers, t2, exception, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        _0_0 = t1.peekChar$0();
      if (117 === _0_0 || 85 === _0_0) {
        url = _this.dynamicUrl$0();
        _this.whitespace$0();
        modifiers = _this.tryImportModifiers$0();
        return new A.StaticImport(A.Interpolation$(A._setArrayType([url], type$.JSArray_Object), t1.spanFrom$1(start)), modifiers, t1.spanFrom$1(start));
      }
      url = _this.string$0();
      urlSpan = t1.spanFrom$1(start);
      _this.whitespace$0();
      modifiers = _this.tryImportModifiers$0();
      if (_this.isPlainImportUrl$1(url) || modifiers != null) {
        t2 = urlSpan;
        return new A.StaticImport(A.Interpolation$(A._setArrayType([A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2.file._decodedChars, t2._file$_start, t2._end), 0, null)], type$.JSArray_Object), urlSpan), modifiers, t1.spanFrom$1(start));
      } else
        try {
          t1 = _this.parseImportUrl$1(url);
          return new A.DynamicImport(t1, urlSpan);
        } catch (exception) {
          t1 = A.unwrapException(exception);
          if (type$.FormatException._is(t1)) {
            innerError = t1;
            stackTrace = A.getTraceFromException(exception);
            _this.error$3(0, "Invalid URL: " + J.get$message$x(innerError), urlSpan, stackTrace);
          } else
            throw exception;
        }
    },
    parseImportUrl$1(url) {
      var t1 = $.$get$windows();
      if (t1.style.rootLength$1(url) > 0 && !$.$get$url().style.isRootRelative$1(url))
        return t1.toUri$1(url).toString$0(0);
      A.Uri_parse(url);
      return url;
    },
    isPlainImportUrl$1(url) {
      var _0_0, t1;
      if (url.length < 5)
        return false;
      if (B.JSString_methods.endsWith$1(url, ".css"))
        return true;
      _0_0 = url.charCodeAt(0);
      $label0$0: {
        if (47 === _0_0) {
          t1 = url.charCodeAt(1) === 47;
          break $label0$0;
        }
        if (104 === _0_0) {
          t1 = B.JSString_methods.startsWith$1(url, "http://") || B.JSString_methods.startsWith$1(url, "https://");
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    tryImportModifiers$0() {
      var t1, start, t2, t3, buffer, t4, identifier, $name, query, t5, endPosition, result, _this = this;
      if (!_this._lookingAtInterpolatedIdentifier$0() && _this.scanner.peekChar$0() !== 40)
        return null;
      t1 = _this.scanner;
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t2 = new A.StringBuffer("");
      t3 = A._setArrayType([], type$.JSArray_Object);
      buffer = new A.InterpolationBuffer(t2, t3);
      for (; true;)
        if (_this._lookingAtInterpolatedIdentifier$0()) {
          if (!(t3.length === 0 && t2._contents.length === 0)) {
            t4 = A.Primitives_stringFromCharCode(32);
            t2._contents += t4;
          }
          identifier = _this.interpolatedIdentifier$0();
          buffer.addInterpolation$1(identifier);
          t4 = identifier.get$asPlain();
          $name = t4 == null ? null : t4.toLowerCase();
          if ($name !== "and" && t1.scanChar$1(40)) {
            if ($name === "supports") {
              query = _this._importSupportsQuery$0();
              t4 = !(query instanceof A.SupportsDeclaration);
              if (t4) {
                t5 = A.Primitives_stringFromCharCode(40);
                t2._contents += t5;
              }
              buffer._flushText$0();
              t3.push(new A.SupportsExpression(query));
              if (t4) {
                t4 = A.Primitives_stringFromCharCode(41);
                t2._contents += t4;
              }
            } else {
              t4 = A.Primitives_stringFromCharCode(40);
              t2._contents += t4;
              buffer.addInterpolation$1(_this._interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(true, true));
              t4 = A.Primitives_stringFromCharCode(41);
              t2._contents += t4;
            }
            t1.expectChar$1(41);
            _this.whitespace$0();
          } else {
            _this.whitespace$0();
            if (t1.scanChar$1(44)) {
              t2._contents += ", ";
              buffer.addInterpolation$1(_this._mediaQueryList$0());
              endPosition = t1._string_scanner$_position;
              t4 = t1._sourceFile;
              t5 = start.position;
              t1 = new A._FileSpan(t4, t5, endPosition);
              t1._FileSpan$3(t4, t5, endPosition);
              t5 = type$.Object;
              t4 = A.List_List$of(t3, true, t5);
              t3 = t2._contents;
              if (t3.length !== 0)
                t4.push(t3.charCodeAt(0) == 0 ? t3 : t3);
              result = A.List_List$from(t4, false, t5);
              result.fixed$length = Array;
              result.immutable$list = Array;
              t2 = new A.Interpolation(result, t1);
              t2.Interpolation$2(t4, t1);
              return t2;
            }
          }
        } else if (t1.peekChar$0() === 40) {
          if (!(t3.length === 0 && t2._contents.length === 0)) {
            t4 = A.Primitives_stringFromCharCode(32);
            t2._contents += t4;
          }
          buffer.addInterpolation$1(_this._mediaQueryList$0());
          endPosition = t1._string_scanner$_position;
          t1 = t1._sourceFile;
          t4 = start.position;
          t5 = new A._FileSpan(t1, t4, endPosition);
          t5._FileSpan$3(t1, t4, endPosition);
          t4 = type$.Object;
          t3 = A.List_List$of(t3, true, t4);
          t1 = t2._contents;
          if (t1.length !== 0)
            t3.push(t1.charCodeAt(0) == 0 ? t1 : t1);
          result = A.List_List$from(t3, false, t4);
          result.fixed$length = Array;
          result.immutable$list = Array;
          t1 = new A.Interpolation(result, t5);
          t1.Interpolation$2(t3, t5);
          return t1;
        } else {
          endPosition = t1._string_scanner$_position;
          t1 = t1._sourceFile;
          t4 = start.position;
          t5 = new A._FileSpan(t1, t4, endPosition);
          t5._FileSpan$3(t1, t4, endPosition);
          t4 = type$.Object;
          t3 = A.List_List$of(t3, true, t4);
          t1 = t2._contents;
          if (t1.length !== 0)
            t3.push(t1.charCodeAt(0) == 0 ? t1 : t1);
          result = A.List_List$from(t3, false, t4);
          result.fixed$length = Array;
          result.immutable$list = Array;
          t1 = new A.Interpolation(result, t5);
          t1.Interpolation$2(t3, t5);
          return t1;
        }
    },
    _importSupportsQuery$0() {
      var t1, t2, _0_0, $name, _this = this;
      if (_this.scanIdentifier$1("not")) {
        _this.whitespace$0();
        t1 = _this.scanner;
        t2 = t1._string_scanner$_position;
        return new A.SupportsNegation(_this._supportsConditionInParens$0(), t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
      } else {
        t1 = _this.scanner;
        if (t1.peekChar$0() === 40)
          return _this._supportsCondition$0();
        else {
          _0_0 = _this._tryImportSupportsFunction$0();
          if (_0_0 != null)
            return _0_0;
          t2 = t1._string_scanner$_position;
          $name = _this._expression$0();
          t1.expectChar$1(58);
          return _this._supportsDeclarationValue$2($name, new A._SpanScannerState(t1, t2));
        }
      }
    },
    _tryImportSupportsFunction$0() {
      var t1, start, $name, value, _this = this;
      if (!_this._lookingAtInterpolatedIdentifier$0())
        return null;
      t1 = _this.scanner;
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      $name = _this.interpolatedIdentifier$0();
      if (!t1.scanChar$1(40)) {
        t1.set$state(start);
        return null;
      }
      value = _this._interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(true, true);
      t1.expectChar$1(41);
      return new A.SupportsFunction($name, value, t1.spanFrom$1(start));
    },
    _includeRule$1(start) {
      var name0, namespace, $arguments, t2, t3, contentArguments, contentArguments_, wasInContentBlock, $content, span, _this = this, _null = null,
        $name = _this.identifier$0(),
        t1 = _this.scanner;
      if (t1.scanChar$1(46)) {
        name0 = _this._publicIdentifier$0();
        namespace = $name;
        $name = name0;
      } else
        namespace = _null;
      _this.whitespace$0();
      if (t1.peekChar$0() === 40)
        $arguments = _this._argumentInvocation$1$mixin(true);
      else {
        t2 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
        t3 = t2.offset;
        $arguments = A.ArgumentInvocation$empty(A._FileSpan$(t2.file, t3, t3));
      }
      _this.whitespace$0();
      if (_this.scanIdentifier$1("using")) {
        _this.whitespace$0();
        contentArguments = _this._argumentDeclaration$0();
        _this.whitespace$0();
      } else
        contentArguments = _null;
      t2 = contentArguments == null;
      if (!t2 || _this.lookingAtChildren$0()) {
        if (t2) {
          t2 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
          t3 = t2.offset;
          contentArguments_ = new A.ArgumentDeclaration(B.List_empty11, _null, A._FileSpan$(t2.file, t3, t3));
        } else
          contentArguments_ = contentArguments;
        wasInContentBlock = _this._inContentBlock;
        _this._inContentBlock = true;
        $content = _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser__includeRule_closure(contentArguments_));
        _this._inContentBlock = wasInContentBlock;
      } else {
        _this.expectStatementSeparator$0();
        $content = _null;
      }
      t1 = t1.spanFrom$2(start, start);
      t2 = $content == null ? $arguments : $content;
      span = t1.expand$1(0, t2.get$span(t2));
      return new A.IncludeRule(namespace, A.stringReplaceAllUnchecked($name, "_", "-"), $name, $arguments, $content, span);
    },
    mediaRule$1(start) {
      return this._withChildren$3(this.get$_statement(), start, new A.StylesheetParser_mediaRule_closure(this._mediaQueryList$0()));
    },
    _mixinRule$1(start) {
      var t1, t2, $name, $arguments, t3, _this = this,
        precedingComment = _this.lastSilentComment;
      _this.lastSilentComment = null;
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      $name = _this.identifier$0();
      if (B.JSString_methods.startsWith$1($name, "--"))
        A.WarnForDeprecation_warnForDeprecation(_this.logger, B.Deprecation_HJ0, string$.Sassx20_m, t1.spanFrom$1(new A._SpanScannerState(t1, t2)), null);
      _this.whitespace$0();
      if (t1.peekChar$0() === 40)
        $arguments = _this._argumentDeclaration$0();
      else {
        t2 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
        t3 = t2.offset;
        $arguments = new A.ArgumentDeclaration(B.List_empty11, null, A._FileSpan$(t2.file, t3, t3));
      }
      if (_this._stylesheet$_inMixin || _this._inContentBlock)
        _this.error$2(0, string$.Mixinscm, t1.spanFrom$1(start));
      else if (_this._inControlDirective)
        _this.error$2(0, string$.Mixinsb, t1.spanFrom$1(start));
      _this.whitespace$0();
      _this._stylesheet$_inMixin = true;
      return _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser__mixinRule_closure(_this, $name, $arguments, precedingComment));
    },
    mozDocumentRule$2(start, $name) {
      var t5, t6, identifier, _0_0, argument, trailing, endPosition, t7, t8, start0, end, _this = this, _box_0 = {},
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        t3 = new A.StringBuffer(""),
        t4 = A._setArrayType([], type$.JSArray_Object),
        buffer = new A.InterpolationBuffer(t3, t4);
      _box_0.needsDeprecationWarning = false;
      for (t5 = _this.get$whitespace(); true;) {
        if (t1.peekChar$0() === 35) {
          t6 = _this.singleInterpolation$0();
          buffer._flushText$0();
          t4.push(t6);
          _box_0.needsDeprecationWarning = true;
        } else {
          t6 = t1._string_scanner$_position;
          identifier = _this.identifier$0();
          $label0$0: {
            if ("url" === identifier || "url-prefix" === identifier || "domain" === identifier) {
              _0_0 = _this._tryUrlContents$2$name(new A._SpanScannerState(t1, t6), identifier);
              if (_0_0 != null)
                buffer.addInterpolation$1(_0_0);
              else {
                t1.expectChar$1(40);
                _this.whitespace$0();
                argument = _this.interpolatedString$0();
                t1.expectChar$1(41);
                t3._contents += identifier;
                t6 = A.Primitives_stringFromCharCode(40);
                t3._contents += t6;
                buffer.addInterpolation$1(argument.asInterpolation$0());
                t6 = A.Primitives_stringFromCharCode(41);
                t3._contents += t6;
              }
              t6 = t3._contents;
              trailing = t6.charCodeAt(0) == 0 ? t6 : t6;
              if (!B.JSString_methods.endsWith$1(trailing, "url-prefix()") && !B.JSString_methods.endsWith$1(trailing, "url-prefix('')") && !B.JSString_methods.endsWith$1(trailing, 'url-prefix("")'))
                _box_0.needsDeprecationWarning = true;
              break $label0$0;
            }
            if ("regexp" === identifier) {
              t3._contents += "regexp(";
              t1.expectChar$1(40);
              buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0());
              t1.expectChar$1(41);
              t6 = A.Primitives_stringFromCharCode(41);
              t3._contents += t6;
              _box_0.needsDeprecationWarning = true;
              break $label0$0;
            }
            endPosition = t1._string_scanner$_position;
            t7 = t1._sourceFile;
            t8 = new A._FileSpan(t7, t6, endPosition);
            t8._FileSpan$3(t7, t6, endPosition);
            _this.error$2(0, "Invalid function name.", t8);
          }
        }
        _this.whitespace$0();
        if (!t1.scanChar$1(44))
          break;
        t6 = A.Primitives_stringFromCharCode(44);
        t3._contents += t6;
        start0 = t1._string_scanner$_position;
        t5.call$0();
        end = t1._string_scanner$_position;
        t3._contents += B.JSString_methods.substring$2(t1.string, start0, end);
      }
      return _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser_mozDocumentRule_closure(_box_0, _this, $name, buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)))));
    },
    supportsRule$1(start) {
      var _this = this,
        condition = _this._supportsCondition$0();
      _this.whitespace$0();
      return _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser_supportsRule_closure(condition));
    },
    _useRule$1(start) {
      var namespace, configuration, span, t1, _this = this,
        url = _this._urlString$0();
      _this.whitespace$0();
      namespace = _this._useNamespace$2(url, start);
      _this.whitespace$0();
      configuration = _this._stylesheet$_configuration$0();
      _this.whitespace$0();
      span = _this.scanner.spanFrom$1(start);
      if (!_this._isUseAllowed)
        _this.error$2(0, string$.x40use_r, span);
      _this.expectStatementSeparator$1("@use rule");
      t1 = new A.UseRule(url, namespace, configuration == null ? B.List_empty10 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable), span);
      t1.UseRule$4$configuration(url, namespace, span, configuration);
      return t1;
    },
    _useNamespace$2(url, start) {
      var namespace, basename, dot, t1, exception, _this = this;
      if (_this.scanIdentifier$1("as")) {
        _this.whitespace$0();
        return _this.scanner.scanChar$1(42) ? null : _this.identifier$0();
      }
      basename = url.get$pathSegments().length === 0 ? "" : B.JSArray_methods.get$last(url.get$pathSegments());
      dot = B.JSString_methods.indexOf$1(basename, ".");
      t1 = B.JSString_methods.startsWith$1(basename, "_") ? 1 : 0;
      namespace = B.JSString_methods.substring$2(basename, t1, dot === -1 ? basename.length : dot);
      try {
        t1 = A.SpanScanner$(namespace, null);
        t1 = new A.Parser(t1, _this.logger, null)._parseIdentifier$0();
        return t1;
      } catch (exception) {
        if (type$.SassFormatException._is(A.unwrapException(exception)))
          _this.error$2(0, 'The default namespace "' + A.S(namespace) + string$.x22x20is_n, _this.scanner.spanFrom$1(start));
        else
          throw exception;
      }
    },
    _stylesheet$_configuration$1$allowGuarded(allowGuarded) {
      var variableNames, configuration, t1, t2, $name, expression, t3, guarded, endPosition, t4, t5, span, _this = this;
      if (!_this.scanIdentifier$1("with"))
        return null;
      variableNames = A.LinkedHashSet_LinkedHashSet$_empty(type$.String);
      configuration = A._setArrayType([], type$.JSArray_ConfiguredVariable);
      _this.whitespace$0();
      t1 = _this.scanner;
      t1.expectChar$1(40);
      for (; true;) {
        _this.whitespace$0();
        t2 = t1._string_scanner$_position;
        t1.expectChar$1(36);
        $name = _this.identifier$1$normalize(true);
        _this.whitespace$0();
        t1.expectChar$1(58);
        _this.whitespace$0();
        expression = _this.expressionUntilComma$0();
        t3 = t1._string_scanner$_position;
        if (allowGuarded && t1.scanChar$1(33)) {
          guarded = _this.identifier$0() === "default";
          if (guarded)
            _this.whitespace$0();
          else {
            endPosition = t1._string_scanner$_position;
            t4 = t1._sourceFile;
            t5 = new A._FileSpan(t4, t3, endPosition);
            t5._FileSpan$3(t4, t3, endPosition);
            _this.error$2(0, "Invalid flag name.", t5);
          }
        } else
          guarded = false;
        endPosition = t1._string_scanner$_position;
        t3 = t1._sourceFile;
        span = new A._FileSpan(t3, t2, endPosition);
        span._FileSpan$3(t3, t2, endPosition);
        if (variableNames.contains$1(0, $name))
          _this.error$2(0, string$.The_sa, span);
        variableNames.add$1(0, $name);
        configuration.push(new A.ConfiguredVariable($name, expression, guarded, span));
        if (!t1.scanChar$1(44))
          break;
        _this.whitespace$0();
        if (!_this._lookingAtExpression$0())
          break;
      }
      t1.expectChar$1(41);
      return configuration;
    },
    _stylesheet$_configuration$0() {
      return this._stylesheet$_configuration$1$allowGuarded(false);
    },
    _warnRule$1(start) {
      var value = this._expression$0();
      this.expectStatementSeparator$1("@warn rule");
      return new A.WarnRule(value, this.scanner.spanFrom$1(start));
    },
    _whileRule$2(start, child) {
      var _this = this,
        wasInControlDirective = _this._inControlDirective;
      _this._inControlDirective = true;
      return _this._withChildren$3(child, start, new A.StylesheetParser__whileRule_closure(_this, wasInControlDirective, _this._expression$0()));
    },
    unknownAtRule$2(start, $name) {
      var t2, t3, rule, _this = this, t1 = {},
        wasInUnknownAtRule = _this._stylesheet$_inUnknownAtRule;
      _this._stylesheet$_inUnknownAtRule = true;
      t1.value = null;
      t2 = _this.scanner;
      t3 = t2.peekChar$0() !== 33 && !_this.atEndOfStatement$0() ? t1.value = _this._interpolatedDeclarationValue$1$allowOpenBrace(false) : null;
      if (_this.lookingAtChildren$0())
        rule = _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser_unknownAtRule_closure(t1, $name));
      else {
        _this.expectStatementSeparator$0();
        rule = A.AtRule$($name, t2.spanFrom$1(start), null, t3);
      }
      _this._stylesheet$_inUnknownAtRule = wasInUnknownAtRule;
      return rule;
    },
    _disallowedAtRule$1(start) {
      this._interpolatedDeclarationValue$2$allowEmpty$allowOpenBrace(true, false);
      this.error$2(0, "This at-rule is not allowed here.", this.scanner.spanFrom$1(start));
    },
    _argumentDeclaration$0() {
      var $arguments, named, restArgument, t3, $name, defaultValue, endPosition, t4, t5, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expectChar$1(40);
      _this.whitespace$0();
      $arguments = A._setArrayType([], type$.JSArray_Argument);
      named = A.LinkedHashSet_LinkedHashSet$_empty(type$.String);
      while (true) {
        if (!(t1.peekChar$0() === 36)) {
          restArgument = null;
          break;
        }
        t3 = t1._string_scanner$_position;
        t1.expectChar$1(36);
        $name = _this.identifier$1$normalize(true);
        _this.whitespace$0();
        if (t1.scanChar$1(58)) {
          _this.whitespace$0();
          defaultValue = _this.expressionUntilComma$0();
        } else {
          if (t1.scanChar$1(46)) {
            t1.expectChar$1(46);
            t1.expectChar$1(46);
            _this.whitespace$0();
            restArgument = $name;
            break;
          }
          defaultValue = null;
        }
        endPosition = t1._string_scanner$_position;
        t4 = t1._sourceFile;
        t5 = new A._FileSpan(t4, t3, endPosition);
        t5._FileSpan$3(t4, t3, endPosition);
        $arguments.push(new A.Argument($name, defaultValue, t5));
        if (!named.add$1(0, $name))
          _this.error$2(0, "Duplicate argument.", B.JSArray_methods.get$last($arguments).span);
        if (!t1.scanChar$1(44)) {
          restArgument = null;
          break;
        }
        _this.whitespace$0();
      }
      t1.expectChar$1(41);
      t1 = t1.spanFrom$1(new A._SpanScannerState(t1, t2));
      return new A.ArgumentDeclaration(A.List_List$unmodifiable($arguments, type$.Argument), restArgument, t1);
    },
    _argumentInvocation$2$allowEmptySecondArg$mixin(allowEmptySecondArg, mixin) {
      var positional, t3, t4, named, keywordRest, t5, rest, expression, t6, t7, result, _this = this, _null = null,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expectChar$1(40);
      _this.whitespace$0();
      positional = A._setArrayType([], type$.JSArray_Expression);
      t3 = type$.String;
      t4 = type$.Expression;
      named = A.LinkedHashMap_LinkedHashMap$_empty(t3, t4);
      t5 = !mixin;
      rest = _null;
      while (true) {
        if (!_this._lookingAtExpression$0()) {
          keywordRest = _null;
          break;
        }
        expression = _this.expressionUntilComma$1$singleEquals(t5);
        _this.whitespace$0();
        if (expression instanceof A.VariableExpression && t1.scanChar$1(58)) {
          _this.whitespace$0();
          t6 = expression.name;
          if (named.containsKey$1(t6))
            _this.error$2(0, "Duplicate argument.", expression.span);
          named.$indexSet(0, t6, _this.expressionUntilComma$1$singleEquals(t5));
        } else if (t1.scanChar$1(46)) {
          t1.expectChar$1(46);
          t1.expectChar$1(46);
          if (rest != null) {
            _this.whitespace$0();
            keywordRest = expression;
            break;
          }
          rest = expression;
        } else if (named.__js_helper$_length !== 0)
          _this.error$2(0, string$.Positi, expression.get$span(expression));
        else
          positional.push(expression);
        _this.whitespace$0();
        if (!t1.scanChar$1(44)) {
          keywordRest = _null;
          break;
        }
        _this.whitespace$0();
        if (allowEmptySecondArg && positional.length === 1 && named.__js_helper$_length === 0 && rest == null && t1.peekChar$0() === 41) {
          t5 = t1._sourceFile;
          t6 = t1._string_scanner$_position;
          new A.FileLocation(t5, t6).FileLocation$_$2(t5, t6);
          t7 = new A._FileSpan(t5, t6, t6);
          t7._FileSpan$3(t5, t6, t6);
          t6 = A._setArrayType([""], type$.JSArray_Object);
          result = A.List_List$from(t6, false, type$.Object);
          result.fixed$length = Array;
          result.immutable$list = Array;
          t5 = new A.Interpolation(result, t7);
          t5.Interpolation$2(t6, t7);
          positional.push(new A.StringExpression(t5, false));
          keywordRest = _null;
          break;
        }
      }
      t1.expectChar$1(41);
      t1 = t1.spanFrom$1(new A._SpanScannerState(t1, t2));
      return new A.ArgumentInvocation(A.List_List$unmodifiable(positional, t4), A.ConstantMap_ConstantMap$from(named, t3, t4), rest, keywordRest, t1);
    },
    _argumentInvocation$0() {
      return this._argumentInvocation$2$allowEmptySecondArg$mixin(false, false);
    },
    _argumentInvocation$1$allowEmptySecondArg(allowEmptySecondArg) {
      return this._argumentInvocation$2$allowEmptySecondArg$mixin(allowEmptySecondArg, false);
    },
    _argumentInvocation$1$mixin(mixin) {
      return this._argumentInvocation$2$allowEmptySecondArg$mixin(false, mixin);
    },
    _expression$3$bracketList$singleEquals$until(bracketList, singleEquals, until) {
      var t2, beforeBracket, start, wasInExpression, wasInParentheses, resetState, resolveOneOperation, resolveOperations, addSingleExpression, addOperator, resolveSpaceExpressions, t3, _3_0, _1_0, t4, _3_28, _2_0, _3_32, _3_40, commaExpressions, spaceExpressions, singleExpression, _this = this,
        _s20_ = "Expected expression.",
        _box_0 = {},
        t1 = until != null;
      if (t1 && until.call$0())
        _this.scanner.error$1(0, _s20_);
      if (bracketList) {
        t2 = _this.scanner;
        beforeBracket = new A._SpanScannerState(t2, t2._string_scanner$_position);
        t2.expectChar$1(91);
        _this.whitespace$0();
        if (t2.scanChar$1(93)) {
          t1 = A._setArrayType([], type$.JSArray_Expression);
          t2 = t2.spanFrom$1(beforeBracket);
          return new A.ListExpression(A.List_List$unmodifiable(t1, type$.Expression), B.ListSeparator_undecided_null_undecided, true, t2);
        }
      } else
        beforeBracket = null;
      t2 = _this.scanner;
      start = new A._SpanScannerState(t2, t2._string_scanner$_position);
      wasInExpression = _this._inExpression;
      wasInParentheses = _this._inParentheses;
      _this._inExpression = true;
      _box_0.operands_ = _box_0.operators_ = _box_0.spaceExpressions_ = _box_0.commaExpressions_ = null;
      _box_0.allowSlash = true;
      _box_0.singleExpression_ = _this._singleExpression$0();
      resetState = new A.StylesheetParser__expression_resetState(_box_0, _this, start);
      resolveOneOperation = new A.StylesheetParser__expression_resolveOneOperation(_box_0, _this);
      resolveOperations = new A.StylesheetParser__expression_resolveOperations(_box_0, resolveOneOperation);
      addSingleExpression = new A.StylesheetParser__expression_addSingleExpression(_box_0, _this, resetState, resolveOperations);
      addOperator = new A.StylesheetParser__expression_addOperator(_box_0, _this, resolveOneOperation);
      resolveSpaceExpressions = new A.StylesheetParser__expression_resolveSpaceExpressions(_box_0, _this, resolveOperations);
      for (t3 = type$.JSArray_Expression; true;) {
        _this.whitespace$0();
        if (t1 && until.call$0())
          break;
        _3_0 = t2.peekChar$0();
        if (_3_0 == null)
          break;
        if (40 === _3_0) {
          addSingleExpression.call$1(_this.parentheses$0());
          continue;
        }
        if (91 === _3_0) {
          addSingleExpression.call$1(_this._expression$1$bracketList(true));
          continue;
        }
        if (36 === _3_0) {
          addSingleExpression.call$1(_this._variable$0());
          continue;
        }
        if (38 === _3_0) {
          addSingleExpression.call$1(_this._selector$0());
          continue;
        }
        if (39 === _3_0 || 34 === _3_0) {
          addSingleExpression.call$1(_this.interpolatedString$0());
          continue;
        }
        if (35 === _3_0) {
          addSingleExpression.call$1(_this._hashExpression$0());
          continue;
        }
        if (61 === _3_0) {
          t2.readChar$0();
          if (singleEquals && t2.peekChar$0() !== 61)
            addOperator.call$1(B.BinaryOperator_wdM);
          else {
            t2.expectChar$1(61);
            addOperator.call$1(B.BinaryOperator_g8k);
          }
          continue;
        }
        if (33 === _3_0) {
          $label0$1: {
            _1_0 = t2.peekChar$1(1);
            if (61 === _1_0) {
              t2.readChar$0();
              t2.readChar$0();
              addOperator.call$1(B.BinaryOperator_icU);
              break $label0$1;
            }
            if (_1_0 != null)
              if (105 !== _1_0)
                if (73 !== _1_0)
                  t4 = _1_0 === 32 || _1_0 === 9 || _1_0 === 10 || _1_0 === 13 || _1_0 === 12;
                else
                  t4 = true;
              else
                t4 = true;
            else
              t4 = true;
            if (t4) {
              addSingleExpression.call$1(_this._importantExpression$0());
              break $label0$1;
            }
            break;
          }
          continue;
        }
        if (60 === _3_0) {
          t2.readChar$0();
          addOperator.call$1(t2.scanChar$1(61) ? B.BinaryOperator_SPQ : B.BinaryOperator_miq);
          continue;
        }
        if (62 === _3_0) {
          t2.readChar$0();
          addOperator.call$1(t2.scanChar$1(61) ? B.BinaryOperator_oEm : B.BinaryOperator_bEa);
          continue;
        }
        if (42 === _3_0) {
          t2.readChar$0();
          addOperator.call$1(B.BinaryOperator_2No);
          continue;
        }
        _3_28 = 43 === _3_0;
        if (_3_28 && _box_0.singleExpression_ == null) {
          addSingleExpression.call$1(_this._unaryOperation$0());
          continue;
        }
        if (_3_28) {
          t2.readChar$0();
          addOperator.call$1(B.BinaryOperator_u15);
          continue;
        }
        if (45 === _3_0) {
          _2_0 = t2.peekChar$1(1);
          if (A._isInt(_2_0) && _2_0 >= 48 && _2_0 <= 57 || 46 === _2_0)
            if (_box_0.singleExpression_ != null) {
              t4 = t2.peekChar$1(-1);
              t4 = t4 === 32 || t4 === 9 || t4 === 10 || t4 === 13 || t4 === 12;
            } else
              t4 = true;
          else
            t4 = false;
          if (t4)
            addSingleExpression.call$1(_this._number$0());
          else if (_this._lookingAtInterpolatedIdentifier$0())
            addSingleExpression.call$1(_this.identifierLike$0());
          else if (_box_0.singleExpression_ == null)
            addSingleExpression.call$1(_this._unaryOperation$0());
          else {
            t2.readChar$0();
            addOperator.call$1(B.BinaryOperator_SjO);
          }
          continue;
        }
        _3_32 = 47 === _3_0;
        if (_3_32 && _box_0.singleExpression_ == null) {
          addSingleExpression.call$1(_this._unaryOperation$0());
          continue;
        }
        if (_3_32) {
          t2.readChar$0();
          addOperator.call$1(B.BinaryOperator_U77);
          continue;
        }
        if (37 === _3_0) {
          t2.readChar$0();
          addOperator.call$1(B.BinaryOperator_KNx);
          continue;
        }
        if (_3_0 >= 48 && _3_0 <= 57) {
          addSingleExpression.call$1(_this._number$0());
          continue;
        }
        _3_40 = 46 === _3_0;
        if (_3_40 && t2.peekChar$1(1) === 46)
          break;
        if (_3_40) {
          addSingleExpression.call$1(_this._number$0());
          continue;
        }
        if (97 === _3_0 && !_this.get$plainCss() && _this.scanIdentifier$1("and")) {
          addOperator.call$1(B.BinaryOperator_eDt);
          continue;
        }
        if (111 === _3_0 && !_this.get$plainCss() && _this.scanIdentifier$1("or")) {
          addOperator.call$1(B.BinaryOperator_qNM);
          continue;
        }
        if ((117 === _3_0 || 85 === _3_0) && t2.peekChar$1(1) === 43) {
          addSingleExpression.call$1(_this._unicodeRange$0());
          continue;
        }
        if (!(_3_0 >= 97 && _3_0 <= 122))
          t4 = _3_0 >= 65 && _3_0 <= 90 || 95 === _3_0 || 92 === _3_0 || _3_0 >= 128;
        else
          t4 = true;
        if (t4) {
          addSingleExpression.call$1(_this.identifierLike$0());
          continue;
        }
        if (44 === _3_0) {
          if (_this._inParentheses) {
            _this._inParentheses = false;
            if (_box_0.allowSlash) {
              resetState.call$0();
              continue;
            }
          }
          commaExpressions = _box_0.commaExpressions_;
          if (commaExpressions == null)
            commaExpressions = _box_0.commaExpressions_ = A._setArrayType([], t3);
          if (_box_0.singleExpression_ == null)
            t2.error$1(0, _s20_);
          resolveSpaceExpressions.call$0();
          t4 = _box_0.singleExpression_;
          t4.toString;
          commaExpressions.push(t4);
          t2.readChar$0();
          _box_0.allowSlash = true;
          _box_0.singleExpression_ = null;
          continue;
        }
        break;
      }
      if (bracketList)
        t2.expectChar$1(93);
      commaExpressions = _box_0.commaExpressions_;
      spaceExpressions = _box_0.spaceExpressions_;
      if (commaExpressions != null) {
        resolveSpaceExpressions.call$0();
        _this._inParentheses = wasInParentheses;
        singleExpression = _box_0.singleExpression_;
        if (singleExpression != null)
          commaExpressions.push(singleExpression);
        _this._inExpression = wasInExpression;
        t1 = t2.spanFrom$1(beforeBracket == null ? start : beforeBracket);
        return new A.ListExpression(A.List_List$unmodifiable(commaExpressions, type$.Expression), B.ListSeparator_ECn, bracketList, t1);
      } else if (bracketList && spaceExpressions != null) {
        resolveOperations.call$0();
        _this._inExpression = wasInExpression;
        t1 = _box_0.singleExpression_;
        t1.toString;
        spaceExpressions.push(t1);
        beforeBracket.toString;
        t2 = t2.spanFrom$1(beforeBracket);
        return new A.ListExpression(A.List_List$unmodifiable(spaceExpressions, type$.Expression), B.ListSeparator_nbm, true, t2);
      } else {
        resolveSpaceExpressions.call$0();
        if (bracketList) {
          t1 = _box_0.singleExpression_;
          t1.toString;
          t3 = A._setArrayType([t1], t3);
          beforeBracket.toString;
          t2 = t2.spanFrom$1(beforeBracket);
          _box_0.singleExpression_ = new A.ListExpression(A.List_List$unmodifiable(t3, type$.Expression), B.ListSeparator_undecided_null_undecided, true, t2);
        }
        _this._inExpression = wasInExpression;
        t1 = _box_0.singleExpression_;
        t1.toString;
        return t1;
      }
    },
    _expression$0() {
      return this._expression$3$bracketList$singleEquals$until(false, false, null);
    },
    _expression$2$singleEquals$until(singleEquals, until) {
      return this._expression$3$bracketList$singleEquals$until(false, singleEquals, until);
    },
    _expression$1$bracketList(bracketList) {
      return this._expression$3$bracketList$singleEquals$until(bracketList, false, null);
    },
    _expression$1$until(until) {
      return this._expression$3$bracketList$singleEquals$until(false, false, until);
    },
    expressionUntilComma$1$singleEquals(singleEquals) {
      return this._expression$2$singleEquals$until(singleEquals, new A.StylesheetParser_expressionUntilComma_closure(this));
    },
    expressionUntilComma$0() {
      return this.expressionUntilComma$1$singleEquals(false);
    },
    _isSlashOperand$1(expression) {
      var t1;
      if (!(expression instanceof A.NumberExpression))
        if (!(expression instanceof A.FunctionExpression))
          t1 = expression instanceof A.BinaryOperationExpression && expression.allowsSlash;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    _singleExpression$0() {
      var next, t2, _this = this,
        _s20_ = "Expected expression.",
        t1 = _this.scanner,
        _0_0 = t1.peekChar$0();
      $label0$0: {
        if (_0_0 == null)
          t1.error$1(0, _s20_);
        if (40 === _0_0) {
          t1 = _this.parentheses$0();
          break $label0$0;
        }
        if (47 === _0_0) {
          t1 = _this._unaryOperation$0();
          break $label0$0;
        }
        if (46 === _0_0) {
          t1 = _this._number$0();
          break $label0$0;
        }
        if (91 === _0_0) {
          t1 = _this._expression$1$bracketList(true);
          break $label0$0;
        }
        if (36 === _0_0) {
          t1 = _this._variable$0();
          break $label0$0;
        }
        if (38 === _0_0) {
          t1 = _this._selector$0();
          break $label0$0;
        }
        if (39 === _0_0 || 34 === _0_0) {
          t1 = _this.interpolatedString$0();
          break $label0$0;
        }
        if (35 === _0_0) {
          t1 = _this._hashExpression$0();
          break $label0$0;
        }
        if (43 === _0_0) {
          next = t1.peekChar$1(1);
          t1 = next != null && next >= 48 && next <= 57 || next === 46 ? _this._number$0() : _this._unaryOperation$0();
          break $label0$0;
        }
        if (45 === _0_0) {
          t1 = _this._minusExpression$0();
          break $label0$0;
        }
        if (33 === _0_0) {
          t1 = _this._importantExpression$0();
          break $label0$0;
        }
        if ((117 === _0_0 || 85 === _0_0) && t1.peekChar$1(1) === 43) {
          t1 = _this._unicodeRange$0();
          break $label0$0;
        }
        if (_0_0 >= 48 && _0_0 <= 57) {
          t1 = _this._number$0();
          break $label0$0;
        }
        if (!(_0_0 >= 97 && _0_0 <= 122))
          t2 = _0_0 >= 65 && _0_0 <= 90 || 95 === _0_0 || 92 === _0_0 || _0_0 >= 128;
        else
          t2 = true;
        if (t2) {
          t1 = _this.identifierLike$0();
          break $label0$0;
        }
        t1 = t1.error$1(0, _s20_);
      }
      return t1;
    },
    parentheses$0() {
      var start, first, expressions, t1, t2, _this = this,
        wasInParentheses = _this._inParentheses;
      _this._inParentheses = true;
      try {
        t1 = _this.scanner;
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
        t1.expectChar$1(40);
        _this.whitespace$0();
        if (!_this._lookingAtExpression$0()) {
          t1.expectChar$1(41);
          t2 = A._setArrayType([], type$.JSArray_Expression);
          t1 = t1.spanFrom$1(start);
          t2 = A.List_List$unmodifiable(t2, type$.Expression);
          return new A.ListExpression(t2, B.ListSeparator_undecided_null_undecided, false, t1);
        }
        first = _this.expressionUntilComma$0();
        if (t1.scanChar$1(58)) {
          _this.whitespace$0();
          t1 = _this._stylesheet$_map$2(first, start);
          return t1;
        }
        if (!t1.scanChar$1(44)) {
          t1.expectChar$1(41);
          t1 = t1.spanFrom$1(start);
          return new A.ParenthesizedExpression(first, t1);
        }
        _this.whitespace$0();
        expressions = A._setArrayType([first], type$.JSArray_Expression);
        for (; true;) {
          if (!_this._lookingAtExpression$0())
            break;
          J.add$1$ax(expressions, _this.expressionUntilComma$0());
          if (!t1.scanChar$1(44))
            break;
          _this.whitespace$0();
        }
        t1.expectChar$1(41);
        t1 = t1.spanFrom$1(start);
        t2 = A.List_List$unmodifiable(expressions, type$.Expression);
        return new A.ListExpression(t2, B.ListSeparator_ECn, false, t1);
      } finally {
        _this._inParentheses = wasInParentheses;
      }
    },
    _stylesheet$_map$2(first, start) {
      var t1, key, _this = this,
        pairs = A._setArrayType([new A._Record_2(first, _this.expressionUntilComma$0())], type$.JSArray_Record_2_Expression_and_Expression);
      for (t1 = _this.scanner; t1.scanChar$1(44);) {
        _this.whitespace$0();
        if (!_this._lookingAtExpression$0())
          break;
        key = _this.expressionUntilComma$0();
        t1.expectChar$1(58);
        _this.whitespace$0();
        pairs.push(new A._Record_2(key, _this.expressionUntilComma$0()));
      }
      t1.expectChar$1(41);
      t1 = t1.spanFrom$1(start);
      return new A.MapExpression(A.List_List$unmodifiable(pairs, type$.Record_2_Expression_and_Expression), t1);
    },
    _hashExpression$0() {
      var start, t2, identifier, buffer, t3, _this = this,
        t1 = _this.scanner;
      if (t1.peekChar$1(1) === 123)
        return _this.identifierLike$0();
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expectChar$1(35);
      t2 = t1.peekChar$0();
      if (t2 == null)
        t2 = null;
      else
        t2 = t2 >= 48 && t2 <= 57;
      if (t2 === true)
        return new A.ColorExpression(_this._hexColorContents$1(start), t1.spanFrom$1(start));
      t2 = t1._string_scanner$_position;
      identifier = _this.interpolatedIdentifier$0();
      if (_this._isHexColor$1(identifier)) {
        t1.set$state(new A._SpanScannerState(t1, t2));
        return new A.ColorExpression(_this._hexColorContents$1(start), t1.spanFrom$1(start));
      }
      t2 = new A.StringBuffer("");
      buffer = new A.InterpolationBuffer(t2, A._setArrayType([], type$.JSArray_Object));
      t3 = A.Primitives_stringFromCharCode(35);
      t2._contents += t3;
      buffer.addInterpolation$1(identifier);
      return new A.StringExpression(buffer.interpolation$1(t1.spanFrom$1(start)), false);
    },
    _hexColorContents$1(start) {
      var red, green, blue, alpha, digit4, t2, t3, t4, _this = this,
        digit1 = _this._hexDigit$0(),
        digit2 = _this._hexDigit$0(),
        digit3 = _this._hexDigit$0(),
        t1 = _this.scanner,
        $self = t1.peekChar$0();
      if (!($self != null && A.CharacterExtension_get_isHex($self))) {
        red = (digit1 << 4 >>> 0) + digit1;
        green = (digit2 << 4 >>> 0) + digit2;
        blue = (digit3 << 4 >>> 0) + digit3;
        alpha = null;
      } else {
        digit4 = _this._hexDigit$0();
        $self = t1.peekChar$0();
        t2 = $self != null && A.CharacterExtension_get_isHex($self);
        t3 = digit1 << 4 >>> 0;
        t4 = digit3 << 4 >>> 0;
        if (!t2) {
          red = t3 + digit1;
          green = (digit2 << 4 >>> 0) + digit2;
          blue = t4 + digit3;
          alpha = ((digit4 << 4 >>> 0) + digit4) / 255;
        } else {
          red = t3 + digit2;
          green = t4 + digit4;
          blue = (_this._hexDigit$0() << 4 >>> 0) + _this._hexDigit$0();
          $self = t1.peekChar$0();
          alpha = $self != null && A.CharacterExtension_get_isHex($self) ? ((_this._hexDigit$0() << 4 >>> 0) + _this._hexDigit$0()) / 255 : null;
        }
      }
      t2 = alpha == null;
      t3 = t2 ? 1 : alpha;
      return A.SassColor$rgbInternal(red, green, blue, t3, t2 ? new A.SpanColorFormat(t1.spanFrom$1(start)) : null);
    },
    _isHexColor$1(interpolation) {
      var _0_2, t1,
        plain = interpolation.get$asPlain();
      if (typeof plain == "string") {
        _0_2 = plain.length;
        if (3 !== _0_2)
          if (4 !== _0_2)
            if (6 !== _0_2)
              t1 = 8 === _0_2;
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
      } else
        t1 = false;
      if (t1) {
        t1 = new A.CodeUnits(plain);
        return t1.every$1(t1, new A.StylesheetParser__isHexColor_closure());
      } else
        return false;
    },
    _hexDigit$0() {
      var t1 = this.scanner,
        t2 = t1.peekChar$0();
      t2 = t2 == null ? null : A.CharacterExtension_get_isHex(t2);
      return t2 === true ? A.asHex(t1.readChar$0()) : t1.error$1(0, "Expected hex digit.");
    },
    _minusExpression$0() {
      var _this = this,
        _0_0 = _this.scanner.peekChar$1(1);
      if (A._isInt(_0_0) && _0_0 >= 48 && _0_0 <= 57 || 46 === _0_0)
        return _this._number$0();
      if (_this._lookingAtInterpolatedIdentifier$0())
        return _this.identifierLike$0();
      return _this._unaryOperation$0();
    },
    _importantExpression$0() {
      var t1 = this.scanner,
        t2 = t1._string_scanner$_position;
      t1.readChar$0();
      this.whitespace$0();
      this.expectIdentifier$1("important");
      t2 = t1.spanFrom$1(new A._SpanScannerState(t1, t2));
      return new A.StringExpression(A.Interpolation$(A._setArrayType(["!important"], type$.JSArray_Object), t2), false);
    },
    _unaryOperation$0() {
      var _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        operator = _this._unaryOperatorFor$1(t1.readChar$0());
      if (operator == null)
        t1.error$2$position(0, "Expected unary operator.", t1._string_scanner$_position - 1);
      else if (_this.get$plainCss() && operator !== B.UnaryOperator_SJr)
        t1.error$3$length$position(0, "Operators aren't allowed in plain CSS.", 1, t1._string_scanner$_position - 1);
      _this.whitespace$0();
      return new A.UnaryOperationExpression(operator, _this._singleExpression$0(), t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _unaryOperatorFor$1(character) {
      var t1;
      $label0$0: {
        if (43 === character) {
          t1 = B.UnaryOperator_cLp;
          break $label0$0;
        }
        if (45 === character) {
          t1 = B.UnaryOperator_AiQ;
          break $label0$0;
        }
        if (47 === character) {
          t1 = B.UnaryOperator_SJr;
          break $label0$0;
        }
        t1 = null;
        break $label0$0;
      }
      return t1;
    },
    _number$0() {
      var number, unit, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        first = t1.peekChar$0(),
        t3 = first !== 43;
      if (!t3 || first === 45)
        t1.readChar$0();
      if (t1.peekChar$0() !== 46)
        _this._consumeNaturalNumber$0();
      _this._tryDecimal$1$allowTrailingDot(t1._string_scanner$_position !== t2 && t3 && first !== 45);
      _this._tryExponent$0();
      number = A.double_parse(t1.substring$1(0, t2));
      if (t1.scanChar$1(37))
        unit = "%";
      else {
        if (_this.lookingAtIdentifier$0())
          t3 = t1.peekChar$0() !== 45 || t1.peekChar$1(1) !== 45;
        else
          t3 = false;
        unit = t3 ? _this.identifier$1$unit(true) : null;
      }
      return new A.NumberExpression(number, unit, t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _consumeNaturalNumber$0() {
      var $self,
        t1 = this.scanner,
        t2 = t1.readChar$0();
      if (!(t2 >= 48 && t2 <= 57))
        t1.error$2$position(0, "Expected digit.", t1._string_scanner$_position - 1);
      while (true) {
        $self = t1.peekChar$0();
        if (!($self != null && $self >= 48 && $self <= 57))
          break;
        t1.readChar$0();
      }
    },
    _tryDecimal$1$allowTrailingDot(allowTrailingDot) {
      var $self,
        t1 = this.scanner;
      if (t1.peekChar$0() !== 46)
        return;
      $self = t1.peekChar$1(1);
      if (!($self != null && $self >= 48 && $self <= 57)) {
        if (allowTrailingDot)
          return;
        t1.error$2$position(0, "Expected digit.", t1._string_scanner$_position + 1);
      }
      t1.readChar$0();
      while (true) {
        $self = t1.peekChar$0();
        if (!($self != null && $self >= 48 && $self <= 57))
          break;
        t1.readChar$0();
      }
    },
    _tryExponent$0() {
      var next, $self,
        t1 = this.scanner,
        first = t1.peekChar$0();
      if (first !== 101 && first !== 69)
        return;
      next = t1.peekChar$1(1);
      if (!(next != null && next >= 48 && next <= 57) && next !== 45 && next !== 43)
        return;
      t1.readChar$0();
      if (43 === next || 45 === next)
        t1.readChar$0();
      $self = t1.peekChar$0();
      if (!($self != null && $self >= 48 && $self <= 57))
        t1.error$1(0, "Expected digit.");
      while (true) {
        $self = t1.peekChar$0();
        if (!($self != null && $self >= 48 && $self <= 57))
          break;
        t1.readChar$0();
      }
    },
    _unicodeRange$0() {
      var firstRangeLength, hasQuestionMark, t2, secondRangeLength, _this = this,
        _s26_ = "Expected at most 6 digits.",
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      _this.expectIdentChar$1(117);
      t1.expectChar$1(43);
      for (firstRangeLength = 0; _this.scanCharIf$1(new A.StylesheetParser__unicodeRange_closure());)
        ++firstRangeLength;
      for (hasQuestionMark = false; t1.scanChar$1(63); hasQuestionMark = true)
        ++firstRangeLength;
      if (firstRangeLength === 0)
        t1.error$1(0, 'Expected hex digit or "?".');
      else if (firstRangeLength > 6)
        _this.error$2(0, _s26_, t1.spanFrom$1(start));
      else if (hasQuestionMark) {
        t2 = t1.substring$1(0, start.position);
        t1 = t1.spanFrom$1(start);
        return new A.StringExpression(A.Interpolation$(A._setArrayType([t2], type$.JSArray_Object), t1), false);
      }
      if (t1.scanChar$1(45)) {
        t2 = t1._string_scanner$_position;
        for (secondRangeLength = 0; _this.scanCharIf$1(new A.StylesheetParser__unicodeRange_closure0());)
          ++secondRangeLength;
        if (secondRangeLength === 0)
          t1.error$1(0, "Expected hex digit.");
        else if (secondRangeLength > 6)
          _this.error$2(0, _s26_, t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
      }
      if (_this._lookingAtInterpolatedIdentifierBody$0())
        t1.error$1(0, "Expected end of identifier.");
      t2 = t1.substring$1(0, start.position);
      t1 = t1.spanFrom$1(start);
      return new A.StringExpression(A.Interpolation$(A._setArrayType([t2], type$.JSArray_Object), t1), false);
    },
    _variable$0() {
      var _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        $name = _this.variableName$0();
      if (_this.get$plainCss())
        _this.error$2(0, string$.Sassx20v, t1.spanFrom$1(start));
      return new A.VariableExpression(null, $name, t1.spanFrom$1(start));
    },
    _selector$0() {
      var t1, start, _this = this;
      if (_this.get$plainCss())
        _this.scanner.error$2$length(0, string$.The_pa, 1);
      t1 = _this.scanner;
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expectChar$1(38);
      if (t1.scanChar$1(38)) {
        _this.logger.warn$2$span(0, string$.In_Sas, t1.spanFrom$1(start));
        t1.set$position(t1._string_scanner$_position - 1);
      }
      return new A.SelectorExpression(t1.spanFrom$1(start));
    },
    interpolatedString$0() {
      var t3, t4, buffer, _0_0, second, t5,
        t1 = this.scanner,
        t2 = t1._string_scanner$_position,
        quote = t1.readChar$0();
      if (quote !== 39 && quote !== 34)
        t1.error$2$position(0, "Expected string.", t2);
      t3 = new A.StringBuffer("");
      t4 = A._setArrayType([], type$.JSArray_Object);
      buffer = new A.InterpolationBuffer(t3, t4);
      for (; true;) {
        _0_0 = t1.peekChar$0();
        if (_0_0 === quote) {
          t1.readChar$0();
          break;
        }
        if (_0_0 == null || _0_0 === 10 || _0_0 === 13 || _0_0 === 12)
          t1.error$1(0, "Expected " + A.Primitives_stringFromCharCode(quote) + ".");
        if (92 === _0_0) {
          second = t1.peekChar$1(1);
          if (second === 10 || second === 13 || second === 12) {
            t1.readChar$0();
            t1.readChar$0();
            if (second === 13)
              t1.scanChar$1(10);
          } else {
            t5 = A.Primitives_stringFromCharCode(A.consumeEscapedCharacter(t1));
            t3._contents += t5;
          }
          continue;
        }
        if (35 === _0_0 && t1.peekChar$1(1) === 123) {
          t5 = this.singleInterpolation$0();
          buffer._flushText$0();
          t4.push(t5);
          continue;
        }
        t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
        t3._contents += t5;
      }
      return new A.StringExpression(buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2))), true);
    },
    identifierLike$0() {
      var invocation, expression, _0_0, _1_0, _2_0, _2_2, _2_4, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        identifier = _this.interpolatedIdentifier$0(),
        plain = identifier.get$asPlain(),
        lower = A._Cell$(),
        t2 = plain != null;
      if (t2) {
        if (plain === "if" && t1.peekChar$0() === 40) {
          invocation = _this._argumentInvocation$0();
          return new A.IfExpression(invocation, identifier.span.expand$1(0, invocation.span));
        } else if (plain === "not") {
          _this.whitespace$0();
          expression = _this._singleExpression$0();
          return new A.UnaryOperationExpression(B.UnaryOperator_not_not_not, expression, identifier.span.expand$1(0, expression.get$span(expression)));
        }
        lower.__late_helper$_value = plain.toLowerCase();
        if (t1.peekChar$0() !== 40) {
          switch (plain) {
            case "false":
              return new A.BooleanExpression(false, identifier.span);
            case "null":
              return new A.NullExpression(identifier.span);
            case "true":
              return new A.BooleanExpression(true, identifier.span);
          }
          _0_0 = $.$get$colorsByName().$index(0, lower._readLocal$0());
          if (_0_0 != null) {
            t1 = identifier.span;
            return new A.ColorExpression(A.SassColor$rgbInternal(_0_0.get$red(0), _0_0.get$green(0), _0_0.get$blue(0), _0_0._alpha, new A.SpanColorFormat(t1)), t1);
          }
        }
        _1_0 = _this.trySpecialFunction$2(lower._readLocal$0(), start);
        if (_1_0 != null)
          return _1_0;
      }
      _2_0 = t1.peekChar$0();
      _2_2 = 46 === _2_0;
      if (_2_2 && t1.peekChar$1(1) === 46)
        return new A.StringExpression(identifier, false);
      if (_2_2) {
        t1.readChar$0();
        if (t2)
          return _this.namespacedExpression$2(plain, start);
        _this.error$2(0, string$.Interpn, identifier.span);
      }
      _2_4 = 40 === _2_0;
      if (_2_4 && t2) {
        t2 = _this._argumentInvocation$1$allowEmptySecondArg(J.$eq$(lower._readLocal$0(), "var"));
        t1 = t1.spanFrom$1(start);
        return new A.FunctionExpression(null, A.stringReplaceAllUnchecked(plain, "_", "-"), plain, t2, t1);
      }
      if (_2_4)
        return new A.InterpolatedFunctionExpression(identifier, _this._argumentInvocation$0(), t1.spanFrom$1(start));
      return new A.StringExpression(identifier, false);
    },
    namespacedExpression$2(namespace, start) {
      var $name, t2, t3, _this = this,
        t1 = _this.scanner;
      if (t1.peekChar$0() === 36) {
        $name = _this.variableName$0();
        _this._assertPublic$2($name, new A.StylesheetParser_namespacedExpression_closure(_this, start));
        return new A.VariableExpression(namespace, $name, t1.spanFrom$1(start));
      }
      t2 = _this._publicIdentifier$0();
      t3 = _this._argumentInvocation$0();
      t1 = t1.spanFrom$1(start);
      return new A.FunctionExpression(namespace, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, t3, t1);
    },
    trySpecialFunction$2($name, start) {
      var t1, buffer, t2, next, t3, _this = this,
        normalized = A.unvendor($name);
      $label0$0: {
        if (!("calc" === normalized && normalized !== $name && _this.scanner.scanChar$1(40)))
          t1 = ("element" === normalized || "expression" === normalized) && _this.scanner.scanChar$1(40);
        else
          t1 = true;
        if (t1) {
          t1 = new A.StringBuffer("");
          buffer = new A.InterpolationBuffer(t1, A._setArrayType([], type$.JSArray_Object));
          t1._contents = "" + $name;
          t2 = A.Primitives_stringFromCharCode(40);
          t1._contents += t2;
          break $label0$0;
        }
        if ("progid" === normalized && _this.scanner.scanChar$1(58)) {
          t1 = new A.StringBuffer("");
          buffer = new A.InterpolationBuffer(t1, A._setArrayType([], type$.JSArray_Object));
          t1._contents = "" + $name;
          t2 = A.Primitives_stringFromCharCode(58);
          t1._contents += t2;
          t2 = _this.scanner;
          next = t2.peekChar$0();
          while (true) {
            if (next != null) {
              if (!(next >= 97 && next <= 122))
                t3 = next >= 65 && next <= 90;
              else
                t3 = true;
              t3 = t3 || next === 46;
            } else
              t3 = false;
            if (!t3)
              break;
            t3 = A.Primitives_stringFromCharCode(t2.readChar$0());
            t1._contents += t3;
            next = t2.peekChar$0();
          }
          t2.expectChar$1(40);
          t2 = A.Primitives_stringFromCharCode(40);
          t1._contents += t2;
          break $label0$0;
        }
        if ("url" === normalized)
          return A.NullableExtension_andThen(_this._tryUrlContents$1(start), new A.StylesheetParser_trySpecialFunction_closure());
        return null;
      }
      buffer.addInterpolation$1(_this._interpolatedDeclarationValue$1$allowEmpty(true));
      t1 = _this.scanner;
      t1.expectChar$1(41);
      t2 = buffer._interpolation_buffer$_text;
      t3 = A.Primitives_stringFromCharCode(41);
      t2._contents += t3;
      return new A.StringExpression(buffer.interpolation$1(t1.spanFrom$1(start)), false);
    },
    _tryUrlContents$2$name(start, $name) {
      var t3, t4, buffer, t5, _0_0, _0_6, endPosition, result, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      if (!t1.scanChar$1(40))
        return null;
      _this.whitespaceWithoutComments$0();
      t3 = new A.StringBuffer("");
      t4 = A._setArrayType([], type$.JSArray_Object);
      buffer = new A.InterpolationBuffer(t3, t4);
      t3._contents = "" + ($name == null ? "url" : $name);
      t5 = A.Primitives_stringFromCharCode(40);
      t3._contents += t5;
      for (; true;) {
        _0_0 = t1.peekChar$0();
        if (_0_0 == null)
          break;
        if (92 === _0_0) {
          t5 = _this.escape$0();
          t3._contents += t5;
          continue;
        }
        _0_6 = 35 === _0_0;
        if (_0_6 && t1.peekChar$1(1) === 123) {
          t5 = _this.singleInterpolation$0();
          buffer._flushText$0();
          t4.push(t5);
          continue;
        }
        if (33 !== _0_0)
          if (37 !== _0_0)
            if (38 !== _0_0)
              if (!_0_6)
                t5 = _0_0 >= 42 && _0_0 <= 126 || _0_0 >= 128;
              else
                t5 = true;
            else
              t5 = true;
          else
            t5 = true;
        else
          t5 = true;
        if (t5) {
          t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t3._contents += t5;
          continue;
        }
        if (_0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12) {
          _this.whitespaceWithoutComments$0();
          if (t1.peekChar$0() !== 41)
            break;
          continue;
        }
        if (41 === _0_0) {
          t2 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t3._contents += t2;
          endPosition = t1._string_scanner$_position;
          t2 = t1._sourceFile;
          t5 = start.position;
          t1 = new A._FileSpan(t2, t5, endPosition);
          t1._FileSpan$3(t2, t5, endPosition);
          t5 = type$.Object;
          t2 = A.List_List$of(t4, true, t5);
          t4 = t3._contents;
          if (t4.length !== 0)
            t2.push(t4.charCodeAt(0) == 0 ? t4 : t4);
          result = A.List_List$from(t2, false, t5);
          result.fixed$length = Array;
          result.immutable$list = Array;
          t3 = new A.Interpolation(result, t1);
          t3.Interpolation$2(t2, t1);
          return t3;
        }
        break;
      }
      t1.set$state(new A._SpanScannerState(t1, t2));
      return null;
    },
    _tryUrlContents$1(start) {
      return this._tryUrlContents$2$name(start, null);
    },
    dynamicUrl$0() {
      var _0_0, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      _this.expectIdentifier$1("url");
      _0_0 = _this._tryUrlContents$1(start);
      if (_0_0 != null)
        return new A.StringExpression(_0_0, false);
      return new A.InterpolatedFunctionExpression(A.Interpolation$(A._setArrayType(["url"], type$.JSArray_Object), t1.spanFrom$1(start)), _this._argumentInvocation$0(), t1.spanFrom$1(start));
    },
    almostAnyValue$1$omitComments(omitComments) {
      var t4, t5, t6, _2_0, t7, _0_0, _0_2, start, end, _0_4, identifier, _1_0, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        t3 = new A.StringBuffer(""),
        buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object));
      for (t4 = t1.string, t5 = t4.length, t6 = !omitComments; true;)
        $label0$0: {
          _2_0 = t1.peekChar$0();
          if (92 === _2_0) {
            t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t3._contents += t7;
            t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t3._contents += t7;
            break $label0$0;
          }
          if (34 === _2_0 || 39 === _2_0) {
            buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0());
            break $label0$0;
          }
          if (47 === _2_0) {
            $label1$1: {
              _0_0 = t1.peekChar$1(1);
              _0_2 = 42 === _0_0;
              if (_0_2 && t6) {
                t7 = _this.get$loudComment();
                start = t1._string_scanner$_position;
                t7.call$0();
                end = t1._string_scanner$_position;
                t3._contents += B.JSString_methods.substring$2(t4, start, end);
                break $label1$1;
              }
              if (_0_2) {
                _this.loudComment$0();
                break $label1$1;
              }
              _0_4 = 47 === _0_0;
              if (_0_4 && t6) {
                t7 = _this.get$silentComment();
                start = t1._string_scanner$_position;
                t7.call$0();
                end = t1._string_scanner$_position;
                t3._contents += B.JSString_methods.substring$2(t4, start, end);
                break $label1$1;
              }
              if (_0_4) {
                _this.silentComment$0();
                break $label1$1;
              }
              t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t7;
            }
            break $label0$0;
          }
          if (35 === _2_0 && t1.peekChar$1(1) === 123) {
            buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
            break $label0$0;
          }
          if (13 === _2_0 || 10 === _2_0 || 12 === _2_0) {
            if (_this.get$indented())
              break;
            t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t3._contents += t7;
            break $label0$0;
          }
          if (33 === _2_0 || 59 === _2_0 || 123 === _2_0 || 125 === _2_0)
            break;
          if (117 === _2_0 || 85 === _2_0) {
            t7 = t1._string_scanner$_position;
            identifier = _this.identifier$0();
            if (identifier !== "url" && identifier !== "url-prefix") {
              t3._contents += identifier;
              continue;
            }
            _1_0 = _this._tryUrlContents$2$name(new A._SpanScannerState(t1, t7), identifier);
            if (_1_0 != null)
              buffer.addInterpolation$1(_1_0);
            else {
              if ((t7 === 0 ? 1 / t7 < 0 : t7 < 0) || t7 > t5)
                A.throwExpression(A.ArgumentError$("Invalid position " + t7, null));
              t1._string_scanner$_position = t7;
              t1._lastMatch = null;
              t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t7;
            }
            break $label0$0;
          }
          if (_2_0 == null)
            break;
          t7 = _this.lookingAtIdentifier$0();
          if (t7) {
            t7 = _this.identifier$0();
            t3._contents += t7;
            break $label0$0;
          }
          t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t3._contents += t7;
        }
      return buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    almostAnyValue$0() {
      return this.almostAnyValue$1$omitComments(false);
    },
    _interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(allowColon, allowEmpty, allowOpenBrace, allowSemicolon, silentComments) {
      var t4, t5, t6, t7, t8, wroteNewline, _2_0, t9, _0_0, start, end, _2_14_isSet, _2_14, _2_18_isSet, _2_18, _2_20_isSet, _2_20, _2_22, bracket, identifier, _1_0, _this = this, _null = null,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        t3 = new A.StringBuffer(""),
        buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object)),
        brackets = A._setArrayType([], type$.JSArray_int);
      for (t4 = !allowOpenBrace, t5 = t1.string, t6 = t5.length, t7 = !allowColon, t8 = !allowSemicolon, wroteNewline = false; true;)
        $label0$0: {
          _2_0 = t1.peekChar$0();
          if (92 === _2_0) {
            t9 = _this.escape$1$identifierStart(true);
            t3._contents += t9;
            wroteNewline = false;
            break $label0$0;
          }
          if (34 === _2_0 || 39 === _2_0) {
            buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0());
            wroteNewline = false;
            break $label0$0;
          }
          if (47 === _2_0) {
            $label1$1: {
              _0_0 = t1.peekChar$1(1);
              if (42 === _0_0) {
                t9 = _this.get$loudComment();
                start = t1._string_scanner$_position;
                t9.call$0();
                end = t1._string_scanner$_position;
                t3._contents += B.JSString_methods.substring$2(t5, start, end);
                break $label1$1;
              }
              if (47 === _0_0 && silentComments) {
                _this.silentComment$0();
                break $label1$1;
              }
              t9 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t9;
            }
            wroteNewline = false;
            break $label0$0;
          }
          if (35 === _2_0 && t1.peekChar$1(1) === 123) {
            buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
            wroteNewline = false;
            break $label0$0;
          }
          _2_14_isSet = 32 !== _2_0;
          if (_2_14_isSet) {
            _2_14 = 9 === _2_0;
            t9 = _2_14;
          } else {
            _2_14 = _null;
            t9 = true;
          }
          if (t9)
            if (!wroteNewline) {
              t9 = t1.peekChar$1(1);
              t9 = t9 === 32 || t9 === 9 || t9 === 10 || t9 === 13 || t9 === 12;
            } else
              t9 = false;
          else
            t9 = false;
          if (t9) {
            t1.readChar$0();
            break $label0$0;
          }
          if (_2_14_isSet)
            t9 = _2_14;
          else
            t9 = true;
          if (t9) {
            t9 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t3._contents += t9;
            break $label0$0;
          }
          _2_18_isSet = 10 !== _2_0;
          if (_2_18_isSet) {
            _2_18 = 13 === _2_0;
            _2_20_isSet = !_2_18;
            if (_2_20_isSet) {
              _2_20 = 12 === _2_0;
              t9 = _2_20;
            } else {
              _2_20 = _null;
              t9 = true;
            }
          } else {
            _2_20 = _null;
            _2_18 = _2_20;
            _2_20_isSet = false;
            t9 = true;
          }
          if (t9 && _this.get$indented())
            break;
          if (_2_18_isSet)
            if (!_2_18)
              t9 = _2_20_isSet ? _2_20 : 12 === _2_0;
            else
              t9 = true;
          else
            t9 = true;
          if (t9) {
            t9 = t1.peekChar$1(-1);
            if (!(t9 === 10 || t9 === 13 || t9 === 12))
              t3._contents += "\n";
            t1.readChar$0();
            wroteNewline = true;
            break $label0$0;
          }
          _2_22 = 123 === _2_0;
          if (_2_22 && t4)
            break;
          if (40 !== _2_0)
            t9 = _2_22 || 91 === _2_0;
          else
            t9 = true;
          if (t9) {
            bracket = t1.readChar$0();
            t9 = A.Primitives_stringFromCharCode(bracket);
            t3._contents += t9;
            brackets.push(A.opposite(bracket));
            wroteNewline = false;
            break $label0$0;
          }
          if (41 === _2_0 || 125 === _2_0 || 93 === _2_0) {
            if (brackets.length === 0)
              break;
            bracket = brackets.pop();
            t1.expectChar$1(bracket);
            t9 = A.Primitives_stringFromCharCode(bracket);
            t3._contents += t9;
            wroteNewline = false;
            break $label0$0;
          }
          if (59 === _2_0) {
            if (t8 && brackets.length === 0)
              break;
            t9 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t3._contents += t9;
            wroteNewline = false;
            break $label0$0;
          }
          if (58 === _2_0) {
            if (t7 && brackets.length === 0)
              break;
            t9 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t3._contents += t9;
            wroteNewline = false;
            break $label0$0;
          }
          if (117 === _2_0 || 85 === _2_0) {
            t9 = t1._string_scanner$_position;
            identifier = _this.identifier$0();
            if (identifier !== "url" && identifier !== "url-prefix") {
              t3._contents += identifier;
              wroteNewline = false;
              continue;
            }
            _1_0 = _this._tryUrlContents$2$name(new A._SpanScannerState(t1, t9), identifier);
            if (_1_0 != null)
              buffer.addInterpolation$1(_1_0);
            else {
              if ((t9 === 0 ? 1 / t9 < 0 : t9 < 0) || t9 > t6)
                A.throwExpression(A.ArgumentError$("Invalid position " + t9, _null));
              t1._string_scanner$_position = t9;
              t1._lastMatch = null;
              t9 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t9;
            }
            wroteNewline = false;
            break $label0$0;
          }
          if (_2_0 == null)
            break;
          t9 = _this.lookingAtIdentifier$0();
          if (t9) {
            t9 = _this.identifier$0();
            t3._contents += t9;
            wroteNewline = false;
            break $label0$0;
          }
          t9 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t3._contents += t9;
          wroteNewline = false;
        }
      if (brackets.length !== 0)
        t1.expectChar$1(B.JSArray_methods.get$last(brackets));
      if (!allowEmpty && buffer._interpolation_buffer$_contents.length === 0 && t3._contents.length === 0)
        t1.error$1(0, "Expected token.");
      return buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _interpolatedDeclarationValue$1$allowEmpty(allowEmpty) {
      return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, allowEmpty, true, false, true);
    },
    _interpolatedDeclarationValue$1$allowOpenBrace(allowOpenBrace) {
      return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, false, allowOpenBrace, false, true);
    },
    _interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(allowEmpty, allowSemicolon) {
      return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, allowEmpty, true, allowSemicolon, true);
    },
    _interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(allowColon, allowEmpty, allowSemicolon) {
      return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(allowColon, allowEmpty, true, allowSemicolon, true);
    },
    _interpolatedDeclarationValue$0() {
      return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, false, true, false, true);
    },
    _interpolatedDeclarationValue$2$allowEmpty$allowOpenBrace(allowEmpty, allowOpenBrace) {
      return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, allowEmpty, allowOpenBrace, false, true);
    },
    _interpolatedDeclarationValue$1$silentComments(silentComments) {
      return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, false, true, false, silentComments);
    },
    interpolatedIdentifier$0() {
      var t4, _0_0, _this = this,
        _s20_ = "Expected identifier.",
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        t2 = new A.StringBuffer(""),
        t3 = A._setArrayType([], type$.JSArray_Object),
        buffer = new A.InterpolationBuffer(t2, t3);
      if (t1.scanChar$1(45)) {
        t4 = A.Primitives_stringFromCharCode(45);
        t2._contents += t4;
        if (t1.scanChar$1(45)) {
          t3 = A.Primitives_stringFromCharCode(45);
          t2._contents += t3;
          _this._interpolatedIdentifierBody$1(buffer);
          return buffer.interpolation$1(t1.spanFrom$1(start));
        }
      }
      $label0$0: {
        _0_0 = t1.peekChar$0();
        if (_0_0 == null)
          t1.error$1(0, _s20_);
        if (_0_0 === 95 || A.CharacterExtension_get_isAlphabetic(_0_0) || _0_0 >= 128) {
          t3 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t2._contents += t3;
          break $label0$0;
        }
        if (92 === _0_0) {
          t3 = _this.escape$1$identifierStart(true);
          t2._contents += t3;
          break $label0$0;
        }
        if (35 === _0_0 && t1.peekChar$1(1) === 123) {
          t2 = _this.singleInterpolation$0();
          buffer._flushText$0();
          t3.push(t2);
          break $label0$0;
        }
        t1.error$1(0, _s20_);
      }
      _this._interpolatedIdentifierBody$1(buffer);
      return buffer.interpolation$1(t1.spanFrom$1(start));
    },
    _interpolatedIdentifierBody$1(buffer) {
      var t1, t2, t3, _0_0, t4;
      for (t1 = buffer._interpolation_buffer$_contents, t2 = this.scanner, t3 = buffer._interpolation_buffer$_text; true;) {
        _0_0 = t2.peekChar$0();
        if (_0_0 == null)
          break;
        if (95 !== _0_0)
          if (45 !== _0_0) {
            if (!(_0_0 >= 97 && _0_0 <= 122))
              t4 = _0_0 >= 65 && _0_0 <= 90;
            else
              t4 = true;
            if (!t4)
              t4 = _0_0 >= 48 && _0_0 <= 57;
            else
              t4 = true;
            t4 = t4 || _0_0 >= 128;
          } else
            t4 = true;
        else
          t4 = true;
        if (t4) {
          t4 = A.Primitives_stringFromCharCode(t2.readChar$0());
          t3._contents += t4;
          continue;
        }
        if (92 === _0_0) {
          t4 = this.escape$0();
          t3._contents += t4;
          continue;
        }
        if (35 === _0_0 && t2.peekChar$1(1) === 123) {
          t4 = this.singleInterpolation$0();
          buffer._flushText$0();
          t1.push(t4);
          continue;
        }
        break;
      }
    },
    singleInterpolation$0() {
      var contents, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expect$1("#{");
      _this.whitespace$0();
      contents = _this._expression$0();
      t1.expectChar$1(125);
      if (_this.get$plainCss())
        _this.error$2(0, string$.Interpp, t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
      return contents;
    },
    _mediaQueryList$0() {
      var t4, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        t3 = new A.StringBuffer(""),
        buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object));
      for (; true;) {
        _this.whitespace$0();
        _this._stylesheet$_mediaQuery$1(buffer);
        _this.whitespace$0();
        if (!t1.scanChar$1(44))
          break;
        t4 = A.Primitives_stringFromCharCode(44);
        t3._contents += t4;
        t4 = A.Primitives_stringFromCharCode(32);
        t3._contents += t4;
      }
      return buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _stylesheet$_mediaQuery$1(buffer) {
      var identifier1, t1, t2, identifier2, _this = this, _s3_ = "and";
      if (_this.scanner.peekChar$0() === 40) {
        _this._stylesheet$_mediaInParens$1(buffer);
        _this.whitespace$0();
        if (_this.scanIdentifier$1(_s3_)) {
          buffer._interpolation_buffer$_text._contents += " and ";
          _this.expectWhitespace$0();
          _this._stylesheet$_mediaLogicSequence$2(buffer, _s3_);
        } else if (_this.scanIdentifier$1("or")) {
          buffer._interpolation_buffer$_text._contents += " or ";
          _this.expectWhitespace$0();
          _this._stylesheet$_mediaLogicSequence$2(buffer, "or");
        }
        return;
      }
      identifier1 = _this.interpolatedIdentifier$0();
      if (A.equalsIgnoreCase(identifier1.get$asPlain(), "not")) {
        _this.expectWhitespace$0();
        if (!_this._lookingAtInterpolatedIdentifier$0()) {
          buffer._interpolation_buffer$_text._contents += "not ";
          _this._mediaOrInterp$1(buffer);
          return;
        }
      }
      _this.whitespace$0();
      buffer.addInterpolation$1(identifier1);
      if (!_this._lookingAtInterpolatedIdentifier$0())
        return;
      t1 = buffer._interpolation_buffer$_text;
      t2 = A.Primitives_stringFromCharCode(32);
      t1._contents += t2;
      identifier2 = _this.interpolatedIdentifier$0();
      if (A.equalsIgnoreCase(identifier2.get$asPlain(), _s3_)) {
        _this.expectWhitespace$0();
        t1._contents += " and ";
      } else {
        _this.whitespace$0();
        buffer.addInterpolation$1(identifier2);
        if (_this.scanIdentifier$1(_s3_)) {
          _this.expectWhitespace$0();
          t1._contents += " and ";
        } else
          return;
      }
      if (_this.scanIdentifier$1("not")) {
        _this.expectWhitespace$0();
        t1._contents += "not ";
        _this._mediaOrInterp$1(buffer);
        return;
      }
      _this._stylesheet$_mediaLogicSequence$2(buffer, _s3_);
      return;
    },
    _stylesheet$_mediaLogicSequence$2(buffer, operator) {
      var t1, t2, _this = this;
      for (t1 = buffer._interpolation_buffer$_text; true;) {
        _this._mediaOrInterp$1(buffer);
        _this.whitespace$0();
        if (!_this.scanIdentifier$1(operator))
          return;
        _this.expectWhitespace$0();
        t2 = A.Primitives_stringFromCharCode(32);
        t2 = t1._contents += t2;
        t1._contents = t2 + operator;
        t2 = A.Primitives_stringFromCharCode(32);
        t1._contents += t2;
      }
    },
    _mediaOrInterp$1(buffer) {
      var interpolation;
      if (this.scanner.peekChar$0() === 35) {
        interpolation = this.singleInterpolation$0();
        buffer.addInterpolation$1(A.Interpolation$(A._setArrayType([interpolation], type$.JSArray_Object), interpolation.get$span(interpolation)));
      } else
        this._stylesheet$_mediaInParens$1(buffer);
    },
    _stylesheet$_mediaInParens$1(buffer) {
      var t2, t3, t4, next, t5, _this = this,
        t1 = _this.scanner;
      t1.expectChar$2$name(40, "media condition in parentheses");
      t2 = buffer._interpolation_buffer$_text;
      t3 = A.Primitives_stringFromCharCode(40);
      t2._contents += t3;
      _this.whitespace$0();
      if (t1.peekChar$0() === 40) {
        _this._stylesheet$_mediaInParens$1(buffer);
        _this.whitespace$0();
        if (_this.scanIdentifier$1("and")) {
          t2._contents += " and ";
          _this.expectWhitespace$0();
          _this._stylesheet$_mediaLogicSequence$2(buffer, "and");
        } else if (_this.scanIdentifier$1("or")) {
          t2._contents += " or ";
          _this.expectWhitespace$0();
          _this._stylesheet$_mediaLogicSequence$2(buffer, "or");
        }
      } else if (_this.scanIdentifier$1("not")) {
        t2._contents += "not ";
        _this.expectWhitespace$0();
        _this._mediaOrInterp$1(buffer);
      } else {
        t3 = _this._expressionUntilComparison$0();
        buffer._flushText$0();
        t4 = buffer._interpolation_buffer$_contents;
        t4.push(t3);
        if (t1.scanChar$1(58)) {
          _this.whitespace$0();
          t3 = A.Primitives_stringFromCharCode(58);
          t2._contents += t3;
          t3 = A.Primitives_stringFromCharCode(32);
          t2._contents += t3;
          t3 = _this._expression$0();
          buffer._flushText$0();
          t4.push(t3);
        } else {
          next = t1.peekChar$0();
          t3 = 60 !== next;
          if (!t3 || 62 === next || 61 === next) {
            t5 = A.Primitives_stringFromCharCode(32);
            t2._contents += t5;
            t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t2._contents += t5;
            if ((!t3 || 62 === next) && t1.scanChar$1(61)) {
              t5 = A.Primitives_stringFromCharCode(61);
              t2._contents += t5;
            }
            t5 = A.Primitives_stringFromCharCode(32);
            t2._contents += t5;
            _this.whitespace$0();
            t5 = _this._expressionUntilComparison$0();
            buffer._flushText$0();
            t4.push(t5);
            if (!t3 || 62 === next) {
              next.toString;
              t3 = t1.scanChar$1(next);
            } else
              t3 = false;
            if (t3) {
              t3 = A.Primitives_stringFromCharCode(32);
              t2._contents += t3;
              t3 = A.Primitives_stringFromCharCode(next);
              t2._contents += t3;
              if (t1.scanChar$1(61)) {
                t3 = A.Primitives_stringFromCharCode(61);
                t2._contents += t3;
              }
              t3 = A.Primitives_stringFromCharCode(32);
              t2._contents += t3;
              _this.whitespace$0();
              t3 = _this._expressionUntilComparison$0();
              buffer._flushText$0();
              t4.push(t3);
            }
          }
        }
      }
      t1.expectChar$1(41);
      _this.whitespace$0();
      t1 = A.Primitives_stringFromCharCode(41);
      t2._contents += t1;
    },
    _expressionUntilComparison$0() {
      return this._expression$1$until(new A.StylesheetParser__expressionUntilComparison_closure(this));
    },
    _supportsCondition$0() {
      var condition, operator, right, endPosition, t3, t4, lowerOperator, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      if (_this.scanIdentifier$1("not")) {
        _this.whitespace$0();
        return new A.SupportsNegation(_this._supportsConditionInParens$0(), t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
      }
      condition = _this._supportsConditionInParens$0();
      _this.whitespace$0();
      for (operator = null; _this.lookingAtIdentifier$0();) {
        if (operator != null)
          _this.expectIdentifier$1(operator);
        else if (_this.scanIdentifier$1("or"))
          operator = "or";
        else {
          _this.expectIdentifier$1("and");
          operator = "and";
        }
        _this.whitespace$0();
        right = _this._supportsConditionInParens$0();
        endPosition = t1._string_scanner$_position;
        t3 = t1._sourceFile;
        t4 = new A._FileSpan(t3, t2, endPosition);
        t4._FileSpan$3(t3, t2, endPosition);
        condition = new A.SupportsOperation(condition, right, operator, t4);
        lowerOperator = operator.toLowerCase();
        if (lowerOperator !== "and" && lowerOperator !== "or")
          A.throwExpression(A.ArgumentError$value(operator, "operator", 'may only be "and" or "or".'));
        _this.whitespace$0();
      }
      return condition;
    },
    _supportsConditionInParens$0() {
      var $name, nameStart, wasInParentheses, identifier, _1_0, operation, contents, identifier0, t2, $arguments, _0_0, _0_4_isSet, _0_4, condition, exception, declaration, _this = this, _null = null,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      if (_this._lookingAtInterpolatedIdentifier$0()) {
        identifier0 = _this.interpolatedIdentifier$0();
        t2 = identifier0.get$asPlain();
        if ((t2 == null ? _null : t2.toLowerCase()) === "not")
          _this.error$2(0, '"not" is not a valid identifier here.', identifier0.span);
        if (t1.scanChar$1(40)) {
          $arguments = _this._interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(true, true);
          t1.expectChar$1(41);
          return new A.SupportsFunction(identifier0, $arguments, t1.spanFrom$1(start));
        } else {
          _0_0 = identifier0.contents;
          _0_4_isSet = _0_0.length === 1;
          if (_0_4_isSet) {
            _0_4 = _0_0[0];
            t2 = _0_4;
            t2 = type$.Expression._is(t2);
          } else {
            _0_4 = _null;
            t2 = false;
          }
          if (t2) {
            t2 = _0_4_isSet ? _0_4 : _0_0[0];
            return new A.SupportsInterpolation(type$.Expression._as(t2), t1.spanFrom$1(start));
          } else
            _this.error$2(0, "Expected @supports condition.", identifier0.span);
        }
      }
      t1.expectChar$1(40);
      _this.whitespace$0();
      if (_this.scanIdentifier$1("not")) {
        _this.whitespace$0();
        condition = _this._supportsConditionInParens$0();
        t1.expectChar$1(41);
        return new A.SupportsNegation(condition, t1.spanFrom$1(start));
      } else if (t1.peekChar$0() === 40) {
        condition = _this._supportsCondition$0();
        t1.expectChar$1(41);
        return condition;
      }
      $name = null;
      nameStart = new A._SpanScannerState(t1, t1._string_scanner$_position);
      wasInParentheses = _this._inParentheses;
      try {
        $name = _this._expression$0();
        t1.expectChar$1(58);
      } catch (exception) {
        if (type$.FormatException._is(A.unwrapException(exception))) {
          t1.set$state(nameStart);
          _this._inParentheses = wasInParentheses;
          identifier = _this.interpolatedIdentifier$0();
          _1_0 = _this._trySupportsOperation$2(identifier, nameStart);
          operation = null;
          if (_1_0 != null) {
            operation = _1_0;
            t1.expectChar$1(41);
            return operation;
          }
          t2 = new A.InterpolationBuffer(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object));
          t2.addInterpolation$1(identifier);
          t2.addInterpolation$1(_this._interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(false, true, true));
          contents = t2.interpolation$1(t1.spanFrom$1(nameStart));
          if (t1.peekChar$0() === 58)
            throw exception;
          t1.expectChar$1(41);
          return new A.SupportsAnything(contents, t1.spanFrom$1(start));
        } else
          throw exception;
      }
      declaration = _this._supportsDeclarationValue$2($name, start);
      t1.expectChar$1(41);
      return declaration;
    },
    _supportsDeclarationValue$2($name, start) {
      var t1, value, _this = this;
      if ($name instanceof A.StringExpression)
        if (!$name.hasQuotes)
          t1 = B.JSString_methods.startsWith$1($name.text.get$initialPlain(), "--");
        else
          t1 = false;
      else
        t1 = false;
      if (t1)
        value = new A.StringExpression(_this._interpolatedDeclarationValue$0(), false);
      else {
        _this.whitespace$0();
        value = _this._expression$0();
      }
      return new A.SupportsDeclaration($name, value, _this.scanner.spanFrom$1(start));
    },
    _trySupportsOperation$2(interpolation, start) {
      var expression, beforeWhitespace, t2, t3, operator, operation, right, t4, endPosition, t5, t6, lowerOperator, _this = this, _null = null,
        t1 = interpolation.contents;
      if (t1.length !== 1)
        return _null;
      expression = B.JSArray_methods.get$first(t1);
      if (!type$.Expression._is(expression))
        return _null;
      t1 = _this.scanner;
      beforeWhitespace = new A._SpanScannerState(t1, t1._string_scanner$_position);
      _this.whitespace$0();
      for (t2 = start.position, t3 = interpolation.span, operator = _null, operation = operator; _this.lookingAtIdentifier$0();) {
        if (operator != null)
          _this.expectIdentifier$1(operator);
        else if (_this.scanIdentifier$1("and"))
          operator = "and";
        else {
          if (!_this.scanIdentifier$1("or")) {
            if (beforeWhitespace._scanner !== t1)
              A.throwExpression(A.ArgumentError$(string$.The_gi, _null));
            t2 = beforeWhitespace.position;
            if ((t2 === 0 ? 1 / t2 < 0 : t2 < 0) || t2 > t1.string.length)
              A.throwExpression(A.ArgumentError$("Invalid position " + t2, _null));
            t1._string_scanner$_position = t2;
            return t1._lastMatch = null;
          }
          operator = "or";
        }
        _this.whitespace$0();
        right = _this._supportsConditionInParens$0();
        t4 = operation == null ? new A.SupportsInterpolation(expression, t3) : operation;
        endPosition = t1._string_scanner$_position;
        t5 = t1._sourceFile;
        t6 = new A._FileSpan(t5, t2, endPosition);
        t6._FileSpan$3(t5, t2, endPosition);
        operation = new A.SupportsOperation(t4, right, operator, t6);
        lowerOperator = operator.toLowerCase();
        if (lowerOperator !== "and" && lowerOperator !== "or")
          A.throwExpression(A.ArgumentError$value(operator, "operator", 'may only be "and" or "or".'));
        _this.whitespace$0();
      }
      return operation;
    },
    _lookingAtInterpolatedIdentifier$0() {
      var _0_0,
        t1 = this.scanner,
        _1_0 = t1.peekChar$0();
      $label0$0: {
        if (_1_0 == null) {
          t1 = false;
          break $label0$0;
        }
        if (_1_0 === 95 || A.CharacterExtension_get_isAlphabetic(_1_0) || _1_0 >= 128 || 92 === _1_0) {
          t1 = true;
          break $label0$0;
        }
        if (35 === _1_0) {
          t1 = t1.peekChar$1(1) === 123;
          break $label0$0;
        }
        if (45 === _1_0) {
          _0_0 = t1.peekChar$1(1);
          $label1$1: {
            if (_0_0 == null) {
              t1 = false;
              break $label1$1;
            }
            if (35 === _0_0) {
              t1 = t1.peekChar$1(2) === 123;
              break $label1$1;
            }
            if (_0_0 === 95 || A.CharacterExtension_get_isAlphabetic(_0_0) || _0_0 >= 128 || 92 === _0_0 || 45 === _0_0) {
              t1 = true;
              break $label1$1;
            }
            t1 = false;
            break $label1$1;
          }
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    _lookingAtPotentialPropertyHack$0() {
      var t1 = this.scanner,
        _0_0 = t1.peekChar$0();
      $label0$0: {
        if (58 === _0_0 || 42 === _0_0 || 46 === _0_0) {
          t1 = true;
          break $label0$0;
        }
        if (35 === _0_0) {
          t1 = t1.peekChar$1(1) !== 123;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    _lookingAtInterpolatedIdentifierBody$0() {
      var t2,
        t1 = this.scanner,
        _0_0 = t1.peekChar$0();
      $label0$0: {
        if (_0_0 == null) {
          t1 = false;
          break $label0$0;
        }
        if (!(_0_0 === 95 || A.CharacterExtension_get_isAlphabetic(_0_0) || _0_0 >= 128))
          t2 = _0_0 >= 48 && _0_0 <= 57 || _0_0 === 45;
        else
          t2 = true;
        if (t2 || 92 === _0_0) {
          t1 = true;
          break $label0$0;
        }
        if (35 === _0_0) {
          t1 = t1.peekChar$1(1) === 123;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    _lookingAtExpression$0() {
      var _0_0,
        t1 = this.scanner,
        _1_0 = t1.peekChar$0();
      $label0$0: {
        if (_1_0 == null) {
          t1 = false;
          break $label0$0;
        }
        if (46 === _1_0) {
          t1 = t1.peekChar$1(1) !== 46;
          break $label0$0;
        }
        if (33 === _1_0) {
          _0_0 = t1.peekChar$1(1);
          $label1$1: {
            if (_0_0 != null)
              if (105 !== _0_0)
                if (73 !== _0_0)
                  t1 = _0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12;
                else
                  t1 = true;
              else
                t1 = true;
            else
              t1 = true;
            if (t1)
              break $label1$1;
            break $label1$1;
          }
          break $label0$0;
        }
        if (40 !== _1_0)
          if (47 !== _1_0)
            if (91 !== _1_0)
              if (39 !== _1_0)
                if (34 !== _1_0)
                  if (35 !== _1_0)
                    if (43 !== _1_0)
                      if (45 !== _1_0)
                        if (92 !== _1_0)
                          if (36 !== _1_0)
                            if (38 !== _1_0)
                              if (!(_1_0 === 95 || A.CharacterExtension_get_isAlphabetic(_1_0) || _1_0 >= 128))
                                t1 = _1_0 >= 48 && _1_0 <= 57;
                              else
                                t1 = true;
                            else
                              t1 = true;
                          else
                            t1 = true;
                        else
                          t1 = true;
                      else
                        t1 = true;
                    else
                      t1 = true;
                  else
                    t1 = true;
                else
                  t1 = true;
              else
                t1 = true;
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
        if (t1) {
          t1 = true;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    _withChildren$1$3(child, start, create) {
      var result = create.call$2(this.children$1(0, child), this.scanner.spanFrom$1(start));
      this.whitespaceWithoutComments$0();
      return result;
    },
    _withChildren$3(child, start, create) {
      return this._withChildren$1$3(child, start, create, type$.dynamic);
    },
    _urlString$0() {
      var innerError, stackTrace, t2, exception,
        t1 = this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        url = this.string$0();
      try {
        t2 = A.Uri_parse(url);
        return t2;
      } catch (exception) {
        t2 = A.unwrapException(exception);
        if (type$.FormatException._is(t2)) {
          innerError = t2;
          stackTrace = A.getTraceFromException(exception);
          this.error$3(0, "Invalid URL: " + J.get$message$x(innerError), t1.spanFrom$1(start), stackTrace);
        } else
          throw exception;
      }
    },
    _publicIdentifier$0() {
      var _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        result = _this.identifier$0();
      _this._assertPublic$2(result, new A.StylesheetParser__publicIdentifier_closure(_this, new A._SpanScannerState(t1, t2)));
      return result;
    },
    _assertPublic$2(identifier, span) {
      var first = identifier.charCodeAt(0);
      if (!(first === 45 || first === 95))
        return;
      this.error$2(0, string$.Privat, span.call$0());
    },
    get$plainCss() {
      return false;
    }
  };
  A.StylesheetParser_parse_closure.prototype = {
    call$0() {
      var statements, t4,
        t1 = this.$this,
        t2 = t1.scanner,
        t3 = t2._string_scanner$_position;
      t2.scanChar$1(65279);
      statements = t1.statements$1(new A.StylesheetParser_parse__closure(t1));
      t2.expectDone$0();
      t4 = t1._globalVariables.get$values(0);
      B.JSArray_methods.addAll$1(statements, A.MappedIterable_MappedIterable(t4, new A.StylesheetParser_parse__closure0(), A._instanceType(t4)._eval$1("Iterable.E"), type$.Statement));
      return A.Stylesheet$internal(statements, t2.spanFrom$1(new A._SpanScannerState(t2, t3)), t1.get$plainCss());
    },
    $signature: 461
  };
  A.StylesheetParser_parse__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1.scanner.scan$1("@charset")) {
        t1.whitespace$0();
        t1.string$0();
        return null;
      }
      return t1._statement$1$root(true);
    },
    $signature: 457
  };
  A.StylesheetParser_parse__closure0.prototype = {
    call$1(declaration) {
      var t1 = declaration.expression;
      return A.VariableDeclaration$(declaration.name, new A.NullExpression(t1.get$span(t1)), declaration.span, null, false, true, null);
    },
    $signature: 455
  };
  A.StylesheetParser_parseArgumentDeclaration_closure.prototype = {
    call$0() {
      var $arguments,
        t1 = this.$this,
        t2 = t1.scanner;
      t2.expectChar$2$name(64, "@-rule");
      t1.identifier$0();
      t1.whitespace$0();
      t1.identifier$0();
      $arguments = t1._argumentDeclaration$0();
      t1.whitespace$0();
      t2.expectChar$1(123);
      return $arguments;
    },
    $signature: 445
  };
  A.StylesheetParser_parseVariableDeclaration_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1.lookingAtIdentifier$0() ? t1._variableDeclarationWithNamespace$0() : t1.variableDeclarationWithoutNamespace$0();
    },
    $signature: 153
  };
  A.StylesheetParser_parseUseRule_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.scanner,
        t3 = t2._string_scanner$_position;
      t2.expectChar$2$name(64, "@-rule");
      t1.expectIdentifier$1("use");
      t1.whitespace$0();
      return t1._useRule$1(new A._SpanScannerState(t2, t3));
    },
    $signature: 443
  };
  A.StylesheetParser__parseSingleProduction_closure.prototype = {
    call$0() {
      var result = this.production.call$0();
      this.$this.scanner.expectDone$0();
      return result;
    },
    $signature() {
      return this.T._eval$1("0()");
    }
  };
  A.StylesheetParser__statement_closure.prototype = {
    call$0() {
      return this.$this._statement$0();
    },
    $signature: 127
  };
  A.StylesheetParser_variableDeclarationWithoutNamespace_closure.prototype = {
    call$0() {
      return this.$this.scanner.spanFrom$1(this.start);
    },
    $signature: 27
  };
  A.StylesheetParser_variableDeclarationWithoutNamespace_closure0.prototype = {
    call$0() {
      return this.declaration;
    },
    $signature: 153
  };
  A.StylesheetParser__styleRule_closure.prototype = {
    call$2(children, span) {
      var _this = this,
        t1 = _this.$this;
      if (t1.get$indented() && children.length === 0)
        t1.logger.warn$2$span(0, string$.This_s, _this._box_0.interpolation.span);
      t1._inStyleRule = _this.wasInStyleRule;
      return A.StyleRule$(_this._box_0.interpolation, children, t1.scanner.spanFrom$1(_this.start));
    },
    $signature: 438
  };
  A.StylesheetParser__tryDeclarationChildren_closure.prototype = {
    call$2(children, span) {
      return A.Declaration$nested(this.name, children, span, this.value);
    },
    $signature: 434
  };
  A.StylesheetParser__atRootRule_closure.prototype = {
    call$2(children, span) {
      return A.AtRootRule$(children, span, this.query);
    },
    $signature: 154
  };
  A.StylesheetParser__atRootRule_closure0.prototype = {
    call$2(children, span) {
      return A.AtRootRule$(children, span, null);
    },
    $signature: 154
  };
  A.StylesheetParser__eachRule_closure.prototype = {
    call$2(children, span) {
      var _this = this;
      _this.$this._inControlDirective = _this.wasInControlDirective;
      return A.EachRule$(_this.variables, _this.list, children, span);
    },
    $signature: 432
  };
  A.StylesheetParser__functionRule_closure.prototype = {
    call$2(children, span) {
      return A.FunctionRule$(this.name, this.$arguments, children, span, this.precedingComment);
    },
    $signature: 431
  };
  A.StylesheetParser__forRule_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (!t1.lookingAtIdentifier$0())
        return false;
      if (t1.scanIdentifier$1("to"))
        return this._box_0.exclusive = true;
      else if (t1.scanIdentifier$1("through")) {
        this._box_0.exclusive = false;
        return true;
      } else
        return false;
    },
    $signature: 22
  };
  A.StylesheetParser__forRule_closure0.prototype = {
    call$2(children, span) {
      var t1, _this = this;
      _this.$this._inControlDirective = _this.wasInControlDirective;
      t1 = _this._box_0.exclusive;
      t1.toString;
      return A.ForRule$(_this.variable, _this.from, _this.to, children, span, t1);
    },
    $signature: 427
  };
  A.StylesheetParser__memberList_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1.scanner.peekChar$0() === 36)
        this.variables.add$1(0, t1.variableName$0());
      else
        this.identifiers.add$1(0, t1.identifier$1$normalize(true));
    },
    $signature: 1
  };
  A.StylesheetParser__includeRule_closure.prototype = {
    call$2(children, span) {
      return A.ContentBlock$(this.contentArguments_, children, span);
    },
    $signature: 426
  };
  A.StylesheetParser_mediaRule_closure.prototype = {
    call$2(children, span) {
      return A.MediaRule$(this.query, children, span);
    },
    $signature: 422
  };
  A.StylesheetParser__mixinRule_closure.prototype = {
    call$2(children, span) {
      var _this = this;
      _this.$this._stylesheet$_inMixin = false;
      return A.MixinRule$(_this.name, _this.$arguments, children, span, _this.precedingComment);
    },
    $signature: 419
  };
  A.StylesheetParser_mozDocumentRule_closure.prototype = {
    call$2(children, span) {
      var _this = this;
      if (_this._box_0.needsDeprecationWarning)
        A.WarnForDeprecation_warnForDeprecation(_this.$this.logger, B.Deprecation_uNF, string$.x40_moz_, span, null);
      return A.AtRule$(_this.name, span, children, _this.value);
    },
    $signature: 155
  };
  A.StylesheetParser_supportsRule_closure.prototype = {
    call$2(children, span) {
      return A.SupportsRule$(this.condition, children, span);
    },
    $signature: 418
  };
  A.StylesheetParser__whileRule_closure.prototype = {
    call$2(children, span) {
      this.$this._inControlDirective = this.wasInControlDirective;
      return A.WhileRule$(this.condition, children, span);
    },
    $signature: 415
  };
  A.StylesheetParser_unknownAtRule_closure.prototype = {
    call$2(children, span) {
      return A.AtRule$(this.name, span, children, this._box_0.value);
    },
    $signature: 155
  };
  A.StylesheetParser__expression_resetState.prototype = {
    call$0() {
      var t2,
        t1 = this._box_0;
      t1.operands_ = t1.operators_ = t1.spaceExpressions_ = t1.commaExpressions_ = null;
      t2 = this.$this;
      t2.scanner.set$state(this.start);
      t1.allowSlash = true;
      t1.singleExpression_ = t2._singleExpression$0();
    },
    $signature: 0
  };
  A.StylesheetParser__expression_resolveOneOperation.prototype = {
    call$0() {
      var t2, t3, t4, t5, t6, t7, _this = this,
        t1 = _this._box_0,
        operator = t1.operators_.pop(),
        left = t1.operands_.pop(),
        right = t1.singleExpression_;
      if (right == null) {
        t2 = _this.$this.scanner;
        t3 = operator.operator.length;
        t2.error$3$length$position(0, "Expected expression.", t3, t2._string_scanner$_position - t3);
      }
      if (t1.allowSlash) {
        t2 = _this.$this;
        t2 = !t2._inParentheses && operator === B.BinaryOperator_U77 && t2._isSlashOperand$1(left) && t2._isSlashOperand$1(right);
      } else
        t2 = false;
      if (t2)
        t1.singleExpression_ = new A.BinaryOperationExpression(B.BinaryOperator_U77, left, right, true);
      else {
        t1.singleExpression_ = new A.BinaryOperationExpression(operator, left, right, false);
        t2 = t1.allowSlash = false;
        if (B.BinaryOperator_u15 === operator || B.BinaryOperator_SjO === operator) {
          t3 = _this.$this;
          t4 = t3.scanner.string;
          t5 = right.get$span(right);
          t5 = t5.get$start(t5);
          t6 = right.get$span(right);
          t7 = operator.operator;
          if (B.JSString_methods.substring$2(t4, t5.offset - 1, t6.get$start(t6).offset) === t7) {
            t2 = left.get$span(left);
            t2 = t4.charCodeAt(t2.get$end(t2).offset);
            t2 = t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12;
          }
          if (t2) {
            t2 = left.toString$0(0);
            t4 = right.toString$0(0);
            t5 = left.toString$0(0);
            t6 = right.toString$0(0);
            t1 = t1.singleExpression_;
            A.WarnForDeprecation_warnForDeprecation(t3.logger, B.Deprecation_2Vk, "This operation is parsed as:\n\n    " + t2 + " " + t7 + " " + t4 + string$.x0a_but_ + t5 + " (" + t7 + t6 + ")\n\nAdd a space after " + t7 + string$.x20to_cl, t1.get$span(t1), null);
          }
        }
      }
    },
    $signature: 0
  };
  A.StylesheetParser__expression_resolveOperations.prototype = {
    call$0() {
      var t1,
        operators = this._box_0.operators_;
      if (operators == null)
        return;
      for (t1 = this.resolveOneOperation; operators.length !== 0;)
        t1.call$0();
    },
    $signature: 0
  };
  A.StylesheetParser__expression_addSingleExpression.prototype = {
    call$1(expression) {
      var t2, spaceExpressions, _this = this,
        t1 = _this._box_0;
      if (t1.singleExpression_ != null) {
        t2 = _this.$this;
        if (t2._inParentheses) {
          t2._inParentheses = false;
          if (t1.allowSlash) {
            _this.resetState.call$0();
            return;
          }
        }
        spaceExpressions = t1.spaceExpressions_;
        if (spaceExpressions == null)
          spaceExpressions = t1.spaceExpressions_ = A._setArrayType([], type$.JSArray_Expression);
        _this.resolveOperations.call$0();
        t2 = t1.singleExpression_;
        t2.toString;
        spaceExpressions.push(t2);
        t1.allowSlash = true;
      }
      t1.singleExpression_ = expression;
    },
    $signature: 414
  };
  A.StylesheetParser__expression_addOperator.prototype = {
    call$1(operator) {
      var t2, t3, operators, operands, t4, singleExpression,
        t1 = this.$this;
      if (t1.get$plainCss() && operator !== B.BinaryOperator_wdM && operator !== B.BinaryOperator_u15 && operator !== B.BinaryOperator_SjO && operator !== B.BinaryOperator_2No && operator !== B.BinaryOperator_U77) {
        t2 = t1.scanner;
        t3 = operator.operator.length;
        t2.error$3$length$position(0, "Operators aren't allowed in plain CSS.", t3, t2._string_scanner$_position - t3);
      }
      t2 = this._box_0;
      t2.allowSlash = t2.allowSlash && operator === B.BinaryOperator_U77;
      operators = t2.operators_;
      if (operators == null)
        operators = t2.operators_ = A._setArrayType([], type$.JSArray_BinaryOperator);
      operands = t2.operands_;
      if (operands == null)
        operands = t2.operands_ = A._setArrayType([], type$.JSArray_Expression);
      t3 = this.resolveOneOperation;
      t4 = operator.precedence;
      while (true) {
        if (!(operators.length !== 0 && B.JSArray_methods.get$last(operators).precedence >= t4))
          break;
        t3.call$0();
      }
      operators.push(operator);
      singleExpression = t2.singleExpression_;
      if (singleExpression == null) {
        t3 = t1.scanner;
        t4 = operator.operator.length;
        t3.error$3$length$position(0, "Expected expression.", t4, t3._string_scanner$_position - t4);
      }
      operands.push(singleExpression);
      t1.whitespace$0();
      t2.singleExpression_ = t1._singleExpression$0();
    },
    $signature: 400
  };
  A.StylesheetParser__expression_resolveSpaceExpressions.prototype = {
    call$0() {
      var t1, spaceExpressions, singleExpression, t2;
      this.resolveOperations.call$0();
      t1 = this._box_0;
      spaceExpressions = t1.spaceExpressions_;
      if (spaceExpressions == null)
        return;
      singleExpression = t1.singleExpression_;
      if (singleExpression == null)
        this.$this.scanner.error$1(0, "Expected expression.");
      spaceExpressions.push(singleExpression);
      t2 = B.JSArray_methods.get$first(spaceExpressions);
      t2 = t2.get$span(t2).expand$1(0, singleExpression.get$span(singleExpression));
      t1.singleExpression_ = new A.ListExpression(A.List_List$unmodifiable(spaceExpressions, type$.Expression), B.ListSeparator_nbm, false, t2);
      t1.spaceExpressions_ = null;
    },
    $signature: 0
  };
  A.StylesheetParser_expressionUntilComma_closure.prototype = {
    call$0() {
      return this.$this.scanner.peekChar$0() === 44;
    },
    $signature: 22
  };
  A.StylesheetParser__isHexColor_closure.prototype = {
    call$1(char) {
      return A.CharacterExtension_get_isHex(char);
    },
    $signature: 45
  };
  A.StylesheetParser__unicodeRange_closure.prototype = {
    call$1(char) {
      return char != null && A.CharacterExtension_get_isHex(char);
    },
    $signature: 30
  };
  A.StylesheetParser__unicodeRange_closure0.prototype = {
    call$1(char) {
      return char != null && A.CharacterExtension_get_isHex(char);
    },
    $signature: 30
  };
  A.StylesheetParser_namespacedExpression_closure.prototype = {
    call$0() {
      return this.$this.scanner.spanFrom$1(this.start);
    },
    $signature: 27
  };
  A.StylesheetParser_trySpecialFunction_closure.prototype = {
    call$1(contents) {
      return new A.StringExpression(contents, false);
    },
    $signature: 394
  };
  A.StylesheetParser__expressionUntilComparison_closure.prototype = {
    call$0() {
      var t1 = this.$this.scanner,
        _0_0 = t1.peekChar$0();
      $label0$0: {
        if (61 === _0_0) {
          t1 = t1.peekChar$1(1) !== 61;
          break $label0$0;
        }
        if (60 === _0_0 || 62 === _0_0) {
          t1 = true;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    $signature: 22
  };
  A.StylesheetParser__publicIdentifier_closure.prototype = {
    call$0() {
      return this.$this.scanner.spanFrom$1(this.start);
    },
    $signature: 27
  };
  A.StylesheetGraph.prototype = {
    modifiedSince$3(url, since, baseImporter) {
      var node = this._stylesheet_graph$_add$3(url, baseImporter, null);
      if (node == null)
        return true;
      return new A.StylesheetGraph_modifiedSince_transitiveModificationTime(this).call$1(node)._value > since._value;
    },
    _stylesheet_graph$_add$3(url, baseImporter, baseUrl) {
      var importer, canonicalUrl, _this = this,
        result = _this._ignoreErrors$1(new A.StylesheetGraph__add_closure(_this, url, baseImporter, baseUrl));
      if (type$.Record_3_nullable_Object_and_nullable_Object_and_nullable_Object_originalUrl._is(result)) {
        importer = result._0;
        canonicalUrl = result._1;
        _this.addCanonical$3(importer, canonicalUrl, result._2);
        return _this._nodes.$index(0, canonicalUrl);
      } else
        return null;
    },
    addCanonical$4$recanonicalize(importer, canonicalUrl, originalUrl, recanonicalize) {
      var stylesheet, _this = this,
        t1 = _this._nodes;
      if (t1.$index(0, canonicalUrl) != null)
        return B.Set_empty3;
      stylesheet = _this._ignoreErrors$1(new A.StylesheetGraph_addCanonical_closure(_this, importer, canonicalUrl, originalUrl));
      if (stylesheet == null)
        return B.Set_empty3;
      t1.$indexSet(0, canonicalUrl, A.StylesheetNode$_(stylesheet, importer, canonicalUrl, _this._upstreamNodes$3(stylesheet, importer, canonicalUrl)));
      return recanonicalize ? _this._recanonicalizeImports$2(importer, canonicalUrl) : B.Set_empty3;
    },
    addCanonical$3(importer, canonicalUrl, originalUrl) {
      return this.addCanonical$4$recanonicalize(importer, canonicalUrl, originalUrl, true);
    },
    _upstreamNodes$3(stylesheet, baseImporter, baseUrl) {
      var t6, t7, t8, t9, t10,
        t1 = type$.Uri,
        active = A.LinkedHashSet_LinkedHashSet$_literal([baseUrl], t1),
        t2 = A.LinkedHashSet_LinkedHashSet$_empty(t1),
        t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1),
        t4 = A.LinkedHashSet_LinkedHashSet$_empty(t1),
        t5 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      new A._FindDependenciesVisitor(t2, t3, t4, t5, A.LinkedHashSet_LinkedHashSet$_empty(type$.nullable_String)).visitChildren$1(stylesheet.children);
      t6 = type$.UnmodifiableSetView_Uri;
      t2 = new A.UnmodifiableSetView0(t2, t6);
      t3 = new A.UnmodifiableSetView0(t3, t6);
      t4 = new A.UnmodifiableSetView0(t4, t6);
      t7 = type$.nullable_StylesheetNode;
      t8 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t7);
      for (t9 = new A.UnionSet(A.LinkedHashSet_LinkedHashSet$_literal([t2, t3, t4], type$.Set_Uri), type$.UnionSet_Uri).get$_union_set$_iterable(), t9 = t9.get$iterator(t9); t9.moveNext$0();) {
        t10 = t9.get$current(t9);
        t8.$indexSet(0, t10, this._nodeFor$4(t10, baseImporter, baseUrl, active));
      }
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t7);
      for (t2 = new A.DependencyReport(t2, t3, t4, new A.UnmodifiableSetView0(t5, t6)).imports._base.get$iterator(0); t2.moveNext$0();) {
        t3 = t2.get$current(0);
        t1.$indexSet(0, t3, this._nodeFor$5$forImport(t3, baseImporter, baseUrl, active, true));
      }
      return new A._Record_2_imports_modules(t1, t8);
    },
    reload$1(canonicalUrl) {
      var stylesheet, upstream, _this = this,
        node = _this._nodes.$index(0, canonicalUrl);
      if (node == null)
        throw A.wrapException(A.StateError$(canonicalUrl.toString$0(0) + " is not in the dependency graph."));
      _this._transitiveModificationTimes.clear$0(0);
      _this.importCache.clearImport$1(canonicalUrl);
      stylesheet = _this._ignoreErrors$1(new A.StylesheetGraph_reload_closure(_this, node, canonicalUrl));
      if (stylesheet == null)
        return false;
      node._stylesheet = stylesheet;
      upstream = _this._upstreamNodes$3(stylesheet, node.importer, canonicalUrl);
      node._replaceUpstream$2(upstream._1, upstream._0);
      return true;
    },
    _recanonicalizeImports$2(importer, canonicalUrl) {
      var t1, t2, t3, t4, t5, newUpstream, newUpstreamImports, _this = this,
        changed = A.LinkedHashSet_LinkedHashSet$_empty(type$.StylesheetNode);
      for (t1 = _this._nodes.get$values(0).get$iterator(0), t2 = type$.UnmodifiableMapView_of_Uri_and_nullable_StylesheetNode, t3 = type$.Uri, t4 = type$.nullable_StylesheetNode; t1.moveNext$0();) {
        t5 = t1.get$current(0);
        newUpstream = _this._recanonicalizeImportsForNode$4$forImport(t5, importer, canonicalUrl, false);
        newUpstreamImports = _this._recanonicalizeImportsForNode$4$forImport(t5, importer, canonicalUrl, true);
        if (newUpstream.__js_helper$_length !== 0 || newUpstreamImports.__js_helper$_length !== 0) {
          changed.add$1(0, t5);
          t5._replaceUpstream$2(A.mergeMaps(new A.UnmodifiableMapView(t5._upstream, t2), newUpstream, t3, t4), A.mergeMaps(new A.UnmodifiableMapView(t5._upstreamImports, t2), newUpstreamImports, t3, t4));
        }
      }
      if (changed._collection$_length !== 0)
        _this._transitiveModificationTimes.clear$0(0);
      return changed;
    },
    _recanonicalizeImportsForNode$4$forImport(node, importer, canonicalUrl, forImport) {
      var url, result, t2, newMap, t3, t4, t5, t6, upstream, exception, newCanonicalUrl,
        t1 = type$.UnmodifiableMapView_of_Uri_and_nullable_StylesheetNode,
        map = forImport ? new A.UnmodifiableMapView(node._upstreamImports, t1) : new A.UnmodifiableMapView(node._upstream, t1);
      t1 = type$.Uri;
      t2 = type$.nullable_StylesheetNode;
      newMap = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      for (t1 = A.MapExtensions_get_pairs(map, t1, t2), t1 = t1.get$iterator(t1), t2 = this._nodes, t3 = this.importCache, t4 = node.importer, t5 = node.canonicalUrl; t1.moveNext$0();) {
        t6 = t1.get$current(t1);
        url = null;
        url = t6._0;
        upstream = t6._1;
        if (!importer.couldCanonicalize$2(url, canonicalUrl))
          continue;
        t3.clearCanonicalize$1(url);
        result = null;
        try {
          result = t3.canonicalize$4$baseImporter$baseUrl$forImport(0, url, t4, t5, forImport);
        } catch (exception) {
        }
        t6 = result;
        newCanonicalUrl = t6 == null ? null : t6._1;
        if (J.$eq$(newCanonicalUrl, upstream == null ? null : upstream.canonicalUrl))
          continue;
        t6 = url;
        newMap.$indexSet(0, t6, result == null ? null : t2.$index(0, newCanonicalUrl));
      }
      return newMap;
    },
    _nodeFor$5$forImport(url, baseImporter, baseUrl, active, forImport) {
      var canonicalUrl, t2, _1_0, stylesheet, t3, t4, node, _this = this, t1 = {},
        result = _this._ignoreErrors$1(new A.StylesheetGraph__nodeFor_closure(_this, url, baseImporter, baseUrl, forImport));
      if (result == null)
        return null;
      t1.originalUrl = t1.canonicalUrl = t1.importer = null;
      t1.importer = result._0;
      canonicalUrl = t1.canonicalUrl = result._1;
      t1.originalUrl = result._2;
      t2 = _this._nodes;
      _1_0 = t2.$index(0, canonicalUrl);
      if (_1_0 != null)
        return _1_0;
      if (active.contains$1(0, canonicalUrl))
        return null;
      stylesheet = _this._ignoreErrors$1(new A.StylesheetGraph__nodeFor_closure0(t1, _this));
      if (stylesheet == null)
        return null;
      active.add$1(0, t1.canonicalUrl);
      t3 = t1.importer;
      t4 = t1.canonicalUrl;
      node = A.StylesheetNode$_(stylesheet, t3, t4, _this._upstreamNodes$3(stylesheet, t3, t4));
      active.remove$1(0, t1.canonicalUrl);
      t2.$indexSet(0, t1.canonicalUrl, node);
      return node;
    },
    _nodeFor$4(url, baseImporter, baseUrl, active) {
      return this._nodeFor$5$forImport(url, baseImporter, baseUrl, active, false);
    },
    _ignoreErrors$1$1(callback) {
      var t1, exception;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        return null;
      }
    },
    _ignoreErrors$1(callback) {
      return this._ignoreErrors$1$1(callback, type$.dynamic);
    }
  };
  A.StylesheetGraph_modifiedSince_transitiveModificationTime.prototype = {
    call$1(node) {
      return this.$this._transitiveModificationTimes.putIfAbsent$2(node.canonicalUrl, new A.StylesheetGraph_modifiedSince_transitiveModificationTime_closure(node, this));
    },
    $signature: 393
  };
  A.StylesheetGraph_modifiedSince_transitiveModificationTime_closure.prototype = {
    call$0() {
      var t2, t3, upstreamTime,
        t1 = this.node,
        latest = t1.importer.modificationTime$1(t1.canonicalUrl);
      for (t1 = t1._upstream.get$values(0).followedBy$1(0, t1._upstreamImports.get$values(0)), t1 = new A.FollowedByIterator(J.get$iterator$ax(t1.__internal$_first), t1._second), t2 = this.transitiveModificationTime; t1.moveNext$0();) {
        t3 = t1._currentIterator;
        t3 = t3.get$current(t3);
        upstreamTime = t3 == null ? new A.DateTime(Date.now(), false) : t2.call$1(t3);
        if (upstreamTime._value > latest._value)
          latest = upstreamTime;
      }
      return latest;
    },
    $signature: 148
  };
  A.StylesheetGraph__add_closure.prototype = {
    call$0() {
      var _this = this;
      return _this.$this.importCache.canonicalize$3$baseImporter$baseUrl(0, _this.url, _this.baseImporter, _this.baseUrl);
    },
    $signature: 122
  };
  A.StylesheetGraph_addCanonical_closure.prototype = {
    call$0() {
      var _this = this;
      return _this.$this.importCache.importCanonical$3$originalUrl(_this.importer, _this.canonicalUrl, _this.originalUrl);
    },
    $signature: 81
  };
  A.StylesheetGraph_reload_closure.prototype = {
    call$0() {
      return this.$this.importCache.importCanonical$2(this.node.importer, this.canonicalUrl);
    },
    $signature: 81
  };
  A.StylesheetGraph__nodeFor_closure.prototype = {
    call$0() {
      var _this = this;
      return _this.$this.importCache.canonicalize$4$baseImporter$baseUrl$forImport(0, _this.url, _this.baseImporter, _this.baseUrl, _this.forImport);
    },
    $signature: 122
  };
  A.StylesheetGraph__nodeFor_closure0.prototype = {
    call$0() {
      var t1 = this._box_0;
      return this.$this.importCache.importCanonical$3$originalUrl(t1.importer, t1.canonicalUrl, t1.originalUrl);
    },
    $signature: 81
  };
  A.StylesheetNode.prototype = {
    StylesheetNode$_$4(_stylesheet, importer, canonicalUrl, allUpstream) {
      var t1, t2;
      for (t1 = this._upstream.get$values(0).followedBy$1(0, this._upstreamImports.get$values(0)), t1 = new A.FollowedByIterator(J.get$iterator$ax(t1.__internal$_first), t1._second); t1.moveNext$0();) {
        t2 = t1._currentIterator;
        t2 = t2.get$current(t2);
        if (t2 != null)
          t2._downstream.add$1(0, this);
      }
    },
    _replaceUpstream$2(newUpstream, newUpstreamImports) {
      var t3, oldUpstream, newUpstreamSet, _this = this,
        t1 = type$.nullable_StylesheetNode,
        t2 = A.LinkedHashSet_LinkedHashSet$of(_this._upstream.get$values(0), t1);
      t2.addAll$1(0, _this._upstreamImports.get$values(0));
      t3 = type$.StylesheetNode;
      oldUpstream = A.SetExtension_removeNull(t2, t3);
      t1 = A.LinkedHashSet_LinkedHashSet$of(newUpstream.get$values(0), t1);
      t1.addAll$1(0, newUpstreamImports.get$values(0));
      newUpstreamSet = A.SetExtension_removeNull(t1, t3);
      for (t1 = oldUpstream.difference$1(newUpstreamSet), t1 = t1.get$iterator(t1); t1.moveNext$0();)
        t1.get$current(t1)._downstream.remove$1(0, _this);
      for (t1 = newUpstreamSet.difference$1(oldUpstream), t1 = t1.get$iterator(t1); t1.moveNext$0();)
        t1.get$current(t1)._downstream.add$1(0, _this);
      _this._upstream = newUpstream;
      _this._upstreamImports = newUpstreamImports;
    },
    _stylesheet_graph$_remove$0() {
      var t1, t2, t3, t4, _i, url, _this = this;
      for (t1 = A.LinkedHashSet_LinkedHashSet$of(_this._upstream.get$values(0), type$.nullable_StylesheetNode), t1.addAll$1(0, _this._upstreamImports.get$values(0)), t1 = A._LinkedHashSetIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        if (t3 == null)
          continue;
        t3._downstream.remove$1(0, _this);
      }
      for (t1 = _this._downstream.get$iterator(0); t1.moveNext$0();) {
        t2 = t1.get$current(0);
        for (t3 = t2._upstream, t4 = A._instanceType(t3)._eval$1("LinkedHashMapKeyIterable<1>"), t4 = A.List_List$of(new A.LinkedHashMapKeyIterable(t3, t4), true, t4._eval$1("Iterable.E")), t3 = t4.length, _i = 0; _i < t3; ++_i) {
          url = t4[_i];
          if (J.$eq$(t2._upstream.$index(0, url), _this)) {
            t2._upstream.$indexSet(0, url, null);
            break;
          }
        }
        for (t3 = t2._upstreamImports, t4 = A._instanceType(t3)._eval$1("LinkedHashMapKeyIterable<1>"), t4 = A.List_List$of(new A.LinkedHashMapKeyIterable(t3, t4), true, t4._eval$1("Iterable.E")), t3 = t4.length, _i = 0; _i < t3; ++_i) {
          url = t4[_i];
          if (J.$eq$(t2._upstreamImports.$index(0, url), _this)) {
            t2._upstreamImports.$indexSet(0, url, null);
            break;
          }
        }
      }
    },
    toString$0(_) {
      var t1 = this._stylesheet.span;
      t1 = A.NullableExtension_andThen(t1.get$sourceUrl(t1), A.path__prettyUri$closure());
      return t1 == null ? "" : t1;
    }
  };
  A.Syntax.prototype = {
    _enumToString$0() {
      return "Syntax." + this._name;
    },
    toString$0(_) {
      return this._syntax$_name;
    }
  };
  A.Box.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return this.$ti._is(other) && other._box$_inner === this._box$_inner;
    },
    get$hashCode(_) {
      return A.Primitives_objectHashCode(this._box$_inner);
    }
  };
  A.ModifiableBox.prototype = {};
  A.LazyFileSpan.prototype = {
    get$span(_) {
      var t1 = this._lazy_file_span$_span;
      return t1 == null ? this._lazy_file_span$_span = this._builder.call$0() : t1;
    },
    compareTo$1(_, other) {
      return this.get$span(0).compareTo$1(0, other);
    },
    get$context(_) {
      var t1 = this.get$span(0);
      return t1.get$context(t1);
    },
    get$end(_) {
      var t1 = this.get$span(0);
      return t1.get$end(t1);
    },
    expand$1(_, other) {
      return this.get$span(0).expand$1(0, other);
    },
    get$file(_) {
      var t1 = this.get$span(0);
      return t1.get$file(t1);
    },
    highlight$1$color(color) {
      return this.get$span(0).highlight$1$color(color);
    },
    get$length(_) {
      var t1 = this.get$span(0);
      return t1.get$length(t1);
    },
    message$2$color(_, message, color) {
      return this.get$span(0).message$2$color(0, message, color);
    },
    message$1(_, message) {
      return this.message$2$color(0, message, null);
    },
    get$sourceUrl(_) {
      var t1 = this.get$span(0);
      return t1.get$sourceUrl(t1);
    },
    get$start(_) {
      var t1 = this.get$span(0);
      return t1.get$start(t1);
    },
    get$text() {
      return this.get$span(0).get$text();
    },
    $isComparable: 1,
    $isFileSpan: 1,
    $isSourceSpan: 1,
    $isSourceSpanWithContext: 1
  };
  A.LimitedMapView.prototype = {
    get$keys(_) {
      return this._limited_map_view$_keys;
    },
    get$length(_) {
      return this._limited_map_view$_keys._collection$_length;
    },
    get$isEmpty(_) {
      return this._limited_map_view$_keys._collection$_length === 0;
    },
    get$isNotEmpty(_) {
      return this._limited_map_view$_keys._collection$_length !== 0;
    },
    $index(_, key) {
      return this._limited_map_view$_keys.contains$1(0, key) ? this._limited_map_view$_map.$index(0, key) : null;
    },
    containsKey$1(key) {
      return this._limited_map_view$_keys.contains$1(0, key);
    },
    remove$1(_, key) {
      return this._limited_map_view$_keys.contains$1(0, key) ? this._limited_map_view$_map.remove$1(0, key) : null;
    }
  };
  A.MapExtensions_get_pairs_closure.prototype = {
    call$1(e) {
      return new A._Record_2(e.key, e.value);
    },
    $signature() {
      return this.K._eval$1("@<0>")._bind$1(this.V)._eval$1("+(1,2)(MapEntry<1,2>)");
    }
  };
  A.MergedMapView.prototype = {
    get$keys(_) {
      var t1 = this._mapsByKey;
      return new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"));
    },
    get$length(_) {
      return this._mapsByKey.__js_helper$_length;
    },
    get$isEmpty(_) {
      return this._mapsByKey.__js_helper$_length === 0;
    },
    get$isNotEmpty(_) {
      return this._mapsByKey.__js_helper$_length !== 0;
    },
    MergedMapView$1(maps, $K, $V) {
      var t1, t2, t3, _i, map, t4, t5, t6;
      for (t1 = maps.length, t2 = this._mapsByKey, t3 = $K._eval$1("@<0>")._bind$1($V)._eval$1("MergedMapView<1,2>"), _i = 0; _i < maps.length; maps.length === t1 || (0, A.throwConcurrentModificationError)(maps), ++_i) {
        map = maps[_i];
        if (t3._is(map))
          for (t4 = map._mapsByKey.get$values(0), t5 = A._instanceType(t4), t5 = t5._eval$1("@<1>")._bind$1(t5._rest[1]), t4 = new A.MappedIterator(J.get$iterator$ax(t4.__internal$_iterable), t4._f, t5._eval$1("MappedIterator<1,2>")), t5 = t5._rest[1]; t4.moveNext$0();) {
            t6 = t4.__internal$_current;
            if (t6 == null)
              t6 = t5._as(t6);
            A.setAll(t2, t6.get$keys(t6), t6);
          }
        else
          A.setAll(t2, map.get$keys(map), map);
      }
    },
    $index(_, key) {
      var t1 = this._mapsByKey.$index(0, this.$ti._precomputed1._as(key));
      return t1 == null ? null : t1.$index(0, key);
    },
    $indexSet(_, key, value) {
      var _0_0 = this._mapsByKey.$index(0, key);
      if (_0_0 != null)
        _0_0.$indexSet(0, key, value);
      else
        throw A.wrapException(A.UnsupportedError$(string$.New_en));
    },
    remove$1(_, key) {
      throw A.wrapException(A.UnsupportedError$(string$.Entrie));
    },
    containsKey$1(key) {
      return this._mapsByKey.containsKey$1(key);
    }
  };
  A.MultiDirWatcher.prototype = {
    watch$1(_, directory) {
      var t1, t2, t3, t4, isParentOfExistingDir, _i, t5, _0_1, existingWatcher, future, completer;
      for (t1 = this._watchers, t2 = A.MapExtensions_get_pairs(t1, type$.nullable_String, type$.Stream_WatchEvent).toList$0(0), t3 = t2.length, t1 = t1._map, t4 = this._group, isParentOfExistingDir = false, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        t5 = t2[_i];
        _0_1 = t5._0;
        _0_1.toString;
        existingWatcher = t5._1;
        if (!isParentOfExistingDir) {
          t5 = $.$get$context();
          t5 = t5._isWithinOrEquals$2(_0_1, directory) === B._PathRelation_equal || t5._isWithinOrEquals$2(_0_1, directory) === B._PathRelation_within;
        } else
          t5 = false;
        if (t5) {
          t1 = new A._Future($.Zone__current, type$._Future_void);
          t1._asyncComplete$1(null);
          return t1;
        }
        if ($.$get$context()._isWithinOrEquals$2(directory, _0_1) === B._PathRelation_within) {
          t1.remove$1(0, _0_1);
          t4.remove$1(0, existingWatcher);
          isParentOfExistingDir = true;
        }
      }
      future = A.watchDir(directory, this._poll);
      t2 = new A._CompleterStream(type$._CompleterStream_WatchEvent);
      completer = new A.StreamCompleter(t2, type$.StreamCompleter_WatchEvent);
      future.then$1$2$onError(0, completer.get$setSourceStream(), completer.get$setError(), type$.void);
      t1.$indexSet(0, directory, t2);
      t4.add$1(0, t2);
      return future;
    }
  };
  A.MultiSpan.prototype = {
    get$start(_) {
      var t1 = this._multi_span$_primary;
      return t1.get$start(t1);
    },
    get$end(_) {
      var t1 = this._multi_span$_primary;
      return t1.get$end(t1);
    },
    get$text() {
      return this._multi_span$_primary.get$text();
    },
    get$context(_) {
      var t1 = this._multi_span$_primary;
      return t1.get$context(t1);
    },
    get$file(_) {
      var t1 = this._multi_span$_primary;
      return t1.get$file(t1);
    },
    get$length(_) {
      var t1 = this._multi_span$_primary;
      return t1.get$length(t1);
    },
    get$sourceUrl(_) {
      var t1 = this._multi_span$_primary;
      return t1.get$sourceUrl(t1);
    },
    compareTo$1(_, other) {
      return this._multi_span$_primary.compareTo$1(0, other);
    },
    toString$0(_) {
      return this._multi_span$_primary.toString$0(0);
    },
    expand$1(_, other) {
      return new A.MultiSpan(this._multi_span$_primary.expand$1(0, other), this.primaryLabel, this.secondarySpans);
    },
    highlight$1$color(color) {
      return A.Highlighter$multiple(this._multi_span$_primary, this.primaryLabel, this.secondarySpans, color === true, null, null).highlight$0();
    },
    message$2$color(_, message, color) {
      var t1 = J.$eq$(color, true) || typeof color == "string",
        t2 = typeof color == "string" ? color : null;
      return A.SourceSpanExtension_messageMultiple(this._multi_span$_primary, message, this.primaryLabel, this.secondarySpans, t1, t2, null);
    },
    message$1(_, message) {
      return this.message$2$color(0, message, null);
    },
    $isComparable: 1,
    $isFileSpan: 1,
    $isSourceSpan: 1,
    $isSourceSpanWithContext: 1
  };
  A.NoSourceMapBuffer.prototype = {
    get$length(_) {
      return this._no_source_map_buffer$_buffer._contents.length;
    },
    forSpan$1$2(span, callback) {
      return callback.call$0();
    },
    forSpan$2(span, callback) {
      return this.forSpan$1$2(span, callback, type$.dynamic);
    },
    write$1(_, object) {
      var t1 = this._no_source_map_buffer$_buffer,
        t2 = A.S(object);
      t1._contents += t2;
      return null;
    },
    writeCharCode$1(charCode) {
      var t1 = this._no_source_map_buffer$_buffer,
        t2 = A.Primitives_stringFromCharCode(charCode);
      t1._contents += t2;
      return null;
    },
    toString$0(_) {
      var t1 = this._no_source_map_buffer$_buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    buildSourceMap$1$prefix(prefix) {
      return A.throwExpression(A.UnsupportedError$(string$.NoSour));
    }
  };
  A.PrefixedMapView.prototype = {
    get$keys(_) {
      return new A._PrefixedKeys(this);
    },
    get$length(_) {
      var t1 = this._prefixed_map_view$_map;
      return t1.get$length(t1);
    },
    get$isEmpty(_) {
      var t1 = this._prefixed_map_view$_map;
      return t1.get$isEmpty(t1);
    },
    get$isNotEmpty(_) {
      var t1 = this._prefixed_map_view$_map;
      return t1.get$isNotEmpty(t1);
    },
    $index(_, key) {
      return typeof key == "string" && B.JSString_methods.startsWith$1(key, this._prefix) ? this._prefixed_map_view$_map.$index(0, J.substring$1$s(key, this._prefix.length)) : null;
    },
    containsKey$1(key) {
      return typeof key == "string" && B.JSString_methods.startsWith$1(key, this._prefix) && this._prefixed_map_view$_map.containsKey$1(J.substring$1$s(key, this._prefix.length));
    }
  };
  A._PrefixedKeys.prototype = {
    get$length(_) {
      var t1 = this._view._prefixed_map_view$_map;
      return t1.get$length(t1);
    },
    get$iterator(_) {
      var t1 = this._view._prefixed_map_view$_map;
      t1 = J.map$1$1$ax(t1.get$keys(t1), new A._PrefixedKeys_iterator_closure(this), type$.String);
      return t1.get$iterator(t1);
    },
    contains$1(_, key) {
      return this._view.containsKey$1(key);
    }
  };
  A._PrefixedKeys_iterator_closure.prototype = {
    call$1(key) {
      return this.$this._view._prefix + key;
    },
    $signature: 5
  };
  A.PublicMemberMapView.prototype = {
    get$keys(_) {
      var t1 = this._public_member_map_view$_inner;
      return J.where$1$ax(t1.get$keys(t1), A.utils__isPublic$closure());
    },
    containsKey$1(key) {
      return typeof key == "string" && A.isPublic(key) && this._public_member_map_view$_inner.containsKey$1(key);
    },
    $index(_, key) {
      if (typeof key == "string" && A.isPublic(key))
        return this._public_member_map_view$_inner.$index(0, key);
      return null;
    }
  };
  A.SourceMapBuffer.prototype = {
    get$_targetLocation() {
      var t1 = this._source_map_buffer$_buffer._contents,
        t2 = this._line;
      return A.SourceLocation$(t1.length, this._column, t2, null);
    },
    get$length(_) {
      return this._source_map_buffer$_buffer._contents.length;
    },
    forSpan$1$2(span, callback) {
      var t1, _this = this,
        wasInSpan = _this._inSpan;
      _this._inSpan = true;
      _this._addEntry$2(span.get$start(span), _this.get$_targetLocation());
      try {
        t1 = callback.call$0();
        return t1;
      } finally {
        _this._inSpan = wasInSpan;
      }
    },
    forSpan$2(span, callback) {
      return this.forSpan$1$2(span, callback, type$.dynamic);
    },
    _addEntry$2(source, target) {
      var entry, t2,
        t1 = this._entries;
      if (t1.length !== 0) {
        entry = B.JSArray_methods.get$last(t1);
        t2 = entry.source;
        if (t2.file.getLine$1(t2.offset) === source.file.getLine$1(source.offset) && entry.target.line === target.line)
          return;
        if (entry.target.offset === target.offset)
          return;
      }
      t1.push(new A.Entry(source, target, null));
    },
    write$1(_, object) {
      var t1, i,
        string = J.toString$0$(object);
      this._source_map_buffer$_buffer._contents += string;
      for (t1 = string.length, i = 0; i < t1; ++i)
        if (string.charCodeAt(i) === 10)
          this._source_map_buffer$_writeLine$0();
        else
          ++this._column;
    },
    writeCharCode$1(charCode) {
      var t1 = this._source_map_buffer$_buffer,
        t2 = A.Primitives_stringFromCharCode(charCode);
      t1._contents += t2;
      if (charCode === 10)
        this._source_map_buffer$_writeLine$0();
      else
        ++this._column;
    },
    _source_map_buffer$_writeLine$0() {
      var _this = this,
        t1 = _this._entries;
      if (B.JSArray_methods.get$last(t1).target.line === _this._line && B.JSArray_methods.get$last(t1).target.column === _this._column)
        t1.pop();
      ++_this._line;
      _this._column = 0;
      if (_this._inSpan)
        t1.push(new A.Entry(B.JSArray_methods.get$last(t1).source, _this.get$_targetLocation(), null));
    },
    toString$0(_) {
      var t1 = this._source_map_buffer$_buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    buildSourceMap$1$prefix(prefix) {
      var i, t2, prefixColumn, _box_0 = {},
        t1 = prefix.length;
      if (t1 === 0)
        return A.SingleMapping_SingleMapping$fromEntries(this._entries);
      _box_0.prefixColumn = _box_0.prefixLines = 0;
      for (i = 0, t2 = 0; i < t1; ++i)
        if (prefix.charCodeAt(i) === 10) {
          ++_box_0.prefixLines;
          _box_0.prefixColumn = 0;
          t2 = 0;
        } else {
          prefixColumn = t2 + 1;
          _box_0.prefixColumn = prefixColumn;
          t2 = prefixColumn;
        }
      t2 = this._entries;
      return A.SingleMapping_SingleMapping$fromEntries(new A.MappedListIterable(t2, new A.SourceMapBuffer_buildSourceMap_closure(_box_0, t1), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Entry>")));
    }
  };
  A.SourceMapBuffer_buildSourceMap_closure.prototype = {
    call$1(entry) {
      var t1 = entry.target,
        t2 = t1.line,
        t3 = this._box_0,
        t4 = t3.prefixLines;
      t3 = t2 === 0 ? t3.prefixColumn : 0;
      return new A.Entry(entry.source, A.SourceLocation$(t1.offset + this.prefixLength, t1.column + t3, t2 + t4, null), entry.identifierName);
    },
    $signature: 158
  };
  A.UnprefixedMapView.prototype = {
    get$keys(_) {
      return new A._UnprefixedKeys(this);
    },
    $index(_, key) {
      return typeof key == "string" ? this._unprefixed_map_view$_map.$index(0, this._unprefixed_map_view$_prefix + key) : null;
    },
    containsKey$1(key) {
      return typeof key == "string" && this._unprefixed_map_view$_map.containsKey$1(this._unprefixed_map_view$_prefix + key);
    },
    remove$1(_, key) {
      return typeof key == "string" ? this._unprefixed_map_view$_map.remove$1(0, this._unprefixed_map_view$_prefix + key) : null;
    }
  };
  A._UnprefixedKeys.prototype = {
    get$iterator(_) {
      var t1 = this._unprefixed_map_view$_view._unprefixed_map_view$_map;
      t1 = J.where$1$ax(t1.get$keys(t1), new A._UnprefixedKeys_iterator_closure(this)).map$1$1(0, new A._UnprefixedKeys_iterator_closure0(this), type$.String);
      return t1.get$iterator(t1);
    },
    contains$1(_, key) {
      return this._unprefixed_map_view$_view.containsKey$1(key);
    }
  };
  A._UnprefixedKeys_iterator_closure.prototype = {
    call$1(key) {
      return B.JSString_methods.startsWith$1(key, this.$this._unprefixed_map_view$_view._unprefixed_map_view$_prefix);
    },
    $signature: 4
  };
  A._UnprefixedKeys_iterator_closure0.prototype = {
    call$1(key) {
      return B.JSString_methods.substring$1(key, this.$this._unprefixed_map_view$_view._unprefixed_map_view$_prefix.length);
    },
    $signature: 5
  };
  A.indent_closure.prototype = {
    call$1(line) {
      return B.JSString_methods.$mul(" ", this.indentation) + line;
    },
    $signature: 5
  };
  A.flattenVertically_closure.prototype = {
    call$1(inner) {
      return A.QueueList_QueueList$from(inner, this.T);
    },
    $signature() {
      return this.T._eval$1("QueueList<0>(Iterable<0>)");
    }
  };
  A.flattenVertically_closure0.prototype = {
    call$1(queue) {
      this.result.push(queue.removeFirst$0());
      return queue.get$length(0) === 0;
    },
    $signature() {
      return this.T._eval$1("bool(QueueList<0>)");
    }
  };
  A.longestCommonSubsequence_backtrack.prototype = {
    call$2(i, j) {
      var selection, t1, _this = this;
      if (i === -1 || j === -1)
        return A._setArrayType([], _this.T._eval$1("JSArray<0>"));
      selection = _this.selections[i][j];
      if (selection != null) {
        t1 = _this.call$2(i - 1, j - 1);
        J.add$1$ax(t1, selection);
        return t1;
      }
      t1 = _this.lengths;
      return t1[i + 1][j] > t1[i][j + 1] ? _this.call$2(i, j - 1) : _this.call$2(i - 1, j);
    },
    $signature() {
      return this.T._eval$1("List<0>(int,int)");
    }
  };
  A.mapAddAll2_closure.prototype = {
    call$2(key, inner) {
      var t1 = this.destination,
        _0_0 = t1.$index(0, key);
      if (_0_0 != null)
        _0_0.addAll$1(0, inner);
      else
        t1.$indexSet(0, key, inner);
    },
    $signature() {
      return this.K1._eval$1("@<0>")._bind$1(this.K2)._bind$1(this.V)._eval$1("~(1,Map<2,3>)");
    }
  };
  A.Value.prototype = {
    get$isTruthy() {
      return true;
    },
    get$separator(_) {
      return B.ListSeparator_undecided_null_undecided;
    },
    get$hasBrackets() {
      return false;
    },
    get$asList() {
      return A._setArrayType([this], type$.JSArray_Value);
    },
    get$lengthAsList() {
      return 1;
    },
    get$isBlank() {
      return false;
    },
    get$isSpecialNumber() {
      return false;
    },
    get$isVar() {
      return false;
    },
    get$realNull() {
      return this;
    },
    sassIndexToListIndex$2(sassIndex, $name) {
      var t1, index,
        indexValue = sassIndex.assertNumber$1($name);
      if (indexValue.get$hasUnits()) {
        t1 = indexValue.get$unitString();
        A.warnForDeprecation("$" + $name + ": Passing a number with unit " + t1 + string$.x20is_de + indexValue.unitSuggestion$1($name) + string$.x0a_Morex3a, B.Deprecation_2jN);
      }
      index = indexValue.assertInt$1($name);
      if (index === 0)
        throw A.wrapException(A.SassScriptException$("List index may not be 0.", $name));
      if (Math.abs(index) > this.get$lengthAsList())
        throw A.wrapException(A.SassScriptException$("Invalid index " + sassIndex.toString$0(0) + " for a list with " + this.get$lengthAsList() + " elements.", $name));
      return index < 0 ? this.get$lengthAsList() + index : index - 1;
    },
    assertCalculation$1($name) {
      return A.throwExpression(A.SassScriptException$(this.toString$0(0) + " is not a calculation.", $name));
    },
    assertColor$1($name) {
      return A.throwExpression(A.SassScriptException$(this.toString$0(0) + " is not a color.", $name));
    },
    assertFunction$1($name) {
      return A.throwExpression(A.SassScriptException$(this.toString$0(0) + " is not a function reference.", $name));
    },
    assertMixin$1($name) {
      return A.throwExpression(A.SassScriptException$(this.toString$0(0) + " is not a mixin reference.", $name));
    },
    assertMap$1($name) {
      return A.throwExpression(A.SassScriptException$(this.toString$0(0) + " is not a map.", $name));
    },
    tryMap$0() {
      return null;
    },
    assertNumber$1($name) {
      return A.throwExpression(A.SassScriptException$(this.toString$0(0) + " is not a number.", $name));
    },
    assertNumber$0() {
      return this.assertNumber$1(null);
    },
    assertString$1($name) {
      return A.throwExpression(A.SassScriptException$(this.toString$0(0) + " is not a string.", $name));
    },
    _selectorString$1($name) {
      var _0_0 = this._selectorStringOrNull$0();
      if (_0_0 != null)
        return _0_0;
      throw A.wrapException(A.SassScriptException$(this.toString$0(0) + string$.x20is_noav, $name));
    },
    _selectorStringOrNull$0() {
      var t1, t2, result, _1_0, _i, complex, string, compound, _this = this, _null = null;
      if (_this instanceof A.SassString)
        return _this._string$_text;
      if (!(_this instanceof A.SassList))
        return _null;
      t1 = _this._list$_contents;
      t2 = t1.length;
      if (t2 === 0)
        return _null;
      result = A._setArrayType([], type$.JSArray_String);
      $label0$1: {
        _1_0 = _this._separator;
        if (B.ListSeparator_ECn === _1_0) {
          for (_i = 0; _i < t2; ++_i) {
            complex = t1[_i];
            if (complex instanceof A.SassString) {
              result.push(complex._string$_text);
              continue;
            }
            if (complex instanceof A.SassList && B.ListSeparator_nbm === complex._separator) {
              string = complex._selectorStringOrNull$0();
              if (string == null)
                return _null;
              result.push(string);
              continue;
            }
            return _null;
          }
          break $label0$1;
        }
        if (B.ListSeparator_cQA === _1_0)
          return _null;
        for (_i = 0; _i < t2; ++_i) {
          compound = t1[_i];
          if (!(compound instanceof A.SassString))
            return _null;
          result.push(compound._string$_text);
        }
        break $label0$1;
      }
      return B.JSArray_methods.join$1(result, _1_0 === B.ListSeparator_ECn ? ", " : " ");
    },
    withListContents$2$separator(contents, separator) {
      var t1 = separator == null ? this.get$separator(this) : separator,
        t2 = this.get$hasBrackets();
      return A.SassList$(contents, t1, t2);
    },
    withListContents$1(contents) {
      return this.withListContents$2$separator(contents, null);
    },
    greaterThan$1(other) {
      return A.throwExpression(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " > " + other.toString$0(0) + '".', null));
    },
    greaterThanOrEquals$1(other) {
      return A.throwExpression(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " >= " + other.toString$0(0) + '".', null));
    },
    lessThan$1(other) {
      return A.throwExpression(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " < " + other.toString$0(0) + '".', null));
    },
    lessThanOrEquals$1(other) {
      return A.throwExpression(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " <= " + other.toString$0(0) + '".', null));
    },
    times$1(other) {
      return A.throwExpression(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " * " + other.toString$0(0) + '".', null));
    },
    modulo$1(other) {
      return A.throwExpression(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " % " + other.toString$0(0) + '".', null));
    },
    plus$1(other) {
      var t1;
      $label0$0: {
        if (other instanceof A.SassString) {
          t1 = new A.SassString(A.serializeValue(this, false, true) + other._string$_text, other._hasQuotes);
          break $label0$0;
        }
        if (other instanceof A.SassCalculation)
          A.throwExpression(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " + " + other.toString$0(0) + '".', null));
        t1 = new A.SassString(A.serializeValue(this, false, true) + A.serializeValue(other, false, true), false);
        break $label0$0;
      }
      return t1;
    },
    minus$1(other) {
      return other instanceof A.SassCalculation ? A.throwExpression(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " - " + other.toString$0(0) + '".', null)) : new A.SassString(A.serializeValue(this, false, true) + "-" + A.serializeValue(other, false, true), false);
    },
    dividedBy$1(other) {
      return new A.SassString(A.serializeValue(this, false, true) + "/" + A.serializeValue(other, false, true), false);
    },
    unaryPlus$0() {
      return new A.SassString("+" + A.serializeValue(this, false, true), false);
    },
    unaryMinus$0() {
      return new A.SassString("-" + A.serializeValue(this, false, true), false);
    },
    unaryNot$0() {
      return B.SassBoolean_false;
    },
    withoutSlash$0() {
      return this;
    },
    toString$0(_) {
      return A.serializeValue(this, true, true);
    }
  };
  A.SassArgumentList.prototype = {};
  A.SassBoolean.prototype = {
    get$isTruthy() {
      return this.value;
    },
    accept$1$1(visitor) {
      return visitor._serialize$_buffer.write$1(0, String(this.value));
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    unaryNot$0() {
      return this.value ? B.SassBoolean_false : B.SassBoolean_true;
    }
  };
  A.SassCalculation.prototype = {
    get$isSpecialNumber() {
      return true;
    },
    accept$1$1(visitor) {
      return visitor.visitCalculation$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertCalculation$1($name) {
      return this;
    },
    plus$1(other) {
      if (other instanceof A.SassString)
        return this.super$Value$plus(other);
      throw A.wrapException(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " + " + other.toString$0(0) + '".', null));
    },
    minus$1(other) {
      return A.throwExpression(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " - " + other.toString$0(0) + '".', null));
    },
    unaryPlus$0() {
      return A.throwExpression(A.SassScriptException$('Undefined operation "+' + this.toString$0(0) + '".', null));
    },
    unaryMinus$0() {
      return A.throwExpression(A.SassScriptException$('Undefined operation "-' + this.toString$0(0) + '".', null));
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.SassCalculation && this.name === other.name && B.C_ListEquality.equals$2(0, this.$arguments, other.$arguments);
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.name) ^ B.C_ListEquality0.hash$1(this.$arguments);
    }
  };
  A.SassCalculation__verifyLength_closure.prototype = {
    call$1(arg) {
      return arg instanceof A.SassString;
    },
    $signature: 75
  };
  A.CalculationOperation.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.CalculationOperation && this._operator === other._operator && J.$eq$(this._left, other._left) && J.$eq$(this._right, other._right);
    },
    get$hashCode(_) {
      return (A.Primitives_objectHashCode(this._operator) ^ J.get$hashCode$(this._left) ^ J.get$hashCode$(this._right)) >>> 0;
    },
    toString$0(_) {
      var parenthesized = A.serializeValue(new A.SassCalculation("", A._setArrayType([this], type$.JSArray_Object)), true, true);
      return B.JSString_methods.substring$2(parenthesized, 1, parenthesized.length - 1);
    }
  };
  A.CalculationOperator.prototype = {
    _enumToString$0() {
      return "CalculationOperator." + this._name;
    },
    toString$0(_) {
      return this.name;
    }
  };
  A.SassColor.prototype = {
    get$red(_) {
      var t1;
      if (this._red == null)
        this._hslToRgb$0();
      t1 = this._red;
      t1.toString;
      return t1;
    },
    get$green(_) {
      var t1;
      if (this._green == null)
        this._hslToRgb$0();
      t1 = this._green;
      t1.toString;
      return t1;
    },
    get$blue(_) {
      var t1;
      if (this._blue == null)
        this._hslToRgb$0();
      t1 = this._blue;
      t1.toString;
      return t1;
    },
    get$hue(_) {
      var t1;
      if (this._hue == null)
        this._rgbToHsl$0();
      t1 = this._hue;
      t1.toString;
      return t1;
    },
    get$saturation(_) {
      var t1;
      if (this._saturation == null)
        this._rgbToHsl$0();
      t1 = this._saturation;
      t1.toString;
      return t1;
    },
    get$lightness(_) {
      var t1;
      if (this._lightness == null)
        this._rgbToHsl$0();
      t1 = this._lightness;
      t1.toString;
      return t1;
    },
    get$whiteness(_) {
      return Math.min(Math.min(this.get$red(0), this.get$green(0)), this.get$blue(0)) / 255 * 100;
    },
    get$blackness(_) {
      return 100 - Math.max(Math.max(this.get$red(0), this.get$green(0)), this.get$blue(0)) / 255 * 100;
    },
    accept$1$1(visitor) {
      return visitor.visitColor$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertColor$1($name) {
      return this;
    },
    changeRgb$4$alpha$blue$green$red(alpha, blue, green, red) {
      return A.SassColor$rgb(red, green, blue, alpha == null ? this._alpha : alpha);
    },
    changeRgb$3$blue$green$red(blue, green, red) {
      return this.changeRgb$4$alpha$blue$green$red(null, blue, green, red);
    },
    changeHsl$4$alpha$hue$lightness$saturation(alpha, hue, lightness, saturation) {
      var _this = this, _null = null,
        t1 = hue == null ? _this.get$hue(0) : hue,
        t2 = saturation == null ? _this.get$saturation(0) : saturation,
        t3 = lightness == null ? _this.get$lightness(0) : lightness,
        t4 = A.SassColor__handleNullAlpha(alpha == null ? _this._alpha : alpha);
      return new A.SassColor(_null, _null, _null, B.JSNumber_methods.$mod(t1, 360), A.fuzzyAssertRange(t2, 0, 100, "saturation"), A.fuzzyAssertRange(t3, 0, 100, "lightness"), A.fuzzyAssertRange(t4, 0, 1, "alpha"), _null);
    },
    changeHsl$1$saturation(saturation) {
      return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, null, saturation);
    },
    changeHsl$1$lightness(lightness) {
      return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, lightness, null);
    },
    changeHsl$1$hue(hue) {
      return this.changeHsl$4$alpha$hue$lightness$saturation(null, hue, null, null);
    },
    changeAlpha$1(alpha) {
      var _this = this;
      return new A.SassColor(_this._red, _this._green, _this._blue, _this._hue, _this._saturation, _this._lightness, A.fuzzyAssertRange(alpha, 0, 1, "alpha"), null);
    },
    plus$1(other) {
      if (!(other instanceof A.SassNumber) && !(other instanceof A.SassColor))
        return this.super$Value$plus(other);
      throw A.wrapException(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " + " + other.toString$0(0) + '".', null));
    },
    minus$1(other) {
      if (!(other instanceof A.SassNumber) && !(other instanceof A.SassColor))
        return this.super$Value$minus(other);
      throw A.wrapException(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " - " + other.toString$0(0) + '".', null));
    },
    dividedBy$1(other) {
      if (!(other instanceof A.SassNumber) && !(other instanceof A.SassColor))
        return this.super$Value$dividedBy(other);
      throw A.wrapException(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " / " + other.toString$0(0) + '".', null));
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof A.SassColor && other.get$red(0) === _this.get$red(0) && other.get$green(0) === _this.get$green(0) && other.get$blue(0) === _this.get$blue(0) && other._alpha === _this._alpha;
    },
    get$hashCode(_) {
      var _this = this;
      return B.JSInt_methods.get$hashCode(_this.get$red(0)) ^ B.JSInt_methods.get$hashCode(_this.get$green(0)) ^ B.JSInt_methods.get$hashCode(_this.get$blue(0)) ^ B.JSNumber_methods.get$hashCode(_this._alpha);
    },
    _rgbToHsl$0() {
      var t2, lightness, _this = this,
        scaledRed = _this.get$red(0) / 255,
        scaledGreen = _this.get$green(0) / 255,
        scaledBlue = _this.get$blue(0) / 255,
        max = Math.max(Math.max(scaledRed, scaledGreen), scaledBlue),
        min = Math.min(Math.min(scaledRed, scaledGreen), scaledBlue),
        delta = max - min,
        t1 = max === min;
      if (t1)
        _this._hue = 0;
      else if (max === scaledRed)
        _this._hue = B.JSNumber_methods.$mod(60 * (scaledGreen - scaledBlue) / delta, 360);
      else if (max === scaledGreen)
        _this._hue = B.JSNumber_methods.$mod(120 + 60 * (scaledBlue - scaledRed) / delta, 360);
      else if (max === scaledBlue)
        _this._hue = B.JSNumber_methods.$mod(240 + 60 * (scaledRed - scaledGreen) / delta, 360);
      t2 = max + min;
      lightness = 50 * t2;
      _this._lightness = lightness;
      if (t1)
        _this._saturation = 0;
      else {
        t1 = 100 * delta;
        if (lightness < 50)
          _this._saturation = t1 / t2;
        else
          _this._saturation = t1 / (2 - max - min);
      }
    },
    _hslToRgb$0() {
      var _this = this,
        scaledHue = _this.get$hue(0) / 360,
        scaledSaturation = _this.get$saturation(0) / 100,
        scaledLightness = _this.get$lightness(0) / 100,
        m2 = scaledLightness <= 0.5 ? scaledLightness * (scaledSaturation + 1) : scaledLightness + scaledSaturation - scaledLightness * scaledSaturation,
        m1 = scaledLightness * 2 - m2;
      _this._red = A.fuzzyRound(A.SassColor__hueToRgb(m1, m2, scaledHue + 0.3333333333333333) * 255);
      _this._green = A.fuzzyRound(A.SassColor__hueToRgb(m1, m2, scaledHue) * 255);
      _this._blue = A.fuzzyRound(A.SassColor__hueToRgb(m1, m2, scaledHue - 0.3333333333333333) * 255);
    }
  };
  A.SassColor_SassColor$hwb_toRgb.prototype = {
    call$1(hue) {
      return A.fuzzyRound((A.SassColor__hueToRgb(0, 1, hue) * this.factor + this._box_0.scaledWhiteness) * 255);
    },
    $signature: 159
  };
  A._ColorFormatEnum.prototype = {
    toString$0(_) {
      return this._color$_name;
    }
  };
  A.SpanColorFormat.prototype = {};
  A.SassFunction.prototype = {
    accept$1$1(visitor) {
      var t1, t2;
      if (!visitor._inspect)
        A.throwExpression(A.SassScriptException$(this.toString$0(0) + " isn't a valid CSS value.", null));
      t1 = visitor._serialize$_buffer;
      t1.write$1(0, "get-function(");
      t2 = this.callable;
      visitor._visitQuotedString$1(t2.get$name(t2));
      t1.writeCharCode$1(41);
      return null;
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertFunction$1($name) {
      return this;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.SassFunction && this.callable.$eq(0, other.callable);
    },
    get$hashCode(_) {
      var t1 = this.callable;
      return t1.get$hashCode(t1);
    }
  };
  A.SassList.prototype = {
    get$separator(_) {
      return this._separator;
    },
    get$hasBrackets() {
      return this._hasBrackets;
    },
    get$isBlank() {
      return !this._hasBrackets && B.JSArray_methods.every$1(this._list$_contents, new A.SassList_isBlank_closure());
    },
    get$asList() {
      return this._list$_contents;
    },
    get$lengthAsList() {
      return this._list$_contents.length;
    },
    SassList$3$brackets(contents, _separator, brackets) {
      if (this._separator === B.ListSeparator_undecided_null_undecided && this._list$_contents.length > 1)
        throw A.wrapException(A.ArgumentError$(string$.A_list, null));
    },
    accept$1$1(visitor) {
      return visitor.visitList$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertMap$1($name) {
      return this._list$_contents.length === 0 ? B.SassMap_Map_empty : this.super$Value$assertMap($name);
    },
    tryMap$0() {
      return this._list$_contents.length === 0 ? B.SassMap_Map_empty : null;
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (!(other instanceof A.SassList && other._separator === _this._separator && other._hasBrackets === _this._hasBrackets && B.C_ListEquality.equals$2(0, other._list$_contents, _this._list$_contents)))
        t1 = _this._list$_contents.length === 0 && other instanceof A.SassMap && other.get$asList().length === 0;
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      return B.C_ListEquality0.hash$1(this._list$_contents);
    }
  };
  A.SassList_isBlank_closure.prototype = {
    call$1(element) {
      return element.get$isBlank();
    },
    $signature: 72
  };
  A.ListSeparator.prototype = {
    _enumToString$0() {
      return "ListSeparator." + this._name;
    },
    toString$0(_) {
      return this._list$_name;
    }
  };
  A.SassMap.prototype = {
    get$separator(_) {
      var t1 = this._map$_contents;
      return t1.get$isEmpty(t1) ? B.ListSeparator_undecided_null_undecided : B.ListSeparator_ECn;
    },
    get$asList() {
      var t3, t4, t5, result,
        t1 = type$.JSArray_Value,
        t2 = A._setArrayType([], t1);
      for (t3 = type$.Value, t4 = A.MapExtensions_get_pairs(this._map$_contents, t3, t3), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
        t5 = t4.get$current(t4);
        result = A.List_List$from(A._setArrayType([t5._0, t5._1], t1), false, t3);
        result.fixed$length = Array;
        result.immutable$list = Array;
        t2.push(new A.SassList(result, B.ListSeparator_nbm, false));
      }
      return t2;
    },
    get$lengthAsList() {
      var t1 = this._map$_contents;
      return t1.get$length(t1);
    },
    accept$1$1(visitor) {
      return visitor.visitMap$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertMap$1($name) {
      return this;
    },
    tryMap$0() {
      return this;
    },
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (!(other instanceof A.SassMap && B.C_MapEquality.equals$2(0, other._map$_contents, this._map$_contents))) {
        t1 = this._map$_contents;
        t1 = t1.get$isEmpty(t1) && other instanceof A.SassList && other._list$_contents.length === 0;
      } else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      var t1 = this._map$_contents;
      return t1.get$isEmpty(t1) ? B.C_ListEquality0.hash$1(B.List_empty8) : B.C_MapEquality.hash$1(t1);
    }
  };
  A.SassMixin.prototype = {
    accept$1$1(visitor) {
      var t1, t2;
      if (!visitor._inspect)
        A.throwExpression(A.SassScriptException$(this.toString$0(0) + " isn't a valid CSS value.", null));
      t1 = visitor._serialize$_buffer;
      t1.write$1(0, "get-mixin(");
      t2 = this.callable;
      visitor._visitQuotedString$1(t2.get$name(t2));
      t1.writeCharCode$1(41);
      return null;
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertMixin$1($name) {
      return this;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.SassMixin && this.callable.$eq(0, other.callable);
    },
    get$hashCode(_) {
      var t1 = this.callable;
      return t1.get$hashCode(t1);
    }
  };
  A._SassNull.prototype = {
    get$isTruthy() {
      return false;
    },
    get$isBlank() {
      return true;
    },
    get$realNull() {
      return null;
    },
    accept$1$1(visitor) {
      if (visitor._inspect)
        visitor._serialize$_buffer.write$1(0, "null");
      return null;
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    unaryNot$0() {
      return B.SassBoolean_true;
    }
  };
  A.SassNumber.prototype = {
    get$unitString() {
      var _this = this;
      return _this.get$hasUnits() ? _this._unitString$2(_this.get$numeratorUnits(_this), _this.get$denominatorUnits(_this)) : "";
    },
    accept$1$1(visitor) {
      return visitor.visitNumber$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    withoutSlash$0() {
      var _this = this;
      return _this.asSlash == null ? _this : _this.withValue$1(_this._number$_value);
    },
    assertNumber$1($name) {
      return this;
    },
    assertNumber$0() {
      return this.assertNumber$1(null);
    },
    assertInt$1($name) {
      var _0_0 = A.fuzzyAsInt(this._number$_value);
      if (_0_0 != null)
        return _0_0;
      throw A.wrapException(A.SassScriptException$(this.toString$0(0) + " is not an int.", $name));
    },
    assertInt$0() {
      return this.assertInt$1(null);
    },
    valueInRange$3(min, max, $name) {
      var _this = this,
        _0_0 = A.fuzzyCheckRange(_this._number$_value, min, max);
      if (_0_0 != null)
        return _0_0;
      throw A.wrapException(A.SassScriptException$("Expected " + _this.toString$0(0) + " to be within " + min + _this.get$unitString() + " and " + max + _this.get$unitString() + ".", $name));
    },
    valueInRangeWithUnit$4(min, max, $name, unit) {
      var _0_0 = A.fuzzyCheckRange(this._number$_value, min, max);
      if (_0_0 != null)
        return _0_0;
      throw A.wrapException(A.SassScriptException$("Expected " + this.toString$0(0) + " to be within " + min + unit + " and " + max + unit + ".", $name));
    },
    hasCompatibleUnits$1(other) {
      var _this = this;
      if (_this.get$numeratorUnits(_this).length !== other.get$numeratorUnits(other).length)
        return false;
      if (_this.get$denominatorUnits(_this).length !== other.get$denominatorUnits(other).length)
        return false;
      return _this.isComparableTo$1(other);
    },
    assertUnit$2(unit, $name) {
      if (this.hasUnit$1(unit))
        return;
      throw A.wrapException(A.SassScriptException$("Expected " + this.toString$0(0) + ' to have unit "' + unit + '".', $name));
    },
    assertNoUnits$1($name) {
      if (!this.get$hasUnits())
        return;
      throw A.wrapException(A.SassScriptException$("Expected " + this.toString$0(0) + " to have no units.", $name));
    },
    assertNoUnits$0() {
      return this.assertNoUnits$1(null);
    },
    convertValueToMatch$3(other, $name, otherName) {
      return this._coerceOrConvertValue$6$coerceUnitless$name$other$otherName(other.get$numeratorUnits(other), other.get$denominatorUnits(other), false, $name, other, otherName);
    },
    convertValueToMatch$1(other) {
      return this.convertValueToMatch$3(other, null, null);
    },
    coerce$3(newNumerators, newDenominators, $name) {
      return A.SassNumber_SassNumber$withUnits(this.coerceValue$3(newNumerators, newDenominators, $name), newDenominators, newNumerators);
    },
    coerce$2(newNumerators, newDenominators) {
      return this.coerce$3(newNumerators, newDenominators, null);
    },
    coerceValue$3(newNumerators, newDenominators, $name) {
      return this._coerceOrConvertValue$4$coerceUnitless$name(newNumerators, newDenominators, true, $name);
    },
    coerceValueToUnit$2(unit, $name) {
      var t1 = type$.JSArray_String;
      return this.coerceValue$3(A._setArrayType([unit], t1), A._setArrayType([], t1), $name);
    },
    coerceValueToUnit$1(unit) {
      return this.coerceValueToUnit$2(unit, null);
    },
    coerceToMatch$3(other, $name, otherName) {
      var t1 = this.coerceValueToMatch$3(other, $name, otherName),
        t2 = other.get$numeratorUnits(other);
      return A.SassNumber_SassNumber$withUnits(t1, other.get$denominatorUnits(other), t2);
    },
    coerceValueToMatch$3(other, $name, otherName) {
      return this._coerceOrConvertValue$6$coerceUnitless$name$other$otherName(other.get$numeratorUnits(other), other.get$denominatorUnits(other), true, $name, other, otherName);
    },
    coerceValueToMatch$1(other) {
      return this.coerceValueToMatch$3(other, null, null);
    },
    _coerceOrConvertValue$6$coerceUnitless$name$other$otherName(newNumerators, newDenominators, coerceUnitless, $name, other, otherName) {
      var otherHasUnits, t1, compatibilityException, oldNumerators, _i, oldDenominators, _this = this, _box_0 = {};
      if (B.C_ListEquality.equals$2(0, _this.get$numeratorUnits(_this), newNumerators) && B.C_ListEquality.equals$2(0, _this.get$denominatorUnits(_this), newDenominators))
        return _this._number$_value;
      otherHasUnits = newNumerators.length !== 0 || newDenominators.length !== 0;
      if (coerceUnitless)
        t1 = !_this.get$hasUnits() || !otherHasUnits;
      else
        t1 = false;
      if (t1)
        return _this._number$_value;
      compatibilityException = new A.SassNumber__coerceOrConvertValue_compatibilityException(_this, other, otherName, otherHasUnits, $name, newNumerators, newDenominators);
      _box_0.value = _this._number$_value;
      t1 = _this.get$numeratorUnits(_this);
      oldNumerators = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
      for (t1 = newNumerators.length, _i = 0; _i < newNumerators.length; newNumerators.length === t1 || (0, A.throwConcurrentModificationError)(newNumerators), ++_i)
        A.removeFirstWhere(oldNumerators, new A.SassNumber__coerceOrConvertValue_closure(_box_0, newNumerators[_i]), new A.SassNumber__coerceOrConvertValue_closure0(compatibilityException));
      t1 = _this.get$denominatorUnits(_this);
      oldDenominators = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
      for (t1 = newDenominators.length, _i = 0; _i < newDenominators.length; newDenominators.length === t1 || (0, A.throwConcurrentModificationError)(newDenominators), ++_i)
        A.removeFirstWhere(oldDenominators, new A.SassNumber__coerceOrConvertValue_closure1(_box_0, newDenominators[_i]), new A.SassNumber__coerceOrConvertValue_closure2(compatibilityException));
      if (oldNumerators.length !== 0 || oldDenominators.length !== 0)
        throw A.wrapException(compatibilityException.call$0());
      return _box_0.value;
    },
    _coerceOrConvertValue$4$coerceUnitless$name(newNumerators, newDenominators, coerceUnitless, $name) {
      return this._coerceOrConvertValue$6$coerceUnitless$name$other$otherName(newNumerators, newDenominators, coerceUnitless, $name, null, null);
    },
    isComparableTo$1(other) {
      var exception;
      if (!this.get$hasUnits() || !other.get$hasUnits())
        return true;
      try {
        this.greaterThan$1(other);
        return true;
      } catch (exception) {
        if (A.unwrapException(exception) instanceof A.SassScriptException)
          return false;
        else
          throw exception;
      }
    },
    greaterThan$1(other) {
      if (other instanceof A.SassNumber)
        return this._coerceUnits$2(other, A.number0__fuzzyGreaterThan$closure()) ? B.SassBoolean_true : B.SassBoolean_false;
      throw A.wrapException(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " > " + other.toString$0(0) + '".', null));
    },
    greaterThanOrEquals$1(other) {
      if (other instanceof A.SassNumber)
        return this._coerceUnits$2(other, A.number0__fuzzyGreaterThanOrEquals$closure()) ? B.SassBoolean_true : B.SassBoolean_false;
      throw A.wrapException(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " >= " + other.toString$0(0) + '".', null));
    },
    lessThan$1(other) {
      if (other instanceof A.SassNumber)
        return this._coerceUnits$2(other, A.number0__fuzzyLessThan$closure()) ? B.SassBoolean_true : B.SassBoolean_false;
      throw A.wrapException(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " < " + other.toString$0(0) + '".', null));
    },
    lessThanOrEquals$1(other) {
      if (other instanceof A.SassNumber)
        return this._coerceUnits$2(other, A.number0__fuzzyLessThanOrEquals$closure()) ? B.SassBoolean_true : B.SassBoolean_false;
      throw A.wrapException(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " <= " + other.toString$0(0) + '".', null));
    },
    modulo$1(other) {
      if (other instanceof A.SassNumber)
        return this.withValue$1(this._coerceUnits$2(other, A.number0__moduloLikeSass$closure()));
      throw A.wrapException(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " % " + other.toString$0(0) + '".', null));
    },
    plus$1(other) {
      var _this = this;
      if (other instanceof A.SassNumber)
        return _this.withValue$1(_this._coerceUnits$2(other, new A.SassNumber_plus_closure()));
      if (!(other instanceof A.SassColor))
        return _this.super$Value$plus(other);
      throw A.wrapException(A.SassScriptException$('Undefined operation "' + _this.toString$0(0) + " + " + other.toString$0(0) + '".', null));
    },
    minus$1(other) {
      var _this = this;
      if (other instanceof A.SassNumber)
        return _this.withValue$1(_this._coerceUnits$2(other, new A.SassNumber_minus_closure()));
      if (!(other instanceof A.SassColor))
        return _this.super$Value$minus(other);
      throw A.wrapException(A.SassScriptException$('Undefined operation "' + _this.toString$0(0) + " - " + other.toString$0(0) + '".', null));
    },
    times$1(other) {
      var _this = this;
      if (other instanceof A.SassNumber) {
        if (!other.get$hasUnits())
          return _this.withValue$1(_this._number$_value * other._number$_value);
        return _this.multiplyUnits$3(_this._number$_value * other._number$_value, other.get$numeratorUnits(other), other.get$denominatorUnits(other));
      }
      throw A.wrapException(A.SassScriptException$('Undefined operation "' + _this.toString$0(0) + " * " + other.toString$0(0) + '".', null));
    },
    dividedBy$1(other) {
      var _this = this;
      if (other instanceof A.SassNumber) {
        if (!other.get$hasUnits())
          return _this.withValue$1(_this._number$_value / other._number$_value);
        return _this.multiplyUnits$3(_this._number$_value / other._number$_value, other.get$denominatorUnits(other), other.get$numeratorUnits(other));
      }
      return _this.super$Value$dividedBy(other);
    },
    unaryPlus$0() {
      return this;
    },
    _coerceUnits$1$2(other, operation) {
      var t1, exception;
      try {
        t1 = operation.call$2(this._number$_value, other.coerceValueToMatch$1(this));
        return t1;
      } catch (exception) {
        if (A.unwrapException(exception) instanceof A.SassScriptException) {
          this.coerceValueToMatch$1(other);
          throw exception;
        } else
          throw exception;
      }
    },
    _coerceUnits$2(other, operation) {
      return this._coerceUnits$1$2(other, operation, type$.dynamic);
    },
    multiplyUnits$3(value, otherNumerators, otherDenominators) {
      var t1, _0_1, _0_2, _0_3, _0_6, _0_7_isSet, _0_7, _0_9, t2, _0_9_isSet, denominators_case_0, _0_11_isSet, _0_11, _0_13_isSet, _0_10, _0_13, numerators_case_0, t4, t3, numerators_case_1, denominators_case_1, t0, newNumerators, mutableOtherDenominators, _i, numerator, mutableDenominatorUnits, _this = this, _null = null, _box_0 = {};
      _box_0.value = value;
      t1 = [_this.get$numeratorUnits(_this), _this.get$denominatorUnits(_this), otherNumerators, otherDenominators];
      _0_1 = t1[0];
      _0_2 = t1[1];
      _0_3 = t1[2];
      _0_6 = _0_3.length <= 0;
      _0_7_isSet = _0_6;
      if (_0_7_isSet) {
        _0_7 = t1[3];
        _0_9 = _0_7.length <= 0;
        t2 = _0_9;
      } else {
        _0_7 = _null;
        _0_9 = _0_7;
        t2 = false;
      }
      _0_9_isSet = _0_7_isSet;
      denominators_case_0 = _0_2;
      _0_11_isSet = !t2;
      if (_0_11_isSet) {
        _0_11 = _0_1.length <= 0;
        _0_13_isSet = _0_11;
        _0_10 = _0_1;
        if (_0_13_isSet) {
          _0_13 = _0_2.length <= 0;
          t2 = _0_13;
          if (t2) {
            if (_0_7_isSet)
              denominators_case_0 = _0_7;
            else {
              _0_7 = t1[3];
              denominators_case_0 = _0_7;
              _0_7_isSet = true;
            }
            numerators_case_0 = _0_3;
          } else
            numerators_case_0 = _0_1;
        } else {
          numerators_case_0 = _0_1;
          _0_13 = _null;
          t2 = false;
        }
        _0_1 = _0_10;
      } else {
        numerators_case_0 = _0_1;
        _0_13 = _null;
        _0_11 = _0_13;
        _0_13_isSet = false;
        t2 = true;
      }
      if (t2) {
        t4 = denominators_case_0;
        t3 = numerators_case_0;
      } else {
        t4 = _null;
        t3 = t4;
      }
      if (!t2) {
        if (_0_11_isSet)
          t2 = _0_11;
        else {
          _0_11 = _0_1.length <= 0;
          t2 = _0_11;
        }
        if (t2) {
          if (_0_9_isSet)
            t2 = _0_9;
          else {
            if (_0_7_isSet)
              t2 = _0_7;
            else {
              _0_7 = t1[3];
              t2 = _0_7;
              _0_7_isSet = true;
            }
            _0_9 = t2.length <= 0;
            t2 = _0_9;
          }
          numerators_case_1 = _0_3;
          denominators_case_1 = _0_2;
        } else {
          numerators_case_1 = _null;
          denominators_case_1 = numerators_case_1;
          t2 = false;
        }
        if (!t2) {
          if (_0_13_isSet)
            t2 = _0_13;
          else {
            _0_13 = _0_2.length <= 0;
            t2 = _0_13;
          }
          if (t2) {
            if (_0_6)
              denominators_case_1 = _0_7_isSet ? _0_7 : t1[3];
            t1 = _0_6;
          } else
            t1 = false;
          numerators_case_1 = _0_1;
        } else
          t1 = true;
        if (t1) {
          t1 = !_this._areAnyConvertible$2(numerators_case_1, denominators_case_1);
          if (t1) {
            t3 = denominators_case_1;
            t2 = numerators_case_1;
          } else {
            t2 = t3;
            t3 = t4;
          }
          t0 = t3;
          t3 = t1;
          t1 = t2;
          t2 = t0;
        } else {
          t2 = t4;
          t1 = t3;
          t3 = false;
        }
      } else {
        t2 = t4;
        t1 = t3;
        t3 = true;
      }
      if (t3)
        return A.SassNumber_SassNumber$withUnits(value, t2, t1);
      newNumerators = A._setArrayType([], type$.JSArray_String);
      mutableOtherDenominators = A._setArrayType(otherDenominators.slice(0), A._arrayInstanceType(otherDenominators));
      for (t1 = _this.get$numeratorUnits(_this), t2 = t1.length, _i = 0; _i < t2; ++_i) {
        numerator = t1[_i];
        A.removeFirstWhere(mutableOtherDenominators, new A.SassNumber_multiplyUnits_closure(_box_0, numerator), new A.SassNumber_multiplyUnits_closure0(newNumerators, numerator));
      }
      t1 = _this.get$denominatorUnits(_this);
      mutableDenominatorUnits = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
      for (t1 = otherNumerators.length, _i = 0; _i < t1; ++_i) {
        numerator = otherNumerators[_i];
        A.removeFirstWhere(mutableDenominatorUnits, new A.SassNumber_multiplyUnits_closure1(_box_0, numerator), new A.SassNumber_multiplyUnits_closure2(newNumerators, numerator));
      }
      t1 = _box_0.value;
      B.JSArray_methods.addAll$1(mutableDenominatorUnits, mutableOtherDenominators);
      return A.SassNumber_SassNumber$withUnits(t1, mutableDenominatorUnits, newNumerators);
    },
    _areAnyConvertible$2(units1, units2) {
      return B.JSArray_methods.any$1(units1, new A.SassNumber__areAnyConvertible_closure(units2));
    },
    _unitString$2(numerators, denominators) {
      var _0_4, _0_6, t1, _0_7, _0_5, _null = null;
      $label0$0: {
        _0_4 = numerators.length <= 0;
        if (_0_4) {
          _0_6 = denominators.length;
          t1 = _0_6;
          _0_7 = t1 <= 0;
          t1 = _0_7;
          _0_5 = denominators;
        } else {
          _0_5 = _null;
          _0_6 = _0_5;
          _0_7 = _0_6;
          t1 = false;
        }
        if (t1) {
          t1 = "no units";
          break $label0$0;
        }
        if (_0_4)
          t1 = _0_6 === 1;
        else
          t1 = false;
        if (t1) {
          t1 = (_0_4 ? _0_5 : denominators)[0] + "^-1";
          break $label0$0;
        }
        if (_0_4) {
          t1 = "(" + B.JSArray_methods.join$1(denominators, "*") + ")^-1";
          break $label0$0;
        }
        _0_6 = denominators.length;
        t1 = _0_6;
        _0_7 = t1 <= 0;
        t1 = _0_7;
        if (t1) {
          t1 = B.JSArray_methods.join$1(numerators, "*");
          break $label0$0;
        }
        t1 = B.JSArray_methods.join$1(numerators, "*") + "/" + B.JSArray_methods.join$1(denominators, "*");
        break $label0$0;
      }
      return t1;
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (!(other instanceof A.SassNumber))
        return false;
      if (_this.get$numeratorUnits(_this).length !== other.get$numeratorUnits(other).length || _this.get$denominatorUnits(_this).length !== other.get$denominatorUnits(other).length)
        return false;
      if (!_this.get$hasUnits())
        return A.fuzzyEquals(_this._number$_value, other._number$_value);
      if (!B.C_ListEquality.equals$2(0, _this._canonicalizeUnitList$1(_this.get$numeratorUnits(_this)), _this._canonicalizeUnitList$1(other.get$numeratorUnits(other))) || !B.C_ListEquality.equals$2(0, _this._canonicalizeUnitList$1(_this.get$denominatorUnits(_this)), _this._canonicalizeUnitList$1(other.get$denominatorUnits(other))))
        return false;
      return A.fuzzyEquals(_this._number$_value * _this._canonicalMultiplier$1(_this.get$numeratorUnits(_this)) / _this._canonicalMultiplier$1(_this.get$denominatorUnits(_this)), other._number$_value * _this._canonicalMultiplier$1(other.get$numeratorUnits(other)) / _this._canonicalMultiplier$1(other.get$denominatorUnits(other)));
    },
    get$hashCode(_) {
      var _this = this,
        t1 = _this.hashCache;
      return t1 == null ? _this.hashCache = A.fuzzyHashCode(_this._number$_value * _this._canonicalMultiplier$1(_this.get$numeratorUnits(_this)) / _this._canonicalMultiplier$1(_this.get$denominatorUnits(_this))) : t1;
    },
    _canonicalizeUnitList$1(units) {
      var type,
        t1 = units.length;
      if (t1 === 0)
        return units;
      if (t1 === 1) {
        type = $.$get$_typesByUnit().$index(0, B.JSArray_methods.get$first(units));
        if (type == null)
          t1 = units;
        else {
          t1 = B.Map_397RH.$index(0, type);
          t1.toString;
          t1 = A._setArrayType([B.JSArray_methods.get$first(t1)], type$.JSArray_String);
        }
        return t1;
      }
      t1 = A._arrayInstanceType(units)._eval$1("MappedListIterable<1,String>");
      t1 = A.List_List$of(new A.MappedListIterable(units, new A.SassNumber__canonicalizeUnitList_closure(), t1), true, t1._eval$1("ListIterable.E"));
      B.JSArray_methods.sort$0(t1);
      return t1;
    },
    _canonicalMultiplier$1(units) {
      return B.JSArray_methods.fold$2(units, 1, new A.SassNumber__canonicalMultiplier_closure(this));
    },
    canonicalMultiplierForUnit$1(unit) {
      var t1,
        innerMap = B.Map_gQqJO.$index(0, unit);
      if (innerMap == null)
        t1 = 1;
      else {
        t1 = innerMap.get$values(innerMap);
        t1 = 1 / t1.get$first(t1);
      }
      return t1;
    },
    unitSuggestion$2($name, unit) {
      var t2, t3, result, _this = this,
        t1 = _this.get$denominatorUnits(_this);
      t1 = new A.MappedListIterable(t1, new A.SassNumber_unitSuggestion_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$0(0);
      t2 = _this.get$numeratorUnits(_this);
      t2 = new A.MappedListIterable(t2, new A.SassNumber_unitSuggestion_closure0(), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,String>")).join$0(0);
      t3 = unit == null ? "" : " * 1" + unit;
      result = "$" + $name + t1 + t2 + t3;
      return _this.get$numeratorUnits(_this).length === 0 ? result : "calc(" + result + ")";
    },
    unitSuggestion$1($name) {
      return this.unitSuggestion$2($name, null);
    }
  };
  A.SassNumber__coerceOrConvertValue_compatibilityException.prototype = {
    call$0() {
      var t2, t3, message, t4, type, unit, _this = this,
        t1 = _this.other;
      if (t1 != null) {
        t2 = _this.$this;
        t3 = t2.toString$0(0) + " and";
        message = new A.StringBuffer(t3);
        t4 = _this.otherName;
        if (t4 != null)
          t3 = message._contents = t3 + (" $" + t4 + ":");
        t1 = t3 + (" " + t1.toString$0(0) + " have incompatible units");
        message._contents = t1;
        if (!t2.get$hasUnits() || !_this.otherHasUnits)
          message._contents = t1 + " (one has units and the other doesn't)";
        t1 = message.toString$0(0) + ".";
        t2 = _this.name;
        return new A.SassScriptException(t2 == null ? t1 : "$" + t2 + ": " + t1);
      } else if (!_this.otherHasUnits) {
        t1 = "Expected " + _this.$this.toString$0(0) + " to have no units.";
        t2 = _this.name;
        return new A.SassScriptException(t2 == null ? t1 : "$" + t2 + ": " + t1);
      } else {
        t1 = _this.newNumerators;
        if (t1.length === 1 && _this.newDenominators.length === 0) {
          type = $.$get$_typesByUnit().$index(0, B.JSArray_methods.get$first(t1));
          if (type != null) {
            t1 = _this.$this.toString$0(0);
            t2 = B.JSArray_methods.contains$1(A._setArrayType([97, 101, 105, 111, 117], type$.JSArray_int), type.charCodeAt(0)) ? "an " + type : "a " + type;
            t3 = B.Map_397RH.$index(0, type);
            t3.toString;
            t3 = "Expected " + t1 + " to have " + t2 + " unit (" + B.JSArray_methods.join$1(t3, ", ") + ").";
            t2 = _this.name;
            return new A.SassScriptException(t2 == null ? t3 : "$" + t2 + ": " + t3);
          }
        }
        t2 = _this.newDenominators;
        unit = A.pluralize("unit", t1.length + t2.length, null);
        t3 = _this.$this;
        t2 = "Expected " + t3.toString$0(0) + " to have " + unit + " " + t3._unitString$2(t1, t2) + ".";
        t1 = _this.name;
        return new A.SassScriptException(t1 == null ? t2 : "$" + t1 + ": " + t2);
      }
    },
    $signature: 382
  };
  A.SassNumber__coerceOrConvertValue_closure.prototype = {
    call$1(oldNumerator) {
      var factor = A.conversionFactor(this.newNumerator, oldNumerator);
      if (factor == null)
        return false;
      this._box_0.value *= factor;
      return true;
    },
    $signature: 4
  };
  A.SassNumber__coerceOrConvertValue_closure0.prototype = {
    call$0() {
      return A.throwExpression(this.compatibilityException.call$0());
    },
    $signature: 0
  };
  A.SassNumber__coerceOrConvertValue_closure1.prototype = {
    call$1(oldDenominator) {
      var factor = A.conversionFactor(this.newDenominator, oldDenominator);
      if (factor == null)
        return false;
      this._box_0.value /= factor;
      return true;
    },
    $signature: 4
  };
  A.SassNumber__coerceOrConvertValue_closure2.prototype = {
    call$0() {
      return A.throwExpression(this.compatibilityException.call$0());
    },
    $signature: 0
  };
  A.SassNumber_plus_closure.prototype = {
    call$2(num1, num2) {
      return num1 + num2;
    },
    $signature: 56
  };
  A.SassNumber_minus_closure.prototype = {
    call$2(num1, num2) {
      return num1 - num2;
    },
    $signature: 56
  };
  A.SassNumber_multiplyUnits_closure.prototype = {
    call$1(denominator) {
      var factor = A.conversionFactor(this.numerator, denominator);
      if (factor == null)
        return false;
      this._box_0.value /= factor;
      return true;
    },
    $signature: 4
  };
  A.SassNumber_multiplyUnits_closure0.prototype = {
    call$0() {
      return this.newNumerators.push(this.numerator);
    },
    $signature: 0
  };
  A.SassNumber_multiplyUnits_closure1.prototype = {
    call$1(denominator) {
      var factor = A.conversionFactor(this.numerator, denominator);
      if (factor == null)
        return false;
      this._box_0.value /= factor;
      return true;
    },
    $signature: 4
  };
  A.SassNumber_multiplyUnits_closure2.prototype = {
    call$0() {
      return this.newNumerators.push(this.numerator);
    },
    $signature: 0
  };
  A.SassNumber__areAnyConvertible_closure.prototype = {
    call$1(unit1) {
      var t1,
        _0_0 = B.Map_gQqJO.$index(0, unit1);
      $label0$0: {
        if (_0_0 != null) {
          t1 = B.JSArray_methods.any$1(this.units2, _0_0.get$containsKey());
          break $label0$0;
        }
        t1 = B.JSArray_methods.contains$1(this.units2, unit1);
        break $label0$0;
      }
      return t1;
    },
    $signature: 4
  };
  A.SassNumber__canonicalizeUnitList_closure.prototype = {
    call$1(unit) {
      var t1,
        type = $.$get$_typesByUnit().$index(0, unit);
      if (type == null)
        t1 = unit;
      else {
        t1 = B.Map_397RH.$index(0, type);
        t1.toString;
        t1 = B.JSArray_methods.get$first(t1);
      }
      return t1;
    },
    $signature: 5
  };
  A.SassNumber__canonicalMultiplier_closure.prototype = {
    call$2(multiplier, unit) {
      return multiplier * this.$this.canonicalMultiplierForUnit$1(unit);
    },
    $signature: 160
  };
  A.SassNumber_unitSuggestion_closure.prototype = {
    call$1(unit) {
      return " * 1" + unit;
    },
    $signature: 5
  };
  A.SassNumber_unitSuggestion_closure0.prototype = {
    call$1(unit) {
      return " / 1" + unit;
    },
    $signature: 5
  };
  A.ComplexSassNumber.prototype = {
    get$numeratorUnits(_) {
      return this._numeratorUnits;
    },
    get$denominatorUnits(_) {
      return this._denominatorUnits;
    },
    get$hasUnits() {
      return true;
    },
    get$hasComplexUnits() {
      return true;
    },
    hasUnit$1(unit) {
      return false;
    },
    compatibleWithUnit$1(unit) {
      return false;
    },
    hasPossiblyCompatibleUnits$1(other) {
      throw A.wrapException(A.UnimplementedError$(string$.Comple));
    },
    withValue$1(value) {
      return new A.ComplexSassNumber(this._numeratorUnits, this._denominatorUnits, value, null);
    },
    withSlash$2(numerator, denominator) {
      return new A.ComplexSassNumber(this._numeratorUnits, this._denominatorUnits, this._number$_value, new A._Record_2(numerator, denominator));
    }
  };
  A.SingleUnitSassNumber.prototype = {
    get$numeratorUnits(_) {
      return A.List_List$unmodifiable([this._unit], type$.String);
    },
    get$denominatorUnits(_) {
      return B.List_empty;
    },
    get$hasUnits() {
      return true;
    },
    get$hasComplexUnits() {
      return false;
    },
    withValue$1(value) {
      return new A.SingleUnitSassNumber(this._unit, value, null);
    },
    withSlash$2(numerator, denominator) {
      return new A.SingleUnitSassNumber(this._unit, this._number$_value, new A._Record_2(numerator, denominator));
    },
    hasUnit$1(unit) {
      return unit === this._unit;
    },
    hasCompatibleUnits$1(other) {
      return other instanceof A.SingleUnitSassNumber && A.conversionFactor(this._unit, other._unit) != null;
    },
    hasPossiblyCompatibleUnits$1(other) {
      var t1, knownCompatibilities, otherUnit;
      if (!(other instanceof A.SingleUnitSassNumber))
        return false;
      t1 = $.$get$_knownCompatibilitiesByUnit();
      knownCompatibilities = t1.$index(0, this._unit.toLowerCase());
      if (knownCompatibilities == null)
        return true;
      otherUnit = other._unit.toLowerCase();
      return knownCompatibilities.contains$1(0, otherUnit) || !t1.containsKey$1(otherUnit);
    },
    compatibleWithUnit$1(unit) {
      return A.conversionFactor(this._unit, unit) != null;
    },
    coerceToMatch$1(other) {
      var t1 = other instanceof A.SingleUnitSassNumber ? this._coerceToUnit$1(other._unit) : null;
      return t1 == null ? this.super$SassNumber$coerceToMatch(other, null, null) : t1;
    },
    coerceValueToMatch$3(other, $name, otherName) {
      var t1 = other instanceof A.SingleUnitSassNumber ? this._coerceValueToUnit$1(other._unit) : null;
      return t1 == null ? this.super$SassNumber$coerceValueToMatch(other, $name, otherName) : t1;
    },
    coerceValueToMatch$1(other) {
      return this.coerceValueToMatch$3(other, null, null);
    },
    convertValueToMatch$3(other, $name, otherName) {
      var t1 = other instanceof A.SingleUnitSassNumber ? this._coerceValueToUnit$1(other._unit) : null;
      return t1 == null ? this.super$SassNumber$convertValueToMatch(other, $name, otherName) : t1;
    },
    convertValueToMatch$1(other) {
      return this.convertValueToMatch$3(other, null, null);
    },
    coerce$2(newNumerators, newDenominators) {
      var t1 = newNumerators.length === 1 && newDenominators.length === 0 ? this._coerceToUnit$1(newNumerators[0]) : null;
      return t1 == null ? this.super$SassNumber$coerce(newNumerators, newDenominators, null) : t1;
    },
    coerceValue$3(newNumerators, newDenominators, $name) {
      var t1 = newNumerators.length === 1 && newDenominators.length === 0 ? this._coerceValueToUnit$1(newNumerators[0]) : null;
      return t1 == null ? this.super$SassNumber$coerceValue(newNumerators, newDenominators, $name) : t1;
    },
    coerceValueToUnit$2(unit, $name) {
      var t1 = this._coerceValueToUnit$1(unit);
      return t1 == null ? this.super$SassNumber$coerceValueToUnit(unit, $name) : t1;
    },
    coerceValueToUnit$1(unit) {
      return this.coerceValueToUnit$2(unit, null);
    },
    _coerceToUnit$1(unit) {
      var t1 = this._unit;
      if (t1 === unit)
        return this;
      return A.NullableExtension_andThen(A.conversionFactor(unit, t1), new A.SingleUnitSassNumber__coerceToUnit_closure(this, unit));
    },
    _coerceValueToUnit$1(unit) {
      return A.NullableExtension_andThen(A.conversionFactor(unit, this._unit), new A.SingleUnitSassNumber__coerceValueToUnit_closure(this));
    },
    multiplyUnits$3(value, otherNumerators, otherDenominators) {
      var mutableOtherDenominators, t1 = {};
      t1.value = value;
      t1.newNumerators = otherNumerators;
      mutableOtherDenominators = A._setArrayType(otherDenominators.slice(0), A._arrayInstanceType(otherDenominators));
      A.removeFirstWhere(mutableOtherDenominators, new A.SingleUnitSassNumber_multiplyUnits_closure(t1, this), new A.SingleUnitSassNumber_multiplyUnits_closure0(t1, this));
      return A.SassNumber_SassNumber$withUnits(t1.value, mutableOtherDenominators, t1.newNumerators);
    },
    unaryMinus$0() {
      return new A.SingleUnitSassNumber(this._unit, -this._number$_value, null);
    },
    $eq(_, other) {
      var factor;
      if (other == null)
        return false;
      if (other instanceof A.SingleUnitSassNumber) {
        factor = A.conversionFactor(other._unit, this._unit);
        return factor != null && A.fuzzyEquals(this._number$_value * factor, other._number$_value);
      } else
        return false;
    },
    get$hashCode(_) {
      var _this = this,
        t1 = _this.hashCache;
      return t1 == null ? _this.hashCache = A.fuzzyHashCode(_this._number$_value * _this.canonicalMultiplierForUnit$1(_this._unit)) : t1;
    }
  };
  A.SingleUnitSassNumber__coerceToUnit_closure.prototype = {
    call$1(factor) {
      return new A.SingleUnitSassNumber(this.unit, this.$this._number$_value * factor, null);
    },
    $signature: 360
  };
  A.SingleUnitSassNumber__coerceValueToUnit_closure.prototype = {
    call$1(factor) {
      return this.$this._number$_value * factor;
    },
    $signature: 37
  };
  A.SingleUnitSassNumber_multiplyUnits_closure.prototype = {
    call$1(denominator) {
      var factor = A.conversionFactor(denominator, this.$this._unit);
      if (factor == null)
        return false;
      this._box_0.value *= factor;
      return true;
    },
    $signature: 4
  };
  A.SingleUnitSassNumber_multiplyUnits_closure0.prototype = {
    call$0() {
      var t1 = A._setArrayType([this.$this._unit], type$.JSArray_String),
        t2 = this._box_0;
      B.JSArray_methods.addAll$1(t1, t2.newNumerators);
      t2.newNumerators = t1;
    },
    $signature: 0
  };
  A.UnitlessSassNumber.prototype = {
    get$numeratorUnits(_) {
      return B.List_empty;
    },
    get$denominatorUnits(_) {
      return B.List_empty;
    },
    get$hasUnits() {
      return false;
    },
    get$hasComplexUnits() {
      return false;
    },
    withValue$1(value) {
      return new A.UnitlessSassNumber(value, null);
    },
    withSlash$2(numerator, denominator) {
      return new A.UnitlessSassNumber(this._number$_value, new A._Record_2(numerator, denominator));
    },
    hasUnit$1(unit) {
      return false;
    },
    hasCompatibleUnits$1(other) {
      return other instanceof A.UnitlessSassNumber;
    },
    hasPossiblyCompatibleUnits$1(other) {
      return other instanceof A.UnitlessSassNumber;
    },
    compatibleWithUnit$1(unit) {
      return true;
    },
    coerceToMatch$1(other) {
      return other.withValue$1(this._number$_value);
    },
    coerceValueToMatch$3(other, $name, otherName) {
      return this._number$_value;
    },
    coerceValueToMatch$1(other) {
      return this.coerceValueToMatch$3(other, null, null);
    },
    convertValueToMatch$3(other, $name, otherName) {
      return other.get$hasUnits() ? this.super$SassNumber$convertValueToMatch(other, $name, otherName) : this._number$_value;
    },
    convertValueToMatch$1(other) {
      return this.convertValueToMatch$3(other, null, null);
    },
    coerce$2(newNumerators, newDenominators) {
      return A.SassNumber_SassNumber$withUnits(this._number$_value, newDenominators, newNumerators);
    },
    coerceValue$3(newNumerators, newDenominators, $name) {
      return this._number$_value;
    },
    coerceValueToUnit$2(unit, $name) {
      return this._number$_value;
    },
    coerceValueToUnit$1(unit) {
      return this.coerceValueToUnit$2(unit, null);
    },
    greaterThan$1(other) {
      var t1, t2;
      if (other instanceof A.SassNumber) {
        t1 = this._number$_value;
        t2 = other._number$_value;
        return t1 > t2 && !A.fuzzyEquals(t1, t2) ? B.SassBoolean_true : B.SassBoolean_false;
      }
      return this.super$SassNumber$greaterThan(other);
    },
    greaterThanOrEquals$1(other) {
      var t1, t2;
      if (other instanceof A.SassNumber) {
        t1 = this._number$_value;
        t2 = other._number$_value;
        return t1 > t2 || A.fuzzyEquals(t1, t2) ? B.SassBoolean_true : B.SassBoolean_false;
      }
      return this.super$SassNumber$greaterThanOrEquals(other);
    },
    lessThan$1(other) {
      var t1, t2;
      if (other instanceof A.SassNumber) {
        t1 = this._number$_value;
        t2 = other._number$_value;
        return t1 < t2 && !A.fuzzyEquals(t1, t2) ? B.SassBoolean_true : B.SassBoolean_false;
      }
      return this.super$SassNumber$lessThan(other);
    },
    lessThanOrEquals$1(other) {
      var t1, t2;
      if (other instanceof A.SassNumber) {
        t1 = this._number$_value;
        t2 = other._number$_value;
        return t1 < t2 || A.fuzzyEquals(t1, t2) ? B.SassBoolean_true : B.SassBoolean_false;
      }
      return this.super$SassNumber$lessThanOrEquals(other);
    },
    modulo$1(other) {
      if (other instanceof A.SassNumber)
        return other.withValue$1(A.moduloLikeSass(this._number$_value, other._number$_value));
      return this.super$SassNumber$modulo(other);
    },
    plus$1(other) {
      if (other instanceof A.SassNumber)
        return other.withValue$1(this._number$_value + other._number$_value);
      return this.super$SassNumber$plus(other);
    },
    minus$1(other) {
      if (other instanceof A.SassNumber)
        return other.withValue$1(this._number$_value - other._number$_value);
      return this.super$SassNumber$minus(other);
    },
    times$1(other) {
      if (other instanceof A.SassNumber)
        return other.withValue$1(this._number$_value * other._number$_value);
      return this.super$SassNumber$times(other);
    },
    dividedBy$1(other) {
      var t1, t2;
      if (other instanceof A.SassNumber) {
        t1 = this._number$_value / other._number$_value;
        if (other.get$hasUnits()) {
          t2 = other.get$denominatorUnits(other);
          t2 = A.SassNumber_SassNumber$withUnits(t1, other.get$numeratorUnits(other), t2);
          t1 = t2;
        } else
          t1 = new A.UnitlessSassNumber(t1, null);
        return t1;
      }
      return this.super$SassNumber$dividedBy(other);
    },
    unaryMinus$0() {
      return new A.UnitlessSassNumber(-this._number$_value, null);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.UnitlessSassNumber && A.fuzzyEquals(this._number$_value, other._number$_value);
    },
    get$hashCode(_) {
      var t1 = this.hashCache;
      return t1 == null ? this.hashCache = A.fuzzyHashCode(this._number$_value) : t1;
    }
  };
  A.SassString.prototype = {
    get$_sassLength() {
      var result, _this = this,
        value = _this.__SassString__sassLength_FI;
      if (value === $) {
        result = new A.Runes(_this._string$_text).get$length(0);
        _this.__SassString__sassLength_FI !== $ && A.throwUnnamedLateFieldADI();
        _this.__SassString__sassLength_FI = result;
        value = result;
      }
      return value;
    },
    get$isSpecialNumber() {
      var t1, _2_0, _0_0, _1_0;
      if (this._hasQuotes)
        return false;
      t1 = this._string$_text;
      if (t1.length < 6)
        return false;
      _2_0 = t1.charCodeAt(0);
      $label1$1: {
        if (99 === _2_0 || 67 === _2_0) {
          _0_0 = t1.charCodeAt(1);
          $label0$0: {
            if (108 === _0_0 || 76 === _0_0) {
              t1 = (t1.charCodeAt(2) | 32) === 97 && (t1.charCodeAt(3) | 32) === 109 && (t1.charCodeAt(4) | 32) === 112 && t1.charCodeAt(5) === 40;
              break $label0$0;
            }
            if (97 === _0_0 || 65 === _0_0) {
              t1 = (t1.charCodeAt(2) | 32) === 108 && (t1.charCodeAt(3) | 32) === 99 && t1.charCodeAt(4) === 40;
              break $label0$0;
            }
            t1 = false;
            break $label0$0;
          }
          break $label1$1;
        }
        if (118 === _2_0 || 86 === _2_0) {
          t1 = (t1.charCodeAt(1) | 32) === 97 && (t1.charCodeAt(2) | 32) === 114 && t1.charCodeAt(3) === 40;
          break $label1$1;
        }
        if (101 === _2_0 || 69 === _2_0) {
          t1 = (t1.charCodeAt(1) | 32) === 110 && (t1.charCodeAt(2) | 32) === 118 && t1.charCodeAt(3) === 40;
          break $label1$1;
        }
        if (109 === _2_0 || 77 === _2_0) {
          _1_0 = t1.charCodeAt(1);
          $label2$2: {
            if (97 === _1_0 || 65 === _1_0) {
              t1 = (t1.charCodeAt(2) | 32) === 120 && t1.charCodeAt(3) === 40;
              break $label2$2;
            }
            if (105 === _1_0 || 73 === _1_0) {
              t1 = (t1.charCodeAt(2) | 32) === 110 && t1.charCodeAt(3) === 40;
              break $label2$2;
            }
            t1 = false;
            break $label2$2;
          }
          break $label1$1;
        }
        t1 = false;
        break $label1$1;
      }
      return t1;
    },
    get$isVar() {
      if (this._hasQuotes)
        return false;
      var t1 = this._string$_text;
      if (t1.length < 8)
        return false;
      return (t1.charCodeAt(0) | 32) === 118 && (t1.charCodeAt(1) | 32) === 97 && (t1.charCodeAt(2) | 32) === 114 && t1.charCodeAt(3) === 40;
    },
    get$isBlank() {
      return !this._hasQuotes && this._string$_text.length === 0;
    },
    accept$1$1(visitor) {
      var t1 = visitor._quote && this._hasQuotes,
        t2 = this._string$_text;
      if (t1)
        visitor._visitQuotedString$1(t2);
      else
        visitor._visitUnquotedString$1(t2);
      return null;
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertString$1($name) {
      return this;
    },
    plus$1(other) {
      var t1 = this._string$_text,
        t2 = this._hasQuotes;
      return other instanceof A.SassString ? new A.SassString(t1 + other._string$_text, t2) : new A.SassString(t1 + A.serializeValue(other, false, true), t2);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.SassString && this._string$_text === other._string$_text;
    },
    get$hashCode(_) {
      var t1 = this._hashCache;
      return t1 == null ? this._hashCache = B.JSString_methods.get$hashCode(this._string$_text) : t1;
    }
  };
  A.AnySelectorVisitor.prototype = {
    visitComplexSelector$1(complex) {
      return B.JSArray_methods.any$1(complex.components, new A.AnySelectorVisitor_visitComplexSelector_closure(this));
    },
    visitCompoundSelector$1(compound) {
      return B.JSArray_methods.any$1(compound.components, new A.AnySelectorVisitor_visitCompoundSelector_closure(this));
    },
    visitPseudoSelector$1(pseudo) {
      var selector = pseudo.selector;
      return selector == null ? false : this.visitSelectorList$1(selector);
    },
    visitSelectorList$1(list) {
      return B.JSArray_methods.any$1(list.components, this.get$visitComplexSelector());
    },
    visitAttributeSelector$1(attribute) {
      return false;
    },
    visitClassSelector$1(klass) {
      return false;
    },
    visitIDSelector$1(id) {
      return false;
    },
    visitParentSelector$1($parent) {
      return false;
    },
    visitPlaceholderSelector$1(placeholder) {
      return false;
    },
    visitTypeSelector$1(type) {
      return false;
    },
    visitUniversalSelector$1(universal) {
      return false;
    }
  };
  A.AnySelectorVisitor_visitComplexSelector_closure.prototype = {
    call$1(component) {
      return this.$this.visitCompoundSelector$1(component.selector);
    },
    $signature: 49
  };
  A.AnySelectorVisitor_visitCompoundSelector_closure.prototype = {
    call$1(simple) {
      return simple.accept$1(this.$this);
    },
    $signature: 13
  };
  A._EvaluateVisitor0.prototype = {
    _EvaluateVisitor$6$functions$importCache$logger$nodeImporter$quietDeps$sourceMap0(functions, importCache, logger, nodeImporter, quietDeps, sourceMap) {
      var t2, metaModule, t3, _i, module, $function, t4, _this = this,
        _s20_ = "$name, $module: null",
        _s9_ = "sass:meta",
        _s7_ = "$module",
        t1 = type$.JSArray_AsyncBuiltInCallable,
        metaFunctions = A._setArrayType([A.BuiltInCallable$function("global-variable-exists", _s20_, new A._EvaluateVisitor_closure12(_this), _s9_), A.BuiltInCallable$function("variable-exists", "$name", new A._EvaluateVisitor_closure13(_this), _s9_), A.BuiltInCallable$function("function-exists", _s20_, new A._EvaluateVisitor_closure14(_this), _s9_), A.BuiltInCallable$function("mixin-exists", _s20_, new A._EvaluateVisitor_closure15(_this), _s9_), A.BuiltInCallable$function("content-exists", "", new A._EvaluateVisitor_closure16(_this), _s9_), A.BuiltInCallable$function("module-variables", _s7_, new A._EvaluateVisitor_closure17(_this), _s9_), A.BuiltInCallable$function("module-functions", _s7_, new A._EvaluateVisitor_closure18(_this), _s9_), A.BuiltInCallable$function("module-mixins", _s7_, new A._EvaluateVisitor_closure19(_this), _s9_), A.BuiltInCallable$function("get-function", "$name, $css: false, $module: null", new A._EvaluateVisitor_closure20(_this), _s9_), A.BuiltInCallable$function("get-mixin", _s20_, new A._EvaluateVisitor_closure21(_this), _s9_), new A.AsyncBuiltInCallable("call", A.ScssParser$("@function call($function, $args...) {", null, _s9_).parseArgumentDeclaration$0(), new A._EvaluateVisitor_closure22(_this), false)], t1),
        metaMixins = A._setArrayType([A.AsyncBuiltInCallable$mixin("load-css", "$url, $with: null", new A._EvaluateVisitor_closure23(_this), false, _s9_), A.AsyncBuiltInCallable$mixin("apply", "$mixin, $args...", new A._EvaluateVisitor_closure24(_this), true, _s9_)], t1);
      t1 = type$.AsyncBuiltInCallable;
      t2 = A.List_List$of($.$get$global(), true, t1);
      B.JSArray_methods.addAll$1(t2, $.$get$local());
      B.JSArray_methods.addAll$1(t2, metaFunctions);
      metaModule = A.BuiltInModule$("meta", t2, metaMixins, null, t1);
      for (t1 = A.List_List$of($.$get$coreModules(), true, type$.BuiltInModule_AsyncCallable), t1.push(metaModule), t2 = t1.length, t3 = _this._async_evaluate$_builtInModules, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        module = t1[_i];
        t3.$indexSet(0, module.url, module);
      }
      t1 = A._setArrayType([], type$.JSArray_AsyncCallable);
      B.JSArray_methods.addAll$1(t1, $.$get$globalFunctions());
      B.JSArray_methods.addAll$1(t1, metaFunctions);
      for (t2 = t1.length, t3 = _this._async_evaluate$_builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        $function = t1[_i];
        t4 = J.get$name$x($function);
        t3.$indexSet(0, A.stringReplaceAllUnchecked(t4, "_", "-"), $function);
      }
    },
    run$2(_, importer, node) {
      return this.run$body$_EvaluateVisitor(0, importer, node);
    },
    run$body$_EvaluateVisitor(_, importer, node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, error, stackTrace, t1, exception, $async$exception;
      var $async$run$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              t1 = type$.nullable_Object;
              t1 = A.runZoned(new A._EvaluateVisitor_run_closure0($async$self, node, importer), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__evaluationContext, new A._EvaluationContext0($async$self, node)], t1, t1), type$.FutureOr_Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet);
              $async$goto = 7;
              return A._asyncAwait(type$.Future_Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet._is(t1) ? t1 : A._Future$value(t1, type$.Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet), $async$run$2);
            case 7:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              // 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$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.SassException) {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                A.throwWithTrace(error.withLoadedUrls$1($async$self._async_evaluate$_loadedUrls), error, stackTrace);
              } else
                throw $async$exception;
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$run$2, $async$completer);
    },
    _async_evaluate$_assertInModule$1$2(value, $name) {
      if (value != null)
        return value;
      throw A.wrapException(A.StateError$("Can't access " + $name + " outside of a module."));
    },
    _async_evaluate$_assertInModule$2(value, $name) {
      return this._async_evaluate$_assertInModule$1$2(value, $name, type$.dynamic);
    },
    _async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, baseUrl, configuration, namesInErrors) {
      return this._loadModule$body$_EvaluateVisitor(url, stackFrame, nodeWithSpan, callback, baseUrl, configuration, namesInErrors);
    },
    _async_evaluate$_loadModule$5$configuration(url, stackFrame, nodeWithSpan, callback, configuration) {
      return this._async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, null, configuration, false);
    },
    _async_evaluate$_loadModule$4(url, stackFrame, nodeWithSpan, callback) {
      return this._async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, null, null, false);
    },
    _loadModule$body$_EvaluateVisitor(url, stackFrame, nodeWithSpan, callback, baseUrl, configuration, namesInErrors) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t2, t1, _0_0;
      var $async$_async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              _0_0 = $async$self._async_evaluate$_builtInModules.$index(0, url);
              t1.builtInModule = null;
              $async$goto = _0_0 != null ? 3 : 4;
              break;
            case 3:
              // then
              t1.builtInModule = _0_0;
              if (configuration instanceof A.ExplicitConfiguration) {
                t1 = namesInErrors ? "Built-in module " + url.toString$0(0) + " can't be configured." : "Built-in modules can't be configured.";
                t2 = configuration.nodeWithSpan;
                throw A.wrapException($async$self._async_evaluate$_exception$2(t1, t2.get$span(t2)));
              }
              $async$goto = 5;
              return A._asyncAwait($async$self._addExceptionSpanAsync$1$2(nodeWithSpan, new A._EvaluateVisitor__loadModule_closure1(t1, callback), type$.void), $async$_async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors);
            case 5:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate$_withStackFrame$1$3(stackFrame, nodeWithSpan, new A._EvaluateVisitor__loadModule_closure2($async$self, url, nodeWithSpan, baseUrl, namesInErrors, configuration, callback), type$.Null), $async$_async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors);
            case 6:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors, $async$completer);
    },
    _async_evaluate$_execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, configuration, namesInErrors, nodeWithSpan) {
      return this._execute$body$_EvaluateVisitor(importer, stylesheet, configuration, namesInErrors, nodeWithSpan);
    },
    _async_evaluate$_execute$2(importer, stylesheet) {
      return this._async_evaluate$_execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, null, false, null);
    },
    _execute$body$_EvaluateVisitor(importer, stylesheet, configuration, namesInErrors, nodeWithSpan) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Module_AsyncCallable),
        $async$returnValue, $async$self = this, _0_0, currentConfiguration, t2, t3, message, existingSpan, configurationSpan, environment, css, preModuleComments, extensionStore, module, t1, url;
      var $async$_async_evaluate$_execute$5$configuration$namesInErrors$nodeWithSpan = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = stylesheet.span;
              url = t1.get$sourceUrl(t1);
              t1 = $async$self._async_evaluate$_modules;
              _0_0 = t1.$index(0, url);
              if (_0_0 != null) {
                t1 = configuration == null;
                currentConfiguration = t1 ? $async$self._async_evaluate$_configuration : configuration;
                t2 = $async$self._async_evaluate$_moduleConfigurations.$index(0, url);
                t3 = t2.__originalConfiguration;
                t2 = t3 == null ? t2 : t3;
                t3 = currentConfiguration.__originalConfiguration;
                if (t2 !== (t3 == null ? currentConfiguration : t3) && currentConfiguration instanceof A.ExplicitConfiguration) {
                  if (namesInErrors) {
                    t2 = $.$get$context();
                    url.toString;
                    message = t2.prettyUri$1(url) + string$.x20was_a;
                  } else
                    message = string$.This_mw;
                  t2 = $async$self._async_evaluate$_moduleNodes.$index(0, url);
                  existingSpan = t2 == null ? null : t2.get$span(t2);
                  if (t1) {
                    t1 = currentConfiguration.nodeWithSpan;
                    configurationSpan = t1.get$span(t1);
                  } else
                    configurationSpan = null;
                  t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
                  if (existingSpan != null)
                    t1.$indexSet(0, existingSpan, "original load");
                  if (configurationSpan != null)
                    t1.$indexSet(0, configurationSpan, "configuration");
                  throw A.wrapException(t1.get$isEmpty(0) ? $async$self._async_evaluate$_exception$1(message) : $async$self._async_evaluate$_multiSpanException$3(message, "new load", t1));
                }
                $async$returnValue = _0_0;
                // goto return
                $async$goto = 1;
                break;
              }
              environment = A.AsyncEnvironment$();
              css = A._Cell$();
              preModuleComments = A._Cell$();
              extensionStore = A.ExtensionStore$();
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_withEnvironment$1$2(environment, new A._EvaluateVisitor__execute_closure0($async$self, importer, stylesheet, extensionStore, configuration, css, preModuleComments), type$.Null), $async$_async_evaluate$_execute$5$configuration$namesInErrors$nodeWithSpan);
            case 3:
              // returning from await.
              t2 = css._readLocal$0();
              t3 = preModuleComments._readLocal$0();
              module = environment.toModule$3(t2, t3 == null ? B.Map_empty7 : t3, extensionStore);
              if (url != null) {
                t1.$indexSet(0, url, module);
                $async$self._async_evaluate$_moduleConfigurations.$indexSet(0, url, $async$self._async_evaluate$_configuration);
                if (nodeWithSpan != null)
                  $async$self._async_evaluate$_moduleNodes.$indexSet(0, url, nodeWithSpan);
              }
              $async$returnValue = module;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_execute$5$configuration$namesInErrors$nodeWithSpan, $async$completer);
    },
    _async_evaluate$_addOutOfOrderImports$0() {
      var t1, t2, _this = this, _s5_ = "_root",
        _s13_ = "_endOfImports",
        _0_0 = _this._async_evaluate$_outOfOrderImports;
      $label0$0: {
        if (_0_0 == null) {
          t1 = _this._async_evaluate$_assertInModule$2(_this._async_evaluate$__root, _s5_).children;
          break $label0$0;
        }
        t1 = _this._async_evaluate$_assertInModule$2(_this._async_evaluate$__root, _s5_).children;
        t1 = A.List_List$of(A.SubListIterable$(t1, 0, A.checkNotNullable(_this._async_evaluate$_assertInModule$2(_this._async_evaluate$__endOfImports, _s13_), "count", type$.int), t1.$ti._eval$1("ListBase.E")), true, type$.ModifiableCssNode);
        B.JSArray_methods.addAll$1(t1, _0_0);
        t2 = _this._async_evaluate$_assertInModule$2(_this._async_evaluate$__root, _s5_).children;
        B.JSArray_methods.addAll$1(t1, A.SubListIterable$(t2, _this._async_evaluate$_assertInModule$2(_this._async_evaluate$__endOfImports, _s13_), null, t2.$ti._eval$1("ListBase.E")));
        break $label0$0;
      }
      return t1;
    },
    _async_evaluate$_combineCss$2$clone(root, clone) {
      var selectors, _0_0, t1, imports, css, sorted, t2;
      if (!B.JSArray_methods.any$1(root.get$upstream(), new A._EvaluateVisitor__combineCss_closure1())) {
        selectors = root.get$extensionStore().get$simpleSelectors();
        _0_0 = A.IterableExtension_get_firstOrNull(root.get$extensionStore().extensionsWhereTarget$1(new A._EvaluateVisitor__combineCss_closure2(selectors)));
        if (_0_0 != null)
          this._async_evaluate$_throwForUnsatisfiedExtension$1(_0_0);
        return root.get$css(root);
      }
      t1 = type$.JSArray_CssNode;
      imports = A._setArrayType([], t1);
      css = A._setArrayType([], t1);
      t1 = type$.Module_AsyncCallable;
      sorted = A.ListQueue$(t1);
      new A._EvaluateVisitor__combineCss_visitModule0(this, A.LinkedHashSet_LinkedHashSet$_empty(t1), clone, css, imports, sorted).call$1(root);
      if (root.get$transitivelyContainsExtensions())
        this._async_evaluate$_extendModules$1(sorted);
      t1 = B.JSArray_methods.$add(imports, css);
      t2 = root.get$css(root);
      return new A.CssStylesheet(new A.UnmodifiableListView(t1, type$.UnmodifiableListView_CssNode), t2.get$span(t2));
    },
    _async_evaluate$_combineCss$1(root) {
      return this._async_evaluate$_combineCss$2$clone(root, false);
    },
    _async_evaluate$_extendModules$1(sortedModules) {
      var t1, t2, t3, originalSelectors, $self, t4, t5, _i, upstream, _0_0,
        downstreamExtensionStores = A.LinkedHashMap_LinkedHashMap$_empty(type$.Uri, type$.List_ExtensionStore),
        unsatisfiedExtensions = new A._LinkedIdentityHashSet(type$._LinkedIdentityHashSet_Extension);
      for (t1 = A._ListQueueIterator$(sortedModules, sortedModules.$ti._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        originalSelectors = t3.get$extensionStore().get$simpleSelectors().toSet$0(0);
        unsatisfiedExtensions.addAll$1(0, t3.get$extensionStore().extensionsWhereTarget$1(new A._EvaluateVisitor__extendModules_closure1(originalSelectors)));
        $self = downstreamExtensionStores.$index(0, t3.get$url(t3));
        t4 = t3.get$extensionStore().get$addExtensions();
        if ($self != null)
          t4.call$1($self);
        t4 = t3.get$extensionStore();
        if (t4.get$isEmpty(t4))
          continue;
        for (t4 = t3.get$upstream(), t5 = t4.length, _i = 0; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i) {
          upstream = t4[_i];
          _0_0 = upstream.get$url(upstream);
          if (_0_0 != null)
            J.add$1$ax(downstreamExtensionStores.putIfAbsent$2(_0_0, new A._EvaluateVisitor__extendModules_closure2()), t3.get$extensionStore());
        }
        unsatisfiedExtensions.removeAll$1(t3.get$extensionStore().extensionsWhereTarget$1(originalSelectors.get$contains(originalSelectors)));
      }
      if (unsatisfiedExtensions._collection$_length !== 0)
        this._async_evaluate$_throwForUnsatisfiedExtension$1(unsatisfiedExtensions.get$first(0));
    },
    _async_evaluate$_throwForUnsatisfiedExtension$1(extension) {
      throw A.wrapException(A.SassException$(string$.The_ta + extension.target.toString$0(0) + ' !optional" to avoid this error.', extension.span, null));
    },
    _async_evaluate$_indexAfterImports$1(statements) {
      var t1, lastImport, i, _0_0;
      for (t1 = J.getInterceptor$asx(statements), lastImport = -1, i = 0; i < t1.get$length(statements); ++i) {
        $label0$0: {
          _0_0 = t1.$index(statements, i);
          if (_0_0 instanceof A.ModifiableCssImport)
            break $label0$0;
          if (_0_0 instanceof A.ModifiableCssComment)
            continue;
          break;
        }
        lastImport = i;
      }
      return lastImport + 1;
    },
    visitStylesheet$1(node) {
      return this.visitStylesheet$body$_EvaluateVisitor(node);
    },
    visitStylesheet$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t1, t2, _i;
      var $async$visitStylesheet$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = node.children, t2 = t1.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(t1[_i].accept$1($async$self), $async$visitStylesheet$1);
            case 6:
              // returning from await.
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitStylesheet$1, $async$completer);
    },
    visitAtRootRule$1(node) {
      return this.visitAtRootRule$body$_EvaluateVisitor(node);
    },
    visitAtRootRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, _1_0, resolved, query, $parent, included, t1, _2_0, root, first, rest, innerCopy, outerCopy, _i, copy, _0_0;
      var $async$visitAtRootRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _0_0 = node.query;
              $async$goto = _0_0 != null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolationWithMap$2$warnForColor(_0_0, true), $async$visitAtRootRule$1);
            case 6:
              // returning from await.
              _1_0 = $async$result;
              resolved = _1_0._0;
              _1_0._1;
              query = A.AtRootQueryParser$(resolved, $async$self._async_evaluate$_logger, null).parse$0();
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              query = B.AtRootQuery_n2q;
            case 4:
              // join
              $parent = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent");
              included = A._setArrayType([], type$.JSArray_ModifiableCssParentNode);
              for (t1 = type$.CssStylesheet; !t1._is($parent); $parent = _2_0) {
                if (!query.excludes$1($parent))
                  included.push($parent);
                _2_0 = $parent._parent;
                if (_2_0 == null)
                  throw A.wrapException(A.StateError$(string$.CssNod));
              }
              root = $async$self._async_evaluate$_trimIncluded$1(included);
              $async$goto = root === $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent") ? 7 : 8;
              break;
            case 7:
              // then
              $async$goto = 9;
              return A._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(new A._EvaluateVisitor_visitAtRootRule_closure1($async$self, node), node.hasDeclarations, type$.Null), $async$visitAtRootRule$1);
            case 9:
              // returning from await.
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 8:
              // join
              if (included.length >= 1) {
                first = included[0];
                rest = B.JSArray_methods.sublist$1(included, 1);
                innerCopy = first.copyWithoutChildren$0();
                for (t1 = rest.length, outerCopy = innerCopy, _i = 0; _i < rest.length; rest.length === t1 || (0, A.throwConcurrentModificationError)(rest), ++_i, outerCopy = copy) {
                  copy = rest[_i].copyWithoutChildren$0();
                  copy.addChild$1(outerCopy);
                }
                root.addChild$1(outerCopy);
              } else
                innerCopy = root;
              $async$goto = 10;
              return A._asyncAwait($async$self._async_evaluate$_scopeForAtRoot$4(node, innerCopy, query, included).call$1(new A._EvaluateVisitor_visitAtRootRule_closure2($async$self, node)), $async$visitAtRootRule$1);
            case 10:
              // 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$visitAtRootRule$1, $async$completer);
    },
    _async_evaluate$_trimIncluded$1(nodes) {
      var $parent, t1, innermostContiguous, i, t2, _0_0, _1_0, root, _this = this, _null = null, _s5_ = "_root",
        _s22_ = " to be an ancestor of ";
      if (nodes.length === 0)
        return _this._async_evaluate$_assertInModule$2(_this._async_evaluate$__root, _s5_);
      $parent = _this._async_evaluate$_assertInModule$2(_this._async_evaluate$__parent, "__parent");
      for (t1 = nodes.length, innermostContiguous = _null, i = 0; i < t1; ++i, $parent = _1_0) {
        for (; t2 = nodes[i], $parent !== t2; innermostContiguous = _null, $parent = _0_0) {
          _0_0 = $parent._parent;
          if (_0_0 == null)
            throw A.wrapException(A.ArgumentError$("Expected " + t2.toString$0(0) + _s22_ + _this.toString$0(0) + ".", _null));
        }
        if (innermostContiguous == null)
          innermostContiguous = i;
        _1_0 = $parent._parent;
        if (_1_0 == null)
          throw A.wrapException(A.ArgumentError$("Expected " + t2.toString$0(0) + _s22_ + _this.toString$0(0) + ".", _null));
      }
      if ($parent !== _this._async_evaluate$_assertInModule$2(_this._async_evaluate$__root, _s5_))
        return _this._async_evaluate$_assertInModule$2(_this._async_evaluate$__root, _s5_);
      innermostContiguous.toString;
      root = nodes[innermostContiguous];
      B.JSArray_methods.removeRange$2(nodes, innermostContiguous, nodes.length);
      return root;
    },
    _async_evaluate$_scopeForAtRoot$4(node, newParent, query, included) {
      var _this = this,
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure5(_this, newParent, node),
        t1 = query._all || query._at_root_query$_rule;
      if (t1 !== query.include)
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure6(_this, scope);
      if (_this._async_evaluate$_mediaQueries != null && query.excludesName$1("media"))
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure7(_this, scope);
      if (_this._async_evaluate$_inKeyframes && query.excludesName$1("keyframes"))
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure8(_this, scope);
      return _this._async_evaluate$_inUnknownAtRule && !B.JSArray_methods.any$1(included, new A._EvaluateVisitor__scopeForAtRoot_closure9()) ? new A._EvaluateVisitor__scopeForAtRoot_closure10(_this, scope) : scope;
    },
    visitContentBlock$1(node) {
      return A.throwExpression(A.UnsupportedError$(string$.Evalua));
    },
    visitContentRule$1(node) {
      return this.visitContentRule$body$_EvaluateVisitor(node);
    },
    visitContentRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, $content;
      var $async$visitContentRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $content = $async$self._async_evaluate$_environment._async_environment$_content;
              if ($content == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_runUserDefinedCallable$1$4(node.$arguments, $content, node, new A._EvaluateVisitor_visitContentRule_closure0($async$self, $content), type$.Null), $async$visitContentRule$1);
            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$visitContentRule$1, $async$completer);
    },
    visitDebugRule$1(node) {
      return this.visitDebugRule$body$_EvaluateVisitor(node);
    },
    visitDebugRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, value, t1;
      var $async$visitDebugRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait(node.expression.accept$1($async$self), $async$visitDebugRule$1);
            case 3:
              // returning from await.
              value = $async$result;
              t1 = value instanceof A.SassString ? value._string$_text : A.serializeValue(value, true, true);
              $async$self._async_evaluate$_logger.debug$2(0, t1, node.span);
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitDebugRule$1, $async$completer);
    },
    visitDeclaration$1(node) {
      return this.visitDeclaration$body$_EvaluateVisitor(node);
    },
    visitDeclaration$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t2, _0_0, t3, $name, _1_0, _2_0, value, t4, t5, _3_0, oldDeclarationName, t1;
      var $async$visitDeclaration$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              if (($async$self._async_evaluate$_atRootExcludingStyleRule ? null : $async$self._async_evaluate$_styleRuleIgnoringAtRoot) == null && !$async$self._async_evaluate$_inUnknownAtRule && !$async$self._async_evaluate$_inKeyframes)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Declarm, node.span));
              if ($async$self._async_evaluate$_declarationName != null && B.JSString_methods.startsWith$1(node.name.get$initialPlain(), "--"))
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Declarw, node.span));
              t2 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent")._parent.children;
              _0_0 = t2.get$last(t2);
              t2 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent");
              if (t2 !== _0_0) {
                t2 = type$.SourceSpan;
                t3 = type$.String;
                $async$self._async_evaluate$_warn$3(string$.Sassx27s, new A.MultiSpan(node.span, "declaration", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([_0_0.get$span(_0_0), "nested rule"], t2, t3), t2, t3)), B.Deprecation_gf0);
              }
              t2 = node.name;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_interpolationToValue$2$warnForColor(t2, true), $async$visitDeclaration$1);
            case 3:
              // returning from await.
              $name = $async$result;
              _1_0 = $async$self._async_evaluate$_declarationName;
              if (_1_0 != null)
                $name = new A.CssValue(_1_0 + "-" + A.S($name.value), $name.span, type$.CssValue_String);
              _2_0 = node.value;
              $async$goto = _2_0 != null ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 6;
              return A._asyncAwait(_2_0.accept$1($async$self), $async$visitDeclaration$1);
            case 6:
              // returning from await.
              value = $async$result;
              if (!value.get$isBlank() || value.get$asList().length === 0) {
                t3 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent");
                t4 = _2_0.get$span(_2_0);
                t2 = B.JSString_methods.startsWith$1(t2.get$initialPlain(), "--");
                if ($async$self._async_evaluate$_sourceMap) {
                  t5 = A.NullableExtension_andThen(_2_0, $async$self.get$_async_evaluate$_expressionNode());
                  t5 = t5 == null ? null : J.get$span$z(t5);
                } else
                  t5 = null;
                t3.addChild$1(A.ModifiableCssDeclaration$($name, new A.CssValue(value, t4, type$.CssValue_Value), node.span, t2, t5));
              } else if (J.startsWith$1$s($name.value, "--"))
                throw A.wrapException($async$self._async_evaluate$_exception$2("Custom property values may not be empty.", _2_0.get$span(_2_0)));
            case 5:
              // join
              _3_0 = node.children;
              t1.children = null;
              $async$goto = _3_0 != null ? 7 : 8;
              break;
            case 7:
              // then
              t1.children = _3_0;
              oldDeclarationName = $async$self._async_evaluate$_declarationName;
              $async$self._async_evaluate$_declarationName = $name.value;
              $async$goto = 9;
              return A._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(new A._EvaluateVisitor_visitDeclaration_closure0(t1, $async$self), node.hasDeclarations, type$.Null), $async$visitDeclaration$1);
            case 9:
              // returning from await.
              $async$self._async_evaluate$_declarationName = oldDeclarationName;
            case 8:
              // join
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitDeclaration$1, $async$completer);
    },
    visitEachRule$1(node) {
      return this.visitEachRule$body$_EvaluateVisitor(node);
    },
    visitEachRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, _box_0, t1, list, nodeWithSpan, _0_0;
      var $async$visitEachRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              t1 = node.list;
              $async$goto = 3;
              return A._asyncAwait(t1.accept$1($async$self), $async$visitEachRule$1);
            case 3:
              // returning from await.
              list = $async$result;
              nodeWithSpan = $async$self._async_evaluate$_expressionNode$1(t1);
              _0_0 = node.variables;
              $label0$0: {
                _box_0.variable = null;
                if (_0_0.length === 1) {
                  _box_0.variable = _0_0[0];
                  t1 = new A._EvaluateVisitor_visitEachRule_closure2(_box_0, $async$self, nodeWithSpan);
                  break $label0$0;
                }
                _box_0.variables = null;
                _box_0.variables = _0_0;
                t1 = new A._EvaluateVisitor_visitEachRule_closure3(_box_0, $async$self, nodeWithSpan);
                break $label0$0;
              }
              $async$returnValue = $async$self._async_evaluate$_environment.scope$1$2$semiGlobal(new A._EvaluateVisitor_visitEachRule_closure4($async$self, list, t1, node), true, type$.nullable_Value);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitEachRule$1, $async$completer);
    },
    _async_evaluate$_setMultipleVariables$3(variables, value, nodeWithSpan) {
      var i,
        list = value.get$asList(),
        t1 = variables.length,
        minLength = Math.min(t1, list.length);
      for (i = 0; i < minLength; ++i)
        this._async_evaluate$_environment.setLocalVariable$3(variables[i], this._async_evaluate$_withoutSlash$2(list[i], nodeWithSpan), nodeWithSpan);
      for (i = minLength; i < t1; ++i)
        this._async_evaluate$_environment.setLocalVariable$3(variables[i], B.C__SassNull, nodeWithSpan);
    },
    visitErrorRule$1(node) {
      return this.visitErrorRule$body$_EvaluateVisitor(node);
    },
    visitErrorRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$self = this, $async$temp1, $async$temp2;
      var $async$visitErrorRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = A;
              $async$temp2 = J;
              $async$goto = 2;
              return A._asyncAwait(node.expression.accept$1($async$self), $async$visitErrorRule$1);
            case 2:
              // returning from await.
              throw $async$temp1.wrapException($async$self._async_evaluate$_exception$2($async$temp2.toString$0$($async$result), node.span));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitErrorRule$1, $async$completer);
    },
    visitExtendRule$1(node) {
      return this.visitExtendRule$body$_EvaluateVisitor(node);
    },
    visitExtendRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, _0_0, targetText, targetMap, compound, styleRule;
      var $async$visitExtendRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              styleRule = $async$self._async_evaluate$_atRootExcludingStyleRule ? null : $async$self._async_evaluate$_styleRuleIgnoringAtRoot;
              if (styleRule == null || $async$self._async_evaluate$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.x40exten, node.span));
              for (t1 = styleRule.originalSelector.components, t2 = t1.length, t3 = node.span, t4 = type$.SourceSpan, t5 = type$.String, _i = 0; _i < t2; ++_i) {
                complex = t1[_i];
                if (!complex.accept$1(B._IsBogusVisitor_true))
                  continue;
                visitor = A._SerializeVisitor$(null, true, null, true, false, null, true);
                complex.accept$1(visitor);
                t6 = B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0));
                t7 = complex.accept$1(B.C__IsUselessVisitor) ? "can't" : "shouldn't";
                $async$self._async_evaluate$_warn$3('The selector "' + t6 + '" is invalid CSS and ' + t7 + string$.x20be_an, new A.MultiSpan(A.SpanExtensions_trimRight(complex.span), "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t3, "@extend rule"], t4, t5), t4, t5)), B.Deprecation_ido);
              }
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolationWithMap$2$warnForColor(node.selector, true), $async$visitExtendRule$1);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              targetText = _0_0._0;
              targetMap = _0_0._1;
              for (t1 = A.SelectorList_SelectorList$parse(A.trimAscii(targetText, true), false, targetMap, $async$self._async_evaluate$_logger, false).components, t2 = t1.length, t3 = styleRule._style_rule$_selector._box$_inner, _i = 0; _i < t2; ++_i) {
                complex = t1[_i];
                compound = complex.get$singleCompound();
                if (compound == null)
                  throw A.wrapException(A.SassFormatException$("complex selectors may not be extended.", complex.span, null));
                t4 = compound.components;
                t5 = t4.length === 1 ? B.JSArray_methods.get$first(t4) : null;
                if (t5 == null)
                  throw A.wrapException(A.SassFormatException$(string$.compou + B.JSArray_methods.join$1(t4, ", ") + string$.x60_inst, compound.span, null));
                $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__extensionStore, "_extensionStore").addExtension$4(t3.value, t5, node, $async$self._async_evaluate$_mediaQueries);
              }
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitExtendRule$1, $async$completer);
    },
    visitAtRule$1(node) {
      return this.visitAtRule$body$_EvaluateVisitor(node);
    },
    visitAtRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, $name, t1, value, children, wasInKeyframes, wasInUnknownAtRule;
      var $async$visitAtRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.At_rul, node.span));
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_interpolationToValue$1(node.name), $async$visitAtRule$1);
            case 3:
              // returning from await.
              $name = $async$result;
              t1 = A.NullableExtension_andThen(node.value, new A._EvaluateVisitor_visitAtRule_closure2($async$self));
              $async$goto = 4;
              return A._asyncAwait(type$.Future_nullable_CssValue_String._is(t1) ? t1 : A._Future$value(t1, type$.nullable_CssValue_String), $async$visitAtRule$1);
            case 4:
              // returning from await.
              value = $async$result;
              children = node.children;
              if (children == null) {
                $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").addChild$1(A.ModifiableCssAtRule$($name, node.span, true, value));
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              wasInKeyframes = $async$self._async_evaluate$_inKeyframes;
              wasInUnknownAtRule = $async$self._async_evaluate$_inUnknownAtRule;
              if (A.unvendor($name.value) === "keyframes")
                $async$self._async_evaluate$_inKeyframes = true;
              else
                $async$self._async_evaluate$_inUnknownAtRule = true;
              $async$goto = 5;
              return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(A.ModifiableCssAtRule$($name, node.span, false, value), new A._EvaluateVisitor_visitAtRule_closure3($async$self, $name, children), node.hasDeclarations, new A._EvaluateVisitor_visitAtRule_closure4(), type$.ModifiableCssAtRule, type$.Null), $async$visitAtRule$1);
            case 5:
              // returning from await.
              $async$self._async_evaluate$_inUnknownAtRule = wasInUnknownAtRule;
              $async$self._async_evaluate$_inKeyframes = wasInKeyframes;
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitAtRule$1, $async$completer);
    },
    visitForRule$1(node) {
      return this.visitForRule$body$_EvaluateVisitor(node);
    },
    visitForRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t1, t2, t3, fromNumber, t4, toNumber, from, to, direction;
      var $async$visitForRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              t2 = node.from;
              t3 = type$.SassNumber;
              $async$goto = 3;
              return A._asyncAwait($async$self._addExceptionSpanAsync$1$2(t2, new A._EvaluateVisitor_visitForRule_closure4($async$self, node), t3), $async$visitForRule$1);
            case 3:
              // returning from await.
              fromNumber = $async$result;
              t4 = node.to;
              $async$goto = 4;
              return A._asyncAwait($async$self._addExceptionSpanAsync$1$2(t4, new A._EvaluateVisitor_visitForRule_closure5($async$self, node), t3), $async$visitForRule$1);
            case 4:
              // returning from await.
              toNumber = $async$result;
              from = $async$self._async_evaluate$_addExceptionSpan$2(t2, new A._EvaluateVisitor_visitForRule_closure6(fromNumber));
              to = t1.to = $async$self._async_evaluate$_addExceptionSpan$2(t4, new A._EvaluateVisitor_visitForRule_closure7(toNumber, fromNumber));
              direction = from > to ? -1 : 1;
              if (from === (!node.isExclusive ? t1.to = to + direction : to)) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = $async$self._async_evaluate$_environment.scope$1$2$semiGlobal(new A._EvaluateVisitor_visitForRule_closure8(t1, $async$self, node, from, direction, fromNumber), true, type$.nullable_Value);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitForRule$1, $async$completer);
    },
    visitForwardRule$1(node) {
      return this.visitForwardRule$body$_EvaluateVisitor(node);
    },
    visitForwardRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, newConfiguration, t4, _i, variable, $name, oldConfiguration, adjustedConfiguration, t1, t2, t3;
      var $async$visitForwardRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldConfiguration = $async$self._async_evaluate$_configuration;
              adjustedConfiguration = oldConfiguration.throughForward$1(node);
              t1 = node.configuration;
              t2 = t1.length;
              t3 = node.url;
              $async$goto = t2 !== 0 ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate$_addForwardConfiguration$2(adjustedConfiguration, node), $async$visitForwardRule$1);
            case 6:
              // returning from await.
              newConfiguration = $async$result;
              $async$goto = 7;
              return A._asyncAwait($async$self._async_evaluate$_loadModule$5$configuration(t3, "@forward", node, new A._EvaluateVisitor_visitForwardRule_closure1($async$self, node), newConfiguration), $async$visitForwardRule$1);
            case 7:
              // returning from await.
              t3 = type$.String;
              t4 = A.LinkedHashSet_LinkedHashSet$_empty(t3);
              for (_i = 0; _i < t2; ++_i) {
                variable = t1[_i];
                if (!variable.isGuarded)
                  t4.add$1(0, variable.name);
              }
              $async$self._async_evaluate$_removeUsedConfiguration$3$except(adjustedConfiguration, newConfiguration, t4);
              t3 = A.LinkedHashSet_LinkedHashSet$_empty(t3);
              for (_i = 0; _i < t2; ++_i)
                t3.add$1(0, t1[_i].name);
              for (t1 = newConfiguration._configuration$_values, t2 = J.toList$0$ax(t1.get$keys(t1)), t4 = t2.length, _i = 0; _i < t2.length; t2.length === t4 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
                $name = t2[_i];
                if (!t3.contains$1(0, $name))
                  if (!t1.get$isEmpty(t1))
                    t1.remove$1(0, $name);
              }
              $async$self._async_evaluate$_assertConfigurationIsEmpty$1(newConfiguration);
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$self._async_evaluate$_configuration = adjustedConfiguration;
              $async$goto = 8;
              return A._asyncAwait($async$self._async_evaluate$_loadModule$4(t3, "@forward", node, new A._EvaluateVisitor_visitForwardRule_closure2($async$self, node)), $async$visitForwardRule$1);
            case 8:
              // returning from await.
              $async$self._async_evaluate$_configuration = oldConfiguration;
            case 4:
              // join
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitForwardRule$1, $async$completer);
    },
    _async_evaluate$_addForwardConfiguration$2(configuration, node) {
      return this._addForwardConfiguration$body$_EvaluateVisitor(configuration, node);
    },
    _addForwardConfiguration$body$_EvaluateVisitor(configuration, node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Configuration),
        $async$returnValue, $async$self = this, t2, t3, t4, t5, _i, variable, t6, oldValue, t7, variableNodeWithSpan, t8, t1, newValues, $async$temp1, $async$temp2, $async$temp3;
      var $async$_async_evaluate$_addForwardConfiguration$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = configuration._configuration$_values;
              newValues = A.LinkedHashMap_LinkedHashMap$of(new A.UnmodifiableMapView(t1, type$.UnmodifiableMapView_String_ConfiguredValue), type$.String, type$.ConfiguredValue);
              t2 = node.configuration, t3 = t2.length, t4 = type$._Future_Value, t5 = type$.Future_Value, _i = 0;
            case 3:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              variable = t2[_i];
              if (variable.isGuarded) {
                t6 = variable.name;
                oldValue = t1.get$isEmpty(t1) ? null : t1.remove$1(0, t6);
                if (oldValue != null)
                  t7 = !oldValue.value.$eq(0, B.C__SassNull);
                else {
                  oldValue = null;
                  t7 = false;
                }
                if (t7) {
                  newValues.$indexSet(0, t6, oldValue);
                  // goto for update
                  $async$goto = 4;
                  break;
                }
              }
              t6 = variable.expression;
              variableNodeWithSpan = $async$self._async_evaluate$_expressionNode$1(t6);
              t7 = variable.name;
              t6 = t6.accept$1($async$self);
              if (!t5._is(t6)) {
                t8 = new A._Future($.Zone__current, t4);
                t8._state = 8;
                t8._resultOrListeners = t6;
                t6 = t8;
              }
              $async$temp1 = newValues;
              $async$temp2 = t7;
              $async$temp3 = A;
              $async$goto = 6;
              return A._asyncAwait(t6, $async$_async_evaluate$_addForwardConfiguration$2);
            case 6:
              // returning from await.
              $async$temp1.$indexSet(0, $async$temp2, new $async$temp3.ConfiguredValue($async$self._async_evaluate$_withoutSlash$2($async$result, variableNodeWithSpan), variable.span, variableNodeWithSpan));
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              if (configuration instanceof A.ExplicitConfiguration || t1.get$isEmpty(t1)) {
                $async$returnValue = new A.ExplicitConfiguration(node, newValues, null);
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = new A.Configuration(newValues, null);
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_addForwardConfiguration$2, $async$completer);
    },
    _async_evaluate$_registerCommentsForModule$1(module) {
      var _this = this, _s5_ = "_root",
        t1 = _this._async_evaluate$__root;
      if (t1 == null)
        return;
      if (_this._async_evaluate$_assertInModule$2(t1, _s5_).children.get$length(0) === 0 || !module.get$transitivelyContainsCss())
        return;
      t1 = _this._async_evaluate$_preModuleComments;
      if (t1 == null)
        t1 = _this._async_evaluate$_preModuleComments = A.LinkedHashMap_LinkedHashMap$_empty(type$.Module_AsyncCallable, type$.List_CssComment);
      J.addAll$1$ax(t1.putIfAbsent$2(module, new A._EvaluateVisitor__registerCommentsForModule_closure0()), new A.UnmodifiableListView(J.cast$1$0$ax(_this._async_evaluate$_assertInModule$2(_this._async_evaluate$__root, _s5_).children._collection$_source, type$.CssComment), type$.UnmodifiableListView_CssComment));
      _this._async_evaluate$_assertInModule$2(_this._async_evaluate$__root, _s5_).clearChildren$0();
      _this._async_evaluate$__endOfImports = 0;
    },
    _async_evaluate$_removeUsedConfiguration$3$except(upstream, downstream, except) {
      var t1, t2, t3, t4, _i, $name;
      for (t1 = upstream._configuration$_values, t2 = J.toList$0$ax(t1.get$keys(t1)), t3 = t2.length, t4 = downstream._configuration$_values, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        $name = t2[_i];
        if (except.contains$1(0, $name))
          continue;
        if (!t4.containsKey$1($name))
          if (!t1.get$isEmpty(t1))
            t1.remove$1(0, $name);
      }
    },
    _async_evaluate$_assertConfigurationIsEmpty$2$nameInError(configuration, nameInError) {
      var t1, _0_0, $name, value;
      if (!(configuration instanceof A.ExplicitConfiguration))
        return;
      t1 = configuration._configuration$_values;
      if (t1.get$isEmpty(t1))
        return;
      t1 = A.MapExtensions_get_pairs(new A.UnmodifiableMapView(t1, type$.UnmodifiableMapView_String_ConfiguredValue), type$.String, type$.ConfiguredValue);
      _0_0 = t1.get$first(t1);
      $name = _0_0._0;
      value = _0_0._1;
      t1 = nameInError ? "$" + $name + string$.x20was_n : string$.This_v;
      throw A.wrapException(this._async_evaluate$_exception$2(t1, value.configurationSpan));
    },
    _async_evaluate$_assertConfigurationIsEmpty$1(configuration) {
      return this._async_evaluate$_assertConfigurationIsEmpty$2$nameInError(configuration, false);
    },
    visitFunctionRule$1(node) {
      return this.visitFunctionRule$body$_EvaluateVisitor(node);
    },
    visitFunctionRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, index, t5;
      var $async$visitFunctionRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._async_evaluate$_environment;
              t2 = t1.closure$0();
              t3 = $async$self._async_evaluate$_inDependency;
              t4 = t1._async_environment$_functions;
              index = t4.length - 1;
              t5 = node.name;
              t1._async_environment$_functionIndices.$indexSet(0, t5, index);
              J.$indexSet$ax(t4[index], t5, new A.UserDefinedCallable(node, t2, t3, type$.UserDefinedCallable_AsyncEnvironment));
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitFunctionRule$1, $async$completer);
    },
    visitIfRule$1(node) {
      return this.visitIfRule$body$_EvaluateVisitor(node);
    },
    visitIfRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t1, t2, _i, clauseToCheck, clause;
      var $async$visitIfRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              clause = node.lastClause;
              t1 = node.clauses, t2 = t1.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              clauseToCheck = t1[_i];
              $async$goto = 6;
              return A._asyncAwait(clauseToCheck.expression.accept$1($async$self), $async$visitIfRule$1);
            case 6:
              // returning from await.
              if ($async$result.get$isTruthy()) {
                clause = clauseToCheck;
                // goto after for
                $async$goto = 5;
                break;
              }
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              t1 = A.NullableExtension_andThen(clause, new A._EvaluateVisitor_visitIfRule_closure0($async$self));
              $async$goto = 7;
              return A._asyncAwait(type$.Future_nullable_Value._is(t1) ? t1 : A._Future$value(t1, type$.nullable_Value), $async$visitIfRule$1);
            case 7:
              // 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$visitIfRule$1, $async$completer);
    },
    visitImportRule$1(node) {
      return this.visitImportRule$body$_EvaluateVisitor(node);
    },
    visitImportRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t1, t2, t3, _i, $import;
      var $async$visitImportRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = node.imports, t2 = t1.length, t3 = type$.StaticImport, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $import = t1[_i];
              $async$goto = $import instanceof A.DynamicImport ? 6 : 8;
              break;
            case 6:
              // then
              $async$goto = 9;
              return A._asyncAwait($async$self._async_evaluate$_visitDynamicImport$1($import), $async$visitImportRule$1);
            case 9:
              // returning from await.
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              $async$goto = 10;
              return A._asyncAwait($async$self._visitStaticImport$1(t3._as($import)), $async$visitImportRule$1);
            case 10:
              // returning from await.
            case 7:
              // join
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitImportRule$1, $async$completer);
    },
    _async_evaluate$_visitDynamicImport$1($import) {
      return this._async_evaluate$_withStackFrame$1$3("@import", $import, new A._EvaluateVisitor__visitDynamicImport_closure0(this, $import), type$.void);
    },
    _async_evaluate$_loadStylesheet$4$baseUrl$forImport(url, span, baseUrl, forImport) {
      return this._loadStylesheet$body$_EvaluateVisitor(url, span, baseUrl, forImport);
    },
    _async_evaluate$_loadStylesheet$3$baseUrl(url, span, baseUrl) {
      return this._async_evaluate$_loadStylesheet$4$baseUrl$forImport(url, span, baseUrl, false);
    },
    _async_evaluate$_loadStylesheet$3$forImport(url, span, forImport) {
      return this._async_evaluate$_loadStylesheet$4$baseUrl$forImport(url, span, null, forImport);
    },
    _loadStylesheet$body$_EvaluateVisitor(url, span, baseUrl, forImport) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_3_Stylesheet_and_nullable_AsyncImporter_importer_and_bool_isDependency),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, _0_0, importCache, _1_0, importer, canonicalUrl, originalUrl, isDependency, _2_0, stylesheet, error, stackTrace, error0, stackTrace0, message, t1, t2, t3, t4, exception, message0, $async$exception;
      var $async$_async_evaluate$_loadStylesheet$4$baseUrl$forImport = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              baseUrl = baseUrl;
              $async$handler = 4;
              $async$self._async_evaluate$_importSpan = span;
              _0_0 = $async$self._async_evaluate$_importCache;
              importCache = null;
              $async$goto = _0_0 != null ? 7 : 8;
              break;
            case 7:
              // then
              importCache = _0_0;
              if (baseUrl == null) {
                t1 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__stylesheet, "_stylesheet").span;
                baseUrl = t1.get$sourceUrl(t1);
              }
              $async$goto = 9;
              return A._asyncAwait(J.canonicalize$4$baseImporter$baseUrl$forImport$x(importCache, A.Uri_parse(url), $async$self._async_evaluate$_importer, baseUrl, forImport), $async$_async_evaluate$_loadStylesheet$4$baseUrl$forImport);
            case 9:
              // returning from await.
              _1_0 = $async$result;
              importer = null;
              canonicalUrl = null;
              originalUrl = null;
              $async$goto = type$.Record_3_nullable_Object_and_nullable_Object_and_nullable_Object_originalUrl._is(_1_0) ? 10 : 11;
              break;
            case 10:
              // then
              importer = _1_0._0;
              canonicalUrl = _1_0._1;
              originalUrl = _1_0._2;
              $async$self._async_evaluate$_loadedUrls.add$1(0, canonicalUrl);
              isDependency = $async$self._async_evaluate$_inDependency || !J.$eq$(importer, $async$self._async_evaluate$_importer);
              t1 = importCache;
              t2 = importer;
              t3 = canonicalUrl;
              t4 = originalUrl;
              $async$goto = 12;
              return A._asyncAwait(t1.importCanonical$4$originalUrl$quiet(t2, t3, t4, $async$self._async_evaluate$_quietDeps && isDependency), $async$_async_evaluate$_loadStylesheet$4$baseUrl$forImport);
            case 12:
              // returning from await.
              _2_0 = $async$result;
              stylesheet = null;
              if (_2_0 != null) {
                stylesheet = _2_0;
                t1 = stylesheet;
                t2 = importer;
                $async$returnValue = new A._Record_3_importer_isDependency(t1, t2, isDependency);
                $async$next = [1];
                // goto finally
                $async$goto = 5;
                break;
              }
            case 11:
              // join
            case 8:
              // join
              t1 = B.JSString_methods.startsWith$1(url, "package:");
              if (t1)
                throw A.wrapException(string$.x22packa);
              else
                throw A.wrapException("Can't find stylesheet to import.");
              $async$next.push(6);
              // goto finally
              $async$goto = 5;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.SassException)
                throw $async$exception;
              else if (t1 instanceof A.ArgumentError) {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                A.throwWithTrace($async$self._async_evaluate$_exception$1(J.toString$0$(error)), error, stackTrace);
              } else {
                error0 = t1;
                stackTrace0 = A.getTraceFromException($async$exception);
                message = null;
                try {
                  message = A._asString(J.get$message$x(error0));
                } catch (exception) {
                  message0 = J.toString$0$(error0);
                  message = message0;
                }
                A.throwWithTrace($async$self._async_evaluate$_exception$1(message), error0, stackTrace0);
              }
              $async$next.push(6);
              // goto finally
              $async$goto = 5;
              break;
            case 3:
              // uncaught
              $async$next = [2];
            case 5:
              // finally
              $async$handler = 2;
              $async$self._async_evaluate$_importSpan = null;
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_loadStylesheet$4$baseUrl$forImport, $async$completer);
    },
    _visitStaticImport$1($import) {
      return this._visitStaticImport$body$_EvaluateVisitor($import);
    },
    _visitStaticImport$body$_EvaluateVisitor($import) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, node, $async$temp1, $async$temp2;
      var $async$_visitStaticImport$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return A._asyncAwait($async$self._async_evaluate$_interpolationToValue$1($import.url), $async$_visitStaticImport$1);
            case 2:
              // returning from await.
              t1 = $async$result;
              t2 = A.NullableExtension_andThen($import.modifiers, $async$self.get$_async_evaluate$_interpolationToValue());
              $async$temp1 = A;
              $async$temp2 = t1;
              $async$goto = 3;
              return A._asyncAwait(type$.Future_nullable_CssValue_String._is(t2) ? t2 : A._Future$value(t2, type$.nullable_CssValue_String), $async$_visitStaticImport$1);
            case 3:
              // returning from await.
              node = new $async$temp1.ModifiableCssImport($async$temp2, $async$result, $import.span);
              if ($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent") !== $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__root, "_root"))
                $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").addChild$1(node);
              else if ($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__endOfImports, "_endOfImports") === J.get$length$asx($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__root, "_root").children._collection$_source)) {
                $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__root, "_root").addChild$1(node);
                $async$self._async_evaluate$__endOfImports = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__endOfImports, "_endOfImports") + 1;
              } else {
                t1 = $async$self._async_evaluate$_outOfOrderImports;
                (t1 == null ? $async$self._async_evaluate$_outOfOrderImports = A._setArrayType([], type$.JSArray_ModifiableCssImport) : t1).push(node);
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_visitStaticImport$1, $async$completer);
    },
    _async_evaluate$_applyMixin$5(mixin, contentCallable, $arguments, nodeWithSpan, nodeWithSpanWithoutContent) {
      return this._applyMixin$body$_EvaluateVisitor(mixin, contentCallable, $arguments, nodeWithSpan, nodeWithSpanWithoutContent);
    },
    _applyMixin$body$_EvaluateVisitor(mixin, contentCallable, $arguments, nodeWithSpan, nodeWithSpanWithoutContent) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, _0_0, _1_8, t2;
      var $async$_async_evaluate$_applyMixin$5 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (mixin == null)
                throw A.wrapException($async$self._async_evaluate$_exception$2("Undefined mixin.", nodeWithSpan.get$span(nodeWithSpan)));
              t1 = type$.AsyncBuiltInCallable._is(mixin);
              $async$goto = t1 && !mixin.get$acceptsContent() && contentCallable != null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait($async$self._async_evaluate$_evaluateArguments$1($arguments), $async$_async_evaluate$_applyMixin$5);
            case 5:
              // returning from await.
              t1 = $async$result._values;
              _0_0 = mixin.callbackFor$2(J.get$length$asx(t1[2]), new A.MapKeySet(t1[0], type$.MapKeySet_String));
              throw A.wrapException(A.MultiSpanSassRuntimeException$("Mixin doesn't accept a content block.", nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([_0_0._0.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), $async$self._async_evaluate$_stackTrace$1(nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent)), null));
            case 4:
              // join
              $async$goto = t1 ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return A._asyncAwait($async$self._async_evaluate$_environment.withContent$2(contentCallable, new A._EvaluateVisitor__applyMixin_closure1($async$self, $arguments, mixin, nodeWithSpanWithoutContent)), $async$_async_evaluate$_applyMixin$5);
            case 8:
              // returning from await.
              // goto break $label0$0
              $async$goto = 2;
              break;
            case 7:
              // join
              t1 = type$.UserDefinedCallable_AsyncEnvironment._is(mixin);
              if (t1) {
                _1_8 = mixin.declaration;
                if (_1_8 instanceof A.MixinRule)
                  t2 = !type$.MixinRule._as(_1_8).get$hasContent() && contentCallable != null;
                else
                  t2 = false;
              } else
                t2 = false;
              if (t2)
                throw A.wrapException(A.MultiSpanSassRuntimeException$("Mixin doesn't accept a content block.", nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([mixin.declaration.$arguments.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), $async$self._async_evaluate$_stackTrace$1(nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent)), null));
              $async$goto = t1 ? 9 : 10;
              break;
            case 9:
              // then
              $async$goto = 11;
              return A._asyncAwait($async$self._async_evaluate$_runUserDefinedCallable$1$4($arguments, mixin, nodeWithSpanWithoutContent, new A._EvaluateVisitor__applyMixin_closure2($async$self, contentCallable, mixin, nodeWithSpanWithoutContent), type$.Null), $async$_async_evaluate$_applyMixin$5);
            case 11:
              // returning from await.
              // goto break $label0$0
              $async$goto = 2;
              break;
            case 10:
              // join
              throw A.wrapException(A.UnsupportedError$("Unknown callable type " + mixin.toString$0(0) + "."));
            case 2:
              // break $label0$0
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_applyMixin$5, $async$completer);
    },
    visitIncludeRule$1(node) {
      return this.visitIncludeRule$body$_EvaluateVisitor(node);
    },
    visitIncludeRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, mixin;
      var $async$visitIncludeRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              mixin = $async$self._async_evaluate$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitIncludeRule_closure2($async$self, node));
              if (B.JSString_methods.startsWith$1(node.originalName, "--") && mixin instanceof A.UserDefinedCallable && !B.JSString_methods.startsWith$1(mixin.declaration.originalName, "--"))
                $async$self._async_evaluate$_warn$3(string$.Sassx20_m, node.get$nameSpan(), B.Deprecation_HJ0);
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_applyMixin$5(mixin, A.NullableExtension_andThen(node.content, new A._EvaluateVisitor_visitIncludeRule_closure3($async$self)), node.$arguments, node, new A._FakeAstNode(new A._EvaluateVisitor_visitIncludeRule_closure4(node))), $async$visitIncludeRule$1);
            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$visitIncludeRule$1, $async$completer);
    },
    visitMixinRule$1(node) {
      return this.visitMixinRule$body$_EvaluateVisitor(node);
    },
    visitMixinRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, index, t5;
      var $async$visitMixinRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._async_evaluate$_environment;
              t2 = t1.closure$0();
              t3 = $async$self._async_evaluate$_inDependency;
              t4 = t1._async_environment$_mixins;
              index = t4.length - 1;
              t5 = node.name;
              t1._async_environment$_mixinIndices.$indexSet(0, t5, index);
              J.$indexSet$ax(t4[index], t5, new A.UserDefinedCallable(node, t2, t3, type$.UserDefinedCallable_AsyncEnvironment));
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitMixinRule$1, $async$completer);
    },
    visitLoudComment$1(node) {
      return this.visitLoudComment$body$_EvaluateVisitor(node);
    },
    visitLoudComment$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2;
      var $async$visitLoudComment$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate$_inFunction) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if ($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent") === $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__root, "_root") && $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__endOfImports, "_endOfImports") === J.get$length$asx($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__root, "_root").children._collection$_source))
                $async$self._async_evaluate$__endOfImports = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__endOfImports, "_endOfImports") + 1;
              t1 = node.text;
              $async$temp1 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent");
              $async$temp2 = A;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolation$1(t1), $async$visitLoudComment$1);
            case 3:
              // returning from await.
              $async$temp1.addChild$1(new $async$temp2.ModifiableCssComment($async$result, t1.span));
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitLoudComment$1, $async$completer);
    },
    visitMediaRule$1(node) {
      return this.visitMediaRule$body$_EvaluateVisitor(node);
    },
    visitMediaRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, queries, mergedQueries, t1, mergedSources, t2, t3;
      var $async$visitMediaRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Media_, node.span));
              $async$goto = 3;
              return A._asyncAwait($async$self._visitMediaQueries$1(node.query), $async$visitMediaRule$1);
            case 3:
              // returning from await.
              queries = $async$result;
              mergedQueries = A.NullableExtension_andThen($async$self._async_evaluate$_mediaQueries, new A._EvaluateVisitor_visitMediaRule_closure2($async$self, queries));
              t1 = mergedQueries == null;
              if (!t1 && J.get$isEmpty$asx(mergedQueries)) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if (t1)
                mergedSources = B.Set_empty1;
              else {
                t2 = $async$self._async_evaluate$_mediaQuerySources;
                t2.toString;
                t2 = A.LinkedHashSet_LinkedHashSet$of(t2, type$.CssMediaQuery);
                t3 = $async$self._async_evaluate$_mediaQueries;
                t3.toString;
                t2.addAll$1(0, t3);
                t2.addAll$1(0, queries);
                mergedSources = t2;
              }
              t1 = t1 ? queries : mergedQueries;
              $async$goto = 4;
              return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(A.ModifiableCssMediaRule$(t1, node.span), new A._EvaluateVisitor_visitMediaRule_closure3($async$self, mergedQueries, queries, mergedSources, node), node.hasDeclarations, new A._EvaluateVisitor_visitMediaRule_closure4(mergedSources), type$.ModifiableCssMediaRule, type$.Null), $async$visitMediaRule$1);
            case 4:
              // 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$visitMediaRule$1, $async$completer);
    },
    _visitMediaQueries$1(interpolation) {
      return this._visitMediaQueries$body$_EvaluateVisitor(interpolation);
    },
    _visitMediaQueries$body$_EvaluateVisitor(interpolation) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_CssMediaQuery),
        $async$returnValue, $async$self = this, _0_0;
      var $async$_visitMediaQueries$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolationWithMap$2$warnForColor(interpolation, true), $async$_visitMediaQueries$1);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              $async$returnValue = A.CssMediaQuery_parseList(_0_0._0, _0_0._1, $async$self._async_evaluate$_logger);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_visitMediaQueries$1, $async$completer);
    },
    _async_evaluate$_mergeMediaQueries$2(queries1, queries2) {
      var t1, t2, t3, t4, _0_0, t5, result,
        queries = A._setArrayType([], type$.JSArray_CssMediaQuery);
      for (t1 = J.get$iterator$ax(queries1), t2 = J.getInterceptor$ax(queries2); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        for (t4 = t2.get$iterator(queries2); t4.moveNext$0();)
          $label0$1: {
            _0_0 = t3.merge$1(t4.get$current(t4));
            if (B._SingletonCssMediaQueryMergeResult_0 === _0_0)
              continue;
            if (B._SingletonCssMediaQueryMergeResult_1 === _0_0)
              return null;
            t5 = _0_0 instanceof A.MediaQuerySuccessfulMergeResult;
            result = t5 ? _0_0 : null;
            if (t5)
              queries.push(result.query);
            break $label0$1;
          }
      }
      return queries;
    },
    visitReturnRule$1(node) {
      return this.visitReturnRule$body$_EvaluateVisitor(node);
    },
    visitReturnRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$visitReturnRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = node.expression;
              t2 = t1.accept$1($async$self);
              $async$goto = 3;
              return A._asyncAwait(type$.Future_Value._is(t2) ? t2 : A._Future$value(t2, type$.Value), $async$visitReturnRule$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$self._async_evaluate$_withoutSlash$2($async$result, t1);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitReturnRule$1, $async$completer);
    },
    visitSilentComment$1(node) {
      return this.visitSilentComment$body$_EvaluateVisitor(node);
    },
    visitSilentComment$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue;
      var $async$visitSilentComment$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitSilentComment$1, $async$completer);
    },
    visitStyleRule$1(node) {
      return this.visitStyleRule$body$_EvaluateVisitor(node);
    },
    visitStyleRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t1, _0_0, selectorText, selectorMap, parsedSelector, nest, t2, _i, _1_0, first, t3, rule, oldAtRootExcludingStyleRule;
      var $async$visitStyleRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Style_n, node.span));
              else if ($async$self._async_evaluate$_inKeyframes && $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent") instanceof A.ModifiableCssKeyframeBlock)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Style_k, node.span));
              t1 = node.selector;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolationWithMap$2$warnForColor(t1, true), $async$visitStyleRule$1);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              selectorText = _0_0._0;
              selectorMap = _0_0._1;
              $async$goto = $async$self._async_evaluate$_inKeyframes ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$(new A.CssValue(A.List_List$unmodifiable(A.KeyframeSelectorParser$(selectorText, selectorMap, $async$self._async_evaluate$_logger).parse$0(), type$.String), t1.span, type$.CssValue_List_String), node.span), new A._EvaluateVisitor_visitStyleRule_closure3($async$self, node), node.hasDeclarations, new A._EvaluateVisitor_visitStyleRule_closure4(), type$.ModifiableCssKeyframeBlock, type$.Null), $async$visitStyleRule$1);
            case 6:
              // returning from await.
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 5:
              // join
              parsedSelector = A.SelectorList_SelectorList$parse(selectorText, true, selectorMap, $async$self._async_evaluate$_logger, $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__stylesheet, "_stylesheet").plainCss);
              t1 = $async$self._async_evaluate$_atRootExcludingStyleRule ? null : $async$self._async_evaluate$_styleRuleIgnoringAtRoot;
              t1 = t1 == null ? null : t1.fromPlainCss;
              nest = t1 !== true;
              if (nest) {
                if ($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__stylesheet, "_stylesheet").plainCss)
                  for (t1 = parsedSelector.components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
                    _1_0 = t1[_i].leadingCombinators;
                    if (_1_0.length >= 1) {
                      first = _1_0[0];
                      t3 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__stylesheet, "_stylesheet");
                      t3 = t3.plainCss;
                    } else {
                      first = null;
                      t3 = false;
                    }
                    if (t3)
                      throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Top_lel, first.span));
                  }
                t1 = $async$self._async_evaluate$_styleRuleIgnoringAtRoot;
                t1 = t1 == null ? null : t1.originalSelector;
                parsedSelector = parsedSelector.nestWithin$3$implicitParent$preserveParentSelectors(t1, !$async$self._async_evaluate$_atRootExcludingStyleRule, $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__stylesheet, "_stylesheet").plainCss);
              }
              rule = A.ModifiableCssStyleRule$($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__extensionStore, "_extensionStore").addSelector$2(parsedSelector, $async$self._async_evaluate$_mediaQueries), node.span, $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__stylesheet, "_stylesheet").plainCss, parsedSelector);
              oldAtRootExcludingStyleRule = $async$self._async_evaluate$_atRootExcludingStyleRule;
              t1 = $async$self._async_evaluate$_atRootExcludingStyleRule = false;
              t2 = nest ? new A._EvaluateVisitor_visitStyleRule_closure5() : null;
              $async$goto = 7;
              return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitStyleRule_closure6($async$self, rule, node), node.hasDeclarations, t2, type$.ModifiableCssStyleRule, type$.Null), $async$visitStyleRule$1);
            case 7:
              // returning from await.
              $async$self._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
              $async$self._async_evaluate$_warnForBogusCombinators$1(rule);
              if (($async$self._async_evaluate$_atRootExcludingStyleRule ? null : $async$self._async_evaluate$_styleRuleIgnoringAtRoot) == null) {
                t1 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").children;
                t1 = !t1.get$isEmpty(t1);
              }
              if (t1) {
                t1 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").children;
                t1.get$last(t1).isGroupEnd = true;
              }
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitStyleRule$1, $async$completer);
    },
    _async_evaluate$_warnForBogusCombinators$1(rule) {
      var t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, t8, t9, _this = this, _null = null;
      if (!rule.accept$1(B._IsInvisibleVisitor_false_false))
        for (t1 = rule._style_rule$_selector._box$_inner.value.components, t2 = t1.length, t3 = type$.SourceSpan, t4 = type$.String, t5 = rule.children, _i = 0; _i < t2; ++_i) {
          complex = t1[_i];
          if (!complex.accept$1(B._IsBogusVisitor_true))
            continue;
          if (complex.accept$1(B.C__IsUselessVisitor)) {
            visitor = A._SerializeVisitor$(_null, true, _null, true, false, _null, true);
            complex.accept$1(visitor);
            _this._async_evaluate$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)) + string$.x22x20is_ix20, A.SpanExtensions_trimRight(complex.span), B.Deprecation_ido);
          } else if (complex.leadingCombinators.length !== 0) {
            if (!_this._async_evaluate$_assertInModule$2(_this._async_evaluate$__stylesheet, "_stylesheet").plainCss) {
              visitor = A._SerializeVisitor$(_null, true, _null, true, false, _null, true);
              complex.accept$1(visitor);
              _this._async_evaluate$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)) + string$.x22x20is_ix0a, A.SpanExtensions_trimRight(complex.span), B.Deprecation_ido);
            }
          } else {
            visitor = A._SerializeVisitor$(_null, true, _null, true, false, _null, true);
            complex.accept$1(visitor);
            t6 = B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0));
            t7 = complex.accept$1(B._IsBogusVisitor_false) ? string$.x20It_wi : "";
            t8 = A.SpanExtensions_trimRight(complex.span);
            if (t5.get$length(0) === 0)
              A.throwExpression(A.IterableElementError_noElement());
            t9 = J.get$span$z(t5.$index(0, 0));
            _this._async_evaluate$_warn$3('The selector "' + t6 + string$.x22x20is_o + t7 + string$.x0aThis_, new A.MultiSpan(t8, "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t9, "this is not a style rule" + (t5.every$1(t5, new A._EvaluateVisitor__warnForBogusCombinators_closure0()) ? "\n(try converting to a //-style comment)" : "")], t3, t4), t3, t4)), B.Deprecation_ido);
          }
        }
    },
    visitSupportsRule$1(node) {
      return this.visitSupportsRule$body$_EvaluateVisitor(node);
    },
    visitSupportsRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2;
      var $async$visitSupportsRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Suppor, node.span));
              t1 = node.condition;
              $async$temp1 = A;
              $async$temp2 = A;
              $async$goto = 4;
              return A._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(t1), $async$visitSupportsRule$1);
            case 4:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through($async$temp1.ModifiableCssSupportsRule$(new $async$temp2.CssValue($async$result, t1.get$span(t1), type$.CssValue_String), node.span), new A._EvaluateVisitor_visitSupportsRule_closure1($async$self, node), node.hasDeclarations, new A._EvaluateVisitor_visitSupportsRule_closure2(), type$.ModifiableCssSupportsRule, type$.Null), $async$visitSupportsRule$1);
            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$visitSupportsRule$1, $async$completer);
    },
    _async_evaluate$_visitSupportsCondition$1(condition) {
      return this._visitSupportsCondition$body$_EvaluateVisitor(condition);
    },
    _visitSupportsCondition$body$_EvaluateVisitor(condition) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, t1, _box_0, $async$temp1, $async$temp2;
      var $async$_async_evaluate$_visitSupportsCondition$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              $async$goto = condition instanceof A.SupportsOperation ? 4 : 5;
              break;
            case 4:
              // then
              t1 = condition.operator;
              $async$temp1 = A;
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate$_parenthesize$2(condition.left, t1), $async$_async_evaluate$_visitSupportsCondition$1);
            case 6:
              // returning from await.
              $async$temp1 = $async$temp1.S($async$result) + " " + t1 + " ";
              $async$temp2 = A;
              $async$goto = 7;
              return A._asyncAwait($async$self._async_evaluate$_parenthesize$2(condition.right, t1), $async$_async_evaluate$_visitSupportsCondition$1);
            case 7:
              // returning from await.
              t1 = $async$temp1 + $async$temp2.S($async$result);
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 5:
              // join
              $async$goto = condition instanceof A.SupportsNegation ? 8 : 9;
              break;
            case 8:
              // then
              $async$temp1 = A;
              $async$goto = 10;
              return A._asyncAwait($async$self._async_evaluate$_parenthesize$1(condition.condition), $async$_async_evaluate$_visitSupportsCondition$1);
            case 10:
              // returning from await.
              t1 = "not " + $async$temp1.S($async$result);
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 9:
              // join
              $async$goto = condition instanceof A.SupportsInterpolation ? 11 : 12;
              break;
            case 11:
              // then
              $async$goto = 13;
              return A._asyncAwait($async$self._evaluateToCss$2$quote(condition.expression, false), $async$_async_evaluate$_visitSupportsCondition$1);
            case 13:
              // returning from await.
              t1 = $async$result;
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 12:
              // join
              _box_0.declaration = null;
              $async$goto = condition instanceof A.SupportsDeclaration ? 14 : 15;
              break;
            case 14:
              // then
              _box_0.declaration = condition;
              $async$goto = 16;
              return A._asyncAwait($async$self._async_evaluate$_withSupportsDeclaration$1$1(new A._EvaluateVisitor__visitSupportsCondition_closure0(_box_0, $async$self), type$.String), $async$_async_evaluate$_visitSupportsCondition$1);
            case 16:
              // returning from await.
              t1 = $async$result;
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 15:
              // join
              $async$goto = condition instanceof A.SupportsFunction ? 17 : 18;
              break;
            case 17:
              // then
              $async$temp1 = A;
              $async$goto = 19;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolation$1(condition.name), $async$_async_evaluate$_visitSupportsCondition$1);
            case 19:
              // returning from await.
              $async$temp1 = $async$temp1.S($async$result) + "(";
              $async$temp2 = A;
              $async$goto = 20;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolation$1(condition.$arguments), $async$_async_evaluate$_visitSupportsCondition$1);
            case 20:
              // returning from await.
              t1 = $async$temp1 + $async$temp2.S($async$result) + ")";
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 18:
              // join
              $async$goto = condition instanceof A.SupportsAnything ? 21 : 22;
              break;
            case 21:
              // then
              $async$temp1 = A;
              $async$goto = 23;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolation$1(condition.contents), $async$_async_evaluate$_visitSupportsCondition$1);
            case 23:
              // returning from await.
              t1 = "(" + $async$temp1.S($async$result) + ")";
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 22:
              // join
              t1 = A.throwExpression(A.ArgumentError$("Unknown supports condition type " + A.getRuntimeTypeOfDartObject(condition).toString$0(0) + ".", null));
            case 3:
              // break $label0$0
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_visitSupportsCondition$1, $async$completer);
    },
    _async_evaluate$_withSupportsDeclaration$1$1(callback, $T) {
      return this._withSupportsDeclaration$body$_EvaluateVisitor(callback, $T, $T);
    },
    _withSupportsDeclaration$body$_EvaluateVisitor(callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, t1, oldInSupportsDeclaration;
      var $async$_async_evaluate$_withSupportsDeclaration$1$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldInSupportsDeclaration = $async$self._async_evaluate$_inSupportsDeclaration;
              $async$self._async_evaluate$_inSupportsDeclaration = true;
              $async$handler = 3;
              t1 = callback.call$0();
              $async$goto = 6;
              return A._asyncAwait($T._eval$1("Future<0>")._is(t1) ? t1 : A._Future$value(t1, $T), $async$_async_evaluate$_withSupportsDeclaration$1$1);
            case 6:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              $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;
              $async$self._async_evaluate$_inSupportsDeclaration = oldInSupportsDeclaration;
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_withSupportsDeclaration$1$1, $async$completer);
    },
    _async_evaluate$_parenthesize$2(condition, operator) {
      return this._parenthesize$body$_EvaluateVisitor(condition, operator);
    },
    _async_evaluate$_parenthesize$1(condition) {
      return this._async_evaluate$_parenthesize$2(condition, null);
    },
    _parenthesize$body$_EvaluateVisitor(condition, operator) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$_async_evaluate$_parenthesize$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (!(condition instanceof A.SupportsNegation))
                if (condition instanceof A.SupportsOperation)
                  t1 = operator == null || operator !== condition.operator;
                else
                  t1 = false;
              else
                t1 = true;
              $async$goto = t1 ? 3 : 4;
              break;
            case 3:
              // then
              $async$temp1 = A;
              $async$goto = 5;
              return A._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(condition), $async$_async_evaluate$_parenthesize$2);
            case 5:
              // returning from await.
              $async$returnValue = "(" + $async$temp1.S($async$result) + ")";
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(condition), $async$_async_evaluate$_parenthesize$2);
            case 6:
              // 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$_async_evaluate$_parenthesize$2, $async$completer);
    },
    visitVariableDeclaration$1(node) {
      return this.visitVariableDeclaration$body$_EvaluateVisitor(node);
    },
    visitVariableDeclaration$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t2, value, t1, $async$temp1, $async$temp2, $async$temp3;
      var $async$visitVariableDeclaration$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              if (node.isGuarded) {
                if (node.namespace == null && $async$self._async_evaluate$_environment._async_environment$_variables.length === 1) {
                  t2 = $async$self._async_evaluate$_configuration._configuration$_values;
                  t2 = t2.get$isEmpty(t2) ? null : t2.remove$1(0, node.name);
                  t1.override = null;
                  if (t2 != null) {
                    t1.override = t2;
                    t2 = !t2.value.$eq(0, B.C__SassNull);
                  } else
                    t2 = false;
                  if (t2) {
                    $async$self._async_evaluate$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableDeclaration_closure2(t1, $async$self, node));
                    $async$returnValue = null;
                    // goto return
                    $async$goto = 1;
                    break;
                  }
                }
                value = $async$self._async_evaluate$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableDeclaration_closure3($async$self, node));
                if (value != null && !value.$eq(0, B.C__SassNull)) {
                  $async$returnValue = null;
                  // goto return
                  $async$goto = 1;
                  break;
                }
              }
              if (node.isGlobal && !$async$self._async_evaluate$_environment.globalVariableExists$1(node.name)) {
                t1 = $async$self._async_evaluate$_environment._async_environment$_variables.length === 1 ? string$.As_of_S : string$.As_of_R + A.declarationName(node.span) + ": null` at the stylesheet root.";
                $async$self._async_evaluate$_warn$3(t1, node.span, B.Deprecation_2nU);
              }
              t1 = node.expression;
              t2 = t1.accept$1($async$self);
              $async$temp1 = node;
              $async$temp2 = A;
              $async$temp3 = node;
              $async$goto = 3;
              return A._asyncAwait(type$.Future_Value._is(t2) ? t2 : A._Future$value(t2, type$.Value), $async$visitVariableDeclaration$1);
            case 3:
              // returning from await.
              $async$self._async_evaluate$_addExceptionSpan$2($async$temp1, new $async$temp2._EvaluateVisitor_visitVariableDeclaration_closure4($async$self, $async$temp3, $async$self._async_evaluate$_withoutSlash$2($async$result, t1)));
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitVariableDeclaration$1, $async$completer);
    },
    visitUseRule$1(node) {
      return this.visitUseRule$body$_EvaluateVisitor(node);
    },
    visitUseRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, values, t3, t4, _i, variable, t5, variableNodeWithSpan, t6, t7, configuration, t1, t2, $async$temp1, $async$temp2, $async$temp3;
      var $async$visitUseRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = node.configuration;
              t2 = t1.length;
              $async$goto = t2 !== 0 ? 3 : 5;
              break;
            case 3:
              // then
              values = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ConfiguredValue);
              t3 = type$._Future_Value, t4 = type$.Future_Value, _i = 0;
            case 6:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 8;
                break;
              }
              variable = t1[_i];
              t5 = variable.expression;
              variableNodeWithSpan = $async$self._async_evaluate$_expressionNode$1(t5);
              t6 = variable.name;
              t5 = t5.accept$1($async$self);
              if (!t4._is(t5)) {
                t7 = new A._Future($.Zone__current, t3);
                t7._state = 8;
                t7._resultOrListeners = t5;
                t5 = t7;
              }
              $async$temp1 = values;
              $async$temp2 = t6;
              $async$temp3 = A;
              $async$goto = 9;
              return A._asyncAwait(t5, $async$visitUseRule$1);
            case 9:
              // returning from await.
              $async$temp1.$indexSet(0, $async$temp2, new $async$temp3.ConfiguredValue($async$self._async_evaluate$_withoutSlash$2($async$result, variableNodeWithSpan), variable.span, variableNodeWithSpan));
            case 7:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 6;
              break;
            case 8:
              // after for
              configuration = new A.ExplicitConfiguration(node, values, null);
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              configuration = B.Configuration_Map_empty_null;
            case 4:
              // join
              $async$goto = 10;
              return A._asyncAwait($async$self._async_evaluate$_loadModule$5$configuration(node.url, "@use", node, new A._EvaluateVisitor_visitUseRule_closure0($async$self, node), configuration), $async$visitUseRule$1);
            case 10:
              // returning from await.
              $async$self._async_evaluate$_assertConfigurationIsEmpty$1(configuration);
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitUseRule$1, $async$completer);
    },
    visitWarnRule$1(node) {
      return this.visitWarnRule$body$_EvaluateVisitor(node);
    },
    visitWarnRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, value, t1;
      var $async$visitWarnRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._addExceptionSpanAsync$1$2(node, new A._EvaluateVisitor_visitWarnRule_closure0($async$self, node), type$.Value), $async$visitWarnRule$1);
            case 3:
              // returning from await.
              value = $async$result;
              t1 = value instanceof A.SassString ? value._string$_text : $async$self._async_evaluate$_serialize$2(value, node.expression);
              $async$self._async_evaluate$_logger.warn$2$trace(0, t1, $async$self._async_evaluate$_stackTrace$1(node.span));
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitWarnRule$1, $async$completer);
    },
    visitWhileRule$1(node) {
      return this._async_evaluate$_environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitWhileRule_closure0(this, node), true, node.hasDeclarations, type$.nullable_Value);
    },
    visitBinaryOperationExpression$1(node) {
      var t1, _this = this;
      if (_this._async_evaluate$_assertInModule$2(_this._async_evaluate$__stylesheet, "_stylesheet").plainCss) {
        t1 = node.operator;
        t1 = t1 !== B.BinaryOperator_wdM && t1 !== B.BinaryOperator_U77;
      } else
        t1 = false;
      if (t1)
        throw A.wrapException(_this._async_evaluate$_exception$2("Operators aren't allowed in plain CSS.", node.get$operatorSpan()));
      return _this._addExceptionSpanAsync$1$2(node, new A._EvaluateVisitor_visitBinaryOperationExpression_closure0(_this, node), type$.Value);
    },
    _async_evaluate$_slash$3(left, right, node) {
      var t1, right0, _1_2, _1_1, _null = null,
        result = left.dividedBy$1(right),
        _1_2_isSet = left instanceof A.SassNumber;
      if (_1_2_isSet) {
        t1 = type$.SassNumber;
        t1._as(left);
        if (right instanceof A.SassNumber) {
          t1._as(right);
          t1 = node.allowsSlash && this._async_evaluate$_operandAllowsSlash$1(node.left) && this._async_evaluate$_operandAllowsSlash$1(node.right);
          right0 = right;
          _1_2 = right0;
        } else {
          right0 = _null;
          _1_2 = right;
          t1 = false;
        }
        _1_1 = left;
      } else {
        right0 = _null;
        _1_2 = right0;
        _1_1 = left;
        left = _1_2;
        t1 = false;
      }
      if (t1)
        return type$.SassNumber._as(result).withSlash$2(left, right0);
      if (_1_1 instanceof A.SassNumber)
        t1 = (_1_2_isSet ? _1_2 : right) instanceof A.SassNumber;
      else
        t1 = false;
      if (t1) {
        this._async_evaluate$_warn$3(string$.Using__o + A.S(new A._EvaluateVisitor__slash_recommendation0().call$1(node)) + " or " + A.expressionToCalc(node).toString$0(0) + string$.x0a_Morex20, node.get$span(0), B.Deprecation_oJv);
        return result;
      }
      return result;
    },
    _async_evaluate$_operandAllowsSlash$1(node) {
      var t1;
      if (node instanceof A.FunctionExpression)
        if (node.namespace == null) {
          t1 = node.name;
          t1 = B.Set_yHF81.contains$1(0, t1.toLowerCase()) && this._async_evaluate$_environment.getFunction$1(t1) == null;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    visitValueExpression$1(node) {
      return this.visitValueExpression$body$_EvaluateVisitor(node);
    },
    visitValueExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue;
      var $async$visitValueExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = node.value;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitValueExpression$1, $async$completer);
    },
    visitVariableExpression$1(node) {
      return this.visitVariableExpression$body$_EvaluateVisitor(node);
    },
    visitVariableExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$self = this, result;
      var $async$visitVariableExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              result = $async$self._async_evaluate$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableExpression_closure0($async$self, node));
              if (result != null) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              throw A.wrapException($async$self._async_evaluate$_exception$2("Undefined variable.", node.span));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitVariableExpression$1, $async$completer);
    },
    visitUnaryOperationExpression$1(node) {
      return this.visitUnaryOperationExpression$body$_EvaluateVisitor(node);
    },
    visitUnaryOperationExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$self = this, $async$temp1, $async$temp2, $async$temp3;
      var $async$visitUnaryOperationExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = node;
              $async$temp2 = A;
              $async$temp3 = node;
              $async$goto = 3;
              return A._asyncAwait(node.operand.accept$1($async$self), $async$visitUnaryOperationExpression$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$self._async_evaluate$_addExceptionSpan$2($async$temp1, new $async$temp2._EvaluateVisitor_visitUnaryOperationExpression_closure0($async$temp3, $async$result));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitUnaryOperationExpression$1, $async$completer);
    },
    visitBooleanExpression$1(node) {
      return this.visitBooleanExpression$body$_EvaluateVisitor(node);
    },
    visitBooleanExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassBoolean),
        $async$returnValue;
      var $async$visitBooleanExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = node.value ? B.SassBoolean_true : B.SassBoolean_false;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitBooleanExpression$1, $async$completer);
    },
    visitIfExpression$1(node) {
      return this.visitIfExpression$body$_EvaluateVisitor(node);
    },
    visitIfExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$self = this, condition, t1, ifTrue, ifFalse, result, _0_0, positional, named;
      var $async$visitIfExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_evaluateMacroArguments$1(node), $async$visitIfExpression$1);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              positional = _0_0._0;
              named = _0_0._1;
              $async$self._async_evaluate$_verifyArguments$4(J.get$length$asx(positional), named, $.$get$IfExpression_declaration(), node);
              condition = A.ListExtensions_elementAtOrNull(positional, 0);
              if (condition == null) {
                t1 = named.$index(0, "condition");
                t1.toString;
                condition = t1;
              }
              ifTrue = A.ListExtensions_elementAtOrNull(positional, 1);
              if (ifTrue == null) {
                t1 = named.$index(0, "if-true");
                t1.toString;
                ifTrue = t1;
              }
              ifFalse = A.ListExtensions_elementAtOrNull(positional, 2);
              if (ifFalse == null) {
                t1 = named.$index(0, "if-false");
                t1.toString;
                ifFalse = t1;
              }
              $async$goto = 4;
              return A._asyncAwait(condition.accept$1($async$self), $async$visitIfExpression$1);
            case 4:
              // returning from await.
              result = $async$result.get$isTruthy() ? ifTrue : ifFalse;
              t1 = result.accept$1($async$self);
              $async$goto = 5;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$visitIfExpression$1);
            case 5:
              // returning from await.
              $async$returnValue = $async$self._async_evaluate$_withoutSlash$2($async$result, $async$self._async_evaluate$_expressionNode$1(result));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitIfExpression$1, $async$completer);
    },
    visitNullExpression$1(node) {
      return this.visitNullExpression$body$_EvaluateVisitor(node);
    },
    visitNullExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue;
      var $async$visitNullExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = B.C__SassNull;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitNullExpression$1, $async$completer);
    },
    visitNumberExpression$1(node) {
      return this.visitNumberExpression$body$_EvaluateVisitor(node);
    },
    visitNumberExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassNumber),
        $async$returnValue;
      var $async$visitNumberExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = A.SassNumber_SassNumber(node.value, node.unit);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitNumberExpression$1, $async$completer);
    },
    visitParenthesizedExpression$1(node) {
      var _this = this;
      return _this._async_evaluate$_assertInModule$2(_this._async_evaluate$__stylesheet, "_stylesheet").plainCss ? A.throwExpression(_this._async_evaluate$_exception$2("Parentheses aren't allowed in plain CSS.", node.span)) : node.expression.accept$1(_this);
    },
    visitColorExpression$1(node) {
      return this.visitColorExpression$body$_EvaluateVisitor(node);
    },
    visitColorExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassColor),
        $async$returnValue;
      var $async$visitColorExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = node.value;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitColorExpression$1, $async$completer);
    },
    visitListExpression$1(node) {
      return this.visitListExpression$body$_EvaluateVisitor(node);
    },
    visitListExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassList),
        $async$returnValue, $async$self = this, $async$temp1;
      var $async$visitListExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = A;
              $async$goto = 3;
              return A._asyncAwait(A.mapAsync(node.contents, new A._EvaluateVisitor_visitListExpression_closure0($async$self), type$.Expression, type$.Value), $async$visitListExpression$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1.SassList$($async$result, node.separator, node.hasBrackets);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitListExpression$1, $async$completer);
    },
    visitMapExpression$1(node) {
      return this.visitMapExpression$body$_EvaluateVisitor(node);
    },
    visitMapExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassMap),
        $async$returnValue, $async$self = this, t2, t3, _i, t4, key, value, keyValue, valueValue, oldValueSpan, t1, map, keyNodes;
      var $async$visitMapExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.Value;
              map = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
              keyNodes = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AstNode);
              t2 = node.pairs, t3 = t2.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              t4 = t2[_i];
              key = t4._0;
              value = t4._1;
              $async$goto = 6;
              return A._asyncAwait(key.accept$1($async$self), $async$visitMapExpression$1);
            case 6:
              // returning from await.
              keyValue = $async$result;
              $async$goto = 7;
              return A._asyncAwait(value.accept$1($async$self), $async$visitMapExpression$1);
            case 7:
              // returning from await.
              valueValue = $async$result;
              if (map.containsKey$1(keyValue)) {
                t1 = keyNodes.$index(0, keyValue);
                oldValueSpan = t1 == null ? null : t1.get$span(t1);
                t1 = key.get$span(key);
                t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
                if (oldValueSpan != null)
                  t2.$indexSet(0, oldValueSpan, "first key");
                throw A.wrapException(A.MultiSpanSassRuntimeException$("Duplicate key.", t1, "second key", t2, $async$self._async_evaluate$_stackTrace$1(key.get$span(key)), null));
              }
              map.$indexSet(0, keyValue, valueValue);
              keyNodes.$indexSet(0, keyValue, key);
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = new A.SassMap(A.ConstantMap_ConstantMap$from(map, t1, t1));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitMapExpression$1, $async$completer);
    },
    visitFunctionExpression$1(node) {
      return this.visitFunctionExpression$body$_EvaluateVisitor(node);
    },
    visitFunctionExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$self = this, t2, _0_0, t3, t4, oldInFunction, result, t1, $function;
      var $async$visitFunctionExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              $function = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__stylesheet, "_stylesheet").plainCss ? null : $async$self._async_evaluate$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitFunctionExpression_closure2($async$self, node));
              t1.$function = $function;
              $async$goto = $function == null ? 3 : 5;
              break;
            case 3:
              // then
              if (node.namespace != null)
                throw A.wrapException($async$self._async_evaluate$_exception$2("Undefined function.", node.span));
              t2 = node.name;
              _0_0 = t2.toLowerCase();
              if ("min" === _0_0 || "max" === _0_0 || "round" === _0_0 || "abs" === _0_0) {
                t3 = node.$arguments;
                t4 = t3.named;
                t3 = t4.get$isEmpty(t4) && t3.rest == null && B.JSArray_methods.every$1(t3.positional, new A._EvaluateVisitor_visitFunctionExpression_closure3());
              } else
                t3 = false;
              $async$goto = t3 ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return A._asyncAwait($async$self._async_evaluate$_visitCalculation$2$inLegacySassFunction(node, true), $async$visitFunctionExpression$1);
            case 8:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 7:
              // join
              $async$goto = "calc" === _0_0 || "clamp" === _0_0 || "hypot" === _0_0 || "sin" === _0_0 || "cos" === _0_0 || "tan" === _0_0 || "asin" === _0_0 || "acos" === _0_0 || "atan" === _0_0 || "sqrt" === _0_0 || "exp" === _0_0 || "sign" === _0_0 || "mod" === _0_0 || "rem" === _0_0 || "atan2" === _0_0 || "pow" === _0_0 || "log" === _0_0 ? 9 : 10;
              break;
            case 9:
              // then
              $async$goto = 11;
              return A._asyncAwait($async$self._async_evaluate$_visitCalculation$1(node), $async$visitFunctionExpression$1);
            case 11:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 10:
              // join
              $function = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__stylesheet, "_stylesheet").plainCss ? null : $async$self._async_evaluate$_builtInFunctions.$index(0, t2);
              t2 = t1.$function = $function == null ? new A.PlainCssCallable(node.originalName) : $function;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              t2 = $function;
            case 4:
              // join
              if (B.JSString_methods.startsWith$1(node.originalName, "--") && t2 instanceof A.UserDefinedCallable && !B.JSString_methods.startsWith$1(t2.declaration.originalName, "--"))
                $async$self._async_evaluate$_warn$3(string$.Sassx20_ff, node.get$nameSpan(), B.Deprecation_HJ0);
              oldInFunction = $async$self._async_evaluate$_inFunction;
              $async$self._async_evaluate$_inFunction = true;
              $async$goto = 12;
              return A._asyncAwait($async$self._async_evaluate$_addErrorSpan$1$2(node, new A._EvaluateVisitor_visitFunctionExpression_closure4(t1, $async$self, node), type$.Value), $async$visitFunctionExpression$1);
            case 12:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate$_inFunction = oldInFunction;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitFunctionExpression$1, $async$completer);
    },
    _async_evaluate$_visitCalculation$2$inLegacySassFunction(node, inLegacySassFunction) {
      return this._visitCalculation$body$_EvaluateVisitor(node, inLegacySassFunction);
    },
    _async_evaluate$_visitCalculation$1(node) {
      return this._async_evaluate$_visitCalculation$2$inLegacySassFunction(node, false);
    },
    _visitCalculation$body$_EvaluateVisitor(node, inLegacySassFunction) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$next = [], $async$self = this, $arguments, oldCallableNode, t1, _0_0, error, stackTrace, t4, _i, exception, t2, t3, $async$temp1;
      var $async$_async_evaluate$_visitCalculation$2$inLegacySassFunction = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t2 = node.$arguments;
              t3 = t2.named;
              if (t3.get$isNotEmpty(t3))
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Keywor, node.span));
              else if (t2.rest != null)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Rest_a, node.span));
              $async$self._async_evaluate$_checkCalculationArguments$1(node);
              t3 = A._setArrayType([], type$.JSArray_Object);
              t2 = t2.positional, t4 = t2.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t4)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$temp1 = t3;
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate$_visitCalculationExpression$2$inLegacySassFunction(t2[_i], inLegacySassFunction), $async$_async_evaluate$_visitCalculation$2$inLegacySassFunction);
            case 6:
              // returning from await.
              $async$temp1.push($async$result);
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $arguments = t3;
              if ($async$self._async_evaluate$_inSupportsDeclaration) {
                $async$returnValue = new A.SassCalculation(node.name, A.List_List$unmodifiable($arguments, type$.Object));
                // goto return
                $async$goto = 1;
                break;
              }
              oldCallableNode = $async$self._async_evaluate$_callableNode;
              $async$self._async_evaluate$_callableNode = node;
              try {
                t1 = null;
                t3 = node.name;
                _0_0 = t3.toLowerCase();
                $label0$0: {
                  if ("calc" === _0_0) {
                    t1 = A.SassCalculation_calc(J.$index$asx($arguments, 0));
                    break $label0$0;
                  }
                  if ("sqrt" === _0_0) {
                    t1 = A.SassCalculation__singleArgument("sqrt", J.$index$asx($arguments, 0), A.number0__sqrt$closure(), true);
                    break $label0$0;
                  }
                  if ("sin" === _0_0) {
                    t1 = A.SassCalculation__singleArgument("sin", J.$index$asx($arguments, 0), A.number0__sin$closure(), false);
                    break $label0$0;
                  }
                  if ("cos" === _0_0) {
                    t1 = A.SassCalculation__singleArgument("cos", J.$index$asx($arguments, 0), A.number0__cos$closure(), false);
                    break $label0$0;
                  }
                  if ("tan" === _0_0) {
                    t1 = A.SassCalculation__singleArgument("tan", J.$index$asx($arguments, 0), A.number0__tan$closure(), false);
                    break $label0$0;
                  }
                  if ("asin" === _0_0) {
                    t1 = A.SassCalculation__singleArgument("asin", J.$index$asx($arguments, 0), A.number0__asin$closure(), true);
                    break $label0$0;
                  }
                  if ("acos" === _0_0) {
                    t1 = A.SassCalculation__singleArgument("acos", J.$index$asx($arguments, 0), A.number0__acos$closure(), true);
                    break $label0$0;
                  }
                  if ("atan" === _0_0) {
                    t1 = A.SassCalculation__singleArgument("atan", J.$index$asx($arguments, 0), A.number0__atan$closure(), true);
                    break $label0$0;
                  }
                  if ("abs" === _0_0) {
                    t1 = A.SassCalculation_abs(J.$index$asx($arguments, 0));
                    break $label0$0;
                  }
                  if ("exp" === _0_0) {
                    t1 = A.SassCalculation_exp(J.$index$asx($arguments, 0));
                    break $label0$0;
                  }
                  if ("sign" === _0_0) {
                    t1 = A.SassCalculation_sign(J.$index$asx($arguments, 0));
                    break $label0$0;
                  }
                  if ("min" === _0_0) {
                    t1 = A.SassCalculation_min($arguments);
                    break $label0$0;
                  }
                  if ("max" === _0_0) {
                    t1 = A.SassCalculation_max($arguments);
                    break $label0$0;
                  }
                  if ("hypot" === _0_0) {
                    t1 = A.SassCalculation_hypot($arguments);
                    break $label0$0;
                  }
                  if ("pow" === _0_0) {
                    t1 = A.SassCalculation_pow(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
                    break $label0$0;
                  }
                  if ("atan2" === _0_0) {
                    t1 = A.SassCalculation_atan2(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
                    break $label0$0;
                  }
                  if ("log" === _0_0) {
                    t1 = A.SassCalculation_log(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
                    break $label0$0;
                  }
                  if ("mod" === _0_0) {
                    t1 = A.SassCalculation_mod(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
                    break $label0$0;
                  }
                  if ("rem" === _0_0) {
                    t1 = A.SassCalculation_rem(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
                    break $label0$0;
                  }
                  if ("round" === _0_0) {
                    t1 = A.SassCalculation_round(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1), A.ListExtensions_elementAtOrNull($arguments, 2));
                    break $label0$0;
                  }
                  if ("clamp" === _0_0) {
                    t1 = A.SassCalculation_clamp(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1), A.ListExtensions_elementAtOrNull($arguments, 2));
                    break $label0$0;
                  }
                  t3 = A.UnsupportedError$('Unknown calculation name "' + t3 + '".');
                  t1 = A.throwExpression(t3);
                }
                t1 = t1;
                $async$returnValue = t1;
                // goto return
                $async$goto = 1;
                break;
              } catch (exception) {
                t1 = A.unwrapException(exception);
                if (t1 instanceof A.SassScriptException) {
                  error = t1;
                  stackTrace = A.getTraceFromException(exception);
                  if (B.JSString_methods.contains$1(error.message, "compatible"))
                    $async$self._async_evaluate$_verifyCompatibleNumbers$2($arguments, t2);
                  A.throwWithTrace($async$self._async_evaluate$_exception$2(error.message, node.span), error, stackTrace);
                } else
                  throw exception;
              } finally {
                $async$self._async_evaluate$_callableNode = oldCallableNode;
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_visitCalculation$2$inLegacySassFunction, $async$completer);
    },
    _async_evaluate$_checkCalculationArguments$1(node) {
      var t1, _0_0,
        check = new A._EvaluateVisitor__checkCalculationArguments_check0(this, node);
      $label0$0: {
        t1 = node.name;
        _0_0 = t1.toLowerCase();
        if ("calc" === _0_0 || "sqrt" === _0_0 || "sin" === _0_0 || "cos" === _0_0 || "tan" === _0_0 || "asin" === _0_0 || "acos" === _0_0 || "atan" === _0_0 || "abs" === _0_0 || "exp" === _0_0 || "sign" === _0_0) {
          check.call$1(1);
          break $label0$0;
        }
        if ("min" === _0_0 || "max" === _0_0 || "hypot" === _0_0) {
          check.call$0();
          break $label0$0;
        }
        if ("pow" === _0_0 || "atan2" === _0_0 || "log" === _0_0 || "mod" === _0_0 || "rem" === _0_0) {
          check.call$1(2);
          break $label0$0;
        }
        if ("round" === _0_0 || "clamp" === _0_0) {
          check.call$1(3);
          break $label0$0;
        }
        throw A.wrapException(A.UnsupportedError$('Unknown calculation name "' + t1 + '".'));
      }
    },
    _async_evaluate$_verifyCompatibleNumbers$2(args, nodesWithSpans) {
      var i, t1, _0_0, arg, number1, j, number2;
      for (i = 0; t1 = args.length, i < t1; ++i) {
        _0_0 = args[i];
        if (_0_0 instanceof A.SassNumber) {
          t1 = _0_0.get$hasComplexUnits();
          arg = _0_0;
        } else {
          arg = null;
          t1 = false;
        }
        if (t1)
          throw A.wrapException(this._async_evaluate$_exception$2("Number " + A.S(arg) + " isn't compatible with CSS calculations.", J.get$span$z(nodesWithSpans[i])));
      }
      for (i = 0; i < t1 - 1; ++i) {
        number1 = args[i];
        if (!(number1 instanceof A.SassNumber))
          continue;
        for (j = i + 1; t1 = args.length, j < t1; ++j) {
          number2 = args[j];
          if (!(number2 instanceof A.SassNumber))
            continue;
          if (number1.hasPossiblyCompatibleUnits$1(number2))
            continue;
          throw A.wrapException(A.MultiSpanSassRuntimeException$(number1.toString$0(0) + " and " + number2.toString$0(0) + " are incompatible.", J.get$span$z(nodesWithSpans[i]), number1.toString$0(0), A.LinkedHashMap_LinkedHashMap$_literal([J.get$span$z(nodesWithSpans[j]), number2.toString$0(0)], type$.FileSpan, type$.String), this._async_evaluate$_stackTrace$1(J.get$span$z(nodesWithSpans[i])), null));
        }
      }
    },
    _async_evaluate$_visitCalculationExpression$2$inLegacySassFunction(node, inLegacySassFunction) {
      return this._visitCalculationExpression$body$_EvaluateVisitor(node, inLegacySassFunction);
    },
    _visitCalculationExpression$body$_EvaluateVisitor(node, inLegacySassFunction) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Object),
        $async$returnValue, $async$self = this, result, t2, _0_0, _1_0, t3, _i, i, _box_0, t1, inner, $async$temp1;
      var $async$_async_evaluate$_visitCalculationExpression$2$inLegacySassFunction = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              t1 = node instanceof A.ParenthesizedExpression;
              inner = t1 ? node.expression : null;
              $async$goto = t1 ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait($async$self._async_evaluate$_visitCalculationExpression$2$inLegacySassFunction(inner, inLegacySassFunction), $async$_async_evaluate$_visitCalculationExpression$2$inLegacySassFunction);
            case 5:
              // returning from await.
              result = $async$result;
              $async$returnValue = result instanceof A.SassString ? new A.SassString("(" + result._string$_text + ")", false) : result;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              $async$goto = node instanceof A.StringExpression && node.accept$1(new A._IsCalculationSafeVisitor()) ? 6 : 7;
              break;
            case 6:
              // then
              t1 = node.text;
              t2 = t1.get$asPlain();
              _0_0 = t2 == null ? null : t2.toLowerCase();
              if ("pi" === _0_0) {
                t1 = A.SassNumber_SassNumber(3.141592653589793, null);
                // goto break $label0$0
                $async$goto = 8;
                break;
              }
              if ("e" === _0_0) {
                t1 = A.SassNumber_SassNumber(2.718281828459045, null);
                // goto break $label0$0
                $async$goto = 8;
                break;
              }
              if ("infinity" === _0_0) {
                t1 = A.SassNumber_SassNumber(1 / 0, null);
                // goto break $label0$0
                $async$goto = 8;
                break;
              }
              if ("-infinity" === _0_0) {
                t1 = A.SassNumber_SassNumber(-1 / 0, null);
                // goto break $label0$0
                $async$goto = 8;
                break;
              }
              if ("nan" === _0_0) {
                t1 = A.SassNumber_SassNumber(0 / 0, null);
                // goto break $label0$0
                $async$goto = 8;
                break;
              }
              $async$temp1 = A;
              $async$goto = 9;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolation$1(t1), $async$_async_evaluate$_visitCalculationExpression$2$inLegacySassFunction);
            case 9:
              // returning from await.
              t1 = new $async$temp1.SassString($async$result, false);
              // goto break $label0$0
              $async$goto = 8;
              break;
            case 8:
              // break $label0$0
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 7:
              // join
              _box_0.right = _box_0.left = _box_0.operator = null;
              t1 = node instanceof A.BinaryOperationExpression;
              if (t1) {
                _box_0.operator = node.operator;
                _box_0.left = node.left;
                _box_0.right = node.right;
              }
              $async$goto = t1 ? 10 : 11;
              break;
            case 10:
              // then
              $async$self._async_evaluate$_checkWhitespaceAroundCalculationOperator$1(node);
              $async$goto = 12;
              return A._asyncAwait($async$self._addExceptionSpanAsync$1$2(node, new A._EvaluateVisitor__visitCalculationExpression_closure0(_box_0, $async$self, node, inLegacySassFunction), type$.Object), $async$_async_evaluate$_visitCalculationExpression$2$inLegacySassFunction);
            case 12:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 11:
              // join
              $async$goto = node instanceof A.NumberExpression || node instanceof A.VariableExpression || node instanceof A.FunctionExpression || node instanceof A.IfExpression ? 13 : 14;
              break;
            case 13:
              // then
              $async$goto = 15;
              return A._asyncAwait(node.accept$1($async$self), $async$_async_evaluate$_visitCalculationExpression$2$inLegacySassFunction);
            case 15:
              // returning from await.
              _1_0 = $async$result;
              $label1$1: {
                if (_1_0 instanceof A.SassNumber) {
                  t1 = _1_0;
                  break $label1$1;
                }
                if (_1_0 instanceof A.SassCalculation) {
                  t1 = _1_0;
                  break $label1$1;
                }
                if (_1_0 instanceof A.SassString) {
                  t1 = !_1_0._hasQuotes;
                  result = _1_0;
                } else {
                  result = null;
                  t1 = false;
                }
                if (t1) {
                  t1 = result;
                  break $label1$1;
                }
                t1 = A.throwExpression($async$self._async_evaluate$_exception$2("Value " + _1_0.toString$0(0) + " can't be used in a calculation.", node.get$span(node)));
              }
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 14:
              // join
              $async$goto = node instanceof A.ListExpression && !node.hasBrackets && B.ListSeparator_nbm === node.separator && node.contents.length >= 2 ? 16 : 17;
              break;
            case 16:
              // then
              t1 = A._setArrayType([], type$.JSArray_Object);
              t2 = node.contents, t3 = t2.length, _i = 0;
            case 18:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 20;
                break;
              }
              $async$temp1 = t1;
              $async$goto = 21;
              return A._asyncAwait($async$self._async_evaluate$_visitCalculationExpression$2$inLegacySassFunction(t2[_i], inLegacySassFunction), $async$_async_evaluate$_visitCalculationExpression$2$inLegacySassFunction);
            case 21:
              // returning from await.
              $async$temp1.push($async$result);
            case 19:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 18;
              break;
            case 20:
              // after for
              $async$self._async_evaluate$_checkAdjacentCalculationValues$2(t1, node);
              for (i = 0; i < t1.length; ++i) {
                t3 = t1[i];
                if (t3 instanceof A.CalculationOperation && t2[i] instanceof A.ParenthesizedExpression)
                  t1[i] = new A.SassString("(" + A.S(t3) + ")", false);
              }
              $async$returnValue = new A.SassString(B.JSArray_methods.join$1(t1, " "), false);
              // goto return
              $async$goto = 1;
              break;
            case 17:
              // join
              throw A.wrapException($async$self._async_evaluate$_exception$2(string$.This_e, node.get$span(node)));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_visitCalculationExpression$2$inLegacySassFunction, $async$completer);
    },
    _async_evaluate$_checkWhitespaceAroundCalculationOperator$1(node) {
      var t2, t3, t4, textBetweenOperands, first, last,
        t1 = node.operator;
      if (t1 !== B.BinaryOperator_u15 && t1 !== B.BinaryOperator_SjO)
        return;
      t1 = node.left;
      t2 = t1.get$span(t1);
      t2 = t2.get$file(t2);
      t3 = node.right;
      t4 = t3.get$span(t3);
      if (t2 !== t4.get$file(t4))
        return;
      t2 = t1.get$span(t1);
      t2 = t2.get$end(t2);
      t4 = t3.get$span(t3);
      if (t2.offset >= t4.get$start(t4).offset)
        return;
      t2 = t1.get$span(t1);
      t2 = t2.get$file(t2);
      t1 = t1.get$span(t1);
      t1 = t1.get$end(t1);
      t3 = t3.get$span(t3);
      textBetweenOperands = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2._decodedChars, t1.offset, t3.get$start(t3).offset), 0, null);
      first = textBetweenOperands.charCodeAt(0);
      last = textBetweenOperands.charCodeAt(textBetweenOperands.length - 1);
      if (first === 32 || first === 9 || first === 10 || first === 13 || first === 12 || first === 47)
        t1 = !(last === 32 || last === 9 || last === 10 || last === 13 || last === 12 || last === 47);
      else
        t1 = true;
      if (t1)
        throw A.wrapException(this._async_evaluate$_exception$2(string$.x22x2b__an, node.get$operatorSpan()));
    },
    _async_evaluate$_binaryOperatorToCalculationOperator$2(operator, node) {
      var t1;
      $label0$0: {
        if (B.BinaryOperator_u15 === operator) {
          t1 = B.CalculationOperator_g2q;
          break $label0$0;
        }
        if (B.BinaryOperator_SjO === operator) {
          t1 = B.CalculationOperator_CxF;
          break $label0$0;
        }
        if (B.BinaryOperator_2No === operator) {
          t1 = B.CalculationOperator_171;
          break $label0$0;
        }
        if (B.BinaryOperator_U77 === operator) {
          t1 = B.CalculationOperator_Qf1;
          break $label0$0;
        }
        t1 = A.throwExpression(this._async_evaluate$_exception$2(string$.This_o, node.get$operatorSpan()));
      }
      return t1;
    },
    _async_evaluate$_checkAdjacentCalculationValues$2(elements, node) {
      var t1, i, t2, previous, current, previousNode, currentNode, _0_2;
      for (t1 = elements.length, i = 1; i < t1; ++i) {
        t2 = i - 1;
        previous = elements[t2];
        current = elements[i];
        if (previous instanceof A.SassString || current instanceof A.SassString)
          continue;
        t1 = node.contents;
        previousNode = t1[t2];
        currentNode = t1[i];
        if (currentNode instanceof A.UnaryOperationExpression) {
          _0_2 = currentNode.operator;
          if (B.UnaryOperator_AiQ !== _0_2)
            t1 = B.UnaryOperator_cLp === _0_2;
          else
            t1 = true;
        } else
          t1 = false;
        if (!t1)
          t1 = currentNode instanceof A.NumberExpression && currentNode.value < 0;
        else
          t1 = true;
        if (t1)
          throw A.wrapException(this._async_evaluate$_exception$2(string$.x22x2b__an, A.FileSpanExtension_subspan(currentNode.get$span(currentNode), 0, 1)));
        else
          throw A.wrapException(this._async_evaluate$_exception$2("Missing math operator.", previousNode.get$span(previousNode).expand$1(0, currentNode.get$span(currentNode))));
      }
    },
    visitInterpolatedFunctionExpression$1(node) {
      return this.visitInterpolatedFunctionExpression$body$_EvaluateVisitor(node);
    },
    visitInterpolatedFunctionExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$self = this, result, t1, oldInFunction;
      var $async$visitInterpolatedFunctionExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolation$1(node.name), $async$visitInterpolatedFunctionExpression$1);
            case 3:
              // returning from await.
              t1 = $async$result;
              oldInFunction = $async$self._async_evaluate$_inFunction;
              $async$self._async_evaluate$_inFunction = true;
              $async$goto = 4;
              return A._asyncAwait($async$self._async_evaluate$_addErrorSpan$1$2(node, new A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure0($async$self, node, new A.PlainCssCallable(t1)), type$.Value), $async$visitInterpolatedFunctionExpression$1);
            case 4:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate$_inFunction = oldInFunction;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitInterpolatedFunctionExpression$1, $async$completer);
    },
    _async_evaluate$_runUserDefinedCallable$1$4($arguments, callable, nodeWithSpan, run, $V) {
      return this._runUserDefinedCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan, run, $V, $V);
    },
    _runUserDefinedCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan, run, $V, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, oldCallable, result, evaluated, $name;
      var $async$_async_evaluate$_runUserDefinedCallable$1$4 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_evaluateArguments$1($arguments), $async$_async_evaluate$_runUserDefinedCallable$1$4);
            case 3:
              // returning from await.
              evaluated = $async$result;
              $name = callable.declaration.name;
              if ($name !== "@content")
                $name += "()";
              oldCallable = $async$self._async_evaluate$_currentCallable;
              $async$self._async_evaluate$_currentCallable = callable;
              $async$goto = 4;
              return A._asyncAwait($async$self._async_evaluate$_withStackFrame$1$3($name, nodeWithSpan, new A._EvaluateVisitor__runUserDefinedCallable_closure0($async$self, callable, evaluated, nodeWithSpan, run, $V), $V), $async$_async_evaluate$_runUserDefinedCallable$1$4);
            case 4:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate$_currentCallable = oldCallable;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_runUserDefinedCallable$1$4, $async$completer);
    },
    _async_evaluate$_runFunctionCallable$3($arguments, callable, nodeWithSpan) {
      return this._runFunctionCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan);
    },
    _runFunctionCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, buffer, first, argument, restArg, rest, error, t1, t2, _i, t3, t4, exception, $async$exception, $async$temp1;
      var $async$_async_evaluate$_runFunctionCallable$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = type$.AsyncBuiltInCallable._is(callable) ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate$_runBuiltInCallable$3($arguments, callable, nodeWithSpan), $async$_async_evaluate$_runFunctionCallable$3);
            case 6:
              // returning from await.
              $async$returnValue = $async$self._async_evaluate$_withoutSlash$2($async$result, nodeWithSpan);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = type$.UserDefinedCallable_AsyncEnvironment._is(callable) ? 7 : 9;
              break;
            case 7:
              // then
              $async$goto = 10;
              return A._asyncAwait($async$self._async_evaluate$_runUserDefinedCallable$1$4($arguments, callable, nodeWithSpan, new A._EvaluateVisitor__runFunctionCallable_closure0($async$self, callable), type$.Value), $async$_async_evaluate$_runFunctionCallable$3);
            case 10:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 8;
              break;
            case 9:
              // else
              $async$goto = callable instanceof A.PlainCssCallable ? 11 : 13;
              break;
            case 11:
              // then
              t1 = $arguments.named;
              if (t1.get$isNotEmpty(t1) || $arguments.keywordRest != null)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Plain_, nodeWithSpan.get$span(nodeWithSpan)));
              buffer = new A.StringBuffer(callable.name + "(");
              $async$handler = 15;
              first = true;
              t1 = $arguments.positional, t2 = t1.length, _i = 0;
            case 18:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 20;
                break;
              }
              argument = t1[_i];
              if (first)
                first = false;
              else
                buffer._contents += ", ";
              t3 = buffer;
              $async$temp1 = A;
              $async$goto = 21;
              return A._asyncAwait($async$self._evaluateToCss$1(argument), $async$_async_evaluate$_runFunctionCallable$3);
            case 21:
              // returning from await.
              t4 = $async$temp1.S($async$result);
              t3._contents += t4;
            case 19:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 18;
              break;
            case 20:
              // after for
              restArg = $arguments.rest;
              $async$goto = restArg != null ? 22 : 23;
              break;
            case 22:
              // then
              $async$goto = 24;
              return A._asyncAwait(restArg.accept$1($async$self), $async$_async_evaluate$_runFunctionCallable$3);
            case 24:
              // returning from await.
              rest = $async$result;
              if (!first)
                buffer._contents += ", ";
              t1 = buffer;
              t2 = $async$self._async_evaluate$_serialize$2(rest, restArg);
              t1._contents += t2;
            case 23:
              // join
              $async$handler = 2;
              // goto after finally
              $async$goto = 17;
              break;
            case 15:
              // catch
              $async$handler = 14;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (type$.SassRuntimeException._is(t1)) {
                error = t1;
                if (!B.JSString_methods.endsWith$1(error._span_exception$_message, "isn't a valid CSS value."))
                  throw $async$exception;
                throw A.wrapException(A.MultiSpanSassRuntimeException$(error._span_exception$_message, J.get$span$z(error), "value", A.LinkedHashMap_LinkedHashMap$_literal([nodeWithSpan.get$span(nodeWithSpan), "unknown function treated as plain CSS"], type$.FileSpan, type$.String), J.get$trace$z(error), null));
              } else
                throw $async$exception;
              // goto after finally
              $async$goto = 17;
              break;
            case 14:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 17:
              // after finally
              t1 = buffer;
              t2 = A.Primitives_stringFromCharCode(41);
              t1._contents += t2;
              t2 = buffer._contents;
              $async$returnValue = new A.SassString(t2.charCodeAt(0) == 0 ? t2 : t2, false);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 12;
              break;
            case 13:
              // else
              throw A.wrapException(A.ArgumentError$("Unknown callable type " + J.get$runtimeType$(callable).toString$0(0) + ".", null));
            case 12:
              // join
            case 8:
              // join
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_runFunctionCallable$3, $async$completer);
    },
    _async_evaluate$_runBuiltInCallable$3($arguments, callable, nodeWithSpan) {
      return this._runBuiltInCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan);
    },
    _runBuiltInCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, result, error, stackTrace, message, namedSet, _0_0, declaredArguments, i, t1, t2, t3, argument, t4, t5, t6, t7, rest, argumentList, exception, message0, _box_0, evaluated, oldCallableNode, $async$exception;
      var $async$_async_evaluate$_runBuiltInCallable$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_evaluateArguments$1($arguments), $async$_async_evaluate$_runBuiltInCallable$3);
            case 3:
              // returning from await.
              evaluated = $async$result;
              oldCallableNode = $async$self._async_evaluate$_callableNode;
              $async$self._async_evaluate$_callableNode = nodeWithSpan;
              namedSet = new A.MapKeySet(evaluated._values[0], type$.MapKeySet_String);
              _box_0.callback = _box_0.overload = null;
              _0_0 = callable.callbackFor$2(J.get$length$asx(evaluated._values[2]), namedSet);
              _box_0.overload = _0_0._0;
              _box_0.callback = _0_0._1;
              $async$self._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__runBuiltInCallable_closure2(_box_0, evaluated, namedSet));
              declaredArguments = _box_0.overload.$arguments;
              i = J.get$length$asx(evaluated._values[2]), t1 = declaredArguments.length, t2 = type$._Future_Value, t3 = type$.Future_Value;
            case 4:
              // for condition
              if (!(i < t1)) {
                // goto after for
                $async$goto = 6;
                break;
              }
              argument = declaredArguments[i];
              t4 = evaluated._values[2];
              t5 = evaluated._values[0].remove$1(0, argument.name);
              $async$goto = t5 == null ? 7 : 8;
              break;
            case 7:
              // then
              t5 = argument.defaultValue;
              t6 = t5.accept$1($async$self);
              if (!t3._is(t6)) {
                t7 = new A._Future($.Zone__current, t2);
                t7._state = 8;
                t7._resultOrListeners = t6;
                t6 = t7;
              }
              $async$goto = 9;
              return A._asyncAwait(t6, $async$_async_evaluate$_runBuiltInCallable$3);
            case 9:
              // returning from await.
              t5 = $async$self._async_evaluate$_withoutSlash$2($async$result, t5);
            case 8:
              // join
              J.add$1$ax(t4, t5);
            case 5:
              // for update
              ++i;
              // goto for condition
              $async$goto = 4;
              break;
            case 6:
              // after for
              if (_box_0.overload.restArgument != null) {
                if (J.get$length$asx(evaluated._values[2]) > t1) {
                  rest = J.sublist$1$ax(evaluated._values[2], t1);
                  J.removeRange$2$ax(evaluated._values[2], t1, J.get$length$asx(evaluated._values[2]));
                } else
                  rest = B.List_empty8;
                t1 = evaluated._values[0];
                argumentList = A.SassArgumentList$(rest, t1, evaluated._values[4] === B.ListSeparator_undecided_null_undecided ? B.ListSeparator_ECn : evaluated._values[4]);
                J.add$1$ax(evaluated._values[2], argumentList);
              } else
                argumentList = null;
              result = null;
              $async$handler = 11;
              $async$goto = 14;
              return A._asyncAwait($async$self._addExceptionSpanAsync$1$2(nodeWithSpan, new A._EvaluateVisitor__runBuiltInCallable_closure3(_box_0, evaluated), type$.Value), $async$_async_evaluate$_runBuiltInCallable$3);
            case 14:
              // returning from await.
              result = $async$result;
              $async$handler = 2;
              // goto after finally
              $async$goto = 13;
              break;
            case 11:
              // catch
              $async$handler = 10;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.SassException)
                throw $async$exception;
              else {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                message = null;
                try {
                  message = A._asString(J.get$message$x(error));
                } catch (exception) {
                  message0 = J.toString$0$(error);
                  message = message0;
                }
                A.throwWithTrace($async$self._async_evaluate$_exception$2(message, nodeWithSpan.get$span(nodeWithSpan)), error, stackTrace);
              }
              // goto after finally
              $async$goto = 13;
              break;
            case 10:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 13:
              // after finally
              $async$self._async_evaluate$_callableNode = oldCallableNode;
              if (argumentList == null) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = evaluated._values[0];
              if (t1.get$isEmpty(t1)) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              if (argumentList._wereKeywordsAccessed) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = evaluated._values[0];
              t1 = A.pluralize("argument", J.get$length$asx(t1.get$keys(t1)), null);
              t2 = evaluated._values[0];
              throw A.wrapException(A.MultiSpanSassRuntimeException$("No " + t1 + " named " + A.toSentence(J.map$1$1$ax(t2.get$keys(t2), new A._EvaluateVisitor__runBuiltInCallable_closure4(), type$.Object), "or") + ".", nodeWithSpan.get$span(nodeWithSpan), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([_box_0.overload.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), $async$self._async_evaluate$_stackTrace$1(nodeWithSpan.get$span(nodeWithSpan)), null));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_runBuiltInCallable$3, $async$completer);
    },
    _async_evaluate$_evaluateArguments$1($arguments) {
      return this._evaluateArguments$body$_EvaluateVisitor($arguments);
    },
    _evaluateArguments$body$_EvaluateVisitor($arguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_5_Map_String_Value_named_and_Map_String_AstNode_namedNodes_and_List_Value_positional_and_List_AstNode_positionalNodes_and_ListSeparator_separator),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, expression, nodeForSpan, t5, t6, named, namedNodes, $name, value, t7, restArgs, rest, restNodeForSpan, separator, keywordRestArgs, keywordRest, keywordRestNodeForSpan, positional, positionalNodes, $async$temp1, $async$temp2;
      var $async$_async_evaluate$_evaluateArguments$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              positional = A._setArrayType([], type$.JSArray_Value);
              positionalNodes = A._setArrayType([], type$.JSArray_AstNode);
              t1 = $arguments.positional, t2 = t1.length, t3 = type$._Future_Value, t4 = type$.Future_Value, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              expression = t1[_i];
              nodeForSpan = $async$self._async_evaluate$_expressionNode$1(expression);
              t5 = expression.accept$1($async$self);
              if (!t4._is(t5)) {
                t6 = new A._Future($.Zone__current, t3);
                t6._state = 8;
                t6._resultOrListeners = t5;
                t5 = t6;
              }
              $async$temp1 = positional;
              $async$goto = 6;
              return A._asyncAwait(t5, $async$_async_evaluate$_evaluateArguments$1);
            case 6:
              // returning from await.
              $async$temp1.push($async$self._async_evaluate$_withoutSlash$2($async$result, nodeForSpan));
              positionalNodes.push(nodeForSpan);
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              t1 = type$.String;
              named = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Value);
              t2 = type$.AstNode;
              namedNodes = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
              t5 = A.MapExtensions_get_pairs($arguments.named, t1, type$.Expression), t5 = t5.get$iterator(t5);
            case 7:
              // for condition
              if (!t5.moveNext$0()) {
                // goto after for
                $async$goto = 8;
                break;
              }
              t6 = t5.get$current(t5);
              $name = t6._0;
              value = t6._1;
              nodeForSpan = $async$self._async_evaluate$_expressionNode$1(value);
              t6 = value.accept$1($async$self);
              if (!t4._is(t6)) {
                t7 = new A._Future($.Zone__current, t3);
                t7._state = 8;
                t7._resultOrListeners = t6;
                t6 = t7;
              }
              $async$temp1 = named;
              $async$temp2 = $name;
              $async$goto = 9;
              return A._asyncAwait(t6, $async$_async_evaluate$_evaluateArguments$1);
            case 9:
              // returning from await.
              $async$temp1.$indexSet(0, $async$temp2, $async$self._async_evaluate$_withoutSlash$2($async$result, nodeForSpan));
              namedNodes.$indexSet(0, $name, nodeForSpan);
              // goto for condition
              $async$goto = 7;
              break;
            case 8:
              // after for
              restArgs = $arguments.rest;
              if (restArgs == null) {
                $async$returnValue = new A._Record_5_named_namedNodes_positional_positionalNodes_separator([named, namedNodes, positional, positionalNodes, B.ListSeparator_undecided_null_undecided]);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 10;
              return A._asyncAwait(restArgs.accept$1($async$self), $async$_async_evaluate$_evaluateArguments$1);
            case 10:
              // returning from await.
              rest = $async$result;
              restNodeForSpan = $async$self._async_evaluate$_expressionNode$1(restArgs);
              if (rest instanceof A.SassMap) {
                $async$self._async_evaluate$_addRestMap$4(named, rest, restArgs, new A._EvaluateVisitor__evaluateArguments_closure3());
                t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
                for (t4 = rest._map$_contents, t4 = J.get$iterator$ax(t4.get$keys(t4)), t5 = type$.SassString; t4.moveNext$0();)
                  t3.$indexSet(0, t5._as(t4.get$current(t4))._string$_text, restNodeForSpan);
                namedNodes.addAll$1(0, t3);
                separator = B.ListSeparator_undecided_null_undecided;
              } else if (rest instanceof A.SassList) {
                t3 = rest._list$_contents;
                B.JSArray_methods.addAll$1(positional, new A.MappedListIterable(t3, new A._EvaluateVisitor__evaluateArguments_closure4($async$self, restNodeForSpan), A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Value>")));
                B.JSArray_methods.addAll$1(positionalNodes, A.List_List$filled(t3.length, restNodeForSpan, false, t2));
                separator = rest._separator;
                if (rest instanceof A.SassArgumentList) {
                  rest._wereKeywordsAccessed = true;
                  rest._keywords.forEach$1(0, new A._EvaluateVisitor__evaluateArguments_closure5($async$self, named, restNodeForSpan, namedNodes));
                }
              } else {
                positional.push($async$self._async_evaluate$_withoutSlash$2(rest, restNodeForSpan));
                positionalNodes.push(restNodeForSpan);
                separator = B.ListSeparator_undecided_null_undecided;
              }
              keywordRestArgs = $arguments.keywordRest;
              if (keywordRestArgs == null) {
                $async$returnValue = new A._Record_5_named_namedNodes_positional_positionalNodes_separator([named, namedNodes, positional, positionalNodes, separator]);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 11;
              return A._asyncAwait(keywordRestArgs.accept$1($async$self), $async$_async_evaluate$_evaluateArguments$1);
            case 11:
              // returning from await.
              keywordRest = $async$result;
              keywordRestNodeForSpan = $async$self._async_evaluate$_expressionNode$1(keywordRestArgs);
              if (keywordRest instanceof A.SassMap) {
                $async$self._async_evaluate$_addRestMap$4(named, keywordRest, keywordRestArgs, new A._EvaluateVisitor__evaluateArguments_closure6());
                t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
                for (t2 = keywordRest._map$_contents, t2 = J.get$iterator$ax(t2.get$keys(t2)), t3 = type$.SassString; t2.moveNext$0();)
                  t1.$indexSet(0, t3._as(t2.get$current(t2))._string$_text, keywordRestNodeForSpan);
                namedNodes.addAll$1(0, t1);
                $async$returnValue = new A._Record_5_named_namedNodes_positional_positionalNodes_separator([named, namedNodes, positional, positionalNodes, separator]);
                // goto return
                $async$goto = 1;
                break;
              } else
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Variabs + keywordRest.toString$0(0) + ").", keywordRestArgs.get$span(keywordRestArgs)));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_evaluateArguments$1, $async$completer);
    },
    _async_evaluate$_evaluateMacroArguments$1(invocation) {
      return this._evaluateMacroArguments$body$_EvaluateVisitor(invocation);
    },
    _evaluateMacroArguments$body$_EvaluateVisitor(invocation) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_List_Expression_and_Map_String_Expression),
        $async$returnValue, $async$self = this, t2, positional, named, rest, restNodeForSpan, keywordRestArgs_, keywordRest, keywordRestNodeForSpan, t1, restArgs_;
      var $async$_async_evaluate$_evaluateMacroArguments$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = invocation.$arguments;
              restArgs_ = t1.rest;
              if (restArgs_ == null) {
                $async$returnValue = new A._Record_2(t1.positional, t1.named);
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = t1.positional;
              positional = A._setArrayType(t2.slice(0), A._arrayInstanceType(t2));
              named = A.LinkedHashMap_LinkedHashMap$of(t1.named, type$.String, type$.Expression);
              $async$goto = 3;
              return A._asyncAwait(restArgs_.accept$1($async$self), $async$_async_evaluate$_evaluateMacroArguments$1);
            case 3:
              // returning from await.
              rest = $async$result;
              restNodeForSpan = $async$self._async_evaluate$_expressionNode$1(restArgs_);
              if (rest instanceof A.SassMap)
                $async$self._async_evaluate$_addRestMap$4(named, rest, invocation, new A._EvaluateVisitor__evaluateMacroArguments_closure3(restArgs_));
              else if (rest instanceof A.SassList) {
                t2 = rest._list$_contents;
                B.JSArray_methods.addAll$1(positional, new A.MappedListIterable(t2, new A._EvaluateVisitor__evaluateMacroArguments_closure4($async$self, restNodeForSpan, restArgs_), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Expression>")));
                if (rest instanceof A.SassArgumentList) {
                  rest._wereKeywordsAccessed = true;
                  rest._keywords.forEach$1(0, new A._EvaluateVisitor__evaluateMacroArguments_closure5($async$self, named, restNodeForSpan, restArgs_));
                }
              } else
                positional.push(new A.ValueExpression($async$self._async_evaluate$_withoutSlash$2(rest, restNodeForSpan), restArgs_.get$span(restArgs_)));
              keywordRestArgs_ = t1.keywordRest;
              if (keywordRestArgs_ == null) {
                $async$returnValue = new A._Record_2(positional, named);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 4;
              return A._asyncAwait(keywordRestArgs_.accept$1($async$self), $async$_async_evaluate$_evaluateMacroArguments$1);
            case 4:
              // returning from await.
              keywordRest = $async$result;
              keywordRestNodeForSpan = $async$self._async_evaluate$_expressionNode$1(keywordRestArgs_);
              if (keywordRest instanceof A.SassMap) {
                $async$self._async_evaluate$_addRestMap$4(named, keywordRest, invocation, new A._EvaluateVisitor__evaluateMacroArguments_closure6($async$self, keywordRestNodeForSpan, keywordRestArgs_));
                $async$returnValue = new A._Record_2(positional, named);
                // goto return
                $async$goto = 1;
                break;
              } else
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Variabs + keywordRest.toString$0(0) + ").", keywordRestArgs_.get$span(keywordRestArgs_)));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_evaluateMacroArguments$1, $async$completer);
    },
    _async_evaluate$_addRestMap$1$4(values, map, nodeWithSpan, convert) {
      map._map$_contents.forEach$1(0, new A._EvaluateVisitor__addRestMap_closure0(this, values, convert, this._async_evaluate$_expressionNode$1(nodeWithSpan), map, nodeWithSpan));
    },
    _async_evaluate$_addRestMap$4(values, map, nodeWithSpan, convert) {
      return this._async_evaluate$_addRestMap$1$4(values, map, nodeWithSpan, convert, type$.dynamic);
    },
    _async_evaluate$_verifyArguments$4(positional, named, $arguments, nodeWithSpan) {
      return this._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__verifyArguments_closure0($arguments, positional, named));
    },
    visitSelectorExpression$1(node) {
      return this.visitSelectorExpression$body$_EvaluateVisitor(node);
    },
    visitSelectorExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$self = this, t1;
      var $async$visitSelectorExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._async_evaluate$_styleRuleIgnoringAtRoot;
              t1 = t1 == null ? null : t1.originalSelector.get$asSassList();
              $async$returnValue = t1 == null ? B.C__SassNull : t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitSelectorExpression$1, $async$completer);
    },
    visitStringExpression$1(node) {
      return this.visitStringExpression$body$_EvaluateVisitor(node);
    },
    visitStringExpression$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassString),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, value, t5, _0_0, text, oldInSupportsDeclaration;
      var $async$visitStringExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldInSupportsDeclaration = $async$self._async_evaluate$_inSupportsDeclaration;
              $async$self._async_evaluate$_inSupportsDeclaration = false;
              t1 = A._setArrayType([], type$.JSArray_String);
              t2 = node.text.contents, t3 = t2.length, t4 = type$.Expression, _i = 0;
            case 3:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              value = t2[_i];
              if (typeof value == "string") {
                t5 = value;
                // goto break $label0$0
                $async$goto = 6;
                break;
              }
              $async$goto = t4._is(value) ? 7 : 8;
              break;
            case 7:
              // then
              $async$goto = 9;
              return A._asyncAwait(value.accept$1($async$self), $async$visitStringExpression$1);
            case 9:
              // returning from await.
              _0_0 = $async$result;
              $label1$1: {
                if (_0_0 instanceof A.SassString) {
                  text = _0_0._string$_text;
                  t5 = text;
                  break $label1$1;
                }
                t5 = $async$self._async_evaluate$_serialize$3$quote(_0_0, value, false);
                break $label1$1;
              }
              // goto break $label0$0
              $async$goto = 6;
              break;
            case 8:
              // join
              t5 = A.throwExpression(A.UnsupportedError$("Unknown interpolation value " + A.S(value)));
            case 6:
              // break $label0$0
              t1.push(t5);
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              t1 = B.JSArray_methods.join$0(t1);
              $async$self._async_evaluate$_inSupportsDeclaration = oldInSupportsDeclaration;
              $async$returnValue = new A.SassString(t1, node.hasQuotes);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitStringExpression$1, $async$completer);
    },
    visitSupportsExpression$1(expression) {
      return this.visitSupportsExpression$body$_EvaluateVisitor(expression);
    },
    visitSupportsExpression$body$_EvaluateVisitor(expression) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassString),
        $async$returnValue, $async$self = this, $async$temp1;
      var $async$visitSupportsExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = A;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(expression.condition), $async$visitSupportsExpression$1);
            case 3:
              // returning from await.
              $async$returnValue = new $async$temp1.SassString($async$result, false);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitSupportsExpression$1, $async$completer);
    },
    visitCssAtRule$1(node) {
      return this.visitCssAtRule$body$_EvaluateVisitor(node);
    },
    visitCssAtRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, wasInKeyframes, wasInUnknownAtRule, t1;
      var $async$visitCssAtRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.At_rul, node.span));
              if (node.isChildless) {
                $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").addChild$1(A.ModifiableCssAtRule$(node.name, node.span, true, node.value));
                // goto return
                $async$goto = 1;
                break;
              }
              wasInKeyframes = $async$self._async_evaluate$_inKeyframes;
              wasInUnknownAtRule = $async$self._async_evaluate$_inUnknownAtRule;
              t1 = node.name;
              if (A.unvendor(t1.value) === "keyframes")
                $async$self._async_evaluate$_inKeyframes = true;
              else
                $async$self._async_evaluate$_inUnknownAtRule = true;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(A.ModifiableCssAtRule$(t1, node.span, false, node.value), new A._EvaluateVisitor_visitCssAtRule_closure1($async$self, node), false, new A._EvaluateVisitor_visitCssAtRule_closure2(), type$.ModifiableCssAtRule, type$.Null), $async$visitCssAtRule$1);
            case 3:
              // returning from await.
              $async$self._async_evaluate$_inUnknownAtRule = wasInUnknownAtRule;
              $async$self._async_evaluate$_inKeyframes = wasInKeyframes;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssAtRule$1, $async$completer);
    },
    visitCssComment$1(node) {
      return this.visitCssComment$body$_EvaluateVisitor(node);
    },
    visitCssComment$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$visitCssComment$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent") === $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__root, "_root") && $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__endOfImports, "_endOfImports") === J.get$length$asx($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__root, "_root").children._collection$_source))
                $async$self._async_evaluate$__endOfImports = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__endOfImports, "_endOfImports") + 1;
              $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").addChild$1(new A.ModifiableCssComment(node.text, node.span));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssComment$1, $async$completer);
    },
    visitCssDeclaration$1(node) {
      return this.visitCssDeclaration$body$_EvaluateVisitor(node);
    },
    visitCssDeclaration$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$visitCssDeclaration$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").addChild$1(A.ModifiableCssDeclaration$(node.name, node.value, node.span, node.parsedAsCustomProperty, node.valueSpanForMap));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssDeclaration$1, $async$completer);
    },
    visitCssImport$1(node) {
      return this.visitCssImport$body$_EvaluateVisitor(node);
    },
    visitCssImport$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, modifiableNode;
      var $async$visitCssImport$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              modifiableNode = new A.ModifiableCssImport(node.url, node.modifiers, node.span);
              if ($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent") !== $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__root, "_root"))
                $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").addChild$1(modifiableNode);
              else if ($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__endOfImports, "_endOfImports") === J.get$length$asx($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__root, "_root").children._collection$_source)) {
                $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__root, "_root").addChild$1(modifiableNode);
                $async$self._async_evaluate$__endOfImports = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__endOfImports, "_endOfImports") + 1;
              } else {
                t1 = $async$self._async_evaluate$_outOfOrderImports;
                (t1 == null ? $async$self._async_evaluate$_outOfOrderImports = A._setArrayType([], type$.JSArray_ModifiableCssImport) : t1).push(modifiableNode);
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssImport$1, $async$completer);
    },
    visitCssKeyframeBlock$1(node) {
      return this.visitCssKeyframeBlock$body$_EvaluateVisitor(node);
    },
    visitCssKeyframeBlock$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$visitCssKeyframeBlock$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$(node.selector, node.span), new A._EvaluateVisitor_visitCssKeyframeBlock_closure1($async$self, node), false, new A._EvaluateVisitor_visitCssKeyframeBlock_closure2(), type$.ModifiableCssKeyframeBlock, type$.Null), $async$visitCssKeyframeBlock$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssKeyframeBlock$1, $async$completer);
    },
    visitCssMediaRule$1(node) {
      return this.visitCssMediaRule$body$_EvaluateVisitor(node);
    },
    visitCssMediaRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, mergedQueries, t1, mergedSources, t2, t3;
      var $async$visitCssMediaRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Media_, node.span));
              mergedQueries = A.NullableExtension_andThen($async$self._async_evaluate$_mediaQueries, new A._EvaluateVisitor_visitCssMediaRule_closure2($async$self, node));
              t1 = mergedQueries == null;
              if (!t1 && J.get$isEmpty$asx(mergedQueries)) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (t1)
                mergedSources = B.Set_empty1;
              else {
                t2 = $async$self._async_evaluate$_mediaQuerySources;
                t2.toString;
                t2 = A.LinkedHashSet_LinkedHashSet$of(t2, type$.CssMediaQuery);
                t3 = $async$self._async_evaluate$_mediaQueries;
                t3.toString;
                t2.addAll$1(0, t3);
                t2.addAll$1(0, node.queries);
                mergedSources = t2;
              }
              t1 = t1 ? node.queries : mergedQueries;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(A.ModifiableCssMediaRule$(t1, node.span), new A._EvaluateVisitor_visitCssMediaRule_closure3($async$self, mergedQueries, node, mergedSources), false, new A._EvaluateVisitor_visitCssMediaRule_closure4(mergedSources), type$.ModifiableCssMediaRule, type$.Null), $async$visitCssMediaRule$1);
            case 3:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssMediaRule$1, $async$completer);
    },
    visitCssStyleRule$1(node) {
      return this.visitCssStyleRule$body$_EvaluateVisitor(node);
    },
    visitCssStyleRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, styleRule, t2, nest, t3, originalSelector, rule, oldAtRootExcludingStyleRule, _0_1, lastChild;
      var $async$visitCssStyleRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Style_n, node.span));
              else if ($async$self._async_evaluate$_inKeyframes && $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent") instanceof A.ModifiableCssKeyframeBlock)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Style_k, node.span));
              t1 = $async$self._async_evaluate$_atRootExcludingStyleRule;
              styleRule = t1 ? null : $async$self._async_evaluate$_styleRuleIgnoringAtRoot;
              t2 = t1 ? null : $async$self._async_evaluate$_styleRuleIgnoringAtRoot;
              t2 = t2 == null ? null : t2.fromPlainCss;
              nest = t2 !== true;
              t2 = node._style_rule$_selector._box$_inner;
              if (nest) {
                t2 = t2.value;
                t3 = styleRule == null ? null : styleRule.originalSelector;
                originalSelector = t2.nestWithin$3$implicitParent$preserveParentSelectors(t3, !t1, node.fromPlainCss);
              } else
                originalSelector = t2.value;
              rule = A.ModifiableCssStyleRule$($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__extensionStore, "_extensionStore").addSelector$2(originalSelector, $async$self._async_evaluate$_mediaQueries), node.span, node.fromPlainCss, originalSelector);
              oldAtRootExcludingStyleRule = $async$self._async_evaluate$_atRootExcludingStyleRule;
              $async$self._async_evaluate$_atRootExcludingStyleRule = false;
              t1 = nest ? new A._EvaluateVisitor_visitCssStyleRule_closure1() : null;
              $async$goto = 2;
              return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitCssStyleRule_closure2($async$self, rule, node), false, t1, type$.ModifiableCssStyleRule, type$.Null), $async$visitCssStyleRule$1);
            case 2:
              // returning from await.
              $async$self._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
              t1 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").children._collection$_source;
              t2 = J.getInterceptor$asx(t1);
              _0_1 = t2.get$length(t1);
              if (_0_1 >= 1) {
                lastChild = t2.elementAt$1(t1, _0_1 - 1);
                t1 = styleRule == null;
              } else {
                lastChild = null;
                t1 = false;
              }
              if (t1)
                lastChild.isGroupEnd = true;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssStyleRule$1, $async$completer);
    },
    visitCssStylesheet$1(node) {
      return this.visitCssStylesheet$body$_EvaluateVisitor(node);
    },
    visitCssStylesheet$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$visitCssStylesheet$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = J.get$iterator$ax(node.get$children(node));
            case 2:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              $async$goto = 4;
              return A._asyncAwait(t1.get$current(t1).accept$1($async$self), $async$visitCssStylesheet$1);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssStylesheet$1, $async$completer);
    },
    visitCssSupportsRule$1(node) {
      return this.visitCssSupportsRule$body$_EvaluateVisitor(node);
    },
    visitCssSupportsRule$body$_EvaluateVisitor(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$visitCssSupportsRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Suppor, node.span));
              $async$goto = 2;
              return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(A.ModifiableCssSupportsRule$(node.condition, node.span), new A._EvaluateVisitor_visitCssSupportsRule_closure1($async$self, node), false, new A._EvaluateVisitor_visitCssSupportsRule_closure2(), type$.ModifiableCssSupportsRule, type$.Null), $async$visitCssSupportsRule$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssSupportsRule$1, $async$completer);
    },
    _async_evaluate$_handleReturn$1$2(list, callback) {
      return this._handleReturn$body$_EvaluateVisitor(list, callback);
    },
    _async_evaluate$_handleReturn$2(list, callback) {
      return this._async_evaluate$_handleReturn$1$2(list, callback, type$.dynamic);
    },
    _handleReturn$body$_EvaluateVisitor(list, callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, t1, _i, _0_0;
      var $async$_async_evaluate$_handleReturn$1$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = list.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < list.length)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(callback.call$1(list[_i]), $async$_async_evaluate$_handleReturn$1$2);
            case 6:
              // returning from await.
              _0_0 = $async$result;
              if (_0_0 != null) {
                $async$returnValue = _0_0;
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // for update
              list.length === t1 || (0, A.throwConcurrentModificationError)(list), ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_handleReturn$1$2, $async$completer);
    },
    _async_evaluate$_withEnvironment$1$2(environment, callback, $T) {
      return this._withEnvironment$body$_EvaluateVisitor(environment, callback, $T, $T);
    },
    _withEnvironment$body$_EvaluateVisitor(environment, callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, result, oldEnvironment;
      var $async$_async_evaluate$_withEnvironment$1$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldEnvironment = $async$self._async_evaluate$_environment;
              $async$self._async_evaluate$_environment = environment;
              $async$goto = 3;
              return A._asyncAwait(callback.call$0(), $async$_async_evaluate$_withEnvironment$1$2);
            case 3:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate$_environment = oldEnvironment;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_withEnvironment$1$2, $async$completer);
    },
    _async_evaluate$_interpolationToValue$3$trim$warnForColor(interpolation, trim, warnForColor) {
      return this._interpolationToValue$body$_EvaluateVisitor(interpolation, trim, warnForColor);
    },
    _async_evaluate$_interpolationToValue$1(interpolation) {
      return this._async_evaluate$_interpolationToValue$3$trim$warnForColor(interpolation, false, false);
    },
    _async_evaluate$_interpolationToValue$2$warnForColor(interpolation, warnForColor) {
      return this._async_evaluate$_interpolationToValue$3$trim$warnForColor(interpolation, false, warnForColor);
    },
    _interpolationToValue$body$_EvaluateVisitor(interpolation, trim, warnForColor) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CssValue_String),
        $async$returnValue, $async$self = this, result, t1;
      var $async$_async_evaluate$_interpolationToValue$3$trim$warnForColor = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolation$2$warnForColor(interpolation, warnForColor), $async$_async_evaluate$_interpolationToValue$3$trim$warnForColor);
            case 3:
              // returning from await.
              result = $async$result;
              t1 = trim ? A.trimAscii(result, true) : result;
              $async$returnValue = new A.CssValue(t1, interpolation.span, type$.CssValue_String);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_interpolationToValue$3$trim$warnForColor, $async$completer);
    },
    _async_evaluate$_performInterpolation$2$warnForColor(interpolation, warnForColor) {
      return this._performInterpolation$body$_EvaluateVisitor(interpolation, warnForColor);
    },
    _async_evaluate$_performInterpolation$1(interpolation) {
      return this._async_evaluate$_performInterpolation$2$warnForColor(interpolation, false);
    },
    _performInterpolation$body$_EvaluateVisitor(interpolation, warnForColor) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this;
      var $async$_async_evaluate$_performInterpolation$2$warnForColor = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolationHelper$3$sourceMap$warnForColor(interpolation, false, warnForColor), $async$_async_evaluate$_performInterpolation$2$warnForColor);
            case 3:
              // returning from await.
              $async$returnValue = $async$result._0;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_performInterpolation$2$warnForColor, $async$completer);
    },
    _async_evaluate$_performInterpolationWithMap$2$warnForColor(interpolation, warnForColor) {
      return this._performInterpolationWithMap$body$_EvaluateVisitor(interpolation, true);
    },
    _performInterpolationWithMap$body$_EvaluateVisitor(interpolation, warnForColor) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_String_and_InterpolationMap),
        $async$returnValue, $async$self = this, _0_0, result, map;
      var $async$_async_evaluate$_performInterpolationWithMap$2$warnForColor = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_performInterpolationHelper$3$sourceMap$warnForColor(interpolation, true, true), $async$_async_evaluate$_performInterpolationWithMap$2$warnForColor);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              result = _0_0._0;
              map = _0_0._1;
              map.toString;
              $async$returnValue = new A._Record_2(result, map);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_performInterpolationWithMap$2$warnForColor, $async$completer);
    },
    _async_evaluate$_performInterpolationHelper$3$sourceMap$warnForColor(interpolation, sourceMap, warnForColor) {
      return this._performInterpolationHelper$body$_EvaluateVisitor(interpolation, sourceMap, warnForColor);
    },
    _performInterpolationHelper$body$_EvaluateVisitor(interpolation, sourceMap, warnForColor) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_String_and_nullable_InterpolationMap),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, t6, t7, first, _i, t8, value, result, t9, result0, targetLocations, oldInSupportsDeclaration;
      var $async$_async_evaluate$_performInterpolationHelper$3$sourceMap$warnForColor = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              targetLocations = sourceMap ? A._setArrayType([], type$.JSArray_SourceLocation) : null;
              oldInSupportsDeclaration = $async$self._async_evaluate$_inSupportsDeclaration;
              $async$self._async_evaluate$_inSupportsDeclaration = false;
              t1 = interpolation.contents, t2 = t1.length, t3 = type$.Expression, t4 = targetLocations == null, t5 = type$.JSArray_Object, t6 = interpolation.span, t7 = type$.Object, first = true, _i = 0, t8 = "";
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              value = t1[_i];
              if (!first)
                if (!t4)
                  targetLocations.push(A.SourceLocation$(t8.length, null, null, null));
              if (typeof value == "string") {
                t8 += value;
                // goto for update
                $async$goto = 4;
                break;
              }
              t3._as(value);
              $async$goto = 6;
              return A._asyncAwait(value.accept$1($async$self), $async$_async_evaluate$_performInterpolationHelper$3$sourceMap$warnForColor);
            case 6:
              // returning from await.
              result = $async$result;
              if (warnForColor && $.$get$namesByColor().containsKey$1(result)) {
                t9 = A._setArrayType([""], t5);
                result0 = A.List_List$from(t9, false, t7);
                result0.fixed$length = Array;
                result0.immutable$list = Array;
                result0 = new A.Interpolation(result0, t6);
                result0.Interpolation$2(t9, t6);
                t9 = $.$get$namesByColor();
                $async$self._async_evaluate$_warn$2(string$.You_pr + A.S(t9.$index(0, result)) + string$.x20in_in + result.toString$0(0) + string$.x2c_whicw + A.S(t9.$index(0, result)) + string$.x22x29__If + new A.BinaryOperationExpression(B.BinaryOperator_u15, new A.StringExpression(result0, true), value, false).toString$0(0) + "'.", value.get$span(value));
              }
              t8 += $async$self._async_evaluate$_serialize$3$quote(result, value, false);
            case 4:
              // for update
              ++_i, first = false;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$self._async_evaluate$_inSupportsDeclaration = oldInSupportsDeclaration;
              $async$returnValue = new A._Record_2(t8.charCodeAt(0) == 0 ? t8 : t8, A.NullableExtension_andThen(targetLocations, new A._EvaluateVisitor__performInterpolationHelper_closure0(interpolation)));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_performInterpolationHelper$3$sourceMap$warnForColor, $async$completer);
    },
    _evaluateToCss$2$quote(expression, quote) {
      return this._evaluateToCss$body$_EvaluateVisitor(expression, quote);
    },
    _evaluateToCss$1(expression) {
      return this._evaluateToCss$2$quote(expression, true);
    },
    _evaluateToCss$body$_EvaluateVisitor(expression, quote) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, t1;
      var $async$_evaluateToCss$2$quote = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = expression.accept$1($async$self);
              $async$goto = 3;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$_evaluateToCss$2$quote);
            case 3:
              // returning from await.
              $async$returnValue = $async$self._async_evaluate$_serialize$3$quote($async$result, expression, quote);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_evaluateToCss$2$quote, $async$completer);
    },
    _async_evaluate$_serialize$3$quote(value, nodeWithSpan, quote) {
      return this._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__serialize_closure0(value, quote));
    },
    _async_evaluate$_serialize$2(value, nodeWithSpan) {
      return this._async_evaluate$_serialize$3$quote(value, nodeWithSpan, true);
    },
    _async_evaluate$_expressionNode$1(expression) {
      var t1;
      if (expression instanceof A.VariableExpression) {
        t1 = this._async_evaluate$_addExceptionSpan$2(expression, new A._EvaluateVisitor__expressionNode_closure0(this, expression));
        return t1 == null ? expression : t1;
      } else
        return expression;
    },
    _async_evaluate$_withParent$2$4$scopeWhen$through(node, callback, scopeWhen, through, $S, $T) {
      return this._withParent$body$_EvaluateVisitor(node, callback, scopeWhen, through, $S, $T, $T);
    },
    _async_evaluate$_withParent$2$2(node, callback, $S, $T) {
      return this._async_evaluate$_withParent$2$4$scopeWhen$through(node, callback, true, null, $S, $T);
    },
    _async_evaluate$_withParent$2$3$scopeWhen(node, callback, scopeWhen, $S, $T) {
      return this._async_evaluate$_withParent$2$4$scopeWhen$through(node, callback, scopeWhen, null, $S, $T);
    },
    _withParent$body$_EvaluateVisitor(node, callback, scopeWhen, through, $S, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, t1, result;
      var $async$_async_evaluate$_withParent$2$4$scopeWhen$through = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._async_evaluate$_addChild$2$through(node, through);
              t1 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent");
              $async$self._async_evaluate$__parent = node;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(callback, scopeWhen, $T), $async$_async_evaluate$_withParent$2$4$scopeWhen$through);
            case 3:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate$__parent = t1;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_withParent$2$4$scopeWhen$through, $async$completer);
    },
    _async_evaluate$_addChild$2$through(node, through) {
      var _0_0, grandparent, t1,
        $parent = this._async_evaluate$_assertInModule$2(this._async_evaluate$__parent, "__parent");
      if (through != null) {
        for (; through.call$1($parent); $parent = _0_0) {
          _0_0 = $parent._parent;
          if (_0_0 == null)
            throw A.wrapException(A.ArgumentError$(string$.throug + node.toString$0(0) + ".", null));
        }
        if ($parent.get$hasFollowingSibling()) {
          grandparent = $parent._parent;
          t1 = grandparent.children;
          if ($parent.equalsIgnoringChildren$1(t1.get$last(t1)))
            $parent = type$.ModifiableCssParentNode._as(t1.get$last(t1));
          else {
            $parent = $parent.copyWithoutChildren$0();
            grandparent.addChild$1($parent);
          }
        }
      }
      $parent.addChild$1(node);
    },
    _async_evaluate$_addChild$1(node) {
      return this._async_evaluate$_addChild$2$through(node, null);
    },
    _async_evaluate$_withStyleRule$1$2(rule, callback, $T) {
      return this._withStyleRule$body$_EvaluateVisitor(rule, callback, $T, $T);
    },
    _withStyleRule$body$_EvaluateVisitor(rule, callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, result, oldRule;
      var $async$_async_evaluate$_withStyleRule$1$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldRule = $async$self._async_evaluate$_styleRuleIgnoringAtRoot;
              $async$self._async_evaluate$_styleRuleIgnoringAtRoot = rule;
              $async$goto = 3;
              return A._asyncAwait(callback.call$0(), $async$_async_evaluate$_withStyleRule$1$2);
            case 3:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate$_styleRuleIgnoringAtRoot = oldRule;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_withStyleRule$1$2, $async$completer);
    },
    _async_evaluate$_withMediaQueries$1$3(queries, sources, callback, $T) {
      return this._withMediaQueries$body$_EvaluateVisitor(queries, sources, callback, $T, $T);
    },
    _withMediaQueries$body$_EvaluateVisitor(queries, sources, callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, result, oldMediaQueries, oldSources;
      var $async$_async_evaluate$_withMediaQueries$1$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldMediaQueries = $async$self._async_evaluate$_mediaQueries;
              oldSources = $async$self._async_evaluate$_mediaQuerySources;
              $async$self._async_evaluate$_mediaQueries = queries;
              $async$self._async_evaluate$_mediaQuerySources = sources;
              $async$goto = 3;
              return A._asyncAwait(callback.call$0(), $async$_async_evaluate$_withMediaQueries$1$3);
            case 3:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate$_mediaQueries = oldMediaQueries;
              $async$self._async_evaluate$_mediaQuerySources = oldSources;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_withMediaQueries$1$3, $async$completer);
    },
    _async_evaluate$_withStackFrame$1$3(member, nodeWithSpan, callback, $T) {
      return this._withStackFrame$body$_EvaluateVisitor(member, nodeWithSpan, callback, $T, $T);
    },
    _withStackFrame$body$_EvaluateVisitor(member, nodeWithSpan, callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, oldMember, result, t1;
      var $async$_async_evaluate$_withStackFrame$1$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._async_evaluate$_stack;
              t1.push(new A._Record_2($async$self._async_evaluate$_member, nodeWithSpan));
              oldMember = $async$self._async_evaluate$_member;
              $async$self._async_evaluate$_member = member;
              $async$goto = 3;
              return A._asyncAwait(callback.call$0(), $async$_async_evaluate$_withStackFrame$1$3);
            case 3:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate$_member = oldMember;
              t1.pop();
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_withStackFrame$1$3, $async$completer);
    },
    _async_evaluate$_withoutSlash$2(value, nodeForSpan) {
      var t1;
      if (value instanceof A.SassNumber)
        t1 = value.asSlash != null;
      else
        t1 = false;
      if (t1)
        this._async_evaluate$_warn$3(string$.Using__i + A.S(new A._EvaluateVisitor__withoutSlash_recommendation0().call$1(value)) + string$.x0a_Morex20, nodeForSpan.get$span(nodeForSpan), B.Deprecation_oJv);
      return value.withoutSlash$0();
    },
    _async_evaluate$_stackFrame$2(member, span) {
      return A.frameForSpan(span, member, A.NullableExtension_andThen(span.get$sourceUrl(span), new A._EvaluateVisitor__stackFrame_closure0(this)));
    },
    _async_evaluate$_stackTrace$1(span) {
      var t2, t3, _i, t4, nodeWithSpan, _this = this,
        t1 = A._setArrayType([], type$.JSArray_Frame);
      for (t2 = _this._async_evaluate$_stack, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        t4 = t2[_i];
        nodeWithSpan = t4._1;
        t1.push(_this._async_evaluate$_stackFrame$2(t4._0, nodeWithSpan.get$span(nodeWithSpan)));
      }
      if (span != null)
        t1.push(_this._async_evaluate$_stackFrame$2(_this._async_evaluate$_member, span));
      return A.Trace$(new A.ReversedListIterable(t1, type$.ReversedListIterable_Frame), null);
    },
    _async_evaluate$_stackTrace$0() {
      return this._async_evaluate$_stackTrace$1(null);
    },
    _async_evaluate$_warn$3(message, span, deprecation) {
      var t1, trace, _this = this;
      if (_this._async_evaluate$_quietDeps)
        if (!_this._async_evaluate$_inDependency) {
          t1 = _this._async_evaluate$_currentCallable;
          t1 = t1 == null ? null : t1.inDependency;
          t1 = t1 === true;
        } else
          t1 = true;
      else
        t1 = false;
      if (t1)
        return;
      if (!_this._async_evaluate$_warningsEmitted.add$1(0, new A._Record_2(message, span)))
        return;
      trace = _this._async_evaluate$_stackTrace$1(span);
      t1 = _this._async_evaluate$_logger;
      if (deprecation == null)
        t1.warn$3$span$trace(0, message, span, trace);
      else
        A.WarnForDeprecation_warnForDeprecation(t1, deprecation, message, span, trace);
    },
    _async_evaluate$_warn$2(message, span) {
      return this._async_evaluate$_warn$3(message, span, null);
    },
    _async_evaluate$_exception$2(message, span) {
      var t1, t2;
      if (span == null) {
        t1 = B.JSArray_methods.get$last(this._async_evaluate$_stack)._1;
        t1 = t1.get$span(t1);
      } else
        t1 = span;
      t2 = this._async_evaluate$_stackTrace$1(span);
      return new A.SassRuntimeException(t2, B.Set_empty, message, t1);
    },
    _async_evaluate$_exception$1(message) {
      return this._async_evaluate$_exception$2(message, null);
    },
    _async_evaluate$_multiSpanException$3(message, primaryLabel, secondaryLabels) {
      var t1 = B.JSArray_methods.get$last(this._async_evaluate$_stack)._1;
      return A.MultiSpanSassRuntimeException$(message, t1.get$span(t1), primaryLabel, secondaryLabels, this._async_evaluate$_stackTrace$0(), null);
    },
    _async_evaluate$_addExceptionSpan$1$2(nodeWithSpan, callback) {
      var error, stackTrace, t1, exception,
        addStackFrame = true;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassScriptException) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = error.withSpan$1(nodeWithSpan.get$span(nodeWithSpan));
          A.throwWithTrace(t1.withTrace$1(this._async_evaluate$_stackTrace$1(addStackFrame ? nodeWithSpan.get$span(nodeWithSpan) : null)), error, stackTrace);
        } else
          throw exception;
      }
    },
    _async_evaluate$_addExceptionSpan$2(nodeWithSpan, callback) {
      return this._async_evaluate$_addExceptionSpan$1$2(nodeWithSpan, callback, type$.dynamic);
    },
    _addExceptionSpanAsync$1$3$addStackFrame(nodeWithSpan, callback, addStackFrame, $T) {
      return this._addExceptionSpanAsync$body$_EvaluateVisitor(nodeWithSpan, callback, addStackFrame, $T, $T);
    },
    _addExceptionSpanAsync$1$2(nodeWithSpan, callback, $T) {
      return this._addExceptionSpanAsync$1$3$addStackFrame(nodeWithSpan, callback, true, $T);
    },
    _addExceptionSpanAsync$body$_EvaluateVisitor(nodeWithSpan, callback, addStackFrame, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, error, stackTrace, t1, exception, $async$exception;
      var $async$_addExceptionSpanAsync$1$3$addStackFrame = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              t1 = callback.call$0();
              $async$goto = 7;
              return A._asyncAwait($T._eval$1("Future<0>")._is(t1) ? t1 : A._Future$value(t1, $T), $async$_addExceptionSpanAsync$1$3$addStackFrame);
            case 7:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              // 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$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.SassScriptException) {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                t1 = error.withSpan$1(nodeWithSpan.get$span(nodeWithSpan));
                A.throwWithTrace(t1.withTrace$1($async$self._async_evaluate$_stackTrace$1(addStackFrame ? nodeWithSpan.get$span(nodeWithSpan) : null)), error, stackTrace);
              } else
                throw $async$exception;
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_addExceptionSpanAsync$1$3$addStackFrame, $async$completer);
    },
    _async_evaluate$_addExceptionTrace$1$1(callback, $T) {
      return this._addExceptionTrace$body$_EvaluateVisitor(callback, $T, $T);
    },
    _addExceptionTrace$body$_EvaluateVisitor(callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, error, stackTrace, t1, exception, t2, $async$exception;
      var $async$_async_evaluate$_addExceptionTrace$1$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              t1 = callback.call$0();
              $async$goto = 7;
              return A._asyncAwait($T._eval$1("Future<0>")._is(t1) ? t1 : A._Future$value(t1, $T), $async$_async_evaluate$_addExceptionTrace$1$1);
            case 7:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              // 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$currentError;
              t1 = A.unwrapException($async$exception);
              if (type$.SassRuntimeException._is(t1))
                throw $async$exception;
              else if (t1 instanceof A.SassException) {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                t1 = error;
                t2 = J.getInterceptor$z(t1);
                A.throwWithTrace(error.withTrace$1($async$self._async_evaluate$_stackTrace$1(A.SourceSpanException.prototype.get$span.call(t2, t1))), error, stackTrace);
              } else
                throw $async$exception;
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_addExceptionTrace$1$1, $async$completer);
    },
    _async_evaluate$_addErrorSpan$1$2(nodeWithSpan, callback, $T) {
      return this._addErrorSpan$body$_EvaluateVisitor(nodeWithSpan, callback, $T, $T);
    },
    _addErrorSpan$body$_EvaluateVisitor(nodeWithSpan, callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, error, stackTrace, t1, exception, t2, t3, $async$exception;
      var $async$_async_evaluate$_addErrorSpan$1$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(callback.call$0(), $async$_async_evaluate$_addErrorSpan$1$2);
            case 7:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              // 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$currentError;
              t1 = A.unwrapException($async$exception);
              if (type$.SassRuntimeException._is(t1)) {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                if (!B.JSString_methods.startsWith$1(J.get$span$z(error).get$text(), "@error"))
                  throw $async$exception;
                t1 = error._span_exception$_message;
                t2 = nodeWithSpan.get$span(nodeWithSpan);
                t3 = $async$self._async_evaluate$_stackTrace$0();
                A.throwWithTrace(new A.SassRuntimeException(t3, B.Set_empty, t1, t2), error, stackTrace);
              } else
                throw $async$exception;
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate$_addErrorSpan$1$2, $async$completer);
    }
  };
  A._EvaluateVisitor_closure12.prototype = {
    call$1($arguments) {
      var module, t2,
        t1 = J.getInterceptor$asx($arguments),
        variable = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this._async_evaluate$_environment;
      t2 = A.stringReplaceAllUnchecked(variable._string$_text, "_", "-");
      return t1.globalVariableExists$2$namespace(t2, module == null ? null : module._string$_text) ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._EvaluateVisitor_closure13.prototype = {
    call$1($arguments) {
      var variable = J.$index$asx($arguments, 0).assertString$1("name"),
        t1 = this.$this._async_evaluate$_environment;
      return t1.getVariable$1(A.stringReplaceAllUnchecked(variable._string$_text, "_", "-")) != null ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._EvaluateVisitor_closure14.prototype = {
    call$1($arguments) {
      var module, t2, t3, t4,
        t1 = J.getInterceptor$asx($arguments),
        variable = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this;
      t2 = t1._async_evaluate$_environment;
      t3 = variable._string$_text;
      t4 = A.stringReplaceAllUnchecked(t3, "_", "-");
      return t2.getFunction$2$namespace(t4, module == null ? null : module._string$_text) != null || t1._async_evaluate$_builtInFunctions.containsKey$1(t3) ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._EvaluateVisitor_closure15.prototype = {
    call$1($arguments) {
      var module, t2,
        t1 = J.getInterceptor$asx($arguments),
        variable = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this._async_evaluate$_environment;
      t2 = A.stringReplaceAllUnchecked(variable._string$_text, "_", "-");
      return t1.getMixin$2$namespace(t2, module == null ? null : module._string$_text) != null ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._EvaluateVisitor_closure16.prototype = {
    call$1($arguments) {
      var t1 = this.$this._async_evaluate$_environment;
      if (!t1._async_environment$_inMixin)
        throw A.wrapException(A.SassScriptException$(string$.conten, null));
      return t1._async_environment$_content != null ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._EvaluateVisitor_closure17.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.$index$asx($arguments, 0).assertString$1("module")._string$_text,
        module = this.$this._async_evaluate$_environment._async_environment$_modules.$index(0, t1);
      if (module == null)
        throw A.wrapException('There is no module with namespace "' + t1 + '".');
      t1 = type$.Value;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t3 = A.MapExtensions_get_pairs(module.get$variables(), type$.String, t1), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, new A.SassString(t4._0, true), t4._1);
      }
      return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 33
  };
  A._EvaluateVisitor_closure18.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.$index$asx($arguments, 0).assertString$1("module")._string$_text,
        module = this.$this._async_evaluate$_environment._async_environment$_modules.$index(0, t1);
      if (module == null)
        throw A.wrapException('There is no module with namespace "' + t1 + '".');
      t1 = type$.Value;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t3 = A.MapExtensions_get_pairs(module.get$functions(module), type$.String, type$.AsyncCallable), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, new A.SassString(t4._0, true), new A.SassFunction(t4._1));
      }
      return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 33
  };
  A._EvaluateVisitor_closure19.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.$index$asx($arguments, 0).assertString$1("module")._string$_text,
        module = this.$this._async_evaluate$_environment._async_environment$_modules.$index(0, t1);
      if (module == null)
        throw A.wrapException('There is no module with namespace "' + t1 + '".');
      t1 = type$.Value;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t3 = A.MapExtensions_get_pairs(module.get$mixins(), type$.String, type$.AsyncCallable), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, new A.SassString(t4._0, true), new A.SassMixin(t4._1));
      }
      return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 33
  };
  A._EvaluateVisitor_closure20.prototype = {
    call$1($arguments) {
      var module, t2, callable,
        t1 = J.getInterceptor$asx($arguments),
        $name = t1.$index($arguments, 0).assertString$1("name"),
        css = t1.$index($arguments, 1).get$isTruthy();
      t1 = t1.$index($arguments, 2).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      if (css) {
        if (module != null)
          throw A.wrapException(string$.x24css_a);
        return new A.SassFunction(new A.PlainCssCallable($name._string$_text));
      }
      t1 = this.$this;
      t2 = t1._async_evaluate$_callableNode;
      t2.toString;
      callable = t1._async_evaluate$_addExceptionSpan$2(t2, new A._EvaluateVisitor__closure6(t1, $name, module));
      if (callable == null)
        throw A.wrapException("Function not found: " + $name.toString$0(0));
      return new A.SassFunction(callable);
    },
    $signature: 163
  };
  A._EvaluateVisitor__closure6.prototype = {
    call$0() {
      var local,
        normalizedName = A.stringReplaceAllUnchecked(this.name._string$_text, "_", "-"),
        t1 = this.module,
        namespace = t1 == null ? null : t1._string$_text;
      t1 = this.$this;
      local = t1._async_evaluate$_environment.getFunction$2$namespace(normalizedName, namespace);
      if (local != null || namespace != null)
        return local;
      return t1._async_evaluate$_builtInFunctions.$index(0, normalizedName);
    },
    $signature: 86
  };
  A._EvaluateVisitor_closure21.prototype = {
    call$1($arguments) {
      var module, t2, callable,
        t1 = J.getInterceptor$asx($arguments),
        $name = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this;
      t2 = t1._async_evaluate$_callableNode;
      t2.toString;
      callable = t1._async_evaluate$_addExceptionSpan$2(t2, new A._EvaluateVisitor__closure5(t1, $name, module));
      if (callable == null)
        throw A.wrapException("Mixin not found: " + $name.toString$0(0));
      return new A.SassMixin(callable);
    },
    $signature: 164
  };
  A._EvaluateVisitor__closure5.prototype = {
    call$0() {
      var t1 = this.$this._async_evaluate$_environment,
        t2 = A.stringReplaceAllUnchecked(this.name._string$_text, "_", "-"),
        t3 = this.module;
      return t1.getMixin$2$namespace(t2, t3 == null ? null : t3._string$_text);
    },
    $signature: 86
  };
  A._EvaluateVisitor_closure22.prototype = {
    call$1($arguments) {
      return this.$call$body$_EvaluateVisitor_closure1($arguments);
    },
    $call$body$_EvaluateVisitor_closure1($arguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$self = this, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, invocation, callableNode, t1, $function, args;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = J.getInterceptor$asx($arguments);
              $function = t1.$index($arguments, 0);
              args = type$.SassArgumentList._as(t1.$index($arguments, 1));
              t1 = $async$self.$this;
              t2 = t1._async_evaluate$_callableNode;
              t2.toString;
              t3 = A._setArrayType([], type$.JSArray_Expression);
              t4 = type$.String;
              t5 = type$.Expression;
              t6 = t2.get$span(t2);
              t7 = t2.get$span(t2);
              args._wereKeywordsAccessed = true;
              t8 = args._keywords;
              if (t8.get$isEmpty(t8))
                t2 = null;
              else {
                t9 = type$.Value;
                t10 = A.LinkedHashMap_LinkedHashMap$_empty(t9, t9);
                for (args._wereKeywordsAccessed = true, t8 = A.MapExtensions_get_pairs(t8, t4, t9), t8 = t8.get$iterator(t8); t8.moveNext$0();) {
                  t11 = t8.get$current(t8);
                  t10.$indexSet(0, new A.SassString(t11._0, false), t11._1);
                }
                t2 = new A.ValueExpression(new A.SassMap(A.ConstantMap_ConstantMap$from(t10, t9, t9)), t2.get$span(t2));
              }
              invocation = new A.ArgumentInvocation(A.List_List$unmodifiable(t3, t5), A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_empty(t4, t5), t4, t5), new A.ValueExpression(args, t7), t2, t6);
              $async$goto = $function instanceof A.SassString ? 3 : 4;
              break;
            case 3:
              // then
              A.warnForDeprecation(string$.Passina + $function.toString$0(0) + "))", B.Deprecation_gkc);
              callableNode = t1._async_evaluate$_callableNode;
              t2 = $function._string$_text;
              t3 = callableNode.get$span(callableNode);
              t1 = t1.visitFunctionExpression$1(new A.FunctionExpression(null, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, invocation, t3));
              $async$goto = 5;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$1);
            case 5:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              t2 = $function.assertFunction$1("function");
              t3 = t1._async_evaluate$_callableNode;
              t3.toString;
              $async$goto = 6;
              return A._asyncAwait(t1._async_evaluate$_runFunctionCallable$3(invocation, t2.callable, t3), $async$call$1);
            case 6:
              // returning from await.
              t3 = $async$result;
              $async$returnValue = t3;
              // 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: 257
  };
  A._EvaluateVisitor_closure23.prototype = {
    call$1($arguments) {
      return this.$call$body$_EvaluateVisitor_closure0($arguments);
    },
    $call$body$_EvaluateVisitor_closure0($arguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, withMap, t2, values, configuration, t3, t1, url;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = J.getInterceptor$asx($arguments);
              url = A.Uri_parse(t1.$index($arguments, 0).assertString$1("url")._string$_text);
              t1 = t1.$index($arguments, 1).get$realNull();
              withMap = t1 == null ? null : t1.assertMap$1("with")._map$_contents;
              t1 = $async$self.$this;
              t2 = t1._async_evaluate$_callableNode;
              t2.toString;
              if (withMap != null) {
                values = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ConfiguredValue);
                withMap.forEach$1(0, new A._EvaluateVisitor__closure3(values, t2.get$span(t2), t2));
                configuration = new A.ExplicitConfiguration(t2, values, null);
              } else
                configuration = B.Configuration_Map_empty_null;
              t3 = t2.get$span(t2);
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors(url, "load-css()", t2, new A._EvaluateVisitor__closure4(t1), t3.get$sourceUrl(t3), configuration, true), $async$call$1);
            case 2:
              // returning from await.
              t1._async_evaluate$_assertConfigurationIsEmpty$2$nameInError(configuration, true);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 165
  };
  A._EvaluateVisitor__closure3.prototype = {
    call$2(variable, value) {
      var t1 = variable.assertString$1("with key"),
        $name = A.stringReplaceAllUnchecked(t1._string$_text, "_", "-");
      t1 = this.values;
      if (t1.containsKey$1($name))
        throw A.wrapException("The variable $" + $name + " was configured twice.");
      t1.$indexSet(0, $name, new A.ConfiguredValue(value, this.span, this.callableNode));
    },
    $signature: 90
  };
  A._EvaluateVisitor__closure4.prototype = {
    call$2(module, _) {
      var t1 = this.$this;
      return t1._async_evaluate$_combineCss$2$clone(module, true).accept$1(t1);
    },
    $signature: 352
  };
  A._EvaluateVisitor_closure24.prototype = {
    call$1($arguments) {
      return this.$call$body$_EvaluateVisitor_closure($arguments);
    },
    $call$body$_EvaluateVisitor_closure($arguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, callableNode, t2, t3, t4, t5, t1, mixin, args;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = J.getInterceptor$asx($arguments);
              mixin = t1.$index($arguments, 0);
              args = type$.SassArgumentList._as(t1.$index($arguments, 1));
              t1 = $async$self.$this;
              callableNode = t1._async_evaluate$_callableNode;
              t2 = callableNode.get$span(callableNode);
              t3 = callableNode.get$span(callableNode);
              t4 = type$.Expression;
              t5 = A.List_List$unmodifiable(B.List_empty9, t4);
              t4 = A.ConstantMap_ConstantMap$from(B.Map_empty6, type$.String, t4);
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate$_applyMixin$5(mixin.assertMixin$1("mixin").callable, t1._async_evaluate$_environment._async_environment$_content, new A.ArgumentInvocation(t5, t4, new A.ValueExpression(args, t3), null, t2), callableNode, callableNode), $async$call$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 165
  };
  A._EvaluateVisitor_run_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet),
        $async$returnValue, $async$self = this, module, t1, t2, _0_0, url;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node;
              t2 = t1.span;
              _0_0 = t2.get$sourceUrl(t2);
              url = null;
              if (_0_0 != null) {
                url = _0_0;
                t2 = $async$self.$this;
                t2._async_evaluate$_activeModules.$indexSet(0, url, null);
                t2._async_evaluate$_loadedUrls.add$1(0, url);
              }
              t2 = $async$self.$this;
              $async$goto = 3;
              return A._asyncAwait(t2._async_evaluate$_addExceptionTrace$1$1(new A._EvaluateVisitor_run__closure0(t2, $async$self.importer, t1), type$.Module_AsyncCallable), $async$call$0);
            case 3:
              // returning from await.
              module = $async$result;
              $async$returnValue = new A._Record_2_loadedUrls_stylesheet(t2._async_evaluate$_loadedUrls, t2._async_evaluate$_combineCss$1(module));
              // 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: 383
  };
  A._EvaluateVisitor_run__closure0.prototype = {
    call$0() {
      return this.$this._async_evaluate$_execute$2(this.importer, this.node);
    },
    $signature: 351
  };
  A._EvaluateVisitor__loadModule_closure1.prototype = {
    call$0() {
      return this.callback.call$2(this._box_1.builtInModule, false);
    },
    $signature: 0
  };
  A._EvaluateVisitor__loadModule_closure2.prototype = {
    call$0() {
      return this.$call$body$_EvaluateVisitor__loadModule_closure();
    },
    $call$body$_EvaluateVisitor__loadModule_closure() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, canonicalUrl, oldInDependency, isDependency, t4, message, t1, stylesheet, importer, t2, t3, _1_0, $async$temp1;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              stylesheet = null;
              importer = null;
              t2 = $async$self.$this;
              t3 = $async$self.nodeWithSpan;
              $async$goto = 2;
              return A._asyncAwait(t2._async_evaluate$_loadStylesheet$3$baseUrl($async$self.url.toString$0(0), t3.get$span(t3), $async$self.baseUrl), $async$call$0);
            case 2:
              // returning from await.
              _1_0 = $async$result;
              stylesheet = _1_0._0;
              importer = _1_0._1;
              isDependency = _1_0._2;
              t4 = stylesheet.span;
              canonicalUrl = t4.get$sourceUrl(t4);
              if (canonicalUrl != null) {
                t4 = t2._async_evaluate$_activeModules;
                if (t4.containsKey$1(canonicalUrl)) {
                  if ($async$self.namesInErrors) {
                    t1 = canonicalUrl;
                    t3 = $.$get$context();
                    t1.toString;
                    message = "Module loop: " + t3.prettyUri$1(t1) + " is already being loaded.";
                  } else
                    message = string$.Modulel;
                  t1 = A.NullableExtension_andThen(t4.$index(0, canonicalUrl), new A._EvaluateVisitor__loadModule__closure1(t2, message));
                  throw A.wrapException(t1 == null ? t2._async_evaluate$_exception$1(message) : t1);
                } else
                  t4.$indexSet(0, canonicalUrl, t3);
              }
              t4 = t2._async_evaluate$_modules.containsKey$1(canonicalUrl);
              oldInDependency = t2._async_evaluate$_inDependency;
              t2._async_evaluate$_inDependency = isDependency;
              t1.module = null;
              $async$handler = 3;
              $async$temp1 = t1;
              $async$goto = 6;
              return A._asyncAwait(t2._async_evaluate$_execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, $async$self.configuration, $async$self.namesInErrors, t3), $async$call$0);
            case 6:
              // returning from await.
              $async$temp1.module = $async$result;
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 3:
              // uncaught
              $async$next = [1];
            case 4:
              // finally
              $async$handler = 1;
              t2._async_evaluate$_activeModules.remove$1(0, canonicalUrl);
              t2._async_evaluate$_inDependency = oldInDependency;
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 5:
              // after finally
              $async$goto = 7;
              return A._asyncAwait(t2._addExceptionSpanAsync$1$3$addStackFrame(t3, new A._EvaluateVisitor__loadModule__closure2(t1, $async$self.callback, !t4), false, type$.void), $async$call$0);
            case 7:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor__loadModule__closure1.prototype = {
    call$1(previousLoad) {
      return this.$this._async_evaluate$_multiSpanException$3(this.message, "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String));
    },
    $signature: 91
  };
  A._EvaluateVisitor__loadModule__closure2.prototype = {
    call$0() {
      return this.callback.call$2(this._box_0.module, this.firstLoad);
    },
    $signature: 0
  };
  A._EvaluateVisitor__execute_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t3, t4, t5, t6, t1, oldImporter, oldStylesheet, oldRoot, oldPreModuleComments, oldParent, oldEndOfImports, oldOutOfOrderImports, oldExtensionStore, t2, oldStyleRule, oldMediaQueries, oldDeclarationName, oldInUnknownAtRule, oldInKeyframes, oldConfiguration;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              oldImporter = t1._async_evaluate$_importer;
              oldStylesheet = t1._async_evaluate$__stylesheet;
              oldRoot = t1._async_evaluate$__root;
              oldPreModuleComments = t1._async_evaluate$_preModuleComments;
              oldParent = t1._async_evaluate$__parent;
              oldEndOfImports = t1._async_evaluate$__endOfImports;
              oldOutOfOrderImports = t1._async_evaluate$_outOfOrderImports;
              oldExtensionStore = t1._async_evaluate$__extensionStore;
              t2 = t1._async_evaluate$_atRootExcludingStyleRule;
              oldStyleRule = t2 ? null : t1._async_evaluate$_styleRuleIgnoringAtRoot;
              oldMediaQueries = t1._async_evaluate$_mediaQueries;
              oldDeclarationName = t1._async_evaluate$_declarationName;
              oldInUnknownAtRule = t1._async_evaluate$_inUnknownAtRule;
              oldInKeyframes = t1._async_evaluate$_inKeyframes;
              oldConfiguration = t1._async_evaluate$_configuration;
              t1._async_evaluate$_importer = $async$self.importer;
              t3 = t1._async_evaluate$__stylesheet = $async$self.stylesheet;
              t4 = t3.span;
              t5 = t1._async_evaluate$__parent = t1._async_evaluate$__root = A.ModifiableCssStylesheet$(t4);
              t1._async_evaluate$__endOfImports = 0;
              t1._async_evaluate$_outOfOrderImports = null;
              t1._async_evaluate$__extensionStore = $async$self.extensionStore;
              t1._async_evaluate$_declarationName = t1._async_evaluate$_mediaQueries = t1._async_evaluate$_styleRuleIgnoringAtRoot = null;
              t1._async_evaluate$_inKeyframes = t1._async_evaluate$_atRootExcludingStyleRule = t1._async_evaluate$_inUnknownAtRule = false;
              t6 = $async$self.configuration;
              if (t6 != null)
                t1._async_evaluate$_configuration = t6;
              $async$goto = 2;
              return A._asyncAwait(t1.visitStylesheet$1(t3), $async$call$0);
            case 2:
              // returning from await.
              t3 = t1._async_evaluate$_outOfOrderImports == null ? t5 : new A.CssStylesheet(new A.UnmodifiableListView(t1._async_evaluate$_addOutOfOrderImports$0(), type$.UnmodifiableListView_CssNode), t4);
              $async$self.css.__late_helper$_value = t3;
              $async$self.preModuleComments.__late_helper$_value = t1._async_evaluate$_preModuleComments;
              t1._async_evaluate$_importer = oldImporter;
              t1._async_evaluate$__stylesheet = oldStylesheet;
              t1._async_evaluate$__root = oldRoot;
              t1._async_evaluate$_preModuleComments = oldPreModuleComments;
              t1._async_evaluate$__parent = oldParent;
              t1._async_evaluate$__endOfImports = oldEndOfImports;
              t1._async_evaluate$_outOfOrderImports = oldOutOfOrderImports;
              t1._async_evaluate$__extensionStore = oldExtensionStore;
              t1._async_evaluate$_styleRuleIgnoringAtRoot = oldStyleRule;
              t1._async_evaluate$_mediaQueries = oldMediaQueries;
              t1._async_evaluate$_declarationName = oldDeclarationName;
              t1._async_evaluate$_inUnknownAtRule = oldInUnknownAtRule;
              t1._async_evaluate$_atRootExcludingStyleRule = t2;
              t1._async_evaluate$_inKeyframes = oldInKeyframes;
              t1._async_evaluate$_configuration = oldConfiguration;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor__combineCss_closure1.prototype = {
    call$1(module) {
      return module.get$transitivelyContainsCss();
    },
    $signature: 123
  };
  A._EvaluateVisitor__combineCss_closure2.prototype = {
    call$1(target) {
      return !this.selectors.contains$1(0, target);
    },
    $signature: 13
  };
  A._EvaluateVisitor__combineCss_visitModule0.prototype = {
    call$1(module) {
      var t1, t2, t3, t4, _i, upstream, _1_0, statements, index, _this = this;
      if (!_this.seen.add$1(0, module))
        return;
      if (_this.clone)
        module = module.cloneCss$0();
      for (t1 = module.get$upstream(), t2 = t1.length, t3 = _this.css, t4 = _this.imports, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        upstream = t1[_i];
        if (upstream.get$transitivelyContainsCss()) {
          _1_0 = module.get$preModuleComments().$index(0, upstream);
          if (_1_0 != null)
            B.JSArray_methods.addAll$1(t3.length === 0 ? t4 : t3, _1_0);
          _this.call$1(upstream);
        }
      }
      _this.sorted.addFirst$1(module);
      t1 = module.get$css(module);
      statements = t1.get$children(t1);
      index = _this.$this._async_evaluate$_indexAfterImports$1(statements);
      t1 = J.getInterceptor$ax(statements);
      B.JSArray_methods.addAll$1(t4, t1.getRange$2(statements, 0, index));
      B.JSArray_methods.addAll$1(t3, t1.getRange$2(statements, index, t1.get$length(statements)));
    },
    $signature: 344
  };
  A._EvaluateVisitor__extendModules_closure1.prototype = {
    call$1(target) {
      return !this.originalSelectors.contains$1(0, target);
    },
    $signature: 13
  };
  A._EvaluateVisitor__extendModules_closure2.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_ExtensionStore);
    },
    $signature: 167
  };
  A._EvaluateVisitor_visitAtRootRule_closure1.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitAtRootRule_closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A._EvaluateVisitor__scopeForAtRoot_closure5.prototype = {
    call$1(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = t1._async_evaluate$_assertInModule$2(t1._async_evaluate$__parent, "__parent");
              t1._async_evaluate$__parent = $async$self.newParent;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate$_environment.scope$1$2$when(callback, $async$self.node.hasDeclarations, type$.void), $async$call$1);
            case 2:
              // returning from await.
              t1._async_evaluate$__parent = t2;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 38
  };
  A._EvaluateVisitor__scopeForAtRoot_closure6.prototype = {
    call$1(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, oldAtRootExcludingStyleRule;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              oldAtRootExcludingStyleRule = t1._async_evaluate$_atRootExcludingStyleRule;
              t1._async_evaluate$_atRootExcludingStyleRule = true;
              $async$goto = 2;
              return A._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1);
            case 2:
              // returning from await.
              t1._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 38
  };
  A._EvaluateVisitor__scopeForAtRoot_closure7.prototype = {
    call$1(callback) {
      return this.$this._async_evaluate$_withMediaQueries$1$3(null, null, new A._EvaluateVisitor__scopeForAtRoot__closure0(this.innerScope, callback), type$.Null);
    },
    $signature: 38
  };
  A._EvaluateVisitor__scopeForAtRoot__closure0.prototype = {
    call$0() {
      return this.innerScope.call$1(this.callback);
    },
    $signature: 2
  };
  A._EvaluateVisitor__scopeForAtRoot_closure8.prototype = {
    call$1(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, wasInKeyframes;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              wasInKeyframes = t1._async_evaluate$_inKeyframes;
              t1._async_evaluate$_inKeyframes = false;
              $async$goto = 2;
              return A._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1);
            case 2:
              // returning from await.
              t1._async_evaluate$_inKeyframes = wasInKeyframes;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 38
  };
  A._EvaluateVisitor__scopeForAtRoot_closure9.prototype = {
    call$1($parent) {
      return $parent instanceof A.ModifiableCssAtRule;
    },
    $signature: 169
  };
  A._EvaluateVisitor__scopeForAtRoot_closure10.prototype = {
    call$1(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, wasInUnknownAtRule;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              wasInUnknownAtRule = t1._async_evaluate$_inUnknownAtRule;
              t1._async_evaluate$_inUnknownAtRule = false;
              $async$goto = 2;
              return A._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1);
            case 2:
              // returning from await.
              t1._async_evaluate$_inUnknownAtRule = wasInUnknownAtRule;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 38
  };
  A._EvaluateVisitor_visitContentRule_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$returnValue, $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.content.declaration.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 6:
              // returning from await.
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = null;
              // 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._EvaluateVisitor_visitDeclaration_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._box_0.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitEachRule_closure2.prototype = {
    call$1(value) {
      var t1 = this.$this,
        t2 = this.nodeWithSpan;
      return t1._async_evaluate$_environment.setLocalVariable$3(this._box_0.variable, t1._async_evaluate$_withoutSlash$2(value, t2), t2);
    },
    $signature: 54
  };
  A._EvaluateVisitor_visitEachRule_closure3.prototype = {
    call$1(value) {
      return this.$this._async_evaluate$_setMultipleVariables$3(this._box_0.variables, value, this.nodeWithSpan);
    },
    $signature: 54
  };
  A._EvaluateVisitor_visitEachRule_closure4.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this;
      return t1._async_evaluate$_handleReturn$2(_this.list.get$asList(), new A._EvaluateVisitor_visitEachRule__closure0(t1, _this.setVariables, _this.node));
    },
    $signature: 66
  };
  A._EvaluateVisitor_visitEachRule__closure0.prototype = {
    call$1(element) {
      var t1;
      this.setVariables.call$1(element);
      t1 = this.$this;
      return t1._async_evaluate$_handleReturn$2(this.node.children, new A._EvaluateVisitor_visitEachRule___closure0(t1));
    },
    $signature: 338
  };
  A._EvaluateVisitor_visitEachRule___closure0.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 84
  };
  A._EvaluateVisitor_visitAtRule_closure2.prototype = {
    call$1(value) {
      return this.$this._async_evaluate$_interpolationToValue$3$trim$warnForColor(value, true, true);
    },
    $signature: 335
  };
  A._EvaluateVisitor_visitAtRule_closure3.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t2, t3, _i, t1, styleRule;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              styleRule = t1._async_evaluate$_atRootExcludingStyleRule ? null : t1._async_evaluate$_styleRuleIgnoringAtRoot;
              $async$goto = styleRule == null || t1._async_evaluate$_inKeyframes || J.$eq$($async$self.name.value, "font-face") ? 2 : 4;
              break;
            case 2:
              // then
              t2 = $async$self.children, t3 = t2.length, _i = 0;
            case 5:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 7;
                break;
              }
              $async$goto = 8;
              return A._asyncAwait(t2[_i].accept$1(t1), $async$call$0);
            case 8:
              // returning from await.
            case 6:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 5;
              break;
            case 7:
              // after for
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              $async$goto = 9;
              return A._asyncAwait(t1._async_evaluate$_withParent$2$3$scopeWhen(A.ModifiableCssStyleRule$(styleRule._style_rule$_selector, styleRule.span, false, styleRule.originalSelector), new A._EvaluateVisitor_visitAtRule__closure0(t1, $async$self.children), false, type$.ModifiableCssStyleRule, type$.Null), $async$call$0);
            case 9:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitAtRule__closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitAtRule_closure4.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitForRule_closure4.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassNumber),
        $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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self.node.from.accept$1($async$self.$this), $async$call$0);
            case 3:
              // returning from await.
              $async$returnValue = $async$result.assertNumber$0();
              // 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: 172
  };
  A._EvaluateVisitor_visitForRule_closure5.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassNumber),
        $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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self.node.to.accept$1($async$self.$this), $async$call$0);
            case 3:
              // returning from await.
              $async$returnValue = $async$result.assertNumber$0();
              // 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: 172
  };
  A._EvaluateVisitor_visitForRule_closure6.prototype = {
    call$0() {
      return this.fromNumber.assertInt$0();
    },
    $signature: 10
  };
  A._EvaluateVisitor_visitForRule_closure7.prototype = {
    call$0() {
      var t1 = this.fromNumber;
      return this.toNumber.coerce$2(t1.get$numeratorUnits(t1), t1.get$denominatorUnits(t1)).assertInt$0();
    },
    $signature: 10
  };
  A._EvaluateVisitor_visitForRule_closure8.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, i, t3, t4, t5, t6, t7, t8, _0_0, t1, t2, nodeWithSpan;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self.node;
              nodeWithSpan = t1._async_evaluate$_expressionNode$1(t2.from);
              i = $async$self.from, t3 = $async$self._box_0, t4 = $async$self.direction, t5 = t2.variable, t6 = $async$self.fromNumber, t2 = t2.children;
            case 3:
              // for condition
              if (!(i !== t3.to)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              t7 = t1._async_evaluate$_environment;
              t8 = t6.get$numeratorUnits(t6);
              t7.setLocalVariable$3(t5, A.SassNumber_SassNumber$withUnits(i, t6.get$denominatorUnits(t6), t8), nodeWithSpan);
              $async$goto = 6;
              return A._asyncAwait(t1._async_evaluate$_handleReturn$2(t2, new A._EvaluateVisitor_visitForRule__closure0(t1)), $async$call$0);
            case 6:
              // returning from await.
              _0_0 = $async$result;
              if (_0_0 != null) {
                $async$returnValue = _0_0;
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // for update
              i += t4;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = null;
              // 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: 66
  };
  A._EvaluateVisitor_visitForRule__closure0.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 84
  };
  A._EvaluateVisitor_visitForwardRule_closure1.prototype = {
    call$2(module, firstLoad) {
      if (firstLoad)
        this.$this._async_evaluate$_registerCommentsForModule$1(module);
      this.$this._async_evaluate$_environment.forwardModule$2(module, this.node);
    },
    $signature: 119
  };
  A._EvaluateVisitor_visitForwardRule_closure2.prototype = {
    call$2(module, firstLoad) {
      if (firstLoad)
        this.$this._async_evaluate$_registerCommentsForModule$1(module);
      this.$this._async_evaluate$_environment.forwardModule$2(module, this.node);
    },
    $signature: 119
  };
  A._EvaluateVisitor__registerCommentsForModule_closure0.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_CssComment);
    },
    $signature: 173
  };
  A._EvaluateVisitor_visitIfRule_closure0.prototype = {
    call$1(clause) {
      var t1 = this.$this;
      return t1._async_evaluate$_environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitIfRule__closure0(t1, clause), true, clause.hasDeclarations, type$.nullable_Value);
    },
    $signature: 327
  };
  A._EvaluateVisitor_visitIfRule__closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1._async_evaluate$_handleReturn$2(this.clause.children, new A._EvaluateVisitor_visitIfRule___closure0(t1));
    },
    $signature: 66
  };
  A._EvaluateVisitor_visitIfRule___closure0.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 84
  };
  A._EvaluateVisitor__visitDynamicImport_closure0.prototype = {
    call$0() {
      return this.$call$body$_EvaluateVisitor__visitDynamicImport_closure();
    },
    $call$body$_EvaluateVisitor__visitDynamicImport_closure() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, _0_0, stylesheet, importer, isDependency, t3, url, oldImporter, oldInDependency, loadsUserDefinedModules, children, t4, t5, t6, t7, t8, t9, t10, environment, module, visitor, _box_0;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              _box_0.isDependency = _box_0.importer = _box_0.stylesheet = null;
              t1 = $async$self.$this;
              t2 = $async$self.$import;
              $async$goto = 3;
              return A._asyncAwait(t1._async_evaluate$_loadStylesheet$3$forImport(t2.urlString, t2.span, true), $async$call$0);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              stylesheet = _box_0.stylesheet = _0_0._0;
              importer = _0_0._1;
              _box_0.importer = importer;
              isDependency = _0_0._2;
              _box_0.isDependency = isDependency;
              t3 = stylesheet.span;
              url = t3.get$sourceUrl(t3);
              if (url != null) {
                t3 = t1._async_evaluate$_activeModules;
                if (t3.containsKey$1(url)) {
                  t2 = A.NullableExtension_andThen(t3.$index(0, url), new A._EvaluateVisitor__visitDynamicImport__closure3(t1));
                  throw A.wrapException(t2 == null ? t1._async_evaluate$_exception$1("This file is already being loaded.") : t2);
                }
                t3.$indexSet(0, url, t2);
              }
              t2 = stylesheet._uses;
              t3 = type$.UnmodifiableListView_UseRule;
              $async$goto = new A.UnmodifiableListView(t2, t3).get$length(0) === 0 && new A.UnmodifiableListView(stylesheet._forwards, type$.UnmodifiableListView_ForwardRule).get$length(0) === 0 ? 4 : 5;
              break;
            case 4:
              // then
              oldImporter = t1._async_evaluate$_importer;
              t2 = t1._async_evaluate$_assertInModule$2(t1._async_evaluate$__stylesheet, "_stylesheet");
              oldInDependency = t1._async_evaluate$_inDependency;
              t1._async_evaluate$_importer = importer;
              t1._async_evaluate$__stylesheet = stylesheet;
              t1._async_evaluate$_inDependency = isDependency;
              $async$goto = 6;
              return A._asyncAwait(t1.visitStylesheet$1(stylesheet), $async$call$0);
            case 6:
              // returning from await.
              t1._async_evaluate$_importer = oldImporter;
              t1._async_evaluate$__stylesheet = t2;
              t1._async_evaluate$_inDependency = oldInDependency;
              t1._async_evaluate$_activeModules.remove$1(0, url);
              // goto return
              $async$goto = 1;
              break;
            case 5:
              // join
              t2 = new A.UnmodifiableListView(t2, t3);
              if (!t2.any$1(t2, new A._EvaluateVisitor__visitDynamicImport__closure4())) {
                t2 = new A.UnmodifiableListView(stylesheet._forwards, type$.UnmodifiableListView_ForwardRule);
                loadsUserDefinedModules = t2.any$1(t2, new A._EvaluateVisitor__visitDynamicImport__closure5());
              } else
                loadsUserDefinedModules = true;
              children = A._Cell$();
              t2 = t1._async_evaluate$_environment;
              t3 = type$.String;
              t4 = type$.Module_AsyncCallable;
              t5 = type$.AstNode;
              t6 = A._setArrayType([], type$.JSArray_Module_AsyncCallable);
              t7 = t2._async_environment$_variables;
              t7 = A._setArrayType(t7.slice(0), A._arrayInstanceType(t7));
              t8 = t2._async_environment$_variableNodes;
              t8 = A._setArrayType(t8.slice(0), A._arrayInstanceType(t8));
              t9 = t2._async_environment$_functions;
              t9 = A._setArrayType(t9.slice(0), A._arrayInstanceType(t9));
              t10 = t2._async_environment$_mixins;
              t10 = A._setArrayType(t10.slice(0), A._arrayInstanceType(t10));
              environment = A.AsyncEnvironment$_(A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t3, t5), A.LinkedHashMap_LinkedHashMap$_empty(t4, t5), t2._async_environment$_importedModules, null, null, t6, t7, t8, t9, t10, t2._async_environment$_content);
              $async$goto = 7;
              return A._asyncAwait(t1._async_evaluate$_withEnvironment$1$2(environment, new A._EvaluateVisitor__visitDynamicImport__closure6(_box_0, t1, loadsUserDefinedModules, environment, children), type$.Null), $async$call$0);
            case 7:
              // returning from await.
              module = environment.toDummyModule$0();
              t1._async_evaluate$_environment.importForwards$1(module);
              $async$goto = loadsUserDefinedModules ? 8 : 9;
              break;
            case 8:
              // then
              $async$goto = module.transitivelyContainsCss ? 10 : 11;
              break;
            case 10:
              // then
              $async$goto = 12;
              return A._asyncAwait(t1._async_evaluate$_combineCss$2$clone(module, module.transitivelyContainsExtensions).accept$1(t1), $async$call$0);
            case 12:
              // returning from await.
            case 11:
              // join
              visitor = new A._ImportedCssVisitor0(t1);
              for (t2 = J.get$iterator$ax(children._readLocal$0()); t2.moveNext$0();)
                t2.get$current(t2).accept$1(visitor);
            case 9:
              // join
              t1._async_evaluate$_activeModules.remove$1(0, url);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A._EvaluateVisitor__visitDynamicImport__closure3.prototype = {
    call$1(previousLoad) {
      return this.$this._async_evaluate$_multiSpanException$3("This file is already being loaded.", "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String));
    },
    $signature: 91
  };
  A._EvaluateVisitor__visitDynamicImport__closure4.prototype = {
    call$1(rule) {
      return rule.url.get$scheme() !== "sass";
    },
    $signature: 174
  };
  A._EvaluateVisitor__visitDynamicImport__closure5.prototype = {
    call$1(rule) {
      return rule.url.get$scheme() !== "sass";
    },
    $signature: 175
  };
  A._EvaluateVisitor__visitDynamicImport__closure6.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t7, t8, t1, oldImporter, t2, t3, t4, t5, oldOutOfOrderImports, oldConfiguration, oldInDependency, t6;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              oldImporter = t1._async_evaluate$_importer;
              t2 = t1._async_evaluate$_assertInModule$2(t1._async_evaluate$__stylesheet, "_stylesheet");
              t3 = t1._async_evaluate$_assertInModule$2(t1._async_evaluate$__root, "_root");
              t4 = t1._async_evaluate$_assertInModule$2(t1._async_evaluate$__parent, "__parent");
              t5 = t1._async_evaluate$_assertInModule$2(t1._async_evaluate$__endOfImports, "_endOfImports");
              oldOutOfOrderImports = t1._async_evaluate$_outOfOrderImports;
              oldConfiguration = t1._async_evaluate$_configuration;
              oldInDependency = t1._async_evaluate$_inDependency;
              t6 = $async$self._box_0;
              t1._async_evaluate$_importer = t6.importer;
              t7 = t6.stylesheet;
              t1._async_evaluate$__stylesheet = t7;
              t8 = $async$self.loadsUserDefinedModules;
              if (t8) {
                t7 = A.ModifiableCssStylesheet$(t7.span);
                t1._async_evaluate$__root = t7;
                t1._async_evaluate$__parent = t1._async_evaluate$_assertInModule$2(t7, "_root");
                t1._async_evaluate$__endOfImports = 0;
                t1._async_evaluate$_outOfOrderImports = null;
              }
              t1._async_evaluate$_inDependency = t6.isDependency;
              t7 = new A.UnmodifiableListView(t6.stylesheet._forwards, type$.UnmodifiableListView_ForwardRule);
              if (!t7.get$isEmpty(t7))
                t1._async_evaluate$_configuration = $async$self.environment.toImplicitConfiguration$0();
              $async$goto = 2;
              return A._asyncAwait(t1.visitStylesheet$1(t6.stylesheet), $async$call$0);
            case 2:
              // returning from await.
              t6 = t8 ? t1._async_evaluate$_addOutOfOrderImports$0() : A._setArrayType([], type$.JSArray_ModifiableCssNode);
              $async$self.children.__late_helper$_value = t6;
              t1._async_evaluate$_importer = oldImporter;
              t1._async_evaluate$__stylesheet = t2;
              if (t8) {
                t1._async_evaluate$__root = t3;
                t1._async_evaluate$__parent = t4;
                t1._async_evaluate$__endOfImports = t5;
                t1._async_evaluate$_outOfOrderImports = oldOutOfOrderImports;
              }
              t1._async_evaluate$_configuration = oldConfiguration;
              t1._async_evaluate$_inDependency = oldInDependency;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor__applyMixin_closure1.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate$_environment.asMixin$1(new A._EvaluateVisitor__applyMixin__closure2(t1, $async$self.$arguments, $async$self.mixin, $async$self.nodeWithSpanWithoutContent)), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A._EvaluateVisitor__applyMixin__closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return A._asyncAwait($async$self.$this._async_evaluate$_runBuiltInCallable$3($async$self.$arguments, $async$self.mixin, $async$self.nodeWithSpanWithoutContent), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A._EvaluateVisitor__applyMixin_closure2.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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate$_environment.withContent$2($async$self.contentCallable, new A._EvaluateVisitor__applyMixin__closure1(t1, $async$self.mixin, $async$self.nodeWithSpanWithoutContent)), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor__applyMixin__closure1.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate$_environment.asMixin$1(new A._EvaluateVisitor__applyMixin___closure0(t1, $async$self.mixin, $async$self.nodeWithSpanWithoutContent)), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A._EvaluateVisitor__applyMixin___closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, t4, t5, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.mixin.declaration.children, t2 = t1.length, t3 = $async$self.$this, t4 = $async$self.nodeWithSpanWithoutContent, t5 = type$.nullable_Value, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t3._async_evaluate$_addErrorSpan$1$2(t4, new A._EvaluateVisitor__applyMixin____closure0(t3, t1[_i]), t5), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A._EvaluateVisitor__applyMixin____closure0.prototype = {
    call$0() {
      return this.statement.accept$1(this.$this);
    },
    $signature: 66
  };
  A._EvaluateVisitor_visitIncludeRule_closure2.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._async_evaluate$_environment.getMixin$2$namespace(t1.name, t1.namespace);
    },
    $signature: 86
  };
  A._EvaluateVisitor_visitIncludeRule_closure3.prototype = {
    call$1($content) {
      var t1 = this.$this;
      return new A.UserDefinedCallable($content, t1._async_evaluate$_environment.closure$0(), t1._async_evaluate$_inDependency, type$.UserDefinedCallable_AsyncEnvironment);
    },
    $signature: 326
  };
  A._EvaluateVisitor_visitIncludeRule_closure4.prototype = {
    call$0() {
      return this.node.get$spanWithoutContent();
    },
    $signature: 27
  };
  A._EvaluateVisitor_visitMediaRule_closure2.prototype = {
    call$1(mediaQueries) {
      return this.$this._async_evaluate$_mergeMediaQueries$2(mediaQueries, this.queries);
    },
    $signature: 89
  };
  A._EvaluateVisitor_visitMediaRule_closure3.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self.mergedQueries;
              if (t2 == null)
                t2 = $async$self.queries;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate$_withMediaQueries$1$3(t2, $async$self.mergedSources, new A._EvaluateVisitor_visitMediaRule__closure0(t1, $async$self.node), type$.Null), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitMediaRule__closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t2, t3, _i, t1, _0_0;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              _0_0 = t1._async_evaluate$_atRootExcludingStyleRule ? null : t1._async_evaluate$_styleRuleIgnoringAtRoot;
              $async$goto = _0_0 != null ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1._async_evaluate$_withParent$2$3$scopeWhen(A.ModifiableCssStyleRule$(_0_0._style_rule$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitMediaRule___closure0(t1, $async$self.node), false, type$.ModifiableCssStyleRule, type$.Null), $async$call$0);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t2 = $async$self.node.children, t3 = t2.length, _i = 0;
            case 6:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 8;
                break;
              }
              $async$goto = 9;
              return A._asyncAwait(t2[_i].accept$1(t1), $async$call$0);
            case 9:
              // returning from await.
            case 7:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 6;
              break;
            case 8:
              // after for
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitMediaRule___closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitMediaRule_closure4.prototype = {
    call$1(node) {
      var t1;
      if (!(node instanceof A.ModifiableCssStyleRule)) {
        t1 = this.mergedSources;
        t1 = t1.get$isNotEmpty(t1) && node instanceof A.ModifiableCssMediaRule && B.JSArray_methods.every$1(node.queries, t1.get$contains(t1));
      } else
        t1 = true;
      return t1;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitStyleRule_closure3.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitStyleRule_closure4.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitStyleRule_closure6.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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate$_withStyleRule$1$2($async$self.rule, new A._EvaluateVisitor_visitStyleRule__closure0(t1, $async$self.node), type$.Null), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitStyleRule__closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitStyleRule_closure5.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor__warnForBogusCombinators_closure0.prototype = {
    call$1(child) {
      return child instanceof A.ModifiableCssComment;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitSupportsRule_closure1.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t2, t3, _i, t1, _0_0;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              _0_0 = t1._async_evaluate$_atRootExcludingStyleRule ? null : t1._async_evaluate$_styleRuleIgnoringAtRoot;
              $async$goto = _0_0 != null ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1._async_evaluate$_withParent$2$2(A.ModifiableCssStyleRule$(_0_0._style_rule$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitSupportsRule__closure0(t1, $async$self.node), type$.ModifiableCssStyleRule, type$.Null), $async$call$0);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t2 = $async$self.node.children, t3 = t2.length, _i = 0;
            case 6:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 8;
                break;
              }
              $async$goto = 9;
              return A._asyncAwait(t2[_i].accept$1(t1), $async$call$0);
            case 9:
              // returning from await.
            case 7:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 6;
              break;
            case 8:
              // after for
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitSupportsRule__closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitSupportsRule_closure2.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor__visitSupportsCondition_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, $async$temp1, $async$temp2;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self._box_0;
              $async$temp1 = A;
              $async$goto = 3;
              return A._asyncAwait(t1._evaluateToCss$1(t2.declaration.name), $async$call$0);
            case 3:
              // returning from await.
              t3 = $async$temp1.S($async$result);
              t4 = t2.declaration.get$isCustomProperty() ? "" : " ";
              $async$temp1 = "(" + t3 + ":" + t4;
              $async$temp2 = A;
              $async$goto = 4;
              return A._asyncAwait(t1._evaluateToCss$1(t2.declaration.value), $async$call$0);
            case 4:
              // returning from await.
              $async$returnValue = $async$temp1 + $async$temp2.S($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: 176
  };
  A._EvaluateVisitor_visitVariableDeclaration_closure2.prototype = {
    call$0() {
      var t1 = this.$this._async_evaluate$_environment,
        t2 = this._box_0.override;
      t1.setVariable$4$global(this.node.name, t2.value, t2.assignmentNode, true);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitVariableDeclaration_closure3.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._async_evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace);
    },
    $signature: 40
  };
  A._EvaluateVisitor_visitVariableDeclaration_closure4.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = this.node;
      t1._async_evaluate$_environment.setVariable$5$global$namespace(t2.name, this.value, t1._async_evaluate$_expressionNode$1(t2.expression), t2.isGlobal, t2.namespace);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitUseRule_closure0.prototype = {
    call$2(module, firstLoad) {
      var t1, t2, t3, _0_0, t4, t5, span;
      if (firstLoad)
        this.$this._async_evaluate$_registerCommentsForModule$1(module);
      t1 = this.$this._async_evaluate$_environment;
      t2 = this.node;
      t3 = t2.namespace;
      if (t3 == null) {
        t1._async_environment$_globalModules.$indexSet(0, module, t2);
        t1._async_environment$_allModules.push(module);
        _0_0 = A.IterableExtension_firstWhereOrNull(J.get$keys$z(B.JSArray_methods.get$first(t1._async_environment$_variables)), module.get$variables().get$containsKey());
        if (_0_0 != null)
          A.throwExpression(A.SassScriptException$(string$.This_ma + _0_0 + '".', null));
      } else {
        t4 = t1._async_environment$_modules;
        if (t4.containsKey$1(t3)) {
          t5 = t1._async_environment$_namespaceNodes.$index(0, t3);
          span = t5 == null ? null : t5.span;
          t5 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
          if (span != null)
            t5.$indexSet(0, span, "original @use");
          A.throwExpression(A.MultiSpanSassScriptException$(string$.There_ + t3 + '".', "new @use", t5));
        }
        t4.$indexSet(0, t3, module);
        t1._async_environment$_namespaceNodes.$indexSet(0, t3, t2);
        t1._async_environment$_allModules.push(module);
      }
    },
    $signature: 119
  };
  A._EvaluateVisitor_visitWarnRule_closure0.prototype = {
    call$0() {
      return this.node.expression.accept$1(this.$this);
    },
    $signature: 68
  };
  A._EvaluateVisitor_visitWhileRule_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value),
        $async$returnValue, $async$self = this, t1, t2, t3, _0_0;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node, t2 = t1.condition, t3 = $async$self.$this, t1 = t1.children;
            case 3:
              // for condition
              $async$goto = 5;
              return A._asyncAwait(t2.accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
              if (!$async$result.get$isTruthy()) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(t3._async_evaluate$_handleReturn$2(t1, new A._EvaluateVisitor_visitWhileRule__closure0(t3)), $async$call$0);
            case 6:
              // returning from await.
              _0_0 = $async$result;
              if (_0_0 != null) {
                $async$returnValue = _0_0;
                // goto return
                $async$goto = 1;
                break;
              }
              // goto for condition
              $async$goto = 3;
              break;
            case 4:
              // after for
              $async$returnValue = null;
              // 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: 66
  };
  A._EvaluateVisitor_visitWhileRule__closure0.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 84
  };
  A._EvaluateVisitor_visitBinaryOperationExpression_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$self = this, t3, t1, t2, left, $async$temp1, $async$temp2;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node;
              t2 = $async$self.$this;
              $async$goto = 3;
              return A._asyncAwait(t1.left.accept$1(t2), $async$call$0);
            case 3:
              // returning from await.
              left = $async$result;
            case 4:
              // switch
              switch (t1.operator) {
                case B.BinaryOperator_wdM:
                  // goto case
                  $async$goto = 6;
                  break;
                case B.BinaryOperator_qNM:
                  // goto case
                  $async$goto = 7;
                  break;
                case B.BinaryOperator_eDt:
                  // goto case
                  $async$goto = 8;
                  break;
                case B.BinaryOperator_g8k:
                  // goto case
                  $async$goto = 9;
                  break;
                case B.BinaryOperator_icU:
                  // goto case
                  $async$goto = 10;
                  break;
                case B.BinaryOperator_bEa:
                  // goto case
                  $async$goto = 11;
                  break;
                case B.BinaryOperator_oEm:
                  // goto case
                  $async$goto = 12;
                  break;
                case B.BinaryOperator_miq:
                  // goto case
                  $async$goto = 13;
                  break;
                case B.BinaryOperator_SPQ:
                  // goto case
                  $async$goto = 14;
                  break;
                case B.BinaryOperator_u15:
                  // goto case
                  $async$goto = 15;
                  break;
                case B.BinaryOperator_SjO:
                  // goto case
                  $async$goto = 16;
                  break;
                case B.BinaryOperator_2No:
                  // goto case
                  $async$goto = 17;
                  break;
                case B.BinaryOperator_U77:
                  // goto case
                  $async$goto = 18;
                  break;
                case B.BinaryOperator_KNx:
                  // goto case
                  $async$goto = 19;
                  break;
                default:
                  // goto default
                  $async$goto = 20;
                  break;
              }
              break;
            case 6:
              // case
              t1 = t1.right.accept$1(t2);
              $async$goto = 21;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$0);
            case 21:
              // returning from await.
              t1 = $async$result;
              t1 = new A.SassString(A.serializeValue(left, false, true) + "=" + A.serializeValue(t1, false, true), false);
              // goto after switch
              $async$goto = 5;
              break;
            case 7:
              // case
              $async$goto = left.get$isTruthy() ? 22 : 24;
              break;
            case 22:
              // then
              t1 = left;
              // goto join
              $async$goto = 23;
              break;
            case 24:
              // else
              t1 = t1.right.accept$1(t2);
              $async$goto = 25;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$0);
            case 25:
              // returning from await.
              t1 = $async$result;
            case 23:
              // join
              // goto after switch
              $async$goto = 5;
              break;
            case 8:
              // case
              $async$goto = left.get$isTruthy() ? 26 : 28;
              break;
            case 26:
              // then
              t1 = t1.right.accept$1(t2);
              $async$goto = 29;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$0);
            case 29:
              // returning from await.
              t1 = $async$result;
              // goto join
              $async$goto = 27;
              break;
            case 28:
              // else
              t1 = left;
            case 27:
              // join
              // goto after switch
              $async$goto = 5;
              break;
            case 9:
              // case
              $async$temp1 = left;
              $async$goto = 30;
              return A._asyncAwait(t1.right.accept$1(t2), $async$call$0);
            case 30:
              // returning from await.
              t1 = $async$temp1.$eq(0, $async$result) ? B.SassBoolean_true : B.SassBoolean_false;
              // goto after switch
              $async$goto = 5;
              break;
            case 10:
              // case
              $async$temp1 = left;
              $async$goto = 31;
              return A._asyncAwait(t1.right.accept$1(t2), $async$call$0);
            case 31:
              // returning from await.
              t1 = !$async$temp1.$eq(0, $async$result) ? B.SassBoolean_true : B.SassBoolean_false;
              // goto after switch
              $async$goto = 5;
              break;
            case 11:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 32;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$0);
            case 32:
              // returning from await.
              t1 = $async$temp1.greaterThan$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 12:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 33;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$0);
            case 33:
              // returning from await.
              t1 = $async$temp1.greaterThanOrEquals$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 13:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 34;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$0);
            case 34:
              // returning from await.
              t1 = $async$temp1.lessThan$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 14:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 35;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$0);
            case 35:
              // returning from await.
              t1 = $async$temp1.lessThanOrEquals$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 15:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 36;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$0);
            case 36:
              // returning from await.
              t1 = $async$temp1.plus$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 16:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 37;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$0);
            case 37:
              // returning from await.
              t1 = $async$temp1.minus$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 17:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 38;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$0);
            case 38:
              // returning from await.
              t1 = $async$temp1.times$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 18:
              // case
              t3 = t1.right.accept$1(t2);
              $async$temp1 = t2;
              $async$temp2 = left;
              $async$goto = 39;
              return A._asyncAwait(type$.Future_Value._is(t3) ? t3 : A._Future$value(t3, type$.Value), $async$call$0);
            case 39:
              // returning from await.
              t1 = $async$temp1._async_evaluate$_slash$3($async$temp2, $async$result, t1);
              // goto after switch
              $async$goto = 5;
              break;
            case 19:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 40;
              return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$0);
            case 40:
              // returning from await.
              t1 = $async$temp1.modulo$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 20:
              // default
              t1 = null;
            case 5:
              // after switch
              $async$returnValue = t1;
              // 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: 68
  };
  A._EvaluateVisitor__slash_recommendation0.prototype = {
    call$1(expression) {
      var t1;
      $label0$0: {
        if (expression instanceof A.BinaryOperationExpression && B.BinaryOperator_U77 === expression.operator) {
          t1 = "math.div(" + A.S(this.call$1(expression.left)) + ", " + A.S(this.call$1(expression.right)) + ")";
          break $label0$0;
        }
        if (expression instanceof A.ParenthesizedExpression) {
          t1 = expression.expression.toString$0(0);
          break $label0$0;
        }
        t1 = expression.toString$0(0);
        break $label0$0;
      }
      return t1;
    },
    $signature: 111
  };
  A._EvaluateVisitor_visitVariableExpression_closure0.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._async_evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace);
    },
    $signature: 40
  };
  A._EvaluateVisitor_visitUnaryOperationExpression_closure0.prototype = {
    call$0() {
      var t1, _this = this;
      switch (_this.node.operator) {
        case B.UnaryOperator_cLp:
          t1 = _this.operand.unaryPlus$0();
          break;
        case B.UnaryOperator_AiQ:
          t1 = _this.operand.unaryMinus$0();
          break;
        case B.UnaryOperator_SJr:
          t1 = new A.SassString("/" + A.serializeValue(_this.operand, false, true), false);
          break;
        case B.UnaryOperator_not_not_not:
          t1 = _this.operand.unaryNot$0();
          break;
        default:
          t1 = null;
      }
      return t1;
    },
    $signature: 34
  };
  A._EvaluateVisitor_visitListExpression_closure0.prototype = {
    call$1(expression) {
      return expression.accept$1(this.$this);
    },
    $signature: 316
  };
  A._EvaluateVisitor_visitFunctionExpression_closure2.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._async_evaluate$_environment.getFunction$2$namespace(t1.name, t1.namespace);
    },
    $signature: 86
  };
  A._EvaluateVisitor_visitFunctionExpression_closure3.prototype = {
    call$1(argument) {
      return argument.accept$1(new A._IsCalculationSafeVisitor());
    },
    $signature: 113
  };
  A._EvaluateVisitor_visitFunctionExpression_closure4.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._async_evaluate$_runFunctionCallable$3(t1.$arguments, this._box_0.$function, t1);
    },
    $signature: 68
  };
  A._EvaluateVisitor__checkCalculationArguments_check0.prototype = {
    call$1(maxArgs) {
      var t1 = this.node,
        t2 = t1.$arguments.positional.length;
      if (t2 === 0)
        throw A.wrapException(this.$this._async_evaluate$_exception$2("Missing argument.", t1.span));
      else if (maxArgs != null && t2 > maxArgs)
        throw A.wrapException(this.$this._async_evaluate$_exception$2("Only " + A.S(maxArgs) + " " + A.pluralize("argument", maxArgs, null) + " allowed, but " + t2 + " " + A.pluralize("was", t2, "were") + " passed.", t1.span));
    },
    call$0() {
      return this.call$1(null);
    },
    $signature: 96
  };
  A._EvaluateVisitor__visitCalculationExpression_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Object),
        $async$returnValue, $async$self = this, t1, t2, t3, $async$temp1, $async$temp2, $async$temp3;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self._box_0;
              t3 = $async$self.inLegacySassFunction;
              $async$temp1 = A;
              $async$temp2 = t1._async_evaluate$_binaryOperatorToCalculationOperator$2(t2.operator, $async$self.node);
              $async$goto = 3;
              return A._asyncAwait(t1._async_evaluate$_visitCalculationExpression$2$inLegacySassFunction(t2.left, t3), $async$call$0);
            case 3:
              // returning from await.
              $async$temp3 = $async$result;
              $async$goto = 4;
              return A._asyncAwait(t1._async_evaluate$_visitCalculationExpression$2$inLegacySassFunction(t2.right, t3), $async$call$0);
            case 4:
              // returning from await.
              $async$returnValue = $async$temp1.SassCalculation_operateInternal($async$temp2, $async$temp3, $async$result, t3, !t1._async_evaluate$_inSupportsDeclaration);
              // 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: 179
  };
  A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure0.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._async_evaluate$_runFunctionCallable$3(t1.$arguments, this.$function, t1);
    },
    $signature: 68
  };
  A._EvaluateVisitor__runUserDefinedCallable_closure0.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.callable,
        t3 = _this.V;
      return t1._async_evaluate$_withEnvironment$1$2(t2.environment.closure$0(), new A._EvaluateVisitor__runUserDefinedCallable__closure0(t1, _this.evaluated, t2, _this.nodeWithSpan, _this.run, t3), t3);
    },
    $signature() {
      return this.V._eval$1("Future<0>()");
    }
  };
  A._EvaluateVisitor__runUserDefinedCallable__closure0.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.V;
      return t1._async_evaluate$_environment.scope$1$1(new A._EvaluateVisitor__runUserDefinedCallable___closure0(t1, _this.evaluated, _this.callable, _this.nodeWithSpan, _this.run, t2), t2);
    },
    $signature() {
      return this.V._eval$1("Future<0>()");
    }
  };
  A._EvaluateVisitor__runUserDefinedCallable___closure0.prototype = {
    call$0() {
      return this.$call$body$_EvaluateVisitor__runUserDefinedCallable___closure(this.V);
    },
    $call$body$_EvaluateVisitor__runUserDefinedCallable___closure($async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, declaredArguments, t5, minLength, i, argument, t6, t7, value, t8, restArgument, rest, argumentList, result, t1, t2, t3, t4, $async$temp1;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self.evaluated._values;
              t3 = $async$self.callable.declaration.$arguments;
              t4 = $async$self.nodeWithSpan;
              t1._async_evaluate$_verifyArguments$4(J.get$length$asx(t2[2]), t2[0], t3, t4);
              declaredArguments = t3.$arguments;
              t5 = declaredArguments.length;
              minLength = Math.min(J.get$length$asx(t2[2]), t5);
              for (i = 0; i < minLength; ++i)
                t1._async_evaluate$_environment.setLocalVariable$3(declaredArguments[i].name, J.$index$asx(t2[2], i), J.$index$asx(t2[3], i));
              i = J.get$length$asx(t2[2]);
            case 3:
              // for condition
              if (!(i < t5)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              argument = declaredArguments[i];
              t6 = t2[0];
              t7 = argument.name;
              value = J.remove$1$z(t6, t7);
              $async$goto = value == null ? 6 : 7;
              break;
            case 6:
              // then
              t6 = argument.defaultValue;
              $async$temp1 = t1;
              $async$goto = 8;
              return A._asyncAwait(t6.accept$1(t1), $async$call$0);
            case 8:
              // returning from await.
              value = $async$temp1._async_evaluate$_withoutSlash$2($async$result, t1._async_evaluate$_expressionNode$1(t6));
            case 7:
              // join
              t6 = t1._async_evaluate$_environment;
              t8 = J.$index$asx(t2[1], t7);
              if (t8 == null) {
                t8 = argument.defaultValue;
                t8.toString;
                t8 = t1._async_evaluate$_expressionNode$1(t8);
              }
              t6.setLocalVariable$3(t7, value, t8);
            case 4:
              // for update
              ++i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              restArgument = t3.restArgument;
              if (restArgument != null) {
                rest = J.get$length$asx(t2[2]) > t5 ? J.sublist$1$ax(t2[2], t5) : B.List_empty8;
                t5 = t2[0];
                t6 = t2[4];
                argumentList = A.SassArgumentList$(rest, t5, t6 === B.ListSeparator_undecided_null_undecided ? B.ListSeparator_ECn : t6);
                t1._async_evaluate$_environment.setLocalVariable$3(restArgument, argumentList, t4);
              } else
                argumentList = null;
              $async$goto = 9;
              return A._asyncAwait($async$self.run.call$0(), $async$call$0);
            case 9:
              // returning from await.
              result = $async$result;
              if (argumentList == null) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              if (J.get$isEmpty$asx(t2[0])) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              if (argumentList._wereKeywordsAccessed) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              throw A.wrapException(A.MultiSpanSassRuntimeException$("No " + A.pluralize("argument", J.get$length$asx(J.get$keys$z(t2[0])), null) + " named " + A.toSentence(J.map$1$1$ax(J.get$keys$z(t2[0]), new A._EvaluateVisitor__runUserDefinedCallable____closure0(), type$.Object), "or") + ".", t4.get$span(t4), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([t3.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), t1._async_evaluate$_stackTrace$1(t4.get$span(t4)), null));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature() {
      return this.V._eval$1("Future<0>()");
    }
  };
  A._EvaluateVisitor__runUserDefinedCallable____closure0.prototype = {
    call$1($name) {
      return "$" + $name;
    },
    $signature: 5
  };
  A._EvaluateVisitor__runFunctionCallable_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, $returnValue;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.callable.declaration, t2 = t1.children, t3 = t2.length, t4 = $async$self.$this, _i = 0;
            case 3:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(t2[_i].accept$1(t4), $async$call$0);
            case 6:
              // returning from await.
              $returnValue = $async$result;
              if ($returnValue instanceof A.Value) {
                $async$returnValue = $returnValue;
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              throw A.wrapException(t4._async_evaluate$_exception$2("Function finished without @return.", t1.span));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 68
  };
  A._EvaluateVisitor__runBuiltInCallable_closure2.prototype = {
    call$0() {
      return this._box_0.overload.verify$2(J.get$length$asx(this.evaluated._values[2]), this.namedSet);
    },
    $signature: 0
  };
  A._EvaluateVisitor__runBuiltInCallable_closure3.prototype = {
    call$0() {
      return this._box_0.callback.call$1(this.evaluated._values[2]);
    },
    $signature: 314
  };
  A._EvaluateVisitor__runBuiltInCallable_closure4.prototype = {
    call$1($name) {
      return "$" + $name;
    },
    $signature: 5
  };
  A._EvaluateVisitor__evaluateArguments_closure3.prototype = {
    call$1(value) {
      return value;
    },
    $signature: 39
  };
  A._EvaluateVisitor__evaluateArguments_closure4.prototype = {
    call$1(value) {
      return this.$this._async_evaluate$_withoutSlash$2(value, this.restNodeForSpan);
    },
    $signature: 39
  };
  A._EvaluateVisitor__evaluateArguments_closure5.prototype = {
    call$2(key, value) {
      var _this = this,
        t1 = _this.restNodeForSpan;
      _this.named.$indexSet(0, key, _this.$this._async_evaluate$_withoutSlash$2(value, t1));
      _this.namedNodes.$indexSet(0, key, t1);
    },
    $signature: 98
  };
  A._EvaluateVisitor__evaluateArguments_closure6.prototype = {
    call$1(value) {
      return value;
    },
    $signature: 39
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure3.prototype = {
    call$1(value) {
      var t1 = this.restArgs;
      return new A.ValueExpression(value, t1.get$span(t1));
    },
    $signature: 58
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure4.prototype = {
    call$1(value) {
      var t1 = this.restArgs;
      return new A.ValueExpression(this.$this._async_evaluate$_withoutSlash$2(value, this.restNodeForSpan), t1.get$span(t1));
    },
    $signature: 58
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure5.prototype = {
    call$2(key, value) {
      var _this = this,
        t1 = _this.restArgs;
      _this.named.$indexSet(0, key, new A.ValueExpression(_this.$this._async_evaluate$_withoutSlash$2(value, _this.restNodeForSpan), t1.get$span(t1)));
    },
    $signature: 98
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure6.prototype = {
    call$1(value) {
      var t1 = this.keywordRestArgs;
      return new A.ValueExpression(this.$this._async_evaluate$_withoutSlash$2(value, this.keywordRestNodeForSpan), t1.get$span(t1));
    },
    $signature: 58
  };
  A._EvaluateVisitor__addRestMap_closure0.prototype = {
    call$2(key, value) {
      var t2, _this = this,
        t1 = _this.$this;
      if (key instanceof A.SassString)
        _this.values.$indexSet(0, key._string$_text, _this.convert.call$1(t1._async_evaluate$_withoutSlash$2(value, _this.expressionNode)));
      else {
        t2 = _this.nodeWithSpan;
        throw A.wrapException(t1._async_evaluate$_exception$2(string$.Variab_ + key.toString$0(0) + " is not a string in " + _this.map.toString$0(0) + ".", t2.get$span(t2)));
      }
    },
    $signature: 90
  };
  A._EvaluateVisitor__verifyArguments_closure0.prototype = {
    call$0() {
      return this.$arguments.verify$2(this.positional, new A.MapKeySet(this.named, type$.MapKeySet_String));
    },
    $signature: 0
  };
  A._EvaluateVisitor_visitCssAtRule_closure1.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, t4;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = $async$self.$this, t2 = t2._eval$1("ListBase.E");
            case 2:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              t4 = t1.__internal$_current;
              $async$goto = 4;
              return A._asyncAwait((t4 == null ? t2._as(t4) : t4).accept$1(t3), $async$call$0);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssAtRule_closure2.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitCssKeyframeBlock_closure1.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, t4;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = $async$self.$this, t2 = t2._eval$1("ListBase.E");
            case 2:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              t4 = t1.__internal$_current;
              $async$goto = 4;
              return A._asyncAwait((t4 == null ? t2._as(t4) : t4).accept$1(t3), $async$call$0);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssKeyframeBlock_closure2.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitCssMediaRule_closure2.prototype = {
    call$1(mediaQueries) {
      return this.$this._async_evaluate$_mergeMediaQueries$2(mediaQueries, this.node.queries);
    },
    $signature: 89
  };
  A._EvaluateVisitor_visitCssMediaRule_closure3.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self.mergedQueries;
              if (t2 == null)
                t2 = $async$self.node.queries;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate$_withMediaQueries$1$3(t2, $async$self.mergedSources, new A._EvaluateVisitor_visitCssMediaRule__closure0(t1, $async$self.node), type$.Null), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssMediaRule__closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t2, t3, t4, t1, _0_0;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              _0_0 = t1._async_evaluate$_atRootExcludingStyleRule ? null : t1._async_evaluate$_styleRuleIgnoringAtRoot;
              $async$goto = _0_0 != null ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1._async_evaluate$_withParent$2$3$scopeWhen(A.ModifiableCssStyleRule$(_0_0._style_rule$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitCssMediaRule___closure0(t1, $async$self.node), false, type$.ModifiableCssStyleRule, type$.Null), $async$call$0);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t2 = $async$self.node.children, t3 = t2.$ti, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t3 = t3._eval$1("ListBase.E");
            case 6:
              // for condition
              if (!t2.moveNext$0()) {
                // goto after for
                $async$goto = 7;
                break;
              }
              t4 = t2.__internal$_current;
              $async$goto = 8;
              return A._asyncAwait((t4 == null ? t3._as(t4) : t4).accept$1(t1), $async$call$0);
            case 8:
              // returning from await.
              // goto for condition
              $async$goto = 6;
              break;
            case 7:
              // after for
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssMediaRule___closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, t4;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = $async$self.$this, t2 = t2._eval$1("ListBase.E");
            case 2:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              t4 = t1.__internal$_current;
              $async$goto = 4;
              return A._asyncAwait((t4 == null ? t2._as(t4) : t4).accept$1(t3), $async$call$0);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssMediaRule_closure4.prototype = {
    call$1(node) {
      var t1;
      if (!(node instanceof A.ModifiableCssStyleRule)) {
        t1 = this.mergedSources;
        t1 = t1.get$isNotEmpty(t1) && node instanceof A.ModifiableCssMediaRule && B.JSArray_methods.every$1(node.queries, t1.get$contains(t1));
      } else
        t1 = true;
      return t1;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitCssStyleRule_closure2.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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate$_withStyleRule$1$2($async$self.rule, new A._EvaluateVisitor_visitCssStyleRule__closure0(t1, $async$self.node), type$.Null), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssStyleRule__closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, t4;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = $async$self.$this, t2 = t2._eval$1("ListBase.E");
            case 2:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              t4 = t1.__internal$_current;
              $async$goto = 4;
              return A._asyncAwait((t4 == null ? t2._as(t4) : t4).accept$1(t3), $async$call$0);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssStyleRule_closure1.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitCssSupportsRule_closure1.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t2, t3, t4, t1, _0_0;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              _0_0 = t1._async_evaluate$_atRootExcludingStyleRule ? null : t1._async_evaluate$_styleRuleIgnoringAtRoot;
              $async$goto = _0_0 != null ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1._async_evaluate$_withParent$2$2(A.ModifiableCssStyleRule$(_0_0._style_rule$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitCssSupportsRule__closure0(t1, $async$self.node), type$.ModifiableCssStyleRule, type$.Null), $async$call$0);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t2 = $async$self.node.children, t3 = t2.$ti, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t3 = t3._eval$1("ListBase.E");
            case 6:
              // for condition
              if (!t2.moveNext$0()) {
                // goto after for
                $async$goto = 7;
                break;
              }
              t4 = t2.__internal$_current;
              $async$goto = 8;
              return A._asyncAwait((t4 == null ? t3._as(t4) : t4).accept$1(t1), $async$call$0);
            case 8:
              // returning from await.
              // goto for condition
              $async$goto = 6;
              break;
            case 7:
              // after for
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssSupportsRule__closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, t4;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = $async$self.$this, t2 = t2._eval$1("ListBase.E");
            case 2:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              t4 = t1.__internal$_current;
              $async$goto = 4;
              return A._asyncAwait((t4 == null ? t2._as(t4) : t4).accept$1(t3), $async$call$0);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssSupportsRule_closure2.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor__performInterpolationHelper_closure0.prototype = {
    call$1(targetLocations) {
      return A.InterpolationMap$(this.interpolation, targetLocations);
    },
    $signature: 181
  };
  A._EvaluateVisitor__serialize_closure0.prototype = {
    call$0() {
      return A.serializeValue(this.value, false, this.quote);
    },
    $signature: 26
  };
  A._EvaluateVisitor__expressionNode_closure0.prototype = {
    call$0() {
      var t1 = this.expression;
      return this.$this._async_evaluate$_environment.getVariableNode$2$namespace(t1.name, t1.namespace);
    },
    $signature: 182
  };
  A._EvaluateVisitor__withoutSlash_recommendation0.prototype = {
    call$1(number) {
      var t1, before, after,
        _1_0 = number.asSlash;
      $label0$0: {
        if (type$.Record_2_nullable_Object_and_nullable_Object._is(_1_0)) {
          t1 = type$.SassNumber;
          before = t1._as(_1_0._0);
          after = t1._as(_1_0._1);
          t1 = "math.div(" + A.S(this.call$1(before)) + ", " + A.S(this.call$1(after)) + ")";
          break $label0$0;
        }
        t1 = A.serializeValue(number, true, true);
        break $label0$0;
      }
      return t1;
    },
    $signature: 183
  };
  A._EvaluateVisitor__stackFrame_closure0.prototype = {
    call$1(url) {
      var t1 = this.$this._async_evaluate$_importCache;
      t1 = t1 == null ? null : t1.humanize$1(url);
      return t1 == null ? url : t1;
    },
    $signature: 43
  };
  A._ImportedCssVisitor0.prototype = {
    visitCssAtRule$1(node) {
      var t1 = node.isChildless ? null : new A._ImportedCssVisitor_visitCssAtRule_closure0();
      this._async_evaluate$_visitor._async_evaluate$_addChild$2$through(node, t1);
    },
    visitCssComment$1(node) {
      return this._async_evaluate$_visitor._async_evaluate$_addChild$1(node);
    },
    visitCssDeclaration$1(node) {
    },
    visitCssImport$1(node) {
      var t2,
        _s13_ = "_endOfImports",
        t1 = this._async_evaluate$_visitor;
      if (t1._async_evaluate$_assertInModule$2(t1._async_evaluate$__parent, "__parent") !== t1._async_evaluate$_assertInModule$2(t1._async_evaluate$__root, "_root"))
        t1._async_evaluate$_addChild$1(node);
      else if (t1._async_evaluate$_assertInModule$2(t1._async_evaluate$__endOfImports, _s13_) === J.get$length$asx(t1._async_evaluate$_assertInModule$2(t1._async_evaluate$__root, "_root").children._collection$_source)) {
        t1._async_evaluate$_addChild$1(node);
        t1._async_evaluate$__endOfImports = t1._async_evaluate$_assertInModule$2(t1._async_evaluate$__endOfImports, _s13_) + 1;
      } else {
        t2 = t1._async_evaluate$_outOfOrderImports;
        (t2 == null ? t1._async_evaluate$_outOfOrderImports = A._setArrayType([], type$.JSArray_ModifiableCssImport) : t2).push(node);
      }
    },
    visitCssKeyframeBlock$1(node) {
    },
    visitCssMediaRule$1(node) {
      var t1 = this._async_evaluate$_visitor,
        mediaQueries = t1._async_evaluate$_mediaQueries;
      t1._async_evaluate$_addChild$2$through(node, new A._ImportedCssVisitor_visitCssMediaRule_closure0(mediaQueries == null || t1._async_evaluate$_mergeMediaQueries$2(mediaQueries, node.queries) != null));
    },
    visitCssStyleRule$1(node) {
      return this._async_evaluate$_visitor._async_evaluate$_addChild$2$through(node, new A._ImportedCssVisitor_visitCssStyleRule_closure0());
    },
    visitCssStylesheet$1(node) {
      var t1, t2, t3;
      for (t1 = node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        (t3 == null ? t2._as(t3) : t3).accept$1(this);
      }
    },
    visitCssSupportsRule$1(node) {
      return this._async_evaluate$_visitor._async_evaluate$_addChild$2$through(node, new A._ImportedCssVisitor_visitCssSupportsRule_closure0());
    }
  };
  A._ImportedCssVisitor_visitCssAtRule_closure0.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._ImportedCssVisitor_visitCssMediaRule_closure0.prototype = {
    call$1(node) {
      var t1;
      if (!(node instanceof A.ModifiableCssStyleRule))
        t1 = this.hasBeenMerged && node instanceof A.ModifiableCssMediaRule;
      else
        t1 = true;
      return t1;
    },
    $signature: 7
  };
  A._ImportedCssVisitor_visitCssStyleRule_closure0.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._ImportedCssVisitor_visitCssSupportsRule_closure0.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluationContext0.prototype = {
    get$currentCallableSpan() {
      var _0_0 = this._async_evaluate$_visitor._async_evaluate$_callableNode;
      if (_0_0 != null)
        return _0_0.get$span(_0_0);
      throw A.wrapException(A.StateError$(string$.No_Sasc));
    },
    warn$2(_, message, deprecation) {
      var t1 = this._async_evaluate$_visitor,
        t2 = t1._async_evaluate$_importSpan;
      if (t2 == null) {
        t2 = t1._async_evaluate$_callableNode;
        t2 = t2 == null ? null : t2.get$span(t2);
      }
      t1._async_evaluate$_warn$3(message, t2 == null ? this._async_evaluate$_defaultWarnNodeWithSpan.span : t2, deprecation);
    },
    $isEvaluationContext: 1
  };
  A._CloneCssVisitor.prototype = {
    visitCssAtRule$1(node) {
      var t1 = node.isChildless,
        rule = A.ModifiableCssAtRule$(node.name, node.span, t1, node.value);
      return t1 ? rule : this._visitChildren$2(rule, node);
    },
    visitCssComment$1(node) {
      return new A.ModifiableCssComment(node.text, node.span);
    },
    visitCssDeclaration$1(node) {
      return A.ModifiableCssDeclaration$(node.name, node.value, node.span, node.parsedAsCustomProperty, node.valueSpanForMap);
    },
    visitCssImport$1(node) {
      return new A.ModifiableCssImport(node.url, node.modifiers, node.span);
    },
    visitCssKeyframeBlock$1(node) {
      return this._visitChildren$2(A.ModifiableCssKeyframeBlock$(node.selector, node.span), node);
    },
    visitCssMediaRule$1(node) {
      return this._visitChildren$2(A.ModifiableCssMediaRule$(node.queries, node.span), node);
    },
    visitCssStyleRule$1(node) {
      var _0_0 = this._oldToNewSelectors.$index(0, node._style_rule$_selector._box$_inner.value);
      if (_0_0 != null)
        return this._visitChildren$2(A.ModifiableCssStyleRule$(_0_0, node.span, false, node.originalSelector), node);
      else
        throw A.wrapException(A.StateError$(string$.The_Ex));
    },
    visitCssStylesheet$1(node) {
      return this._visitChildren$2(A.ModifiableCssStylesheet$(node.get$span(node)), node);
    },
    visitCssSupportsRule$1(node) {
      return this._visitChildren$2(A.ModifiableCssSupportsRule$(node.condition, node.span), node);
    },
    _visitChildren$1$2(newParent, oldParent) {
      var t1, t2, newChild;
      for (t1 = J.get$iterator$ax(oldParent.get$children(oldParent)); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        newChild = t2.accept$1(this);
        newChild.isGroupEnd = t2.get$isGroupEnd();
        newParent.addChild$1(newChild);
      }
      return newParent;
    },
    _visitChildren$2(newParent, oldParent) {
      return this._visitChildren$1$2(newParent, oldParent, type$.ModifiableCssParentNode);
    }
  };
  A.Evaluator.prototype = {};
  A._EvaluateVisitor.prototype = {
    _EvaluateVisitor$6$functions$importCache$logger$nodeImporter$quietDeps$sourceMap(functions, importCache, logger, nodeImporter, quietDeps, sourceMap) {
      var t2, metaModule, t3, _i, module, $function, t4, _this = this,
        _s20_ = "$name, $module: null",
        _s9_ = "sass:meta",
        _s7_ = "$module",
        t1 = type$.JSArray_BuiltInCallable,
        metaFunctions = A._setArrayType([A.BuiltInCallable$function("global-variable-exists", _s20_, new A._EvaluateVisitor_closure(_this), _s9_), A.BuiltInCallable$function("variable-exists", "$name", new A._EvaluateVisitor_closure0(_this), _s9_), A.BuiltInCallable$function("function-exists", _s20_, new A._EvaluateVisitor_closure1(_this), _s9_), A.BuiltInCallable$function("mixin-exists", _s20_, new A._EvaluateVisitor_closure2(_this), _s9_), A.BuiltInCallable$function("content-exists", "", new A._EvaluateVisitor_closure3(_this), _s9_), A.BuiltInCallable$function("module-variables", _s7_, new A._EvaluateVisitor_closure4(_this), _s9_), A.BuiltInCallable$function("module-functions", _s7_, new A._EvaluateVisitor_closure5(_this), _s9_), A.BuiltInCallable$function("module-mixins", _s7_, new A._EvaluateVisitor_closure6(_this), _s9_), A.BuiltInCallable$function("get-function", "$name, $css: false, $module: null", new A._EvaluateVisitor_closure7(_this), _s9_), A.BuiltInCallable$function("get-mixin", _s20_, new A._EvaluateVisitor_closure8(_this), _s9_), A.BuiltInCallable$function("call", "$function, $args...", new A._EvaluateVisitor_closure9(_this), _s9_)], t1),
        metaMixins = A._setArrayType([A.BuiltInCallable$mixin("load-css", "$url, $with: null", new A._EvaluateVisitor_closure10(_this), false, _s9_), A.BuiltInCallable$mixin("apply", "$mixin, $args...", new A._EvaluateVisitor_closure11(_this), true, _s9_)], t1);
      t1 = type$.BuiltInCallable;
      t2 = A.List_List$of($.$get$global(), true, t1);
      B.JSArray_methods.addAll$1(t2, $.$get$local());
      B.JSArray_methods.addAll$1(t2, metaFunctions);
      metaModule = A.BuiltInModule$("meta", t2, metaMixins, null, t1);
      for (t1 = A.List_List$of($.$get$coreModules(), true, type$.BuiltInModule_Callable), t1.push(metaModule), t2 = t1.length, t3 = _this._builtInModules, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        module = t1[_i];
        t3.$indexSet(0, module.url, module);
      }
      t1 = A._setArrayType([], type$.JSArray_Callable);
      B.JSArray_methods.addAll$1(t1, $.$get$globalFunctions());
      B.JSArray_methods.addAll$1(t1, metaFunctions);
      for (t2 = t1.length, t3 = _this._builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        $function = t1[_i];
        t4 = J.get$name$x($function);
        t3.$indexSet(0, A.stringReplaceAllUnchecked(t4, "_", "-"), $function);
      }
    },
    run$2(_, importer, node) {
      var error, stackTrace, t1, exception;
      try {
        t1 = type$.nullable_Object;
        t1 = A.runZoned(new A._EvaluateVisitor_run_closure(this, node, importer), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__evaluationContext, new A._EvaluationContext(this, node)], t1, t1), type$.Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet);
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          A.throwWithTrace(error.withLoadedUrls$1(this._loadedUrls), error, stackTrace);
        } else
          throw exception;
      }
    },
    runExpression$2(importer, expression) {
      var t1 = type$.nullable_Object;
      return A.runZoned(new A._EvaluateVisitor_runExpression_closure(this, importer, expression), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__evaluationContext, new A._EvaluationContext(this, expression)], t1, t1), type$.Value);
    },
    runStatement$2(importer, statement) {
      var t1 = type$.nullable_Object;
      return A.runZoned(new A._EvaluateVisitor_runStatement_closure(this, importer, statement), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__evaluationContext, new A._EvaluationContext(this, statement)], t1, t1), type$.void);
    },
    _assertInModule$1$2(value, $name) {
      if (value != null)
        return value;
      throw A.wrapException(A.StateError$("Can't access " + $name + " outside of a module."));
    },
    _assertInModule$2(value, $name) {
      return this._assertInModule$1$2(value, $name, type$.dynamic);
    },
    _withFakeStylesheet$1$3(importer, nodeWithSpan, callback) {
      var t1, _this = this,
        oldImporter = _this._importer;
      _this._importer = importer;
      _this.__stylesheet = A.Stylesheet$(B.List_empty12, nodeWithSpan.get$span(nodeWithSpan));
      try {
        t1 = callback.call$0();
        return t1;
      } finally {
        _this._importer = oldImporter;
        _this.__stylesheet = null;
      }
    },
    _withFakeStylesheet$3(importer, nodeWithSpan, callback) {
      return this._withFakeStylesheet$1$3(importer, nodeWithSpan, callback, type$.dynamic);
    },
    _loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, baseUrl, configuration, namesInErrors) {
      var t2, _this = this, t1 = {},
        _0_0 = _this._builtInModules.$index(0, url);
      t1.builtInModule = null;
      if (_0_0 != null) {
        t1.builtInModule = _0_0;
        if (configuration instanceof A.ExplicitConfiguration) {
          t1 = namesInErrors ? "Built-in module " + url.toString$0(0) + " can't be configured." : "Built-in modules can't be configured.";
          t2 = configuration.nodeWithSpan;
          throw A.wrapException(_this._evaluate$_exception$2(t1, t2.get$span(t2)));
        }
        _this._addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__loadModule_closure(t1, callback));
        return;
      }
      _this._withStackFrame$3(stackFrame, nodeWithSpan, new A._EvaluateVisitor__loadModule_closure0(_this, url, nodeWithSpan, baseUrl, namesInErrors, configuration, callback));
    },
    _loadModule$5$configuration(url, stackFrame, nodeWithSpan, callback, configuration) {
      return this._loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, null, configuration, false);
    },
    _loadModule$4(url, stackFrame, nodeWithSpan, callback) {
      return this._loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, null, null, false);
    },
    _execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, configuration, namesInErrors, nodeWithSpan) {
      var _0_0, currentConfiguration, t2, t3, message, existingSpan, configurationSpan, environment, css, preModuleComments, extensionStore, module, _this = this,
        t1 = stylesheet.span,
        url = t1.get$sourceUrl(t1);
      t1 = _this._modules;
      _0_0 = t1.$index(0, url);
      if (_0_0 != null) {
        t1 = configuration == null;
        currentConfiguration = t1 ? _this._configuration : configuration;
        t2 = _this._moduleConfigurations.$index(0, url);
        t3 = t2.__originalConfiguration;
        t2 = t3 == null ? t2 : t3;
        t3 = currentConfiguration.__originalConfiguration;
        if (t2 !== (t3 == null ? currentConfiguration : t3) && currentConfiguration instanceof A.ExplicitConfiguration) {
          if (namesInErrors) {
            t2 = $.$get$context();
            url.toString;
            message = t2.prettyUri$1(url) + string$.x20was_a;
          } else
            message = string$.This_mw;
          t2 = _this._moduleNodes.$index(0, url);
          existingSpan = t2 == null ? null : t2.get$span(t2);
          if (t1) {
            t1 = currentConfiguration.nodeWithSpan;
            configurationSpan = t1.get$span(t1);
          } else
            configurationSpan = null;
          t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
          if (existingSpan != null)
            t1.$indexSet(0, existingSpan, "original load");
          if (configurationSpan != null)
            t1.$indexSet(0, configurationSpan, "configuration");
          throw A.wrapException(t1.get$isEmpty(0) ? _this._evaluate$_exception$1(message) : _this._multiSpanException$3(message, "new load", t1));
        }
        return _0_0;
      }
      environment = A.Environment$();
      css = A._Cell$();
      preModuleComments = A._Cell$();
      extensionStore = A.ExtensionStore$();
      _this._withEnvironment$2(environment, new A._EvaluateVisitor__execute_closure(_this, importer, stylesheet, extensionStore, configuration, css, preModuleComments));
      t2 = css._readLocal$0();
      t3 = preModuleComments._readLocal$0();
      module = environment.toModule$3(t2, t3 == null ? B.Map_empty0 : t3, extensionStore);
      if (url != null) {
        t1.$indexSet(0, url, module);
        _this._moduleConfigurations.$indexSet(0, url, _this._configuration);
        if (nodeWithSpan != null)
          _this._moduleNodes.$indexSet(0, url, nodeWithSpan);
      }
      return module;
    },
    _execute$2(importer, stylesheet) {
      return this._execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, null, false, null);
    },
    _addOutOfOrderImports$0() {
      var t1, t2, _this = this, _s5_ = "_root",
        _s13_ = "_endOfImports",
        _0_0 = _this._outOfOrderImports;
      $label0$0: {
        if (_0_0 == null) {
          t1 = _this._assertInModule$2(_this.__root, _s5_).children;
          break $label0$0;
        }
        t1 = _this._assertInModule$2(_this.__root, _s5_).children;
        t1 = A.List_List$of(A.SubListIterable$(t1, 0, A.checkNotNullable(_this._assertInModule$2(_this.__endOfImports, _s13_), "count", type$.int), t1.$ti._eval$1("ListBase.E")), true, type$.ModifiableCssNode);
        B.JSArray_methods.addAll$1(t1, _0_0);
        t2 = _this._assertInModule$2(_this.__root, _s5_).children;
        B.JSArray_methods.addAll$1(t1, A.SubListIterable$(t2, _this._assertInModule$2(_this.__endOfImports, _s13_), null, t2.$ti._eval$1("ListBase.E")));
        break $label0$0;
      }
      return t1;
    },
    _combineCss$2$clone(root, clone) {
      var selectors, _0_0, t1, imports, css, sorted, t2;
      if (!B.JSArray_methods.any$1(root.get$upstream(), new A._EvaluateVisitor__combineCss_closure())) {
        selectors = root.get$extensionStore().get$simpleSelectors();
        _0_0 = A.IterableExtension_get_firstOrNull(root.get$extensionStore().extensionsWhereTarget$1(new A._EvaluateVisitor__combineCss_closure0(selectors)));
        if (_0_0 != null)
          this._throwForUnsatisfiedExtension$1(_0_0);
        return root.get$css(root);
      }
      t1 = type$.JSArray_CssNode;
      imports = A._setArrayType([], t1);
      css = A._setArrayType([], t1);
      t1 = type$.Module_Callable;
      sorted = A.ListQueue$(t1);
      new A._EvaluateVisitor__combineCss_visitModule(this, A.LinkedHashSet_LinkedHashSet$_empty(t1), clone, css, imports, sorted).call$1(root);
      if (root.get$transitivelyContainsExtensions())
        this._extendModules$1(sorted);
      t1 = B.JSArray_methods.$add(imports, css);
      t2 = root.get$css(root);
      return new A.CssStylesheet(new A.UnmodifiableListView(t1, type$.UnmodifiableListView_CssNode), t2.get$span(t2));
    },
    _combineCss$1(root) {
      return this._combineCss$2$clone(root, false);
    },
    _extendModules$1(sortedModules) {
      var t1, t2, t3, originalSelectors, $self, t4, t5, _i, upstream, _0_0,
        downstreamExtensionStores = A.LinkedHashMap_LinkedHashMap$_empty(type$.Uri, type$.List_ExtensionStore),
        unsatisfiedExtensions = new A._LinkedIdentityHashSet(type$._LinkedIdentityHashSet_Extension);
      for (t1 = A._ListQueueIterator$(sortedModules, sortedModules.$ti._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        originalSelectors = t3.get$extensionStore().get$simpleSelectors().toSet$0(0);
        unsatisfiedExtensions.addAll$1(0, t3.get$extensionStore().extensionsWhereTarget$1(new A._EvaluateVisitor__extendModules_closure(originalSelectors)));
        $self = downstreamExtensionStores.$index(0, t3.get$url(t3));
        t4 = t3.get$extensionStore().get$addExtensions();
        if ($self != null)
          t4.call$1($self);
        t4 = t3.get$extensionStore();
        if (t4.get$isEmpty(t4))
          continue;
        for (t4 = t3.get$upstream(), t5 = t4.length, _i = 0; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i) {
          upstream = t4[_i];
          _0_0 = upstream.get$url(upstream);
          if (_0_0 != null)
            J.add$1$ax(downstreamExtensionStores.putIfAbsent$2(_0_0, new A._EvaluateVisitor__extendModules_closure0()), t3.get$extensionStore());
        }
        unsatisfiedExtensions.removeAll$1(t3.get$extensionStore().extensionsWhereTarget$1(originalSelectors.get$contains(originalSelectors)));
      }
      if (unsatisfiedExtensions._collection$_length !== 0)
        this._throwForUnsatisfiedExtension$1(unsatisfiedExtensions.get$first(0));
    },
    _throwForUnsatisfiedExtension$1(extension) {
      throw A.wrapException(A.SassException$(string$.The_ta + extension.target.toString$0(0) + ' !optional" to avoid this error.', extension.span, null));
    },
    _indexAfterImports$1(statements) {
      var t1, lastImport, i, _0_0;
      for (t1 = J.getInterceptor$asx(statements), lastImport = -1, i = 0; i < t1.get$length(statements); ++i) {
        $label0$0: {
          _0_0 = t1.$index(statements, i);
          if (_0_0 instanceof A.ModifiableCssImport)
            break $label0$0;
          if (_0_0 instanceof A.ModifiableCssComment)
            continue;
          break;
        }
        lastImport = i;
      }
      return lastImport + 1;
    },
    visitStylesheet$1(node) {
      var t1, t2, _i;
      for (t1 = node.children, t2 = t1.length, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(this);
      return null;
    },
    visitAtRootRule$1(node) {
      var t1, _2_0, root, first, rest, innerCopy, outerCopy, _i, copy, _this = this,
        _s8_ = "__parent",
        _0_0 = node.query,
        query = _0_0 != null ? A.AtRootQueryParser$(_this._performInterpolationWithMap$2$warnForColor(_0_0, true)._0, _this._evaluate$_logger, null).parse$0() : B.AtRootQuery_n2q,
        $parent = _this._assertInModule$2(_this.__parent, _s8_),
        included = A._setArrayType([], type$.JSArray_ModifiableCssParentNode);
      for (t1 = type$.CssStylesheet; !t1._is($parent); $parent = _2_0) {
        if (!query.excludes$1($parent))
          included.push($parent);
        _2_0 = $parent._parent;
        if (_2_0 == null)
          throw A.wrapException(A.StateError$(string$.CssNod));
      }
      root = _this._trimIncluded$1(included);
      if (root === _this._assertInModule$2(_this.__parent, _s8_)) {
        _this._environment.scope$1$2$when(new A._EvaluateVisitor_visitAtRootRule_closure(_this, node), node.hasDeclarations, type$.Null);
        return null;
      }
      if (included.length >= 1) {
        first = included[0];
        rest = B.JSArray_methods.sublist$1(included, 1);
        innerCopy = first.copyWithoutChildren$0();
        for (t1 = rest.length, outerCopy = innerCopy, _i = 0; _i < rest.length; rest.length === t1 || (0, A.throwConcurrentModificationError)(rest), ++_i, outerCopy = copy) {
          copy = rest[_i].copyWithoutChildren$0();
          copy.addChild$1(outerCopy);
        }
        root.addChild$1(outerCopy);
      } else
        innerCopy = root;
      _this._scopeForAtRoot$4(node, innerCopy, query, included).call$1(new A._EvaluateVisitor_visitAtRootRule_closure0(_this, node));
      return null;
    },
    _trimIncluded$1(nodes) {
      var $parent, t1, innermostContiguous, i, t2, _0_0, _1_0, root, _this = this, _null = null, _s5_ = "_root",
        _s22_ = " to be an ancestor of ";
      if (nodes.length === 0)
        return _this._assertInModule$2(_this.__root, _s5_);
      $parent = _this._assertInModule$2(_this.__parent, "__parent");
      for (t1 = nodes.length, innermostContiguous = _null, i = 0; i < t1; ++i, $parent = _1_0) {
        for (; t2 = nodes[i], $parent !== t2; innermostContiguous = _null, $parent = _0_0) {
          _0_0 = $parent._parent;
          if (_0_0 == null)
            throw A.wrapException(A.ArgumentError$("Expected " + t2.toString$0(0) + _s22_ + _this.toString$0(0) + ".", _null));
        }
        if (innermostContiguous == null)
          innermostContiguous = i;
        _1_0 = $parent._parent;
        if (_1_0 == null)
          throw A.wrapException(A.ArgumentError$("Expected " + t2.toString$0(0) + _s22_ + _this.toString$0(0) + ".", _null));
      }
      if ($parent !== _this._assertInModule$2(_this.__root, _s5_))
        return _this._assertInModule$2(_this.__root, _s5_);
      innermostContiguous.toString;
      root = nodes[innermostContiguous];
      B.JSArray_methods.removeRange$2(nodes, innermostContiguous, nodes.length);
      return root;
    },
    _scopeForAtRoot$4(node, newParent, query, included) {
      var _this = this,
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure(_this, newParent, node),
        t1 = query._all || query._at_root_query$_rule;
      if (t1 !== query.include)
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure0(_this, scope);
      if (_this._mediaQueries != null && query.excludesName$1("media"))
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure1(_this, scope);
      if (_this._inKeyframes && query.excludesName$1("keyframes"))
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure2(_this, scope);
      return _this._inUnknownAtRule && !B.JSArray_methods.any$1(included, new A._EvaluateVisitor__scopeForAtRoot_closure3()) ? new A._EvaluateVisitor__scopeForAtRoot_closure4(_this, scope) : scope;
    },
    visitContentBlock$1(node) {
      return A.throwExpression(A.UnsupportedError$(string$.Evalua));
    },
    visitContentRule$1(node) {
      var $content = this._environment._content;
      if ($content == null)
        return null;
      this._runUserDefinedCallable$1$4(node.$arguments, $content, node, new A._EvaluateVisitor_visitContentRule_closure(this, $content), type$.Null);
      return null;
    },
    visitDebugRule$1(node) {
      var value = node.expression.accept$1(this),
        t1 = value instanceof A.SassString ? value._string$_text : A.serializeValue(value, true, true);
      this._evaluate$_logger.debug$2(0, t1, node.span);
      return null;
    },
    visitDeclaration$1(node) {
      var t2, _0_0, t3, $name, _1_0, _2_0, value, t4, t5, _3_0, oldDeclarationName, _this = this, _null = null,
        _s8_ = "__parent",
        t1 = {};
      if ((_this._atRootExcludingStyleRule ? _null : _this._styleRuleIgnoringAtRoot) == null && !_this._inUnknownAtRule && !_this._inKeyframes)
        throw A.wrapException(_this._evaluate$_exception$2(string$.Declarm, node.span));
      if (_this._declarationName != null && B.JSString_methods.startsWith$1(node.name.get$initialPlain(), "--"))
        throw A.wrapException(_this._evaluate$_exception$2(string$.Declarw, node.span));
      t2 = _this._assertInModule$2(_this.__parent, _s8_)._parent.children;
      _0_0 = t2.get$last(t2);
      t2 = _this._assertInModule$2(_this.__parent, _s8_);
      if (t2 !== _0_0) {
        t2 = type$.SourceSpan;
        t3 = type$.String;
        _this._warn$3(string$.Sassx27s, new A.MultiSpan(node.span, "declaration", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([_0_0.get$span(_0_0), "nested rule"], t2, t3), t2, t3)), B.Deprecation_gf0);
      }
      t2 = node.name;
      $name = _this._interpolationToValue$2$warnForColor(t2, true);
      _1_0 = _this._declarationName;
      if (_1_0 != null)
        $name = new A.CssValue(_1_0 + "-" + A.S($name.value), $name.span, type$.CssValue_String);
      _2_0 = node.value;
      if (_2_0 != null) {
        value = _2_0.accept$1(_this);
        if (!value.get$isBlank() || value.get$asList().length === 0) {
          t3 = _this._assertInModule$2(_this.__parent, _s8_);
          t4 = _2_0.get$span(_2_0);
          t2 = B.JSString_methods.startsWith$1(t2.get$initialPlain(), "--");
          if (_this._sourceMap) {
            t5 = A.NullableExtension_andThen(_2_0, _this.get$_expressionNode());
            t5 = t5 == null ? _null : J.get$span$z(t5);
          } else
            t5 = _null;
          t3.addChild$1(A.ModifiableCssDeclaration$($name, new A.CssValue(value, t4, type$.CssValue_Value), node.span, t2, t5));
        } else if (J.startsWith$1$s($name.value, "--"))
          throw A.wrapException(_this._evaluate$_exception$2("Custom property values may not be empty.", _2_0.get$span(_2_0)));
      }
      _3_0 = node.children;
      t1.children = null;
      if (_3_0 != null) {
        t1.children = _3_0;
        oldDeclarationName = _this._declarationName;
        _this._declarationName = $name.value;
        _this._environment.scope$1$2$when(new A._EvaluateVisitor_visitDeclaration_closure(t1, _this), node.hasDeclarations, type$.Null);
        _this._declarationName = oldDeclarationName;
      }
      return _null;
    },
    visitEachRule$1(node) {
      var _this = this, _box_0 = {},
        t1 = node.list,
        list = t1.accept$1(_this),
        nodeWithSpan = _this._expressionNode$1(t1),
        _0_0 = node.variables;
      $label0$0: {
        _box_0.variable = null;
        if (_0_0.length === 1) {
          _box_0.variable = _0_0[0];
          t1 = new A._EvaluateVisitor_visitEachRule_closure(_box_0, _this, nodeWithSpan);
          break $label0$0;
        }
        _box_0.variables = null;
        _box_0.variables = _0_0;
        t1 = new A._EvaluateVisitor_visitEachRule_closure0(_box_0, _this, nodeWithSpan);
        break $label0$0;
      }
      return _this._environment.scope$1$2$semiGlobal(new A._EvaluateVisitor_visitEachRule_closure1(_this, list, t1, node), true, type$.nullable_Value);
    },
    _setMultipleVariables$3(variables, value, nodeWithSpan) {
      var i,
        list = value.get$asList(),
        t1 = variables.length,
        minLength = Math.min(t1, list.length);
      for (i = 0; i < minLength; ++i)
        this._environment.setLocalVariable$3(variables[i], this._withoutSlash$2(list[i], nodeWithSpan), nodeWithSpan);
      for (i = minLength; i < t1; ++i)
        this._environment.setLocalVariable$3(variables[i], B.C__SassNull, nodeWithSpan);
    },
    visitErrorRule$1(node) {
      throw A.wrapException(this._evaluate$_exception$2(J.toString$0$(node.expression.accept$1(this)), node.span));
    },
    visitExtendRule$1(node) {
      var t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, _0_0, compound, _this = this, _null = null,
        styleRule = _this._atRootExcludingStyleRule ? _null : _this._styleRuleIgnoringAtRoot;
      if (styleRule == null || _this._declarationName != null)
        throw A.wrapException(_this._evaluate$_exception$2(string$.x40exten, node.span));
      for (t1 = styleRule.originalSelector.components, t2 = t1.length, t3 = node.span, t4 = type$.SourceSpan, t5 = type$.String, _i = 0; _i < t2; ++_i) {
        complex = t1[_i];
        if (!complex.accept$1(B._IsBogusVisitor_true))
          continue;
        visitor = A._SerializeVisitor$(_null, true, _null, true, false, _null, true);
        complex.accept$1(visitor);
        t6 = B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0));
        t7 = complex.accept$1(B.C__IsUselessVisitor) ? "can't" : "shouldn't";
        _this._warn$3('The selector "' + t6 + '" is invalid CSS and ' + t7 + string$.x20be_an, new A.MultiSpan(A.SpanExtensions_trimRight(complex.span), "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t3, "@extend rule"], t4, t5), t4, t5)), B.Deprecation_ido);
      }
      _0_0 = _this._performInterpolationWithMap$2$warnForColor(node.selector, true);
      for (t1 = A.SelectorList_SelectorList$parse(A.trimAscii(_0_0._0, true), false, _0_0._1, _this._evaluate$_logger, false).components, t2 = t1.length, t3 = styleRule._style_rule$_selector._box$_inner, _i = 0; _i < t2; ++_i) {
        complex = t1[_i];
        compound = complex.get$singleCompound();
        if (compound == null)
          throw A.wrapException(A.SassFormatException$("complex selectors may not be extended.", complex.span, _null));
        t4 = compound.components;
        t5 = t4.length === 1 ? B.JSArray_methods.get$first(t4) : _null;
        if (t5 == null)
          throw A.wrapException(A.SassFormatException$(string$.compou + B.JSArray_methods.join$1(t4, ", ") + string$.x60_inst, compound.span, _null));
        _this._assertInModule$2(_this.__extensionStore, "_extensionStore").addExtension$4(t3.value, t5, node, _this._mediaQueries);
      }
      return _null;
    },
    visitAtRule$1(node) {
      var $name, value, children, wasInKeyframes, wasInUnknownAtRule, _this = this;
      if (_this._declarationName != null)
        throw A.wrapException(_this._evaluate$_exception$2(string$.At_rul, node.span));
      $name = _this._interpolationToValue$1(node.name);
      value = A.NullableExtension_andThen(node.value, new A._EvaluateVisitor_visitAtRule_closure(_this));
      children = node.children;
      if (children == null) {
        _this._assertInModule$2(_this.__parent, "__parent").addChild$1(A.ModifiableCssAtRule$($name, node.span, true, value));
        return null;
      }
      wasInKeyframes = _this._inKeyframes;
      wasInUnknownAtRule = _this._inUnknownAtRule;
      if (A.unvendor($name.value) === "keyframes")
        _this._inKeyframes = true;
      else
        _this._inUnknownAtRule = true;
      _this._withParent$2$4$scopeWhen$through(A.ModifiableCssAtRule$($name, node.span, false, value), new A._EvaluateVisitor_visitAtRule_closure0(_this, $name, children), node.hasDeclarations, new A._EvaluateVisitor_visitAtRule_closure1(), type$.ModifiableCssAtRule, type$.Null);
      _this._inUnknownAtRule = wasInUnknownAtRule;
      _this._inKeyframes = wasInKeyframes;
      return null;
    },
    visitForRule$1(node) {
      var _this = this, t1 = {},
        t2 = node.from,
        fromNumber = _this._addExceptionSpan$2(t2, new A._EvaluateVisitor_visitForRule_closure(_this, node)),
        t3 = node.to,
        toNumber = _this._addExceptionSpan$2(t3, new A._EvaluateVisitor_visitForRule_closure0(_this, node)),
        from = _this._addExceptionSpan$2(t2, new A._EvaluateVisitor_visitForRule_closure1(fromNumber)),
        to = t1.to = _this._addExceptionSpan$2(t3, new A._EvaluateVisitor_visitForRule_closure2(toNumber, fromNumber)),
        direction = from > to ? -1 : 1;
      if (from === (!node.isExclusive ? t1.to = to + direction : to))
        return null;
      return _this._environment.scope$1$2$semiGlobal(new A._EvaluateVisitor_visitForRule_closure3(t1, _this, node, from, direction, fromNumber), true, type$.nullable_Value);
    },
    visitForwardRule$1(node) {
      var newConfiguration, t4, _i, variable, $name, _this = this,
        _s8_ = "@forward",
        oldConfiguration = _this._configuration,
        adjustedConfiguration = oldConfiguration.throughForward$1(node),
        t1 = node.configuration,
        t2 = t1.length,
        t3 = node.url;
      if (t2 !== 0) {
        newConfiguration = _this._addForwardConfiguration$2(adjustedConfiguration, node);
        _this._loadModule$5$configuration(t3, _s8_, node, new A._EvaluateVisitor_visitForwardRule_closure(_this, node), newConfiguration);
        t3 = type$.String;
        t4 = A.LinkedHashSet_LinkedHashSet$_empty(t3);
        for (_i = 0; _i < t2; ++_i) {
          variable = t1[_i];
          if (!variable.isGuarded)
            t4.add$1(0, variable.name);
        }
        _this._removeUsedConfiguration$3$except(adjustedConfiguration, newConfiguration, t4);
        t3 = A.LinkedHashSet_LinkedHashSet$_empty(t3);
        for (_i = 0; _i < t2; ++_i)
          t3.add$1(0, t1[_i].name);
        for (t1 = newConfiguration._configuration$_values, t2 = J.toList$0$ax(t1.get$keys(t1)), t4 = t2.length, _i = 0; _i < t2.length; t2.length === t4 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
          $name = t2[_i];
          if (!t3.contains$1(0, $name))
            if (!t1.get$isEmpty(t1))
              t1.remove$1(0, $name);
        }
        _this._assertConfigurationIsEmpty$1(newConfiguration);
      } else {
        _this._configuration = adjustedConfiguration;
        _this._loadModule$4(t3, _s8_, node, new A._EvaluateVisitor_visitForwardRule_closure0(_this, node));
        _this._configuration = oldConfiguration;
      }
      return null;
    },
    _addForwardConfiguration$2(configuration, node) {
      var t2, t3, _i, variable, t4, oldValue, t5, variableNodeWithSpan, _null = null,
        t1 = configuration._configuration$_values,
        newValues = A.LinkedHashMap_LinkedHashMap$of(new A.UnmodifiableMapView(t1, type$.UnmodifiableMapView_String_ConfiguredValue), type$.String, type$.ConfiguredValue);
      for (t2 = node.configuration, t3 = t2.length, _i = 0; _i < t3; ++_i) {
        variable = t2[_i];
        if (variable.isGuarded) {
          t4 = variable.name;
          oldValue = t1.get$isEmpty(t1) ? _null : t1.remove$1(0, t4);
          if (oldValue != null)
            t5 = !oldValue.value.$eq(0, B.C__SassNull);
          else {
            oldValue = _null;
            t5 = false;
          }
          if (t5) {
            newValues.$indexSet(0, t4, oldValue);
            continue;
          }
        }
        t4 = variable.expression;
        variableNodeWithSpan = this._expressionNode$1(t4);
        newValues.$indexSet(0, variable.name, new A.ConfiguredValue(this._withoutSlash$2(t4.accept$1(this), variableNodeWithSpan), variable.span, variableNodeWithSpan));
      }
      if (configuration instanceof A.ExplicitConfiguration || t1.get$isEmpty(t1))
        return new A.ExplicitConfiguration(node, newValues, _null);
      else
        return new A.Configuration(newValues, _null);
    },
    _registerCommentsForModule$1(module) {
      var _this = this, _s5_ = "_root",
        t1 = _this.__root;
      if (t1 == null)
        return;
      if (_this._assertInModule$2(t1, _s5_).children.get$length(0) === 0 || !module.get$transitivelyContainsCss())
        return;
      t1 = _this._preModuleComments;
      if (t1 == null)
        t1 = _this._preModuleComments = A.LinkedHashMap_LinkedHashMap$_empty(type$.Module_Callable, type$.List_CssComment);
      J.addAll$1$ax(t1.putIfAbsent$2(module, new A._EvaluateVisitor__registerCommentsForModule_closure()), new A.UnmodifiableListView(J.cast$1$0$ax(_this._assertInModule$2(_this.__root, _s5_).children._collection$_source, type$.CssComment), type$.UnmodifiableListView_CssComment));
      _this._assertInModule$2(_this.__root, _s5_).clearChildren$0();
      _this.__endOfImports = 0;
    },
    _removeUsedConfiguration$3$except(upstream, downstream, except) {
      var t1, t2, t3, t4, _i, $name;
      for (t1 = upstream._configuration$_values, t2 = J.toList$0$ax(t1.get$keys(t1)), t3 = t2.length, t4 = downstream._configuration$_values, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        $name = t2[_i];
        if (except.contains$1(0, $name))
          continue;
        if (!t4.containsKey$1($name))
          if (!t1.get$isEmpty(t1))
            t1.remove$1(0, $name);
      }
    },
    _assertConfigurationIsEmpty$2$nameInError(configuration, nameInError) {
      var t1, _0_0, $name, value;
      if (!(configuration instanceof A.ExplicitConfiguration))
        return;
      t1 = configuration._configuration$_values;
      if (t1.get$isEmpty(t1))
        return;
      t1 = A.MapExtensions_get_pairs(new A.UnmodifiableMapView(t1, type$.UnmodifiableMapView_String_ConfiguredValue), type$.String, type$.ConfiguredValue);
      _0_0 = t1.get$first(t1);
      $name = _0_0._0;
      value = _0_0._1;
      t1 = nameInError ? "$" + $name + string$.x20was_n : string$.This_v;
      throw A.wrapException(this._evaluate$_exception$2(t1, value.configurationSpan));
    },
    _assertConfigurationIsEmpty$1(configuration) {
      return this._assertConfigurationIsEmpty$2$nameInError(configuration, false);
    },
    visitFunctionRule$1(node) {
      var t1 = this._environment,
        t2 = t1.closure$0(),
        t3 = this._inDependency,
        t4 = t1._functions,
        index = t4.length - 1,
        t5 = node.name;
      t1._functionIndices.$indexSet(0, t5, index);
      J.$indexSet$ax(t4[index], t5, new A.UserDefinedCallable(node, t2, t3, type$.UserDefinedCallable_Environment));
      return null;
    },
    visitIfRule$1(node) {
      var t1, t2, _i, clauseToCheck,
        clause = node.lastClause;
      for (t1 = node.clauses, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        clauseToCheck = t1[_i];
        if (clauseToCheck.expression.accept$1(this).get$isTruthy()) {
          clause = clauseToCheck;
          break;
        }
      }
      return A.NullableExtension_andThen(clause, new A._EvaluateVisitor_visitIfRule_closure(this));
    },
    visitImportRule$1(node) {
      var t1, t2, t3, t4, t5, t6, _i, $import, t7, _0_0, $self, t8, _this = this,
        _s8_ = "__parent",
        _s5_ = "_root",
        _s13_ = "_endOfImports";
      for (t1 = node.imports, t2 = t1.length, t3 = type$.CssValue_String, t4 = _this.get$_interpolationToValue(), t5 = type$.StaticImport, t6 = type$.JSArray_ModifiableCssImport, _i = 0; _i < t2; ++_i) {
        $import = t1[_i];
        if ($import instanceof A.DynamicImport)
          _this._visitDynamicImport$1($import);
        else {
          t5._as($import);
          t7 = $import.url;
          _0_0 = _this._performInterpolationHelper$3$sourceMap$warnForColor(t7, false, false);
          $self = $import.modifiers;
          t8 = $self == null ? null : t4.call$1($self);
          node = new A.ModifiableCssImport(new A.CssValue(_0_0._0, t7.span, t3), t8, $import.span);
          if (_this._assertInModule$2(_this.__parent, _s8_) !== _this._assertInModule$2(_this.__root, _s5_))
            _this._assertInModule$2(_this.__parent, _s8_).addChild$1(node);
          else if (_this._assertInModule$2(_this.__endOfImports, _s13_) === J.get$length$asx(_this._assertInModule$2(_this.__root, _s5_).children._collection$_source)) {
            t7 = _this._assertInModule$2(_this.__root, _s5_);
            node._parent = t7;
            t7 = t7._children;
            node._indexInParent = t7.length;
            t7.push(node);
            _this.__endOfImports = _this._assertInModule$2(_this.__endOfImports, _s13_) + 1;
          } else {
            t7 = _this._outOfOrderImports;
            (t7 == null ? _this._outOfOrderImports = A._setArrayType([], t6) : t7).push(node);
          }
        }
      }
      return null;
    },
    _visitDynamicImport$1($import) {
      return this._withStackFrame$3("@import", $import, new A._EvaluateVisitor__visitDynamicImport_closure(this, $import));
    },
    _loadStylesheet$4$baseUrl$forImport(url, span, baseUrl, forImport) {
      var _0_0, importCache, _1_0, importer, canonicalUrl, originalUrl, isDependency, _2_0, stylesheet, error, stackTrace, error0, stackTrace0, message, t1, t2, t3, t4, exception, message0, _this = this;
      baseUrl = baseUrl;
      try {
        _this._importSpan = span;
        _0_0 = _this._evaluate$_importCache;
        importCache = null;
        if (_0_0 != null) {
          importCache = _0_0;
          if (baseUrl == null) {
            t1 = _this._assertInModule$2(_this.__stylesheet, "_stylesheet").span;
            baseUrl = t1.get$sourceUrl(t1);
          }
          _1_0 = J.canonicalize$4$baseImporter$baseUrl$forImport$x(importCache, A.Uri_parse(url), _this._importer, baseUrl, forImport);
          importer = null;
          canonicalUrl = null;
          originalUrl = null;
          if (type$.Record_3_nullable_Object_and_nullable_Object_and_nullable_Object_originalUrl._is(_1_0)) {
            importer = _1_0._0;
            canonicalUrl = _1_0._1;
            originalUrl = _1_0._2;
            _this._loadedUrls.add$1(0, canonicalUrl);
            isDependency = _this._inDependency || !J.$eq$(importer, _this._importer);
            t1 = importCache;
            t2 = importer;
            t3 = canonicalUrl;
            t4 = originalUrl;
            _2_0 = t1.importCanonical$4$originalUrl$quiet(t2, t3, t4, _this._quietDeps && isDependency);
            stylesheet = null;
            if (_2_0 != null) {
              stylesheet = _2_0;
              t1 = stylesheet;
              t2 = importer;
              return new A._Record_3_importer_isDependency(t1, t2, isDependency);
            }
          }
        }
        t1 = B.JSString_methods.startsWith$1(url, "package:");
        if (t1)
          throw A.wrapException(string$.x22packa);
        else
          throw A.wrapException("Can't find stylesheet to import.");
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException)
          throw exception;
        else if (t1 instanceof A.ArgumentError) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          A.throwWithTrace(_this._evaluate$_exception$1(J.toString$0$(error)), error, stackTrace);
        } else {
          error0 = t1;
          stackTrace0 = A.getTraceFromException(exception);
          message = null;
          try {
            message = A._asString(J.get$message$x(error0));
          } catch (exception) {
            message0 = J.toString$0$(error0);
            message = message0;
          }
          A.throwWithTrace(_this._evaluate$_exception$1(message), error0, stackTrace0);
        }
      } finally {
        _this._importSpan = null;
      }
    },
    _loadStylesheet$3$baseUrl(url, span, baseUrl) {
      return this._loadStylesheet$4$baseUrl$forImport(url, span, baseUrl, false);
    },
    _loadStylesheet$3$forImport(url, span, forImport) {
      return this._loadStylesheet$4$baseUrl$forImport(url, span, null, forImport);
    },
    _applyMixin$5(mixin, contentCallable, $arguments, nodeWithSpan, nodeWithSpanWithoutContent) {
      var t1, _0_0, _1_8, t2, _this = this,
        _s37_ = "Mixin doesn't accept a content block.",
        _s10_ = "invocation";
      $label0$0: {
        if (mixin == null)
          throw A.wrapException(_this._evaluate$_exception$2("Undefined mixin.", nodeWithSpan.get$span(nodeWithSpan)));
        t1 = mixin instanceof A.BuiltInCallable;
        if (t1 && !mixin.acceptsContent && contentCallable != null) {
          t1 = _this._evaluateArguments$1($arguments)._values;
          _0_0 = mixin.callbackFor$2(t1[2].length, new A.MapKeySet(t1[0], type$.MapKeySet_String));
          throw A.wrapException(A.MultiSpanSassRuntimeException$(_s37_, nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent), _s10_, A.LinkedHashMap_LinkedHashMap$_literal([_0_0._0.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), _this._evaluate$_stackTrace$1(nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent)), null));
        }
        if (t1) {
          _this._environment.withContent$2(contentCallable, new A._EvaluateVisitor__applyMixin_closure(_this, $arguments, mixin, nodeWithSpanWithoutContent));
          break $label0$0;
        }
        t1 = type$.UserDefinedCallable_Environment._is(mixin);
        if (t1) {
          _1_8 = mixin.declaration;
          if (_1_8 instanceof A.MixinRule)
            t2 = !type$.MixinRule._as(_1_8).get$hasContent() && contentCallable != null;
          else
            t2 = false;
        } else
          t2 = false;
        if (t2)
          throw A.wrapException(A.MultiSpanSassRuntimeException$(_s37_, nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent), _s10_, A.LinkedHashMap_LinkedHashMap$_literal([mixin.declaration.$arguments.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), _this._evaluate$_stackTrace$1(nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent)), null));
        if (t1) {
          _this._runUserDefinedCallable$1$4($arguments, mixin, nodeWithSpanWithoutContent, new A._EvaluateVisitor__applyMixin_closure0(_this, contentCallable, mixin, nodeWithSpanWithoutContent), type$.Null);
          break $label0$0;
        }
        throw A.wrapException(A.UnsupportedError$("Unknown callable type " + mixin.toString$0(0) + "."));
      }
    },
    visitIncludeRule$1(node) {
      var _this = this,
        mixin = _this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitIncludeRule_closure(_this, node));
      if (B.JSString_methods.startsWith$1(node.originalName, "--") && mixin instanceof A.UserDefinedCallable && !B.JSString_methods.startsWith$1(mixin.declaration.originalName, "--"))
        _this._warn$3(string$.Sassx20_m, node.get$nameSpan(), B.Deprecation_HJ0);
      _this._applyMixin$5(mixin, A.NullableExtension_andThen(node.content, new A._EvaluateVisitor_visitIncludeRule_closure0(_this)), node.$arguments, node, new A._FakeAstNode(new A._EvaluateVisitor_visitIncludeRule_closure1(node)));
      return null;
    },
    visitMixinRule$1(node) {
      var t1 = this._environment,
        t2 = t1.closure$0(),
        t3 = this._inDependency,
        t4 = t1._mixins,
        index = t4.length - 1,
        t5 = node.name;
      t1._mixinIndices.$indexSet(0, t5, index);
      J.$indexSet$ax(t4[index], t5, new A.UserDefinedCallable(node, t2, t3, type$.UserDefinedCallable_Environment));
      return null;
    },
    visitLoudComment$1(node) {
      var t1, _this = this,
        _s8_ = "__parent",
        _s13_ = "_endOfImports";
      if (_this._inFunction)
        return null;
      if (_this._assertInModule$2(_this.__parent, _s8_) === _this._assertInModule$2(_this.__root, "_root") && _this._assertInModule$2(_this.__endOfImports, _s13_) === J.get$length$asx(_this._assertInModule$2(_this.__root, "_root").children._collection$_source))
        _this.__endOfImports = _this._assertInModule$2(_this.__endOfImports, _s13_) + 1;
      t1 = node.text;
      _this._assertInModule$2(_this.__parent, _s8_).addChild$1(new A.ModifiableCssComment(_this._performInterpolation$1(t1), t1.span));
      return null;
    },
    visitMediaRule$1(node) {
      var _0_0, queries, mergedQueries, t1, mergedSources, t2, t3, _this = this;
      if (_this._declarationName != null)
        throw A.wrapException(_this._evaluate$_exception$2(string$.Media_, node.span));
      _0_0 = _this._performInterpolationWithMap$2$warnForColor(node.query, true);
      queries = A.CssMediaQuery_parseList(_0_0._0, _0_0._1, _this._evaluate$_logger);
      mergedQueries = A.NullableExtension_andThen(_this._mediaQueries, new A._EvaluateVisitor_visitMediaRule_closure(_this, queries));
      t1 = mergedQueries == null;
      if (!t1 && J.get$isEmpty$asx(mergedQueries))
        return null;
      if (t1)
        mergedSources = B.Set_empty1;
      else {
        t2 = _this._mediaQuerySources;
        t2.toString;
        t2 = A.LinkedHashSet_LinkedHashSet$of(t2, type$.CssMediaQuery);
        t3 = _this._mediaQueries;
        t3.toString;
        t2.addAll$1(0, t3);
        t2.addAll$1(0, queries);
        mergedSources = t2;
      }
      t1 = t1 ? queries : mergedQueries;
      _this._withParent$2$4$scopeWhen$through(A.ModifiableCssMediaRule$(t1, node.span), new A._EvaluateVisitor_visitMediaRule_closure0(_this, mergedQueries, queries, mergedSources, node), node.hasDeclarations, new A._EvaluateVisitor_visitMediaRule_closure1(mergedSources), type$.ModifiableCssMediaRule, type$.Null);
      return null;
    },
    _mergeMediaQueries$2(queries1, queries2) {
      var t1, t2, t3, t4, _0_0, t5, result,
        queries = A._setArrayType([], type$.JSArray_CssMediaQuery);
      for (t1 = J.get$iterator$ax(queries1), t2 = J.getInterceptor$ax(queries2); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        for (t4 = t2.get$iterator(queries2); t4.moveNext$0();)
          $label0$1: {
            _0_0 = t3.merge$1(t4.get$current(t4));
            if (B._SingletonCssMediaQueryMergeResult_0 === _0_0)
              continue;
            if (B._SingletonCssMediaQueryMergeResult_1 === _0_0)
              return null;
            t5 = _0_0 instanceof A.MediaQuerySuccessfulMergeResult;
            result = t5 ? _0_0 : null;
            if (t5)
              queries.push(result.query);
            break $label0$1;
          }
      }
      return queries;
    },
    visitReturnRule$1(node) {
      var t1 = node.expression;
      return this._withoutSlash$2(t1.accept$1(this), t1);
    },
    visitSilentComment$1(node) {
      return null;
    },
    visitStyleRule$1(node) {
      var t1, _0_0, selectorText, selectorMap, parsedSelector, nest, t2, _i, _1_0, first, t3, rule, oldAtRootExcludingStyleRule, _this = this, _null = null,
        _s8_ = "__parent",
        _s11_ = "_stylesheet";
      if (_this._declarationName != null)
        throw A.wrapException(_this._evaluate$_exception$2(string$.Style_n, node.span));
      else if (_this._inKeyframes && _this._assertInModule$2(_this.__parent, _s8_) instanceof A.ModifiableCssKeyframeBlock)
        throw A.wrapException(_this._evaluate$_exception$2(string$.Style_k, node.span));
      t1 = node.selector;
      _0_0 = _this._performInterpolationWithMap$2$warnForColor(t1, true);
      selectorText = _0_0._0;
      selectorMap = _0_0._1;
      if (_this._inKeyframes) {
        _this._withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$(new A.CssValue(A.List_List$unmodifiable(A.KeyframeSelectorParser$(selectorText, selectorMap, _this._evaluate$_logger).parse$0(), type$.String), t1.span, type$.CssValue_List_String), node.span), new A._EvaluateVisitor_visitStyleRule_closure(_this, node), node.hasDeclarations, new A._EvaluateVisitor_visitStyleRule_closure0(), type$.ModifiableCssKeyframeBlock, type$.Null);
        return _null;
      }
      parsedSelector = A.SelectorList_SelectorList$parse(selectorText, true, selectorMap, _this._evaluate$_logger, _this._assertInModule$2(_this.__stylesheet, _s11_).plainCss);
      t1 = _this._atRootExcludingStyleRule ? _null : _this._styleRuleIgnoringAtRoot;
      t1 = t1 == null ? _null : t1.fromPlainCss;
      nest = t1 !== true;
      if (nest) {
        if (_this._assertInModule$2(_this.__stylesheet, _s11_).plainCss)
          for (t1 = parsedSelector.components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
            _1_0 = t1[_i].leadingCombinators;
            if (_1_0.length >= 1) {
              first = _1_0[0];
              t3 = _this._assertInModule$2(_this.__stylesheet, _s11_);
              t3 = t3.plainCss;
            } else {
              first = _null;
              t3 = false;
            }
            if (t3)
              throw A.wrapException(_this._evaluate$_exception$2(string$.Top_lel, first.span));
          }
        t1 = _this._styleRuleIgnoringAtRoot;
        t1 = t1 == null ? _null : t1.originalSelector;
        parsedSelector = parsedSelector.nestWithin$3$implicitParent$preserveParentSelectors(t1, !_this._atRootExcludingStyleRule, _this._assertInModule$2(_this.__stylesheet, _s11_).plainCss);
      }
      rule = A.ModifiableCssStyleRule$(_this._assertInModule$2(_this.__extensionStore, "_extensionStore").addSelector$2(parsedSelector, _this._mediaQueries), node.span, _this._assertInModule$2(_this.__stylesheet, _s11_).plainCss, parsedSelector);
      oldAtRootExcludingStyleRule = _this._atRootExcludingStyleRule;
      t1 = _this._atRootExcludingStyleRule = false;
      t2 = nest ? new A._EvaluateVisitor_visitStyleRule_closure1() : _null;
      _this._withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitStyleRule_closure2(_this, rule, node), node.hasDeclarations, t2, type$.ModifiableCssStyleRule, type$.Null);
      _this._atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
      _this._warnForBogusCombinators$1(rule);
      if ((_this._atRootExcludingStyleRule ? _null : _this._styleRuleIgnoringAtRoot) == null) {
        t1 = _this._assertInModule$2(_this.__parent, _s8_).children;
        t1 = !t1.get$isEmpty(t1);
      }
      if (t1) {
        t1 = _this._assertInModule$2(_this.__parent, _s8_).children;
        t1.get$last(t1).isGroupEnd = true;
      }
      return _null;
    },
    _warnForBogusCombinators$1(rule) {
      var t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, t8, t9, _this = this, _null = null;
      if (!rule.accept$1(B._IsInvisibleVisitor_false_false))
        for (t1 = rule._style_rule$_selector._box$_inner.value.components, t2 = t1.length, t3 = type$.SourceSpan, t4 = type$.String, t5 = rule.children, _i = 0; _i < t2; ++_i) {
          complex = t1[_i];
          if (!complex.accept$1(B._IsBogusVisitor_true))
            continue;
          if (complex.accept$1(B.C__IsUselessVisitor)) {
            visitor = A._SerializeVisitor$(_null, true, _null, true, false, _null, true);
            complex.accept$1(visitor);
            _this._warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)) + string$.x22x20is_ix20, A.SpanExtensions_trimRight(complex.span), B.Deprecation_ido);
          } else if (complex.leadingCombinators.length !== 0) {
            if (!_this._assertInModule$2(_this.__stylesheet, "_stylesheet").plainCss) {
              visitor = A._SerializeVisitor$(_null, true, _null, true, false, _null, true);
              complex.accept$1(visitor);
              _this._warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)) + string$.x22x20is_ix0a, A.SpanExtensions_trimRight(complex.span), B.Deprecation_ido);
            }
          } else {
            visitor = A._SerializeVisitor$(_null, true, _null, true, false, _null, true);
            complex.accept$1(visitor);
            t6 = B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0));
            t7 = complex.accept$1(B._IsBogusVisitor_false) ? string$.x20It_wi : "";
            t8 = A.SpanExtensions_trimRight(complex.span);
            if (t5.get$length(0) === 0)
              A.throwExpression(A.IterableElementError_noElement());
            t9 = J.get$span$z(t5.$index(0, 0));
            _this._warn$3('The selector "' + t6 + string$.x22x20is_o + t7 + string$.x0aThis_, new A.MultiSpan(t8, "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t9, "this is not a style rule" + (t5.every$1(t5, new A._EvaluateVisitor__warnForBogusCombinators_closure()) ? "\n(try converting to a //-style comment)" : "")], t3, t4), t3, t4)), B.Deprecation_ido);
          }
        }
    },
    visitSupportsRule$1(node) {
      var t1, _this = this;
      if (_this._declarationName != null)
        throw A.wrapException(_this._evaluate$_exception$2(string$.Suppor, node.span));
      t1 = node.condition;
      _this._withParent$2$4$scopeWhen$through(A.ModifiableCssSupportsRule$(new A.CssValue(_this._visitSupportsCondition$1(t1), t1.get$span(t1), type$.CssValue_String), node.span), new A._EvaluateVisitor_visitSupportsRule_closure(_this, node), node.hasDeclarations, new A._EvaluateVisitor_visitSupportsRule_closure0(), type$.ModifiableCssSupportsRule, type$.Null);
      return null;
    },
    _visitSupportsCondition$1(condition) {
      var t1, _this = this, _box_0 = {};
      $label0$0: {
        if (condition instanceof A.SupportsOperation) {
          t1 = condition.operator;
          t1 = _this._parenthesize$2(condition.left, t1) + " " + t1 + " " + _this._parenthesize$2(condition.right, t1);
          break $label0$0;
        }
        if (condition instanceof A.SupportsNegation) {
          t1 = "not " + _this._parenthesize$1(condition.condition);
          break $label0$0;
        }
        if (condition instanceof A.SupportsInterpolation) {
          t1 = condition.expression;
          t1 = _this._evaluate$_serialize$3$quote(t1.accept$1(_this), t1, false);
          break $label0$0;
        }
        _box_0.declaration = null;
        if (condition instanceof A.SupportsDeclaration) {
          _box_0.declaration = condition;
          t1 = _this._withSupportsDeclaration$1(new A._EvaluateVisitor__visitSupportsCondition_closure(_box_0, _this));
          break $label0$0;
        }
        if (condition instanceof A.SupportsFunction) {
          t1 = _this._performInterpolation$1(condition.name) + "(" + _this._performInterpolation$1(condition.$arguments) + ")";
          break $label0$0;
        }
        if (condition instanceof A.SupportsAnything) {
          t1 = "(" + _this._performInterpolation$1(condition.contents) + ")";
          break $label0$0;
        }
        t1 = A.throwExpression(A.ArgumentError$("Unknown supports condition type " + A.getRuntimeTypeOfDartObject(condition).toString$0(0) + ".", null));
      }
      return t1;
    },
    _withSupportsDeclaration$1$1(callback) {
      var t1,
        oldInSupportsDeclaration = this._inSupportsDeclaration;
      this._inSupportsDeclaration = true;
      try {
        t1 = callback.call$0();
        return t1;
      } finally {
        this._inSupportsDeclaration = oldInSupportsDeclaration;
      }
    },
    _withSupportsDeclaration$1(callback) {
      return this._withSupportsDeclaration$1$1(callback, type$.dynamic);
    },
    _parenthesize$2(condition, operator) {
      var t1;
      if (!(condition instanceof A.SupportsNegation))
        if (condition instanceof A.SupportsOperation)
          t1 = operator == null || operator !== condition.operator;
        else
          t1 = false;
      else
        t1 = true;
      if (t1)
        return "(" + this._visitSupportsCondition$1(condition) + ")";
      return this._visitSupportsCondition$1(condition);
    },
    _parenthesize$1(condition) {
      return this._parenthesize$2(condition, null);
    },
    visitVariableDeclaration$1(node) {
      var t2, value, _this = this, _null = null, t1 = {};
      if (node.isGuarded) {
        if (node.namespace == null && _this._environment._variables.length === 1) {
          t2 = _this._configuration._configuration$_values;
          t2 = t2.get$isEmpty(t2) ? _null : t2.remove$1(0, node.name);
          t1.override = null;
          if (t2 != null) {
            t1.override = t2;
            t2 = !t2.value.$eq(0, B.C__SassNull);
          } else
            t2 = false;
          if (t2) {
            _this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableDeclaration_closure(t1, _this, node));
            return _null;
          }
        }
        value = _this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableDeclaration_closure0(_this, node));
        if (value != null && !value.$eq(0, B.C__SassNull))
          return _null;
      }
      if (node.isGlobal && !_this._environment.globalVariableExists$1(node.name)) {
        t1 = _this._environment._variables.length === 1 ? string$.As_of_S : string$.As_of_R + A.declarationName(node.span) + ": null` at the stylesheet root.";
        _this._warn$3(t1, node.span, B.Deprecation_2nU);
      }
      t1 = node.expression;
      _this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableDeclaration_closure1(_this, node, _this._withoutSlash$2(t1.accept$1(_this), t1)));
      return _null;
    },
    visitUseRule$1(node) {
      var values, _i, variable, t3, variableNodeWithSpan, configuration, _this = this,
        t1 = node.configuration,
        t2 = t1.length;
      if (t2 !== 0) {
        values = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ConfiguredValue);
        for (_i = 0; _i < t2; ++_i) {
          variable = t1[_i];
          t3 = variable.expression;
          variableNodeWithSpan = _this._expressionNode$1(t3);
          values.$indexSet(0, variable.name, new A.ConfiguredValue(_this._withoutSlash$2(t3.accept$1(_this), variableNodeWithSpan), variable.span, variableNodeWithSpan));
        }
        configuration = new A.ExplicitConfiguration(node, values, null);
      } else
        configuration = B.Configuration_Map_empty_null;
      _this._loadModule$5$configuration(node.url, "@use", node, new A._EvaluateVisitor_visitUseRule_closure(_this, node), configuration);
      _this._assertConfigurationIsEmpty$1(configuration);
      return null;
    },
    visitWarnRule$1(node) {
      var _this = this,
        value = _this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitWarnRule_closure(_this, node)),
        t1 = value instanceof A.SassString ? value._string$_text : _this._evaluate$_serialize$2(value, node.expression);
      _this._evaluate$_logger.warn$2$trace(0, t1, _this._evaluate$_stackTrace$1(node.span));
      return null;
    },
    visitWhileRule$1(node) {
      return this._environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitWhileRule_closure(this, node), true, node.hasDeclarations, type$.nullable_Value);
    },
    visitBinaryOperationExpression$1(node) {
      var t1, _this = this;
      if (_this._assertInModule$2(_this.__stylesheet, "_stylesheet").plainCss) {
        t1 = node.operator;
        t1 = t1 !== B.BinaryOperator_wdM && t1 !== B.BinaryOperator_U77;
      } else
        t1 = false;
      if (t1)
        throw A.wrapException(_this._evaluate$_exception$2("Operators aren't allowed in plain CSS.", node.get$operatorSpan()));
      return _this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitBinaryOperationExpression_closure(_this, node));
    },
    _slash$3(left, right, node) {
      var t1, right0, _1_2, _1_1, _null = null,
        result = left.dividedBy$1(right),
        _1_2_isSet = left instanceof A.SassNumber;
      if (_1_2_isSet) {
        t1 = type$.SassNumber;
        t1._as(left);
        if (right instanceof A.SassNumber) {
          t1._as(right);
          t1 = node.allowsSlash && this._operandAllowsSlash$1(node.left) && this._operandAllowsSlash$1(node.right);
          right0 = right;
          _1_2 = right0;
        } else {
          right0 = _null;
          _1_2 = right;
          t1 = false;
        }
        _1_1 = left;
      } else {
        right0 = _null;
        _1_2 = right0;
        _1_1 = left;
        left = _1_2;
        t1 = false;
      }
      if (t1)
        return type$.SassNumber._as(result).withSlash$2(left, right0);
      if (_1_1 instanceof A.SassNumber)
        t1 = (_1_2_isSet ? _1_2 : right) instanceof A.SassNumber;
      else
        t1 = false;
      if (t1) {
        this._warn$3(string$.Using__o + A.S(new A._EvaluateVisitor__slash_recommendation().call$1(node)) + " or " + A.expressionToCalc(node).toString$0(0) + string$.x0a_Morex20, node.get$span(0), B.Deprecation_oJv);
        return result;
      }
      return result;
    },
    _operandAllowsSlash$1(node) {
      var t1;
      if (node instanceof A.FunctionExpression)
        if (node.namespace == null) {
          t1 = node.name;
          t1 = B.Set_yHF81.contains$1(0, t1.toLowerCase()) && this._environment.getFunction$1(t1) == null;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    visitValueExpression$1(node) {
      return node.value;
    },
    visitVariableExpression$1(node) {
      var result = this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableExpression_closure(this, node));
      if (result != null)
        return result;
      throw A.wrapException(this._evaluate$_exception$2("Undefined variable.", node.span));
    },
    visitUnaryOperationExpression$1(node) {
      return this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitUnaryOperationExpression_closure(node, node.operand.accept$1(this)));
    },
    visitBooleanExpression$1(node) {
      return node.value ? B.SassBoolean_true : B.SassBoolean_false;
    },
    visitIfExpression$1(node) {
      var condition, t1, ifTrue, ifFalse, result, _this = this,
        _0_0 = _this._evaluateMacroArguments$1(node),
        positional = _0_0._0,
        named = _0_0._1;
      _this._verifyArguments$4(positional.length, named, $.$get$IfExpression_declaration(), node);
      condition = A.ListExtensions_elementAtOrNull(positional, 0);
      if (condition == null) {
        t1 = named.$index(0, "condition");
        t1.toString;
        condition = t1;
      }
      ifTrue = A.ListExtensions_elementAtOrNull(positional, 1);
      if (ifTrue == null) {
        t1 = named.$index(0, "if-true");
        t1.toString;
        ifTrue = t1;
      }
      ifFalse = A.ListExtensions_elementAtOrNull(positional, 2);
      if (ifFalse == null) {
        t1 = named.$index(0, "if-false");
        t1.toString;
        ifFalse = t1;
      }
      result = condition.accept$1(_this).get$isTruthy() ? ifTrue : ifFalse;
      return _this._withoutSlash$2(result.accept$1(_this), _this._expressionNode$1(result));
    },
    visitNullExpression$1(node) {
      return B.C__SassNull;
    },
    visitNumberExpression$1(node) {
      return A.SassNumber_SassNumber(node.value, node.unit);
    },
    visitParenthesizedExpression$1(node) {
      var _this = this;
      return _this._assertInModule$2(_this.__stylesheet, "_stylesheet").plainCss ? A.throwExpression(_this._evaluate$_exception$2("Parentheses aren't allowed in plain CSS.", node.span)) : node.expression.accept$1(_this);
    },
    visitColorExpression$1(node) {
      return node.value;
    },
    visitListExpression$1(node) {
      var t1 = node.contents;
      return A.SassList$(new A.MappedListIterable(t1, new A._EvaluateVisitor_visitListExpression_closure(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value>")), node.separator, node.hasBrackets);
    },
    visitMapExpression$1(node) {
      var t2, t3, _i, t4, key, value, keyValue, valueValue, oldValueSpan,
        t1 = type$.Value,
        map = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1),
        keyNodes = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AstNode);
      for (t2 = node.pairs, t3 = t2.length, _i = 0; _i < t3; ++_i) {
        t4 = t2[_i];
        key = t4._0;
        value = t4._1;
        keyValue = key.accept$1(this);
        valueValue = value.accept$1(this);
        if (map.containsKey$1(keyValue)) {
          t1 = keyNodes.$index(0, keyValue);
          oldValueSpan = t1 == null ? null : t1.get$span(t1);
          t1 = key.get$span(key);
          t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
          if (oldValueSpan != null)
            t2.$indexSet(0, oldValueSpan, "first key");
          throw A.wrapException(A.MultiSpanSassRuntimeException$("Duplicate key.", t1, "second key", t2, this._evaluate$_stackTrace$1(key.get$span(key)), null));
        }
        map.$indexSet(0, keyValue, valueValue);
        keyNodes.$indexSet(0, keyValue, key);
      }
      return new A.SassMap(A.ConstantMap_ConstantMap$from(map, t1, t1));
    },
    visitFunctionExpression$1(node) {
      var t2, _0_0, t3, t4, oldInFunction, result, _this = this,
        _s11_ = "_stylesheet",
        t1 = {},
        $function = _this._assertInModule$2(_this.__stylesheet, _s11_).plainCss ? null : _this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitFunctionExpression_closure(_this, node));
      t1.$function = $function;
      if ($function == null) {
        if (node.namespace != null)
          throw A.wrapException(_this._evaluate$_exception$2("Undefined function.", node.span));
        t2 = node.name;
        _0_0 = t2.toLowerCase();
        if ("min" === _0_0 || "max" === _0_0 || "round" === _0_0 || "abs" === _0_0) {
          t3 = node.$arguments;
          t4 = t3.named;
          t3 = t4.get$isEmpty(t4) && t3.rest == null && B.JSArray_methods.every$1(t3.positional, new A._EvaluateVisitor_visitFunctionExpression_closure0());
        } else
          t3 = false;
        if (t3)
          return _this._visitCalculation$2$inLegacySassFunction(node, true);
        if ("calc" === _0_0 || "clamp" === _0_0 || "hypot" === _0_0 || "sin" === _0_0 || "cos" === _0_0 || "tan" === _0_0 || "asin" === _0_0 || "acos" === _0_0 || "atan" === _0_0 || "sqrt" === _0_0 || "exp" === _0_0 || "sign" === _0_0 || "mod" === _0_0 || "rem" === _0_0 || "atan2" === _0_0 || "pow" === _0_0 || "log" === _0_0)
          return _this._visitCalculation$1(node);
        $function = _this._assertInModule$2(_this.__stylesheet, _s11_).plainCss ? null : _this._builtInFunctions.$index(0, t2);
        t2 = t1.$function = $function == null ? new A.PlainCssCallable(node.originalName) : $function;
      } else
        t2 = $function;
      if (B.JSString_methods.startsWith$1(node.originalName, "--") && t2 instanceof A.UserDefinedCallable && !B.JSString_methods.startsWith$1(t2.declaration.originalName, "--"))
        _this._warn$3(string$.Sassx20_ff, node.get$nameSpan(), B.Deprecation_HJ0);
      oldInFunction = _this._inFunction;
      _this._inFunction = true;
      result = _this._addErrorSpan$2(node, new A._EvaluateVisitor_visitFunctionExpression_closure1(t1, _this, node));
      _this._inFunction = oldInFunction;
      return result;
    },
    _visitCalculation$2$inLegacySassFunction(node, inLegacySassFunction) {
      var $arguments, oldCallableNode, t1, _0_0, error, stackTrace, t4, _i, exception, _this = this,
        t2 = node.$arguments,
        t3 = t2.named;
      if (t3.get$isNotEmpty(t3))
        throw A.wrapException(_this._evaluate$_exception$2(string$.Keywor, node.span));
      else if (t2.rest != null)
        throw A.wrapException(_this._evaluate$_exception$2(string$.Rest_a, node.span));
      _this._checkCalculationArguments$1(node);
      t3 = A._setArrayType([], type$.JSArray_Object);
      for (t2 = t2.positional, t4 = t2.length, _i = 0; _i < t4; ++_i)
        t3.push(_this._visitCalculationExpression$2$inLegacySassFunction(t2[_i], inLegacySassFunction));
      $arguments = t3;
      if (_this._inSupportsDeclaration)
        return new A.SassCalculation(node.name, A.List_List$unmodifiable($arguments, type$.Object));
      oldCallableNode = _this._callableNode;
      _this._callableNode = node;
      try {
        t1 = null;
        t3 = node.name;
        _0_0 = t3.toLowerCase();
        $label0$0: {
          if ("calc" === _0_0) {
            t1 = A.SassCalculation_calc(J.$index$asx($arguments, 0));
            break $label0$0;
          }
          if ("sqrt" === _0_0) {
            t1 = A.SassCalculation__singleArgument("sqrt", J.$index$asx($arguments, 0), A.number0__sqrt$closure(), true);
            break $label0$0;
          }
          if ("sin" === _0_0) {
            t1 = A.SassCalculation__singleArgument("sin", J.$index$asx($arguments, 0), A.number0__sin$closure(), false);
            break $label0$0;
          }
          if ("cos" === _0_0) {
            t1 = A.SassCalculation__singleArgument("cos", J.$index$asx($arguments, 0), A.number0__cos$closure(), false);
            break $label0$0;
          }
          if ("tan" === _0_0) {
            t1 = A.SassCalculation__singleArgument("tan", J.$index$asx($arguments, 0), A.number0__tan$closure(), false);
            break $label0$0;
          }
          if ("asin" === _0_0) {
            t1 = A.SassCalculation__singleArgument("asin", J.$index$asx($arguments, 0), A.number0__asin$closure(), true);
            break $label0$0;
          }
          if ("acos" === _0_0) {
            t1 = A.SassCalculation__singleArgument("acos", J.$index$asx($arguments, 0), A.number0__acos$closure(), true);
            break $label0$0;
          }
          if ("atan" === _0_0) {
            t1 = A.SassCalculation__singleArgument("atan", J.$index$asx($arguments, 0), A.number0__atan$closure(), true);
            break $label0$0;
          }
          if ("abs" === _0_0) {
            t1 = A.SassCalculation_abs(J.$index$asx($arguments, 0));
            break $label0$0;
          }
          if ("exp" === _0_0) {
            t1 = A.SassCalculation_exp(J.$index$asx($arguments, 0));
            break $label0$0;
          }
          if ("sign" === _0_0) {
            t1 = A.SassCalculation_sign(J.$index$asx($arguments, 0));
            break $label0$0;
          }
          if ("min" === _0_0) {
            t1 = A.SassCalculation_min($arguments);
            break $label0$0;
          }
          if ("max" === _0_0) {
            t1 = A.SassCalculation_max($arguments);
            break $label0$0;
          }
          if ("hypot" === _0_0) {
            t1 = A.SassCalculation_hypot($arguments);
            break $label0$0;
          }
          if ("pow" === _0_0) {
            t1 = A.SassCalculation_pow(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
            break $label0$0;
          }
          if ("atan2" === _0_0) {
            t1 = A.SassCalculation_atan2(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
            break $label0$0;
          }
          if ("log" === _0_0) {
            t1 = A.SassCalculation_log(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
            break $label0$0;
          }
          if ("mod" === _0_0) {
            t1 = A.SassCalculation_mod(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
            break $label0$0;
          }
          if ("rem" === _0_0) {
            t1 = A.SassCalculation_rem(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
            break $label0$0;
          }
          if ("round" === _0_0) {
            t1 = A.SassCalculation_round(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1), A.ListExtensions_elementAtOrNull($arguments, 2));
            break $label0$0;
          }
          if ("clamp" === _0_0) {
            t1 = A.SassCalculation_clamp(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1), A.ListExtensions_elementAtOrNull($arguments, 2));
            break $label0$0;
          }
          t3 = A.UnsupportedError$('Unknown calculation name "' + t3 + '".');
          t1 = A.throwExpression(t3);
        }
        t1 = t1;
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassScriptException) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          if (B.JSString_methods.contains$1(error.message, "compatible"))
            _this._verifyCompatibleNumbers$2($arguments, t2);
          A.throwWithTrace(_this._evaluate$_exception$2(error.message, node.span), error, stackTrace);
        } else
          throw exception;
      } finally {
        _this._callableNode = oldCallableNode;
      }
    },
    _visitCalculation$1(node) {
      return this._visitCalculation$2$inLegacySassFunction(node, false);
    },
    _checkCalculationArguments$1(node) {
      var t1, _0_0,
        check = new A._EvaluateVisitor__checkCalculationArguments_check(this, node);
      $label0$0: {
        t1 = node.name;
        _0_0 = t1.toLowerCase();
        if ("calc" === _0_0 || "sqrt" === _0_0 || "sin" === _0_0 || "cos" === _0_0 || "tan" === _0_0 || "asin" === _0_0 || "acos" === _0_0 || "atan" === _0_0 || "abs" === _0_0 || "exp" === _0_0 || "sign" === _0_0) {
          check.call$1(1);
          break $label0$0;
        }
        if ("min" === _0_0 || "max" === _0_0 || "hypot" === _0_0) {
          check.call$0();
          break $label0$0;
        }
        if ("pow" === _0_0 || "atan2" === _0_0 || "log" === _0_0 || "mod" === _0_0 || "rem" === _0_0) {
          check.call$1(2);
          break $label0$0;
        }
        if ("round" === _0_0 || "clamp" === _0_0) {
          check.call$1(3);
          break $label0$0;
        }
        throw A.wrapException(A.UnsupportedError$('Unknown calculation name "' + t1 + '".'));
      }
    },
    _verifyCompatibleNumbers$2(args, nodesWithSpans) {
      var i, t1, _0_0, arg, number1, j, number2;
      for (i = 0; t1 = args.length, i < t1; ++i) {
        _0_0 = args[i];
        if (_0_0 instanceof A.SassNumber) {
          t1 = _0_0.get$hasComplexUnits();
          arg = _0_0;
        } else {
          arg = null;
          t1 = false;
        }
        if (t1)
          throw A.wrapException(this._evaluate$_exception$2("Number " + A.S(arg) + " isn't compatible with CSS calculations.", J.get$span$z(nodesWithSpans[i])));
      }
      for (i = 0; i < t1 - 1; ++i) {
        number1 = args[i];
        if (!(number1 instanceof A.SassNumber))
          continue;
        for (j = i + 1; t1 = args.length, j < t1; ++j) {
          number2 = args[j];
          if (!(number2 instanceof A.SassNumber))
            continue;
          if (number1.hasPossiblyCompatibleUnits$1(number2))
            continue;
          throw A.wrapException(A.MultiSpanSassRuntimeException$(number1.toString$0(0) + " and " + number2.toString$0(0) + " are incompatible.", J.get$span$z(nodesWithSpans[i]), number1.toString$0(0), A.LinkedHashMap_LinkedHashMap$_literal([J.get$span$z(nodesWithSpans[j]), number2.toString$0(0)], type$.FileSpan, type$.String), this._evaluate$_stackTrace$1(J.get$span$z(nodesWithSpans[i])), null));
        }
      }
    },
    _visitCalculationExpression$2$inLegacySassFunction(node, inLegacySassFunction) {
      var result, t2, _0_0, _1_0, t3, _i, i, _this = this, _null = null, _box_0 = {},
        t1 = node instanceof A.ParenthesizedExpression,
        inner = t1 ? node.expression : _null;
      if (t1) {
        result = _this._visitCalculationExpression$2$inLegacySassFunction(inner, inLegacySassFunction);
        return result instanceof A.SassString ? new A.SassString("(" + result._string$_text + ")", false) : result;
      }
      if (node instanceof A.StringExpression && node.accept$1(new A._IsCalculationSafeVisitor())) {
        t1 = node.text;
        t2 = t1.get$asPlain();
        _0_0 = t2 == null ? _null : t2.toLowerCase();
        $label0$0: {
          if ("pi" === _0_0) {
            t1 = A.SassNumber_SassNumber(3.141592653589793, _null);
            break $label0$0;
          }
          if ("e" === _0_0) {
            t1 = A.SassNumber_SassNumber(2.718281828459045, _null);
            break $label0$0;
          }
          if ("infinity" === _0_0) {
            t1 = A.SassNumber_SassNumber(1 / 0, _null);
            break $label0$0;
          }
          if ("-infinity" === _0_0) {
            t1 = A.SassNumber_SassNumber(-1 / 0, _null);
            break $label0$0;
          }
          if ("nan" === _0_0) {
            t1 = A.SassNumber_SassNumber(0 / 0, _null);
            break $label0$0;
          }
          t1 = new A.SassString(_this._performInterpolation$1(t1), false);
          break $label0$0;
        }
        return t1;
      }
      _box_0.right = _box_0.left = _box_0.operator = null;
      t1 = node instanceof A.BinaryOperationExpression;
      if (t1) {
        _box_0.operator = node.operator;
        _box_0.left = node.left;
        _box_0.right = node.right;
      }
      if (t1) {
        _this._checkWhitespaceAroundCalculationOperator$1(node);
        return _this._addExceptionSpan$2(node, new A._EvaluateVisitor__visitCalculationExpression_closure(_box_0, _this, node, inLegacySassFunction));
      }
      if (node instanceof A.NumberExpression || node instanceof A.VariableExpression || node instanceof A.FunctionExpression || node instanceof A.IfExpression) {
        _1_0 = node.accept$1(_this);
        $label1$1: {
          if (_1_0 instanceof A.SassNumber) {
            t1 = _1_0;
            break $label1$1;
          }
          if (_1_0 instanceof A.SassCalculation) {
            t1 = _1_0;
            break $label1$1;
          }
          if (_1_0 instanceof A.SassString) {
            t1 = !_1_0._hasQuotes;
            result = _1_0;
          } else {
            result = _null;
            t1 = false;
          }
          if (t1) {
            t1 = result;
            break $label1$1;
          }
          t1 = A.throwExpression(_this._evaluate$_exception$2("Value " + _1_0.toString$0(0) + " can't be used in a calculation.", node.get$span(node)));
        }
        return t1;
      }
      if (node instanceof A.ListExpression && !node.hasBrackets && B.ListSeparator_nbm === node.separator && node.contents.length >= 2) {
        t1 = A._setArrayType([], type$.JSArray_Object);
        for (t2 = node.contents, t3 = t2.length, _i = 0; _i < t3; ++_i)
          t1.push(_this._visitCalculationExpression$2$inLegacySassFunction(t2[_i], inLegacySassFunction));
        _this._checkAdjacentCalculationValues$2(t1, node);
        for (i = 0; i < t1.length; ++i) {
          t3 = t1[i];
          if (t3 instanceof A.CalculationOperation && t2[i] instanceof A.ParenthesizedExpression)
            t1[i] = new A.SassString("(" + A.S(t3) + ")", false);
        }
        return new A.SassString(B.JSArray_methods.join$1(t1, " "), false);
      }
      throw A.wrapException(_this._evaluate$_exception$2(string$.This_e, node.get$span(node)));
    },
    _checkWhitespaceAroundCalculationOperator$1(node) {
      var t2, t3, t4, textBetweenOperands, first, last,
        t1 = node.operator;
      if (t1 !== B.BinaryOperator_u15 && t1 !== B.BinaryOperator_SjO)
        return;
      t1 = node.left;
      t2 = t1.get$span(t1);
      t2 = t2.get$file(t2);
      t3 = node.right;
      t4 = t3.get$span(t3);
      if (t2 !== t4.get$file(t4))
        return;
      t2 = t1.get$span(t1);
      t2 = t2.get$end(t2);
      t4 = t3.get$span(t3);
      if (t2.offset >= t4.get$start(t4).offset)
        return;
      t2 = t1.get$span(t1);
      t2 = t2.get$file(t2);
      t1 = t1.get$span(t1);
      t1 = t1.get$end(t1);
      t3 = t3.get$span(t3);
      textBetweenOperands = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2._decodedChars, t1.offset, t3.get$start(t3).offset), 0, null);
      first = textBetweenOperands.charCodeAt(0);
      last = textBetweenOperands.charCodeAt(textBetweenOperands.length - 1);
      if (first === 32 || first === 9 || first === 10 || first === 13 || first === 12 || first === 47)
        t1 = !(last === 32 || last === 9 || last === 10 || last === 13 || last === 12 || last === 47);
      else
        t1 = true;
      if (t1)
        throw A.wrapException(this._evaluate$_exception$2(string$.x22x2b__an, node.get$operatorSpan()));
    },
    _binaryOperatorToCalculationOperator$2(operator, node) {
      var t1;
      $label0$0: {
        if (B.BinaryOperator_u15 === operator) {
          t1 = B.CalculationOperator_g2q;
          break $label0$0;
        }
        if (B.BinaryOperator_SjO === operator) {
          t1 = B.CalculationOperator_CxF;
          break $label0$0;
        }
        if (B.BinaryOperator_2No === operator) {
          t1 = B.CalculationOperator_171;
          break $label0$0;
        }
        if (B.BinaryOperator_U77 === operator) {
          t1 = B.CalculationOperator_Qf1;
          break $label0$0;
        }
        t1 = A.throwExpression(this._evaluate$_exception$2(string$.This_o, node.get$operatorSpan()));
      }
      return t1;
    },
    _checkAdjacentCalculationValues$2(elements, node) {
      var t1, i, t2, previous, current, previousNode, currentNode, _0_2;
      for (t1 = elements.length, i = 1; i < t1; ++i) {
        t2 = i - 1;
        previous = elements[t2];
        current = elements[i];
        if (previous instanceof A.SassString || current instanceof A.SassString)
          continue;
        t1 = node.contents;
        previousNode = t1[t2];
        currentNode = t1[i];
        if (currentNode instanceof A.UnaryOperationExpression) {
          _0_2 = currentNode.operator;
          if (B.UnaryOperator_AiQ !== _0_2)
            t1 = B.UnaryOperator_cLp === _0_2;
          else
            t1 = true;
        } else
          t1 = false;
        if (!t1)
          t1 = currentNode instanceof A.NumberExpression && currentNode.value < 0;
        else
          t1 = true;
        if (t1)
          throw A.wrapException(this._evaluate$_exception$2(string$.x22x2b__an, A.FileSpanExtension_subspan(currentNode.get$span(currentNode), 0, 1)));
        else
          throw A.wrapException(this._evaluate$_exception$2("Missing math operator.", previousNode.get$span(previousNode).expand$1(0, currentNode.get$span(currentNode))));
      }
    },
    visitInterpolatedFunctionExpression$1(node) {
      var result, _this = this,
        t1 = _this._performInterpolation$1(node.name),
        oldInFunction = _this._inFunction;
      _this._inFunction = true;
      result = _this._addErrorSpan$2(node, new A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure(_this, node, new A.PlainCssCallable(t1)));
      _this._inFunction = oldInFunction;
      return result;
    },
    _runUserDefinedCallable$1$4($arguments, callable, nodeWithSpan, run, $V) {
      var oldCallable, result, _this = this,
        evaluated = _this._evaluateArguments$1($arguments),
        $name = callable.declaration.name;
      if ($name !== "@content")
        $name += "()";
      oldCallable = _this._currentCallable;
      _this._currentCallable = callable;
      result = _this._withStackFrame$3($name, nodeWithSpan, new A._EvaluateVisitor__runUserDefinedCallable_closure(_this, callable, evaluated, nodeWithSpan, run, $V));
      _this._currentCallable = oldCallable;
      return result;
    },
    _runFunctionCallable$3($arguments, callable, nodeWithSpan) {
      var buffer, first, argument, restArg, rest, error, t1, t2, _i, t3, t4, exception, _this = this;
      if (callable instanceof A.BuiltInCallable)
        return _this._withoutSlash$2(_this._runBuiltInCallable$3($arguments, callable, nodeWithSpan), nodeWithSpan);
      else if (type$.UserDefinedCallable_Environment._is(callable))
        return _this._runUserDefinedCallable$1$4($arguments, callable, nodeWithSpan, new A._EvaluateVisitor__runFunctionCallable_closure(_this, callable), type$.Value);
      else if (callable instanceof A.PlainCssCallable) {
        t1 = $arguments.named;
        if (t1.get$isNotEmpty(t1) || $arguments.keywordRest != null)
          throw A.wrapException(_this._evaluate$_exception$2(string$.Plain_, nodeWithSpan.get$span(nodeWithSpan)));
        buffer = new A.StringBuffer(callable.name + "(");
        try {
          first = true;
          for (t1 = $arguments.positional, t2 = t1.length, _i = 0; _i < t2; ++_i) {
            argument = t1[_i];
            if (first)
              first = false;
            else
              buffer._contents += ", ";
            t3 = buffer;
            t4 = argument;
            t4 = _this._evaluate$_serialize$3$quote(t4.accept$1(_this), t4, true);
            t3._contents += t4;
          }
          restArg = $arguments.rest;
          if (restArg != null) {
            rest = restArg.accept$1(_this);
            if (!first)
              buffer._contents += ", ";
            t1 = buffer;
            t2 = _this._evaluate$_serialize$2(rest, restArg);
            t1._contents += t2;
          }
        } catch (exception) {
          t1 = A.unwrapException(exception);
          if (type$.SassRuntimeException._is(t1)) {
            error = t1;
            if (!B.JSString_methods.endsWith$1(error._span_exception$_message, "isn't a valid CSS value."))
              throw exception;
            throw A.wrapException(A.MultiSpanSassRuntimeException$(error._span_exception$_message, J.get$span$z(error), "value", A.LinkedHashMap_LinkedHashMap$_literal([nodeWithSpan.get$span(nodeWithSpan), "unknown function treated as plain CSS"], type$.FileSpan, type$.String), J.get$trace$z(error), null));
          } else
            throw exception;
        }
        t1 = buffer;
        t2 = A.Primitives_stringFromCharCode(41);
        t1._contents += t2;
        t2 = buffer._contents;
        return new A.SassString(t2.charCodeAt(0) == 0 ? t2 : t2, false);
      } else
        throw A.wrapException(A.ArgumentError$("Unknown callable type " + J.get$runtimeType$(callable).toString$0(0) + ".", null));
    },
    _runBuiltInCallable$3($arguments, callable, nodeWithSpan) {
      var result, error, stackTrace, message, namedSet, _0_0, declaredArguments, i, t1, argument, t2, t3, rest, argumentList, exception, message0, _this = this, _box_0 = {},
        evaluated = _this._evaluateArguments$1($arguments),
        oldCallableNode = _this._callableNode;
      _this._callableNode = nodeWithSpan;
      namedSet = new A.MapKeySet(evaluated._values[0], type$.MapKeySet_String);
      _box_0.callback = _box_0.overload = null;
      _0_0 = callable.callbackFor$2(evaluated._values[2].length, namedSet);
      _box_0.overload = _0_0._0;
      _box_0.callback = _0_0._1;
      _this._addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__runBuiltInCallable_closure(_box_0, evaluated, namedSet));
      declaredArguments = _box_0.overload.$arguments;
      for (i = evaluated._values[2].length, t1 = declaredArguments.length; i < t1; ++i) {
        argument = declaredArguments[i];
        t2 = evaluated._values[2];
        t3 = evaluated._values[0].remove$1(0, argument.name);
        if (t3 == null) {
          t3 = argument.defaultValue;
          t3 = _this._withoutSlash$2(t3.accept$1(_this), t3);
        }
        t2.push(t3);
      }
      if (_box_0.overload.restArgument != null) {
        if (evaluated._values[2].length > t1) {
          rest = B.JSArray_methods.sublist$1(evaluated._values[2], t1);
          B.JSArray_methods.removeRange$2(evaluated._values[2], t1, evaluated._values[2].length);
        } else
          rest = B.List_empty8;
        t1 = evaluated._values[0];
        argumentList = A.SassArgumentList$(rest, t1, evaluated._values[4] === B.ListSeparator_undecided_null_undecided ? B.ListSeparator_ECn : evaluated._values[4]);
        evaluated._values[2].push(argumentList);
      } else
        argumentList = null;
      result = null;
      try {
        result = _this._addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__runBuiltInCallable_closure0(_box_0, evaluated));
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException)
          throw exception;
        else {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          message = null;
          try {
            message = A._asString(J.get$message$x(error));
          } catch (exception) {
            message0 = J.toString$0$(error);
            message = message0;
          }
          A.throwWithTrace(_this._evaluate$_exception$2(message, nodeWithSpan.get$span(nodeWithSpan)), error, stackTrace);
        }
      }
      _this._callableNode = oldCallableNode;
      if (argumentList == null)
        return result;
      if (evaluated._values[0].__js_helper$_length === 0)
        return result;
      if (argumentList._wereKeywordsAccessed)
        return result;
      throw A.wrapException(A.MultiSpanSassRuntimeException$("No " + A.pluralize("argument", evaluated._values[0].get$keys(0).get$length(0), null) + " named " + A.toSentence(evaluated._values[0].get$keys(0).map$1$1(0, new A._EvaluateVisitor__runBuiltInCallable_closure1(), type$.Object), "or") + ".", nodeWithSpan.get$span(nodeWithSpan), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([_box_0.overload.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), _this._evaluate$_stackTrace$1(nodeWithSpan.get$span(nodeWithSpan)), null));
    },
    _evaluateArguments$1($arguments) {
      var t1, t2, _i, expression, nodeForSpan, named, namedNodes, t3, t4, $name, value, restArgs, rest, restNodeForSpan, t5, separator, keywordRestArgs, keywordRest, keywordRestNodeForSpan, _this = this,
        positional = A._setArrayType([], type$.JSArray_Value),
        positionalNodes = A._setArrayType([], type$.JSArray_AstNode);
      for (t1 = $arguments.positional, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        expression = t1[_i];
        nodeForSpan = _this._expressionNode$1(expression);
        positional.push(_this._withoutSlash$2(expression.accept$1(_this), nodeForSpan));
        positionalNodes.push(nodeForSpan);
      }
      t1 = type$.String;
      named = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Value);
      t2 = type$.AstNode;
      namedNodes = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      for (t3 = A.MapExtensions_get_pairs($arguments.named, t1, type$.Expression), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        $name = t4._0;
        value = t4._1;
        nodeForSpan = _this._expressionNode$1(value);
        named.$indexSet(0, $name, _this._withoutSlash$2(value.accept$1(_this), nodeForSpan));
        namedNodes.$indexSet(0, $name, nodeForSpan);
      }
      restArgs = $arguments.rest;
      if (restArgs == null)
        return new A._Record_5_named_namedNodes_positional_positionalNodes_separator([named, namedNodes, positional, positionalNodes, B.ListSeparator_undecided_null_undecided]);
      rest = restArgs.accept$1(_this);
      restNodeForSpan = _this._expressionNode$1(restArgs);
      if (rest instanceof A.SassMap) {
        _this._addRestMap$4(named, rest, restArgs, new A._EvaluateVisitor__evaluateArguments_closure());
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        for (t4 = rest._map$_contents, t4 = J.get$iterator$ax(t4.get$keys(t4)), t5 = type$.SassString; t4.moveNext$0();)
          t3.$indexSet(0, t5._as(t4.get$current(t4))._string$_text, restNodeForSpan);
        namedNodes.addAll$1(0, t3);
        separator = B.ListSeparator_undecided_null_undecided;
      } else if (rest instanceof A.SassList) {
        t3 = rest._list$_contents;
        B.JSArray_methods.addAll$1(positional, new A.MappedListIterable(t3, new A._EvaluateVisitor__evaluateArguments_closure0(_this, restNodeForSpan), A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Value>")));
        B.JSArray_methods.addAll$1(positionalNodes, A.List_List$filled(t3.length, restNodeForSpan, false, t2));
        separator = rest._separator;
        if (rest instanceof A.SassArgumentList) {
          rest._wereKeywordsAccessed = true;
          rest._keywords.forEach$1(0, new A._EvaluateVisitor__evaluateArguments_closure1(_this, named, restNodeForSpan, namedNodes));
        }
      } else {
        positional.push(_this._withoutSlash$2(rest, restNodeForSpan));
        positionalNodes.push(restNodeForSpan);
        separator = B.ListSeparator_undecided_null_undecided;
      }
      keywordRestArgs = $arguments.keywordRest;
      if (keywordRestArgs == null)
        return new A._Record_5_named_namedNodes_positional_positionalNodes_separator([named, namedNodes, positional, positionalNodes, separator]);
      keywordRest = keywordRestArgs.accept$1(_this);
      keywordRestNodeForSpan = _this._expressionNode$1(keywordRestArgs);
      if (keywordRest instanceof A.SassMap) {
        _this._addRestMap$4(named, keywordRest, keywordRestArgs, new A._EvaluateVisitor__evaluateArguments_closure2());
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        for (t2 = keywordRest._map$_contents, t2 = J.get$iterator$ax(t2.get$keys(t2)), t3 = type$.SassString; t2.moveNext$0();)
          t1.$indexSet(0, t3._as(t2.get$current(t2))._string$_text, keywordRestNodeForSpan);
        namedNodes.addAll$1(0, t1);
        return new A._Record_5_named_namedNodes_positional_positionalNodes_separator([named, namedNodes, positional, positionalNodes, separator]);
      } else
        throw A.wrapException(_this._evaluate$_exception$2(string$.Variabs + keywordRest.toString$0(0) + ").", keywordRestArgs.get$span(keywordRestArgs)));
    },
    _evaluateMacroArguments$1(invocation) {
      var t2, positional, named, rest, restNodeForSpan, keywordRestArgs_, keywordRest, keywordRestNodeForSpan, _this = this,
        t1 = invocation.$arguments,
        restArgs_ = t1.rest;
      if (restArgs_ == null)
        return new A._Record_2(t1.positional, t1.named);
      t2 = t1.positional;
      positional = A._setArrayType(t2.slice(0), A._arrayInstanceType(t2));
      named = A.LinkedHashMap_LinkedHashMap$of(t1.named, type$.String, type$.Expression);
      rest = restArgs_.accept$1(_this);
      restNodeForSpan = _this._expressionNode$1(restArgs_);
      if (rest instanceof A.SassMap)
        _this._addRestMap$4(named, rest, invocation, new A._EvaluateVisitor__evaluateMacroArguments_closure(restArgs_));
      else if (rest instanceof A.SassList) {
        t2 = rest._list$_contents;
        B.JSArray_methods.addAll$1(positional, new A.MappedListIterable(t2, new A._EvaluateVisitor__evaluateMacroArguments_closure0(_this, restNodeForSpan, restArgs_), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Expression>")));
        if (rest instanceof A.SassArgumentList) {
          rest._wereKeywordsAccessed = true;
          rest._keywords.forEach$1(0, new A._EvaluateVisitor__evaluateMacroArguments_closure1(_this, named, restNodeForSpan, restArgs_));
        }
      } else
        positional.push(new A.ValueExpression(_this._withoutSlash$2(rest, restNodeForSpan), restArgs_.get$span(restArgs_)));
      keywordRestArgs_ = t1.keywordRest;
      if (keywordRestArgs_ == null)
        return new A._Record_2(positional, named);
      keywordRest = keywordRestArgs_.accept$1(_this);
      keywordRestNodeForSpan = _this._expressionNode$1(keywordRestArgs_);
      if (keywordRest instanceof A.SassMap) {
        _this._addRestMap$4(named, keywordRest, invocation, new A._EvaluateVisitor__evaluateMacroArguments_closure2(_this, keywordRestNodeForSpan, keywordRestArgs_));
        return new A._Record_2(positional, named);
      } else
        throw A.wrapException(_this._evaluate$_exception$2(string$.Variabs + keywordRest.toString$0(0) + ").", keywordRestArgs_.get$span(keywordRestArgs_)));
    },
    _addRestMap$1$4(values, map, nodeWithSpan, convert) {
      map._map$_contents.forEach$1(0, new A._EvaluateVisitor__addRestMap_closure(this, values, convert, this._expressionNode$1(nodeWithSpan), map, nodeWithSpan));
    },
    _addRestMap$4(values, map, nodeWithSpan, convert) {
      return this._addRestMap$1$4(values, map, nodeWithSpan, convert, type$.dynamic);
    },
    _verifyArguments$4(positional, named, $arguments, nodeWithSpan) {
      return this._addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__verifyArguments_closure($arguments, positional, named));
    },
    visitSelectorExpression$1(node) {
      var t1 = this._styleRuleIgnoringAtRoot;
      t1 = t1 == null ? null : t1.originalSelector.get$asSassList();
      return t1 == null ? B.C__SassNull : t1;
    },
    visitStringExpression$1(node) {
      var t1, t2, t3, t4, _i, value, t5, _0_0, text, _this = this,
        oldInSupportsDeclaration = _this._inSupportsDeclaration;
      _this._inSupportsDeclaration = false;
      t1 = A._setArrayType([], type$.JSArray_String);
      for (t2 = node.text.contents, t3 = t2.length, t4 = type$.Expression, _i = 0; _i < t3; ++_i) {
        value = t2[_i];
        $label0$0: {
          if (typeof value == "string") {
            t5 = value;
            break $label0$0;
          }
          if (t4._is(value)) {
            _0_0 = value.accept$1(_this);
            $label1$1: {
              if (_0_0 instanceof A.SassString) {
                text = _0_0._string$_text;
                t5 = text;
                break $label1$1;
              }
              t5 = _this._evaluate$_serialize$3$quote(_0_0, value, false);
              break $label1$1;
            }
            break $label0$0;
          }
          t5 = A.throwExpression(A.UnsupportedError$("Unknown interpolation value " + A.S(value)));
        }
        t1.push(t5);
      }
      t1 = B.JSArray_methods.join$0(t1);
      _this._inSupportsDeclaration = oldInSupportsDeclaration;
      return new A.SassString(t1, node.hasQuotes);
    },
    visitSupportsExpression$1(expression) {
      return new A.SassString(this._visitSupportsCondition$1(expression.condition), false);
    },
    visitCssAtRule$1(node) {
      var wasInKeyframes, wasInUnknownAtRule, t1, _this = this;
      if (_this._declarationName != null)
        throw A.wrapException(_this._evaluate$_exception$2(string$.At_rul, node.span));
      if (node.isChildless) {
        _this._assertInModule$2(_this.__parent, "__parent").addChild$1(A.ModifiableCssAtRule$(node.name, node.span, true, node.value));
        return;
      }
      wasInKeyframes = _this._inKeyframes;
      wasInUnknownAtRule = _this._inUnknownAtRule;
      t1 = node.name;
      if (A.unvendor(t1.value) === "keyframes")
        _this._inKeyframes = true;
      else
        _this._inUnknownAtRule = true;
      _this._withParent$2$4$scopeWhen$through(A.ModifiableCssAtRule$(t1, node.span, false, node.value), new A._EvaluateVisitor_visitCssAtRule_closure(_this, node), false, new A._EvaluateVisitor_visitCssAtRule_closure0(), type$.ModifiableCssAtRule, type$.Null);
      _this._inUnknownAtRule = wasInUnknownAtRule;
      _this._inKeyframes = wasInKeyframes;
    },
    visitCssComment$1(node) {
      var _this = this,
        _s8_ = "__parent",
        _s13_ = "_endOfImports";
      if (_this._assertInModule$2(_this.__parent, _s8_) === _this._assertInModule$2(_this.__root, "_root") && _this._assertInModule$2(_this.__endOfImports, _s13_) === J.get$length$asx(_this._assertInModule$2(_this.__root, "_root").children._collection$_source))
        _this.__endOfImports = _this._assertInModule$2(_this.__endOfImports, _s13_) + 1;
      _this._assertInModule$2(_this.__parent, _s8_).addChild$1(new A.ModifiableCssComment(node.text, node.span));
    },
    visitCssDeclaration$1(node) {
      this._assertInModule$2(this.__parent, "__parent").addChild$1(A.ModifiableCssDeclaration$(node.name, node.value, node.span, node.parsedAsCustomProperty, node.valueSpanForMap));
    },
    visitCssImport$1(node) {
      var t1, _this = this,
        _s8_ = "__parent",
        _s5_ = "_root",
        _s13_ = "_endOfImports",
        modifiableNode = new A.ModifiableCssImport(node.url, node.modifiers, node.span);
      if (_this._assertInModule$2(_this.__parent, _s8_) !== _this._assertInModule$2(_this.__root, _s5_))
        _this._assertInModule$2(_this.__parent, _s8_).addChild$1(modifiableNode);
      else if (_this._assertInModule$2(_this.__endOfImports, _s13_) === J.get$length$asx(_this._assertInModule$2(_this.__root, _s5_).children._collection$_source)) {
        _this._assertInModule$2(_this.__root, _s5_).addChild$1(modifiableNode);
        _this.__endOfImports = _this._assertInModule$2(_this.__endOfImports, _s13_) + 1;
      } else {
        t1 = _this._outOfOrderImports;
        (t1 == null ? _this._outOfOrderImports = A._setArrayType([], type$.JSArray_ModifiableCssImport) : t1).push(modifiableNode);
      }
    },
    visitCssKeyframeBlock$1(node) {
      this._withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$(node.selector, node.span), new A._EvaluateVisitor_visitCssKeyframeBlock_closure(this, node), false, new A._EvaluateVisitor_visitCssKeyframeBlock_closure0(), type$.ModifiableCssKeyframeBlock, type$.Null);
    },
    visitCssMediaRule$1(node) {
      var mergedQueries, t1, mergedSources, t2, t3, _this = this;
      if (_this._declarationName != null)
        throw A.wrapException(_this._evaluate$_exception$2(string$.Media_, node.span));
      mergedQueries = A.NullableExtension_andThen(_this._mediaQueries, new A._EvaluateVisitor_visitCssMediaRule_closure(_this, node));
      t1 = mergedQueries == null;
      if (!t1 && J.get$isEmpty$asx(mergedQueries))
        return;
      if (t1)
        mergedSources = B.Set_empty1;
      else {
        t2 = _this._mediaQuerySources;
        t2.toString;
        t2 = A.LinkedHashSet_LinkedHashSet$of(t2, type$.CssMediaQuery);
        t3 = _this._mediaQueries;
        t3.toString;
        t2.addAll$1(0, t3);
        t2.addAll$1(0, node.queries);
        mergedSources = t2;
      }
      t1 = t1 ? node.queries : mergedQueries;
      _this._withParent$2$4$scopeWhen$through(A.ModifiableCssMediaRule$(t1, node.span), new A._EvaluateVisitor_visitCssMediaRule_closure0(_this, mergedQueries, node, mergedSources), false, new A._EvaluateVisitor_visitCssMediaRule_closure1(mergedSources), type$.ModifiableCssMediaRule, type$.Null);
    },
    visitCssStyleRule$1(node) {
      var t1, styleRule, t2, nest, t3, originalSelector, rule, oldAtRootExcludingStyleRule, _0_1, lastChild, _this = this, _null = null,
        _s8_ = "__parent";
      if (_this._declarationName != null)
        throw A.wrapException(_this._evaluate$_exception$2(string$.Style_n, node.span));
      else if (_this._inKeyframes && _this._assertInModule$2(_this.__parent, _s8_) instanceof A.ModifiableCssKeyframeBlock)
        throw A.wrapException(_this._evaluate$_exception$2(string$.Style_k, node.span));
      t1 = _this._atRootExcludingStyleRule;
      styleRule = t1 ? _null : _this._styleRuleIgnoringAtRoot;
      t2 = t1 ? _null : _this._styleRuleIgnoringAtRoot;
      t2 = t2 == null ? _null : t2.fromPlainCss;
      nest = t2 !== true;
      t2 = node._style_rule$_selector._box$_inner;
      if (nest) {
        t2 = t2.value;
        t3 = styleRule == null ? _null : styleRule.originalSelector;
        originalSelector = t2.nestWithin$3$implicitParent$preserveParentSelectors(t3, !t1, node.fromPlainCss);
      } else
        originalSelector = t2.value;
      rule = A.ModifiableCssStyleRule$(_this._assertInModule$2(_this.__extensionStore, "_extensionStore").addSelector$2(originalSelector, _this._mediaQueries), node.span, node.fromPlainCss, originalSelector);
      oldAtRootExcludingStyleRule = _this._atRootExcludingStyleRule;
      _this._atRootExcludingStyleRule = false;
      t1 = nest ? new A._EvaluateVisitor_visitCssStyleRule_closure() : _null;
      _this._withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitCssStyleRule_closure0(_this, rule, node), false, t1, type$.ModifiableCssStyleRule, type$.Null);
      _this._atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
      t1 = _this._assertInModule$2(_this.__parent, _s8_).children._collection$_source;
      t2 = J.getInterceptor$asx(t1);
      _0_1 = t2.get$length(t1);
      if (_0_1 >= 1) {
        lastChild = t2.elementAt$1(t1, _0_1 - 1);
        t1 = styleRule == null;
      } else {
        lastChild = _null;
        t1 = false;
      }
      if (t1)
        lastChild.isGroupEnd = true;
    },
    visitCssStylesheet$1(node) {
      var t1;
      for (t1 = J.get$iterator$ax(node.get$children(node)); t1.moveNext$0();)
        t1.get$current(t1).accept$1(this);
    },
    visitCssSupportsRule$1(node) {
      var _this = this;
      if (_this._declarationName != null)
        throw A.wrapException(_this._evaluate$_exception$2(string$.Suppor, node.span));
      _this._withParent$2$4$scopeWhen$through(A.ModifiableCssSupportsRule$(node.condition, node.span), new A._EvaluateVisitor_visitCssSupportsRule_closure(_this, node), false, new A._EvaluateVisitor_visitCssSupportsRule_closure0(), type$.ModifiableCssSupportsRule, type$.Null);
    },
    _handleReturn$1$2(list, callback) {
      var t1, _i, _0_0;
      for (t1 = list.length, _i = 0; _i < list.length; list.length === t1 || (0, A.throwConcurrentModificationError)(list), ++_i) {
        _0_0 = callback.call$1(list[_i]);
        if (_0_0 != null)
          return _0_0;
      }
      return null;
    },
    _handleReturn$2(list, callback) {
      return this._handleReturn$1$2(list, callback, type$.dynamic);
    },
    _withEnvironment$1$2(environment, callback) {
      var result,
        oldEnvironment = this._environment;
      this._environment = environment;
      result = callback.call$0();
      this._environment = oldEnvironment;
      return result;
    },
    _withEnvironment$2(environment, callback) {
      return this._withEnvironment$1$2(environment, callback, type$.dynamic);
    },
    _interpolationToValue$3$trim$warnForColor(interpolation, trim, warnForColor) {
      var result = this._performInterpolation$2$warnForColor(interpolation, warnForColor),
        t1 = trim ? A.trimAscii(result, true) : result;
      return new A.CssValue(t1, interpolation.span, type$.CssValue_String);
    },
    _interpolationToValue$1(interpolation) {
      return this._interpolationToValue$3$trim$warnForColor(interpolation, false, false);
    },
    _interpolationToValue$2$warnForColor(interpolation, warnForColor) {
      return this._interpolationToValue$3$trim$warnForColor(interpolation, false, warnForColor);
    },
    _performInterpolation$2$warnForColor(interpolation, warnForColor) {
      return this._performInterpolationHelper$3$sourceMap$warnForColor(interpolation, false, warnForColor)._0;
    },
    _performInterpolation$1(interpolation) {
      return this._performInterpolation$2$warnForColor(interpolation, false);
    },
    _performInterpolationWithMap$2$warnForColor(interpolation, warnForColor) {
      var _0_0 = this._performInterpolationHelper$3$sourceMap$warnForColor(interpolation, true, true),
        map = _0_0._1;
      map.toString;
      return new A._Record_2(_0_0._0, map);
    },
    _performInterpolationHelper$3$sourceMap$warnForColor(interpolation, sourceMap, warnForColor) {
      var t1, t2, t3, t4, t5, t6, t7, first, _i, t8, value, result, t9, result0, _this = this, _null = null,
        targetLocations = sourceMap ? A._setArrayType([], type$.JSArray_SourceLocation) : _null,
        oldInSupportsDeclaration = _this._inSupportsDeclaration;
      _this._inSupportsDeclaration = false;
      for (t1 = interpolation.contents, t2 = t1.length, t3 = type$.Expression, t4 = targetLocations == null, t5 = type$.JSArray_Object, t6 = interpolation.span, t7 = type$.Object, first = true, _i = 0, t8 = ""; _i < t2; ++_i, first = false) {
        value = t1[_i];
        if (!first)
          if (!t4)
            targetLocations.push(A.SourceLocation$(t8.length, _null, _null, _null));
        if (typeof value == "string") {
          t8 += value;
          continue;
        }
        t3._as(value);
        result = value.accept$1(_this);
        if (warnForColor && $.$get$namesByColor().containsKey$1(result)) {
          t9 = A._setArrayType([""], t5);
          result0 = A.List_List$from(t9, false, t7);
          result0.fixed$length = Array;
          result0.immutable$list = Array;
          result0 = new A.Interpolation(result0, t6);
          result0.Interpolation$2(t9, t6);
          t9 = $.$get$namesByColor();
          _this._warn$2(string$.You_pr + A.S(t9.$index(0, result)) + string$.x20in_in + result.toString$0(0) + string$.x2c_whicw + A.S(t9.$index(0, result)) + string$.x22x29__If + new A.BinaryOperationExpression(B.BinaryOperator_u15, new A.StringExpression(result0, true), value, false).toString$0(0) + "'.", value.get$span(value));
        }
        t8 += _this._evaluate$_serialize$3$quote(result, value, false);
      }
      _this._inSupportsDeclaration = oldInSupportsDeclaration;
      return new A._Record_2(t8.charCodeAt(0) == 0 ? t8 : t8, A.NullableExtension_andThen(targetLocations, new A._EvaluateVisitor__performInterpolationHelper_closure(interpolation)));
    },
    _evaluate$_serialize$3$quote(value, nodeWithSpan, quote) {
      return this._addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__serialize_closure(value, quote));
    },
    _evaluate$_serialize$2(value, nodeWithSpan) {
      return this._evaluate$_serialize$3$quote(value, nodeWithSpan, true);
    },
    _expressionNode$1(expression) {
      var t1;
      if (expression instanceof A.VariableExpression) {
        t1 = this._addExceptionSpan$2(expression, new A._EvaluateVisitor__expressionNode_closure(this, expression));
        return t1 == null ? expression : t1;
      } else
        return expression;
    },
    _withParent$2$4$scopeWhen$through(node, callback, scopeWhen, through, $S, $T) {
      var t1, result, _this = this;
      _this._addChild$2$through(node, through);
      t1 = _this._assertInModule$2(_this.__parent, "__parent");
      _this.__parent = node;
      result = _this._environment.scope$1$2$when(callback, scopeWhen, $T);
      _this.__parent = t1;
      return result;
    },
    _withParent$2$3$scopeWhen(node, callback, scopeWhen, $S, $T) {
      return this._withParent$2$4$scopeWhen$through(node, callback, scopeWhen, null, $S, $T);
    },
    _withParent$2$2(node, callback, $S, $T) {
      return this._withParent$2$4$scopeWhen$through(node, callback, true, null, $S, $T);
    },
    _addChild$2$through(node, through) {
      var _0_0, grandparent, t1,
        $parent = this._assertInModule$2(this.__parent, "__parent");
      if (through != null) {
        for (; through.call$1($parent); $parent = _0_0) {
          _0_0 = $parent._parent;
          if (_0_0 == null)
            throw A.wrapException(A.ArgumentError$(string$.throug + node.toString$0(0) + ".", null));
        }
        if ($parent.get$hasFollowingSibling()) {
          grandparent = $parent._parent;
          t1 = grandparent.children;
          if ($parent.equalsIgnoringChildren$1(t1.get$last(t1)))
            $parent = type$.ModifiableCssParentNode._as(t1.get$last(t1));
          else {
            $parent = $parent.copyWithoutChildren$0();
            grandparent.addChild$1($parent);
          }
        }
      }
      $parent.addChild$1(node);
    },
    _addChild$1(node) {
      return this._addChild$2$through(node, null);
    },
    _withStyleRule$1$2(rule, callback) {
      var result,
        oldRule = this._styleRuleIgnoringAtRoot;
      this._styleRuleIgnoringAtRoot = rule;
      result = callback.call$0();
      this._styleRuleIgnoringAtRoot = oldRule;
      return result;
    },
    _withStyleRule$2(rule, callback) {
      return this._withStyleRule$1$2(rule, callback, type$.dynamic);
    },
    _withMediaQueries$1$3(queries, sources, callback) {
      var result, _this = this,
        oldMediaQueries = _this._mediaQueries,
        oldSources = _this._mediaQuerySources;
      _this._mediaQueries = queries;
      _this._mediaQuerySources = sources;
      result = callback.call$0();
      _this._mediaQueries = oldMediaQueries;
      _this._mediaQuerySources = oldSources;
      return result;
    },
    _withMediaQueries$3(queries, sources, callback) {
      return this._withMediaQueries$1$3(queries, sources, callback, type$.dynamic);
    },
    _withStackFrame$1$3(member, nodeWithSpan, callback) {
      var oldMember, result, _this = this,
        t1 = _this._stack;
      t1.push(new A._Record_2(_this._member, nodeWithSpan));
      oldMember = _this._member;
      _this._member = member;
      result = callback.call$0();
      _this._member = oldMember;
      t1.pop();
      return result;
    },
    _withStackFrame$3(member, nodeWithSpan, callback) {
      return this._withStackFrame$1$3(member, nodeWithSpan, callback, type$.dynamic);
    },
    _withoutSlash$2(value, nodeForSpan) {
      var t1;
      if (value instanceof A.SassNumber)
        t1 = value.asSlash != null;
      else
        t1 = false;
      if (t1)
        this._warn$3(string$.Using__i + A.S(new A._EvaluateVisitor__withoutSlash_recommendation().call$1(value)) + string$.x0a_Morex20, nodeForSpan.get$span(nodeForSpan), B.Deprecation_oJv);
      return value.withoutSlash$0();
    },
    _stackFrame$2(member, span) {
      return A.frameForSpan(span, member, A.NullableExtension_andThen(span.get$sourceUrl(span), new A._EvaluateVisitor__stackFrame_closure(this)));
    },
    _evaluate$_stackTrace$1(span) {
      var t2, t3, _i, t4, nodeWithSpan, _this = this,
        t1 = A._setArrayType([], type$.JSArray_Frame);
      for (t2 = _this._stack, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        t4 = t2[_i];
        nodeWithSpan = t4._1;
        t1.push(_this._stackFrame$2(t4._0, nodeWithSpan.get$span(nodeWithSpan)));
      }
      if (span != null)
        t1.push(_this._stackFrame$2(_this._member, span));
      return A.Trace$(new A.ReversedListIterable(t1, type$.ReversedListIterable_Frame), null);
    },
    _evaluate$_stackTrace$0() {
      return this._evaluate$_stackTrace$1(null);
    },
    _warn$3(message, span, deprecation) {
      var t1, trace, _this = this;
      if (_this._quietDeps)
        if (!_this._inDependency) {
          t1 = _this._currentCallable;
          t1 = t1 == null ? null : t1.inDependency;
          t1 = t1 === true;
        } else
          t1 = true;
      else
        t1 = false;
      if (t1)
        return;
      if (!_this._warningsEmitted.add$1(0, new A._Record_2(message, span)))
        return;
      trace = _this._evaluate$_stackTrace$1(span);
      t1 = _this._evaluate$_logger;
      if (deprecation == null)
        t1.warn$3$span$trace(0, message, span, trace);
      else
        A.WarnForDeprecation_warnForDeprecation(t1, deprecation, message, span, trace);
    },
    _warn$2(message, span) {
      return this._warn$3(message, span, null);
    },
    _evaluate$_exception$2(message, span) {
      var t1, t2;
      if (span == null) {
        t1 = B.JSArray_methods.get$last(this._stack)._1;
        t1 = t1.get$span(t1);
      } else
        t1 = span;
      t2 = this._evaluate$_stackTrace$1(span);
      return new A.SassRuntimeException(t2, B.Set_empty, message, t1);
    },
    _evaluate$_exception$1(message) {
      return this._evaluate$_exception$2(message, null);
    },
    _multiSpanException$3(message, primaryLabel, secondaryLabels) {
      var t1 = B.JSArray_methods.get$last(this._stack)._1;
      return A.MultiSpanSassRuntimeException$(message, t1.get$span(t1), primaryLabel, secondaryLabels, this._evaluate$_stackTrace$0(), null);
    },
    _addExceptionSpan$1$3$addStackFrame(nodeWithSpan, callback, addStackFrame) {
      var error, stackTrace, t1, exception;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassScriptException) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = error.withSpan$1(nodeWithSpan.get$span(nodeWithSpan));
          A.throwWithTrace(t1.withTrace$1(this._evaluate$_stackTrace$1(addStackFrame ? nodeWithSpan.get$span(nodeWithSpan) : null)), error, stackTrace);
        } else
          throw exception;
      }
    },
    _addExceptionSpan$2(nodeWithSpan, callback) {
      return this._addExceptionSpan$1$3$addStackFrame(nodeWithSpan, callback, true, type$.dynamic);
    },
    _addExceptionSpan$3$addStackFrame(nodeWithSpan, callback, addStackFrame) {
      return this._addExceptionSpan$1$3$addStackFrame(nodeWithSpan, callback, addStackFrame, type$.dynamic);
    },
    _addExceptionTrace$1$1(callback) {
      var error, stackTrace, t1, exception, t2;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.SassRuntimeException._is(t1))
          throw exception;
        else if (t1 instanceof A.SassException) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = error;
          t2 = J.getInterceptor$z(t1);
          A.throwWithTrace(error.withTrace$1(this._evaluate$_stackTrace$1(A.SourceSpanException.prototype.get$span.call(t2, t1))), error, stackTrace);
        } else
          throw exception;
      }
    },
    _addExceptionTrace$1(callback) {
      return this._addExceptionTrace$1$1(callback, type$.dynamic);
    },
    _addErrorSpan$1$2(nodeWithSpan, callback) {
      var error, stackTrace, t1, exception, t2, t3;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.SassRuntimeException._is(t1)) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          if (!B.JSString_methods.startsWith$1(J.get$span$z(error).get$text(), "@error"))
            throw exception;
          t1 = error._span_exception$_message;
          t2 = nodeWithSpan.get$span(nodeWithSpan);
          t3 = this._evaluate$_stackTrace$0();
          A.throwWithTrace(new A.SassRuntimeException(t3, B.Set_empty, t1, t2), error, stackTrace);
        } else
          throw exception;
      }
    },
    _addErrorSpan$2(nodeWithSpan, callback) {
      return this._addErrorSpan$1$2(nodeWithSpan, callback, type$.dynamic);
    }
  };
  A._EvaluateVisitor_closure.prototype = {
    call$1($arguments) {
      var module, t2,
        t1 = J.getInterceptor$asx($arguments),
        variable = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this._environment;
      t2 = A.stringReplaceAllUnchecked(variable._string$_text, "_", "-");
      return t1.globalVariableExists$2$namespace(t2, module == null ? null : module._string$_text) ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._EvaluateVisitor_closure0.prototype = {
    call$1($arguments) {
      var variable = J.$index$asx($arguments, 0).assertString$1("name"),
        t1 = this.$this._environment;
      return t1.getVariable$1(A.stringReplaceAllUnchecked(variable._string$_text, "_", "-")) != null ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._EvaluateVisitor_closure1.prototype = {
    call$1($arguments) {
      var module, t2, t3, t4,
        t1 = J.getInterceptor$asx($arguments),
        variable = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this;
      t2 = t1._environment;
      t3 = variable._string$_text;
      t4 = A.stringReplaceAllUnchecked(t3, "_", "-");
      return t2.getFunction$2$namespace(t4, module == null ? null : module._string$_text) != null || t1._builtInFunctions.containsKey$1(t3) ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._EvaluateVisitor_closure2.prototype = {
    call$1($arguments) {
      var module, t2,
        t1 = J.getInterceptor$asx($arguments),
        variable = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this._environment;
      t2 = A.stringReplaceAllUnchecked(variable._string$_text, "_", "-");
      return t1.getMixin$2$namespace(t2, module == null ? null : module._string$_text) != null ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._EvaluateVisitor_closure3.prototype = {
    call$1($arguments) {
      var t1 = this.$this._environment;
      if (!t1._inMixin)
        throw A.wrapException(A.SassScriptException$(string$.conten, null));
      return t1._content != null ? B.SassBoolean_true : B.SassBoolean_false;
    },
    $signature: 20
  };
  A._EvaluateVisitor_closure4.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.$index$asx($arguments, 0).assertString$1("module")._string$_text,
        module = this.$this._environment._environment$_modules.$index(0, t1);
      if (module == null)
        throw A.wrapException('There is no module with namespace "' + t1 + '".');
      t1 = type$.Value;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t3 = A.MapExtensions_get_pairs(module.get$variables(), type$.String, t1), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, new A.SassString(t4._0, true), t4._1);
      }
      return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 33
  };
  A._EvaluateVisitor_closure5.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.$index$asx($arguments, 0).assertString$1("module")._string$_text,
        module = this.$this._environment._environment$_modules.$index(0, t1);
      if (module == null)
        throw A.wrapException('There is no module with namespace "' + t1 + '".');
      t1 = type$.Value;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t3 = A.MapExtensions_get_pairs(module.get$functions(module), type$.String, type$.Callable), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, new A.SassString(t4._0, true), new A.SassFunction(t4._1));
      }
      return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 33
  };
  A._EvaluateVisitor_closure6.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.$index$asx($arguments, 0).assertString$1("module")._string$_text,
        module = this.$this._environment._environment$_modules.$index(0, t1);
      if (module == null)
        throw A.wrapException('There is no module with namespace "' + t1 + '".');
      t1 = type$.Value;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t3 = A.MapExtensions_get_pairs(module.get$mixins(), type$.String, type$.Callable), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, new A.SassString(t4._0, true), new A.SassMixin(t4._1));
      }
      return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 33
  };
  A._EvaluateVisitor_closure7.prototype = {
    call$1($arguments) {
      var module, t2, callable,
        t1 = J.getInterceptor$asx($arguments),
        $name = t1.$index($arguments, 0).assertString$1("name"),
        css = t1.$index($arguments, 1).get$isTruthy();
      t1 = t1.$index($arguments, 2).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      if (css) {
        if (module != null)
          throw A.wrapException(string$.x24css_a);
        return new A.SassFunction(new A.PlainCssCallable($name._string$_text));
      }
      t1 = this.$this;
      t2 = t1._callableNode;
      t2.toString;
      callable = t1._addExceptionSpan$2(t2, new A._EvaluateVisitor__closure2(t1, $name, module));
      if (callable == null)
        throw A.wrapException("Function not found: " + $name.toString$0(0));
      return new A.SassFunction(callable);
    },
    $signature: 163
  };
  A._EvaluateVisitor__closure2.prototype = {
    call$0() {
      var local,
        normalizedName = A.stringReplaceAllUnchecked(this.name._string$_text, "_", "-"),
        t1 = this.module,
        namespace = t1 == null ? null : t1._string$_text;
      t1 = this.$this;
      local = t1._environment.getFunction$2$namespace(normalizedName, namespace);
      if (local != null || namespace != null)
        return local;
      return t1._builtInFunctions.$index(0, normalizedName);
    },
    $signature: 102
  };
  A._EvaluateVisitor_closure8.prototype = {
    call$1($arguments) {
      var module, t2, callable,
        t1 = J.getInterceptor$asx($arguments),
        $name = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this;
      t2 = t1._callableNode;
      t2.toString;
      callable = t1._addExceptionSpan$2(t2, new A._EvaluateVisitor__closure1(t1, $name, module));
      if (callable == null)
        throw A.wrapException("Mixin not found: " + $name.toString$0(0));
      return new A.SassMixin(callable);
    },
    $signature: 164
  };
  A._EvaluateVisitor__closure1.prototype = {
    call$0() {
      var t1 = this.$this._environment,
        t2 = A.stringReplaceAllUnchecked(this.name._string$_text, "_", "-"),
        t3 = this.module;
      return t1.getMixin$2$namespace(t2, t3 == null ? null : t3._string$_text);
    },
    $signature: 102
  };
  A._EvaluateVisitor_closure9.prototype = {
    call$1($arguments) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, invocation, callableNode, callable,
        t1 = J.getInterceptor$asx($arguments),
        $function = t1.$index($arguments, 0),
        args = type$.SassArgumentList._as(t1.$index($arguments, 1));
      t1 = this.$this;
      t2 = t1._callableNode;
      t2.toString;
      t3 = A._setArrayType([], type$.JSArray_Expression);
      t4 = type$.String;
      t5 = type$.Expression;
      t6 = t2.get$span(t2);
      t7 = t2.get$span(t2);
      args._wereKeywordsAccessed = true;
      t8 = args._keywords;
      if (t8.get$isEmpty(t8))
        t2 = null;
      else {
        t9 = type$.Value;
        t10 = A.LinkedHashMap_LinkedHashMap$_empty(t9, t9);
        for (args._wereKeywordsAccessed = true, t8 = A.MapExtensions_get_pairs(t8, t4, t9), t8 = t8.get$iterator(t8); t8.moveNext$0();) {
          t11 = t8.get$current(t8);
          t10.$indexSet(0, new A.SassString(t11._0, false), t11._1);
        }
        t2 = new A.ValueExpression(new A.SassMap(A.ConstantMap_ConstantMap$from(t10, t9, t9)), t2.get$span(t2));
      }
      invocation = new A.ArgumentInvocation(A.List_List$unmodifiable(t3, t5), A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_empty(t4, t5), t4, t5), new A.ValueExpression(args, t7), t2, t6);
      if ($function instanceof A.SassString) {
        A.warnForDeprecation(string$.Passina + $function.toString$0(0) + "))", B.Deprecation_gkc);
        callableNode = t1._callableNode;
        t2 = $function._string$_text;
        t3 = callableNode.get$span(callableNode);
        return t1.visitFunctionExpression$1(new A.FunctionExpression(null, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, invocation, t3));
      }
      callable = $function.assertFunction$1("function").callable;
      if (type$.Callable._is(callable)) {
        t2 = t1._callableNode;
        t2.toString;
        return t1._runFunctionCallable$3(invocation, callable, t2);
      } else
        throw A.wrapException(A.SassScriptException$("The function " + callable.get$name(callable) + string$.x20is_as, null));
    },
    $signature: 6
  };
  A._EvaluateVisitor_closure10.prototype = {
    call$1($arguments) {
      var withMap, t2, values, configuration, t3,
        t1 = J.getInterceptor$asx($arguments),
        url = A.Uri_parse(t1.$index($arguments, 0).assertString$1("url")._string$_text);
      t1 = t1.$index($arguments, 1).get$realNull();
      withMap = t1 == null ? null : t1.assertMap$1("with")._map$_contents;
      t1 = this.$this;
      t2 = t1._callableNode;
      t2.toString;
      if (withMap != null) {
        values = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ConfiguredValue);
        withMap.forEach$1(0, new A._EvaluateVisitor__closure(values, t2.get$span(t2), t2));
        configuration = new A.ExplicitConfiguration(t2, values, null);
      } else
        configuration = B.Configuration_Map_empty_null;
      t3 = t2.get$span(t2);
      t1._loadModule$7$baseUrl$configuration$namesInErrors(url, "load-css()", t2, new A._EvaluateVisitor__closure0(t1), t3.get$sourceUrl(t3), configuration, true);
      t1._assertConfigurationIsEmpty$2$nameInError(configuration, true);
    },
    $signature: 184
  };
  A._EvaluateVisitor__closure.prototype = {
    call$2(variable, value) {
      var t1 = variable.assertString$1("with key"),
        $name = A.stringReplaceAllUnchecked(t1._string$_text, "_", "-");
      t1 = this.values;
      if (t1.containsKey$1($name))
        throw A.wrapException("The variable $" + $name + " was configured twice.");
      t1.$indexSet(0, $name, new A.ConfiguredValue(value, this.span, this.callableNode));
    },
    $signature: 90
  };
  A._EvaluateVisitor__closure0.prototype = {
    call$2(module, _) {
      var t1 = this.$this;
      return t1._combineCss$2$clone(module, true).accept$1(t1);
    },
    $signature: 77
  };
  A._EvaluateVisitor_closure11.prototype = {
    call$1($arguments) {
      var callableNode, t2, t3, t4, t5, callable, $content,
        t1 = J.getInterceptor$asx($arguments),
        mixin = t1.$index($arguments, 0),
        args = type$.SassArgumentList._as(t1.$index($arguments, 1));
      t1 = this.$this;
      callableNode = t1._callableNode;
      t2 = callableNode.get$span(callableNode);
      t3 = callableNode.get$span(callableNode);
      t4 = type$.Expression;
      t5 = A.List_List$unmodifiable(B.List_empty9, t4);
      t4 = A.ConstantMap_ConstantMap$from(B.Map_empty6, type$.String, t4);
      callable = mixin.assertMixin$1("mixin").callable;
      $content = t1._environment._content;
      if (type$.Callable._is(callable))
        t1._applyMixin$5(callable, $content, new A.ArgumentInvocation(t5, t4, new A.ValueExpression(args, t3), null, t2), callableNode, callableNode);
      else
        throw A.wrapException(A.SassScriptException$("The mixin " + callable.get$name(callable) + string$.x20is_as, null));
    },
    $signature: 184
  };
  A._EvaluateVisitor_run_closure.prototype = {
    call$0() {
      var module, _this = this,
        t1 = _this.node,
        t2 = t1.span,
        _0_0 = t2.get$sourceUrl(t2),
        url = null;
      if (_0_0 != null) {
        url = _0_0;
        t2 = _this.$this;
        t2._activeModules.$indexSet(0, url, null);
        t2._loadedUrls.add$1(0, url);
      }
      t2 = _this.$this;
      module = t2._addExceptionTrace$1(new A._EvaluateVisitor_run__closure(t2, _this.importer, t1));
      return new A._Record_2_loadedUrls_stylesheet(t2._loadedUrls, t2._combineCss$1(module));
    },
    $signature: 305
  };
  A._EvaluateVisitor_run__closure.prototype = {
    call$0() {
      return this.$this._execute$2(this.importer, this.node);
    },
    $signature: 298
  };
  A._EvaluateVisitor_runExpression_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = this.expression;
      return t1._withFakeStylesheet$3(this.importer, t2, new A._EvaluateVisitor_runExpression__closure(t1, t2));
    },
    $signature: 34
  };
  A._EvaluateVisitor_runExpression__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1._addExceptionTrace$1(new A._EvaluateVisitor_runExpression___closure(t1, this.expression));
    },
    $signature: 34
  };
  A._EvaluateVisitor_runExpression___closure.prototype = {
    call$0() {
      return this.expression.accept$1(this.$this);
    },
    $signature: 34
  };
  A._EvaluateVisitor_runStatement_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = this.statement;
      return t1._withFakeStylesheet$3(this.importer, t2, new A._EvaluateVisitor_runStatement__closure(t1, t2));
    },
    $signature: 0
  };
  A._EvaluateVisitor_runStatement__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1._addExceptionTrace$1(new A._EvaluateVisitor_runStatement___closure(t1, this.statement));
    },
    $signature: 0
  };
  A._EvaluateVisitor_runStatement___closure.prototype = {
    call$0() {
      return this.statement.accept$1(this.$this);
    },
    $signature: 0
  };
  A._EvaluateVisitor__loadModule_closure.prototype = {
    call$0() {
      return this.callback.call$2(this._box_1.builtInModule, false);
    },
    $signature: 0
  };
  A._EvaluateVisitor__loadModule_closure0.prototype = {
    call$0() {
      var canonicalUrl, oldInDependency, t4, message, _this = this, t1 = {}, stylesheet = null, importer = null,
        t2 = _this.$this,
        t3 = _this.nodeWithSpan,
        _1_0 = t2._loadStylesheet$3$baseUrl(_this.url.toString$0(0), t3.get$span(t3), _this.baseUrl);
      stylesheet = _1_0._0;
      importer = _1_0._1;
      t4 = stylesheet.span;
      canonicalUrl = t4.get$sourceUrl(t4);
      if (canonicalUrl != null) {
        t4 = t2._activeModules;
        if (t4.containsKey$1(canonicalUrl)) {
          if (_this.namesInErrors) {
            t1 = canonicalUrl;
            t3 = $.$get$context();
            t1.toString;
            message = "Module loop: " + t3.prettyUri$1(t1) + " is already being loaded.";
          } else
            message = string$.Modulel;
          t1 = A.NullableExtension_andThen(t4.$index(0, canonicalUrl), new A._EvaluateVisitor__loadModule__closure(t2, message));
          throw A.wrapException(t1 == null ? t2._evaluate$_exception$1(message) : t1);
        } else
          t4.$indexSet(0, canonicalUrl, t3);
      }
      t4 = t2._modules.containsKey$1(canonicalUrl);
      oldInDependency = t2._inDependency;
      t2._inDependency = _1_0._2;
      t1.module = null;
      try {
        t1.module = t2._execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, _this.configuration, _this.namesInErrors, t3);
      } finally {
        t2._activeModules.remove$1(0, canonicalUrl);
        t2._inDependency = oldInDependency;
      }
      t2._addExceptionSpan$3$addStackFrame(t3, new A._EvaluateVisitor__loadModule__closure0(t1, _this.callback, !t4), false);
    },
    $signature: 1
  };
  A._EvaluateVisitor__loadModule__closure.prototype = {
    call$1(previousLoad) {
      return this.$this._multiSpanException$3(this.message, "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String));
    },
    $signature: 91
  };
  A._EvaluateVisitor__loadModule__closure0.prototype = {
    call$0() {
      return this.callback.call$2(this._box_0.module, this.firstLoad);
    },
    $signature: 0
  };
  A._EvaluateVisitor__execute_closure.prototype = {
    call$0() {
      var t3, t4, t5, t6, _this = this,
        t1 = _this.$this,
        oldImporter = t1._importer,
        oldStylesheet = t1.__stylesheet,
        oldRoot = t1.__root,
        oldPreModuleComments = t1._preModuleComments,
        oldParent = t1.__parent,
        oldEndOfImports = t1.__endOfImports,
        oldOutOfOrderImports = t1._outOfOrderImports,
        oldExtensionStore = t1.__extensionStore,
        t2 = t1._atRootExcludingStyleRule,
        oldStyleRule = t2 ? null : t1._styleRuleIgnoringAtRoot,
        oldMediaQueries = t1._mediaQueries,
        oldDeclarationName = t1._declarationName,
        oldInUnknownAtRule = t1._inUnknownAtRule,
        oldInKeyframes = t1._inKeyframes,
        oldConfiguration = t1._configuration;
      t1._importer = _this.importer;
      t3 = t1.__stylesheet = _this.stylesheet;
      t4 = t3.span;
      t5 = t1.__parent = t1.__root = A.ModifiableCssStylesheet$(t4);
      t1.__endOfImports = 0;
      t1._outOfOrderImports = null;
      t1.__extensionStore = _this.extensionStore;
      t1._declarationName = t1._mediaQueries = t1._styleRuleIgnoringAtRoot = null;
      t1._inKeyframes = t1._atRootExcludingStyleRule = t1._inUnknownAtRule = false;
      t6 = _this.configuration;
      if (t6 != null)
        t1._configuration = t6;
      t1.visitStylesheet$1(t3);
      t3 = t1._outOfOrderImports == null ? t5 : new A.CssStylesheet(new A.UnmodifiableListView(t1._addOutOfOrderImports$0(), type$.UnmodifiableListView_CssNode), t4);
      _this.css.__late_helper$_value = t3;
      _this.preModuleComments.__late_helper$_value = t1._preModuleComments;
      t1._importer = oldImporter;
      t1.__stylesheet = oldStylesheet;
      t1.__root = oldRoot;
      t1._preModuleComments = oldPreModuleComments;
      t1.__parent = oldParent;
      t1.__endOfImports = oldEndOfImports;
      t1._outOfOrderImports = oldOutOfOrderImports;
      t1.__extensionStore = oldExtensionStore;
      t1._styleRuleIgnoringAtRoot = oldStyleRule;
      t1._mediaQueries = oldMediaQueries;
      t1._declarationName = oldDeclarationName;
      t1._inUnknownAtRule = oldInUnknownAtRule;
      t1._atRootExcludingStyleRule = t2;
      t1._inKeyframes = oldInKeyframes;
      t1._configuration = oldConfiguration;
    },
    $signature: 1
  };
  A._EvaluateVisitor__combineCss_closure.prototype = {
    call$1(module) {
      return module.get$transitivelyContainsCss();
    },
    $signature: 117
  };
  A._EvaluateVisitor__combineCss_closure0.prototype = {
    call$1(target) {
      return !this.selectors.contains$1(0, target);
    },
    $signature: 13
  };
  A._EvaluateVisitor__combineCss_visitModule.prototype = {
    call$1(module) {
      var t1, t2, t3, t4, _i, upstream, _1_0, statements, index, _this = this;
      if (!_this.seen.add$1(0, module))
        return;
      if (_this.clone)
        module = module.cloneCss$0();
      for (t1 = module.get$upstream(), t2 = t1.length, t3 = _this.css, t4 = _this.imports, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        upstream = t1[_i];
        if (upstream.get$transitivelyContainsCss()) {
          _1_0 = module.get$preModuleComments().$index(0, upstream);
          if (_1_0 != null)
            B.JSArray_methods.addAll$1(t3.length === 0 ? t4 : t3, _1_0);
          _this.call$1(upstream);
        }
      }
      _this.sorted.addFirst$1(module);
      t1 = module.get$css(module);
      statements = t1.get$children(t1);
      index = _this.$this._indexAfterImports$1(statements);
      t1 = J.getInterceptor$ax(statements);
      B.JSArray_methods.addAll$1(t4, t1.getRange$2(statements, 0, index));
      B.JSArray_methods.addAll$1(t3, t1.getRange$2(statements, index, t1.get$length(statements)));
    },
    $signature: 292
  };
  A._EvaluateVisitor__extendModules_closure.prototype = {
    call$1(target) {
      return !this.originalSelectors.contains$1(0, target);
    },
    $signature: 13
  };
  A._EvaluateVisitor__extendModules_closure0.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_ExtensionStore);
    },
    $signature: 167
  };
  A._EvaluateVisitor_visitAtRootRule_closure.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitAtRootRule_closure0.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 0
  };
  A._EvaluateVisitor__scopeForAtRoot_closure.prototype = {
    call$1(callback) {
      var t1 = this.$this,
        t2 = t1._assertInModule$2(t1.__parent, "__parent");
      t1.__parent = this.newParent;
      t1._environment.scope$1$2$when(callback, this.node.hasDeclarations, type$.void);
      t1.__parent = t2;
    },
    $signature: 32
  };
  A._EvaluateVisitor__scopeForAtRoot_closure0.prototype = {
    call$1(callback) {
      var t1 = this.$this,
        oldAtRootExcludingStyleRule = t1._atRootExcludingStyleRule;
      t1._atRootExcludingStyleRule = true;
      this.innerScope.call$1(callback);
      t1._atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
    },
    $signature: 32
  };
  A._EvaluateVisitor__scopeForAtRoot_closure1.prototype = {
    call$1(callback) {
      return this.$this._withMediaQueries$3(null, null, new A._EvaluateVisitor__scopeForAtRoot__closure(this.innerScope, callback));
    },
    $signature: 32
  };
  A._EvaluateVisitor__scopeForAtRoot__closure.prototype = {
    call$0() {
      return this.innerScope.call$1(this.callback);
    },
    $signature: 1
  };
  A._EvaluateVisitor__scopeForAtRoot_closure2.prototype = {
    call$1(callback) {
      var t1 = this.$this,
        wasInKeyframes = t1._inKeyframes;
      t1._inKeyframes = false;
      this.innerScope.call$1(callback);
      t1._inKeyframes = wasInKeyframes;
    },
    $signature: 32
  };
  A._EvaluateVisitor__scopeForAtRoot_closure3.prototype = {
    call$1($parent) {
      return $parent instanceof A.ModifiableCssAtRule;
    },
    $signature: 169
  };
  A._EvaluateVisitor__scopeForAtRoot_closure4.prototype = {
    call$1(callback) {
      var t1 = this.$this,
        wasInUnknownAtRule = t1._inUnknownAtRule;
      t1._inUnknownAtRule = false;
      this.innerScope.call$1(callback);
      t1._inUnknownAtRule = wasInUnknownAtRule;
    },
    $signature: 32
  };
  A._EvaluateVisitor_visitContentRule_closure.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.content.declaration.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
      return null;
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitDeclaration_closure.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this._box_0.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitEachRule_closure.prototype = {
    call$1(value) {
      var t1 = this.$this,
        t2 = this.nodeWithSpan;
      return t1._environment.setLocalVariable$3(this._box_0.variable, t1._withoutSlash$2(value, t2), t2);
    },
    $signature: 54
  };
  A._EvaluateVisitor_visitEachRule_closure0.prototype = {
    call$1(value) {
      return this.$this._setMultipleVariables$3(this._box_0.variables, value, this.nodeWithSpan);
    },
    $signature: 54
  };
  A._EvaluateVisitor_visitEachRule_closure1.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this;
      return t1._handleReturn$2(_this.list.get$asList(), new A._EvaluateVisitor_visitEachRule__closure(t1, _this.setVariables, _this.node));
    },
    $signature: 40
  };
  A._EvaluateVisitor_visitEachRule__closure.prototype = {
    call$1(element) {
      var t1;
      this.setVariables.call$1(element);
      t1 = this.$this;
      return t1._handleReturn$2(this.node.children, new A._EvaluateVisitor_visitEachRule___closure(t1));
    },
    $signature: 291
  };
  A._EvaluateVisitor_visitEachRule___closure.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 78
  };
  A._EvaluateVisitor_visitAtRule_closure.prototype = {
    call$1(value) {
      return this.$this._interpolationToValue$3$trim$warnForColor(value, true, true);
    },
    $signature: 286
  };
  A._EvaluateVisitor_visitAtRule_closure0.prototype = {
    call$0() {
      var t2, t3, _i, _this = this,
        t1 = _this.$this,
        styleRule = t1._atRootExcludingStyleRule ? null : t1._styleRuleIgnoringAtRoot;
      if (styleRule == null || t1._inKeyframes || J.$eq$(_this.name.value, "font-face"))
        for (t2 = _this.children, t3 = t2.length, _i = 0; _i < t3; ++_i)
          t2[_i].accept$1(t1);
      else
        t1._withParent$2$3$scopeWhen(A.ModifiableCssStyleRule$(styleRule._style_rule$_selector, styleRule.span, false, styleRule.originalSelector), new A._EvaluateVisitor_visitAtRule__closure(t1, _this.children), false, type$.ModifiableCssStyleRule, type$.Null);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitAtRule__closure.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitAtRule_closure1.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitForRule_closure.prototype = {
    call$0() {
      return this.node.from.accept$1(this.$this).assertNumber$0();
    },
    $signature: 186
  };
  A._EvaluateVisitor_visitForRule_closure0.prototype = {
    call$0() {
      return this.node.to.accept$1(this.$this).assertNumber$0();
    },
    $signature: 186
  };
  A._EvaluateVisitor_visitForRule_closure1.prototype = {
    call$0() {
      return this.fromNumber.assertInt$0();
    },
    $signature: 10
  };
  A._EvaluateVisitor_visitForRule_closure2.prototype = {
    call$0() {
      var t1 = this.fromNumber;
      return this.toNumber.coerce$2(t1.get$numeratorUnits(t1), t1.get$denominatorUnits(t1)).assertInt$0();
    },
    $signature: 10
  };
  A._EvaluateVisitor_visitForRule_closure3.prototype = {
    call$0() {
      var i, t3, t4, t5, t6, t7, t8, _0_0, _this = this,
        t1 = _this.$this,
        t2 = _this.node,
        nodeWithSpan = t1._expressionNode$1(t2.from);
      for (i = _this.from, t3 = _this._box_0, t4 = _this.direction, t5 = t2.variable, t6 = _this.fromNumber, t2 = t2.children; i !== t3.to; i += t4) {
        t7 = t1._environment;
        t8 = t6.get$numeratorUnits(t6);
        t7.setLocalVariable$3(t5, A.SassNumber_SassNumber$withUnits(i, t6.get$denominatorUnits(t6), t8), nodeWithSpan);
        _0_0 = t1._handleReturn$2(t2, new A._EvaluateVisitor_visitForRule__closure(t1));
        if (_0_0 != null)
          return _0_0;
      }
      return null;
    },
    $signature: 40
  };
  A._EvaluateVisitor_visitForRule__closure.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 78
  };
  A._EvaluateVisitor_visitForwardRule_closure.prototype = {
    call$2(module, firstLoad) {
      if (firstLoad)
        this.$this._registerCommentsForModule$1(module);
      this.$this._environment.forwardModule$2(module, this.node);
    },
    $signature: 77
  };
  A._EvaluateVisitor_visitForwardRule_closure0.prototype = {
    call$2(module, firstLoad) {
      if (firstLoad)
        this.$this._registerCommentsForModule$1(module);
      this.$this._environment.forwardModule$2(module, this.node);
    },
    $signature: 77
  };
  A._EvaluateVisitor__registerCommentsForModule_closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_CssComment);
    },
    $signature: 173
  };
  A._EvaluateVisitor_visitIfRule_closure.prototype = {
    call$1(clause) {
      var t1 = this.$this;
      return t1._environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitIfRule__closure(t1, clause), true, clause.hasDeclarations, type$.nullable_Value);
    },
    $signature: 270
  };
  A._EvaluateVisitor_visitIfRule__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1._handleReturn$2(this.clause.children, new A._EvaluateVisitor_visitIfRule___closure(t1));
    },
    $signature: 40
  };
  A._EvaluateVisitor_visitIfRule___closure.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 78
  };
  A._EvaluateVisitor__visitDynamicImport_closure.prototype = {
    call$0() {
      var t1, t2, _0_0, stylesheet, importer, isDependency, t3, url, oldImporter, oldInDependency, loadsUserDefinedModules, children, t4, t5, t6, t7, t8, t9, t10, environment, module, visitor, _box_0 = {};
      _box_0.isDependency = _box_0.importer = _box_0.stylesheet = null;
      t1 = this.$this;
      t2 = this.$import;
      _0_0 = t1._loadStylesheet$3$forImport(t2.urlString, t2.span, true);
      stylesheet = _box_0.stylesheet = _0_0._0;
      importer = _0_0._1;
      _box_0.importer = importer;
      isDependency = _0_0._2;
      _box_0.isDependency = isDependency;
      t3 = stylesheet.span;
      url = t3.get$sourceUrl(t3);
      if (url != null) {
        t3 = t1._activeModules;
        if (t3.containsKey$1(url)) {
          t2 = A.NullableExtension_andThen(t3.$index(0, url), new A._EvaluateVisitor__visitDynamicImport__closure(t1));
          throw A.wrapException(t2 == null ? t1._evaluate$_exception$1("This file is already being loaded.") : t2);
        }
        t3.$indexSet(0, url, t2);
      }
      t2 = stylesheet._uses;
      t3 = type$.UnmodifiableListView_UseRule;
      if (new A.UnmodifiableListView(t2, t3).get$length(0) === 0 && new A.UnmodifiableListView(stylesheet._forwards, type$.UnmodifiableListView_ForwardRule).get$length(0) === 0) {
        oldImporter = t1._importer;
        t2 = t1._assertInModule$2(t1.__stylesheet, "_stylesheet");
        oldInDependency = t1._inDependency;
        t1._importer = importer;
        t1.__stylesheet = stylesheet;
        t1._inDependency = isDependency;
        t1.visitStylesheet$1(stylesheet);
        t1._importer = oldImporter;
        t1.__stylesheet = t2;
        t1._inDependency = oldInDependency;
        t1._activeModules.remove$1(0, url);
        return;
      }
      t2 = new A.UnmodifiableListView(t2, t3);
      if (!t2.any$1(t2, new A._EvaluateVisitor__visitDynamicImport__closure0())) {
        t2 = new A.UnmodifiableListView(stylesheet._forwards, type$.UnmodifiableListView_ForwardRule);
        loadsUserDefinedModules = t2.any$1(t2, new A._EvaluateVisitor__visitDynamicImport__closure1());
      } else
        loadsUserDefinedModules = true;
      children = A._Cell$();
      t2 = t1._environment;
      t3 = type$.String;
      t4 = type$.Module_Callable;
      t5 = type$.AstNode;
      t6 = A._setArrayType([], type$.JSArray_Module_Callable);
      t7 = t2._variables;
      t7 = A._setArrayType(t7.slice(0), A._arrayInstanceType(t7));
      t8 = t2._variableNodes;
      t8 = A._setArrayType(t8.slice(0), A._arrayInstanceType(t8));
      t9 = t2._functions;
      t9 = A._setArrayType(t9.slice(0), A._arrayInstanceType(t9));
      t10 = t2._mixins;
      t10 = A._setArrayType(t10.slice(0), A._arrayInstanceType(t10));
      environment = A.Environment$_(A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t3, t5), A.LinkedHashMap_LinkedHashMap$_empty(t4, t5), t2._importedModules, null, null, t6, t7, t8, t9, t10, t2._content);
      t1._withEnvironment$2(environment, new A._EvaluateVisitor__visitDynamicImport__closure2(_box_0, t1, loadsUserDefinedModules, environment, children));
      module = environment.toDummyModule$0();
      t1._environment.importForwards$1(module);
      if (loadsUserDefinedModules) {
        if (module.transitivelyContainsCss)
          t1._combineCss$2$clone(module, module.transitivelyContainsExtensions).accept$1(t1);
        visitor = new A._ImportedCssVisitor(t1);
        for (t2 = J.get$iterator$ax(children._readLocal$0()); t2.moveNext$0();)
          t2.get$current(t2).accept$1(visitor);
      }
      t1._activeModules.remove$1(0, url);
    },
    $signature: 0
  };
  A._EvaluateVisitor__visitDynamicImport__closure.prototype = {
    call$1(previousLoad) {
      return this.$this._multiSpanException$3("This file is already being loaded.", "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String));
    },
    $signature: 91
  };
  A._EvaluateVisitor__visitDynamicImport__closure0.prototype = {
    call$1(rule) {
      return rule.url.get$scheme() !== "sass";
    },
    $signature: 174
  };
  A._EvaluateVisitor__visitDynamicImport__closure1.prototype = {
    call$1(rule) {
      return rule.url.get$scheme() !== "sass";
    },
    $signature: 175
  };
  A._EvaluateVisitor__visitDynamicImport__closure2.prototype = {
    call$0() {
      var t7, t8, _this = this,
        t1 = _this.$this,
        oldImporter = t1._importer,
        t2 = t1._assertInModule$2(t1.__stylesheet, "_stylesheet"),
        t3 = t1._assertInModule$2(t1.__root, "_root"),
        t4 = t1._assertInModule$2(t1.__parent, "__parent"),
        t5 = t1._assertInModule$2(t1.__endOfImports, "_endOfImports"),
        oldOutOfOrderImports = t1._outOfOrderImports,
        oldConfiguration = t1._configuration,
        oldInDependency = t1._inDependency,
        t6 = _this._box_0;
      t1._importer = t6.importer;
      t7 = t6.stylesheet;
      t1.__stylesheet = t7;
      t8 = _this.loadsUserDefinedModules;
      if (t8) {
        t7 = A.ModifiableCssStylesheet$(t7.span);
        t1.__root = t7;
        t1.__parent = t1._assertInModule$2(t7, "_root");
        t1.__endOfImports = 0;
        t1._outOfOrderImports = null;
      }
      t1._inDependency = t6.isDependency;
      t7 = new A.UnmodifiableListView(t6.stylesheet._forwards, type$.UnmodifiableListView_ForwardRule);
      if (!t7.get$isEmpty(t7))
        t1._configuration = _this.environment.toImplicitConfiguration$0();
      t1.visitStylesheet$1(t6.stylesheet);
      t6 = t8 ? t1._addOutOfOrderImports$0() : A._setArrayType([], type$.JSArray_ModifiableCssNode);
      _this.children.__late_helper$_value = t6;
      t1._importer = oldImporter;
      t1.__stylesheet = t2;
      if (t8) {
        t1.__root = t3;
        t1.__parent = t4;
        t1.__endOfImports = t5;
        t1._outOfOrderImports = oldOutOfOrderImports;
      }
      t1._configuration = oldConfiguration;
      t1._inDependency = oldInDependency;
    },
    $signature: 1
  };
  A._EvaluateVisitor__applyMixin_closure.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this;
      t1._environment.asMixin$1(new A._EvaluateVisitor__applyMixin__closure0(t1, _this.$arguments, _this.mixin, _this.nodeWithSpanWithoutContent));
    },
    $signature: 0
  };
  A._EvaluateVisitor__applyMixin__closure0.prototype = {
    call$0() {
      var _this = this;
      _this.$this._runBuiltInCallable$3(_this.$arguments, _this.mixin, _this.nodeWithSpanWithoutContent);
    },
    $signature: 0
  };
  A._EvaluateVisitor__applyMixin_closure0.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this;
      t1._environment.withContent$2(_this.contentCallable, new A._EvaluateVisitor__applyMixin__closure(t1, _this.mixin, _this.nodeWithSpanWithoutContent));
    },
    $signature: 1
  };
  A._EvaluateVisitor__applyMixin__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._environment.asMixin$1(new A._EvaluateVisitor__applyMixin___closure(t1, this.mixin, this.nodeWithSpanWithoutContent));
    },
    $signature: 0
  };
  A._EvaluateVisitor__applyMixin___closure.prototype = {
    call$0() {
      var t1, t2, t3, t4, _i;
      for (t1 = this.mixin.declaration.children, t2 = t1.length, t3 = this.$this, t4 = this.nodeWithSpanWithoutContent, _i = 0; _i < t2; ++_i)
        t3._addErrorSpan$2(t4, new A._EvaluateVisitor__applyMixin____closure(t3, t1[_i]));
    },
    $signature: 0
  };
  A._EvaluateVisitor__applyMixin____closure.prototype = {
    call$0() {
      return this.statement.accept$1(this.$this);
    },
    $signature: 40
  };
  A._EvaluateVisitor_visitIncludeRule_closure.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._environment.getMixin$2$namespace(t1.name, t1.namespace);
    },
    $signature: 102
  };
  A._EvaluateVisitor_visitIncludeRule_closure0.prototype = {
    call$1($content) {
      var t1 = this.$this;
      return new A.UserDefinedCallable($content, t1._environment.closure$0(), t1._inDependency, type$.UserDefinedCallable_Environment);
    },
    $signature: 269
  };
  A._EvaluateVisitor_visitIncludeRule_closure1.prototype = {
    call$0() {
      return this.node.get$spanWithoutContent();
    },
    $signature: 27
  };
  A._EvaluateVisitor_visitMediaRule_closure.prototype = {
    call$1(mediaQueries) {
      return this.$this._mergeMediaQueries$2(mediaQueries, this.queries);
    },
    $signature: 89
  };
  A._EvaluateVisitor_visitMediaRule_closure0.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.mergedQueries;
      if (t2 == null)
        t2 = _this.queries;
      t1._withMediaQueries$3(t2, _this.mergedSources, new A._EvaluateVisitor_visitMediaRule__closure(t1, _this.node));
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitMediaRule__closure.prototype = {
    call$0() {
      var t2, t3, _i,
        t1 = this.$this,
        _0_0 = t1._atRootExcludingStyleRule ? null : t1._styleRuleIgnoringAtRoot;
      if (_0_0 != null)
        t1._withParent$2$3$scopeWhen(A.ModifiableCssStyleRule$(_0_0._style_rule$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitMediaRule___closure(t1, this.node), false, type$.ModifiableCssStyleRule, type$.Null);
      else
        for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i)
          t2[_i].accept$1(t1);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitMediaRule___closure.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitMediaRule_closure1.prototype = {
    call$1(node) {
      var t1;
      if (!(node instanceof A.ModifiableCssStyleRule)) {
        t1 = this.mergedSources;
        t1 = t1.get$isNotEmpty(t1) && node instanceof A.ModifiableCssMediaRule && B.JSArray_methods.every$1(node.queries, t1.get$contains(t1));
      } else
        t1 = true;
      return t1;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitStyleRule_closure.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitStyleRule_closure0.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitStyleRule_closure2.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._withStyleRule$2(this.rule, new A._EvaluateVisitor_visitStyleRule__closure(t1, this.node));
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitStyleRule__closure.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitStyleRule_closure1.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor__warnForBogusCombinators_closure.prototype = {
    call$1(child) {
      return child instanceof A.ModifiableCssComment;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitSupportsRule_closure.prototype = {
    call$0() {
      var t2, t3, _i,
        t1 = this.$this,
        _0_0 = t1._atRootExcludingStyleRule ? null : t1._styleRuleIgnoringAtRoot;
      if (_0_0 != null)
        t1._withParent$2$2(A.ModifiableCssStyleRule$(_0_0._style_rule$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitSupportsRule__closure(t1, this.node), type$.ModifiableCssStyleRule, type$.Null);
      else
        for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i)
          t2[_i].accept$1(t1);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitSupportsRule__closure.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitSupportsRule_closure0.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor__visitSupportsCondition_closure.prototype = {
    call$0() {
      var t4,
        t1 = this.$this,
        t2 = this._box_0,
        t3 = t2.declaration.name;
      t3 = t1._evaluate$_serialize$3$quote(t3.accept$1(t1), t3, true);
      t4 = t2.declaration.get$isCustomProperty() ? "" : " ";
      t2 = t2.declaration.value;
      return "(" + t3 + ":" + t4 + t1._evaluate$_serialize$3$quote(t2.accept$1(t1), t2, true) + ")";
    },
    $signature: 26
  };
  A._EvaluateVisitor_visitVariableDeclaration_closure.prototype = {
    call$0() {
      var t1 = this.$this._environment,
        t2 = this._box_0.override;
      t1.setVariable$4$global(this.node.name, t2.value, t2.assignmentNode, true);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitVariableDeclaration_closure0.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._environment.getVariable$2$namespace(t1.name, t1.namespace);
    },
    $signature: 40
  };
  A._EvaluateVisitor_visitVariableDeclaration_closure1.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = this.node;
      t1._environment.setVariable$5$global$namespace(t2.name, this.value, t1._expressionNode$1(t2.expression), t2.isGlobal, t2.namespace);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitUseRule_closure.prototype = {
    call$2(module, firstLoad) {
      var t1, t2, t3, _0_0, t4, t5, span;
      if (firstLoad)
        this.$this._registerCommentsForModule$1(module);
      t1 = this.$this._environment;
      t2 = this.node;
      t3 = t2.namespace;
      if (t3 == null) {
        t1._globalModules.$indexSet(0, module, t2);
        t1._allModules.push(module);
        _0_0 = A.IterableExtension_firstWhereOrNull(J.get$keys$z(B.JSArray_methods.get$first(t1._variables)), module.get$variables().get$containsKey());
        if (_0_0 != null)
          A.throwExpression(A.SassScriptException$(string$.This_ma + _0_0 + '".', null));
      } else {
        t4 = t1._environment$_modules;
        if (t4.containsKey$1(t3)) {
          t5 = t1._namespaceNodes.$index(0, t3);
          span = t5 == null ? null : t5.span;
          t5 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
          if (span != null)
            t5.$indexSet(0, span, "original @use");
          A.throwExpression(A.MultiSpanSassScriptException$(string$.There_ + t3 + '".', "new @use", t5));
        }
        t4.$indexSet(0, t3, module);
        t1._namespaceNodes.$indexSet(0, t3, t2);
        t1._allModules.push(module);
      }
    },
    $signature: 77
  };
  A._EvaluateVisitor_visitWarnRule_closure.prototype = {
    call$0() {
      return this.node.expression.accept$1(this.$this);
    },
    $signature: 34
  };
  A._EvaluateVisitor_visitWhileRule_closure.prototype = {
    call$0() {
      var t1, t2, t3, _0_0;
      for (t1 = this.node, t2 = t1.condition, t3 = this.$this, t1 = t1.children; t2.accept$1(t3).get$isTruthy();) {
        _0_0 = t3._handleReturn$2(t1, new A._EvaluateVisitor_visitWhileRule__closure(t3));
        if (_0_0 != null)
          return _0_0;
      }
      return null;
    },
    $signature: 40
  };
  A._EvaluateVisitor_visitWhileRule__closure.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 78
  };
  A._EvaluateVisitor_visitBinaryOperationExpression_closure.prototype = {
    call$0() {
      var t1 = this.node,
        t2 = this.$this,
        left = t1.left.accept$1(t2);
      switch (t1.operator) {
        case B.BinaryOperator_wdM:
          t1 = t1.right.accept$1(t2);
          t1 = new A.SassString(A.serializeValue(left, false, true) + "=" + A.serializeValue(t1, false, true), false);
          break;
        case B.BinaryOperator_qNM:
          t1 = left.get$isTruthy() ? left : t1.right.accept$1(t2);
          break;
        case B.BinaryOperator_eDt:
          t1 = left.get$isTruthy() ? t1.right.accept$1(t2) : left;
          break;
        case B.BinaryOperator_g8k:
          t1 = left.$eq(0, t1.right.accept$1(t2)) ? B.SassBoolean_true : B.SassBoolean_false;
          break;
        case B.BinaryOperator_icU:
          t1 = !left.$eq(0, t1.right.accept$1(t2)) ? B.SassBoolean_true : B.SassBoolean_false;
          break;
        case B.BinaryOperator_bEa:
          t1 = left.greaterThan$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_oEm:
          t1 = left.greaterThanOrEquals$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_miq:
          t1 = left.lessThan$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_SPQ:
          t1 = left.lessThanOrEquals$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_u15:
          t1 = left.plus$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_SjO:
          t1 = left.minus$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_2No:
          t1 = left.times$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_U77:
          t1 = t2._slash$3(left, t1.right.accept$1(t2), t1);
          break;
        case B.BinaryOperator_KNx:
          t1 = left.modulo$1(t1.right.accept$1(t2));
          break;
        default:
          t1 = null;
      }
      return t1;
    },
    $signature: 34
  };
  A._EvaluateVisitor__slash_recommendation.prototype = {
    call$1(expression) {
      var t1;
      $label0$0: {
        if (expression instanceof A.BinaryOperationExpression && B.BinaryOperator_U77 === expression.operator) {
          t1 = "math.div(" + A.S(this.call$1(expression.left)) + ", " + A.S(this.call$1(expression.right)) + ")";
          break $label0$0;
        }
        if (expression instanceof A.ParenthesizedExpression) {
          t1 = expression.expression.toString$0(0);
          break $label0$0;
        }
        t1 = expression.toString$0(0);
        break $label0$0;
      }
      return t1;
    },
    $signature: 111
  };
  A._EvaluateVisitor_visitVariableExpression_closure.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._environment.getVariable$2$namespace(t1.name, t1.namespace);
    },
    $signature: 40
  };
  A._EvaluateVisitor_visitUnaryOperationExpression_closure.prototype = {
    call$0() {
      var t1, _this = this;
      switch (_this.node.operator) {
        case B.UnaryOperator_cLp:
          t1 = _this.operand.unaryPlus$0();
          break;
        case B.UnaryOperator_AiQ:
          t1 = _this.operand.unaryMinus$0();
          break;
        case B.UnaryOperator_SJr:
          t1 = new A.SassString("/" + A.serializeValue(_this.operand, false, true), false);
          break;
        case B.UnaryOperator_not_not_not:
          t1 = _this.operand.unaryNot$0();
          break;
        default:
          t1 = null;
      }
      return t1;
    },
    $signature: 34
  };
  A._EvaluateVisitor_visitListExpression_closure.prototype = {
    call$1(expression) {
      return expression.accept$1(this.$this);
    },
    $signature: 265
  };
  A._EvaluateVisitor_visitFunctionExpression_closure.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._environment.getFunction$2$namespace(t1.name, t1.namespace);
    },
    $signature: 102
  };
  A._EvaluateVisitor_visitFunctionExpression_closure0.prototype = {
    call$1(argument) {
      return argument.accept$1(new A._IsCalculationSafeVisitor());
    },
    $signature: 113
  };
  A._EvaluateVisitor_visitFunctionExpression_closure1.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._runFunctionCallable$3(t1.$arguments, this._box_0.$function, t1);
    },
    $signature: 34
  };
  A._EvaluateVisitor__checkCalculationArguments_check.prototype = {
    call$1(maxArgs) {
      var t1 = this.node,
        t2 = t1.$arguments.positional.length;
      if (t2 === 0)
        throw A.wrapException(this.$this._evaluate$_exception$2("Missing argument.", t1.span));
      else if (maxArgs != null && t2 > maxArgs)
        throw A.wrapException(this.$this._evaluate$_exception$2("Only " + A.S(maxArgs) + " " + A.pluralize("argument", maxArgs, null) + " allowed, but " + t2 + " " + A.pluralize("was", t2, "were") + " passed.", t1.span));
    },
    call$0() {
      return this.call$1(null);
    },
    $signature: 96
  };
  A._EvaluateVisitor__visitCalculationExpression_closure.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this._box_0,
        t3 = _this.inLegacySassFunction;
      return A.SassCalculation_operateInternal(t1._binaryOperatorToCalculationOperator$2(t2.operator, _this.node), t1._visitCalculationExpression$2$inLegacySassFunction(t2.left, t3), t1._visitCalculationExpression$2$inLegacySassFunction(t2.right, t3), t3, !t1._inSupportsDeclaration);
    },
    $signature: 79
  };
  A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._runFunctionCallable$3(t1.$arguments, this.$function, t1);
    },
    $signature: 34
  };
  A._EvaluateVisitor__runUserDefinedCallable_closure.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.callable;
      return t1._withEnvironment$2(t2.environment.closure$0(), new A._EvaluateVisitor__runUserDefinedCallable__closure(t1, _this.evaluated, t2, _this.nodeWithSpan, _this.run, _this.V));
    },
    $signature() {
      return this.V._eval$1("0()");
    }
  };
  A._EvaluateVisitor__runUserDefinedCallable__closure.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.V;
      return t1._environment.scope$1$1(new A._EvaluateVisitor__runUserDefinedCallable___closure(t1, _this.evaluated, _this.callable, _this.nodeWithSpan, _this.run, t2), t2);
    },
    $signature() {
      return this.V._eval$1("0()");
    }
  };
  A._EvaluateVisitor__runUserDefinedCallable___closure.prototype = {
    call$0() {
      var declaredArguments, t5, minLength, i, argument, t6, t7, value, t8, restArgument, rest, argumentList, result, argumentWord, _this = this,
        t1 = _this.$this,
        t2 = _this.evaluated._values,
        t3 = _this.callable.declaration.$arguments,
        t4 = _this.nodeWithSpan;
      t1._verifyArguments$4(J.get$length$asx(t2[2]), t2[0], t3, t4);
      declaredArguments = t3.$arguments;
      t5 = declaredArguments.length;
      minLength = Math.min(J.get$length$asx(t2[2]), t5);
      for (i = 0; i < minLength; ++i)
        t1._environment.setLocalVariable$3(declaredArguments[i].name, J.$index$asx(t2[2], i), J.$index$asx(t2[3], i));
      for (i = J.get$length$asx(t2[2]); i < t5; ++i) {
        argument = declaredArguments[i];
        t6 = t2[0];
        t7 = argument.name;
        value = J.remove$1$z(t6, t7);
        if (value == null) {
          t6 = argument.defaultValue;
          value = t1._withoutSlash$2(t6.accept$1(t1), t1._expressionNode$1(t6));
        }
        t6 = t1._environment;
        t8 = J.$index$asx(t2[1], t7);
        if (t8 == null) {
          t8 = argument.defaultValue;
          t8.toString;
          t8 = t1._expressionNode$1(t8);
        }
        t6.setLocalVariable$3(t7, value, t8);
      }
      restArgument = t3.restArgument;
      if (restArgument != null) {
        rest = J.get$length$asx(t2[2]) > t5 ? J.sublist$1$ax(t2[2], t5) : B.List_empty8;
        t5 = t2[0];
        t6 = t2[4];
        argumentList = A.SassArgumentList$(rest, t5, t6 === B.ListSeparator_undecided_null_undecided ? B.ListSeparator_ECn : t6);
        t1._environment.setLocalVariable$3(restArgument, argumentList, t4);
      } else
        argumentList = null;
      result = _this.run.call$0();
      if (argumentList == null)
        return result;
      t5 = t2[0].__js_helper$_length;
      if (t5 === 0)
        return result;
      if (argumentList._wereKeywordsAccessed)
        return result;
      argumentWord = A.pluralize("argument", t5, null);
      t2 = t2[0];
      t5 = A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>");
      throw A.wrapException(A.MultiSpanSassRuntimeException$("No " + argumentWord + " named " + A.toSentence(A.MappedIterable_MappedIterable(new A.LinkedHashMapKeyIterable(t2, t5), new A._EvaluateVisitor__runUserDefinedCallable____closure(), t5._eval$1("Iterable.E"), type$.Object), "or") + ".", t4.get$span(t4), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([t3.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), t1._evaluate$_stackTrace$1(t4.get$span(t4)), null));
    },
    $signature() {
      return this.V._eval$1("0()");
    }
  };
  A._EvaluateVisitor__runUserDefinedCallable____closure.prototype = {
    call$1($name) {
      return "$" + $name;
    },
    $signature: 5
  };
  A._EvaluateVisitor__runFunctionCallable_closure.prototype = {
    call$0() {
      var t1, t2, t3, t4, _i, $returnValue;
      for (t1 = this.callable.declaration, t2 = t1.children, t3 = t2.length, t4 = this.$this, _i = 0; _i < t3; ++_i) {
        $returnValue = t2[_i].accept$1(t4);
        if ($returnValue instanceof A.Value)
          return $returnValue;
      }
      throw A.wrapException(t4._evaluate$_exception$2("Function finished without @return.", t1.span));
    },
    $signature: 34
  };
  A._EvaluateVisitor__runBuiltInCallable_closure.prototype = {
    call$0() {
      return this._box_0.overload.verify$2(J.get$length$asx(this.evaluated._values[2]), this.namedSet);
    },
    $signature: 0
  };
  A._EvaluateVisitor__runBuiltInCallable_closure0.prototype = {
    call$0() {
      return this._box_0.callback.call$1(this.evaluated._values[2]);
    },
    $signature: 34
  };
  A._EvaluateVisitor__runBuiltInCallable_closure1.prototype = {
    call$1($name) {
      return "$" + $name;
    },
    $signature: 5
  };
  A._EvaluateVisitor__evaluateArguments_closure.prototype = {
    call$1(value) {
      return value;
    },
    $signature: 39
  };
  A._EvaluateVisitor__evaluateArguments_closure0.prototype = {
    call$1(value) {
      return this.$this._withoutSlash$2(value, this.restNodeForSpan);
    },
    $signature: 39
  };
  A._EvaluateVisitor__evaluateArguments_closure1.prototype = {
    call$2(key, value) {
      var _this = this,
        t1 = _this.restNodeForSpan;
      _this.named.$indexSet(0, key, _this.$this._withoutSlash$2(value, t1));
      _this.namedNodes.$indexSet(0, key, t1);
    },
    $signature: 98
  };
  A._EvaluateVisitor__evaluateArguments_closure2.prototype = {
    call$1(value) {
      return value;
    },
    $signature: 39
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure.prototype = {
    call$1(value) {
      var t1 = this.restArgs;
      return new A.ValueExpression(value, t1.get$span(t1));
    },
    $signature: 58
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure0.prototype = {
    call$1(value) {
      var t1 = this.restArgs;
      return new A.ValueExpression(this.$this._withoutSlash$2(value, this.restNodeForSpan), t1.get$span(t1));
    },
    $signature: 58
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure1.prototype = {
    call$2(key, value) {
      var _this = this,
        t1 = _this.restArgs;
      _this.named.$indexSet(0, key, new A.ValueExpression(_this.$this._withoutSlash$2(value, _this.restNodeForSpan), t1.get$span(t1)));
    },
    $signature: 98
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure2.prototype = {
    call$1(value) {
      var t1 = this.keywordRestArgs;
      return new A.ValueExpression(this.$this._withoutSlash$2(value, this.keywordRestNodeForSpan), t1.get$span(t1));
    },
    $signature: 58
  };
  A._EvaluateVisitor__addRestMap_closure.prototype = {
    call$2(key, value) {
      var t2, _this = this,
        t1 = _this.$this;
      if (key instanceof A.SassString)
        _this.values.$indexSet(0, key._string$_text, _this.convert.call$1(t1._withoutSlash$2(value, _this.expressionNode)));
      else {
        t2 = _this.nodeWithSpan;
        throw A.wrapException(t1._evaluate$_exception$2(string$.Variab_ + key.toString$0(0) + " is not a string in " + _this.map.toString$0(0) + ".", t2.get$span(t2)));
      }
    },
    $signature: 90
  };
  A._EvaluateVisitor__verifyArguments_closure.prototype = {
    call$0() {
      return this.$arguments.verify$2(this.positional, new A.MapKeySet(this.named, type$.MapKeySet_String));
    },
    $signature: 0
  };
  A._EvaluateVisitor_visitCssAtRule_closure.prototype = {
    call$0() {
      var t1, t2, t3, t4;
      for (t1 = this.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = this.$this, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        (t4 == null ? t2._as(t4) : t4).accept$1(t3);
      }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssAtRule_closure0.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitCssKeyframeBlock_closure.prototype = {
    call$0() {
      var t1, t2, t3, t4;
      for (t1 = this.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = this.$this, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        (t4 == null ? t2._as(t4) : t4).accept$1(t3);
      }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssKeyframeBlock_closure0.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitCssMediaRule_closure.prototype = {
    call$1(mediaQueries) {
      return this.$this._mergeMediaQueries$2(mediaQueries, this.node.queries);
    },
    $signature: 89
  };
  A._EvaluateVisitor_visitCssMediaRule_closure0.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.mergedQueries;
      if (t2 == null)
        t2 = _this.node.queries;
      t1._withMediaQueries$3(t2, _this.mergedSources, new A._EvaluateVisitor_visitCssMediaRule__closure(t1, _this.node));
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssMediaRule__closure.prototype = {
    call$0() {
      var t2, t3, t4,
        t1 = this.$this,
        _0_0 = t1._atRootExcludingStyleRule ? null : t1._styleRuleIgnoringAtRoot;
      if (_0_0 != null)
        t1._withParent$2$3$scopeWhen(A.ModifiableCssStyleRule$(_0_0._style_rule$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitCssMediaRule___closure(t1, this.node), false, type$.ModifiableCssStyleRule, type$.Null);
      else
        for (t2 = this.node.children, t3 = t2.$ti, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t3 = t3._eval$1("ListBase.E"); t2.moveNext$0();) {
          t4 = t2.__internal$_current;
          (t4 == null ? t3._as(t4) : t4).accept$1(t1);
        }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssMediaRule___closure.prototype = {
    call$0() {
      var t1, t2, t3, t4;
      for (t1 = this.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = this.$this, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        (t4 == null ? t2._as(t4) : t4).accept$1(t3);
      }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssMediaRule_closure1.prototype = {
    call$1(node) {
      var t1;
      if (!(node instanceof A.ModifiableCssStyleRule)) {
        t1 = this.mergedSources;
        t1 = t1.get$isNotEmpty(t1) && node instanceof A.ModifiableCssMediaRule && B.JSArray_methods.every$1(node.queries, t1.get$contains(t1));
      } else
        t1 = true;
      return t1;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitCssStyleRule_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._withStyleRule$2(this.rule, new A._EvaluateVisitor_visitCssStyleRule__closure(t1, this.node));
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssStyleRule__closure.prototype = {
    call$0() {
      var t1, t2, t3, t4;
      for (t1 = this.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = this.$this, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        (t4 == null ? t2._as(t4) : t4).accept$1(t3);
      }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssStyleRule_closure.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor_visitCssSupportsRule_closure.prototype = {
    call$0() {
      var t2, t3, t4,
        t1 = this.$this,
        _0_0 = t1._atRootExcludingStyleRule ? null : t1._styleRuleIgnoringAtRoot;
      if (_0_0 != null)
        t1._withParent$2$2(A.ModifiableCssStyleRule$(_0_0._style_rule$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitCssSupportsRule__closure(t1, this.node), type$.ModifiableCssStyleRule, type$.Null);
      else
        for (t2 = this.node.children, t3 = t2.$ti, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t3 = t3._eval$1("ListBase.E"); t2.moveNext$0();) {
          t4 = t2.__internal$_current;
          (t4 == null ? t3._as(t4) : t4).accept$1(t1);
        }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssSupportsRule__closure.prototype = {
    call$0() {
      var t1, t2, t3, t4;
      for (t1 = this.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = this.$this, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        (t4 == null ? t2._as(t4) : t4).accept$1(t3);
      }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssSupportsRule_closure0.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluateVisitor__performInterpolationHelper_closure.prototype = {
    call$1(targetLocations) {
      return A.InterpolationMap$(this.interpolation, targetLocations);
    },
    $signature: 181
  };
  A._EvaluateVisitor__serialize_closure.prototype = {
    call$0() {
      return A.serializeValue(this.value, false, this.quote);
    },
    $signature: 26
  };
  A._EvaluateVisitor__expressionNode_closure.prototype = {
    call$0() {
      var t1 = this.expression;
      return this.$this._environment.getVariableNode$2$namespace(t1.name, t1.namespace);
    },
    $signature: 182
  };
  A._EvaluateVisitor__withoutSlash_recommendation.prototype = {
    call$1(number) {
      var t1, before, after,
        _1_0 = number.asSlash;
      $label0$0: {
        if (type$.Record_2_nullable_Object_and_nullable_Object._is(_1_0)) {
          t1 = type$.SassNumber;
          before = t1._as(_1_0._0);
          after = t1._as(_1_0._1);
          t1 = "math.div(" + A.S(this.call$1(before)) + ", " + A.S(this.call$1(after)) + ")";
          break $label0$0;
        }
        t1 = A.serializeValue(number, true, true);
        break $label0$0;
      }
      return t1;
    },
    $signature: 183
  };
  A._EvaluateVisitor__stackFrame_closure.prototype = {
    call$1(url) {
      var t1 = this.$this._evaluate$_importCache;
      t1 = t1 == null ? null : t1.humanize$1(url);
      return t1 == null ? url : t1;
    },
    $signature: 43
  };
  A._ImportedCssVisitor.prototype = {
    visitCssAtRule$1(node) {
      var t1 = node.isChildless ? null : new A._ImportedCssVisitor_visitCssAtRule_closure();
      this._visitor._addChild$2$through(node, t1);
    },
    visitCssComment$1(node) {
      return this._visitor._addChild$1(node);
    },
    visitCssDeclaration$1(node) {
    },
    visitCssImport$1(node) {
      var t2,
        _s13_ = "_endOfImports",
        t1 = this._visitor;
      if (t1._assertInModule$2(t1.__parent, "__parent") !== t1._assertInModule$2(t1.__root, "_root"))
        t1._addChild$1(node);
      else if (t1._assertInModule$2(t1.__endOfImports, _s13_) === J.get$length$asx(t1._assertInModule$2(t1.__root, "_root").children._collection$_source)) {
        t1._addChild$1(node);
        t1.__endOfImports = t1._assertInModule$2(t1.__endOfImports, _s13_) + 1;
      } else {
        t2 = t1._outOfOrderImports;
        (t2 == null ? t1._outOfOrderImports = A._setArrayType([], type$.JSArray_ModifiableCssImport) : t2).push(node);
      }
    },
    visitCssKeyframeBlock$1(node) {
    },
    visitCssMediaRule$1(node) {
      var t1 = this._visitor,
        mediaQueries = t1._mediaQueries;
      t1._addChild$2$through(node, new A._ImportedCssVisitor_visitCssMediaRule_closure(mediaQueries == null || t1._mergeMediaQueries$2(mediaQueries, node.queries) != null));
    },
    visitCssStyleRule$1(node) {
      return this._visitor._addChild$2$through(node, new A._ImportedCssVisitor_visitCssStyleRule_closure());
    },
    visitCssStylesheet$1(node) {
      var t1, t2, t3;
      for (t1 = node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        (t3 == null ? t2._as(t3) : t3).accept$1(this);
      }
    },
    visitCssSupportsRule$1(node) {
      return this._visitor._addChild$2$through(node, new A._ImportedCssVisitor_visitCssSupportsRule_closure());
    }
  };
  A._ImportedCssVisitor_visitCssAtRule_closure.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._ImportedCssVisitor_visitCssMediaRule_closure.prototype = {
    call$1(node) {
      var t1;
      if (!(node instanceof A.ModifiableCssStyleRule))
        t1 = this.hasBeenMerged && node instanceof A.ModifiableCssMediaRule;
      else
        t1 = true;
      return t1;
    },
    $signature: 7
  };
  A._ImportedCssVisitor_visitCssStyleRule_closure.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._ImportedCssVisitor_visitCssSupportsRule_closure.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule;
    },
    $signature: 7
  };
  A._EvaluationContext.prototype = {
    get$currentCallableSpan() {
      var _0_0 = this._visitor._callableNode;
      if (_0_0 != null)
        return _0_0.get$span(_0_0);
      throw A.wrapException(A.StateError$(string$.No_Sasc));
    },
    warn$2(_, message, deprecation) {
      var t1 = this._visitor,
        t2 = t1._importSpan;
      if (t2 == null) {
        t2 = t1._callableNode;
        t2 = t2 == null ? null : t2.get$span(t2);
      }
      if (t2 == null) {
        t2 = this._defaultWarnNodeWithSpan;
        t2 = t2.get$span(t2);
      }
      t1._warn$3(message, t2, deprecation);
    },
    $isEvaluationContext: 1
  };
  A.EveryCssVisitor.prototype = {
    visitCssAtRule$1(node) {
      var t1 = node.children;
      return t1.every$1(t1, new A.EveryCssVisitor_visitCssAtRule_closure(this));
    },
    visitCssComment$1(node) {
      return false;
    },
    visitCssDeclaration$1(node) {
      return false;
    },
    visitCssImport$1(node) {
      return false;
    },
    visitCssKeyframeBlock$1(node) {
      var t1 = node.children;
      return t1.every$1(t1, new A.EveryCssVisitor_visitCssKeyframeBlock_closure(this));
    },
    visitCssMediaRule$1(node) {
      var t1 = node.children;
      return t1.every$1(t1, new A.EveryCssVisitor_visitCssMediaRule_closure(this));
    },
    visitCssStyleRule$1(node) {
      var t1 = node.children;
      return t1.every$1(t1, new A.EveryCssVisitor_visitCssStyleRule_closure(this));
    },
    visitCssStylesheet$1(node) {
      return J.every$1$ax(node.get$children(node), new A.EveryCssVisitor_visitCssStylesheet_closure(this));
    },
    visitCssSupportsRule$1(node) {
      var t1 = node.children;
      return t1.every$1(t1, new A.EveryCssVisitor_visitCssSupportsRule_closure(this));
    }
  };
  A.EveryCssVisitor_visitCssAtRule_closure.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 7
  };
  A.EveryCssVisitor_visitCssKeyframeBlock_closure.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 7
  };
  A.EveryCssVisitor_visitCssMediaRule_closure.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 7
  };
  A.EveryCssVisitor_visitCssStyleRule_closure.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 7
  };
  A.EveryCssVisitor_visitCssStylesheet_closure.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 7
  };
  A.EveryCssVisitor_visitCssSupportsRule_closure.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 7
  };
  A._MakeExpressionCalculationSafe.prototype = {
    visitBinaryOperationExpression$1(node) {
      var t1, t2, t3, t4;
      if (node.operator === B.BinaryOperator_KNx) {
        t1 = A._setArrayType([node], type$.JSArray_Expression);
        t2 = node.get$span(0);
        t3 = type$.Expression;
        t1 = A.List_List$unmodifiable(t1, t3);
        t3 = A.ConstantMap_ConstantMap$from(B.Map_empty6, type$.String, t3);
        t4 = node.get$span(0);
        t1 = new A.FunctionExpression("math", A.stringReplaceAllUnchecked("max", "_", "-"), "max", new A.ArgumentInvocation(t1, t3, null, null, t2), t4);
      } else
        t1 = this.super$ReplaceExpressionVisitor$visitBinaryOperationExpression(node);
      return t1;
    },
    visitInterpolatedFunctionExpression$1(node) {
      return node;
    },
    visitUnaryOperationExpression$1(node) {
      var t1,
        _0_0 = node.operator;
      $label0$0: {
        if (B.UnaryOperator_cLp === _0_0) {
          t1 = node.operand;
          break $label0$0;
        }
        if (B.UnaryOperator_AiQ === _0_0) {
          t1 = new A.BinaryOperationExpression(B.BinaryOperator_2No, new A.NumberExpression(-1, null, node.span), node.operand, false);
          break $label0$0;
        }
        t1 = this.super$ReplaceExpressionVisitor$visitUnaryOperationExpression(node);
        break $label0$0;
      }
      return t1;
    }
  };
  A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor.prototype = {};
  A._FindDependenciesVisitor.prototype = {
    visitEachRule$1(node) {
    },
    visitForRule$1(node) {
    },
    visitIfRule$1(node) {
    },
    visitWhileRule$1(node) {
    },
    visitUseRule$1(node) {
      var t1 = node.url;
      if (t1.get$scheme() !== "sass")
        this._find_dependencies$_uses.add$1(0, t1);
      else if (t1.toString$0(0) === "sass:meta")
        this._metaNamespaces.add$1(0, node.namespace);
    },
    visitForwardRule$1(node) {
      var t1 = node.url;
      if (t1.get$scheme() !== "sass")
        this._find_dependencies$_forwards.add$1(0, t1);
    },
    visitImportRule$1(node) {
      var t1, t2, t3, _i, $import;
      for (t1 = node.imports, t2 = t1.length, t3 = this._imports, _i = 0; _i < t2; ++_i) {
        $import = t1[_i];
        if ($import instanceof A.DynamicImport)
          t3.add$1(0, A.Uri_parse($import.urlString));
      }
    },
    visitIncludeRule$1(node) {
      var url, _0_0, _0_4_isSet, _0_4, t1, _0_7_isSet, _0_7, url0, exception, _null = null;
      if (node.name !== "load-css")
        return;
      if (!this._metaNamespaces.contains$1(0, node.namespace))
        return;
      _0_0 = node.$arguments.positional;
      url = null;
      _0_4_isSet = _0_0.length === 1;
      if (_0_4_isSet) {
        _0_4 = _0_0[0];
        t1 = _0_4;
        _0_7_isSet = t1 instanceof A.StringExpression;
        if (_0_7_isSet) {
          type$.StringExpression._as(_0_4);
          _0_7 = _0_4.text.get$asPlain();
          t1 = _0_7;
          t1 = t1 != null;
        } else {
          _0_7 = _null;
          t1 = false;
        }
      } else {
        _0_7 = _null;
        _0_4 = _0_7;
        _0_7_isSet = false;
        t1 = false;
      }
      if (t1) {
        if (_0_7_isSet)
          url0 = _0_7;
        else {
          t1 = _0_4_isSet ? _0_4 : _0_0[0];
          _0_7 = type$.StringExpression._as(t1).text.get$asPlain();
          url0 = _0_7;
        }
        url = url0 == null ? A._asString(url0) : url0;
        try {
          this._metaLoadCss.add$1(0, A.Uri_parse(url));
        } catch (exception) {
          if (!type$.FormatException._is(A.unwrapException(exception)))
            throw exception;
        }
      }
    }
  };
  A.DependencyReport.prototype = {};
  A.__FindDependenciesVisitor_Object_RecursiveStatementVisitor.prototype = {};
  A.RecursiveStatementVisitor.prototype = {
    visitAtRootRule$1(node) {
      this.visitChildren$1(node.children);
    },
    visitAtRule$1(node) {
      return A.NullableExtension_andThen(node.children, this.get$visitChildren());
    },
    visitContentBlock$1(node) {
      return null;
    },
    visitContentRule$1(node) {
    },
    visitDebugRule$1(node) {
    },
    visitDeclaration$1(node) {
      return A.NullableExtension_andThen(node.children, this.get$visitChildren());
    },
    visitEachRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitErrorRule$1(node) {
    },
    visitExtendRule$1(node) {
    },
    visitForRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitForwardRule$1(node) {
    },
    visitFunctionRule$1(node) {
      return null;
    },
    visitIfRule$1(node) {
      var t1, t2, _i, t3, t4, _i0, _0_0;
      for (t1 = node.clauses, t2 = t1.length, _i = 0; _i < t2; ++_i)
        for (t3 = t1[_i].children, t4 = t3.length, _i0 = 0; _i0 < t4; ++_i0)
          t3[_i0].accept$1(this);
      _0_0 = node.lastClause;
      if (_0_0 != null)
        for (t1 = _0_0.children, t2 = t1.length, _i = 0; _i < t2; ++_i)
          t1[_i].accept$1(this);
    },
    visitImportRule$1(node) {
    },
    visitIncludeRule$1(node) {
      return A.NullableExtension_andThen(node.content, this.get$visitContentBlock());
    },
    visitLoudComment$1(node) {
    },
    visitMediaRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitMixinRule$1(node) {
      return null;
    },
    visitReturnRule$1(node) {
    },
    visitSilentComment$1(node) {
    },
    visitStyleRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitStylesheet$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitSupportsRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitUseRule$1(node) {
    },
    visitVariableDeclaration$1(node) {
    },
    visitWarnRule$1(node) {
    },
    visitWhileRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitChildren$1(children) {
      var t1;
      for (t1 = J.get$iterator$ax(children); t1.moveNext$0();)
        t1.get$current(t1).accept$1(this);
    }
  };
  A.ReplaceExpressionVisitor.prototype = {
    visitBinaryOperationExpression$1(node) {
      return new A.BinaryOperationExpression(node.operator, node.left.accept$1(this), node.right.accept$1(this), false);
    },
    visitBooleanExpression$1(node) {
      return node;
    },
    visitColorExpression$1(node) {
      return node;
    },
    visitFunctionExpression$1(node) {
      var t1 = node.originalName,
        t2 = this.visitArgumentInvocation$1(node.$arguments);
      return new A.FunctionExpression(node.namespace, A.stringReplaceAllUnchecked(t1, "_", "-"), t1, t2, node.span);
    },
    visitInterpolatedFunctionExpression$1(node) {
      return new A.InterpolatedFunctionExpression(this.visitInterpolation$1(node.name), this.visitArgumentInvocation$1(node.$arguments), node.span);
    },
    visitIfExpression$1(node) {
      return new A.IfExpression(this.visitArgumentInvocation$1(node.$arguments), node.span);
    },
    visitListExpression$1(node) {
      var t1 = node.contents;
      return new A.ListExpression(A.List_List$unmodifiable(new A.MappedListIterable(t1, new A.ReplaceExpressionVisitor_visitListExpression_closure(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Expression>")), type$.Expression), node.separator, node.hasBrackets, node.span);
    },
    visitMapExpression$1(node) {
      var t2, t3, _i, t4, key, value,
        t1 = A._setArrayType([], type$.JSArray_Record_2_Expression_and_Expression);
      for (t2 = node.pairs, t3 = t2.length, _i = 0; _i < t3; ++_i) {
        t4 = t2[_i];
        key = t4._0;
        value = t4._1;
        t1.push(new A._Record_2(key.accept$1(this), value.accept$1(this)));
      }
      return new A.MapExpression(A.List_List$unmodifiable(t1, type$.Record_2_Expression_and_Expression), node.span);
    },
    visitNullExpression$1(node) {
      return node;
    },
    visitNumberExpression$1(node) {
      return node;
    },
    visitParenthesizedExpression$1(node) {
      return new A.ParenthesizedExpression(node.expression.accept$1(this), node.span);
    },
    visitSelectorExpression$1(node) {
      return node;
    },
    visitStringExpression$1(node) {
      return new A.StringExpression(this.visitInterpolation$1(node.text), node.hasQuotes);
    },
    visitSupportsExpression$1(node) {
      return new A.SupportsExpression(this.visitSupportsCondition$1(node.condition));
    },
    visitUnaryOperationExpression$1(node) {
      return new A.UnaryOperationExpression(node.operator, node.operand.accept$1(this), node.span);
    },
    visitValueExpression$1(node) {
      return node;
    },
    visitVariableExpression$1(node) {
      return node;
    },
    visitArgumentInvocation$1(invocation) {
      var t5, t6, _this = this,
        t1 = invocation.positional,
        t2 = type$.String,
        t3 = type$.Expression,
        t4 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t3);
      for (t5 = A.MapExtensions_get_pairs(invocation.named, t2, t3), t5 = t5.get$iterator(t5); t5.moveNext$0();) {
        t6 = t5.get$current(t5);
        t4.$indexSet(0, t6._0, t6._1.accept$1(_this));
      }
      t5 = invocation.rest;
      t5 = t5 == null ? null : t5.accept$1(_this);
      t6 = invocation.keywordRest;
      t6 = t6 == null ? null : t6.accept$1(_this);
      return new A.ArgumentInvocation(A.List_List$unmodifiable(new A.MappedListIterable(t1, new A.ReplaceExpressionVisitor_visitArgumentInvocation_closure(_this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Expression>")), t3), A.ConstantMap_ConstantMap$from(t4, t2, t3), t5, t6, invocation.span);
    },
    visitSupportsCondition$1(condition) {
      var _this = this;
      if (condition instanceof A.SupportsOperation)
        return A.SupportsOperation$(_this.visitSupportsCondition$1(condition.left), _this.visitSupportsCondition$1(condition.right), condition.operator, condition.span);
      else if (condition instanceof A.SupportsNegation)
        return new A.SupportsNegation(_this.visitSupportsCondition$1(condition.condition), condition.span);
      else if (condition instanceof A.SupportsInterpolation)
        return new A.SupportsInterpolation(condition.expression.accept$1(_this), condition.span);
      else if (condition instanceof A.SupportsDeclaration)
        return new A.SupportsDeclaration(condition.name.accept$1(_this), condition.value.accept$1(_this), condition.span);
      else
        throw A.wrapException(A.SassException$("BUG: Unknown SupportsCondition " + condition.toString$0(0) + ".", condition.get$span(condition), null));
    },
    visitInterpolation$1(interpolation) {
      var t1 = interpolation.contents;
      return A.Interpolation$(new A.MappedListIterable(t1, new A.ReplaceExpressionVisitor_visitInterpolation_closure(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Object>")), interpolation.span);
    }
  };
  A.ReplaceExpressionVisitor_visitListExpression_closure.prototype = {
    call$1(item) {
      return item.accept$1(this.$this);
    },
    $signature: 238
  };
  A.ReplaceExpressionVisitor_visitArgumentInvocation_closure.prototype = {
    call$1(expression) {
      return expression.accept$1(this.$this);
    },
    $signature: 238
  };
  A.ReplaceExpressionVisitor_visitInterpolation_closure.prototype = {
    call$1(node) {
      return type$.Expression._is(node) ? node.accept$1(this.$this) : node;
    },
    $signature: 67
  };
  A.SelectorSearchVisitor.prototype = {
    visitAttributeSelector$1(attribute) {
      return null;
    },
    visitClassSelector$1(klass) {
      return null;
    },
    visitIDSelector$1(id) {
      return null;
    },
    visitParentSelector$1(placeholder) {
      return null;
    },
    visitPlaceholderSelector$1(placeholder) {
      return null;
    },
    visitTypeSelector$1(type) {
      return null;
    },
    visitUniversalSelector$1(universal) {
      return null;
    },
    visitComplexSelector$1(complex) {
      return A.IterableExtension_search(complex.components, new A.SelectorSearchVisitor_visitComplexSelector_closure(this));
    },
    visitCompoundSelector$1(compound) {
      return A.IterableExtension_search(compound.components, new A.SelectorSearchVisitor_visitCompoundSelector_closure(this));
    },
    visitPseudoSelector$1(pseudo) {
      return A.NullableExtension_andThen(pseudo.selector, this.get$visitSelectorList());
    },
    visitSelectorList$1(list) {
      return A.IterableExtension_search(list.components, this.get$visitComplexSelector());
    }
  };
  A.SelectorSearchVisitor_visitComplexSelector_closure.prototype = {
    call$1(component) {
      return this.$this.visitCompoundSelector$1(component.selector);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("SelectorSearchVisitor.T?(ComplexSelectorComponent)");
    }
  };
  A.SelectorSearchVisitor_visitCompoundSelector_closure.prototype = {
    call$1(simple) {
      return simple.accept$1(this.$this);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("SelectorSearchVisitor.T?(SimpleSelector)");
    }
  };
  A.serialize_closure.prototype = {
    call$1(codeUnit) {
      return codeUnit > 127;
    },
    $signature: 45
  };
  A._SerializeVisitor.prototype = {
    visitCssStylesheet$1(node) {
      var t1, t2, t3, t4, t5, t6, previous, previous0, t7, _this = this;
      for (t1 = J.get$iterator$ax(node.get$children(node)), t2 = !_this._inspect, t3 = _this._style === B.OutputStyle_1, t4 = !t3, t5 = type$.CssParentNode, t6 = _this._serialize$_buffer, previous = null; t1.moveNext$0();) {
        previous0 = t1.get$current(t1);
        if (t2)
          t7 = t3 ? previous0.accept$1(B._IsInvisibleVisitor_true_true) : previous0.accept$1(B._IsInvisibleVisitor_true_false);
        else
          t7 = false;
        if (t7)
          continue;
        if (previous != null) {
          if (t5._is(previous) ? previous.get$isChildless() : !(previous instanceof A.ModifiableCssComment))
            t6.writeCharCode$1(59);
          if (_this._isTrailingComment$2(previous0, previous)) {
            if (t4)
              t6.writeCharCode$1(32);
          } else {
            if (t4)
              t6.write$1(0, "\n");
            if (previous.get$isGroupEnd())
              if (t4)
                t6.write$1(0, "\n");
          }
        }
        previous0.accept$1(_this);
        previous = previous0;
      }
      if (previous != null)
        t1 = (t5._is(previous) ? previous.get$isChildless() : !(previous instanceof A.ModifiableCssComment)) && t4;
      else
        t1 = false;
      if (t1)
        t6.writeCharCode$1(59);
    },
    visitCssComment$1(node) {
      this._serialize$_buffer.forSpan$2(node.span, new A._SerializeVisitor_visitCssComment_closure(this, node));
    },
    visitCssAtRule$1(node) {
      var t1, _this = this;
      _this._writeIndentation$0();
      t1 = _this._serialize$_buffer;
      t1.forSpan$2(node.span, new A._SerializeVisitor_visitCssAtRule_closure(_this, node));
      if (!node.isChildless) {
        if (_this._style !== B.OutputStyle_1)
          t1.writeCharCode$1(32);
        _this._serialize$_visitChildren$1(node);
      }
    },
    visitCssMediaRule$1(node) {
      var t1, _this = this;
      _this._writeIndentation$0();
      t1 = _this._serialize$_buffer;
      t1.forSpan$2(node.span, new A._SerializeVisitor_visitCssMediaRule_closure(_this, node));
      if (_this._style !== B.OutputStyle_1)
        t1.writeCharCode$1(32);
      _this._serialize$_visitChildren$1(node);
    },
    visitCssImport$1(node) {
      this._writeIndentation$0();
      this._serialize$_buffer.forSpan$2(node.span, new A._SerializeVisitor_visitCssImport_closure(this, node));
    },
    _writeImportUrl$1(url) {
      var urlContents, maybeQuote, _this = this;
      if (_this._style !== B.OutputStyle_1 || url.charCodeAt(0) !== 117) {
        _this._serialize$_buffer.write$1(0, url);
        return;
      }
      urlContents = B.JSString_methods.substring$2(url, 4, url.length - 1);
      maybeQuote = urlContents.charCodeAt(0);
      if (maybeQuote === 39 || maybeQuote === 34)
        _this._serialize$_buffer.write$1(0, urlContents);
      else
        _this._visitQuotedString$1(urlContents);
    },
    visitCssKeyframeBlock$1(node) {
      var t1, _this = this;
      _this._writeIndentation$0();
      t1 = _this._serialize$_buffer;
      t1.forSpan$2(node.selector.span, new A._SerializeVisitor_visitCssKeyframeBlock_closure(_this, node));
      if (_this._style !== B.OutputStyle_1)
        t1.writeCharCode$1(32);
      _this._serialize$_visitChildren$1(node);
    },
    _visitMediaQuery$1(query) {
      var t1, _1_0, _2_0, condition, operator, t2, _this = this,
        _0_0 = query.modifier;
      if (_0_0 != null) {
        t1 = _this._serialize$_buffer;
        t1.write$1(0, _0_0);
        t1.writeCharCode$1(32);
      }
      _1_0 = query.type;
      if (_1_0 != null) {
        t1 = _this._serialize$_buffer;
        t1.write$1(0, _1_0);
        if (query.conditions.length !== 0)
          t1.write$1(0, " and ");
      }
      _2_0 = query.conditions;
      if (_2_0.length === 1)
        t1 = B.JSString_methods.startsWith$1(_2_0[0], "(not ");
      else
        t1 = false;
      if (t1) {
        t1 = _this._serialize$_buffer;
        t1.write$1(0, "not ");
        condition = B.JSArray_methods.get$first(_2_0);
        t1.write$1(0, B.JSString_methods.substring$2(condition, 5, condition.length - 1));
      } else {
        operator = query.conjunction ? "and" : "or";
        t1 = _this._style === B.OutputStyle_1 ? operator + " " : " " + operator + " ";
        t2 = _this._serialize$_buffer;
        _this._writeBetween$3(_2_0, t1, t2.get$write(t2));
      }
    },
    visitCssStyleRule$1(node) {
      var t1, _this = this;
      _this._writeIndentation$0();
      t1 = _this._serialize$_buffer;
      t1.forSpan$2(node._style_rule$_selector._box$_inner.value.span, new A._SerializeVisitor_visitCssStyleRule_closure(_this, node));
      if (_this._style !== B.OutputStyle_1)
        t1.writeCharCode$1(32);
      _this._serialize$_visitChildren$1(node);
    },
    visitCssSupportsRule$1(node) {
      var t1, _this = this;
      _this._writeIndentation$0();
      t1 = _this._serialize$_buffer;
      t1.forSpan$2(node.span, new A._SerializeVisitor_visitCssSupportsRule_closure(_this, node));
      if (_this._style !== B.OutputStyle_1)
        t1.writeCharCode$1(32);
      _this._serialize$_visitChildren$1(node);
    },
    visitCssDeclaration$1(node) {
      var error, stackTrace, error0, stackTrace0, t1, t2, exception, _this = this;
      _this._writeIndentation$0();
      t1 = node.name;
      _this._serialize$_write$1(t1);
      t2 = _this._serialize$_buffer;
      t2.writeCharCode$1(58);
      if (J.startsWith$1$s(t1.value, "--") && node.parsedAsCustomProperty)
        t2.forSpan$2(node.value.span, new A._SerializeVisitor_visitCssDeclaration_closure(_this, node));
      else {
        if (_this._style !== B.OutputStyle_1)
          t2.writeCharCode$1(32);
        try {
          t2.forSpan$2(node.valueSpanForMap, new A._SerializeVisitor_visitCssDeclaration_closure0(_this, node));
        } catch (exception) {
          t1 = A.unwrapException(exception);
          if (t1 instanceof A.MultiSpanSassScriptException) {
            error = t1;
            stackTrace = A.getTraceFromException(exception);
            A.throwWithTrace(A.MultiSpanSassException$(error.message, node.value.span, error.primaryLabel, error.secondarySpans, null), error, stackTrace);
          } else if (t1 instanceof A.SassScriptException) {
            error0 = t1;
            stackTrace0 = A.getTraceFromException(exception);
            t1 = error0.message;
            A.throwWithTrace(new A.SassException(B.Set_empty, t1, node.value.span), error0, stackTrace0);
          } else
            throw exception;
        }
      }
    },
    _writeFoldedValue$1(node) {
      var t1, t2, next, t3,
        scanner = A.StringScanner$(type$.SassString._as(node.value.value)._string$_text, null, null);
      for (t1 = scanner.string.length, t2 = this._serialize$_buffer; scanner._string_scanner$_position !== t1;) {
        next = scanner.readChar$0();
        if (next !== 10) {
          t2.writeCharCode$1(next);
          continue;
        }
        t2.writeCharCode$1(32);
        while (true) {
          t3 = scanner.peekChar$0();
          if (!(t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12))
            break;
          scanner.readChar$0();
        }
      }
    },
    _writeReindentedValue$1(node) {
      var _0_0, t1, _this = this,
        value = type$.SassString._as(node.value.value)._string$_text;
      $label0$0: {
        _0_0 = _this._minimumIndentation$1(value);
        if (_0_0 == null) {
          _this._serialize$_buffer.write$1(0, value);
          break $label0$0;
        }
        if (-1 === _0_0) {
          t1 = _this._serialize$_buffer;
          t1.write$1(0, A.trimAsciiRight(value, true));
          t1.writeCharCode$1(32);
          break $label0$0;
        }
        t1 = node.name.span;
        t1 = t1.get$start(t1);
        _this._writeWithIndent$2(value, Math.min(_0_0, t1.file.getColumn$1(t1.offset)));
      }
    },
    _minimumIndentation$1(text) {
      var character, t2, min, next, min0,
        scanner = A.LineScanner$(text),
        t1 = scanner.string.length;
      while (true) {
        if (scanner._string_scanner$_position !== t1) {
          character = scanner.super$StringScanner$readChar();
          scanner._adjustLineAndColumn$1(character);
          t2 = character !== 10;
        } else
          t2 = false;
        if (!t2)
          break;
      }
      if (scanner._string_scanner$_position === t1)
        return scanner.peekChar$1(-1) === 10 ? -1 : null;
      for (min = null; scanner._string_scanner$_position !== t1;) {
        for (; scanner._string_scanner$_position !== t1;) {
          next = scanner.peekChar$0();
          if (next !== 32 && next !== 9)
            break;
          scanner._adjustLineAndColumn$1(scanner.super$StringScanner$readChar());
        }
        if (scanner._string_scanner$_position === t1 || scanner.scanChar$1(10))
          continue;
        min0 = scanner._line_scanner$_column;
        min = min == null ? min0 : Math.min(min, min0);
        while (true) {
          if (scanner._string_scanner$_position !== t1) {
            character = scanner.super$StringScanner$readChar();
            scanner._adjustLineAndColumn$1(character);
            t2 = character !== 10;
          } else
            t2 = false;
          if (!t2)
            break;
        }
      }
      return min == null ? -1 : min;
    },
    _writeWithIndent$2(text, minimumIndentation) {
      var t1, t2, t3, character, lineStart, newlines, end,
        scanner = A.LineScanner$(text);
      for (t1 = scanner.string, t2 = t1.length, t3 = this._serialize$_buffer; scanner._string_scanner$_position !== t2;) {
        character = scanner.super$StringScanner$readChar();
        scanner._adjustLineAndColumn$1(character);
        if (character === 10)
          break;
        t3.writeCharCode$1(character);
      }
      for (; true;) {
        lineStart = scanner._string_scanner$_position;
        for (newlines = 1; true;) {
          if (scanner._string_scanner$_position === t2) {
            t3.writeCharCode$1(32);
            return;
          }
          $label0$2: {
            character = scanner.super$StringScanner$readChar();
            scanner._adjustLineAndColumn$1(character);
            if (32 === character || 9 === character)
              continue;
            if (10 === character) {
              lineStart = scanner._string_scanner$_position;
              ++newlines;
              break $label0$2;
            }
            break;
          }
        }
        this._writeTimes$2(10, newlines);
        this._writeIndentation$0();
        end = scanner._string_scanner$_position;
        t3.write$1(0, B.JSString_methods.substring$2(t1, lineStart + minimumIndentation, end));
        for (; true;) {
          if (scanner._string_scanner$_position === t2)
            return;
          character = scanner.super$StringScanner$readChar();
          scanner._adjustLineAndColumn$1(character);
          if (character === 10)
            break;
          t3.writeCharCode$1(character);
        }
      }
    },
    visitCalculation$1(value) {
      var t2, _this = this,
        t1 = _this._serialize$_buffer;
      t1.write$1(0, value.name);
      t1.writeCharCode$1(40);
      t2 = _this._style === B.OutputStyle_1 ? "," : ", ";
      _this._writeBetween$3(value.$arguments, t2, _this.get$_writeCalculationValue());
      t1.writeCharCode$1(41);
    },
    _writeCalculationValue$1(value) {
      var _2_4_isSet, _2_4, t1, _0_0, _1_0, first, rest, operator, left, right, parenthesizeLeft, operatorWhitespace, t2, parenthesizeRight, _this = this, _null = null;
      $label1$1: {
        _2_4_isSet = value instanceof A.SassNumber;
        if (_2_4_isSet) {
          _2_4 = value.get$hasComplexUnits();
          t1 = _2_4 && !_this._inspect;
        } else {
          _2_4 = _null;
          t1 = false;
        }
        if (t1)
          throw A.wrapException(A.SassScriptException$(A.S(value) + " isn't a valid CSS value.", _null));
        if (_2_4_isSet && !isFinite(value._number$_value)) {
          $label0$0: {
            _0_0 = value._number$_value;
            if (1 / 0 === _0_0) {
              _this._serialize$_buffer.write$1(0, "infinity");
              break $label0$0;
            }
            if (-1 / 0 === _0_0) {
              _this._serialize$_buffer.write$1(0, "-infinity");
              break $label0$0;
            }
            if (isNaN(_0_0))
              _this._serialize$_buffer.write$1(0, "NaN");
          }
          t1 = J.getInterceptor$x(value);
          _this._writeCalculationUnits$2(t1.get$numeratorUnits(value), t1.get$denominatorUnits(value));
          break $label1$1;
        }
        if (_2_4_isSet)
          t1 = _2_4;
        else
          t1 = false;
        if (t1) {
          _this._writeNumber$1(value._number$_value);
          t1 = J.getInterceptor$x(value);
          _1_0 = t1.get$numeratorUnits(value);
          if (_1_0.length >= 1) {
            first = _1_0[0];
            rest = B.JSArray_methods.sublist$1(_1_0, 1);
            _this._serialize$_buffer.write$1(0, first);
            _this._writeCalculationUnits$2(rest, t1.get$denominatorUnits(value));
          } else
            _this._writeCalculationUnits$2(A._setArrayType([], type$.JSArray_String), t1.get$denominatorUnits(value));
          break $label1$1;
        }
        if (value instanceof A.Value) {
          value.accept$1(_this);
          break $label1$1;
        }
        t1 = value instanceof A.CalculationOperation;
        if (t1) {
          operator = value._operator;
          left = value._left;
          right = value._right;
          right = right;
        } else {
          right = _null;
          left = right;
          operator = left;
        }
        if (t1) {
          parenthesizeLeft = left instanceof A.CalculationOperation && left._operator.precedence < operator.precedence;
          if (parenthesizeLeft)
            _this._serialize$_buffer.writeCharCode$1(40);
          _this._writeCalculationValue$1(left);
          if (parenthesizeLeft)
            _this._serialize$_buffer.writeCharCode$1(41);
          operatorWhitespace = _this._style !== B.OutputStyle_1 || operator.precedence === 1;
          if (operatorWhitespace)
            _this._serialize$_buffer.writeCharCode$1(32);
          t1 = _this._serialize$_buffer;
          t1.write$1(0, operator.operator);
          if (operatorWhitespace)
            t1.writeCharCode$1(32);
          if (!(right instanceof A.CalculationOperation && _this._parenthesizeCalculationRhs$2(operator, right._operator)))
            if (operator === B.CalculationOperator_Qf1) {
              if (right instanceof A.SassNumber)
                t2 = isFinite(right._number$_value) ? right.get$hasComplexUnits() : right.get$hasUnits();
              else
                t2 = false;
              parenthesizeRight = t2;
            } else
              parenthesizeRight = false;
          else
            parenthesizeRight = true;
          if (parenthesizeRight)
            t1.writeCharCode$1(40);
          _this._writeCalculationValue$1(right);
          if (parenthesizeRight)
            t1.writeCharCode$1(41);
        }
      }
    },
    _writeCalculationUnits$2(numeratorUnits, denominatorUnits) {
      var t1, t2, t3, t4;
      for (t1 = J.get$iterator$ax(numeratorUnits), t2 = this._serialize$_buffer, t3 = this._style !== B.OutputStyle_1; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        if (t3)
          t2.writeCharCode$1(32);
        t2.writeCharCode$1(42);
        if (t3)
          t2.writeCharCode$1(32);
        t2.writeCharCode$1(49);
        t2.write$1(0, t4);
      }
      for (t1 = J.get$iterator$ax(denominatorUnits); t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        if (t3)
          t2.writeCharCode$1(32);
        t2.writeCharCode$1(47);
        if (t3)
          t2.writeCharCode$1(32);
        t2.writeCharCode$1(49);
        t2.write$1(0, t4);
      }
    },
    _parenthesizeCalculationRhs$2(outer, right) {
      var t1;
      $label0$0: {
        if (B.CalculationOperator_Qf1 === outer) {
          t1 = true;
          break $label0$0;
        }
        if (B.CalculationOperator_g2q === outer) {
          t1 = false;
          break $label0$0;
        }
        t1 = right === B.CalculationOperator_g2q || right === B.CalculationOperator_CxF;
        break $label0$0;
      }
      return t1;
    },
    visitColor$1(value) {
      var hexLength, _0_0, t1, $name, _1_0, opaque, t2, _3_0, _this = this;
      if (_this._style === B.OutputStyle_1)
        if (!A.fuzzyEquals(value._alpha, 1))
          _this._writeRgb$1(value);
        else {
          hexLength = _this._canUseShortHex$1(value) ? 4 : 7;
          _0_0 = $.$get$namesByColor().$index(0, value);
          if (_0_0 != null) {
            t1 = _0_0.length <= hexLength;
            $name = _0_0;
          } else {
            $name = null;
            t1 = false;
          }
          if (t1)
            _this._serialize$_buffer.write$1(0, $name);
          else {
            t1 = _this._serialize$_buffer;
            if (_this._canUseShortHex$1(value)) {
              t1.writeCharCode$1(35);
              t1.writeCharCode$1(A.hexCharFor(value.get$red(0) & 15));
              t1.writeCharCode$1(A.hexCharFor(value.get$green(0) & 15));
              t1.writeCharCode$1(A.hexCharFor(value.get$blue(0) & 15));
            } else {
              t1.writeCharCode$1(35);
              _this._writeHexComponent$1(value.get$red(0));
              _this._writeHexComponent$1(value.get$green(0));
              _this._writeHexComponent$1(value.get$blue(0));
            }
          }
        }
      else {
        _1_0 = value.format;
        if (_1_0 != null)
          $label0$0: {
            if (B._ColorFormatEnum_rgbFunction === _1_0) {
              _this._writeRgb$1(value);
              break $label0$0;
            }
            if (B._ColorFormatEnum_hslFunction === _1_0) {
              t1 = value._alpha;
              opaque = A.fuzzyEquals(t1, 1);
              t2 = _this._serialize$_buffer;
              t2.write$1(0, opaque ? "hsl(" : "hsla(");
              _this._writeNumber$1(value.get$hue(0));
              t2.write$1(0, ", ");
              _this._writeNumber$1(value.get$saturation(0));
              t2.writeCharCode$1(37);
              t2.write$1(0, ", ");
              _this._writeNumber$1(value.get$lightness(0));
              t2.writeCharCode$1(37);
              if (!opaque) {
                t2.write$1(0, ", ");
                _this._writeNumber$1(t1);
              }
              t2.writeCharCode$1(41);
              break $label0$0;
            }
            if (_1_0 instanceof A.SpanColorFormat) {
              _this._serialize$_buffer.write$1(0, _1_0._color$_span.get$text());
              break $label0$0;
            }
          }
        else {
          _3_0 = $.$get$namesByColor().$index(0, value);
          if (_3_0 != null) {
            t1 = !A.fuzzyEquals(value._alpha, 0);
            $name = _3_0;
          } else {
            $name = null;
            t1 = false;
          }
          if (t1)
            _this._serialize$_buffer.write$1(0, $name);
          else if (A.fuzzyEquals(value._alpha, 1)) {
            _this._serialize$_buffer.writeCharCode$1(35);
            _this._writeHexComponent$1(value.get$red(0));
            _this._writeHexComponent$1(value.get$green(0));
            _this._writeHexComponent$1(value.get$blue(0));
          } else
            _this._writeRgb$1(value);
        }
      }
    },
    _writeRgb$1(value) {
      var t3,
        t1 = value._alpha,
        opaque = A.fuzzyEquals(t1, 1),
        t2 = this._serialize$_buffer;
      t2.write$1(0, opaque ? "rgb(" : "rgba(");
      t2.write$1(0, value.get$red(0));
      t3 = this._style === B.OutputStyle_1;
      t2.write$1(0, t3 ? "," : ", ");
      t2.write$1(0, value.get$green(0));
      t2.write$1(0, t3 ? "," : ", ");
      t2.write$1(0, value.get$blue(0));
      if (!opaque) {
        t2.write$1(0, t3 ? "," : ", ");
        this._writeNumber$1(t1);
      }
      t2.writeCharCode$1(41);
    },
    _canUseShortHex$1(color) {
      var t1 = color.get$red(0);
      if ((t1 & 15) === B.JSInt_methods._shrOtherPositive$1(t1, 4)) {
        t1 = color.get$green(0);
        if ((t1 & 15) === B.JSInt_methods._shrOtherPositive$1(t1, 4)) {
          t1 = color.get$blue(0);
          t1 = (t1 & 15) === B.JSInt_methods._shrOtherPositive$1(t1, 4);
        } else
          t1 = false;
      } else
        t1 = false;
      return t1;
    },
    _writeHexComponent$1(color) {
      var t1 = this._serialize$_buffer;
      t1.writeCharCode$1(A.hexCharFor(B.JSInt_methods._shrOtherPositive$1(color, 4)));
      t1.writeCharCode$1(A.hexCharFor(color & 15));
    },
    visitList$1(value) {
      var t2, t3, singleton, t4, t5, _this = this,
        t1 = value._hasBrackets;
      if (t1)
        _this._serialize$_buffer.writeCharCode$1(91);
      else if (value._list$_contents.length === 0) {
        if (!_this._inspect)
          throw A.wrapException(A.SassScriptException$("() isn't a valid CSS value.", null));
        _this._serialize$_buffer.write$1(0, "()");
        return;
      }
      t2 = _this._inspect;
      if (t2)
        if (value._list$_contents.length === 1) {
          t3 = value._separator;
          t3 = t3 === B.ListSeparator_ECn || t3 === B.ListSeparator_cQA;
          singleton = t3;
        } else
          singleton = false;
      else
        singleton = false;
      if (singleton && !t1)
        _this._serialize$_buffer.writeCharCode$1(40);
      t3 = value._list$_contents;
      t3 = t2 ? t3 : new A.WhereIterable(t3, new A._SerializeVisitor_visitList_closure(), A._arrayInstanceType(t3)._eval$1("WhereIterable<1>"));
      t4 = value._separator;
      t5 = _this._separatorString$1(t4);
      _this._writeBetween$3(t3, t5, t2 ? new A._SerializeVisitor_visitList_closure0(_this, value) : new A._SerializeVisitor_visitList_closure1(_this));
      if (singleton) {
        t2 = _this._serialize$_buffer;
        t2.write$1(0, t4.separator);
        if (!t1)
          t2.writeCharCode$1(41);
      }
      if (t1)
        _this._serialize$_buffer.writeCharCode$1(93);
    },
    _separatorString$1(separator) {
      var t1;
      $label0$0: {
        if (B.ListSeparator_ECn === separator) {
          t1 = this._style === B.OutputStyle_1 ? "," : ", ";
          break $label0$0;
        }
        if (B.ListSeparator_cQA === separator) {
          t1 = this._style === B.OutputStyle_1 ? "/" : " / ";
          break $label0$0;
        }
        if (B.ListSeparator_nbm === separator) {
          t1 = " ";
          break $label0$0;
        }
        t1 = "";
        break $label0$0;
      }
      return t1;
    },
    _elementNeedsParens$2(separator, value) {
      var t1;
      $label1$1: {
        if (value instanceof A.SassList && value._list$_contents.length > 1 && !value._hasBrackets) {
          $label0$0: {
            if (B.ListSeparator_ECn === separator) {
              t1 = value._separator === B.ListSeparator_ECn;
              break $label0$0;
            }
            if (B.ListSeparator_cQA === separator) {
              t1 = value._separator;
              t1 = t1 === B.ListSeparator_ECn || t1 === B.ListSeparator_cQA;
              break $label0$0;
            }
            t1 = value._separator !== B.ListSeparator_undecided_null_undecided;
            break $label0$0;
          }
          break $label1$1;
        }
        t1 = false;
        break $label1$1;
      }
      return t1;
    },
    visitMap$1(map) {
      var t1, t2, _this = this;
      if (!_this._inspect)
        throw A.wrapException(A.SassScriptException$(map.toString$0(0) + " isn't a valid CSS value.", null));
      t1 = _this._serialize$_buffer;
      t1.writeCharCode$1(40);
      t2 = map._map$_contents;
      _this._writeBetween$3(t2.get$entries(t2), ", ", new A._SerializeVisitor_visitMap_closure(_this));
      t1.writeCharCode$1(41);
    },
    _writeMapElement$1(value) {
      var needsParens = value instanceof A.SassList && value._separator === B.ListSeparator_ECn && !value._hasBrackets;
      if (needsParens)
        this._serialize$_buffer.writeCharCode$1(40);
      value.accept$1(this);
      if (needsParens)
        this._serialize$_buffer.writeCharCode$1(41);
    },
    visitNumber$1(value) {
      var before, after, t1, _1_0, _this = this,
        _0_0 = value.asSlash;
      if (type$.Record_2_nullable_Object_and_nullable_Object._is(_0_0)) {
        before = _0_0._0;
        after = _0_0._1;
        _this.visitNumber$1(before);
        _this._serialize$_buffer.writeCharCode$1(47);
        _this.visitNumber$1(after);
        return;
      }
      t1 = value._number$_value;
      if (!isFinite(t1)) {
        _this.visitCalculation$1(new A.SassCalculation("calc", A.List_List$unmodifiable(A._setArrayType([value], type$.JSArray_Object), type$.Object)));
        return;
      }
      if (value.get$hasComplexUnits()) {
        if (!_this._inspect)
          throw A.wrapException(A.SassScriptException$(value.toString$0(0) + " isn't a valid CSS value.", null));
        _this.visitCalculation$1(new A.SassCalculation("calc", A.List_List$unmodifiable(A._setArrayType([value], type$.JSArray_Object), type$.Object)));
      } else {
        _this._writeNumber$1(t1);
        _1_0 = value.get$numeratorUnits(value);
        if (_1_0.length === 1)
          _this._serialize$_buffer.write$1(0, _1_0[0]);
      }
    },
    _writeNumber$1(number) {
      var text, _this = this,
        _0_0 = A.fuzzyAsInt(number);
      if (_0_0 != null) {
        _this._serialize$_buffer.write$1(0, _this._removeExponent$1(B.JSInt_methods.toString$0(_0_0)));
        return;
      }
      text = _this._removeExponent$1(B.JSNumber_methods.toString$0(number));
      if (text.length < 12) {
        if (_this._style === B.OutputStyle_1 && text.charCodeAt(0) === 48)
          text = B.JSString_methods.substring$1(text, 1);
        _this._serialize$_buffer.write$1(0, text);
        return;
      }
      _this._writeRounded$1(text);
    },
    _removeExponent$1(text) {
      var buffer, t2, t3, additionalZeroes,
        negative = text.charCodeAt(0) === 45,
        exponent = A._Cell$(),
        t1 = text.length,
        i = 0;
      while (true) {
        if (!(i < t1)) {
          buffer = null;
          break;
        }
        c$0: {
          if (text.charCodeAt(i) !== 101)
            break c$0;
          buffer = new A.StringBuffer("");
          t2 = buffer._contents = "" + A.Primitives_stringFromCharCode(text.charCodeAt(0));
          if (negative) {
            t2 += A.Primitives_stringFromCharCode(text.charCodeAt(1));
            buffer._contents = t2;
            if (i > 3)
              buffer._contents = t2 + B.JSString_methods.substring$2(text, 3, i);
          } else if (i > 2)
            buffer._contents = t2 + B.JSString_methods.substring$2(text, 2, i);
          exponent.__late_helper$_value = A.int_parse(B.JSString_methods.substring$2(text, i + 1, t1), null);
          break;
        }
        ++i;
      }
      if (buffer == null)
        return text;
      if (exponent._readLocal$0() > 0) {
        t1 = exponent._readLocal$0();
        t2 = buffer._contents;
        t3 = negative ? 1 : 0;
        additionalZeroes = t1 - (t2.length - 1 - t3);
        for (t1 = t2, i = 0; i < additionalZeroes; ++i) {
          t1 = A.Primitives_stringFromCharCode(48);
          t1 = buffer._contents += t1;
        }
        return t1.charCodeAt(0) == 0 ? t1 : t1;
      } else {
        negative = text.charCodeAt(0) === 45;
        t1 = (negative ? "" + A.Primitives_stringFromCharCode(45) : "") + "0.";
        i = -1;
        while (true) {
          t2 = exponent.__late_helper$_value;
          if (t2 === exponent)
            A.throwExpression(A.LateError$localNI(""));
          if (!(i > t2))
            break;
          t1 += A.Primitives_stringFromCharCode(48);
          --i;
        }
        if (negative) {
          t2 = buffer._contents;
          t2 = B.JSString_methods.substring$1(t2.charCodeAt(0) == 0 ? t2 : t2, 1);
        } else
          t2 = buffer;
        t2 = t1 + A.S(t2);
        return t2.charCodeAt(0) == 0 ? t2 : t2;
      }
    },
    _writeRounded$1(text) {
      var t1, digits, negative, textIndex, digitsIndex, textIndex0, codeUnit, digitsIndex0, indexAfterPrecision, digitsIndex1, newDigit, writtenIndex, t2, _this = this;
      if (B.JSString_methods.endsWith$1(text, ".0")) {
        _this._serialize$_buffer.write$1(0, B.JSString_methods.substring$2(text, 0, text.length - 2));
        return;
      }
      t1 = text.length;
      digits = new Uint8Array(t1 + 1);
      negative = text.charCodeAt(0) === 45;
      textIndex = negative ? 1 : 0;
      for (digitsIndex = 1; true; textIndex = textIndex0, digitsIndex = digitsIndex0) {
        if (textIndex === t1) {
          _this._serialize$_buffer.write$1(0, text);
          return;
        }
        textIndex0 = textIndex + 1;
        codeUnit = text.charCodeAt(textIndex);
        if (codeUnit === 46) {
          textIndex = textIndex0;
          break;
        }
        digitsIndex0 = digitsIndex + 1;
        digits[digitsIndex] = codeUnit - 48;
      }
      indexAfterPrecision = textIndex + 10;
      if (indexAfterPrecision >= t1) {
        _this._serialize$_buffer.write$1(0, text);
        return;
      }
      for (digitsIndex0 = digitsIndex; textIndex < indexAfterPrecision; textIndex = textIndex0, digitsIndex0 = digitsIndex1) {
        digitsIndex1 = digitsIndex0 + 1;
        textIndex0 = textIndex + 1;
        digits[digitsIndex0] = text.charCodeAt(textIndex) - 48;
      }
      if (text.charCodeAt(textIndex) - 48 >= 5)
        for (; true; digitsIndex0 = digitsIndex1) {
          digitsIndex1 = digitsIndex0 - 1;
          newDigit = digits[digitsIndex1] + 1;
          digits[digitsIndex1] = newDigit;
          if (newDigit !== 10)
            break;
        }
      for (; digitsIndex0 < digitsIndex; ++digitsIndex0)
        digits[digitsIndex0] = 0;
      while (true) {
        t1 = digitsIndex0 > digitsIndex;
        if (!(t1 && digits[digitsIndex0 - 1] === 0))
          break;
        --digitsIndex0;
      }
      if (digitsIndex0 === 2 && digits[0] === 0 && digits[1] === 0) {
        _this._serialize$_buffer.writeCharCode$1(48);
        return;
      }
      if (negative)
        _this._serialize$_buffer.writeCharCode$1(45);
      if (digits[0] === 0)
        writtenIndex = _this._style === B.OutputStyle_1 && digits[1] === 0 ? 2 : 1;
      else
        writtenIndex = 0;
      for (t2 = _this._serialize$_buffer; writtenIndex < digitsIndex; ++writtenIndex)
        t2.writeCharCode$1(48 + digits[writtenIndex]);
      if (t1) {
        t2.writeCharCode$1(46);
        for (; writtenIndex < digitsIndex0; ++writtenIndex)
          t2.writeCharCode$1(48 + digits[writtenIndex]);
      }
    },
    _visitQuotedString$2$forceDoubleQuote(string, forceDoubleQuote) {
      var t1, includesSingleQuote, includesDoubleQuote, i, char, _1_2, _1_4, _0_0, quote, _this = this,
        buffer = forceDoubleQuote ? _this._serialize$_buffer : new A.StringBuffer("");
      if (forceDoubleQuote)
        buffer.writeCharCode$1(34);
      for (t1 = string.length, includesSingleQuote = false, includesDoubleQuote = false, i = 0; i < t1; ++i) {
        char = string.charCodeAt(i);
        _1_2 = 39 === char;
        if (_1_2 && forceDoubleQuote) {
          buffer.writeCharCode$1(39);
          continue;
        }
        if (_1_2 && includesDoubleQuote) {
          _this._visitQuotedString$2$forceDoubleQuote(string, true);
          return;
        }
        if (_1_2) {
          buffer.writeCharCode$1(39);
          includesSingleQuote = true;
          continue;
        }
        _1_4 = 34 === char;
        if (_1_4 && forceDoubleQuote) {
          buffer.writeCharCode$1(92);
          buffer.writeCharCode$1(34);
          continue;
        }
        if (_1_4 && includesSingleQuote) {
          _this._visitQuotedString$2$forceDoubleQuote(string, true);
          return;
        }
        if (_1_4) {
          buffer.writeCharCode$1(34);
          includesDoubleQuote = true;
          continue;
        }
        if (0 === char || 1 === char || 2 === char || 3 === char || 4 === char || 5 === char || 6 === char || 7 === char || 8 === char || 10 === char || 11 === char || 12 === char || 13 === char || 14 === char || 15 === char || 16 === char || 17 === char || 18 === char || 19 === char || 20 === char || 21 === char || 22 === char || 23 === char || 24 === char || 25 === char || 26 === char || 27 === char || 28 === char || 29 === char || 30 === char || 31 === char || 127 === char) {
          _this._writeEscape$4(buffer, char, string, i);
          continue;
        }
        if (92 === char) {
          buffer.writeCharCode$1(92);
          buffer.writeCharCode$1(92);
          continue;
        }
        _0_0 = _this._tryPrivateUseCharacter$4(buffer, char, string, i);
        if (_0_0 != null)
          i = _0_0;
        else
          buffer.writeCharCode$1(char);
      }
      if (forceDoubleQuote)
        buffer.writeCharCode$1(34);
      else {
        quote = includesDoubleQuote ? 39 : 34;
        t1 = _this._serialize$_buffer;
        t1.writeCharCode$1(quote);
        t1.write$1(0, buffer);
        t1.writeCharCode$1(quote);
      }
    },
    _visitQuotedString$1(string) {
      return this._visitQuotedString$2$forceDoubleQuote(string, false);
    },
    _visitUnquotedString$1(string) {
      var t1, t2, afterNewline, i, _1_0, _0_0;
      for (t1 = string.length, t2 = this._serialize$_buffer, afterNewline = false, i = 0; i < t1; ++i) {
        _1_0 = string.charCodeAt(i);
        if (10 === _1_0) {
          t2.writeCharCode$1(32);
          afterNewline = true;
          continue;
        }
        if (32 === _1_0) {
          if (!afterNewline)
            t2.writeCharCode$1(32);
          continue;
        }
        _0_0 = this._tryPrivateUseCharacter$4(t2, _1_0, string, i);
        if (_0_0 != null)
          i = _0_0;
        else
          t2.writeCharCode$1(_1_0);
        afterNewline = false;
      }
    },
    _tryPrivateUseCharacter$4(buffer, codeUnit, string, i) {
      var t1;
      if (this._style === B.OutputStyle_1)
        return null;
      if (codeUnit >= 57344 && codeUnit <= 63743) {
        this._writeEscape$4(buffer, codeUnit, string, i);
        return i;
      }
      if (codeUnit >>> 7 === 439 && string.length > i + 1) {
        t1 = i + 1;
        this._writeEscape$4(buffer, 65536 + ((codeUnit & 1023) << 10) + (string.charCodeAt(t1) & 1023), string, t1);
        return t1;
      }
      return null;
    },
    _writeEscape$4(buffer, character, string, i) {
      var t1, next;
      buffer.writeCharCode$1(92);
      buffer.write$1(0, B.JSInt_methods.toRadixString$1(character, 16));
      t1 = i + 1;
      if (string.length === t1)
        return;
      next = string.charCodeAt(t1);
      if (A.CharacterExtension_get_isHex(next) || 32 === next || 9 === next)
        buffer.writeCharCode$1(32);
    },
    visitAttributeSelector$1(attribute) {
      var _0_0, t2,
        t1 = this._serialize$_buffer;
      t1.writeCharCode$1(91);
      t1.write$1(0, attribute.name);
      _0_0 = attribute.value;
      if (_0_0 != null) {
        t1.write$1(0, attribute.op);
        if (A.Parser_isIdentifier(_0_0) && !B.JSString_methods.startsWith$1(_0_0, "--")) {
          t1.write$1(0, _0_0);
          t2 = attribute.modifier;
          if (t2 != null)
            t1.writeCharCode$1(32);
        } else {
          this._visitQuotedString$1(_0_0);
          t2 = attribute.modifier;
          if (t2 != null)
            if (this._style !== B.OutputStyle_1)
              t1.writeCharCode$1(32);
        }
        A.NullableExtension_andThen(t2, t1.get$write(t1));
      }
      t1.writeCharCode$1(93);
    },
    visitClassSelector$1(klass) {
      var t1 = this._serialize$_buffer;
      t1.writeCharCode$1(46);
      t1.write$1(0, klass.name);
    },
    visitComplexSelector$1(complex) {
      var t2, t3, t4, t5, t6, i, component, t7, t8, t9, _this = this,
        t1 = complex.leadingCombinators;
      _this._writeCombinators$1(t1);
      if (t1.length >= 1 && complex.components.length >= 1)
        if (_this._style !== B.OutputStyle_1)
          _this._serialize$_buffer.writeCharCode$1(32);
      for (t1 = complex.components, t2 = t1.length, t3 = t2 - 1, t4 = _this._serialize$_buffer, t5 = _this._style === B.OutputStyle_1, t6 = !t5, i = 0; i < t2; ++i) {
        component = t1[i];
        _this.visitCompoundSelector$1(component.selector);
        t7 = component.combinators;
        t8 = t7.length === 0;
        if (!t8)
          if (t6)
            t4.writeCharCode$1(32);
        t9 = t5 ? "" : " ";
        _this._writeBetween$3(t7, t9, t4.get$write(t4));
        if (i !== t3)
          t7 = !t5 || t8;
        else
          t7 = false;
        if (t7)
          t4.writeCharCode$1(32);
      }
    },
    _writeCombinators$1(combinators) {
      var t1 = this._style === B.OutputStyle_1 ? "" : " ",
        t2 = this._serialize$_buffer;
      return this._writeBetween$3(combinators, t1, t2.get$write(t2));
    },
    visitCompoundSelector$1(compound) {
      var t2, t3, _i,
        t1 = this._serialize$_buffer,
        start = t1.get$length(t1);
      for (t2 = compound.components, t3 = t2.length, _i = 0; _i < t3; ++_i)
        t2[_i].accept$1(this);
      if (t1.get$length(t1) === start)
        t1.writeCharCode$1(42);
    },
    visitIDSelector$1(id) {
      var t1 = this._serialize$_buffer;
      t1.writeCharCode$1(35);
      t1.write$1(0, id.name);
    },
    visitSelectorList$1(list) {
      var t1, t2, t3, first, t4, _this = this,
        complexes = list.components;
      for (t1 = J.get$iterator$ax(_this._inspect ? complexes : new A.WhereIterable(complexes, new A._SerializeVisitor_visitSelectorList_closure(), A._arrayInstanceType(complexes)._eval$1("WhereIterable<1>"))), t2 = _this._style !== B.OutputStyle_1, t3 = _this._serialize$_buffer, first = true; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        if (first)
          first = false;
        else {
          t3.writeCharCode$1(44);
          if (t4.lineBreak) {
            if (t2)
              t3.write$1(0, "\n");
            _this._writeIndentation$0();
          } else if (t2)
            t3.writeCharCode$1(32);
        }
        _this.visitComplexSelector$1(t4);
      }
    },
    visitParentSelector$1($parent) {
      var t1 = this._serialize$_buffer;
      t1.writeCharCode$1(38);
      A.NullableExtension_andThen($parent.suffix, t1.get$write(t1));
    },
    visitPlaceholderSelector$1(placeholder) {
      var t1 = this._serialize$_buffer;
      t1.writeCharCode$1(37);
      t1.write$1(0, placeholder.name);
    },
    visitPseudoSelector$1(pseudo) {
      var _0_4, t2, t3,
        t1 = pseudo.name;
      if ("not" === t1) {
        _0_4 = pseudo.selector;
        if (_0_4 instanceof A.SelectorList)
          t2 = (_0_4 == null ? type$.SelectorList._as(_0_4) : _0_4).accept$1(B._IsInvisibleVisitor_true);
        else
          t2 = false;
      } else
        t2 = false;
      if (t2)
        return;
      t2 = this._serialize$_buffer;
      t2.writeCharCode$1(58);
      if (!pseudo.isSyntacticClass)
        t2.writeCharCode$1(58);
      t2.write$1(0, t1);
      t1 = pseudo.argument;
      t3 = t1 == null;
      if (t3 && pseudo.selector == null)
        return;
      t2.writeCharCode$1(40);
      if (!t3) {
        t2.write$1(0, t1);
        if (pseudo.selector != null)
          t2.writeCharCode$1(32);
      }
      A.NullableExtension_andThen(pseudo.selector, this.get$visitSelectorList());
      t2.writeCharCode$1(41);
    },
    visitTypeSelector$1(type) {
      this._serialize$_buffer.write$1(0, type.name);
    },
    visitUniversalSelector$1(universal) {
      var t2,
        t1 = universal.namespace;
      if (t1 != null) {
        t2 = this._serialize$_buffer;
        t2.write$1(0, t1);
        t2.writeCharCode$1(124);
      }
      this._serialize$_buffer.writeCharCode$1(42);
    },
    _serialize$_write$1(value) {
      return this._serialize$_buffer.forSpan$2(value.span, new A._SerializeVisitor__write_closure(this, value));
    },
    _serialize$_visitChildren$1($parent) {
      var t2, t3, t4, t5, t6, t7, prePrevious, previous, t8, previous0, t9, savedIndentation, _this = this,
        t1 = _this._serialize$_buffer;
      t1.writeCharCode$1(123);
      for (t2 = $parent.children, t3 = t2.$ti, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t4 = _this._style === B.OutputStyle_1, t5 = !t4, t6 = _this.get$_requiresSemicolon(), t7 = !_this._inspect, t3 = t3._eval$1("ListBase.E"), prePrevious = null, previous = null; t2.moveNext$0();) {
        t8 = t2.__internal$_current;
        previous0 = t8 == null ? t3._as(t8) : t8;
        if (t7)
          t8 = t4 ? previous0.accept$1(B._IsInvisibleVisitor_true_true) : previous0.accept$1(B._IsInvisibleVisitor_true_false);
        else
          t8 = false;
        if (t8)
          continue;
        t8 = previous == null;
        t9 = t8 ? null : t6.call$1(previous);
        if (t9 == null ? false : t9)
          t1.writeCharCode$1(59);
        if (_this._isTrailingComment$2(previous0, t8 ? $parent : previous)) {
          if (t5)
            t1.writeCharCode$1(32);
          savedIndentation = _this._indentation;
          _this._indentation = 0;
          new A._SerializeVisitor__visitChildren_closure(_this, previous0).call$0();
          _this._indentation = savedIndentation;
        } else {
          if (t5)
            t1.write$1(0, "\n");
          ++_this._indentation;
          new A._SerializeVisitor__visitChildren_closure0(_this, previous0).call$0();
          --_this._indentation;
        }
        prePrevious = previous;
        previous = previous0;
      }
      if (previous != null) {
        if ((type$.CssParentNode._is(previous) ? previous.get$isChildless() : !(previous instanceof A.ModifiableCssComment)) && t5)
          t1.writeCharCode$1(59);
        if (prePrevious == null && _this._isTrailingComment$2(previous, $parent)) {
          if (t5)
            t1.writeCharCode$1(32);
        } else {
          _this._writeLineFeed$0();
          _this._writeIndentation$0();
        }
      }
      t1.writeCharCode$1(125);
    },
    _requiresSemicolon$1(node) {
      return type$.CssParentNode._is(node) ? node.get$isChildless() : !(node instanceof A.ModifiableCssComment);
    },
    _isTrailingComment$2(node, previous) {
      var t1, t2, t3, searchFrom, endOffset, t4, span;
      if (this._style === B.OutputStyle_1)
        return false;
      if (!(node instanceof A.ModifiableCssComment))
        return false;
      t1 = node.span;
      t2 = t1.get$sourceUrl(t1);
      t3 = previous.get$span(previous);
      if (!J.$eq$(t2, t3.get$sourceUrl(t3)))
        return false;
      t2 = previous.get$span(previous);
      if (!(J.$eq$(t2.get$file(t2).url, t1.get$file(t1).url) && t2.get$start(t2).offset <= t1.get$start(t1).offset && t2.get$end(t2).offset >= t1.get$end(t1).offset)) {
        t1 = t1.get$start(t1);
        t1 = t1.file.getLine$1(t1.offset);
        t2 = previous.get$span(previous);
        t2 = t2.get$end(t2);
        return t1 === t2.file.getLine$1(t2.offset);
      }
      t2 = t1.get$start(t1);
      t3 = previous.get$span(previous);
      searchFrom = t2.offset - t3.get$start(t3).offset - 1;
      if (searchFrom < 0)
        return false;
      endOffset = Math.max(0, B.JSString_methods.lastIndexOf$2(previous.get$span(previous).get$text(), "{", searchFrom));
      t2 = previous.get$span(previous);
      t2 = t2.get$file(t2);
      t3 = previous.get$span(previous);
      t3 = t3.get$start(t3);
      t4 = previous.get$span(previous);
      span = t2.span$2(0, t3.offset, t4.get$start(t4).offset + endOffset);
      t1 = t1.get$start(t1);
      t1 = t1.file.getLine$1(t1.offset);
      t4 = A.FileLocation$_(span.file, span._end);
      return t1 === t4.file.getLine$1(t4.offset);
    },
    _writeLineFeed$0() {
      if (this._style !== B.OutputStyle_1)
        this._serialize$_buffer.write$1(0, "\n");
    },
    _writeIndentation$0() {
      var _this = this;
      if (_this._style === B.OutputStyle_1)
        return;
      _this._writeTimes$2(_this._indentCharacter, _this._indentation * _this._indentWidth);
    },
    _writeTimes$2(char, times) {
      var t1, i;
      for (t1 = this._serialize$_buffer, i = 0; i < times; ++i)
        t1.writeCharCode$1(char);
    },
    _writeBetween$1$3(iterable, text, callback) {
      var t1, t2, first, value;
      for (t1 = J.get$iterator$ax(iterable), t2 = this._serialize$_buffer, first = true; t1.moveNext$0();) {
        value = t1.get$current(t1);
        if (first)
          first = false;
        else
          t2.write$1(0, text);
        callback.call$1(value);
      }
    },
    _writeBetween$3(iterable, text, callback) {
      return this._writeBetween$1$3(iterable, text, callback, type$.dynamic);
    }
  };
  A._SerializeVisitor_visitCssComment_closure.prototype = {
    call$0() {
      var t2, t3, _0_0, minimumIndentation,
        t1 = this.$this;
      if (t1._style === B.OutputStyle_1 && this.node.text.charCodeAt(2) !== 33)
        return;
      t2 = this.node;
      t3 = t2.text;
      if (B.JSString_methods.startsWith$1(t3, A.RegExp_RegExp("/\\*# source(Mapping)?URL=", false)))
        return;
      _0_0 = t1._minimumIndentation$1(t3);
      if (_0_0 != null) {
        t2 = t2.span;
        t2 = t2.get$start(t2);
        minimumIndentation = Math.min(_0_0, t2.file.getColumn$1(t2.offset));
        t1._writeIndentation$0();
        t1._writeWithIndent$2(t3, minimumIndentation);
      } else {
        t1._writeIndentation$0();
        t1._serialize$_buffer.write$1(0, t3);
      }
    },
    $signature: 1
  };
  A._SerializeVisitor_visitCssAtRule_closure.prototype = {
    call$0() {
      var t3, _0_0,
        t1 = this.$this,
        t2 = t1._serialize$_buffer;
      t2.writeCharCode$1(64);
      t3 = this.node;
      t1._serialize$_write$1(t3.name);
      _0_0 = t3.value;
      if (_0_0 != null) {
        t2.writeCharCode$1(32);
        t1._serialize$_write$1(_0_0);
      }
    },
    $signature: 1
  };
  A._SerializeVisitor_visitCssMediaRule_closure.prototype = {
    call$0() {
      var t3, firstQuery, t4, t5,
        t1 = this.$this,
        t2 = t1._serialize$_buffer;
      t2.write$1(0, "@media");
      t3 = this.node.queries;
      firstQuery = B.JSArray_methods.get$first(t3);
      t4 = t1._style === B.OutputStyle_1;
      if (t4)
        if (firstQuery.modifier == null)
          if (firstQuery.type == null) {
            t5 = firstQuery.conditions;
            t5 = t5.length === 1 && J.startsWith$1$s(B.JSArray_methods.get$first(t5), "(not ");
          } else
            t5 = true;
        else
          t5 = true;
      else
        t5 = true;
      if (t5)
        t2.writeCharCode$1(32);
      t2 = t4 ? "," : ", ";
      t1._writeBetween$3(t3, t2, t1.get$_visitMediaQuery());
    },
    $signature: 1
  };
  A._SerializeVisitor_visitCssImport_closure.prototype = {
    call$0() {
      var t3, t4, _0_0,
        t1 = this.$this,
        t2 = t1._serialize$_buffer;
      t2.write$1(0, "@import");
      t3 = t1._style !== B.OutputStyle_1;
      if (t3)
        t2.writeCharCode$1(32);
      t4 = this.node;
      t2.forSpan$2(t4.url.span, new A._SerializeVisitor_visitCssImport__closure(t1, t4));
      _0_0 = t4.modifiers;
      if (_0_0 != null) {
        if (t3)
          t2.writeCharCode$1(32);
        t2.write$1(0, _0_0);
      }
    },
    $signature: 1
  };
  A._SerializeVisitor_visitCssImport__closure.prototype = {
    call$0() {
      return this.$this._writeImportUrl$1(this.node.url.value);
    },
    $signature: 0
  };
  A._SerializeVisitor_visitCssKeyframeBlock_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._style === B.OutputStyle_1 ? "," : ", ",
        t3 = t1._serialize$_buffer;
      return t1._writeBetween$3(this.node.selector.value, t2, t3.get$write(t3));
    },
    $signature: 0
  };
  A._SerializeVisitor_visitCssStyleRule_closure.prototype = {
    call$0() {
      return this.$this.visitSelectorList$1(this.node._style_rule$_selector._box$_inner.value);
    },
    $signature: 0
  };
  A._SerializeVisitor_visitCssSupportsRule_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._serialize$_buffer;
      t2.write$1(0, "@supports");
      if (!(t1._style === B.OutputStyle_1 && J.codeUnitAt$1$s(this.node.condition.value, 0) === 40))
        t2.writeCharCode$1(32);
      t1._serialize$_write$1(this.node.condition);
    },
    $signature: 1
  };
  A._SerializeVisitor_visitCssDeclaration_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = this.node;
      if (t1._style === B.OutputStyle_1)
        t1._writeFoldedValue$1(t2);
      else
        t1._writeReindentedValue$1(t2);
    },
    $signature: 1
  };
  A._SerializeVisitor_visitCssDeclaration_closure0.prototype = {
    call$0() {
      return this.node.value.value.accept$1(this.$this);
    },
    $signature: 0
  };
  A._SerializeVisitor_visitList_closure.prototype = {
    call$1(element) {
      return !element.get$isBlank();
    },
    $signature: 72
  };
  A._SerializeVisitor_visitList_closure0.prototype = {
    call$1(element) {
      var t1 = this.$this,
        needsParens = t1._elementNeedsParens$2(this.value._separator, element);
      if (needsParens)
        t1._serialize$_buffer.writeCharCode$1(40);
      element.accept$1(t1);
      if (needsParens)
        t1._serialize$_buffer.writeCharCode$1(41);
    },
    $signature: 54
  };
  A._SerializeVisitor_visitList_closure1.prototype = {
    call$1(element) {
      element.accept$1(this.$this);
    },
    $signature: 54
  };
  A._SerializeVisitor_visitMap_closure.prototype = {
    call$1(entry) {
      var t1 = this.$this;
      t1._writeMapElement$1(entry.key);
      t1._serialize$_buffer.write$1(0, ": ");
      t1._writeMapElement$1(entry.value);
    },
    $signature: 273
  };
  A._SerializeVisitor_visitSelectorList_closure.prototype = {
    call$1(complex) {
      return !complex.accept$1(B._IsInvisibleVisitor_true);
    },
    $signature: 16
  };
  A._SerializeVisitor__write_closure.prototype = {
    call$0() {
      return this.$this._serialize$_buffer.write$1(0, this.value.value);
    },
    $signature: 0
  };
  A._SerializeVisitor__visitChildren_closure.prototype = {
    call$0() {
      return this.child.accept$1(this.$this);
    },
    $signature: 0
  };
  A._SerializeVisitor__visitChildren_closure0.prototype = {
    call$0() {
      this.child.accept$1(this.$this);
    },
    $signature: 0
  };
  A.OutputStyle.prototype = {
    _enumToString$0() {
      return "OutputStyle." + this._name;
    }
  };
  A.LineFeed.prototype = {
    _enumToString$0() {
      return "LineFeed." + this._name;
    },
    toString$0(_) {
      return "lf";
    }
  };
  A.StatementSearchVisitor.prototype = {
    visitAtRootRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitAtRule$1(node) {
      return A.NullableExtension_andThen(node.children, this.get$visitChildren());
    },
    visitContentBlock$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitContentRule$1(node) {
      return null;
    },
    visitDebugRule$1(node) {
      return null;
    },
    visitDeclaration$1(node) {
      return A.NullableExtension_andThen(node.children, this.get$visitChildren());
    },
    visitEachRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitErrorRule$1(node) {
      return null;
    },
    visitExtendRule$1(node) {
      return null;
    },
    visitForRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitForwardRule$1(node) {
      return null;
    },
    visitFunctionRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitIfRule$1(node) {
      var t1 = A.IterableExtension_search(node.clauses, new A.StatementSearchVisitor_visitIfRule_closure(this));
      return t1 == null ? A.NullableExtension_andThen(node.lastClause, new A.StatementSearchVisitor_visitIfRule_closure0(this)) : t1;
    },
    visitImportRule$1(node) {
      return null;
    },
    visitIncludeRule$1(node) {
      return A.NullableExtension_andThen(node.content, this.get$visitContentBlock());
    },
    visitLoudComment$1(node) {
      return null;
    },
    visitMediaRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitMixinRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitReturnRule$1(node) {
      return null;
    },
    visitSilentComment$1(node) {
      return null;
    },
    visitStyleRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitStylesheet$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitSupportsRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitUseRule$1(node) {
      return null;
    },
    visitVariableDeclaration$1(node) {
      return null;
    },
    visitWarnRule$1(node) {
      return null;
    },
    visitWhileRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitChildren$1(children) {
      return A.IterableExtension_search(children, new A.StatementSearchVisitor_visitChildren_closure(this));
    }
  };
  A.StatementSearchVisitor_visitIfRule_closure.prototype = {
    call$1(clause) {
      return A.IterableExtension_search(clause.children, new A.StatementSearchVisitor_visitIfRule__closure0(this.$this));
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("StatementSearchVisitor.T?(IfClause)");
    }
  };
  A.StatementSearchVisitor_visitIfRule__closure0.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("StatementSearchVisitor.T?(Statement)");
    }
  };
  A.StatementSearchVisitor_visitIfRule_closure0.prototype = {
    call$1(lastClause) {
      return A.IterableExtension_search(lastClause.children, new A.StatementSearchVisitor_visitIfRule__closure(this.$this));
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("StatementSearchVisitor.T?(ElseClause)");
    }
  };
  A.StatementSearchVisitor_visitIfRule__closure.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("StatementSearchVisitor.T?(Statement)");
    }
  };
  A.StatementSearchVisitor_visitChildren_closure.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("StatementSearchVisitor.T?(Statement)");
    }
  };
  A.Entry.prototype = {
    compareTo$1(_, other) {
      var t1, t2,
        res = this.target.compareTo$1(0, other.target);
      if (res !== 0)
        return res;
      t1 = this.source;
      t2 = other.source;
      res = B.JSString_methods.compareTo$1(J.toString$0$(t1.file.url), J.toString$0$(t2.file.url));
      if (res !== 0)
        return res;
      return t1.compareTo$1(0, t2);
    },
    $isComparable: 1
  };
  A.Mapping.prototype = {};
  A.SingleMapping.prototype = {
    toJson$1$includeSourceContents(includeSourceContents) {
      var t1, t2, line, column, srcLine, srcColumn, srcUrlId, srcNameId, first, _i, entry, nextLine, i, t3, t4, column0, t5, newUrlId, srcLine0, srcColumn0, srcNameId0, result, _this = this,
        buff = new A.StringBuffer("");
      for (t1 = _this.lines, t2 = t1.length, line = 0, column = 0, srcLine = 0, srcColumn = 0, srcUrlId = 0, srcNameId = 0, first = true, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        entry = t1[_i];
        nextLine = entry.line;
        if (nextLine > line) {
          for (i = line; i < nextLine; ++i)
            buff._contents += ";";
          line = nextLine;
          column = 0;
          first = true;
        }
        for (t3 = J.get$iterator$ax(entry.entries); t3.moveNext$0(); column = column0, first = false) {
          t4 = t3.get$current(t3);
          if (!first)
            buff._contents += ",";
          column0 = t4.column;
          t5 = A.encodeVlq(column0 - column);
          t5 = A.StringBuffer__writeAll(buff._contents, t5, "");
          buff._contents = t5;
          newUrlId = t4.sourceUrlId;
          t5 = A.StringBuffer__writeAll(t5, A.encodeVlq(newUrlId - srcUrlId), "");
          buff._contents = t5;
          srcLine0 = t4.sourceLine;
          t5 = A.StringBuffer__writeAll(t5, A.encodeVlq(srcLine0 - srcLine), "");
          buff._contents = t5;
          srcColumn0 = t4.sourceColumn;
          t5 = A.StringBuffer__writeAll(t5, A.encodeVlq(srcColumn0 - srcColumn), "");
          buff._contents = t5;
          srcNameId0 = t4.sourceNameId;
          if (srcNameId0 == null) {
            srcUrlId = newUrlId;
            srcColumn = srcColumn0;
            srcLine = srcLine0;
            continue;
          }
          buff._contents = A.StringBuffer__writeAll(t5, A.encodeVlq(srcNameId0 - srcNameId), "");
          srcNameId = srcNameId0;
          srcUrlId = newUrlId;
          srcColumn = srcColumn0;
          srcLine = srcLine0;
        }
      }
      t1 = _this.sourceRoot;
      if (t1 == null)
        t1 = "";
      t2 = buff._contents;
      result = A.LinkedHashMap_LinkedHashMap$_literal(["version", 3, "sourceRoot", t1, "sources", _this.urls, "names", _this.names, "mappings", t2.charCodeAt(0) == 0 ? t2 : t2], type$.String, type$.dynamic);
      t1 = _this.targetUrl;
      if (t1 != null)
        result.$indexSet(0, "file", t1);
      if (includeSourceContents) {
        t1 = _this.files;
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String?>");
        result.$indexSet(0, "sourcesContent", A.List_List$of(new A.MappedListIterable(t1, new A.SingleMapping_toJson_closure(), t2), true, t2._eval$1("ListIterable.E")));
      }
      _this.extensions.forEach$1(0, new A.SingleMapping_toJson_closure0(result));
      return result;
    },
    toJson$0() {
      return this.toJson$1$includeSourceContents(false);
    },
    toString$0(_) {
      var _this = this,
        t1 = A.getRuntimeTypeOfDartObject(_this).toString$0(0) + " : [" + "targetUrl: " + A.S(_this.targetUrl) + ", sourceRoot: " + A.S(_this.sourceRoot) + ", urls: " + A.S(_this.urls) + ", names: " + A.S(_this.names) + ", lines: " + A.S(_this.lines) + "]";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.SingleMapping_SingleMapping$fromEntries_closure.prototype = {
    call$0() {
      return this.urls.__js_helper$_length;
    },
    $signature: 10
  };
  A.SingleMapping_SingleMapping$fromEntries_closure0.prototype = {
    call$0() {
      return this.sourceEntry.source.file;
    },
    $signature: 274
  };
  A.SingleMapping_SingleMapping$fromEntries_closure1.prototype = {
    call$1(i) {
      return this.files.$index(0, i);
    },
    $signature: 275
  };
  A.SingleMapping_toJson_closure.prototype = {
    call$1(file) {
      return file == null ? null : A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(file._decodedChars, 0, null), 0, null);
    },
    $signature: 276
  };
  A.SingleMapping_toJson_closure0.prototype = {
    call$2($name, value) {
      this.result.$indexSet(0, $name, value);
      return value;
    },
    $signature: 114
  };
  A.TargetLineEntry.prototype = {
    toString$0(_) {
      return A.getRuntimeTypeOfDartObject(this).toString$0(0) + ": " + this.line + " " + A.S(this.entries);
    }
  };
  A.TargetEntry.prototype = {
    toString$0(_) {
      var _this = this;
      return A.getRuntimeTypeOfDartObject(_this).toString$0(0) + ": (" + _this.column + ", " + _this.sourceUrlId + ", " + _this.sourceLine + ", " + _this.sourceColumn + ", " + A.S(_this.sourceNameId) + ")";
    }
  };
  A.SourceFile.prototype = {
    get$length(_) {
      return this._decodedChars.length;
    },
    get$lines() {
      return this._lineStarts.length;
    },
    SourceFile$decoded$2$url(decodedChars, url) {
      var t1, t2, t3, i, c, j;
      for (t1 = this._decodedChars, t2 = t1.length, t3 = this._lineStarts, i = 0; i < t2; ++i) {
        c = t1[i];
        if (c === 13) {
          j = i + 1;
          if (j >= t2 || t1[j] !== 10)
            c = 10;
        }
        if (c === 10)
          t3.push(i + 1);
      }
    },
    span$2(_, start, end) {
      return A._FileSpan$(this, start, end == null ? this._decodedChars.length : end);
    },
    span$1(_, start) {
      return this.span$2(0, start, null);
    },
    getLine$1(offset) {
      var t1, _this = this;
      if (offset < 0)
        throw A.wrapException(A.RangeError$("Offset may not be negative, was " + offset + "."));
      else if (offset > _this._decodedChars.length)
        throw A.wrapException(A.RangeError$("Offset " + offset + string$.x20must_n + _this.get$length(0) + "."));
      t1 = _this._lineStarts;
      if (offset < B.JSArray_methods.get$first(t1))
        return -1;
      if (offset >= B.JSArray_methods.get$last(t1))
        return t1.length - 1;
      if (_this._isNearCachedLine$1(offset)) {
        t1 = _this._cachedLine;
        t1.toString;
        return t1;
      }
      return _this._cachedLine = _this._binarySearch$1(offset) - 1;
    },
    _isNearCachedLine$1(offset) {
      var t2, t3,
        t1 = this._cachedLine;
      if (t1 == null)
        return false;
      t2 = this._lineStarts;
      if (offset < t2[t1])
        return false;
      t3 = t2.length;
      if (t1 >= t3 - 1 || offset < t2[t1 + 1])
        return true;
      if (t1 >= t3 - 2 || offset < t2[t1 + 2]) {
        this._cachedLine = t1 + 1;
        return true;
      }
      return false;
    },
    _binarySearch$1(offset) {
      var min, half,
        t1 = this._lineStarts,
        max = t1.length - 1;
      for (min = 0; min < max;) {
        half = min + B.JSInt_methods._tdivFast$1(max - min, 2);
        if (t1[half] > offset)
          max = half;
        else
          min = half + 1;
      }
      return max;
    },
    getColumn$1(offset) {
      var line, lineStart, _this = this;
      if (offset < 0)
        throw A.wrapException(A.RangeError$("Offset may not be negative, was " + offset + "."));
      else if (offset > _this._decodedChars.length)
        throw A.wrapException(A.RangeError$("Offset " + offset + " must be not be greater than the number of characters in the file, " + _this.get$length(0) + "."));
      line = _this.getLine$1(offset);
      lineStart = _this._lineStarts[line];
      if (lineStart > offset)
        throw A.wrapException(A.RangeError$("Line " + line + " comes after offset " + offset + "."));
      return offset - lineStart;
    },
    getOffset$1(line) {
      var t1, t2, result, t3;
      if (line < 0)
        throw A.wrapException(A.RangeError$("Line may not be negative, was " + line + "."));
      else {
        t1 = this._lineStarts;
        t2 = t1.length;
        if (line >= t2)
          throw A.wrapException(A.RangeError$("Line " + line + " must be less than the number of lines in the file, " + this.get$lines() + "."));
      }
      result = t1[line];
      if (result <= this._decodedChars.length) {
        t3 = line + 1;
        t1 = t3 < t2 && result >= t1[t3];
      } else
        t1 = true;
      if (t1)
        throw A.wrapException(A.RangeError$("Line " + line + " doesn't have 0 columns."));
      return result;
    }
  };
  A.FileLocation.prototype = {
    get$sourceUrl(_) {
      return this.file.url;
    },
    get$line() {
      return this.file.getLine$1(this.offset);
    },
    get$column() {
      return this.file.getColumn$1(this.offset);
    },
    FileLocation$_$2(file, offset) {
      var t2,
        t1 = this.offset;
      if (t1 < 0)
        throw A.wrapException(A.RangeError$("Offset may not be negative, was " + t1 + "."));
      else {
        t2 = this.file;
        if (t1 > t2._decodedChars.length)
          throw A.wrapException(A.RangeError$("Offset " + t1 + string$.x20must_n + t2.get$length(0) + "."));
      }
    },
    pointSpan$0() {
      var t1 = this.offset;
      return A._FileSpan$(this.file, t1, t1);
    },
    get$offset() {
      return this.offset;
    }
  };
  A._FileSpan.prototype = {
    get$sourceUrl(_) {
      return this.file.url;
    },
    get$length(_) {
      return this._end - this._file$_start;
    },
    get$start(_) {
      return A.FileLocation$_(this.file, this._file$_start);
    },
    get$end(_) {
      return A.FileLocation$_(this.file, this._end);
    },
    get$text() {
      return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(this.file._decodedChars, this._file$_start, this._end), 0, null);
    },
    get$context(_) {
      var _this = this,
        t1 = _this.file,
        endOffset = _this._end,
        endLine = t1.getLine$1(endOffset);
      if (t1.getColumn$1(endOffset) === 0 && endLine !== 0) {
        if (endOffset - _this._file$_start === 0)
          return endLine === t1._lineStarts.length - 1 ? "" : A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1._decodedChars, t1.getOffset$1(endLine), t1.getOffset$1(endLine + 1)), 0, null);
      } else
        endOffset = endLine === t1._lineStarts.length - 1 ? t1._decodedChars.length : t1.getOffset$1(endLine + 1);
      return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1._decodedChars, t1.getOffset$1(t1.getLine$1(_this._file$_start)), endOffset), 0, null);
    },
    _FileSpan$3(file, _start, _end) {
      var t3,
        t1 = this._end,
        t2 = this._file$_start;
      if (t1 < t2)
        throw A.wrapException(A.ArgumentError$("End " + t1 + " must come after start " + t2 + ".", null));
      else {
        t3 = this.file;
        if (t1 > t3._decodedChars.length)
          throw A.wrapException(A.RangeError$("End " + t1 + string$.x20must_n + t3.get$length(0) + "."));
        else if (t2 < 0)
          throw A.wrapException(A.RangeError$("Start may not be negative, was " + t2 + "."));
      }
    },
    compareTo$1(_, other) {
      var result;
      if (!(other instanceof A._FileSpan))
        return this.super$SourceSpanMixin$compareTo(0, other);
      result = B.JSInt_methods.compareTo$1(this._file$_start, other._file$_start);
      return result === 0 ? B.JSInt_methods.compareTo$1(this._end, other._end) : result;
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (!type$.FileSpan._is(other))
        return _this.super$SourceSpanMixin$$eq(0, other);
      if (!(other instanceof A._FileSpan))
        return _this.super$SourceSpanMixin$$eq(0, other) && J.$eq$(_this.file.url, other.get$sourceUrl(other));
      return _this._file$_start === other._file$_start && _this._end === other._end && J.$eq$(_this.file.url, other.file.url);
    },
    get$hashCode(_) {
      return A.Object_hash(this._file$_start, this._end, this.file.url, B.C_SentinelValue);
    },
    expand$1(_, other) {
      var t2, t3, _this = this,
        t1 = _this.file;
      if (!J.$eq$(t1.url, other.get$sourceUrl(other)))
        throw A.wrapException(A.ArgumentError$('Source URLs "' + A.S(_this.get$sourceUrl(0)) + '" and  "' + A.S(other.get$sourceUrl(other)) + "\" don't match.", null));
      t2 = _this._file$_start;
      t3 = _this._end;
      if (other instanceof A._FileSpan)
        return A._FileSpan$(t1, Math.min(t2, other._file$_start), Math.max(t3, other._end));
      else
        return A._FileSpan$(t1, Math.min(t2, other.get$start(other).offset), Math.max(t3, other.get$end(other).offset));
    },
    $isFileSpan: 1,
    $isSourceSpanWithContext: 1,
    get$file(receiver) {
      return this.file;
    }
  };
  A.Highlighter.prototype = {
    highlight$0() {
      var t2, highlightsByColumn, t3, t4, i, line, lastLine, t5, t6, t7, t8, t9, t10, t11, index, primaryIdx, primary, _i, highlight, _this = this, _null = null,
        t1 = _this._lines;
      _this._writeFileStart$1(B.JSArray_methods.get$first(t1).url);
      t2 = _this._maxMultilineSpans;
      highlightsByColumn = A.List_List$filled(t2, _null, false, type$.nullable__Highlight);
      for (t3 = _this._highlighter$_buffer, t2 = t2 !== 0, t4 = _this._primaryColor, i = 0; i < t1.length; ++i) {
        line = t1[i];
        if (i > 0) {
          lastLine = t1[i - 1];
          t5 = lastLine.url;
          t6 = line.url;
          if (!J.$eq$(t5, t6)) {
            _this._writeSidebar$1$end($._glyphs.get$upEnd());
            t3._contents += "\n";
            _this._writeFileStart$1(t6);
          } else if (lastLine.number + 1 !== line.number) {
            _this._writeSidebar$1$text("...");
            t3._contents += "\n";
          }
        }
        for (t5 = line.highlights, t6 = A._arrayInstanceType(t5)._eval$1("ReversedListIterable<1>"), t7 = new A.ReversedListIterable(t5, t6), t7 = new A.ListIterator(t7, t7.get$length(0), t6._eval$1("ListIterator")), t6 = t6._eval$1("ListIterable.E"), t8 = line.number, t9 = line.text; t7.moveNext$0();) {
          t10 = t7.__internal$_current;
          if (t10 == null)
            t10 = t6._as(t10);
          t11 = t10.span;
          if (t11.get$start(t11).get$line() !== t11.get$end(t11).get$line() && t11.get$start(t11).get$line() === t8 && _this._isOnlyWhitespace$1(B.JSString_methods.substring$2(t9, 0, t11.get$start(t11).get$column()))) {
            index = B.JSArray_methods.indexOf$1(highlightsByColumn, _null);
            if (index < 0)
              A.throwExpression(A.ArgumentError$(A.S(highlightsByColumn) + " contains no null elements.", _null));
            highlightsByColumn[index] = t10;
          }
        }
        _this._writeSidebar$1$line(t8);
        t3._contents += " ";
        _this._writeMultilineHighlights$2(line, highlightsByColumn);
        if (t2)
          t3._contents += " ";
        primaryIdx = B.JSArray_methods.indexWhere$1(t5, new A.Highlighter_highlight_closure());
        primary = primaryIdx === -1 ? _null : t5[primaryIdx];
        t6 = primary != null;
        if (t6) {
          t7 = primary.span;
          t10 = t7.get$start(t7).get$line() === t8 ? t7.get$start(t7).get$column() : 0;
          _this._writeHighlightedText$4$color(t9, t10, t7.get$end(t7).get$line() === t8 ? t7.get$end(t7).get$column() : t9.length, t4);
        } else
          _this._writeText$1(t9);
        t3._contents += "\n";
        if (t6)
          _this._writeIndicator$3(line, primary, highlightsByColumn);
        for (t6 = t5.length, _i = 0; _i < t5.length; t5.length === t6 || (0, A.throwConcurrentModificationError)(t5), ++_i) {
          highlight = t5[_i];
          if (highlight.isPrimary)
            continue;
          _this._writeIndicator$3(line, highlight, highlightsByColumn);
        }
      }
      _this._writeSidebar$1$end($._glyphs.get$upEnd());
      t1 = t3._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _writeFileStart$1(url) {
      var _this = this,
        t1 = !_this._multipleFiles || !type$.Uri._is(url),
        t2 = $._glyphs;
      if (t1)
        _this._writeSidebar$1$end(t2.get$downEnd());
      else {
        _this._writeSidebar$1$end(t2.get$topLeftCorner());
        _this._colorize$2$color(new A.Highlighter__writeFileStart_closure(_this), "\x1b[34m");
        t1 = _this._highlighter$_buffer;
        t2 = " " + $.$get$context().prettyUri$1(url);
        t1._contents += t2;
      }
      _this._highlighter$_buffer._contents += "\n";
    },
    _writeMultilineHighlights$3$current(line, highlightsByColumn, current) {
      var t1, currentColor, t2, t3, t4, t5, foundCurrent, _i, highlight, t6, startLine, t7, endLine, _this = this, _box_0 = {};
      _box_0.openedOnThisLine = false;
      _box_0.openedOnThisLineColor = null;
      t1 = current == null;
      if (t1)
        currentColor = null;
      else
        currentColor = current.isPrimary ? _this._primaryColor : _this._secondaryColor;
      for (t2 = highlightsByColumn.length, t3 = _this._secondaryColor, t1 = !t1, t4 = _this._primaryColor, t5 = _this._highlighter$_buffer, foundCurrent = false, _i = 0; _i < t2; ++_i) {
        highlight = highlightsByColumn[_i];
        t6 = highlight == null;
        if (t6)
          startLine = null;
        else {
          t7 = highlight.span;
          startLine = t7.get$start(t7).get$line();
        }
        if (t6)
          endLine = null;
        else {
          t7 = highlight.span;
          endLine = t7.get$end(t7).get$line();
        }
        if (t1 && highlight === current) {
          _this._colorize$2$color(new A.Highlighter__writeMultilineHighlights_closure(_this, startLine, line), currentColor);
          foundCurrent = true;
        } else if (foundCurrent)
          _this._colorize$2$color(new A.Highlighter__writeMultilineHighlights_closure0(_this, highlight), currentColor);
        else if (t6)
          if (_box_0.openedOnThisLine)
            _this._colorize$2$color(new A.Highlighter__writeMultilineHighlights_closure1(_this), _box_0.openedOnThisLineColor);
          else
            t5._contents += " ";
        else {
          t6 = highlight.isPrimary ? t4 : t3;
          _this._colorize$2$color(new A.Highlighter__writeMultilineHighlights_closure2(_box_0, _this, current, startLine, line, highlight, endLine), t6);
        }
      }
    },
    _writeMultilineHighlights$2(line, highlightsByColumn) {
      return this._writeMultilineHighlights$3$current(line, highlightsByColumn, null);
    },
    _writeHighlightedText$4$color(text, startColumn, endColumn, color) {
      var _this = this;
      _this._writeText$1(B.JSString_methods.substring$2(text, 0, startColumn));
      _this._colorize$2$color(new A.Highlighter__writeHighlightedText_closure(_this, text, startColumn, endColumn), color);
      _this._writeText$1(B.JSString_methods.substring$2(text, endColumn, text.length));
    },
    _writeIndicator$3(line, highlight, highlightsByColumn) {
      var t2, coversWholeLine, _this = this,
        color = highlight.isPrimary ? _this._primaryColor : _this._secondaryColor,
        t1 = highlight.span;
      if (t1.get$start(t1).get$line() === t1.get$end(t1).get$line()) {
        _this._writeSidebar$0();
        t1 = _this._highlighter$_buffer;
        t1._contents += " ";
        _this._writeMultilineHighlights$3$current(line, highlightsByColumn, highlight);
        if (highlightsByColumn.length !== 0)
          t1._contents += " ";
        _this._writeLabel$3(highlight, highlightsByColumn, _this._colorize$2$color(new A.Highlighter__writeIndicator_closure(_this, line, highlight), color));
      } else {
        t2 = line.number;
        if (t1.get$start(t1).get$line() === t2) {
          if (B.JSArray_methods.contains$1(highlightsByColumn, highlight))
            return;
          A.replaceFirstNull(highlightsByColumn, highlight);
          _this._writeSidebar$0();
          t1 = _this._highlighter$_buffer;
          t1._contents += " ";
          _this._writeMultilineHighlights$3$current(line, highlightsByColumn, highlight);
          _this._colorize$2$color(new A.Highlighter__writeIndicator_closure0(_this, line, highlight), color);
          t1._contents += "\n";
        } else if (t1.get$end(t1).get$line() === t2) {
          coversWholeLine = t1.get$end(t1).get$column() === line.text.length;
          if (coversWholeLine && highlight.label == null) {
            A.replaceWithNull(highlightsByColumn, highlight);
            return;
          }
          _this._writeSidebar$0();
          _this._highlighter$_buffer._contents += " ";
          _this._writeMultilineHighlights$3$current(line, highlightsByColumn, highlight);
          _this._writeLabel$3(highlight, highlightsByColumn, _this._colorize$2$color(new A.Highlighter__writeIndicator_closure1(_this, coversWholeLine, line, highlight), color));
          A.replaceWithNull(highlightsByColumn, highlight);
        }
      }
    },
    _writeArrow$3$beginning(line, column, beginning) {
      var t2,
        t1 = beginning ? 0 : 1,
        tabs = this._countTabs$1(B.JSString_methods.substring$2(line.text, 0, column + t1));
      t1 = this._highlighter$_buffer;
      t2 = B.JSString_methods.$mul($._glyphs.get$horizontalLine(), 1 + column + tabs * 3);
      t2 = t1._contents += t2;
      t1._contents = t2 + "^";
    },
    _writeArrow$2(line, column) {
      return this._writeArrow$3$beginning(line, column, true);
    },
    _writeLabel$3(highlight, highlightsByColumn, underlineLength) {
      var lines, color, t1, t2, t3, t4, t5, t6, _i, columnHighlight, _this = this,
        label = highlight.label;
      if (label == null) {
        _this._highlighter$_buffer._contents += "\n";
        return;
      }
      lines = A._setArrayType(label.split("\n"), type$.JSArray_String);
      color = highlight.isPrimary ? _this._primaryColor : _this._secondaryColor;
      _this._colorize$2$color(new A.Highlighter__writeLabel_closure(_this, lines), color);
      t1 = _this._highlighter$_buffer;
      t1._contents += "\n";
      for (t2 = A.SubListIterable$(lines, 1, null, type$.String), t3 = t2.$ti, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t4 = highlightsByColumn.length, t3 = t3._eval$1("ListIterable.E"); t2.moveNext$0();) {
        t5 = t2.__internal$_current;
        if (t5 == null)
          t5 = t3._as(t5);
        _this._writeSidebar$0();
        t6 = t1._contents += " ";
        for (_i = 0; _i < t4; ++_i) {
          columnHighlight = highlightsByColumn[_i];
          if (columnHighlight == null || columnHighlight === highlight) {
            t6 += " ";
            t1._contents = t6;
          } else {
            t6 = $._glyphs.get$verticalLine();
            t6 = t1._contents += t6;
          }
        }
        t6 = B.JSString_methods.$mul(" ", underlineLength);
        t1._contents += t6;
        _this._colorize$2$color(new A.Highlighter__writeLabel_closure0(_this, t5), color);
        t1._contents += "\n";
      }
    },
    _writeText$1(text) {
      var t1, t2, t3, t4;
      for (t1 = new A.CodeUnits(text), t2 = type$.CodeUnits, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = this._highlighter$_buffer, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        if (t4 == null)
          t4 = t2._as(t4);
        if (t4 === 9) {
          t4 = B.JSString_methods.$mul(" ", 4);
          t3._contents += t4;
        } else {
          t4 = A.Primitives_stringFromCharCode(t4);
          t3._contents += t4;
        }
      }
    },
    _writeSidebar$3$end$line$text(end, line, text) {
      var t1 = {};
      t1.text = text;
      if (line != null)
        t1.text = B.JSInt_methods.toString$0(line + 1);
      this._colorize$2$color(new A.Highlighter__writeSidebar_closure(t1, this, end), "\x1b[34m");
    },
    _writeSidebar$1$end(end) {
      return this._writeSidebar$3$end$line$text(end, null, null);
    },
    _writeSidebar$1$text(text) {
      return this._writeSidebar$3$end$line$text(null, null, text);
    },
    _writeSidebar$1$line(line) {
      return this._writeSidebar$3$end$line$text(null, line, null);
    },
    _writeSidebar$0() {
      return this._writeSidebar$3$end$line$text(null, null, null);
    },
    _countTabs$1(text) {
      var t1, t2, count, t3;
      for (t1 = new A.CodeUnits(text), t2 = type$.CodeUnits, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"), count = 0; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if ((t3 == null ? t2._as(t3) : t3) === 9)
          ++count;
      }
      return count;
    },
    _isOnlyWhitespace$1(text) {
      var t1, t2, t3;
      for (t1 = new A.CodeUnits(text), t2 = type$.CodeUnits, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        if (t3 !== 32 && t3 !== 9)
          return false;
      }
      return true;
    },
    _colorize$1$2$color(callback, color) {
      var result,
        t1 = this._primaryColor != null;
      if (t1 && color != null)
        this._highlighter$_buffer._contents += color;
      result = callback.call$0();
      if (t1 && color != null)
        this._highlighter$_buffer._contents += "\x1b[0m";
      return result;
    },
    _colorize$2$color(callback, color) {
      return this._colorize$1$2$color(callback, color, type$.dynamic);
    }
  };
  A.Highlighter_closure.prototype = {
    call$0() {
      var t1 = this.color,
        t2 = J.getInterceptor$(t1);
      if (t2.$eq(t1, true))
        return "\x1b[31m";
      if (t2.$eq(t1, false))
        return null;
      return A._asStringQ(t1);
    },
    $signature: 44
  };
  A.Highlighter$__closure.prototype = {
    call$1(line) {
      var t1 = line.highlights;
      return new A.WhereIterable(t1, new A.Highlighter$___closure(), A._arrayInstanceType(t1)._eval$1("WhereIterable<1>")).get$length(0);
    },
    $signature: 277
  };
  A.Highlighter$___closure.prototype = {
    call$1(highlight) {
      var t1 = highlight.span;
      return t1.get$start(t1).get$line() !== t1.get$end(t1).get$line();
    },
    $signature: 133
  };
  A.Highlighter$__closure0.prototype = {
    call$1(line) {
      return line.url;
    },
    $signature: 279
  };
  A.Highlighter__collateLines_closure.prototype = {
    call$1(highlight) {
      var t1 = highlight.span;
      t1 = t1.get$sourceUrl(t1);
      return t1 == null ? new A.Object() : t1;
    },
    $signature: 280
  };
  A.Highlighter__collateLines_closure0.prototype = {
    call$2(highlight1, highlight2) {
      return highlight1.span.compareTo$1(0, highlight2.span);
    },
    $signature: 281
  };
  A.Highlighter__collateLines_closure1.prototype = {
    call$1(entry) {
      var t1, t2, t3, t4, context, t5, linesBeforeSpan, lineNumber, _i, line, activeHighlights, highlightIndex, oldHighlightLength, t6,
        url = entry.key,
        highlightsForFile = entry.value,
        lines = A._setArrayType([], type$.JSArray__Line);
      for (t1 = J.getInterceptor$ax(highlightsForFile), t2 = t1.get$iterator(highlightsForFile), t3 = type$.JSArray__Highlight; t2.moveNext$0();) {
        t4 = t2.get$current(t2).span;
        context = t4.get$context(t4);
        t5 = A.findLineStart(context, t4.get$text(), t4.get$start(t4).get$column());
        t5.toString;
        linesBeforeSpan = B.JSString_methods.allMatches$1("\n", B.JSString_methods.substring$2(context, 0, t5)).get$length(0);
        lineNumber = t4.get$start(t4).get$line() - linesBeforeSpan;
        for (t4 = context.split("\n"), t5 = t4.length, _i = 0; _i < t5; ++_i) {
          line = t4[_i];
          if (lines.length === 0 || lineNumber > B.JSArray_methods.get$last(lines).number)
            lines.push(new A._Line(line, lineNumber, url, A._setArrayType([], t3)));
          ++lineNumber;
        }
      }
      activeHighlights = A._setArrayType([], t3);
      for (t2 = lines.length, highlightIndex = 0, _i = 0; _i < lines.length; lines.length === t2 || (0, A.throwConcurrentModificationError)(lines), ++_i) {
        line = lines[_i];
        if (!!activeHighlights.fixed$length)
          A.throwExpression(A.UnsupportedError$("removeWhere"));
        B.JSArray_methods._removeWhere$2(activeHighlights, new A.Highlighter__collateLines__closure(line), true);
        oldHighlightLength = activeHighlights.length;
        for (t3 = t1.skip$1(highlightsForFile, highlightIndex), t4 = t3.$ti, t3 = new A.ListIterator(t3, t3.get$length(0), t4._eval$1("ListIterator")), t4 = t4._eval$1("ListIterable.E"); t3.moveNext$0();) {
          t5 = t3.__internal$_current;
          if (t5 == null)
            t5 = t4._as(t5);
          t6 = t5.span;
          if (t6.get$start(t6).get$line() > line.number)
            break;
          activeHighlights.push(t5);
        }
        highlightIndex += activeHighlights.length - oldHighlightLength;
        B.JSArray_methods.addAll$1(line.highlights, activeHighlights);
      }
      return lines;
    },
    $signature: 282
  };
  A.Highlighter__collateLines__closure.prototype = {
    call$1(highlight) {
      var t1 = highlight.span;
      return t1.get$end(t1).get$line() < this.line.number;
    },
    $signature: 133
  };
  A.Highlighter_highlight_closure.prototype = {
    call$1(highlight) {
      return highlight.isPrimary;
    },
    $signature: 133
  };
  A.Highlighter__writeFileStart_closure.prototype = {
    call$0() {
      var t1 = this.$this._highlighter$_buffer,
        t2 = B.JSString_methods.$mul($._glyphs.get$horizontalLine(), 2) + ">";
      t1._contents += t2;
      return null;
    },
    $signature: 0
  };
  A.Highlighter__writeMultilineHighlights_closure.prototype = {
    call$0() {
      var t1 = this.$this._highlighter$_buffer,
        t2 = $._glyphs;
      t2 = this.startLine === this.line.number ? t2.get$topLeftCorner() : t2.get$bottomLeftCorner();
      t1._contents += t2;
    },
    $signature: 1
  };
  A.Highlighter__writeMultilineHighlights_closure0.prototype = {
    call$0() {
      var t1 = this.$this._highlighter$_buffer,
        t2 = $._glyphs;
      t2 = this.highlight == null ? t2.get$horizontalLine() : t2.get$cross();
      t1._contents += t2;
    },
    $signature: 1
  };
  A.Highlighter__writeMultilineHighlights_closure1.prototype = {
    call$0() {
      var t1 = this.$this._highlighter$_buffer,
        t2 = $._glyphs.get$horizontalLine();
      t1._contents += t2;
      return null;
    },
    $signature: 0
  };
  A.Highlighter__writeMultilineHighlights_closure2.prototype = {
    call$0() {
      var _this = this,
        t1 = _this._box_0,
        t2 = t1.openedOnThisLine,
        t3 = $._glyphs,
        vertical = t2 ? t3.get$cross() : t3.get$verticalLine();
      if (_this.current != null)
        _this.$this._highlighter$_buffer._contents += vertical;
      else {
        t2 = _this.line;
        t3 = t2.number;
        if (_this.startLine === t3) {
          t2 = _this.$this;
          t2._colorize$2$color(new A.Highlighter__writeMultilineHighlights__closure(t1, t2), t1.openedOnThisLineColor);
          t1.openedOnThisLine = true;
          if (t1.openedOnThisLineColor == null)
            t1.openedOnThisLineColor = _this.highlight.isPrimary ? t2._primaryColor : t2._secondaryColor;
        } else {
          if (_this.endLine === t3) {
            t3 = _this.highlight.span;
            t2 = t3.get$end(t3).get$column() === t2.text.length;
          } else
            t2 = false;
          t3 = _this.$this;
          if (t2) {
            t1 = t3._highlighter$_buffer;
            t2 = _this.highlight.label == null ? $._glyphs.glyphOrAscii$2("\u2514", "\\") : vertical;
            t1._contents += t2;
          } else
            t3._colorize$2$color(new A.Highlighter__writeMultilineHighlights__closure0(t3, vertical), t1.openedOnThisLineColor);
        }
      }
    },
    $signature: 1
  };
  A.Highlighter__writeMultilineHighlights__closure.prototype = {
    call$0() {
      var t1 = this.$this._highlighter$_buffer,
        t2 = this._box_0.openedOnThisLine ? "\u252c" : "\u250c";
      t2 = $._glyphs.glyphOrAscii$2(t2, "/");
      t1._contents += t2;
    },
    $signature: 1
  };
  A.Highlighter__writeMultilineHighlights__closure0.prototype = {
    call$0() {
      this.$this._highlighter$_buffer._contents += this.vertical;
    },
    $signature: 1
  };
  A.Highlighter__writeHighlightedText_closure.prototype = {
    call$0() {
      var _this = this;
      return _this.$this._writeText$1(B.JSString_methods.substring$2(_this.text, _this.startColumn, _this.endColumn));
    },
    $signature: 0
  };
  A.Highlighter__writeIndicator_closure.prototype = {
    call$0() {
      var startColumn, endColumn, tabsBefore, tabsInside,
        t1 = this.$this,
        t2 = t1._highlighter$_buffer,
        t3 = t2._contents,
        t4 = this.highlight,
        t5 = t4.span;
      t4 = t4.isPrimary ? "^" : $._glyphs.get$horizontalLineBold();
      startColumn = t5.get$start(t5).get$column();
      endColumn = t5.get$end(t5).get$column();
      t5 = this.line.text;
      tabsBefore = t1._countTabs$1(B.JSString_methods.substring$2(t5, 0, startColumn));
      tabsInside = t1._countTabs$1(B.JSString_methods.substring$2(t5, startColumn, endColumn));
      startColumn += tabsBefore * 3;
      t5 = B.JSString_methods.$mul(" ", startColumn);
      t2._contents += t5;
      t4 = B.JSString_methods.$mul(t4, Math.max(endColumn + (tabsBefore + tabsInside) * 3 - startColumn, 1));
      t4 = t2._contents += t4;
      return t4.length - t3.length;
    },
    $signature: 10
  };
  A.Highlighter__writeIndicator_closure0.prototype = {
    call$0() {
      var t1 = this.highlight.span;
      return this.$this._writeArrow$2(this.line, t1.get$start(t1).get$column());
    },
    $signature: 0
  };
  A.Highlighter__writeIndicator_closure1.prototype = {
    call$0() {
      var t4, _this = this,
        t1 = _this.$this,
        t2 = t1._highlighter$_buffer,
        t3 = t2._contents;
      if (_this.coversWholeLine) {
        t1 = B.JSString_methods.$mul($._glyphs.get$horizontalLine(), 3);
        t2._contents += t1;
      } else {
        t4 = _this.highlight.span;
        t1._writeArrow$3$beginning(_this.line, Math.max(t4.get$end(t4).get$column() - 1, 0), false);
      }
      return t2._contents.length - t3.length;
    },
    $signature: 10
  };
  A.Highlighter__writeLabel_closure.prototype = {
    call$0() {
      var t1 = this.$this._highlighter$_buffer,
        t2 = " " + A.S(B.JSArray_methods.get$first(this.lines));
      t1._contents += t2;
      return null;
    },
    $signature: 0
  };
  A.Highlighter__writeLabel_closure0.prototype = {
    call$0() {
      this.$this._highlighter$_buffer._contents += " " + this.text;
      return null;
    },
    $signature: 0
  };
  A.Highlighter__writeSidebar_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._highlighter$_buffer,
        t3 = this._box_0.text;
      if (t3 == null)
        t3 = "";
      t1 = B.JSString_methods.padRight$1(t3, t1._paddingBeforeSidebar);
      t2._contents += t1;
      t1 = this.end;
      if (t1 == null)
        t1 = $._glyphs.get$verticalLine();
      t2._contents += t1;
    },
    $signature: 1
  };
  A._Highlight.prototype = {
    toString$0(_) {
      var t1 = this.isPrimary ? "" + "primary " : "",
        t2 = this.span;
      t2 = t1 + ("" + t2.get$start(t2).get$line() + ":" + t2.get$start(t2).get$column() + "-" + t2.get$end(t2).get$line() + ":" + t2.get$end(t2).get$column());
      t1 = this.label;
      t1 = t1 != null ? t2 + (" (" + t1 + ")") : t2;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A._Highlight_closure.prototype = {
    call$0() {
      var t2, t3, t4, t5,
        t1 = this.span;
      if (!(type$.SourceSpanWithContext._is(t1) && A.findLineStart(t1.get$context(t1), t1.get$text(), t1.get$start(t1).get$column()) != null)) {
        t2 = A.SourceLocation$(t1.get$start(t1).get$offset(), 0, 0, t1.get$sourceUrl(t1));
        t3 = t1.get$end(t1).get$offset();
        t4 = t1.get$sourceUrl(t1);
        t5 = A.countCodeUnits(t1.get$text(), 10);
        t1 = A.SourceSpanWithContext$(t2, A.SourceLocation$(t3, A._Highlight__lastLineLength(t1.get$text()), t5, t4), t1.get$text(), t1.get$text());
      }
      return A._Highlight__normalizeEndOfLine(A._Highlight__normalizeTrailingNewline(A._Highlight__normalizeNewlines(t1)));
    },
    $signature: 283
  };
  A._Line.prototype = {
    toString$0(_) {
      return "" + this.number + ': "' + this.text + '" (' + B.JSArray_methods.join$1(this.highlights, ", ") + ")";
    }
  };
  A.SourceLocation.prototype = {
    distance$1(other) {
      var t1 = this.sourceUrl;
      if (!J.$eq$(t1, other.get$sourceUrl(other)))
        throw A.wrapException(A.ArgumentError$('Source URLs "' + A.S(t1) + '" and "' + A.S(other.get$sourceUrl(other)) + "\" don't match.", null));
      return Math.abs(this.offset - other.get$offset());
    },
    compareTo$1(_, other) {
      var t1 = this.sourceUrl;
      if (!J.$eq$(t1, other.get$sourceUrl(other)))
        throw A.wrapException(A.ArgumentError$('Source URLs "' + A.S(t1) + '" and "' + A.S(other.get$sourceUrl(other)) + "\" don't match.", null));
      return this.offset - other.get$offset();
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.SourceLocation._is(other) && J.$eq$(this.sourceUrl, other.get$sourceUrl(other)) && this.offset === other.get$offset();
    },
    get$hashCode(_) {
      var t1 = this.sourceUrl;
      t1 = t1 == null ? null : t1.get$hashCode(t1);
      if (t1 == null)
        t1 = 0;
      return t1 + this.offset;
    },
    toString$0(_) {
      var _this = this,
        t1 = A.getRuntimeTypeOfDartObject(_this).toString$0(0),
        source = _this.sourceUrl;
      return "<" + t1 + ": " + _this.offset + " " + (A.S(source == null ? "unknown source" : source) + ":" + (_this.line + 1) + ":" + (_this.column + 1)) + ">";
    },
    $isComparable: 1,
    get$sourceUrl(receiver) {
      return this.sourceUrl;
    },
    get$offset() {
      return this.offset;
    },
    get$line() {
      return this.line;
    },
    get$column() {
      return this.column;
    }
  };
  A.SourceLocationMixin.prototype = {
    distance$1(other) {
      if (!J.$eq$(this.file.url, other.get$sourceUrl(other)))
        throw A.wrapException(A.ArgumentError$('Source URLs "' + A.S(this.get$sourceUrl(0)) + '" and "' + A.S(other.get$sourceUrl(other)) + "\" don't match.", null));
      return Math.abs(this.offset - other.get$offset());
    },
    compareTo$1(_, other) {
      if (!J.$eq$(this.file.url, other.get$sourceUrl(other)))
        throw A.wrapException(A.ArgumentError$('Source URLs "' + A.S(this.get$sourceUrl(0)) + '" and "' + A.S(other.get$sourceUrl(other)) + "\" don't match.", null));
      return this.offset - other.get$offset();
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.SourceLocation._is(other) && J.$eq$(this.file.url, other.get$sourceUrl(other)) && this.offset === other.get$offset();
    },
    get$hashCode(_) {
      var t1 = this.file.url;
      t1 = t1 == null ? null : t1.get$hashCode(t1);
      if (t1 == null)
        t1 = 0;
      return t1 + this.offset;
    },
    toString$0(_) {
      var t1 = A.getRuntimeTypeOfDartObject(this).toString$0(0),
        t2 = this.offset,
        t3 = this.file,
        source = t3.url;
      return "<" + t1 + ": " + t2 + " " + (A.S(source == null ? "unknown source" : source) + ":" + (t3.getLine$1(t2) + 1) + ":" + (t3.getColumn$1(t2) + 1)) + ">";
    },
    $isComparable: 1,
    $isSourceLocation: 1
  };
  A.SourceSpanBase.prototype = {
    SourceSpanBase$3(start, end, text) {
      var t3,
        t1 = this.end,
        t2 = this.start;
      if (!J.$eq$(t1.get$sourceUrl(t1), t2.get$sourceUrl(t2)))
        throw A.wrapException(A.ArgumentError$('Source URLs "' + A.S(t2.get$sourceUrl(t2)) + '" and  "' + A.S(t1.get$sourceUrl(t1)) + "\" don't match.", null));
      else if (t1.get$offset() < t2.get$offset())
        throw A.wrapException(A.ArgumentError$("End " + t1.toString$0(0) + " must come after start " + t2.toString$0(0) + ".", null));
      else {
        t3 = this.text;
        if (t3.length !== t2.distance$1(t1))
          throw A.wrapException(A.ArgumentError$('Text "' + t3 + '" must be ' + t2.distance$1(t1) + " characters long.", null));
      }
    },
    get$start(receiver) {
      return this.start;
    },
    get$end(receiver) {
      return this.end;
    },
    get$text() {
      return this.text;
    }
  };
  A.SourceSpanException.prototype = {
    get$message(_) {
      return this._span_exception$_message;
    },
    get$span(_) {
      return this._span;
    },
    toString$1$color(_, color) {
      var _this = this;
      _this.get$span(_this);
      return "Error on " + _this.get$span(_this).message$2$color(0, _this._span_exception$_message, color);
    },
    toString$0(_) {
      return this.toString$1$color(0, null);
    },
    $isException: 1
  };
  A.SourceSpanFormatException.prototype = {$isFormatException: 1,
    get$source() {
      return this.source;
    }
  };
  A.MultiSourceSpanException.prototype = {
    toString$0(_) {
      var _this = this;
      return "Error on " + A.SourceSpanExtension_messageMultiple(_this._span, _this._span_exception$_message, _this.primaryLabel, _this.secondarySpans, false, null, null);
    },
    get$primaryLabel() {
      return this.primaryLabel;
    },
    get$secondarySpans() {
      return this.secondarySpans;
    }
  };
  A.MultiSourceSpanFormatException.prototype = {$isFormatException: 1};
  A.SourceSpanMixin.prototype = {
    get$sourceUrl(_) {
      var t1 = this.get$start(this);
      return t1.get$sourceUrl(t1);
    },
    get$length(_) {
      var _this = this;
      return _this.get$end(_this).get$offset() - _this.get$start(_this).get$offset();
    },
    compareTo$1(_, other) {
      var _this = this,
        result = _this.get$start(_this).compareTo$1(0, other.get$start(other));
      return result === 0 ? _this.get$end(_this).compareTo$1(0, other.get$end(other)) : result;
    },
    message$2$color(_, message, color) {
      var t2, t3, highlight, _this = this,
        t1 = "" + ("line " + (_this.get$start(_this).get$line() + 1) + ", column " + (_this.get$start(_this).get$column() + 1));
      if (_this.get$sourceUrl(_this) != null) {
        t2 = _this.get$sourceUrl(_this);
        t3 = $.$get$context();
        t2.toString;
        t2 = t1 + (" of " + t3.prettyUri$1(t2));
        t1 = t2;
      }
      t1 += ": " + message;
      highlight = _this.highlight$1$color(color);
      if (highlight.length !== 0)
        t1 = t1 + "\n" + highlight;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    message$1(_, message) {
      return this.message$2$color(0, message, null);
    },
    highlight$1$color(color) {
      var _this = this;
      if (!type$.SourceSpanWithContext._is(_this) && _this.get$length(_this) === 0)
        return "";
      return A.Highlighter$(_this, color).highlight$0();
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return type$.SourceSpan._is(other) && _this.get$start(_this).$eq(0, other.get$start(other)) && _this.get$end(_this).$eq(0, other.get$end(other));
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.get$start(_this), _this.get$end(_this), B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this;
      return "<" + A.getRuntimeTypeOfDartObject(_this).toString$0(0) + ": from " + _this.get$start(_this).toString$0(0) + " to " + _this.get$end(_this).toString$0(0) + ' "' + _this.get$text() + '">';
    },
    $isComparable: 1,
    $isSourceSpan: 1
  };
  A.SourceSpanWithContext.prototype = {
    get$context(_) {
      return this._context;
    }
  };
  A.Chain.prototype = {
    toTrace$0() {
      var t1 = this.traces;
      return A.Trace$(new A.ExpandIterable(t1, new A.Chain_toTrace_closure(), A._arrayInstanceType(t1)._eval$1("ExpandIterable<1,Frame>")), null);
    },
    toString$0(_) {
      var t1 = this.traces,
        t2 = A._arrayInstanceType(t1);
      return new A.MappedListIterable(t1, new A.Chain_toString_closure(new A.MappedListIterable(t1, new A.Chain_toString_closure0(), t2._eval$1("MappedListIterable<1,int>")).fold$2(0, 0, B.CONSTANT)), t2._eval$1("MappedListIterable<1,String>")).join$1(0, string$.x3d_____);
    },
    $isStackTrace: 1
  };
  A.Chain_Chain$parse_closure.prototype = {
    call$1(line) {
      return line.length !== 0;
    },
    $signature: 4
  };
  A.Chain_toTrace_closure.prototype = {
    call$1(trace) {
      return trace.get$frames();
    },
    $signature: 284
  };
  A.Chain_toString_closure0.prototype = {
    call$1(trace) {
      var t1 = trace.get$frames();
      return new A.MappedListIterable(t1, new A.Chain_toString__closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,int>")).fold$2(0, 0, B.CONSTANT);
    },
    $signature: 285
  };
  A.Chain_toString__closure0.prototype = {
    call$1(frame) {
      return frame.get$location().length;
    },
    $signature: 261
  };
  A.Chain_toString_closure.prototype = {
    call$1(trace) {
      var t1 = trace.get$frames();
      return new A.MappedListIterable(t1, new A.Chain_toString__closure(this.longest), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$0(0);
    },
    $signature: 287
  };
  A.Chain_toString__closure.prototype = {
    call$1(frame) {
      return B.JSString_methods.padRight$1(frame.get$location(), this.longest) + "  " + A.S(frame.get$member()) + "\n";
    },
    $signature: 260
  };
  A.Frame.prototype = {
    get$isCore() {
      return this.uri.get$scheme() === "dart";
    },
    get$library() {
      var t1 = this.uri;
      if (t1.get$scheme() === "data")
        return "data:...";
      return $.$get$context().prettyUri$1(t1);
    },
    get$$package() {
      var t1 = this.uri;
      if (t1.get$scheme() !== "package")
        return null;
      return B.JSArray_methods.get$first(t1.get$path(t1).split("/"));
    },
    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$uri() {
      return this.uri;
    },
    get$line() {
      return this.line;
    },
    get$column() {
      return this.column;
    },
    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;
      t2 = t1[1];
      t2.toString;
      t3 = $.$get$_asyncBody();
      t2 = A.stringReplaceAllUnchecked(t2, t3, "");
      member = A.stringReplaceAllUnchecked(t2, "", "");
      t2 = t1[2];
      t3 = t2;
      t3.toString;
      if (B.JSString_methods.startsWith$1(t3, " 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: 69
  };
  A.Frame_Frame$parseV8_closure.prototype = {
    call$0() {
      var t2, t3, _s4_ = "",
        t1 = this.frame,
        match = $.$get$_v8Frame().firstMatch$1(t1);
      if (match == null)
        return new A.UnparsedFrame(A._Uri__Uri(null, "unparsed", null, null), t1);
      t1 = new A.Frame_Frame$parseV8_closure_parseLocation(t1);
      t2 = match._match;
      t3 = t2[2];
      if (t3 != null) {
        t3 = t3;
        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 {
        t2 = t2[3];
        t2.toString;
        return t1.call$2(t2, _s4_);
      }
    },
    $signature: 69
  };
  A.Frame_Frame$parseV8_closure_parseLocation.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[1];
        t2.toString;
        evalMatch = t1.firstMatch$1(t2);
      }
      if ($location === "native")
        return new A.Frame(A.Uri_parse("native"), _null, _null, member);
      urlMatch = $.$get$_v8UrlLocation().firstMatch$1($location);
      if (urlMatch == null)
        return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), this.frame);
      t1 = urlMatch._match;
      t2 = t1[1];
      t2.toString;
      uri = A.Frame__uriOrPathToUri(t2);
      t2 = t1[2];
      t2.toString;
      line = A.int_parse(t2, _null);
      columnMatch = t1[3];
      return new A.Frame(uri, line, columnMatch != null ? A.int_parse(columnMatch, _null) : _null, member);
    },
    $signature: 290
  };
  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;
      t2 = t1[1];
      t2.toString;
      member = A.stringReplaceAllUnchecked(t2, "/<", "");
      t2 = t1[2];
      t2.toString;
      uri = A.Frame__uriOrPathToUri(t2);
      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: 69
  };
  A.Frame_Frame$parseFirefox_closure.prototype = {
    call$0() {
      var t2, t3, t4, uri, member, line, column, _null = null,
        t1 = this.frame,
        match = $.$get$_firefoxSafariFrame().firstMatch$1(t1);
      if (match == null)
        return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), t1);
      t2 = match._match;
      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);
      member = t2[1];
      if (member != null) {
        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 = "";
      t1 = t2[4];
      if (t1 === "")
        line = _null;
      else {
        t1 = t1;
        t1.toString;
        line = A.int_parse(t1, _null);
      }
      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);
    },
    $signature: 69
  };
  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;
      t2 = t1[1];
      if (t2 === "data:...")
        uri = A.Uri_Uri$dataFromString("", _null, _null);
      else {
        t2 = t2;
        t2.toString;
        uri = A.Uri_parse(t2);
      }
      if (uri.get$scheme() === "") {
        t2 = $.$get$context();
        uri = t2.toUri$1(A.absolute(t2.style.pathFromUri$1(A._parseUri(uri)), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
      }
      t2 = t1[2];
      if (t2 == null)
        line = _null;
      else {
        t2 = t2;
        t2.toString;
        line = A.int_parse(t2, _null);
      }
      t2 = t1[3];
      if (t2 == null)
        column = _null;
      else {
        t2 = t2;
        t2.toString;
        column = A.int_parse(t2, _null);
      }
      return new A.Frame(uri, line, column, t1[4]);
    },
    $signature: 69
  };
  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.throwUnnamedLateFieldADI();
        _this.__LazyTrace__trace_FI = result;
        value = result;
      }
      return value;
    },
    get$frames() {
      return this.get$_lazy_trace$_trace().get$frames();
    },
    get$terse() {
      return new A.LazyTrace(new A.LazyTrace_terse_closure(this));
    },
    toString$0(_) {
      return this.get$_lazy_trace$_trace().toString$0(0);
    },
    $isStackTrace: 1,
    $isTrace: 1
  };
  A.LazyTrace_terse_closure.prototype = {
    call$0() {
      return this.$this.get$_lazy_trace$_trace().get$terse();
    },
    $signature: 259
  };
  A.Trace.prototype = {
    get$terse() {
      return this.foldFrames$2$terse(new A.Trace_terse_closure(), true);
    },
    foldFrames$2$terse(predicate, terse) {
      var newFrames, t1, t2, t3, _box_0 = {};
      _box_0.predicate = predicate;
      _box_0.predicate = new A.Trace_foldFrames_closure(predicate);
      newFrames = A._setArrayType([], type$.JSArray_Frame);
      for (t1 = this.frames, t2 = A._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>"), t1 = new A.ReversedListIterable(t1, t2), 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 (t3 instanceof A.UnparsedFrame || !_box_0.predicate.call$1(t3))
          newFrames.push(t3);
        else if (newFrames.length === 0 || !_box_0.predicate.call$1(B.JSArray_methods.get$last(newFrames)))
          newFrames.push(new A.Frame(t3.get$uri(), t3.get$line(), t3.get$column(), t3.get$member()));
      }
      t1 = type$.MappedListIterable_Frame_Frame;
      newFrames = A.List_List$of(new A.MappedListIterable(newFrames, new A.Trace_foldFrames_closure0(_box_0), t1), true, t1._eval$1("ListIterable.E"));
      if (newFrames.length > 1 && _box_0.predicate.call$1(B.JSArray_methods.get$first(newFrames)))
        B.JSArray_methods.removeAt$1(newFrames, 0);
      return A.Trace$(new A.ReversedListIterable(newFrames, A._arrayInstanceType(newFrames)._eval$1("ReversedListIterable<1>")), this.original._stackTrace);
    },
    toString$0(_) {
      var t1 = this.frames,
        t2 = A._arrayInstanceType(t1);
      return new A.MappedListIterable(t1, new A.Trace_toString_closure(new A.MappedListIterable(t1, new A.Trace_toString_closure0(), t2._eval$1("MappedListIterable<1,int>")).fold$2(0, 0, B.CONSTANT)), 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: 259
  };
  A.Trace__parseVM_closure.prototype = {
    call$1(line) {
      return line.length !== 0;
    },
    $signature: 4
  };
  A.Trace$parseV8_closure.prototype = {
    call$1(line) {
      return !B.JSString_methods.startsWith$1(line, $.$get$_v8TraceLine());
    },
    $signature: 4
  };
  A.Trace$parseJSCore_closure.prototype = {
    call$1(line) {
      return line !== "\tat ";
    },
    $signature: 4
  };
  A.Trace$parseFirefox_closure.prototype = {
    call$1(line) {
      return line.length !== 0 && line !== "[native code]";
    },
    $signature: 4
  };
  A.Trace$parseFriendly_closure.prototype = {
    call$1(line) {
      return !B.JSString_methods.startsWith$1(line, "=====");
    },
    $signature: 4
  };
  A.Trace_terse_closure.prototype = {
    call$1(_) {
      return false;
    },
    $signature: 258
  };
  A.Trace_foldFrames_closure.prototype = {
    call$1(frame) {
      var t1;
      if (this.oldPredicate.call$1(frame))
        return true;
      if (frame.get$isCore())
        return true;
      if (frame.get$$package() === "stack_trace")
        return true;
      t1 = frame.get$member();
      t1.toString;
      if (!B.JSString_methods.contains$1(t1, ""))
        return false;
      return frame.get$line() == null;
    },
    $signature: 258
  };
  A.Trace_foldFrames_closure0.prototype = {
    call$1(frame) {
      var t1, t2;
      if (frame instanceof A.UnparsedFrame || !this._box_0.predicate.call$1(frame))
        return frame;
      t1 = frame.get$library();
      t2 = $.$get$_terseRegExp();
      return new A.Frame(A.Uri_parse(A.stringReplaceAllUnchecked(t1, t2, "")), null, null, frame.get$member());
    },
    $signature: 293
  };
  A.Trace_toString_closure0.prototype = {
    call$1(frame) {
      return frame.get$location().length;
    },
    $signature: 261
  };
  A.Trace_toString_closure.prototype = {
    call$1(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: 260
  };
  A.UnparsedFrame.prototype = {
    toString$0(_) {
      return this.member;
    },
    $isFrame: 1,
    get$uri() {
      return this.uri;
    },
    get$line() {
      return null;
    },
    get$column() {
      return null;
    },
    get$isCore() {
      return false;
    },
    get$library() {
      return "unparsed";
    },
    get$$package() {
      return null;
    },
    get$location() {
      return "unparsed";
    },
    get$member() {
      return this.member;
    }
  };
  A.TransformByHandlers_transformByHandlers_closure.prototype = {
    call$0() {
      var t2, subscription, t3, t4, _this = this, t1 = {};
      t1.valuesDone = false;
      t2 = _this.controller;
      subscription = _this._this.listen$3$onDone$onError(0, new A.TransformByHandlers_transformByHandlers__closure(_this.handleData, t2, _this.S), new A.TransformByHandlers_transformByHandlers__closure0(t1, _this.handleDone, t2), new A.TransformByHandlers_transformByHandlers__closure1(_this.handleError, t2));
      t3 = _this._box_1;
      t3.subscription = subscription;
      t2.set$onPause(subscription.get$pause(subscription));
      t4 = t3.subscription;
      t2.set$onResume(t4.get$resume(t4));
      t2.set$onCancel(new A.TransformByHandlers_transformByHandlers__closure2(t3, t1));
    },
    $signature: 0
  };
  A.TransformByHandlers_transformByHandlers__closure.prototype = {
    call$1(value) {
      return this.handleData.call$2(value, this.controller);
    },
    $signature() {
      return this.S._eval$1("~(0)");
    }
  };
  A.TransformByHandlers_transformByHandlers__closure1.prototype = {
    call$2(error, stackTrace) {
      this.handleError.call$3(error, stackTrace, this.controller);
    },
    $signature: 52
  };
  A.TransformByHandlers_transformByHandlers__closure0.prototype = {
    call$0() {
      this._box_0.valuesDone = true;
      this.handleDone.call$1(this.controller);
    },
    $signature: 0
  };
  A.TransformByHandlers_transformByHandlers__closure2.prototype = {
    call$0() {
      var t1 = this._box_1,
        toCancel = t1.subscription;
      t1.subscription = null;
      if (!this._box_0.valuesDone)
        return toCancel.cancel$0();
      return null;
    },
    $signature: 214
  };
  A.RateLimit__debounceAggregate_closure.prototype = {
    call$2(value, sink) {
      var _this = this,
        t1 = _this._box_0,
        t2 = new A.RateLimit__debounceAggregate_closure_emit(t1, sink, _this.S),
        t3 = t1.timer;
      if (t3 != null)
        t3.cancel$0();
      t1.soFar = _this.collect.call$2(value, t1.soFar);
      t1.hasPending = true;
      if (t1.timer == null && _this.leading) {
        t1.emittedLatestAsLeading = true;
        t2.call$0();
      } else
        t1.emittedLatestAsLeading = false;
      t1.timer = A.Timer_Timer(_this.duration, new A.RateLimit__debounceAggregate__closure(t1, _this.trailing, t2, sink));
    },
    $signature() {
      return this.T._eval$1("@<0>")._bind$1(this.S)._eval$1("~(1,EventSink<2>)");
    }
  };
  A.RateLimit__debounceAggregate_closure_emit.prototype = {
    call$0() {
      var t1 = this._box_0,
        t2 = t1.soFar;
      if (t2 == null)
        t2 = this.S._as(t2);
      this.sink.add$1(0, t2);
      t1.soFar = null;
      t1.hasPending = false;
    },
    $signature: 0
  };
  A.RateLimit__debounceAggregate__closure.prototype = {
    call$0() {
      var t1 = this._box_0,
        t2 = t1.emittedLatestAsLeading;
      if (!t2)
        this.emit.call$0();
      if (t1.shouldClose)
        this.sink.close$0(0);
      t1.timer = null;
    },
    $signature: 0
  };
  A.RateLimit__debounceAggregate_closure0.prototype = {
    call$1(sink) {
      var t1 = this._box_0;
      if (t1.hasPending && this.trailing)
        t1.shouldClose = true;
      else {
        t1 = t1.timer;
        if (t1 != null)
          t1.cancel$0();
        sink.close$0(0);
      }
    },
    $signature() {
      return this.S._eval$1("~(EventSink<0>)");
    }
  };
  A.StringScannerException.prototype = {
    get$source() {
      return A._asString(this.source);
    }
  };
  A.LineScanner.prototype = {
    scanChar$1(character) {
      if (!this.super$StringScanner$scanChar(character))
        return false;
      this._adjustLineAndColumn$1(character);
      return true;
    },
    readChar$0() {
      var character = this.super$StringScanner$readChar();
      this._adjustLineAndColumn$1(character);
      return character;
    },
    _adjustLineAndColumn$1(character) {
      var t1, _this = this;
      if (character !== 10)
        t1 = character === 13 && _this.peekChar$0() !== 10;
      else
        t1 = true;
      if (t1) {
        ++_this._line_scanner$_line;
        _this._line_scanner$_column = 0;
      } else {
        t1 = _this._line_scanner$_column;
        _this._line_scanner$_column = t1 + (character >= 65536 && character <= 1114111 ? 2 : 1);
      }
    },
    scan$1(pattern) {
      var t1, newlines, t2, _this = this;
      if (!_this.super$StringScanner$scan(pattern))
        return false;
      t1 = _this.get$lastMatch();
      newlines = _this._newlinesIn$1(t1.pattern);
      t1 = _this._line_scanner$_line;
      t2 = newlines.length;
      _this._line_scanner$_line = t1 + t2;
      if (t2 === 0) {
        t1 = _this._line_scanner$_column;
        t2 = _this.get$lastMatch();
        _this._line_scanner$_column = t1 + t2.pattern.length;
      } else {
        t1 = _this.get$lastMatch();
        _this._line_scanner$_column = t1.pattern.length - J.get$end$z(B.JSArray_methods.get$last(newlines));
      }
      return true;
    },
    _newlinesIn$1(text) {
      var t1 = $.$get$_newlineRegExp().allMatches$1(0, text),
        newlines = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("Iterable.E"));
      if (this.peekChar$1(-1) === 13 && this.peekChar$0() === 10)
        B.JSArray_methods.removeLast$0(newlines);
      return newlines;
    }
  };
  A.SpanScanner.prototype = {
    set$state(state) {
      if (state._scanner !== this)
        throw A.wrapException(A.ArgumentError$(string$.The_gi, null));
      this.set$position(state.position);
    },
    spanFrom$2(startState, endState) {
      var endPosition = endState == null ? this._string_scanner$_position : endState.position;
      return this._sourceFile.span$2(0, startState.position, endPosition);
    },
    spanFrom$1(startState) {
      return this.spanFrom$2(startState, null);
    },
    matches$1(pattern) {
      var t1, t2, _this = this;
      if (!_this.super$StringScanner$matches(pattern))
        return false;
      t1 = _this._string_scanner$_position;
      t2 = _this.get$lastMatch();
      _this._sourceFile.span$2(0, t1, t2.start + t2.pattern.length);
      return true;
    },
    error$3$length$position(_, message, $length, position) {
      var match, t2, _this = this,
        t1 = _this.string;
      A.validateErrorArgs(t1, null, position, $length);
      match = position == null && $length == null ? _this.get$lastMatch() : null;
      if (position == null)
        position = match == null ? _this._string_scanner$_position : match.start;
      if ($length == null)
        if (match == null)
          $length = 0;
        else {
          t2 = match.start;
          $length = t2 + match.pattern.length - t2;
        }
      throw A.wrapException(A.StringScannerException$(message, _this._sourceFile.span$2(0, position, position + $length), t1));
    },
    error$1(_, message) {
      return this.error$3$length$position(0, message, null, null);
    },
    error$2$position(_, message, position) {
      return this.error$3$length$position(0, message, null, position);
    },
    error$2$length(_, message, $length) {
      return this.error$3$length$position(0, message, $length, null);
    }
  };
  A._SpanScannerState.prototype = {};
  A.StringScanner.prototype = {
    set$position(position) {
      if (B.JSInt_methods.get$isNegative(position) || position > this.string.length)
        throw A.wrapException(A.ArgumentError$("Invalid position " + position, null));
      this._string_scanner$_position = position;
      this._lastMatch = null;
    },
    get$lastMatch() {
      var _this = this;
      if (_this._string_scanner$_position !== _this._lastMatchPosition)
        _this._lastMatch = null;
      return _this._lastMatch;
    },
    readChar$0() {
      var _this = this,
        t1 = _this.string;
      if (_this._string_scanner$_position === t1.length)
        _this._fail$1("more input");
      return t1.charCodeAt(_this._string_scanner$_position++);
    },
    peekChar$1(offset) {
      var index;
      if (offset == null)
        offset = 0;
      index = this._string_scanner$_position + offset;
      if (index < 0 || index >= this.string.length)
        return null;
      return this.string.charCodeAt(index);
    },
    peekChar$0() {
      return this.peekChar$1(null);
    },
    scanChar$1(character) {
      var t1, t2, t3, t4, _this = this;
      if (character >= 65536 && character <= 1114111) {
        t1 = _this._string_scanner$_position;
        t2 = t1 + 1;
        t3 = _this.string;
        if (t2 < t3.length) {
          t4 = character - 65536;
          t2 = t3.charCodeAt(t1) !== B.JSInt_methods._shrOtherPositive$1(t4, 10) + 55296 || t3.charCodeAt(t2) !== (t4 & 1023) + 56320;
        } else
          t2 = true;
        if (t2)
          return false;
        else {
          _this._string_scanner$_position = t1 + 2;
          return true;
        }
      } else {
        t1 = _this._string_scanner$_position;
        t2 = _this.string;
        if (t1 === t2.length)
          return false;
        if (t2.charCodeAt(t1) !== character)
          return false;
        _this._string_scanner$_position = t1 + 1;
        return true;
      }
    },
    expectChar$2$name(character, $name) {
      if (this.scanChar$1(character))
        return;
      if ($name == null)
        if (character === 92)
          $name = '"\\"';
        else
          $name = character === 34 ? '"\\""' : '"' + A.Primitives_stringFromCharCode(character) + '"';
      this._fail$1($name);
    },
    expectChar$1(character) {
      return this.expectChar$2$name(character, null);
    },
    scan$1(pattern) {
      var t1, _this = this,
        success = _this.matches$1(pattern);
      if (success) {
        t1 = _this._lastMatch;
        _this._lastMatchPosition = _this._string_scanner$_position = t1.start + t1.pattern.length;
      }
      return success;
    },
    expect$1(pattern) {
      var t1, $name;
      if (this.scan$1(pattern))
        return;
      t1 = A.stringReplaceAllUnchecked(pattern, "\\", "\\\\");
      $name = '"' + A.stringReplaceAllUnchecked(t1, '"', '\\"') + '"';
      this._fail$1($name);
    },
    expectDone$0() {
      if (this._string_scanner$_position === this.string.length)
        return;
      this._fail$1("no more input");
    },
    matches$1(pattern) {
      var _this = this,
        t1 = B.JSString_methods.matchAsPrefix$2(pattern, _this.string, _this._string_scanner$_position);
      _this._lastMatch = t1;
      _this._lastMatchPosition = _this._string_scanner$_position;
      return t1 != null;
    },
    substring$1(_, start) {
      var end = this._string_scanner$_position;
      return B.JSString_methods.substring$2(this.string, start, end);
    },
    error$3$length$position(_, message, $length, position) {
      var match, t2, _this = this,
        t1 = _this.string;
      A.validateErrorArgs(t1, null, position, $length);
      match = position == null && $length == null ? _this.get$lastMatch() : null;
      if (position == null)
        position = match == null ? _this._string_scanner$_position : match.start;
      if ($length == null)
        if (match == null)
          $length = 0;
        else {
          t2 = match.start;
          $length = t2 + match.pattern.length - t2;
        }
      throw A.wrapException(A.StringScannerException$(message, A.SourceFile$fromString(t1, _this.sourceUrl).span$2(0, position, position + $length), t1));
    },
    error$1(_, message) {
      return this.error$3$length$position(0, message, null, null);
    },
    _fail$1($name) {
      this.error$3$length$position(0, "expected " + $name + ".", 0, this._string_scanner$_position);
    }
  };
  A.AsciiGlyphSet.prototype = {
    glyphOrAscii$2(glyph, alternative) {
      return alternative;
    },
    get$horizontalLine() {
      return "-";
    },
    get$verticalLine() {
      return "|";
    },
    get$topLeftCorner() {
      return ",";
    },
    get$bottomLeftCorner() {
      return "'";
    },
    get$cross() {
      return "+";
    },
    get$upEnd() {
      return "'";
    },
    get$downEnd() {
      return ",";
    },
    get$horizontalLineBold() {
      return "=";
    }
  };
  A.UnicodeGlyphSet.prototype = {
    glyphOrAscii$2(glyph, alternative) {
      return glyph;
    },
    get$horizontalLine() {
      return "\u2500";
    },
    get$verticalLine() {
      return "\u2502";
    },
    get$topLeftCorner() {
      return "\u250c";
    },
    get$bottomLeftCorner() {
      return "\u2514";
    },
    get$cross() {
      return "\u253c";
    },
    get$upEnd() {
      return "\u2575";
    },
    get$downEnd() {
      return "\u2577";
    },
    get$horizontalLineBold() {
      return "\u2501";
    }
  };
  A.WatchEvent.prototype = {
    toString$0(_) {
      return this.type.toString$0(0) + " " + this.path;
    }
  };
  A.ChangeType.prototype = {
    toString$0(_) {
      return this._watch_event$_name;
    }
  };
  A.AnySelectorVisitor0.prototype = {
    visitComplexSelector$1(complex) {
      return B.JSArray_methods.any$1(complex.components, new A.AnySelectorVisitor_visitComplexSelector_closure0(this));
    },
    visitCompoundSelector$1(compound) {
      return B.JSArray_methods.any$1(compound.components, new A.AnySelectorVisitor_visitCompoundSelector_closure0(this));
    },
    visitPseudoSelector$1(pseudo) {
      var selector = pseudo.selector;
      return selector == null ? false : this.visitSelectorList$1(selector);
    },
    visitSelectorList$1(list) {
      return B.JSArray_methods.any$1(list.components, this.get$visitComplexSelector());
    },
    visitAttributeSelector$1(attribute) {
      return false;
    },
    visitClassSelector$1(klass) {
      return false;
    },
    visitIDSelector$1(id) {
      return false;
    },
    visitParentSelector$1($parent) {
      return false;
    },
    visitPlaceholderSelector$1(placeholder) {
      return false;
    },
    visitTypeSelector$1(type) {
      return false;
    },
    visitUniversalSelector$1(universal) {
      return false;
    }
  };
  A.AnySelectorVisitor_visitComplexSelector_closure0.prototype = {
    call$1(component) {
      return this.$this.visitCompoundSelector$1(component.selector);
    },
    $signature: 50
  };
  A.AnySelectorVisitor_visitCompoundSelector_closure0.prototype = {
    call$1(simple) {
      return simple.accept$1(this.$this);
    },
    $signature: 14
  };
  A.SupportsAnything0.prototype = {
    toString$0(_) {
      return "(" + this.contents.toString$0(0) + ")";
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.Argument0.prototype = {
    toString$0(_) {
      var t1 = this.defaultValue,
        t2 = this.name;
      return t1 == null ? t2 : t2 + ": " + t1.toString$0(0);
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ArgumentDeclaration0.prototype = {
    get$spanWithName() {
      var t3, t4,
        t1 = this.span,
        t2 = t1.file,
        text = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2._decodedChars, 0, null), 0, null),
        i = A.FileLocation$_(t2, t1._file$_start).offset - 1;
      while (true) {
        if (i > 0) {
          t3 = text.charCodeAt(i);
          t3 = t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12;
        } else
          t3 = false;
        if (!t3)
          break;
        --i;
      }
      t3 = text.charCodeAt(i);
      if (!(t3 === 95 || A.CharacterExtension_get_isAlphabetic0(t3) || t3 >= 128))
        t3 = t3 >= 48 && t3 <= 57 || t3 === 45;
      else
        t3 = true;
      if (!t3)
        return t1;
      --i;
      while (true) {
        if (i >= 0) {
          t3 = text.charCodeAt(i);
          if (t3 !== 95) {
            if (!(t3 >= 97 && t3 <= 122))
              t4 = t3 >= 65 && t3 <= 90;
            else
              t4 = true;
            t4 = t4 || t3 >= 128;
          } else
            t4 = true;
          if (!t4)
            t3 = t3 >= 48 && t3 <= 57 || t3 === 45;
          else
            t3 = true;
        } else
          t3 = false;
        if (!t3)
          break;
        --i;
      }
      t3 = i + 1;
      t4 = text.charCodeAt(t3);
      if (!(t4 === 95 || A.CharacterExtension_get_isAlphabetic0(t4) || t4 >= 128))
        return t1;
      return A.SpanExtensions_trimRight0(A.SpanExtensions_trimLeft0(t2.span$2(0, t3, A.FileLocation$_(t2, t1._end).offset)));
    },
    verify$2(positional, names) {
      var t1, t2, t3, namedUsed, i, argument, t4, unknownNames, _this = this,
        _s10_ = "invocation",
        _s8_ = "argument";
      for (t1 = _this.$arguments, t2 = t1.length, t3 = names._baseMap, namedUsed = 0, i = 0; i < t2; ++i) {
        argument = t1[i];
        if (i < positional) {
          t4 = argument.name;
          if (t3.containsKey$1(t4))
            throw A.wrapException(A.SassScriptException$0("Argument " + _this._argument_declaration$_originalArgumentName$1(t4) + string$.x20was_p, null));
        } else {
          t4 = argument.name;
          if (t3.containsKey$1(t4))
            ++namedUsed;
          else if (argument.defaultValue == null)
            throw A.wrapException(A.MultiSpanSassScriptException$0("Missing argument " + _this._argument_declaration$_originalArgumentName$1(t4) + ".", _s10_, A.LinkedHashMap_LinkedHashMap$_literal([_this.get$spanWithName(), "declaration"], type$.FileSpan, type$.String)));
        }
      }
      if (_this.restArgument != null)
        return;
      if (positional > t2) {
        t1 = names.get$isEmpty(0) ? "" : "positional ";
        throw A.wrapException(A.MultiSpanSassScriptException$0("Only " + t2 + " " + t1 + A.pluralize0(_s8_, t2, null) + " allowed, but " + positional + " " + A.pluralize0("was", positional, "were") + " passed.", _s10_, A.LinkedHashMap_LinkedHashMap$_literal([_this.get$spanWithName(), "declaration"], type$.FileSpan, type$.String)));
      }
      if (namedUsed < t3.get$length(t3)) {
        t2 = type$.String;
        unknownNames = A.LinkedHashSet_LinkedHashSet$of(names, t2);
        unknownNames.removeAll$1(new A.MappedListIterable(t1, new A.ArgumentDeclaration_verify_closure1(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Object?>")));
        throw A.wrapException(A.MultiSpanSassScriptException$0("No " + A.pluralize0(_s8_, unknownNames._collection$_length, null) + " named " + A.toSentence0(unknownNames.map$1$1(0, new A.ArgumentDeclaration_verify_closure2(), type$.Object), "or") + ".", _s10_, A.LinkedHashMap_LinkedHashMap$_literal([_this.get$spanWithName(), "declaration"], type$.FileSpan, t2)));
      }
    },
    _argument_declaration$_originalArgumentName$1($name) {
      var t1, text, t2, _i, argument, t3, t4, end, _null = null;
      if ($name === this.restArgument) {
        t1 = this.span;
        text = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._file$_start, t1._end), 0, _null);
        return B.JSString_methods.substring$2(B.JSString_methods.substring$1(text, B.JSString_methods.lastIndexOf$1(text, "$")), 0, B.JSString_methods.indexOf$1(text, "."));
      }
      for (t1 = this.$arguments, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        argument = t1[_i];
        if (argument.name === $name) {
          t1 = argument.defaultValue;
          t2 = argument.span;
          t3 = t2.file;
          t4 = t2._file$_start;
          t2 = t2._end;
          if (t1 == null) {
            t1 = t3._decodedChars;
            t1 = A.String_String$fromCharCodes(new Uint32Array(t1.subarray(t4, A._checkValidRange(t4, t2, t1.length))), 0, _null);
          } else {
            t1 = t3._decodedChars;
            text = A.String_String$fromCharCodes(new Uint32Array(t1.subarray(t4, A._checkValidRange(t4, t2, t1.length))), 0, _null);
            t1 = B.JSString_methods.substring$2(text, 0, B.JSString_methods.indexOf$1(text, ":"));
            end = A._lastNonWhitespace0(t1, false);
            t1 = end == null ? "" : B.JSString_methods.substring$2(t1, 0, end + 1);
          }
          return t1;
        }
      }
      throw A.wrapException(A.ArgumentError$(string$.This_d + $name + '".', _null));
    },
    matches$2(positional, names) {
      var t1, t2, t3, namedUsed, i, argument;
      for (t1 = this.$arguments, t2 = t1.length, t3 = names._baseMap, namedUsed = 0, i = 0; i < t2; ++i) {
        argument = t1[i];
        if (i < positional) {
          if (t3.containsKey$1(argument.name))
            return false;
        } else if (t3.containsKey$1(argument.name))
          ++namedUsed;
        else if (argument.defaultValue == null)
          return false;
      }
      if (this.restArgument != null)
        return true;
      if (positional > t2)
        return false;
      if (namedUsed < t3.get$length(t3))
        return false;
      return true;
    },
    toString$0(_) {
      var t2, t3, _i,
        t1 = A._setArrayType([], type$.JSArray_String);
      for (t2 = this.$arguments, t3 = t2.length, _i = 0; _i < t3; ++_i)
        t1.push("$" + A.S(t2[_i]));
      t2 = this.restArgument;
      if (t2 != null)
        t1.push("$" + t2 + "...");
      return B.JSArray_methods.join$1(t1, ", ");
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ArgumentDeclaration_verify_closure1.prototype = {
    call$1(argument) {
      return argument.name;
    },
    $signature: 297
  };
  A.ArgumentDeclaration_verify_closure2.prototype = {
    call$1($name) {
      return "$" + $name;
    },
    $signature: 5
  };
  A.ArgumentInvocation0.prototype = {
    get$isEmpty(_) {
      var t1;
      if (this.positional.length === 0) {
        t1 = this.named;
        t1 = t1.get$isEmpty(t1) && this.rest == null;
      } else
        t1 = false;
      return t1;
    },
    toString$0(_) {
      var t2, t3, _i, _1_0, _2_0, _this = this,
        t1 = A._setArrayType([], type$.JSArray_String);
      for (t2 = _this.positional, t3 = t2.length, _i = 0; _i < t3; ++_i)
        t1.push(_this._argument_invocation$_parenthesizeArgument$1(t2[_i]));
      for (t2 = A.MapExtensions_get_pairs0(_this.named, type$.String, type$.Expression_2), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.push("$" + t3._0 + ": " + _this._argument_invocation$_parenthesizeArgument$1(t3._1));
      }
      _1_0 = _this.rest;
      if (_1_0 != null)
        t1.push(_this._argument_invocation$_parenthesizeArgument$1(_1_0) + "...");
      _2_0 = _this.keywordRest;
      if (_2_0 != null)
        t1.push(_this._argument_invocation$_parenthesizeArgument$1(_2_0) + "...");
      return "(" + B.JSArray_methods.join$1(t1, ", ") + ")";
    },
    _argument_invocation$_parenthesizeArgument$1(argument) {
      var t1;
      $label0$0: {
        if (argument instanceof A.ListExpression0 && B.ListSeparator_ECn0 === argument.separator && !argument.hasBrackets && argument.contents.length >= 2) {
          t1 = "(" + argument.toString$0(0) + ")";
          break $label0$0;
        }
        t1 = argument.toString$0(0);
        break $label0$0;
      }
      return t1;
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.argumentListClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.SassArgumentList", new A.argumentListClass__closure()));
      A.defineGetter(J.get$$prototype$x(jsClass), "keywords", new A.argumentListClass__closure0(), null);
      A.JSClassExtension_injectSuperclass(t1._as(A.SassArgumentList$0(A._setArrayType([], type$.JSArray_Value_2), A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Value_2), B.ListSeparator_undecided_null_undecided0).constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.argumentListClass__closure.prototype = {
    call$4($self, contents, keywords, separator) {
      var t3,
        t1 = self.immutable.isOrderedMap(contents) ? J.toArray$0$x(type$.ImmutableList._as(contents)) : type$.List_dynamic._as(contents),
        t2 = type$.Value_2;
      t1 = J.cast$1$0$ax(t1, t2);
      t3 = self.immutable.isOrderedMap(keywords) ? A.immutableMapToDartMap(type$.ImmutableMap._as(keywords)) : A.objectToMap(keywords);
      return A.SassArgumentList$0(t1, t3.cast$2$0(0, type$.String, t2), A.jsToDartSeparator(separator));
    },
    call$3($self, contents, keywords) {
      return this.call$4($self, contents, keywords, ",");
    },
    "call*": "call$4",
    $requiredArgCount: 3,
    $defaultValues() {
      return [","];
    },
    $signature: 299
  };
  A.argumentListClass__closure0.prototype = {
    call$1($self) {
      $self._argument_list$_wereKeywordsAccessed = true;
      return A.dartMapToImmutableMap($self._argument_list$_keywords);
    },
    $signature: 300
  };
  A.SassArgumentList0.prototype = {};
  A.JSArray1.prototype = {};
  A.AsyncImporter0.prototype = {
    isNonCanonicalScheme$1(scheme) {
      return false;
    }
  };
  A.JSToDartAsyncImporter.prototype = {
    canonicalize$1(_, url) {
      return this.canonicalize$body$JSToDartAsyncImporter(0, url);
    },
    canonicalize$body$JSToDartAsyncImporter(_, url) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Uri),
        $async$returnValue, $async$self = this, t1, result;
      var $async$canonicalize$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              result = A.wrapJSExceptions(new A.JSToDartAsyncImporter_canonicalize_closure($async$self, url));
              $async$goto = result != null && result instanceof self.Promise ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(A.promiseToFuture(type$.Promise._as(result), type$.nullable_Object), $async$canonicalize$1);
            case 5:
              // returning from await.
              result = $async$result;
            case 4:
              // join
              if (result == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = self.URL;
              if (result instanceof t1) {
                $async$returnValue = A.Uri_parse(J.toString$0$(type$.JSUrl._as(result)));
                // goto return
                $async$goto = 1;
                break;
              }
              A.jsThrow(new self.Error(string$.The_ca));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$canonicalize$1, $async$completer);
    },
    load$1(_, url) {
      return this.load$body$JSToDartAsyncImporter(0, url);
    },
    load$body$JSToDartAsyncImporter(_, url) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_ImporterResult_2),
        $async$returnValue, $async$self = this, t1, contents, syntax, t2, result;
      var $async$load$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              result = A.wrapJSExceptions(new A.JSToDartAsyncImporter_load_closure($async$self, url));
              $async$goto = result != null && result instanceof self.Promise ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(A.promiseToFuture(type$.Promise._as(result), type$.nullable_Object), $async$load$1);
            case 5:
              // returning from await.
              result = $async$result;
            case 4:
              // join
              if (result == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              type$.JSImporterResult._as(result);
              t1 = J.getInterceptor$x(result);
              contents = t1.get$contents(result);
              if (A._asString(new self.Function("value", "return typeof value").call$1(contents)) !== "string")
                A.jsThrow(new A.ArgumentError(true, contents, "contents", "must be a string but was: " + A.jsType(contents)));
              syntax = t1.get$syntax(result);
              if (contents == null || syntax == null)
                A.jsThrow(new self.Error(string$.The_lo));
              t2 = A.parseSyntax(syntax);
              $async$returnValue = A.ImporterResult$(contents, A.NullableExtension_andThen0(t1.get$sourceMapUrl(result), A.utils1__jsToDartUrl$closure()), t2);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$load$1, $async$completer);
    },
    isNonCanonicalScheme$1(scheme) {
      return this._nonCanonicalSchemes.contains$1(0, scheme);
    }
  };
  A.JSToDartAsyncImporter_canonicalize_closure.prototype = {
    call$0() {
      return this.$this._async0$_canonicalize.call$2(this.url.toString$0(0), A.canonicalizeContext0());
    },
    $signature: 35
  };
  A.JSToDartAsyncImporter_load_closure.prototype = {
    call$0() {
      return this.$this._load.call$1(new self.URL(this.url.toString$0(0)));
    },
    $signature: 35
  };
  A.AsyncBuiltInCallable0.prototype = {
    callbackFor$2(positional, names) {
      return new A._Record_2(this._async_built_in0$_arguments, this._async_built_in0$_callback);
    },
    $isAsyncCallable0: 1,
    get$name(receiver) {
      return this.name;
    },
    get$acceptsContent() {
      return this.acceptsContent;
    }
  };
  A.AsyncBuiltInCallable$mixin_closure0.prototype = {
    call$1($arguments) {
      return this.$call$body$AsyncBuiltInCallable$mixin_closure0($arguments);
    },
    $call$body$AsyncBuiltInCallable$mixin_closure0($arguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, t1;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.callback.call$1($arguments);
              $async$goto = 3;
              return A._asyncAwait(t1 instanceof A._Future ? t1 : A._Future$value(t1, type$.void), $async$call$1);
            case 3:
              // returning from await.
              $async$returnValue = B.C__SassNull0;
              // 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: 88
  };
  A._compileStylesheet_closure2.prototype = {
    call$1(url) {
      return url === "" ? A.Uri_Uri$dataFromString(A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(this.stylesheet.span.file._decodedChars, 0, null), 0, null), B.C_Utf8Codec, null).get$_text() : this.importCache.sourceMapUrl$1(0, A.Uri_parse(url)).toString$0(0);
    },
    $signature: 5
  };
  A.AsyncEnvironment0.prototype = {
    closure$0() {
      var t4, t5, t6, _this = this,
        t1 = _this._async_environment0$_forwardedModules,
        t2 = _this._async_environment0$_nestedForwardedModules,
        t3 = _this._async_environment0$_variables;
      t3 = A._setArrayType(t3.slice(0), A._arrayInstanceType(t3));
      t4 = _this._async_environment0$_variableNodes;
      t4 = A._setArrayType(t4.slice(0), A._arrayInstanceType(t4));
      t5 = _this._async_environment0$_functions;
      t5 = A._setArrayType(t5.slice(0), A._arrayInstanceType(t5));
      t6 = _this._async_environment0$_mixins;
      t6 = A._setArrayType(t6.slice(0), A._arrayInstanceType(t6));
      return A.AsyncEnvironment$_0(_this._async_environment0$_modules, _this._async_environment0$_namespaceNodes, _this._async_environment0$_globalModules, _this._async_environment0$_importedModules, t1, t2, _this._async_environment0$_allModules, t3, t4, t5, t6, _this._async_environment0$_content);
    },
    forwardModule$2(module, rule) {
      var view, t1, t2, _this = this,
        forwardedModules = _this._async_environment0$_forwardedModules;
      if (forwardedModules == null)
        forwardedModules = _this._async_environment0$_forwardedModules = A.LinkedHashMap_LinkedHashMap$_empty(type$.Module_AsyncCallable_2, type$.AstNode_2);
      view = A.ForwardedModuleView_ifNecessary0(module, rule, type$.AsyncCallable_2);
      for (t1 = A.LinkedHashMapKeyIterator$(forwardedModules, forwardedModules.__js_helper$_modifications); t1.moveNext$0();) {
        t2 = t1.__js_helper$_current;
        _this._async_environment0$_assertNoConflicts$5(view.get$variables(), t2.get$variables(), view, t2, "variable");
        _this._async_environment0$_assertNoConflicts$5(view.get$functions(view), t2.get$functions(t2), view, t2, "function");
        _this._async_environment0$_assertNoConflicts$5(view.get$mixins(), t2.get$mixins(), view, t2, "mixin");
      }
      _this._async_environment0$_allModules.push(module);
      forwardedModules.$indexSet(0, view, rule);
    },
    _async_environment0$_assertNoConflicts$5(newMembers, oldMembers, newModule, oldModule, type) {
      var larger, smaller, t1, t2, t3, t4, $name, small, large, span;
      if (newMembers.get$length(newMembers) < oldMembers.get$length(oldMembers)) {
        larger = oldMembers;
        smaller = newMembers;
      } else {
        larger = newMembers;
        smaller = oldMembers;
      }
      for (t1 = type$.String, t2 = A.MapExtensions_get_pairs0(smaller, t1, type$.Object), t2 = t2.get$iterator(t2), t3 = type === "variable"; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        $name = t4._0;
        small = t4._1;
        large = larger.$index(0, $name);
        if (large == null)
          continue;
        if (t3 ? newModule.variableIdentity$1($name) === oldModule.variableIdentity$1($name) : J.$eq$(large, small))
          continue;
        if (t3)
          $name = "$" + $name;
        t2 = this._async_environment0$_forwardedModules;
        if (t2 == null)
          span = null;
        else {
          t2 = t2.$index(0, oldModule);
          span = t2 == null ? null : J.get$span$z(t2);
        }
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, t1);
        if (span != null)
          t2.$indexSet(0, span, "original @forward");
        throw A.wrapException(A.MultiSpanSassScriptException$0("Two forwarded modules both define a " + type + " named " + $name + ".", "new @forward", t2));
      }
    },
    importForwards$1(module) {
      var forwardedModules, t1, t2, t3, t4, node, t5, t6, t7, t8, t9, t10, _i, t11, shadowed, _length, _list, _this = this,
        forwarded = module._async_environment0$_environment._async_environment0$_forwardedModules;
      if (forwarded == null)
        return;
      forwardedModules = _this._async_environment0$_forwardedModules;
      if (forwardedModules != null) {
        t1 = type$.Module_AsyncCallable_2;
        t2 = type$.AstNode_2;
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        for (t1 = A.MapExtensions_get_pairs0(forwarded, t1, t2), t1 = t1.get$iterator(t1), t2 = _this._async_environment0$_globalModules; t1.moveNext$0();) {
          t4 = t1.get$current(t1);
          module = t4._0;
          node = t4._1;
          if (!forwardedModules.containsKey$1(module) || !t2.containsKey$1(module))
            t3.$indexSet(0, module, node);
        }
        forwarded = t3;
      } else
        forwardedModules = _this._async_environment0$_forwardedModules = A.LinkedHashMap_LinkedHashMap$_empty(type$.Module_AsyncCallable_2, type$.AstNode_2);
      t1 = type$.String;
      t2 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t3 = A.LinkedHashMapKeyIterator$(forwarded, forwarded.__js_helper$_modifications); t3.moveNext$0();)
        for (t4 = t3.__js_helper$_current.get$variables(), t4 = J.get$iterator$ax(t4.get$keys(t4)); t4.moveNext$0();)
          t2.add$1(0, t4.get$current(t4));
      t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t4 = A.LinkedHashMapKeyIterator$(forwarded, forwarded.__js_helper$_modifications); t4.moveNext$0();) {
        t5 = t4.__js_helper$_current;
        for (t5 = t5.get$functions(t5), t5 = J.get$iterator$ax(t5.get$keys(t5)); t5.moveNext$0();)
          t3.add$1(0, t5.get$current(t5));
      }
      t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t4 = A.LinkedHashMapKeyIterator$(forwarded, forwarded.__js_helper$_modifications); t4.moveNext$0();)
        for (t5 = t4.__js_helper$_current.get$mixins(), t5 = J.get$iterator$ax(t5.get$keys(t5)); t5.moveNext$0();)
          t1.add$1(0, t5.get$current(t5));
      t4 = _this._async_environment0$_variables;
      t5 = t4.length;
      if (t5 === 1) {
        for (t5 = _this._async_environment0$_importedModules, t6 = type$.Module_AsyncCallable_2, t7 = type$.AstNode_2, t8 = A.MapExtensions_get_pairs0(t5, t6, t7).toList$0(0), t9 = t8.length, t10 = type$.AsyncCallable_2, _i = 0; _i < t8.length; t8.length === t9 || (0, A.throwConcurrentModificationError)(t8), ++_i) {
          t11 = t8[_i];
          module = t11._0;
          node = t11._1;
          shadowed = A.ShadowedModuleView_ifNecessary0(module, t3, t1, t2, t10);
          if (shadowed != null) {
            t5.remove$1(0, module);
            t11 = shadowed.variables;
            if (t11.get$isEmpty(t11)) {
              t11 = shadowed.functions;
              if (t11.get$isEmpty(t11)) {
                t11 = shadowed.mixins;
                if (t11.get$isEmpty(t11)) {
                  t11 = shadowed._shadowed_view0$_inner;
                  t11 = t11.get$css(t11);
                  t11 = J.get$isEmpty$asx(t11.get$children(t11));
                } else
                  t11 = false;
              } else
                t11 = false;
            } else
              t11 = false;
            if (!t11)
              t5.$indexSet(0, shadowed, node);
          }
        }
        for (t6 = A.MapExtensions_get_pairs0(forwardedModules, t6, t7).toList$0(0), t7 = t6.length, _i = 0; _i < t6.length; t6.length === t7 || (0, A.throwConcurrentModificationError)(t6), ++_i) {
          t8 = t6[_i];
          module = t8._0;
          node = t8._1;
          shadowed = A.ShadowedModuleView_ifNecessary0(module, t3, t1, t2, t10);
          if (shadowed != null) {
            forwardedModules.remove$1(0, module);
            t8 = shadowed.variables;
            if (t8.get$isEmpty(t8)) {
              t8 = shadowed.functions;
              if (t8.get$isEmpty(t8)) {
                t8 = shadowed.mixins;
                if (t8.get$isEmpty(t8)) {
                  t8 = shadowed._shadowed_view0$_inner;
                  t8 = t8.get$css(t8);
                  t8 = J.get$isEmpty$asx(t8.get$children(t8));
                } else
                  t8 = false;
              } else
                t8 = false;
            } else
              t8 = false;
            if (!t8)
              forwardedModules.$indexSet(0, shadowed, node);
          }
        }
        t5.addAll$1(0, forwarded);
        forwardedModules.addAll$1(0, forwarded);
      } else {
        t6 = _this._async_environment0$_nestedForwardedModules;
        if (t6 == null) {
          _length = t5 - 1;
          _list = J.JSArray_JSArray$allocateGrowable(_length, type$.List_Module_AsyncCallable_2);
          for (t5 = type$.JSArray_Module_AsyncCallable_2, _i = 0; _i < _length; ++_i)
            _list[_i] = A._setArrayType([], t5);
          _this._async_environment0$_nestedForwardedModules = _list;
          t5 = _list;
        } else
          t5 = t6;
        B.JSArray_methods.addAll$1(B.JSArray_methods.get$last(t5), new A.LinkedHashMapKeyIterable(forwarded, A._instanceType(forwarded)._eval$1("LinkedHashMapKeyIterable<1>")));
      }
      for (t2 = A._LinkedHashSetIterator$(t2, t2._modifications, t2.$ti._precomputed1), t5 = _this._async_environment0$_variableIndices, t6 = _this._async_environment0$_variableNodes, t7 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t8 = t2._collection$_current;
        if (t8 == null)
          t8 = t7._as(t8);
        t5.remove$1(0, t8);
        J.remove$1$z(B.JSArray_methods.get$last(t4), t8);
        J.remove$1$z(B.JSArray_methods.get$last(t6), t8);
      }
      for (t2 = A._LinkedHashSetIterator$(t3, t3._modifications, t3.$ti._precomputed1), t3 = _this._async_environment0$_functionIndices, t4 = _this._async_environment0$_functions, t5 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t6 = t2._collection$_current;
        if (t6 == null)
          t6 = t5._as(t6);
        t3.remove$1(0, t6);
        J.remove$1$z(B.JSArray_methods.get$last(t4), t6);
      }
      for (t1 = A._LinkedHashSetIterator$(t1, t1._modifications, t1.$ti._precomputed1), t2 = _this._async_environment0$_mixinIndices, t3 = _this._async_environment0$_mixins, t4 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t5 = t1._collection$_current;
        if (t5 == null)
          t5 = t4._as(t5);
        t2.remove$1(0, t5);
        J.remove$1$z(B.JSArray_methods.get$last(t3), t5);
      }
    },
    getVariable$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null)
        return _this._async_environment0$_getModule$1(namespace).get$variables().$index(0, $name);
      if (_this._async_environment0$_lastVariableName === $name) {
        t1 = _this._async_environment0$_lastVariableIndex;
        t1.toString;
        t1 = J.$index$asx(_this._async_environment0$_variables[t1], $name);
        return t1 == null ? _this._async_environment0$_getVariableFromGlobalModule$1($name) : t1;
      }
      t1 = _this._async_environment0$_variableIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        _this._async_environment0$_lastVariableName = $name;
        _this._async_environment0$_lastVariableIndex = _0_0;
        t1 = J.$index$asx(_this._async_environment0$_variables[_0_0], $name);
        return t1 == null ? _this._async_environment0$_getVariableFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._async_environment0$_variableIndex$1($name);
        if (_1_0 != null) {
          _this._async_environment0$_lastVariableName = $name;
          _this._async_environment0$_lastVariableIndex = _1_0;
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._async_environment0$_variables[_1_0], $name);
          return t1 == null ? _this._async_environment0$_getVariableFromGlobalModule$1($name) : t1;
        } else
          return _this._async_environment0$_getVariableFromGlobalModule$1($name);
      }
    },
    getVariable$1($name) {
      return this.getVariable$2$namespace($name, null);
    },
    _async_environment0$_getVariableFromGlobalModule$1($name) {
      return this._async_environment0$_fromOneModule$3($name, "variable", new A.AsyncEnvironment__getVariableFromGlobalModule_closure0($name));
    },
    getVariableNode$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null)
        return _this._async_environment0$_getModule$1(namespace).get$variableNodes().$index(0, $name);
      if (_this._async_environment0$_lastVariableName === $name) {
        t1 = _this._async_environment0$_lastVariableIndex;
        t1.toString;
        t1 = J.$index$asx(_this._async_environment0$_variableNodes[t1], $name);
        return t1 == null ? _this._async_environment0$_getVariableNodeFromGlobalModule$1($name) : t1;
      }
      t1 = _this._async_environment0$_variableIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        _this._async_environment0$_lastVariableName = $name;
        _this._async_environment0$_lastVariableIndex = _0_0;
        t1 = J.$index$asx(_this._async_environment0$_variableNodes[_0_0], $name);
        return t1 == null ? _this._async_environment0$_getVariableNodeFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._async_environment0$_variableIndex$1($name);
        if (_1_0 != null) {
          _this._async_environment0$_lastVariableName = $name;
          _this._async_environment0$_lastVariableIndex = _1_0;
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._async_environment0$_variableNodes[_1_0], $name);
          return t1 == null ? _this._async_environment0$_getVariableNodeFromGlobalModule$1($name) : t1;
        } else
          return _this._async_environment0$_getVariableNodeFromGlobalModule$1($name);
      }
    },
    _async_environment0$_getVariableNodeFromGlobalModule$1($name) {
      var t1, t2, _0_0;
      for (t1 = this._async_environment0$_importedModules, t2 = this._async_environment0$_globalModules, t2 = new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>")).followedBy$1(0, new A.LinkedHashMapKeyIterable(t2, A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>"))), t2 = new A.FollowedByIterator(J.get$iterator$ax(t2.__internal$_first), t2._second); t2.moveNext$0();) {
        t1 = t2._currentIterator;
        _0_0 = t1.get$current(t1).get$variableNodes().$index(0, $name);
        if (_0_0 != null)
          return _0_0;
      }
      return null;
    },
    globalVariableExists$2$namespace($name, namespace) {
      if (namespace != null)
        return this._async_environment0$_getModule$1(namespace).get$variables().containsKey$1($name);
      if (B.JSArray_methods.get$first(this._async_environment0$_variables).containsKey$1($name))
        return true;
      return this._async_environment0$_getVariableFromGlobalModule$1($name) != null;
    },
    globalVariableExists$1($name) {
      return this.globalVariableExists$2$namespace($name, null);
    },
    _async_environment0$_variableIndex$1($name) {
      var t1, i;
      for (t1 = this._async_environment0$_variables, i = t1.length - 1; i >= 0; --i)
        if (t1[i].containsKey$1($name))
          return i;
      return null;
    },
    setVariable$5$global$namespace($name, value, nodeWithSpan, global, namespace) {
      var t1, moduleWithName, nestedForwardedModules, t2, t3, t4, t5, index, _this = this;
      if (namespace != null) {
        _this._async_environment0$_getModule$1(namespace).setVariable$3($name, value, nodeWithSpan);
        return;
      }
      if (global || _this._async_environment0$_variables.length === 1) {
        _this._async_environment0$_variableIndices.putIfAbsent$2($name, new A.AsyncEnvironment_setVariable_closure2(_this, $name));
        t1 = _this._async_environment0$_variables;
        if (!B.JSArray_methods.get$first(t1).containsKey$1($name)) {
          moduleWithName = _this._async_environment0$_fromOneModule$3($name, "variable", new A.AsyncEnvironment_setVariable_closure3($name));
          if (moduleWithName != null) {
            moduleWithName.setVariable$3($name, value, nodeWithSpan);
            return;
          }
        }
        J.$indexSet$ax(B.JSArray_methods.get$first(t1), $name, value);
        J.$indexSet$ax(B.JSArray_methods.get$first(_this._async_environment0$_variableNodes), $name, nodeWithSpan);
        return;
      }
      nestedForwardedModules = _this._async_environment0$_nestedForwardedModules;
      if (nestedForwardedModules != null && !_this._async_environment0$_variableIndices.containsKey$1($name) && _this._async_environment0$_variableIndex$1($name) == null)
        for (t1 = A._arrayInstanceType(nestedForwardedModules)._eval$1("ReversedListIterable<1>"), t2 = new A.ReversedListIterable(nestedForwardedModules, t1), t2 = new A.ListIterator(t2, t2.get$length(0), t1._eval$1("ListIterator")), t1 = t1._eval$1("ListIterable.E"); t2.moveNext$0();) {
          t3 = t2.__internal$_current;
          for (t3 = J.get$reversed$ax(t3 == null ? t1._as(t3) : t3), t4 = t3.$ti, t3 = new A.ListIterator(t3, t3.get$length(0), t4._eval$1("ListIterator")), t4 = t4._eval$1("ListIterable.E"); t3.moveNext$0();) {
            t5 = t3.__internal$_current;
            if (t5 == null)
              t5 = t4._as(t5);
            if (t5.get$variables().containsKey$1($name)) {
              t5.setVariable$3($name, value, nodeWithSpan);
              return;
            }
          }
        }
      if (_this._async_environment0$_lastVariableName === $name) {
        t1 = _this._async_environment0$_lastVariableIndex;
        t1.toString;
        index = t1;
      } else
        index = _this._async_environment0$_variableIndices.putIfAbsent$2($name, new A.AsyncEnvironment_setVariable_closure4(_this, $name));
      if (!_this._async_environment0$_inSemiGlobalScope && index === 0) {
        index = _this._async_environment0$_variables.length - 1;
        _this._async_environment0$_variableIndices.$indexSet(0, $name, index);
      }
      _this._async_environment0$_lastVariableName = $name;
      _this._async_environment0$_lastVariableIndex = index;
      J.$indexSet$ax(_this._async_environment0$_variables[index], $name, value);
      J.$indexSet$ax(_this._async_environment0$_variableNodes[index], $name, nodeWithSpan);
    },
    setVariable$4$global($name, value, nodeWithSpan, global) {
      return this.setVariable$5$global$namespace($name, value, nodeWithSpan, global, null);
    },
    setLocalVariable$3($name, value, nodeWithSpan) {
      var index, _this = this,
        t1 = _this._async_environment0$_variables,
        t2 = t1.length;
      _this._async_environment0$_lastVariableName = $name;
      index = _this._async_environment0$_lastVariableIndex = t2 - 1;
      _this._async_environment0$_variableIndices.$indexSet(0, $name, index);
      J.$indexSet$ax(t1[index], $name, value);
      J.$indexSet$ax(_this._async_environment0$_variableNodes[index], $name, nodeWithSpan);
    },
    getFunction$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null) {
        t1 = _this._async_environment0$_getModule$1(namespace);
        return t1.get$functions(t1).$index(0, $name);
      }
      t1 = _this._async_environment0$_functionIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        t1 = J.$index$asx(_this._async_environment0$_functions[_0_0], $name);
        return t1 == null ? _this._async_environment0$_getFunctionFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._async_environment0$_functionIndex$1($name);
        if (_1_0 != null) {
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._async_environment0$_functions[_1_0], $name);
          return t1 == null ? _this._async_environment0$_getFunctionFromGlobalModule$1($name) : t1;
        } else
          return _this._async_environment0$_getFunctionFromGlobalModule$1($name);
      }
    },
    getFunction$1($name) {
      return this.getFunction$2$namespace($name, null);
    },
    _async_environment0$_getFunctionFromGlobalModule$1($name) {
      return this._async_environment0$_fromOneModule$3($name, "function", new A.AsyncEnvironment__getFunctionFromGlobalModule_closure0($name));
    },
    _async_environment0$_functionIndex$1($name) {
      var t1, i;
      for (t1 = this._async_environment0$_functions, i = t1.length - 1; i >= 0; --i)
        if (t1[i].containsKey$1($name))
          return i;
      return null;
    },
    getMixin$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null)
        return _this._async_environment0$_getModule$1(namespace).get$mixins().$index(0, $name);
      t1 = _this._async_environment0$_mixinIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        t1 = J.$index$asx(_this._async_environment0$_mixins[_0_0], $name);
        return t1 == null ? _this._async_environment0$_getMixinFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._async_environment0$_mixinIndex$1($name);
        if (_1_0 != null) {
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._async_environment0$_mixins[_1_0], $name);
          return t1 == null ? _this._async_environment0$_getMixinFromGlobalModule$1($name) : t1;
        } else
          return _this._async_environment0$_getMixinFromGlobalModule$1($name);
      }
    },
    _async_environment0$_getMixinFromGlobalModule$1($name) {
      return this._async_environment0$_fromOneModule$3($name, "mixin", new A.AsyncEnvironment__getMixinFromGlobalModule_closure0($name));
    },
    _async_environment0$_mixinIndex$1($name) {
      var t1, i;
      for (t1 = this._async_environment0$_mixins, i = t1.length - 1; i >= 0; --i)
        if (t1[i].containsKey$1($name))
          return i;
      return null;
    },
    withContent$2($content, callback) {
      return this.withContent$body$AsyncEnvironment0($content, callback);
    },
    withContent$body$AsyncEnvironment0($content, callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, oldContent;
      var $async$withContent$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldContent = $async$self._async_environment0$_content;
              $async$self._async_environment0$_content = $content;
              $async$goto = 2;
              return A._asyncAwait(callback.call$0(), $async$withContent$2);
            case 2:
              // returning from await.
              $async$self._async_environment0$_content = oldContent;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$withContent$2, $async$completer);
    },
    asMixin$1(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, oldInMixin;
      var $async$asMixin$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldInMixin = $async$self._async_environment0$_inMixin;
              $async$self._async_environment0$_inMixin = true;
              $async$goto = 2;
              return A._asyncAwait(callback.call$0(), $async$asMixin$1);
            case 2:
              // returning from await.
              $async$self._async_environment0$_inMixin = oldInMixin;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$asMixin$1, $async$completer);
    },
    scope$1$3$semiGlobal$when(callback, semiGlobal, when, $T) {
      return this.scope$body$AsyncEnvironment0(callback, semiGlobal, when, $T, $T);
    },
    scope$1$1(callback, $T) {
      return this.scope$1$3$semiGlobal$when(callback, false, true, $T);
    },
    scope$1$2$when(callback, when, $T) {
      return this.scope$1$3$semiGlobal$when(callback, false, when, $T);
    },
    scope$1$2$semiGlobal(callback, semiGlobal, $T) {
      return this.scope$1$3$semiGlobal$when(callback, semiGlobal, true, $T);
    },
    scope$body$AsyncEnvironment0(callback, semiGlobal, when, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, wasInSemiGlobalScope, $name, name0, name1, t1, t2, t3, t4, t5, t6;
      var $async$scope$1$3$semiGlobal$when = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              semiGlobal = semiGlobal && $async$self._async_environment0$_inSemiGlobalScope;
              wasInSemiGlobalScope = $async$self._async_environment0$_inSemiGlobalScope;
              $async$self._async_environment0$_inSemiGlobalScope = semiGlobal;
              $async$goto = !when ? 3 : 4;
              break;
            case 3:
              // then
              $async$handler = 5;
              $async$goto = 8;
              return A._asyncAwait(callback.call$0(), $async$scope$1$3$semiGlobal$when);
            case 8:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              $async$next = [1];
              // goto finally
              $async$goto = 6;
              break;
              $async$next.push(7);
              // goto finally
              $async$goto = 6;
              break;
            case 5:
              // uncaught
              $async$next = [2];
            case 6:
              // finally
              $async$handler = 2;
              $async$self._async_environment0$_inSemiGlobalScope = wasInSemiGlobalScope;
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 7:
              // after finally
            case 4:
              // join
              t1 = $async$self._async_environment0$_variables;
              t2 = type$.String;
              B.JSArray_methods.add$1(t1, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.Value_2));
              t3 = $async$self._async_environment0$_variableNodes;
              B.JSArray_methods.add$1(t3, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.AstNode_2));
              t4 = $async$self._async_environment0$_functions;
              t5 = type$.AsyncCallable_2;
              B.JSArray_methods.add$1(t4, A.LinkedHashMap_LinkedHashMap$_empty(t2, t5));
              t6 = $async$self._async_environment0$_mixins;
              B.JSArray_methods.add$1(t6, A.LinkedHashMap_LinkedHashMap$_empty(t2, t5));
              t5 = $async$self._async_environment0$_nestedForwardedModules;
              if (t5 != null)
                t5.push(A._setArrayType([], type$.JSArray_Module_AsyncCallable_2));
              $async$handler = 9;
              $async$goto = 12;
              return A._asyncAwait(callback.call$0(), $async$scope$1$3$semiGlobal$when);
            case 12:
              // returning from await.
              t2 = $async$result;
              $async$returnValue = t2;
              $async$next = [1];
              // goto finally
              $async$goto = 10;
              break;
              $async$next.push(11);
              // goto finally
              $async$goto = 10;
              break;
            case 9:
              // uncaught
              $async$next = [2];
            case 10:
              // finally
              $async$handler = 2;
              $async$self._async_environment0$_inSemiGlobalScope = wasInSemiGlobalScope;
              $async$self._async_environment0$_lastVariableIndex = $async$self._async_environment0$_lastVariableName = null;
              for (t1 = J.get$iterator$ax(J.get$keys$z(B.JSArray_methods.removeLast$0(t1))), t2 = $async$self._async_environment0$_variableIndices; t1.moveNext$0();) {
                $name = t1.get$current(t1);
                t2.remove$1(0, $name);
              }
              B.JSArray_methods.removeLast$0(t3);
              for (t1 = J.get$iterator$ax(J.get$keys$z(B.JSArray_methods.removeLast$0(t4))), t2 = $async$self._async_environment0$_functionIndices; t1.moveNext$0();) {
                name0 = t1.get$current(t1);
                t2.remove$1(0, name0);
              }
              for (t1 = J.get$iterator$ax(J.get$keys$z(B.JSArray_methods.removeLast$0(t6))), t2 = $async$self._async_environment0$_mixinIndices; t1.moveNext$0();) {
                name1 = t1.get$current(t1);
                t2.remove$1(0, name1);
              }
              t1 = $async$self._async_environment0$_nestedForwardedModules;
              if (t1 != null)
                t1.pop();
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 11:
              // after finally
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$scope$1$3$semiGlobal$when, $async$completer);
    },
    toImplicitConfiguration$0() {
      var t2, t3, t4, i, values, nodes, t5, t6, $name, value,
        t1 = type$.String,
        configuration = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.ConfiguredValue_2);
      for (t2 = this._async_environment0$_variables, t3 = type$.Value_2, t4 = this._async_environment0$_variableNodes, i = 0; i < t2.length; ++i) {
        values = t2[i];
        nodes = t4[i];
        for (t5 = A.MapExtensions_get_pairs0(values, t1, t3), t5 = t5.get$iterator(t5); t5.moveNext$0();) {
          t6 = t5.get$current(t5);
          $name = t6._0;
          value = t6._1;
          t6 = nodes.$index(0, $name);
          t6.toString;
          configuration.$indexSet(0, $name, new A.ConfiguredValue0(value, null, t6));
        }
      }
      return new A.Configuration0(configuration, null);
    },
    toModule$3(css, preModuleComments, extensionStore) {
      return A._EnvironmentModule__EnvironmentModule2(this, css, preModuleComments, extensionStore, A.NullableExtension_andThen0(this._async_environment0$_forwardedModules, new A.AsyncEnvironment_toModule_closure0()));
    },
    toDummyModule$0() {
      return A._EnvironmentModule__EnvironmentModule2(this, new A.CssStylesheet0(new A.UnmodifiableListView(B.List_empty16, type$.UnmodifiableListView_CssNode_2), A.SourceFile$decoded(B.List_empty4, "").span$1(0, 0)), B.Map_empty15, B.C_EmptyExtensionStore0, A.NullableExtension_andThen0(this._async_environment0$_forwardedModules, new A.AsyncEnvironment_toDummyModule_closure0()));
    },
    _async_environment0$_getModule$1(namespace) {
      var _0_0 = this._async_environment0$_modules.$index(0, namespace);
      if (_0_0 != null)
        return _0_0;
      throw A.wrapException(A.SassScriptException$0('There is no module with the namespace "' + namespace + '".', null));
    },
    _async_environment0$_fromOneModule$1$3($name, type, callback) {
      var t1, t2, t3, t4, t5, _1_0, _2_0, value, identity, valueInModule, identityFromModule, module, node,
        _0_0 = this._async_environment0$_nestedForwardedModules;
      if (_0_0 != null)
        for (t1 = A._arrayInstanceType(_0_0)._eval$1("ReversedListIterable<1>"), t2 = new A.ReversedListIterable(_0_0, t1), t2 = new A.ListIterator(t2, t2.get$length(0), t1._eval$1("ListIterator")), t1 = t1._eval$1("ListIterable.E"); t2.moveNext$0();) {
          t3 = t2.__internal$_current;
          for (t3 = J.get$reversed$ax(t3 == null ? t1._as(t3) : t3), t4 = t3.$ti, t3 = new A.ListIterator(t3, t3.get$length(0), t4._eval$1("ListIterator")), t4 = t4._eval$1("ListIterable.E"); t3.moveNext$0();) {
            t5 = t3.__internal$_current;
            _1_0 = callback.call$1(t5 == null ? t4._as(t5) : t5);
            if (_1_0 != null)
              return _1_0;
          }
        }
      for (t1 = this._async_environment0$_importedModules, t1 = A.LinkedHashMapKeyIterator$(t1, t1.__js_helper$_modifications); t1.moveNext$0();) {
        _2_0 = callback.call$1(t1.__js_helper$_current);
        if (_2_0 != null)
          return _2_0;
      }
      for (t1 = this._async_environment0$_globalModules, t2 = A.LinkedHashMapKeyIterator$(t1, t1.__js_helper$_modifications), t3 = type$.AsyncCallable_2, value = null, identity = null; t2.moveNext$0();) {
        t4 = t2.__js_helper$_current;
        valueInModule = callback.call$1(t4);
        if (valueInModule == null)
          continue;
        identityFromModule = t3._is(valueInModule) ? valueInModule : t4.variableIdentity$1($name);
        if (identityFromModule.$eq(0, identity))
          continue;
        if (value != null) {
          t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
          for (t3 = A.MapExtensions_get_pairs0(t1, type$.Module_AsyncCallable_2, type$.AstNode_2), t3 = t3.get$iterator(t3), t4 = "includes " + type; t3.moveNext$0();) {
            t1 = t3.get$current(t3);
            module = t1._0;
            node = t1._1;
            if (callback.call$1(module) != null)
              t2.$indexSet(0, node.get$span(node), t4);
          }
          throw A.wrapException(A.MultiSpanSassScriptException$0("This " + type + string$.x20is_av, type + " use", t2));
        }
        identity = identityFromModule;
        value = valueInModule;
      }
      return value;
    },
    _async_environment0$_fromOneModule$3($name, type, callback) {
      return this._async_environment0$_fromOneModule$1$3($name, type, callback, type$.dynamic);
    }
  };
  A.AsyncEnvironment__getVariableFromGlobalModule_closure0.prototype = {
    call$1(module) {
      return module.get$variables().$index(0, this.name);
    },
    $signature: 303
  };
  A.AsyncEnvironment_setVariable_closure2.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._async_environment0$_lastVariableName = this.name;
      return t1._async_environment0$_lastVariableIndex = 0;
    },
    $signature: 10
  };
  A.AsyncEnvironment_setVariable_closure3.prototype = {
    call$1(module) {
      return module.get$variables().containsKey$1(this.name) ? module : null;
    },
    $signature: 304
  };
  A.AsyncEnvironment_setVariable_closure4.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._async_environment0$_variableIndex$1(this.name);
      return t2 == null ? t1._async_environment0$_variables.length - 1 : t2;
    },
    $signature: 10
  };
  A.AsyncEnvironment__getFunctionFromGlobalModule_closure0.prototype = {
    call$1(module) {
      return module.get$functions(module).$index(0, this.name);
    },
    $signature: 256
  };
  A.AsyncEnvironment__getMixinFromGlobalModule_closure0.prototype = {
    call$1(module) {
      return module.get$mixins().$index(0, this.name);
    },
    $signature: 256
  };
  A.AsyncEnvironment_toModule_closure0.prototype = {
    call$1(modules) {
      return new A.MapKeySet(modules, type$.MapKeySet_Module_AsyncCallable_2);
    },
    $signature: 253
  };
  A.AsyncEnvironment_toDummyModule_closure0.prototype = {
    call$1(modules) {
      return new A.MapKeySet(modules, type$.MapKeySet_Module_AsyncCallable_2);
    },
    $signature: 253
  };
  A._EnvironmentModule2.prototype = {
    get$url(_) {
      var t1 = this.css;
      return t1.get$span(t1).file.url;
    },
    setVariable$3($name, value, nodeWithSpan) {
      var t1, t2,
        _0_0 = this._async_environment0$_modulesByVariable.$index(0, $name);
      if (_0_0 != null) {
        _0_0.setVariable$3($name, value, nodeWithSpan);
        return;
      }
      t1 = this._async_environment0$_environment;
      t2 = t1._async_environment0$_variables;
      if (!B.JSArray_methods.get$first(t2).containsKey$1($name))
        throw A.wrapException(A.SassScriptException$0("Undefined variable.", null));
      J.$indexSet$ax(B.JSArray_methods.get$first(t2), $name, value);
      J.$indexSet$ax(B.JSArray_methods.get$first(t1._async_environment0$_variableNodes), $name, nodeWithSpan);
      return;
    },
    variableIdentity$1($name) {
      var module = this._async_environment0$_modulesByVariable.$index(0, $name);
      return module == null ? this : module.variableIdentity$1($name);
    },
    cloneCss$0() {
      var _0_0, _this = this;
      if (!_this.transitivelyContainsCss)
        return _this;
      _0_0 = A.cloneCssStylesheet0(_this.css, _this.extensionStore);
      return A._EnvironmentModule$_2(_this._async_environment0$_environment, _0_0._0, _this.preModuleComments, _0_0._1, _this._async_environment0$_modulesByVariable, _this.variables, _this.variableNodes, _this.functions, _this.mixins, true, _this.transitivelyContainsExtensions);
    },
    toString$0(_) {
      var t2,
        t1 = this.css;
      if (t1.get$span(t1).file.url == null)
        t1 = "";
      else {
        t1 = t1.get$span(t1).file.url;
        t2 = $.$get$context();
        t1.toString;
        t1 = t2.prettyUri$1(t1);
      }
      return t1;
    },
    $isModule1: 1,
    get$upstream() {
      return this.upstream;
    },
    get$variables() {
      return this.variables;
    },
    get$variableNodes() {
      return this.variableNodes;
    },
    get$functions(receiver) {
      return this.functions;
    },
    get$mixins() {
      return this.mixins;
    },
    get$extensionStore() {
      return this.extensionStore;
    },
    get$css(receiver) {
      return this.css;
    },
    get$preModuleComments() {
      return this.preModuleComments;
    },
    get$transitivelyContainsCss() {
      return this.transitivelyContainsCss;
    },
    get$transitivelyContainsExtensions() {
      return this.transitivelyContainsExtensions;
    }
  };
  A._EnvironmentModule__EnvironmentModule_closure17.prototype = {
    call$1(module) {
      return module.get$variables();
    },
    $signature: 307
  };
  A._EnvironmentModule__EnvironmentModule_closure18.prototype = {
    call$1(module) {
      return module.get$variableNodes();
    },
    $signature: 308
  };
  A._EnvironmentModule__EnvironmentModule_closure19.prototype = {
    call$1(module) {
      return module.get$functions(module);
    },
    $signature: 252
  };
  A._EnvironmentModule__EnvironmentModule_closure20.prototype = {
    call$1(module) {
      return module.get$mixins();
    },
    $signature: 252
  };
  A._EnvironmentModule__EnvironmentModule_closure21.prototype = {
    call$1(module) {
      return module.get$transitivelyContainsCss();
    },
    $signature: 112
  };
  A._EnvironmentModule__EnvironmentModule_closure22.prototype = {
    call$1(module) {
      return module.get$transitivelyContainsExtensions();
    },
    $signature: 112
  };
  A._EvaluateVisitor2.prototype = {
    _EvaluateVisitor$6$functions$importCache$logger$nodeImporter$quietDeps$sourceMap2(functions, importCache, logger, nodeImporter, quietDeps, sourceMap) {
      var t2, metaModule, t3, _i, module, $function, t4, _this = this,
        _s20_ = "$name, $module: null",
        _s9_ = "sass:meta",
        _s7_ = "$module",
        t1 = type$.JSArray_AsyncBuiltInCallable_2,
        metaFunctions = A._setArrayType([A.BuiltInCallable$function0("global-variable-exists", _s20_, new A._EvaluateVisitor_closure38(_this), _s9_), A.BuiltInCallable$function0("variable-exists", "$name", new A._EvaluateVisitor_closure39(_this), _s9_), A.BuiltInCallable$function0("function-exists", _s20_, new A._EvaluateVisitor_closure40(_this), _s9_), A.BuiltInCallable$function0("mixin-exists", _s20_, new A._EvaluateVisitor_closure41(_this), _s9_), A.BuiltInCallable$function0("content-exists", "", new A._EvaluateVisitor_closure42(_this), _s9_), A.BuiltInCallable$function0("module-variables", _s7_, new A._EvaluateVisitor_closure43(_this), _s9_), A.BuiltInCallable$function0("module-functions", _s7_, new A._EvaluateVisitor_closure44(_this), _s9_), A.BuiltInCallable$function0("module-mixins", _s7_, new A._EvaluateVisitor_closure45(_this), _s9_), A.BuiltInCallable$function0("get-function", "$name, $css: false, $module: null", new A._EvaluateVisitor_closure46(_this), _s9_), A.BuiltInCallable$function0("get-mixin", _s20_, new A._EvaluateVisitor_closure47(_this), _s9_), new A.AsyncBuiltInCallable0("call", A.ScssParser$0("@function call($function, $args...) {", null, _s9_).parseArgumentDeclaration$0(), new A._EvaluateVisitor_closure48(_this), false)], t1),
        metaMixins = A._setArrayType([A.AsyncBuiltInCallable$mixin0("load-css", "$url, $with: null", new A._EvaluateVisitor_closure49(_this), false, _s9_), A.AsyncBuiltInCallable$mixin0("apply", "$mixin, $args...", new A._EvaluateVisitor_closure50(_this), true, _s9_)], t1);
      t1 = type$.AsyncBuiltInCallable_2;
      t2 = A.List_List$of($.$get$global6(), true, t1);
      B.JSArray_methods.addAll$1(t2, $.$get$local0());
      B.JSArray_methods.addAll$1(t2, metaFunctions);
      metaModule = A.BuiltInModule$0("meta", t2, metaMixins, null, t1);
      for (t1 = A.List_List$of($.$get$coreModules0(), true, type$.BuiltInModule_AsyncCallable_2), t1.push(metaModule), t2 = t1.length, t3 = _this._async_evaluate0$_builtInModules, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        module = t1[_i];
        t3.$indexSet(0, module.url, module);
      }
      t1 = A._setArrayType([], type$.JSArray_AsyncCallable_2);
      B.JSArray_methods.addAll$1(t1, functions);
      B.JSArray_methods.addAll$1(t1, $.$get$globalFunctions0());
      B.JSArray_methods.addAll$1(t1, metaFunctions);
      for (t2 = t1.length, t3 = _this._async_evaluate0$_builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        $function = t1[_i];
        t4 = J.get$name$x($function);
        t3.$indexSet(0, A.stringReplaceAllUnchecked(t4, "_", "-"), $function);
      }
    },
    run$2(_, importer, node) {
      return this.run$body$_EvaluateVisitor0(0, importer, node);
    },
    run$body$_EvaluateVisitor0(_, importer, node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet_2),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, error, stackTrace, t1, exception, $async$exception;
      var $async$run$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              t1 = type$.nullable_Object;
              t1 = A.runZoned(new A._EvaluateVisitor_run_closure2($async$self, node, importer), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__evaluationContext, new A._EvaluationContext2($async$self, node)], t1, t1), type$.FutureOr_Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet_2);
              $async$goto = 7;
              return A._asyncAwait(type$.Future_Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet_2._is(t1) ? t1 : A._Future$value(t1, type$.Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet_2), $async$run$2);
            case 7:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              // 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$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.SassException0) {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                A.throwWithTrace0(error.withLoadedUrls$1($async$self._async_evaluate0$_loadedUrls), error, stackTrace);
              } else
                throw $async$exception;
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$run$2, $async$completer);
    },
    _async_evaluate0$_assertInModule$1$2(value, $name) {
      if (value != null)
        return value;
      throw A.wrapException(A.StateError$("Can't access " + $name + " outside of a module."));
    },
    _async_evaluate0$_assertInModule$2(value, $name) {
      return this._async_evaluate0$_assertInModule$1$2(value, $name, type$.dynamic);
    },
    _async_evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, baseUrl, configuration, namesInErrors) {
      return this._loadModule$body$_EvaluateVisitor0(url, stackFrame, nodeWithSpan, callback, baseUrl, configuration, namesInErrors);
    },
    _async_evaluate0$_loadModule$5$configuration(url, stackFrame, nodeWithSpan, callback, configuration) {
      return this._async_evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, null, configuration, false);
    },
    _async_evaluate0$_loadModule$4(url, stackFrame, nodeWithSpan, callback) {
      return this._async_evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, null, null, false);
    },
    _loadModule$body$_EvaluateVisitor0(url, stackFrame, nodeWithSpan, callback, baseUrl, configuration, namesInErrors) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t2, t1, _0_0;
      var $async$_async_evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              _0_0 = $async$self._async_evaluate0$_builtInModules.$index(0, url);
              t1.builtInModule = null;
              $async$goto = _0_0 != null ? 3 : 4;
              break;
            case 3:
              // then
              t1.builtInModule = _0_0;
              if (configuration instanceof A.ExplicitConfiguration0) {
                t1 = namesInErrors ? "Built-in module " + url.toString$0(0) + " can't be configured." : "Built-in modules can't be configured.";
                t2 = configuration.nodeWithSpan;
                throw A.wrapException($async$self._async_evaluate0$_exception$2(t1, t2.get$span(t2)));
              }
              $async$goto = 5;
              return A._asyncAwait($async$self._async_evaluate0$_addExceptionSpanAsync$1$2(nodeWithSpan, new A._EvaluateVisitor__loadModule_closure5(t1, callback), type$.void), $async$_async_evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors);
            case 5:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate0$_withStackFrame$1$3(stackFrame, nodeWithSpan, new A._EvaluateVisitor__loadModule_closure6($async$self, url, nodeWithSpan, baseUrl, namesInErrors, configuration, callback), type$.Null), $async$_async_evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors);
            case 6:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors, $async$completer);
    },
    _async_evaluate0$_execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, configuration, namesInErrors, nodeWithSpan) {
      return this._execute$body$_EvaluateVisitor0(importer, stylesheet, configuration, namesInErrors, nodeWithSpan);
    },
    _async_evaluate0$_execute$2(importer, stylesheet) {
      return this._async_evaluate0$_execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, null, false, null);
    },
    _execute$body$_EvaluateVisitor0(importer, stylesheet, configuration, namesInErrors, nodeWithSpan) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Module_AsyncCallable_2),
        $async$returnValue, $async$self = this, currentConfiguration, t2, t3, message, existingSpan, configurationSpan, environment, css, preModuleComments, extensionStore, module, url, t1, _0_0;
      var $async$_async_evaluate0$_execute$5$configuration$namesInErrors$nodeWithSpan = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              url = stylesheet.span.file.url;
              t1 = $async$self._async_evaluate0$_modules;
              _0_0 = t1.$index(0, url);
              if (_0_0 != null) {
                t1 = configuration == null;
                currentConfiguration = t1 ? $async$self._async_evaluate0$_configuration : configuration;
                t2 = $async$self._async_evaluate0$_moduleConfigurations.$index(0, url);
                t3 = t2._configuration0$__originalConfiguration;
                t2 = t3 == null ? t2 : t3;
                t3 = currentConfiguration._configuration0$__originalConfiguration;
                if (t2 !== (t3 == null ? currentConfiguration : t3) && currentConfiguration instanceof A.ExplicitConfiguration0) {
                  if (namesInErrors) {
                    t2 = $.$get$context();
                    url.toString;
                    message = t2.prettyUri$1(url) + string$.x20was_a;
                  } else
                    message = string$.This_mw;
                  t2 = $async$self._async_evaluate0$_moduleNodes.$index(0, url);
                  existingSpan = t2 == null ? null : t2.get$span(t2);
                  if (t1) {
                    t1 = currentConfiguration.nodeWithSpan;
                    configurationSpan = t1.get$span(t1);
                  } else
                    configurationSpan = null;
                  t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
                  if (existingSpan != null)
                    t1.$indexSet(0, existingSpan, "original load");
                  if (configurationSpan != null)
                    t1.$indexSet(0, configurationSpan, "configuration");
                  throw A.wrapException(t1.get$isEmpty(0) ? $async$self._async_evaluate0$_exception$1(message) : $async$self._async_evaluate0$_multiSpanException$3(message, "new load", t1));
                }
                $async$returnValue = _0_0;
                // goto return
                $async$goto = 1;
                break;
              }
              environment = A.AsyncEnvironment$0();
              css = A._Cell$();
              preModuleComments = A._Cell$();
              extensionStore = A.ExtensionStore$0();
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_withEnvironment$1$2(environment, new A._EvaluateVisitor__execute_closure2($async$self, importer, stylesheet, extensionStore, configuration, css, preModuleComments), type$.Null), $async$_async_evaluate0$_execute$5$configuration$namesInErrors$nodeWithSpan);
            case 3:
              // returning from await.
              t2 = css._readLocal$0();
              t3 = preModuleComments._readLocal$0();
              module = environment.toModule$3(t2, t3 == null ? B.Map_empty15 : t3, extensionStore);
              if (url != null) {
                t1.$indexSet(0, url, module);
                $async$self._async_evaluate0$_moduleConfigurations.$indexSet(0, url, $async$self._async_evaluate0$_configuration);
                if (nodeWithSpan != null)
                  $async$self._async_evaluate0$_moduleNodes.$indexSet(0, url, nodeWithSpan);
              }
              $async$returnValue = module;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_execute$5$configuration$namesInErrors$nodeWithSpan, $async$completer);
    },
    _async_evaluate0$_addOutOfOrderImports$0() {
      var t1, t2, _this = this, _s5_ = "_root",
        _s13_ = "_endOfImports",
        _0_0 = _this._async_evaluate0$_outOfOrderImports;
      $label0$0: {
        if (_0_0 == null) {
          t1 = _this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__root, _s5_).children;
          break $label0$0;
        }
        t1 = _this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__root, _s5_).children;
        t1 = A.List_List$of(A.SubListIterable$(t1, 0, A.checkNotNullable(_this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__endOfImports, _s13_), "count", type$.int), t1.$ti._eval$1("ListBase.E")), true, type$.ModifiableCssNode_2);
        B.JSArray_methods.addAll$1(t1, _0_0);
        t2 = _this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__root, _s5_).children;
        B.JSArray_methods.addAll$1(t1, A.SubListIterable$(t2, _this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__endOfImports, _s13_), null, t2.$ti._eval$1("ListBase.E")));
        break $label0$0;
      }
      return t1;
    },
    _async_evaluate0$_combineCss$2$clone(root, clone) {
      var selectors, _0_0, t1, imports, css, sorted, t2;
      if (!B.JSArray_methods.any$1(root.get$upstream(), new A._EvaluateVisitor__combineCss_closure5())) {
        selectors = root.get$extensionStore().get$simpleSelectors();
        _0_0 = A.IterableExtension_get_firstOrNull(root.get$extensionStore().extensionsWhereTarget$1(new A._EvaluateVisitor__combineCss_closure6(selectors)));
        if (_0_0 != null)
          this._async_evaluate0$_throwForUnsatisfiedExtension$1(_0_0);
        return root.get$css(root);
      }
      t1 = type$.JSArray_CssNode_2;
      imports = A._setArrayType([], t1);
      css = A._setArrayType([], t1);
      t1 = type$.Module_AsyncCallable_2;
      sorted = A.ListQueue$(t1);
      new A._EvaluateVisitor__combineCss_visitModule2(this, A.LinkedHashSet_LinkedHashSet$_empty(t1), clone, css, imports, sorted).call$1(root);
      if (root.get$transitivelyContainsExtensions())
        this._async_evaluate0$_extendModules$1(sorted);
      t1 = B.JSArray_methods.$add(imports, css);
      t2 = root.get$css(root);
      return new A.CssStylesheet0(new A.UnmodifiableListView(t1, type$.UnmodifiableListView_CssNode_2), t2.get$span(t2));
    },
    _async_evaluate0$_combineCss$1(root) {
      return this._async_evaluate0$_combineCss$2$clone(root, false);
    },
    _async_evaluate0$_extendModules$1(sortedModules) {
      var t1, t2, t3, originalSelectors, $self, t4, t5, _i, upstream, _0_0,
        downstreamExtensionStores = A.LinkedHashMap_LinkedHashMap$_empty(type$.Uri, type$.List_ExtensionStore_2),
        unsatisfiedExtensions = new A._LinkedIdentityHashSet(type$._LinkedIdentityHashSet_Extension_2);
      for (t1 = A._ListQueueIterator$(sortedModules, sortedModules.$ti._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        originalSelectors = t3.get$extensionStore().get$simpleSelectors().toSet$0(0);
        unsatisfiedExtensions.addAll$1(0, t3.get$extensionStore().extensionsWhereTarget$1(new A._EvaluateVisitor__extendModules_closure5(originalSelectors)));
        $self = downstreamExtensionStores.$index(0, t3.get$url(t3));
        t4 = t3.get$extensionStore().get$addExtensions();
        if ($self != null)
          t4.call$1($self);
        t4 = t3.get$extensionStore();
        if (t4.get$isEmpty(t4))
          continue;
        for (t4 = t3.get$upstream(), t5 = t4.length, _i = 0; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i) {
          upstream = t4[_i];
          _0_0 = upstream.get$url(upstream);
          if (_0_0 != null)
            J.add$1$ax(downstreamExtensionStores.putIfAbsent$2(_0_0, new A._EvaluateVisitor__extendModules_closure6()), t3.get$extensionStore());
        }
        unsatisfiedExtensions.removeAll$1(t3.get$extensionStore().extensionsWhereTarget$1(originalSelectors.get$contains(originalSelectors)));
      }
      if (unsatisfiedExtensions._collection$_length !== 0)
        this._async_evaluate0$_throwForUnsatisfiedExtension$1(unsatisfiedExtensions.get$first(0));
    },
    _async_evaluate0$_throwForUnsatisfiedExtension$1(extension) {
      throw A.wrapException(A.SassException$0(string$.The_ta + extension.target.toString$0(0) + ' !optional" to avoid this error.', extension.span, null));
    },
    _async_evaluate0$_indexAfterImports$1(statements) {
      var t1, lastImport, i, _0_0;
      for (t1 = J.getInterceptor$asx(statements), lastImport = -1, i = 0; i < t1.get$length(statements); ++i) {
        $label0$0: {
          _0_0 = t1.$index(statements, i);
          if (_0_0 instanceof A.ModifiableCssImport0)
            break $label0$0;
          if (_0_0 instanceof A.ModifiableCssComment0)
            continue;
          break;
        }
        lastImport = i;
      }
      return lastImport + 1;
    },
    visitStylesheet$1(node) {
      return this.visitStylesheet$body$_EvaluateVisitor0(node);
    },
    visitStylesheet$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t1, t2, _i;
      var $async$visitStylesheet$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = node.children, t2 = t1.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(t1[_i].accept$1($async$self), $async$visitStylesheet$1);
            case 6:
              // returning from await.
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitStylesheet$1, $async$completer);
    },
    visitAtRootRule$1(node) {
      return this.visitAtRootRule$body$_EvaluateVisitor0(node);
    },
    visitAtRootRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, _1_0, resolved, query, $parent, included, t1, _2_0, root, first, rest, innerCopy, outerCopy, _i, copy, _0_0;
      var $async$visitAtRootRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _0_0 = node.query;
              $async$goto = _0_0 != null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolationWithMap$2$warnForColor(_0_0, true), $async$visitAtRootRule$1);
            case 6:
              // returning from await.
              _1_0 = $async$result;
              resolved = _1_0._0;
              _1_0._1;
              query = A.AtRootQueryParser$0(resolved, $async$self._async_evaluate0$_logger, null).parse$0();
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              query = B.AtRootQuery_n2q0;
            case 4:
              // join
              $parent = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent");
              included = A._setArrayType([], type$.JSArray_ModifiableCssParentNode_2);
              for (t1 = type$.CssStylesheet_2; !t1._is($parent); $parent = _2_0) {
                if (!query.excludes$1($parent))
                  included.push($parent);
                _2_0 = $parent._node$_parent;
                if (_2_0 == null)
                  throw A.wrapException(A.StateError$(string$.CssNod));
              }
              root = $async$self._async_evaluate0$_trimIncluded$1(included);
              $async$goto = root === $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent") ? 7 : 8;
              break;
            case 7:
              // then
              $async$goto = 9;
              return A._asyncAwait($async$self._async_evaluate0$_environment.scope$1$2$when(new A._EvaluateVisitor_visitAtRootRule_closure5($async$self, node), node.hasDeclarations, type$.Null), $async$visitAtRootRule$1);
            case 9:
              // returning from await.
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 8:
              // join
              if (included.length >= 1) {
                first = included[0];
                rest = B.JSArray_methods.sublist$1(included, 1);
                innerCopy = first.copyWithoutChildren$0();
                for (t1 = rest.length, outerCopy = innerCopy, _i = 0; _i < rest.length; rest.length === t1 || (0, A.throwConcurrentModificationError)(rest), ++_i, outerCopy = copy) {
                  copy = rest[_i].copyWithoutChildren$0();
                  copy.addChild$1(outerCopy);
                }
                root.addChild$1(outerCopy);
              } else
                innerCopy = root;
              $async$goto = 10;
              return A._asyncAwait($async$self._async_evaluate0$_scopeForAtRoot$4(node, innerCopy, query, included).call$1(new A._EvaluateVisitor_visitAtRootRule_closure6($async$self, node)), $async$visitAtRootRule$1);
            case 10:
              // 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$visitAtRootRule$1, $async$completer);
    },
    _async_evaluate0$_trimIncluded$1(nodes) {
      var $parent, t1, innermostContiguous, i, t2, _0_0, _1_0, root, _this = this, _null = null, _s5_ = "_root",
        _s22_ = " to be an ancestor of ";
      if (nodes.length === 0)
        return _this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__root, _s5_);
      $parent = _this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__parent, "__parent");
      for (t1 = nodes.length, innermostContiguous = _null, i = 0; i < t1; ++i, $parent = _1_0) {
        for (; t2 = nodes[i], $parent !== t2; innermostContiguous = _null, $parent = _0_0) {
          _0_0 = $parent._node$_parent;
          if (_0_0 == null)
            throw A.wrapException(A.ArgumentError$("Expected " + t2.toString$0(0) + _s22_ + _this.toString$0(0) + ".", _null));
        }
        if (innermostContiguous == null)
          innermostContiguous = i;
        _1_0 = $parent._node$_parent;
        if (_1_0 == null)
          throw A.wrapException(A.ArgumentError$("Expected " + t2.toString$0(0) + _s22_ + _this.toString$0(0) + ".", _null));
      }
      if ($parent !== _this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__root, _s5_))
        return _this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__root, _s5_);
      innermostContiguous.toString;
      root = nodes[innermostContiguous];
      B.JSArray_methods.removeRange$2(nodes, innermostContiguous, nodes.length);
      return root;
    },
    _async_evaluate0$_scopeForAtRoot$4(node, newParent, query, included) {
      var _this = this,
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure17(_this, newParent, node),
        t1 = query._at_root_query0$_all || query._at_root_query0$_rule;
      if (t1 !== query.include)
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure18(_this, scope);
      if (_this._async_evaluate0$_mediaQueries != null && query.excludesName$1("media"))
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure19(_this, scope);
      if (_this._async_evaluate0$_inKeyframes && query.excludesName$1("keyframes"))
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure20(_this, scope);
      return _this._async_evaluate0$_inUnknownAtRule && !B.JSArray_methods.any$1(included, new A._EvaluateVisitor__scopeForAtRoot_closure21()) ? new A._EvaluateVisitor__scopeForAtRoot_closure22(_this, scope) : scope;
    },
    visitContentBlock$1(node) {
      return A.throwExpression(A.UnsupportedError$(string$.Evalua));
    },
    visitContentRule$1(node) {
      return this.visitContentRule$body$_EvaluateVisitor0(node);
    },
    visitContentRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, $content;
      var $async$visitContentRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $content = $async$self._async_evaluate0$_environment._async_environment0$_content;
              if ($content == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_runUserDefinedCallable$1$4(node.$arguments, $content, node, new A._EvaluateVisitor_visitContentRule_closure2($async$self, $content), type$.Null), $async$visitContentRule$1);
            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$visitContentRule$1, $async$completer);
    },
    visitDebugRule$1(node) {
      return this.visitDebugRule$body$_EvaluateVisitor0(node);
    },
    visitDebugRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, value, t1;
      var $async$visitDebugRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait(node.expression.accept$1($async$self), $async$visitDebugRule$1);
            case 3:
              // returning from await.
              value = $async$result;
              t1 = value instanceof A.SassString0 ? value._string0$_text : A.serializeValue0(value, true, true);
              $async$self._async_evaluate0$_logger.debug$2(0, t1, node.span);
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitDebugRule$1, $async$completer);
    },
    visitDeclaration$1(node) {
      return this.visitDeclaration$body$_EvaluateVisitor0(node);
    },
    visitDeclaration$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t2, _0_0, t3, $name, _1_0, _2_0, value, t4, t5, _3_0, oldDeclarationName, t1;
      var $async$visitDeclaration$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              if (($async$self._async_evaluate0$_atRootExcludingStyleRule ? null : $async$self._async_evaluate0$_styleRuleIgnoringAtRoot) == null && !$async$self._async_evaluate0$_inUnknownAtRule && !$async$self._async_evaluate0$_inKeyframes)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Declarm, node.span));
              if ($async$self._async_evaluate0$_declarationName != null && B.JSString_methods.startsWith$1(node.name.get$initialPlain(), "--"))
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Declarw, node.span));
              t2 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent")._node$_parent.children;
              _0_0 = t2.get$last(t2);
              t2 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent");
              if (t2 !== _0_0) {
                t2 = type$.SourceSpan;
                t3 = type$.String;
                $async$self._async_evaluate0$_warn$3(string$.Sassx27s, new A.MultiSpan0(node.span, "declaration", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([_0_0.get$span(_0_0), "nested rule"], t2, t3), t2, t3)), B.Deprecation_FGJ);
              }
              t2 = node.name;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_interpolationToValue$2$warnForColor(t2, true), $async$visitDeclaration$1);
            case 3:
              // returning from await.
              $name = $async$result;
              _1_0 = $async$self._async_evaluate0$_declarationName;
              if (_1_0 != null)
                $name = new A.CssValue0(_1_0 + "-" + A.S($name.value), $name.span, type$.CssValue_String_2);
              _2_0 = node.value;
              $async$goto = _2_0 != null ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 6;
              return A._asyncAwait(_2_0.accept$1($async$self), $async$visitDeclaration$1);
            case 6:
              // returning from await.
              value = $async$result;
              if (!value.get$isBlank() || value.get$asList().length === 0) {
                t3 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent");
                t4 = _2_0.get$span(_2_0);
                t2 = B.JSString_methods.startsWith$1(t2.get$initialPlain(), "--");
                if ($async$self._async_evaluate0$_sourceMap) {
                  t5 = A.NullableExtension_andThen0(_2_0, $async$self.get$_async_evaluate0$_expressionNode());
                  t5 = t5 == null ? null : J.get$span$z(t5);
                } else
                  t5 = null;
                t3.addChild$1(A.ModifiableCssDeclaration$0($name, new A.CssValue0(value, t4, type$.CssValue_Value_2), node.span, t2, t5));
              } else if (J.startsWith$1$s($name.value, "--"))
                throw A.wrapException($async$self._async_evaluate0$_exception$2("Custom property values may not be empty.", _2_0.get$span(_2_0)));
            case 5:
              // join
              _3_0 = node.children;
              t1.children = null;
              $async$goto = _3_0 != null ? 7 : 8;
              break;
            case 7:
              // then
              t1.children = _3_0;
              oldDeclarationName = $async$self._async_evaluate0$_declarationName;
              $async$self._async_evaluate0$_declarationName = $name.value;
              $async$goto = 9;
              return A._asyncAwait($async$self._async_evaluate0$_environment.scope$1$2$when(new A._EvaluateVisitor_visitDeclaration_closure2(t1, $async$self), node.hasDeclarations, type$.Null), $async$visitDeclaration$1);
            case 9:
              // returning from await.
              $async$self._async_evaluate0$_declarationName = oldDeclarationName;
            case 8:
              // join
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitDeclaration$1, $async$completer);
    },
    visitEachRule$1(node) {
      return this.visitEachRule$body$_EvaluateVisitor0(node);
    },
    visitEachRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, _box_0, t1, list, nodeWithSpan, _0_0;
      var $async$visitEachRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              t1 = node.list;
              $async$goto = 3;
              return A._asyncAwait(t1.accept$1($async$self), $async$visitEachRule$1);
            case 3:
              // returning from await.
              list = $async$result;
              nodeWithSpan = $async$self._async_evaluate0$_expressionNode$1(t1);
              _0_0 = node.variables;
              $label0$0: {
                _box_0.variable = null;
                if (_0_0.length === 1) {
                  _box_0.variable = _0_0[0];
                  t1 = new A._EvaluateVisitor_visitEachRule_closure8(_box_0, $async$self, nodeWithSpan);
                  break $label0$0;
                }
                _box_0.variables = null;
                _box_0.variables = _0_0;
                t1 = new A._EvaluateVisitor_visitEachRule_closure9(_box_0, $async$self, nodeWithSpan);
                break $label0$0;
              }
              $async$returnValue = $async$self._async_evaluate0$_environment.scope$1$2$semiGlobal(new A._EvaluateVisitor_visitEachRule_closure10($async$self, list, t1, node), true, type$.nullable_Value_2);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitEachRule$1, $async$completer);
    },
    _async_evaluate0$_setMultipleVariables$3(variables, value, nodeWithSpan) {
      var i,
        list = value.get$asList(),
        t1 = variables.length,
        minLength = Math.min(t1, list.length);
      for (i = 0; i < minLength; ++i)
        this._async_evaluate0$_environment.setLocalVariable$3(variables[i], this._async_evaluate0$_withoutSlash$2(list[i], nodeWithSpan), nodeWithSpan);
      for (i = minLength; i < t1; ++i)
        this._async_evaluate0$_environment.setLocalVariable$3(variables[i], B.C__SassNull0, nodeWithSpan);
    },
    visitErrorRule$1(node) {
      return this.visitErrorRule$body$_EvaluateVisitor0(node);
    },
    visitErrorRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$self = this, $async$temp1, $async$temp2;
      var $async$visitErrorRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = A;
              $async$temp2 = J;
              $async$goto = 2;
              return A._asyncAwait(node.expression.accept$1($async$self), $async$visitErrorRule$1);
            case 2:
              // returning from await.
              throw $async$temp1.wrapException($async$self._async_evaluate0$_exception$2($async$temp2.toString$0$($async$result), node.span));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitErrorRule$1, $async$completer);
    },
    visitExtendRule$1(node) {
      return this.visitExtendRule$body$_EvaluateVisitor0(node);
    },
    visitExtendRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, _0_0, targetText, targetMap, compound, styleRule;
      var $async$visitExtendRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              styleRule = $async$self._async_evaluate0$_atRootExcludingStyleRule ? null : $async$self._async_evaluate0$_styleRuleIgnoringAtRoot;
              if (styleRule == null || $async$self._async_evaluate0$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.x40exten, node.span));
              for (t1 = styleRule.originalSelector.components, t2 = t1.length, t3 = node.span, t4 = type$.SourceSpan, t5 = type$.String, _i = 0; _i < t2; ++_i) {
                complex = t1[_i];
                if (!complex.accept$1(B._IsBogusVisitor_true0))
                  continue;
                visitor = A._SerializeVisitor$0(null, true, null, true, false, null, true);
                complex.accept$1(visitor);
                t6 = B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0));
                t7 = complex.accept$1(B.C__IsUselessVisitor0) ? "can't" : "shouldn't";
                $async$self._async_evaluate0$_warn$3('The selector "' + t6 + '" is invalid CSS and ' + t7 + string$.x20be_an, new A.MultiSpan0(A.SpanExtensions_trimRight0(complex.span), "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t3, "@extend rule"], t4, t5), t4, t5)), B.Deprecation_5pG);
              }
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolationWithMap$2$warnForColor(node.selector, true), $async$visitExtendRule$1);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              targetText = _0_0._0;
              targetMap = _0_0._1;
              for (t1 = A.SelectorList_SelectorList$parse0(A.trimAscii0(targetText, true), false, targetMap, $async$self._async_evaluate0$_logger, false).components, t2 = t1.length, t3 = styleRule._style_rule0$_selector._box0$_inner, _i = 0; _i < t2; ++_i) {
                complex = t1[_i];
                compound = complex.get$singleCompound();
                if (compound == null)
                  throw A.wrapException(A.SassFormatException$0("complex selectors may not be extended.", complex.span, null));
                t4 = compound.components;
                t5 = t4.length === 1 ? B.JSArray_methods.get$first(t4) : null;
                if (t5 == null)
                  throw A.wrapException(A.SassFormatException$0(string$.compou + B.JSArray_methods.join$1(t4, ", ") + string$.x60_inst, compound.span, null));
                $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__extensionStore, "_extensionStore").addExtension$4(t3.value, t5, node, $async$self._async_evaluate0$_mediaQueries);
              }
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitExtendRule$1, $async$completer);
    },
    visitAtRule$1(node) {
      return this.visitAtRule$body$_EvaluateVisitor0(node);
    },
    visitAtRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, $name, t1, value, children, wasInKeyframes, wasInUnknownAtRule;
      var $async$visitAtRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate0$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.At_rul, node.span));
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_interpolationToValue$1(node.name), $async$visitAtRule$1);
            case 3:
              // returning from await.
              $name = $async$result;
              t1 = A.NullableExtension_andThen0(node.value, new A._EvaluateVisitor_visitAtRule_closure8($async$self));
              $async$goto = 4;
              return A._asyncAwait(type$.Future_nullable_CssValue_String_2._is(t1) ? t1 : A._Future$value(t1, type$.nullable_CssValue_String_2), $async$visitAtRule$1);
            case 4:
              // returning from await.
              value = $async$result;
              children = node.children;
              if (children == null) {
                $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").addChild$1(A.ModifiableCssAtRule$0($name, node.span, true, value));
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              wasInKeyframes = $async$self._async_evaluate0$_inKeyframes;
              wasInUnknownAtRule = $async$self._async_evaluate0$_inUnknownAtRule;
              if (A.unvendor0($name.value) === "keyframes")
                $async$self._async_evaluate0$_inKeyframes = true;
              else
                $async$self._async_evaluate0$_inUnknownAtRule = true;
              $async$goto = 5;
              return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssAtRule$0($name, node.span, false, value), new A._EvaluateVisitor_visitAtRule_closure9($async$self, $name, children), node.hasDeclarations, new A._EvaluateVisitor_visitAtRule_closure10(), type$.ModifiableCssAtRule_2, type$.Null), $async$visitAtRule$1);
            case 5:
              // returning from await.
              $async$self._async_evaluate0$_inUnknownAtRule = wasInUnknownAtRule;
              $async$self._async_evaluate0$_inKeyframes = wasInKeyframes;
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitAtRule$1, $async$completer);
    },
    visitForRule$1(node) {
      return this.visitForRule$body$_EvaluateVisitor0(node);
    },
    visitForRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t1, t2, t3, fromNumber, t4, toNumber, from, to, direction;
      var $async$visitForRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              t2 = node.from;
              t3 = type$.SassNumber_2;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_addExceptionSpanAsync$1$2(t2, new A._EvaluateVisitor_visitForRule_closure14($async$self, node), t3), $async$visitForRule$1);
            case 3:
              // returning from await.
              fromNumber = $async$result;
              t4 = node.to;
              $async$goto = 4;
              return A._asyncAwait($async$self._async_evaluate0$_addExceptionSpanAsync$1$2(t4, new A._EvaluateVisitor_visitForRule_closure15($async$self, node), t3), $async$visitForRule$1);
            case 4:
              // returning from await.
              toNumber = $async$result;
              from = $async$self._async_evaluate0$_addExceptionSpan$2(t2, new A._EvaluateVisitor_visitForRule_closure16(fromNumber));
              to = t1.to = $async$self._async_evaluate0$_addExceptionSpan$2(t4, new A._EvaluateVisitor_visitForRule_closure17(toNumber, fromNumber));
              direction = from > to ? -1 : 1;
              if (from === (!node.isExclusive ? t1.to = to + direction : to)) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = $async$self._async_evaluate0$_environment.scope$1$2$semiGlobal(new A._EvaluateVisitor_visitForRule_closure18(t1, $async$self, node, from, direction, fromNumber), true, type$.nullable_Value_2);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitForRule$1, $async$completer);
    },
    visitForwardRule$1(node) {
      return this.visitForwardRule$body$_EvaluateVisitor0(node);
    },
    visitForwardRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, newConfiguration, t4, _i, variable, $name, oldConfiguration, adjustedConfiguration, t1, t2, t3;
      var $async$visitForwardRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldConfiguration = $async$self._async_evaluate0$_configuration;
              adjustedConfiguration = oldConfiguration.throughForward$1(node);
              t1 = node.configuration;
              t2 = t1.length;
              t3 = node.url;
              $async$goto = t2 !== 0 ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate0$_addForwardConfiguration$2(adjustedConfiguration, node), $async$visitForwardRule$1);
            case 6:
              // returning from await.
              newConfiguration = $async$result;
              $async$goto = 7;
              return A._asyncAwait($async$self._async_evaluate0$_loadModule$5$configuration(t3, "@forward", node, new A._EvaluateVisitor_visitForwardRule_closure5($async$self, node), newConfiguration), $async$visitForwardRule$1);
            case 7:
              // returning from await.
              t3 = type$.String;
              t4 = A.LinkedHashSet_LinkedHashSet$_empty(t3);
              for (_i = 0; _i < t2; ++_i) {
                variable = t1[_i];
                if (!variable.isGuarded)
                  t4.add$1(0, variable.name);
              }
              $async$self._async_evaluate0$_removeUsedConfiguration$3$except(adjustedConfiguration, newConfiguration, t4);
              t3 = A.LinkedHashSet_LinkedHashSet$_empty(t3);
              for (_i = 0; _i < t2; ++_i)
                t3.add$1(0, t1[_i].name);
              for (t1 = newConfiguration._configuration0$_values, t2 = J.toList$0$ax(t1.get$keys(t1)), t4 = t2.length, _i = 0; _i < t2.length; t2.length === t4 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
                $name = t2[_i];
                if (!t3.contains$1(0, $name))
                  if (!t1.get$isEmpty(t1))
                    t1.remove$1(0, $name);
              }
              $async$self._async_evaluate0$_assertConfigurationIsEmpty$1(newConfiguration);
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$self._async_evaluate0$_configuration = adjustedConfiguration;
              $async$goto = 8;
              return A._asyncAwait($async$self._async_evaluate0$_loadModule$4(t3, "@forward", node, new A._EvaluateVisitor_visitForwardRule_closure6($async$self, node)), $async$visitForwardRule$1);
            case 8:
              // returning from await.
              $async$self._async_evaluate0$_configuration = oldConfiguration;
            case 4:
              // join
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitForwardRule$1, $async$completer);
    },
    _async_evaluate0$_addForwardConfiguration$2(configuration, node) {
      return this._addForwardConfiguration$body$_EvaluateVisitor0(configuration, node);
    },
    _addForwardConfiguration$body$_EvaluateVisitor0(configuration, node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Configuration_2),
        $async$returnValue, $async$self = this, t2, t3, t4, t5, _i, variable, t6, oldValue, t7, variableNodeWithSpan, t8, t1, newValues, $async$temp1, $async$temp2, $async$temp3;
      var $async$_async_evaluate0$_addForwardConfiguration$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = configuration._configuration0$_values;
              newValues = A.LinkedHashMap_LinkedHashMap$of(new A.UnmodifiableMapView(t1, type$.UnmodifiableMapView_String_ConfiguredValue_2), type$.String, type$.ConfiguredValue_2);
              t2 = node.configuration, t3 = t2.length, t4 = type$._Future_Value_2, t5 = type$.Future_Value_2, _i = 0;
            case 3:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              variable = t2[_i];
              if (variable.isGuarded) {
                t6 = variable.name;
                oldValue = t1.get$isEmpty(t1) ? null : t1.remove$1(0, t6);
                if (oldValue != null)
                  t7 = !oldValue.value.$eq(0, B.C__SassNull0);
                else {
                  oldValue = null;
                  t7 = false;
                }
                if (t7) {
                  newValues.$indexSet(0, t6, oldValue);
                  // goto for update
                  $async$goto = 4;
                  break;
                }
              }
              t6 = variable.expression;
              variableNodeWithSpan = $async$self._async_evaluate0$_expressionNode$1(t6);
              t7 = variable.name;
              t6 = t6.accept$1($async$self);
              if (!t5._is(t6)) {
                t8 = new A._Future($.Zone__current, t4);
                t8._state = 8;
                t8._resultOrListeners = t6;
                t6 = t8;
              }
              $async$temp1 = newValues;
              $async$temp2 = t7;
              $async$temp3 = A;
              $async$goto = 6;
              return A._asyncAwait(t6, $async$_async_evaluate0$_addForwardConfiguration$2);
            case 6:
              // returning from await.
              $async$temp1.$indexSet(0, $async$temp2, new $async$temp3.ConfiguredValue0($async$self._async_evaluate0$_withoutSlash$2($async$result, variableNodeWithSpan), variable.span, variableNodeWithSpan));
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              if (configuration instanceof A.ExplicitConfiguration0 || t1.get$isEmpty(t1)) {
                $async$returnValue = new A.ExplicitConfiguration0(node, newValues, null);
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = new A.Configuration0(newValues, null);
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_addForwardConfiguration$2, $async$completer);
    },
    _async_evaluate0$_registerCommentsForModule$1(module) {
      var _this = this, _s5_ = "_root",
        t1 = _this._async_evaluate0$__root;
      if (t1 == null)
        return;
      if (_this._async_evaluate0$_assertInModule$2(t1, _s5_).children.get$length(0) === 0 || !module.get$transitivelyContainsCss())
        return;
      t1 = _this._async_evaluate0$_preModuleComments;
      if (t1 == null)
        t1 = _this._async_evaluate0$_preModuleComments = A.LinkedHashMap_LinkedHashMap$_empty(type$.Module_AsyncCallable_2, type$.List_CssComment_2);
      J.addAll$1$ax(t1.putIfAbsent$2(module, new A._EvaluateVisitor__registerCommentsForModule_closure2()), new A.UnmodifiableListView(J.cast$1$0$ax(_this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__root, _s5_).children._collection$_source, type$.CssComment_2), type$.UnmodifiableListView_CssComment_2));
      _this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__root, _s5_).clearChildren$0();
      _this._async_evaluate0$__endOfImports = 0;
    },
    _async_evaluate0$_removeUsedConfiguration$3$except(upstream, downstream, except) {
      var t1, t2, t3, t4, _i, $name;
      for (t1 = upstream._configuration0$_values, t2 = J.toList$0$ax(t1.get$keys(t1)), t3 = t2.length, t4 = downstream._configuration0$_values, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        $name = t2[_i];
        if (except.contains$1(0, $name))
          continue;
        if (!t4.containsKey$1($name))
          if (!t1.get$isEmpty(t1))
            t1.remove$1(0, $name);
      }
    },
    _async_evaluate0$_assertConfigurationIsEmpty$2$nameInError(configuration, nameInError) {
      var t1, _0_0, $name, value;
      if (!(configuration instanceof A.ExplicitConfiguration0))
        return;
      t1 = configuration._configuration0$_values;
      if (t1.get$isEmpty(t1))
        return;
      t1 = A.MapExtensions_get_pairs0(new A.UnmodifiableMapView(t1, type$.UnmodifiableMapView_String_ConfiguredValue_2), type$.String, type$.ConfiguredValue_2);
      _0_0 = t1.get$first(t1);
      $name = _0_0._0;
      value = _0_0._1;
      t1 = nameInError ? "$" + $name + string$.x20was_n : string$.This_v;
      throw A.wrapException(this._async_evaluate0$_exception$2(t1, value.configurationSpan));
    },
    _async_evaluate0$_assertConfigurationIsEmpty$1(configuration) {
      return this._async_evaluate0$_assertConfigurationIsEmpty$2$nameInError(configuration, false);
    },
    visitFunctionRule$1(node) {
      return this.visitFunctionRule$body$_EvaluateVisitor0(node);
    },
    visitFunctionRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, index, t5;
      var $async$visitFunctionRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._async_evaluate0$_environment;
              t2 = t1.closure$0();
              t3 = $async$self._async_evaluate0$_inDependency;
              t4 = t1._async_environment0$_functions;
              index = t4.length - 1;
              t5 = node.name;
              t1._async_environment0$_functionIndices.$indexSet(0, t5, index);
              J.$indexSet$ax(t4[index], t5, new A.UserDefinedCallable0(node, t2, t3, type$.UserDefinedCallable_AsyncEnvironment_2));
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitFunctionRule$1, $async$completer);
    },
    visitIfRule$1(node) {
      return this.visitIfRule$body$_EvaluateVisitor0(node);
    },
    visitIfRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t1, t2, _i, clauseToCheck, clause;
      var $async$visitIfRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              clause = node.lastClause;
              t1 = node.clauses, t2 = t1.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              clauseToCheck = t1[_i];
              $async$goto = 6;
              return A._asyncAwait(clauseToCheck.expression.accept$1($async$self), $async$visitIfRule$1);
            case 6:
              // returning from await.
              if ($async$result.get$isTruthy()) {
                clause = clauseToCheck;
                // goto after for
                $async$goto = 5;
                break;
              }
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              t1 = A.NullableExtension_andThen0(clause, new A._EvaluateVisitor_visitIfRule_closure2($async$self));
              $async$goto = 7;
              return A._asyncAwait(type$.Future_nullable_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.nullable_Value_2), $async$visitIfRule$1);
            case 7:
              // 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$visitIfRule$1, $async$completer);
    },
    visitImportRule$1(node) {
      return this.visitImportRule$body$_EvaluateVisitor0(node);
    },
    visitImportRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t1, t2, t3, _i, $import;
      var $async$visitImportRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = node.imports, t2 = t1.length, t3 = type$.StaticImport_2, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $import = t1[_i];
              $async$goto = $import instanceof A.DynamicImport0 ? 6 : 8;
              break;
            case 6:
              // then
              $async$goto = 9;
              return A._asyncAwait($async$self._async_evaluate0$_visitDynamicImport$1($import), $async$visitImportRule$1);
            case 9:
              // returning from await.
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              $async$goto = 10;
              return A._asyncAwait($async$self._async_evaluate0$_visitStaticImport$1(t3._as($import)), $async$visitImportRule$1);
            case 10:
              // returning from await.
            case 7:
              // join
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitImportRule$1, $async$completer);
    },
    _async_evaluate0$_visitDynamicImport$1($import) {
      return this._async_evaluate0$_withStackFrame$1$3("@import", $import, new A._EvaluateVisitor__visitDynamicImport_closure2(this, $import), type$.void);
    },
    _async_evaluate0$_loadStylesheet$4$baseUrl$forImport(url, span, baseUrl, forImport) {
      return this._loadStylesheet$body$_EvaluateVisitor0(url, span, baseUrl, forImport);
    },
    _async_evaluate0$_loadStylesheet$3$baseUrl(url, span, baseUrl) {
      return this._async_evaluate0$_loadStylesheet$4$baseUrl$forImport(url, span, baseUrl, false);
    },
    _async_evaluate0$_loadStylesheet$3$forImport(url, span, forImport) {
      return this._async_evaluate0$_loadStylesheet$4$baseUrl$forImport(url, span, null, forImport);
    },
    _loadStylesheet$body$_EvaluateVisitor0(url, span, baseUrl, forImport) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_3_Stylesheet_and_nullable_AsyncImporter_importer_and_bool_isDependency_2),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, _0_0, importCache, _1_0, importer, canonicalUrl, originalUrl, isDependency, _2_0, stylesheet, _3_0, result, error, stackTrace, error0, stackTrace0, message, t1, t2, t3, t4, exception, message0, $async$exception;
      var $async$_async_evaluate0$_loadStylesheet$4$baseUrl$forImport = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              baseUrl = baseUrl;
              $async$handler = 4;
              $async$self._async_evaluate0$_importSpan = span;
              _0_0 = $async$self._async_evaluate0$_importCache;
              importCache = null;
              $async$goto = _0_0 != null ? 7 : 8;
              break;
            case 7:
              // then
              importCache = _0_0;
              if (baseUrl == null)
                baseUrl = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet").span.file.url;
              $async$goto = 9;
              return A._asyncAwait(J.canonicalize$4$baseImporter$baseUrl$forImport$x(importCache, A.Uri_parse(url), $async$self._async_evaluate0$_importer, baseUrl, forImport), $async$_async_evaluate0$_loadStylesheet$4$baseUrl$forImport);
            case 9:
              // returning from await.
              _1_0 = $async$result;
              importer = null;
              canonicalUrl = null;
              originalUrl = null;
              $async$goto = type$.Record_3_nullable_Object_and_nullable_Object_and_nullable_Object_originalUrl._is(_1_0) ? 10 : 11;
              break;
            case 10:
              // then
              importer = _1_0._0;
              canonicalUrl = _1_0._1;
              originalUrl = _1_0._2;
              $async$self._async_evaluate0$_loadedUrls.add$1(0, canonicalUrl);
              isDependency = $async$self._async_evaluate0$_inDependency || !J.$eq$(importer, $async$self._async_evaluate0$_importer);
              t1 = importCache;
              t2 = importer;
              t3 = canonicalUrl;
              t4 = originalUrl;
              $async$goto = 12;
              return A._asyncAwait(t1.importCanonical$4$originalUrl$quiet(t2, t3, t4, $async$self._async_evaluate0$_quietDeps && isDependency), $async$_async_evaluate0$_loadStylesheet$4$baseUrl$forImport);
            case 12:
              // returning from await.
              _2_0 = $async$result;
              stylesheet = null;
              if (_2_0 != null) {
                stylesheet = _2_0;
                t1 = stylesheet;
                t2 = importer;
                $async$returnValue = new A._Record_3_importer_isDependency(t1, t2, isDependency);
                $async$next = [1];
                // goto finally
                $async$goto = 5;
                break;
              }
            case 11:
              // join
            case 8:
              // join
              $async$goto = $async$self._async_evaluate0$_nodeImporter != null ? 13 : 14;
              break;
            case 13:
              // then
              t1 = baseUrl;
              $async$goto = 15;
              return A._asyncAwait($async$self._async_evaluate0$_importLikeNode$3(url, t1 == null ? $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet").span.file.url : t1, forImport), $async$_async_evaluate0$_loadStylesheet$4$baseUrl$forImport);
            case 15:
              // returning from await.
              _3_0 = $async$result;
              result = null;
              if (_3_0 != null) {
                result = _3_0;
                t1 = $async$self._async_evaluate0$_loadedUrls;
                A.NullableExtension_andThen0(result._0.span.file.url, t1.get$add(t1));
                t1 = result;
                $async$returnValue = t1;
                $async$next = [1];
                // goto finally
                $async$goto = 5;
                break;
              }
            case 14:
              // join
              t1 = B.JSString_methods.startsWith$1(url, "package:");
              if (t1)
                throw A.wrapException(string$.x22packa);
              else
                throw A.wrapException("Can't find stylesheet to import.");
              $async$next.push(6);
              // goto finally
              $async$goto = 5;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.SassException0)
                throw $async$exception;
              else if (t1 instanceof A.ArgumentError) {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                A.throwWithTrace0($async$self._async_evaluate0$_exception$1(J.toString$0$(error)), error, stackTrace);
              } else {
                error0 = t1;
                stackTrace0 = A.getTraceFromException($async$exception);
                message = null;
                try {
                  message = A._asString(J.get$message$x(error0));
                } catch (exception) {
                  message0 = J.toString$0$(error0);
                  message = message0;
                }
                A.throwWithTrace0($async$self._async_evaluate0$_exception$1(message), error0, stackTrace0);
              }
              $async$next.push(6);
              // goto finally
              $async$goto = 5;
              break;
            case 3:
              // uncaught
              $async$next = [2];
            case 5:
              // finally
              $async$handler = 2;
              $async$self._async_evaluate0$_importSpan = null;
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_loadStylesheet$4$baseUrl$forImport, $async$completer);
    },
    _async_evaluate0$_importLikeNode$3(originalUrl, previous, forImport) {
      return this._importLikeNode$body$_EvaluateVisitor(originalUrl, previous, forImport);
    },
    _importLikeNode$body$_EvaluateVisitor(originalUrl, previous, forImport) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Record_3_Stylesheet_and_nullable_AsyncImporter_importer_and_bool_isDependency),
        $async$returnValue, $async$self = this, isDependency, url, t2, t1, result;
      var $async$_async_evaluate0$_importLikeNode$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._async_evaluate0$_nodeImporter;
              result = t1.loadRelative$3(originalUrl, previous, forImport);
              $async$goto = result != null ? 3 : 5;
              break;
            case 3:
              // then
              isDependency = $async$self._async_evaluate0$_inDependency;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = 6;
              return A._asyncAwait(t1.loadAsync$3(originalUrl, previous, forImport), $async$_async_evaluate0$_importLikeNode$3);
            case 6:
              // returning from await.
              result = $async$result;
              if (result == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              isDependency = true;
            case 4:
              // join
              url = result._1;
              t1 = B.JSString_methods.startsWith$1(url, "file") ? A.Syntax_forPath0(url) : B.Syntax_SCSS_scss0;
              t2 = $async$self._async_evaluate0$_quietDeps && isDependency ? $.$get$Logger_quiet0() : $async$self._async_evaluate0$_logger;
              $async$returnValue = new A._Record_3_importer_isDependency(A.Stylesheet_Stylesheet$parse0(result._0, t1, t2, url), null, isDependency);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_importLikeNode$3, $async$completer);
    },
    _async_evaluate0$_visitStaticImport$1($import) {
      return this._visitStaticImport$body$_EvaluateVisitor0($import);
    },
    _visitStaticImport$body$_EvaluateVisitor0($import) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, node, $async$temp1, $async$temp2;
      var $async$_async_evaluate0$_visitStaticImport$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return A._asyncAwait($async$self._async_evaluate0$_interpolationToValue$1($import.url), $async$_async_evaluate0$_visitStaticImport$1);
            case 2:
              // returning from await.
              t1 = $async$result;
              t2 = A.NullableExtension_andThen0($import.modifiers, $async$self.get$_async_evaluate0$_interpolationToValue());
              $async$temp1 = A;
              $async$temp2 = t1;
              $async$goto = 3;
              return A._asyncAwait(type$.Future_nullable_CssValue_String_2._is(t2) ? t2 : A._Future$value(t2, type$.nullable_CssValue_String_2), $async$_async_evaluate0$_visitStaticImport$1);
            case 3:
              // returning from await.
              node = new $async$temp1.ModifiableCssImport0($async$temp2, $async$result, $import.span);
              if ($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent") !== $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__root, "_root"))
                $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").addChild$1(node);
              else if ($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__endOfImports, "_endOfImports") === J.get$length$asx($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__root, "_root").children._collection$_source)) {
                $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__root, "_root").addChild$1(node);
                $async$self._async_evaluate0$__endOfImports = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__endOfImports, "_endOfImports") + 1;
              } else {
                t1 = $async$self._async_evaluate0$_outOfOrderImports;
                (t1 == null ? $async$self._async_evaluate0$_outOfOrderImports = A._setArrayType([], type$.JSArray_ModifiableCssImport_2) : t1).push(node);
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_visitStaticImport$1, $async$completer);
    },
    _async_evaluate0$_applyMixin$5(mixin, contentCallable, $arguments, nodeWithSpan, nodeWithSpanWithoutContent) {
      return this._applyMixin$body$_EvaluateVisitor0(mixin, contentCallable, $arguments, nodeWithSpan, nodeWithSpanWithoutContent);
    },
    _applyMixin$body$_EvaluateVisitor0(mixin, contentCallable, $arguments, nodeWithSpan, nodeWithSpanWithoutContent) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, _0_0, _1_8, t2;
      var $async$_async_evaluate0$_applyMixin$5 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (mixin == null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2("Undefined mixin.", nodeWithSpan.get$span(nodeWithSpan)));
              t1 = type$.AsyncBuiltInCallable_2._is(mixin);
              $async$goto = t1 && !mixin.get$acceptsContent() && contentCallable != null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait($async$self._async_evaluate0$_evaluateArguments$1($arguments), $async$_async_evaluate0$_applyMixin$5);
            case 5:
              // returning from await.
              t1 = $async$result._values;
              _0_0 = mixin.callbackFor$2(J.get$length$asx(t1[2]), new A.MapKeySet(t1[0], type$.MapKeySet_String));
              throw A.wrapException(A.MultiSpanSassRuntimeException$0("Mixin doesn't accept a content block.", nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([_0_0._0.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), $async$self._async_evaluate0$_stackTrace$1(nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent)), null));
            case 4:
              // join
              $async$goto = t1 ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return A._asyncAwait($async$self._async_evaluate0$_environment.withContent$2(contentCallable, new A._EvaluateVisitor__applyMixin_closure5($async$self, $arguments, mixin, nodeWithSpanWithoutContent)), $async$_async_evaluate0$_applyMixin$5);
            case 8:
              // returning from await.
              // goto break $label0$0
              $async$goto = 2;
              break;
            case 7:
              // join
              t1 = type$.UserDefinedCallable_AsyncEnvironment_2._is(mixin);
              if (t1) {
                _1_8 = mixin.declaration;
                if (_1_8 instanceof A.MixinRule0)
                  t2 = !type$.MixinRule_2._as(_1_8).get$hasContent() && contentCallable != null;
                else
                  t2 = false;
              } else
                t2 = false;
              if (t2)
                throw A.wrapException(A.MultiSpanSassRuntimeException$0("Mixin doesn't accept a content block.", nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([mixin.declaration.$arguments.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), $async$self._async_evaluate0$_stackTrace$1(nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent)), null));
              $async$goto = t1 ? 9 : 10;
              break;
            case 9:
              // then
              $async$goto = 11;
              return A._asyncAwait($async$self._async_evaluate0$_runUserDefinedCallable$1$4($arguments, mixin, nodeWithSpanWithoutContent, new A._EvaluateVisitor__applyMixin_closure6($async$self, contentCallable, mixin, nodeWithSpanWithoutContent), type$.Null), $async$_async_evaluate0$_applyMixin$5);
            case 11:
              // returning from await.
              // goto break $label0$0
              $async$goto = 2;
              break;
            case 10:
              // join
              throw A.wrapException(A.UnsupportedError$("Unknown callable type " + mixin.toString$0(0) + "."));
            case 2:
              // break $label0$0
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_applyMixin$5, $async$completer);
    },
    visitIncludeRule$1(node) {
      return this.visitIncludeRule$body$_EvaluateVisitor0(node);
    },
    visitIncludeRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, mixin;
      var $async$visitIncludeRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              mixin = $async$self._async_evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitIncludeRule_closure8($async$self, node));
              if (B.JSString_methods.startsWith$1(node.originalName, "--") && mixin instanceof A.UserDefinedCallable0 && !B.JSString_methods.startsWith$1(mixin.declaration.originalName, "--"))
                $async$self._async_evaluate0$_warn$3(string$.Sassx20_m, node.get$nameSpan(), B.Deprecation_qBS);
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_applyMixin$5(mixin, A.NullableExtension_andThen0(node.content, new A._EvaluateVisitor_visitIncludeRule_closure9($async$self)), node.$arguments, node, new A._FakeAstNode0(new A._EvaluateVisitor_visitIncludeRule_closure10(node))), $async$visitIncludeRule$1);
            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$visitIncludeRule$1, $async$completer);
    },
    visitMixinRule$1(node) {
      return this.visitMixinRule$body$_EvaluateVisitor0(node);
    },
    visitMixinRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, index, t5;
      var $async$visitMixinRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._async_evaluate0$_environment;
              t2 = t1.closure$0();
              t3 = $async$self._async_evaluate0$_inDependency;
              t4 = t1._async_environment0$_mixins;
              index = t4.length - 1;
              t5 = node.name;
              t1._async_environment0$_mixinIndices.$indexSet(0, t5, index);
              J.$indexSet$ax(t4[index], t5, new A.UserDefinedCallable0(node, t2, t3, type$.UserDefinedCallable_AsyncEnvironment_2));
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitMixinRule$1, $async$completer);
    },
    visitLoudComment$1(node) {
      return this.visitLoudComment$body$_EvaluateVisitor0(node);
    },
    visitLoudComment$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2;
      var $async$visitLoudComment$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate0$_inFunction) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if ($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent") === $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__root, "_root") && $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__endOfImports, "_endOfImports") === J.get$length$asx($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__root, "_root").children._collection$_source))
                $async$self._async_evaluate0$__endOfImports = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__endOfImports, "_endOfImports") + 1;
              t1 = node.text;
              $async$temp1 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent");
              $async$temp2 = A;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolation$1(t1), $async$visitLoudComment$1);
            case 3:
              // returning from await.
              $async$temp1.addChild$1(new $async$temp2.ModifiableCssComment0($async$result, t1.span));
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitLoudComment$1, $async$completer);
    },
    visitMediaRule$1(node) {
      return this.visitMediaRule$body$_EvaluateVisitor0(node);
    },
    visitMediaRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, queries, mergedQueries, t1, mergedSources, t2, t3;
      var $async$visitMediaRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate0$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Media_, node.span));
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_visitMediaQueries$1(node.query), $async$visitMediaRule$1);
            case 3:
              // returning from await.
              queries = $async$result;
              mergedQueries = A.NullableExtension_andThen0($async$self._async_evaluate0$_mediaQueries, new A._EvaluateVisitor_visitMediaRule_closure8($async$self, queries));
              t1 = mergedQueries == null;
              if (!t1 && J.get$isEmpty$asx(mergedQueries)) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if (t1)
                mergedSources = B.Set_empty5;
              else {
                t2 = $async$self._async_evaluate0$_mediaQuerySources;
                t2.toString;
                t2 = A.LinkedHashSet_LinkedHashSet$of(t2, type$.CssMediaQuery_2);
                t3 = $async$self._async_evaluate0$_mediaQueries;
                t3.toString;
                t2.addAll$1(0, t3);
                t2.addAll$1(0, queries);
                mergedSources = t2;
              }
              t1 = t1 ? queries : mergedQueries;
              $async$goto = 4;
              return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssMediaRule$0(t1, node.span), new A._EvaluateVisitor_visitMediaRule_closure9($async$self, mergedQueries, queries, mergedSources, node), node.hasDeclarations, new A._EvaluateVisitor_visitMediaRule_closure10(mergedSources), type$.ModifiableCssMediaRule_2, type$.Null), $async$visitMediaRule$1);
            case 4:
              // 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$visitMediaRule$1, $async$completer);
    },
    _async_evaluate0$_visitMediaQueries$1(interpolation) {
      return this._visitMediaQueries$body$_EvaluateVisitor0(interpolation);
    },
    _visitMediaQueries$body$_EvaluateVisitor0(interpolation) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_CssMediaQuery_2),
        $async$returnValue, $async$self = this, _0_0;
      var $async$_async_evaluate0$_visitMediaQueries$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolationWithMap$2$warnForColor(interpolation, true), $async$_async_evaluate0$_visitMediaQueries$1);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              $async$returnValue = A.CssMediaQuery_parseList0(_0_0._0, _0_0._1, $async$self._async_evaluate0$_logger);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_visitMediaQueries$1, $async$completer);
    },
    _async_evaluate0$_mergeMediaQueries$2(queries1, queries2) {
      var t1, t2, t3, t4, _0_0, t5, result,
        queries = A._setArrayType([], type$.JSArray_CssMediaQuery_2);
      for (t1 = J.get$iterator$ax(queries1), t2 = J.getInterceptor$ax(queries2); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        for (t4 = t2.get$iterator(queries2); t4.moveNext$0();)
          $label0$1: {
            _0_0 = t3.merge$1(t4.get$current(t4));
            if (B._SingletonCssMediaQueryMergeResult_00 === _0_0)
              continue;
            if (B._SingletonCssMediaQueryMergeResult_10 === _0_0)
              return null;
            t5 = _0_0 instanceof A.MediaQuerySuccessfulMergeResult0;
            result = t5 ? _0_0 : null;
            if (t5)
              queries.push(result.query);
            break $label0$1;
          }
      }
      return queries;
    },
    visitReturnRule$1(node) {
      return this.visitReturnRule$body$_EvaluateVisitor0(node);
    },
    visitReturnRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$visitReturnRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = node.expression;
              t2 = t1.accept$1($async$self);
              $async$goto = 3;
              return A._asyncAwait(type$.Future_Value_2._is(t2) ? t2 : A._Future$value(t2, type$.Value_2), $async$visitReturnRule$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$self._async_evaluate0$_withoutSlash$2($async$result, t1);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitReturnRule$1, $async$completer);
    },
    visitSilentComment$1(node) {
      return this.visitSilentComment$body$_EvaluateVisitor0(node);
    },
    visitSilentComment$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue;
      var $async$visitSilentComment$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitSilentComment$1, $async$completer);
    },
    visitStyleRule$1(node) {
      return this.visitStyleRule$body$_EvaluateVisitor0(node);
    },
    visitStyleRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t1, _0_0, selectorText, selectorMap, parsedSelector, nest, t2, _i, _1_0, first, t3, rule, oldAtRootExcludingStyleRule;
      var $async$visitStyleRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate0$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Style_n, node.span));
              else if ($async$self._async_evaluate0$_inKeyframes && $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent") instanceof A.ModifiableCssKeyframeBlock0)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Style_k, node.span));
              t1 = node.selector;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolationWithMap$2$warnForColor(t1, true), $async$visitStyleRule$1);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              selectorText = _0_0._0;
              selectorMap = _0_0._1;
              $async$goto = $async$self._async_evaluate0$_inKeyframes ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$0(new A.CssValue0(A.List_List$unmodifiable(A.KeyframeSelectorParser$0(selectorText, selectorMap, $async$self._async_evaluate0$_logger).parse$0(), type$.String), t1.span, type$.CssValue_List_String_2), node.span), new A._EvaluateVisitor_visitStyleRule_closure11($async$self, node), node.hasDeclarations, new A._EvaluateVisitor_visitStyleRule_closure12(), type$.ModifiableCssKeyframeBlock_2, type$.Null), $async$visitStyleRule$1);
            case 6:
              // returning from await.
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 5:
              // join
              parsedSelector = A.SelectorList_SelectorList$parse0(selectorText, true, selectorMap, $async$self._async_evaluate0$_logger, $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet").plainCss);
              t1 = $async$self._async_evaluate0$_atRootExcludingStyleRule ? null : $async$self._async_evaluate0$_styleRuleIgnoringAtRoot;
              t1 = t1 == null ? null : t1.fromPlainCss;
              nest = t1 !== true;
              if (nest) {
                if ($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet").plainCss)
                  for (t1 = parsedSelector.components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
                    _1_0 = t1[_i].leadingCombinators;
                    if (_1_0.length >= 1) {
                      first = _1_0[0];
                      t3 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet");
                      t3 = t3.plainCss;
                    } else {
                      first = null;
                      t3 = false;
                    }
                    if (t3)
                      throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Top_lel, first.span));
                  }
                t1 = $async$self._async_evaluate0$_styleRuleIgnoringAtRoot;
                t1 = t1 == null ? null : t1.originalSelector;
                parsedSelector = parsedSelector.nestWithin$3$implicitParent$preserveParentSelectors(t1, !$async$self._async_evaluate0$_atRootExcludingStyleRule, $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet").plainCss);
              }
              rule = A.ModifiableCssStyleRule$0($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__extensionStore, "_extensionStore").addSelector$2(parsedSelector, $async$self._async_evaluate0$_mediaQueries), node.span, $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet").plainCss, parsedSelector);
              oldAtRootExcludingStyleRule = $async$self._async_evaluate0$_atRootExcludingStyleRule;
              t1 = $async$self._async_evaluate0$_atRootExcludingStyleRule = false;
              t2 = nest ? new A._EvaluateVisitor_visitStyleRule_closure13() : null;
              $async$goto = 7;
              return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitStyleRule_closure14($async$self, rule, node), node.hasDeclarations, t2, type$.ModifiableCssStyleRule_2, type$.Null), $async$visitStyleRule$1);
            case 7:
              // returning from await.
              $async$self._async_evaluate0$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
              $async$self._async_evaluate0$_warnForBogusCombinators$1(rule);
              if (($async$self._async_evaluate0$_atRootExcludingStyleRule ? null : $async$self._async_evaluate0$_styleRuleIgnoringAtRoot) == null) {
                t1 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").children;
                t1 = !t1.get$isEmpty(t1);
              }
              if (t1) {
                t1 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").children;
                t1.get$last(t1).isGroupEnd = true;
              }
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitStyleRule$1, $async$completer);
    },
    _async_evaluate0$_warnForBogusCombinators$1(rule) {
      var t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, t8, t9, _this = this, _null = null;
      if (!rule.accept$1(B._IsInvisibleVisitor_false_false0))
        for (t1 = rule._style_rule0$_selector._box0$_inner.value.components, t2 = t1.length, t3 = type$.SourceSpan, t4 = type$.String, t5 = rule.children, _i = 0; _i < t2; ++_i) {
          complex = t1[_i];
          if (!complex.accept$1(B._IsBogusVisitor_true0))
            continue;
          if (complex.accept$1(B.C__IsUselessVisitor0)) {
            visitor = A._SerializeVisitor$0(_null, true, _null, true, false, _null, true);
            complex.accept$1(visitor);
            _this._async_evaluate0$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)) + string$.x22x20is_ix20, A.SpanExtensions_trimRight0(complex.span), B.Deprecation_5pG);
          } else if (complex.leadingCombinators.length !== 0) {
            if (!_this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__stylesheet, "_stylesheet").plainCss) {
              visitor = A._SerializeVisitor$0(_null, true, _null, true, false, _null, true);
              complex.accept$1(visitor);
              _this._async_evaluate0$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)) + string$.x22x20is_ix0a, A.SpanExtensions_trimRight0(complex.span), B.Deprecation_5pG);
            }
          } else {
            visitor = A._SerializeVisitor$0(_null, true, _null, true, false, _null, true);
            complex.accept$1(visitor);
            t6 = B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0));
            t7 = complex.accept$1(B._IsBogusVisitor_false0) ? string$.x20It_wi : "";
            t8 = A.SpanExtensions_trimRight0(complex.span);
            if (t5.get$length(0) === 0)
              A.throwExpression(A.IterableElementError_noElement());
            t9 = J.get$span$z(t5.$index(0, 0));
            _this._async_evaluate0$_warn$3('The selector "' + t6 + string$.x22x20is_o + t7 + string$.x0aThis_, new A.MultiSpan0(t8, "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t9, "this is not a style rule" + (t5.every$1(t5, new A._EvaluateVisitor__warnForBogusCombinators_closure2()) ? "\n(try converting to a //-style comment)" : "")], t3, t4), t3, t4)), B.Deprecation_5pG);
          }
        }
    },
    visitSupportsRule$1(node) {
      return this.visitSupportsRule$body$_EvaluateVisitor0(node);
    },
    visitSupportsRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2;
      var $async$visitSupportsRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate0$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Suppor, node.span));
              t1 = node.condition;
              $async$temp1 = A;
              $async$temp2 = A;
              $async$goto = 4;
              return A._asyncAwait($async$self._async_evaluate0$_visitSupportsCondition$1(t1), $async$visitSupportsRule$1);
            case 4:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through($async$temp1.ModifiableCssSupportsRule$0(new $async$temp2.CssValue0($async$result, t1.get$span(t1), type$.CssValue_String_2), node.span), new A._EvaluateVisitor_visitSupportsRule_closure5($async$self, node), node.hasDeclarations, new A._EvaluateVisitor_visitSupportsRule_closure6(), type$.ModifiableCssSupportsRule_2, type$.Null), $async$visitSupportsRule$1);
            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$visitSupportsRule$1, $async$completer);
    },
    _async_evaluate0$_visitSupportsCondition$1(condition) {
      return this._visitSupportsCondition$body$_EvaluateVisitor0(condition);
    },
    _visitSupportsCondition$body$_EvaluateVisitor0(condition) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, t1, _box_0, $async$temp1, $async$temp2;
      var $async$_async_evaluate0$_visitSupportsCondition$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              $async$goto = condition instanceof A.SupportsOperation0 ? 4 : 5;
              break;
            case 4:
              // then
              t1 = condition.operator;
              $async$temp1 = A;
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate0$_parenthesize$2(condition.left, t1), $async$_async_evaluate0$_visitSupportsCondition$1);
            case 6:
              // returning from await.
              $async$temp1 = $async$temp1.S($async$result) + " " + t1 + " ";
              $async$temp2 = A;
              $async$goto = 7;
              return A._asyncAwait($async$self._async_evaluate0$_parenthesize$2(condition.right, t1), $async$_async_evaluate0$_visitSupportsCondition$1);
            case 7:
              // returning from await.
              t1 = $async$temp1 + $async$temp2.S($async$result);
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 5:
              // join
              $async$goto = condition instanceof A.SupportsNegation0 ? 8 : 9;
              break;
            case 8:
              // then
              $async$temp1 = A;
              $async$goto = 10;
              return A._asyncAwait($async$self._async_evaluate0$_parenthesize$1(condition.condition), $async$_async_evaluate0$_visitSupportsCondition$1);
            case 10:
              // returning from await.
              t1 = "not " + $async$temp1.S($async$result);
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 9:
              // join
              $async$goto = condition instanceof A.SupportsInterpolation0 ? 11 : 12;
              break;
            case 11:
              // then
              $async$goto = 13;
              return A._asyncAwait($async$self._async_evaluate0$_evaluateToCss$2$quote(condition.expression, false), $async$_async_evaluate0$_visitSupportsCondition$1);
            case 13:
              // returning from await.
              t1 = $async$result;
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 12:
              // join
              _box_0.declaration = null;
              $async$goto = condition instanceof A.SupportsDeclaration0 ? 14 : 15;
              break;
            case 14:
              // then
              _box_0.declaration = condition;
              $async$goto = 16;
              return A._asyncAwait($async$self._async_evaluate0$_withSupportsDeclaration$1$1(new A._EvaluateVisitor__visitSupportsCondition_closure2(_box_0, $async$self), type$.String), $async$_async_evaluate0$_visitSupportsCondition$1);
            case 16:
              // returning from await.
              t1 = $async$result;
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 15:
              // join
              $async$goto = condition instanceof A.SupportsFunction0 ? 17 : 18;
              break;
            case 17:
              // then
              $async$temp1 = A;
              $async$goto = 19;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolation$1(condition.name), $async$_async_evaluate0$_visitSupportsCondition$1);
            case 19:
              // returning from await.
              $async$temp1 = $async$temp1.S($async$result) + "(";
              $async$temp2 = A;
              $async$goto = 20;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolation$1(condition.$arguments), $async$_async_evaluate0$_visitSupportsCondition$1);
            case 20:
              // returning from await.
              t1 = $async$temp1 + $async$temp2.S($async$result) + ")";
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 18:
              // join
              $async$goto = condition instanceof A.SupportsAnything0 ? 21 : 22;
              break;
            case 21:
              // then
              $async$temp1 = A;
              $async$goto = 23;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolation$1(condition.contents), $async$_async_evaluate0$_visitSupportsCondition$1);
            case 23:
              // returning from await.
              t1 = "(" + $async$temp1.S($async$result) + ")";
              // goto break $label0$0
              $async$goto = 3;
              break;
            case 22:
              // join
              t1 = A.throwExpression(A.ArgumentError$("Unknown supports condition type " + A.getRuntimeTypeOfDartObject(condition).toString$0(0) + ".", null));
            case 3:
              // break $label0$0
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_visitSupportsCondition$1, $async$completer);
    },
    _async_evaluate0$_withSupportsDeclaration$1$1(callback, $T) {
      return this._withSupportsDeclaration$body$_EvaluateVisitor0(callback, $T, $T);
    },
    _withSupportsDeclaration$body$_EvaluateVisitor0(callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, t1, oldInSupportsDeclaration;
      var $async$_async_evaluate0$_withSupportsDeclaration$1$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldInSupportsDeclaration = $async$self._async_evaluate0$_inSupportsDeclaration;
              $async$self._async_evaluate0$_inSupportsDeclaration = true;
              $async$handler = 3;
              t1 = callback.call$0();
              $async$goto = 6;
              return A._asyncAwait($T._eval$1("Future<0>")._is(t1) ? t1 : A._Future$value(t1, $T), $async$_async_evaluate0$_withSupportsDeclaration$1$1);
            case 6:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              $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;
              $async$self._async_evaluate0$_inSupportsDeclaration = oldInSupportsDeclaration;
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_withSupportsDeclaration$1$1, $async$completer);
    },
    _async_evaluate0$_parenthesize$2(condition, operator) {
      return this._parenthesize$body$_EvaluateVisitor0(condition, operator);
    },
    _async_evaluate0$_parenthesize$1(condition) {
      return this._async_evaluate0$_parenthesize$2(condition, null);
    },
    _parenthesize$body$_EvaluateVisitor0(condition, operator) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$_async_evaluate0$_parenthesize$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (!(condition instanceof A.SupportsNegation0))
                if (condition instanceof A.SupportsOperation0)
                  t1 = operator == null || operator !== condition.operator;
                else
                  t1 = false;
              else
                t1 = true;
              $async$goto = t1 ? 3 : 4;
              break;
            case 3:
              // then
              $async$temp1 = A;
              $async$goto = 5;
              return A._asyncAwait($async$self._async_evaluate0$_visitSupportsCondition$1(condition), $async$_async_evaluate0$_parenthesize$2);
            case 5:
              // returning from await.
              $async$returnValue = "(" + $async$temp1.S($async$result) + ")";
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate0$_visitSupportsCondition$1(condition), $async$_async_evaluate0$_parenthesize$2);
            case 6:
              // 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$_async_evaluate0$_parenthesize$2, $async$completer);
    },
    visitVariableDeclaration$1(node) {
      return this.visitVariableDeclaration$body$_EvaluateVisitor0(node);
    },
    visitVariableDeclaration$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t2, value, t1, $async$temp1, $async$temp2, $async$temp3;
      var $async$visitVariableDeclaration$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              if (node.isGuarded) {
                if (node.namespace == null && $async$self._async_evaluate0$_environment._async_environment0$_variables.length === 1) {
                  t2 = $async$self._async_evaluate0$_configuration._configuration0$_values;
                  t2 = t2.get$isEmpty(t2) ? null : t2.remove$1(0, node.name);
                  t1.override = null;
                  if (t2 != null) {
                    t1.override = t2;
                    t2 = !t2.value.$eq(0, B.C__SassNull0);
                  } else
                    t2 = false;
                  if (t2) {
                    $async$self._async_evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableDeclaration_closure8(t1, $async$self, node));
                    $async$returnValue = null;
                    // goto return
                    $async$goto = 1;
                    break;
                  }
                }
                value = $async$self._async_evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableDeclaration_closure9($async$self, node));
                if (value != null && !value.$eq(0, B.C__SassNull0)) {
                  $async$returnValue = null;
                  // goto return
                  $async$goto = 1;
                  break;
                }
              }
              if (node.isGlobal && !$async$self._async_evaluate0$_environment.globalVariableExists$1(node.name)) {
                t1 = $async$self._async_evaluate0$_environment._async_environment0$_variables.length === 1 ? string$.As_of_S : string$.As_of_R + A.declarationName0(node.span) + ": null` at the stylesheet root.";
                $async$self._async_evaluate0$_warn$3(t1, node.span, B.Deprecation_W6Z);
              }
              t1 = node.expression;
              t2 = t1.accept$1($async$self);
              $async$temp1 = node;
              $async$temp2 = A;
              $async$temp3 = node;
              $async$goto = 3;
              return A._asyncAwait(type$.Future_Value_2._is(t2) ? t2 : A._Future$value(t2, type$.Value_2), $async$visitVariableDeclaration$1);
            case 3:
              // returning from await.
              $async$self._async_evaluate0$_addExceptionSpan$2($async$temp1, new $async$temp2._EvaluateVisitor_visitVariableDeclaration_closure10($async$self, $async$temp3, $async$self._async_evaluate0$_withoutSlash$2($async$result, t1)));
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitVariableDeclaration$1, $async$completer);
    },
    visitUseRule$1(node) {
      return this.visitUseRule$body$_EvaluateVisitor0(node);
    },
    visitUseRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, values, t3, t4, _i, variable, t5, variableNodeWithSpan, t6, t7, configuration, t1, t2, $async$temp1, $async$temp2, $async$temp3;
      var $async$visitUseRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = node.configuration;
              t2 = t1.length;
              $async$goto = t2 !== 0 ? 3 : 5;
              break;
            case 3:
              // then
              values = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ConfiguredValue_2);
              t3 = type$._Future_Value_2, t4 = type$.Future_Value_2, _i = 0;
            case 6:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 8;
                break;
              }
              variable = t1[_i];
              t5 = variable.expression;
              variableNodeWithSpan = $async$self._async_evaluate0$_expressionNode$1(t5);
              t6 = variable.name;
              t5 = t5.accept$1($async$self);
              if (!t4._is(t5)) {
                t7 = new A._Future($.Zone__current, t3);
                t7._state = 8;
                t7._resultOrListeners = t5;
                t5 = t7;
              }
              $async$temp1 = values;
              $async$temp2 = t6;
              $async$temp3 = A;
              $async$goto = 9;
              return A._asyncAwait(t5, $async$visitUseRule$1);
            case 9:
              // returning from await.
              $async$temp1.$indexSet(0, $async$temp2, new $async$temp3.ConfiguredValue0($async$self._async_evaluate0$_withoutSlash$2($async$result, variableNodeWithSpan), variable.span, variableNodeWithSpan));
            case 7:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 6;
              break;
            case 8:
              // after for
              configuration = new A.ExplicitConfiguration0(node, values, null);
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              configuration = B.Configuration_Map_empty_null0;
            case 4:
              // join
              $async$goto = 10;
              return A._asyncAwait($async$self._async_evaluate0$_loadModule$5$configuration(node.url, "@use", node, new A._EvaluateVisitor_visitUseRule_closure2($async$self, node), configuration), $async$visitUseRule$1);
            case 10:
              // returning from await.
              $async$self._async_evaluate0$_assertConfigurationIsEmpty$1(configuration);
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitUseRule$1, $async$completer);
    },
    visitWarnRule$1(node) {
      return this.visitWarnRule$body$_EvaluateVisitor0(node);
    },
    visitWarnRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, value, t1;
      var $async$visitWarnRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_addExceptionSpanAsync$1$2(node, new A._EvaluateVisitor_visitWarnRule_closure2($async$self, node), type$.Value_2), $async$visitWarnRule$1);
            case 3:
              // returning from await.
              value = $async$result;
              t1 = value instanceof A.SassString0 ? value._string0$_text : $async$self._async_evaluate0$_serialize$2(value, node.expression);
              $async$self._async_evaluate0$_logger.warn$2$trace(0, t1, $async$self._async_evaluate0$_stackTrace$1(node.span));
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitWarnRule$1, $async$completer);
    },
    visitWhileRule$1(node) {
      return this._async_evaluate0$_environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitWhileRule_closure2(this, node), true, node.hasDeclarations, type$.nullable_Value_2);
    },
    visitBinaryOperationExpression$1(node) {
      var t1, _this = this;
      if (_this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__stylesheet, "_stylesheet").plainCss) {
        t1 = node.operator;
        t1 = t1 !== B.BinaryOperator_wdM0 && t1 !== B.BinaryOperator_U770;
      } else
        t1 = false;
      if (t1)
        throw A.wrapException(_this._async_evaluate0$_exception$2("Operators aren't allowed in plain CSS.", node.get$operatorSpan()));
      return _this._async_evaluate0$_addExceptionSpanAsync$1$2(node, new A._EvaluateVisitor_visitBinaryOperationExpression_closure2(_this, node), type$.Value_2);
    },
    _async_evaluate0$_slash$3(left, right, node) {
      var t1, right0, _1_2, _1_1, _null = null,
        result = left.dividedBy$1(right),
        _1_2_isSet = left instanceof A.SassNumber0;
      if (_1_2_isSet) {
        t1 = type$.SassNumber_2;
        t1._as(left);
        if (right instanceof A.SassNumber0) {
          t1._as(right);
          t1 = node.allowsSlash && this._async_evaluate0$_operandAllowsSlash$1(node.left) && this._async_evaluate0$_operandAllowsSlash$1(node.right);
          right0 = right;
          _1_2 = right0;
        } else {
          right0 = _null;
          _1_2 = right;
          t1 = false;
        }
        _1_1 = left;
      } else {
        right0 = _null;
        _1_2 = right0;
        _1_1 = left;
        left = _1_2;
        t1 = false;
      }
      if (t1)
        return type$.SassNumber_2._as(result).withSlash$2(left, right0);
      if (_1_1 instanceof A.SassNumber0)
        t1 = (_1_2_isSet ? _1_2 : right) instanceof A.SassNumber0;
      else
        t1 = false;
      if (t1) {
        this._async_evaluate0$_warn$3(string$.Using__o + A.S(new A._EvaluateVisitor__slash_recommendation2().call$1(node)) + " or " + A.expressionToCalc0(node).toString$0(0) + string$.x0a_Morex20, node.get$span(0), B.Deprecation_E8a);
        return result;
      }
      return result;
    },
    _async_evaluate0$_operandAllowsSlash$1(node) {
      var t1;
      if (node instanceof A.FunctionExpression0)
        if (node.namespace == null) {
          t1 = node.name;
          t1 = B.Set_yHF81.contains$1(0, t1.toLowerCase()) && this._async_evaluate0$_environment.getFunction$1(t1) == null;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    visitValueExpression$1(node) {
      return this.visitValueExpression$body$_EvaluateVisitor0(node);
    },
    visitValueExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue;
      var $async$visitValueExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = node.value;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitValueExpression$1, $async$completer);
    },
    visitVariableExpression$1(node) {
      return this.visitVariableExpression$body$_EvaluateVisitor0(node);
    },
    visitVariableExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, result;
      var $async$visitVariableExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              result = $async$self._async_evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableExpression_closure2($async$self, node));
              if (result != null) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              throw A.wrapException($async$self._async_evaluate0$_exception$2("Undefined variable.", node.span));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitVariableExpression$1, $async$completer);
    },
    visitUnaryOperationExpression$1(node) {
      return this.visitUnaryOperationExpression$body$_EvaluateVisitor0(node);
    },
    visitUnaryOperationExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, $async$temp1, $async$temp2, $async$temp3;
      var $async$visitUnaryOperationExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = node;
              $async$temp2 = A;
              $async$temp3 = node;
              $async$goto = 3;
              return A._asyncAwait(node.operand.accept$1($async$self), $async$visitUnaryOperationExpression$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$self._async_evaluate0$_addExceptionSpan$2($async$temp1, new $async$temp2._EvaluateVisitor_visitUnaryOperationExpression_closure2($async$temp3, $async$result));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitUnaryOperationExpression$1, $async$completer);
    },
    visitBooleanExpression$1(node) {
      return this.visitBooleanExpression$body$_EvaluateVisitor0(node);
    },
    visitBooleanExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassBoolean_2),
        $async$returnValue;
      var $async$visitBooleanExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = node.value ? B.SassBoolean_true0 : B.SassBoolean_false0;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitBooleanExpression$1, $async$completer);
    },
    visitIfExpression$1(node) {
      return this.visitIfExpression$body$_EvaluateVisitor0(node);
    },
    visitIfExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, condition, t1, ifTrue, ifFalse, result, _0_0, positional, named;
      var $async$visitIfExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_evaluateMacroArguments$1(node), $async$visitIfExpression$1);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              positional = _0_0._0;
              named = _0_0._1;
              $async$self._async_evaluate0$_verifyArguments$4(J.get$length$asx(positional), named, $.$get$IfExpression_declaration0(), node);
              condition = A.ListExtensions_elementAtOrNull(positional, 0);
              if (condition == null) {
                t1 = named.$index(0, "condition");
                t1.toString;
                condition = t1;
              }
              ifTrue = A.ListExtensions_elementAtOrNull(positional, 1);
              if (ifTrue == null) {
                t1 = named.$index(0, "if-true");
                t1.toString;
                ifTrue = t1;
              }
              ifFalse = A.ListExtensions_elementAtOrNull(positional, 2);
              if (ifFalse == null) {
                t1 = named.$index(0, "if-false");
                t1.toString;
                ifFalse = t1;
              }
              $async$goto = 4;
              return A._asyncAwait(condition.accept$1($async$self), $async$visitIfExpression$1);
            case 4:
              // returning from await.
              result = $async$result.get$isTruthy() ? ifTrue : ifFalse;
              t1 = result.accept$1($async$self);
              $async$goto = 5;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$visitIfExpression$1);
            case 5:
              // returning from await.
              $async$returnValue = $async$self._async_evaluate0$_withoutSlash$2($async$result, $async$self._async_evaluate0$_expressionNode$1(result));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitIfExpression$1, $async$completer);
    },
    visitNullExpression$1(node) {
      return this.visitNullExpression$body$_EvaluateVisitor0(node);
    },
    visitNullExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue;
      var $async$visitNullExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = B.C__SassNull0;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitNullExpression$1, $async$completer);
    },
    visitNumberExpression$1(node) {
      return this.visitNumberExpression$body$_EvaluateVisitor0(node);
    },
    visitNumberExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassNumber_2),
        $async$returnValue;
      var $async$visitNumberExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = A.SassNumber_SassNumber0(node.value, node.unit);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitNumberExpression$1, $async$completer);
    },
    visitParenthesizedExpression$1(node) {
      var _this = this;
      return _this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__stylesheet, "_stylesheet").plainCss ? A.throwExpression(_this._async_evaluate0$_exception$2("Parentheses aren't allowed in plain CSS.", node.span)) : node.expression.accept$1(_this);
    },
    visitColorExpression$1(node) {
      return this.visitColorExpression$body$_EvaluateVisitor0(node);
    },
    visitColorExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassColor_2),
        $async$returnValue;
      var $async$visitColorExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = node.value;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitColorExpression$1, $async$completer);
    },
    visitListExpression$1(node) {
      return this.visitListExpression$body$_EvaluateVisitor0(node);
    },
    visitListExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassList_2),
        $async$returnValue, $async$self = this, $async$temp1;
      var $async$visitListExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = A;
              $async$goto = 3;
              return A._asyncAwait(A.mapAsync0(node.contents, new A._EvaluateVisitor_visitListExpression_closure2($async$self), type$.Expression_2, type$.Value_2), $async$visitListExpression$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1.SassList$0($async$result, node.separator, node.hasBrackets);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitListExpression$1, $async$completer);
    },
    visitMapExpression$1(node) {
      return this.visitMapExpression$body$_EvaluateVisitor0(node);
    },
    visitMapExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassMap_2),
        $async$returnValue, $async$self = this, t2, t3, _i, t4, key, value, keyValue, valueValue, oldValueSpan, t1, map, keyNodes;
      var $async$visitMapExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = type$.Value_2;
              map = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
              keyNodes = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AstNode_2);
              t2 = node.pairs, t3 = t2.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              t4 = t2[_i];
              key = t4._0;
              value = t4._1;
              $async$goto = 6;
              return A._asyncAwait(key.accept$1($async$self), $async$visitMapExpression$1);
            case 6:
              // returning from await.
              keyValue = $async$result;
              $async$goto = 7;
              return A._asyncAwait(value.accept$1($async$self), $async$visitMapExpression$1);
            case 7:
              // returning from await.
              valueValue = $async$result;
              if (map.containsKey$1(keyValue)) {
                t1 = keyNodes.$index(0, keyValue);
                oldValueSpan = t1 == null ? null : t1.get$span(t1);
                t1 = key.get$span(key);
                t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
                if (oldValueSpan != null)
                  t2.$indexSet(0, oldValueSpan, "first key");
                throw A.wrapException(A.MultiSpanSassRuntimeException$0("Duplicate key.", t1, "second key", t2, $async$self._async_evaluate0$_stackTrace$1(key.get$span(key)), null));
              }
              map.$indexSet(0, keyValue, valueValue);
              keyNodes.$indexSet(0, keyValue, key);
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = new A.SassMap0(A.ConstantMap_ConstantMap$from(map, t1, t1));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitMapExpression$1, $async$completer);
    },
    visitFunctionExpression$1(node) {
      return this.visitFunctionExpression$body$_EvaluateVisitor0(node);
    },
    visitFunctionExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, t2, _0_0, t3, t4, oldInFunction, result, t1, $function;
      var $async$visitFunctionExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              $function = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet").plainCss ? null : $async$self._async_evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitFunctionExpression_closure8($async$self, node));
              t1.$function = $function;
              $async$goto = $function == null ? 3 : 5;
              break;
            case 3:
              // then
              if (node.namespace != null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2("Undefined function.", node.span));
              t2 = node.name;
              _0_0 = t2.toLowerCase();
              if ("min" === _0_0 || "max" === _0_0 || "round" === _0_0 || "abs" === _0_0) {
                t3 = node.$arguments;
                t4 = t3.named;
                t3 = t4.get$isEmpty(t4) && t3.rest == null && B.JSArray_methods.every$1(t3.positional, new A._EvaluateVisitor_visitFunctionExpression_closure9());
              } else
                t3 = false;
              $async$goto = t3 ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return A._asyncAwait($async$self._async_evaluate0$_visitCalculation$2$inLegacySassFunction(node, true), $async$visitFunctionExpression$1);
            case 8:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 7:
              // join
              $async$goto = "calc" === _0_0 || "clamp" === _0_0 || "hypot" === _0_0 || "sin" === _0_0 || "cos" === _0_0 || "tan" === _0_0 || "asin" === _0_0 || "acos" === _0_0 || "atan" === _0_0 || "sqrt" === _0_0 || "exp" === _0_0 || "sign" === _0_0 || "mod" === _0_0 || "rem" === _0_0 || "atan2" === _0_0 || "pow" === _0_0 || "log" === _0_0 ? 9 : 10;
              break;
            case 9:
              // then
              $async$goto = 11;
              return A._asyncAwait($async$self._async_evaluate0$_visitCalculation$1(node), $async$visitFunctionExpression$1);
            case 11:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 10:
              // join
              $function = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet").plainCss ? null : $async$self._async_evaluate0$_builtInFunctions.$index(0, t2);
              t2 = t1.$function = $function == null ? new A.PlainCssCallable0(node.originalName) : $function;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              t2 = $function;
            case 4:
              // join
              if (B.JSString_methods.startsWith$1(node.originalName, "--") && t2 instanceof A.UserDefinedCallable0 && !B.JSString_methods.startsWith$1(t2.declaration.originalName, "--"))
                $async$self._async_evaluate0$_warn$3(string$.Sassx20_ff, node.get$nameSpan(), B.Deprecation_qBS);
              oldInFunction = $async$self._async_evaluate0$_inFunction;
              $async$self._async_evaluate0$_inFunction = true;
              $async$goto = 12;
              return A._asyncAwait($async$self._async_evaluate0$_addErrorSpan$1$2(node, new A._EvaluateVisitor_visitFunctionExpression_closure10(t1, $async$self, node), type$.Value_2), $async$visitFunctionExpression$1);
            case 12:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate0$_inFunction = oldInFunction;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitFunctionExpression$1, $async$completer);
    },
    _async_evaluate0$_visitCalculation$2$inLegacySassFunction(node, inLegacySassFunction) {
      return this._visitCalculation$body$_EvaluateVisitor0(node, inLegacySassFunction);
    },
    _async_evaluate0$_visitCalculation$1(node) {
      return this._async_evaluate0$_visitCalculation$2$inLegacySassFunction(node, false);
    },
    _visitCalculation$body$_EvaluateVisitor0(node, inLegacySassFunction) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$next = [], $async$self = this, $arguments, oldCallableNode, t1, _0_0, error, stackTrace, t4, _i, exception, t2, t3, $async$temp1;
      var $async$_async_evaluate0$_visitCalculation$2$inLegacySassFunction = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t2 = node.$arguments;
              t3 = t2.named;
              if (t3.get$isNotEmpty(t3))
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Keywor, node.span));
              else if (t2.rest != null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Rest_a, node.span));
              $async$self._async_evaluate0$_checkCalculationArguments$1(node);
              t3 = A._setArrayType([], type$.JSArray_Object);
              t2 = t2.positional, t4 = t2.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t4)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$temp1 = t3;
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction(t2[_i], inLegacySassFunction), $async$_async_evaluate0$_visitCalculation$2$inLegacySassFunction);
            case 6:
              // returning from await.
              $async$temp1.push($async$result);
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $arguments = t3;
              if ($async$self._async_evaluate0$_inSupportsDeclaration) {
                $async$returnValue = new A.SassCalculation0(node.name, A.List_List$unmodifiable($arguments, type$.Object));
                // goto return
                $async$goto = 1;
                break;
              }
              oldCallableNode = $async$self._async_evaluate0$_callableNode;
              $async$self._async_evaluate0$_callableNode = node;
              try {
                t1 = null;
                t3 = node.name;
                _0_0 = t3.toLowerCase();
                $label0$0: {
                  if ("calc" === _0_0) {
                    t1 = A.SassCalculation_calc0(J.$index$asx($arguments, 0));
                    break $label0$0;
                  }
                  if ("sqrt" === _0_0) {
                    t1 = A.SassCalculation__singleArgument0("sqrt", J.$index$asx($arguments, 0), A.number2__sqrt$closure(), true);
                    break $label0$0;
                  }
                  if ("sin" === _0_0) {
                    t1 = A.SassCalculation__singleArgument0("sin", J.$index$asx($arguments, 0), A.number2__sin$closure(), false);
                    break $label0$0;
                  }
                  if ("cos" === _0_0) {
                    t1 = A.SassCalculation__singleArgument0("cos", J.$index$asx($arguments, 0), A.number2__cos$closure(), false);
                    break $label0$0;
                  }
                  if ("tan" === _0_0) {
                    t1 = A.SassCalculation__singleArgument0("tan", J.$index$asx($arguments, 0), A.number2__tan$closure(), false);
                    break $label0$0;
                  }
                  if ("asin" === _0_0) {
                    t1 = A.SassCalculation__singleArgument0("asin", J.$index$asx($arguments, 0), A.number2__asin$closure(), true);
                    break $label0$0;
                  }
                  if ("acos" === _0_0) {
                    t1 = A.SassCalculation__singleArgument0("acos", J.$index$asx($arguments, 0), A.number2__acos$closure(), true);
                    break $label0$0;
                  }
                  if ("atan" === _0_0) {
                    t1 = A.SassCalculation__singleArgument0("atan", J.$index$asx($arguments, 0), A.number2__atan$closure(), true);
                    break $label0$0;
                  }
                  if ("abs" === _0_0) {
                    t1 = A.SassCalculation_abs0(J.$index$asx($arguments, 0));
                    break $label0$0;
                  }
                  if ("exp" === _0_0) {
                    t1 = A.SassCalculation_exp0(J.$index$asx($arguments, 0));
                    break $label0$0;
                  }
                  if ("sign" === _0_0) {
                    t1 = A.SassCalculation_sign0(J.$index$asx($arguments, 0));
                    break $label0$0;
                  }
                  if ("min" === _0_0) {
                    t1 = A.SassCalculation_min0($arguments);
                    break $label0$0;
                  }
                  if ("max" === _0_0) {
                    t1 = A.SassCalculation_max0($arguments);
                    break $label0$0;
                  }
                  if ("hypot" === _0_0) {
                    t1 = A.SassCalculation_hypot0($arguments);
                    break $label0$0;
                  }
                  if ("pow" === _0_0) {
                    t1 = A.SassCalculation_pow0(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
                    break $label0$0;
                  }
                  if ("atan2" === _0_0) {
                    t1 = A.SassCalculation_atan20(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
                    break $label0$0;
                  }
                  if ("log" === _0_0) {
                    t1 = A.SassCalculation_log0(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
                    break $label0$0;
                  }
                  if ("mod" === _0_0) {
                    t1 = A.SassCalculation_mod0(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
                    break $label0$0;
                  }
                  if ("rem" === _0_0) {
                    t1 = A.SassCalculation_rem0(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
                    break $label0$0;
                  }
                  if ("round" === _0_0) {
                    t1 = A.SassCalculation_round0(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1), A.ListExtensions_elementAtOrNull($arguments, 2));
                    break $label0$0;
                  }
                  if ("clamp" === _0_0) {
                    t1 = A.SassCalculation_clamp0(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1), A.ListExtensions_elementAtOrNull($arguments, 2));
                    break $label0$0;
                  }
                  t3 = A.UnsupportedError$('Unknown calculation name "' + t3 + '".');
                  t1 = A.throwExpression(t3);
                }
                t1 = t1;
                $async$returnValue = t1;
                // goto return
                $async$goto = 1;
                break;
              } catch (exception) {
                t1 = A.unwrapException(exception);
                if (t1 instanceof A.SassScriptException0) {
                  error = t1;
                  stackTrace = A.getTraceFromException(exception);
                  if (B.JSString_methods.contains$1(error.message, "compatible"))
                    $async$self._async_evaluate0$_verifyCompatibleNumbers$2($arguments, t2);
                  A.throwWithTrace0($async$self._async_evaluate0$_exception$2(error.message, node.span), error, stackTrace);
                } else
                  throw exception;
              } finally {
                $async$self._async_evaluate0$_callableNode = oldCallableNode;
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_visitCalculation$2$inLegacySassFunction, $async$completer);
    },
    _async_evaluate0$_checkCalculationArguments$1(node) {
      var t1, _0_0,
        check = new A._EvaluateVisitor__checkCalculationArguments_check2(this, node);
      $label0$0: {
        t1 = node.name;
        _0_0 = t1.toLowerCase();
        if ("calc" === _0_0 || "sqrt" === _0_0 || "sin" === _0_0 || "cos" === _0_0 || "tan" === _0_0 || "asin" === _0_0 || "acos" === _0_0 || "atan" === _0_0 || "abs" === _0_0 || "exp" === _0_0 || "sign" === _0_0) {
          check.call$1(1);
          break $label0$0;
        }
        if ("min" === _0_0 || "max" === _0_0 || "hypot" === _0_0) {
          check.call$0();
          break $label0$0;
        }
        if ("pow" === _0_0 || "atan2" === _0_0 || "log" === _0_0 || "mod" === _0_0 || "rem" === _0_0) {
          check.call$1(2);
          break $label0$0;
        }
        if ("round" === _0_0 || "clamp" === _0_0) {
          check.call$1(3);
          break $label0$0;
        }
        throw A.wrapException(A.UnsupportedError$('Unknown calculation name "' + t1 + '".'));
      }
    },
    _async_evaluate0$_verifyCompatibleNumbers$2(args, nodesWithSpans) {
      var i, t1, _0_0, arg, number1, j, number2;
      for (i = 0; t1 = args.length, i < t1; ++i) {
        _0_0 = args[i];
        if (_0_0 instanceof A.SassNumber0) {
          t1 = _0_0.get$hasComplexUnits();
          arg = _0_0;
        } else {
          arg = null;
          t1 = false;
        }
        if (t1)
          throw A.wrapException(this._async_evaluate0$_exception$2("Number " + A.S(arg) + " isn't compatible with CSS calculations.", J.get$span$z(nodesWithSpans[i])));
      }
      for (i = 0; i < t1 - 1; ++i) {
        number1 = args[i];
        if (!(number1 instanceof A.SassNumber0))
          continue;
        for (j = i + 1; t1 = args.length, j < t1; ++j) {
          number2 = args[j];
          if (!(number2 instanceof A.SassNumber0))
            continue;
          if (number1.hasPossiblyCompatibleUnits$1(number2))
            continue;
          throw A.wrapException(A.MultiSpanSassRuntimeException$0(number1.toString$0(0) + " and " + number2.toString$0(0) + " are incompatible.", J.get$span$z(nodesWithSpans[i]), number1.toString$0(0), A.LinkedHashMap_LinkedHashMap$_literal([J.get$span$z(nodesWithSpans[j]), number2.toString$0(0)], type$.FileSpan, type$.String), this._async_evaluate0$_stackTrace$1(J.get$span$z(nodesWithSpans[i])), null));
        }
      }
    },
    _async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction(node, inLegacySassFunction) {
      return this._visitCalculationExpression$body$_EvaluateVisitor0(node, inLegacySassFunction);
    },
    _visitCalculationExpression$body$_EvaluateVisitor0(node, inLegacySassFunction) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Object),
        $async$returnValue, $async$self = this, result, t2, _0_0, _1_0, t3, _i, i, _box_0, t1, inner, $async$temp1;
      var $async$_async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              t1 = node instanceof A.ParenthesizedExpression0;
              inner = t1 ? node.expression : null;
              $async$goto = t1 ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait($async$self._async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction(inner, inLegacySassFunction), $async$_async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction);
            case 5:
              // returning from await.
              result = $async$result;
              $async$returnValue = result instanceof A.SassString0 ? new A.SassString0("(" + result._string0$_text + ")", false) : result;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              $async$goto = node instanceof A.StringExpression0 && node.accept$1(new A._IsCalculationSafeVisitor0()) ? 6 : 7;
              break;
            case 6:
              // then
              t1 = node.text;
              t2 = t1.get$asPlain();
              _0_0 = t2 == null ? null : t2.toLowerCase();
              if ("pi" === _0_0) {
                t1 = A.SassNumber_SassNumber0(3.141592653589793, null);
                // goto break $label0$0
                $async$goto = 8;
                break;
              }
              if ("e" === _0_0) {
                t1 = A.SassNumber_SassNumber0(2.718281828459045, null);
                // goto break $label0$0
                $async$goto = 8;
                break;
              }
              if ("infinity" === _0_0) {
                t1 = A.SassNumber_SassNumber0(1 / 0, null);
                // goto break $label0$0
                $async$goto = 8;
                break;
              }
              if ("-infinity" === _0_0) {
                t1 = A.SassNumber_SassNumber0(-1 / 0, null);
                // goto break $label0$0
                $async$goto = 8;
                break;
              }
              if ("nan" === _0_0) {
                t1 = A.SassNumber_SassNumber0(0 / 0, null);
                // goto break $label0$0
                $async$goto = 8;
                break;
              }
              $async$temp1 = A;
              $async$goto = 9;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolation$1(t1), $async$_async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction);
            case 9:
              // returning from await.
              t1 = new $async$temp1.SassString0($async$result, false);
              // goto break $label0$0
              $async$goto = 8;
              break;
            case 8:
              // break $label0$0
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 7:
              // join
              _box_0.right = _box_0.left = _box_0.operator = null;
              t1 = node instanceof A.BinaryOperationExpression0;
              if (t1) {
                _box_0.operator = node.operator;
                _box_0.left = node.left;
                _box_0.right = node.right;
              }
              $async$goto = t1 ? 10 : 11;
              break;
            case 10:
              // then
              $async$self._async_evaluate0$_checkWhitespaceAroundCalculationOperator$1(node);
              $async$goto = 12;
              return A._asyncAwait($async$self._async_evaluate0$_addExceptionSpanAsync$1$2(node, new A._EvaluateVisitor__visitCalculationExpression_closure2(_box_0, $async$self, node, inLegacySassFunction), type$.Object), $async$_async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction);
            case 12:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 11:
              // join
              $async$goto = node instanceof A.NumberExpression0 || node instanceof A.VariableExpression0 || node instanceof A.FunctionExpression0 || node instanceof A.IfExpression0 ? 13 : 14;
              break;
            case 13:
              // then
              $async$goto = 15;
              return A._asyncAwait(node.accept$1($async$self), $async$_async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction);
            case 15:
              // returning from await.
              _1_0 = $async$result;
              $label1$1: {
                if (_1_0 instanceof A.SassNumber0) {
                  t1 = _1_0;
                  break $label1$1;
                }
                if (_1_0 instanceof A.SassCalculation0) {
                  t1 = _1_0;
                  break $label1$1;
                }
                if (_1_0 instanceof A.SassString0) {
                  t1 = !_1_0._string0$_hasQuotes;
                  result = _1_0;
                } else {
                  result = null;
                  t1 = false;
                }
                if (t1) {
                  t1 = result;
                  break $label1$1;
                }
                t1 = A.throwExpression($async$self._async_evaluate0$_exception$2("Value " + _1_0.toString$0(0) + " can't be used in a calculation.", node.get$span(node)));
              }
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 14:
              // join
              $async$goto = node instanceof A.ListExpression0 && !node.hasBrackets && B.ListSeparator_nbm0 === node.separator && node.contents.length >= 2 ? 16 : 17;
              break;
            case 16:
              // then
              t1 = A._setArrayType([], type$.JSArray_Object);
              t2 = node.contents, t3 = t2.length, _i = 0;
            case 18:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 20;
                break;
              }
              $async$temp1 = t1;
              $async$goto = 21;
              return A._asyncAwait($async$self._async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction(t2[_i], inLegacySassFunction), $async$_async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction);
            case 21:
              // returning from await.
              $async$temp1.push($async$result);
            case 19:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 18;
              break;
            case 20:
              // after for
              $async$self._async_evaluate0$_checkAdjacentCalculationValues$2(t1, node);
              for (i = 0; i < t1.length; ++i) {
                t3 = t1[i];
                if (t3 instanceof A.CalculationOperation0 && t2[i] instanceof A.ParenthesizedExpression0)
                  t1[i] = new A.SassString0("(" + A.S(t3) + ")", false);
              }
              $async$returnValue = new A.SassString0(B.JSArray_methods.join$1(t1, " "), false);
              // goto return
              $async$goto = 1;
              break;
            case 17:
              // join
              throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.This_e, node.get$span(node)));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction, $async$completer);
    },
    _async_evaluate0$_checkWhitespaceAroundCalculationOperator$1(node) {
      var t2, t3, t4, textBetweenOperands, first, last,
        t1 = node.operator;
      if (t1 !== B.BinaryOperator_u150 && t1 !== B.BinaryOperator_SjO0)
        return;
      t1 = node.left;
      t2 = t1.get$span(t1);
      t2 = t2.get$file(t2);
      t3 = node.right;
      t4 = t3.get$span(t3);
      if (t2 !== t4.get$file(t4))
        return;
      t2 = t1.get$span(t1);
      t2 = t2.get$end(t2);
      t4 = t3.get$span(t3);
      if (t2.offset >= t4.get$start(t4).offset)
        return;
      t2 = t1.get$span(t1);
      t2 = t2.get$file(t2);
      t1 = t1.get$span(t1);
      t1 = t1.get$end(t1);
      t3 = t3.get$span(t3);
      textBetweenOperands = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2._decodedChars, t1.offset, t3.get$start(t3).offset), 0, null);
      first = textBetweenOperands.charCodeAt(0);
      last = textBetweenOperands.charCodeAt(textBetweenOperands.length - 1);
      if (first === 32 || first === 9 || first === 10 || first === 13 || first === 12 || first === 47)
        t1 = !(last === 32 || last === 9 || last === 10 || last === 13 || last === 12 || last === 47);
      else
        t1 = true;
      if (t1)
        throw A.wrapException(this._async_evaluate0$_exception$2(string$.x22x2b__an, node.get$operatorSpan()));
    },
    _async_evaluate0$_binaryOperatorToCalculationOperator$2(operator, node) {
      var t1;
      $label0$0: {
        if (B.BinaryOperator_u150 === operator) {
          t1 = B.CalculationOperator_g2q0;
          break $label0$0;
        }
        if (B.BinaryOperator_SjO0 === operator) {
          t1 = B.CalculationOperator_CxF0;
          break $label0$0;
        }
        if (B.BinaryOperator_2No0 === operator) {
          t1 = B.CalculationOperator_1710;
          break $label0$0;
        }
        if (B.BinaryOperator_U770 === operator) {
          t1 = B.CalculationOperator_Qf10;
          break $label0$0;
        }
        t1 = A.throwExpression(this._async_evaluate0$_exception$2(string$.This_o, node.get$operatorSpan()));
      }
      return t1;
    },
    _async_evaluate0$_checkAdjacentCalculationValues$2(elements, node) {
      var t1, i, t2, previous, current, previousNode, currentNode, _0_2;
      for (t1 = elements.length, i = 1; i < t1; ++i) {
        t2 = i - 1;
        previous = elements[t2];
        current = elements[i];
        if (previous instanceof A.SassString0 || current instanceof A.SassString0)
          continue;
        t1 = node.contents;
        previousNode = t1[t2];
        currentNode = t1[i];
        if (currentNode instanceof A.UnaryOperationExpression0) {
          _0_2 = currentNode.operator;
          if (B.UnaryOperator_AiQ0 !== _0_2)
            t1 = B.UnaryOperator_cLp0 === _0_2;
          else
            t1 = true;
        } else
          t1 = false;
        if (!t1)
          t1 = currentNode instanceof A.NumberExpression0 && currentNode.value < 0;
        else
          t1 = true;
        if (t1)
          throw A.wrapException(this._async_evaluate0$_exception$2(string$.x22x2b__an, A.FileSpanExtension_subspan(currentNode.get$span(currentNode), 0, 1)));
        else
          throw A.wrapException(this._async_evaluate0$_exception$2("Missing math operator.", previousNode.get$span(previousNode).expand$1(0, currentNode.get$span(currentNode))));
      }
    },
    visitInterpolatedFunctionExpression$1(node) {
      return this.visitInterpolatedFunctionExpression$body$_EvaluateVisitor0(node);
    },
    visitInterpolatedFunctionExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, result, t1, oldInFunction;
      var $async$visitInterpolatedFunctionExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolation$1(node.name), $async$visitInterpolatedFunctionExpression$1);
            case 3:
              // returning from await.
              t1 = $async$result;
              oldInFunction = $async$self._async_evaluate0$_inFunction;
              $async$self._async_evaluate0$_inFunction = true;
              $async$goto = 4;
              return A._asyncAwait($async$self._async_evaluate0$_addErrorSpan$1$2(node, new A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure2($async$self, node, new A.PlainCssCallable0(t1)), type$.Value_2), $async$visitInterpolatedFunctionExpression$1);
            case 4:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate0$_inFunction = oldInFunction;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitInterpolatedFunctionExpression$1, $async$completer);
    },
    _async_evaluate0$_runUserDefinedCallable$1$4($arguments, callable, nodeWithSpan, run, $V) {
      return this._runUserDefinedCallable$body$_EvaluateVisitor0($arguments, callable, nodeWithSpan, run, $V, $V);
    },
    _runUserDefinedCallable$body$_EvaluateVisitor0($arguments, callable, nodeWithSpan, run, $V, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, oldCallable, result, evaluated, $name;
      var $async$_async_evaluate0$_runUserDefinedCallable$1$4 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_evaluateArguments$1($arguments), $async$_async_evaluate0$_runUserDefinedCallable$1$4);
            case 3:
              // returning from await.
              evaluated = $async$result;
              $name = callable.declaration.name;
              if ($name !== "@content")
                $name += "()";
              oldCallable = $async$self._async_evaluate0$_currentCallable;
              $async$self._async_evaluate0$_currentCallable = callable;
              $async$goto = 4;
              return A._asyncAwait($async$self._async_evaluate0$_withStackFrame$1$3($name, nodeWithSpan, new A._EvaluateVisitor__runUserDefinedCallable_closure2($async$self, callable, evaluated, nodeWithSpan, run, $V), $V), $async$_async_evaluate0$_runUserDefinedCallable$1$4);
            case 4:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate0$_currentCallable = oldCallable;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_runUserDefinedCallable$1$4, $async$completer);
    },
    _async_evaluate0$_runFunctionCallable$3($arguments, callable, nodeWithSpan) {
      return this._runFunctionCallable$body$_EvaluateVisitor0($arguments, callable, nodeWithSpan);
    },
    _runFunctionCallable$body$_EvaluateVisitor0($arguments, callable, nodeWithSpan) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, buffer, first, argument, restArg, rest, error, t1, t2, _i, t3, t4, exception, $async$exception, $async$temp1;
      var $async$_async_evaluate0$_runFunctionCallable$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = type$.AsyncBuiltInCallable_2._is(callable) ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self._async_evaluate0$_runBuiltInCallable$3($arguments, callable, nodeWithSpan), $async$_async_evaluate0$_runFunctionCallable$3);
            case 6:
              // returning from await.
              $async$returnValue = $async$self._async_evaluate0$_withoutSlash$2($async$result, nodeWithSpan);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = type$.UserDefinedCallable_AsyncEnvironment_2._is(callable) ? 7 : 9;
              break;
            case 7:
              // then
              $async$goto = 10;
              return A._asyncAwait($async$self._async_evaluate0$_runUserDefinedCallable$1$4($arguments, callable, nodeWithSpan, new A._EvaluateVisitor__runFunctionCallable_closure2($async$self, callable), type$.Value_2), $async$_async_evaluate0$_runFunctionCallable$3);
            case 10:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 8;
              break;
            case 9:
              // else
              $async$goto = callable instanceof A.PlainCssCallable0 ? 11 : 13;
              break;
            case 11:
              // then
              t1 = $arguments.named;
              if (t1.get$isNotEmpty(t1) || $arguments.keywordRest != null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Plain_, nodeWithSpan.get$span(nodeWithSpan)));
              buffer = new A.StringBuffer(callable.name + "(");
              $async$handler = 15;
              first = true;
              t1 = $arguments.positional, t2 = t1.length, _i = 0;
            case 18:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 20;
                break;
              }
              argument = t1[_i];
              if (first)
                first = false;
              else
                buffer._contents += ", ";
              t3 = buffer;
              $async$temp1 = A;
              $async$goto = 21;
              return A._asyncAwait($async$self._async_evaluate0$_evaluateToCss$1(argument), $async$_async_evaluate0$_runFunctionCallable$3);
            case 21:
              // returning from await.
              t4 = $async$temp1.S($async$result);
              t3._contents += t4;
            case 19:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 18;
              break;
            case 20:
              // after for
              restArg = $arguments.rest;
              $async$goto = restArg != null ? 22 : 23;
              break;
            case 22:
              // then
              $async$goto = 24;
              return A._asyncAwait(restArg.accept$1($async$self), $async$_async_evaluate0$_runFunctionCallable$3);
            case 24:
              // returning from await.
              rest = $async$result;
              if (!first)
                buffer._contents += ", ";
              t1 = buffer;
              t2 = $async$self._async_evaluate0$_serialize$2(rest, restArg);
              t1._contents += t2;
            case 23:
              // join
              $async$handler = 2;
              // goto after finally
              $async$goto = 17;
              break;
            case 15:
              // catch
              $async$handler = 14;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (type$.SassRuntimeException_2._is(t1)) {
                error = t1;
                if (!B.JSString_methods.endsWith$1(error._span_exception$_message, "isn't a valid CSS value."))
                  throw $async$exception;
                throw A.wrapException(A.MultiSpanSassRuntimeException$0(error._span_exception$_message, J.get$span$z(error), "value", A.LinkedHashMap_LinkedHashMap$_literal([nodeWithSpan.get$span(nodeWithSpan), "unknown function treated as plain CSS"], type$.FileSpan, type$.String), J.get$trace$z(error), null));
              } else
                throw $async$exception;
              // goto after finally
              $async$goto = 17;
              break;
            case 14:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 17:
              // after finally
              t1 = buffer;
              t2 = A.Primitives_stringFromCharCode(41);
              t1._contents += t2;
              t2 = buffer._contents;
              $async$returnValue = new A.SassString0(t2.charCodeAt(0) == 0 ? t2 : t2, false);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 12;
              break;
            case 13:
              // else
              throw A.wrapException(A.ArgumentError$("Unknown callable type " + J.get$runtimeType$(callable).toString$0(0) + ".", null));
            case 12:
              // join
            case 8:
              // join
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_runFunctionCallable$3, $async$completer);
    },
    _async_evaluate0$_runBuiltInCallable$3($arguments, callable, nodeWithSpan) {
      return this._runBuiltInCallable$body$_EvaluateVisitor0($arguments, callable, nodeWithSpan);
    },
    _runBuiltInCallable$body$_EvaluateVisitor0($arguments, callable, nodeWithSpan) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, result, error, stackTrace, message, namedSet, _0_0, declaredArguments, i, t1, t2, t3, argument, t4, t5, t6, t7, rest, argumentList, exception, message0, _box_0, evaluated, oldCallableNode, $async$exception;
      var $async$_async_evaluate0$_runBuiltInCallable$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_evaluateArguments$1($arguments), $async$_async_evaluate0$_runBuiltInCallable$3);
            case 3:
              // returning from await.
              evaluated = $async$result;
              oldCallableNode = $async$self._async_evaluate0$_callableNode;
              $async$self._async_evaluate0$_callableNode = nodeWithSpan;
              namedSet = new A.MapKeySet(evaluated._values[0], type$.MapKeySet_String);
              _box_0.callback = _box_0.overload = null;
              _0_0 = callable.callbackFor$2(J.get$length$asx(evaluated._values[2]), namedSet);
              _box_0.overload = _0_0._0;
              _box_0.callback = _0_0._1;
              $async$self._async_evaluate0$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__runBuiltInCallable_closure8(_box_0, evaluated, namedSet));
              declaredArguments = _box_0.overload.$arguments;
              i = J.get$length$asx(evaluated._values[2]), t1 = declaredArguments.length, t2 = type$._Future_Value_2, t3 = type$.Future_Value_2;
            case 4:
              // for condition
              if (!(i < t1)) {
                // goto after for
                $async$goto = 6;
                break;
              }
              argument = declaredArguments[i];
              t4 = evaluated._values[2];
              t5 = evaluated._values[0].remove$1(0, argument.name);
              $async$goto = t5 == null ? 7 : 8;
              break;
            case 7:
              // then
              t5 = argument.defaultValue;
              t6 = t5.accept$1($async$self);
              if (!t3._is(t6)) {
                t7 = new A._Future($.Zone__current, t2);
                t7._state = 8;
                t7._resultOrListeners = t6;
                t6 = t7;
              }
              $async$goto = 9;
              return A._asyncAwait(t6, $async$_async_evaluate0$_runBuiltInCallable$3);
            case 9:
              // returning from await.
              t5 = $async$self._async_evaluate0$_withoutSlash$2($async$result, t5);
            case 8:
              // join
              J.add$1$ax(t4, t5);
            case 5:
              // for update
              ++i;
              // goto for condition
              $async$goto = 4;
              break;
            case 6:
              // after for
              if (_box_0.overload.restArgument != null) {
                if (J.get$length$asx(evaluated._values[2]) > t1) {
                  rest = J.sublist$1$ax(evaluated._values[2], t1);
                  J.removeRange$2$ax(evaluated._values[2], t1, J.get$length$asx(evaluated._values[2]));
                } else
                  rest = B.List_empty19;
                t1 = evaluated._values[0];
                argumentList = A.SassArgumentList$0(rest, t1, evaluated._values[4] === B.ListSeparator_undecided_null_undecided0 ? B.ListSeparator_ECn0 : evaluated._values[4]);
                J.add$1$ax(evaluated._values[2], argumentList);
              } else
                argumentList = null;
              result = null;
              $async$handler = 11;
              $async$goto = 14;
              return A._asyncAwait($async$self._async_evaluate0$_addExceptionSpanAsync$1$2(nodeWithSpan, new A._EvaluateVisitor__runBuiltInCallable_closure9(_box_0, evaluated), type$.Value_2), $async$_async_evaluate0$_runBuiltInCallable$3);
            case 14:
              // returning from await.
              result = $async$result;
              $async$handler = 2;
              // goto after finally
              $async$goto = 13;
              break;
            case 11:
              // catch
              $async$handler = 10;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.SassException0)
                throw $async$exception;
              else {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                message = null;
                try {
                  message = A._asString(J.get$message$x(error));
                } catch (exception) {
                  message0 = J.toString$0$(error);
                  message = message0;
                }
                A.throwWithTrace0($async$self._async_evaluate0$_exception$2(message, nodeWithSpan.get$span(nodeWithSpan)), error, stackTrace);
              }
              // goto after finally
              $async$goto = 13;
              break;
            case 10:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 13:
              // after finally
              $async$self._async_evaluate0$_callableNode = oldCallableNode;
              if (argumentList == null) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = evaluated._values[0];
              if (t1.get$isEmpty(t1)) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              if (argumentList._argument_list$_wereKeywordsAccessed) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = evaluated._values[0];
              t1 = A.pluralize0("argument", J.get$length$asx(t1.get$keys(t1)), null);
              t2 = evaluated._values[0];
              throw A.wrapException(A.MultiSpanSassRuntimeException$0("No " + t1 + " named " + A.toSentence0(J.map$1$1$ax(t2.get$keys(t2), new A._EvaluateVisitor__runBuiltInCallable_closure10(), type$.Object), "or") + ".", nodeWithSpan.get$span(nodeWithSpan), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([_box_0.overload.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), $async$self._async_evaluate0$_stackTrace$1(nodeWithSpan.get$span(nodeWithSpan)), null));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_runBuiltInCallable$3, $async$completer);
    },
    _async_evaluate0$_evaluateArguments$1($arguments) {
      return this._evaluateArguments$body$_EvaluateVisitor0($arguments);
    },
    _evaluateArguments$body$_EvaluateVisitor0($arguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_5_Map_String_Value_named_and_Map_String_AstNode_namedNodes_and_List_Value_positional_and_List_AstNode_positionalNodes_and_ListSeparator_separator_2),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, expression, nodeForSpan, t5, t6, named, namedNodes, $name, value, t7, restArgs, rest, restNodeForSpan, separator, keywordRestArgs, keywordRest, keywordRestNodeForSpan, positional, positionalNodes, $async$temp1, $async$temp2;
      var $async$_async_evaluate0$_evaluateArguments$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              positional = A._setArrayType([], type$.JSArray_Value_2);
              positionalNodes = A._setArrayType([], type$.JSArray_AstNode_2);
              t1 = $arguments.positional, t2 = t1.length, t3 = type$._Future_Value_2, t4 = type$.Future_Value_2, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              expression = t1[_i];
              nodeForSpan = $async$self._async_evaluate0$_expressionNode$1(expression);
              t5 = expression.accept$1($async$self);
              if (!t4._is(t5)) {
                t6 = new A._Future($.Zone__current, t3);
                t6._state = 8;
                t6._resultOrListeners = t5;
                t5 = t6;
              }
              $async$temp1 = positional;
              $async$goto = 6;
              return A._asyncAwait(t5, $async$_async_evaluate0$_evaluateArguments$1);
            case 6:
              // returning from await.
              $async$temp1.push($async$self._async_evaluate0$_withoutSlash$2($async$result, nodeForSpan));
              positionalNodes.push(nodeForSpan);
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              t1 = type$.String;
              named = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Value_2);
              t2 = type$.AstNode_2;
              namedNodes = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
              t5 = A.MapExtensions_get_pairs0($arguments.named, t1, type$.Expression_2), t5 = t5.get$iterator(t5);
            case 7:
              // for condition
              if (!t5.moveNext$0()) {
                // goto after for
                $async$goto = 8;
                break;
              }
              t6 = t5.get$current(t5);
              $name = t6._0;
              value = t6._1;
              nodeForSpan = $async$self._async_evaluate0$_expressionNode$1(value);
              t6 = value.accept$1($async$self);
              if (!t4._is(t6)) {
                t7 = new A._Future($.Zone__current, t3);
                t7._state = 8;
                t7._resultOrListeners = t6;
                t6 = t7;
              }
              $async$temp1 = named;
              $async$temp2 = $name;
              $async$goto = 9;
              return A._asyncAwait(t6, $async$_async_evaluate0$_evaluateArguments$1);
            case 9:
              // returning from await.
              $async$temp1.$indexSet(0, $async$temp2, $async$self._async_evaluate0$_withoutSlash$2($async$result, nodeForSpan));
              namedNodes.$indexSet(0, $name, nodeForSpan);
              // goto for condition
              $async$goto = 7;
              break;
            case 8:
              // after for
              restArgs = $arguments.rest;
              if (restArgs == null) {
                $async$returnValue = new A._Record_5_named_namedNodes_positional_positionalNodes_separator([named, namedNodes, positional, positionalNodes, B.ListSeparator_undecided_null_undecided0]);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 10;
              return A._asyncAwait(restArgs.accept$1($async$self), $async$_async_evaluate0$_evaluateArguments$1);
            case 10:
              // returning from await.
              rest = $async$result;
              restNodeForSpan = $async$self._async_evaluate0$_expressionNode$1(restArgs);
              if (rest instanceof A.SassMap0) {
                $async$self._async_evaluate0$_addRestMap$4(named, rest, restArgs, new A._EvaluateVisitor__evaluateArguments_closure11());
                t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
                for (t4 = rest._map0$_contents, t4 = J.get$iterator$ax(t4.get$keys(t4)), t5 = type$.SassString_2; t4.moveNext$0();)
                  t3.$indexSet(0, t5._as(t4.get$current(t4))._string0$_text, restNodeForSpan);
                namedNodes.addAll$1(0, t3);
                separator = B.ListSeparator_undecided_null_undecided0;
              } else if (rest instanceof A.SassList0) {
                t3 = rest._list1$_contents;
                B.JSArray_methods.addAll$1(positional, new A.MappedListIterable(t3, new A._EvaluateVisitor__evaluateArguments_closure12($async$self, restNodeForSpan), A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Value0>")));
                B.JSArray_methods.addAll$1(positionalNodes, A.List_List$filled(t3.length, restNodeForSpan, false, t2));
                separator = rest._list1$_separator;
                if (rest instanceof A.SassArgumentList0) {
                  rest._argument_list$_wereKeywordsAccessed = true;
                  rest._argument_list$_keywords.forEach$1(0, new A._EvaluateVisitor__evaluateArguments_closure13($async$self, named, restNodeForSpan, namedNodes));
                }
              } else {
                positional.push($async$self._async_evaluate0$_withoutSlash$2(rest, restNodeForSpan));
                positionalNodes.push(restNodeForSpan);
                separator = B.ListSeparator_undecided_null_undecided0;
              }
              keywordRestArgs = $arguments.keywordRest;
              if (keywordRestArgs == null) {
                $async$returnValue = new A._Record_5_named_namedNodes_positional_positionalNodes_separator([named, namedNodes, positional, positionalNodes, separator]);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 11;
              return A._asyncAwait(keywordRestArgs.accept$1($async$self), $async$_async_evaluate0$_evaluateArguments$1);
            case 11:
              // returning from await.
              keywordRest = $async$result;
              keywordRestNodeForSpan = $async$self._async_evaluate0$_expressionNode$1(keywordRestArgs);
              if (keywordRest instanceof A.SassMap0) {
                $async$self._async_evaluate0$_addRestMap$4(named, keywordRest, keywordRestArgs, new A._EvaluateVisitor__evaluateArguments_closure14());
                t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
                for (t2 = keywordRest._map0$_contents, t2 = J.get$iterator$ax(t2.get$keys(t2)), t3 = type$.SassString_2; t2.moveNext$0();)
                  t1.$indexSet(0, t3._as(t2.get$current(t2))._string0$_text, keywordRestNodeForSpan);
                namedNodes.addAll$1(0, t1);
                $async$returnValue = new A._Record_5_named_namedNodes_positional_positionalNodes_separator([named, namedNodes, positional, positionalNodes, separator]);
                // goto return
                $async$goto = 1;
                break;
              } else
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Variabs + keywordRest.toString$0(0) + ").", keywordRestArgs.get$span(keywordRestArgs)));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_evaluateArguments$1, $async$completer);
    },
    _async_evaluate0$_evaluateMacroArguments$1(invocation) {
      return this._evaluateMacroArguments$body$_EvaluateVisitor0(invocation);
    },
    _evaluateMacroArguments$body$_EvaluateVisitor0(invocation) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_List_Expression_and_Map_String_Expression_2),
        $async$returnValue, $async$self = this, t2, positional, named, rest, restNodeForSpan, keywordRestArgs_, keywordRest, keywordRestNodeForSpan, t1, restArgs_;
      var $async$_async_evaluate0$_evaluateMacroArguments$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = invocation.$arguments;
              restArgs_ = t1.rest;
              if (restArgs_ == null) {
                $async$returnValue = new A._Record_2(t1.positional, t1.named);
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = t1.positional;
              positional = A._setArrayType(t2.slice(0), A._arrayInstanceType(t2));
              named = A.LinkedHashMap_LinkedHashMap$of(t1.named, type$.String, type$.Expression_2);
              $async$goto = 3;
              return A._asyncAwait(restArgs_.accept$1($async$self), $async$_async_evaluate0$_evaluateMacroArguments$1);
            case 3:
              // returning from await.
              rest = $async$result;
              restNodeForSpan = $async$self._async_evaluate0$_expressionNode$1(restArgs_);
              if (rest instanceof A.SassMap0)
                $async$self._async_evaluate0$_addRestMap$4(named, rest, invocation, new A._EvaluateVisitor__evaluateMacroArguments_closure11(restArgs_));
              else if (rest instanceof A.SassList0) {
                t2 = rest._list1$_contents;
                B.JSArray_methods.addAll$1(positional, new A.MappedListIterable(t2, new A._EvaluateVisitor__evaluateMacroArguments_closure12($async$self, restNodeForSpan, restArgs_), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Expression0>")));
                if (rest instanceof A.SassArgumentList0) {
                  rest._argument_list$_wereKeywordsAccessed = true;
                  rest._argument_list$_keywords.forEach$1(0, new A._EvaluateVisitor__evaluateMacroArguments_closure13($async$self, named, restNodeForSpan, restArgs_));
                }
              } else
                positional.push(new A.ValueExpression0($async$self._async_evaluate0$_withoutSlash$2(rest, restNodeForSpan), restArgs_.get$span(restArgs_)));
              keywordRestArgs_ = t1.keywordRest;
              if (keywordRestArgs_ == null) {
                $async$returnValue = new A._Record_2(positional, named);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 4;
              return A._asyncAwait(keywordRestArgs_.accept$1($async$self), $async$_async_evaluate0$_evaluateMacroArguments$1);
            case 4:
              // returning from await.
              keywordRest = $async$result;
              keywordRestNodeForSpan = $async$self._async_evaluate0$_expressionNode$1(keywordRestArgs_);
              if (keywordRest instanceof A.SassMap0) {
                $async$self._async_evaluate0$_addRestMap$4(named, keywordRest, invocation, new A._EvaluateVisitor__evaluateMacroArguments_closure14($async$self, keywordRestNodeForSpan, keywordRestArgs_));
                $async$returnValue = new A._Record_2(positional, named);
                // goto return
                $async$goto = 1;
                break;
              } else
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Variabs + keywordRest.toString$0(0) + ").", keywordRestArgs_.get$span(keywordRestArgs_)));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_evaluateMacroArguments$1, $async$completer);
    },
    _async_evaluate0$_addRestMap$1$4(values, map, nodeWithSpan, convert) {
      map._map0$_contents.forEach$1(0, new A._EvaluateVisitor__addRestMap_closure2(this, values, convert, this._async_evaluate0$_expressionNode$1(nodeWithSpan), map, nodeWithSpan));
    },
    _async_evaluate0$_addRestMap$4(values, map, nodeWithSpan, convert) {
      return this._async_evaluate0$_addRestMap$1$4(values, map, nodeWithSpan, convert, type$.dynamic);
    },
    _async_evaluate0$_verifyArguments$4(positional, named, $arguments, nodeWithSpan) {
      return this._async_evaluate0$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__verifyArguments_closure2($arguments, positional, named));
    },
    visitSelectorExpression$1(node) {
      return this.visitSelectorExpression$body$_EvaluateVisitor0(node);
    },
    visitSelectorExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, t1;
      var $async$visitSelectorExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._async_evaluate0$_styleRuleIgnoringAtRoot;
              t1 = t1 == null ? null : t1.originalSelector.get$asSassList();
              $async$returnValue = t1 == null ? B.C__SassNull0 : t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitSelectorExpression$1, $async$completer);
    },
    visitStringExpression$1(node) {
      return this.visitStringExpression$body$_EvaluateVisitor0(node);
    },
    visitStringExpression$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassString_2),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, value, t5, _0_0, text, oldInSupportsDeclaration;
      var $async$visitStringExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldInSupportsDeclaration = $async$self._async_evaluate0$_inSupportsDeclaration;
              $async$self._async_evaluate0$_inSupportsDeclaration = false;
              t1 = A._setArrayType([], type$.JSArray_String);
              t2 = node.text.contents, t3 = t2.length, t4 = type$.Expression_2, _i = 0;
            case 3:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              value = t2[_i];
              if (typeof value == "string") {
                t5 = value;
                // goto break $label0$0
                $async$goto = 6;
                break;
              }
              $async$goto = t4._is(value) ? 7 : 8;
              break;
            case 7:
              // then
              $async$goto = 9;
              return A._asyncAwait(value.accept$1($async$self), $async$visitStringExpression$1);
            case 9:
              // returning from await.
              _0_0 = $async$result;
              $label1$1: {
                if (_0_0 instanceof A.SassString0) {
                  text = _0_0._string0$_text;
                  t5 = text;
                  break $label1$1;
                }
                t5 = $async$self._async_evaluate0$_serialize$3$quote(_0_0, value, false);
                break $label1$1;
              }
              // goto break $label0$0
              $async$goto = 6;
              break;
            case 8:
              // join
              t5 = A.throwExpression(A.UnsupportedError$("Unknown interpolation value " + A.S(value)));
            case 6:
              // break $label0$0
              t1.push(t5);
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              t1 = B.JSArray_methods.join$0(t1);
              $async$self._async_evaluate0$_inSupportsDeclaration = oldInSupportsDeclaration;
              $async$returnValue = new A.SassString0(t1, node.hasQuotes);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitStringExpression$1, $async$completer);
    },
    visitSupportsExpression$1(expression) {
      return this.visitSupportsExpression$body$_EvaluateVisitor0(expression);
    },
    visitSupportsExpression$body$_EvaluateVisitor0(expression) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassString_2),
        $async$returnValue, $async$self = this, $async$temp1;
      var $async$visitSupportsExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$temp1 = A;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_visitSupportsCondition$1(expression.condition), $async$visitSupportsExpression$1);
            case 3:
              // returning from await.
              $async$returnValue = new $async$temp1.SassString0($async$result, false);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitSupportsExpression$1, $async$completer);
    },
    visitCssAtRule$1(node) {
      return this.visitCssAtRule$body$_EvaluateVisitor0(node);
    },
    visitCssAtRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, wasInKeyframes, wasInUnknownAtRule, t1;
      var $async$visitCssAtRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate0$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.At_rul, node.span));
              if (node.isChildless) {
                $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").addChild$1(A.ModifiableCssAtRule$0(node.name, node.span, true, node.value));
                // goto return
                $async$goto = 1;
                break;
              }
              wasInKeyframes = $async$self._async_evaluate0$_inKeyframes;
              wasInUnknownAtRule = $async$self._async_evaluate0$_inUnknownAtRule;
              t1 = node.name;
              if (A.unvendor0(t1.value) === "keyframes")
                $async$self._async_evaluate0$_inKeyframes = true;
              else
                $async$self._async_evaluate0$_inUnknownAtRule = true;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssAtRule$0(t1, node.span, false, node.value), new A._EvaluateVisitor_visitCssAtRule_closure5($async$self, node), false, new A._EvaluateVisitor_visitCssAtRule_closure6(), type$.ModifiableCssAtRule_2, type$.Null), $async$visitCssAtRule$1);
            case 3:
              // returning from await.
              $async$self._async_evaluate0$_inUnknownAtRule = wasInUnknownAtRule;
              $async$self._async_evaluate0$_inKeyframes = wasInKeyframes;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssAtRule$1, $async$completer);
    },
    visitCssComment$1(node) {
      return this.visitCssComment$body$_EvaluateVisitor0(node);
    },
    visitCssComment$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$visitCssComment$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent") === $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__root, "_root") && $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__endOfImports, "_endOfImports") === J.get$length$asx($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__root, "_root").children._collection$_source))
                $async$self._async_evaluate0$__endOfImports = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__endOfImports, "_endOfImports") + 1;
              $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").addChild$1(new A.ModifiableCssComment0(node.text, node.span));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssComment$1, $async$completer);
    },
    visitCssDeclaration$1(node) {
      return this.visitCssDeclaration$body$_EvaluateVisitor0(node);
    },
    visitCssDeclaration$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$visitCssDeclaration$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").addChild$1(A.ModifiableCssDeclaration$0(node.name, node.value, node.span, node.parsedAsCustomProperty, node.valueSpanForMap));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssDeclaration$1, $async$completer);
    },
    visitCssImport$1(node) {
      return this.visitCssImport$body$_EvaluateVisitor0(node);
    },
    visitCssImport$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, modifiableNode;
      var $async$visitCssImport$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              modifiableNode = new A.ModifiableCssImport0(node.url, node.modifiers, node.span);
              if ($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent") !== $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__root, "_root"))
                $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").addChild$1(modifiableNode);
              else if ($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__endOfImports, "_endOfImports") === J.get$length$asx($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__root, "_root").children._collection$_source)) {
                $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__root, "_root").addChild$1(modifiableNode);
                $async$self._async_evaluate0$__endOfImports = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__endOfImports, "_endOfImports") + 1;
              } else {
                t1 = $async$self._async_evaluate0$_outOfOrderImports;
                (t1 == null ? $async$self._async_evaluate0$_outOfOrderImports = A._setArrayType([], type$.JSArray_ModifiableCssImport_2) : t1).push(modifiableNode);
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssImport$1, $async$completer);
    },
    visitCssKeyframeBlock$1(node) {
      return this.visitCssKeyframeBlock$body$_EvaluateVisitor0(node);
    },
    visitCssKeyframeBlock$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$visitCssKeyframeBlock$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$0(node.selector, node.span), new A._EvaluateVisitor_visitCssKeyframeBlock_closure5($async$self, node), false, new A._EvaluateVisitor_visitCssKeyframeBlock_closure6(), type$.ModifiableCssKeyframeBlock_2, type$.Null), $async$visitCssKeyframeBlock$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssKeyframeBlock$1, $async$completer);
    },
    visitCssMediaRule$1(node) {
      return this.visitCssMediaRule$body$_EvaluateVisitor0(node);
    },
    visitCssMediaRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, mergedQueries, t1, mergedSources, t2, t3;
      var $async$visitCssMediaRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate0$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Media_, node.span));
              mergedQueries = A.NullableExtension_andThen0($async$self._async_evaluate0$_mediaQueries, new A._EvaluateVisitor_visitCssMediaRule_closure8($async$self, node));
              t1 = mergedQueries == null;
              if (!t1 && J.get$isEmpty$asx(mergedQueries)) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (t1)
                mergedSources = B.Set_empty5;
              else {
                t2 = $async$self._async_evaluate0$_mediaQuerySources;
                t2.toString;
                t2 = A.LinkedHashSet_LinkedHashSet$of(t2, type$.CssMediaQuery_2);
                t3 = $async$self._async_evaluate0$_mediaQueries;
                t3.toString;
                t2.addAll$1(0, t3);
                t2.addAll$1(0, node.queries);
                mergedSources = t2;
              }
              t1 = t1 ? node.queries : mergedQueries;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssMediaRule$0(t1, node.span), new A._EvaluateVisitor_visitCssMediaRule_closure9($async$self, mergedQueries, node, mergedSources), false, new A._EvaluateVisitor_visitCssMediaRule_closure10(mergedSources), type$.ModifiableCssMediaRule_2, type$.Null), $async$visitCssMediaRule$1);
            case 3:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssMediaRule$1, $async$completer);
    },
    visitCssStyleRule$1(node) {
      return this.visitCssStyleRule$body$_EvaluateVisitor0(node);
    },
    visitCssStyleRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, styleRule, t2, nest, t3, originalSelector, rule, oldAtRootExcludingStyleRule, _0_1, lastChild;
      var $async$visitCssStyleRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate0$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Style_n, node.span));
              else if ($async$self._async_evaluate0$_inKeyframes && $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent") instanceof A.ModifiableCssKeyframeBlock0)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Style_k, node.span));
              t1 = $async$self._async_evaluate0$_atRootExcludingStyleRule;
              styleRule = t1 ? null : $async$self._async_evaluate0$_styleRuleIgnoringAtRoot;
              t2 = t1 ? null : $async$self._async_evaluate0$_styleRuleIgnoringAtRoot;
              t2 = t2 == null ? null : t2.fromPlainCss;
              nest = t2 !== true;
              t2 = node._style_rule0$_selector._box0$_inner;
              if (nest) {
                t2 = t2.value;
                t3 = styleRule == null ? null : styleRule.originalSelector;
                originalSelector = t2.nestWithin$3$implicitParent$preserveParentSelectors(t3, !t1, node.fromPlainCss);
              } else
                originalSelector = t2.value;
              rule = A.ModifiableCssStyleRule$0($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__extensionStore, "_extensionStore").addSelector$2(originalSelector, $async$self._async_evaluate0$_mediaQueries), node.span, node.fromPlainCss, originalSelector);
              oldAtRootExcludingStyleRule = $async$self._async_evaluate0$_atRootExcludingStyleRule;
              $async$self._async_evaluate0$_atRootExcludingStyleRule = false;
              t1 = nest ? new A._EvaluateVisitor_visitCssStyleRule_closure5() : null;
              $async$goto = 2;
              return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitCssStyleRule_closure6($async$self, rule, node), false, t1, type$.ModifiableCssStyleRule_2, type$.Null), $async$visitCssStyleRule$1);
            case 2:
              // returning from await.
              $async$self._async_evaluate0$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
              t1 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").children._collection$_source;
              t2 = J.getInterceptor$asx(t1);
              _0_1 = t2.get$length(t1);
              if (_0_1 >= 1) {
                lastChild = t2.elementAt$1(t1, _0_1 - 1);
                t1 = styleRule == null;
              } else {
                lastChild = null;
                t1 = false;
              }
              if (t1)
                lastChild.isGroupEnd = true;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssStyleRule$1, $async$completer);
    },
    visitCssStylesheet$1(node) {
      return this.visitCssStylesheet$body$_EvaluateVisitor0(node);
    },
    visitCssStylesheet$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$visitCssStylesheet$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = J.get$iterator$ax(node.get$children(node));
            case 2:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              $async$goto = 4;
              return A._asyncAwait(t1.get$current(t1).accept$1($async$self), $async$visitCssStylesheet$1);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssStylesheet$1, $async$completer);
    },
    visitCssSupportsRule$1(node) {
      return this.visitCssSupportsRule$body$_EvaluateVisitor0(node);
    },
    visitCssSupportsRule$body$_EvaluateVisitor0(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$visitCssSupportsRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if ($async$self._async_evaluate0$_declarationName != null)
                throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Suppor, node.span));
              $async$goto = 2;
              return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssSupportsRule$0(node.condition, node.span), new A._EvaluateVisitor_visitCssSupportsRule_closure5($async$self, node), false, new A._EvaluateVisitor_visitCssSupportsRule_closure6(), type$.ModifiableCssSupportsRule_2, type$.Null), $async$visitCssSupportsRule$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$visitCssSupportsRule$1, $async$completer);
    },
    _async_evaluate0$_handleReturn$1$2(list, callback) {
      return this._handleReturn$body$_EvaluateVisitor0(list, callback);
    },
    _async_evaluate0$_handleReturn$2(list, callback) {
      return this._async_evaluate0$_handleReturn$1$2(list, callback, type$.dynamic);
    },
    _handleReturn$body$_EvaluateVisitor0(list, callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, t1, _i, _0_0;
      var $async$_async_evaluate0$_handleReturn$1$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = list.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < list.length)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(callback.call$1(list[_i]), $async$_async_evaluate0$_handleReturn$1$2);
            case 6:
              // returning from await.
              _0_0 = $async$result;
              if (_0_0 != null) {
                $async$returnValue = _0_0;
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // for update
              list.length === t1 || (0, A.throwConcurrentModificationError)(list), ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_handleReturn$1$2, $async$completer);
    },
    _async_evaluate0$_withEnvironment$1$2(environment, callback, $T) {
      return this._withEnvironment$body$_EvaluateVisitor0(environment, callback, $T, $T);
    },
    _withEnvironment$body$_EvaluateVisitor0(environment, callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, result, oldEnvironment;
      var $async$_async_evaluate0$_withEnvironment$1$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldEnvironment = $async$self._async_evaluate0$_environment;
              $async$self._async_evaluate0$_environment = environment;
              $async$goto = 3;
              return A._asyncAwait(callback.call$0(), $async$_async_evaluate0$_withEnvironment$1$2);
            case 3:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate0$_environment = oldEnvironment;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_withEnvironment$1$2, $async$completer);
    },
    _async_evaluate0$_interpolationToValue$3$trim$warnForColor(interpolation, trim, warnForColor) {
      return this._interpolationToValue$body$_EvaluateVisitor0(interpolation, trim, warnForColor);
    },
    _async_evaluate0$_interpolationToValue$1(interpolation) {
      return this._async_evaluate0$_interpolationToValue$3$trim$warnForColor(interpolation, false, false);
    },
    _async_evaluate0$_interpolationToValue$2$warnForColor(interpolation, warnForColor) {
      return this._async_evaluate0$_interpolationToValue$3$trim$warnForColor(interpolation, false, warnForColor);
    },
    _interpolationToValue$body$_EvaluateVisitor0(interpolation, trim, warnForColor) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CssValue_String_2),
        $async$returnValue, $async$self = this, result, t1;
      var $async$_async_evaluate0$_interpolationToValue$3$trim$warnForColor = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolation$2$warnForColor(interpolation, warnForColor), $async$_async_evaluate0$_interpolationToValue$3$trim$warnForColor);
            case 3:
              // returning from await.
              result = $async$result;
              t1 = trim ? A.trimAscii0(result, true) : result;
              $async$returnValue = new A.CssValue0(t1, interpolation.span, type$.CssValue_String_2);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_interpolationToValue$3$trim$warnForColor, $async$completer);
    },
    _async_evaluate0$_performInterpolation$2$warnForColor(interpolation, warnForColor) {
      return this._performInterpolation$body$_EvaluateVisitor0(interpolation, warnForColor);
    },
    _async_evaluate0$_performInterpolation$1(interpolation) {
      return this._async_evaluate0$_performInterpolation$2$warnForColor(interpolation, false);
    },
    _performInterpolation$body$_EvaluateVisitor0(interpolation, warnForColor) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this;
      var $async$_async_evaluate0$_performInterpolation$2$warnForColor = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolationHelper$3$sourceMap$warnForColor(interpolation, false, warnForColor), $async$_async_evaluate0$_performInterpolation$2$warnForColor);
            case 3:
              // returning from await.
              $async$returnValue = $async$result._0;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_performInterpolation$2$warnForColor, $async$completer);
    },
    _async_evaluate0$_performInterpolationWithMap$2$warnForColor(interpolation, warnForColor) {
      return this._performInterpolationWithMap$body$_EvaluateVisitor0(interpolation, true);
    },
    _performInterpolationWithMap$body$_EvaluateVisitor0(interpolation, warnForColor) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_String_and_InterpolationMap_2),
        $async$returnValue, $async$self = this, _0_0, result, map;
      var $async$_async_evaluate0$_performInterpolationWithMap$2$warnForColor = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_performInterpolationHelper$3$sourceMap$warnForColor(interpolation, true, true), $async$_async_evaluate0$_performInterpolationWithMap$2$warnForColor);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              result = _0_0._0;
              map = _0_0._1;
              map.toString;
              $async$returnValue = new A._Record_2(result, map);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_performInterpolationWithMap$2$warnForColor, $async$completer);
    },
    _async_evaluate0$_performInterpolationHelper$3$sourceMap$warnForColor(interpolation, sourceMap, warnForColor) {
      return this._performInterpolationHelper$body$_EvaluateVisitor0(interpolation, sourceMap, warnForColor);
    },
    _performInterpolationHelper$body$_EvaluateVisitor0(interpolation, sourceMap, warnForColor) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_String_and_nullable_InterpolationMap_2),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, t6, t7, first, _i, t8, value, result, t9, result0, targetLocations, oldInSupportsDeclaration;
      var $async$_async_evaluate0$_performInterpolationHelper$3$sourceMap$warnForColor = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              targetLocations = sourceMap ? A._setArrayType([], type$.JSArray_SourceLocation) : null;
              oldInSupportsDeclaration = $async$self._async_evaluate0$_inSupportsDeclaration;
              $async$self._async_evaluate0$_inSupportsDeclaration = false;
              t1 = interpolation.contents, t2 = t1.length, t3 = type$.Expression_2, t4 = targetLocations == null, t5 = type$.JSArray_Object, t6 = interpolation.span, t7 = type$.Object, first = true, _i = 0, t8 = "";
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              value = t1[_i];
              if (!first)
                if (!t4)
                  targetLocations.push(A.SourceLocation$(t8.length, null, null, null));
              if (typeof value == "string") {
                t8 += value;
                // goto for update
                $async$goto = 4;
                break;
              }
              t3._as(value);
              $async$goto = 6;
              return A._asyncAwait(value.accept$1($async$self), $async$_async_evaluate0$_performInterpolationHelper$3$sourceMap$warnForColor);
            case 6:
              // returning from await.
              result = $async$result;
              if (warnForColor && $.$get$namesByColor0().containsKey$1(result)) {
                t9 = A._setArrayType([""], t5);
                result0 = A.List_List$from(t9, false, t7);
                result0.fixed$length = Array;
                result0.immutable$list = Array;
                result0 = new A.Interpolation0(result0, t6);
                result0.Interpolation$20(t9, t6);
                t9 = $.$get$namesByColor0();
                $async$self._async_evaluate0$_warn$2(string$.You_pr + A.S(t9.$index(0, result)) + string$.x20in_in + result.toString$0(0) + string$.x2c_whicw + A.S(t9.$index(0, result)) + string$.x22x29__If + new A.BinaryOperationExpression0(B.BinaryOperator_u150, new A.StringExpression0(result0, true), value, false).toString$0(0) + "'.", value.get$span(value));
              }
              t8 += $async$self._async_evaluate0$_serialize$3$quote(result, value, false);
            case 4:
              // for update
              ++_i, first = false;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$self._async_evaluate0$_inSupportsDeclaration = oldInSupportsDeclaration;
              $async$returnValue = new A._Record_2(t8.charCodeAt(0) == 0 ? t8 : t8, A.NullableExtension_andThen0(targetLocations, new A._EvaluateVisitor__performInterpolationHelper_closure2(interpolation)));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_performInterpolationHelper$3$sourceMap$warnForColor, $async$completer);
    },
    _async_evaluate0$_evaluateToCss$2$quote(expression, quote) {
      return this._evaluateToCss$body$_EvaluateVisitor0(expression, quote);
    },
    _async_evaluate0$_evaluateToCss$1(expression) {
      return this._async_evaluate0$_evaluateToCss$2$quote(expression, true);
    },
    _evaluateToCss$body$_EvaluateVisitor0(expression, quote) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, t1;
      var $async$_async_evaluate0$_evaluateToCss$2$quote = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = expression.accept$1($async$self);
              $async$goto = 3;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$_async_evaluate0$_evaluateToCss$2$quote);
            case 3:
              // returning from await.
              $async$returnValue = $async$self._async_evaluate0$_serialize$3$quote($async$result, expression, quote);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_evaluateToCss$2$quote, $async$completer);
    },
    _async_evaluate0$_serialize$3$quote(value, nodeWithSpan, quote) {
      return this._async_evaluate0$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__serialize_closure2(value, quote));
    },
    _async_evaluate0$_serialize$2(value, nodeWithSpan) {
      return this._async_evaluate0$_serialize$3$quote(value, nodeWithSpan, true);
    },
    _async_evaluate0$_expressionNode$1(expression) {
      var t1;
      if (expression instanceof A.VariableExpression0) {
        t1 = this._async_evaluate0$_addExceptionSpan$2(expression, new A._EvaluateVisitor__expressionNode_closure2(this, expression));
        return t1 == null ? expression : t1;
      } else
        return expression;
    },
    _async_evaluate0$_withParent$2$4$scopeWhen$through(node, callback, scopeWhen, through, $S, $T) {
      return this._withParent$body$_EvaluateVisitor0(node, callback, scopeWhen, through, $S, $T, $T);
    },
    _async_evaluate0$_withParent$2$2(node, callback, $S, $T) {
      return this._async_evaluate0$_withParent$2$4$scopeWhen$through(node, callback, true, null, $S, $T);
    },
    _async_evaluate0$_withParent$2$3$scopeWhen(node, callback, scopeWhen, $S, $T) {
      return this._async_evaluate0$_withParent$2$4$scopeWhen$through(node, callback, scopeWhen, null, $S, $T);
    },
    _withParent$body$_EvaluateVisitor0(node, callback, scopeWhen, through, $S, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, t1, result;
      var $async$_async_evaluate0$_withParent$2$4$scopeWhen$through = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$self._async_evaluate0$_addChild$2$through(node, through);
              t1 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent");
              $async$self._async_evaluate0$__parent = node;
              $async$goto = 3;
              return A._asyncAwait($async$self._async_evaluate0$_environment.scope$1$2$when(callback, scopeWhen, $T), $async$_async_evaluate0$_withParent$2$4$scopeWhen$through);
            case 3:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate0$__parent = t1;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_withParent$2$4$scopeWhen$through, $async$completer);
    },
    _async_evaluate0$_addChild$2$through(node, through) {
      var _0_0, grandparent, t1,
        $parent = this._async_evaluate0$_assertInModule$2(this._async_evaluate0$__parent, "__parent");
      if (through != null) {
        for (; through.call$1($parent); $parent = _0_0) {
          _0_0 = $parent._node$_parent;
          if (_0_0 == null)
            throw A.wrapException(A.ArgumentError$(string$.throug + node.toString$0(0) + ".", null));
        }
        if ($parent.get$hasFollowingSibling()) {
          grandparent = $parent._node$_parent;
          t1 = grandparent.children;
          if ($parent.equalsIgnoringChildren$1(t1.get$last(t1)))
            $parent = type$.ModifiableCssParentNode_2._as(t1.get$last(t1));
          else {
            $parent = $parent.copyWithoutChildren$0();
            grandparent.addChild$1($parent);
          }
        }
      }
      $parent.addChild$1(node);
    },
    _async_evaluate0$_addChild$1(node) {
      return this._async_evaluate0$_addChild$2$through(node, null);
    },
    _async_evaluate0$_withStyleRule$1$2(rule, callback, $T) {
      return this._withStyleRule$body$_EvaluateVisitor0(rule, callback, $T, $T);
    },
    _withStyleRule$body$_EvaluateVisitor0(rule, callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, result, oldRule;
      var $async$_async_evaluate0$_withStyleRule$1$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldRule = $async$self._async_evaluate0$_styleRuleIgnoringAtRoot;
              $async$self._async_evaluate0$_styleRuleIgnoringAtRoot = rule;
              $async$goto = 3;
              return A._asyncAwait(callback.call$0(), $async$_async_evaluate0$_withStyleRule$1$2);
            case 3:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate0$_styleRuleIgnoringAtRoot = oldRule;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_withStyleRule$1$2, $async$completer);
    },
    _async_evaluate0$_withMediaQueries$1$3(queries, sources, callback, $T) {
      return this._withMediaQueries$body$_EvaluateVisitor0(queries, sources, callback, $T, $T);
    },
    _withMediaQueries$body$_EvaluateVisitor0(queries, sources, callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, result, oldMediaQueries, oldSources;
      var $async$_async_evaluate0$_withMediaQueries$1$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              oldMediaQueries = $async$self._async_evaluate0$_mediaQueries;
              oldSources = $async$self._async_evaluate0$_mediaQuerySources;
              $async$self._async_evaluate0$_mediaQueries = queries;
              $async$self._async_evaluate0$_mediaQuerySources = sources;
              $async$goto = 3;
              return A._asyncAwait(callback.call$0(), $async$_async_evaluate0$_withMediaQueries$1$3);
            case 3:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate0$_mediaQueries = oldMediaQueries;
              $async$self._async_evaluate0$_mediaQuerySources = oldSources;
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_withMediaQueries$1$3, $async$completer);
    },
    _async_evaluate0$_withStackFrame$1$3(member, nodeWithSpan, callback, $T) {
      return this._withStackFrame$body$_EvaluateVisitor0(member, nodeWithSpan, callback, $T, $T);
    },
    _withStackFrame$body$_EvaluateVisitor0(member, nodeWithSpan, callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, oldMember, result, t1;
      var $async$_async_evaluate0$_withStackFrame$1$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._async_evaluate0$_stack;
              t1.push(new A._Record_2($async$self._async_evaluate0$_member, nodeWithSpan));
              oldMember = $async$self._async_evaluate0$_member;
              $async$self._async_evaluate0$_member = member;
              $async$goto = 3;
              return A._asyncAwait(callback.call$0(), $async$_async_evaluate0$_withStackFrame$1$3);
            case 3:
              // returning from await.
              result = $async$result;
              $async$self._async_evaluate0$_member = oldMember;
              t1.pop();
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_withStackFrame$1$3, $async$completer);
    },
    _async_evaluate0$_withoutSlash$2(value, nodeForSpan) {
      var t1;
      if (value instanceof A.SassNumber0)
        t1 = value.asSlash != null;
      else
        t1 = false;
      if (t1)
        this._async_evaluate0$_warn$3(string$.Using__i + A.S(new A._EvaluateVisitor__withoutSlash_recommendation2().call$1(value)) + string$.x0a_Morex20, nodeForSpan.get$span(nodeForSpan), B.Deprecation_E8a);
      return value.withoutSlash$0();
    },
    _async_evaluate0$_stackFrame$2(member, span) {
      return A.frameForSpan0(span, member, A.NullableExtension_andThen0(span.get$sourceUrl(span), new A._EvaluateVisitor__stackFrame_closure2(this)));
    },
    _async_evaluate0$_stackTrace$1(span) {
      var t2, t3, _i, t4, nodeWithSpan, _this = this,
        t1 = A._setArrayType([], type$.JSArray_Frame);
      for (t2 = _this._async_evaluate0$_stack, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        t4 = t2[_i];
        nodeWithSpan = t4._1;
        t1.push(_this._async_evaluate0$_stackFrame$2(t4._0, nodeWithSpan.get$span(nodeWithSpan)));
      }
      if (span != null)
        t1.push(_this._async_evaluate0$_stackFrame$2(_this._async_evaluate0$_member, span));
      return A.Trace$(new A.ReversedListIterable(t1, type$.ReversedListIterable_Frame), null);
    },
    _async_evaluate0$_stackTrace$0() {
      return this._async_evaluate0$_stackTrace$1(null);
    },
    _async_evaluate0$_warn$3(message, span, deprecation) {
      var t1, trace, _this = this;
      if (_this._async_evaluate0$_quietDeps)
        if (!_this._async_evaluate0$_inDependency) {
          t1 = _this._async_evaluate0$_currentCallable;
          t1 = t1 == null ? null : t1.inDependency;
          t1 = t1 === true;
        } else
          t1 = true;
      else
        t1 = false;
      if (t1)
        return;
      if (!_this._async_evaluate0$_warningsEmitted.add$1(0, new A._Record_2(message, span)))
        return;
      trace = _this._async_evaluate0$_stackTrace$1(span);
      t1 = _this._async_evaluate0$_logger;
      if (deprecation == null)
        t1.warn$3$span$trace(0, message, span, trace);
      else
        A.WarnForDeprecation_warnForDeprecation0(t1, deprecation, message, span, trace);
    },
    _async_evaluate0$_warn$2(message, span) {
      return this._async_evaluate0$_warn$3(message, span, null);
    },
    _async_evaluate0$_exception$2(message, span) {
      var t1, t2;
      if (span == null) {
        t1 = B.JSArray_methods.get$last(this._async_evaluate0$_stack)._1;
        t1 = t1.get$span(t1);
      } else
        t1 = span;
      t2 = this._async_evaluate0$_stackTrace$1(span);
      return new A.SassRuntimeException0(t2, B.Set_empty, message, t1);
    },
    _async_evaluate0$_exception$1(message) {
      return this._async_evaluate0$_exception$2(message, null);
    },
    _async_evaluate0$_multiSpanException$3(message, primaryLabel, secondaryLabels) {
      var t1 = B.JSArray_methods.get$last(this._async_evaluate0$_stack)._1;
      return A.MultiSpanSassRuntimeException$0(message, t1.get$span(t1), primaryLabel, secondaryLabels, this._async_evaluate0$_stackTrace$0(), null);
    },
    _async_evaluate0$_addExceptionSpan$1$2(nodeWithSpan, callback) {
      var error, stackTrace, t1, exception,
        addStackFrame = true;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassScriptException0) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = error.withSpan$1(nodeWithSpan.get$span(nodeWithSpan));
          A.throwWithTrace0(t1.withTrace$1(this._async_evaluate0$_stackTrace$1(addStackFrame ? nodeWithSpan.get$span(nodeWithSpan) : null)), error, stackTrace);
        } else
          throw exception;
      }
    },
    _async_evaluate0$_addExceptionSpan$2(nodeWithSpan, callback) {
      return this._async_evaluate0$_addExceptionSpan$1$2(nodeWithSpan, callback, type$.dynamic);
    },
    _async_evaluate0$_addExceptionSpanAsync$1$3$addStackFrame(nodeWithSpan, callback, addStackFrame, $T) {
      return this._addExceptionSpanAsync$body$_EvaluateVisitor0(nodeWithSpan, callback, addStackFrame, $T, $T);
    },
    _async_evaluate0$_addExceptionSpanAsync$1$2(nodeWithSpan, callback, $T) {
      return this._async_evaluate0$_addExceptionSpanAsync$1$3$addStackFrame(nodeWithSpan, callback, true, $T);
    },
    _addExceptionSpanAsync$body$_EvaluateVisitor0(nodeWithSpan, callback, addStackFrame, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, error, stackTrace, t1, exception, $async$exception;
      var $async$_async_evaluate0$_addExceptionSpanAsync$1$3$addStackFrame = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              t1 = callback.call$0();
              $async$goto = 7;
              return A._asyncAwait($T._eval$1("Future<0>")._is(t1) ? t1 : A._Future$value(t1, $T), $async$_async_evaluate0$_addExceptionSpanAsync$1$3$addStackFrame);
            case 7:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              // 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$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.SassScriptException0) {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                t1 = error.withSpan$1(nodeWithSpan.get$span(nodeWithSpan));
                A.throwWithTrace0(t1.withTrace$1($async$self._async_evaluate0$_stackTrace$1(addStackFrame ? nodeWithSpan.get$span(nodeWithSpan) : null)), error, stackTrace);
              } else
                throw $async$exception;
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_addExceptionSpanAsync$1$3$addStackFrame, $async$completer);
    },
    _async_evaluate0$_addExceptionTrace$1$1(callback, $T) {
      return this._addExceptionTrace$body$_EvaluateVisitor0(callback, $T, $T);
    },
    _addExceptionTrace$body$_EvaluateVisitor0(callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, error, stackTrace, t1, exception, t2, $async$exception;
      var $async$_async_evaluate0$_addExceptionTrace$1$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              t1 = callback.call$0();
              $async$goto = 7;
              return A._asyncAwait($T._eval$1("Future<0>")._is(t1) ? t1 : A._Future$value(t1, $T), $async$_async_evaluate0$_addExceptionTrace$1$1);
            case 7:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              // 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$currentError;
              t1 = A.unwrapException($async$exception);
              if (type$.SassRuntimeException_2._is(t1))
                throw $async$exception;
              else if (t1 instanceof A.SassException0) {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                t1 = error;
                t2 = J.getInterceptor$z(t1);
                A.throwWithTrace0(error.withTrace$1($async$self._async_evaluate0$_stackTrace$1(A.SourceSpanException.prototype.get$span.call(t2, t1))), error, stackTrace);
              } else
                throw $async$exception;
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_addExceptionTrace$1$1, $async$completer);
    },
    _async_evaluate0$_addErrorSpan$1$2(nodeWithSpan, callback, $T) {
      return this._addErrorSpan$body$_EvaluateVisitor0(nodeWithSpan, callback, $T, $T);
    },
    _addErrorSpan$body$_EvaluateVisitor0(nodeWithSpan, callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, error, stackTrace, t1, exception, t2, t3, $async$exception;
      var $async$_async_evaluate0$_addErrorSpan$1$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(callback.call$0(), $async$_async_evaluate0$_addErrorSpan$1$2);
            case 7:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              // 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$currentError;
              t1 = A.unwrapException($async$exception);
              if (type$.SassRuntimeException_2._is(t1)) {
                error = t1;
                stackTrace = A.getTraceFromException($async$exception);
                if (!B.JSString_methods.startsWith$1(J.get$span$z(error).get$text(), "@error"))
                  throw $async$exception;
                t1 = error._span_exception$_message;
                t2 = nodeWithSpan.get$span(nodeWithSpan);
                t3 = $async$self._async_evaluate0$_stackTrace$0();
                A.throwWithTrace0(new A.SassRuntimeException0(t3, B.Set_empty, t1, t2), error, stackTrace);
              } else
                throw $async$exception;
              // 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$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_evaluate0$_addErrorSpan$1$2, $async$completer);
    }
  };
  A._EvaluateVisitor_closure38.prototype = {
    call$1($arguments) {
      var module, t2,
        t1 = J.getInterceptor$asx($arguments),
        variable = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this._async_evaluate0$_environment;
      t2 = A.stringReplaceAllUnchecked(variable._string0$_text, "_", "-");
      return t1.globalVariableExists$2$namespace(t2, module == null ? null : module._string0$_text) ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._EvaluateVisitor_closure39.prototype = {
    call$1($arguments) {
      var variable = J.$index$asx($arguments, 0).assertString$1("name"),
        t1 = this.$this._async_evaluate0$_environment;
      return t1.getVariable$1(A.stringReplaceAllUnchecked(variable._string0$_text, "_", "-")) != null ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._EvaluateVisitor_closure40.prototype = {
    call$1($arguments) {
      var module, t2, t3, t4,
        t1 = J.getInterceptor$asx($arguments),
        variable = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this;
      t2 = t1._async_evaluate0$_environment;
      t3 = variable._string0$_text;
      t4 = A.stringReplaceAllUnchecked(t3, "_", "-");
      return t2.getFunction$2$namespace(t4, module == null ? null : module._string0$_text) != null || t1._async_evaluate0$_builtInFunctions.containsKey$1(t3) ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._EvaluateVisitor_closure41.prototype = {
    call$1($arguments) {
      var module, t2,
        t1 = J.getInterceptor$asx($arguments),
        variable = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this._async_evaluate0$_environment;
      t2 = A.stringReplaceAllUnchecked(variable._string0$_text, "_", "-");
      return t1.getMixin$2$namespace(t2, module == null ? null : module._string0$_text) != null ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._EvaluateVisitor_closure42.prototype = {
    call$1($arguments) {
      var t1 = this.$this._async_evaluate0$_environment;
      if (!t1._async_environment0$_inMixin)
        throw A.wrapException(A.SassScriptException$0(string$.conten, null));
      return t1._async_environment0$_content != null ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._EvaluateVisitor_closure43.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.$index$asx($arguments, 0).assertString$1("module")._string0$_text,
        module = this.$this._async_evaluate0$_environment._async_environment0$_modules.$index(0, t1);
      if (module == null)
        throw A.wrapException('There is no module with namespace "' + t1 + '".');
      t1 = type$.Value_2;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t3 = A.MapExtensions_get_pairs0(module.get$variables(), type$.String, t1), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, new A.SassString0(t4._0, true), t4._1);
      }
      return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 36
  };
  A._EvaluateVisitor_closure44.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.$index$asx($arguments, 0).assertString$1("module")._string0$_text,
        module = this.$this._async_evaluate0$_environment._async_environment0$_modules.$index(0, t1);
      if (module == null)
        throw A.wrapException('There is no module with namespace "' + t1 + '".');
      t1 = type$.Value_2;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t3 = A.MapExtensions_get_pairs0(module.get$functions(module), type$.String, type$.AsyncCallable_2), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, new A.SassString0(t4._0, true), new A.SassFunction0(t4._1));
      }
      return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 36
  };
  A._EvaluateVisitor_closure45.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.$index$asx($arguments, 0).assertString$1("module")._string0$_text,
        module = this.$this._async_evaluate0$_environment._async_environment0$_modules.$index(0, t1);
      if (module == null)
        throw A.wrapException('There is no module with namespace "' + t1 + '".');
      t1 = type$.Value_2;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t3 = A.MapExtensions_get_pairs0(module.get$mixins(), type$.String, type$.AsyncCallable_2), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, new A.SassString0(t4._0, true), new A.SassMixin0(t4._1));
      }
      return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 36
  };
  A._EvaluateVisitor_closure46.prototype = {
    call$1($arguments) {
      var module, t2, callable,
        t1 = J.getInterceptor$asx($arguments),
        $name = t1.$index($arguments, 0).assertString$1("name"),
        css = t1.$index($arguments, 1).get$isTruthy();
      t1 = t1.$index($arguments, 2).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      if (css) {
        if (module != null)
          throw A.wrapException(string$.x24css_a);
        return new A.SassFunction0(new A.PlainCssCallable0($name._string0$_text));
      }
      t1 = this.$this;
      t2 = t1._async_evaluate0$_callableNode;
      t2.toString;
      callable = t1._async_evaluate0$_addExceptionSpan$2(t2, new A._EvaluateVisitor__closure14(t1, $name, module));
      if (callable == null)
        throw A.wrapException("Function not found: " + $name.toString$0(0));
      return new A.SassFunction0(callable);
    },
    $signature: 135
  };
  A._EvaluateVisitor__closure14.prototype = {
    call$0() {
      var local,
        normalizedName = A.stringReplaceAllUnchecked(this.name._string0$_text, "_", "-"),
        t1 = this.module,
        namespace = t1 == null ? null : t1._string0$_text;
      t1 = this.$this;
      local = t1._async_evaluate0$_environment.getFunction$2$namespace(normalizedName, namespace);
      if (local != null || namespace != null)
        return local;
      return t1._async_evaluate0$_builtInFunctions.$index(0, normalizedName);
    },
    $signature: 92
  };
  A._EvaluateVisitor_closure47.prototype = {
    call$1($arguments) {
      var module, t2, callable,
        t1 = J.getInterceptor$asx($arguments),
        $name = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this;
      t2 = t1._async_evaluate0$_callableNode;
      t2.toString;
      callable = t1._async_evaluate0$_addExceptionSpan$2(t2, new A._EvaluateVisitor__closure13(t1, $name, module));
      if (callable == null)
        throw A.wrapException("Mixin not found: " + $name.toString$0(0));
      return new A.SassMixin0(callable);
    },
    $signature: 242
  };
  A._EvaluateVisitor__closure13.prototype = {
    call$0() {
      var t1 = this.$this._async_evaluate0$_environment,
        t2 = A.stringReplaceAllUnchecked(this.name._string0$_text, "_", "-"),
        t3 = this.module;
      return t1.getMixin$2$namespace(t2, t3 == null ? null : t3._string0$_text);
    },
    $signature: 92
  };
  A._EvaluateVisitor_closure48.prototype = {
    call$1($arguments) {
      return this.$call$body$_EvaluateVisitor_closure4($arguments);
    },
    $call$body$_EvaluateVisitor_closure4($arguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, invocation, callableNode, t1, $function, args;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = J.getInterceptor$asx($arguments);
              $function = t1.$index($arguments, 0);
              args = type$.SassArgumentList_2._as(t1.$index($arguments, 1));
              t1 = $async$self.$this;
              t2 = t1._async_evaluate0$_callableNode;
              t2.toString;
              t3 = A._setArrayType([], type$.JSArray_Expression_2);
              t4 = type$.String;
              t5 = type$.Expression_2;
              t6 = t2.get$span(t2);
              t7 = t2.get$span(t2);
              args._argument_list$_wereKeywordsAccessed = true;
              t8 = args._argument_list$_keywords;
              if (t8.get$isEmpty(t8))
                t2 = null;
              else {
                t9 = type$.Value_2;
                t10 = A.LinkedHashMap_LinkedHashMap$_empty(t9, t9);
                for (args._argument_list$_wereKeywordsAccessed = true, t8 = A.MapExtensions_get_pairs0(t8, t4, t9), t8 = t8.get$iterator(t8); t8.moveNext$0();) {
                  t11 = t8.get$current(t8);
                  t10.$indexSet(0, new A.SassString0(t11._0, false), t11._1);
                }
                t2 = new A.ValueExpression0(new A.SassMap0(A.ConstantMap_ConstantMap$from(t10, t9, t9)), t2.get$span(t2));
              }
              invocation = new A.ArgumentInvocation0(A.List_List$unmodifiable(t3, t5), A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_empty(t4, t5), t4, t5), new A.ValueExpression0(args, t7), t2, t6);
              $async$goto = $function instanceof A.SassString0 ? 3 : 4;
              break;
            case 3:
              // then
              A.warnForDeprecation0(string$.Passina + $function.toString$0(0) + "))", B.Deprecation_MMc);
              callableNode = t1._async_evaluate0$_callableNode;
              t2 = $function._string0$_text;
              t3 = callableNode.get$span(callableNode);
              t1 = t1.visitFunctionExpression$1(new A.FunctionExpression0(null, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, invocation, t3));
              $async$goto = 5;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$1);
            case 5:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              t2 = $function.assertFunction$1("function");
              t3 = t1._async_evaluate0$_callableNode;
              t3.toString;
              $async$goto = 6;
              return A._asyncAwait(t1._async_evaluate0$_runFunctionCallable$3(invocation, t2.callable, t3), $async$call$1);
            case 6:
              // returning from await.
              t3 = $async$result;
              $async$returnValue = t3;
              // 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: 88
  };
  A._EvaluateVisitor_closure49.prototype = {
    call$1($arguments) {
      return this.$call$body$_EvaluateVisitor_closure3($arguments);
    },
    $call$body$_EvaluateVisitor_closure3($arguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, withMap, t2, values, configuration, t3, t1, url;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = J.getInterceptor$asx($arguments);
              url = A.Uri_parse(t1.$index($arguments, 0).assertString$1("url")._string0$_text);
              t1 = t1.$index($arguments, 1).get$realNull();
              withMap = t1 == null ? null : t1.assertMap$1("with")._map0$_contents;
              t1 = $async$self.$this;
              t2 = t1._async_evaluate0$_callableNode;
              t2.toString;
              if (withMap != null) {
                values = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ConfiguredValue_2);
                withMap.forEach$1(0, new A._EvaluateVisitor__closure11(values, t2.get$span(t2), t2));
                configuration = new A.ExplicitConfiguration0(t2, values, null);
              } else
                configuration = B.Configuration_Map_empty_null0;
              t3 = t2.get$span(t2);
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors(url, "load-css()", t2, new A._EvaluateVisitor__closure12(t1), t3.get$sourceUrl(t3), configuration, true), $async$call$1);
            case 2:
              // returning from await.
              t1._async_evaluate0$_assertConfigurationIsEmpty$2$nameInError(configuration, true);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 241
  };
  A._EvaluateVisitor__closure11.prototype = {
    call$2(variable, value) {
      var t1 = variable.assertString$1("with key"),
        $name = A.stringReplaceAllUnchecked(t1._string0$_text, "_", "-");
      t1 = this.values;
      if (t1.containsKey$1($name))
        throw A.wrapException("The variable $" + $name + " was configured twice.");
      t1.$indexSet(0, $name, new A.ConfiguredValue0(value, this.span, this.callableNode));
    },
    $signature: 76
  };
  A._EvaluateVisitor__closure12.prototype = {
    call$2(module, _) {
      var t1 = this.$this;
      return t1._async_evaluate0$_combineCss$2$clone(module, true).accept$1(t1);
    },
    $signature: 320
  };
  A._EvaluateVisitor_closure50.prototype = {
    call$1($arguments) {
      return this.$call$body$_EvaluateVisitor_closure2($arguments);
    },
    $call$body$_EvaluateVisitor_closure2($arguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, callableNode, t2, t3, t4, t5, t1, mixin, args;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = J.getInterceptor$asx($arguments);
              mixin = t1.$index($arguments, 0);
              args = type$.SassArgumentList_2._as(t1.$index($arguments, 1));
              t1 = $async$self.$this;
              callableNode = t1._async_evaluate0$_callableNode;
              t2 = callableNode.get$span(callableNode);
              t3 = callableNode.get$span(callableNode);
              t4 = type$.Expression_2;
              t5 = A.List_List$unmodifiable(B.List_empty20, t4);
              t4 = A.ConstantMap_ConstantMap$from(B.Map_empty14, type$.String, t4);
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate0$_applyMixin$5(mixin.assertMixin$1("mixin").callable, t1._async_evaluate0$_environment._async_environment0$_content, new A.ArgumentInvocation0(t5, t4, new A.ValueExpression0(args, t3), null, t2), callableNode, callableNode), $async$call$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 241
  };
  A._EvaluateVisitor_run_closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet_2),
        $async$returnValue, $async$self = this, module, t2, t1, _0_0, url;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node;
              _0_0 = t1.span.file.url;
              url = null;
              if (_0_0 != null) {
                url = _0_0;
                t2 = $async$self.$this;
                t2._async_evaluate0$_activeModules.$indexSet(0, url, null);
                if (!(t2._async_evaluate0$_nodeImporter != null && J.toString$0$(url) === "stdin"))
                  t2._async_evaluate0$_loadedUrls.add$1(0, url);
              }
              t2 = $async$self.$this;
              $async$goto = 3;
              return A._asyncAwait(t2._async_evaluate0$_addExceptionTrace$1$1(new A._EvaluateVisitor_run__closure2(t2, $async$self.importer, t1), type$.Module_AsyncCallable_2), $async$call$0);
            case 3:
              // returning from await.
              module = $async$result;
              $async$returnValue = new A._Record_2_loadedUrls_stylesheet(t2._async_evaluate0$_loadedUrls, t2._async_evaluate0$_combineCss$1(module));
              // 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: 321
  };
  A._EvaluateVisitor_run__closure2.prototype = {
    call$0() {
      return this.$this._async_evaluate0$_execute$2(this.importer, this.node);
    },
    $signature: 322
  };
  A._EvaluateVisitor__loadModule_closure5.prototype = {
    call$0() {
      return this.callback.call$2(this._box_1.builtInModule, false);
    },
    $signature: 0
  };
  A._EvaluateVisitor__loadModule_closure6.prototype = {
    call$0() {
      return this.$call$body$_EvaluateVisitor__loadModule_closure0();
    },
    $call$body$_EvaluateVisitor__loadModule_closure0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, canonicalUrl, oldInDependency, isDependency, t4, message, t1, stylesheet, importer, t2, t3, _1_0, $async$temp1;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = {};
              stylesheet = null;
              importer = null;
              t2 = $async$self.$this;
              t3 = $async$self.nodeWithSpan;
              $async$goto = 2;
              return A._asyncAwait(t2._async_evaluate0$_loadStylesheet$3$baseUrl($async$self.url.toString$0(0), t3.get$span(t3), $async$self.baseUrl), $async$call$0);
            case 2:
              // returning from await.
              _1_0 = $async$result;
              stylesheet = _1_0._0;
              importer = _1_0._1;
              isDependency = _1_0._2;
              canonicalUrl = stylesheet.span.file.url;
              if (canonicalUrl != null) {
                t4 = t2._async_evaluate0$_activeModules;
                if (t4.containsKey$1(canonicalUrl)) {
                  if ($async$self.namesInErrors) {
                    t1 = canonicalUrl;
                    t3 = $.$get$context();
                    t1.toString;
                    message = "Module loop: " + t3.prettyUri$1(t1) + " is already being loaded.";
                  } else
                    message = string$.Modulel;
                  t1 = A.NullableExtension_andThen0(t4.$index(0, canonicalUrl), new A._EvaluateVisitor__loadModule__closure5(t2, message));
                  throw A.wrapException(t1 == null ? t2._async_evaluate0$_exception$1(message) : t1);
                } else
                  t4.$indexSet(0, canonicalUrl, t3);
              }
              t4 = t2._async_evaluate0$_modules.containsKey$1(canonicalUrl);
              oldInDependency = t2._async_evaluate0$_inDependency;
              t2._async_evaluate0$_inDependency = isDependency;
              t1.module = null;
              $async$handler = 3;
              $async$temp1 = t1;
              $async$goto = 6;
              return A._asyncAwait(t2._async_evaluate0$_execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, $async$self.configuration, $async$self.namesInErrors, t3), $async$call$0);
            case 6:
              // returning from await.
              $async$temp1.module = $async$result;
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 3:
              // uncaught
              $async$next = [1];
            case 4:
              // finally
              $async$handler = 1;
              t2._async_evaluate0$_activeModules.remove$1(0, canonicalUrl);
              t2._async_evaluate0$_inDependency = oldInDependency;
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 5:
              // after finally
              $async$goto = 7;
              return A._asyncAwait(t2._async_evaluate0$_addExceptionSpanAsync$1$3$addStackFrame(t3, new A._EvaluateVisitor__loadModule__closure6(t1, $async$self.callback, !t4), false, type$.void), $async$call$0);
            case 7:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor__loadModule__closure5.prototype = {
    call$1(previousLoad) {
      return this.$this._async_evaluate0$_multiSpanException$3(this.message, "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String));
    },
    $signature: 94
  };
  A._EvaluateVisitor__loadModule__closure6.prototype = {
    call$0() {
      return this.callback.call$2(this._box_0.module, this.firstLoad);
    },
    $signature: 0
  };
  A._EvaluateVisitor__execute_closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t3, t4, t5, t6, t1, oldImporter, oldStylesheet, oldRoot, oldPreModuleComments, oldParent, oldEndOfImports, oldOutOfOrderImports, oldExtensionStore, t2, oldStyleRule, oldMediaQueries, oldDeclarationName, oldInUnknownAtRule, oldInKeyframes, oldConfiguration;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              oldImporter = t1._async_evaluate0$_importer;
              oldStylesheet = t1._async_evaluate0$__stylesheet;
              oldRoot = t1._async_evaluate0$__root;
              oldPreModuleComments = t1._async_evaluate0$_preModuleComments;
              oldParent = t1._async_evaluate0$__parent;
              oldEndOfImports = t1._async_evaluate0$__endOfImports;
              oldOutOfOrderImports = t1._async_evaluate0$_outOfOrderImports;
              oldExtensionStore = t1._async_evaluate0$__extensionStore;
              t2 = t1._async_evaluate0$_atRootExcludingStyleRule;
              oldStyleRule = t2 ? null : t1._async_evaluate0$_styleRuleIgnoringAtRoot;
              oldMediaQueries = t1._async_evaluate0$_mediaQueries;
              oldDeclarationName = t1._async_evaluate0$_declarationName;
              oldInUnknownAtRule = t1._async_evaluate0$_inUnknownAtRule;
              oldInKeyframes = t1._async_evaluate0$_inKeyframes;
              oldConfiguration = t1._async_evaluate0$_configuration;
              t1._async_evaluate0$_importer = $async$self.importer;
              t3 = t1._async_evaluate0$__stylesheet = $async$self.stylesheet;
              t4 = t3.span;
              t5 = t1._async_evaluate0$__parent = t1._async_evaluate0$__root = A.ModifiableCssStylesheet$0(t4);
              t1._async_evaluate0$__endOfImports = 0;
              t1._async_evaluate0$_outOfOrderImports = null;
              t1._async_evaluate0$__extensionStore = $async$self.extensionStore;
              t1._async_evaluate0$_declarationName = t1._async_evaluate0$_mediaQueries = t1._async_evaluate0$_styleRuleIgnoringAtRoot = null;
              t1._async_evaluate0$_inKeyframes = t1._async_evaluate0$_atRootExcludingStyleRule = t1._async_evaluate0$_inUnknownAtRule = false;
              t6 = $async$self.configuration;
              if (t6 != null)
                t1._async_evaluate0$_configuration = t6;
              $async$goto = 2;
              return A._asyncAwait(t1.visitStylesheet$1(t3), $async$call$0);
            case 2:
              // returning from await.
              t3 = t1._async_evaluate0$_outOfOrderImports == null ? t5 : new A.CssStylesheet0(new A.UnmodifiableListView(t1._async_evaluate0$_addOutOfOrderImports$0(), type$.UnmodifiableListView_CssNode_2), t4);
              $async$self.css.__late_helper$_value = t3;
              $async$self.preModuleComments.__late_helper$_value = t1._async_evaluate0$_preModuleComments;
              t1._async_evaluate0$_importer = oldImporter;
              t1._async_evaluate0$__stylesheet = oldStylesheet;
              t1._async_evaluate0$__root = oldRoot;
              t1._async_evaluate0$_preModuleComments = oldPreModuleComments;
              t1._async_evaluate0$__parent = oldParent;
              t1._async_evaluate0$__endOfImports = oldEndOfImports;
              t1._async_evaluate0$_outOfOrderImports = oldOutOfOrderImports;
              t1._async_evaluate0$__extensionStore = oldExtensionStore;
              t1._async_evaluate0$_styleRuleIgnoringAtRoot = oldStyleRule;
              t1._async_evaluate0$_mediaQueries = oldMediaQueries;
              t1._async_evaluate0$_declarationName = oldDeclarationName;
              t1._async_evaluate0$_inUnknownAtRule = oldInUnknownAtRule;
              t1._async_evaluate0$_atRootExcludingStyleRule = t2;
              t1._async_evaluate0$_inKeyframes = oldInKeyframes;
              t1._async_evaluate0$_configuration = oldConfiguration;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor__combineCss_closure5.prototype = {
    call$1(module) {
      return module.get$transitivelyContainsCss();
    },
    $signature: 112
  };
  A._EvaluateVisitor__combineCss_closure6.prototype = {
    call$1(target) {
      return !this.selectors.contains$1(0, target);
    },
    $signature: 14
  };
  A._EvaluateVisitor__combineCss_visitModule2.prototype = {
    call$1(module) {
      var t1, t2, t3, t4, _i, upstream, _1_0, statements, index, _this = this;
      if (!_this.seen.add$1(0, module))
        return;
      if (_this.clone)
        module = module.cloneCss$0();
      for (t1 = module.get$upstream(), t2 = t1.length, t3 = _this.css, t4 = _this.imports, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        upstream = t1[_i];
        if (upstream.get$transitivelyContainsCss()) {
          _1_0 = module.get$preModuleComments().$index(0, upstream);
          if (_1_0 != null)
            B.JSArray_methods.addAll$1(t3.length === 0 ? t4 : t3, _1_0);
          _this.call$1(upstream);
        }
      }
      _this.sorted.addFirst$1(module);
      t1 = module.get$css(module);
      statements = t1.get$children(t1);
      index = _this.$this._async_evaluate0$_indexAfterImports$1(statements);
      t1 = J.getInterceptor$ax(statements);
      B.JSArray_methods.addAll$1(t4, t1.getRange$2(statements, 0, index));
      B.JSArray_methods.addAll$1(t3, t1.getRange$2(statements, index, t1.get$length(statements)));
    },
    $signature: 324
  };
  A._EvaluateVisitor__extendModules_closure5.prototype = {
    call$1(target) {
      return !this.originalSelectors.contains$1(0, target);
    },
    $signature: 14
  };
  A._EvaluateVisitor__extendModules_closure6.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_ExtensionStore_2);
    },
    $signature: 264
  };
  A._EvaluateVisitor_visitAtRootRule_closure5.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitAtRootRule_closure6.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A._EvaluateVisitor__scopeForAtRoot_closure17.prototype = {
    call$1(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = t1._async_evaluate0$_assertInModule$2(t1._async_evaluate0$__parent, "__parent");
              t1._async_evaluate0$__parent = $async$self.newParent;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate0$_environment.scope$1$2$when(callback, $async$self.node.hasDeclarations, type$.void), $async$call$1);
            case 2:
              // returning from await.
              t1._async_evaluate0$__parent = t2;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 38
  };
  A._EvaluateVisitor__scopeForAtRoot_closure18.prototype = {
    call$1(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, oldAtRootExcludingStyleRule;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              oldAtRootExcludingStyleRule = t1._async_evaluate0$_atRootExcludingStyleRule;
              t1._async_evaluate0$_atRootExcludingStyleRule = true;
              $async$goto = 2;
              return A._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1);
            case 2:
              // returning from await.
              t1._async_evaluate0$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 38
  };
  A._EvaluateVisitor__scopeForAtRoot_closure19.prototype = {
    call$1(callback) {
      return this.$this._async_evaluate0$_withMediaQueries$1$3(null, null, new A._EvaluateVisitor__scopeForAtRoot__closure2(this.innerScope, callback), type$.Null);
    },
    $signature: 38
  };
  A._EvaluateVisitor__scopeForAtRoot__closure2.prototype = {
    call$0() {
      return this.innerScope.call$1(this.callback);
    },
    $signature: 2
  };
  A._EvaluateVisitor__scopeForAtRoot_closure20.prototype = {
    call$1(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, wasInKeyframes;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              wasInKeyframes = t1._async_evaluate0$_inKeyframes;
              t1._async_evaluate0$_inKeyframes = false;
              $async$goto = 2;
              return A._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1);
            case 2:
              // returning from await.
              t1._async_evaluate0$_inKeyframes = wasInKeyframes;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 38
  };
  A._EvaluateVisitor__scopeForAtRoot_closure21.prototype = {
    call$1($parent) {
      return $parent instanceof A.ModifiableCssAtRule0;
    },
    $signature: 237
  };
  A._EvaluateVisitor__scopeForAtRoot_closure22.prototype = {
    call$1(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, wasInUnknownAtRule;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              wasInUnknownAtRule = t1._async_evaluate0$_inUnknownAtRule;
              t1._async_evaluate0$_inUnknownAtRule = false;
              $async$goto = 2;
              return A._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1);
            case 2:
              // returning from await.
              t1._async_evaluate0$_inUnknownAtRule = wasInUnknownAtRule;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 38
  };
  A._EvaluateVisitor_visitContentRule_closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$returnValue, $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.content.declaration.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 6:
              // returning from await.
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = null;
              // 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._EvaluateVisitor_visitDeclaration_closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self._box_0.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitEachRule_closure8.prototype = {
    call$1(value) {
      var t1 = this.$this,
        t2 = this.nodeWithSpan;
      return t1._async_evaluate0$_environment.setLocalVariable$3(this._box_0.variable, t1._async_evaluate0$_withoutSlash$2(value, t2), t2);
    },
    $signature: 62
  };
  A._EvaluateVisitor_visitEachRule_closure9.prototype = {
    call$1(value) {
      return this.$this._async_evaluate0$_setMultipleVariables$3(this._box_0.variables, value, this.nodeWithSpan);
    },
    $signature: 62
  };
  A._EvaluateVisitor_visitEachRule_closure10.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this;
      return t1._async_evaluate0$_handleReturn$2(_this.list.get$asList(), new A._EvaluateVisitor_visitEachRule__closure2(t1, _this.setVariables, _this.node));
    },
    $signature: 74
  };
  A._EvaluateVisitor_visitEachRule__closure2.prototype = {
    call$1(element) {
      var t1;
      this.setVariables.call$1(element);
      t1 = this.$this;
      return t1._async_evaluate0$_handleReturn$2(this.node.children, new A._EvaluateVisitor_visitEachRule___closure2(t1));
    },
    $signature: 329
  };
  A._EvaluateVisitor_visitEachRule___closure2.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 97
  };
  A._EvaluateVisitor_visitAtRule_closure8.prototype = {
    call$1(value) {
      return this.$this._async_evaluate0$_interpolationToValue$3$trim$warnForColor(value, true, true);
    },
    $signature: 331
  };
  A._EvaluateVisitor_visitAtRule_closure9.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t2, t3, _i, t1, styleRule;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              styleRule = t1._async_evaluate0$_atRootExcludingStyleRule ? null : t1._async_evaluate0$_styleRuleIgnoringAtRoot;
              $async$goto = styleRule == null || t1._async_evaluate0$_inKeyframes || J.$eq$($async$self.name.value, "font-face") ? 2 : 4;
              break;
            case 2:
              // then
              t2 = $async$self.children, t3 = t2.length, _i = 0;
            case 5:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 7;
                break;
              }
              $async$goto = 8;
              return A._asyncAwait(t2[_i].accept$1(t1), $async$call$0);
            case 8:
              // returning from await.
            case 6:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 5;
              break;
            case 7:
              // after for
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              $async$goto = 9;
              return A._asyncAwait(t1._async_evaluate0$_withParent$2$3$scopeWhen(A.ModifiableCssStyleRule$0(styleRule._style_rule0$_selector, styleRule.span, false, styleRule.originalSelector), new A._EvaluateVisitor_visitAtRule__closure2(t1, $async$self.children), false, type$.ModifiableCssStyleRule_2, type$.Null), $async$call$0);
            case 9:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitAtRule__closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitAtRule_closure10.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitForRule_closure14.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassNumber_2),
        $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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self.node.from.accept$1($async$self.$this), $async$call$0);
            case 3:
              // returning from await.
              $async$returnValue = $async$result.assertNumber$0();
              // 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: 232
  };
  A._EvaluateVisitor_visitForRule_closure15.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SassNumber_2),
        $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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait($async$self.node.to.accept$1($async$self.$this), $async$call$0);
            case 3:
              // returning from await.
              $async$returnValue = $async$result.assertNumber$0();
              // 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: 232
  };
  A._EvaluateVisitor_visitForRule_closure16.prototype = {
    call$0() {
      return this.fromNumber.assertInt$0();
    },
    $signature: 10
  };
  A._EvaluateVisitor_visitForRule_closure17.prototype = {
    call$0() {
      var t1 = this.fromNumber;
      return this.toNumber.coerce$2(t1.get$numeratorUnits(t1), t1.get$denominatorUnits(t1)).assertInt$0();
    },
    $signature: 10
  };
  A._EvaluateVisitor_visitForRule_closure18.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, i, t3, t4, t5, t6, t7, t8, _0_0, t1, t2, nodeWithSpan;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self.node;
              nodeWithSpan = t1._async_evaluate0$_expressionNode$1(t2.from);
              i = $async$self.from, t3 = $async$self._box_0, t4 = $async$self.direction, t5 = t2.variable, t6 = $async$self.fromNumber, t2 = t2.children;
            case 3:
              // for condition
              if (!(i !== t3.to)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              t7 = t1._async_evaluate0$_environment;
              t8 = t6.get$numeratorUnits(t6);
              t7.setLocalVariable$3(t5, A.SassNumber_SassNumber$withUnits0(i, t6.get$denominatorUnits(t6), t8), nodeWithSpan);
              $async$goto = 6;
              return A._asyncAwait(t1._async_evaluate0$_handleReturn$2(t2, new A._EvaluateVisitor_visitForRule__closure2(t1)), $async$call$0);
            case 6:
              // returning from await.
              _0_0 = $async$result;
              if (_0_0 != null) {
                $async$returnValue = _0_0;
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // for update
              i += t4;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = null;
              // 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: 74
  };
  A._EvaluateVisitor_visitForRule__closure2.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 97
  };
  A._EvaluateVisitor_visitForwardRule_closure5.prototype = {
    call$2(module, firstLoad) {
      if (firstLoad)
        this.$this._async_evaluate0$_registerCommentsForModule$1(module);
      this.$this._async_evaluate0$_environment.forwardModule$2(module, this.node);
    },
    $signature: 109
  };
  A._EvaluateVisitor_visitForwardRule_closure6.prototype = {
    call$2(module, firstLoad) {
      if (firstLoad)
        this.$this._async_evaluate0$_registerCommentsForModule$1(module);
      this.$this._async_evaluate0$_environment.forwardModule$2(module, this.node);
    },
    $signature: 109
  };
  A._EvaluateVisitor__registerCommentsForModule_closure2.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_CssComment_2);
    },
    $signature: 229
  };
  A._EvaluateVisitor_visitIfRule_closure2.prototype = {
    call$1(clause) {
      var t1 = this.$this;
      return t1._async_evaluate0$_environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitIfRule__closure2(t1, clause), true, clause.hasDeclarations, type$.nullable_Value_2);
    },
    $signature: 336
  };
  A._EvaluateVisitor_visitIfRule__closure2.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1._async_evaluate0$_handleReturn$2(this.clause.children, new A._EvaluateVisitor_visitIfRule___closure2(t1));
    },
    $signature: 74
  };
  A._EvaluateVisitor_visitIfRule___closure2.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 97
  };
  A._EvaluateVisitor__visitDynamicImport_closure2.prototype = {
    call$0() {
      return this.$call$body$_EvaluateVisitor__visitDynamicImport_closure0();
    },
    $call$body$_EvaluateVisitor__visitDynamicImport_closure0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, _0_0, stylesheet, importer, isDependency, url, t3, oldImporter, oldInDependency, loadsUserDefinedModules, children, t4, t5, t6, t7, t8, t9, t10, environment, module, visitor, _box_0;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              _box_0 = {};
              _box_0.isDependency = _box_0.importer = _box_0.stylesheet = null;
              t1 = $async$self.$this;
              t2 = $async$self.$import;
              $async$goto = 3;
              return A._asyncAwait(t1._async_evaluate0$_loadStylesheet$3$forImport(t2.urlString, t2.span, true), $async$call$0);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              stylesheet = _box_0.stylesheet = _0_0._0;
              importer = _0_0._1;
              _box_0.importer = importer;
              isDependency = _0_0._2;
              _box_0.isDependency = isDependency;
              url = stylesheet.span.file.url;
              if (url != null) {
                t3 = t1._async_evaluate0$_activeModules;
                if (t3.containsKey$1(url)) {
                  t2 = A.NullableExtension_andThen0(t3.$index(0, url), new A._EvaluateVisitor__visitDynamicImport__closure11(t1));
                  throw A.wrapException(t2 == null ? t1._async_evaluate0$_exception$1("This file is already being loaded.") : t2);
                }
                t3.$indexSet(0, url, t2);
              }
              t2 = stylesheet._stylesheet1$_uses;
              t3 = type$.UnmodifiableListView_UseRule_2;
              $async$goto = new A.UnmodifiableListView(t2, t3).get$length(0) === 0 && new A.UnmodifiableListView(stylesheet._stylesheet1$_forwards, type$.UnmodifiableListView_ForwardRule_2).get$length(0) === 0 ? 4 : 5;
              break;
            case 4:
              // then
              oldImporter = t1._async_evaluate0$_importer;
              t2 = t1._async_evaluate0$_assertInModule$2(t1._async_evaluate0$__stylesheet, "_stylesheet");
              oldInDependency = t1._async_evaluate0$_inDependency;
              t1._async_evaluate0$_importer = importer;
              t1._async_evaluate0$__stylesheet = stylesheet;
              t1._async_evaluate0$_inDependency = isDependency;
              $async$goto = 6;
              return A._asyncAwait(t1.visitStylesheet$1(stylesheet), $async$call$0);
            case 6:
              // returning from await.
              t1._async_evaluate0$_importer = oldImporter;
              t1._async_evaluate0$__stylesheet = t2;
              t1._async_evaluate0$_inDependency = oldInDependency;
              t1._async_evaluate0$_activeModules.remove$1(0, url);
              // goto return
              $async$goto = 1;
              break;
            case 5:
              // join
              t2 = new A.UnmodifiableListView(t2, t3);
              if (!t2.any$1(t2, new A._EvaluateVisitor__visitDynamicImport__closure12())) {
                t2 = new A.UnmodifiableListView(stylesheet._stylesheet1$_forwards, type$.UnmodifiableListView_ForwardRule_2);
                loadsUserDefinedModules = t2.any$1(t2, new A._EvaluateVisitor__visitDynamicImport__closure13());
              } else
                loadsUserDefinedModules = true;
              children = A._Cell$();
              t2 = t1._async_evaluate0$_environment;
              t3 = type$.String;
              t4 = type$.Module_AsyncCallable_2;
              t5 = type$.AstNode_2;
              t6 = A._setArrayType([], type$.JSArray_Module_AsyncCallable_2);
              t7 = t2._async_environment0$_variables;
              t7 = A._setArrayType(t7.slice(0), A._arrayInstanceType(t7));
              t8 = t2._async_environment0$_variableNodes;
              t8 = A._setArrayType(t8.slice(0), A._arrayInstanceType(t8));
              t9 = t2._async_environment0$_functions;
              t9 = A._setArrayType(t9.slice(0), A._arrayInstanceType(t9));
              t10 = t2._async_environment0$_mixins;
              t10 = A._setArrayType(t10.slice(0), A._arrayInstanceType(t10));
              environment = A.AsyncEnvironment$_0(A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t3, t5), A.LinkedHashMap_LinkedHashMap$_empty(t4, t5), t2._async_environment0$_importedModules, null, null, t6, t7, t8, t9, t10, t2._async_environment0$_content);
              $async$goto = 7;
              return A._asyncAwait(t1._async_evaluate0$_withEnvironment$1$2(environment, new A._EvaluateVisitor__visitDynamicImport__closure14(_box_0, t1, loadsUserDefinedModules, environment, children), type$.Null), $async$call$0);
            case 7:
              // returning from await.
              module = environment.toDummyModule$0();
              t1._async_evaluate0$_environment.importForwards$1(module);
              $async$goto = loadsUserDefinedModules ? 8 : 9;
              break;
            case 8:
              // then
              $async$goto = module.transitivelyContainsCss ? 10 : 11;
              break;
            case 10:
              // then
              $async$goto = 12;
              return A._asyncAwait(t1._async_evaluate0$_combineCss$2$clone(module, module.transitivelyContainsExtensions).accept$1(t1), $async$call$0);
            case 12:
              // returning from await.
            case 11:
              // join
              visitor = new A._ImportedCssVisitor2(t1);
              for (t2 = J.get$iterator$ax(children._readLocal$0()); t2.moveNext$0();)
                t2.get$current(t2).accept$1(visitor);
            case 9:
              // join
              t1._async_evaluate0$_activeModules.remove$1(0, url);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A._EvaluateVisitor__visitDynamicImport__closure11.prototype = {
    call$1(previousLoad) {
      return this.$this._async_evaluate0$_multiSpanException$3("This file is already being loaded.", "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String));
    },
    $signature: 94
  };
  A._EvaluateVisitor__visitDynamicImport__closure12.prototype = {
    call$1(rule) {
      return rule.url.get$scheme() !== "sass";
    },
    $signature: 228
  };
  A._EvaluateVisitor__visitDynamicImport__closure13.prototype = {
    call$1(rule) {
      return rule.url.get$scheme() !== "sass";
    },
    $signature: 227
  };
  A._EvaluateVisitor__visitDynamicImport__closure14.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t7, t8, t1, oldImporter, t2, t3, t4, t5, oldOutOfOrderImports, oldConfiguration, oldInDependency, t6;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              oldImporter = t1._async_evaluate0$_importer;
              t2 = t1._async_evaluate0$_assertInModule$2(t1._async_evaluate0$__stylesheet, "_stylesheet");
              t3 = t1._async_evaluate0$_assertInModule$2(t1._async_evaluate0$__root, "_root");
              t4 = t1._async_evaluate0$_assertInModule$2(t1._async_evaluate0$__parent, "__parent");
              t5 = t1._async_evaluate0$_assertInModule$2(t1._async_evaluate0$__endOfImports, "_endOfImports");
              oldOutOfOrderImports = t1._async_evaluate0$_outOfOrderImports;
              oldConfiguration = t1._async_evaluate0$_configuration;
              oldInDependency = t1._async_evaluate0$_inDependency;
              t6 = $async$self._box_0;
              t1._async_evaluate0$_importer = t6.importer;
              t7 = t6.stylesheet;
              t1._async_evaluate0$__stylesheet = t7;
              t8 = $async$self.loadsUserDefinedModules;
              if (t8) {
                t7 = A.ModifiableCssStylesheet$0(t7.span);
                t1._async_evaluate0$__root = t7;
                t1._async_evaluate0$__parent = t1._async_evaluate0$_assertInModule$2(t7, "_root");
                t1._async_evaluate0$__endOfImports = 0;
                t1._async_evaluate0$_outOfOrderImports = null;
              }
              t1._async_evaluate0$_inDependency = t6.isDependency;
              t7 = new A.UnmodifiableListView(t6.stylesheet._stylesheet1$_forwards, type$.UnmodifiableListView_ForwardRule_2);
              if (!t7.get$isEmpty(t7))
                t1._async_evaluate0$_configuration = $async$self.environment.toImplicitConfiguration$0();
              $async$goto = 2;
              return A._asyncAwait(t1.visitStylesheet$1(t6.stylesheet), $async$call$0);
            case 2:
              // returning from await.
              t6 = t8 ? t1._async_evaluate0$_addOutOfOrderImports$0() : A._setArrayType([], type$.JSArray_ModifiableCssNode_2);
              $async$self.children.__late_helper$_value = t6;
              t1._async_evaluate0$_importer = oldImporter;
              t1._async_evaluate0$__stylesheet = t2;
              if (t8) {
                t1._async_evaluate0$__root = t3;
                t1._async_evaluate0$__parent = t4;
                t1._async_evaluate0$__endOfImports = t5;
                t1._async_evaluate0$_outOfOrderImports = oldOutOfOrderImports;
              }
              t1._async_evaluate0$_configuration = oldConfiguration;
              t1._async_evaluate0$_inDependency = oldInDependency;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor__applyMixin_closure5.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate0$_environment.asMixin$1(new A._EvaluateVisitor__applyMixin__closure6(t1, $async$self.$arguments, $async$self.mixin, $async$self.nodeWithSpanWithoutContent)), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A._EvaluateVisitor__applyMixin__closure6.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 2;
              return A._asyncAwait($async$self.$this._async_evaluate0$_runBuiltInCallable$3($async$self.$arguments, $async$self.mixin, $async$self.nodeWithSpanWithoutContent), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A._EvaluateVisitor__applyMixin_closure6.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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate0$_environment.withContent$2($async$self.contentCallable, new A._EvaluateVisitor__applyMixin__closure5(t1, $async$self.mixin, $async$self.nodeWithSpanWithoutContent)), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor__applyMixin__closure5.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate0$_environment.asMixin$1(new A._EvaluateVisitor__applyMixin___closure2(t1, $async$self.mixin, $async$self.nodeWithSpanWithoutContent)), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A._EvaluateVisitor__applyMixin___closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, t4, t5, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.mixin.declaration.children, t2 = t1.length, t3 = $async$self.$this, t4 = $async$self.nodeWithSpanWithoutContent, t5 = type$.nullable_Value_2, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t3._async_evaluate0$_addErrorSpan$1$2(t4, new A._EvaluateVisitor__applyMixin____closure2(t3, t1[_i]), t5), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 25
  };
  A._EvaluateVisitor__applyMixin____closure2.prototype = {
    call$0() {
      return this.statement.accept$1(this.$this);
    },
    $signature: 74
  };
  A._EvaluateVisitor_visitIncludeRule_closure8.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._async_evaluate0$_environment.getMixin$2$namespace(t1.name, t1.namespace);
    },
    $signature: 92
  };
  A._EvaluateVisitor_visitIncludeRule_closure9.prototype = {
    call$1($content) {
      var t1 = this.$this;
      return new A.UserDefinedCallable0($content, t1._async_evaluate0$_environment.closure$0(), t1._async_evaluate0$_inDependency, type$.UserDefinedCallable_AsyncEnvironment_2);
    },
    $signature: 339
  };
  A._EvaluateVisitor_visitIncludeRule_closure10.prototype = {
    call$0() {
      return this.node.get$spanWithoutContent();
    },
    $signature: 27
  };
  A._EvaluateVisitor_visitMediaRule_closure8.prototype = {
    call$1(mediaQueries) {
      return this.$this._async_evaluate0$_mergeMediaQueries$2(mediaQueries, this.queries);
    },
    $signature: 100
  };
  A._EvaluateVisitor_visitMediaRule_closure9.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self.mergedQueries;
              if (t2 == null)
                t2 = $async$self.queries;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate0$_withMediaQueries$1$3(t2, $async$self.mergedSources, new A._EvaluateVisitor_visitMediaRule__closure2(t1, $async$self.node), type$.Null), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitMediaRule__closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t2, t3, _i, t1, _0_0;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              _0_0 = t1._async_evaluate0$_atRootExcludingStyleRule ? null : t1._async_evaluate0$_styleRuleIgnoringAtRoot;
              $async$goto = _0_0 != null ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1._async_evaluate0$_withParent$2$3$scopeWhen(A.ModifiableCssStyleRule$0(_0_0._style_rule0$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitMediaRule___closure2(t1, $async$self.node), false, type$.ModifiableCssStyleRule_2, type$.Null), $async$call$0);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t2 = $async$self.node.children, t3 = t2.length, _i = 0;
            case 6:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 8;
                break;
              }
              $async$goto = 9;
              return A._asyncAwait(t2[_i].accept$1(t1), $async$call$0);
            case 9:
              // returning from await.
            case 7:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 6;
              break;
            case 8:
              // after for
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitMediaRule___closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitMediaRule_closure10.prototype = {
    call$1(node) {
      var t1;
      if (!(node instanceof A.ModifiableCssStyleRule0)) {
        t1 = this.mergedSources;
        t1 = t1.get$isNotEmpty(t1) && node instanceof A.ModifiableCssMediaRule0 && B.JSArray_methods.every$1(node.queries, t1.get$contains(t1));
      } else
        t1 = true;
      return t1;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitStyleRule_closure11.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitStyleRule_closure12.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitStyleRule_closure14.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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate0$_withStyleRule$1$2($async$self.rule, new A._EvaluateVisitor_visitStyleRule__closure2(t1, $async$self.node), type$.Null), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitStyleRule__closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitStyleRule_closure13.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor__warnForBogusCombinators_closure2.prototype = {
    call$1(child) {
      return child instanceof A.ModifiableCssComment0;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitSupportsRule_closure5.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t2, t3, _i, t1, _0_0;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              _0_0 = t1._async_evaluate0$_atRootExcludingStyleRule ? null : t1._async_evaluate0$_styleRuleIgnoringAtRoot;
              $async$goto = _0_0 != null ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1._async_evaluate0$_withParent$2$2(A.ModifiableCssStyleRule$0(_0_0._style_rule0$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitSupportsRule__closure2(t1, $async$self.node), type$.ModifiableCssStyleRule_2, type$.Null), $async$call$0);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t2 = $async$self.node.children, t3 = t2.length, _i = 0;
            case 6:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 8;
                break;
              }
              $async$goto = 9;
              return A._asyncAwait(t2[_i].accept$1(t1), $async$call$0);
            case 9:
              // returning from await.
            case 7:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 6;
              break;
            case 8:
              // after for
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitSupportsRule__closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, _i;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
            case 2:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
            case 3:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitSupportsRule_closure6.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor__visitSupportsCondition_closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, $async$temp1, $async$temp2;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self._box_0;
              $async$temp1 = A;
              $async$goto = 3;
              return A._asyncAwait(t1._async_evaluate0$_evaluateToCss$1(t2.declaration.name), $async$call$0);
            case 3:
              // returning from await.
              t3 = $async$temp1.S($async$result);
              t4 = t2.declaration.get$isCustomProperty() ? "" : " ";
              $async$temp1 = "(" + t3 + ":" + t4;
              $async$temp2 = A;
              $async$goto = 4;
              return A._asyncAwait(t1._async_evaluate0$_evaluateToCss$1(t2.declaration.value), $async$call$0);
            case 4:
              // returning from await.
              $async$returnValue = $async$temp1 + $async$temp2.S($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: 176
  };
  A._EvaluateVisitor_visitVariableDeclaration_closure8.prototype = {
    call$0() {
      var t1 = this.$this._async_evaluate0$_environment,
        t2 = this._box_0.override;
      t1.setVariable$4$global(this.node.name, t2.value, t2.assignmentNode, true);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitVariableDeclaration_closure9.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._async_evaluate0$_environment.getVariable$2$namespace(t1.name, t1.namespace);
    },
    $signature: 41
  };
  A._EvaluateVisitor_visitVariableDeclaration_closure10.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = this.node;
      t1._async_evaluate0$_environment.setVariable$5$global$namespace(t2.name, this.value, t1._async_evaluate0$_expressionNode$1(t2.expression), t2.isGlobal, t2.namespace);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitUseRule_closure2.prototype = {
    call$2(module, firstLoad) {
      var t1, t2, t3, _0_0, t4, t5, span;
      if (firstLoad)
        this.$this._async_evaluate0$_registerCommentsForModule$1(module);
      t1 = this.$this._async_evaluate0$_environment;
      t2 = this.node;
      t3 = t2.namespace;
      if (t3 == null) {
        t1._async_environment0$_globalModules.$indexSet(0, module, t2);
        t1._async_environment0$_allModules.push(module);
        _0_0 = A.IterableExtension_firstWhereOrNull(J.get$keys$z(B.JSArray_methods.get$first(t1._async_environment0$_variables)), module.get$variables().get$containsKey());
        if (_0_0 != null)
          A.throwExpression(A.SassScriptException$0(string$.This_ma + _0_0 + '".', null));
      } else {
        t4 = t1._async_environment0$_modules;
        if (t4.containsKey$1(t3)) {
          t5 = t1._async_environment0$_namespaceNodes.$index(0, t3);
          span = t5 == null ? null : t5.span;
          t5 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
          if (span != null)
            t5.$indexSet(0, span, "original @use");
          A.throwExpression(A.MultiSpanSassScriptException$0(string$.There_ + t3 + '".', "new @use", t5));
        }
        t4.$indexSet(0, t3, module);
        t1._async_environment0$_namespaceNodes.$indexSet(0, t3, t2);
        t1._async_environment0$_allModules.push(module);
      }
    },
    $signature: 109
  };
  A._EvaluateVisitor_visitWarnRule_closure2.prototype = {
    call$0() {
      return this.node.expression.accept$1(this.$this);
    },
    $signature: 64
  };
  A._EvaluateVisitor_visitWhileRule_closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2),
        $async$returnValue, $async$self = this, t1, t2, t3, _0_0;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node, t2 = t1.condition, t3 = $async$self.$this, t1 = t1.children;
            case 3:
              // for condition
              $async$goto = 5;
              return A._asyncAwait(t2.accept$1(t3), $async$call$0);
            case 5:
              // returning from await.
              if (!$async$result.get$isTruthy()) {
                // goto after for
                $async$goto = 4;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(t3._async_evaluate0$_handleReturn$2(t1, new A._EvaluateVisitor_visitWhileRule__closure2(t3)), $async$call$0);
            case 6:
              // returning from await.
              _0_0 = $async$result;
              if (_0_0 != null) {
                $async$returnValue = _0_0;
                // goto return
                $async$goto = 1;
                break;
              }
              // goto for condition
              $async$goto = 3;
              break;
            case 4:
              // after for
              $async$returnValue = null;
              // 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: 74
  };
  A._EvaluateVisitor_visitWhileRule__closure2.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 97
  };
  A._EvaluateVisitor_visitBinaryOperationExpression_closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, t3, t1, t2, left, $async$temp1, $async$temp2;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node;
              t2 = $async$self.$this;
              $async$goto = 3;
              return A._asyncAwait(t1.left.accept$1(t2), $async$call$0);
            case 3:
              // returning from await.
              left = $async$result;
            case 4:
              // switch
              switch (t1.operator) {
                case B.BinaryOperator_wdM0:
                  // goto case
                  $async$goto = 6;
                  break;
                case B.BinaryOperator_qNM0:
                  // goto case
                  $async$goto = 7;
                  break;
                case B.BinaryOperator_eDt0:
                  // goto case
                  $async$goto = 8;
                  break;
                case B.BinaryOperator_g8k0:
                  // goto case
                  $async$goto = 9;
                  break;
                case B.BinaryOperator_icU0:
                  // goto case
                  $async$goto = 10;
                  break;
                case B.BinaryOperator_bEa0:
                  // goto case
                  $async$goto = 11;
                  break;
                case B.BinaryOperator_oEm0:
                  // goto case
                  $async$goto = 12;
                  break;
                case B.BinaryOperator_miq0:
                  // goto case
                  $async$goto = 13;
                  break;
                case B.BinaryOperator_SPQ0:
                  // goto case
                  $async$goto = 14;
                  break;
                case B.BinaryOperator_u150:
                  // goto case
                  $async$goto = 15;
                  break;
                case B.BinaryOperator_SjO0:
                  // goto case
                  $async$goto = 16;
                  break;
                case B.BinaryOperator_2No0:
                  // goto case
                  $async$goto = 17;
                  break;
                case B.BinaryOperator_U770:
                  // goto case
                  $async$goto = 18;
                  break;
                case B.BinaryOperator_KNx0:
                  // goto case
                  $async$goto = 19;
                  break;
                default:
                  // goto default
                  $async$goto = 20;
                  break;
              }
              break;
            case 6:
              // case
              t1 = t1.right.accept$1(t2);
              $async$goto = 21;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$0);
            case 21:
              // returning from await.
              t1 = $async$result;
              t1 = new A.SassString0(A.serializeValue0(left, false, true) + "=" + A.serializeValue0(t1, false, true), false);
              // goto after switch
              $async$goto = 5;
              break;
            case 7:
              // case
              $async$goto = left.get$isTruthy() ? 22 : 24;
              break;
            case 22:
              // then
              t1 = left;
              // goto join
              $async$goto = 23;
              break;
            case 24:
              // else
              t1 = t1.right.accept$1(t2);
              $async$goto = 25;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$0);
            case 25:
              // returning from await.
              t1 = $async$result;
            case 23:
              // join
              // goto after switch
              $async$goto = 5;
              break;
            case 8:
              // case
              $async$goto = left.get$isTruthy() ? 26 : 28;
              break;
            case 26:
              // then
              t1 = t1.right.accept$1(t2);
              $async$goto = 29;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$0);
            case 29:
              // returning from await.
              t1 = $async$result;
              // goto join
              $async$goto = 27;
              break;
            case 28:
              // else
              t1 = left;
            case 27:
              // join
              // goto after switch
              $async$goto = 5;
              break;
            case 9:
              // case
              $async$temp1 = left;
              $async$goto = 30;
              return A._asyncAwait(t1.right.accept$1(t2), $async$call$0);
            case 30:
              // returning from await.
              t1 = $async$temp1.$eq(0, $async$result) ? B.SassBoolean_true0 : B.SassBoolean_false0;
              // goto after switch
              $async$goto = 5;
              break;
            case 10:
              // case
              $async$temp1 = left;
              $async$goto = 31;
              return A._asyncAwait(t1.right.accept$1(t2), $async$call$0);
            case 31:
              // returning from await.
              t1 = !$async$temp1.$eq(0, $async$result) ? B.SassBoolean_true0 : B.SassBoolean_false0;
              // goto after switch
              $async$goto = 5;
              break;
            case 11:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 32;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$0);
            case 32:
              // returning from await.
              t1 = $async$temp1.greaterThan$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 12:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 33;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$0);
            case 33:
              // returning from await.
              t1 = $async$temp1.greaterThanOrEquals$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 13:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 34;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$0);
            case 34:
              // returning from await.
              t1 = $async$temp1.lessThan$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 14:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 35;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$0);
            case 35:
              // returning from await.
              t1 = $async$temp1.lessThanOrEquals$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 15:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 36;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$0);
            case 36:
              // returning from await.
              t1 = $async$temp1.plus$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 16:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 37;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$0);
            case 37:
              // returning from await.
              t1 = $async$temp1.minus$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 17:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 38;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$0);
            case 38:
              // returning from await.
              t1 = $async$temp1.times$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 18:
              // case
              t3 = t1.right.accept$1(t2);
              $async$temp1 = t2;
              $async$temp2 = left;
              $async$goto = 39;
              return A._asyncAwait(type$.Future_Value_2._is(t3) ? t3 : A._Future$value(t3, type$.Value_2), $async$call$0);
            case 39:
              // returning from await.
              t1 = $async$temp1._async_evaluate0$_slash$3($async$temp2, $async$result, t1);
              // goto after switch
              $async$goto = 5;
              break;
            case 19:
              // case
              t1 = t1.right.accept$1(t2);
              $async$temp1 = left;
              $async$goto = 40;
              return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$0);
            case 40:
              // returning from await.
              t1 = $async$temp1.modulo$1($async$result);
              // goto after switch
              $async$goto = 5;
              break;
            case 20:
              // default
              t1 = null;
            case 5:
              // after switch
              $async$returnValue = t1;
              // 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: 64
  };
  A._EvaluateVisitor__slash_recommendation2.prototype = {
    call$1(expression) {
      var t1;
      $label0$0: {
        if (expression instanceof A.BinaryOperationExpression0 && B.BinaryOperator_U770 === expression.operator) {
          t1 = "math.div(" + A.S(this.call$1(expression.left)) + ", " + A.S(this.call$1(expression.right)) + ")";
          break $label0$0;
        }
        if (expression instanceof A.ParenthesizedExpression0) {
          t1 = expression.expression.toString$0(0);
          break $label0$0;
        }
        t1 = expression.toString$0(0);
        break $label0$0;
      }
      return t1;
    },
    $signature: 107
  };
  A._EvaluateVisitor_visitVariableExpression_closure2.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._async_evaluate0$_environment.getVariable$2$namespace(t1.name, t1.namespace);
    },
    $signature: 41
  };
  A._EvaluateVisitor_visitUnaryOperationExpression_closure2.prototype = {
    call$0() {
      var t1, _this = this;
      switch (_this.node.operator) {
        case B.UnaryOperator_cLp0:
          t1 = _this.operand.unaryPlus$0();
          break;
        case B.UnaryOperator_AiQ0:
          t1 = _this.operand.unaryMinus$0();
          break;
        case B.UnaryOperator_SJr0:
          t1 = new A.SassString0("/" + A.serializeValue0(_this.operand, false, true), false);
          break;
        case B.UnaryOperator_not_not_not0:
          t1 = _this.operand.unaryNot$0();
          break;
        default:
          t1 = null;
      }
      return t1;
    },
    $signature: 47
  };
  A._EvaluateVisitor_visitListExpression_closure2.prototype = {
    call$1(expression) {
      return expression.accept$1(this.$this);
    },
    $signature: 345
  };
  A._EvaluateVisitor_visitFunctionExpression_closure8.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._async_evaluate0$_environment.getFunction$2$namespace(t1.name, t1.namespace);
    },
    $signature: 92
  };
  A._EvaluateVisitor_visitFunctionExpression_closure9.prototype = {
    call$1(argument) {
      return argument.accept$1(new A._IsCalculationSafeVisitor0());
    },
    $signature: 132
  };
  A._EvaluateVisitor_visitFunctionExpression_closure10.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._async_evaluate0$_runFunctionCallable$3(t1.$arguments, this._box_0.$function, t1);
    },
    $signature: 64
  };
  A._EvaluateVisitor__checkCalculationArguments_check2.prototype = {
    call$1(maxArgs) {
      var t1 = this.node,
        t2 = t1.$arguments.positional.length;
      if (t2 === 0)
        throw A.wrapException(this.$this._async_evaluate0$_exception$2("Missing argument.", t1.span));
      else if (maxArgs != null && t2 > maxArgs)
        throw A.wrapException(this.$this._async_evaluate0$_exception$2("Only " + A.S(maxArgs) + " " + A.pluralize0("argument", maxArgs, null) + " allowed, but " + t2 + " " + A.pluralize0("was", t2, "were") + " passed.", t1.span));
    },
    call$0() {
      return this.call$1(null);
    },
    $signature: 96
  };
  A._EvaluateVisitor__visitCalculationExpression_closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Object),
        $async$returnValue, $async$self = this, t1, t2, t3, $async$temp1, $async$temp2, $async$temp3;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self._box_0;
              t3 = $async$self.inLegacySassFunction;
              $async$temp1 = A;
              $async$temp2 = t1._async_evaluate0$_binaryOperatorToCalculationOperator$2(t2.operator, $async$self.node);
              $async$goto = 3;
              return A._asyncAwait(t1._async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction(t2.left, t3), $async$call$0);
            case 3:
              // returning from await.
              $async$temp3 = $async$result;
              $async$goto = 4;
              return A._asyncAwait(t1._async_evaluate0$_visitCalculationExpression$2$inLegacySassFunction(t2.right, t3), $async$call$0);
            case 4:
              // returning from await.
              $async$returnValue = $async$temp1.SassCalculation_operateInternal0($async$temp2, $async$temp3, $async$result, t3, !t1._async_evaluate0$_inSupportsDeclaration);
              // 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: 179
  };
  A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure2.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._async_evaluate0$_runFunctionCallable$3(t1.$arguments, this.$function, t1);
    },
    $signature: 64
  };
  A._EvaluateVisitor__runUserDefinedCallable_closure2.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.callable,
        t3 = _this.V;
      return t1._async_evaluate0$_withEnvironment$1$2(t2.environment.closure$0(), new A._EvaluateVisitor__runUserDefinedCallable__closure2(t1, _this.evaluated, t2, _this.nodeWithSpan, _this.run, t3), t3);
    },
    $signature() {
      return this.V._eval$1("Future<0>()");
    }
  };
  A._EvaluateVisitor__runUserDefinedCallable__closure2.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.V;
      return t1._async_evaluate0$_environment.scope$1$1(new A._EvaluateVisitor__runUserDefinedCallable___closure2(t1, _this.evaluated, _this.callable, _this.nodeWithSpan, _this.run, t2), t2);
    },
    $signature() {
      return this.V._eval$1("Future<0>()");
    }
  };
  A._EvaluateVisitor__runUserDefinedCallable___closure2.prototype = {
    call$0() {
      return this.$call$body$_EvaluateVisitor__runUserDefinedCallable___closure0(this.V);
    },
    $call$body$_EvaluateVisitor__runUserDefinedCallable___closure0($async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, declaredArguments, t5, minLength, i, argument, t6, t7, value, t8, restArgument, rest, argumentList, result, t1, t2, t3, t4, $async$temp1;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self.evaluated._values;
              t3 = $async$self.callable.declaration.$arguments;
              t4 = $async$self.nodeWithSpan;
              t1._async_evaluate0$_verifyArguments$4(J.get$length$asx(t2[2]), t2[0], t3, t4);
              declaredArguments = t3.$arguments;
              t5 = declaredArguments.length;
              minLength = Math.min(J.get$length$asx(t2[2]), t5);
              for (i = 0; i < minLength; ++i)
                t1._async_evaluate0$_environment.setLocalVariable$3(declaredArguments[i].name, J.$index$asx(t2[2], i), J.$index$asx(t2[3], i));
              i = J.get$length$asx(t2[2]);
            case 3:
              // for condition
              if (!(i < t5)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              argument = declaredArguments[i];
              t6 = t2[0];
              t7 = argument.name;
              value = J.remove$1$z(t6, t7);
              $async$goto = value == null ? 6 : 7;
              break;
            case 6:
              // then
              t6 = argument.defaultValue;
              $async$temp1 = t1;
              $async$goto = 8;
              return A._asyncAwait(t6.accept$1(t1), $async$call$0);
            case 8:
              // returning from await.
              value = $async$temp1._async_evaluate0$_withoutSlash$2($async$result, t1._async_evaluate0$_expressionNode$1(t6));
            case 7:
              // join
              t6 = t1._async_evaluate0$_environment;
              t8 = J.$index$asx(t2[1], t7);
              if (t8 == null) {
                t8 = argument.defaultValue;
                t8.toString;
                t8 = t1._async_evaluate0$_expressionNode$1(t8);
              }
              t6.setLocalVariable$3(t7, value, t8);
            case 4:
              // for update
              ++i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              restArgument = t3.restArgument;
              if (restArgument != null) {
                rest = J.get$length$asx(t2[2]) > t5 ? J.sublist$1$ax(t2[2], t5) : B.List_empty19;
                t5 = t2[0];
                t6 = t2[4];
                argumentList = A.SassArgumentList$0(rest, t5, t6 === B.ListSeparator_undecided_null_undecided0 ? B.ListSeparator_ECn0 : t6);
                t1._async_evaluate0$_environment.setLocalVariable$3(restArgument, argumentList, t4);
              } else
                argumentList = null;
              $async$goto = 9;
              return A._asyncAwait($async$self.run.call$0(), $async$call$0);
            case 9:
              // returning from await.
              result = $async$result;
              if (argumentList == null) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              if (J.get$isEmpty$asx(t2[0])) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              if (argumentList._argument_list$_wereKeywordsAccessed) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              throw A.wrapException(A.MultiSpanSassRuntimeException$0("No " + A.pluralize0("argument", J.get$length$asx(J.get$keys$z(t2[0])), null) + " named " + A.toSentence0(J.map$1$1$ax(J.get$keys$z(t2[0]), new A._EvaluateVisitor__runUserDefinedCallable____closure2(), type$.Object), "or") + ".", t4.get$span(t4), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([t3.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), t1._async_evaluate0$_stackTrace$1(t4.get$span(t4)), null));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature() {
      return this.V._eval$1("Future<0>()");
    }
  };
  A._EvaluateVisitor__runUserDefinedCallable____closure2.prototype = {
    call$1($name) {
      return "$" + $name;
    },
    $signature: 5
  };
  A._EvaluateVisitor__runFunctionCallable_closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, $returnValue;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.callable.declaration, t2 = t1.children, t3 = t2.length, t4 = $async$self.$this, _i = 0;
            case 3:
              // for condition
              if (!(_i < t3)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(t2[_i].accept$1(t4), $async$call$0);
            case 6:
              // returning from await.
              $returnValue = $async$result;
              if ($returnValue instanceof A.Value0) {
                $async$returnValue = $returnValue;
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              throw A.wrapException(t4._async_evaluate0$_exception$2("Function finished without @return.", t1.span));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 64
  };
  A._EvaluateVisitor__runBuiltInCallable_closure8.prototype = {
    call$0() {
      return this._box_0.overload.verify$2(J.get$length$asx(this.evaluated._values[2]), this.namedSet);
    },
    $signature: 0
  };
  A._EvaluateVisitor__runBuiltInCallable_closure9.prototype = {
    call$0() {
      return this._box_0.callback.call$1(this.evaluated._values[2]);
    },
    $signature: 347
  };
  A._EvaluateVisitor__runBuiltInCallable_closure10.prototype = {
    call$1($name) {
      return "$" + $name;
    },
    $signature: 5
  };
  A._EvaluateVisitor__evaluateArguments_closure11.prototype = {
    call$1(value) {
      return value;
    },
    $signature: 42
  };
  A._EvaluateVisitor__evaluateArguments_closure12.prototype = {
    call$1(value) {
      return this.$this._async_evaluate0$_withoutSlash$2(value, this.restNodeForSpan);
    },
    $signature: 42
  };
  A._EvaluateVisitor__evaluateArguments_closure13.prototype = {
    call$2(key, value) {
      var _this = this,
        t1 = _this.restNodeForSpan;
      _this.named.$indexSet(0, key, _this.$this._async_evaluate0$_withoutSlash$2(value, t1));
      _this.namedNodes.$indexSet(0, key, t1);
    },
    $signature: 103
  };
  A._EvaluateVisitor__evaluateArguments_closure14.prototype = {
    call$1(value) {
      return value;
    },
    $signature: 42
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure11.prototype = {
    call$1(value) {
      var t1 = this.restArgs;
      return new A.ValueExpression0(value, t1.get$span(t1));
    },
    $signature: 63
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure12.prototype = {
    call$1(value) {
      var t1 = this.restArgs;
      return new A.ValueExpression0(this.$this._async_evaluate0$_withoutSlash$2(value, this.restNodeForSpan), t1.get$span(t1));
    },
    $signature: 63
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure13.prototype = {
    call$2(key, value) {
      var _this = this,
        t1 = _this.restArgs;
      _this.named.$indexSet(0, key, new A.ValueExpression0(_this.$this._async_evaluate0$_withoutSlash$2(value, _this.restNodeForSpan), t1.get$span(t1)));
    },
    $signature: 103
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure14.prototype = {
    call$1(value) {
      var t1 = this.keywordRestArgs;
      return new A.ValueExpression0(this.$this._async_evaluate0$_withoutSlash$2(value, this.keywordRestNodeForSpan), t1.get$span(t1));
    },
    $signature: 63
  };
  A._EvaluateVisitor__addRestMap_closure2.prototype = {
    call$2(key, value) {
      var t2, _this = this,
        t1 = _this.$this;
      if (key instanceof A.SassString0)
        _this.values.$indexSet(0, key._string0$_text, _this.convert.call$1(t1._async_evaluate0$_withoutSlash$2(value, _this.expressionNode)));
      else {
        t2 = _this.nodeWithSpan;
        throw A.wrapException(t1._async_evaluate0$_exception$2(string$.Variab_ + key.toString$0(0) + " is not a string in " + _this.map.toString$0(0) + ".", t2.get$span(t2)));
      }
    },
    $signature: 76
  };
  A._EvaluateVisitor__verifyArguments_closure2.prototype = {
    call$0() {
      return this.$arguments.verify$2(this.positional, new A.MapKeySet(this.named, type$.MapKeySet_String));
    },
    $signature: 0
  };
  A._EvaluateVisitor_visitCssAtRule_closure5.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, t4;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = $async$self.$this, t2 = t2._eval$1("ListBase.E");
            case 2:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              t4 = t1.__internal$_current;
              $async$goto = 4;
              return A._asyncAwait((t4 == null ? t2._as(t4) : t4).accept$1(t3), $async$call$0);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssAtRule_closure6.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitCssKeyframeBlock_closure5.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, t4;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = $async$self.$this, t2 = t2._eval$1("ListBase.E");
            case 2:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              t4 = t1.__internal$_current;
              $async$goto = 4;
              return A._asyncAwait((t4 == null ? t2._as(t4) : t4).accept$1(t3), $async$call$0);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssKeyframeBlock_closure6.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitCssMediaRule_closure8.prototype = {
    call$1(mediaQueries) {
      return this.$this._async_evaluate0$_mergeMediaQueries$2(mediaQueries, this.node.queries);
    },
    $signature: 100
  };
  A._EvaluateVisitor_visitCssMediaRule_closure9.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self.mergedQueries;
              if (t2 == null)
                t2 = $async$self.node.queries;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate0$_withMediaQueries$1$3(t2, $async$self.mergedSources, new A._EvaluateVisitor_visitCssMediaRule__closure2(t1, $async$self.node), type$.Null), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssMediaRule__closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t2, t3, t4, t1, _0_0;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              _0_0 = t1._async_evaluate0$_atRootExcludingStyleRule ? null : t1._async_evaluate0$_styleRuleIgnoringAtRoot;
              $async$goto = _0_0 != null ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1._async_evaluate0$_withParent$2$3$scopeWhen(A.ModifiableCssStyleRule$0(_0_0._style_rule0$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitCssMediaRule___closure2(t1, $async$self.node), false, type$.ModifiableCssStyleRule_2, type$.Null), $async$call$0);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t2 = $async$self.node.children, t3 = t2.$ti, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t3 = t3._eval$1("ListBase.E");
            case 6:
              // for condition
              if (!t2.moveNext$0()) {
                // goto after for
                $async$goto = 7;
                break;
              }
              t4 = t2.__internal$_current;
              $async$goto = 8;
              return A._asyncAwait((t4 == null ? t3._as(t4) : t4).accept$1(t1), $async$call$0);
            case 8:
              // returning from await.
              // goto for condition
              $async$goto = 6;
              break;
            case 7:
              // after for
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssMediaRule___closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, t4;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = $async$self.$this, t2 = t2._eval$1("ListBase.E");
            case 2:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              t4 = t1.__internal$_current;
              $async$goto = 4;
              return A._asyncAwait((t4 == null ? t2._as(t4) : t4).accept$1(t3), $async$call$0);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssMediaRule_closure10.prototype = {
    call$1(node) {
      var t1;
      if (!(node instanceof A.ModifiableCssStyleRule0)) {
        t1 = this.mergedSources;
        t1 = t1.get$isNotEmpty(t1) && node instanceof A.ModifiableCssMediaRule0 && B.JSArray_methods.every$1(node.queries, t1.get$contains(t1));
      } else
        t1 = true;
      return t1;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitCssStyleRule_closure6.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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              $async$goto = 2;
              return A._asyncAwait(t1._async_evaluate0$_withStyleRule$1$2($async$self.rule, new A._EvaluateVisitor_visitCssStyleRule__closure2(t1, $async$self.node), type$.Null), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssStyleRule__closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, t4;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = $async$self.$this, t2 = t2._eval$1("ListBase.E");
            case 2:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              t4 = t1.__internal$_current;
              $async$goto = 4;
              return A._asyncAwait((t4 == null ? t2._as(t4) : t4).accept$1(t3), $async$call$0);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssStyleRule_closure5.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitCssSupportsRule_closure5.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t2, t3, t4, t1, _0_0;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              _0_0 = t1._async_evaluate0$_atRootExcludingStyleRule ? null : t1._async_evaluate0$_styleRuleIgnoringAtRoot;
              $async$goto = _0_0 != null ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1._async_evaluate0$_withParent$2$2(A.ModifiableCssStyleRule$0(_0_0._style_rule0$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitCssSupportsRule__closure2(t1, $async$self.node), type$.ModifiableCssStyleRule_2, type$.Null), $async$call$0);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t2 = $async$self.node.children, t3 = t2.$ti, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t3 = t3._eval$1("ListBase.E");
            case 6:
              // for condition
              if (!t2.moveNext$0()) {
                // goto after for
                $async$goto = 7;
                break;
              }
              t4 = t2.__internal$_current;
              $async$goto = 8;
              return A._asyncAwait((t4 == null ? t3._as(t4) : t4).accept$1(t1), $async$call$0);
            case 8:
              // returning from await.
              // goto for condition
              $async$goto = 6;
              break;
            case 7:
              // after for
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssSupportsRule__closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, t1, t2, t3, t4;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = $async$self.$this, t2 = t2._eval$1("ListBase.E");
            case 2:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              t4 = t1.__internal$_current;
              $async$goto = 4;
              return A._asyncAwait((t4 == null ? t2._as(t4) : t4).accept$1(t3), $async$call$0);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._EvaluateVisitor_visitCssSupportsRule_closure6.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor__performInterpolationHelper_closure2.prototype = {
    call$1(targetLocations) {
      return A.InterpolationMap$0(this.interpolation, targetLocations);
    },
    $signature: 219
  };
  A._EvaluateVisitor__serialize_closure2.prototype = {
    call$0() {
      return A.serializeValue0(this.value, false, this.quote);
    },
    $signature: 26
  };
  A._EvaluateVisitor__expressionNode_closure2.prototype = {
    call$0() {
      var t1 = this.expression;
      return this.$this._async_evaluate0$_environment.getVariableNode$2$namespace(t1.name, t1.namespace);
    },
    $signature: 217
  };
  A._EvaluateVisitor__withoutSlash_recommendation2.prototype = {
    call$1(number) {
      var t1, before, after,
        _1_0 = number.asSlash;
      $label0$0: {
        if (type$.Record_2_nullable_Object_and_nullable_Object._is(_1_0)) {
          t1 = type$.SassNumber_2;
          before = t1._as(_1_0._0);
          after = t1._as(_1_0._1);
          t1 = "math.div(" + A.S(this.call$1(before)) + ", " + A.S(this.call$1(after)) + ")";
          break $label0$0;
        }
        t1 = A.serializeValue0(number, true, true);
        break $label0$0;
      }
      return t1;
    },
    $signature: 216
  };
  A._EvaluateVisitor__stackFrame_closure2.prototype = {
    call$1(url) {
      var t1 = this.$this._async_evaluate0$_importCache;
      t1 = t1 == null ? null : t1.humanize$1(url);
      return t1 == null ? url : t1;
    },
    $signature: 43
  };
  A._ImportedCssVisitor2.prototype = {
    visitCssAtRule$1(node) {
      var t1 = node.isChildless ? null : new A._ImportedCssVisitor_visitCssAtRule_closure2();
      this._async_evaluate0$_visitor._async_evaluate0$_addChild$2$through(node, t1);
    },
    visitCssComment$1(node) {
      return this._async_evaluate0$_visitor._async_evaluate0$_addChild$1(node);
    },
    visitCssDeclaration$1(node) {
    },
    visitCssImport$1(node) {
      var t2,
        _s13_ = "_endOfImports",
        t1 = this._async_evaluate0$_visitor;
      if (t1._async_evaluate0$_assertInModule$2(t1._async_evaluate0$__parent, "__parent") !== t1._async_evaluate0$_assertInModule$2(t1._async_evaluate0$__root, "_root"))
        t1._async_evaluate0$_addChild$1(node);
      else if (t1._async_evaluate0$_assertInModule$2(t1._async_evaluate0$__endOfImports, _s13_) === J.get$length$asx(t1._async_evaluate0$_assertInModule$2(t1._async_evaluate0$__root, "_root").children._collection$_source)) {
        t1._async_evaluate0$_addChild$1(node);
        t1._async_evaluate0$__endOfImports = t1._async_evaluate0$_assertInModule$2(t1._async_evaluate0$__endOfImports, _s13_) + 1;
      } else {
        t2 = t1._async_evaluate0$_outOfOrderImports;
        (t2 == null ? t1._async_evaluate0$_outOfOrderImports = A._setArrayType([], type$.JSArray_ModifiableCssImport_2) : t2).push(node);
      }
    },
    visitCssKeyframeBlock$1(node) {
    },
    visitCssMediaRule$1(node) {
      var t1 = this._async_evaluate0$_visitor,
        mediaQueries = t1._async_evaluate0$_mediaQueries;
      t1._async_evaluate0$_addChild$2$through(node, new A._ImportedCssVisitor_visitCssMediaRule_closure2(mediaQueries == null || t1._async_evaluate0$_mergeMediaQueries$2(mediaQueries, node.queries) != null));
    },
    visitCssStyleRule$1(node) {
      return this._async_evaluate0$_visitor._async_evaluate0$_addChild$2$through(node, new A._ImportedCssVisitor_visitCssStyleRule_closure2());
    },
    visitCssStylesheet$1(node) {
      var t1, t2, t3;
      for (t1 = node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        (t3 == null ? t2._as(t3) : t3).accept$1(this);
      }
    },
    visitCssSupportsRule$1(node) {
      return this._async_evaluate0$_visitor._async_evaluate0$_addChild$2$through(node, new A._ImportedCssVisitor_visitCssSupportsRule_closure2());
    }
  };
  A._ImportedCssVisitor_visitCssAtRule_closure2.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._ImportedCssVisitor_visitCssMediaRule_closure2.prototype = {
    call$1(node) {
      var t1;
      if (!(node instanceof A.ModifiableCssStyleRule0))
        t1 = this.hasBeenMerged && node instanceof A.ModifiableCssMediaRule0;
      else
        t1 = true;
      return t1;
    },
    $signature: 8
  };
  A._ImportedCssVisitor_visitCssStyleRule_closure2.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._ImportedCssVisitor_visitCssSupportsRule_closure2.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluationContext2.prototype = {
    get$currentCallableSpan() {
      var _0_0 = this._async_evaluate0$_visitor._async_evaluate0$_callableNode;
      if (_0_0 != null)
        return _0_0.get$span(_0_0);
      throw A.wrapException(A.StateError$(string$.No_Sasc));
    },
    warn$2(_, message, deprecation) {
      var t1 = this._async_evaluate0$_visitor,
        t2 = t1._async_evaluate0$_importSpan;
      if (t2 == null) {
        t2 = t1._async_evaluate0$_callableNode;
        t2 = t2 == null ? null : t2.get$span(t2);
      }
      t1._async_evaluate0$_warn$3(message, t2 == null ? this._async_evaluate0$_defaultWarnNodeWithSpan.span : t2, deprecation);
    },
    $isEvaluationContext0: 1
  };
  A.JSToDartAsyncFileImporter.prototype = {
    canonicalize$1(_, url) {
      return this.canonicalize$body$JSToDartAsyncFileImporter(0, url);
    },
    canonicalize$body$JSToDartAsyncFileImporter(_, url) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Uri),
        $async$returnValue, $async$self = this, result, t1, resultUrl;
      var $async$canonicalize$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (url.get$scheme() === "file") {
                $async$returnValue = $.$get$FilesystemImporter_cwd0().canonicalize$1(0, url);
                // goto return
                $async$goto = 1;
                break;
              }
              result = A.wrapJSExceptions(new A.JSToDartAsyncFileImporter_canonicalize_closure($async$self, url));
              $async$goto = result != null && result instanceof self.Promise ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(A.promiseToFuture(type$.Promise._as(result), type$.nullable_Object), $async$canonicalize$1);
            case 5:
              // returning from await.
              result = $async$result;
            case 4:
              // join
              if (result == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = self.URL;
              if (!(result instanceof t1))
                A.jsThrow(new self.Error(string$.The_fie));
              resultUrl = A.Uri_parse(J.toString$0$(type$.JSUrl._as(result)));
              if (resultUrl.get$scheme() !== "file")
                A.jsThrow(new self.Error(string$.The_fiu + url.toString$0(0) + '".'));
              $async$returnValue = $.$get$FilesystemImporter_cwd0().canonicalize$1(0, resultUrl);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$canonicalize$1, $async$completer);
    },
    load$1(_, url) {
      return $.$get$FilesystemImporter_cwd0().load$1(0, url);
    },
    isNonCanonicalScheme$1(scheme) {
      return scheme !== "file";
    }
  };
  A.JSToDartAsyncFileImporter_canonicalize_closure.prototype = {
    call$0() {
      return this.$this._findFileUrl.call$2(this.url.toString$0(0), A.canonicalizeContext0());
    },
    $signature: 35
  };
  A.AsyncImportCache0.prototype = {
    canonicalize$4$baseImporter$baseUrl$forImport(_, url, baseImporter, baseUrl, forImport) {
      return this.canonicalize$body$AsyncImportCache0(0, url, baseImporter, baseUrl, forImport);
    },
    canonicalize$body$AsyncImportCache0(_, url, baseImporter, baseUrl, forImport) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2),
        $async$returnValue, $async$self = this, t1, resolvedUrl, key, relativeResult, t2, t3, t4, t5, t6, cacheable, i, importer, perImporterKey, t7, _1_0, _1_2_isSet, _1_2, result, _2_0, _2_1, _2_5_isSet, _2_3, _2_5, _2_3_isSet, j;
      var $async$canonicalize$4$baseImporter$baseUrl$forImport = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              if (A.isBrowser())
                t1 = (baseImporter == null || baseImporter instanceof A.NoOpImporter0) && $async$self._async_import_cache0$_importers.length === 0;
              else
                t1 = false;
              if (t1)
                throw A.wrapException(string$.Custom);
              $async$goto = baseImporter != null && url.get$scheme() === "" ? 3 : 4;
              break;
            case 3:
              // then
              resolvedUrl = baseUrl == null ? null : baseUrl.resolveUri$1(url);
              if (resolvedUrl == null)
                resolvedUrl = url;
              key = new A._Record_3_forImport(baseImporter, resolvedUrl, forImport);
              $async$goto = 5;
              return A._asyncAwait(A.putIfAbsentAsync0($async$self._async_import_cache0$_perImporterCanonicalizeCache, key, new A.AsyncImportCache_canonicalize_closure0($async$self, baseImporter, resolvedUrl, baseUrl, forImport, key, url), type$.Record_3_AsyncImporter_and_Uri_and_bool_forImport_2, type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2), $async$canonicalize$4$baseImporter$baseUrl$forImport);
            case 5:
              // returning from await.
              relativeResult = $async$result;
              if (relativeResult != null) {
                $async$returnValue = relativeResult;
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // join
              key = new A._Record_2_forImport(url, forImport);
              t1 = $async$self._async_import_cache0$_canonicalizeCache;
              if (t1.containsKey$1(key)) {
                $async$returnValue = t1.$index(0, key);
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = $async$self._async_import_cache0$_importers, t3 = type$.Record_1_nullable_Object, t4 = $async$self._async_import_cache0$_perImporterCanonicalizeCache, t5 = type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2, t6 = type$.Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2, cacheable = true, i = 0;
            case 6:
              // for condition
              if (!(i < t2.length)) {
                // goto after for
                $async$goto = 8;
                break;
              }
              importer = t2[i];
              perImporterKey = new A._Record_3_forImport(importer, url, forImport);
              if (t4.containsKey$1(perImporterKey)) {
                t7 = t4.$index(0, perImporterKey);
                _1_0 = new A._Record_1(t7 == null ? t5._as(t7) : t7);
              } else
                _1_0 = null;
              _1_2_isSet = t3._is(_1_0);
              if (_1_2_isSet) {
                _1_2 = _1_0._0;
                t7 = _1_2 != null;
                if (t7) {
                  t6._as(_1_2);
                  result = _1_2;
                } else
                  result = null;
              } else {
                _1_2 = null;
                result = null;
                t7 = false;
              }
              if (t7) {
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              if (_1_2_isSet)
                t7 = _1_2 == null;
              else
                t7 = false;
              if (t7) {
                // goto for update
                $async$goto = 7;
                break;
              }
              $async$goto = 10;
              return A._asyncAwait($async$self._async_import_cache0$_canonicalize$4(importer, url, baseUrl, forImport), $async$canonicalize$4$baseImporter$baseUrl$forImport);
            case 10:
              // returning from await.
              _2_0 = $async$result;
              _2_1 = _2_0._0;
              _2_5_isSet = _2_1 != null;
              if (_2_5_isSet) {
                result = _2_1 == null ? t6._as(_2_1) : _2_1;
                _2_3 = _2_0._1;
                t7 = _2_3;
                _2_5 = t7;
                t7 = t7 && cacheable;
              } else {
                _2_5 = null;
                _2_3 = null;
                result = null;
                t7 = false;
              }
              if (t7) {
                t1.$indexSet(0, key, result);
                $async$returnValue = result;
                // goto return
                $async$goto = 1;
                break;
              }
              if (_2_5_isSet) {
                t7 = _2_5;
                _2_3_isSet = _2_5_isSet;
              } else {
                _2_3 = _2_0._1;
                t7 = _2_3;
                _2_3_isSet = true;
              }
              t7 = t7 && !cacheable;
              if (t7) {
                t4.$indexSet(0, perImporterKey, _2_1);
                if (_2_1 != null) {
                  $async$returnValue = _2_1;
                  // goto return
                  $async$goto = 1;
                  break;
                }
                // goto break $label0$1
                $async$goto = 9;
                break;
              }
              t7 = false === (_2_3_isSet ? _2_3 : _2_0._1);
              if (t7) {
                if (cacheable) {
                  for (j = 0; j < i; ++j)
                    t4.$indexSet(0, new A._Record_3_forImport(t2[j], url, forImport), null);
                  cacheable = false;
                }
                if (_2_1 != null) {
                  $async$returnValue = _2_1;
                  // goto return
                  $async$goto = 1;
                  break;
                }
              }
            case 9:
              // break $label0$1
            case 7:
              // for update
              ++i;
              // goto for condition
              $async$goto = 6;
              break;
            case 8:
              // after for
              if (cacheable)
                t1.$indexSet(0, key, null);
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$canonicalize$4$baseImporter$baseUrl$forImport, $async$completer);
    },
    _async_import_cache0$_canonicalize$4(importer, url, baseUrl, forImport) {
      return this._canonicalize$body$AsyncImportCache0(importer, url, baseUrl, forImport);
    },
    _canonicalize$body$AsyncImportCache0(importer, url, baseUrl, forImport) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_and_bool_2),
        $async$returnValue, $async$self = this, t1, passContainingUrl, canonicalizeContext, result, cacheable;
      var $async$_async_import_cache0$_canonicalize$4 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = baseUrl != null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = url.get$scheme() !== "" ? 6 : 8;
              break;
            case 6:
              // then
              t1 = A._Future$value(importer.isNonCanonicalScheme$1(url.get$scheme()), type$.bool);
              $async$goto = 9;
              return A._asyncAwait(t1, $async$_async_import_cache0$_canonicalize$4);
            case 9:
              // returning from await.
              t1 = $async$result;
              passContainingUrl = t1;
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              passContainingUrl = true;
            case 7:
              // join
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              passContainingUrl = false;
            case 4:
              // join
              canonicalizeContext = new A.CanonicalizeContext0(forImport, passContainingUrl ? baseUrl : null);
              t1 = type$.nullable_Object;
              t1 = A.runZoned(new A.AsyncImportCache__canonicalize_closure0(importer, url), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__canonicalizeContext, canonicalizeContext], t1, t1), type$.FutureOr_nullable_Uri);
              $async$goto = 10;
              return A._asyncAwait(type$.Future_nullable_Uri._is(t1) ? t1 : A._Future$value(t1, type$.nullable_Uri), $async$_async_import_cache0$_canonicalize$4);
            case 10:
              // returning from await.
              result = $async$result;
              cacheable = !passContainingUrl || !canonicalizeContext._canonicalize_context$_wasContainingUrlAccessed;
              if (result == null) {
                $async$returnValue = new A._Record_2(null, cacheable);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = result.get$scheme() === "" ? 11 : 13;
              break;
            case 11:
              // then
              A.WarnForDeprecation_warnForDeprecation0($async$self._async_import_cache0$_logger, B.Deprecation_Ssf, "Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2e_Rela, null, null);
              // goto join
              $async$goto = 12;
              break;
            case 13:
              // else
              t1 = A._Future$value(importer.isNonCanonicalScheme$1(result.get$scheme()), type$.bool);
              $async$goto = 14;
              return A._asyncAwait(t1, $async$_async_import_cache0$_canonicalize$4);
            case 14:
              // returning from await.
              if ($async$result)
                throw A.wrapException("Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2c_whicu);
            case 12:
              // join
              $async$returnValue = new A._Record_2(new A._Record_3_originalUrl(importer, result, url), cacheable);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_async_import_cache0$_canonicalize$4, $async$completer);
    },
    importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, quiet) {
      return this.importCanonical$body$AsyncImportCache0(importer, canonicalUrl, originalUrl, quiet);
    },
    importCanonical$3$originalUrl(importer, canonicalUrl, originalUrl) {
      return this.importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, false);
    },
    importCanonical$body$AsyncImportCache0(importer, canonicalUrl, originalUrl, quiet) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Stylesheet_2),
        $async$returnValue, $async$self = this;
      var $async$importCanonical$4$originalUrl$quiet = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncAwait(A.putIfAbsentAsync0($async$self._async_import_cache0$_importCache, canonicalUrl, new A.AsyncImportCache_importCanonical_closure0($async$self, importer, canonicalUrl, originalUrl, quiet), type$.Uri, type$.nullable_Stylesheet_2), $async$importCanonical$4$originalUrl$quiet);
            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$importCanonical$4$originalUrl$quiet, $async$completer);
    },
    humanize$1(canonicalUrl) {
      var t1 = A.IterableNullableExtension_whereNotNull(this._async_import_cache0$_canonicalizeCache.get$values(0), type$.Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2),
        t2 = t1.$ti;
      t2 = A.NullableExtension_andThen0(A.minBy(new A.MappedIterable(new A.WhereIterable(t1, new A.AsyncImportCache_humanize_closure3(canonicalUrl), t2._eval$1("WhereIterable")), new A.AsyncImportCache_humanize_closure4(), t2._eval$1("MappedIterable")), new A.AsyncImportCache_humanize_closure5()), new A.AsyncImportCache_humanize_closure6(canonicalUrl));
      return t2 == null ? canonicalUrl : t2;
    },
    sourceMapUrl$1(_, canonicalUrl) {
      var t1 = this._async_import_cache0$_resultsCache.$index(0, canonicalUrl);
      t1 = t1 == null ? null : t1.get$sourceMapUrl(0);
      return t1 == null ? canonicalUrl : t1;
    }
  };
  A.AsyncImportCache_canonicalize_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2),
        $async$returnValue, $async$self = this, t1, t2, _0_0, result;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.$this;
              t2 = $async$self.baseUrl;
              $async$goto = 3;
              return A._asyncAwait(t1._async_import_cache0$_canonicalize$4($async$self.baseImporter, $async$self.resolvedUrl, t2, $async$self.forImport), $async$call$0);
            case 3:
              // returning from await.
              _0_0 = $async$result;
              result = _0_0._0;
              _0_0._1;
              if (t2 != null)
                t1._async_import_cache0$_nonCanonicalRelativeUrls.$indexSet(0, $async$self.key, $async$self.url);
              $async$returnValue = 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: 354
  };
  A.AsyncImportCache__canonicalize_closure0.prototype = {
    call$0() {
      return this.importer.canonicalize$1(0, this.url);
    },
    $signature: 263
  };
  A.AsyncImportCache_importCanonical_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Stylesheet_2),
        $async$returnValue, $async$self = this, t3, t4, t1, t2, result;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.canonicalUrl;
              t2 = $async$self.importer.load$1(0, t1);
              $async$goto = 3;
              return A._asyncAwait(type$.Future_nullable_ImporterResult._is(t2) ? t2 : A._Future$value(t2, type$.nullable_ImporterResult_2), $async$call$0);
            case 3:
              // returning from await.
              result = $async$result;
              if (result == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = $async$self.$this;
              t2._async_import_cache0$_resultsCache.$indexSet(0, t1, result);
              t3 = result.contents;
              t4 = result.syntax;
              t1 = $async$self.originalUrl.resolveUri$1(t1);
              $async$returnValue = A.Stylesheet_Stylesheet$parse0(t3, t4, $async$self.quiet ? $.$get$Logger_quiet0() : t2._async_import_cache0$_logger, t1);
              // 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: 355
  };
  A.AsyncImportCache_humanize_closure3.prototype = {
    call$1(result) {
      return J.$eq$(result._1, this.canonicalUrl);
    },
    $signature: 356
  };
  A.AsyncImportCache_humanize_closure4.prototype = {
    call$1(result) {
      return result._2;
    },
    $signature: 357
  };
  A.AsyncImportCache_humanize_closure5.prototype = {
    call$1(url) {
      return url.get$path(url).length;
    },
    $signature: 87
  };
  A.AsyncImportCache_humanize_closure6.prototype = {
    call$1(url) {
      var t1 = $.$get$url(),
        t2 = this.canonicalUrl;
      return url.resolve$1(0, A.ParsedPath_ParsedPath$parse(t2.get$path(t2), t1.style).get$basename());
    },
    $signature: 43
  };
  A.AtRootQueryParser0.prototype = {
    parse$0() {
      return this.wrapSpanFormatException$1(new A.AtRootQueryParser_parse_closure0(this));
    }
  };
  A.AtRootQueryParser_parse_closure0.prototype = {
    call$0() {
      var include, atRules,
        t1 = this.$this,
        t2 = t1.scanner;
      t2.expectChar$1(40);
      t1.whitespace$0();
      include = t1.scanIdentifier$1("with");
      if (!include)
        t1.expectIdentifier$2$name("without", '"with" or "without"');
      t1.whitespace$0();
      t2.expectChar$1(58);
      t1.whitespace$0();
      atRules = A.LinkedHashSet_LinkedHashSet$_empty(type$.String);
      do {
        atRules.add$1(0, t1.identifier$0().toLowerCase());
        t1.whitespace$0();
      } while (t1.lookingAtIdentifier$0());
      t2.expectChar$1(41);
      t2.expectDone$0();
      return new A.AtRootQuery0(include, atRules, atRules.contains$1(0, "all"), atRules.contains$1(0, "rule"));
    },
    $signature: 358
  };
  A.AtRootQuery0.prototype = {
    excludes$1(node) {
      var t1, _this = this;
      if (_this._at_root_query0$_all)
        return !_this.include;
      $label0$0: {
        if (node instanceof A.ModifiableCssStyleRule0) {
          t1 = _this._at_root_query0$_rule !== _this.include;
          break $label0$0;
        }
        if (node instanceof A.ModifiableCssMediaRule0) {
          t1 = _this.excludesName$1("media");
          break $label0$0;
        }
        if (node instanceof A.ModifiableCssSupportsRule0) {
          t1 = _this.excludesName$1("supports");
          break $label0$0;
        }
        if (node instanceof A.ModifiableCssAtRule0) {
          t1 = _this.excludesName$1(node.name.value.toLowerCase());
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    excludesName$1($name) {
      var t1 = this._at_root_query0$_all || this.names.contains$1(0, $name);
      return t1 !== this.include;
    }
  };
  A.AtRootRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitAtRootRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var buffer = new A.StringBuffer("@at-root "),
        t1 = this.query;
      if (t1 != null)
        buffer._contents = "@at-root " + (t1.toString$0(0) + " ");
      t1 = this.children;
      return buffer.toString$0(0) + " {" + (t1 && B.JSArray_methods).join$1(t1, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.ModifiableCssAtRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssAtRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    equalsIgnoringChildren$1(other) {
      var t1, t2;
      if (other instanceof A.ModifiableCssAtRule0) {
        t1 = this.name;
        t2 = other.name;
        t1 = t1.$ti._is(t2) && J.$eq$(t2.value, t1.value) && J.$eq$(this.value, other.value) && this.isChildless === other.isChildless;
      } else
        t1 = false;
      return t1;
    },
    copyWithoutChildren$0() {
      var _this = this;
      return A.ModifiableCssAtRule$0(_this.name, _this.span, _this.isChildless, _this.value);
    },
    addChild$1(child) {
      this.super$ModifiableCssParentNode$addChild0(child);
    },
    get$isChildless() {
      return this.isChildless;
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.AtRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitAtRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var children,
        t1 = "@" + this.name.toString$0(0),
        buffer = new A.StringBuffer(t1),
        t2 = this.value;
      if (t2 != null)
        buffer._contents = t1 + (" " + t2.toString$0(0));
      children = this.children;
      return children == null ? buffer.toString$0(0) + ";" : buffer.toString$0(0) + " {" + B.JSArray_methods.join$1(children, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.AttributeSelector0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitAttributeSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof A.AttributeSelector0 && other.name.$eq(0, _this.name) && other.op == _this.op && other.value == _this.value && other.modifier == _this.modifier;
    },
    get$hashCode(_) {
      var _this = this,
        t1 = _this.name;
      return (B.JSString_methods.get$hashCode(t1.name) ^ J.get$hashCode$(t1.namespace) ^ J.get$hashCode$(_this.op) ^ J.get$hashCode$(_this.value) ^ J.get$hashCode$(_this.modifier)) >>> 0;
    }
  };
  A.AttributeOperator0.prototype = {
    _enumToString$0() {
      return "AttributeOperator." + this._name;
    },
    toString$0(_) {
      return this._attribute0$_text;
    }
  };
  A.BinaryOperationExpression0.prototype = {
    get$span(_) {
      var right,
        left = this.left;
      for (; left instanceof A.BinaryOperationExpression0;)
        left = left.left;
      right = this.right;
      for (; right instanceof A.BinaryOperationExpression0;)
        right = right.right;
      return left.get$span(left).expand$1(0, right.get$span(right));
    },
    get$operatorSpan() {
      var t3, t4,
        t1 = this.left,
        t2 = t1.get$span(t1);
      t2 = t2.get$file(t2);
      t3 = this.right;
      t4 = t3.get$span(t3);
      if (t2 === t4.get$file(t4)) {
        t2 = t1.get$span(t1);
        t2 = t2.get$end(t2);
        t4 = t3.get$span(t3);
        t4 = t2.offset < t4.get$start(t4).offset;
        t2 = t4;
      } else
        t2 = false;
      if (t2) {
        t2 = t1.get$span(t1);
        t2 = t2.get$file(t2);
        t1 = t1.get$span(t1);
        t1 = t1.get$end(t1);
        t3 = t3.get$span(t3);
        t3 = A.SpanExtensions_trimRight0(A.SpanExtensions_trimLeft0(t2.span$2(0, t1.offset, t3.get$start(t3).offset)));
        t1 = t3;
      } else
        t1 = this.get$span(0);
      return t1;
    },
    accept$1$1(visitor) {
      return visitor.visitBinaryOperationExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1, t2, right, operator, t3, _this = this,
        _0_0 = _this.left;
      $label0$0: {
        if (_0_0 instanceof A.BinaryOperationExpression0) {
          t1 = _0_0.operator.precedence < _this.operator.precedence;
          break $label0$0;
        }
        if (_0_0 instanceof A.ListExpression0 && !_0_0.hasBrackets && _0_0.contents.length >= 2) {
          t1 = true;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      t2 = t1 ? "" + A.Primitives_stringFromCharCode(40) : "";
      t2 += _0_0.toString$0(0);
      t1 = t1 ? t2 + A.Primitives_stringFromCharCode(41) : t2;
      t2 = _this.operator;
      t1 = t1 + A.Primitives_stringFromCharCode(32) + t2.operator + A.Primitives_stringFromCharCode(32);
      right = _this.right;
      $label1$1: {
        if (right instanceof A.BinaryOperationExpression0) {
          operator = right.operator;
          if (operator.precedence <= t2.precedence) {
            t3 = !(operator === t2 && operator.isAssociative);
            t2 = t3;
          } else
            t2 = false;
          break $label1$1;
        }
        if (right instanceof A.ListExpression0 && !right.hasBrackets && right.contents.length >= 2) {
          t2 = true;
          break $label1$1;
        }
        t2 = false;
        break $label1$1;
      }
      if (t2)
        t1 += A.Primitives_stringFromCharCode(40);
      t1 += right.toString$0(0);
      if (t2)
        t1 += A.Primitives_stringFromCharCode(41);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isExpression0: 1,
    $isAstNode0: 1
  };
  A.BinaryOperator0.prototype = {
    _enumToString$0() {
      return "BinaryOperator." + this._name;
    },
    toString$0(_) {
      return this.name;
    }
  };
  A.BooleanExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitBooleanExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return String(this.value);
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.booleanClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.SassBoolean", new A.booleanClass__closure()));
      A.JSClassExtension_injectSuperclass(t1._as(B.SassBoolean_true0.constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.booleanClass__closure.prototype = {
    call$2($self, _) {
      A.jsThrow(new self.Error("new sass.SassBoolean() isn't allowed.\nUse sass.sassTrue or sass.sassFalse instead."));
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 213
  };
  A.legacyBooleanClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.types.Boolean", new A.legacyBooleanClass__closure()));
      J.get$$prototype$x(jsClass).getValue = A.allowInteropCaptureThisNamed("getValue", new A.legacyBooleanClass__closure0());
      jsClass.TRUE = B.SassBoolean_true0;
      jsClass.FALSE = B.SassBoolean_false0;
      A.JSClassExtension_injectSuperclass(t1._as(B.SassBoolean_true0.constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.legacyBooleanClass__closure.prototype = {
    call$2(_, __) {
      throw A.wrapException("new sass.types.Boolean() isn't allowed.\nUse sass.types.Boolean.TRUE or sass.types.Boolean.FALSE instead.");
    },
    call$1(_) {
      return this.call$2(_, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 209
  };
  A.legacyBooleanClass__closure0.prototype = {
    call$1($self) {
      return $self === B.SassBoolean_true0;
    },
    $signature: 75
  };
  A.SassBoolean0.prototype = {
    get$isTruthy() {
      return this.value;
    },
    accept$1$1(visitor) {
      return visitor._serialize0$_buffer.write$1(0, String(this.value));
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertBoolean$1($name) {
      return this;
    },
    unaryNot$0() {
      return this.value ? B.SassBoolean_false0 : B.SassBoolean_true0;
    }
  };
  A.Box0.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return this.$ti._is(other) && other._box0$_inner === this._box0$_inner;
    },
    get$hashCode(_) {
      return A.Primitives_objectHashCode(this._box0$_inner);
    }
  };
  A.ModifiableBox0.prototype = {};
  A.BuiltInCallable0.prototype = {
    callbackFor$2(positional, names) {
      var t1, t2, fuzzyMatch, minMismatchDistance, _i, overload, t3, mismatchDistance, t4;
      for (t1 = this._built_in$_overloads, t2 = t1.length, fuzzyMatch = null, minMismatchDistance = null, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        overload = t1[_i];
        t3 = overload._0;
        if (t3.matches$2(positional, names))
          return overload;
        mismatchDistance = t3.$arguments.length - positional;
        if (minMismatchDistance != null) {
          t3 = Math.abs(mismatchDistance);
          t4 = Math.abs(minMismatchDistance);
          if (t3 > t4)
            continue;
          if (t3 === t4 && mismatchDistance < 0)
            continue;
        }
        minMismatchDistance = mismatchDistance;
        fuzzyMatch = overload;
      }
      if (fuzzyMatch != null)
        return fuzzyMatch;
      throw A.wrapException(A.StateError$("BuiltInCallable " + this.name + " may not have empty overloads."));
    },
    withName$1($name) {
      return new A.BuiltInCallable0($name, this._built_in$_overloads, this.acceptsContent);
    },
    $isAsyncCallable0: 1,
    $isAsyncBuiltInCallable0: 1,
    $isCallable: 1,
    get$name(receiver) {
      return this.name;
    },
    get$acceptsContent() {
      return this.acceptsContent;
    }
  };
  A.BuiltInCallable$mixin_closure0.prototype = {
    call$1($arguments) {
      this.callback.call$1($arguments);
      return B.C__SassNull0;
    },
    $signature: 3
  };
  A.BuiltInModule0.prototype = {
    get$upstream() {
      return B.List_empty18;
    },
    get$variableNodes() {
      return B.Map_empty12;
    },
    get$extensionStore() {
      return B.C_EmptyExtensionStore0;
    },
    get$css(_) {
      return new A.CssStylesheet0(B.List_empty16, A.SourceFile$decoded(B.List_empty4, this.url).span$2(0, 0, 0));
    },
    get$preModuleComments() {
      return B.Map_empty11;
    },
    get$transitivelyContainsCss() {
      return false;
    },
    get$transitivelyContainsExtensions() {
      return false;
    },
    setVariable$3($name, value, nodeWithSpan) {
      if (!this.variables.containsKey$1($name))
        throw A.wrapException(A.SassScriptException$0("Undefined variable.", null));
      throw A.wrapException(A.SassScriptException$0("Cannot modify built-in variable.", null));
    },
    variableIdentity$1($name) {
      return this;
    },
    cloneCss$0() {
      return this;
    },
    $isModule1: 1,
    get$url(receiver) {
      return this.url;
    },
    get$functions(receiver) {
      return this.functions;
    },
    get$mixins() {
      return this.mixins;
    },
    get$variables() {
      return this.variables;
    }
  };
  A.calculationClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.SassCalculation", new A.calculationClass__closure())),
        t2 = type$.String,
        t3 = type$.Function;
      A.LinkedHashMap_LinkedHashMap$_literal(["calc", new A.calculationClass__closure0(), "min", new A.calculationClass__closure1(), "max", new A.calculationClass__closure2(), "clamp", new A.calculationClass__closure3()], t2, t3).forEach$1(0, A.JSClassExtension_get_defineStaticMethod(jsClass));
      A.LinkedHashMap_LinkedHashMap$_literal(["assertCalculation", new A.calculationClass__closure4()], t2, t3).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass));
      A.LinkedHashMap_LinkedHashMap$_literal(["arguments", new A.calculationClass__closure5()], t2, t3).forEach$1(0, A.JSClassExtension_get_defineGetter(jsClass));
      A.JSClassExtension_injectSuperclass(t1._as(new A.SassCalculation0("calc", A.List_List$unmodifiable(A._setArrayType([A.SassNumber_SassNumber0(1, null)], type$.JSArray_Object), type$.Object)).constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.calculationClass__closure.prototype = {
    call$2($self, _) {
      A.jsThrow0(new self.Error("new sass.SassCalculation() isn't allowed"));
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 213
  };
  A.calculationClass__closure0.prototype = {
    call$1(argument) {
      A._assertCalculationValue(argument);
      return new A.SassCalculation0("calc", A.List_List$unmodifiable(A._setArrayType([argument], type$.JSArray_Object), type$.Object));
    },
    $signature: 110
  };
  A.calculationClass__closure1.prototype = {
    call$1($arguments) {
      var t1 = self.immutable.isOrderedMap($arguments) ? J.toArray$0$x(type$.ImmutableList_2._as($arguments)) : type$.List_dynamic._as($arguments),
        t2 = type$.Object,
        argList = J.cast$1$0$ax(t1, t2);
      argList.forEach$1(argList, A.calculation1___assertCalculationValue$closure());
      return new A.SassCalculation0("min", A.List_List$unmodifiable(argList, t2));
    },
    $signature: 110
  };
  A.calculationClass__closure2.prototype = {
    call$1($arguments) {
      var t1 = self.immutable.isOrderedMap($arguments) ? J.toArray$0$x(type$.ImmutableList_2._as($arguments)) : type$.List_dynamic._as($arguments),
        t2 = type$.Object,
        argList = J.cast$1$0$ax(t1, t2);
      argList.forEach$1(argList, A.calculation1___assertCalculationValue$closure());
      return new A.SassCalculation0("max", A.List_List$unmodifiable(argList, t2));
    },
    $signature: 110
  };
  A.calculationClass__closure3.prototype = {
    call$3(min, value, max) {
      var t1;
      if (!(value == null && !A._isValidClampArg(min)))
        t1 = max == null && !B.JSArray_methods.any$1([min, value], A.calculation1___isValidClampArg$closure());
      else
        t1 = true;
      if (t1)
        A.jsThrow0(new self.Error("Expected at least one SassString or CalculationInterpolation in `" + A.IterableNullableExtension_whereNotNull([min, value, max], type$.Object).toString$0(0) + "`"));
      t1 = type$.Object;
      A.IterableNullableExtension_whereNotNull([min, value, max], t1).forEach$1(0, A.calculation1___assertCalculationValue$closure());
      return new A.SassCalculation0("clamp", A.List_List$unmodifiable(A.IterableNullableExtension_whereNotNull([min, value, max], t1), t1));
    },
    call$1(min) {
      return this.call$3(min, null, null);
    },
    call$2(min, value) {
      return this.call$3(min, value, null);
    },
    "call*": "call$3",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null, null];
    },
    $signature: 363
  };
  A.calculationClass__closure4.prototype = {
    call$2($self, $name) {
      return $self;
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 364
  };
  A.calculationClass__closure5.prototype = {
    call$1($self) {
      return new self.immutable.List($self.$arguments);
    },
    $signature: 365
  };
  A.calculationOperationClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.CalculationOperation", new A.calculationOperationClass__closure())),
        t2 = type$.String,
        t3 = type$.Function;
      A.LinkedHashMap_LinkedHashMap$_literal(["equals", new A.calculationOperationClass__closure0(), "hashCode", new A.calculationOperationClass__closure1()], t2, t3).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass));
      A.LinkedHashMap_LinkedHashMap$_literal(["operator", new A.calculationOperationClass__closure2(), "left", new A.calculationOperationClass__closure3(), "right", new A.calculationOperationClass__closure4()], t2, t3).forEach$1(0, A.JSClassExtension_get_defineGetter(jsClass));
      A.JSClassExtension_injectSuperclass(t1._as(A.SassCalculation_operateInternal0(B.CalculationOperator_g2q0, A.SassNumber_SassNumber0(1, null), A.SassNumber_SassNumber0(1, null), false, false).constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.calculationOperationClass__closure.prototype = {
    call$4($self, strOperator, left, right) {
      var operator = A.IterableExtension_firstWhereOrNull(B.List_kUZ, new A.calculationOperationClass___closure(strOperator));
      if (operator == null)
        A.jsThrow0(new self.Error("Invalid operator: " + strOperator));
      A._assertCalculationValue(left);
      A._assertCalculationValue(right);
      return A.SassCalculation_operateInternal0(operator, left, right, false, false);
    },
    "call*": "call$4",
    $requiredArgCount: 4,
    $signature: 366
  };
  A.calculationOperationClass___closure.prototype = {
    call$1(value) {
      return value.operator === this.strOperator;
    },
    $signature: 367
  };
  A.calculationOperationClass__closure0.prototype = {
    call$2($self, other) {
      return $self.$eq(0, other);
    },
    $signature: 368
  };
  A.calculationOperationClass__closure1.prototype = {
    call$1($self) {
      return $self.get$hashCode(0);
    },
    $signature: 369
  };
  A.calculationOperationClass__closure2.prototype = {
    call$1($self) {
      return $self._calculation0$_operator.operator;
    },
    $signature: 370
  };
  A.calculationOperationClass__closure3.prototype = {
    call$1($self) {
      return $self._calculation0$_left;
    },
    $signature: 207
  };
  A.calculationOperationClass__closure4.prototype = {
    call$1($self) {
      return $self._calculation0$_right;
    },
    $signature: 207
  };
  A.calculationInterpolationClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.CalculationInterpolation", new A.calculationInterpolationClass__closure())),
        t2 = type$.String,
        t3 = type$.Function;
      A.LinkedHashMap_LinkedHashMap$_literal(["equals", new A.calculationInterpolationClass__closure0(), "hashCode", new A.calculationInterpolationClass__closure1()], t2, t3).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass));
      A.LinkedHashMap_LinkedHashMap$_literal(["value", new A.calculationInterpolationClass__closure2()], t2, t3).forEach$1(0, A.JSClassExtension_get_defineGetter(jsClass));
      A.JSClassExtension_injectSuperclass(t1._as(new A.CalculationInterpolation("").constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.calculationInterpolationClass__closure.prototype = {
    call$2($self, value) {
      return new A.CalculationInterpolation(value);
    },
    $signature: 372
  };
  A.calculationInterpolationClass__closure0.prototype = {
    call$2($self, other) {
      return other instanceof A.CalculationInterpolation && $self._calculation0$_value === other._calculation0$_value;
    },
    $signature: 373
  };
  A.calculationInterpolationClass__closure1.prototype = {
    call$1($self) {
      return B.JSString_methods.get$hashCode($self._calculation0$_value);
    },
    $signature: 374
  };
  A.calculationInterpolationClass__closure2.prototype = {
    call$1($self) {
      return $self._calculation0$_value;
    },
    $signature: 375
  };
  A.SassCalculation0.prototype = {
    get$isSpecialNumber() {
      return true;
    },
    accept$1$1(visitor) {
      return visitor.visitCalculation$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertCalculation$1($name) {
      return this;
    },
    plus$1(other) {
      if (other instanceof A.SassString0)
        return this.super$Value$plus0(other);
      throw A.wrapException(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " + " + other.toString$0(0) + '".', null));
    },
    minus$1(other) {
      return A.throwExpression(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " - " + other.toString$0(0) + '".', null));
    },
    unaryPlus$0() {
      return A.throwExpression(A.SassScriptException$0('Undefined operation "+' + this.toString$0(0) + '".', null));
    },
    unaryMinus$0() {
      return A.throwExpression(A.SassScriptException$0('Undefined operation "-' + this.toString$0(0) + '".', null));
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.SassCalculation0 && this.name === other.name && B.C_ListEquality.equals$2(0, this.$arguments, other.$arguments);
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.name) ^ B.C_ListEquality0.hash$1(this.$arguments);
    }
  };
  A.SassCalculation__verifyLength_closure0.prototype = {
    call$1(arg) {
      return arg instanceof A.SassString0;
    },
    $signature: 75
  };
  A.CalculationOperation0.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.CalculationOperation0 && this._calculation0$_operator === other._calculation0$_operator && J.$eq$(this._calculation0$_left, other._calculation0$_left) && J.$eq$(this._calculation0$_right, other._calculation0$_right);
    },
    get$hashCode(_) {
      return (A.Primitives_objectHashCode(this._calculation0$_operator) ^ J.get$hashCode$(this._calculation0$_left) ^ J.get$hashCode$(this._calculation0$_right)) >>> 0;
    },
    toString$0(_) {
      var parenthesized = A.serializeValue0(new A.SassCalculation0("", A._setArrayType([this], type$.JSArray_Object)), true, true);
      return B.JSString_methods.substring$2(parenthesized, 1, parenthesized.length - 1);
    }
  };
  A.CalculationOperator0.prototype = {
    _enumToString$0() {
      return "CalculationOperator." + this._name;
    },
    toString$0(_) {
      return this.name;
    }
  };
  A.CalculationInterpolation.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.CalculationInterpolation && this._calculation0$_value === other._calculation0$_value;
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this._calculation0$_value);
    },
    toString$0(_) {
      return this._calculation0$_value;
    }
  };
  A.CallableDeclaration0.prototype = {
    get$span(receiver) {
      return this.span;
    }
  };
  A.updateCanonicalizeContextPrototype_closure.prototype = {
    call$1($self) {
      return $self._canonicalize_context$_fromImport;
    },
    $signature: 376
  };
  A.updateCanonicalizeContextPrototype_closure0.prototype = {
    call$1($self) {
      $self._canonicalize_context$_wasContainingUrlAccessed = true;
      return A.NullableExtension_andThen0($self._canonicalize_context$_containingUrl, A.utils1__dartToJSUrl$closure());
    },
    $signature: 377
  };
  A.CanonicalizeContext0.prototype = {
    withFromImport$1$2(fromImport, callback) {
      var t1,
        oldFromImport = this._canonicalize_context$_fromImport;
      this._canonicalize_context$_fromImport = true;
      try {
        t1 = callback.call$0();
        return t1;
      } finally {
        this._canonicalize_context$_fromImport = oldFromImport;
      }
    },
    withFromImport$2(fromImport, callback) {
      return this.withFromImport$1$2(fromImport, callback, type$.dynamic);
    }
  };
  A.Chokidar0.prototype = {};
  A.ChokidarOptions0.prototype = {};
  A.ChokidarWatcher0.prototype = {};
  A.ClassSelector0.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.ClassSelector0 && other.name === this.name;
    },
    accept$1$1(visitor) {
      return visitor.visitClassSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    addSuffix$1(suffix) {
      return new A.ClassSelector0(this.name + suffix, this.span);
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.name);
    }
  };
  A._CloneCssVisitor0.prototype = {
    visitCssAtRule$1(node) {
      var t1 = node.isChildless,
        rule = A.ModifiableCssAtRule$0(node.name, node.span, t1, node.value);
      return t1 ? rule : this._clone_css$_visitChildren$2(rule, node);
    },
    visitCssComment$1(node) {
      return new A.ModifiableCssComment0(node.text, node.span);
    },
    visitCssDeclaration$1(node) {
      return A.ModifiableCssDeclaration$0(node.name, node.value, node.span, node.parsedAsCustomProperty, node.valueSpanForMap);
    },
    visitCssImport$1(node) {
      return new A.ModifiableCssImport0(node.url, node.modifiers, node.span);
    },
    visitCssKeyframeBlock$1(node) {
      return this._clone_css$_visitChildren$2(A.ModifiableCssKeyframeBlock$0(node.selector, node.span), node);
    },
    visitCssMediaRule$1(node) {
      return this._clone_css$_visitChildren$2(A.ModifiableCssMediaRule$0(node.queries, node.span), node);
    },
    visitCssStyleRule$1(node) {
      var _0_0 = this._clone_css$_oldToNewSelectors.$index(0, node._style_rule0$_selector._box0$_inner.value);
      if (_0_0 != null)
        return this._clone_css$_visitChildren$2(A.ModifiableCssStyleRule$0(_0_0, node.span, false, node.originalSelector), node);
      else
        throw A.wrapException(A.StateError$(string$.The_Ex));
    },
    visitCssStylesheet$1(node) {
      return this._clone_css$_visitChildren$2(A.ModifiableCssStylesheet$0(node.get$span(node)), node);
    },
    visitCssSupportsRule$1(node) {
      return this._clone_css$_visitChildren$2(A.ModifiableCssSupportsRule$0(node.condition, node.span), node);
    },
    _clone_css$_visitChildren$1$2(newParent, oldParent) {
      var t1, t2, newChild;
      for (t1 = J.get$iterator$ax(oldParent.get$children(oldParent)); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        newChild = t2.accept$1(this);
        newChild.isGroupEnd = t2.get$isGroupEnd();
        newParent.addChild$1(newChild);
      }
      return newParent;
    },
    _clone_css$_visitChildren$2(newParent, oldParent) {
      return this._clone_css$_visitChildren$1$2(newParent, oldParent, type$.ModifiableCssParentNode_2);
    }
  };
  A.ColorExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitColorExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return A.serializeValue0(this.value, true, true);
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.global_closure32.prototype = {
    call$1($arguments) {
      return A._rgb0("rgb", $arguments);
    },
    $signature: 3
  };
  A.global_closure33.prototype = {
    call$1($arguments) {
      return A._rgb0("rgb", $arguments);
    },
    $signature: 3
  };
  A.global_closure34.prototype = {
    call$1($arguments) {
      return A._rgbTwoArg0("rgb", $arguments);
    },
    $signature: 3
  };
  A.global_closure35.prototype = {
    call$1($arguments) {
      var parsed = A._parseChannels0("rgb", A._setArrayType(["$red", "$green", "$blue"], type$.JSArray_String), J.get$first$ax($arguments));
      return parsed instanceof A.SassString0 ? parsed : A._rgb0("rgb", type$.List_Value_2._as(parsed));
    },
    $signature: 3
  };
  A.global_closure36.prototype = {
    call$1($arguments) {
      return A._rgb0("rgba", $arguments);
    },
    $signature: 3
  };
  A.global_closure37.prototype = {
    call$1($arguments) {
      return A._rgb0("rgba", $arguments);
    },
    $signature: 3
  };
  A.global_closure38.prototype = {
    call$1($arguments) {
      return A._rgbTwoArg0("rgba", $arguments);
    },
    $signature: 3
  };
  A.global_closure39.prototype = {
    call$1($arguments) {
      var parsed = A._parseChannels0("rgba", A._setArrayType(["$red", "$green", "$blue"], type$.JSArray_String), J.get$first$ax($arguments));
      return parsed instanceof A.SassString0 ? parsed : A._rgb0("rgba", type$.List_Value_2._as(parsed));
    },
    $signature: 3
  };
  A.global_closure40.prototype = {
    call$1($arguments) {
      var color, t2,
        t1 = J.getInterceptor$asx($arguments),
        weight = t1.$index($arguments, 1).assertNumber$1("weight");
      if (t1.$index($arguments, 0) instanceof A.SassNumber0 || t1.$index($arguments, 0).get$isSpecialNumber()) {
        if (weight._number1$_value !== 100 || !weight.hasUnit$1("%"))
          throw A.wrapException(string$.Only_oa);
        return A._functionString0("invert", t1.take$1($arguments, 1));
      }
      color = t1.$index($arguments, 0).assertColor$1("color");
      t1 = color.get$red(0);
      t2 = color.get$green(0);
      return A._mixColors0(color.changeRgb$3$blue$green$red(255 - color.get$blue(0), 255 - t2, 255 - t1), color, weight);
    },
    $signature: 3
  };
  A.global_closure41.prototype = {
    call$1($arguments) {
      return A._hsl0("hsl", $arguments);
    },
    $signature: 3
  };
  A.global_closure42.prototype = {
    call$1($arguments) {
      return A._hsl0("hsl", $arguments);
    },
    $signature: 3
  };
  A.global_closure43.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar())
        return A._functionString0("hsl", $arguments);
      else
        throw A.wrapException(A.SassScriptException$0("Missing argument $lightness.", null));
    },
    $signature: 19
  };
  A.global_closure44.prototype = {
    call$1($arguments) {
      var parsed = A._parseChannels0("hsl", A._setArrayType(["$hue", "$saturation", "$lightness"], type$.JSArray_String), J.get$first$ax($arguments));
      return parsed instanceof A.SassString0 ? parsed : A._hsl0("hsl", type$.List_Value_2._as(parsed));
    },
    $signature: 3
  };
  A.global_closure45.prototype = {
    call$1($arguments) {
      return A._hsl0("hsla", $arguments);
    },
    $signature: 3
  };
  A.global_closure46.prototype = {
    call$1($arguments) {
      return A._hsl0("hsla", $arguments);
    },
    $signature: 3
  };
  A.global_closure47.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar())
        return A._functionString0("hsla", $arguments);
      else
        throw A.wrapException(A.SassScriptException$0("Missing argument $lightness.", null));
    },
    $signature: 19
  };
  A.global_closure48.prototype = {
    call$1($arguments) {
      var parsed = A._parseChannels0("hsla", A._setArrayType(["$hue", "$saturation", "$lightness"], type$.JSArray_String), J.get$first$ax($arguments));
      return parsed instanceof A.SassString0 ? parsed : A._hsl0("hsla", type$.List_Value_2._as(parsed));
    },
    $signature: 3
  };
  A.global_closure49.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0) instanceof A.SassNumber0 || t1.$index($arguments, 0).get$isSpecialNumber())
        return A._functionString0("grayscale", $arguments);
      return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0);
    },
    $signature: 3
  };
  A.global_closure50.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color"),
        degrees = A._angleValue0(t1.$index($arguments, 1), "degrees");
      return color.changeHsl$1$hue(color.get$hue(0) + degrees);
    },
    $signature: 28
  };
  A.global_closure51.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color"),
        amount = t1.$index($arguments, 1).assertNumber$1("amount");
      return color.changeHsl$1$lightness(B.JSNumber_methods.clamp$2(color.get$lightness(0) + amount.valueInRange$3(0, 100, "amount"), 0, 100));
    },
    $signature: 28
  };
  A.global_closure52.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color"),
        amount = t1.$index($arguments, 1).assertNumber$1("amount");
      return color.changeHsl$1$lightness(B.JSNumber_methods.clamp$2(color.get$lightness(0) - amount.valueInRange$3(0, 100, "amount"), 0, 100));
    },
    $signature: 28
  };
  A.global_closure53.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0) instanceof A.SassNumber0 || t1.$index($arguments, 0).get$isSpecialNumber())
        return A._functionString0("saturate", $arguments);
      return new A.SassString0("saturate(" + A.serializeValue0(t1.$index($arguments, 0).assertNumber$1("amount"), false, true) + ")", false);
    },
    $signature: 19
  };
  A.global_closure54.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color"),
        amount = t1.$index($arguments, 1).assertNumber$1("amount");
      return color.changeHsl$1$saturation(B.JSNumber_methods.clamp$2(color.get$saturation(0) + amount.valueInRange$3(0, 100, "amount"), 0, 100));
    },
    $signature: 28
  };
  A.global_closure55.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        color = t1.$index($arguments, 0).assertColor$1("color"),
        amount = t1.$index($arguments, 1).assertNumber$1("amount");
      return color.changeHsl$1$saturation(B.JSNumber_methods.clamp$2(color.get$saturation(0) - amount.valueInRange$3(0, 100, "amount"), 0, 100));
    },
    $signature: 28
  };
  A.global_closure56.prototype = {
    call$1($arguments) {
      var argument = J.$index$asx($arguments, 0);
      if (argument instanceof A.SassString0 && !argument._string0$_hasQuotes && B.JSString_methods.contains$1(argument._string0$_text, $.$get$_microsoftFilterStart0()))
        return A._functionString0("alpha", $arguments);
      return A.SassNumber_SassNumber0(argument.assertColor$1("color")._color1$_alpha, null);
    },
    $signature: 3
  };
  A.global_closure57.prototype = {
    call$1($arguments) {
      var t1,
        argList = J.$index$asx($arguments, 0).get$asList();
      if (argList.length !== 0 && B.JSArray_methods.every$1(argList, new A.global__closure0()))
        return A._functionString0("alpha", $arguments);
      t1 = argList.length;
      if (t1 === 0)
        throw A.wrapException(A.SassScriptException$0("Missing argument $color.", null));
      else
        throw A.wrapException(A.SassScriptException$0("Only 1 argument allowed, but " + t1 + " were passed.", null));
    },
    $signature: 19
  };
  A.global__closure0.prototype = {
    call$1(argument) {
      return argument instanceof A.SassString0 && !argument._string0$_hasQuotes && B.JSString_methods.contains$1(argument._string0$_text, $.$get$_microsoftFilterStart0());
    },
    $signature: 53
  };
  A.global_closure58.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0) instanceof A.SassNumber0 || t1.$index($arguments, 0).get$isSpecialNumber())
        return A._functionString0("opacity", $arguments);
      return A.SassNumber_SassNumber0(t1.$index($arguments, 0).assertColor$1("color")._color1$_alpha, null);
    },
    $signature: 3
  };
  A.module_closure12.prototype = {
    call$1($arguments) {
      var result, color, t2,
        t1 = J.getInterceptor$asx($arguments),
        weight = t1.$index($arguments, 1).assertNumber$1("weight");
      if (t1.$index($arguments, 0) instanceof A.SassNumber0) {
        if (weight._number1$_value !== 100 || !weight.hasUnit$1("%"))
          throw A.wrapException(string$.Only_oa);
        result = A._functionString0("invert", t1.take$1($arguments, 1));
        A.warnForDeprecation0("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x29x20to_ci + result.toString$0(0), B.Deprecation_EfO);
        return result;
      }
      color = t1.$index($arguments, 0).assertColor$1("color");
      t1 = color.get$red(0);
      t2 = color.get$green(0);
      return A._mixColors0(color.changeRgb$3$blue$green$red(255 - color.get$blue(0), 255 - t2, 255 - t1), color, weight);
    },
    $signature: 3
  };
  A.module_closure13.prototype = {
    call$1($arguments) {
      var result,
        t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0) instanceof A.SassNumber0) {
        result = A._functionString0("grayscale", t1.take$1($arguments, 1));
        A.warnForDeprecation0("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x29x20to_cg + result.toString$0(0), B.Deprecation_EfO);
        return result;
      }
      return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0);
    },
    $signature: 3
  };
  A.module_closure14.prototype = {
    call$1($arguments) {
      return A._hwb0($arguments);
    },
    $signature: 3
  };
  A.module_closure15.prototype = {
    call$1($arguments) {
      var parsed = A._parseChannels0("hwb", A._setArrayType(["$hue", "$whiteness", "$blackness"], type$.JSArray_String), J.get$first$ax($arguments));
      if (parsed instanceof A.SassString0)
        throw A.wrapException(A.SassScriptException$0('Expected numeric channels, got "' + parsed.toString$0(0) + '".', null));
      else
        return A._hwb0(type$.List_Value_2._as(parsed));
    },
    $signature: 3
  };
  A.module_closure16.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$whiteness(0), "%");
    },
    $signature: 12
  };
  A.module_closure17.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$blackness(0), "%");
    },
    $signature: 12
  };
  A.module_closure18.prototype = {
    call$1($arguments) {
      var result,
        argument = J.$index$asx($arguments, 0);
      if (argument instanceof A.SassString0 && !argument._string0$_hasQuotes && B.JSString_methods.contains$1(argument._string0$_text, $.$get$_microsoftFilterStart0())) {
        result = A._functionString0("alpha", $arguments);
        A.warnForDeprecation0(string$.Using_c + result.toString$0(0), B.Deprecation_EfO);
        return result;
      }
      return A.SassNumber_SassNumber0(argument.assertColor$1("color")._color1$_alpha, null);
    },
    $signature: 3
  };
  A.module_closure19.prototype = {
    call$1($arguments) {
      var result,
        t1 = J.getInterceptor$asx($arguments);
      if (B.JSArray_methods.every$1(t1.$index($arguments, 0).get$asList(), new A.module__closure4())) {
        result = A._functionString0("alpha", $arguments);
        A.warnForDeprecation0(string$.Using_c + result.toString$0(0), B.Deprecation_EfO);
        return result;
      }
      throw A.wrapException(A.SassScriptException$0("Only 1 argument allowed, but " + t1.get$length($arguments) + " were passed.", null));
    },
    $signature: 19
  };
  A.module__closure4.prototype = {
    call$1(argument) {
      return argument instanceof A.SassString0 && !argument._string0$_hasQuotes && B.JSString_methods.contains$1(argument._string0$_text, $.$get$_microsoftFilterStart0());
    },
    $signature: 53
  };
  A.module_closure20.prototype = {
    call$1($arguments) {
      var result,
        t1 = J.getInterceptor$asx($arguments);
      if (t1.$index($arguments, 0) instanceof A.SassNumber0) {
        result = A._functionString0("opacity", $arguments);
        A.warnForDeprecation0("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x20to_co + result.toString$0(0), B.Deprecation_EfO);
        return result;
      }
      return A.SassNumber_SassNumber0(t1.$index($arguments, 0).assertColor$1("color")._color1$_alpha, null);
    },
    $signature: 3
  };
  A._red_closure0.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$red(0), null);
    },
    $signature: 12
  };
  A._green_closure0.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$green(0), null);
    },
    $signature: 12
  };
  A._blue_closure0.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$blue(0), null);
    },
    $signature: 12
  };
  A._mix_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      return A._mixColors0(t1.$index($arguments, 0).assertColor$1("color1"), t1.$index($arguments, 1).assertColor$1("color2"), t1.$index($arguments, 2).assertNumber$1("weight"));
    },
    $signature: 28
  };
  A._hue_closure0.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$hue(0), "deg");
    },
    $signature: 12
  };
  A._saturation_closure0.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$saturation(0), "%");
    },
    $signature: 12
  };
  A._lightness_closure0.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$lightness(0), "%");
    },
    $signature: 12
  };
  A._complement_closure0.prototype = {
    call$1($arguments) {
      var color = J.$index$asx($arguments, 0).assertColor$1("color");
      return color.changeHsl$1$hue(color.get$hue(0) + 180);
    },
    $signature: 28
  };
  A._adjust_closure0.prototype = {
    call$1($arguments) {
      return A._updateComponents0($arguments, true, false, false);
    },
    $signature: 28
  };
  A._scale_closure0.prototype = {
    call$1($arguments) {
      return A._updateComponents0($arguments, false, false, true);
    },
    $signature: 28
  };
  A._change_closure0.prototype = {
    call$1($arguments) {
      return A._updateComponents0($arguments, false, true, false);
    },
    $signature: 28
  };
  A._ieHexStr_closure0.prototype = {
    call$1($arguments) {
      var color = J.$index$asx($arguments, 0).assertColor$1("color"),
        t1 = new A._ieHexStr_closure_hexString0();
      return new A.SassString0("#" + A.S(t1.call$1(A.fuzzyRound0(color._color1$_alpha * 255))) + A.S(t1.call$1(color.get$red(0))) + A.S(t1.call$1(color.get$green(0))) + A.S(t1.call$1(color.get$blue(0))), false);
    },
    $signature: 19
  };
  A._ieHexStr_closure_hexString0.prototype = {
    call$1(component) {
      return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(component, 16), 2, "0").toUpperCase();
    },
    $signature: 191
  };
  A._updateComponents_getParam0.prototype = {
    call$5$assertPercent$checkPercent$checkUnitless($name, max, assertPercent, checkPercent, checkUnitless) {
      var t2, _this = this,
        t1 = _this.keywords.remove$1(0, $name),
        number = t1 == null ? null : t1.assertNumber$1($name);
      if (number == null)
        return null;
      t1 = _this.scale;
      t2 = !t1;
      if (t2 && checkUnitless)
        if (number.get$hasUnits())
          A.warnForDeprecation0("$" + $name + ": Passing a number with unit " + number.get$unitString() + string$.x20is_de + number.unitSuggestion$1($name) + string$.x0a_Morex3a, B.Deprecation_oCX);
      if (t2 && checkPercent)
        A._checkPercent0(number, $name);
      if (!t2 || assertPercent)
        number.assertUnit$2("%", $name);
      if (t1)
        max = 100;
      if (!t2 || assertPercent)
        t1 = number.valueInRange$3(_this.change ? 0 : -max, max, $name);
      else {
        t1 = _this.change ? 0 : -max;
        t1 = number.valueInRangeWithUnit$4(t1, max, $name, checkPercent ? "%" : "");
      }
      return t1;
    },
    call$2($name, max) {
      return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, false, false, false);
    },
    call$3$checkUnitless($name, max, checkUnitless) {
      return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, false, false, checkUnitless);
    },
    call$3$checkPercent($name, max, checkPercent) {
      return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, false, checkPercent, false);
    },
    call$3$assertPercent($name, max, assertPercent) {
      return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, assertPercent, false, false);
    },
    $signature: 189
  };
  A._updateComponents_closure1.prototype = {
    call$1(hue) {
      return A._angleValue0(hue, "hue");
    },
    $signature: 95
  };
  A._updateComponents_closure2.prototype = {
    call$1($name) {
      return "$" + $name;
    },
    $signature: 5
  };
  A._updateComponents_updateValue0.prototype = {
    call$3(current, param, max) {
      var t1;
      if (param == null)
        return current;
      if (this.change)
        return param;
      if (this.adjust)
        return B.JSNumber_methods.clamp$2(current + param, 0, max);
      t1 = param > 0 ? max - current : current;
      return current + t1 * (param / 100);
    },
    $signature: 251
  };
  A._updateComponents_updateRgb0.prototype = {
    call$2(current, param) {
      return A.fuzzyRound0(this.updateValue.call$3(current, param, 255));
    },
    $signature: 249
  };
  A._functionString_closure0.prototype = {
    call$1(argument) {
      return A.serializeValue0(argument, false, true);
    },
    $signature: 136
  };
  A._removedColorFunction_closure0.prototype = {
    call$1($arguments) {
      var t1 = this.name,
        t2 = J.getInterceptor$asx($arguments),
        t3 = A.S(t2.$index($arguments, 0)),
        t4 = this.negative ? "-" : "";
      throw A.wrapException(A.SassScriptException$0("The function " + t1 + string$.x28__isn + t3 + ", $" + this.argument + ": " + t4 + A.S(t2.$index($arguments, 1)) + string$.x29x0a_Mor + t1, null));
    },
    $signature: 384
  };
  A._rgb_closure0.prototype = {
    call$1(alpha) {
      return A._percentageOrUnitless0(alpha.assertNumber$1("alpha"), 1, "alpha");
    },
    $signature: 95
  };
  A._hsl_closure0.prototype = {
    call$1(alpha) {
      return A._percentageOrUnitless0(alpha.assertNumber$1("alpha"), 1, "alpha");
    },
    $signature: 95
  };
  A._hwb_closure0.prototype = {
    call$1(alpha) {
      return A._percentageOrUnitless0(alpha.assertNumber$1("alpha"), 1, "alpha");
    },
    $signature: 95
  };
  A._parseChannels_closure0.prototype = {
    call$1(value) {
      return value.get$isVar();
    },
    $signature: 53
  };
  A.colorClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.SassColor", new A.colorClass__closure()));
      J.get$$prototype$x(jsClass).change = A.allowInteropCaptureThisNamed("change", new A.colorClass__closure0());
      A.LinkedHashMap_LinkedHashMap$_literal(["red", new A.colorClass__closure1(), "green", new A.colorClass__closure2(), "blue", new A.colorClass__closure3(), "hue", new A.colorClass__closure4(), "saturation", new A.colorClass__closure5(), "lightness", new A.colorClass__closure6(), "whiteness", new A.colorClass__closure7(), "blackness", new A.colorClass__closure8(), "alpha", new A.colorClass__closure9()], type$.String, type$.Function).forEach$1(0, A.JSClassExtension_get_defineGetter(jsClass));
      A.JSClassExtension_injectSuperclass(t1._as(A.SassColor$rgb0(0, 0, 0, 1).constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.colorClass__closure.prototype = {
    call$2($self, color) {
      var t2, t3, t4,
        t1 = J.getInterceptor$x(color);
      if (t1.get$red(color) != null) {
        t2 = t1.get$red(color);
        t2.toString;
        t2 = A.fuzzyRound0(t2);
        t3 = t1.get$green(color);
        t3.toString;
        t3 = A.fuzzyRound0(t3);
        t4 = t1.get$blue(color);
        t4.toString;
        t4 = A.fuzzyRound0(t4);
        t1 = t1.get$alpha(color);
        return A.SassColor$rgb0(t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1);
      } else if (t1.get$saturation(color) != null) {
        t2 = t1.get$hue(color);
        t2.toString;
        t3 = t1.get$saturation(color);
        t3.toString;
        t4 = t1.get$lightness(color);
        t4.toString;
        t1 = t1.get$alpha(color);
        return A.SassColor$hsl(t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1);
      } else {
        t2 = t1.get$hue(color);
        t2.toString;
        t3 = t1.get$whiteness(color);
        t3.toString;
        t4 = t1.get$blackness(color);
        t4.toString;
        t1 = t1.get$alpha(color);
        return A.SassColor_SassColor$hwb0(t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1);
      }
    },
    $signature: 385
  };
  A.colorClass__closure0.prototype = {
    call$2($self, options) {
      var t2, t3, t4,
        t1 = J.getInterceptor$x(options);
      if (t1.get$whiteness(options) != null || t1.get$blackness(options) != null) {
        t2 = t1.get$hue(options);
        if (t2 == null)
          t2 = $self.get$hue(0);
        t3 = t1.get$whiteness(options);
        if (t3 == null)
          t3 = $self.get$whiteness(0);
        t4 = t1.get$blackness(options);
        if (t4 == null)
          t4 = $self.get$blackness(0);
        t1 = t1.get$alpha(options);
        return $self.changeHwb$4$alpha$blackness$hue$whiteness(t1 == null ? $self._color1$_alpha : t1, t4, t2, t3);
      } else if (t1.get$hue(options) != null || t1.get$saturation(options) != null || t1.get$lightness(options) != null) {
        t2 = t1.get$hue(options);
        if (t2 == null)
          t2 = $self.get$hue(0);
        t3 = t1.get$saturation(options);
        if (t3 == null)
          t3 = $self.get$saturation(0);
        t4 = t1.get$lightness(options);
        if (t4 == null)
          t4 = $self.get$lightness(0);
        t1 = t1.get$alpha(options);
        return $self.changeHsl$4$alpha$hue$lightness$saturation(t1 == null ? $self._color1$_alpha : t1, t2, t4, t3);
      } else if (t1.get$red(options) != null || t1.get$green(options) != null || t1.get$blue(options) != null) {
        t2 = A.NullableExtension_andThen0(t1.get$red(options), A.number2__fuzzyRound$closure());
        if (t2 == null)
          t2 = $self.get$red(0);
        t3 = A.NullableExtension_andThen0(t1.get$green(options), A.number2__fuzzyRound$closure());
        if (t3 == null)
          t3 = $self.get$green(0);
        t4 = A.NullableExtension_andThen0(t1.get$blue(options), A.number2__fuzzyRound$closure());
        if (t4 == null)
          t4 = $self.get$blue(0);
        t1 = t1.get$alpha(options);
        return $self.changeRgb$4$alpha$blue$green$red(t1 == null ? $self._color1$_alpha : t1, t4, t3, t2);
      } else {
        t1 = t1.get$alpha(options);
        return $self.changeAlpha$1(t1 == null ? $self._color1$_alpha : t1);
      }
    },
    $signature: 386
  };
  A.colorClass__closure1.prototype = {
    call$1($self) {
      return $self.get$red(0);
    },
    $signature: 116
  };
  A.colorClass__closure2.prototype = {
    call$1($self) {
      return $self.get$green(0);
    },
    $signature: 116
  };
  A.colorClass__closure3.prototype = {
    call$1($self) {
      return $self.get$blue(0);
    },
    $signature: 116
  };
  A.colorClass__closure4.prototype = {
    call$1($self) {
      return $self.get$hue(0);
    },
    $signature: 57
  };
  A.colorClass__closure5.prototype = {
    call$1($self) {
      return $self.get$saturation(0);
    },
    $signature: 57
  };
  A.colorClass__closure6.prototype = {
    call$1($self) {
      return $self.get$lightness(0);
    },
    $signature: 57
  };
  A.colorClass__closure7.prototype = {
    call$1($self) {
      return $self.get$whiteness(0);
    },
    $signature: 57
  };
  A.colorClass__closure8.prototype = {
    call$1($self) {
      return $self.get$blackness(0);
    },
    $signature: 57
  };
  A.colorClass__closure9.prototype = {
    call$1($self) {
      return $self._color1$_alpha;
    },
    $signature: 57
  };
  A._Channels.prototype = {};
  A._NodeSassColor.prototype = {};
  A.legacyColorClass_closure.prototype = {
    call$6(thisArg, redOrArgb, green, blue, alpha, dartValue) {
      var red, t1, t2, t3, t4;
      if (dartValue != null) {
        J.set$dartValue$x(thisArg, dartValue);
        return;
      }
      if (green == null || blue == null) {
        A._asInt(redOrArgb);
        alpha = B.JSInt_methods._shrOtherPositive$1(redOrArgb, 24) / 255;
        red = B.JSInt_methods.$mod(B.JSInt_methods._shrOtherPositive$1(redOrArgb, 16), 256);
        green = B.JSInt_methods.$mod(B.JSInt_methods._shrOtherPositive$1(redOrArgb, 8), 256);
        blue = B.JSInt_methods.$mod(redOrArgb, 256);
      } else {
        redOrArgb.toString;
        red = redOrArgb;
      }
      t1 = A.fuzzyRound0(B.JSNumber_methods.clamp$2(red, 0, 255));
      t2 = A.fuzzyRound0(B.JSNumber_methods.clamp$2(green, 0, 255));
      t3 = A.fuzzyRound0(B.JSNumber_methods.clamp$2(blue, 0, 255));
      t4 = alpha == null ? null : B.JSNumber_methods.clamp$2(alpha, 0, 1);
      J.set$dartValue$x(thisArg, A.SassColor$rgb0(t1, t2, t3, t4 == null ? 1 : t4));
    },
    call$2(thisArg, redOrArgb) {
      var _null = null;
      return this.call$6(thisArg, redOrArgb, _null, _null, _null, _null);
    },
    call$3(thisArg, redOrArgb, green) {
      return this.call$6(thisArg, redOrArgb, green, null, null, null);
    },
    call$4(thisArg, redOrArgb, green, blue) {
      return this.call$6(thisArg, redOrArgb, green, blue, null, null);
    },
    call$5(thisArg, redOrArgb, green, blue, alpha) {
      return this.call$6(thisArg, redOrArgb, green, blue, alpha, null);
    },
    "call*": "call$6",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null, null, null, null];
    },
    $signature: 389
  };
  A.legacyColorClass_closure0.prototype = {
    call$1(thisArg) {
      return J.get$red$x(J.get$dartValue$x(thisArg));
    },
    $signature: 118
  };
  A.legacyColorClass_closure1.prototype = {
    call$1(thisArg) {
      return J.get$green$x(J.get$dartValue$x(thisArg));
    },
    $signature: 118
  };
  A.legacyColorClass_closure2.prototype = {
    call$1(thisArg) {
      return J.get$blue$x(J.get$dartValue$x(thisArg));
    },
    $signature: 118
  };
  A.legacyColorClass_closure3.prototype = {
    call$1(thisArg) {
      return J.get$dartValue$x(thisArg)._color1$_alpha;
    },
    $signature: 391
  };
  A.legacyColorClass_closure4.prototype = {
    call$2(thisArg, value) {
      var t1 = J.getInterceptor$x(thisArg);
      t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$red(A.fuzzyRound0(B.JSNumber_methods.clamp$2(value, 0, 255))));
    },
    $signature: 106
  };
  A.legacyColorClass_closure5.prototype = {
    call$2(thisArg, value) {
      var t1 = J.getInterceptor$x(thisArg);
      t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$green(A.fuzzyRound0(B.JSNumber_methods.clamp$2(value, 0, 255))));
    },
    $signature: 106
  };
  A.legacyColorClass_closure6.prototype = {
    call$2(thisArg, value) {
      var t1 = J.getInterceptor$x(thisArg);
      t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$blue(A.fuzzyRound0(B.JSNumber_methods.clamp$2(value, 0, 255))));
    },
    $signature: 106
  };
  A.legacyColorClass_closure7.prototype = {
    call$2(thisArg, value) {
      var t1 = J.getInterceptor$x(thisArg);
      t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$alpha(B.JSNumber_methods.clamp$2(value, 0, 1)));
    },
    $signature: 106
  };
  A.SassColor0.prototype = {
    get$red(_) {
      var t1;
      if (this._color1$_red == null)
        this._color1$_hslToRgb$0();
      t1 = this._color1$_red;
      t1.toString;
      return t1;
    },
    get$green(_) {
      var t1;
      if (this._color1$_green == null)
        this._color1$_hslToRgb$0();
      t1 = this._color1$_green;
      t1.toString;
      return t1;
    },
    get$blue(_) {
      var t1;
      if (this._color1$_blue == null)
        this._color1$_hslToRgb$0();
      t1 = this._color1$_blue;
      t1.toString;
      return t1;
    },
    get$hue(_) {
      var t1;
      if (this._color1$_hue == null)
        this._color1$_rgbToHsl$0();
      t1 = this._color1$_hue;
      t1.toString;
      return t1;
    },
    get$saturation(_) {
      var t1;
      if (this._color1$_saturation == null)
        this._color1$_rgbToHsl$0();
      t1 = this._color1$_saturation;
      t1.toString;
      return t1;
    },
    get$lightness(_) {
      var t1;
      if (this._color1$_lightness == null)
        this._color1$_rgbToHsl$0();
      t1 = this._color1$_lightness;
      t1.toString;
      return t1;
    },
    get$whiteness(_) {
      return Math.min(Math.min(this.get$red(0), this.get$green(0)), this.get$blue(0)) / 255 * 100;
    },
    get$blackness(_) {
      return 100 - Math.max(Math.max(this.get$red(0), this.get$green(0)), this.get$blue(0)) / 255 * 100;
    },
    accept$1$1(visitor) {
      return visitor.visitColor$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertColor$1($name) {
      return this;
    },
    changeRgb$4$alpha$blue$green$red(alpha, blue, green, red) {
      var _this = this,
        t1 = red == null ? _this.get$red(0) : red,
        t2 = green == null ? _this.get$green(0) : green,
        t3 = blue == null ? _this.get$blue(0) : blue;
      return A.SassColor$rgb0(t1, t2, t3, alpha == null ? _this._color1$_alpha : alpha);
    },
    changeRgb$3$blue$green$red(blue, green, red) {
      return this.changeRgb$4$alpha$blue$green$red(null, blue, green, red);
    },
    changeRgb$1$alpha(alpha) {
      return this.changeRgb$4$alpha$blue$green$red(alpha, null, null, null);
    },
    changeRgb$1$blue(blue) {
      return this.changeRgb$4$alpha$blue$green$red(null, blue, null, null);
    },
    changeRgb$1$green(green) {
      return this.changeRgb$4$alpha$blue$green$red(null, null, green, null);
    },
    changeRgb$1$red(red) {
      return this.changeRgb$4$alpha$blue$green$red(null, null, null, red);
    },
    changeHsl$4$alpha$hue$lightness$saturation(alpha, hue, lightness, saturation) {
      var _this = this,
        t1 = hue == null ? _this.get$hue(0) : hue,
        t2 = saturation == null ? _this.get$saturation(0) : saturation,
        t3 = lightness == null ? _this.get$lightness(0) : lightness;
      return A.SassColor$hsl(t1, t2, t3, alpha == null ? _this._color1$_alpha : alpha);
    },
    changeHsl$1$saturation(saturation) {
      return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, null, saturation);
    },
    changeHsl$1$lightness(lightness) {
      return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, lightness, null);
    },
    changeHsl$1$hue(hue) {
      return this.changeHsl$4$alpha$hue$lightness$saturation(null, hue, null, null);
    },
    changeHwb$4$alpha$blackness$hue$whiteness(alpha, blackness, hue, whiteness) {
      var t1 = hue == null ? this.get$hue(0) : hue;
      return A.SassColor_SassColor$hwb0(t1, whiteness, blackness, alpha);
    },
    changeAlpha$1(alpha) {
      var _this = this;
      return new A.SassColor0(_this._color1$_red, _this._color1$_green, _this._color1$_blue, _this._color1$_hue, _this._color1$_saturation, _this._color1$_lightness, A.fuzzyAssertRange0(alpha, 0, 1, "alpha"), null);
    },
    plus$1(other) {
      if (!(other instanceof A.SassNumber0) && !(other instanceof A.SassColor0))
        return this.super$Value$plus0(other);
      throw A.wrapException(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " + " + other.toString$0(0) + '".', null));
    },
    minus$1(other) {
      if (!(other instanceof A.SassNumber0) && !(other instanceof A.SassColor0))
        return this.super$Value$minus0(other);
      throw A.wrapException(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " - " + other.toString$0(0) + '".', null));
    },
    dividedBy$1(other) {
      if (!(other instanceof A.SassNumber0) && !(other instanceof A.SassColor0))
        return this.super$Value$dividedBy0(other);
      throw A.wrapException(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " / " + other.toString$0(0) + '".', null));
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof A.SassColor0 && other.get$red(0) === _this.get$red(0) && other.get$green(0) === _this.get$green(0) && other.get$blue(0) === _this.get$blue(0) && other._color1$_alpha === _this._color1$_alpha;
    },
    get$hashCode(_) {
      var _this = this;
      return B.JSInt_methods.get$hashCode(_this.get$red(0)) ^ B.JSInt_methods.get$hashCode(_this.get$green(0)) ^ B.JSInt_methods.get$hashCode(_this.get$blue(0)) ^ B.JSNumber_methods.get$hashCode(_this._color1$_alpha);
    },
    _color1$_rgbToHsl$0() {
      var t2, lightness, _this = this,
        scaledRed = _this.get$red(0) / 255,
        scaledGreen = _this.get$green(0) / 255,
        scaledBlue = _this.get$blue(0) / 255,
        max = Math.max(Math.max(scaledRed, scaledGreen), scaledBlue),
        min = Math.min(Math.min(scaledRed, scaledGreen), scaledBlue),
        delta = max - min,
        t1 = max === min;
      if (t1)
        _this._color1$_hue = 0;
      else if (max === scaledRed)
        _this._color1$_hue = B.JSNumber_methods.$mod(60 * (scaledGreen - scaledBlue) / delta, 360);
      else if (max === scaledGreen)
        _this._color1$_hue = B.JSNumber_methods.$mod(120 + 60 * (scaledBlue - scaledRed) / delta, 360);
      else if (max === scaledBlue)
        _this._color1$_hue = B.JSNumber_methods.$mod(240 + 60 * (scaledRed - scaledGreen) / delta, 360);
      t2 = max + min;
      lightness = 50 * t2;
      _this._color1$_lightness = lightness;
      if (t1)
        _this._color1$_saturation = 0;
      else {
        t1 = 100 * delta;
        if (lightness < 50)
          _this._color1$_saturation = t1 / t2;
        else
          _this._color1$_saturation = t1 / (2 - max - min);
      }
    },
    _color1$_hslToRgb$0() {
      var _this = this,
        scaledHue = _this.get$hue(0) / 360,
        scaledSaturation = _this.get$saturation(0) / 100,
        scaledLightness = _this.get$lightness(0) / 100,
        m2 = scaledLightness <= 0.5 ? scaledLightness * (scaledSaturation + 1) : scaledLightness + scaledSaturation - scaledLightness * scaledSaturation,
        m1 = scaledLightness * 2 - m2;
      _this._color1$_red = A.fuzzyRound0(A.SassColor__hueToRgb0(m1, m2, scaledHue + 0.3333333333333333) * 255);
      _this._color1$_green = A.fuzzyRound0(A.SassColor__hueToRgb0(m1, m2, scaledHue) * 255);
      _this._color1$_blue = A.fuzzyRound0(A.SassColor__hueToRgb0(m1, m2, scaledHue - 0.3333333333333333) * 255);
    }
  };
  A.SassColor_SassColor$hwb_toRgb0.prototype = {
    call$1(hue) {
      return A.fuzzyRound0((A.SassColor__hueToRgb0(0, 1, hue) * this.factor + this._box_0.scaledWhiteness) * 255);
    },
    $signature: 159
  };
  A._ColorFormatEnum0.prototype = {
    toString$0(_) {
      return this._color1$_name;
    }
  };
  A.SpanColorFormat0.prototype = {};
  A.Combinator0.prototype = {
    _enumToString$0() {
      return "Combinator." + this._name;
    },
    toString$0(_) {
      return this._combinator0$_text;
    }
  };
  A.ModifiableCssComment0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssComment$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    $isCssComment0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.compileAsync_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.NodeCompileResult),
        $async$returnValue, $async$self = this, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, result, t1, t2, t3, t4;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.options;
              t2 = t1 == null;
              t3 = t2 ? null : J.get$loadPaths$x(t1);
              t4 = t2 ? null : J.get$quietDeps$x(t1);
              if (t4 == null)
                t4 = false;
              t5 = A._parseOutputStyle0(t2 ? null : J.get$style$x(t1));
              t6 = t2 ? null : J.get$verbose$x(t1);
              if (t6 == null)
                t6 = false;
              t7 = t2 ? null : J.get$charset$x(t1);
              if (t7 == null)
                t7 = true;
              t8 = t2 ? null : J.get$sourceMap$x(t1);
              if (t8 == null)
                t8 = false;
              t9 = $async$self.logger;
              if (t2)
                t10 = null;
              else {
                t10 = J.get$importers$x(t1);
                t10 = t10 == null ? null : J.map$1$1$ax(t10, new A.compileAsync__closure(), type$.AsyncImporter);
              }
              t11 = A._parseFunctions0(t2 ? null : J.get$functions$x(t1), true);
              t12 = A._parseDeprecations(t9, t2 ? null : J.get$fatalDeprecations$x(t1), true);
              t13 = A._parseDeprecations(t9, t2 ? null : J.get$silenceDeprecations$x(t1), false);
              t14 = A._parseDeprecations(t9, t2 ? null : J.get$futureDeprecations$x(t1), false);
              $async$goto = 3;
              return A._asyncAwait(A.compileAsync0($async$self.path, t7, t12, t11, t14, A.AsyncImportCache$(t10, t3, t9, null), null, null, t9, null, t4, t13, t8, t5, null, true, t6), $async$call$0);
            case 3:
              // returning from await.
              result = $async$result;
              t1 = t2 ? null : J.get$sourceMapIncludeSources$x(t1);
              $async$returnValue = A._convertResult(result, t1 == null ? false : t1);
              // 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: 201
  };
  A.compileAsync__closure.prototype = {
    call$1(importer) {
      return A._parseAsyncImporter(importer);
    },
    $signature: 200
  };
  A.compileStringAsync_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.NodeCompileResult),
        $async$returnValue, $async$self = this, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, result, t1, t2, t3, t4, t5, t6;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.options;
              t2 = t1 == null;
              t3 = A.parseSyntax(t2 ? null : J.get$syntax$x(t1));
              t4 = t2 ? null : A.NullableExtension_andThen0(J.get$url$x(t1), A.utils1__jsToDartUrl$closure());
              t5 = t2 ? null : J.get$loadPaths$x(t1);
              t6 = t2 ? null : J.get$quietDeps$x(t1);
              if (t6 == null)
                t6 = false;
              t7 = A._parseOutputStyle0(t2 ? null : J.get$style$x(t1));
              t8 = t2 ? null : J.get$verbose$x(t1);
              if (t8 == null)
                t8 = false;
              t9 = t2 ? null : J.get$charset$x(t1);
              if (t9 == null)
                t9 = true;
              t10 = t2 ? null : J.get$sourceMap$x(t1);
              if (t10 == null)
                t10 = false;
              t11 = $async$self.logger;
              if (t2)
                t12 = null;
              else {
                t12 = J.get$importers$x(t1);
                t12 = t12 == null ? null : J.map$1$1$ax(t12, new A.compileStringAsync__closure(), type$.AsyncImporter);
              }
              t13 = t2 ? null : A.NullableExtension_andThen0(J.get$importer$x(t1), new A.compileStringAsync__closure0());
              if (t13 == null)
                t13 = (t2 ? null : J.get$url$x(t1)) == null ? new A.NoOpImporter0() : null;
              t14 = A._parseFunctions0(t2 ? null : J.get$functions$x(t1), true);
              t15 = A._parseDeprecations(t11, t2 ? null : J.get$fatalDeprecations$x(t1), true);
              t16 = A._parseDeprecations(t11, t2 ? null : J.get$silenceDeprecations$x(t1), false);
              t17 = A._parseDeprecations(t11, t2 ? null : J.get$futureDeprecations$x(t1), false);
              $async$goto = 3;
              return A._asyncAwait(A.compileStringAsync0($async$self.text, t9, t15, t14, t17, A.AsyncImportCache$(t12, t5, t11, null), t13, null, null, t11, null, t6, t16, t10, t7, t3, t4, true, t8), $async$call$0);
            case 3:
              // returning from await.
              result = $async$result;
              t1 = t2 ? null : J.get$sourceMapIncludeSources$x(t1);
              $async$returnValue = A._convertResult(result, t1 == null ? false : t1);
              // 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: 201
  };
  A.compileStringAsync__closure.prototype = {
    call$1(importer) {
      return A._parseAsyncImporter(importer);
    },
    $signature: 200
  };
  A.compileStringAsync__closure0.prototype = {
    call$1(importer) {
      return A._parseAsyncImporter(importer);
    },
    $signature: 395
  };
  A._wrapAsyncSassExceptions_closure.prototype = {
    call$1(error) {
      var t1;
      if (error instanceof A.SassException0)
        t1 = A.throwNodeException(error, this.ascii, this.color, null);
      else
        t1 = A.jsThrow(error == null ? type$.Object._as(error) : error);
      return t1;
    },
    $signature: 396
  };
  A._parseFunctions_closure0.prototype = {
    call$2(signature, callback) {
      var callable,
        t1 = this.result;
      if (!this.asynch) {
        callable = A._Cell$();
        callable.__late_helper$_value = A.Callable_Callable$fromSignature(signature, new A._parseFunctions__closure2(callback, callable), true);
        t1.push(callable._readLocal$0());
      } else {
        callable = A._Cell$();
        callable.__late_helper$_value = A.AsyncCallable_AsyncCallable$fromSignature(signature, new A._parseFunctions__closure3(callback, callable), true);
        t1.push(callable._readLocal$0());
      }
    },
    $signature: 120
  };
  A._parseFunctions__closure2.prototype = {
    call$1($arguments) {
      var t1, t2,
        _s42_ = string$.Invali,
        result = A.wrapJSExceptions(new A._parseFunctions___closure6(this.callback, $arguments));
      if (result instanceof A.Value0)
        return A._simplifyValue(result);
      t1 = result != null && result instanceof self.Promise;
      t2 = this.callable;
      if (t1)
        throw A.wrapException(_s42_ + J.get$name$x(t2.readLocal$0()) + '":\nPromises may only be returned for sass.compileAsync() and sass.compileStringAsync().');
      else
        throw A.wrapException(_s42_ + J.get$name$x(t2.readLocal$0()) + '": ' + A.S(result) + " is not a sass.Value.");
    },
    $signature: 3
  };
  A._parseFunctions___closure6.prototype = {
    call$0() {
      return type$.Function._as(this.callback).call$1(A.toJSArray(this.$arguments));
    },
    $signature: 60
  };
  A._parseFunctions__closure3.prototype = {
    call$1($arguments) {
      return this.$call$body$_parseFunctions__closure0($arguments);
    },
    $call$body$_parseFunctions__closure0($arguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, result;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              result = A.wrapJSExceptions(new A._parseFunctions___closure5($async$self.callback, $arguments));
              $async$goto = result != null && result instanceof self.Promise ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(A.promiseToFuture(type$.Promise._as(result), type$.Object), $async$call$1);
            case 5:
              // returning from await.
              result = $async$result;
            case 4:
              // join
              if (result instanceof A.Value0) {
                $async$returnValue = A._simplifyValue(result);
                // goto return
                $async$goto = 1;
                break;
              }
              throw A.wrapException(string$.Invali + J.get$name$x($async$self.callable.readLocal$0()) + '": ' + A.S(result) + " is not a sass.Value.");
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 88
  };
  A._parseFunctions___closure5.prototype = {
    call$0() {
      return type$.Function._as(this.callback).call$1(A.toJSArray(this.$arguments));
    },
    $signature: 60
  };
  A._parseDeprecations_closure.prototype = {
    call$0() {
      return new A._SyncStarIterable(this.$call$body$_parseDeprecations_closure(), type$._SyncStarIterable_Deprecation);
    },
    $call$body$_parseDeprecations_closure() {
      var $async$self = this;
      return function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, t4, item, t5, id, deprecation, version;
        return function $async$call$0($async$iterator, $async$errorCode, $async$result) {
          if ($async$errorCode === 1) {
            $async$currentError = $async$result;
            $async$goto = $async$handler;
          }
          while (true)
            switch ($async$goto) {
              case 0:
                // Function start
                t1 = J.get$iterator$ax($async$self.deprecations), t2 = type$.Deprecation_2, t3 = $async$self.supportVersions, t4 = $async$self.logger;
              case 2:
                // for condition
                if (!t1.moveNext$0()) {
                  // goto after for
                  $async$goto = 3;
                  break;
                }
                item = t1.get$current(t1);
                t5 = typeof item == "string";
                id = t5 ? item : null;
                $async$goto = t5 ? 4 : 5;
                break;
              case 4:
                // then
                deprecation = A.Deprecation_fromId0(id);
                $async$goto = deprecation == null ? 6 : 8;
                break;
              case 6:
                // then
                t4.internalWarn$4$deprecation$span$trace('Invalid deprecation "' + A.S(id) + '".', null, null, null);
                // goto join
                $async$goto = 7;
                break;
              case 8:
                // else
                $async$goto = 9;
                return $async$iterator._async$_current = deprecation, 1;
              case 9:
                // after yield
              case 7:
                // join
                // goto for condition
                $async$goto = 2;
                break;
              case 5:
                // join
                t5 = t2._is(item);
                id = t5 ? J.get$id$x(item) : null;
                $async$goto = t5 ? 10 : 11;
                break;
              case 10:
                // then
                deprecation = A.Deprecation_fromId0(id);
                $async$goto = deprecation == null ? 12 : 14;
                break;
              case 12:
                // then
                t4.internalWarn$4$deprecation$span$trace('Invalid deprecation "' + A.S(id) + '".', null, null, null);
                // goto join
                $async$goto = 13;
                break;
              case 14:
                // else
                $async$goto = 15;
                return $async$iterator._async$_current = deprecation, 1;
              case 15:
                // after yield
              case 13:
                // join
                // goto for condition
                $async$goto = 2;
                break;
              case 11:
                // join
                if (item instanceof A.Version) {
                  t5 = t3;
                  version = item;
                } else {
                  version = null;
                  t5 = false;
                }
                $async$goto = t5 ? 16 : 17;
                break;
              case 16:
                // then
                $async$goto = 18;
                return $async$iterator._yieldStar$1(A.Deprecation_forVersion0(version));
              case 18:
                // after yield
              case 17:
                // join
                // goto for condition
                $async$goto = 2;
                break;
              case 3:
                // after for
                // implicit return
                return 0;
              case 1:
                // rethrow
                return $async$iterator._datum = $async$currentError, 3;
            }
        };
      };
    },
    $signature: 398
  };
  A.nodePackageImporterClass_closure.prototype = {
    call$0() {
      return type$.JSClass._as(A.allowInteropCaptureThisNamed("sass.NodePackageImporter", new A.nodePackageImporterClass__closure()));
    },
    $signature: 15
  };
  A.nodePackageImporterClass__closure.prototype = {
    call$2($self, entrypointDirectory) {
      var directory, t1, filename, t2, _null = null,
        _0_3 = A.entrypointFilename();
      $label0$0: {
        if (entrypointDirectory != null) {
          directory = entrypointDirectory == null ? A._asString(entrypointDirectory) : entrypointDirectory;
          t1 = directory;
          break $label0$0;
        }
        if (_0_3 != null) {
          filename = _0_3 == null ? A._asString(_0_3) : _0_3;
          t1 = $.$get$context().dirname$1(filename);
          break $label0$0;
        }
        t1 = A.throwExpression("The Node package importer cannot determine an entry point because `require.main.filename` is not defined. Please provide an `entryPointDirectory` to the `NodePackageImporter`.");
      }
      t2 = new A.NodePackageImporter0();
      if (A.isBrowser())
        A.throwExpression(string$.The_No);
      t2._node_package$__NodePackageImporter__entryPointDirectory_F = A.absolute(t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      return t2;
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 399
  };
  A._compileStylesheet_closure1.prototype = {
    call$1(url) {
      return url === "" ? A.Uri_Uri$dataFromString(A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(this.stylesheet.span.file._decodedChars, 0, null), 0, null), B.C_Utf8Codec, null).get$_text() : this.importCache.sourceMapUrl$1(0, A.Uri_parse(url)).toString$0(0);
    },
    $signature: 5
  };
  A.CompileOptions.prototype = {};
  A.CompileStringOptions.prototype = {};
  A.NodeCompileResult.prototype = {};
  A.CompileResult0.prototype = {};
  A.Compiler.prototype = {};
  A.AsyncCompiler.prototype = {
    addCompilation$1(compilation) {
      this.compilations.add$1(0, A.promiseToFuture0(compilation, type$.dynamic).catchError$1(new A.AsyncCompiler_addCompilation_closure()));
    }
  };
  A.AsyncCompiler_addCompilation_closure.prototype = {
    call$1(err) {
    },
    $signature: 61
  };
  A.compilerClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.Compiler", new A.compilerClass__closure()));
      A.LinkedHashMap_LinkedHashMap$_literal(["compile", new A.compilerClass__closure0(), "compileString", new A.compilerClass__closure1(), "dispose", new A.compilerClass__closure2()], type$.String, type$.Function).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass));
      A.JSClassExtension_injectSuperclass(t1._as(new A.Compiler().constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.compilerClass__closure.prototype = {
    call$1($self) {
      return A.LinkedHashSet_LinkedHashSet$_literal([A.jsThrow(new self.Error("Compiler can not be directly constructed. Please use `sass.initCompiler()` instead."))], type$.Never);
    },
    $signature: 199
  };
  A.compilerClass__closure0.prototype = {
    call$3($self, path, options) {
      if ($self._disposed)
        A.jsThrow(new self.Error("Compiler has already been disposed."));
      return A.compile0(path, options);
    },
    call$2($self, path) {
      return this.call$3($self, path, null);
    },
    "call*": "call$3",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null];
    },
    $signature: 401
  };
  A.compilerClass__closure1.prototype = {
    call$3($self, source, options) {
      if ($self._disposed)
        A.jsThrow(new self.Error("Compiler has already been disposed."));
      return A.compileString0(source, options);
    },
    call$2($self, source) {
      return this.call$3($self, source, null);
    },
    "call*": "call$3",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null];
    },
    $signature: 402
  };
  A.compilerClass__closure2.prototype = {
    call$1($self) {
      $self._disposed = true;
    },
    $signature: 403
  };
  A.asyncCompilerClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.AsyncCompiler", new A.asyncCompilerClass__closure()));
      A.LinkedHashMap_LinkedHashMap$_literal(["compileAsync", new A.asyncCompilerClass__closure0(), "compileStringAsync", new A.asyncCompilerClass__closure1(), "dispose", new A.asyncCompilerClass__closure2()], type$.String, type$.Function).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass));
      A.JSClassExtension_injectSuperclass(t1._as(new A.AsyncCompiler(new A.FutureGroup(new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_List_void), type$._AsyncCompleter_List_void), [], type$.FutureGroup_void)).constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.asyncCompilerClass__closure.prototype = {
    call$1($self) {
      return A.LinkedHashSet_LinkedHashSet$_literal([A.jsThrow(new self.Error("AsyncCompiler can not be directly constructed. Please use `sass.initAsyncCompiler()` instead."))], type$.Never);
    },
    $signature: 199
  };
  A.asyncCompilerClass__closure0.prototype = {
    call$3($self, path, options) {
      var compilation;
      if ($self._disposed)
        A.jsThrow(new self.Error("Compiler has already been disposed."));
      compilation = A.compileAsync1(path, options);
      $self.addCompilation$1(compilation);
      return compilation;
    },
    call$2($self, path) {
      return this.call$3($self, path, null);
    },
    "call*": "call$3",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null];
    },
    $signature: 404
  };
  A.asyncCompilerClass__closure1.prototype = {
    call$3($self, source, options) {
      var compilation;
      if ($self._disposed)
        A.jsThrow(new self.Error("Compiler has already been disposed."));
      compilation = A.compileStringAsync1(source, options);
      $self.addCompilation$1(compilation);
      return compilation;
    },
    call$2($self, source) {
      return this.call$3($self, source, null);
    },
    "call*": "call$3",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null];
    },
    $signature: 405
  };
  A.asyncCompilerClass__closure2.prototype = {
    call$1($self) {
      $self._disposed = true;
      return A.futureToPromise0(new A.asyncCompilerClass___closure($self).call$0());
    },
    $signature: 406
  };
  A.asyncCompilerClass___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);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.self.compilations;
              t1.close$0(0);
              $async$goto = 2;
              return A._asyncAwait(t1._future_group$_completer.future, $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.initAsyncCompiler_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.AsyncCompiler),
        $async$returnValue;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$returnValue = new A.AsyncCompiler(new A.FutureGroup(new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_List_void), type$._AsyncCompleter_List_void), [], type$.FutureGroup_void));
              // 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: 407
  };
  A.ComplexSassNumber0.prototype = {
    get$numeratorUnits(_) {
      return this._complex0$_numeratorUnits;
    },
    get$denominatorUnits(_) {
      return this._complex0$_denominatorUnits;
    },
    get$hasUnits() {
      return true;
    },
    get$hasComplexUnits() {
      return true;
    },
    hasUnit$1(unit) {
      return false;
    },
    compatibleWithUnit$1(unit) {
      return false;
    },
    hasPossiblyCompatibleUnits$1(other) {
      throw A.wrapException(A.UnimplementedError$(string$.Comple));
    },
    withValue$1(value) {
      return new A.ComplexSassNumber0(this._complex0$_numeratorUnits, this._complex0$_denominatorUnits, value, null);
    },
    withSlash$2(numerator, denominator) {
      return new A.ComplexSassNumber0(this._complex0$_numeratorUnits, this._complex0$_denominatorUnits, this._number1$_value, new A._Record_2(numerator, denominator));
    }
  };
  A.ComplexSelector0.prototype = {
    get$specificity() {
      var result, _this = this,
        value = _this._complex$__ComplexSelector_specificity_FI;
      if (value === $) {
        result = B.JSArray_methods.fold$2(_this.components, 0, new A.ComplexSelector_specificity_closure0());
        _this._complex$__ComplexSelector_specificity_FI !== $ && A.throwUnnamedLateFieldADI();
        _this._complex$__ComplexSelector_specificity_FI = result;
        value = result;
      }
      return value;
    },
    get$singleCompound() {
      var _0_0, _0_4, t1, selector, _null = null;
      if (this.leadingCombinators.length !== 0)
        return _null;
      _0_0 = this.components;
      $label0$0: {
        if (_0_0.length === 1) {
          _0_4 = _0_0[0];
          t1 = _0_4;
          selector = t1.selector;
          t1 = _0_4.combinators.length <= 0;
        } else {
          selector = _null;
          t1 = false;
        }
        if (t1) {
          t1 = selector;
          break $label0$0;
        }
        t1 = _null;
        break $label0$0;
      }
      return t1;
    },
    accept$1$1(visitor) {
      return visitor.visitComplexSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    isSuperselector$1(other) {
      return this.leadingCombinators.length === 0 && other.leadingCombinators.length === 0 && A.complexIsSuperselector0(this.components, other.components);
    },
    withAdditionalCombinators$1(combinators) {
      var _0_0, _0_1, t1, initial, last, _this = this;
      if (combinators.length === 0)
        return _this;
      _0_0 = _this.components;
      $label0$0: {
        _0_1 = _0_0.length;
        if (_0_1 >= 1) {
          t1 = _0_1 - 1;
          initial = B.JSArray_methods.sublist$2(_0_0, 0, t1);
          last = _0_0[t1];
          t1 = A.List_List$of(initial, true, type$.ComplexSelectorComponent_2);
          t1.push(last.withAdditionalCombinators$1(combinators));
          t1 = A.ComplexSelector$0(_this.leadingCombinators, t1, _this.span, _this.lineBreak);
          break $label0$0;
        }
        if (_0_1 <= 0) {
          t1 = A.List_List$of(_this.leadingCombinators, true, type$.CssValue_Combinator_2);
          B.JSArray_methods.addAll$1(t1, combinators);
          t1 = A.ComplexSelector$0(t1, B.List_empty15, _this.span, _this.lineBreak);
          break $label0$0;
        }
        throw A.wrapException(A.ReachabilityError$(string$.None_o));
      }
      return t1;
    },
    concatenate$3$forceLineBreak(child, span, forceLineBreak) {
      var t2, _0_1, initial, last, _this = this,
        t1 = child.leadingCombinators,
        _0_0 = _this.components;
      if (t1.length === 0) {
        t1 = A.List_List$of(_0_0, true, type$.ComplexSelectorComponent_2);
        B.JSArray_methods.addAll$1(t1, child.components);
        t2 = _this.lineBreak || child.lineBreak || forceLineBreak;
        return A.ComplexSelector$0(_this.leadingCombinators, t1, span, t2);
      } else {
        _0_1 = _0_0.length;
        if (_0_1 >= 1) {
          t2 = _0_1 - 1;
          initial = B.JSArray_methods.sublist$2(_0_0, 0, t2);
          last = _0_0[t2];
          t2 = A.List_List$of(initial, true, type$.ComplexSelectorComponent_2);
          t2.push(last.withAdditionalCombinators$1(t1));
          B.JSArray_methods.addAll$1(t2, child.components);
          t1 = _this.lineBreak || child.lineBreak || forceLineBreak;
          return A.ComplexSelector$0(_this.leadingCombinators, t2, span, t1);
        } else {
          t2 = A.List_List$of(_this.leadingCombinators, true, type$.CssValue_Combinator_2);
          B.JSArray_methods.addAll$1(t2, t1);
          t1 = _this.lineBreak || child.lineBreak || forceLineBreak;
          return A.ComplexSelector$0(t2, child.components, span, t1);
        }
      }
    },
    concatenate$2(child, span) {
      return this.concatenate$3$forceLineBreak(child, span, false);
    },
    get$hashCode(_) {
      return B.C_ListEquality0.hash$1(this.leadingCombinators) ^ B.C_ListEquality0.hash$1(this.components);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.ComplexSelector0 && B.C_ListEquality.equals$2(0, this.leadingCombinators, other.leadingCombinators) && B.C_ListEquality.equals$2(0, this.components, other.components);
    }
  };
  A.ComplexSelector_specificity_closure0.prototype = {
    call$2(sum, component) {
      return sum + component.selector.get$specificity();
    },
    $signature: 408
  };
  A.ComplexSelectorComponent0.prototype = {
    withAdditionalCombinators$1(combinators) {
      var t1, t2, _this = this;
      if (combinators.length === 0)
        t1 = _this;
      else {
        t1 = type$.CssValue_Combinator_2;
        t2 = A.List_List$of(_this.combinators, true, t1);
        B.JSArray_methods.addAll$1(t2, combinators);
        t1 = new A.ComplexSelectorComponent0(_this.selector, A.List_List$unmodifiable(t2, t1), _this.span);
      }
      return t1;
    },
    get$hashCode(_) {
      return B.C_ListEquality0.hash$1(this.selector.components) ^ B.C_ListEquality0.hash$1(this.combinators);
    },
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (other instanceof A.ComplexSelectorComponent0) {
        t1 = B.C_ListEquality.equals$2(0, this.selector.components, other.selector.components);
        t1 = t1 && B.C_ListEquality.equals$2(0, this.combinators, other.combinators);
      } else
        t1 = false;
      return t1;
    },
    toString$0(_) {
      var t1 = this.combinators;
      return A.serializeSelector0(this.selector, true) + new A.MappedListIterable(t1, new A.ComplexSelectorComponent_toString_closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$1(0, "");
    }
  };
  A.ComplexSelectorComponent_toString_closure0.prototype = {
    call$1(combinator) {
      return " " + combinator.toString$0(0);
    },
    $signature: 409
  };
  A.CompoundSelector0.prototype = {
    get$specificity() {
      var result, _this = this,
        value = _this._compound$__CompoundSelector_specificity_FI;
      if (value === $) {
        result = B.JSArray_methods.fold$2(_this.components, 0, new A.CompoundSelector_specificity_closure0());
        _this._compound$__CompoundSelector_specificity_FI !== $ && A.throwUnnamedLateFieldADI();
        _this._compound$__CompoundSelector_specificity_FI = result;
        value = result;
      }
      return value;
    },
    get$hasComplicatedSuperselectorSemantics() {
      var result, _this = this,
        value = _this._compound$__CompoundSelector_hasComplicatedSuperselectorSemantics_FI;
      if (value === $) {
        result = B.JSArray_methods.any$1(_this.components, new A.CompoundSelector_hasComplicatedSuperselectorSemantics_closure0());
        _this._compound$__CompoundSelector_hasComplicatedSuperselectorSemantics_FI !== $ && A.throwUnnamedLateFieldADI();
        _this._compound$__CompoundSelector_hasComplicatedSuperselectorSemantics_FI = result;
        value = result;
      }
      return value;
    },
    accept$1$1(visitor) {
      return visitor.visitCompoundSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    get$hashCode(_) {
      return B.C_ListEquality0.hash$1(this.components);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.CompoundSelector0 && B.C_ListEquality.equals$2(0, this.components, other.components);
    }
  };
  A.CompoundSelector_specificity_closure0.prototype = {
    call$2(sum, component) {
      return sum + component.get$specificity();
    },
    $signature: 410
  };
  A.CompoundSelector_hasComplicatedSuperselectorSemantics_closure0.prototype = {
    call$1(component) {
      return component.get$hasComplicatedSuperselectorSemantics();
    },
    $signature: 14
  };
  A.Configuration0.prototype = {
    throughForward$1($forward) {
      var _0_0, _1_0, _2_0, t1, hiddenVariables,
        newValues = this._configuration0$_values;
      if (newValues.get$isEmpty(newValues))
        return B.Configuration_Map_empty_null0;
      _0_0 = $forward.prefix;
      if (_0_0 != null)
        newValues = new A.UnprefixedMapView0(newValues, _0_0, type$.UnprefixedMapView_ConfiguredValue_2);
      _1_0 = $forward.shownVariables;
      if (_1_0 != null)
        newValues = new A.LimitedMapView0(newValues, _1_0._base.intersection$1(new A.MapKeySet(newValues, type$.MapKeySet_nullable_Object)), type$.LimitedMapView_String_ConfiguredValue_2);
      else {
        _2_0 = $forward.hiddenVariables;
        if (_2_0 != null) {
          t1 = _2_0._base.get$isNotEmpty(0);
          hiddenVariables = _2_0;
        } else {
          hiddenVariables = null;
          t1 = false;
        }
        if (t1)
          newValues = A.LimitedMapView$blocklist0(newValues, hiddenVariables, type$.String, type$.ConfiguredValue_2);
      }
      return this._configuration0$_withValues$1(newValues);
    },
    _configuration0$_withValues$1(values) {
      var t1 = this._configuration0$__originalConfiguration;
      return new A.Configuration0(values, t1 == null ? this : t1);
    },
    toString$0(_) {
      var t2, t3,
        t1 = A._setArrayType([], type$.JSArray_String);
      for (t2 = A.MapExtensions_get_pairs0(new A.UnmodifiableMapView(this._configuration0$_values, type$.UnmodifiableMapView_String_ConfiguredValue_2), type$.String, type$.ConfiguredValue_2), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.push("$" + t3._0 + ": " + t3._1.toString$0(0));
      }
      return "(" + B.JSArray_methods.join$1(t1, ",") + ")";
    }
  };
  A.ExplicitConfiguration0.prototype = {
    _configuration0$_withValues$1(values) {
      var t1 = this._configuration0$__originalConfiguration;
      if (t1 == null)
        t1 = this;
      return new A.ExplicitConfiguration0(this.nodeWithSpan, values, t1);
    }
  };
  A.ConfiguredValue0.prototype = {
    toString$0(_) {
      return A.serializeValue0(this.value, true, true);
    }
  };
  A.ConfiguredVariable0.prototype = {
    toString$0(_) {
      var t1 = this.expression.toString$0(0),
        t2 = this.isGuarded ? " !default" : "";
      return "$" + this.name + ": " + t1 + t2;
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ContentBlock0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitContentBlock$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t2,
        t1 = this.$arguments;
      t1 = t1.$arguments.length === 0 && t1.restArgument == null ? "" : " using (" + t1.toString$0(0) + ")";
      t2 = this.children;
      return t1 + (" {" + (t2 && B.JSArray_methods).join$1(t2, " ") + "}");
    }
  };
  A.ContentRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitContentRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.$arguments;
      return t1.get$isEmpty(0) ? "@content;" : "@content(" + t1.toString$0(0) + ");";
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A._disallowedFunctionNames_closure0.prototype = {
    call$1($function) {
      return $function.name;
    },
    $signature: 411
  };
  A.CssParser0.prototype = {
    get$plainCss() {
      return true;
    },
    silentComment$0() {
      var t1, t2, _this = this;
      if (_this._stylesheet0$_inExpression)
        return false;
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      _this.super$Parser$silentComment0();
      _this.error$2(0, string$.Silent, t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    atRule$2$root(child, root) {
      var $name, _0_0, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expectChar$1(64);
      $name = _this.interpolatedIdentifier$0();
      _this.whitespace$0();
      _0_0 = $name.get$asPlain();
      $label0$0: {
        if ("at-root" === _0_0 || "content" === _0_0 || "debug" === _0_0 || "each" === _0_0 || "error" === _0_0 || "extend" === _0_0 || "for" === _0_0 || "function" === _0_0 || "if" === _0_0 || "include" === _0_0 || "mixin" === _0_0 || "return" === _0_0 || "warn" === _0_0 || "while" === _0_0)
          _this._css$_forbiddenAtRule$1(start);
        if ("import" === _0_0) {
          t1 = _this._css$_cssImportRule$1(start);
          break $label0$0;
        }
        if ("media" === _0_0) {
          t1 = _this.mediaRule$1(start);
          break $label0$0;
        }
        if ("-moz-document" === _0_0) {
          t1 = _this.mozDocumentRule$2(start, $name);
          break $label0$0;
        }
        if ("supports" === _0_0) {
          t1 = _this.supportsRule$1(start);
          break $label0$0;
        }
        t1 = _this.unknownAtRule$2(start, $name);
        break $label0$0;
      }
      return t1;
    },
    _css$_forbiddenAtRule$1(start) {
      this.almostAnyValue$0();
      this.error$2(0, "This at-rule isn't allowed in plain CSS.", this.scanner.spanFrom$1(start));
    },
    _css$_cssImportRule$1(start) {
      var t2, urlSpan, modifiers, _this = this,
        t1 = _this.scanner,
        urlStart = new A._SpanScannerState(t1, t1._string_scanner$_position),
        _0_0 = t1.peekChar$0();
      $label0$0: {
        if (117 === _0_0 || 85 === _0_0) {
          t2 = _this.dynamicUrl$0();
          break $label0$0;
        }
        t2 = new A.StringExpression0(_this.interpolatedString$0().asInterpolation$1$static(true), false);
        break $label0$0;
      }
      urlSpan = t1.spanFrom$1(urlStart);
      _this.whitespace$0();
      modifiers = _this.tryImportModifiers$0();
      _this.expectStatementSeparator$1("@import rule");
      t2 = A._setArrayType([new A.StaticImport0(A.Interpolation$0(A._setArrayType([t2], type$.JSArray_Object), urlSpan), modifiers, t1.spanFrom$1(urlStart))], type$.JSArray_Import_2);
      t1 = t1.spanFrom$1(start);
      return new A.ImportRule0(A.List_List$unmodifiable(t2, type$.Import_2), t1);
    },
    parentheses$0() {
      var expression,
        t1 = this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expectChar$1(40);
      this.whitespace$0();
      expression = this.expressionUntilComma$0();
      t1.expectChar$1(41);
      return new A.ParenthesizedExpression0(expression, t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    identifierLike$0() {
      var t2, allowEmptySecondArg, $arguments, t3, t4, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        identifier = _this.interpolatedIdentifier$0(),
        plain = identifier.get$asPlain(),
        lower = plain.toLowerCase(),
        _0_0 = _this.trySpecialFunction$2(lower, start);
      if (_0_0 != null)
        return _0_0;
      t2 = t1._string_scanner$_position;
      if (t1.scanChar$1(46))
        return _this.namespacedExpression$2(plain, start);
      if (!t1.scanChar$1(40))
        return new A.StringExpression0(identifier, false);
      allowEmptySecondArg = lower === "var";
      $arguments = A._setArrayType([], type$.JSArray_Expression_2);
      if (!t1.scanChar$1(41)) {
        do {
          _this.whitespace$0();
          if (allowEmptySecondArg && $arguments.length === 1 && t1.peekChar$0() === 41) {
            t3 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
            t4 = t3.offset;
            t4 = A._FileSpan$(t3.file, t4, t4);
            $arguments.push(new A.StringExpression0(A.Interpolation$0(A._setArrayType([""], type$.JSArray_Object), t4), false));
            break;
          }
          $arguments.push(_this.expressionUntilComma$1$singleEquals(true));
          _this.whitespace$0();
        } while (t1.scanChar$1(44));
        t1.expectChar$1(41);
      }
      if ($.$get$_disallowedFunctionNames0().contains$1(0, plain))
        _this.error$2(0, string$.This_f, t1.spanFrom$1(start));
      t2 = t1.spanFrom$1(new A._SpanScannerState(t1, t2));
      t3 = type$.Expression_2;
      t4 = A.List_List$unmodifiable($arguments, t3);
      t3 = A.ConstantMap_ConstantMap$from(B.Map_empty14, type$.String, t3);
      t1 = t1.spanFrom$1(start);
      return new A.FunctionExpression0(null, A.stringReplaceAllUnchecked(plain, "_", "-"), plain, new A.ArgumentInvocation0(t4, t3, null, null, t2), t1);
    },
    namespacedExpression$2(namespace, start) {
      var expression = this.super$StylesheetParser$namespacedExpression0(namespace, start);
      this.error$2(0, string$.Modulen, expression.get$span(expression));
    }
  };
  A.DebugRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitDebugRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "@debug " + this.expression.toString$0(0) + ";";
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ModifiableCssDeclaration0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssDeclaration$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return this.name.toString$0(0) + ": " + this.value.toString$0(0) + ";";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.Declaration0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitDeclaration$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t3, _0_0,
        buffer = new A.StringBuffer(""),
        t1 = this.name,
        t2 = "" + t1.toString$0(0);
      buffer._contents = t2;
      t2 = buffer._contents = t2 + A.Primitives_stringFromCharCode(58);
      t3 = this.value;
      if (t3 != null) {
        t1 = !B.JSString_methods.startsWith$1(t1.get$initialPlain(), "--") ? buffer._contents = t2 + A.Primitives_stringFromCharCode(32) : t2;
        buffer._contents = t1 + t3.toString$0(0);
      }
      _0_0 = this.children;
      if (_0_0 != null)
        return buffer.toString$0(0) + " {" + B.JSArray_methods.join$1(_0_0, " ") + "}";
      else
        return buffer.toString$0(0) + ";";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.SupportsDeclaration0.prototype = {
    get$isCustomProperty() {
      var t1,
        _0_0 = this.name;
      $label0$0: {
        if (_0_0 instanceof A.StringExpression0 && !_0_0.hasQuotes) {
          t1 = B.JSString_methods.startsWith$1(_0_0.text.get$initialPlain(), "--");
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    toString$0(_) {
      return "(" + this.name.toString$0(0) + ": " + this.value.toString$0(0) + ")";
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.Deprecation0.prototype = {
    _enumToString$0() {
      return "Deprecation." + this._name;
    },
    get$deprecatedIn(_) {
      return A.NullableExtension_andThen0(this._deprecation$_deprecatedIn, A.version_Version___parse_tearOff$closure());
    },
    get$obsoleteIn(_) {
      return null;
    },
    toString$0(_) {
      return this.id;
    }
  };
  A.Deprecation_fromId_closure0.prototype = {
    call$1(deprecation) {
      return deprecation.id === this.id;
    },
    $signature: 412
  };
  A.DeprecationProcessingLogger0.prototype = {
    DeprecationProcessingLogger$5$fatalDeprecations$futureDeprecations$limitRepetition$silenceDeprecations0(_inner, fatalDeprecations, futureDeprecations, limitRepetition, silenceDeprecations) {
      var t1, t2, t3, t4, t5, t6, _1_7, _this = this, _null = null;
      for (t1 = _this.fatalDeprecations, t1 = A._LinkedHashSetIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1), t2 = _this.silenceDeprecations, t3 = t1.$ti._precomputed1, t4 = _this.futureDeprecations; t1.moveNext$0();) {
        t5 = t1._collection$_current;
        if (t5 == null)
          t5 = t3._as(t5);
        if (t5.isFuture && !t4.contains$1(0, t5)) {
          t5 = t5.toString$0(0);
          _this.internalWarn$4$deprecation$span$trace("Future " + t5 + string$.x20deprex20m, _null, _null, _null);
          continue;
        }
        t6 = t2.contains$1(0, t5);
        if (t6) {
          t5 = t5.toString$0(0);
          _this.internalWarn$4$deprecation$span$trace("Ignoring setting to silence " + t5 + string$.x20deprex2c, _null, _null, _null);
          continue;
        }
      }
      for (t1 = A._LinkedHashSetIterator$(t2, t2._modifications, A._instanceType(t2)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        if (B.Deprecation_oty === t3) {
          _this.internalWarn$4$deprecation$span$trace(string$.User_a, _null, _null, _null);
          continue;
        }
        _1_7 = t3.isFuture;
        if (_1_7 && t4.contains$1(0, t3)) {
          t3 = t3.toString$0(0);
          _this.internalWarn$4$deprecation$span$trace("Conflicting options for future " + t3 + " deprecation cancel each other out.", _null, _null, _null);
          continue;
        }
        if (_1_7) {
          t3 = t3.toString$0(0);
          _this.internalWarn$4$deprecation$span$trace("Future " + t3 + string$.x20deprex20i, _null, _null, _null);
          continue;
        }
      }
      for (t1 = A._LinkedHashSetIterator$(t4, t4._modifications, A._instanceType(t4)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        if (!t3.isFuture) {
          t3 = t3.toString$0(0);
          _this.internalWarn$4$deprecation$span$trace(t3 + string$.x20is_noaf, _null, _null, _null);
        }
      }
    },
    internalWarn$4$deprecation$span$trace(message, deprecation, span, trace) {
      if (deprecation != null)
        this._deprecation_processing$_handleDeprecation$4$span$trace(deprecation, message, span, trace);
      else
        this._deprecation_processing$_inner.warn$3$span$trace(0, message, span, trace);
    },
    _deprecation_processing$_handleDeprecation$4$span$trace(deprecation, message, span, trace) {
      var _0_3_isSet, span0, t1, _0_3, t2, count, _1_0, _this = this, _null = null;
      if (deprecation.isFuture && !_this.futureDeprecations.contains$1(0, deprecation))
        return;
      if (_this.fatalDeprecations.contains$1(0, deprecation)) {
        message += string$.x0a_This + deprecation.toString$0(0) + string$.x20deprex20t;
        $label0$0: {
          _0_3_isSet = span != null;
          if (_0_3_isSet) {
            span0 = span == null ? type$.FileSpan._as(span) : span;
            t1 = trace != null;
            _0_3 = trace;
          } else {
            span0 = _null;
            _0_3 = span0;
            t1 = false;
          }
          if (t1) {
            if (_0_3_isSet)
              trace = _0_3;
            t1 = A.SassRuntimeException$0(message, span0, trace == null ? type$.Trace._as(trace) : trace, _null);
            break $label0$0;
          }
          if (span != null)
            t1 = (_0_3_isSet ? _0_3 : trace) == null;
          else {
            span = _null;
            t1 = false;
          }
          if (t1) {
            t1 = A.SassException$0(message, span, _null);
            break $label0$0;
          }
          t1 = A.SassScriptException$0(message, _null);
          break $label0$0;
        }
        throw A.wrapException(t1);
      }
      if (_this.silenceDeprecations.contains$1(0, deprecation))
        return;
      if (_this.limitRepetition) {
        t1 = _this._deprecation_processing$_warningCounts;
        t2 = t1.$index(0, deprecation);
        count = (t2 == null ? 0 : t2) + 1;
        t1.$indexSet(0, deprecation, count);
        if (count > 5)
          return;
      }
      _1_0 = _this._deprecation_processing$_inner;
      if (_1_0 instanceof A.LoggerWithDeprecationType)
        _1_0.internalWarn$4$deprecation$span$trace(message, deprecation, span, trace);
      else
        _1_0.warn$4$deprecation$span$trace(0, message, true, span, trace);
    },
    debug$2(_, message, span) {
      return this._deprecation_processing$_inner.debug$2(0, message, span);
    },
    summarize$1$js(js) {
      var t1 = this._deprecation_processing$_warningCounts.get$values(0),
        t2 = A._instanceType(t1),
        total = A.IterableIntegerExtension_get_sum(new A.MappedIterable(new A.WhereIterable(t1, new A.DeprecationProcessingLogger_summarize_closure1(), t2._eval$1("WhereIterable")), new A.DeprecationProcessingLogger_summarize_closure2(), t2._eval$1("MappedIterable")));
      if (total > 0) {
        t1 = js ? "" : string$.x0aRun_i;
        this._deprecation_processing$_inner.warn$1(0, "" + total + string$.x20repet + t1);
      }
    }
  };
  A.DeprecationProcessingLogger_summarize_closure1.prototype = {
    call$1(count) {
      return count > 5;
    },
    $signature: 45
  };
  A.DeprecationProcessingLogger_summarize_closure2.prototype = {
    call$1(count) {
      return count - 5;
    },
    $signature: 150
  };
  A.Deprecation1.prototype = {};
  A.deprecations_closure.prototype = {
    call$0() {
      var t1, _0_8_isSet, _0_8,
        _0_0 = this.deprecation;
      $label0$0: {
        if (_0_0.isFuture) {
          t1 = "future";
          break $label0$0;
        }
        _0_8_isSet = A.NullableExtension_andThen0(_0_0._deprecation$_deprecatedIn, A.version_Version___parse_tearOff$closure()) == null;
        if (_0_8_isSet) {
          _0_8 = _0_0.get$obsoleteIn(0) == null;
          t1 = _0_8;
        } else {
          _0_8 = null;
          t1 = false;
        }
        if (t1) {
          t1 = "user";
          break $label0$0;
        }
        if (_0_8_isSet ? _0_8 : _0_0.get$obsoleteIn(0) == null) {
          t1 = "active";
          break $label0$0;
        }
        t1 = "obsolete";
        break $label0$0;
      }
      return t1;
    },
    $signature: 26
  };
  A.versionClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.Version", new A.versionClass__closure()));
      jsClass.parse = A.allowInteropNamed("parse", new A.versionClass__closure0());
      A.JSClassExtension_injectSuperclass(t1._as(A.Version_Version(0, 0, 0, null).constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.versionClass__closure.prototype = {
    call$4($self, major, minor, patch) {
      return A.Version_Version(major, minor, patch, null);
    },
    "call*": "call$4",
    $requiredArgCount: 4,
    $signature: 413
  };
  A.versionClass__closure0.prototype = {
    call$1(version) {
      var v = A.Version_Version$parse(version);
      if (v.preRelease.length !== 0 || v.build.length !== 0)
        throw A.wrapException(A.FormatException$("Build identifiers and prerelease versions not supported.", null, null));
      return v;
    },
    $signature: 198
  };
  A.DynamicImport0.prototype = {
    toString$0(_) {
      return A.StringExpression_quoteText0(this.urlString);
    },
    $isImport0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.EachRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitEachRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.variables,
        t2 = this.children;
      return "@each " + new A.MappedListIterable(t1, new A.EachRule_toString_closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$1(0, ", ") + " in " + this.list.toString$0(0) + " {" + (t2 && B.JSArray_methods).join$1(t2, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.EachRule_toString_closure0.prototype = {
    call$1(variable) {
      return "$" + variable;
    },
    $signature: 5
  };
  A.EmptyExtensionStore0.prototype = {
    get$_extension_store$_extensions() {
      return A.throwExpression(A.NoSuchMethodError_NoSuchMethodError$withInvocation(this, A.JSInvocationMirror$(B.Symbol__extensions, "get$_empty_extension_store0$_extensions", 1, [], [], 0)));
    },
    get$_extension_store$_sourceSpecificity() {
      return A.throwExpression(A.NoSuchMethodError_NoSuchMethodError$withInvocation(this, A.JSInvocationMirror$(B.Symbol__sourceSpecificity, "get$_empty_extension_store0$_sourceSpecificity", 1, [], [], 0)));
    },
    get$isEmpty(_) {
      return true;
    },
    get$simpleSelectors() {
      return B.C_EmptyUnmodifiableSet0;
    },
    extensionsWhereTarget$1(callback) {
      return B.List_empty17;
    },
    addSelector$2(selector, mediaContext) {
      throw A.wrapException(A.UnsupportedError$("addSelector() can't be called for a const ExtensionStore."));
    },
    addExtension$4(extender, target, extend, mediaContext) {
      throw A.wrapException(A.UnsupportedError$("addExtension() can't be called for a const ExtensionStore."));
    },
    addExtensions$1(extenders) {
      throw A.wrapException(A.UnsupportedError$(string$.addExt));
    },
    clone$0() {
      return B.Record2_EmptyExtensionStore_Map_empty0;
    },
    $isExtensionStore0: 1
  };
  A.Environment0.prototype = {
    closure$0() {
      var t4, t5, t6, _this = this,
        t1 = _this._environment0$_forwardedModules,
        t2 = _this._environment0$_nestedForwardedModules,
        t3 = _this._environment0$_variables;
      t3 = A._setArrayType(t3.slice(0), A._arrayInstanceType(t3));
      t4 = _this._environment0$_variableNodes;
      t4 = A._setArrayType(t4.slice(0), A._arrayInstanceType(t4));
      t5 = _this._environment0$_functions;
      t5 = A._setArrayType(t5.slice(0), A._arrayInstanceType(t5));
      t6 = _this._environment0$_mixins;
      t6 = A._setArrayType(t6.slice(0), A._arrayInstanceType(t6));
      return A.Environment$_0(_this._environment0$_modules, _this._environment0$_namespaceNodes, _this._environment0$_globalModules, _this._environment0$_importedModules, t1, t2, _this._environment0$_allModules, t3, t4, t5, t6, _this._environment0$_content);
    },
    forwardModule$2(module, rule) {
      var view, t1, t2, _this = this,
        forwardedModules = _this._environment0$_forwardedModules;
      if (forwardedModules == null)
        forwardedModules = _this._environment0$_forwardedModules = A.LinkedHashMap_LinkedHashMap$_empty(type$.Module_Callable_2, type$.AstNode_2);
      view = A.ForwardedModuleView_ifNecessary0(module, rule, type$.Callable_2);
      for (t1 = A.LinkedHashMapKeyIterator$(forwardedModules, forwardedModules.__js_helper$_modifications); t1.moveNext$0();) {
        t2 = t1.__js_helper$_current;
        _this._environment0$_assertNoConflicts$5(view.get$variables(), t2.get$variables(), view, t2, "variable");
        _this._environment0$_assertNoConflicts$5(view.get$functions(view), t2.get$functions(t2), view, t2, "function");
        _this._environment0$_assertNoConflicts$5(view.get$mixins(), t2.get$mixins(), view, t2, "mixin");
      }
      _this._environment0$_allModules.push(module);
      forwardedModules.$indexSet(0, view, rule);
    },
    _environment0$_assertNoConflicts$5(newMembers, oldMembers, newModule, oldModule, type) {
      var larger, smaller, t1, t2, t3, t4, $name, small, large, span;
      if (newMembers.get$length(newMembers) < oldMembers.get$length(oldMembers)) {
        larger = oldMembers;
        smaller = newMembers;
      } else {
        larger = newMembers;
        smaller = oldMembers;
      }
      for (t1 = type$.String, t2 = A.MapExtensions_get_pairs0(smaller, t1, type$.Object), t2 = t2.get$iterator(t2), t3 = type === "variable"; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        $name = t4._0;
        small = t4._1;
        large = larger.$index(0, $name);
        if (large == null)
          continue;
        if (t3 ? newModule.variableIdentity$1($name) === oldModule.variableIdentity$1($name) : J.$eq$(large, small))
          continue;
        if (t3)
          $name = "$" + $name;
        t2 = this._environment0$_forwardedModules;
        if (t2 == null)
          span = null;
        else {
          t2 = t2.$index(0, oldModule);
          span = t2 == null ? null : J.get$span$z(t2);
        }
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, t1);
        if (span != null)
          t2.$indexSet(0, span, "original @forward");
        throw A.wrapException(A.MultiSpanSassScriptException$0("Two forwarded modules both define a " + type + " named " + $name + ".", "new @forward", t2));
      }
    },
    importForwards$1(module) {
      var forwardedModules, t1, t2, t3, t4, node, t5, t6, t7, t8, t9, t10, _i, t11, shadowed, _length, _list, _this = this,
        forwarded = module._environment0$_environment._environment0$_forwardedModules;
      if (forwarded == null)
        return;
      forwardedModules = _this._environment0$_forwardedModules;
      if (forwardedModules != null) {
        t1 = type$.Module_Callable_2;
        t2 = type$.AstNode_2;
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        for (t1 = A.MapExtensions_get_pairs0(forwarded, t1, t2), t1 = t1.get$iterator(t1), t2 = _this._environment0$_globalModules; t1.moveNext$0();) {
          t4 = t1.get$current(t1);
          module = t4._0;
          node = t4._1;
          if (!forwardedModules.containsKey$1(module) || !t2.containsKey$1(module))
            t3.$indexSet(0, module, node);
        }
        forwarded = t3;
      } else
        forwardedModules = _this._environment0$_forwardedModules = A.LinkedHashMap_LinkedHashMap$_empty(type$.Module_Callable_2, type$.AstNode_2);
      t1 = type$.String;
      t2 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t3 = A.LinkedHashMapKeyIterator$(forwarded, forwarded.__js_helper$_modifications); t3.moveNext$0();)
        for (t4 = t3.__js_helper$_current.get$variables(), t4 = J.get$iterator$ax(t4.get$keys(t4)); t4.moveNext$0();)
          t2.add$1(0, t4.get$current(t4));
      t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t4 = A.LinkedHashMapKeyIterator$(forwarded, forwarded.__js_helper$_modifications); t4.moveNext$0();) {
        t5 = t4.__js_helper$_current;
        for (t5 = t5.get$functions(t5), t5 = J.get$iterator$ax(t5.get$keys(t5)); t5.moveNext$0();)
          t3.add$1(0, t5.get$current(t5));
      }
      t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t4 = A.LinkedHashMapKeyIterator$(forwarded, forwarded.__js_helper$_modifications); t4.moveNext$0();)
        for (t5 = t4.__js_helper$_current.get$mixins(), t5 = J.get$iterator$ax(t5.get$keys(t5)); t5.moveNext$0();)
          t1.add$1(0, t5.get$current(t5));
      t4 = _this._environment0$_variables;
      t5 = t4.length;
      if (t5 === 1) {
        for (t5 = _this._environment0$_importedModules, t6 = type$.Module_Callable_2, t7 = type$.AstNode_2, t8 = A.MapExtensions_get_pairs0(t5, t6, t7).toList$0(0), t9 = t8.length, t10 = type$.Callable_2, _i = 0; _i < t8.length; t8.length === t9 || (0, A.throwConcurrentModificationError)(t8), ++_i) {
          t11 = t8[_i];
          module = t11._0;
          node = t11._1;
          shadowed = A.ShadowedModuleView_ifNecessary0(module, t3, t1, t2, t10);
          if (shadowed != null) {
            t5.remove$1(0, module);
            t11 = shadowed.variables;
            if (t11.get$isEmpty(t11)) {
              t11 = shadowed.functions;
              if (t11.get$isEmpty(t11)) {
                t11 = shadowed.mixins;
                if (t11.get$isEmpty(t11)) {
                  t11 = shadowed._shadowed_view0$_inner;
                  t11 = t11.get$css(t11);
                  t11 = J.get$isEmpty$asx(t11.get$children(t11));
                } else
                  t11 = false;
              } else
                t11 = false;
            } else
              t11 = false;
            if (!t11)
              t5.$indexSet(0, shadowed, node);
          }
        }
        for (t6 = A.MapExtensions_get_pairs0(forwardedModules, t6, t7).toList$0(0), t7 = t6.length, _i = 0; _i < t6.length; t6.length === t7 || (0, A.throwConcurrentModificationError)(t6), ++_i) {
          t8 = t6[_i];
          module = t8._0;
          node = t8._1;
          shadowed = A.ShadowedModuleView_ifNecessary0(module, t3, t1, t2, t10);
          if (shadowed != null) {
            forwardedModules.remove$1(0, module);
            t8 = shadowed.variables;
            if (t8.get$isEmpty(t8)) {
              t8 = shadowed.functions;
              if (t8.get$isEmpty(t8)) {
                t8 = shadowed.mixins;
                if (t8.get$isEmpty(t8)) {
                  t8 = shadowed._shadowed_view0$_inner;
                  t8 = t8.get$css(t8);
                  t8 = J.get$isEmpty$asx(t8.get$children(t8));
                } else
                  t8 = false;
              } else
                t8 = false;
            } else
              t8 = false;
            if (!t8)
              forwardedModules.$indexSet(0, shadowed, node);
          }
        }
        t5.addAll$1(0, forwarded);
        forwardedModules.addAll$1(0, forwarded);
      } else {
        t6 = _this._environment0$_nestedForwardedModules;
        if (t6 == null) {
          _length = t5 - 1;
          _list = J.JSArray_JSArray$allocateGrowable(_length, type$.List_Module_Callable_2);
          for (t5 = type$.JSArray_Module_Callable_2, _i = 0; _i < _length; ++_i)
            _list[_i] = A._setArrayType([], t5);
          _this._environment0$_nestedForwardedModules = _list;
          t5 = _list;
        } else
          t5 = t6;
        B.JSArray_methods.addAll$1(B.JSArray_methods.get$last(t5), new A.LinkedHashMapKeyIterable(forwarded, A._instanceType(forwarded)._eval$1("LinkedHashMapKeyIterable<1>")));
      }
      for (t2 = A._LinkedHashSetIterator$(t2, t2._modifications, t2.$ti._precomputed1), t5 = _this._environment0$_variableIndices, t6 = _this._environment0$_variableNodes, t7 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t8 = t2._collection$_current;
        if (t8 == null)
          t8 = t7._as(t8);
        t5.remove$1(0, t8);
        J.remove$1$z(B.JSArray_methods.get$last(t4), t8);
        J.remove$1$z(B.JSArray_methods.get$last(t6), t8);
      }
      for (t2 = A._LinkedHashSetIterator$(t3, t3._modifications, t3.$ti._precomputed1), t3 = _this._environment0$_functionIndices, t4 = _this._environment0$_functions, t5 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t6 = t2._collection$_current;
        if (t6 == null)
          t6 = t5._as(t6);
        t3.remove$1(0, t6);
        J.remove$1$z(B.JSArray_methods.get$last(t4), t6);
      }
      for (t1 = A._LinkedHashSetIterator$(t1, t1._modifications, t1.$ti._precomputed1), t2 = _this._environment0$_mixinIndices, t3 = _this._environment0$_mixins, t4 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t5 = t1._collection$_current;
        if (t5 == null)
          t5 = t4._as(t5);
        t2.remove$1(0, t5);
        J.remove$1$z(B.JSArray_methods.get$last(t3), t5);
      }
    },
    getVariable$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null)
        return _this._environment0$_getModule$1(namespace).get$variables().$index(0, $name);
      if (_this._environment0$_lastVariableName === $name) {
        t1 = _this._environment0$_lastVariableIndex;
        t1.toString;
        t1 = J.$index$asx(_this._environment0$_variables[t1], $name);
        return t1 == null ? _this._environment0$_getVariableFromGlobalModule$1($name) : t1;
      }
      t1 = _this._environment0$_variableIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        _this._environment0$_lastVariableName = $name;
        _this._environment0$_lastVariableIndex = _0_0;
        t1 = J.$index$asx(_this._environment0$_variables[_0_0], $name);
        return t1 == null ? _this._environment0$_getVariableFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._environment0$_variableIndex$1($name);
        if (_1_0 != null) {
          _this._environment0$_lastVariableName = $name;
          _this._environment0$_lastVariableIndex = _1_0;
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._environment0$_variables[_1_0], $name);
          return t1 == null ? _this._environment0$_getVariableFromGlobalModule$1($name) : t1;
        } else
          return _this._environment0$_getVariableFromGlobalModule$1($name);
      }
    },
    getVariable$1($name) {
      return this.getVariable$2$namespace($name, null);
    },
    _environment0$_getVariableFromGlobalModule$1($name) {
      return this._environment0$_fromOneModule$3($name, "variable", new A.Environment__getVariableFromGlobalModule_closure0($name));
    },
    getVariableNode$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null)
        return _this._environment0$_getModule$1(namespace).get$variableNodes().$index(0, $name);
      if (_this._environment0$_lastVariableName === $name) {
        t1 = _this._environment0$_lastVariableIndex;
        t1.toString;
        t1 = J.$index$asx(_this._environment0$_variableNodes[t1], $name);
        return t1 == null ? _this._environment0$_getVariableNodeFromGlobalModule$1($name) : t1;
      }
      t1 = _this._environment0$_variableIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        _this._environment0$_lastVariableName = $name;
        _this._environment0$_lastVariableIndex = _0_0;
        t1 = J.$index$asx(_this._environment0$_variableNodes[_0_0], $name);
        return t1 == null ? _this._environment0$_getVariableNodeFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._environment0$_variableIndex$1($name);
        if (_1_0 != null) {
          _this._environment0$_lastVariableName = $name;
          _this._environment0$_lastVariableIndex = _1_0;
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._environment0$_variableNodes[_1_0], $name);
          return t1 == null ? _this._environment0$_getVariableNodeFromGlobalModule$1($name) : t1;
        } else
          return _this._environment0$_getVariableNodeFromGlobalModule$1($name);
      }
    },
    _environment0$_getVariableNodeFromGlobalModule$1($name) {
      var t1, t2, _0_0;
      for (t1 = this._environment0$_importedModules, t2 = this._environment0$_globalModules, t2 = new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>")).followedBy$1(0, new A.LinkedHashMapKeyIterable(t2, A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>"))), t2 = new A.FollowedByIterator(J.get$iterator$ax(t2.__internal$_first), t2._second); t2.moveNext$0();) {
        t1 = t2._currentIterator;
        _0_0 = t1.get$current(t1).get$variableNodes().$index(0, $name);
        if (_0_0 != null)
          return _0_0;
      }
      return null;
    },
    globalVariableExists$2$namespace($name, namespace) {
      if (namespace != null)
        return this._environment0$_getModule$1(namespace).get$variables().containsKey$1($name);
      if (B.JSArray_methods.get$first(this._environment0$_variables).containsKey$1($name))
        return true;
      return this._environment0$_getVariableFromGlobalModule$1($name) != null;
    },
    globalVariableExists$1($name) {
      return this.globalVariableExists$2$namespace($name, null);
    },
    _environment0$_variableIndex$1($name) {
      var t1, i;
      for (t1 = this._environment0$_variables, i = t1.length - 1; i >= 0; --i)
        if (t1[i].containsKey$1($name))
          return i;
      return null;
    },
    setVariable$5$global$namespace($name, value, nodeWithSpan, global, namespace) {
      var t1, moduleWithName, nestedForwardedModules, t2, t3, t4, t5, index, _this = this;
      if (namespace != null) {
        _this._environment0$_getModule$1(namespace).setVariable$3($name, value, nodeWithSpan);
        return;
      }
      if (global || _this._environment0$_variables.length === 1) {
        _this._environment0$_variableIndices.putIfAbsent$2($name, new A.Environment_setVariable_closure2(_this, $name));
        t1 = _this._environment0$_variables;
        if (!B.JSArray_methods.get$first(t1).containsKey$1($name)) {
          moduleWithName = _this._environment0$_fromOneModule$3($name, "variable", new A.Environment_setVariable_closure3($name));
          if (moduleWithName != null) {
            moduleWithName.setVariable$3($name, value, nodeWithSpan);
            return;
          }
        }
        J.$indexSet$ax(B.JSArray_methods.get$first(t1), $name, value);
        J.$indexSet$ax(B.JSArray_methods.get$first(_this._environment0$_variableNodes), $name, nodeWithSpan);
        return;
      }
      nestedForwardedModules = _this._environment0$_nestedForwardedModules;
      if (nestedForwardedModules != null && !_this._environment0$_variableIndices.containsKey$1($name) && _this._environment0$_variableIndex$1($name) == null)
        for (t1 = A._arrayInstanceType(nestedForwardedModules)._eval$1("ReversedListIterable<1>"), t2 = new A.ReversedListIterable(nestedForwardedModules, t1), t2 = new A.ListIterator(t2, t2.get$length(0), t1._eval$1("ListIterator")), t1 = t1._eval$1("ListIterable.E"); t2.moveNext$0();) {
          t3 = t2.__internal$_current;
          for (t3 = J.get$reversed$ax(t3 == null ? t1._as(t3) : t3), t4 = t3.$ti, t3 = new A.ListIterator(t3, t3.get$length(0), t4._eval$1("ListIterator")), t4 = t4._eval$1("ListIterable.E"); t3.moveNext$0();) {
            t5 = t3.__internal$_current;
            if (t5 == null)
              t5 = t4._as(t5);
            if (t5.get$variables().containsKey$1($name)) {
              t5.setVariable$3($name, value, nodeWithSpan);
              return;
            }
          }
        }
      if (_this._environment0$_lastVariableName === $name) {
        t1 = _this._environment0$_lastVariableIndex;
        t1.toString;
        index = t1;
      } else
        index = _this._environment0$_variableIndices.putIfAbsent$2($name, new A.Environment_setVariable_closure4(_this, $name));
      if (!_this._environment0$_inSemiGlobalScope && index === 0) {
        index = _this._environment0$_variables.length - 1;
        _this._environment0$_variableIndices.$indexSet(0, $name, index);
      }
      _this._environment0$_lastVariableName = $name;
      _this._environment0$_lastVariableIndex = index;
      J.$indexSet$ax(_this._environment0$_variables[index], $name, value);
      J.$indexSet$ax(_this._environment0$_variableNodes[index], $name, nodeWithSpan);
    },
    setVariable$4$global($name, value, nodeWithSpan, global) {
      return this.setVariable$5$global$namespace($name, value, nodeWithSpan, global, null);
    },
    setLocalVariable$3($name, value, nodeWithSpan) {
      var index, _this = this,
        t1 = _this._environment0$_variables,
        t2 = t1.length;
      _this._environment0$_lastVariableName = $name;
      index = _this._environment0$_lastVariableIndex = t2 - 1;
      _this._environment0$_variableIndices.$indexSet(0, $name, index);
      J.$indexSet$ax(t1[index], $name, value);
      J.$indexSet$ax(_this._environment0$_variableNodes[index], $name, nodeWithSpan);
    },
    getFunction$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null) {
        t1 = _this._environment0$_getModule$1(namespace);
        return t1.get$functions(t1).$index(0, $name);
      }
      t1 = _this._environment0$_functionIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        t1 = J.$index$asx(_this._environment0$_functions[_0_0], $name);
        return t1 == null ? _this._environment0$_getFunctionFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._environment0$_functionIndex$1($name);
        if (_1_0 != null) {
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._environment0$_functions[_1_0], $name);
          return t1 == null ? _this._environment0$_getFunctionFromGlobalModule$1($name) : t1;
        } else
          return _this._environment0$_getFunctionFromGlobalModule$1($name);
      }
    },
    getFunction$1($name) {
      return this.getFunction$2$namespace($name, null);
    },
    _environment0$_getFunctionFromGlobalModule$1($name) {
      return this._environment0$_fromOneModule$3($name, "function", new A.Environment__getFunctionFromGlobalModule_closure0($name));
    },
    _environment0$_functionIndex$1($name) {
      var t1, i;
      for (t1 = this._environment0$_functions, i = t1.length - 1; i >= 0; --i)
        if (t1[i].containsKey$1($name))
          return i;
      return null;
    },
    getMixin$2$namespace($name, namespace) {
      var t1, _0_0, _1_0, _this = this;
      if (namespace != null)
        return _this._environment0$_getModule$1(namespace).get$mixins().$index(0, $name);
      t1 = _this._environment0$_mixinIndices;
      _0_0 = t1.$index(0, $name);
      if (_0_0 != null) {
        t1 = J.$index$asx(_this._environment0$_mixins[_0_0], $name);
        return t1 == null ? _this._environment0$_getMixinFromGlobalModule$1($name) : t1;
      } else {
        _1_0 = _this._environment0$_mixinIndex$1($name);
        if (_1_0 != null) {
          t1.$indexSet(0, $name, _1_0);
          t1 = J.$index$asx(_this._environment0$_mixins[_1_0], $name);
          return t1 == null ? _this._environment0$_getMixinFromGlobalModule$1($name) : t1;
        } else
          return _this._environment0$_getMixinFromGlobalModule$1($name);
      }
    },
    _environment0$_getMixinFromGlobalModule$1($name) {
      return this._environment0$_fromOneModule$3($name, "mixin", new A.Environment__getMixinFromGlobalModule_closure0($name));
    },
    _environment0$_mixinIndex$1($name) {
      var t1, i;
      for (t1 = this._environment0$_mixins, i = t1.length - 1; i >= 0; --i)
        if (t1[i].containsKey$1($name))
          return i;
      return null;
    },
    withContent$2($content, callback) {
      var oldContent = this._environment0$_content;
      this._environment0$_content = $content;
      callback.call$0();
      this._environment0$_content = oldContent;
    },
    asMixin$1(callback) {
      var oldInMixin = this._environment0$_inMixin;
      this._environment0$_inMixin = true;
      callback.call$0();
      this._environment0$_inMixin = oldInMixin;
    },
    scope$1$3$semiGlobal$when(callback, semiGlobal, when) {
      var wasInSemiGlobalScope, $name, name0, name1, t1, t2, t3, t4, t5, t6, _this = this;
      semiGlobal = semiGlobal && _this._environment0$_inSemiGlobalScope;
      wasInSemiGlobalScope = _this._environment0$_inSemiGlobalScope;
      _this._environment0$_inSemiGlobalScope = semiGlobal;
      if (!when)
        try {
          t1 = callback.call$0();
          return t1;
        } finally {
          _this._environment0$_inSemiGlobalScope = wasInSemiGlobalScope;
        }
      t1 = _this._environment0$_variables;
      t2 = type$.String;
      B.JSArray_methods.add$1(t1, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.Value_2));
      t3 = _this._environment0$_variableNodes;
      B.JSArray_methods.add$1(t3, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.AstNode_2));
      t4 = _this._environment0$_functions;
      t5 = type$.Callable_2;
      B.JSArray_methods.add$1(t4, A.LinkedHashMap_LinkedHashMap$_empty(t2, t5));
      t6 = _this._environment0$_mixins;
      B.JSArray_methods.add$1(t6, A.LinkedHashMap_LinkedHashMap$_empty(t2, t5));
      t5 = _this._environment0$_nestedForwardedModules;
      if (t5 != null)
        t5.push(A._setArrayType([], type$.JSArray_Module_Callable_2));
      try {
        t2 = callback.call$0();
        return t2;
      } finally {
        _this._environment0$_inSemiGlobalScope = wasInSemiGlobalScope;
        _this._environment0$_lastVariableIndex = _this._environment0$_lastVariableName = null;
        for (t1 = J.get$iterator$ax(J.get$keys$z(B.JSArray_methods.removeLast$0(t1))), t2 = _this._environment0$_variableIndices; t1.moveNext$0();) {
          $name = t1.get$current(t1);
          t2.remove$1(0, $name);
        }
        B.JSArray_methods.removeLast$0(t3);
        for (t1 = J.get$iterator$ax(J.get$keys$z(B.JSArray_methods.removeLast$0(t4))), t2 = _this._environment0$_functionIndices; t1.moveNext$0();) {
          name0 = t1.get$current(t1);
          t2.remove$1(0, name0);
        }
        for (t1 = J.get$iterator$ax(J.get$keys$z(B.JSArray_methods.removeLast$0(t6))), t2 = _this._environment0$_mixinIndices; t1.moveNext$0();) {
          name1 = t1.get$current(t1);
          t2.remove$1(0, name1);
        }
        t1 = _this._environment0$_nestedForwardedModules;
        if (t1 != null)
          t1.pop();
      }
    },
    scope$1$1(callback) {
      return this.scope$1$3$semiGlobal$when(callback, false, true);
    },
    scope$1$2$when(callback, when) {
      return this.scope$1$3$semiGlobal$when(callback, false, when);
    },
    scope$1$2$semiGlobal(callback, semiGlobal) {
      return this.scope$1$3$semiGlobal$when(callback, semiGlobal, true);
    },
    toImplicitConfiguration$0() {
      var t2, t3, t4, i, values, nodes, t5, t6, $name, value,
        t1 = type$.String,
        configuration = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.ConfiguredValue_2);
      for (t2 = this._environment0$_variables, t3 = type$.Value_2, t4 = this._environment0$_variableNodes, i = 0; i < t2.length; ++i) {
        values = t2[i];
        nodes = t4[i];
        for (t5 = A.MapExtensions_get_pairs0(values, t1, t3), t5 = t5.get$iterator(t5); t5.moveNext$0();) {
          t6 = t5.get$current(t5);
          $name = t6._0;
          value = t6._1;
          t6 = nodes.$index(0, $name);
          t6.toString;
          configuration.$indexSet(0, $name, new A.ConfiguredValue0(value, null, t6));
        }
      }
      return new A.Configuration0(configuration, null);
    },
    toModule$3(css, preModuleComments, extensionStore) {
      return A._EnvironmentModule__EnvironmentModule1(this, css, preModuleComments, extensionStore, A.NullableExtension_andThen0(this._environment0$_forwardedModules, new A.Environment_toModule_closure0()));
    },
    toDummyModule$0() {
      return A._EnvironmentModule__EnvironmentModule1(this, new A.CssStylesheet0(new A.UnmodifiableListView(B.List_empty16, type$.UnmodifiableListView_CssNode_2), A.SourceFile$decoded(B.List_empty4, "").span$1(0, 0)), B.Map_empty9, B.C_EmptyExtensionStore0, A.NullableExtension_andThen0(this._environment0$_forwardedModules, new A.Environment_toDummyModule_closure0()));
    },
    _environment0$_getModule$1(namespace) {
      var _0_0 = this._environment0$_modules.$index(0, namespace);
      if (_0_0 != null)
        return _0_0;
      throw A.wrapException(A.SassScriptException$0('There is no module with the namespace "' + namespace + '".', null));
    },
    _environment0$_fromOneModule$1$3($name, type, callback) {
      var t1, t2, t3, t4, t5, _1_0, _2_0, value, identity, valueInModule, identityFromModule, module, node,
        _0_0 = this._environment0$_nestedForwardedModules;
      if (_0_0 != null)
        for (t1 = A._arrayInstanceType(_0_0)._eval$1("ReversedListIterable<1>"), t2 = new A.ReversedListIterable(_0_0, t1), t2 = new A.ListIterator(t2, t2.get$length(0), t1._eval$1("ListIterator")), t1 = t1._eval$1("ListIterable.E"); t2.moveNext$0();) {
          t3 = t2.__internal$_current;
          for (t3 = J.get$reversed$ax(t3 == null ? t1._as(t3) : t3), t4 = t3.$ti, t3 = new A.ListIterator(t3, t3.get$length(0), t4._eval$1("ListIterator")), t4 = t4._eval$1("ListIterable.E"); t3.moveNext$0();) {
            t5 = t3.__internal$_current;
            _1_0 = callback.call$1(t5 == null ? t4._as(t5) : t5);
            if (_1_0 != null)
              return _1_0;
          }
        }
      for (t1 = this._environment0$_importedModules, t1 = A.LinkedHashMapKeyIterator$(t1, t1.__js_helper$_modifications); t1.moveNext$0();) {
        _2_0 = callback.call$1(t1.__js_helper$_current);
        if (_2_0 != null)
          return _2_0;
      }
      for (t1 = this._environment0$_globalModules, t2 = A.LinkedHashMapKeyIterator$(t1, t1.__js_helper$_modifications), t3 = type$.Callable_2, value = null, identity = null; t2.moveNext$0();) {
        t4 = t2.__js_helper$_current;
        valueInModule = callback.call$1(t4);
        if (valueInModule == null)
          continue;
        identityFromModule = t3._is(valueInModule) ? valueInModule : t4.variableIdentity$1($name);
        if (identityFromModule.$eq(0, identity))
          continue;
        if (value != null) {
          t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
          for (t3 = A.MapExtensions_get_pairs0(t1, type$.Module_Callable_2, type$.AstNode_2), t3 = t3.get$iterator(t3), t4 = "includes " + type; t3.moveNext$0();) {
            t1 = t3.get$current(t3);
            module = t1._0;
            node = t1._1;
            if (callback.call$1(module) != null)
              t2.$indexSet(0, node.get$span(node), t4);
          }
          throw A.wrapException(A.MultiSpanSassScriptException$0("This " + type + string$.x20is_av, type + " use", t2));
        }
        identity = identityFromModule;
        value = valueInModule;
      }
      return value;
    },
    _environment0$_fromOneModule$3($name, type, callback) {
      return this._environment0$_fromOneModule$1$3($name, type, callback, type$.dynamic);
    }
  };
  A.Environment__getVariableFromGlobalModule_closure0.prototype = {
    call$1(module) {
      return module.get$variables().$index(0, this.name);
    },
    $signature: 416
  };
  A.Environment_setVariable_closure2.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._environment0$_lastVariableName = this.name;
      return t1._environment0$_lastVariableIndex = 0;
    },
    $signature: 10
  };
  A.Environment_setVariable_closure3.prototype = {
    call$1(module) {
      return module.get$variables().containsKey$1(this.name) ? module : null;
    },
    $signature: 417
  };
  A.Environment_setVariable_closure4.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._environment0$_variableIndex$1(this.name);
      return t2 == null ? t1._environment0$_variables.length - 1 : t2;
    },
    $signature: 10
  };
  A.Environment__getFunctionFromGlobalModule_closure0.prototype = {
    call$1(module) {
      return module.get$functions(module).$index(0, this.name);
    },
    $signature: 196
  };
  A.Environment__getMixinFromGlobalModule_closure0.prototype = {
    call$1(module) {
      return module.get$mixins().$index(0, this.name);
    },
    $signature: 196
  };
  A.Environment_toModule_closure0.prototype = {
    call$1(modules) {
      return new A.MapKeySet(modules, type$.MapKeySet_Module_Callable_2);
    },
    $signature: 194
  };
  A.Environment_toDummyModule_closure0.prototype = {
    call$1(modules) {
      return new A.MapKeySet(modules, type$.MapKeySet_Module_Callable_2);
    },
    $signature: 194
  };
  A._EnvironmentModule1.prototype = {
    get$url(_) {
      var t1 = this.css;
      return t1.get$span(t1).file.url;
    },
    setVariable$3($name, value, nodeWithSpan) {
      var t1, t2,
        _0_0 = this._environment0$_modulesByVariable.$index(0, $name);
      if (_0_0 != null) {
        _0_0.setVariable$3($name, value, nodeWithSpan);
        return;
      }
      t1 = this._environment0$_environment;
      t2 = t1._environment0$_variables;
      if (!B.JSArray_methods.get$first(t2).containsKey$1($name))
        throw A.wrapException(A.SassScriptException$0("Undefined variable.", null));
      J.$indexSet$ax(B.JSArray_methods.get$first(t2), $name, value);
      J.$indexSet$ax(B.JSArray_methods.get$first(t1._environment0$_variableNodes), $name, nodeWithSpan);
      return;
    },
    variableIdentity$1($name) {
      var module = this._environment0$_modulesByVariable.$index(0, $name);
      return module == null ? this : module.variableIdentity$1($name);
    },
    cloneCss$0() {
      var _0_0, _this = this;
      if (!_this.transitivelyContainsCss)
        return _this;
      _0_0 = A.cloneCssStylesheet0(_this.css, _this.extensionStore);
      return A._EnvironmentModule$_1(_this._environment0$_environment, _0_0._0, _this.preModuleComments, _0_0._1, _this._environment0$_modulesByVariable, _this.variables, _this.variableNodes, _this.functions, _this.mixins, true, _this.transitivelyContainsExtensions);
    },
    toString$0(_) {
      var t2,
        t1 = this.css;
      if (t1.get$span(t1).file.url == null)
        t1 = "";
      else {
        t1 = t1.get$span(t1).file.url;
        t2 = $.$get$context();
        t1.toString;
        t1 = t2.prettyUri$1(t1);
      }
      return t1;
    },
    $isModule1: 1,
    get$upstream() {
      return this.upstream;
    },
    get$variables() {
      return this.variables;
    },
    get$variableNodes() {
      return this.variableNodes;
    },
    get$functions(receiver) {
      return this.functions;
    },
    get$mixins() {
      return this.mixins;
    },
    get$extensionStore() {
      return this.extensionStore;
    },
    get$css(receiver) {
      return this.css;
    },
    get$preModuleComments() {
      return this.preModuleComments;
    },
    get$transitivelyContainsCss() {
      return this.transitivelyContainsCss;
    },
    get$transitivelyContainsExtensions() {
      return this.transitivelyContainsExtensions;
    }
  };
  A._EnvironmentModule__EnvironmentModule_closure11.prototype = {
    call$1(module) {
      return module.get$variables();
    },
    $signature: 631
  };
  A._EnvironmentModule__EnvironmentModule_closure12.prototype = {
    call$1(module) {
      return module.get$variableNodes();
    },
    $signature: 421
  };
  A._EnvironmentModule__EnvironmentModule_closure13.prototype = {
    call$1(module) {
      return module.get$functions(module);
    },
    $signature: 193
  };
  A._EnvironmentModule__EnvironmentModule_closure14.prototype = {
    call$1(module) {
      return module.get$mixins();
    },
    $signature: 193
  };
  A._EnvironmentModule__EnvironmentModule_closure15.prototype = {
    call$1(module) {
      return module.get$transitivelyContainsCss();
    },
    $signature: 121
  };
  A._EnvironmentModule__EnvironmentModule_closure16.prototype = {
    call$1(module) {
      return module.get$transitivelyContainsExtensions();
    },
    $signature: 121
  };
  A.ErrorRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitErrorRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "@error " + this.expression.toString$0(0) + ";";
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A._EvaluateVisitor1.prototype = {
    _EvaluateVisitor$6$functions$importCache$logger$nodeImporter$quietDeps$sourceMap1(functions, importCache, logger, nodeImporter, quietDeps, sourceMap) {
      var t2, metaModule, t3, _i, module, $function, t4, _this = this,
        _s20_ = "$name, $module: null",
        _s9_ = "sass:meta",
        _s7_ = "$module",
        t1 = type$.JSArray_BuiltInCallable_2,
        metaFunctions = A._setArrayType([A.BuiltInCallable$function0("global-variable-exists", _s20_, new A._EvaluateVisitor_closure25(_this), _s9_), A.BuiltInCallable$function0("variable-exists", "$name", new A._EvaluateVisitor_closure26(_this), _s9_), A.BuiltInCallable$function0("function-exists", _s20_, new A._EvaluateVisitor_closure27(_this), _s9_), A.BuiltInCallable$function0("mixin-exists", _s20_, new A._EvaluateVisitor_closure28(_this), _s9_), A.BuiltInCallable$function0("content-exists", "", new A._EvaluateVisitor_closure29(_this), _s9_), A.BuiltInCallable$function0("module-variables", _s7_, new A._EvaluateVisitor_closure30(_this), _s9_), A.BuiltInCallable$function0("module-functions", _s7_, new A._EvaluateVisitor_closure31(_this), _s9_), A.BuiltInCallable$function0("module-mixins", _s7_, new A._EvaluateVisitor_closure32(_this), _s9_), A.BuiltInCallable$function0("get-function", "$name, $css: false, $module: null", new A._EvaluateVisitor_closure33(_this), _s9_), A.BuiltInCallable$function0("get-mixin", _s20_, new A._EvaluateVisitor_closure34(_this), _s9_), A.BuiltInCallable$function0("call", "$function, $args...", new A._EvaluateVisitor_closure35(_this), _s9_)], t1),
        metaMixins = A._setArrayType([A.BuiltInCallable$mixin0("load-css", "$url, $with: null", new A._EvaluateVisitor_closure36(_this), false, _s9_), A.BuiltInCallable$mixin0("apply", "$mixin, $args...", new A._EvaluateVisitor_closure37(_this), true, _s9_)], t1);
      t1 = type$.BuiltInCallable_2;
      t2 = A.List_List$of($.$get$global6(), true, t1);
      B.JSArray_methods.addAll$1(t2, $.$get$local0());
      B.JSArray_methods.addAll$1(t2, metaFunctions);
      metaModule = A.BuiltInModule$0("meta", t2, metaMixins, null, t1);
      for (t1 = A.List_List$of($.$get$coreModules0(), true, type$.BuiltInModule_Callable_2), t1.push(metaModule), t2 = t1.length, t3 = _this._evaluate0$_builtInModules, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        module = t1[_i];
        t3.$indexSet(0, module.url, module);
      }
      t1 = A._setArrayType([], type$.JSArray_Callable_2);
      B.JSArray_methods.addAll$1(t1, functions);
      B.JSArray_methods.addAll$1(t1, $.$get$globalFunctions0());
      B.JSArray_methods.addAll$1(t1, metaFunctions);
      for (t2 = t1.length, t3 = _this._evaluate0$_builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        $function = t1[_i];
        t4 = J.get$name$x($function);
        t3.$indexSet(0, A.stringReplaceAllUnchecked(t4, "_", "-"), $function);
      }
    },
    run$2(_, importer, node) {
      var error, stackTrace, t1, exception;
      try {
        t1 = type$.nullable_Object;
        t1 = A.runZoned(new A._EvaluateVisitor_run_closure1(this, node, importer), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__evaluationContext, new A._EvaluationContext1(this, node)], t1, t1), type$.Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet_2);
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException0) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          A.throwWithTrace0(error.withLoadedUrls$1(this._evaluate0$_loadedUrls), error, stackTrace);
        } else
          throw exception;
      }
    },
    _evaluate0$_assertInModule$1$2(value, $name) {
      if (value != null)
        return value;
      throw A.wrapException(A.StateError$("Can't access " + $name + " outside of a module."));
    },
    _evaluate0$_assertInModule$2(value, $name) {
      return this._evaluate0$_assertInModule$1$2(value, $name, type$.dynamic);
    },
    _evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, baseUrl, configuration, namesInErrors) {
      var t2, _this = this, t1 = {},
        _0_0 = _this._evaluate0$_builtInModules.$index(0, url);
      t1.builtInModule = null;
      if (_0_0 != null) {
        t1.builtInModule = _0_0;
        if (configuration instanceof A.ExplicitConfiguration0) {
          t1 = namesInErrors ? "Built-in module " + url.toString$0(0) + " can't be configured." : "Built-in modules can't be configured.";
          t2 = configuration.nodeWithSpan;
          throw A.wrapException(_this._evaluate0$_exception$2(t1, t2.get$span(t2)));
        }
        _this._evaluate0$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__loadModule_closure3(t1, callback));
        return;
      }
      _this._evaluate0$_withStackFrame$3(stackFrame, nodeWithSpan, new A._EvaluateVisitor__loadModule_closure4(_this, url, nodeWithSpan, baseUrl, namesInErrors, configuration, callback));
    },
    _evaluate0$_loadModule$5$configuration(url, stackFrame, nodeWithSpan, callback, configuration) {
      return this._evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, null, configuration, false);
    },
    _evaluate0$_loadModule$4(url, stackFrame, nodeWithSpan, callback) {
      return this._evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, null, null, false);
    },
    _evaluate0$_execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, configuration, namesInErrors, nodeWithSpan) {
      var currentConfiguration, t2, t3, message, existingSpan, configurationSpan, environment, css, preModuleComments, extensionStore, module, _this = this,
        url = stylesheet.span.file.url,
        t1 = _this._evaluate0$_modules,
        _0_0 = t1.$index(0, url);
      if (_0_0 != null) {
        t1 = configuration == null;
        currentConfiguration = t1 ? _this._evaluate0$_configuration : configuration;
        t2 = _this._evaluate0$_moduleConfigurations.$index(0, url);
        t3 = t2._configuration0$__originalConfiguration;
        t2 = t3 == null ? t2 : t3;
        t3 = currentConfiguration._configuration0$__originalConfiguration;
        if (t2 !== (t3 == null ? currentConfiguration : t3) && currentConfiguration instanceof A.ExplicitConfiguration0) {
          if (namesInErrors) {
            t2 = $.$get$context();
            url.toString;
            message = t2.prettyUri$1(url) + string$.x20was_a;
          } else
            message = string$.This_mw;
          t2 = _this._evaluate0$_moduleNodes.$index(0, url);
          existingSpan = t2 == null ? null : t2.get$span(t2);
          if (t1) {
            t1 = currentConfiguration.nodeWithSpan;
            configurationSpan = t1.get$span(t1);
          } else
            configurationSpan = null;
          t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
          if (existingSpan != null)
            t1.$indexSet(0, existingSpan, "original load");
          if (configurationSpan != null)
            t1.$indexSet(0, configurationSpan, "configuration");
          throw A.wrapException(t1.get$isEmpty(0) ? _this._evaluate0$_exception$1(message) : _this._evaluate0$_multiSpanException$3(message, "new load", t1));
        }
        return _0_0;
      }
      environment = A.Environment$0();
      css = A._Cell$();
      preModuleComments = A._Cell$();
      extensionStore = A.ExtensionStore$0();
      _this._evaluate0$_withEnvironment$2(environment, new A._EvaluateVisitor__execute_closure1(_this, importer, stylesheet, extensionStore, configuration, css, preModuleComments));
      t2 = css._readLocal$0();
      t3 = preModuleComments._readLocal$0();
      module = environment.toModule$3(t2, t3 == null ? B.Map_empty9 : t3, extensionStore);
      if (url != null) {
        t1.$indexSet(0, url, module);
        _this._evaluate0$_moduleConfigurations.$indexSet(0, url, _this._evaluate0$_configuration);
        if (nodeWithSpan != null)
          _this._evaluate0$_moduleNodes.$indexSet(0, url, nodeWithSpan);
      }
      return module;
    },
    _evaluate0$_execute$2(importer, stylesheet) {
      return this._evaluate0$_execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, null, false, null);
    },
    _evaluate0$_addOutOfOrderImports$0() {
      var t1, t2, _this = this, _s5_ = "_root",
        _s13_ = "_endOfImports",
        _0_0 = _this._evaluate0$_outOfOrderImports;
      $label0$0: {
        if (_0_0 == null) {
          t1 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_).children;
          break $label0$0;
        }
        t1 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_).children;
        t1 = A.List_List$of(A.SubListIterable$(t1, 0, A.checkNotNullable(_this._evaluate0$_assertInModule$2(_this._evaluate0$__endOfImports, _s13_), "count", type$.int), t1.$ti._eval$1("ListBase.E")), true, type$.ModifiableCssNode_2);
        B.JSArray_methods.addAll$1(t1, _0_0);
        t2 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_).children;
        B.JSArray_methods.addAll$1(t1, A.SubListIterable$(t2, _this._evaluate0$_assertInModule$2(_this._evaluate0$__endOfImports, _s13_), null, t2.$ti._eval$1("ListBase.E")));
        break $label0$0;
      }
      return t1;
    },
    _evaluate0$_combineCss$2$clone(root, clone) {
      var selectors, _0_0, t1, imports, css, sorted, t2;
      if (!B.JSArray_methods.any$1(root.get$upstream(), new A._EvaluateVisitor__combineCss_closure3())) {
        selectors = root.get$extensionStore().get$simpleSelectors();
        _0_0 = A.IterableExtension_get_firstOrNull(root.get$extensionStore().extensionsWhereTarget$1(new A._EvaluateVisitor__combineCss_closure4(selectors)));
        if (_0_0 != null)
          this._evaluate0$_throwForUnsatisfiedExtension$1(_0_0);
        return root.get$css(root);
      }
      t1 = type$.JSArray_CssNode_2;
      imports = A._setArrayType([], t1);
      css = A._setArrayType([], t1);
      t1 = type$.Module_Callable_2;
      sorted = A.ListQueue$(t1);
      new A._EvaluateVisitor__combineCss_visitModule1(this, A.LinkedHashSet_LinkedHashSet$_empty(t1), clone, css, imports, sorted).call$1(root);
      if (root.get$transitivelyContainsExtensions())
        this._evaluate0$_extendModules$1(sorted);
      t1 = B.JSArray_methods.$add(imports, css);
      t2 = root.get$css(root);
      return new A.CssStylesheet0(new A.UnmodifiableListView(t1, type$.UnmodifiableListView_CssNode_2), t2.get$span(t2));
    },
    _evaluate0$_combineCss$1(root) {
      return this._evaluate0$_combineCss$2$clone(root, false);
    },
    _evaluate0$_extendModules$1(sortedModules) {
      var t1, t2, t3, originalSelectors, $self, t4, t5, _i, upstream, _0_0,
        downstreamExtensionStores = A.LinkedHashMap_LinkedHashMap$_empty(type$.Uri, type$.List_ExtensionStore_2),
        unsatisfiedExtensions = new A._LinkedIdentityHashSet(type$._LinkedIdentityHashSet_Extension_2);
      for (t1 = A._ListQueueIterator$(sortedModules, sortedModules.$ti._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        originalSelectors = t3.get$extensionStore().get$simpleSelectors().toSet$0(0);
        unsatisfiedExtensions.addAll$1(0, t3.get$extensionStore().extensionsWhereTarget$1(new A._EvaluateVisitor__extendModules_closure3(originalSelectors)));
        $self = downstreamExtensionStores.$index(0, t3.get$url(t3));
        t4 = t3.get$extensionStore().get$addExtensions();
        if ($self != null)
          t4.call$1($self);
        t4 = t3.get$extensionStore();
        if (t4.get$isEmpty(t4))
          continue;
        for (t4 = t3.get$upstream(), t5 = t4.length, _i = 0; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i) {
          upstream = t4[_i];
          _0_0 = upstream.get$url(upstream);
          if (_0_0 != null)
            J.add$1$ax(downstreamExtensionStores.putIfAbsent$2(_0_0, new A._EvaluateVisitor__extendModules_closure4()), t3.get$extensionStore());
        }
        unsatisfiedExtensions.removeAll$1(t3.get$extensionStore().extensionsWhereTarget$1(originalSelectors.get$contains(originalSelectors)));
      }
      if (unsatisfiedExtensions._collection$_length !== 0)
        this._evaluate0$_throwForUnsatisfiedExtension$1(unsatisfiedExtensions.get$first(0));
    },
    _evaluate0$_throwForUnsatisfiedExtension$1(extension) {
      throw A.wrapException(A.SassException$0(string$.The_ta + extension.target.toString$0(0) + ' !optional" to avoid this error.', extension.span, null));
    },
    _evaluate0$_indexAfterImports$1(statements) {
      var t1, lastImport, i, _0_0;
      for (t1 = J.getInterceptor$asx(statements), lastImport = -1, i = 0; i < t1.get$length(statements); ++i) {
        $label0$0: {
          _0_0 = t1.$index(statements, i);
          if (_0_0 instanceof A.ModifiableCssImport0)
            break $label0$0;
          if (_0_0 instanceof A.ModifiableCssComment0)
            continue;
          break;
        }
        lastImport = i;
      }
      return lastImport + 1;
    },
    visitStylesheet$1(node) {
      var t1, t2, _i;
      for (t1 = node.children, t2 = t1.length, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(this);
      return null;
    },
    visitAtRootRule$1(node) {
      var t1, _2_0, root, first, rest, innerCopy, outerCopy, _i, copy, _this = this,
        _s8_ = "__parent",
        _0_0 = node.query,
        query = _0_0 != null ? A.AtRootQueryParser$0(_this._evaluate0$_performInterpolationWithMap$2$warnForColor(_0_0, true)._0, _this._evaluate0$_logger, null).parse$0() : B.AtRootQuery_n2q0,
        $parent = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_),
        included = A._setArrayType([], type$.JSArray_ModifiableCssParentNode_2);
      for (t1 = type$.CssStylesheet_2; !t1._is($parent); $parent = _2_0) {
        if (!query.excludes$1($parent))
          included.push($parent);
        _2_0 = $parent._node$_parent;
        if (_2_0 == null)
          throw A.wrapException(A.StateError$(string$.CssNod));
      }
      root = _this._evaluate0$_trimIncluded$1(included);
      if (root === _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_)) {
        _this._evaluate0$_environment.scope$1$2$when(new A._EvaluateVisitor_visitAtRootRule_closure3(_this, node), node.hasDeclarations, type$.Null);
        return null;
      }
      if (included.length >= 1) {
        first = included[0];
        rest = B.JSArray_methods.sublist$1(included, 1);
        innerCopy = first.copyWithoutChildren$0();
        for (t1 = rest.length, outerCopy = innerCopy, _i = 0; _i < rest.length; rest.length === t1 || (0, A.throwConcurrentModificationError)(rest), ++_i, outerCopy = copy) {
          copy = rest[_i].copyWithoutChildren$0();
          copy.addChild$1(outerCopy);
        }
        root.addChild$1(outerCopy);
      } else
        innerCopy = root;
      _this._evaluate0$_scopeForAtRoot$4(node, innerCopy, query, included).call$1(new A._EvaluateVisitor_visitAtRootRule_closure4(_this, node));
      return null;
    },
    _evaluate0$_trimIncluded$1(nodes) {
      var $parent, t1, innermostContiguous, i, t2, _0_0, _1_0, root, _this = this, _null = null, _s5_ = "_root",
        _s22_ = " to be an ancestor of ";
      if (nodes.length === 0)
        return _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_);
      $parent = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, "__parent");
      for (t1 = nodes.length, innermostContiguous = _null, i = 0; i < t1; ++i, $parent = _1_0) {
        for (; t2 = nodes[i], $parent !== t2; innermostContiguous = _null, $parent = _0_0) {
          _0_0 = $parent._node$_parent;
          if (_0_0 == null)
            throw A.wrapException(A.ArgumentError$("Expected " + t2.toString$0(0) + _s22_ + _this.toString$0(0) + ".", _null));
        }
        if (innermostContiguous == null)
          innermostContiguous = i;
        _1_0 = $parent._node$_parent;
        if (_1_0 == null)
          throw A.wrapException(A.ArgumentError$("Expected " + t2.toString$0(0) + _s22_ + _this.toString$0(0) + ".", _null));
      }
      if ($parent !== _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_))
        return _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_);
      innermostContiguous.toString;
      root = nodes[innermostContiguous];
      B.JSArray_methods.removeRange$2(nodes, innermostContiguous, nodes.length);
      return root;
    },
    _evaluate0$_scopeForAtRoot$4(node, newParent, query, included) {
      var _this = this,
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure11(_this, newParent, node),
        t1 = query._at_root_query0$_all || query._at_root_query0$_rule;
      if (t1 !== query.include)
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure12(_this, scope);
      if (_this._evaluate0$_mediaQueries != null && query.excludesName$1("media"))
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure13(_this, scope);
      if (_this._evaluate0$_inKeyframes && query.excludesName$1("keyframes"))
        scope = new A._EvaluateVisitor__scopeForAtRoot_closure14(_this, scope);
      return _this._evaluate0$_inUnknownAtRule && !B.JSArray_methods.any$1(included, new A._EvaluateVisitor__scopeForAtRoot_closure15()) ? new A._EvaluateVisitor__scopeForAtRoot_closure16(_this, scope) : scope;
    },
    visitContentBlock$1(node) {
      return A.throwExpression(A.UnsupportedError$(string$.Evalua));
    },
    visitContentRule$1(node) {
      var $content = this._evaluate0$_environment._environment0$_content;
      if ($content == null)
        return null;
      this._evaluate0$_runUserDefinedCallable$1$4(node.$arguments, $content, node, new A._EvaluateVisitor_visitContentRule_closure1(this, $content), type$.Null);
      return null;
    },
    visitDebugRule$1(node) {
      var value = node.expression.accept$1(this),
        t1 = value instanceof A.SassString0 ? value._string0$_text : A.serializeValue0(value, true, true);
      this._evaluate0$_logger.debug$2(0, t1, node.span);
      return null;
    },
    visitDeclaration$1(node) {
      var t2, _0_0, t3, $name, _1_0, _2_0, value, t4, t5, _3_0, oldDeclarationName, _this = this, _null = null,
        _s8_ = "__parent",
        t1 = {};
      if ((_this._evaluate0$_atRootExcludingStyleRule ? _null : _this._evaluate0$_styleRuleIgnoringAtRoot) == null && !_this._evaluate0$_inUnknownAtRule && !_this._evaluate0$_inKeyframes)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Declarm, node.span));
      if (_this._evaluate0$_declarationName != null && B.JSString_methods.startsWith$1(node.name.get$initialPlain(), "--"))
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Declarw, node.span));
      t2 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_)._node$_parent.children;
      _0_0 = t2.get$last(t2);
      t2 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_);
      if (t2 !== _0_0) {
        t2 = type$.SourceSpan;
        t3 = type$.String;
        _this._evaluate0$_warn$3(string$.Sassx27s, new A.MultiSpan0(node.span, "declaration", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([_0_0.get$span(_0_0), "nested rule"], t2, t3), t2, t3)), B.Deprecation_FGJ);
      }
      t2 = node.name;
      $name = _this._evaluate0$_interpolationToValue$2$warnForColor(t2, true);
      _1_0 = _this._evaluate0$_declarationName;
      if (_1_0 != null)
        $name = new A.CssValue0(_1_0 + "-" + A.S($name.value), $name.span, type$.CssValue_String_2);
      _2_0 = node.value;
      if (_2_0 != null) {
        value = _2_0.accept$1(_this);
        if (!value.get$isBlank() || value.get$asList().length === 0) {
          t3 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_);
          t4 = _2_0.get$span(_2_0);
          t2 = B.JSString_methods.startsWith$1(t2.get$initialPlain(), "--");
          if (_this._evaluate0$_sourceMap) {
            t5 = A.NullableExtension_andThen0(_2_0, _this.get$_evaluate0$_expressionNode());
            t5 = t5 == null ? _null : J.get$span$z(t5);
          } else
            t5 = _null;
          t3.addChild$1(A.ModifiableCssDeclaration$0($name, new A.CssValue0(value, t4, type$.CssValue_Value_2), node.span, t2, t5));
        } else if (J.startsWith$1$s($name.value, "--"))
          throw A.wrapException(_this._evaluate0$_exception$2("Custom property values may not be empty.", _2_0.get$span(_2_0)));
      }
      _3_0 = node.children;
      t1.children = null;
      if (_3_0 != null) {
        t1.children = _3_0;
        oldDeclarationName = _this._evaluate0$_declarationName;
        _this._evaluate0$_declarationName = $name.value;
        _this._evaluate0$_environment.scope$1$2$when(new A._EvaluateVisitor_visitDeclaration_closure1(t1, _this), node.hasDeclarations, type$.Null);
        _this._evaluate0$_declarationName = oldDeclarationName;
      }
      return _null;
    },
    visitEachRule$1(node) {
      var _this = this, _box_0 = {},
        t1 = node.list,
        list = t1.accept$1(_this),
        nodeWithSpan = _this._evaluate0$_expressionNode$1(t1),
        _0_0 = node.variables;
      $label0$0: {
        _box_0.variable = null;
        if (_0_0.length === 1) {
          _box_0.variable = _0_0[0];
          t1 = new A._EvaluateVisitor_visitEachRule_closure5(_box_0, _this, nodeWithSpan);
          break $label0$0;
        }
        _box_0.variables = null;
        _box_0.variables = _0_0;
        t1 = new A._EvaluateVisitor_visitEachRule_closure6(_box_0, _this, nodeWithSpan);
        break $label0$0;
      }
      return _this._evaluate0$_environment.scope$1$2$semiGlobal(new A._EvaluateVisitor_visitEachRule_closure7(_this, list, t1, node), true, type$.nullable_Value_2);
    },
    _evaluate0$_setMultipleVariables$3(variables, value, nodeWithSpan) {
      var i,
        list = value.get$asList(),
        t1 = variables.length,
        minLength = Math.min(t1, list.length);
      for (i = 0; i < minLength; ++i)
        this._evaluate0$_environment.setLocalVariable$3(variables[i], this._evaluate0$_withoutSlash$2(list[i], nodeWithSpan), nodeWithSpan);
      for (i = minLength; i < t1; ++i)
        this._evaluate0$_environment.setLocalVariable$3(variables[i], B.C__SassNull0, nodeWithSpan);
    },
    visitErrorRule$1(node) {
      throw A.wrapException(this._evaluate0$_exception$2(J.toString$0$(node.expression.accept$1(this)), node.span));
    },
    visitExtendRule$1(node) {
      var t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, _0_0, compound, _this = this, _null = null,
        styleRule = _this._evaluate0$_atRootExcludingStyleRule ? _null : _this._evaluate0$_styleRuleIgnoringAtRoot;
      if (styleRule == null || _this._evaluate0$_declarationName != null)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.x40exten, node.span));
      for (t1 = styleRule.originalSelector.components, t2 = t1.length, t3 = node.span, t4 = type$.SourceSpan, t5 = type$.String, _i = 0; _i < t2; ++_i) {
        complex = t1[_i];
        if (!complex.accept$1(B._IsBogusVisitor_true0))
          continue;
        visitor = A._SerializeVisitor$0(_null, true, _null, true, false, _null, true);
        complex.accept$1(visitor);
        t6 = B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0));
        t7 = complex.accept$1(B.C__IsUselessVisitor0) ? "can't" : "shouldn't";
        _this._evaluate0$_warn$3('The selector "' + t6 + '" is invalid CSS and ' + t7 + string$.x20be_an, new A.MultiSpan0(A.SpanExtensions_trimRight0(complex.span), "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t3, "@extend rule"], t4, t5), t4, t5)), B.Deprecation_5pG);
      }
      _0_0 = _this._evaluate0$_performInterpolationWithMap$2$warnForColor(node.selector, true);
      for (t1 = A.SelectorList_SelectorList$parse0(A.trimAscii0(_0_0._0, true), false, _0_0._1, _this._evaluate0$_logger, false).components, t2 = t1.length, t3 = styleRule._style_rule0$_selector._box0$_inner, _i = 0; _i < t2; ++_i) {
        complex = t1[_i];
        compound = complex.get$singleCompound();
        if (compound == null)
          throw A.wrapException(A.SassFormatException$0("complex selectors may not be extended.", complex.span, _null));
        t4 = compound.components;
        t5 = t4.length === 1 ? B.JSArray_methods.get$first(t4) : _null;
        if (t5 == null)
          throw A.wrapException(A.SassFormatException$0(string$.compou + B.JSArray_methods.join$1(t4, ", ") + string$.x60_inst, compound.span, _null));
        _this._evaluate0$_assertInModule$2(_this._evaluate0$__extensionStore, "_extensionStore").addExtension$4(t3.value, t5, node, _this._evaluate0$_mediaQueries);
      }
      return _null;
    },
    visitAtRule$1(node) {
      var $name, value, children, wasInKeyframes, wasInUnknownAtRule, _this = this;
      if (_this._evaluate0$_declarationName != null)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.At_rul, node.span));
      $name = _this._evaluate0$_interpolationToValue$1(node.name);
      value = A.NullableExtension_andThen0(node.value, new A._EvaluateVisitor_visitAtRule_closure5(_this));
      children = node.children;
      if (children == null) {
        _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, "__parent").addChild$1(A.ModifiableCssAtRule$0($name, node.span, true, value));
        return null;
      }
      wasInKeyframes = _this._evaluate0$_inKeyframes;
      wasInUnknownAtRule = _this._evaluate0$_inUnknownAtRule;
      if (A.unvendor0($name.value) === "keyframes")
        _this._evaluate0$_inKeyframes = true;
      else
        _this._evaluate0$_inUnknownAtRule = true;
      _this._evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssAtRule$0($name, node.span, false, value), new A._EvaluateVisitor_visitAtRule_closure6(_this, $name, children), node.hasDeclarations, new A._EvaluateVisitor_visitAtRule_closure7(), type$.ModifiableCssAtRule_2, type$.Null);
      _this._evaluate0$_inUnknownAtRule = wasInUnknownAtRule;
      _this._evaluate0$_inKeyframes = wasInKeyframes;
      return null;
    },
    visitForRule$1(node) {
      var _this = this, t1 = {},
        t2 = node.from,
        fromNumber = _this._evaluate0$_addExceptionSpan$2(t2, new A._EvaluateVisitor_visitForRule_closure9(_this, node)),
        t3 = node.to,
        toNumber = _this._evaluate0$_addExceptionSpan$2(t3, new A._EvaluateVisitor_visitForRule_closure10(_this, node)),
        from = _this._evaluate0$_addExceptionSpan$2(t2, new A._EvaluateVisitor_visitForRule_closure11(fromNumber)),
        to = t1.to = _this._evaluate0$_addExceptionSpan$2(t3, new A._EvaluateVisitor_visitForRule_closure12(toNumber, fromNumber)),
        direction = from > to ? -1 : 1;
      if (from === (!node.isExclusive ? t1.to = to + direction : to))
        return null;
      return _this._evaluate0$_environment.scope$1$2$semiGlobal(new A._EvaluateVisitor_visitForRule_closure13(t1, _this, node, from, direction, fromNumber), true, type$.nullable_Value_2);
    },
    visitForwardRule$1(node) {
      var newConfiguration, t4, _i, variable, $name, _this = this,
        _s8_ = "@forward",
        oldConfiguration = _this._evaluate0$_configuration,
        adjustedConfiguration = oldConfiguration.throughForward$1(node),
        t1 = node.configuration,
        t2 = t1.length,
        t3 = node.url;
      if (t2 !== 0) {
        newConfiguration = _this._evaluate0$_addForwardConfiguration$2(adjustedConfiguration, node);
        _this._evaluate0$_loadModule$5$configuration(t3, _s8_, node, new A._EvaluateVisitor_visitForwardRule_closure3(_this, node), newConfiguration);
        t3 = type$.String;
        t4 = A.LinkedHashSet_LinkedHashSet$_empty(t3);
        for (_i = 0; _i < t2; ++_i) {
          variable = t1[_i];
          if (!variable.isGuarded)
            t4.add$1(0, variable.name);
        }
        _this._evaluate0$_removeUsedConfiguration$3$except(adjustedConfiguration, newConfiguration, t4);
        t3 = A.LinkedHashSet_LinkedHashSet$_empty(t3);
        for (_i = 0; _i < t2; ++_i)
          t3.add$1(0, t1[_i].name);
        for (t1 = newConfiguration._configuration0$_values, t2 = J.toList$0$ax(t1.get$keys(t1)), t4 = t2.length, _i = 0; _i < t2.length; t2.length === t4 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
          $name = t2[_i];
          if (!t3.contains$1(0, $name))
            if (!t1.get$isEmpty(t1))
              t1.remove$1(0, $name);
        }
        _this._evaluate0$_assertConfigurationIsEmpty$1(newConfiguration);
      } else {
        _this._evaluate0$_configuration = adjustedConfiguration;
        _this._evaluate0$_loadModule$4(t3, _s8_, node, new A._EvaluateVisitor_visitForwardRule_closure4(_this, node));
        _this._evaluate0$_configuration = oldConfiguration;
      }
      return null;
    },
    _evaluate0$_addForwardConfiguration$2(configuration, node) {
      var t2, t3, _i, variable, t4, oldValue, t5, variableNodeWithSpan, _null = null,
        t1 = configuration._configuration0$_values,
        newValues = A.LinkedHashMap_LinkedHashMap$of(new A.UnmodifiableMapView(t1, type$.UnmodifiableMapView_String_ConfiguredValue_2), type$.String, type$.ConfiguredValue_2);
      for (t2 = node.configuration, t3 = t2.length, _i = 0; _i < t3; ++_i) {
        variable = t2[_i];
        if (variable.isGuarded) {
          t4 = variable.name;
          oldValue = t1.get$isEmpty(t1) ? _null : t1.remove$1(0, t4);
          if (oldValue != null)
            t5 = !oldValue.value.$eq(0, B.C__SassNull0);
          else {
            oldValue = _null;
            t5 = false;
          }
          if (t5) {
            newValues.$indexSet(0, t4, oldValue);
            continue;
          }
        }
        t4 = variable.expression;
        variableNodeWithSpan = this._evaluate0$_expressionNode$1(t4);
        newValues.$indexSet(0, variable.name, new A.ConfiguredValue0(this._evaluate0$_withoutSlash$2(t4.accept$1(this), variableNodeWithSpan), variable.span, variableNodeWithSpan));
      }
      if (configuration instanceof A.ExplicitConfiguration0 || t1.get$isEmpty(t1))
        return new A.ExplicitConfiguration0(node, newValues, _null);
      else
        return new A.Configuration0(newValues, _null);
    },
    _evaluate0$_registerCommentsForModule$1(module) {
      var _this = this, _s5_ = "_root",
        t1 = _this._evaluate0$__root;
      if (t1 == null)
        return;
      if (_this._evaluate0$_assertInModule$2(t1, _s5_).children.get$length(0) === 0 || !module.get$transitivelyContainsCss())
        return;
      t1 = _this._evaluate0$_preModuleComments;
      if (t1 == null)
        t1 = _this._evaluate0$_preModuleComments = A.LinkedHashMap_LinkedHashMap$_empty(type$.Module_Callable_2, type$.List_CssComment_2);
      J.addAll$1$ax(t1.putIfAbsent$2(module, new A._EvaluateVisitor__registerCommentsForModule_closure1()), new A.UnmodifiableListView(J.cast$1$0$ax(_this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_).children._collection$_source, type$.CssComment_2), type$.UnmodifiableListView_CssComment_2));
      _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_).clearChildren$0();
      _this._evaluate0$__endOfImports = 0;
    },
    _evaluate0$_removeUsedConfiguration$3$except(upstream, downstream, except) {
      var t1, t2, t3, t4, _i, $name;
      for (t1 = upstream._configuration0$_values, t2 = J.toList$0$ax(t1.get$keys(t1)), t3 = t2.length, t4 = downstream._configuration0$_values, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        $name = t2[_i];
        if (except.contains$1(0, $name))
          continue;
        if (!t4.containsKey$1($name))
          if (!t1.get$isEmpty(t1))
            t1.remove$1(0, $name);
      }
    },
    _evaluate0$_assertConfigurationIsEmpty$2$nameInError(configuration, nameInError) {
      var t1, _0_0, $name, value;
      if (!(configuration instanceof A.ExplicitConfiguration0))
        return;
      t1 = configuration._configuration0$_values;
      if (t1.get$isEmpty(t1))
        return;
      t1 = A.MapExtensions_get_pairs0(new A.UnmodifiableMapView(t1, type$.UnmodifiableMapView_String_ConfiguredValue_2), type$.String, type$.ConfiguredValue_2);
      _0_0 = t1.get$first(t1);
      $name = _0_0._0;
      value = _0_0._1;
      t1 = nameInError ? "$" + $name + string$.x20was_n : string$.This_v;
      throw A.wrapException(this._evaluate0$_exception$2(t1, value.configurationSpan));
    },
    _evaluate0$_assertConfigurationIsEmpty$1(configuration) {
      return this._evaluate0$_assertConfigurationIsEmpty$2$nameInError(configuration, false);
    },
    visitFunctionRule$1(node) {
      var t1 = this._evaluate0$_environment,
        t2 = t1.closure$0(),
        t3 = this._evaluate0$_inDependency,
        t4 = t1._environment0$_functions,
        index = t4.length - 1,
        t5 = node.name;
      t1._environment0$_functionIndices.$indexSet(0, t5, index);
      J.$indexSet$ax(t4[index], t5, new A.UserDefinedCallable0(node, t2, t3, type$.UserDefinedCallable_Environment_2));
      return null;
    },
    visitIfRule$1(node) {
      var t1, t2, _i, clauseToCheck,
        clause = node.lastClause;
      for (t1 = node.clauses, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        clauseToCheck = t1[_i];
        if (clauseToCheck.expression.accept$1(this).get$isTruthy()) {
          clause = clauseToCheck;
          break;
        }
      }
      return A.NullableExtension_andThen0(clause, new A._EvaluateVisitor_visitIfRule_closure1(this));
    },
    visitImportRule$1(node) {
      var t1, t2, t3, t4, t5, t6, _i, $import, t7, _0_0, $self, t8, _this = this,
        _s8_ = "__parent",
        _s5_ = "_root",
        _s13_ = "_endOfImports";
      for (t1 = node.imports, t2 = t1.length, t3 = type$.CssValue_String_2, t4 = _this.get$_evaluate0$_interpolationToValue(), t5 = type$.StaticImport_2, t6 = type$.JSArray_ModifiableCssImport_2, _i = 0; _i < t2; ++_i) {
        $import = t1[_i];
        if ($import instanceof A.DynamicImport0)
          _this._evaluate0$_visitDynamicImport$1($import);
        else {
          t5._as($import);
          t7 = $import.url;
          _0_0 = _this._evaluate0$_performInterpolationHelper$3$sourceMap$warnForColor(t7, false, false);
          $self = $import.modifiers;
          t8 = $self == null ? null : t4.call$1($self);
          node = new A.ModifiableCssImport0(new A.CssValue0(_0_0._0, t7.span, t3), t8, $import.span);
          if (_this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_) !== _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_))
            _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).addChild$1(node);
          else if (_this._evaluate0$_assertInModule$2(_this._evaluate0$__endOfImports, _s13_) === J.get$length$asx(_this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_).children._collection$_source)) {
            t7 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_);
            node._node$_parent = t7;
            t7 = t7._node$_children;
            node._node$_indexInParent = t7.length;
            t7.push(node);
            _this._evaluate0$__endOfImports = _this._evaluate0$_assertInModule$2(_this._evaluate0$__endOfImports, _s13_) + 1;
          } else {
            t7 = _this._evaluate0$_outOfOrderImports;
            (t7 == null ? _this._evaluate0$_outOfOrderImports = A._setArrayType([], t6) : t7).push(node);
          }
        }
      }
      return null;
    },
    _evaluate0$_visitDynamicImport$1($import) {
      return this._evaluate0$_withStackFrame$3("@import", $import, new A._EvaluateVisitor__visitDynamicImport_closure1(this, $import));
    },
    _evaluate0$_loadStylesheet$4$baseUrl$forImport(url, span, baseUrl, forImport) {
      var _0_0, importCache, _1_0, importer, canonicalUrl, originalUrl, isDependency, _2_0, stylesheet, _3_0, result, error, stackTrace, error0, stackTrace0, message, t1, t2, t3, t4, exception, message0, _this = this,
        _s11_ = "_stylesheet";
      baseUrl = baseUrl;
      try {
        _this._evaluate0$_importSpan = span;
        _0_0 = _this._evaluate0$_importCache;
        importCache = null;
        if (_0_0 != null) {
          importCache = _0_0;
          if (baseUrl == null)
            baseUrl = _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_).span.file.url;
          _1_0 = J.canonicalize$4$baseImporter$baseUrl$forImport$x(importCache, A.Uri_parse(url), _this._evaluate0$_importer, baseUrl, forImport);
          importer = null;
          canonicalUrl = null;
          originalUrl = null;
          if (type$.Record_3_nullable_Object_and_nullable_Object_and_nullable_Object_originalUrl._is(_1_0)) {
            importer = _1_0._0;
            canonicalUrl = _1_0._1;
            originalUrl = _1_0._2;
            _this._evaluate0$_loadedUrls.add$1(0, canonicalUrl);
            isDependency = _this._evaluate0$_inDependency || !J.$eq$(importer, _this._evaluate0$_importer);
            t1 = importCache;
            t2 = importer;
            t3 = canonicalUrl;
            t4 = originalUrl;
            _2_0 = t1.importCanonical$4$originalUrl$quiet(t2, t3, t4, _this._evaluate0$_quietDeps && isDependency);
            stylesheet = null;
            if (_2_0 != null) {
              stylesheet = _2_0;
              t1 = stylesheet;
              t2 = importer;
              return new A._Record_3_importer_isDependency(t1, t2, isDependency);
            }
          }
        }
        if (_this._nodeImporter != null) {
          t1 = baseUrl;
          _3_0 = _this._importLikeNode$3(url, t1 == null ? _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_).span.file.url : t1, forImport);
          result = null;
          if (_3_0 != null) {
            result = _3_0;
            t1 = _this._evaluate0$_loadedUrls;
            A.NullableExtension_andThen0(result._0.span.file.url, t1.get$add(t1));
            t1 = result;
            return t1;
          }
        }
        t1 = B.JSString_methods.startsWith$1(url, "package:");
        if (t1)
          throw A.wrapException(string$.x22packa);
        else
          throw A.wrapException("Can't find stylesheet to import.");
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException0)
          throw exception;
        else if (t1 instanceof A.ArgumentError) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          A.throwWithTrace0(_this._evaluate0$_exception$1(J.toString$0$(error)), error, stackTrace);
        } else {
          error0 = t1;
          stackTrace0 = A.getTraceFromException(exception);
          message = null;
          try {
            message = A._asString(J.get$message$x(error0));
          } catch (exception) {
            message0 = J.toString$0$(error0);
            message = message0;
          }
          A.throwWithTrace0(_this._evaluate0$_exception$1(message), error0, stackTrace0);
        }
      } finally {
        _this._evaluate0$_importSpan = null;
      }
    },
    _evaluate0$_loadStylesheet$3$baseUrl(url, span, baseUrl) {
      return this._evaluate0$_loadStylesheet$4$baseUrl$forImport(url, span, baseUrl, false);
    },
    _evaluate0$_loadStylesheet$3$forImport(url, span, forImport) {
      return this._evaluate0$_loadStylesheet$4$baseUrl$forImport(url, span, null, forImport);
    },
    _importLikeNode$3(originalUrl, previous, forImport) {
      var isDependency, url, t2, _this = this,
        t1 = _this._nodeImporter,
        result = t1.loadRelative$3(originalUrl, previous, forImport);
      if (result != null)
        isDependency = _this._evaluate0$_inDependency;
      else {
        result = t1.load$3(0, originalUrl, previous, forImport);
        if (result == null)
          return null;
        isDependency = true;
      }
      url = result._1;
      t1 = B.JSString_methods.startsWith$1(url, "file") ? A.Syntax_forPath0(url) : B.Syntax_SCSS_scss0;
      t2 = _this._evaluate0$_quietDeps && isDependency ? $.$get$Logger_quiet0() : _this._evaluate0$_logger;
      return new A._Record_3_importer_isDependency(A.Stylesheet_Stylesheet$parse0(result._0, t1, t2, url), null, isDependency);
    },
    _evaluate0$_applyMixin$5(mixin, contentCallable, $arguments, nodeWithSpan, nodeWithSpanWithoutContent) {
      var t1, _0_0, _1_8, t2, _this = this,
        _s37_ = "Mixin doesn't accept a content block.",
        _s10_ = "invocation";
      $label0$0: {
        if (mixin == null)
          throw A.wrapException(_this._evaluate0$_exception$2("Undefined mixin.", nodeWithSpan.get$span(nodeWithSpan)));
        t1 = mixin instanceof A.BuiltInCallable0;
        if (t1 && !mixin.acceptsContent && contentCallable != null) {
          t1 = _this._evaluate0$_evaluateArguments$1($arguments)._values;
          _0_0 = mixin.callbackFor$2(t1[2].length, new A.MapKeySet(t1[0], type$.MapKeySet_String));
          throw A.wrapException(A.MultiSpanSassRuntimeException$0(_s37_, nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent), _s10_, A.LinkedHashMap_LinkedHashMap$_literal([_0_0._0.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), _this._evaluate0$_stackTrace$1(nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent)), null));
        }
        if (t1) {
          _this._evaluate0$_environment.withContent$2(contentCallable, new A._EvaluateVisitor__applyMixin_closure3(_this, $arguments, mixin, nodeWithSpanWithoutContent));
          break $label0$0;
        }
        t1 = type$.UserDefinedCallable_Environment_2._is(mixin);
        if (t1) {
          _1_8 = mixin.declaration;
          if (_1_8 instanceof A.MixinRule0)
            t2 = !type$.MixinRule_2._as(_1_8).get$hasContent() && contentCallable != null;
          else
            t2 = false;
        } else
          t2 = false;
        if (t2)
          throw A.wrapException(A.MultiSpanSassRuntimeException$0(_s37_, nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent), _s10_, A.LinkedHashMap_LinkedHashMap$_literal([mixin.declaration.$arguments.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), _this._evaluate0$_stackTrace$1(nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent)), null));
        if (t1) {
          _this._evaluate0$_runUserDefinedCallable$1$4($arguments, mixin, nodeWithSpanWithoutContent, new A._EvaluateVisitor__applyMixin_closure4(_this, contentCallable, mixin, nodeWithSpanWithoutContent), type$.Null);
          break $label0$0;
        }
        throw A.wrapException(A.UnsupportedError$("Unknown callable type " + mixin.toString$0(0) + "."));
      }
    },
    visitIncludeRule$1(node) {
      var _this = this,
        mixin = _this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitIncludeRule_closure5(_this, node));
      if (B.JSString_methods.startsWith$1(node.originalName, "--") && mixin instanceof A.UserDefinedCallable0 && !B.JSString_methods.startsWith$1(mixin.declaration.originalName, "--"))
        _this._evaluate0$_warn$3(string$.Sassx20_m, node.get$nameSpan(), B.Deprecation_qBS);
      _this._evaluate0$_applyMixin$5(mixin, A.NullableExtension_andThen0(node.content, new A._EvaluateVisitor_visitIncludeRule_closure6(_this)), node.$arguments, node, new A._FakeAstNode0(new A._EvaluateVisitor_visitIncludeRule_closure7(node)));
      return null;
    },
    visitMixinRule$1(node) {
      var t1 = this._evaluate0$_environment,
        t2 = t1.closure$0(),
        t3 = this._evaluate0$_inDependency,
        t4 = t1._environment0$_mixins,
        index = t4.length - 1,
        t5 = node.name;
      t1._environment0$_mixinIndices.$indexSet(0, t5, index);
      J.$indexSet$ax(t4[index], t5, new A.UserDefinedCallable0(node, t2, t3, type$.UserDefinedCallable_Environment_2));
      return null;
    },
    visitLoudComment$1(node) {
      var t1, _this = this,
        _s8_ = "__parent",
        _s13_ = "_endOfImports";
      if (_this._evaluate0$_inFunction)
        return null;
      if (_this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_) === _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, "_root") && _this._evaluate0$_assertInModule$2(_this._evaluate0$__endOfImports, _s13_) === J.get$length$asx(_this._evaluate0$_assertInModule$2(_this._evaluate0$__root, "_root").children._collection$_source))
        _this._evaluate0$__endOfImports = _this._evaluate0$_assertInModule$2(_this._evaluate0$__endOfImports, _s13_) + 1;
      t1 = node.text;
      _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).addChild$1(new A.ModifiableCssComment0(_this._evaluate0$_performInterpolation$1(t1), t1.span));
      return null;
    },
    visitMediaRule$1(node) {
      var _0_0, queries, mergedQueries, t1, mergedSources, t2, t3, _this = this;
      if (_this._evaluate0$_declarationName != null)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Media_, node.span));
      _0_0 = _this._evaluate0$_performInterpolationWithMap$2$warnForColor(node.query, true);
      queries = A.CssMediaQuery_parseList0(_0_0._0, _0_0._1, _this._evaluate0$_logger);
      mergedQueries = A.NullableExtension_andThen0(_this._evaluate0$_mediaQueries, new A._EvaluateVisitor_visitMediaRule_closure5(_this, queries));
      t1 = mergedQueries == null;
      if (!t1 && J.get$isEmpty$asx(mergedQueries))
        return null;
      if (t1)
        mergedSources = B.Set_empty5;
      else {
        t2 = _this._evaluate0$_mediaQuerySources;
        t2.toString;
        t2 = A.LinkedHashSet_LinkedHashSet$of(t2, type$.CssMediaQuery_2);
        t3 = _this._evaluate0$_mediaQueries;
        t3.toString;
        t2.addAll$1(0, t3);
        t2.addAll$1(0, queries);
        mergedSources = t2;
      }
      t1 = t1 ? queries : mergedQueries;
      _this._evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssMediaRule$0(t1, node.span), new A._EvaluateVisitor_visitMediaRule_closure6(_this, mergedQueries, queries, mergedSources, node), node.hasDeclarations, new A._EvaluateVisitor_visitMediaRule_closure7(mergedSources), type$.ModifiableCssMediaRule_2, type$.Null);
      return null;
    },
    _evaluate0$_mergeMediaQueries$2(queries1, queries2) {
      var t1, t2, t3, t4, _0_0, t5, result,
        queries = A._setArrayType([], type$.JSArray_CssMediaQuery_2);
      for (t1 = J.get$iterator$ax(queries1), t2 = J.getInterceptor$ax(queries2); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        for (t4 = t2.get$iterator(queries2); t4.moveNext$0();)
          $label0$1: {
            _0_0 = t3.merge$1(t4.get$current(t4));
            if (B._SingletonCssMediaQueryMergeResult_00 === _0_0)
              continue;
            if (B._SingletonCssMediaQueryMergeResult_10 === _0_0)
              return null;
            t5 = _0_0 instanceof A.MediaQuerySuccessfulMergeResult0;
            result = t5 ? _0_0 : null;
            if (t5)
              queries.push(result.query);
            break $label0$1;
          }
      }
      return queries;
    },
    visitReturnRule$1(node) {
      var t1 = node.expression;
      return this._evaluate0$_withoutSlash$2(t1.accept$1(this), t1);
    },
    visitSilentComment$1(node) {
      return null;
    },
    visitStyleRule$1(node) {
      var t1, _0_0, selectorText, selectorMap, parsedSelector, nest, t2, _i, _1_0, first, t3, rule, oldAtRootExcludingStyleRule, _this = this, _null = null,
        _s8_ = "__parent",
        _s11_ = "_stylesheet";
      if (_this._evaluate0$_declarationName != null)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Style_n, node.span));
      else if (_this._evaluate0$_inKeyframes && _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_) instanceof A.ModifiableCssKeyframeBlock0)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Style_k, node.span));
      t1 = node.selector;
      _0_0 = _this._evaluate0$_performInterpolationWithMap$2$warnForColor(t1, true);
      selectorText = _0_0._0;
      selectorMap = _0_0._1;
      if (_this._evaluate0$_inKeyframes) {
        _this._evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$0(new A.CssValue0(A.List_List$unmodifiable(A.KeyframeSelectorParser$0(selectorText, selectorMap, _this._evaluate0$_logger).parse$0(), type$.String), t1.span, type$.CssValue_List_String_2), node.span), new A._EvaluateVisitor_visitStyleRule_closure7(_this, node), node.hasDeclarations, new A._EvaluateVisitor_visitStyleRule_closure8(), type$.ModifiableCssKeyframeBlock_2, type$.Null);
        return _null;
      }
      parsedSelector = A.SelectorList_SelectorList$parse0(selectorText, true, selectorMap, _this._evaluate0$_logger, _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_).plainCss);
      t1 = _this._evaluate0$_atRootExcludingStyleRule ? _null : _this._evaluate0$_styleRuleIgnoringAtRoot;
      t1 = t1 == null ? _null : t1.fromPlainCss;
      nest = t1 !== true;
      if (nest) {
        if (_this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_).plainCss)
          for (t1 = parsedSelector.components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
            _1_0 = t1[_i].leadingCombinators;
            if (_1_0.length >= 1) {
              first = _1_0[0];
              t3 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_);
              t3 = t3.plainCss;
            } else {
              first = _null;
              t3 = false;
            }
            if (t3)
              throw A.wrapException(_this._evaluate0$_exception$2(string$.Top_lel, first.span));
          }
        t1 = _this._evaluate0$_styleRuleIgnoringAtRoot;
        t1 = t1 == null ? _null : t1.originalSelector;
        parsedSelector = parsedSelector.nestWithin$3$implicitParent$preserveParentSelectors(t1, !_this._evaluate0$_atRootExcludingStyleRule, _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_).plainCss);
      }
      rule = A.ModifiableCssStyleRule$0(_this._evaluate0$_assertInModule$2(_this._evaluate0$__extensionStore, "_extensionStore").addSelector$2(parsedSelector, _this._evaluate0$_mediaQueries), node.span, _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_).plainCss, parsedSelector);
      oldAtRootExcludingStyleRule = _this._evaluate0$_atRootExcludingStyleRule;
      t1 = _this._evaluate0$_atRootExcludingStyleRule = false;
      t2 = nest ? new A._EvaluateVisitor_visitStyleRule_closure9() : _null;
      _this._evaluate0$_withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitStyleRule_closure10(_this, rule, node), node.hasDeclarations, t2, type$.ModifiableCssStyleRule_2, type$.Null);
      _this._evaluate0$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
      _this._evaluate0$_warnForBogusCombinators$1(rule);
      if ((_this._evaluate0$_atRootExcludingStyleRule ? _null : _this._evaluate0$_styleRuleIgnoringAtRoot) == null) {
        t1 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).children;
        t1 = !t1.get$isEmpty(t1);
      }
      if (t1) {
        t1 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).children;
        t1.get$last(t1).isGroupEnd = true;
      }
      return _null;
    },
    _evaluate0$_warnForBogusCombinators$1(rule) {
      var t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, t8, t9, _this = this, _null = null;
      if (!rule.accept$1(B._IsInvisibleVisitor_false_false0))
        for (t1 = rule._style_rule0$_selector._box0$_inner.value.components, t2 = t1.length, t3 = type$.SourceSpan, t4 = type$.String, t5 = rule.children, _i = 0; _i < t2; ++_i) {
          complex = t1[_i];
          if (!complex.accept$1(B._IsBogusVisitor_true0))
            continue;
          if (complex.accept$1(B.C__IsUselessVisitor0)) {
            visitor = A._SerializeVisitor$0(_null, true, _null, true, false, _null, true);
            complex.accept$1(visitor);
            _this._evaluate0$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)) + string$.x22x20is_ix20, A.SpanExtensions_trimRight0(complex.span), B.Deprecation_5pG);
          } else if (complex.leadingCombinators.length !== 0) {
            if (!_this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, "_stylesheet").plainCss) {
              visitor = A._SerializeVisitor$0(_null, true, _null, true, false, _null, true);
              complex.accept$1(visitor);
              _this._evaluate0$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)) + string$.x22x20is_ix0a, A.SpanExtensions_trimRight0(complex.span), B.Deprecation_5pG);
            }
          } else {
            visitor = A._SerializeVisitor$0(_null, true, _null, true, false, _null, true);
            complex.accept$1(visitor);
            t6 = B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0));
            t7 = complex.accept$1(B._IsBogusVisitor_false0) ? string$.x20It_wi : "";
            t8 = A.SpanExtensions_trimRight0(complex.span);
            if (t5.get$length(0) === 0)
              A.throwExpression(A.IterableElementError_noElement());
            t9 = J.get$span$z(t5.$index(0, 0));
            _this._evaluate0$_warn$3('The selector "' + t6 + string$.x22x20is_o + t7 + string$.x0aThis_, new A.MultiSpan0(t8, "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t9, "this is not a style rule" + (t5.every$1(t5, new A._EvaluateVisitor__warnForBogusCombinators_closure1()) ? "\n(try converting to a //-style comment)" : "")], t3, t4), t3, t4)), B.Deprecation_5pG);
          }
        }
    },
    visitSupportsRule$1(node) {
      var t1, _this = this;
      if (_this._evaluate0$_declarationName != null)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Suppor, node.span));
      t1 = node.condition;
      _this._evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssSupportsRule$0(new A.CssValue0(_this._evaluate0$_visitSupportsCondition$1(t1), t1.get$span(t1), type$.CssValue_String_2), node.span), new A._EvaluateVisitor_visitSupportsRule_closure3(_this, node), node.hasDeclarations, new A._EvaluateVisitor_visitSupportsRule_closure4(), type$.ModifiableCssSupportsRule_2, type$.Null);
      return null;
    },
    _evaluate0$_visitSupportsCondition$1(condition) {
      var t1, _this = this, _box_0 = {};
      $label0$0: {
        if (condition instanceof A.SupportsOperation0) {
          t1 = condition.operator;
          t1 = _this._evaluate0$_parenthesize$2(condition.left, t1) + " " + t1 + " " + _this._evaluate0$_parenthesize$2(condition.right, t1);
          break $label0$0;
        }
        if (condition instanceof A.SupportsNegation0) {
          t1 = "not " + _this._evaluate0$_parenthesize$1(condition.condition);
          break $label0$0;
        }
        if (condition instanceof A.SupportsInterpolation0) {
          t1 = condition.expression;
          t1 = _this._evaluate0$_serialize$3$quote(t1.accept$1(_this), t1, false);
          break $label0$0;
        }
        _box_0.declaration = null;
        if (condition instanceof A.SupportsDeclaration0) {
          _box_0.declaration = condition;
          t1 = _this._evaluate0$_withSupportsDeclaration$1(new A._EvaluateVisitor__visitSupportsCondition_closure1(_box_0, _this));
          break $label0$0;
        }
        if (condition instanceof A.SupportsFunction0) {
          t1 = _this._evaluate0$_performInterpolation$1(condition.name) + "(" + _this._evaluate0$_performInterpolation$1(condition.$arguments) + ")";
          break $label0$0;
        }
        if (condition instanceof A.SupportsAnything0) {
          t1 = "(" + _this._evaluate0$_performInterpolation$1(condition.contents) + ")";
          break $label0$0;
        }
        t1 = A.throwExpression(A.ArgumentError$("Unknown supports condition type " + A.getRuntimeTypeOfDartObject(condition).toString$0(0) + ".", null));
      }
      return t1;
    },
    _evaluate0$_withSupportsDeclaration$1$1(callback) {
      var t1,
        oldInSupportsDeclaration = this._evaluate0$_inSupportsDeclaration;
      this._evaluate0$_inSupportsDeclaration = true;
      try {
        t1 = callback.call$0();
        return t1;
      } finally {
        this._evaluate0$_inSupportsDeclaration = oldInSupportsDeclaration;
      }
    },
    _evaluate0$_withSupportsDeclaration$1(callback) {
      return this._evaluate0$_withSupportsDeclaration$1$1(callback, type$.dynamic);
    },
    _evaluate0$_parenthesize$2(condition, operator) {
      var t1;
      if (!(condition instanceof A.SupportsNegation0))
        if (condition instanceof A.SupportsOperation0)
          t1 = operator == null || operator !== condition.operator;
        else
          t1 = false;
      else
        t1 = true;
      if (t1)
        return "(" + this._evaluate0$_visitSupportsCondition$1(condition) + ")";
      return this._evaluate0$_visitSupportsCondition$1(condition);
    },
    _evaluate0$_parenthesize$1(condition) {
      return this._evaluate0$_parenthesize$2(condition, null);
    },
    visitVariableDeclaration$1(node) {
      var t2, value, _this = this, _null = null, t1 = {};
      if (node.isGuarded) {
        if (node.namespace == null && _this._evaluate0$_environment._environment0$_variables.length === 1) {
          t2 = _this._evaluate0$_configuration._configuration0$_values;
          t2 = t2.get$isEmpty(t2) ? _null : t2.remove$1(0, node.name);
          t1.override = null;
          if (t2 != null) {
            t1.override = t2;
            t2 = !t2.value.$eq(0, B.C__SassNull0);
          } else
            t2 = false;
          if (t2) {
            _this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableDeclaration_closure5(t1, _this, node));
            return _null;
          }
        }
        value = _this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableDeclaration_closure6(_this, node));
        if (value != null && !value.$eq(0, B.C__SassNull0))
          return _null;
      }
      if (node.isGlobal && !_this._evaluate0$_environment.globalVariableExists$1(node.name)) {
        t1 = _this._evaluate0$_environment._environment0$_variables.length === 1 ? string$.As_of_S : string$.As_of_R + A.declarationName0(node.span) + ": null` at the stylesheet root.";
        _this._evaluate0$_warn$3(t1, node.span, B.Deprecation_W6Z);
      }
      t1 = node.expression;
      _this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableDeclaration_closure7(_this, node, _this._evaluate0$_withoutSlash$2(t1.accept$1(_this), t1)));
      return _null;
    },
    visitUseRule$1(node) {
      var values, _i, variable, t3, variableNodeWithSpan, configuration, _this = this,
        t1 = node.configuration,
        t2 = t1.length;
      if (t2 !== 0) {
        values = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ConfiguredValue_2);
        for (_i = 0; _i < t2; ++_i) {
          variable = t1[_i];
          t3 = variable.expression;
          variableNodeWithSpan = _this._evaluate0$_expressionNode$1(t3);
          values.$indexSet(0, variable.name, new A.ConfiguredValue0(_this._evaluate0$_withoutSlash$2(t3.accept$1(_this), variableNodeWithSpan), variable.span, variableNodeWithSpan));
        }
        configuration = new A.ExplicitConfiguration0(node, values, null);
      } else
        configuration = B.Configuration_Map_empty_null0;
      _this._evaluate0$_loadModule$5$configuration(node.url, "@use", node, new A._EvaluateVisitor_visitUseRule_closure1(_this, node), configuration);
      _this._evaluate0$_assertConfigurationIsEmpty$1(configuration);
      return null;
    },
    visitWarnRule$1(node) {
      var _this = this,
        value = _this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitWarnRule_closure1(_this, node)),
        t1 = value instanceof A.SassString0 ? value._string0$_text : _this._evaluate0$_serialize$2(value, node.expression);
      _this._evaluate0$_logger.warn$2$trace(0, t1, _this._evaluate0$_stackTrace$1(node.span));
      return null;
    },
    visitWhileRule$1(node) {
      return this._evaluate0$_environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitWhileRule_closure1(this, node), true, node.hasDeclarations, type$.nullable_Value_2);
    },
    visitBinaryOperationExpression$1(node) {
      var t1, _this = this;
      if (_this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, "_stylesheet").plainCss) {
        t1 = node.operator;
        t1 = t1 !== B.BinaryOperator_wdM0 && t1 !== B.BinaryOperator_U770;
      } else
        t1 = false;
      if (t1)
        throw A.wrapException(_this._evaluate0$_exception$2("Operators aren't allowed in plain CSS.", node.get$operatorSpan()));
      return _this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitBinaryOperationExpression_closure1(_this, node));
    },
    _evaluate0$_slash$3(left, right, node) {
      var t1, right0, _1_2, _1_1, _null = null,
        result = left.dividedBy$1(right),
        _1_2_isSet = left instanceof A.SassNumber0;
      if (_1_2_isSet) {
        t1 = type$.SassNumber_2;
        t1._as(left);
        if (right instanceof A.SassNumber0) {
          t1._as(right);
          t1 = node.allowsSlash && this._evaluate0$_operandAllowsSlash$1(node.left) && this._evaluate0$_operandAllowsSlash$1(node.right);
          right0 = right;
          _1_2 = right0;
        } else {
          right0 = _null;
          _1_2 = right;
          t1 = false;
        }
        _1_1 = left;
      } else {
        right0 = _null;
        _1_2 = right0;
        _1_1 = left;
        left = _1_2;
        t1 = false;
      }
      if (t1)
        return type$.SassNumber_2._as(result).withSlash$2(left, right0);
      if (_1_1 instanceof A.SassNumber0)
        t1 = (_1_2_isSet ? _1_2 : right) instanceof A.SassNumber0;
      else
        t1 = false;
      if (t1) {
        this._evaluate0$_warn$3(string$.Using__o + A.S(new A._EvaluateVisitor__slash_recommendation1().call$1(node)) + " or " + A.expressionToCalc0(node).toString$0(0) + string$.x0a_Morex20, node.get$span(0), B.Deprecation_E8a);
        return result;
      }
      return result;
    },
    _evaluate0$_operandAllowsSlash$1(node) {
      var t1;
      if (node instanceof A.FunctionExpression0)
        if (node.namespace == null) {
          t1 = node.name;
          t1 = B.Set_yHF81.contains$1(0, t1.toLowerCase()) && this._evaluate0$_environment.getFunction$1(t1) == null;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    visitValueExpression$1(node) {
      return node.value;
    },
    visitVariableExpression$1(node) {
      var result = this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableExpression_closure1(this, node));
      if (result != null)
        return result;
      throw A.wrapException(this._evaluate0$_exception$2("Undefined variable.", node.span));
    },
    visitUnaryOperationExpression$1(node) {
      return this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitUnaryOperationExpression_closure1(node, node.operand.accept$1(this)));
    },
    visitBooleanExpression$1(node) {
      return node.value ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    visitIfExpression$1(node) {
      var condition, t1, ifTrue, ifFalse, result, _this = this,
        _0_0 = _this._evaluate0$_evaluateMacroArguments$1(node),
        positional = _0_0._0,
        named = _0_0._1;
      _this._evaluate0$_verifyArguments$4(positional.length, named, $.$get$IfExpression_declaration0(), node);
      condition = A.ListExtensions_elementAtOrNull(positional, 0);
      if (condition == null) {
        t1 = named.$index(0, "condition");
        t1.toString;
        condition = t1;
      }
      ifTrue = A.ListExtensions_elementAtOrNull(positional, 1);
      if (ifTrue == null) {
        t1 = named.$index(0, "if-true");
        t1.toString;
        ifTrue = t1;
      }
      ifFalse = A.ListExtensions_elementAtOrNull(positional, 2);
      if (ifFalse == null) {
        t1 = named.$index(0, "if-false");
        t1.toString;
        ifFalse = t1;
      }
      result = condition.accept$1(_this).get$isTruthy() ? ifTrue : ifFalse;
      return _this._evaluate0$_withoutSlash$2(result.accept$1(_this), _this._evaluate0$_expressionNode$1(result));
    },
    visitNullExpression$1(node) {
      return B.C__SassNull0;
    },
    visitNumberExpression$1(node) {
      return A.SassNumber_SassNumber0(node.value, node.unit);
    },
    visitParenthesizedExpression$1(node) {
      var _this = this;
      return _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, "_stylesheet").plainCss ? A.throwExpression(_this._evaluate0$_exception$2("Parentheses aren't allowed in plain CSS.", node.span)) : node.expression.accept$1(_this);
    },
    visitColorExpression$1(node) {
      return node.value;
    },
    visitListExpression$1(node) {
      var t1 = node.contents;
      return A.SassList$0(new A.MappedListIterable(t1, new A._EvaluateVisitor_visitListExpression_closure1(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value0>")), node.separator, node.hasBrackets);
    },
    visitMapExpression$1(node) {
      var t2, t3, _i, t4, key, value, keyValue, valueValue, oldValueSpan,
        t1 = type$.Value_2,
        map = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1),
        keyNodes = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AstNode_2);
      for (t2 = node.pairs, t3 = t2.length, _i = 0; _i < t3; ++_i) {
        t4 = t2[_i];
        key = t4._0;
        value = t4._1;
        keyValue = key.accept$1(this);
        valueValue = value.accept$1(this);
        if (map.containsKey$1(keyValue)) {
          t1 = keyNodes.$index(0, keyValue);
          oldValueSpan = t1 == null ? null : t1.get$span(t1);
          t1 = key.get$span(key);
          t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
          if (oldValueSpan != null)
            t2.$indexSet(0, oldValueSpan, "first key");
          throw A.wrapException(A.MultiSpanSassRuntimeException$0("Duplicate key.", t1, "second key", t2, this._evaluate0$_stackTrace$1(key.get$span(key)), null));
        }
        map.$indexSet(0, keyValue, valueValue);
        keyNodes.$indexSet(0, keyValue, key);
      }
      return new A.SassMap0(A.ConstantMap_ConstantMap$from(map, t1, t1));
    },
    visitFunctionExpression$1(node) {
      var t2, _0_0, t3, t4, oldInFunction, result, _this = this,
        _s11_ = "_stylesheet",
        t1 = {},
        $function = _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_).plainCss ? null : _this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitFunctionExpression_closure5(_this, node));
      t1.$function = $function;
      if ($function == null) {
        if (node.namespace != null)
          throw A.wrapException(_this._evaluate0$_exception$2("Undefined function.", node.span));
        t2 = node.name;
        _0_0 = t2.toLowerCase();
        if ("min" === _0_0 || "max" === _0_0 || "round" === _0_0 || "abs" === _0_0) {
          t3 = node.$arguments;
          t4 = t3.named;
          t3 = t4.get$isEmpty(t4) && t3.rest == null && B.JSArray_methods.every$1(t3.positional, new A._EvaluateVisitor_visitFunctionExpression_closure6());
        } else
          t3 = false;
        if (t3)
          return _this._evaluate0$_visitCalculation$2$inLegacySassFunction(node, true);
        if ("calc" === _0_0 || "clamp" === _0_0 || "hypot" === _0_0 || "sin" === _0_0 || "cos" === _0_0 || "tan" === _0_0 || "asin" === _0_0 || "acos" === _0_0 || "atan" === _0_0 || "sqrt" === _0_0 || "exp" === _0_0 || "sign" === _0_0 || "mod" === _0_0 || "rem" === _0_0 || "atan2" === _0_0 || "pow" === _0_0 || "log" === _0_0)
          return _this._evaluate0$_visitCalculation$1(node);
        $function = _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_).plainCss ? null : _this._evaluate0$_builtInFunctions.$index(0, t2);
        t2 = t1.$function = $function == null ? new A.PlainCssCallable0(node.originalName) : $function;
      } else
        t2 = $function;
      if (B.JSString_methods.startsWith$1(node.originalName, "--") && t2 instanceof A.UserDefinedCallable0 && !B.JSString_methods.startsWith$1(t2.declaration.originalName, "--"))
        _this._evaluate0$_warn$3(string$.Sassx20_ff, node.get$nameSpan(), B.Deprecation_qBS);
      oldInFunction = _this._evaluate0$_inFunction;
      _this._evaluate0$_inFunction = true;
      result = _this._evaluate0$_addErrorSpan$2(node, new A._EvaluateVisitor_visitFunctionExpression_closure7(t1, _this, node));
      _this._evaluate0$_inFunction = oldInFunction;
      return result;
    },
    _evaluate0$_visitCalculation$2$inLegacySassFunction(node, inLegacySassFunction) {
      var $arguments, oldCallableNode, t1, _0_0, error, stackTrace, t4, _i, exception, _this = this,
        t2 = node.$arguments,
        t3 = t2.named;
      if (t3.get$isNotEmpty(t3))
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Keywor, node.span));
      else if (t2.rest != null)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Rest_a, node.span));
      _this._evaluate0$_checkCalculationArguments$1(node);
      t3 = A._setArrayType([], type$.JSArray_Object);
      for (t2 = t2.positional, t4 = t2.length, _i = 0; _i < t4; ++_i)
        t3.push(_this._evaluate0$_visitCalculationExpression$2$inLegacySassFunction(t2[_i], inLegacySassFunction));
      $arguments = t3;
      if (_this._evaluate0$_inSupportsDeclaration)
        return new A.SassCalculation0(node.name, A.List_List$unmodifiable($arguments, type$.Object));
      oldCallableNode = _this._evaluate0$_callableNode;
      _this._evaluate0$_callableNode = node;
      try {
        t1 = null;
        t3 = node.name;
        _0_0 = t3.toLowerCase();
        $label0$0: {
          if ("calc" === _0_0) {
            t1 = A.SassCalculation_calc0(J.$index$asx($arguments, 0));
            break $label0$0;
          }
          if ("sqrt" === _0_0) {
            t1 = A.SassCalculation__singleArgument0("sqrt", J.$index$asx($arguments, 0), A.number2__sqrt$closure(), true);
            break $label0$0;
          }
          if ("sin" === _0_0) {
            t1 = A.SassCalculation__singleArgument0("sin", J.$index$asx($arguments, 0), A.number2__sin$closure(), false);
            break $label0$0;
          }
          if ("cos" === _0_0) {
            t1 = A.SassCalculation__singleArgument0("cos", J.$index$asx($arguments, 0), A.number2__cos$closure(), false);
            break $label0$0;
          }
          if ("tan" === _0_0) {
            t1 = A.SassCalculation__singleArgument0("tan", J.$index$asx($arguments, 0), A.number2__tan$closure(), false);
            break $label0$0;
          }
          if ("asin" === _0_0) {
            t1 = A.SassCalculation__singleArgument0("asin", J.$index$asx($arguments, 0), A.number2__asin$closure(), true);
            break $label0$0;
          }
          if ("acos" === _0_0) {
            t1 = A.SassCalculation__singleArgument0("acos", J.$index$asx($arguments, 0), A.number2__acos$closure(), true);
            break $label0$0;
          }
          if ("atan" === _0_0) {
            t1 = A.SassCalculation__singleArgument0("atan", J.$index$asx($arguments, 0), A.number2__atan$closure(), true);
            break $label0$0;
          }
          if ("abs" === _0_0) {
            t1 = A.SassCalculation_abs0(J.$index$asx($arguments, 0));
            break $label0$0;
          }
          if ("exp" === _0_0) {
            t1 = A.SassCalculation_exp0(J.$index$asx($arguments, 0));
            break $label0$0;
          }
          if ("sign" === _0_0) {
            t1 = A.SassCalculation_sign0(J.$index$asx($arguments, 0));
            break $label0$0;
          }
          if ("min" === _0_0) {
            t1 = A.SassCalculation_min0($arguments);
            break $label0$0;
          }
          if ("max" === _0_0) {
            t1 = A.SassCalculation_max0($arguments);
            break $label0$0;
          }
          if ("hypot" === _0_0) {
            t1 = A.SassCalculation_hypot0($arguments);
            break $label0$0;
          }
          if ("pow" === _0_0) {
            t1 = A.SassCalculation_pow0(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
            break $label0$0;
          }
          if ("atan2" === _0_0) {
            t1 = A.SassCalculation_atan20(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
            break $label0$0;
          }
          if ("log" === _0_0) {
            t1 = A.SassCalculation_log0(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
            break $label0$0;
          }
          if ("mod" === _0_0) {
            t1 = A.SassCalculation_mod0(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
            break $label0$0;
          }
          if ("rem" === _0_0) {
            t1 = A.SassCalculation_rem0(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1));
            break $label0$0;
          }
          if ("round" === _0_0) {
            t1 = A.SassCalculation_round0(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1), A.ListExtensions_elementAtOrNull($arguments, 2));
            break $label0$0;
          }
          if ("clamp" === _0_0) {
            t1 = A.SassCalculation_clamp0(J.$index$asx($arguments, 0), A.ListExtensions_elementAtOrNull($arguments, 1), A.ListExtensions_elementAtOrNull($arguments, 2));
            break $label0$0;
          }
          t3 = A.UnsupportedError$('Unknown calculation name "' + t3 + '".');
          t1 = A.throwExpression(t3);
        }
        t1 = t1;
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassScriptException0) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          if (B.JSString_methods.contains$1(error.message, "compatible"))
            _this._evaluate0$_verifyCompatibleNumbers$2($arguments, t2);
          A.throwWithTrace0(_this._evaluate0$_exception$2(error.message, node.span), error, stackTrace);
        } else
          throw exception;
      } finally {
        _this._evaluate0$_callableNode = oldCallableNode;
      }
    },
    _evaluate0$_visitCalculation$1(node) {
      return this._evaluate0$_visitCalculation$2$inLegacySassFunction(node, false);
    },
    _evaluate0$_checkCalculationArguments$1(node) {
      var t1, _0_0,
        check = new A._EvaluateVisitor__checkCalculationArguments_check1(this, node);
      $label0$0: {
        t1 = node.name;
        _0_0 = t1.toLowerCase();
        if ("calc" === _0_0 || "sqrt" === _0_0 || "sin" === _0_0 || "cos" === _0_0 || "tan" === _0_0 || "asin" === _0_0 || "acos" === _0_0 || "atan" === _0_0 || "abs" === _0_0 || "exp" === _0_0 || "sign" === _0_0) {
          check.call$1(1);
          break $label0$0;
        }
        if ("min" === _0_0 || "max" === _0_0 || "hypot" === _0_0) {
          check.call$0();
          break $label0$0;
        }
        if ("pow" === _0_0 || "atan2" === _0_0 || "log" === _0_0 || "mod" === _0_0 || "rem" === _0_0) {
          check.call$1(2);
          break $label0$0;
        }
        if ("round" === _0_0 || "clamp" === _0_0) {
          check.call$1(3);
          break $label0$0;
        }
        throw A.wrapException(A.UnsupportedError$('Unknown calculation name "' + t1 + '".'));
      }
    },
    _evaluate0$_verifyCompatibleNumbers$2(args, nodesWithSpans) {
      var i, t1, _0_0, arg, number1, j, number2;
      for (i = 0; t1 = args.length, i < t1; ++i) {
        _0_0 = args[i];
        if (_0_0 instanceof A.SassNumber0) {
          t1 = _0_0.get$hasComplexUnits();
          arg = _0_0;
        } else {
          arg = null;
          t1 = false;
        }
        if (t1)
          throw A.wrapException(this._evaluate0$_exception$2("Number " + A.S(arg) + " isn't compatible with CSS calculations.", J.get$span$z(nodesWithSpans[i])));
      }
      for (i = 0; i < t1 - 1; ++i) {
        number1 = args[i];
        if (!(number1 instanceof A.SassNumber0))
          continue;
        for (j = i + 1; t1 = args.length, j < t1; ++j) {
          number2 = args[j];
          if (!(number2 instanceof A.SassNumber0))
            continue;
          if (number1.hasPossiblyCompatibleUnits$1(number2))
            continue;
          throw A.wrapException(A.MultiSpanSassRuntimeException$0(number1.toString$0(0) + " and " + number2.toString$0(0) + " are incompatible.", J.get$span$z(nodesWithSpans[i]), number1.toString$0(0), A.LinkedHashMap_LinkedHashMap$_literal([J.get$span$z(nodesWithSpans[j]), number2.toString$0(0)], type$.FileSpan, type$.String), this._evaluate0$_stackTrace$1(J.get$span$z(nodesWithSpans[i])), null));
        }
      }
    },
    _evaluate0$_visitCalculationExpression$2$inLegacySassFunction(node, inLegacySassFunction) {
      var result, t2, _0_0, _1_0, t3, _i, i, _this = this, _null = null, _box_0 = {},
        t1 = node instanceof A.ParenthesizedExpression0,
        inner = t1 ? node.expression : _null;
      if (t1) {
        result = _this._evaluate0$_visitCalculationExpression$2$inLegacySassFunction(inner, inLegacySassFunction);
        return result instanceof A.SassString0 ? new A.SassString0("(" + result._string0$_text + ")", false) : result;
      }
      if (node instanceof A.StringExpression0 && node.accept$1(new A._IsCalculationSafeVisitor0())) {
        t1 = node.text;
        t2 = t1.get$asPlain();
        _0_0 = t2 == null ? _null : t2.toLowerCase();
        $label0$0: {
          if ("pi" === _0_0) {
            t1 = A.SassNumber_SassNumber0(3.141592653589793, _null);
            break $label0$0;
          }
          if ("e" === _0_0) {
            t1 = A.SassNumber_SassNumber0(2.718281828459045, _null);
            break $label0$0;
          }
          if ("infinity" === _0_0) {
            t1 = A.SassNumber_SassNumber0(1 / 0, _null);
            break $label0$0;
          }
          if ("-infinity" === _0_0) {
            t1 = A.SassNumber_SassNumber0(-1 / 0, _null);
            break $label0$0;
          }
          if ("nan" === _0_0) {
            t1 = A.SassNumber_SassNumber0(0 / 0, _null);
            break $label0$0;
          }
          t1 = new A.SassString0(_this._evaluate0$_performInterpolation$1(t1), false);
          break $label0$0;
        }
        return t1;
      }
      _box_0.right = _box_0.left = _box_0.operator = null;
      t1 = node instanceof A.BinaryOperationExpression0;
      if (t1) {
        _box_0.operator = node.operator;
        _box_0.left = node.left;
        _box_0.right = node.right;
      }
      if (t1) {
        _this._evaluate0$_checkWhitespaceAroundCalculationOperator$1(node);
        return _this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor__visitCalculationExpression_closure1(_box_0, _this, node, inLegacySassFunction));
      }
      if (node instanceof A.NumberExpression0 || node instanceof A.VariableExpression0 || node instanceof A.FunctionExpression0 || node instanceof A.IfExpression0) {
        _1_0 = node.accept$1(_this);
        $label1$1: {
          if (_1_0 instanceof A.SassNumber0) {
            t1 = _1_0;
            break $label1$1;
          }
          if (_1_0 instanceof A.SassCalculation0) {
            t1 = _1_0;
            break $label1$1;
          }
          if (_1_0 instanceof A.SassString0) {
            t1 = !_1_0._string0$_hasQuotes;
            result = _1_0;
          } else {
            result = _null;
            t1 = false;
          }
          if (t1) {
            t1 = result;
            break $label1$1;
          }
          t1 = A.throwExpression(_this._evaluate0$_exception$2("Value " + _1_0.toString$0(0) + " can't be used in a calculation.", node.get$span(node)));
        }
        return t1;
      }
      if (node instanceof A.ListExpression0 && !node.hasBrackets && B.ListSeparator_nbm0 === node.separator && node.contents.length >= 2) {
        t1 = A._setArrayType([], type$.JSArray_Object);
        for (t2 = node.contents, t3 = t2.length, _i = 0; _i < t3; ++_i)
          t1.push(_this._evaluate0$_visitCalculationExpression$2$inLegacySassFunction(t2[_i], inLegacySassFunction));
        _this._evaluate0$_checkAdjacentCalculationValues$2(t1, node);
        for (i = 0; i < t1.length; ++i) {
          t3 = t1[i];
          if (t3 instanceof A.CalculationOperation0 && t2[i] instanceof A.ParenthesizedExpression0)
            t1[i] = new A.SassString0("(" + A.S(t3) + ")", false);
        }
        return new A.SassString0(B.JSArray_methods.join$1(t1, " "), false);
      }
      throw A.wrapException(_this._evaluate0$_exception$2(string$.This_e, node.get$span(node)));
    },
    _evaluate0$_checkWhitespaceAroundCalculationOperator$1(node) {
      var t2, t3, t4, textBetweenOperands, first, last,
        t1 = node.operator;
      if (t1 !== B.BinaryOperator_u150 && t1 !== B.BinaryOperator_SjO0)
        return;
      t1 = node.left;
      t2 = t1.get$span(t1);
      t2 = t2.get$file(t2);
      t3 = node.right;
      t4 = t3.get$span(t3);
      if (t2 !== t4.get$file(t4))
        return;
      t2 = t1.get$span(t1);
      t2 = t2.get$end(t2);
      t4 = t3.get$span(t3);
      if (t2.offset >= t4.get$start(t4).offset)
        return;
      t2 = t1.get$span(t1);
      t2 = t2.get$file(t2);
      t1 = t1.get$span(t1);
      t1 = t1.get$end(t1);
      t3 = t3.get$span(t3);
      textBetweenOperands = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2._decodedChars, t1.offset, t3.get$start(t3).offset), 0, null);
      first = textBetweenOperands.charCodeAt(0);
      last = textBetweenOperands.charCodeAt(textBetweenOperands.length - 1);
      if (first === 32 || first === 9 || first === 10 || first === 13 || first === 12 || first === 47)
        t1 = !(last === 32 || last === 9 || last === 10 || last === 13 || last === 12 || last === 47);
      else
        t1 = true;
      if (t1)
        throw A.wrapException(this._evaluate0$_exception$2(string$.x22x2b__an, node.get$operatorSpan()));
    },
    _evaluate0$_binaryOperatorToCalculationOperator$2(operator, node) {
      var t1;
      $label0$0: {
        if (B.BinaryOperator_u150 === operator) {
          t1 = B.CalculationOperator_g2q0;
          break $label0$0;
        }
        if (B.BinaryOperator_SjO0 === operator) {
          t1 = B.CalculationOperator_CxF0;
          break $label0$0;
        }
        if (B.BinaryOperator_2No0 === operator) {
          t1 = B.CalculationOperator_1710;
          break $label0$0;
        }
        if (B.BinaryOperator_U770 === operator) {
          t1 = B.CalculationOperator_Qf10;
          break $label0$0;
        }
        t1 = A.throwExpression(this._evaluate0$_exception$2(string$.This_o, node.get$operatorSpan()));
      }
      return t1;
    },
    _evaluate0$_checkAdjacentCalculationValues$2(elements, node) {
      var t1, i, t2, previous, current, previousNode, currentNode, _0_2;
      for (t1 = elements.length, i = 1; i < t1; ++i) {
        t2 = i - 1;
        previous = elements[t2];
        current = elements[i];
        if (previous instanceof A.SassString0 || current instanceof A.SassString0)
          continue;
        t1 = node.contents;
        previousNode = t1[t2];
        currentNode = t1[i];
        if (currentNode instanceof A.UnaryOperationExpression0) {
          _0_2 = currentNode.operator;
          if (B.UnaryOperator_AiQ0 !== _0_2)
            t1 = B.UnaryOperator_cLp0 === _0_2;
          else
            t1 = true;
        } else
          t1 = false;
        if (!t1)
          t1 = currentNode instanceof A.NumberExpression0 && currentNode.value < 0;
        else
          t1 = true;
        if (t1)
          throw A.wrapException(this._evaluate0$_exception$2(string$.x22x2b__an, A.FileSpanExtension_subspan(currentNode.get$span(currentNode), 0, 1)));
        else
          throw A.wrapException(this._evaluate0$_exception$2("Missing math operator.", previousNode.get$span(previousNode).expand$1(0, currentNode.get$span(currentNode))));
      }
    },
    visitInterpolatedFunctionExpression$1(node) {
      var result, _this = this,
        t1 = _this._evaluate0$_performInterpolation$1(node.name),
        oldInFunction = _this._evaluate0$_inFunction;
      _this._evaluate0$_inFunction = true;
      result = _this._evaluate0$_addErrorSpan$2(node, new A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure1(_this, node, new A.PlainCssCallable0(t1)));
      _this._evaluate0$_inFunction = oldInFunction;
      return result;
    },
    _evaluate0$_runUserDefinedCallable$1$4($arguments, callable, nodeWithSpan, run, $V) {
      var oldCallable, result, _this = this,
        evaluated = _this._evaluate0$_evaluateArguments$1($arguments),
        $name = callable.declaration.name;
      if ($name !== "@content")
        $name += "()";
      oldCallable = _this._evaluate0$_currentCallable;
      _this._evaluate0$_currentCallable = callable;
      result = _this._evaluate0$_withStackFrame$3($name, nodeWithSpan, new A._EvaluateVisitor__runUserDefinedCallable_closure1(_this, callable, evaluated, nodeWithSpan, run, $V));
      _this._evaluate0$_currentCallable = oldCallable;
      return result;
    },
    _evaluate0$_runFunctionCallable$3($arguments, callable, nodeWithSpan) {
      var buffer, first, argument, restArg, rest, error, t1, t2, _i, t3, t4, exception, _this = this;
      if (callable instanceof A.BuiltInCallable0)
        return _this._evaluate0$_withoutSlash$2(_this._evaluate0$_runBuiltInCallable$3($arguments, callable, nodeWithSpan), nodeWithSpan);
      else if (type$.UserDefinedCallable_Environment_2._is(callable))
        return _this._evaluate0$_runUserDefinedCallable$1$4($arguments, callable, nodeWithSpan, new A._EvaluateVisitor__runFunctionCallable_closure1(_this, callable), type$.Value_2);
      else if (callable instanceof A.PlainCssCallable0) {
        t1 = $arguments.named;
        if (t1.get$isNotEmpty(t1) || $arguments.keywordRest != null)
          throw A.wrapException(_this._evaluate0$_exception$2(string$.Plain_, nodeWithSpan.get$span(nodeWithSpan)));
        buffer = new A.StringBuffer(callable.name + "(");
        try {
          first = true;
          for (t1 = $arguments.positional, t2 = t1.length, _i = 0; _i < t2; ++_i) {
            argument = t1[_i];
            if (first)
              first = false;
            else
              buffer._contents += ", ";
            t3 = buffer;
            t4 = argument;
            t4 = _this._evaluate0$_serialize$3$quote(t4.accept$1(_this), t4, true);
            t3._contents += t4;
          }
          restArg = $arguments.rest;
          if (restArg != null) {
            rest = restArg.accept$1(_this);
            if (!first)
              buffer._contents += ", ";
            t1 = buffer;
            t2 = _this._evaluate0$_serialize$2(rest, restArg);
            t1._contents += t2;
          }
        } catch (exception) {
          t1 = A.unwrapException(exception);
          if (type$.SassRuntimeException_2._is(t1)) {
            error = t1;
            if (!B.JSString_methods.endsWith$1(error._span_exception$_message, "isn't a valid CSS value."))
              throw exception;
            throw A.wrapException(A.MultiSpanSassRuntimeException$0(error._span_exception$_message, J.get$span$z(error), "value", A.LinkedHashMap_LinkedHashMap$_literal([nodeWithSpan.get$span(nodeWithSpan), "unknown function treated as plain CSS"], type$.FileSpan, type$.String), J.get$trace$z(error), null));
          } else
            throw exception;
        }
        t1 = buffer;
        t2 = A.Primitives_stringFromCharCode(41);
        t1._contents += t2;
        t2 = buffer._contents;
        return new A.SassString0(t2.charCodeAt(0) == 0 ? t2 : t2, false);
      } else
        throw A.wrapException(A.ArgumentError$("Unknown callable type " + J.get$runtimeType$(callable).toString$0(0) + ".", null));
    },
    _evaluate0$_runBuiltInCallable$3($arguments, callable, nodeWithSpan) {
      var result, error, stackTrace, message, namedSet, _0_0, declaredArguments, i, t1, argument, t2, t3, rest, argumentList, exception, message0, _this = this, _box_0 = {},
        evaluated = _this._evaluate0$_evaluateArguments$1($arguments),
        oldCallableNode = _this._evaluate0$_callableNode;
      _this._evaluate0$_callableNode = nodeWithSpan;
      namedSet = new A.MapKeySet(evaluated._values[0], type$.MapKeySet_String);
      _box_0.callback = _box_0.overload = null;
      _0_0 = callable.callbackFor$2(evaluated._values[2].length, namedSet);
      _box_0.overload = _0_0._0;
      _box_0.callback = _0_0._1;
      _this._evaluate0$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__runBuiltInCallable_closure5(_box_0, evaluated, namedSet));
      declaredArguments = _box_0.overload.$arguments;
      for (i = evaluated._values[2].length, t1 = declaredArguments.length; i < t1; ++i) {
        argument = declaredArguments[i];
        t2 = evaluated._values[2];
        t3 = evaluated._values[0].remove$1(0, argument.name);
        if (t3 == null) {
          t3 = argument.defaultValue;
          t3 = _this._evaluate0$_withoutSlash$2(t3.accept$1(_this), t3);
        }
        t2.push(t3);
      }
      if (_box_0.overload.restArgument != null) {
        if (evaluated._values[2].length > t1) {
          rest = B.JSArray_methods.sublist$1(evaluated._values[2], t1);
          B.JSArray_methods.removeRange$2(evaluated._values[2], t1, evaluated._values[2].length);
        } else
          rest = B.List_empty19;
        t1 = evaluated._values[0];
        argumentList = A.SassArgumentList$0(rest, t1, evaluated._values[4] === B.ListSeparator_undecided_null_undecided0 ? B.ListSeparator_ECn0 : evaluated._values[4]);
        evaluated._values[2].push(argumentList);
      } else
        argumentList = null;
      result = null;
      try {
        result = _this._evaluate0$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__runBuiltInCallable_closure6(_box_0, evaluated));
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException0)
          throw exception;
        else {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          message = null;
          try {
            message = A._asString(J.get$message$x(error));
          } catch (exception) {
            message0 = J.toString$0$(error);
            message = message0;
          }
          A.throwWithTrace0(_this._evaluate0$_exception$2(message, nodeWithSpan.get$span(nodeWithSpan)), error, stackTrace);
        }
      }
      _this._evaluate0$_callableNode = oldCallableNode;
      if (argumentList == null)
        return result;
      if (evaluated._values[0].__js_helper$_length === 0)
        return result;
      if (argumentList._argument_list$_wereKeywordsAccessed)
        return result;
      throw A.wrapException(A.MultiSpanSassRuntimeException$0("No " + A.pluralize0("argument", evaluated._values[0].get$keys(0).get$length(0), null) + " named " + A.toSentence0(evaluated._values[0].get$keys(0).map$1$1(0, new A._EvaluateVisitor__runBuiltInCallable_closure7(), type$.Object), "or") + ".", nodeWithSpan.get$span(nodeWithSpan), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([_box_0.overload.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), _this._evaluate0$_stackTrace$1(nodeWithSpan.get$span(nodeWithSpan)), null));
    },
    _evaluate0$_evaluateArguments$1($arguments) {
      var t1, t2, _i, expression, nodeForSpan, named, namedNodes, t3, t4, $name, value, restArgs, rest, restNodeForSpan, t5, separator, keywordRestArgs, keywordRest, keywordRestNodeForSpan, _this = this,
        positional = A._setArrayType([], type$.JSArray_Value_2),
        positionalNodes = A._setArrayType([], type$.JSArray_AstNode_2);
      for (t1 = $arguments.positional, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        expression = t1[_i];
        nodeForSpan = _this._evaluate0$_expressionNode$1(expression);
        positional.push(_this._evaluate0$_withoutSlash$2(expression.accept$1(_this), nodeForSpan));
        positionalNodes.push(nodeForSpan);
      }
      t1 = type$.String;
      named = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Value_2);
      t2 = type$.AstNode_2;
      namedNodes = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      for (t3 = A.MapExtensions_get_pairs0($arguments.named, t1, type$.Expression_2), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        $name = t4._0;
        value = t4._1;
        nodeForSpan = _this._evaluate0$_expressionNode$1(value);
        named.$indexSet(0, $name, _this._evaluate0$_withoutSlash$2(value.accept$1(_this), nodeForSpan));
        namedNodes.$indexSet(0, $name, nodeForSpan);
      }
      restArgs = $arguments.rest;
      if (restArgs == null)
        return new A._Record_5_named_namedNodes_positional_positionalNodes_separator([named, namedNodes, positional, positionalNodes, B.ListSeparator_undecided_null_undecided0]);
      rest = restArgs.accept$1(_this);
      restNodeForSpan = _this._evaluate0$_expressionNode$1(restArgs);
      if (rest instanceof A.SassMap0) {
        _this._evaluate0$_addRestMap$4(named, rest, restArgs, new A._EvaluateVisitor__evaluateArguments_closure7());
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        for (t4 = rest._map0$_contents, t4 = J.get$iterator$ax(t4.get$keys(t4)), t5 = type$.SassString_2; t4.moveNext$0();)
          t3.$indexSet(0, t5._as(t4.get$current(t4))._string0$_text, restNodeForSpan);
        namedNodes.addAll$1(0, t3);
        separator = B.ListSeparator_undecided_null_undecided0;
      } else if (rest instanceof A.SassList0) {
        t3 = rest._list1$_contents;
        B.JSArray_methods.addAll$1(positional, new A.MappedListIterable(t3, new A._EvaluateVisitor__evaluateArguments_closure8(_this, restNodeForSpan), A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Value0>")));
        B.JSArray_methods.addAll$1(positionalNodes, A.List_List$filled(t3.length, restNodeForSpan, false, t2));
        separator = rest._list1$_separator;
        if (rest instanceof A.SassArgumentList0) {
          rest._argument_list$_wereKeywordsAccessed = true;
          rest._argument_list$_keywords.forEach$1(0, new A._EvaluateVisitor__evaluateArguments_closure9(_this, named, restNodeForSpan, namedNodes));
        }
      } else {
        positional.push(_this._evaluate0$_withoutSlash$2(rest, restNodeForSpan));
        positionalNodes.push(restNodeForSpan);
        separator = B.ListSeparator_undecided_null_undecided0;
      }
      keywordRestArgs = $arguments.keywordRest;
      if (keywordRestArgs == null)
        return new A._Record_5_named_namedNodes_positional_positionalNodes_separator([named, namedNodes, positional, positionalNodes, separator]);
      keywordRest = keywordRestArgs.accept$1(_this);
      keywordRestNodeForSpan = _this._evaluate0$_expressionNode$1(keywordRestArgs);
      if (keywordRest instanceof A.SassMap0) {
        _this._evaluate0$_addRestMap$4(named, keywordRest, keywordRestArgs, new A._EvaluateVisitor__evaluateArguments_closure10());
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        for (t2 = keywordRest._map0$_contents, t2 = J.get$iterator$ax(t2.get$keys(t2)), t3 = type$.SassString_2; t2.moveNext$0();)
          t1.$indexSet(0, t3._as(t2.get$current(t2))._string0$_text, keywordRestNodeForSpan);
        namedNodes.addAll$1(0, t1);
        return new A._Record_5_named_namedNodes_positional_positionalNodes_separator([named, namedNodes, positional, positionalNodes, separator]);
      } else
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Variabs + keywordRest.toString$0(0) + ").", keywordRestArgs.get$span(keywordRestArgs)));
    },
    _evaluate0$_evaluateMacroArguments$1(invocation) {
      var t2, positional, named, rest, restNodeForSpan, keywordRestArgs_, keywordRest, keywordRestNodeForSpan, _this = this,
        t1 = invocation.$arguments,
        restArgs_ = t1.rest;
      if (restArgs_ == null)
        return new A._Record_2(t1.positional, t1.named);
      t2 = t1.positional;
      positional = A._setArrayType(t2.slice(0), A._arrayInstanceType(t2));
      named = A.LinkedHashMap_LinkedHashMap$of(t1.named, type$.String, type$.Expression_2);
      rest = restArgs_.accept$1(_this);
      restNodeForSpan = _this._evaluate0$_expressionNode$1(restArgs_);
      if (rest instanceof A.SassMap0)
        _this._evaluate0$_addRestMap$4(named, rest, invocation, new A._EvaluateVisitor__evaluateMacroArguments_closure7(restArgs_));
      else if (rest instanceof A.SassList0) {
        t2 = rest._list1$_contents;
        B.JSArray_methods.addAll$1(positional, new A.MappedListIterable(t2, new A._EvaluateVisitor__evaluateMacroArguments_closure8(_this, restNodeForSpan, restArgs_), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Expression0>")));
        if (rest instanceof A.SassArgumentList0) {
          rest._argument_list$_wereKeywordsAccessed = true;
          rest._argument_list$_keywords.forEach$1(0, new A._EvaluateVisitor__evaluateMacroArguments_closure9(_this, named, restNodeForSpan, restArgs_));
        }
      } else
        positional.push(new A.ValueExpression0(_this._evaluate0$_withoutSlash$2(rest, restNodeForSpan), restArgs_.get$span(restArgs_)));
      keywordRestArgs_ = t1.keywordRest;
      if (keywordRestArgs_ == null)
        return new A._Record_2(positional, named);
      keywordRest = keywordRestArgs_.accept$1(_this);
      keywordRestNodeForSpan = _this._evaluate0$_expressionNode$1(keywordRestArgs_);
      if (keywordRest instanceof A.SassMap0) {
        _this._evaluate0$_addRestMap$4(named, keywordRest, invocation, new A._EvaluateVisitor__evaluateMacroArguments_closure10(_this, keywordRestNodeForSpan, keywordRestArgs_));
        return new A._Record_2(positional, named);
      } else
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Variabs + keywordRest.toString$0(0) + ").", keywordRestArgs_.get$span(keywordRestArgs_)));
    },
    _evaluate0$_addRestMap$1$4(values, map, nodeWithSpan, convert) {
      map._map0$_contents.forEach$1(0, new A._EvaluateVisitor__addRestMap_closure1(this, values, convert, this._evaluate0$_expressionNode$1(nodeWithSpan), map, nodeWithSpan));
    },
    _evaluate0$_addRestMap$4(values, map, nodeWithSpan, convert) {
      return this._evaluate0$_addRestMap$1$4(values, map, nodeWithSpan, convert, type$.dynamic);
    },
    _evaluate0$_verifyArguments$4(positional, named, $arguments, nodeWithSpan) {
      return this._evaluate0$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__verifyArguments_closure1($arguments, positional, named));
    },
    visitSelectorExpression$1(node) {
      var t1 = this._evaluate0$_styleRuleIgnoringAtRoot;
      t1 = t1 == null ? null : t1.originalSelector.get$asSassList();
      return t1 == null ? B.C__SassNull0 : t1;
    },
    visitStringExpression$1(node) {
      var t1, t2, t3, t4, _i, value, t5, _0_0, text, _this = this,
        oldInSupportsDeclaration = _this._evaluate0$_inSupportsDeclaration;
      _this._evaluate0$_inSupportsDeclaration = false;
      t1 = A._setArrayType([], type$.JSArray_String);
      for (t2 = node.text.contents, t3 = t2.length, t4 = type$.Expression_2, _i = 0; _i < t3; ++_i) {
        value = t2[_i];
        $label0$0: {
          if (typeof value == "string") {
            t5 = value;
            break $label0$0;
          }
          if (t4._is(value)) {
            _0_0 = value.accept$1(_this);
            $label1$1: {
              if (_0_0 instanceof A.SassString0) {
                text = _0_0._string0$_text;
                t5 = text;
                break $label1$1;
              }
              t5 = _this._evaluate0$_serialize$3$quote(_0_0, value, false);
              break $label1$1;
            }
            break $label0$0;
          }
          t5 = A.throwExpression(A.UnsupportedError$("Unknown interpolation value " + A.S(value)));
        }
        t1.push(t5);
      }
      t1 = B.JSArray_methods.join$0(t1);
      _this._evaluate0$_inSupportsDeclaration = oldInSupportsDeclaration;
      return new A.SassString0(t1, node.hasQuotes);
    },
    visitSupportsExpression$1(expression) {
      return new A.SassString0(this._evaluate0$_visitSupportsCondition$1(expression.condition), false);
    },
    visitCssAtRule$1(node) {
      var wasInKeyframes, wasInUnknownAtRule, t1, _this = this;
      if (_this._evaluate0$_declarationName != null)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.At_rul, node.span));
      if (node.isChildless) {
        _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, "__parent").addChild$1(A.ModifiableCssAtRule$0(node.name, node.span, true, node.value));
        return;
      }
      wasInKeyframes = _this._evaluate0$_inKeyframes;
      wasInUnknownAtRule = _this._evaluate0$_inUnknownAtRule;
      t1 = node.name;
      if (A.unvendor0(t1.value) === "keyframes")
        _this._evaluate0$_inKeyframes = true;
      else
        _this._evaluate0$_inUnknownAtRule = true;
      _this._evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssAtRule$0(t1, node.span, false, node.value), new A._EvaluateVisitor_visitCssAtRule_closure3(_this, node), false, new A._EvaluateVisitor_visitCssAtRule_closure4(), type$.ModifiableCssAtRule_2, type$.Null);
      _this._evaluate0$_inUnknownAtRule = wasInUnknownAtRule;
      _this._evaluate0$_inKeyframes = wasInKeyframes;
    },
    visitCssComment$1(node) {
      var _this = this,
        _s8_ = "__parent",
        _s13_ = "_endOfImports";
      if (_this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_) === _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, "_root") && _this._evaluate0$_assertInModule$2(_this._evaluate0$__endOfImports, _s13_) === J.get$length$asx(_this._evaluate0$_assertInModule$2(_this._evaluate0$__root, "_root").children._collection$_source))
        _this._evaluate0$__endOfImports = _this._evaluate0$_assertInModule$2(_this._evaluate0$__endOfImports, _s13_) + 1;
      _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).addChild$1(new A.ModifiableCssComment0(node.text, node.span));
    },
    visitCssDeclaration$1(node) {
      this._evaluate0$_assertInModule$2(this._evaluate0$__parent, "__parent").addChild$1(A.ModifiableCssDeclaration$0(node.name, node.value, node.span, node.parsedAsCustomProperty, node.valueSpanForMap));
    },
    visitCssImport$1(node) {
      var t1, _this = this,
        _s8_ = "__parent",
        _s5_ = "_root",
        _s13_ = "_endOfImports",
        modifiableNode = new A.ModifiableCssImport0(node.url, node.modifiers, node.span);
      if (_this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_) !== _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_))
        _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).addChild$1(modifiableNode);
      else if (_this._evaluate0$_assertInModule$2(_this._evaluate0$__endOfImports, _s13_) === J.get$length$asx(_this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_).children._collection$_source)) {
        _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, _s5_).addChild$1(modifiableNode);
        _this._evaluate0$__endOfImports = _this._evaluate0$_assertInModule$2(_this._evaluate0$__endOfImports, _s13_) + 1;
      } else {
        t1 = _this._evaluate0$_outOfOrderImports;
        (t1 == null ? _this._evaluate0$_outOfOrderImports = A._setArrayType([], type$.JSArray_ModifiableCssImport_2) : t1).push(modifiableNode);
      }
    },
    visitCssKeyframeBlock$1(node) {
      this._evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$0(node.selector, node.span), new A._EvaluateVisitor_visitCssKeyframeBlock_closure3(this, node), false, new A._EvaluateVisitor_visitCssKeyframeBlock_closure4(), type$.ModifiableCssKeyframeBlock_2, type$.Null);
    },
    visitCssMediaRule$1(node) {
      var mergedQueries, t1, mergedSources, t2, t3, _this = this;
      if (_this._evaluate0$_declarationName != null)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Media_, node.span));
      mergedQueries = A.NullableExtension_andThen0(_this._evaluate0$_mediaQueries, new A._EvaluateVisitor_visitCssMediaRule_closure5(_this, node));
      t1 = mergedQueries == null;
      if (!t1 && J.get$isEmpty$asx(mergedQueries))
        return;
      if (t1)
        mergedSources = B.Set_empty5;
      else {
        t2 = _this._evaluate0$_mediaQuerySources;
        t2.toString;
        t2 = A.LinkedHashSet_LinkedHashSet$of(t2, type$.CssMediaQuery_2);
        t3 = _this._evaluate0$_mediaQueries;
        t3.toString;
        t2.addAll$1(0, t3);
        t2.addAll$1(0, node.queries);
        mergedSources = t2;
      }
      t1 = t1 ? node.queries : mergedQueries;
      _this._evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssMediaRule$0(t1, node.span), new A._EvaluateVisitor_visitCssMediaRule_closure6(_this, mergedQueries, node, mergedSources), false, new A._EvaluateVisitor_visitCssMediaRule_closure7(mergedSources), type$.ModifiableCssMediaRule_2, type$.Null);
    },
    visitCssStyleRule$1(node) {
      var t1, styleRule, t2, nest, t3, originalSelector, rule, oldAtRootExcludingStyleRule, _0_1, lastChild, _this = this, _null = null,
        _s8_ = "__parent";
      if (_this._evaluate0$_declarationName != null)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Style_n, node.span));
      else if (_this._evaluate0$_inKeyframes && _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_) instanceof A.ModifiableCssKeyframeBlock0)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Style_k, node.span));
      t1 = _this._evaluate0$_atRootExcludingStyleRule;
      styleRule = t1 ? _null : _this._evaluate0$_styleRuleIgnoringAtRoot;
      t2 = t1 ? _null : _this._evaluate0$_styleRuleIgnoringAtRoot;
      t2 = t2 == null ? _null : t2.fromPlainCss;
      nest = t2 !== true;
      t2 = node._style_rule0$_selector._box0$_inner;
      if (nest) {
        t2 = t2.value;
        t3 = styleRule == null ? _null : styleRule.originalSelector;
        originalSelector = t2.nestWithin$3$implicitParent$preserveParentSelectors(t3, !t1, node.fromPlainCss);
      } else
        originalSelector = t2.value;
      rule = A.ModifiableCssStyleRule$0(_this._evaluate0$_assertInModule$2(_this._evaluate0$__extensionStore, "_extensionStore").addSelector$2(originalSelector, _this._evaluate0$_mediaQueries), node.span, node.fromPlainCss, originalSelector);
      oldAtRootExcludingStyleRule = _this._evaluate0$_atRootExcludingStyleRule;
      _this._evaluate0$_atRootExcludingStyleRule = false;
      t1 = nest ? new A._EvaluateVisitor_visitCssStyleRule_closure3() : _null;
      _this._evaluate0$_withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitCssStyleRule_closure4(_this, rule, node), false, t1, type$.ModifiableCssStyleRule_2, type$.Null);
      _this._evaluate0$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
      t1 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).children._collection$_source;
      t2 = J.getInterceptor$asx(t1);
      _0_1 = t2.get$length(t1);
      if (_0_1 >= 1) {
        lastChild = t2.elementAt$1(t1, _0_1 - 1);
        t1 = styleRule == null;
      } else {
        lastChild = _null;
        t1 = false;
      }
      if (t1)
        lastChild.isGroupEnd = true;
    },
    visitCssStylesheet$1(node) {
      var t1;
      for (t1 = J.get$iterator$ax(node.get$children(node)); t1.moveNext$0();)
        t1.get$current(t1).accept$1(this);
    },
    visitCssSupportsRule$1(node) {
      var _this = this;
      if (_this._evaluate0$_declarationName != null)
        throw A.wrapException(_this._evaluate0$_exception$2(string$.Suppor, node.span));
      _this._evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssSupportsRule$0(node.condition, node.span), new A._EvaluateVisitor_visitCssSupportsRule_closure3(_this, node), false, new A._EvaluateVisitor_visitCssSupportsRule_closure4(), type$.ModifiableCssSupportsRule_2, type$.Null);
    },
    _evaluate0$_handleReturn$1$2(list, callback) {
      var t1, _i, _0_0;
      for (t1 = list.length, _i = 0; _i < list.length; list.length === t1 || (0, A.throwConcurrentModificationError)(list), ++_i) {
        _0_0 = callback.call$1(list[_i]);
        if (_0_0 != null)
          return _0_0;
      }
      return null;
    },
    _evaluate0$_handleReturn$2(list, callback) {
      return this._evaluate0$_handleReturn$1$2(list, callback, type$.dynamic);
    },
    _evaluate0$_withEnvironment$1$2(environment, callback) {
      var result,
        oldEnvironment = this._evaluate0$_environment;
      this._evaluate0$_environment = environment;
      result = callback.call$0();
      this._evaluate0$_environment = oldEnvironment;
      return result;
    },
    _evaluate0$_withEnvironment$2(environment, callback) {
      return this._evaluate0$_withEnvironment$1$2(environment, callback, type$.dynamic);
    },
    _evaluate0$_interpolationToValue$3$trim$warnForColor(interpolation, trim, warnForColor) {
      var result = this._evaluate0$_performInterpolation$2$warnForColor(interpolation, warnForColor),
        t1 = trim ? A.trimAscii0(result, true) : result;
      return new A.CssValue0(t1, interpolation.span, type$.CssValue_String_2);
    },
    _evaluate0$_interpolationToValue$1(interpolation) {
      return this._evaluate0$_interpolationToValue$3$trim$warnForColor(interpolation, false, false);
    },
    _evaluate0$_interpolationToValue$2$warnForColor(interpolation, warnForColor) {
      return this._evaluate0$_interpolationToValue$3$trim$warnForColor(interpolation, false, warnForColor);
    },
    _evaluate0$_performInterpolation$2$warnForColor(interpolation, warnForColor) {
      return this._evaluate0$_performInterpolationHelper$3$sourceMap$warnForColor(interpolation, false, warnForColor)._0;
    },
    _evaluate0$_performInterpolation$1(interpolation) {
      return this._evaluate0$_performInterpolation$2$warnForColor(interpolation, false);
    },
    _evaluate0$_performInterpolationWithMap$2$warnForColor(interpolation, warnForColor) {
      var _0_0 = this._evaluate0$_performInterpolationHelper$3$sourceMap$warnForColor(interpolation, true, true),
        map = _0_0._1;
      map.toString;
      return new A._Record_2(_0_0._0, map);
    },
    _evaluate0$_performInterpolationHelper$3$sourceMap$warnForColor(interpolation, sourceMap, warnForColor) {
      var t1, t2, t3, t4, t5, t6, t7, first, _i, t8, value, result, t9, result0, _this = this, _null = null,
        targetLocations = sourceMap ? A._setArrayType([], type$.JSArray_SourceLocation) : _null,
        oldInSupportsDeclaration = _this._evaluate0$_inSupportsDeclaration;
      _this._evaluate0$_inSupportsDeclaration = false;
      for (t1 = interpolation.contents, t2 = t1.length, t3 = type$.Expression_2, t4 = targetLocations == null, t5 = type$.JSArray_Object, t6 = interpolation.span, t7 = type$.Object, first = true, _i = 0, t8 = ""; _i < t2; ++_i, first = false) {
        value = t1[_i];
        if (!first)
          if (!t4)
            targetLocations.push(A.SourceLocation$(t8.length, _null, _null, _null));
        if (typeof value == "string") {
          t8 += value;
          continue;
        }
        t3._as(value);
        result = value.accept$1(_this);
        if (warnForColor && $.$get$namesByColor0().containsKey$1(result)) {
          t9 = A._setArrayType([""], t5);
          result0 = A.List_List$from(t9, false, t7);
          result0.fixed$length = Array;
          result0.immutable$list = Array;
          result0 = new A.Interpolation0(result0, t6);
          result0.Interpolation$20(t9, t6);
          t9 = $.$get$namesByColor0();
          _this._evaluate0$_warn$2(string$.You_pr + A.S(t9.$index(0, result)) + string$.x20in_in + result.toString$0(0) + string$.x2c_whicw + A.S(t9.$index(0, result)) + string$.x22x29__If + new A.BinaryOperationExpression0(B.BinaryOperator_u150, new A.StringExpression0(result0, true), value, false).toString$0(0) + "'.", value.get$span(value));
        }
        t8 += _this._evaluate0$_serialize$3$quote(result, value, false);
      }
      _this._evaluate0$_inSupportsDeclaration = oldInSupportsDeclaration;
      return new A._Record_2(t8.charCodeAt(0) == 0 ? t8 : t8, A.NullableExtension_andThen0(targetLocations, new A._EvaluateVisitor__performInterpolationHelper_closure1(interpolation)));
    },
    _evaluate0$_serialize$3$quote(value, nodeWithSpan, quote) {
      return this._evaluate0$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__serialize_closure1(value, quote));
    },
    _evaluate0$_serialize$2(value, nodeWithSpan) {
      return this._evaluate0$_serialize$3$quote(value, nodeWithSpan, true);
    },
    _evaluate0$_expressionNode$1(expression) {
      var t1;
      if (expression instanceof A.VariableExpression0) {
        t1 = this._evaluate0$_addExceptionSpan$2(expression, new A._EvaluateVisitor__expressionNode_closure1(this, expression));
        return t1 == null ? expression : t1;
      } else
        return expression;
    },
    _evaluate0$_withParent$2$4$scopeWhen$through(node, callback, scopeWhen, through, $S, $T) {
      var t1, result, _this = this;
      _this._evaluate0$_addChild$2$through(node, through);
      t1 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, "__parent");
      _this._evaluate0$__parent = node;
      result = _this._evaluate0$_environment.scope$1$2$when(callback, scopeWhen, $T);
      _this._evaluate0$__parent = t1;
      return result;
    },
    _evaluate0$_withParent$2$3$scopeWhen(node, callback, scopeWhen, $S, $T) {
      return this._evaluate0$_withParent$2$4$scopeWhen$through(node, callback, scopeWhen, null, $S, $T);
    },
    _evaluate0$_withParent$2$2(node, callback, $S, $T) {
      return this._evaluate0$_withParent$2$4$scopeWhen$through(node, callback, true, null, $S, $T);
    },
    _evaluate0$_addChild$2$through(node, through) {
      var _0_0, grandparent, t1,
        $parent = this._evaluate0$_assertInModule$2(this._evaluate0$__parent, "__parent");
      if (through != null) {
        for (; through.call$1($parent); $parent = _0_0) {
          _0_0 = $parent._node$_parent;
          if (_0_0 == null)
            throw A.wrapException(A.ArgumentError$(string$.throug + node.toString$0(0) + ".", null));
        }
        if ($parent.get$hasFollowingSibling()) {
          grandparent = $parent._node$_parent;
          t1 = grandparent.children;
          if ($parent.equalsIgnoringChildren$1(t1.get$last(t1)))
            $parent = type$.ModifiableCssParentNode_2._as(t1.get$last(t1));
          else {
            $parent = $parent.copyWithoutChildren$0();
            grandparent.addChild$1($parent);
          }
        }
      }
      $parent.addChild$1(node);
    },
    _evaluate0$_addChild$1(node) {
      return this._evaluate0$_addChild$2$through(node, null);
    },
    _evaluate0$_withStyleRule$1$2(rule, callback) {
      var result,
        oldRule = this._evaluate0$_styleRuleIgnoringAtRoot;
      this._evaluate0$_styleRuleIgnoringAtRoot = rule;
      result = callback.call$0();
      this._evaluate0$_styleRuleIgnoringAtRoot = oldRule;
      return result;
    },
    _evaluate0$_withStyleRule$2(rule, callback) {
      return this._evaluate0$_withStyleRule$1$2(rule, callback, type$.dynamic);
    },
    _evaluate0$_withMediaQueries$1$3(queries, sources, callback) {
      var result, _this = this,
        oldMediaQueries = _this._evaluate0$_mediaQueries,
        oldSources = _this._evaluate0$_mediaQuerySources;
      _this._evaluate0$_mediaQueries = queries;
      _this._evaluate0$_mediaQuerySources = sources;
      result = callback.call$0();
      _this._evaluate0$_mediaQueries = oldMediaQueries;
      _this._evaluate0$_mediaQuerySources = oldSources;
      return result;
    },
    _evaluate0$_withMediaQueries$3(queries, sources, callback) {
      return this._evaluate0$_withMediaQueries$1$3(queries, sources, callback, type$.dynamic);
    },
    _evaluate0$_withStackFrame$1$3(member, nodeWithSpan, callback) {
      var oldMember, result, _this = this,
        t1 = _this._evaluate0$_stack;
      t1.push(new A._Record_2(_this._evaluate0$_member, nodeWithSpan));
      oldMember = _this._evaluate0$_member;
      _this._evaluate0$_member = member;
      result = callback.call$0();
      _this._evaluate0$_member = oldMember;
      t1.pop();
      return result;
    },
    _evaluate0$_withStackFrame$3(member, nodeWithSpan, callback) {
      return this._evaluate0$_withStackFrame$1$3(member, nodeWithSpan, callback, type$.dynamic);
    },
    _evaluate0$_withoutSlash$2(value, nodeForSpan) {
      var t1;
      if (value instanceof A.SassNumber0)
        t1 = value.asSlash != null;
      else
        t1 = false;
      if (t1)
        this._evaluate0$_warn$3(string$.Using__i + A.S(new A._EvaluateVisitor__withoutSlash_recommendation1().call$1(value)) + string$.x0a_Morex20, nodeForSpan.get$span(nodeForSpan), B.Deprecation_E8a);
      return value.withoutSlash$0();
    },
    _evaluate0$_stackFrame$2(member, span) {
      return A.frameForSpan0(span, member, A.NullableExtension_andThen0(span.get$sourceUrl(span), new A._EvaluateVisitor__stackFrame_closure1(this)));
    },
    _evaluate0$_stackTrace$1(span) {
      var t2, t3, _i, t4, nodeWithSpan, _this = this,
        t1 = A._setArrayType([], type$.JSArray_Frame);
      for (t2 = _this._evaluate0$_stack, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        t4 = t2[_i];
        nodeWithSpan = t4._1;
        t1.push(_this._evaluate0$_stackFrame$2(t4._0, nodeWithSpan.get$span(nodeWithSpan)));
      }
      if (span != null)
        t1.push(_this._evaluate0$_stackFrame$2(_this._evaluate0$_member, span));
      return A.Trace$(new A.ReversedListIterable(t1, type$.ReversedListIterable_Frame), null);
    },
    _evaluate0$_stackTrace$0() {
      return this._evaluate0$_stackTrace$1(null);
    },
    _evaluate0$_warn$3(message, span, deprecation) {
      var t1, trace, _this = this;
      if (_this._evaluate0$_quietDeps)
        if (!_this._evaluate0$_inDependency) {
          t1 = _this._evaluate0$_currentCallable;
          t1 = t1 == null ? null : t1.inDependency;
          t1 = t1 === true;
        } else
          t1 = true;
      else
        t1 = false;
      if (t1)
        return;
      if (!_this._evaluate0$_warningsEmitted.add$1(0, new A._Record_2(message, span)))
        return;
      trace = _this._evaluate0$_stackTrace$1(span);
      t1 = _this._evaluate0$_logger;
      if (deprecation == null)
        t1.warn$3$span$trace(0, message, span, trace);
      else
        A.WarnForDeprecation_warnForDeprecation0(t1, deprecation, message, span, trace);
    },
    _evaluate0$_warn$2(message, span) {
      return this._evaluate0$_warn$3(message, span, null);
    },
    _evaluate0$_exception$2(message, span) {
      var t1, t2;
      if (span == null) {
        t1 = B.JSArray_methods.get$last(this._evaluate0$_stack)._1;
        t1 = t1.get$span(t1);
      } else
        t1 = span;
      t2 = this._evaluate0$_stackTrace$1(span);
      return new A.SassRuntimeException0(t2, B.Set_empty, message, t1);
    },
    _evaluate0$_exception$1(message) {
      return this._evaluate0$_exception$2(message, null);
    },
    _evaluate0$_multiSpanException$3(message, primaryLabel, secondaryLabels) {
      var t1 = B.JSArray_methods.get$last(this._evaluate0$_stack)._1;
      return A.MultiSpanSassRuntimeException$0(message, t1.get$span(t1), primaryLabel, secondaryLabels, this._evaluate0$_stackTrace$0(), null);
    },
    _evaluate0$_addExceptionSpan$1$3$addStackFrame(nodeWithSpan, callback, addStackFrame) {
      var error, stackTrace, t1, exception;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassScriptException0) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = error.withSpan$1(nodeWithSpan.get$span(nodeWithSpan));
          A.throwWithTrace0(t1.withTrace$1(this._evaluate0$_stackTrace$1(addStackFrame ? nodeWithSpan.get$span(nodeWithSpan) : null)), error, stackTrace);
        } else
          throw exception;
      }
    },
    _evaluate0$_addExceptionSpan$2(nodeWithSpan, callback) {
      return this._evaluate0$_addExceptionSpan$1$3$addStackFrame(nodeWithSpan, callback, true, type$.dynamic);
    },
    _evaluate0$_addExceptionSpan$3$addStackFrame(nodeWithSpan, callback, addStackFrame) {
      return this._evaluate0$_addExceptionSpan$1$3$addStackFrame(nodeWithSpan, callback, addStackFrame, type$.dynamic);
    },
    _evaluate0$_addExceptionTrace$1$1(callback) {
      var error, stackTrace, t1, exception, t2;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.SassRuntimeException_2._is(t1))
          throw exception;
        else if (t1 instanceof A.SassException0) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = error;
          t2 = J.getInterceptor$z(t1);
          A.throwWithTrace0(error.withTrace$1(this._evaluate0$_stackTrace$1(A.SourceSpanException.prototype.get$span.call(t2, t1))), error, stackTrace);
        } else
          throw exception;
      }
    },
    _evaluate0$_addExceptionTrace$1(callback) {
      return this._evaluate0$_addExceptionTrace$1$1(callback, type$.dynamic);
    },
    _evaluate0$_addErrorSpan$1$2(nodeWithSpan, callback) {
      var error, stackTrace, t1, exception, t2, t3;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.SassRuntimeException_2._is(t1)) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          if (!B.JSString_methods.startsWith$1(J.get$span$z(error).get$text(), "@error"))
            throw exception;
          t1 = error._span_exception$_message;
          t2 = nodeWithSpan.get$span(nodeWithSpan);
          t3 = this._evaluate0$_stackTrace$0();
          A.throwWithTrace0(new A.SassRuntimeException0(t3, B.Set_empty, t1, t2), error, stackTrace);
        } else
          throw exception;
      }
    },
    _evaluate0$_addErrorSpan$2(nodeWithSpan, callback) {
      return this._evaluate0$_addErrorSpan$1$2(nodeWithSpan, callback, type$.dynamic);
    }
  };
  A._EvaluateVisitor_closure25.prototype = {
    call$1($arguments) {
      var module, t2,
        t1 = J.getInterceptor$asx($arguments),
        variable = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this._evaluate0$_environment;
      t2 = A.stringReplaceAllUnchecked(variable._string0$_text, "_", "-");
      return t1.globalVariableExists$2$namespace(t2, module == null ? null : module._string0$_text) ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._EvaluateVisitor_closure26.prototype = {
    call$1($arguments) {
      var variable = J.$index$asx($arguments, 0).assertString$1("name"),
        t1 = this.$this._evaluate0$_environment;
      return t1.getVariable$1(A.stringReplaceAllUnchecked(variable._string0$_text, "_", "-")) != null ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._EvaluateVisitor_closure27.prototype = {
    call$1($arguments) {
      var module, t2, t3, t4,
        t1 = J.getInterceptor$asx($arguments),
        variable = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this;
      t2 = t1._evaluate0$_environment;
      t3 = variable._string0$_text;
      t4 = A.stringReplaceAllUnchecked(t3, "_", "-");
      return t2.getFunction$2$namespace(t4, module == null ? null : module._string0$_text) != null || t1._evaluate0$_builtInFunctions.containsKey$1(t3) ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._EvaluateVisitor_closure28.prototype = {
    call$1($arguments) {
      var module, t2,
        t1 = J.getInterceptor$asx($arguments),
        variable = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this._evaluate0$_environment;
      t2 = A.stringReplaceAllUnchecked(variable._string0$_text, "_", "-");
      return t1.getMixin$2$namespace(t2, module == null ? null : module._string0$_text) != null ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._EvaluateVisitor_closure29.prototype = {
    call$1($arguments) {
      var t1 = this.$this._evaluate0$_environment;
      if (!t1._environment0$_inMixin)
        throw A.wrapException(A.SassScriptException$0(string$.conten, null));
      return t1._environment0$_content != null ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._EvaluateVisitor_closure30.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.$index$asx($arguments, 0).assertString$1("module")._string0$_text,
        module = this.$this._evaluate0$_environment._environment0$_modules.$index(0, t1);
      if (module == null)
        throw A.wrapException('There is no module with namespace "' + t1 + '".');
      t1 = type$.Value_2;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t3 = A.MapExtensions_get_pairs0(module.get$variables(), type$.String, t1), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, new A.SassString0(t4._0, true), t4._1);
      }
      return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 36
  };
  A._EvaluateVisitor_closure31.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.$index$asx($arguments, 0).assertString$1("module")._string0$_text,
        module = this.$this._evaluate0$_environment._environment0$_modules.$index(0, t1);
      if (module == null)
        throw A.wrapException('There is no module with namespace "' + t1 + '".');
      t1 = type$.Value_2;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t3 = A.MapExtensions_get_pairs0(module.get$functions(module), type$.String, type$.Callable_2), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, new A.SassString0(t4._0, true), new A.SassFunction0(t4._1));
      }
      return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 36
  };
  A._EvaluateVisitor_closure32.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.$index$asx($arguments, 0).assertString$1("module")._string0$_text,
        module = this.$this._evaluate0$_environment._environment0$_modules.$index(0, t1);
      if (module == null)
        throw A.wrapException('There is no module with namespace "' + t1 + '".');
      t1 = type$.Value_2;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t3 = A.MapExtensions_get_pairs0(module.get$mixins(), type$.String, type$.Callable_2), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t2.$indexSet(0, new A.SassString0(t4._0, true), new A.SassMixin0(t4._1));
      }
      return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 36
  };
  A._EvaluateVisitor_closure33.prototype = {
    call$1($arguments) {
      var module, t2, callable,
        t1 = J.getInterceptor$asx($arguments),
        $name = t1.$index($arguments, 0).assertString$1("name"),
        css = t1.$index($arguments, 1).get$isTruthy();
      t1 = t1.$index($arguments, 2).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      if (css) {
        if (module != null)
          throw A.wrapException(string$.x24css_a);
        return new A.SassFunction0(new A.PlainCssCallable0($name._string0$_text));
      }
      t1 = this.$this;
      t2 = t1._evaluate0$_callableNode;
      t2.toString;
      callable = t1._evaluate0$_addExceptionSpan$2(t2, new A._EvaluateVisitor__closure10(t1, $name, module));
      if (callable == null)
        throw A.wrapException("Function not found: " + $name.toString$0(0));
      return new A.SassFunction0(callable);
    },
    $signature: 135
  };
  A._EvaluateVisitor__closure10.prototype = {
    call$0() {
      var local,
        normalizedName = A.stringReplaceAllUnchecked(this.name._string0$_text, "_", "-"),
        t1 = this.module,
        namespace = t1 == null ? null : t1._string0$_text;
      t1 = this.$this;
      local = t1._evaluate0$_environment.getFunction$2$namespace(normalizedName, namespace);
      if (local != null || namespace != null)
        return local;
      return t1._evaluate0$_builtInFunctions.$index(0, normalizedName);
    },
    $signature: 85
  };
  A._EvaluateVisitor_closure34.prototype = {
    call$1($arguments) {
      var module, t2, callable,
        t1 = J.getInterceptor$asx($arguments),
        $name = t1.$index($arguments, 0).assertString$1("name");
      t1 = t1.$index($arguments, 1).get$realNull();
      module = t1 == null ? null : t1.assertString$1("module");
      t1 = this.$this;
      t2 = t1._evaluate0$_callableNode;
      t2.toString;
      callable = t1._evaluate0$_addExceptionSpan$2(t2, new A._EvaluateVisitor__closure9(t1, $name, module));
      if (callable == null)
        throw A.wrapException("Mixin not found: " + $name.toString$0(0));
      return new A.SassMixin0(callable);
    },
    $signature: 242
  };
  A._EvaluateVisitor__closure9.prototype = {
    call$0() {
      var t1 = this.$this._evaluate0$_environment,
        t2 = A.stringReplaceAllUnchecked(this.name._string0$_text, "_", "-"),
        t3 = this.module;
      return t1.getMixin$2$namespace(t2, t3 == null ? null : t3._string0$_text);
    },
    $signature: 85
  };
  A._EvaluateVisitor_closure35.prototype = {
    call$1($arguments) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, invocation, callableNode, callable,
        t1 = J.getInterceptor$asx($arguments),
        $function = t1.$index($arguments, 0),
        args = type$.SassArgumentList_2._as(t1.$index($arguments, 1));
      t1 = this.$this;
      t2 = t1._evaluate0$_callableNode;
      t2.toString;
      t3 = A._setArrayType([], type$.JSArray_Expression_2);
      t4 = type$.String;
      t5 = type$.Expression_2;
      t6 = t2.get$span(t2);
      t7 = t2.get$span(t2);
      args._argument_list$_wereKeywordsAccessed = true;
      t8 = args._argument_list$_keywords;
      if (t8.get$isEmpty(t8))
        t2 = null;
      else {
        t9 = type$.Value_2;
        t10 = A.LinkedHashMap_LinkedHashMap$_empty(t9, t9);
        for (args._argument_list$_wereKeywordsAccessed = true, t8 = A.MapExtensions_get_pairs0(t8, t4, t9), t8 = t8.get$iterator(t8); t8.moveNext$0();) {
          t11 = t8.get$current(t8);
          t10.$indexSet(0, new A.SassString0(t11._0, false), t11._1);
        }
        t2 = new A.ValueExpression0(new A.SassMap0(A.ConstantMap_ConstantMap$from(t10, t9, t9)), t2.get$span(t2));
      }
      invocation = new A.ArgumentInvocation0(A.List_List$unmodifiable(t3, t5), A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_empty(t4, t5), t4, t5), new A.ValueExpression0(args, t7), t2, t6);
      if ($function instanceof A.SassString0) {
        A.warnForDeprecation0(string$.Passina + $function.toString$0(0) + "))", B.Deprecation_MMc);
        callableNode = t1._evaluate0$_callableNode;
        t2 = $function._string0$_text;
        t3 = callableNode.get$span(callableNode);
        return t1.visitFunctionExpression$1(new A.FunctionExpression0(null, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, invocation, t3));
      }
      callable = $function.assertFunction$1("function").callable;
      if (type$.Callable_2._is(callable)) {
        t2 = t1._evaluate0$_callableNode;
        t2.toString;
        return t1._evaluate0$_runFunctionCallable$3(invocation, callable, t2);
      } else
        throw A.wrapException(A.SassScriptException$0("The function " + callable.get$name(callable) + string$.x20is_as, null));
    },
    $signature: 3
  };
  A._EvaluateVisitor_closure36.prototype = {
    call$1($arguments) {
      var withMap, t2, values, configuration, t3,
        t1 = J.getInterceptor$asx($arguments),
        url = A.Uri_parse(t1.$index($arguments, 0).assertString$1("url")._string0$_text);
      t1 = t1.$index($arguments, 1).get$realNull();
      withMap = t1 == null ? null : t1.assertMap$1("with")._map0$_contents;
      t1 = this.$this;
      t2 = t1._evaluate0$_callableNode;
      t2.toString;
      if (withMap != null) {
        values = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ConfiguredValue_2);
        withMap.forEach$1(0, new A._EvaluateVisitor__closure7(values, t2.get$span(t2), t2));
        configuration = new A.ExplicitConfiguration0(t2, values, null);
      } else
        configuration = B.Configuration_Map_empty_null0;
      t3 = t2.get$span(t2);
      t1._evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors(url, "load-css()", t2, new A._EvaluateVisitor__closure8(t1), t3.get$sourceUrl(t3), configuration, true);
      t1._evaluate0$_assertConfigurationIsEmpty$2$nameInError(configuration, true);
    },
    $signature: 192
  };
  A._EvaluateVisitor__closure7.prototype = {
    call$2(variable, value) {
      var t1 = variable.assertString$1("with key"),
        $name = A.stringReplaceAllUnchecked(t1._string0$_text, "_", "-");
      t1 = this.values;
      if (t1.containsKey$1($name))
        throw A.wrapException("The variable $" + $name + " was configured twice.");
      t1.$indexSet(0, $name, new A.ConfiguredValue0(value, this.span, this.callableNode));
    },
    $signature: 76
  };
  A._EvaluateVisitor__closure8.prototype = {
    call$2(module, _) {
      var t1 = this.$this;
      return t1._evaluate0$_combineCss$2$clone(module, true).accept$1(t1);
    },
    $signature: 80
  };
  A._EvaluateVisitor_closure37.prototype = {
    call$1($arguments) {
      var callableNode, t2, t3, t4, t5, callable, $content,
        t1 = J.getInterceptor$asx($arguments),
        mixin = t1.$index($arguments, 0),
        args = type$.SassArgumentList_2._as(t1.$index($arguments, 1));
      t1 = this.$this;
      callableNode = t1._evaluate0$_callableNode;
      t2 = callableNode.get$span(callableNode);
      t3 = callableNode.get$span(callableNode);
      t4 = type$.Expression_2;
      t5 = A.List_List$unmodifiable(B.List_empty20, t4);
      t4 = A.ConstantMap_ConstantMap$from(B.Map_empty14, type$.String, t4);
      callable = mixin.assertMixin$1("mixin").callable;
      $content = t1._evaluate0$_environment._environment0$_content;
      if (type$.Callable_2._is(callable))
        t1._evaluate0$_applyMixin$5(callable, $content, new A.ArgumentInvocation0(t5, t4, new A.ValueExpression0(args, t3), null, t2), callableNode, callableNode);
      else
        throw A.wrapException(A.SassScriptException$0("The mixin " + callable.get$name(callable) + string$.x20is_as, null));
    },
    $signature: 192
  };
  A._EvaluateVisitor_run_closure1.prototype = {
    call$0() {
      var module, t2, _this = this,
        t1 = _this.node,
        _0_0 = t1.span.file.url,
        url = null;
      if (_0_0 != null) {
        url = _0_0;
        t2 = _this.$this;
        t2._evaluate0$_activeModules.$indexSet(0, url, null);
        if (!(t2._nodeImporter != null && J.toString$0$(url) === "stdin"))
          t2._evaluate0$_loadedUrls.add$1(0, url);
      }
      t2 = _this.$this;
      module = t2._evaluate0$_addExceptionTrace$1(new A._EvaluateVisitor_run__closure1(t2, _this.importer, t1));
      return new A._Record_2_loadedUrls_stylesheet(t2._evaluate0$_loadedUrls, t2._evaluate0$_combineCss$1(module));
    },
    $signature: 428
  };
  A._EvaluateVisitor_run__closure1.prototype = {
    call$0() {
      return this.$this._evaluate0$_execute$2(this.importer, this.node);
    },
    $signature: 429
  };
  A._EvaluateVisitor__loadModule_closure3.prototype = {
    call$0() {
      return this.callback.call$2(this._box_1.builtInModule, false);
    },
    $signature: 0
  };
  A._EvaluateVisitor__loadModule_closure4.prototype = {
    call$0() {
      var canonicalUrl, oldInDependency, t4, message, _this = this, t1 = {}, stylesheet = null, importer = null,
        t2 = _this.$this,
        t3 = _this.nodeWithSpan,
        _1_0 = t2._evaluate0$_loadStylesheet$3$baseUrl(_this.url.toString$0(0), t3.get$span(t3), _this.baseUrl);
      stylesheet = _1_0._0;
      importer = _1_0._1;
      canonicalUrl = stylesheet.span.file.url;
      if (canonicalUrl != null) {
        t4 = t2._evaluate0$_activeModules;
        if (t4.containsKey$1(canonicalUrl)) {
          if (_this.namesInErrors) {
            t1 = canonicalUrl;
            t3 = $.$get$context();
            t1.toString;
            message = "Module loop: " + t3.prettyUri$1(t1) + " is already being loaded.";
          } else
            message = string$.Modulel;
          t1 = A.NullableExtension_andThen0(t4.$index(0, canonicalUrl), new A._EvaluateVisitor__loadModule__closure3(t2, message));
          throw A.wrapException(t1 == null ? t2._evaluate0$_exception$1(message) : t1);
        } else
          t4.$indexSet(0, canonicalUrl, t3);
      }
      t4 = t2._evaluate0$_modules.containsKey$1(canonicalUrl);
      oldInDependency = t2._evaluate0$_inDependency;
      t2._evaluate0$_inDependency = _1_0._2;
      t1.module = null;
      try {
        t1.module = t2._evaluate0$_execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, _this.configuration, _this.namesInErrors, t3);
      } finally {
        t2._evaluate0$_activeModules.remove$1(0, canonicalUrl);
        t2._evaluate0$_inDependency = oldInDependency;
      }
      t2._evaluate0$_addExceptionSpan$3$addStackFrame(t3, new A._EvaluateVisitor__loadModule__closure4(t1, _this.callback, !t4), false);
    },
    $signature: 1
  };
  A._EvaluateVisitor__loadModule__closure3.prototype = {
    call$1(previousLoad) {
      return this.$this._evaluate0$_multiSpanException$3(this.message, "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String));
    },
    $signature: 94
  };
  A._EvaluateVisitor__loadModule__closure4.prototype = {
    call$0() {
      return this.callback.call$2(this._box_0.module, this.firstLoad);
    },
    $signature: 0
  };
  A._EvaluateVisitor__execute_closure1.prototype = {
    call$0() {
      var t3, t4, t5, t6, _this = this,
        t1 = _this.$this,
        oldImporter = t1._evaluate0$_importer,
        oldStylesheet = t1._evaluate0$__stylesheet,
        oldRoot = t1._evaluate0$__root,
        oldPreModuleComments = t1._evaluate0$_preModuleComments,
        oldParent = t1._evaluate0$__parent,
        oldEndOfImports = t1._evaluate0$__endOfImports,
        oldOutOfOrderImports = t1._evaluate0$_outOfOrderImports,
        oldExtensionStore = t1._evaluate0$__extensionStore,
        t2 = t1._evaluate0$_atRootExcludingStyleRule,
        oldStyleRule = t2 ? null : t1._evaluate0$_styleRuleIgnoringAtRoot,
        oldMediaQueries = t1._evaluate0$_mediaQueries,
        oldDeclarationName = t1._evaluate0$_declarationName,
        oldInUnknownAtRule = t1._evaluate0$_inUnknownAtRule,
        oldInKeyframes = t1._evaluate0$_inKeyframes,
        oldConfiguration = t1._evaluate0$_configuration;
      t1._evaluate0$_importer = _this.importer;
      t3 = t1._evaluate0$__stylesheet = _this.stylesheet;
      t4 = t3.span;
      t5 = t1._evaluate0$__parent = t1._evaluate0$__root = A.ModifiableCssStylesheet$0(t4);
      t1._evaluate0$__endOfImports = 0;
      t1._evaluate0$_outOfOrderImports = null;
      t1._evaluate0$__extensionStore = _this.extensionStore;
      t1._evaluate0$_declarationName = t1._evaluate0$_mediaQueries = t1._evaluate0$_styleRuleIgnoringAtRoot = null;
      t1._evaluate0$_inKeyframes = t1._evaluate0$_atRootExcludingStyleRule = t1._evaluate0$_inUnknownAtRule = false;
      t6 = _this.configuration;
      if (t6 != null)
        t1._evaluate0$_configuration = t6;
      t1.visitStylesheet$1(t3);
      t3 = t1._evaluate0$_outOfOrderImports == null ? t5 : new A.CssStylesheet0(new A.UnmodifiableListView(t1._evaluate0$_addOutOfOrderImports$0(), type$.UnmodifiableListView_CssNode_2), t4);
      _this.css.__late_helper$_value = t3;
      _this.preModuleComments.__late_helper$_value = t1._evaluate0$_preModuleComments;
      t1._evaluate0$_importer = oldImporter;
      t1._evaluate0$__stylesheet = oldStylesheet;
      t1._evaluate0$__root = oldRoot;
      t1._evaluate0$_preModuleComments = oldPreModuleComments;
      t1._evaluate0$__parent = oldParent;
      t1._evaluate0$__endOfImports = oldEndOfImports;
      t1._evaluate0$_outOfOrderImports = oldOutOfOrderImports;
      t1._evaluate0$__extensionStore = oldExtensionStore;
      t1._evaluate0$_styleRuleIgnoringAtRoot = oldStyleRule;
      t1._evaluate0$_mediaQueries = oldMediaQueries;
      t1._evaluate0$_declarationName = oldDeclarationName;
      t1._evaluate0$_inUnknownAtRule = oldInUnknownAtRule;
      t1._evaluate0$_atRootExcludingStyleRule = t2;
      t1._evaluate0$_inKeyframes = oldInKeyframes;
      t1._evaluate0$_configuration = oldConfiguration;
    },
    $signature: 1
  };
  A._EvaluateVisitor__combineCss_closure3.prototype = {
    call$1(module) {
      return module.get$transitivelyContainsCss();
    },
    $signature: 121
  };
  A._EvaluateVisitor__combineCss_closure4.prototype = {
    call$1(target) {
      return !this.selectors.contains$1(0, target);
    },
    $signature: 14
  };
  A._EvaluateVisitor__combineCss_visitModule1.prototype = {
    call$1(module) {
      var t1, t2, t3, t4, _i, upstream, _1_0, statements, index, _this = this;
      if (!_this.seen.add$1(0, module))
        return;
      if (_this.clone)
        module = module.cloneCss$0();
      for (t1 = module.get$upstream(), t2 = t1.length, t3 = _this.css, t4 = _this.imports, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        upstream = t1[_i];
        if (upstream.get$transitivelyContainsCss()) {
          _1_0 = module.get$preModuleComments().$index(0, upstream);
          if (_1_0 != null)
            B.JSArray_methods.addAll$1(t3.length === 0 ? t4 : t3, _1_0);
          _this.call$1(upstream);
        }
      }
      _this.sorted.addFirst$1(module);
      t1 = module.get$css(module);
      statements = t1.get$children(t1);
      index = _this.$this._evaluate0$_indexAfterImports$1(statements);
      t1 = J.getInterceptor$ax(statements);
      B.JSArray_methods.addAll$1(t4, t1.getRange$2(statements, 0, index));
      B.JSArray_methods.addAll$1(t3, t1.getRange$2(statements, index, t1.get$length(statements)));
    },
    $signature: 430
  };
  A._EvaluateVisitor__extendModules_closure3.prototype = {
    call$1(target) {
      return !this.originalSelectors.contains$1(0, target);
    },
    $signature: 14
  };
  A._EvaluateVisitor__extendModules_closure4.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_ExtensionStore_2);
    },
    $signature: 264
  };
  A._EvaluateVisitor_visitAtRootRule_closure3.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitAtRootRule_closure4.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 0
  };
  A._EvaluateVisitor__scopeForAtRoot_closure11.prototype = {
    call$1(callback) {
      var t1 = this.$this,
        t2 = t1._evaluate0$_assertInModule$2(t1._evaluate0$__parent, "__parent");
      t1._evaluate0$__parent = this.newParent;
      t1._evaluate0$_environment.scope$1$2$when(callback, this.node.hasDeclarations, type$.void);
      t1._evaluate0$__parent = t2;
    },
    $signature: 32
  };
  A._EvaluateVisitor__scopeForAtRoot_closure12.prototype = {
    call$1(callback) {
      var t1 = this.$this,
        oldAtRootExcludingStyleRule = t1._evaluate0$_atRootExcludingStyleRule;
      t1._evaluate0$_atRootExcludingStyleRule = true;
      this.innerScope.call$1(callback);
      t1._evaluate0$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
    },
    $signature: 32
  };
  A._EvaluateVisitor__scopeForAtRoot_closure13.prototype = {
    call$1(callback) {
      return this.$this._evaluate0$_withMediaQueries$3(null, null, new A._EvaluateVisitor__scopeForAtRoot__closure1(this.innerScope, callback));
    },
    $signature: 32
  };
  A._EvaluateVisitor__scopeForAtRoot__closure1.prototype = {
    call$0() {
      return this.innerScope.call$1(this.callback);
    },
    $signature: 1
  };
  A._EvaluateVisitor__scopeForAtRoot_closure14.prototype = {
    call$1(callback) {
      var t1 = this.$this,
        wasInKeyframes = t1._evaluate0$_inKeyframes;
      t1._evaluate0$_inKeyframes = false;
      this.innerScope.call$1(callback);
      t1._evaluate0$_inKeyframes = wasInKeyframes;
    },
    $signature: 32
  };
  A._EvaluateVisitor__scopeForAtRoot_closure15.prototype = {
    call$1($parent) {
      return $parent instanceof A.ModifiableCssAtRule0;
    },
    $signature: 237
  };
  A._EvaluateVisitor__scopeForAtRoot_closure16.prototype = {
    call$1(callback) {
      var t1 = this.$this,
        wasInUnknownAtRule = t1._evaluate0$_inUnknownAtRule;
      t1._evaluate0$_inUnknownAtRule = false;
      this.innerScope.call$1(callback);
      t1._evaluate0$_inUnknownAtRule = wasInUnknownAtRule;
    },
    $signature: 32
  };
  A._EvaluateVisitor_visitContentRule_closure1.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.content.declaration.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
      return null;
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitDeclaration_closure1.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this._box_0.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitEachRule_closure5.prototype = {
    call$1(value) {
      var t1 = this.$this,
        t2 = this.nodeWithSpan;
      return t1._evaluate0$_environment.setLocalVariable$3(this._box_0.variable, t1._evaluate0$_withoutSlash$2(value, t2), t2);
    },
    $signature: 62
  };
  A._EvaluateVisitor_visitEachRule_closure6.prototype = {
    call$1(value) {
      return this.$this._evaluate0$_setMultipleVariables$3(this._box_0.variables, value, this.nodeWithSpan);
    },
    $signature: 62
  };
  A._EvaluateVisitor_visitEachRule_closure7.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this;
      return t1._evaluate0$_handleReturn$2(_this.list.get$asList(), new A._EvaluateVisitor_visitEachRule__closure1(t1, _this.setVariables, _this.node));
    },
    $signature: 41
  };
  A._EvaluateVisitor_visitEachRule__closure1.prototype = {
    call$1(element) {
      var t1;
      this.setVariables.call$1(element);
      t1 = this.$this;
      return t1._evaluate0$_handleReturn$2(this.node.children, new A._EvaluateVisitor_visitEachRule___closure1(t1));
    },
    $signature: 190
  };
  A._EvaluateVisitor_visitEachRule___closure1.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 101
  };
  A._EvaluateVisitor_visitAtRule_closure5.prototype = {
    call$1(value) {
      return this.$this._evaluate0$_interpolationToValue$3$trim$warnForColor(value, true, true);
    },
    $signature: 433
  };
  A._EvaluateVisitor_visitAtRule_closure6.prototype = {
    call$0() {
      var t2, t3, _i, _this = this,
        t1 = _this.$this,
        styleRule = t1._evaluate0$_atRootExcludingStyleRule ? null : t1._evaluate0$_styleRuleIgnoringAtRoot;
      if (styleRule == null || t1._evaluate0$_inKeyframes || J.$eq$(_this.name.value, "font-face"))
        for (t2 = _this.children, t3 = t2.length, _i = 0; _i < t3; ++_i)
          t2[_i].accept$1(t1);
      else
        t1._evaluate0$_withParent$2$3$scopeWhen(A.ModifiableCssStyleRule$0(styleRule._style_rule0$_selector, styleRule.span, false, styleRule.originalSelector), new A._EvaluateVisitor_visitAtRule__closure1(t1, _this.children), false, type$.ModifiableCssStyleRule_2, type$.Null);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitAtRule__closure1.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitAtRule_closure7.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitForRule_closure9.prototype = {
    call$0() {
      return this.node.from.accept$1(this.$this).assertNumber$0();
    },
    $signature: 212
  };
  A._EvaluateVisitor_visitForRule_closure10.prototype = {
    call$0() {
      return this.node.to.accept$1(this.$this).assertNumber$0();
    },
    $signature: 212
  };
  A._EvaluateVisitor_visitForRule_closure11.prototype = {
    call$0() {
      return this.fromNumber.assertInt$0();
    },
    $signature: 10
  };
  A._EvaluateVisitor_visitForRule_closure12.prototype = {
    call$0() {
      var t1 = this.fromNumber;
      return this.toNumber.coerce$2(t1.get$numeratorUnits(t1), t1.get$denominatorUnits(t1)).assertInt$0();
    },
    $signature: 10
  };
  A._EvaluateVisitor_visitForRule_closure13.prototype = {
    call$0() {
      var i, t3, t4, t5, t6, t7, t8, _0_0, _this = this,
        t1 = _this.$this,
        t2 = _this.node,
        nodeWithSpan = t1._evaluate0$_expressionNode$1(t2.from);
      for (i = _this.from, t3 = _this._box_0, t4 = _this.direction, t5 = t2.variable, t6 = _this.fromNumber, t2 = t2.children; i !== t3.to; i += t4) {
        t7 = t1._evaluate0$_environment;
        t8 = t6.get$numeratorUnits(t6);
        t7.setLocalVariable$3(t5, A.SassNumber_SassNumber$withUnits0(i, t6.get$denominatorUnits(t6), t8), nodeWithSpan);
        _0_0 = t1._evaluate0$_handleReturn$2(t2, new A._EvaluateVisitor_visitForRule__closure1(t1));
        if (_0_0 != null)
          return _0_0;
      }
      return null;
    },
    $signature: 41
  };
  A._EvaluateVisitor_visitForRule__closure1.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 101
  };
  A._EvaluateVisitor_visitForwardRule_closure3.prototype = {
    call$2(module, firstLoad) {
      if (firstLoad)
        this.$this._evaluate0$_registerCommentsForModule$1(module);
      this.$this._evaluate0$_environment.forwardModule$2(module, this.node);
    },
    $signature: 80
  };
  A._EvaluateVisitor_visitForwardRule_closure4.prototype = {
    call$2(module, firstLoad) {
      if (firstLoad)
        this.$this._evaluate0$_registerCommentsForModule$1(module);
      this.$this._evaluate0$_environment.forwardModule$2(module, this.node);
    },
    $signature: 80
  };
  A._EvaluateVisitor__registerCommentsForModule_closure1.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_CssComment_2);
    },
    $signature: 229
  };
  A._EvaluateVisitor_visitIfRule_closure1.prototype = {
    call$1(clause) {
      var t1 = this.$this;
      return t1._evaluate0$_environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitIfRule__closure1(t1, clause), true, clause.hasDeclarations, type$.nullable_Value_2);
    },
    $signature: 435
  };
  A._EvaluateVisitor_visitIfRule__closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1._evaluate0$_handleReturn$2(this.clause.children, new A._EvaluateVisitor_visitIfRule___closure1(t1));
    },
    $signature: 41
  };
  A._EvaluateVisitor_visitIfRule___closure1.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 101
  };
  A._EvaluateVisitor__visitDynamicImport_closure1.prototype = {
    call$0() {
      var t1, t2, _0_0, stylesheet, importer, isDependency, url, t3, oldImporter, oldInDependency, loadsUserDefinedModules, children, t4, t5, t6, t7, t8, t9, t10, environment, module, visitor, _box_0 = {};
      _box_0.isDependency = _box_0.importer = _box_0.stylesheet = null;
      t1 = this.$this;
      t2 = this.$import;
      _0_0 = t1._evaluate0$_loadStylesheet$3$forImport(t2.urlString, t2.span, true);
      stylesheet = _box_0.stylesheet = _0_0._0;
      importer = _0_0._1;
      _box_0.importer = importer;
      isDependency = _0_0._2;
      _box_0.isDependency = isDependency;
      url = stylesheet.span.file.url;
      if (url != null) {
        t3 = t1._evaluate0$_activeModules;
        if (t3.containsKey$1(url)) {
          t2 = A.NullableExtension_andThen0(t3.$index(0, url), new A._EvaluateVisitor__visitDynamicImport__closure7(t1));
          throw A.wrapException(t2 == null ? t1._evaluate0$_exception$1("This file is already being loaded.") : t2);
        }
        t3.$indexSet(0, url, t2);
      }
      t2 = stylesheet._stylesheet1$_uses;
      t3 = type$.UnmodifiableListView_UseRule_2;
      if (new A.UnmodifiableListView(t2, t3).get$length(0) === 0 && new A.UnmodifiableListView(stylesheet._stylesheet1$_forwards, type$.UnmodifiableListView_ForwardRule_2).get$length(0) === 0) {
        oldImporter = t1._evaluate0$_importer;
        t2 = t1._evaluate0$_assertInModule$2(t1._evaluate0$__stylesheet, "_stylesheet");
        oldInDependency = t1._evaluate0$_inDependency;
        t1._evaluate0$_importer = importer;
        t1._evaluate0$__stylesheet = stylesheet;
        t1._evaluate0$_inDependency = isDependency;
        t1.visitStylesheet$1(stylesheet);
        t1._evaluate0$_importer = oldImporter;
        t1._evaluate0$__stylesheet = t2;
        t1._evaluate0$_inDependency = oldInDependency;
        t1._evaluate0$_activeModules.remove$1(0, url);
        return;
      }
      t2 = new A.UnmodifiableListView(t2, t3);
      if (!t2.any$1(t2, new A._EvaluateVisitor__visitDynamicImport__closure8())) {
        t2 = new A.UnmodifiableListView(stylesheet._stylesheet1$_forwards, type$.UnmodifiableListView_ForwardRule_2);
        loadsUserDefinedModules = t2.any$1(t2, new A._EvaluateVisitor__visitDynamicImport__closure9());
      } else
        loadsUserDefinedModules = true;
      children = A._Cell$();
      t2 = t1._evaluate0$_environment;
      t3 = type$.String;
      t4 = type$.Module_Callable_2;
      t5 = type$.AstNode_2;
      t6 = A._setArrayType([], type$.JSArray_Module_Callable_2);
      t7 = t2._environment0$_variables;
      t7 = A._setArrayType(t7.slice(0), A._arrayInstanceType(t7));
      t8 = t2._environment0$_variableNodes;
      t8 = A._setArrayType(t8.slice(0), A._arrayInstanceType(t8));
      t9 = t2._environment0$_functions;
      t9 = A._setArrayType(t9.slice(0), A._arrayInstanceType(t9));
      t10 = t2._environment0$_mixins;
      t10 = A._setArrayType(t10.slice(0), A._arrayInstanceType(t10));
      environment = A.Environment$_0(A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t3, t5), A.LinkedHashMap_LinkedHashMap$_empty(t4, t5), t2._environment0$_importedModules, null, null, t6, t7, t8, t9, t10, t2._environment0$_content);
      t1._evaluate0$_withEnvironment$2(environment, new A._EvaluateVisitor__visitDynamicImport__closure10(_box_0, t1, loadsUserDefinedModules, environment, children));
      module = environment.toDummyModule$0();
      t1._evaluate0$_environment.importForwards$1(module);
      if (loadsUserDefinedModules) {
        if (module.transitivelyContainsCss)
          t1._evaluate0$_combineCss$2$clone(module, module.transitivelyContainsExtensions).accept$1(t1);
        visitor = new A._ImportedCssVisitor1(t1);
        for (t2 = J.get$iterator$ax(children._readLocal$0()); t2.moveNext$0();)
          t2.get$current(t2).accept$1(visitor);
      }
      t1._evaluate0$_activeModules.remove$1(0, url);
    },
    $signature: 0
  };
  A._EvaluateVisitor__visitDynamicImport__closure7.prototype = {
    call$1(previousLoad) {
      return this.$this._evaluate0$_multiSpanException$3("This file is already being loaded.", "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String));
    },
    $signature: 94
  };
  A._EvaluateVisitor__visitDynamicImport__closure8.prototype = {
    call$1(rule) {
      return rule.url.get$scheme() !== "sass";
    },
    $signature: 228
  };
  A._EvaluateVisitor__visitDynamicImport__closure9.prototype = {
    call$1(rule) {
      return rule.url.get$scheme() !== "sass";
    },
    $signature: 227
  };
  A._EvaluateVisitor__visitDynamicImport__closure10.prototype = {
    call$0() {
      var t7, t8, _this = this,
        t1 = _this.$this,
        oldImporter = t1._evaluate0$_importer,
        t2 = t1._evaluate0$_assertInModule$2(t1._evaluate0$__stylesheet, "_stylesheet"),
        t3 = t1._evaluate0$_assertInModule$2(t1._evaluate0$__root, "_root"),
        t4 = t1._evaluate0$_assertInModule$2(t1._evaluate0$__parent, "__parent"),
        t5 = t1._evaluate0$_assertInModule$2(t1._evaluate0$__endOfImports, "_endOfImports"),
        oldOutOfOrderImports = t1._evaluate0$_outOfOrderImports,
        oldConfiguration = t1._evaluate0$_configuration,
        oldInDependency = t1._evaluate0$_inDependency,
        t6 = _this._box_0;
      t1._evaluate0$_importer = t6.importer;
      t7 = t6.stylesheet;
      t1._evaluate0$__stylesheet = t7;
      t8 = _this.loadsUserDefinedModules;
      if (t8) {
        t7 = A.ModifiableCssStylesheet$0(t7.span);
        t1._evaluate0$__root = t7;
        t1._evaluate0$__parent = t1._evaluate0$_assertInModule$2(t7, "_root");
        t1._evaluate0$__endOfImports = 0;
        t1._evaluate0$_outOfOrderImports = null;
      }
      t1._evaluate0$_inDependency = t6.isDependency;
      t7 = new A.UnmodifiableListView(t6.stylesheet._stylesheet1$_forwards, type$.UnmodifiableListView_ForwardRule_2);
      if (!t7.get$isEmpty(t7))
        t1._evaluate0$_configuration = _this.environment.toImplicitConfiguration$0();
      t1.visitStylesheet$1(t6.stylesheet);
      t6 = t8 ? t1._evaluate0$_addOutOfOrderImports$0() : A._setArrayType([], type$.JSArray_ModifiableCssNode_2);
      _this.children.__late_helper$_value = t6;
      t1._evaluate0$_importer = oldImporter;
      t1._evaluate0$__stylesheet = t2;
      if (t8) {
        t1._evaluate0$__root = t3;
        t1._evaluate0$__parent = t4;
        t1._evaluate0$__endOfImports = t5;
        t1._evaluate0$_outOfOrderImports = oldOutOfOrderImports;
      }
      t1._evaluate0$_configuration = oldConfiguration;
      t1._evaluate0$_inDependency = oldInDependency;
    },
    $signature: 1
  };
  A._EvaluateVisitor__applyMixin_closure3.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this;
      t1._evaluate0$_environment.asMixin$1(new A._EvaluateVisitor__applyMixin__closure4(t1, _this.$arguments, _this.mixin, _this.nodeWithSpanWithoutContent));
    },
    $signature: 0
  };
  A._EvaluateVisitor__applyMixin__closure4.prototype = {
    call$0() {
      var _this = this;
      _this.$this._evaluate0$_runBuiltInCallable$3(_this.$arguments, _this.mixin, _this.nodeWithSpanWithoutContent);
    },
    $signature: 0
  };
  A._EvaluateVisitor__applyMixin_closure4.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this;
      t1._evaluate0$_environment.withContent$2(_this.contentCallable, new A._EvaluateVisitor__applyMixin__closure3(t1, _this.mixin, _this.nodeWithSpanWithoutContent));
    },
    $signature: 1
  };
  A._EvaluateVisitor__applyMixin__closure3.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._evaluate0$_environment.asMixin$1(new A._EvaluateVisitor__applyMixin___closure1(t1, this.mixin, this.nodeWithSpanWithoutContent));
    },
    $signature: 0
  };
  A._EvaluateVisitor__applyMixin___closure1.prototype = {
    call$0() {
      var t1, t2, t3, t4, _i;
      for (t1 = this.mixin.declaration.children, t2 = t1.length, t3 = this.$this, t4 = this.nodeWithSpanWithoutContent, _i = 0; _i < t2; ++_i)
        t3._evaluate0$_addErrorSpan$2(t4, new A._EvaluateVisitor__applyMixin____closure1(t3, t1[_i]));
    },
    $signature: 0
  };
  A._EvaluateVisitor__applyMixin____closure1.prototype = {
    call$0() {
      return this.statement.accept$1(this.$this);
    },
    $signature: 41
  };
  A._EvaluateVisitor_visitIncludeRule_closure5.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._evaluate0$_environment.getMixin$2$namespace(t1.name, t1.namespace);
    },
    $signature: 85
  };
  A._EvaluateVisitor_visitIncludeRule_closure6.prototype = {
    call$1($content) {
      var t1 = this.$this;
      return new A.UserDefinedCallable0($content, t1._evaluate0$_environment.closure$0(), t1._evaluate0$_inDependency, type$.UserDefinedCallable_Environment_2);
    },
    $signature: 436
  };
  A._EvaluateVisitor_visitIncludeRule_closure7.prototype = {
    call$0() {
      return this.node.get$spanWithoutContent();
    },
    $signature: 27
  };
  A._EvaluateVisitor_visitMediaRule_closure5.prototype = {
    call$1(mediaQueries) {
      return this.$this._evaluate0$_mergeMediaQueries$2(mediaQueries, this.queries);
    },
    $signature: 100
  };
  A._EvaluateVisitor_visitMediaRule_closure6.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.mergedQueries;
      if (t2 == null)
        t2 = _this.queries;
      t1._evaluate0$_withMediaQueries$3(t2, _this.mergedSources, new A._EvaluateVisitor_visitMediaRule__closure1(t1, _this.node));
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitMediaRule__closure1.prototype = {
    call$0() {
      var t2, t3, _i,
        t1 = this.$this,
        _0_0 = t1._evaluate0$_atRootExcludingStyleRule ? null : t1._evaluate0$_styleRuleIgnoringAtRoot;
      if (_0_0 != null)
        t1._evaluate0$_withParent$2$3$scopeWhen(A.ModifiableCssStyleRule$0(_0_0._style_rule0$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitMediaRule___closure1(t1, this.node), false, type$.ModifiableCssStyleRule_2, type$.Null);
      else
        for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i)
          t2[_i].accept$1(t1);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitMediaRule___closure1.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitMediaRule_closure7.prototype = {
    call$1(node) {
      var t1;
      if (!(node instanceof A.ModifiableCssStyleRule0)) {
        t1 = this.mergedSources;
        t1 = t1.get$isNotEmpty(t1) && node instanceof A.ModifiableCssMediaRule0 && B.JSArray_methods.every$1(node.queries, t1.get$contains(t1));
      } else
        t1 = true;
      return t1;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitStyleRule_closure7.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitStyleRule_closure8.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitStyleRule_closure10.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._evaluate0$_withStyleRule$2(this.rule, new A._EvaluateVisitor_visitStyleRule__closure1(t1, this.node));
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitStyleRule__closure1.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitStyleRule_closure9.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor__warnForBogusCombinators_closure1.prototype = {
    call$1(child) {
      return child instanceof A.ModifiableCssComment0;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitSupportsRule_closure3.prototype = {
    call$0() {
      var t2, t3, _i,
        t1 = this.$this,
        _0_0 = t1._evaluate0$_atRootExcludingStyleRule ? null : t1._evaluate0$_styleRuleIgnoringAtRoot;
      if (_0_0 != null)
        t1._evaluate0$_withParent$2$2(A.ModifiableCssStyleRule$0(_0_0._style_rule0$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitSupportsRule__closure1(t1, this.node), type$.ModifiableCssStyleRule_2, type$.Null);
      else
        for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i)
          t2[_i].accept$1(t1);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitSupportsRule__closure1.prototype = {
    call$0() {
      var t1, t2, t3, _i;
      for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
        t1[_i].accept$1(t3);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitSupportsRule_closure4.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor__visitSupportsCondition_closure1.prototype = {
    call$0() {
      var t4,
        t1 = this.$this,
        t2 = this._box_0,
        t3 = t2.declaration.name;
      t3 = t1._evaluate0$_serialize$3$quote(t3.accept$1(t1), t3, true);
      t4 = t2.declaration.get$isCustomProperty() ? "" : " ";
      t2 = t2.declaration.value;
      return "(" + t3 + ":" + t4 + t1._evaluate0$_serialize$3$quote(t2.accept$1(t1), t2, true) + ")";
    },
    $signature: 26
  };
  A._EvaluateVisitor_visitVariableDeclaration_closure5.prototype = {
    call$0() {
      var t1 = this.$this._evaluate0$_environment,
        t2 = this._box_0.override;
      t1.setVariable$4$global(this.node.name, t2.value, t2.assignmentNode, true);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitVariableDeclaration_closure6.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._evaluate0$_environment.getVariable$2$namespace(t1.name, t1.namespace);
    },
    $signature: 41
  };
  A._EvaluateVisitor_visitVariableDeclaration_closure7.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = this.node;
      t1._evaluate0$_environment.setVariable$5$global$namespace(t2.name, this.value, t1._evaluate0$_expressionNode$1(t2.expression), t2.isGlobal, t2.namespace);
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitUseRule_closure1.prototype = {
    call$2(module, firstLoad) {
      var t1, t2, t3, _0_0, t4, t5, span;
      if (firstLoad)
        this.$this._evaluate0$_registerCommentsForModule$1(module);
      t1 = this.$this._evaluate0$_environment;
      t2 = this.node;
      t3 = t2.namespace;
      if (t3 == null) {
        t1._environment0$_globalModules.$indexSet(0, module, t2);
        t1._environment0$_allModules.push(module);
        _0_0 = A.IterableExtension_firstWhereOrNull(J.get$keys$z(B.JSArray_methods.get$first(t1._environment0$_variables)), module.get$variables().get$containsKey());
        if (_0_0 != null)
          A.throwExpression(A.SassScriptException$0(string$.This_ma + _0_0 + '".', null));
      } else {
        t4 = t1._environment0$_modules;
        if (t4.containsKey$1(t3)) {
          t5 = t1._environment0$_namespaceNodes.$index(0, t3);
          span = t5 == null ? null : t5.span;
          t5 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String);
          if (span != null)
            t5.$indexSet(0, span, "original @use");
          A.throwExpression(A.MultiSpanSassScriptException$0(string$.There_ + t3 + '".', "new @use", t5));
        }
        t4.$indexSet(0, t3, module);
        t1._environment0$_namespaceNodes.$indexSet(0, t3, t2);
        t1._environment0$_allModules.push(module);
      }
    },
    $signature: 80
  };
  A._EvaluateVisitor_visitWarnRule_closure1.prototype = {
    call$0() {
      return this.node.expression.accept$1(this.$this);
    },
    $signature: 47
  };
  A._EvaluateVisitor_visitWhileRule_closure1.prototype = {
    call$0() {
      var t1, t2, t3, _0_0;
      for (t1 = this.node, t2 = t1.condition, t3 = this.$this, t1 = t1.children; t2.accept$1(t3).get$isTruthy();) {
        _0_0 = t3._evaluate0$_handleReturn$2(t1, new A._EvaluateVisitor_visitWhileRule__closure1(t3));
        if (_0_0 != null)
          return _0_0;
      }
      return null;
    },
    $signature: 41
  };
  A._EvaluateVisitor_visitWhileRule__closure1.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 101
  };
  A._EvaluateVisitor_visitBinaryOperationExpression_closure1.prototype = {
    call$0() {
      var t1 = this.node,
        t2 = this.$this,
        left = t1.left.accept$1(t2);
      switch (t1.operator) {
        case B.BinaryOperator_wdM0:
          t1 = t1.right.accept$1(t2);
          t1 = new A.SassString0(A.serializeValue0(left, false, true) + "=" + A.serializeValue0(t1, false, true), false);
          break;
        case B.BinaryOperator_qNM0:
          t1 = left.get$isTruthy() ? left : t1.right.accept$1(t2);
          break;
        case B.BinaryOperator_eDt0:
          t1 = left.get$isTruthy() ? t1.right.accept$1(t2) : left;
          break;
        case B.BinaryOperator_g8k0:
          t1 = left.$eq(0, t1.right.accept$1(t2)) ? B.SassBoolean_true0 : B.SassBoolean_false0;
          break;
        case B.BinaryOperator_icU0:
          t1 = !left.$eq(0, t1.right.accept$1(t2)) ? B.SassBoolean_true0 : B.SassBoolean_false0;
          break;
        case B.BinaryOperator_bEa0:
          t1 = left.greaterThan$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_oEm0:
          t1 = left.greaterThanOrEquals$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_miq0:
          t1 = left.lessThan$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_SPQ0:
          t1 = left.lessThanOrEquals$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_u150:
          t1 = left.plus$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_SjO0:
          t1 = left.minus$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_2No0:
          t1 = left.times$1(t1.right.accept$1(t2));
          break;
        case B.BinaryOperator_U770:
          t1 = t2._evaluate0$_slash$3(left, t1.right.accept$1(t2), t1);
          break;
        case B.BinaryOperator_KNx0:
          t1 = left.modulo$1(t1.right.accept$1(t2));
          break;
        default:
          t1 = null;
      }
      return t1;
    },
    $signature: 47
  };
  A._EvaluateVisitor__slash_recommendation1.prototype = {
    call$1(expression) {
      var t1;
      $label0$0: {
        if (expression instanceof A.BinaryOperationExpression0 && B.BinaryOperator_U770 === expression.operator) {
          t1 = "math.div(" + A.S(this.call$1(expression.left)) + ", " + A.S(this.call$1(expression.right)) + ")";
          break $label0$0;
        }
        if (expression instanceof A.ParenthesizedExpression0) {
          t1 = expression.expression.toString$0(0);
          break $label0$0;
        }
        t1 = expression.toString$0(0);
        break $label0$0;
      }
      return t1;
    },
    $signature: 107
  };
  A._EvaluateVisitor_visitVariableExpression_closure1.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._evaluate0$_environment.getVariable$2$namespace(t1.name, t1.namespace);
    },
    $signature: 41
  };
  A._EvaluateVisitor_visitUnaryOperationExpression_closure1.prototype = {
    call$0() {
      var t1, _this = this;
      switch (_this.node.operator) {
        case B.UnaryOperator_cLp0:
          t1 = _this.operand.unaryPlus$0();
          break;
        case B.UnaryOperator_AiQ0:
          t1 = _this.operand.unaryMinus$0();
          break;
        case B.UnaryOperator_SJr0:
          t1 = new A.SassString0("/" + A.serializeValue0(_this.operand, false, true), false);
          break;
        case B.UnaryOperator_not_not_not0:
          t1 = _this.operand.unaryNot$0();
          break;
        default:
          t1 = null;
      }
      return t1;
    },
    $signature: 47
  };
  A._EvaluateVisitor_visitListExpression_closure1.prototype = {
    call$1(expression) {
      return expression.accept$1(this.$this);
    },
    $signature: 437
  };
  A._EvaluateVisitor_visitFunctionExpression_closure5.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._evaluate0$_environment.getFunction$2$namespace(t1.name, t1.namespace);
    },
    $signature: 85
  };
  A._EvaluateVisitor_visitFunctionExpression_closure6.prototype = {
    call$1(argument) {
      return argument.accept$1(new A._IsCalculationSafeVisitor0());
    },
    $signature: 132
  };
  A._EvaluateVisitor_visitFunctionExpression_closure7.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._evaluate0$_runFunctionCallable$3(t1.$arguments, this._box_0.$function, t1);
    },
    $signature: 47
  };
  A._EvaluateVisitor__checkCalculationArguments_check1.prototype = {
    call$1(maxArgs) {
      var t1 = this.node,
        t2 = t1.$arguments.positional.length;
      if (t2 === 0)
        throw A.wrapException(this.$this._evaluate0$_exception$2("Missing argument.", t1.span));
      else if (maxArgs != null && t2 > maxArgs)
        throw A.wrapException(this.$this._evaluate0$_exception$2("Only " + A.S(maxArgs) + " " + A.pluralize0("argument", maxArgs, null) + " allowed, but " + t2 + " " + A.pluralize0("was", t2, "were") + " passed.", t1.span));
    },
    call$0() {
      return this.call$1(null);
    },
    $signature: 96
  };
  A._EvaluateVisitor__visitCalculationExpression_closure1.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this._box_0,
        t3 = _this.inLegacySassFunction;
      return A.SassCalculation_operateInternal0(t1._evaluate0$_binaryOperatorToCalculationOperator$2(t2.operator, _this.node), t1._evaluate0$_visitCalculationExpression$2$inLegacySassFunction(t2.left, t3), t1._evaluate0$_visitCalculationExpression$2$inLegacySassFunction(t2.right, t3), t3, !t1._evaluate0$_inSupportsDeclaration);
    },
    $signature: 79
  };
  A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure1.prototype = {
    call$0() {
      var t1 = this.node;
      return this.$this._evaluate0$_runFunctionCallable$3(t1.$arguments, this.$function, t1);
    },
    $signature: 47
  };
  A._EvaluateVisitor__runUserDefinedCallable_closure1.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.callable;
      return t1._evaluate0$_withEnvironment$2(t2.environment.closure$0(), new A._EvaluateVisitor__runUserDefinedCallable__closure1(t1, _this.evaluated, t2, _this.nodeWithSpan, _this.run, _this.V));
    },
    $signature() {
      return this.V._eval$1("0()");
    }
  };
  A._EvaluateVisitor__runUserDefinedCallable__closure1.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.V;
      return t1._evaluate0$_environment.scope$1$1(new A._EvaluateVisitor__runUserDefinedCallable___closure1(t1, _this.evaluated, _this.callable, _this.nodeWithSpan, _this.run, t2), t2);
    },
    $signature() {
      return this.V._eval$1("0()");
    }
  };
  A._EvaluateVisitor__runUserDefinedCallable___closure1.prototype = {
    call$0() {
      var declaredArguments, t5, minLength, i, argument, t6, t7, value, t8, restArgument, rest, argumentList, result, argumentWord, _this = this,
        t1 = _this.$this,
        t2 = _this.evaluated._values,
        t3 = _this.callable.declaration.$arguments,
        t4 = _this.nodeWithSpan;
      t1._evaluate0$_verifyArguments$4(J.get$length$asx(t2[2]), t2[0], t3, t4);
      declaredArguments = t3.$arguments;
      t5 = declaredArguments.length;
      minLength = Math.min(J.get$length$asx(t2[2]), t5);
      for (i = 0; i < minLength; ++i)
        t1._evaluate0$_environment.setLocalVariable$3(declaredArguments[i].name, J.$index$asx(t2[2], i), J.$index$asx(t2[3], i));
      for (i = J.get$length$asx(t2[2]); i < t5; ++i) {
        argument = declaredArguments[i];
        t6 = t2[0];
        t7 = argument.name;
        value = J.remove$1$z(t6, t7);
        if (value == null) {
          t6 = argument.defaultValue;
          value = t1._evaluate0$_withoutSlash$2(t6.accept$1(t1), t1._evaluate0$_expressionNode$1(t6));
        }
        t6 = t1._evaluate0$_environment;
        t8 = J.$index$asx(t2[1], t7);
        if (t8 == null) {
          t8 = argument.defaultValue;
          t8.toString;
          t8 = t1._evaluate0$_expressionNode$1(t8);
        }
        t6.setLocalVariable$3(t7, value, t8);
      }
      restArgument = t3.restArgument;
      if (restArgument != null) {
        rest = J.get$length$asx(t2[2]) > t5 ? J.sublist$1$ax(t2[2], t5) : B.List_empty19;
        t5 = t2[0];
        t6 = t2[4];
        argumentList = A.SassArgumentList$0(rest, t5, t6 === B.ListSeparator_undecided_null_undecided0 ? B.ListSeparator_ECn0 : t6);
        t1._evaluate0$_environment.setLocalVariable$3(restArgument, argumentList, t4);
      } else
        argumentList = null;
      result = _this.run.call$0();
      if (argumentList == null)
        return result;
      t5 = t2[0].__js_helper$_length;
      if (t5 === 0)
        return result;
      if (argumentList._argument_list$_wereKeywordsAccessed)
        return result;
      argumentWord = A.pluralize0("argument", t5, null);
      t2 = t2[0];
      t5 = A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>");
      throw A.wrapException(A.MultiSpanSassRuntimeException$0("No " + argumentWord + " named " + A.toSentence0(A.MappedIterable_MappedIterable(new A.LinkedHashMapKeyIterable(t2, t5), new A._EvaluateVisitor__runUserDefinedCallable____closure1(), t5._eval$1("Iterable.E"), type$.Object), "or") + ".", t4.get$span(t4), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([t3.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), t1._evaluate0$_stackTrace$1(t4.get$span(t4)), null));
    },
    $signature() {
      return this.V._eval$1("0()");
    }
  };
  A._EvaluateVisitor__runUserDefinedCallable____closure1.prototype = {
    call$1($name) {
      return "$" + $name;
    },
    $signature: 5
  };
  A._EvaluateVisitor__runFunctionCallable_closure1.prototype = {
    call$0() {
      var t1, t2, t3, t4, _i, $returnValue;
      for (t1 = this.callable.declaration, t2 = t1.children, t3 = t2.length, t4 = this.$this, _i = 0; _i < t3; ++_i) {
        $returnValue = t2[_i].accept$1(t4);
        if ($returnValue instanceof A.Value0)
          return $returnValue;
      }
      throw A.wrapException(t4._evaluate0$_exception$2("Function finished without @return.", t1.span));
    },
    $signature: 47
  };
  A._EvaluateVisitor__runBuiltInCallable_closure5.prototype = {
    call$0() {
      return this._box_0.overload.verify$2(J.get$length$asx(this.evaluated._values[2]), this.namedSet);
    },
    $signature: 0
  };
  A._EvaluateVisitor__runBuiltInCallable_closure6.prototype = {
    call$0() {
      return this._box_0.callback.call$1(this.evaluated._values[2]);
    },
    $signature: 47
  };
  A._EvaluateVisitor__runBuiltInCallable_closure7.prototype = {
    call$1($name) {
      return "$" + $name;
    },
    $signature: 5
  };
  A._EvaluateVisitor__evaluateArguments_closure7.prototype = {
    call$1(value) {
      return value;
    },
    $signature: 42
  };
  A._EvaluateVisitor__evaluateArguments_closure8.prototype = {
    call$1(value) {
      return this.$this._evaluate0$_withoutSlash$2(value, this.restNodeForSpan);
    },
    $signature: 42
  };
  A._EvaluateVisitor__evaluateArguments_closure9.prototype = {
    call$2(key, value) {
      var _this = this,
        t1 = _this.restNodeForSpan;
      _this.named.$indexSet(0, key, _this.$this._evaluate0$_withoutSlash$2(value, t1));
      _this.namedNodes.$indexSet(0, key, t1);
    },
    $signature: 103
  };
  A._EvaluateVisitor__evaluateArguments_closure10.prototype = {
    call$1(value) {
      return value;
    },
    $signature: 42
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure7.prototype = {
    call$1(value) {
      var t1 = this.restArgs;
      return new A.ValueExpression0(value, t1.get$span(t1));
    },
    $signature: 63
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure8.prototype = {
    call$1(value) {
      var t1 = this.restArgs;
      return new A.ValueExpression0(this.$this._evaluate0$_withoutSlash$2(value, this.restNodeForSpan), t1.get$span(t1));
    },
    $signature: 63
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure9.prototype = {
    call$2(key, value) {
      var _this = this,
        t1 = _this.restArgs;
      _this.named.$indexSet(0, key, new A.ValueExpression0(_this.$this._evaluate0$_withoutSlash$2(value, _this.restNodeForSpan), t1.get$span(t1)));
    },
    $signature: 103
  };
  A._EvaluateVisitor__evaluateMacroArguments_closure10.prototype = {
    call$1(value) {
      var t1 = this.keywordRestArgs;
      return new A.ValueExpression0(this.$this._evaluate0$_withoutSlash$2(value, this.keywordRestNodeForSpan), t1.get$span(t1));
    },
    $signature: 63
  };
  A._EvaluateVisitor__addRestMap_closure1.prototype = {
    call$2(key, value) {
      var t2, _this = this,
        t1 = _this.$this;
      if (key instanceof A.SassString0)
        _this.values.$indexSet(0, key._string0$_text, _this.convert.call$1(t1._evaluate0$_withoutSlash$2(value, _this.expressionNode)));
      else {
        t2 = _this.nodeWithSpan;
        throw A.wrapException(t1._evaluate0$_exception$2(string$.Variab_ + key.toString$0(0) + " is not a string in " + _this.map.toString$0(0) + ".", t2.get$span(t2)));
      }
    },
    $signature: 76
  };
  A._EvaluateVisitor__verifyArguments_closure1.prototype = {
    call$0() {
      return this.$arguments.verify$2(this.positional, new A.MapKeySet(this.named, type$.MapKeySet_String));
    },
    $signature: 0
  };
  A._EvaluateVisitor_visitCssAtRule_closure3.prototype = {
    call$0() {
      var t1, t2, t3, t4;
      for (t1 = this.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = this.$this, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        (t4 == null ? t2._as(t4) : t4).accept$1(t3);
      }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssAtRule_closure4.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitCssKeyframeBlock_closure3.prototype = {
    call$0() {
      var t1, t2, t3, t4;
      for (t1 = this.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = this.$this, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        (t4 == null ? t2._as(t4) : t4).accept$1(t3);
      }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssKeyframeBlock_closure4.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitCssMediaRule_closure5.prototype = {
    call$1(mediaQueries) {
      return this.$this._evaluate0$_mergeMediaQueries$2(mediaQueries, this.node.queries);
    },
    $signature: 100
  };
  A._EvaluateVisitor_visitCssMediaRule_closure6.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.mergedQueries;
      if (t2 == null)
        t2 = _this.node.queries;
      t1._evaluate0$_withMediaQueries$3(t2, _this.mergedSources, new A._EvaluateVisitor_visitCssMediaRule__closure1(t1, _this.node));
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssMediaRule__closure1.prototype = {
    call$0() {
      var t2, t3, t4,
        t1 = this.$this,
        _0_0 = t1._evaluate0$_atRootExcludingStyleRule ? null : t1._evaluate0$_styleRuleIgnoringAtRoot;
      if (_0_0 != null)
        t1._evaluate0$_withParent$2$3$scopeWhen(A.ModifiableCssStyleRule$0(_0_0._style_rule0$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitCssMediaRule___closure1(t1, this.node), false, type$.ModifiableCssStyleRule_2, type$.Null);
      else
        for (t2 = this.node.children, t3 = t2.$ti, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t3 = t3._eval$1("ListBase.E"); t2.moveNext$0();) {
          t4 = t2.__internal$_current;
          (t4 == null ? t3._as(t4) : t4).accept$1(t1);
        }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssMediaRule___closure1.prototype = {
    call$0() {
      var t1, t2, t3, t4;
      for (t1 = this.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = this.$this, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        (t4 == null ? t2._as(t4) : t4).accept$1(t3);
      }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssMediaRule_closure7.prototype = {
    call$1(node) {
      var t1;
      if (!(node instanceof A.ModifiableCssStyleRule0)) {
        t1 = this.mergedSources;
        t1 = t1.get$isNotEmpty(t1) && node instanceof A.ModifiableCssMediaRule0 && B.JSArray_methods.every$1(node.queries, t1.get$contains(t1));
      } else
        t1 = true;
      return t1;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitCssStyleRule_closure4.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._evaluate0$_withStyleRule$2(this.rule, new A._EvaluateVisitor_visitCssStyleRule__closure1(t1, this.node));
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssStyleRule__closure1.prototype = {
    call$0() {
      var t1, t2, t3, t4;
      for (t1 = this.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = this.$this, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        (t4 == null ? t2._as(t4) : t4).accept$1(t3);
      }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssStyleRule_closure3.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor_visitCssSupportsRule_closure3.prototype = {
    call$0() {
      var t2, t3, t4,
        t1 = this.$this,
        _0_0 = t1._evaluate0$_atRootExcludingStyleRule ? null : t1._evaluate0$_styleRuleIgnoringAtRoot;
      if (_0_0 != null)
        t1._evaluate0$_withParent$2$2(A.ModifiableCssStyleRule$0(_0_0._style_rule0$_selector, _0_0.span, false, _0_0.originalSelector), new A._EvaluateVisitor_visitCssSupportsRule__closure1(t1, this.node), type$.ModifiableCssStyleRule_2, type$.Null);
      else
        for (t2 = this.node.children, t3 = t2.$ti, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t3 = t3._eval$1("ListBase.E"); t2.moveNext$0();) {
          t4 = t2.__internal$_current;
          (t4 == null ? t3._as(t4) : t4).accept$1(t1);
        }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssSupportsRule__closure1.prototype = {
    call$0() {
      var t1, t2, t3, t4;
      for (t1 = this.node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = this.$this, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        (t4 == null ? t2._as(t4) : t4).accept$1(t3);
      }
    },
    $signature: 1
  };
  A._EvaluateVisitor_visitCssSupportsRule_closure4.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluateVisitor__performInterpolationHelper_closure1.prototype = {
    call$1(targetLocations) {
      return A.InterpolationMap$0(this.interpolation, targetLocations);
    },
    $signature: 219
  };
  A._EvaluateVisitor__serialize_closure1.prototype = {
    call$0() {
      return A.serializeValue0(this.value, false, this.quote);
    },
    $signature: 26
  };
  A._EvaluateVisitor__expressionNode_closure1.prototype = {
    call$0() {
      var t1 = this.expression;
      return this.$this._evaluate0$_environment.getVariableNode$2$namespace(t1.name, t1.namespace);
    },
    $signature: 217
  };
  A._EvaluateVisitor__withoutSlash_recommendation1.prototype = {
    call$1(number) {
      var t1, before, after,
        _1_0 = number.asSlash;
      $label0$0: {
        if (type$.Record_2_nullable_Object_and_nullable_Object._is(_1_0)) {
          t1 = type$.SassNumber_2;
          before = t1._as(_1_0._0);
          after = t1._as(_1_0._1);
          t1 = "math.div(" + A.S(this.call$1(before)) + ", " + A.S(this.call$1(after)) + ")";
          break $label0$0;
        }
        t1 = A.serializeValue0(number, true, true);
        break $label0$0;
      }
      return t1;
    },
    $signature: 216
  };
  A._EvaluateVisitor__stackFrame_closure1.prototype = {
    call$1(url) {
      var t1 = this.$this._evaluate0$_importCache;
      t1 = t1 == null ? null : t1.humanize$1(url);
      return t1 == null ? url : t1;
    },
    $signature: 43
  };
  A._ImportedCssVisitor1.prototype = {
    visitCssAtRule$1(node) {
      var t1 = node.isChildless ? null : new A._ImportedCssVisitor_visitCssAtRule_closure1();
      this._evaluate0$_visitor._evaluate0$_addChild$2$through(node, t1);
    },
    visitCssComment$1(node) {
      return this._evaluate0$_visitor._evaluate0$_addChild$1(node);
    },
    visitCssDeclaration$1(node) {
    },
    visitCssImport$1(node) {
      var t2,
        _s13_ = "_endOfImports",
        t1 = this._evaluate0$_visitor;
      if (t1._evaluate0$_assertInModule$2(t1._evaluate0$__parent, "__parent") !== t1._evaluate0$_assertInModule$2(t1._evaluate0$__root, "_root"))
        t1._evaluate0$_addChild$1(node);
      else if (t1._evaluate0$_assertInModule$2(t1._evaluate0$__endOfImports, _s13_) === J.get$length$asx(t1._evaluate0$_assertInModule$2(t1._evaluate0$__root, "_root").children._collection$_source)) {
        t1._evaluate0$_addChild$1(node);
        t1._evaluate0$__endOfImports = t1._evaluate0$_assertInModule$2(t1._evaluate0$__endOfImports, _s13_) + 1;
      } else {
        t2 = t1._evaluate0$_outOfOrderImports;
        (t2 == null ? t1._evaluate0$_outOfOrderImports = A._setArrayType([], type$.JSArray_ModifiableCssImport_2) : t2).push(node);
      }
    },
    visitCssKeyframeBlock$1(node) {
    },
    visitCssMediaRule$1(node) {
      var t1 = this._evaluate0$_visitor,
        mediaQueries = t1._evaluate0$_mediaQueries;
      t1._evaluate0$_addChild$2$through(node, new A._ImportedCssVisitor_visitCssMediaRule_closure1(mediaQueries == null || t1._evaluate0$_mergeMediaQueries$2(mediaQueries, node.queries) != null));
    },
    visitCssStyleRule$1(node) {
      return this._evaluate0$_visitor._evaluate0$_addChild$2$through(node, new A._ImportedCssVisitor_visitCssStyleRule_closure1());
    },
    visitCssStylesheet$1(node) {
      var t1, t2, t3;
      for (t1 = node.children, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        (t3 == null ? t2._as(t3) : t3).accept$1(this);
      }
    },
    visitCssSupportsRule$1(node) {
      return this._evaluate0$_visitor._evaluate0$_addChild$2$through(node, new A._ImportedCssVisitor_visitCssSupportsRule_closure1());
    }
  };
  A._ImportedCssVisitor_visitCssAtRule_closure1.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._ImportedCssVisitor_visitCssMediaRule_closure1.prototype = {
    call$1(node) {
      var t1;
      if (!(node instanceof A.ModifiableCssStyleRule0))
        t1 = this.hasBeenMerged && node instanceof A.ModifiableCssMediaRule0;
      else
        t1 = true;
      return t1;
    },
    $signature: 8
  };
  A._ImportedCssVisitor_visitCssStyleRule_closure1.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._ImportedCssVisitor_visitCssSupportsRule_closure1.prototype = {
    call$1(node) {
      return node instanceof A.ModifiableCssStyleRule0;
    },
    $signature: 8
  };
  A._EvaluationContext1.prototype = {
    get$currentCallableSpan() {
      var _0_0 = this._evaluate0$_visitor._evaluate0$_callableNode;
      if (_0_0 != null)
        return _0_0.get$span(_0_0);
      throw A.wrapException(A.StateError$(string$.No_Sasc));
    },
    warn$2(_, message, deprecation) {
      var t1 = this._evaluate0$_visitor,
        t2 = t1._evaluate0$_importSpan;
      if (t2 == null) {
        t2 = t1._evaluate0$_callableNode;
        t2 = t2 == null ? null : t2.get$span(t2);
      }
      t1._evaluate0$_warn$3(message, t2 == null ? this._evaluate0$_defaultWarnNodeWithSpan.span : t2, deprecation);
    },
    $isEvaluationContext0: 1
  };
  A.EveryCssVisitor0.prototype = {
    visitCssAtRule$1(node) {
      var t1 = node.children;
      return t1.every$1(t1, new A.EveryCssVisitor_visitCssAtRule_closure0(this));
    },
    visitCssComment$1(node) {
      return false;
    },
    visitCssDeclaration$1(node) {
      return false;
    },
    visitCssImport$1(node) {
      return false;
    },
    visitCssKeyframeBlock$1(node) {
      var t1 = node.children;
      return t1.every$1(t1, new A.EveryCssVisitor_visitCssKeyframeBlock_closure0(this));
    },
    visitCssMediaRule$1(node) {
      var t1 = node.children;
      return t1.every$1(t1, new A.EveryCssVisitor_visitCssMediaRule_closure0(this));
    },
    visitCssStyleRule$1(node) {
      var t1 = node.children;
      return t1.every$1(t1, new A.EveryCssVisitor_visitCssStyleRule_closure0(this));
    },
    visitCssStylesheet$1(node) {
      return J.every$1$ax(node.get$children(node), new A.EveryCssVisitor_visitCssStylesheet_closure0(this));
    },
    visitCssSupportsRule$1(node) {
      var t1 = node.children;
      return t1.every$1(t1, new A.EveryCssVisitor_visitCssSupportsRule_closure0(this));
    }
  };
  A.EveryCssVisitor_visitCssAtRule_closure0.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 8
  };
  A.EveryCssVisitor_visitCssKeyframeBlock_closure0.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 8
  };
  A.EveryCssVisitor_visitCssMediaRule_closure0.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 8
  };
  A.EveryCssVisitor_visitCssStyleRule_closure0.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 8
  };
  A.EveryCssVisitor_visitCssStylesheet_closure0.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 8
  };
  A.EveryCssVisitor_visitCssSupportsRule_closure0.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature: 8
  };
  A._NodeException.prototype = {};
  A.exceptionClass_closure.prototype = {
    call$0() {
      var jsClass = type$.JSClass._as(new self.Function("", "    return class Exception extends Error {\n      constructor(dartException, message) {\n        super(message);\n\n        // Define this as non-enumerable so that it doesn't show up when the\n        // exception hits the top level.\n        Object.defineProperty(this, '_dartException', {\n          value: dartException,\n          enumerable: false\n        });\n      }\n\n      toString() {\n        return this.message;\n      }\n    }\n  ").call$0());
      A.defineGetter(jsClass, "name", null, "sass.Exception");
      A.LinkedHashMap_LinkedHashMap$_literal(["sassMessage", new A.exceptionClass__closure(), "sassStack", new A.exceptionClass__closure0(), "span", new A.exceptionClass__closure1()], type$.String, type$.Function).forEach$1(0, A.JSClassExtension_get_defineGetter(jsClass));
      return jsClass;
    },
    $signature: 15
  };
  A.exceptionClass__closure.prototype = {
    call$1(exception) {
      return J.get$_dartException$x(exception)._span_exception$_message;
    },
    $signature: 262
  };
  A.exceptionClass__closure0.prototype = {
    call$1(exception) {
      return J.get$trace$z(J.get$_dartException$x(exception)).toString$0(0);
    },
    $signature: 262
  };
  A.exceptionClass__closure1.prototype = {
    call$1(exception) {
      var t1 = J.get$_dartException$x(exception),
        t2 = J.getInterceptor$z(t1);
      return A.SourceSpanException.prototype.get$span.call(t2, t1);
    },
    $signature: 439
  };
  A.SassException0.prototype = {
    get$trace(_) {
      return A.Trace$(A._setArrayType([A.frameForSpan0(A.SourceSpanException.prototype.get$span.call(this, 0), "root stylesheet", null)], type$.JSArray_Frame), null);
    },
    get$span(_) {
      return A.SourceSpanException.prototype.get$span.call(this, 0);
    },
    withAdditionalSpan$2(span, label) {
      return A.MultiSpanSassException$0(this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(this, 0), "", A.LinkedHashMap_LinkedHashMap$_literal([span, label], type$.FileSpan, type$.String), this.loadedUrls);
    },
    withTrace$1(trace) {
      var t1 = A.SourceSpanException.prototype.get$span.call(this, 0),
        t2 = A.Set_Set$unmodifiable(this.loadedUrls, type$.Uri);
      return new A.SassRuntimeException0(trace, t2, this._span_exception$_message, t1);
    },
    withLoadedUrls$1(loadedUrls) {
      var t1 = A.SourceSpanException.prototype.get$span.call(this, 0),
        t2 = A.Set_Set$unmodifiable(loadedUrls, type$.Uri);
      return new A.SassException0(t2, this._span_exception$_message, t1);
    },
    toString$1$color(_, color) {
      var t2, _i, frame, t3, _this = this,
        buffer = new A.StringBuffer(""),
        t1 = "" + ("Error: " + _this._span_exception$_message + "\n");
      buffer._contents = t1;
      buffer._contents = t1 + A.SourceSpanException.prototype.get$span.call(_this, 0).highlight$1$color(color);
      for (t1 = _this.get$trace(_this).toString$0(0).split("\n"), t2 = t1.length, _i = 0; _i < t2; ++_i) {
        frame = t1[_i];
        if (J.get$length$asx(frame) === 0)
          continue;
        t3 = buffer._contents += "\n";
        buffer._contents = t3 + ("  " + A.S(frame));
      }
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    toString$0(_) {
      return this.toString$1$color(0, null);
    }
  };
  A.MultiSpanSassException0.prototype = {
    withAdditionalSpan$2(span, label) {
      var _this = this,
        t1 = A.SourceSpanException.prototype.get$span.call(_this, 0),
        t2 = A.LinkedHashMap_LinkedHashMap$of(_this.secondarySpans, type$.FileSpan, type$.String);
      t2.$indexSet(0, span, label);
      return A.MultiSpanSassException$0(_this._span_exception$_message, t1, _this.primaryLabel, t2, _this.loadedUrls);
    },
    withTrace$1(trace) {
      var _this = this;
      return A.MultiSpanSassRuntimeException$0(_this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(_this, 0), _this.primaryLabel, _this.secondarySpans, trace, _this.loadedUrls);
    },
    withLoadedUrls$1(loadedUrls) {
      var _this = this;
      return A.MultiSpanSassException$0(_this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(_this, 0), _this.primaryLabel, _this.secondarySpans, loadedUrls);
    },
    toString$1$color(_, color) {
      var t1, t2, _i, frame, t3, _this = this,
        useColor = color === true,
        buffer = new A.StringBuffer("Error: " + _this._span_exception$_message + "\n");
      A.NullableExtension_andThen0(A.Highlighter$multiple(A.SourceSpanException.prototype.get$span.call(_this, 0), _this.primaryLabel, _this.secondarySpans, useColor, null, null).highlight$0(), buffer.get$write(buffer));
      for (t1 = _this.get$trace(_this).toString$0(0).split("\n"), t2 = t1.length, _i = 0; _i < t2; ++_i) {
        frame = t1[_i];
        if (J.get$length$asx(frame) === 0)
          continue;
        buffer._contents += "\n";
        t3 = "  " + A.S(frame);
        buffer._contents += t3;
      }
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    toString$0(_) {
      return this.toString$1$color(0, null);
    },
    get$primaryLabel() {
      return this.primaryLabel;
    },
    get$secondarySpans() {
      return this.secondarySpans;
    }
  };
  A.SassRuntimeException0.prototype = {
    withAdditionalSpan$2(span, label) {
      var _this = this;
      return A.MultiSpanSassRuntimeException$0(_this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(_this, 0), "", A.LinkedHashMap_LinkedHashMap$_literal([span, label], type$.FileSpan, type$.String), _this.trace, _this.loadedUrls);
    },
    withLoadedUrls$1(loadedUrls) {
      var t1 = A.SourceSpanException.prototype.get$span.call(this, 0),
        t2 = A.Set_Set$unmodifiable(loadedUrls, type$.Uri);
      return new A.SassRuntimeException0(this.trace, t2, this._span_exception$_message, t1);
    },
    get$trace(receiver) {
      return this.trace;
    }
  };
  A.MultiSpanSassRuntimeException0.prototype = {
    withAdditionalSpan$2(span, label) {
      var _this = this,
        t1 = A.SourceSpanException.prototype.get$span.call(_this, 0),
        t2 = A.LinkedHashMap_LinkedHashMap$of(_this.secondarySpans, type$.FileSpan, type$.String);
      t2.$indexSet(0, span, label);
      return A.MultiSpanSassRuntimeException$0(_this._span_exception$_message, t1, _this.primaryLabel, t2, _this.trace, _this.loadedUrls);
    },
    withLoadedUrls$1(loadedUrls) {
      var _this = this;
      return A.MultiSpanSassRuntimeException$0(_this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(_this, 0), _this.primaryLabel, _this.secondarySpans, _this.trace, loadedUrls);
    },
    $isSassRuntimeException0: 1,
    get$trace(receiver) {
      return this.trace;
    }
  };
  A.SassFormatException0.prototype = {
    get$source() {
      var t1 = A.SourceSpanException.prototype.get$span.call(this, 0);
      return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.get$file(t1)._decodedChars, 0, null), 0, null);
    },
    withAdditionalSpan$2(span, label) {
      return A.MultiSpanSassFormatException$0(this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(this, 0), "", A.LinkedHashMap_LinkedHashMap$_literal([span, label], type$.FileSpan, type$.String), this.loadedUrls);
    },
    withLoadedUrls$1(loadedUrls) {
      var t1 = A.SourceSpanException.prototype.get$span.call(this, 0),
        t2 = A.Set_Set$unmodifiable(loadedUrls, type$.Uri);
      return new A.SassFormatException0(t2, this._span_exception$_message, t1);
    },
    $isFormatException: 1,
    $isSourceSpanFormatException: 1
  };
  A.MultiSpanSassFormatException0.prototype = {
    get$source() {
      var t1 = A.SourceSpanException.prototype.get$span.call(this, 0);
      return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.get$file(t1)._decodedChars, 0, null), 0, null);
    },
    withAdditionalSpan$2(span, label) {
      var _this = this,
        t1 = A.SourceSpanException.prototype.get$span.call(_this, 0),
        t2 = A.LinkedHashMap_LinkedHashMap$of(_this.secondarySpans, type$.FileSpan, type$.String);
      t2.$indexSet(0, span, label);
      return A.MultiSpanSassFormatException$0(_this._span_exception$_message, t1, _this.primaryLabel, t2, _this.loadedUrls);
    },
    withLoadedUrls$1(loadedUrls) {
      var _this = this;
      return A.MultiSpanSassFormatException$0(_this._span_exception$_message, A.SourceSpanException.prototype.get$span.call(_this, 0), _this.primaryLabel, _this.secondarySpans, loadedUrls);
    },
    $isFormatException: 1,
    $isSourceSpanFormatException: 1,
    $isMultiSourceSpanFormatException: 1,
    $isSassFormatException0: 1
  };
  A.SassScriptException0.prototype = {
    withSpan$1(span) {
      return new A.SassException0(B.Set_empty, this.message, span);
    },
    toString$0(_) {
      return this.message + string$.x0a_BUG_;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.MultiSpanSassScriptException0.prototype = {
    withSpan$1(span) {
      return A.MultiSpanSassException$0(this.message, span, this.primaryLabel, this.secondarySpans, null);
    }
  };
  A.Exports.prototype = {};
  A.LoggerNamespace.prototype = {};
  A._IsCalculationSafeVisitor0.prototype = {
    visitBinaryOperationExpression$1(node) {
      var t1;
      if (B.Set_mqKz0.contains$1(0, node.operator))
        t1 = node.left.accept$1(this) || node.right.accept$1(this);
      else
        t1 = false;
      return t1;
    },
    visitBooleanExpression$1(node) {
      return false;
    },
    visitColorExpression$1(node) {
      return false;
    },
    visitFunctionExpression$1(node) {
      return true;
    },
    visitInterpolatedFunctionExpression$1(node) {
      return true;
    },
    visitIfExpression$1(node) {
      return true;
    },
    visitListExpression$1(node) {
      var t1;
      if (node.separator === B.ListSeparator_nbm0)
        if (!node.hasBrackets) {
          t1 = node.contents;
          t1 = t1.length > 1 && B.JSArray_methods.every$1(t1, new A._IsCalculationSafeVisitor_visitListExpression_closure0(this));
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    visitMapExpression$1(node) {
      return false;
    },
    visitNullExpression$1(node) {
      return false;
    },
    visitNumberExpression$1(node) {
      return true;
    },
    visitParenthesizedExpression$1(node) {
      return node.expression.accept$1(this);
    },
    visitSelectorExpression$1(node) {
      return false;
    },
    visitStringExpression$1(node) {
      var text, t1, t2;
      if (node.hasQuotes)
        return false;
      text = node.text.get$initialPlain();
      if (!B.JSString_methods.startsWith$1(text, "!"))
        if (!B.JSString_methods.startsWith$1(text, "#")) {
          t1 = text.length;
          if ((1 >= t1 ? null : text.charCodeAt(1)) !== 43) {
            t2 = (3 >= t1 ? null : text.charCodeAt(3)) !== 40;
            t1 = t2;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    visitSupportsExpression$1(node) {
      return false;
    },
    visitUnaryOperationExpression$1(node) {
      return false;
    },
    visitValueExpression$1(node) {
      return false;
    },
    visitVariableExpression$1(node) {
      return true;
    }
  };
  A._IsCalculationSafeVisitor_visitListExpression_closure0.prototype = {
    call$1(expression) {
      return expression.accept$1(this.$this);
    },
    $signature: 132
  };
  A._MakeExpressionCalculationSafe0.prototype = {
    visitBinaryOperationExpression$1(node) {
      var t1, t2, t3, t4;
      if (node.operator === B.BinaryOperator_KNx0) {
        t1 = A._setArrayType([node], type$.JSArray_Expression_2);
        t2 = node.get$span(0);
        t3 = type$.Expression_2;
        t1 = A.List_List$unmodifiable(t1, t3);
        t3 = A.ConstantMap_ConstantMap$from(B.Map_empty14, type$.String, t3);
        t4 = node.get$span(0);
        t1 = new A.FunctionExpression0("math", A.stringReplaceAllUnchecked("max", "_", "-"), "max", new A.ArgumentInvocation0(t1, t3, null, null, t2), t4);
      } else
        t1 = this.super$ReplaceExpressionVisitor$visitBinaryOperationExpression0(node);
      return t1;
    },
    visitInterpolatedFunctionExpression$1(node) {
      return node;
    },
    visitUnaryOperationExpression$1(node) {
      var t1,
        _0_0 = node.operator;
      $label0$0: {
        if (B.UnaryOperator_cLp0 === _0_0) {
          t1 = node.operand;
          break $label0$0;
        }
        if (B.UnaryOperator_AiQ0 === _0_0) {
          t1 = new A.BinaryOperationExpression0(B.BinaryOperator_2No0, new A.NumberExpression0(-1, null, node.span), node.operand, false);
          break $label0$0;
        }
        t1 = this.super$ReplaceExpressionVisitor$visitUnaryOperationExpression0(node);
        break $label0$0;
      }
      return t1;
    }
  };
  A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor0.prototype = {};
  A.ExtendRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitExtendRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.selector.toString$0(0),
        t2 = this.isOptional ? " !optional" : "";
      return "@extend " + t1 + t2 + ";";
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.Extension0.prototype = {
    toString$0(_) {
      var t1 = this.extender.toString$0(0),
        t2 = this.target.toString$0(0),
        t3 = this.isOptional ? " !optional" : "";
      return t1 + " {@extend " + t2 + t3 + "}";
    }
  };
  A.Extender0.prototype = {
    assertCompatibleMediaContext$1(mediaContext) {
      var expectedMediaContext,
        extension = this._extension$_extension;
      if (extension == null)
        return;
      expectedMediaContext = extension.mediaContext;
      if (expectedMediaContext == null)
        return;
      if (mediaContext != null && B.C_ListEquality.equals$2(0, expectedMediaContext, mediaContext))
        return;
      throw A.wrapException(A.SassException$0(string$.You_ma, extension.span, null));
    },
    toString$0(_) {
      return A.serializeSelector0(this.selector, true);
    }
  };
  A.ExtensionStore0.prototype = {
    get$isEmpty(_) {
      return this._extension_store$_extensions.__js_helper$_length === 0;
    },
    get$simpleSelectors() {
      return new A.MapKeySet(this._extension_store$_selectors, type$.MapKeySet_SimpleSelector_2);
    },
    extensionsWhereTarget$1(callback) {
      return new A._SyncStarIterable(this.extensionsWhereTarget$body$ExtensionStore0(callback), type$._SyncStarIterable_Extension_2);
    },
    extensionsWhereTarget$body$ExtensionStore0($async$callback) {
      var $async$self = this;
      return function() {
        var callback = $async$callback;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, simple, sources, t3;
        return function $async$extensionsWhereTarget$1($async$iterator, $async$errorCode, $async$result) {
          if ($async$errorCode === 1) {
            $async$currentError = $async$result;
            $async$goto = $async$handler;
          }
          while (true)
            switch ($async$goto) {
              case 0:
                // Function start
                t1 = A.MapExtensions_get_pairs0($async$self._extension_store$_extensions, type$.SimpleSelector_2, type$.Map_ComplexSelector_Extension_2), t1 = t1.get$iterator(t1);
              case 2:
                // for condition
                if (!t1.moveNext$0()) {
                  // goto after for
                  $async$goto = 3;
                  break;
                }
                t2 = t1.get$current(t1);
                simple = t2._0;
                sources = t2._1;
                if (!callback.call$1(simple)) {
                  // goto for condition
                  $async$goto = 2;
                  break;
                }
                t2 = sources.get$values(sources), t2 = t2.get$iterator(t2);
              case 4:
                // for condition
                if (!t2.moveNext$0()) {
                  // goto after for
                  $async$goto = 5;
                  break;
                }
                t3 = t2.get$current(t2);
                $async$goto = t3 instanceof A.MergedExtension0 ? 6 : 8;
                break;
              case 6:
                // then
                t3 = t3.unmerge$0();
                $async$goto = 9;
                return $async$iterator._yieldStar$1(new A.WhereIterable(t3, new A.ExtensionStore_extensionsWhereTarget_closure0(), t3.$ti._eval$1("WhereIterable")));
              case 9:
                // after yield
                // goto join
                $async$goto = 7;
                break;
              case 8:
                // else
                $async$goto = !t3.isOptional ? 10 : 11;
                break;
              case 10:
                // then
                $async$goto = 12;
                return $async$iterator._async$_current = t3, 1;
              case 12:
                // after yield
              case 11:
                // join
              case 7:
                // join
                // goto for condition
                $async$goto = 4;
                break;
              case 5:
                // after for
                // goto for condition
                $async$goto = 2;
                break;
              case 3:
                // after for
                // implicit return
                return 0;
              case 1:
                // rethrow
                return $async$iterator._datum = $async$currentError, 3;
            }
        };
      };
    },
    addSelector$2(selector, mediaContext) {
      var originalSelector, error, stackTrace, t1, exception, t2, t3, t4, modifiableSelector, _this = this;
      selector = selector;
      originalSelector = selector;
      if (!originalSelector.accept$1(B._IsInvisibleVisitor_true0))
        _this._extension_store$_originals.addAll$1(0, originalSelector.components);
      t1 = _this._extension_store$_extensions;
      if (t1.__js_helper$_length !== 0)
        try {
          selector = _this._extension_store$_extendList$3(originalSelector, t1, mediaContext);
        } catch (exception) {
          t1 = A.unwrapException(exception);
          if (t1 instanceof A.SassException0) {
            error = t1;
            stackTrace = A.getTraceFromException(exception);
            t1 = error;
            t2 = J.getInterceptor$z(t1);
            t1 = A.SourceSpanException.prototype.get$span.call(t2, t1).message$1(0, "");
            t2 = error._span_exception$_message;
            t3 = error;
            t4 = J.getInterceptor$z(t3);
            t3 = A.SourceSpanException.prototype.get$span.call(t4, t3);
            A.throwWithTrace0(new A.SassException0(B.Set_empty, "From " + t1 + "\n" + t2, t3), error, stackTrace);
          } else
            throw exception;
        }
      modifiableSelector = new A.ModifiableBox0(selector, type$.ModifiableBox_SelectorList_2);
      if (mediaContext != null)
        _this._extension_store$_mediaContexts.$indexSet(0, modifiableSelector, mediaContext);
      _this._extension_store$_registerSelector$2(selector, modifiableSelector);
      return new A.Box0(modifiableSelector, type$.Box_SelectorList_2);
    },
    _extension_store$_registerSelector$2(list, selector) {
      var t1, t2, t3, t4, _i, t5, t6, _i0, t7, t8, _i1, simple, _0_2_isSet, _0_2, t9, selectorInPseudo;
      for (t1 = list.components, t2 = t1.length, t3 = this._extension_store$_selectors, t4 = type$.SelectorList_2, _i = 0; _i < t2; ++_i)
        for (t5 = t1[_i].components, t6 = t5.length, _i0 = 0; _i0 < t6; ++_i0)
          for (t7 = t5[_i0].selector.components, t8 = t7.length, _i1 = 0; _i1 < t8; ++_i1) {
            simple = t7[_i1];
            J.add$1$ax(t3.putIfAbsent$2(simple, new A.ExtensionStore__registerSelector_closure0()), selector);
            _0_2_isSet = simple instanceof A.PseudoSelector0;
            if (_0_2_isSet) {
              _0_2 = simple.selector;
              t9 = _0_2 != null;
            } else {
              _0_2 = null;
              t9 = false;
            }
            if (t9) {
              selectorInPseudo = _0_2_isSet ? _0_2 : simple.selector;
              this._extension_store$_registerSelector$2(selectorInPseudo == null ? t4._as(selectorInPseudo) : selectorInPseudo, selector);
            }
          }
    },
    addExtension$4(extender, target, extend, mediaContext) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, newExtensions, _i, complex, t11, extension, _0_0, t12, newExtensionsByTarget, additionalExtensions, _this = this,
        selectors = _this._extension_store$_selectors.$index(0, target),
        t1 = _this._extension_store$_extensionsByExtender,
        existingExtensions = t1.$index(0, target),
        sources = _this._extension_store$_extensions.putIfAbsent$2(target, new A.ExtensionStore_addExtension_closure2());
      for (t2 = extender.components, t3 = t2.length, t4 = selectors == null, t5 = _this._extension_store$_sourceSpecificity, t6 = extend.span, t7 = extend.isOptional, t8 = existingExtensions != null, t9 = type$.ComplexSelector_2, t10 = type$.Extension_2, newExtensions = null, _i = 0; _i < t3; ++_i) {
        complex = t2[_i];
        if (complex.accept$1(B.C__IsUselessVisitor0))
          continue;
        complex.get$specificity();
        t11 = new A.Extender0(complex, false);
        extension = t11._extension$_extension = new A.Extension0(t11, target, mediaContext, t7, t6);
        _0_0 = sources.$index(0, complex);
        if (_0_0 != null) {
          sources.$indexSet(0, complex, A.MergedExtension_merge0(_0_0, extension));
          continue;
        }
        sources.$indexSet(0, complex, extension);
        for (t11 = new A._SyncStarIterator(_this._extension_store$_simpleSelectors$1(complex)._outerHelper()); t11.moveNext$0();) {
          t12 = t11._async$_current;
          J.add$1$ax(t1.putIfAbsent$2(t12, new A.ExtensionStore_addExtension_closure3()), extension);
          t5.putIfAbsent$2(t12, new A.ExtensionStore_addExtension_closure4(complex));
        }
        if (!t4 || t8) {
          if (newExtensions == null)
            newExtensions = A.LinkedHashMap_LinkedHashMap$_empty(t9, t10);
          newExtensions.$indexSet(0, complex, extension);
        }
      }
      if (newExtensions == null)
        return;
      t1 = type$.SimpleSelector_2;
      newExtensionsByTarget = A.LinkedHashMap_LinkedHashMap$_literal([target, newExtensions], t1, type$.Map_ComplexSelector_Extension_2);
      if (t8) {
        additionalExtensions = _this._extension_store$_extendExistingExtensions$2(existingExtensions, newExtensionsByTarget);
        if (additionalExtensions != null)
          A.mapAddAll20(newExtensionsByTarget, additionalExtensions, t1, t9, t10);
      }
      if (!t4)
        _this._extension_store$_extendExistingSelectors$2(selectors, newExtensionsByTarget);
    },
    _extension_store$_simpleSelectors$1(complex) {
      return new A._SyncStarIterable(this._simpleSelectors$body$ExtensionStore0(complex), type$._SyncStarIterable_SimpleSelector_2);
    },
    _simpleSelectors$body$ExtensionStore0($async$complex) {
      var $async$self = this;
      return function() {
        var complex = $async$complex;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, _i, t4, t5, _i0, simple, _0_2_isSet, _0_2, t6, selector, t7, _i1;
        return function $async$_extension_store$_simpleSelectors$1($async$iterator, $async$errorCode, $async$result) {
          if ($async$errorCode === 1) {
            $async$currentError = $async$result;
            $async$goto = $async$handler;
          }
          while (true)
            switch ($async$goto) {
              case 0:
                // Function start
                t1 = complex.components, t2 = t1.length, t3 = type$.SelectorList_2, _i = 0;
              case 2:
                // for condition
                if (!(_i < t2)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                t4 = t1[_i].selector.components, t5 = t4.length, _i0 = 0;
              case 5:
                // for condition
                if (!(_i0 < t5)) {
                  // goto after for
                  $async$goto = 7;
                  break;
                }
                simple = t4[_i0];
                $async$goto = 8;
                return $async$iterator._async$_current = simple, 1;
              case 8:
                // after yield
                _0_2_isSet = simple instanceof A.PseudoSelector0;
                if (_0_2_isSet) {
                  _0_2 = simple.selector;
                  t6 = _0_2 != null;
                } else {
                  _0_2 = null;
                  t6 = false;
                }
                $async$goto = t6 ? 9 : 10;
                break;
              case 9:
                // then
                selector = _0_2_isSet ? _0_2 : simple.selector;
                t6 = (selector == null ? t3._as(selector) : selector).components, t7 = t6.length, _i1 = 0;
              case 11:
                // for condition
                if (!(_i1 < t7)) {
                  // goto after for
                  $async$goto = 13;
                  break;
                }
                $async$goto = 14;
                return $async$iterator._yieldStar$1($async$self._extension_store$_simpleSelectors$1(t6[_i1]));
              case 14:
                // after yield
              case 12:
                // for update
                ++_i1;
                // goto for condition
                $async$goto = 11;
                break;
              case 13:
                // after for
              case 10:
                // join
              case 6:
                // for update
                ++_i0;
                // goto for condition
                $async$goto = 5;
                break;
              case 7:
                // after for
              case 3:
                // for update
                ++_i;
                // goto for condition
                $async$goto = 2;
                break;
              case 4:
                // after for
                // implicit return
                return 0;
              case 1:
                // rethrow
                return $async$iterator._datum = $async$currentError, 3;
            }
        };
      };
    },
    _extension_store$_extendExistingExtensions$2(extensions, newExtensions) {
      var extension, selectors, error, stackTrace, t1, t2, t3, t4, t5, t6, additionalExtensions, _i, t7, exception, t8, t9, selectors0, t10, t11, t12, t13, t14, withExtender, _0_0, _i0, _i1;
      for (t1 = J.toList$0$ax(extensions), t2 = t1.length, t3 = this._extension_store$_extensionsByExtender, t4 = type$.SimpleSelector_2, t5 = type$.Map_ComplexSelector_Extension_2, t6 = this._extension_store$_extensions, additionalExtensions = null, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        extension = t1[_i];
        t7 = t6.$index(0, extension.target);
        t7.toString;
        selectors = null;
        try {
          selectors = this._extension_store$_extendComplex$3(extension.extender.selector, newExtensions, extension.mediaContext);
          if (selectors == null)
            continue;
        } catch (exception) {
          t8 = A.unwrapException(exception);
          if (t8 instanceof A.SassException0) {
            error = t8;
            stackTrace = A.getTraceFromException(exception);
            A.throwWithTrace0(error.withAdditionalSpan$2(extension.extender.selector.span, "target selector"), error, stackTrace);
          } else
            throw exception;
        }
        t8 = J.get$first$ax(selectors);
        t9 = extension.extender.selector;
        if (B.C_ListEquality.equals$2(0, t8.leadingCombinators, t9.leadingCombinators) && B.C_ListEquality.equals$2(0, t8.components, t9.components)) {
          t8 = selectors;
          t9 = A._arrayInstanceType(t8);
          selectors0 = new A.SubListIterable(t8, 1, null, t9._eval$1("SubListIterable<1>"));
          selectors0.SubListIterable$3(t8, 1, null, t9._precomputed1);
          selectors = selectors0;
        }
        for (t8 = J.get$iterator$ax(selectors); t8.moveNext$0();) {
          t9 = t8.get$current(t8);
          t10 = extension;
          t11 = t10.target;
          t12 = t10.span;
          t13 = t10.mediaContext;
          t10 = t10.isOptional;
          t9.get$specificity();
          t14 = new A.Extender0(t9, false);
          withExtender = t14._extension$_extension = new A.Extension0(t14, t11, t13, t10, t12);
          _0_0 = t7.$index(0, t9);
          if (_0_0 != null)
            t7.$indexSet(0, t9, A.MergedExtension_merge0(_0_0, withExtender));
          else {
            t7.$indexSet(0, t9, withExtender);
            for (t10 = t9.components, t11 = t10.length, _i0 = 0; _i0 < t11; ++_i0)
              for (t12 = t10[_i0].selector.components, t13 = t12.length, _i1 = 0; _i1 < t13; ++_i1)
                J.add$1$ax(t3.putIfAbsent$2(t12[_i1], new A.ExtensionStore__extendExistingExtensions_closure1()), withExtender);
            if (newExtensions.containsKey$1(extension.target)) {
              if (additionalExtensions == null)
                additionalExtensions = A.LinkedHashMap_LinkedHashMap$_empty(t4, t5);
              additionalExtensions.putIfAbsent$2(extension.target, new A.ExtensionStore__extendExistingExtensions_closure2()).$indexSet(0, t9, withExtender);
            }
          }
        }
      }
      return additionalExtensions;
    },
    _extension_store$_extendExistingSelectors$2(selectors, newExtensions) {
      var selector, error, stackTrace, t1, t2, oldValue, exception, t3, t4, t5, t6;
      for (t1 = selectors.get$iterator(selectors), t2 = this._extension_store$_mediaContexts; t1.moveNext$0();) {
        selector = t1.get$current(t1);
        oldValue = selector.value;
        try {
          selector.value = this._extension_store$_extendList$3(selector.value, newExtensions, t2.$index(0, selector));
        } catch (exception) {
          t3 = A.unwrapException(exception);
          if (t3 instanceof A.SassException0) {
            error = t3;
            stackTrace = A.getTraceFromException(exception);
            t3 = selector.value.span.message$1(0, "");
            t4 = error._span_exception$_message;
            t5 = error;
            t6 = J.getInterceptor$z(t5);
            t5 = A.SourceSpanException.prototype.get$span.call(t6, t5);
            A.throwWithTrace0(new A.SassException0(B.Set_empty, "From " + t3 + "\n" + t4, t5), error, stackTrace);
          } else
            throw exception;
        }
        if (oldValue === selector.value)
          continue;
        this._extension_store$_registerSelector$2(selector.value, selector);
      }
    },
    addExtensions$1(extensionStores) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, newExtensions, selectorsToExtend, extensionsToExtend, t12, t13, target, newSources, first, extensionsForTarget, t14, selectorsForTarget, t15, _2_0, t16, extender, extension, _this = this, _null = null;
      for (t1 = J.get$iterator$ax(extensionStores), t2 = type$.SimpleSelector_2, t3 = type$.Map_ComplexSelector_Extension_2, t4 = _this._extension_store$_extensions, t5 = type$.ComplexSelector_2, t6 = type$.Extension_2, t7 = _this._extension_store$_selectors, t8 = _this._extension_store$_extensionsByExtender, t9 = type$.JSArray_Extension_2, t10 = type$.ModifiableBox_SelectorList_2, t11 = _this._extension_store$_sourceSpecificity, newExtensions = _null, selectorsToExtend = newExtensions, extensionsToExtend = selectorsToExtend; t1.moveNext$0();) {
        t12 = t1.get$current(t1);
        if (t12.get$isEmpty(t12))
          continue;
        t11.addAll$1(0, t12.get$_extension_store$_sourceSpecificity());
        for (t12 = A.MapExtensions_get_pairs0(t12.get$_extension_store$_extensions(), t2, t3), t12 = t12.get$iterator(t12); t12.moveNext$0();) {
          t13 = t12.get$current(t12);
          target = t13._0;
          newSources = t13._1;
          if (target instanceof A.PlaceholderSelector0) {
            first = target.name.charCodeAt(0);
            t13 = first === 45 || first === 95;
          } else
            t13 = false;
          if (t13)
            continue;
          extensionsForTarget = t8.$index(0, target);
          t13 = extensionsForTarget == null;
          if (!t13) {
            if (extensionsToExtend == null) {
              extensionsToExtend = A._setArrayType([], t9);
              t14 = extensionsToExtend;
            } else
              t14 = extensionsToExtend;
            B.JSArray_methods.addAll$1(t14, extensionsForTarget);
          }
          selectorsForTarget = t7.$index(0, target);
          t14 = selectorsForTarget != null;
          if (t14) {
            if (selectorsToExtend == null) {
              selectorsToExtend = A.LinkedHashSet_LinkedHashSet$_empty(t10);
              t15 = selectorsToExtend;
            } else
              t15 = selectorsToExtend;
            t15.addAll$1(0, selectorsForTarget);
          }
          _2_0 = t4.$index(0, target);
          if (_2_0 != null)
            for (t15 = A.MapExtensions_get_pairs0(newSources, t5, t6), t15 = t15.get$iterator(t15); t15.moveNext$0();) {
              t16 = t15.get$current(t15);
              extender = t16._0;
              extension = t16._1;
              if (_2_0.containsKey$1(extender)) {
                t16 = _2_0.$index(0, extender);
                extension = A.MergedExtension_merge0(t16 == null ? t6._as(t16) : t16, extension);
                _2_0.$indexSet(0, extender, extension);
              } else
                _2_0.$indexSet(0, extender, extension);
              if (!t13 || t14) {
                if (newExtensions == null) {
                  newExtensions = A.LinkedHashMap_LinkedHashMap$_empty(t2, t3);
                  t16 = newExtensions;
                } else
                  t16 = newExtensions;
                J.$indexSet$ax(t16.putIfAbsent$2(target, new A.ExtensionStore_addExtensions_closure0()), extender, extension);
              }
            }
          else {
            t15 = A.LinkedHashMap_LinkedHashMap(_null, _null, _null, t5, t6);
            t15.addAll$1(0, newSources);
            t4.$indexSet(0, target, t15);
            if (!t13 || t14) {
              if (newExtensions == null) {
                newExtensions = A.LinkedHashMap_LinkedHashMap$_empty(t2, t3);
                t13 = newExtensions;
              } else
                t13 = newExtensions;
              t14 = A.LinkedHashMap_LinkedHashMap(_null, _null, _null, t5, t6);
              t14.addAll$1(0, newSources);
              t13.$indexSet(0, target, t14);
            }
          }
        }
      }
      if (newExtensions != null) {
        if (extensionsToExtend != null)
          _this._extension_store$_extendExistingExtensions$2(extensionsToExtend, newExtensions);
        if (selectorsToExtend != null)
          _this._extension_store$_extendExistingSelectors$2(selectorsToExtend, newExtensions);
      }
    },
    _extension_store$_extendList$3(list, extensions, mediaQueryContext) {
      var t1, t2, t3, extended, i, complex, result, t4;
      for (t1 = list.components, t2 = t1.length, t3 = type$.JSArray_ComplexSelector_2, extended = null, i = 0; i < t2; ++i) {
        complex = t1[i];
        result = this._extension_store$_extendComplex$3(complex, extensions, mediaQueryContext);
        if (result == null) {
          if (extended != null)
            extended.push(complex);
        } else {
          if (extended == null)
            if (i === 0)
              extended = A._setArrayType([], t3);
            else {
              t4 = B.JSArray_methods.sublist$2(t1, 0, i);
              extended = A._setArrayType(t4.slice(0), A._arrayInstanceType(t4));
            }
          B.JSArray_methods.addAll$1(extended, result);
        }
      }
      if (extended == null)
        return list;
      t1 = this._extension_store$_originals;
      return A.SelectorList$0(this._extension_store$_trim$2(extended, t1.get$contains(t1)), list.span);
    },
    _extension_store$_extendList$2(list, extensions) {
      return this._extension_store$_extendList$3(list, extensions, null);
    },
    _extension_store$_extendComplex$3(complex, extensions, mediaQueryContext) {
      var isOriginal, t3, t4, t5, t6, t7, t8, t9, t10, extendedNotExpanded, i, component, extended, t11, t12, t13, t14, _box_0 = {},
        t1 = complex.leadingCombinators,
        t2 = t1.length;
      if (t2 > 1)
        return null;
      isOriginal = this._extension_store$_originals.contains$1(0, complex);
      for (t3 = complex.components, t4 = t3.length, t5 = type$.JSArray_List_ComplexSelector_2, t6 = complex.lineBreak, t7 = !t6, t8 = complex.span, t9 = type$.JSArray_ComplexSelector_2, t2 = t2 === 0, t10 = type$.JSArray_ComplexSelectorComponent_2, extendedNotExpanded = null, i = 0; i < t4; ++i) {
        component = t3[i];
        extended = this._extension_store$_extendCompound$4$inOriginal(component, extensions, mediaQueryContext, isOriginal);
        if (extended == null) {
          if (extendedNotExpanded != null)
            extendedNotExpanded.push(A._setArrayType([A.ComplexSelector$0(B.List_empty13, A._setArrayType([component], t10), t8, t6)], t9));
        } else if (extendedNotExpanded != null)
          extendedNotExpanded.push(extended);
        else if (i !== 0) {
          t11 = A._arrayInstanceType(t3);
          t12 = new A.SubListIterable(t3, 0, i, t11._eval$1("SubListIterable<1>"));
          t12.SubListIterable$3(t3, 0, i, t11._precomputed1);
          extendedNotExpanded = A._setArrayType([A._setArrayType([A.ComplexSelector$0(t1, t12, t8, t6)], t9), extended], t5);
        } else if (t2)
          extendedNotExpanded = A._setArrayType([extended], t5);
        else {
          t11 = A._setArrayType([], t9);
          for (t12 = J.get$iterator$ax(extended); t12.moveNext$0();) {
            t13 = t12.get$current(t12);
            t14 = t13.leadingCombinators;
            if (t14.length === 0 || B.C_ListEquality.equals$2(0, t1, t14)) {
              t14 = t13.components;
              t11.push(A.ComplexSelector$0(t1, t14, t8, !t7 || t13.lineBreak));
            }
          }
          extendedNotExpanded = A._setArrayType([t11], t5);
        }
      }
      if (extendedNotExpanded == null)
        return null;
      _box_0.first = true;
      t1 = type$.ComplexSelector_2;
      t1 = J.expand$1$1$ax(A.paths0(extendedNotExpanded, t1), new A.ExtensionStore__extendComplex_closure0(_box_0, this, complex), t1);
      return A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
    },
    _extension_store$_extendCompound$4$inOriginal(component, extensions, mediaQueryContext, inOriginal) {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, options, i, simple, extended, t12, result, compound, complex, extenderPaths, withCombinators, isOriginal, _this = this, _null = null,
        t1 = _this._extension_store$_mode,
        targetsUsed = t1 === B.ExtendMode_normal_normal0 || extensions.__js_helper$_length < 2 ? _null : A.LinkedHashSet_LinkedHashSet$_empty(type$.SimpleSelector_2),
        t2 = component.selector,
        simples = t2.components;
      for (t3 = simples.length, t4 = type$.JSArray_List_Extender_2, t5 = type$.JSArray_Extender_2, t6 = type$.CssValue_Combinator_2, t7 = type$.JSArray_ComplexSelectorComponent_2, t8 = A._arrayInstanceType(simples), t9 = t8._precomputed1, t8 = t8._eval$1("SubListIterable<1>"), t10 = component.span, t11 = type$.SimpleSelector_2, options = _null, i = 0; i < t3; ++i) {
        simple = simples[i];
        extended = _this._extension_store$_extendSimple$4(simple, extensions, mediaQueryContext, targetsUsed);
        if (extended == null) {
          if (options != null)
            options.push(A._setArrayType([_this._extension_store$_extenderForSimple$1(simple)], t5));
        } else {
          if (options == null) {
            options = A._setArrayType([], t4);
            if (i !== 0) {
              t12 = new A.SubListIterable(simples, 0, i, t8);
              t12.SubListIterable$3(simples, 0, i, t9);
              result = A.List_List$from(t12, false, t11);
              result.fixed$length = Array;
              result.immutable$list = Array;
              t12 = result;
              compound = new A.CompoundSelector0(t12, t10);
              if (t12.length === 0)
                A.throwExpression(A.ArgumentError$("components may not be empty.", _null));
              result = A.List_List$from(B.List_empty13, false, t6);
              result.fixed$length = Array;
              result.immutable$list = Array;
              t12 = A.ComplexSelector$0(B.List_empty13, A._setArrayType([new A.ComplexSelectorComponent0(compound, result, t10)], t7), t10, false);
              _this._extension_store$_sourceSpecificityFor$1(compound);
              options.push(A._setArrayType([new A.Extender0(t12, true)], t5));
            }
          }
          B.JSArray_methods.addAll$1(options, extended);
        }
      }
      if (options == null)
        return _null;
      if (targetsUsed != null && targetsUsed._collection$_length !== extensions.__js_helper$_length)
        return _null;
      if (options.length === 1) {
        for (t1 = J.get$iterator$ax(options[0]), t2 = component.combinators, t3 = type$.JSArray_ComplexSelector_2, result = _null; t1.moveNext$0();) {
          t4 = t1.get$current(t1);
          t4.assertCompatibleMediaContext$1(mediaQueryContext);
          complex = t4.selector.withAdditionalCombinators$1(t2);
          if (complex.accept$1(B.C__IsUselessVisitor0))
            continue;
          if (result == null)
            result = A._setArrayType([], t3);
          result.push(complex);
        }
        return result;
      }
      extenderPaths = A.paths0(options, type$.Extender_2);
      t3 = A._setArrayType([], type$.JSArray_ComplexSelector_2);
      t1 = t1 === B.ExtendMode_replace_replace0;
      t4 = !t1;
      if (t4)
        t3.push(A.ComplexSelector$0(B.List_empty13, A._setArrayType([new A.ComplexSelectorComponent0(A.CompoundSelector$0(J.expand$1$1$ax(J.get$first$ax(extenderPaths), new A.ExtensionStore__extendCompound_closure2(), t11), t2.span), A.List_List$unmodifiable(component.combinators, t6), t10)], t7), t10, false));
      t2 = J.skip$1$ax(extenderPaths, t1 ? 0 : 1);
      t5 = t2.$ti;
      t2 = new A.ListIterator(t2, t2.get$length(0), t5._eval$1("ListIterator"));
      t6 = component.combinators;
      t5 = t5._eval$1("ListIterable.E");
      for (; t2.moveNext$0();) {
        t1 = t2.__internal$_current;
        extended = _this._extension_store$_unifyExtenders$3(t1 == null ? t5._as(t1) : t1, mediaQueryContext, t10);
        if (extended == null)
          continue;
        for (t1 = J.get$iterator$ax(extended); t1.moveNext$0();) {
          withCombinators = t1.get$current(t1).withAdditionalCombinators$1(t6);
          if (!withCombinators.accept$1(B.C__IsUselessVisitor0))
            t3.push(withCombinators);
        }
      }
      isOriginal = new A.ExtensionStore__extendCompound_closure3();
      return _this._extension_store$_trim$2(t3, inOriginal && t4 ? new A.ExtensionStore__extendCompound_closure4(B.JSArray_methods.get$first(t3)) : isOriginal);
    },
    _extension_store$_unifyExtenders$3(extenders, mediaQueryContext, span) {
      var t1, t2, t3, originals, originalsLineBreak, t4, complexes, _null = null,
        toUnify = A.QueueList$(_null, type$.ComplexSelector_2);
      for (t1 = J.getInterceptor$ax(extenders), t2 = t1.get$iterator(extenders), t3 = type$.JSArray_SimpleSelector_2, originals = _null, originalsLineBreak = false; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        if (t4.isOriginal) {
          if (originals == null)
            originals = A._setArrayType([], t3);
          t4 = t4.selector;
          B.JSArray_methods.addAll$1(originals, B.JSArray_methods.get$last(t4.components).selector.components);
          originalsLineBreak = originalsLineBreak || t4.lineBreak;
        } else {
          t4 = t4.selector;
          if (t4.accept$1(B.C__IsUselessVisitor0))
            return _null;
          else
            toUnify._queue_list$_add$1(t4);
        }
      }
      if (originals != null)
        toUnify.addFirst$1(A.ComplexSelector$0(B.List_empty13, A._setArrayType([new A.ComplexSelectorComponent0(A.CompoundSelector$0(originals, span), A.List_List$unmodifiable(B.List_empty13, type$.CssValue_Combinator_2), span)], type$.JSArray_ComplexSelectorComponent_2), span, originalsLineBreak));
      complexes = A.unifyComplex0(toUnify, span);
      if (complexes == null)
        return _null;
      for (t1 = t1.get$iterator(extenders); t1.moveNext$0();)
        t1.get$current(t1).assertCompatibleMediaContext$1(mediaQueryContext);
      return complexes;
    },
    _extension_store$_extendSimple$4(simple, extensions, mediaQueryContext, targetsUsed) {
      var t2, _1_0,
        t1 = new A.ExtensionStore__extendSimple_withoutPseudo0(this, extensions, targetsUsed);
      if (simple instanceof A.PseudoSelector0)
        t2 = simple.selector != null;
      else
        t2 = false;
      if (t2) {
        _1_0 = this._extension_store$_extendPseudo$3(simple, extensions, mediaQueryContext);
        if (_1_0 != null)
          return new A.MappedListIterable(_1_0, new A.ExtensionStore__extendSimple_closure1(this, t1), A._arrayInstanceType(_1_0)._eval$1("MappedListIterable<1,List>"));
      }
      return A.NullableExtension_andThen0(t1.call$1(simple), new A.ExtensionStore__extendSimple_closure2());
    },
    _extension_store$_extenderForSimple$1(simple) {
      var t1 = simple.span;
      t1 = A.ComplexSelector$0(B.List_empty13, A._setArrayType([new A.ComplexSelectorComponent0(A.CompoundSelector$0(A._setArrayType([simple], type$.JSArray_SimpleSelector_2), t1), A.List_List$unmodifiable(B.List_empty13, type$.CssValue_Combinator_2), t1)], type$.JSArray_ComplexSelectorComponent_2), t1, false);
      this._extension_store$_sourceSpecificity.$index(0, simple);
      return new A.Extender0(t1, true);
    },
    _extension_store$_extendPseudo$3(pseudo, extensions, mediaQueryContext) {
      var extended, complexes, t1, result,
        selector = pseudo.selector;
      if (selector == null)
        throw A.wrapException(A.ArgumentError$("Selector " + pseudo.toString$0(0) + " must have a selector argument.", null));
      extended = this._extension_store$_extendList$3(selector, extensions, mediaQueryContext);
      if (extended === selector)
        return null;
      complexes = extended.components;
      t1 = pseudo.normalizedName === "not";
      if (t1 && !B.JSArray_methods.any$1(selector.components, new A.ExtensionStore__extendPseudo_closure4()) && B.JSArray_methods.any$1(complexes, new A.ExtensionStore__extendPseudo_closure5()))
        complexes = new A.WhereIterable(complexes, new A.ExtensionStore__extendPseudo_closure6(), A._arrayInstanceType(complexes)._eval$1("WhereIterable<1>"));
      complexes = J.expand$1$1$ax(complexes, new A.ExtensionStore__extendPseudo_closure7(pseudo), type$.ComplexSelector_2);
      if (t1 && selector.components.length === 1) {
        t1 = A.MappedIterable_MappedIterable(complexes, new A.ExtensionStore__extendPseudo_closure8(pseudo, selector), complexes.$ti._eval$1("Iterable.E"), type$.PseudoSelector_2);
        result = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("Iterable.E"));
        return result.length === 0 ? null : result;
      } else
        return A._setArrayType([pseudo.withSelector$1(A.SelectorList$0(complexes, selector.span))], type$.JSArray_PseudoSelector_2);
    },
    _extension_store$_trim$2(selectors, isOriginal) {
      var i, t1, t2, numOriginals, _box_0, complex1, j, t3, t4, _i, t5, maxSpecificity,
        result = A.QueueList$(null, type$.ComplexSelector_2);
      $label0$0:
        for (i = selectors.length - 1, t1 = A._arrayInstanceType(selectors), t2 = t1._precomputed1, t1 = t1._eval$1("SubListIterable<1>"), numOriginals = 0; i >= 0; --i) {
          _box_0 = {};
          complex1 = selectors[i];
          if (isOriginal.call$1(complex1)) {
            for (j = 0; j < numOriginals; ++j)
              if (J.$eq$(result.$index(0, j), complex1)) {
                A.rotateSlice0(result, 0, j + 1);
                continue $label0$0;
              }
            ++numOriginals;
            result.addFirst$1(complex1);
            continue $label0$0;
          }
          _box_0.maxSpecificity = 0;
          for (t3 = complex1.components, t4 = t3.length, _i = 0, t5 = 0; _i < t4; ++_i, t5 = maxSpecificity) {
            maxSpecificity = Math.max(t5, this._extension_store$_sourceSpecificityFor$1(t3[_i].selector));
            _box_0.maxSpecificity = maxSpecificity;
          }
          if (result.any$1(result, new A.ExtensionStore__trim_closure1(_box_0, complex1)))
            continue $label0$0;
          t3 = new A.SubListIterable(selectors, 0, i, t1);
          t3.SubListIterable$3(selectors, 0, i, t2);
          if (t3.any$1(0, new A.ExtensionStore__trim_closure2(_box_0, complex1)))
            continue $label0$0;
          result.addFirst$1(complex1);
        }
      return result;
    },
    _extension_store$_sourceSpecificityFor$1(compound) {
      var t1, t2, t3, specificity, _i, t4;
      for (t1 = compound.components, t2 = t1.length, t3 = this._extension_store$_sourceSpecificity, specificity = 0, _i = 0; _i < t2; ++_i) {
        t4 = t3.$index(0, t1[_i]);
        specificity = Math.max(specificity, A.checkNum(t4 == null ? 0 : t4));
      }
      return specificity;
    },
    clone$0() {
      var t2, t3, t4, _this = this,
        t1 = type$.SimpleSelector_2,
        newSelectors = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Set_ModifiableBox_SelectorList_2),
        newMediaContexts = A.LinkedHashMap_LinkedHashMap$_empty(type$.ModifiableBox_SelectorList_2, type$.List_CssMediaQuery_2),
        oldToNewSelectors = new A.JsIdentityLinkedHashMap(type$.JsIdentityLinkedHashMap_of_SelectorList_and_Box_SelectorList_2);
      _this._extension_store$_selectors.forEach$1(0, new A.ExtensionStore_clone_closure0(_this, newSelectors, oldToNewSelectors, newMediaContexts));
      t2 = type$.Extension_2;
      t3 = A.copyMapOfMap0(_this._extension_store$_extensions, t1, type$.ComplexSelector_2, t2);
      t2 = A.copyMapOfList0(_this._extension_store$_extensionsByExtender, t1, t2);
      t1 = new A.JsIdentityLinkedHashMap(type$.JsIdentityLinkedHashMap_SimpleSelector_int_2);
      t1.addAll$1(0, _this._extension_store$_sourceSpecificity);
      t4 = new A._LinkedIdentityHashSet(type$._LinkedIdentityHashSet_ComplexSelector_2);
      t4.addAll$1(0, _this._extension_store$_originals);
      return new A._Record_2(new A.ExtensionStore0(newSelectors, t3, t2, newMediaContexts, t1, t4, B.ExtendMode_normal_normal0), oldToNewSelectors);
    },
    get$_extension_store$_extensions() {
      return this._extension_store$_extensions;
    },
    get$_extension_store$_sourceSpecificity() {
      return this._extension_store$_sourceSpecificity;
    }
  };
  A.ExtensionStore_extensionsWhereTarget_closure0.prototype = {
    call$1(extension) {
      return !extension.isOptional;
    },
    $signature: 440
  };
  A.ExtensionStore__registerSelector_closure0.prototype = {
    call$0() {
      return A.LinkedHashSet_LinkedHashSet$_empty(type$.ModifiableBox_SelectorList_2);
    },
    $signature: 441
  };
  A.ExtensionStore_addExtension_closure2.prototype = {
    call$0() {
      return A.LinkedHashMap_LinkedHashMap$_empty(type$.ComplexSelector_2, type$.Extension_2);
    },
    $signature: 125
  };
  A.ExtensionStore_addExtension_closure3.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_Extension_2);
    },
    $signature: 255
  };
  A.ExtensionStore_addExtension_closure4.prototype = {
    call$0() {
      return this.complex.get$specificity();
    },
    $signature: 10
  };
  A.ExtensionStore__extendExistingExtensions_closure1.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_Extension_2);
    },
    $signature: 255
  };
  A.ExtensionStore__extendExistingExtensions_closure2.prototype = {
    call$0() {
      return A.LinkedHashMap_LinkedHashMap$_empty(type$.ComplexSelector_2, type$.Extension_2);
    },
    $signature: 125
  };
  A.ExtensionStore_addExtensions_closure0.prototype = {
    call$0() {
      return A.LinkedHashMap_LinkedHashMap$_empty(type$.ComplexSelector_2, type$.Extension_2);
    },
    $signature: 125
  };
  A.ExtensionStore__extendComplex_closure0.prototype = {
    call$1(path) {
      var t1 = this.complex;
      return J.map$1$1$ax(A.weave0(path, t1.span, t1.lineBreak), new A.ExtensionStore__extendComplex__closure0(this._box_0, this.$this, t1), type$.ComplexSelector_2);
    },
    $signature: 444
  };
  A.ExtensionStore__extendComplex__closure0.prototype = {
    call$1(outputComplex) {
      var _this = this,
        t1 = _this._box_0;
      if (t1.first && _this.$this._extension_store$_originals.contains$1(0, _this.complex))
        _this.$this._extension_store$_originals.add$1(0, outputComplex);
      t1.first = false;
      return outputComplex;
    },
    $signature: 55
  };
  A.ExtensionStore__extendCompound_closure2.prototype = {
    call$1(extender) {
      return B.JSArray_methods.get$last(extender.selector.components).selector.components;
    },
    $signature: 446
  };
  A.ExtensionStore__extendCompound_closure3.prototype = {
    call$1(_) {
      return false;
    },
    $signature: 18
  };
  A.ExtensionStore__extendCompound_closure4.prototype = {
    call$1(complex) {
      return complex.$eq(0, this.original);
    },
    $signature: 18
  };
  A.ExtensionStore__extendSimple_withoutPseudo0.prototype = {
    call$1(simple) {
      var t1, t2,
        extensionsForSimple = this.extensions.$index(0, simple);
      if (extensionsForSimple == null)
        return null;
      t1 = this.targetsUsed;
      if (t1 != null)
        t1.add$1(0, simple);
      t1 = A._setArrayType([], type$.JSArray_Extender_2);
      t2 = this.$this;
      if (t2._extension_store$_mode !== B.ExtendMode_replace_replace0)
        t1.push(t2._extension_store$_extenderForSimple$1(simple));
      for (t2 = extensionsForSimple.get$values(extensionsForSimple), t2 = t2.get$iterator(t2); t2.moveNext$0();)
        t1.push(t2.get$current(t2).extender);
      return t1;
    },
    $signature: 447
  };
  A.ExtensionStore__extendSimple_closure1.prototype = {
    call$1(pseudo) {
      var t1 = this.withoutPseudo.call$1(pseudo);
      return t1 == null ? A._setArrayType([this.$this._extension_store$_extenderForSimple$1(pseudo)], type$.JSArray_Extender_2) : t1;
    },
    $signature: 448
  };
  A.ExtensionStore__extendSimple_closure2.prototype = {
    call$1(result) {
      return A._setArrayType([result], type$.JSArray_List_Extender_2);
    },
    $signature: 449
  };
  A.ExtensionStore__extendPseudo_closure4.prototype = {
    call$1(complex) {
      return complex.components.length > 1;
    },
    $signature: 18
  };
  A.ExtensionStore__extendPseudo_closure5.prototype = {
    call$1(complex) {
      return complex.components.length === 1;
    },
    $signature: 18
  };
  A.ExtensionStore__extendPseudo_closure6.prototype = {
    call$1(complex) {
      return complex.components.length <= 1;
    },
    $signature: 18
  };
  A.ExtensionStore__extendPseudo_closure7.prototype = {
    call$1(complex) {
      var innerPseudo, innerSelector,
        t1 = complex.get$singleCompound();
      if (t1 == null)
        innerPseudo = null;
      else {
        t1 = t1.components;
        innerPseudo = t1.length === 1 ? B.JSArray_methods.get$first(t1) : null;
      }
      if (!(innerPseudo instanceof A.PseudoSelector0))
        return A._setArrayType([complex], type$.JSArray_ComplexSelector_2);
      innerSelector = innerPseudo.selector;
      if (innerSelector == null)
        return A._setArrayType([complex], type$.JSArray_ComplexSelector_2);
      t1 = this.pseudo;
      switch (t1.normalizedName) {
        case "not":
          if (!B.Set_mlzm2.contains$1(0, innerPseudo.normalizedName))
            return A._setArrayType([], type$.JSArray_ComplexSelector_2);
          return innerSelector.components;
        case "is":
        case "matches":
        case "where":
        case "any":
        case "current":
        case "nth-child":
        case "nth-last-child":
          if (innerPseudo.name !== t1.name)
            return A._setArrayType([], type$.JSArray_ComplexSelector_2);
          if (innerPseudo.argument != t1.argument)
            return A._setArrayType([], type$.JSArray_ComplexSelector_2);
          return innerSelector.components;
        case "has":
        case "host":
        case "host-context":
        case "slotted":
          return A._setArrayType([complex], type$.JSArray_ComplexSelector_2);
        default:
          return A._setArrayType([], type$.JSArray_ComplexSelector_2);
      }
    },
    $signature: 450
  };
  A.ExtensionStore__extendPseudo_closure8.prototype = {
    call$1(complex) {
      return this.pseudo.withSelector$1(A.SelectorList$0(A._setArrayType([complex], type$.JSArray_ComplexSelector_2), this.selector.span));
    },
    $signature: 451
  };
  A.ExtensionStore__trim_closure1.prototype = {
    call$1(complex2) {
      return complex2.get$specificity() >= this._box_0.maxSpecificity && complex2.isSuperselector$1(this.complex1);
    },
    $signature: 18
  };
  A.ExtensionStore__trim_closure2.prototype = {
    call$1(complex2) {
      return complex2.get$specificity() >= this._box_0.maxSpecificity && complex2.isSuperselector$1(this.complex1);
    },
    $signature: 18
  };
  A.ExtensionStore_clone_closure0.prototype = {
    call$2(simple, selectors) {
      var t2, t3, t4, t5, t6, t7, newSelector, _0_0, _this = this,
        t1 = type$.ModifiableBox_SelectorList_2,
        newSelectorSet = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      _this.newSelectors.$indexSet(0, simple, newSelectorSet);
      for (t2 = selectors.get$iterator(selectors), t3 = _this.oldToNewSelectors, t4 = type$.Box_SelectorList_2, t5 = _this.$this._extension_store$_mediaContexts, t6 = _this.newMediaContexts; t2.moveNext$0();) {
        t7 = t2.get$current(t2);
        newSelector = new A.ModifiableBox0(t7.value, t1);
        newSelectorSet.add$1(0, newSelector);
        t3.$indexSet(0, t7.value, new A.Box0(newSelector, t4));
        _0_0 = t5.$index(0, t7);
        if (_0_0 != null)
          t6.$indexSet(0, newSelector, _0_0);
      }
    },
    $signature: 452
  };
  A.FiberClass.prototype = {};
  A.Fiber.prototype = {};
  A.JSToDartFileImporter.prototype = {
    canonicalize$1(_, url) {
      var result, t1, resultUrl;
      if (url.get$scheme() === "file")
        return $.$get$FilesystemImporter_cwd0().canonicalize$1(0, url);
      result = A.wrapJSExceptions(new A.JSToDartFileImporter_canonicalize_closure(this, url));
      if (result == null)
        return null;
      t1 = self.Promise;
      if (result instanceof t1)
        A.jsThrow(new self.Error("The findFileUrl() function can't return a Promise for synchron compile functions."));
      else {
        t1 = self.URL;
        if (!(result instanceof t1))
          A.jsThrow(new self.Error(string$.The_fie));
      }
      resultUrl = A.Uri_parse(J.toString$0$(type$.JSUrl._as(result)));
      if (resultUrl.get$scheme() !== "file")
        A.jsThrow(new self.Error(string$.The_fiu + url.toString$0(0) + '".'));
      return $.$get$FilesystemImporter_cwd0().canonicalize$1(0, resultUrl);
    },
    load$1(_, url) {
      return $.$get$FilesystemImporter_cwd0().load$1(0, url);
    },
    isNonCanonicalScheme$1(scheme) {
      return scheme !== "file";
    }
  };
  A.JSToDartFileImporter_canonicalize_closure.prototype = {
    call$0() {
      return this.$this._file0$_findFileUrl.call$2(this.url.toString$0(0), A.canonicalizeContext0());
    },
    $signature: 35
  };
  A.FilesystemImporter0.prototype = {
    canonicalize$1(_, url) {
      var resolved;
      if (url.get$scheme() === "file")
        resolved = A.resolveImportPath0($.$get$context().style.pathFromUri$1(A._parseUri(url)));
      else if (url.get$scheme() !== "")
        return null;
      else {
        resolved = A.resolveImportPath0(A.join(this._filesystem$_loadPath, $.$get$context().style.pathFromUri$1(A._parseUri(url)), null));
        if (resolved != null && this._filesystem$_loadPathDeprecated)
          A.warnForDeprecation0(string$.Using_t, B.Deprecation_kmo);
      }
      return A.NullableExtension_andThen0(resolved, new A.FilesystemImporter_canonicalize_closure0());
    },
    load$1(_, url) {
      var path = $.$get$context().style.pathFromUri$1(A._parseUri(url));
      return A.ImporterResult$(A.readFile0(path), url, A.Syntax_forPath0(path));
    },
    toString$0(_) {
      return this._filesystem$_loadPath;
    }
  };
  A.FilesystemImporter_canonicalize_closure0.prototype = {
    call$1(resolved) {
      var t2, t0, _null = null,
        t1 = A.isNodeJs() ? self.process : _null;
      if (!J.$eq$(t1 == null ? _null : J.get$platform$x(t1), "win32")) {
        t1 = A.isNodeJs() ? self.process : _null;
        t1 = J.$eq$(t1 == null ? _null : J.get$platform$x(t1), "darwin");
      } else
        t1 = true;
      if (t1) {
        t1 = $.$get$context();
        t2 = A._realCasePath0(A.absolute(t1.normalize$1(resolved), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
        t0 = t2;
        t2 = t1;
        t1 = t0;
      } else {
        t1 = $.$get$context();
        t2 = t1.canonicalize$1(0, resolved);
        t0 = t2;
        t2 = t1;
        t1 = t0;
      }
      return t2.toUri$1(t1);
    },
    $signature: 141
  };
  A.ForRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitForRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var _this = this,
        t1 = _this.from.toString$0(0),
        t2 = _this.isExclusive ? "to" : "through",
        t3 = _this.children;
      return "@for $" + _this.variable + " from " + t1 + " " + t2 + " " + _this.to.toString$0(0) + " {" + (t3 && B.JSArray_methods).join$1(t3, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.ForwardRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitForwardRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t2, prefix, _this = this,
        t1 = "@forward " + A.StringExpression_quoteText0(_this.url.toString$0(0)),
        shownMixinsAndFunctions = _this.shownMixinsAndFunctions,
        hiddenMixinsAndFunctions = _this.hiddenMixinsAndFunctions;
      if (shownMixinsAndFunctions != null) {
        t2 = _this.shownVariables;
        t2.toString;
        t2 = t1 + " show " + _this._forward_rule0$_memberList$2(shownMixinsAndFunctions, t2);
        t1 = t2;
      } else if (hiddenMixinsAndFunctions != null && hiddenMixinsAndFunctions._base.get$isNotEmpty(0)) {
        t2 = _this.hiddenVariables;
        t2.toString;
        t2 = t1 + " hide " + _this._forward_rule0$_memberList$2(hiddenMixinsAndFunctions, t2);
        t1 = t2;
      }
      prefix = _this.prefix;
      if (prefix != null)
        t1 += " as " + prefix + "*";
      t2 = _this.configuration;
      t1 = (t2.length !== 0 ? t1 + (" with (" + B.JSArray_methods.join$1(t2, ", ") + ")") : t1) + ";";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _forward_rule0$_memberList$2(mixinsAndFunctions, variables) {
      var t2,
        t1 = A.List_List$of(mixinsAndFunctions, true, type$.String);
      for (t2 = variables._base.get$iterator(0); t2.moveNext$0();)
        t1.push("$" + t2.get$current(0));
      return B.JSArray_methods.join$1(t1, ", ");
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ForwardedModuleView0.prototype = {
    get$url(_) {
      var t1 = this._forwarded_view0$_inner;
      return t1.get$url(t1);
    },
    get$upstream() {
      return this._forwarded_view0$_inner.get$upstream();
    },
    get$extensionStore() {
      return this._forwarded_view0$_inner.get$extensionStore();
    },
    get$css(_) {
      var t1 = this._forwarded_view0$_inner;
      return t1.get$css(t1);
    },
    get$preModuleComments() {
      return this._forwarded_view0$_inner.get$preModuleComments();
    },
    get$transitivelyContainsCss() {
      return this._forwarded_view0$_inner.get$transitivelyContainsCss();
    },
    get$transitivelyContainsExtensions() {
      return this._forwarded_view0$_inner.get$transitivelyContainsExtensions();
    },
    setVariable$3($name, value, nodeWithSpan) {
      var t2, _1_0, _2_0,
        _s19_ = "Undefined variable.",
        t1 = this._forwarded_view0$_rule,
        _0_0 = t1.shownVariables;
      if (_0_0 != null)
        t2 = !_0_0._base.contains$1(0, $name);
      else
        t2 = false;
      if (t2)
        throw A.wrapException(A.SassScriptException$0(_s19_, null));
      else {
        _1_0 = t1.hiddenVariables;
        if (_1_0 != null)
          t2 = _1_0._base.contains$1(0, $name);
        else
          t2 = false;
        if (t2)
          throw A.wrapException(A.SassScriptException$0(_s19_, null));
      }
      _2_0 = t1.prefix;
      if (_2_0 != null) {
        if (!B.JSString_methods.startsWith$1($name, _2_0))
          throw A.wrapException(A.SassScriptException$0(_s19_, null));
        $name = B.JSString_methods.substring$1($name, _2_0.length);
      }
      return this._forwarded_view0$_inner.setVariable$3($name, value, nodeWithSpan);
    },
    variableIdentity$1($name) {
      var _0_0 = this._forwarded_view0$_rule.prefix;
      if (_0_0 != null)
        $name = B.JSString_methods.substring$1($name, _0_0.length);
      return this._forwarded_view0$_inner.variableIdentity$1($name);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.ForwardedModuleView0 && this._forwarded_view0$_inner.$eq(0, other._forwarded_view0$_inner) && this._forwarded_view0$_rule === other._forwarded_view0$_rule;
    },
    get$hashCode(_) {
      var t1 = this._forwarded_view0$_inner;
      return (t1.get$hashCode(t1) ^ A.Primitives_objectHashCode(this._forwarded_view0$_rule)) >>> 0;
    },
    cloneCss$0() {
      return A.ForwardedModuleView$0(this._forwarded_view0$_inner.cloneCss$0(), this._forwarded_view0$_rule, this.$ti._precomputed1);
    },
    toString$0(_) {
      return "forwarded " + this._forwarded_view0$_inner.toString$0(0);
    },
    $isModule1: 1,
    get$variables() {
      return this.variables;
    },
    get$variableNodes() {
      return this.variableNodes;
    },
    get$functions(receiver) {
      return this.functions;
    },
    get$mixins() {
      return this.mixins;
    }
  };
  A.FunctionExpression0.prototype = {
    get$nameSpan() {
      if (this.namespace == null)
        return A.SpanExtensions_initialIdentifier0(this.span);
      return A.SpanExtensions_initialIdentifier0(A.FileSpanExtension_subspan(A.SpanExtensions_withoutInitialIdentifier0(this.span), 1, null));
    },
    accept$1$1(visitor) {
      return visitor.visitFunctionExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.namespace;
      t1 = t1 != null ? "" + (t1 + ".") : "";
      t1 += this.originalName + this.$arguments.toString$0(0);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.JSFunction0.prototype = {};
  A.SupportsFunction0.prototype = {
    toString$0(_) {
      return this.name.toString$0(0) + "(" + this.$arguments.toString$0(0) + ")";
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.functionClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.SassFunction", new A.functionClass__closure()));
      A.JSClassExtension_injectSuperclass(t1._as(new A.SassFunction0(A.BuiltInCallable$function0("f", "", new A.functionClass__closure0(), null)).constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.functionClass__closure.prototype = {
    call$3($self, signature, callback) {
      var paren = B.JSString_methods.indexOf$1(signature, "(");
      if (paren === -1 || !B.JSString_methods.endsWith$1(signature, ")"))
        A.jsThrow(new self.Error('Invalid signature for new sass.SassFunction(): "' + signature + '"'));
      return new A.SassFunction0(A.BuiltInCallable$function0(B.JSString_methods.substring$2(signature, 0, paren), B.JSString_methods.substring$2(signature, paren + 1, signature.length - 1), callback, null));
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 453
  };
  A.functionClass__closure0.prototype = {
    call$1(_) {
      return B.C__SassNull0;
    },
    $signature: 3
  };
  A.SassFunction0.prototype = {
    accept$1$1(visitor) {
      var t1, t2;
      if (!visitor._serialize0$_inspect)
        A.throwExpression(A.SassScriptException$0(this.toString$0(0) + " isn't a valid CSS value.", null));
      t1 = visitor._serialize0$_buffer;
      t1.write$1(0, "get-function(");
      t2 = this.callable;
      visitor._serialize0$_visitQuotedString$1(t2.get$name(t2));
      t1.writeCharCode$1(41);
      return null;
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertFunction$1($name) {
      return this;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.SassFunction0 && this.callable.$eq(0, other.callable);
    },
    get$hashCode(_) {
      var t1 = this.callable;
      return t1.get$hashCode(t1);
    }
  };
  A.FunctionRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitFunctionRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.children;
      return "@function " + this.name + "(" + this.$arguments.toString$0(0) + ") {" + (t1 && B.JSArray_methods).join$1(t1, " ") + "}";
    }
  };
  A.unifyComplex_closure0.prototype = {
    call$1(complex) {
      return complex.lineBreak;
    },
    $signature: 18
  };
  A._weaveParents_closure3.prototype = {
    call$2(group1, group2) {
      var t1, unified;
      if (B.C_ListEquality.equals$2(0, group1, group2))
        return group1;
      if (A._complexIsParentSuperselector0(group1, group2))
        return group2;
      if (A._complexIsParentSuperselector0(group2, group1))
        return group1;
      if (!A._mustUnify0(group1, group2))
        return null;
      t1 = this.span;
      unified = A.unifyComplex0(A._setArrayType([A.ComplexSelector$0(B.List_empty13, group1, t1, false), A.ComplexSelector$0(B.List_empty13, group2, t1, false)], type$.JSArray_ComplexSelector_2), t1);
      if (unified == null)
        t1 = null;
      else {
        t1 = A.IterableExtension_get_singleOrNull(unified);
        t1 = t1 == null ? null : t1.components;
      }
      return t1;
    },
    $signature: 454
  };
  A._weaveParents_closure4.prototype = {
    call$1(sequence) {
      return A._complexIsParentSuperselector0(sequence.get$first(sequence), this.group);
    },
    $signature: 250
  };
  A._weaveParents_closure5.prototype = {
    call$1(sequence) {
      return sequence.get$length(0) === 0;
    },
    $signature: 250
  };
  A._weaveParents_closure6.prototype = {
    call$1(choice) {
      return J.get$isNotEmpty$asx(choice);
    },
    $signature: 456
  };
  A._mustUnify_closure0.prototype = {
    call$1(component) {
      return B.JSArray_methods.any$1(component.selector.components, new A._mustUnify__closure0(this.uniqueSelectors));
    },
    $signature: 50
  };
  A._mustUnify__closure0.prototype = {
    call$1(simple) {
      var t1;
      if (!(simple instanceof A.IDSelector0))
        t1 = simple instanceof A.PseudoSelector0 && !simple.isClass;
      else
        t1 = true;
      return t1 && this.uniqueSelectors.contains$1(0, simple);
    },
    $signature: 14
  };
  A.paths_closure0.prototype = {
    call$2(paths, choice) {
      var t1 = this.T;
      t1 = J.expand$1$1$ax(choice, new A.paths__closure0(paths, t1), t1._eval$1("List<0>"));
      return A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
    },
    $signature() {
      return this.T._eval$1("List>(List>,List<0>)");
    }
  };
  A.paths__closure0.prototype = {
    call$1(option) {
      var t1 = this.T;
      return J.map$1$1$ax(this.paths, new A.paths___closure0(option, t1), t1._eval$1("List<0>"));
    },
    $signature() {
      return this.T._eval$1("Iterable>(0)");
    }
  };
  A.paths___closure0.prototype = {
    call$1(path) {
      var t1 = A.List_List$of(path, true, this.T);
      t1.push(this.option);
      return t1;
    },
    $signature() {
      return this.T._eval$1("List<0>(List<0>)");
    }
  };
  A.listIsSuperselector_closure0.prototype = {
    call$1(complex1) {
      return B.JSArray_methods.any$1(this.list1, new A.listIsSuperselector__closure0(complex1));
    },
    $signature: 18
  };
  A.listIsSuperselector__closure0.prototype = {
    call$1(complex2) {
      return complex2.isSuperselector$1(this.complex1);
    },
    $signature: 18
  };
  A.complexIsSuperselector_closure1.prototype = {
    call$1($parent) {
      return $parent.combinators.length > 1;
    },
    $signature: 50
  };
  A.complexIsSuperselector_closure2.prototype = {
    call$1(component) {
      return A._isSupercombinator0(this.combinator1, A.IterableExtension_get_firstOrNull(component.combinators));
    },
    $signature: 50
  };
  A._compatibleWithPreviousCombinator_closure0.prototype = {
    call$1(component) {
      var t1 = component.combinators,
        t2 = A.IterableExtension_get_firstOrNull(t1);
      if (!J.$eq$(t2 == null ? null : t2.value, B.Combinator_y180)) {
        t1 = A.IterableExtension_get_firstOrNull(t1);
        t1 = J.$eq$(t1 == null ? null : t1.value, B.Combinator_gRV0);
      } else
        t1 = true;
      return t1;
    },
    $signature: 50
  };
  A.compoundIsSuperselector_closure0.prototype = {
    call$1(simple1) {
      return B.JSArray_methods.any$1(this.compound2.components, simple1.get$isSuperselector());
    },
    $signature: 14
  };
  A._selectorPseudoIsSuperselector_closure6.prototype = {
    call$1(selector2) {
      return A.listIsSuperselector0(this.selector1.components, selector2.components);
    },
    $signature: 65
  };
  A._selectorPseudoIsSuperselector_closure7.prototype = {
    call$1(complex1) {
      var t1, t2;
      if (complex1.leadingCombinators.length === 0) {
        t1 = A._setArrayType([], type$.JSArray_ComplexSelectorComponent_2);
        t2 = this.parents;
        if (t2 != null)
          B.JSArray_methods.addAll$1(t1, t2);
        t2 = this.compound2;
        t1.push(new A.ComplexSelectorComponent0(t2, A.List_List$unmodifiable(B.List_empty13, type$.CssValue_Combinator_2), t2.span));
        t1 = A.complexIsSuperselector0(complex1.components, t1);
      } else
        t1 = false;
      return t1;
    },
    $signature: 18
  };
  A._selectorPseudoIsSuperselector_closure8.prototype = {
    call$1(selector2) {
      return A.listIsSuperselector0(this.selector1.components, selector2.components);
    },
    $signature: 65
  };
  A._selectorPseudoIsSuperselector_closure9.prototype = {
    call$1(selector2) {
      return A.listIsSuperselector0(this.selector1.components, selector2.components);
    },
    $signature: 65
  };
  A._selectorPseudoIsSuperselector_closure10.prototype = {
    call$1(complex) {
      if (complex.accept$1(B._IsBogusVisitor_true0))
        return false;
      return B.JSArray_methods.any$1(this.compound2.components, new A._selectorPseudoIsSuperselector__closure0(complex, this.pseudo1));
    },
    $signature: 18
  };
  A._selectorPseudoIsSuperselector__closure0.prototype = {
    call$1(simple2) {
      var t1, _0_4, selector2, _this = this;
      $label0$1: {
        if (simple2 instanceof A.TypeSelector0) {
          t1 = B.JSArray_methods.any$1(B.JSArray_methods.get$last(_this.complex.components).selector.components, new A._selectorPseudoIsSuperselector___closure1(simple2));
          break $label0$1;
        }
        if (simple2 instanceof A.IDSelector0) {
          t1 = B.JSArray_methods.any$1(B.JSArray_methods.get$last(_this.complex.components).selector.components, new A._selectorPseudoIsSuperselector___closure2(simple2));
          break $label0$1;
        }
        if (simple2 instanceof A.PseudoSelector0) {
          _0_4 = simple2.selector;
          if (_0_4 != null) {
            selector2 = _0_4 == null ? type$.SelectorList_2._as(_0_4) : _0_4;
            t1 = simple2.name === _this.pseudo1.name;
          } else {
            selector2 = null;
            t1 = false;
          }
        } else {
          selector2 = null;
          t1 = false;
        }
        if (t1) {
          t1 = A.listIsSuperselector0(selector2.components, A._setArrayType([_this.complex], type$.JSArray_ComplexSelector_2));
          break $label0$1;
        }
        t1 = false;
        break $label0$1;
      }
      return t1;
    },
    $signature: 14
  };
  A._selectorPseudoIsSuperselector___closure1.prototype = {
    call$1(simple1) {
      var t1;
      if (simple1 instanceof A.TypeSelector0) {
        t1 = this.simple2;
        t1 = !(t1 instanceof A.TypeSelector0 && t1.name.$eq(0, simple1.name));
      } else
        t1 = false;
      return t1;
    },
    $signature: 14
  };
  A._selectorPseudoIsSuperselector___closure2.prototype = {
    call$1(simple1) {
      var t1;
      if (simple1 instanceof A.IDSelector0) {
        t1 = this.simple2;
        t1 = !(t1 instanceof A.IDSelector0 && t1.name === simple1.name);
      } else
        t1 = false;
      return t1;
    },
    $signature: 14
  };
  A._selectorPseudoIsSuperselector_closure11.prototype = {
    call$1(selector2) {
      var t1 = B.C_ListEquality.equals$2(0, this.selector1.components, selector2.components);
      return t1;
    },
    $signature: 65
  };
  A._selectorPseudoIsSuperselector_closure12.prototype = {
    call$1(pseudo2) {
      var t1, selector2;
      if (!(pseudo2 instanceof A.PseudoSelector0))
        return false;
      t1 = this.pseudo1;
      if (pseudo2.name !== t1.name)
        return false;
      if (pseudo2.argument != t1.argument)
        return false;
      selector2 = pseudo2.selector;
      if (selector2 == null)
        return false;
      return A.listIsSuperselector0(this.selector1.components, selector2.components);
    },
    $signature: 14
  };
  A._selectorPseudoArgs_closure1.prototype = {
    call$1(pseudo) {
      return pseudo.isClass === this.isClass && pseudo.name === this.name;
    },
    $signature: 458
  };
  A._selectorPseudoArgs_closure2.prototype = {
    call$1(pseudo) {
      return pseudo.selector;
    },
    $signature: 459
  };
  A.globalFunctions_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      return t1.$index($arguments, 0).get$isTruthy() ? t1.$index($arguments, 1) : t1.$index($arguments, 2);
    },
    $signature: 3
  };
  A.IDSelector0.prototype = {
    get$specificity() {
      return A._asInt(Math.pow(A.SimpleSelector0.prototype.get$specificity.call(this), 2));
    },
    accept$1$1(visitor) {
      return visitor.visitIDSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    addSuffix$1(suffix) {
      return new A.IDSelector0(this.name + suffix, this.span);
    },
    unify$1(compound) {
      if (B.JSArray_methods.any$1(compound, new A.IDSelector_unify_closure0(this)))
        return null;
      return this.super$SimpleSelector$unify0(compound);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.IDSelector0 && other.name === this.name;
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.name);
    }
  };
  A.IDSelector_unify_closure0.prototype = {
    call$1(simple) {
      var t1;
      if (simple instanceof A.IDSelector0)
        t1 = this.$this.name !== simple.name;
      else
        t1 = false;
      return t1;
    },
    $signature: 14
  };
  A.IfExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitIfExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "if" + this.$arguments.toString$0(0);
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.IfRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitIfRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var result = A.ListExtensions_mapIndexed(this.clauses, new A.IfRule_toString_closure0(), type$.IfClause_2, type$.String).join$1(0, " "),
        lastClause = this.lastClause;
      return lastClause != null ? result + (" " + lastClause.toString$0(0)) : result;
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.IfRule_toString_closure0.prototype = {
    call$2(index, clause) {
      var t1 = index === 0 ? "if" : "else if";
      return "@" + t1 + " " + clause.expression.toString$0(0) + " {" + B.JSArray_methods.join$1(clause.children, " ") + "}";
    },
    $signature: 460
  };
  A.IfRuleClause0.prototype = {};
  A.IfRuleClause$__closure0.prototype = {
    call$1(child) {
      var t1;
      $label0$0: {
        if (child instanceof A.VariableDeclaration0 || child instanceof A.FunctionRule0 || child instanceof A.MixinRule0) {
          t1 = true;
          break $label0$0;
        }
        if (child instanceof A.ImportRule0) {
          t1 = B.JSArray_methods.any$1(child.imports, new A.IfRuleClause$___closure0());
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    $signature: 247
  };
  A.IfRuleClause$___closure0.prototype = {
    call$1($import) {
      return $import instanceof A.DynamicImport0;
    },
    $signature: 245
  };
  A.IfClause0.prototype = {
    toString$0(_) {
      return "@if " + this.expression.toString$0(0) + " {" + B.JSArray_methods.join$1(this.children, " ") + "}";
    }
  };
  A.ElseClause0.prototype = {
    toString$0(_) {
      return "@else {" + B.JSArray_methods.join$1(this.children, " ") + "}";
    }
  };
  A.ImmutableList0.prototype = {};
  A.ImmutableMap0.prototype = {};
  A.immutableMapToDartMap_closure.prototype = {
    call$3(value, key, _) {
      this.dartMap.$indexSet(0, key, value);
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 463
  };
  A.NodeImporter.prototype = {
    loadRelative$3(url, previous, forImport) {
      var t1, t2, _null = null;
      if ($.$get$url().style.rootLength$1(url) > 0) {
        if (!B.JSString_methods.startsWith$1(url, "/") && !B.JSString_methods.startsWith$1(url, "file:"))
          return _null;
        return this._tryPath$2($.$get$context().style.pathFromUri$1(A._parseUri(url)), forImport);
      }
      if ((previous == null ? _null : previous.get$scheme()) !== "file")
        return _null;
      t1 = $.$get$context();
      previous.toString;
      t2 = t1.style;
      return this._tryPath$2(A.join(t1.dirname$1(t2.pathFromUri$1(A._parseUri(previous))), t2.pathFromUri$1(A._parseUri(url)), _null), forImport);
    },
    load$3(_, url, previous, forImport) {
      var t1, t2, _i, _0_0, _this = this,
        previousString = _this._previousToString$1(previous);
      for (t1 = _this._implementation$_importers, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        _0_0 = A.wrapJSExceptions(new A.NodeImporter_load_closure(_this, t1[_i], forImport, url, previousString));
        if (_0_0 != null)
          return _this._handleImportResult$4(url, previous, _0_0, forImport);
      }
      return _this._resolveLoadPathFromUrl$2(A.Uri_parse(url), forImport);
    },
    loadAsync$3(url, previous, forImport) {
      return this.loadAsync$body$NodeImporter(url, previous, forImport);
    },
    loadAsync$body$NodeImporter(url, previous, forImport) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Record_2_String_and_String),
        $async$returnValue, $async$self = this, t1, t2, _i, _0_0, previousString;
      var $async$loadAsync$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              previousString = $async$self._previousToString$1(previous);
              t1 = $async$self._implementation$_importers, t2 = t1.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait($async$self._callImporterAsync$4(t1[_i], url, previousString, forImport), $async$loadAsync$3);
            case 6:
              // returning from await.
              _0_0 = $async$result;
              if (_0_0 != null) {
                $async$returnValue = $async$self._handleImportResult$4(url, previous, _0_0, forImport);
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = $async$self._resolveLoadPathFromUrl$2(A.Uri_parse(url), forImport);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$loadAsync$3, $async$completer);
    },
    _previousToString$1(previous) {
      var t1;
      $label0$0: {
        if (previous == null) {
          t1 = "stdin";
          break $label0$0;
        }
        if ("file" === previous.get$scheme()) {
          t1 = $.$get$context().style.pathFromUri$1(A._parseUri(previous));
          break $label0$0;
        }
        t1 = previous.toString$0(0);
        break $label0$0;
      }
      return t1;
    },
    _resolveLoadPathFromUrl$2(url, forImport) {
      return url.get$scheme() === "" || url.get$scheme() === "file" ? this._resolveLoadPath$2($.$get$context().style.pathFromUri$1(A._parseUri(url)), forImport) : null;
    },
    _resolveLoadPath$2(path, forImport) {
      var t1, t2, _i, t3, _1_0, _null = null,
        _0_0 = this._tryPath$2(A.absolute(path, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), forImport);
      if (_0_0 != null)
        return _0_0;
      for (t1 = this._includePaths, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        t3 = A.join(t1[_i], path, _null);
        _1_0 = this._tryPath$2($.$get$context().absolute$15(t3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), forImport);
        if (_1_0 != null)
          return _1_0;
      }
      return _null;
    },
    _tryPath$2(path, forImport) {
      var t1 = forImport ? A.inImportRule(new A.NodeImporter__tryPath_closure(path), type$.nullable_String) : A.resolveImportPath0(path);
      return A.NullableExtension_andThen0(t1, new A.NodeImporter__tryPath_closure0());
    },
    _handleImportResult$4(url, previous, value, forImport) {
      var t1, file, contents, t2, resolved;
      if (value instanceof self.Error)
        throw A.wrapException(value);
      if (!type$.NodeImporterResult._is(value))
        return null;
      t1 = J.getInterceptor$x(value);
      file = t1.get$file(value);
      contents = t1.get$contents(value);
      t1 = contents == null;
      t2 = !t1;
      if (t2 && A._asString(new self.Function("value", "return typeof value").call$1(contents)) !== "string")
        A.jsThrow(new A.ArgumentError(true, contents, "contents", "must be a string but was: " + A.jsType(contents)));
      if (file == null)
        return new A._Record_2(t1 ? "" : contents, url);
      else if (t2)
        return new A._Record_2(contents, $.$get$context().toUri$1(file).toString$0(0));
      else {
        resolved = this.loadRelative$3($.$get$context().toUri$1(file).toString$0(0), previous, forImport);
        if (resolved == null)
          resolved = this._resolveLoadPath$2(file, forImport);
        if (resolved != null)
          return resolved;
        throw A.wrapException("Can't find stylesheet to import.");
      }
    },
    _callImporterAsync$4(importer, url, previousString, forImport) {
      return this._callImporterAsync$body$NodeImporter(importer, url, previousString, forImport);
    },
    _callImporterAsync$body$NodeImporter(importer, url, previousString, forImport) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Object),
        $async$returnValue, $async$self = this, t1, result;
      var $async$_callImporterAsync$4 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = new A._Future($.Zone__current, type$._Future_Object);
              result = A.wrapJSExceptions(new A.NodeImporter__callImporterAsync_closure($async$self, importer, forImport, url, previousString, new A._AsyncCompleter(t1, type$._AsyncCompleter_Object)));
              $async$goto = A._asBool($.$get$_isUndefined().call$1(result)) ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1, $async$_callImporterAsync$4);
            case 5:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_callImporterAsync$4, $async$completer);
    },
    _renderContext$1(fromImport) {
      var context = {options: type$.RenderContextOptions._as(this._implementation$_options), fromImport: fromImport};
      J.set$context$x(J.get$options$x(context), context);
      return context;
    }
  };
  A.NodeImporter_load_closure.prototype = {
    call$0() {
      var _this = this;
      return J.apply$2$x(_this.importer, _this.$this._renderContext$1(_this.forImport), A._setArrayType([_this.url, _this.previousString], type$.JSArray_Object));
    },
    $signature: 35
  };
  A.NodeImporter__tryPath_closure.prototype = {
    call$0() {
      return A.resolveImportPath0(this.path);
    },
    $signature: 44
  };
  A.NodeImporter__tryPath_closure0.prototype = {
    call$1(resolved) {
      return new A._Record_2(A.readFile0(resolved), $.$get$context().toUri$1(resolved).toString$0(0));
    },
    $signature: 464
  };
  A.NodeImporter__callImporterAsync_closure.prototype = {
    call$0() {
      var _this = this;
      return J.apply$2$x(_this.importer, _this.$this._renderContext$1(_this.forImport), A._setArrayType([_this.url, _this.previousString, A.allowInterop(_this.completer.get$complete())], type$.JSArray_Object));
    },
    $signature: 35
  };
  A.ModifiableCssImport0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssImport$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.ImportCache0.prototype = {
    canonicalize$4$baseImporter$baseUrl$forImport(_, url, baseImporter, baseUrl, forImport) {
      var t1, resolvedUrl, key, relativeResult, t2, t3, t4, t5, t6, cacheable, i, importer, perImporterKey, t7, _1_0, _1_2_isSet, _1_2, result, _2_0, _2_1, _2_5_isSet, _2_3, _2_5, _2_3_isSet, j, _this = this, _null = null;
      if (A.isBrowser())
        t1 = (baseImporter == null || baseImporter instanceof A.NoOpImporter0) && _this._import_cache$_importers.length === 0;
      else
        t1 = false;
      if (t1)
        throw A.wrapException(string$.Custom);
      if (baseImporter != null && url.get$scheme() === "") {
        resolvedUrl = baseUrl == null ? _null : baseUrl.resolveUri$1(url);
        if (resolvedUrl == null)
          resolvedUrl = url;
        key = new A._Record_3_forImport(baseImporter, resolvedUrl, forImport);
        relativeResult = _this._import_cache$_perImporterCanonicalizeCache.putIfAbsent$2(key, new A.ImportCache_canonicalize_closure0(_this, baseImporter, resolvedUrl, baseUrl, forImport, key, url));
        if (relativeResult != null)
          return relativeResult;
      }
      key = new A._Record_2_forImport(url, forImport);
      t1 = _this._import_cache$_canonicalizeCache;
      if (t1.containsKey$1(key))
        return t1.$index(0, key);
      for (t2 = _this._import_cache$_importers, t3 = type$.Record_1_nullable_Object, t4 = _this._import_cache$_perImporterCanonicalizeCache, t5 = type$.nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl_2, t6 = type$.Record_3_Importer_and_Uri_and_Uri_originalUrl_2, cacheable = true, i = 0; i < t2.length; ++i) {
        importer = t2[i];
        perImporterKey = new A._Record_3_forImport(importer, url, forImport);
        if (t4.containsKey$1(perImporterKey)) {
          t7 = t4.$index(0, perImporterKey);
          _1_0 = new A._Record_1(t7 == null ? t5._as(t7) : t7);
        } else
          _1_0 = _null;
        _1_2_isSet = t3._is(_1_0);
        if (_1_2_isSet) {
          _1_2 = _1_0._0;
          t7 = _1_2 != null;
          if (t7) {
            t6._as(_1_2);
            result = _1_2;
          } else
            result = _null;
        } else {
          result = _null;
          _1_2 = result;
          t7 = false;
        }
        if (t7)
          return result;
        if (_1_2_isSet)
          t7 = _1_2 == null;
        else
          t7 = false;
        if (t7)
          continue;
        $label0$1: {
          _2_0 = _this._import_cache$_canonicalize$4(importer, url, baseUrl, forImport);
          _2_1 = _2_0._0;
          _2_5_isSet = _2_1 != null;
          if (_2_5_isSet) {
            result = _2_1 == null ? t6._as(_2_1) : _2_1;
            _2_3 = _2_0._1;
            t7 = _2_3;
            _2_5 = t7;
            t7 = t7 && cacheable;
          } else {
            result = _null;
            _2_3 = result;
            _2_5 = _2_3;
            t7 = false;
          }
          if (t7) {
            t1.$indexSet(0, key, result);
            return result;
          }
          if (_2_5_isSet) {
            t7 = _2_5;
            _2_3_isSet = _2_5_isSet;
          } else {
            _2_3 = _2_0._1;
            t7 = _2_3;
            _2_3_isSet = true;
          }
          t7 = t7 && !cacheable;
          if (t7) {
            t4.$indexSet(0, perImporterKey, _2_1);
            if (_2_1 != null)
              return _2_1;
            break $label0$1;
          }
          t7 = false === (_2_3_isSet ? _2_3 : _2_0._1);
          if (t7) {
            if (cacheable) {
              for (j = 0; j < i; ++j)
                t4.$indexSet(0, new A._Record_3_forImport(t2[j], url, forImport), _null);
              cacheable = false;
            }
            if (_2_1 != null)
              return _2_1;
          }
        }
      }
      if (cacheable)
        t1.$indexSet(0, key, _null);
      return _null;
    },
    _import_cache$_canonicalize$4(importer, url, baseUrl, forImport) {
      var passContainingUrl, canonicalizeContext, t1, result, cacheable, _null = null;
      if (baseUrl != null)
        passContainingUrl = url.get$scheme() === "" || importer.isNonCanonicalScheme$1(url.get$scheme());
      else
        passContainingUrl = false;
      canonicalizeContext = new A.CanonicalizeContext0(forImport, passContainingUrl ? baseUrl : _null);
      t1 = type$.nullable_Object;
      result = A.runZoned(new A.ImportCache__canonicalize_closure0(importer, url), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__canonicalizeContext, canonicalizeContext], t1, t1), type$.nullable_Uri);
      cacheable = !passContainingUrl || !canonicalizeContext._canonicalize_context$_wasContainingUrlAccessed;
      if (result == null)
        return new A._Record_2(_null, cacheable);
      if (result.get$scheme() === "")
        A.WarnForDeprecation_warnForDeprecation0(this._import_cache$_logger, B.Deprecation_Ssf, "Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2e_Rela, _null, _null);
      else if (importer.isNonCanonicalScheme$1(result.get$scheme()))
        throw A.wrapException("Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2c_whicu);
      return new A._Record_2(new A._Record_3_originalUrl(importer, result, url), cacheable);
    },
    importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, quiet) {
      return this._import_cache$_importCache.putIfAbsent$2(canonicalUrl, new A.ImportCache_importCanonical_closure0(this, importer, canonicalUrl, originalUrl, quiet));
    },
    importCanonical$3$originalUrl(importer, canonicalUrl, originalUrl) {
      return this.importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, false);
    },
    humanize$1(canonicalUrl) {
      var t1 = A.IterableNullableExtension_whereNotNull(this._import_cache$_canonicalizeCache.get$values(0), type$.Record_3_Importer_and_Uri_and_Uri_originalUrl_2),
        t2 = t1.$ti;
      t2 = A.NullableExtension_andThen0(A.minBy(new A.MappedIterable(new A.WhereIterable(t1, new A.ImportCache_humanize_closure3(canonicalUrl), t2._eval$1("WhereIterable")), new A.ImportCache_humanize_closure4(), t2._eval$1("MappedIterable")), new A.ImportCache_humanize_closure5()), new A.ImportCache_humanize_closure6(canonicalUrl));
      return t2 == null ? canonicalUrl : t2;
    },
    sourceMapUrl$1(_, canonicalUrl) {
      var t1 = this._import_cache$_resultsCache.$index(0, canonicalUrl);
      t1 = t1 == null ? null : t1.get$sourceMapUrl(0);
      return t1 == null ? canonicalUrl : t1;
    }
  };
  A.ImportCache_canonicalize_closure0.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.baseUrl,
        _0_0 = t1._import_cache$_canonicalize$4(_this.baseImporter, _this.resolvedUrl, t2, _this.forImport);
      if (t2 != null)
        t1._import_cache$_nonCanonicalRelativeUrls.$indexSet(0, _this.key, _this.url);
      return _0_0._0;
    },
    $signature: 630
  };
  A.ImportCache__canonicalize_closure0.prototype = {
    call$0() {
      return this.importer.canonicalize$1(0, this.url);
    },
    $signature: 140
  };
  A.ImportCache_importCanonical_closure0.prototype = {
    call$0() {
      var t2, t3, t4, _this = this,
        t1 = _this.canonicalUrl,
        result = _this.importer.load$1(0, t1);
      if (result == null)
        return null;
      t2 = _this.$this;
      t2._import_cache$_resultsCache.$indexSet(0, t1, result);
      t3 = result.contents;
      t4 = result.syntax;
      t1 = _this.originalUrl.resolveUri$1(t1);
      return A.Stylesheet_Stylesheet$parse0(t3, t4, _this.quiet ? $.$get$Logger_quiet0() : t2._import_cache$_logger, t1);
    },
    $signature: 466
  };
  A.ImportCache_humanize_closure3.prototype = {
    call$1(result) {
      return J.$eq$(result._1, this.canonicalUrl);
    },
    $signature: 467
  };
  A.ImportCache_humanize_closure4.prototype = {
    call$1(result) {
      return result._2;
    },
    $signature: 468
  };
  A.ImportCache_humanize_closure5.prototype = {
    call$1(url) {
      return url.get$path(url).length;
    },
    $signature: 87
  };
  A.ImportCache_humanize_closure6.prototype = {
    call$1(url) {
      var t1 = $.$get$url(),
        t2 = this.canonicalUrl;
      return url.resolve$1(0, A.ParsedPath_ParsedPath$parse(t2.get$path(t2), t1.style).get$basename());
    },
    $signature: 43
  };
  A.ImportRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitImportRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "@import " + B.JSArray_methods.join$1(this.imports, ", ") + ";";
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.JSImporter.prototype = {};
  A.JSImporterResult.prototype = {};
  A.Importer0.prototype = {
    isNonCanonicalScheme$1(scheme) {
      return false;
    }
  };
  A.NodeImporterResult0.prototype = {};
  A.IncludeRule0.prototype = {
    get$spanWithoutContent() {
      var t2, t3,
        t1 = this.span;
      if (!(this.content == null)) {
        t2 = t1.file;
        t3 = this.$arguments.span;
        t3 = A.SpanExtensions_trimRight0(A.SpanExtensions_trimLeft0(t2.span$2(0, A.FileLocation$_(t2, t1._file$_start).offset, t3.get$end(t3).offset)));
        t1 = t3;
      }
      return t1;
    },
    get$nameSpan() {
      var startSpan, scanner, _null = null,
        t1 = this.span,
        t2 = t1._file$_start,
        t3 = t1._end,
        t4 = t1.file._decodedChars;
      if (B.JSString_methods.startsWith$1(A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t4, t2, t3), 0, _null), "+"))
        startSpan = A.SpanExtensions_trimLeft0(A.FileSpanExtension_subspan(t1, 1, _null));
      else {
        scanner = A.StringScanner$(A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t4, t2, t3), 0, _null), _null, _null);
        scanner.expectChar$1(64);
        A._scanIdentifier0(scanner);
        startSpan = A.SpanExtensions_trimLeft0(A.FileSpanExtension_subspan(t1, scanner._string_scanner$_position, _null));
      }
      return A.SpanExtensions_initialIdentifier0(this.namespace != null ? A.FileSpanExtension_subspan(A.SpanExtensions_withoutInitialIdentifier0(startSpan), 1, _null) : startSpan);
    },
    accept$1$1(visitor) {
      return visitor.visitIncludeRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t2, _this = this,
        t1 = _this.namespace;
      t1 = t1 != null ? "@include " + (t1 + ".") : "@include ";
      t1 += _this.name;
      t2 = _this.$arguments;
      if (!t2.get$isEmpty(0))
        t1 += "(" + t2.toString$0(0) + ")";
      t2 = _this.content;
      t1 += t2 == null ? ";" : " " + t2.toString$0(0);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.InterpolatedFunctionExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitInterpolatedFunctionExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return this.name.toString$0(0) + this.$arguments.toString$0(0);
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.Interpolation0.prototype = {
    get$asPlain() {
      var _0_1, t1, _0_6_isSet, _0_6, first, _null = null,
        _0_0 = this.contents;
      $label0$0: {
        _0_1 = _0_0.length;
        if (_0_1 <= 0) {
          t1 = "";
          break $label0$0;
        }
        _0_6_isSet = _0_1 === 1;
        if (_0_6_isSet) {
          _0_6 = _0_0[0];
          t1 = _0_6;
          t1 = typeof t1 == "string";
        } else {
          _0_6 = _null;
          t1 = false;
        }
        if (t1) {
          first = A._asString(_0_6_isSet ? _0_6 : _0_0[0]);
          t1 = first;
          break $label0$0;
        }
        t1 = _null;
        break $label0$0;
      }
      return t1;
    },
    get$initialPlain() {
      var _0_4_isSet, _0_4, t1, first,
        _0_0 = this.contents;
      $label0$0: {
        _0_4_isSet = _0_0.length >= 1;
        if (_0_4_isSet) {
          _0_4 = _0_0[0];
          t1 = _0_4;
          t1 = typeof t1 == "string";
        } else {
          _0_4 = null;
          t1 = false;
        }
        if (t1) {
          first = A._asString(_0_4_isSet ? _0_4 : _0_0[0]);
          t1 = first;
          break $label0$0;
        }
        t1 = "";
        break $label0$0;
      }
      return t1;
    },
    Interpolation$20(contents, span) {
      var t1, t2, t3, i, t4, t5,
        _s8_ = "contents";
      for (t1 = this.contents, t2 = t1.length, t3 = type$.Expression_2, i = 0; i < t2; ++i) {
        t4 = t1[i];
        t5 = typeof t4 == "string";
        if (!t5 && !t3._is(t4))
          throw A.wrapException(A.ArgumentError$value(t1, _s8_, string$.May_on));
        if (i !== 0 && typeof t1[i - 1] == "string" && t5)
          throw A.wrapException(A.ArgumentError$value(t1, _s8_, "May not contain adjacent Strings."));
      }
    },
    toString$0(_) {
      var t1 = this.contents;
      return new A.MappedListIterable(t1, new A.Interpolation_toString_closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$0(0);
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.Interpolation_toString_closure0.prototype = {
    call$1(value) {
      return typeof value == "string" ? value : "#{" + A.S(value) + "}";
    },
    $signature: 134
  };
  A.SupportsInterpolation0.prototype = {
    toString$0(_) {
      return "#{" + this.expression.toString$0(0) + "}";
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.InterpolationBuffer0.prototype = {
    writeCharCode$1(character) {
      var t1 = this._interpolation_buffer0$_text,
        t2 = A.Primitives_stringFromCharCode(character);
      t1._contents += t2;
      return null;
    },
    addInterpolation$1(interpolation) {
      var _0_4_isSet, _0_4, first, rest, t2, _this = this,
        toAdd = interpolation.contents,
        t1 = toAdd.length;
      if (t1 === 0)
        return;
      _0_4_isSet = t1 >= 1;
      if (_0_4_isSet) {
        _0_4 = toAdd[0];
        t1 = _0_4;
        t1 = typeof t1 == "string";
      } else {
        _0_4 = null;
        t1 = false;
      }
      if (t1) {
        first = A._asString(_0_4_isSet ? _0_4 : toAdd[0]);
        rest = B.JSArray_methods.sublist$1(toAdd, 1);
        t1 = _this._interpolation_buffer0$_text;
        t1._contents += first;
        toAdd = rest;
      }
      _this._interpolation_buffer0$_flushText$0();
      t1 = _this._interpolation_buffer0$_contents;
      B.JSArray_methods.addAll$1(t1, toAdd);
      if (typeof B.JSArray_methods.get$last(t1) == "string") {
        t2 = _this._interpolation_buffer0$_text;
        t1 = A.S(t1.pop());
        t2._contents += t1;
      }
    },
    _interpolation_buffer0$_flushText$0() {
      var t1 = this._interpolation_buffer0$_text,
        t2 = t1._contents;
      if (t2.length === 0)
        return;
      this._interpolation_buffer0$_contents.push(t2.charCodeAt(0) == 0 ? t2 : t2);
      t1._contents = "";
    },
    interpolation$1(span) {
      var t1 = A.List_List$of(this._interpolation_buffer0$_contents, true, type$.Object),
        t2 = this._interpolation_buffer0$_text._contents;
      if (t2.length !== 0)
        t1.push(t2.charCodeAt(0) == 0 ? t2 : t2);
      return A.Interpolation$0(t1, span);
    },
    toString$0(_) {
      var t1, t2, _i, t3, element;
      for (t1 = this._interpolation_buffer0$_contents, t2 = t1.length, _i = 0, t3 = ""; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        element = t1[_i];
        t3 = typeof element == "string" ? t3 + element : t3 + "#{" + A.S(element) + A.Primitives_stringFromCharCode(125);
      }
      t1 = t3 + this._interpolation_buffer0$_text.toString$0(0);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.InterpolationMap0.prototype = {
    mapException$1(error) {
      var t3, t4, _this = this,
        target = error.get$span(error),
        source = _this.mapSpan$1(target),
        startIndex = _this._interpolation_map$_indexInContents$1(target.get$start(target)),
        endIndex = _this._interpolation_map$_indexInContents$1(target.get$end(target)),
        t1 = _this._interpolation_map$_interpolation.contents,
        t2 = error._span_exception$_message;
      if (!A.SubListIterable$(t1, startIndex, null, A._arrayInstanceType(t1)._precomputed1).take$1(0, endIndex - startIndex + 1).any$1(0, new A.InterpolationMap_mapException_closure0()))
        return new A.SourceSpanFormatException(error.get$source(), t2, source);
      else {
        t1 = type$.SourceSpan;
        t3 = type$.String;
        t4 = A.LinkedHashMap_LinkedHashMap$_literal([target, "error in interpolated output"], t1, t3);
        return new A.MultiSourceSpanFormatException(error.get$source(), "", A.ConstantMap_ConstantMap$from(t4, t1, t3), t2, source);
      }
    },
    mapSpan$1(target) {
      var _0_10, t1, _0_2_isSet, _0_20, t2, start, end, _this = this, _null = null,
        _0_1 = _this._interpolation_map$_mapLocation$1(target.get$start(target)),
        _0_2 = _this._interpolation_map$_mapLocation$1(target.get$end(target));
      $label0$0: {
        _0_10 = _0_1;
        t1 = type$.FileSpan;
        _0_2_isSet = t1._is(_0_1);
        if (_0_2_isSet) {
          t1._as(_0_10);
          _0_20 = _0_2;
          t2 = t1._is(_0_2);
          start = _0_10;
          _0_1 = start;
        } else {
          start = _null;
          _0_20 = start;
          _0_1 = _0_10;
          t2 = false;
        }
        if (t2) {
          t1 = start.expand$1(0, t1._as(_0_2_isSet ? _0_20 : _0_2));
          break $label0$0;
        }
        if (t1._is(_0_1)) {
          if (_0_2_isSet)
            t2 = _0_20;
          else {
            t2 = _0_2;
            _0_20 = t2;
            _0_2_isSet = true;
          }
          t2 = t2 instanceof A.FileLocation;
          start = _0_1;
        } else {
          start = _null;
          t2 = false;
        }
        if (t2) {
          t1 = _0_2_isSet ? _0_20 : _0_2;
          type$.FileLocation._as(t1);
          t2 = _this._interpolation_map$_interpolation.span;
          t1 = t2.get$file(t2).span$2(0, _this._interpolation_map$_expandInterpolationSpanLeft$1(start.get$start(start)), t1.offset);
          break $label0$0;
        }
        if (_0_1 instanceof A.FileLocation) {
          if (_0_2_isSet)
            t2 = _0_20;
          else {
            t2 = _0_2;
            _0_20 = t2;
            _0_2_isSet = true;
          }
          t2 = t1._is(t2);
          start = _0_1;
        } else {
          start = _null;
          t2 = false;
        }
        if (t2) {
          end = t1._as(_0_2_isSet ? _0_20 : _0_2);
          t1 = _this._interpolation_map$_interpolation.span;
          t1 = t1.get$file(t1).span$2(0, start.offset, _this._interpolation_map$_expandInterpolationSpanRight$1(end.get$end(end)));
          break $label0$0;
        }
        if (_0_1 instanceof A.FileLocation) {
          if (_0_2_isSet)
            t1 = _0_20;
          else {
            t1 = _0_2;
            _0_20 = t1;
            _0_2_isSet = true;
          }
          t1 = t1 instanceof A.FileLocation;
          start = _0_1;
        } else {
          start = _null;
          t1 = false;
        }
        if (t1) {
          t1 = _0_2_isSet ? _0_20 : _0_2;
          type$.FileLocation._as(t1);
          t2 = _this._interpolation_map$_interpolation.span;
          t1 = t2.get$file(t2).span$2(0, start.offset, t1.offset);
          break $label0$0;
        }
        t1 = A.throwExpression("[BUG] Unreachable");
      }
      return t1;
    },
    _interpolation_map$_mapLocation$1(target) {
      var t4, previousLocation, _this = this,
        index = _this._interpolation_map$_indexInContents$1(target),
        t1 = _this._interpolation_map$_interpolation,
        t2 = t1.contents,
        _0_0 = t2[index],
        t3 = type$.Expression_2;
      if (t3._is(_0_0))
        return _0_0.get$span(_0_0);
      t4 = index === 0;
      t1 = t1.span;
      if (t4)
        previousLocation = t1.get$start(t1);
      else {
        t1 = t1.get$file(t1);
        t2 = t3._as(t2[index - 1]);
        t2 = t2.get$span(t2);
        previousLocation = A.FileLocation$_(t1, _this._interpolation_map$_expandInterpolationSpanRight$1(t2.get$end(t2)));
      }
      t1 = t4 ? 0 : _this._interpolation_map$_targetLocations[index - 1].get$offset();
      return A.FileLocation$_(previousLocation.file, previousLocation.offset + (target.offset - t1));
    },
    _interpolation_map$_indexInContents$1(target) {
      var t1, t2, t3, i;
      for (t1 = this._interpolation_map$_targetLocations, t2 = t1.length, t3 = target.offset, i = 0; i < t2; ++i)
        if (t3 < t1[i].get$offset())
          return i;
      return this._interpolation_map$_interpolation.contents.length - 1;
    },
    _interpolation_map$_expandInterpolationSpanLeft$1(start) {
      var i0, prev, char,
        source = start.file._decodedChars,
        i = start.offset - 1;
      for (; i >= 0;) {
        i0 = i - 1;
        prev = source[i];
        if (prev === 123) {
          if (source[i0] === 35) {
            i = i0;
            break;
          }
          i = i0;
        } else if (prev === 47) {
          i = i0 - 1;
          if (source[i0] === 42)
            for (; true;) {
              i0 = i - 1;
              if (source[i] !== 42) {
                i = i0;
                continue;
              }
              i = i0;
              do {
                i0 = i - 1;
                char = source[i];
                if (char === 42) {
                  i = i0;
                  continue;
                } else
                  break;
              } while (true);
              if (char === 47) {
                i = i0;
                break;
              }
              i = i0;
            }
        } else
          i = i0;
      }
      return i;
    },
    _interpolation_map$_expandInterpolationSpanRight$1(end) {
      var t1, i0, next, second, t2, char,
        source = end.file._decodedChars,
        i = end.offset;
      for (t1 = source.length; i < t1;) {
        i0 = i + 1;
        next = source[i];
        if (next === 125) {
          i = i0;
          break;
        }
        if (next === 47) {
          i = i0 + 1;
          second = source[i0];
          if (second === 47) {
            while (true) {
              i0 = i + 1;
              t2 = source[i];
              if (!!(t2 === 10 || t2 === 13 || t2 === 12))
                break;
              i = i0;
            }
            i = i0;
          } else if (second === 42)
            for (; true;) {
              i0 = i + 1;
              if (source[i] !== 42) {
                i = i0;
                continue;
              }
              i = i0;
              do {
                i0 = i + 1;
                char = source[i];
                if (char === 42) {
                  i = i0;
                  continue;
                } else
                  break;
              } while (true);
              if (char === 47) {
                i = i0;
                break;
              }
              i = i0;
            }
        } else
          i = i0;
      }
      return i;
    }
  };
  A.InterpolationMap_mapException_closure0.prototype = {
    call$1($content) {
      return type$.Expression_2._is($content);
    },
    $signature: 75
  };
  A._realCasePath_helper0.prototype = {
    call$1(path) {
      var dirname = $.$get$context().dirname$1(path);
      if (dirname === path)
        return path;
      return $._realCaseCache0.putIfAbsent$2(path, new A._realCasePath_helper_closure0(this, dirname, path));
    },
    $signature: 5
  };
  A._realCasePath_helper_closure0.prototype = {
    call$0() {
      var matches, t1, _0_0, match, exception,
        realDirname = this.helper.call$1(this.dirname),
        t2 = this.path,
        basename = A.ParsedPath_ParsedPath$parse(t2, $.$get$context().style).get$basename();
      try {
        matches = J.where$1$ax(A.listDir0(realDirname), new A._realCasePath_helper__closure0(basename)).toList$0(0);
        t1 = null;
        _0_0 = matches;
        $label0$0: {
          match = null;
          if (J.get$length$asx(_0_0) === 1) {
            match = J.$index$asx(_0_0, 0);
            t1 = match;
            break $label0$0;
          }
          t1 = A.join(realDirname, basename, null);
          break $label0$0;
        }
        t1 = t1;
        return t1;
      } catch (exception) {
        if (A.unwrapException(exception) instanceof A.FileSystemException0)
          return t2;
        else
          throw exception;
      }
    },
    $signature: 26
  };
  A._realCasePath_helper__closure0.prototype = {
    call$1(realPath) {
      return A.equalsIgnoreCase0(A.ParsedPath_ParsedPath$parse(realPath, $.$get$context().style).get$basename(), this.basename);
    },
    $signature: 4
  };
  A.FileSystemException0.prototype = {
    toString$0(_) {
      var t1 = $.$get$context();
      return t1.prettyUri$1(t1.toUri$1(this.path)) + ": " + this.message;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A._readFile_closure0.prototype = {
    call$0() {
      return J.readFileSync$2$x(A.fs(), this.path, this.encoding);
    },
    $signature: 60
  };
  A.fileExists_closure0.prototype = {
    call$0() {
      var error, systemError, exception,
        t1 = this.path;
      if (!J.existsSync$1$x(A.fs(), t1))
        return false;
      try {
        t1 = J.isFile$0$x(J.statSync$1$x(A.fs(), t1));
        return t1;
      } catch (exception) {
        error = A.unwrapException(exception);
        systemError = type$.JsSystemError._as(error);
        if (J.$eq$(J.get$code$x(systemError), "ENOENT"))
          return false;
        throw exception;
      }
    },
    $signature: 22
  };
  A.dirExists_closure0.prototype = {
    call$0() {
      var error, systemError, exception,
        t1 = this.path;
      if (!J.existsSync$1$x(A.fs(), t1))
        return false;
      try {
        t1 = J.isDirectory$0$x(J.statSync$1$x(A.fs(), t1));
        return t1;
      } catch (exception) {
        error = A.unwrapException(exception);
        systemError = type$.JsSystemError._as(error);
        if (J.$eq$(J.get$code$x(systemError), "ENOENT"))
          return false;
        throw exception;
      }
    },
    $signature: 22
  };
  A.listDir_closure0.prototype = {
    call$0() {
      var t1 = this.path;
      if (!this.recursive)
        return J.map$1$1$ax(J.readdirSync$1$x(A.fs(), t1), new A.listDir__closure1(t1), type$.String).super$Iterable$where(0, new A.listDir__closure2());
      else
        return new A.listDir_closure_list0().call$1(t1);
    },
    $signature: 145
  };
  A.listDir__closure1.prototype = {
    call$1(child) {
      return A.join(this.path, A._asString(child), null);
    },
    $signature: 108
  };
  A.listDir__closure2.prototype = {
    call$1(child) {
      return !A.dirExists0(child);
    },
    $signature: 4
  };
  A.listDir_closure_list0.prototype = {
    call$1($parent) {
      return J.expand$1$1$ax(J.readdirSync$1$x(A.fs(), $parent), new A.listDir__list_closure0($parent, this), type$.String);
    },
    $signature: 146
  };
  A.listDir__list_closure0.prototype = {
    call$1(child) {
      var path = A.join(this.parent, A._asString(child), null);
      return A.dirExists0(path) ? this.list.call$1(path) : A._setArrayType([path], type$.JSArray_String);
    },
    $signature: 147
  };
  A.main_closure.prototype = {
    call$2(_, __) {
    },
    $signature: 469
  };
  A.main_closure0.prototype = {
    call$2(_, __) {
    },
    $signature: 470
  };
  A.JSToDartLogger.prototype = {
    internalWarn$4$deprecation$span$trace(message, deprecation, span, trace) {
      var t2, t3, t4,
        t1 = this._node,
        _0_0 = t1 == null ? null : J.get$warn$x(t1);
      if (_0_0 != null) {
        t1 = span == null ? type$.nullable_SourceSpan._as(self.undefined) : span;
        t2 = J.toString$0$(trace);
        t3 = deprecation == null;
        t4 = $.$get$deprecations();
        _0_0.call$2(message, {deprecation: !t3, deprecationType: t4.$index(0, t3 ? null : deprecation.id), span: t1, stack: t2});
      } else
        this._withAscii$1(new A.JSToDartLogger_internalWarn_closure(this, message, span, trace, deprecation));
    },
    debug$2(_, message, span) {
      var t1 = this._node,
        _0_0 = t1 == null ? null : J.get$debug$x(t1);
      if (_0_0 != null)
        _0_0.call$2(message, {span: span});
      else
        this._withAscii$1(new A.JSToDartLogger_debug_closure(this, message, span));
    },
    _withAscii$1$1(callback) {
      var t1,
        wasAscii = $._glyphs === B.C_AsciiGlyphSet;
      $._glyphs = this._ascii ? B.C_AsciiGlyphSet : B.C_UnicodeGlyphSet;
      try {
        t1 = callback.call$0();
        return t1;
      } finally {
        $._glyphs = wasAscii ? B.C_AsciiGlyphSet : B.C_UnicodeGlyphSet;
      }
    },
    _withAscii$1(callback) {
      return this._withAscii$1$1(callback, type$.dynamic);
    }
  };
  A.JSToDartLogger_internalWarn_closure.prototype = {
    call$0() {
      var _this = this;
      _this.$this._fallback.warn$4$deprecation$span$trace(0, _this.message, _this.deprecation != null, _this.span, _this.trace);
    },
    $signature: 1
  };
  A.JSToDartLogger_debug_closure.prototype = {
    call$0() {
      return this.$this._fallback.debug$2(0, this.message, this.span);
    },
    $signature: 0
  };
  A.ModifiableCssKeyframeBlock0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssKeyframeBlock$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    equalsIgnoringChildren$1(other) {
      return other instanceof A.ModifiableCssKeyframeBlock0 && B.C_ListEquality.equals$2(0, this.selector.value, other.selector.value);
    },
    copyWithoutChildren$0() {
      return A.ModifiableCssKeyframeBlock$0(this.selector, this.span);
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.KeyframeSelectorParser0.prototype = {
    parse$0() {
      return this.wrapSpanFormatException$1(new A.KeyframeSelectorParser_parse_closure0(this));
    },
    _keyframe_selector$_percentage$0() {
      var $self, _0_0,
        t1 = this.scanner,
        t2 = t1.scanChar$1(43) ? "" + A.Primitives_stringFromCharCode(43) : "",
        second = t1.peekChar$0();
      if (!(second != null && second >= 48 && second <= 57) && second !== 46)
        t1.error$1(0, "Expected number.");
      while (true) {
        $self = t1.peekChar$0();
        if (!($self != null && $self >= 48 && $self <= 57))
          break;
        t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
      }
      if (t1.peekChar$0() === 46) {
        t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
        while (true) {
          $self = t1.peekChar$0();
          if (!($self != null && $self >= 48 && $self <= 57))
            break;
          t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
        }
      }
      if (this.scanIdentChar$1(101)) {
        t2 += A.Primitives_stringFromCharCode(101);
        _0_0 = t1.peekChar$0();
        if (43 === _0_0 || 45 === _0_0)
          t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
        $self = t1.peekChar$0();
        if (!($self != null && $self >= 48 && $self <= 57))
          t1.error$1(0, "Expected digit.");
        do {
          t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
          $self = t1.peekChar$0();
        } while ($self != null && $self >= 48 && $self <= 57);
      }
      t1.expectChar$1(37);
      t2 += A.Primitives_stringFromCharCode(37);
      return t2.charCodeAt(0) == 0 ? t2 : t2;
    }
  };
  A.KeyframeSelectorParser_parse_closure0.prototype = {
    call$0() {
      var selectors = A._setArrayType([], type$.JSArray_String),
        t1 = this.$this,
        t2 = t1.scanner;
      do {
        t1.whitespace$0();
        if (t1.lookingAtIdentifier$0())
          if (t1.scanIdentifier$1("from"))
            selectors.push("from");
          else {
            t1.expectIdentifier$2$name("to", '"to" or "from"');
            selectors.push("to");
          }
        else
          selectors.push(t1._keyframe_selector$_percentage$0());
        t1.whitespace$0();
      } while (t2.scanChar$1(44));
      t2.expectDone$0();
      return selectors;
    },
    $signature: 124
  };
  A.LazyFileSpan0.prototype = {
    get$span(_) {
      var t1 = this._lazy_file_span0$_span;
      return t1 == null ? this._lazy_file_span0$_span = this._lazy_file_span0$_builder.call$0() : t1;
    },
    compareTo$1(_, other) {
      return this.get$span(0).compareTo$1(0, other);
    },
    get$context(_) {
      var t1 = this.get$span(0);
      return t1.get$context(t1);
    },
    get$end(_) {
      var t1 = this.get$span(0);
      return t1.get$end(t1);
    },
    expand$1(_, other) {
      return this.get$span(0).expand$1(0, other);
    },
    get$file(_) {
      var t1 = this.get$span(0);
      return t1.get$file(t1);
    },
    highlight$1$color(color) {
      return this.get$span(0).highlight$1$color(color);
    },
    get$length(_) {
      var t1 = this.get$span(0);
      return t1.get$length(t1);
    },
    message$2$color(_, message, color) {
      return this.get$span(0).message$2$color(0, message, color);
    },
    message$1(_, message) {
      return this.message$2$color(0, message, null);
    },
    get$sourceUrl(_) {
      var t1 = this.get$span(0);
      return t1.get$sourceUrl(t1);
    },
    get$start(_) {
      var t1 = this.get$span(0);
      return t1.get$start(t1);
    },
    get$text() {
      return this.get$span(0).get$text();
    },
    $isComparable: 1,
    $isFileSpan: 1,
    $isSourceSpan: 1,
    $isSourceSpanWithContext: 1
  };
  A.render_closure.prototype = {
    call$0() {
      var error, exception;
      try {
        this.callback.call$2(null, A.renderSync(this.options));
      } catch (exception) {
        error = A.unwrapException(exception);
        this.callback.call$2(error, null);
      }
      return null;
    },
    $signature: 1
  };
  A.render_closure0.prototype = {
    call$1(result) {
      this.callback.call$2(null, result);
    },
    $signature: 471
  };
  A.render_closure1.prototype = {
    call$2(error, stackTrace) {
      var t2, t3, _null = null,
        t1 = this.callback;
      if (error instanceof A.SassException0)
        t1.call$2(A._wrapException(error, stackTrace), _null);
      else {
        t2 = J.toString$0$(error);
        t3 = A.getTrace0(error);
        t1.call$2(A._newRenderError(t2, t3 == null ? stackTrace : t3, _null, _null, _null, 3), _null);
      }
    },
    $signature: 52
  };
  A._parseFunctions_closure.prototype = {
    call$2(signature, callback) {
      var _0_0, _this = this, t1 = {},
        t2 = _this.options,
        context = {options: A._contextOptions(t2, _this.start)};
      J.set$context$x(J.get$options$x(context), context);
      _0_0 = J.get$fiber$x(t2);
      t1.fiber = null;
      if (_0_0 != null) {
        t1.fiber = _0_0;
        _this.result.push(A.Callable_Callable$fromSignature(B.JSString_methods.trimLeft$0(signature), new A._parseFunctions__closure(t1, callback, context), false));
      } else {
        t1 = _this.result;
        if (!_this.asynch)
          t1.push(A.Callable_Callable$fromSignature(B.JSString_methods.trimLeft$0(signature), new A._parseFunctions__closure0(callback, context), false));
        else
          t1.push(A.AsyncCallable_AsyncCallable$fromSignature(B.JSString_methods.trimLeft$0(signature), new A._parseFunctions__closure1(callback, context), false));
      }
    },
    $signature: 120
  };
  A._parseFunctions__closure.prototype = {
    call$1($arguments) {
      var result,
        t1 = this._box_0,
        currentFiber = J.get$current$x(t1.fiber),
        t2 = type$.Object;
      t2 = A.List_List$of(J.map$1$1$ax($arguments, A.value0__wrapValue$closure(), t2), true, t2);
      t2.push(A.allowInterop(new A._parseFunctions___closure2(currentFiber)));
      result = A.wrapJSExceptions(new A._parseFunctions___closure3(this.callback, this.context, t2));
      return A.unwrapValue(A._asBool($.$get$_isUndefined().call$1(result)) ? A.runZoned(new A._parseFunctions___closure4(t1), null, type$.nullable_Object) : result);
    },
    $signature: 3
  };
  A._parseFunctions___closure2.prototype = {
    call$1(result) {
      A.scheduleMicrotask(new A._parseFunctions____closure(this.currentFiber, result));
    },
    call$0() {
      return this.call$1(null);
    },
    "call*": "call$1",
    $requiredArgCount: 0,
    $defaultValues() {
      return [null];
    },
    $signature: 93
  };
  A._parseFunctions____closure.prototype = {
    call$0() {
      return J.run$1$x(this.currentFiber, this.result);
    },
    $signature: 0
  };
  A._parseFunctions___closure3.prototype = {
    call$0() {
      return J.apply$2$x(type$.JSFunction._as(this.callback), this.context, this.jsArguments);
    },
    $signature: 35
  };
  A._parseFunctions___closure4.prototype = {
    call$0() {
      return J.yield$0$x(this._box_0.fiber);
    },
    $signature: 79
  };
  A._parseFunctions__closure0.prototype = {
    call$1($arguments) {
      return A.unwrapValue(A.wrapJSExceptions(new A._parseFunctions___closure1(this.callback, this.context, $arguments)));
    },
    $signature: 3
  };
  A._parseFunctions___closure1.prototype = {
    call$0() {
      var t1 = type$.JSFunction._as(this.callback),
        t2 = J.map$1$1$ax(this.$arguments, A.value0__wrapValue$closure(), type$.Object);
      return J.apply$2$x(t1, this.context, A.List_List$of(t2, true, t2.$ti._eval$1("ListIterable.E")));
    },
    $signature: 35
  };
  A._parseFunctions__closure1.prototype = {
    call$1($arguments) {
      return this.$call$body$_parseFunctions__closure($arguments);
    },
    $call$body$_parseFunctions__closure($arguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2),
        $async$returnValue, $async$self = this, result, t1, t2, $async$temp1;
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = new A._Future($.Zone__current, type$._Future_nullable_Object);
              t2 = type$.Object;
              t2 = A.List_List$of(J.map$1$1$ax($arguments, A.value0__wrapValue$closure(), t2), true, t2);
              t2.push(A.allowInterop(new A._parseFunctions___closure(new A._AsyncCompleter(t1, type$._AsyncCompleter_nullable_Object))));
              result = A.wrapJSExceptions(new A._parseFunctions___closure0($async$self.callback, $async$self.context, t2));
              $async$temp1 = A;
              $async$goto = A._asBool($.$get$_isUndefined().call$1(result)) ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait(t1, $async$call$1);
            case 6:
              // returning from await.
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$result = result;
            case 4:
              // join
              $async$returnValue = $async$temp1.unwrapValue($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: 88
  };
  A._parseFunctions___closure.prototype = {
    call$1(result) {
      return this.completer.complete$1(result);
    },
    call$0() {
      return this.call$1(null);
    },
    "call*": "call$1",
    $requiredArgCount: 0,
    $defaultValues() {
      return [null];
    },
    $signature: 166
  };
  A._parseFunctions___closure0.prototype = {
    call$0() {
      return J.apply$2$x(type$.JSFunction._as(this.callback), this.context, this.jsArguments);
    },
    $signature: 35
  };
  A._parseImporter_closure.prototype = {
    call$1(importer) {
      return type$.JSFunction._as(A.allowInteropCaptureThis(new A._parseImporter__closure(this._box_0, importer)));
    },
    $signature: 472
  };
  A._parseImporter__closure.prototype = {
    call$4(thisArg, url, previous, _) {
      var t1 = this._box_0,
        result = J.apply$2$x(this.importer, thisArg, A._setArrayType([url, previous, A.allowInterop(new A._parseImporter___closure(J.get$current$x(t1.fiber)))], type$.JSArray_Object));
      if (A._asBool($.$get$_isUndefined().call$1(result)))
        return A.runZoned(new A._parseImporter___closure0(t1), null, type$.Object);
      return result;
    },
    call$3(thisArg, url, previous) {
      return this.call$4(thisArg, url, previous, null);
    },
    "call*": "call$4",
    $requiredArgCount: 3,
    $defaultValues() {
      return [null];
    },
    $signature: 473
  };
  A._parseImporter___closure.prototype = {
    call$1(result) {
      A.scheduleMicrotask(new A._parseImporter____closure(this.currentFiber, result));
    },
    $signature: 474
  };
  A._parseImporter____closure.prototype = {
    call$0() {
      return J.run$1$x(this.currentFiber, this.result);
    },
    $signature: 0
  };
  A._parseImporter___closure0.prototype = {
    call$0() {
      return J.yield$0$x(this._box_0.fiber);
    },
    $signature: 79
  };
  A.LimitedMapView0.prototype = {
    get$keys(_) {
      return this._limited_map_view0$_keys;
    },
    get$length(_) {
      return this._limited_map_view0$_keys._collection$_length;
    },
    get$isEmpty(_) {
      return this._limited_map_view0$_keys._collection$_length === 0;
    },
    get$isNotEmpty(_) {
      return this._limited_map_view0$_keys._collection$_length !== 0;
    },
    $index(_, key) {
      return this._limited_map_view0$_keys.contains$1(0, key) ? this._limited_map_view0$_map.$index(0, key) : null;
    },
    containsKey$1(key) {
      return this._limited_map_view0$_keys.contains$1(0, key);
    },
    remove$1(_, key) {
      return this._limited_map_view0$_keys.contains$1(0, key) ? this._limited_map_view0$_map.remove$1(0, key) : null;
    }
  };
  A.ListExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitListExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t2, t3, t4, t5, _this = this,
        t1 = _this.hasBrackets;
      if (t1)
        t2 = "" + A.Primitives_stringFromCharCode(91);
      else {
        t2 = _this.contents.length;
        if (t2 !== 0)
          t2 = t2 === 1 && _this.separator === B.ListSeparator_ECn0;
        else
          t2 = true;
        t2 = t2 ? "" + A.Primitives_stringFromCharCode(40) : "";
      }
      t3 = _this.contents;
      t4 = _this.separator === B.ListSeparator_ECn0;
      t5 = t4 ? ", " : " ";
      t5 = t2 + new A.MappedListIterable(t3, new A.ListExpression_toString_closure0(_this), A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,String>")).join$1(0, t5);
      if (t1)
        t1 = t5 + A.Primitives_stringFromCharCode(93);
      else {
        t1 = t3.length;
        if (t1 === 0)
          t1 = t5 + A.Primitives_stringFromCharCode(41);
        else
          t1 = t1 === 1 && t4 ? t5 + ",)" : t5;
      }
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _list3$_elementNeedsParens$1(expression) {
      var childSeparator, t1, _0_13;
      $label0$0: {
        if (expression instanceof A.ListExpression0 && expression.contents.length >= 2 && !expression.hasBrackets) {
          childSeparator = expression.separator;
          t1 = this.separator === B.ListSeparator_ECn0 ? childSeparator === B.ListSeparator_ECn0 : childSeparator !== B.ListSeparator_undecided_null_undecided0;
          break $label0$0;
        }
        if (expression instanceof A.UnaryOperationExpression0) {
          _0_13 = expression.operator;
          if (B.UnaryOperator_cLp0 !== _0_13)
            t1 = B.UnaryOperator_AiQ0 === _0_13;
          else
            t1 = true;
        } else
          t1 = false;
        if (t1) {
          t1 = this.separator === B.ListSeparator_nbm0;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ListExpression_toString_closure0.prototype = {
    call$1(element) {
      return this.$this._list3$_elementNeedsParens$1(element) ? "(" + element.toString$0(0) + ")" : element.toString$0(0);
    },
    $signature: 107
  };
  A._length_closure2.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber0(J.$index$asx($arguments, 0).get$asList().length, null);
    },
    $signature: 12
  };
  A._nth_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        list = t1.$index($arguments, 0),
        index = t1.$index($arguments, 1);
      return list.get$asList()[list.sassIndexToListIndex$2(index, "n")];
    },
    $signature: 3
  };
  A._setNth_closure0.prototype = {
    call$1($arguments) {
      var newList,
        t1 = J.getInterceptor$asx($arguments),
        list = t1.$index($arguments, 0),
        index = t1.$index($arguments, 1),
        value = t1.$index($arguments, 2);
      t1 = list.get$asList();
      newList = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
      newList[list.sassIndexToListIndex$2(index, "n")] = value;
      return list.withListContents$1(newList);
    },
    $signature: 23
  };
  A._join_closure0.prototype = {
    call$1($arguments) {
      var _0_1, _0_4, _0_3, t2, _0_40, separator, bracketed, _null = null,
        t1 = J.getInterceptor$asx($arguments),
        list1 = t1.$index($arguments, 0),
        list2 = t1.$index($arguments, 1),
        separatorParam = t1.$index($arguments, 2).assertString$1("separator"),
        bracketedParam = t1.$index($arguments, 3),
        _1_0 = separatorParam._string0$_text;
      $label1$1: {
        if ("auto" === _1_0) {
          _0_1 = list1.get$separator(list1);
          _0_4 = list2.get$separator(list2);
          $label0$0: {
            _0_3 = B.ListSeparator_undecided_null_undecided0 === _0_1;
            t1 = _0_3;
            if (t1) {
              t2 = B.ListSeparator_undecided_null_undecided0 === _0_4;
              _0_40 = _0_4;
            } else {
              _0_40 = _null;
              t2 = false;
            }
            if (t2) {
              t1 = B.ListSeparator_nbm0;
              break $label0$0;
            }
            if (_0_3)
              separator = t1 ? _0_40 : _0_4;
            else
              separator = _null;
            if (!_0_3)
              separator = _0_1;
            t1 = separator;
            break $label0$0;
          }
          break $label1$1;
        }
        if ("space" === _1_0) {
          t1 = B.ListSeparator_nbm0;
          break $label1$1;
        }
        if ("comma" === _1_0) {
          t1 = B.ListSeparator_ECn0;
          break $label1$1;
        }
        if ("slash" === _1_0) {
          t1 = B.ListSeparator_cQA0;
          break $label1$1;
        }
        t1 = A.throwExpression(A.SassScriptException$0(string$.x24separ, _null));
      }
      bracketed = bracketedParam instanceof A.SassString0 && bracketedParam._string0$_text === "auto" ? list1.get$hasBrackets() : bracketedParam.get$isTruthy();
      t2 = A.List_List$of(list1.get$asList(), true, type$.Value_2);
      B.JSArray_methods.addAll$1(t2, list2.get$asList());
      return A.SassList$0(t2, t1, bracketed);
    },
    $signature: 23
  };
  A._append_closure2.prototype = {
    call$1($arguments) {
      var t2,
        t1 = J.getInterceptor$asx($arguments),
        list = t1.$index($arguments, 0),
        value = t1.$index($arguments, 1),
        _0_0 = t1.$index($arguments, 2).assertString$1("separator")._string0$_text;
      $label0$0: {
        if ("auto" === _0_0) {
          t1 = list.get$separator(list) === B.ListSeparator_undecided_null_undecided0 ? B.ListSeparator_nbm0 : list.get$separator(list);
          break $label0$0;
        }
        if ("space" === _0_0) {
          t1 = B.ListSeparator_nbm0;
          break $label0$0;
        }
        if ("comma" === _0_0) {
          t1 = B.ListSeparator_ECn0;
          break $label0$0;
        }
        if ("slash" === _0_0) {
          t1 = B.ListSeparator_cQA0;
          break $label0$0;
        }
        t1 = A.throwExpression(A.SassScriptException$0(string$.x24separ, null));
      }
      t2 = A.List_List$of(list.get$asList(), true, type$.Value_2);
      t2.push(value);
      return list.withListContents$2$separator(t2, t1);
    },
    $signature: 23
  };
  A._zip_closure0.prototype = {
    call$1($arguments) {
      var results, result, _box_0 = {},
        t1 = J.$index$asx($arguments, 0).get$asList(),
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,List>"),
        lists = A.List_List$of(new A.MappedListIterable(t1, new A._zip__closure2(), t2), true, t2._eval$1("ListIterable.E"));
      if (lists.length === 0)
        return B.SassList_bdS1;
      _box_0.i = 0;
      results = A._setArrayType([], type$.JSArray_SassList_2);
      for (t1 = A._arrayInstanceType(lists)._eval$1("MappedListIterable<1,Value0>"), t2 = type$.Value_2; B.JSArray_methods.every$1(lists, new A._zip__closure3(_box_0));) {
        result = A.List_List$from(new A.MappedListIterable(lists, new A._zip__closure4(_box_0), t1), false, t2);
        result.fixed$length = Array;
        result.immutable$list = Array;
        results.push(new A.SassList0(result, B.ListSeparator_nbm0, false));
        ++_box_0.i;
      }
      return A.SassList$0(results, B.ListSeparator_ECn0, false);
    },
    $signature: 23
  };
  A._zip__closure2.prototype = {
    call$1(list) {
      return list.get$asList();
    },
    $signature: 476
  };
  A._zip__closure3.prototype = {
    call$1(list) {
      return this._box_0.i !== J.get$length$asx(list);
    },
    $signature: 477
  };
  A._zip__closure4.prototype = {
    call$1(list) {
      return J.$index$asx(list, this._box_0.i);
    },
    $signature: 3
  };
  A._index_closure2.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        index = B.JSArray_methods.indexOf$1(t1.$index($arguments, 0).get$asList(), t1.$index($arguments, 1));
      return index === -1 ? B.C__SassNull0 : A.SassNumber_SassNumber0(index + 1, null);
    },
    $signature: 3
  };
  A._separator_closure0.prototype = {
    call$1($arguments) {
      var t1,
        _0_0 = J.get$separator$x(J.$index$asx($arguments, 0));
      $label0$0: {
        if (B.ListSeparator_ECn0 === _0_0) {
          t1 = new A.SassString0("comma", false);
          break $label0$0;
        }
        if (B.ListSeparator_cQA0 === _0_0) {
          t1 = new A.SassString0("slash", false);
          break $label0$0;
        }
        t1 = new A.SassString0("space", false);
        break $label0$0;
      }
      return t1;
    },
    $signature: 19
  };
  A._isBracketed_closure0.prototype = {
    call$1($arguments) {
      return J.$index$asx($arguments, 0).get$hasBrackets() ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._slash_closure0.prototype = {
    call$1($arguments) {
      var list = J.$index$asx($arguments, 0).get$asList();
      if (list.length < 2)
        throw A.wrapException(A.SassScriptException$0("At least two elements are required.", null));
      return A.SassList$0(list, B.ListSeparator_cQA0, false);
    },
    $signature: 23
  };
  A.SelectorList0.prototype = {
    get$asSassList() {
      var t1 = this.components;
      return A.SassList$0(new A.MappedListIterable(t1, new A.SelectorList_asSassList_closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value0>")), B.ListSeparator_ECn0, false);
    },
    accept$1$1(visitor) {
      return visitor.visitSelectorList$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    unify$1(other) {
      var t3, t4, t5, t6, _i, complex1, _i0, t7,
        t1 = type$.JSArray_ComplexSelector_2,
        t2 = A._setArrayType([], t1);
      for (t3 = this.components, t4 = t3.length, t5 = other.components, t6 = t5.length, _i = 0; _i < t4; ++_i) {
        complex1 = t3[_i];
        for (_i0 = 0; _i0 < t6; ++_i0) {
          t7 = A.unifyComplex0(A._setArrayType([complex1, t5[_i0]], t1), complex1.span);
          if (t7 != null)
            B.JSArray_methods.addAll$1(t2, t7);
        }
      }
      return t2.length === 0 ? null : A.SelectorList$0(t2, this.span);
    },
    nestWithin$3$implicitParent$preserveParentSelectors($parent, implicitParent, preserveParentSelectors) {
      var parentSelector, t1, _this = this;
      if ($parent == null) {
        if (preserveParentSelectors)
          return _this;
        parentSelector = B.C__ParentSelectorVisitor0.visitSelectorList$1(_this);
        if (parentSelector == null)
          return _this;
        throw A.wrapException(A.SassException$0(string$.Top_les, parentSelector.span, null));
      }
      t1 = _this.components;
      return A.SelectorList$0(A.flattenVertically0(new A.MappedListIterable(t1, new A.SelectorList_nestWithin_closure0(_this, preserveParentSelectors, implicitParent, $parent), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Iterable>")), type$.ComplexSelector_2), _this.span);
    },
    nestWithin$1($parent) {
      return this.nestWithin$3$implicitParent$preserveParentSelectors($parent, true, false);
    },
    nestWithin$2$implicitParent($parent, implicitParent) {
      return this.nestWithin$3$implicitParent$preserveParentSelectors($parent, implicitParent, false);
    },
    _list2$_nestWithinCompound$2(component, $parent) {
      var resolvedSimples, parentSelector, error, stackTrace, t2, resolvedSimples0, exception,
        t1 = component.selector,
        simples = t1.components,
        containsSelectorPseudo = J.any$1$ax(simples, new A.SelectorList__nestWithinCompound_closure2());
      if (!containsSelectorPseudo && !(J.get$first$ax(simples) instanceof A.ParentSelector0))
        return null;
      if (containsSelectorPseudo) {
        t2 = simples;
        resolvedSimples0 = new A.MappedListIterable(t2, new A.SelectorList__nestWithinCompound_closure3($parent), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,SimpleSelector0>"));
      } else
        resolvedSimples0 = simples;
      resolvedSimples = resolvedSimples0;
      parentSelector = J.get$first$ax(simples);
      try {
        if (!(parentSelector instanceof A.ParentSelector0)) {
          t2 = component.span;
          t2 = A._setArrayType([A.ComplexSelector$0(B.List_empty13, A._setArrayType([new A.ComplexSelectorComponent0(A.CompoundSelector$0(resolvedSimples, t1.span), A.List_List$unmodifiable(component.combinators, type$.CssValue_Combinator_2), t2)], type$.JSArray_ComplexSelectorComponent_2), t2, false)], type$.JSArray_ComplexSelector_2);
          return t2;
        } else if (J.get$length$asx(simples) === 1 && parentSelector.suffix == null) {
          t1 = $parent.withAdditionalCombinators$1(component.combinators);
          return t1.components;
        }
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException0) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          A.throwWithTrace0(error.withAdditionalSpan$2(parentSelector.span, "parent selector"), error, stackTrace);
        } else
          throw exception;
      }
      t1 = $parent.components;
      return new A.MappedListIterable(t1, new A.SelectorList__nestWithinCompound_closure4(parentSelector, resolvedSimples, component), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ComplexSelector0>"));
    },
    isSuperselector$1(other) {
      return A.listIsSuperselector0(this.components, other.components);
    },
    withAdditionalCombinators$1(combinators) {
      var t1;
      if (combinators.length === 0)
        t1 = this;
      else {
        t1 = this.components;
        t1 = A.SelectorList$0(new A.MappedListIterable(t1, new A.SelectorList_withAdditionalCombinators_closure0(combinators), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ComplexSelector0>")), this.span);
      }
      return t1;
    },
    get$hashCode(_) {
      return B.C_ListEquality0.hash$1(this.components);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.SelectorList0 && B.C_ListEquality.equals$2(0, this.components, other.components);
    }
  };
  A.SelectorList_asSassList_closure0.prototype = {
    call$1(complex) {
      var t3, t4, _i, component, t5, visitor, t6, t7, _i0,
        t1 = type$.JSArray_Value_2,
        t2 = A._setArrayType([], t1);
      for (t3 = complex.leadingCombinators, t4 = t3.length, _i = 0; _i < t4; ++_i)
        t2.push(new A.SassString0(J.toString$0$(t3[_i].value), false));
      for (t3 = complex.components, t4 = t3.length, _i = 0; _i < t4; ++_i) {
        component = t3[_i];
        t5 = component.selector;
        visitor = A._SerializeVisitor$0(null, true, null, true, false, null, true);
        t5.accept$1(visitor);
        t5 = A._setArrayType([new A.SassString0(visitor._serialize0$_buffer.toString$0(0), false)], t1);
        for (t6 = component.combinators, t7 = t6.length, _i0 = 0; _i0 < t7; ++_i0)
          t5.push(new A.SassString0(J.toString$0$(t6[_i0].value), false));
        B.JSArray_methods.addAll$1(t2, t5);
      }
      return A.SassList$0(t2, B.ListSeparator_nbm0, false);
    },
    $signature: 478
  };
  A.SelectorList_nestWithin_closure0.prototype = {
    call$1(complex) {
      var t1, newComplexes, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _i, component, resolved, i, t12, t13, t14, _i0, newComplex, t15, _this = this;
      if (_this.preserveParentSelectors || complex.accept$1(B.C__ParentSelectorVisitor0) == null) {
        if (!_this.implicitParent)
          return A._setArrayType([complex], type$.JSArray_ComplexSelector_2);
        t1 = _this.parent.components;
        return new A.MappedListIterable(t1, new A.SelectorList_nestWithin__closure1(complex), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ComplexSelector0>"));
      }
      t1 = type$.JSArray_ComplexSelector_2;
      newComplexes = A._setArrayType([], t1);
      for (t2 = complex.components, t3 = t2.length, t4 = _this.$this, t5 = _this.parent, t6 = type$.ComplexSelector_2, t7 = complex.leadingCombinators, t8 = t7.length === 0, t9 = complex.span, t10 = type$.ComplexSelectorComponent_2, t11 = type$.JSArray_ComplexSelectorComponent_2, _i = 0; _i < t3; ++_i) {
        component = t2[_i];
        resolved = t4._list2$_nestWithinCompound$2(component, t5);
        if (resolved == null)
          if (newComplexes.length === 0)
            newComplexes.push(A.ComplexSelector$0(t7, A._setArrayType([component], t11), t9, false));
          else
            for (i = 0; i < newComplexes.length; ++i) {
              t12 = newComplexes[i];
              t13 = t12.leadingCombinators;
              t14 = A.List_List$of(t12.components, true, t10);
              t14.push(component);
              t12 = t12.lineBreak;
              newComplexes[i] = A.ComplexSelector$0(t13, t14, t9, t12);
            }
        else if (newComplexes.length === 0)
          B.JSArray_methods.addAll$1(newComplexes, t8 ? resolved : J.map$1$1$ax(resolved, new A.SelectorList_nestWithin__closure2(complex), t6));
        else {
          t12 = A._setArrayType([], t1);
          for (t13 = newComplexes.length, t14 = J.getInterceptor$ax(resolved), _i0 = 0; _i0 < newComplexes.length; newComplexes.length === t13 || (0, A.throwConcurrentModificationError)(newComplexes), ++_i0) {
            newComplex = newComplexes[_i0];
            for (t15 = t14.get$iterator(resolved); t15.moveNext$0();)
              t12.push(newComplex.concatenate$2(t15.get$current(t15), newComplex.span));
          }
          newComplexes = t12;
        }
      }
      return newComplexes;
    },
    $signature: 479
  };
  A.SelectorList_nestWithin__closure1.prototype = {
    call$1(parentComplex) {
      var t1 = this.complex;
      return parentComplex.concatenate$2(t1, t1.span);
    },
    $signature: 55
  };
  A.SelectorList_nestWithin__closure2.prototype = {
    call$1(resolvedComplex) {
      var t1 = resolvedComplex.leadingCombinators,
        t2 = this.complex,
        t3 = t2.leadingCombinators;
      if (t1.length === 0)
        t1 = t3;
      else {
        t3 = A.List_List$of(t3, true, type$.CssValue_Combinator_2);
        B.JSArray_methods.addAll$1(t3, t1);
        t1 = t3;
      }
      return A.ComplexSelector$0(t1, resolvedComplex.components, t2.span, resolvedComplex.lineBreak);
    },
    $signature: 55
  };
  A.SelectorList__nestWithinCompound_closure2.prototype = {
    call$1(simple) {
      var selector;
      if (!(simple instanceof A.PseudoSelector0))
        return false;
      selector = simple.selector;
      return selector != null && selector.accept$1(B.C__ParentSelectorVisitor0) != null;
    },
    $signature: 14
  };
  A.SelectorList__nestWithinCompound_closure3.prototype = {
    call$1(simple) {
      var _0_2, selector, t1;
      $label0$0: {
        if (simple instanceof A.PseudoSelector0) {
          _0_2 = simple.selector;
          if (_0_2 != null) {
            selector = _0_2 == null ? type$.SelectorList_2._as(_0_2) : _0_2;
            t1 = selector.accept$1(B.C__ParentSelectorVisitor0) != null;
          } else {
            selector = null;
            t1 = false;
          }
        } else {
          selector = null;
          t1 = false;
        }
        if (t1) {
          t1 = simple.withSelector$1(selector.nestWithin$2$implicitParent(this.parent, false));
          break $label0$0;
        }
        t1 = simple;
        break $label0$0;
      }
      return t1;
    },
    $signature: 480
  };
  A.SelectorList__nestWithinCompound_closure4.prototype = {
    call$1(complex) {
      var lastComponent, suffix, lastSimples, t1, t2, last, t3, error, stackTrace, t4, t5, t6, t7, exception, _this = this;
      try {
        t4 = complex.components;
        lastComponent = B.JSArray_methods.get$last(t4);
        if (lastComponent.combinators.length !== 0) {
          t1 = A.MultiSpanSassException$0('Selector "' + complex.toString$0(0) + string$.x22x20can_, A.SpanExtensions_trimRight0(lastComponent.span), "outer selector", A.LinkedHashMap_LinkedHashMap$_literal([_this.parentSelector.span, "parent selector"], type$.FileSpan, type$.String), null);
          throw A.wrapException(t1);
        }
        suffix = _this.parentSelector.suffix;
        lastSimples = lastComponent.selector.components;
        t5 = type$.SimpleSelector_2;
        t6 = _this.resolvedSimples;
        t7 = J.getInterceptor$ax(t6);
        if (suffix == null) {
          t1 = A.List_List$of(lastSimples, true, t5);
          J.addAll$1$ax(t1, t7.skip$1(t6, 1));
          t1 = t1;
        } else {
          t2 = A.List_List$of(A.IterableExtension_get_exceptLast0(lastSimples), true, t5);
          J.add$1$ax(t2, J.get$last$ax(lastSimples).addSuffix$1(suffix));
          J.addAll$1$ax(t2, t7.skip$1(t6, 1));
          t1 = t2;
        }
        t2 = _this.component;
        last = A.CompoundSelector$0(t1, t2.selector.span);
        t3 = A.List_List$of(A.IterableExtension_get_exceptLast0(t4), true, type$.ComplexSelectorComponent_2);
        t4 = t2.span;
        J.add$1$ax(t3, new A.ComplexSelectorComponent0(last, A.List_List$unmodifiable(t2.combinators, type$.CssValue_Combinator_2), t4));
        t4 = A.ComplexSelector$0(complex.leadingCombinators, t3, t4, complex.lineBreak);
        return t4;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SassException0) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          A.throwWithTrace0(error.withAdditionalSpan$2(_this.parentSelector.span, "parent selector"), error, stackTrace);
        } else
          throw exception;
      }
    },
    $signature: 55
  };
  A.SelectorList_withAdditionalCombinators_closure0.prototype = {
    call$1(complex) {
      return complex.withAdditionalCombinators$1(this.combinators);
    },
    $signature: 55
  };
  A._ParentSelectorVisitor0.prototype = {
    visitParentSelector$1(selector) {
      return selector;
    }
  };
  A.__ParentSelectorVisitor_Object_SelectorSearchVisitor0.prototype = {};
  A.listClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.SassList", new A.listClass__closure()));
      J.get$$prototype$x(jsClass).get = A.allowInteropCaptureThisNamed("get", new A.listClass__closure0());
      A.JSClassExtension_injectSuperclass(t1._as(B.SassList_k8F.constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.listClass__closure.prototype = {
    call$3($self, contentsOrOptions, options) {
      var contents, t1, t2;
      if (self.immutable.isList(contentsOrOptions))
        contents = J.cast$1$0$ax(J.toArray$0$x(type$.ImmutableList._as(contentsOrOptions)), type$.Value_2);
      else if (type$.List_dynamic._is(contentsOrOptions))
        contents = J.cast$1$0$ax(contentsOrOptions, type$.Value_2);
      else {
        contents = A._setArrayType([], type$.JSArray_Value_2);
        type$.nullable__ConstructorOptions._as(contentsOrOptions);
        options = contentsOrOptions;
      }
      t1 = options == null;
      if (!t1) {
        t2 = J.get$separator$x(options);
        t2 = A._asBool($.$get$_isUndefined().call$1(t2));
      } else
        t2 = true;
      t2 = t2 ? B.ListSeparator_ECn0 : A.jsToDartSeparator(J.get$separator$x(options));
      t1 = t1 ? null : J.get$brackets$x(options);
      return A.SassList$0(contents, t2, t1 == null ? false : t1);
    },
    call$1($self) {
      return this.call$3($self, null, null);
    },
    call$2($self, contentsOrOptions) {
      return this.call$3($self, contentsOrOptions, null);
    },
    "call*": "call$3",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null, null];
    },
    $signature: 481
  };
  A.listClass__closure0.prototype = {
    call$2($self, indexFloat) {
      var index = B.JSNumber_methods.floor$0(indexFloat);
      if (index < 0)
        index = $self.get$asList().length + index;
      if (index < 0 || index >= $self.get$asList().length)
        return self.undefined;
      return $self.get$asList()[index];
    },
    $signature: 240
  };
  A._ConstructorOptions.prototype = {};
  A._NodeSassList.prototype = {};
  A.legacyListClass_closure.prototype = {
    call$4(thisArg, $length, commaSeparator, dartValue) {
      var t1;
      if (dartValue == null) {
        $length.toString;
        t1 = A.Iterable_Iterable$generate($length, new A.legacyListClass__closure(), type$.Value_2);
        t1 = A.SassList$0(t1, commaSeparator !== false ? B.ListSeparator_ECn0 : B.ListSeparator_nbm0, false);
      } else
        t1 = dartValue;
      J.set$dartValue$x(thisArg, t1);
    },
    call$2(thisArg, $length) {
      return this.call$4(thisArg, $length, null, null);
    },
    call$3(thisArg, $length, commaSeparator) {
      return this.call$4(thisArg, $length, commaSeparator, null);
    },
    "call*": "call$4",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null, null];
    },
    $signature: 483
  };
  A.legacyListClass__closure.prototype = {
    call$1(_) {
      return B.C__SassNull0;
    },
    $signature: 239
  };
  A.legacyListClass_closure0.prototype = {
    call$2(thisArg, index) {
      return A.wrapValue(J.get$dartValue$x(thisArg)._list1$_contents[index]);
    },
    $signature: 485
  };
  A.legacyListClass_closure1.prototype = {
    call$3(thisArg, index, value) {
      var t1 = J.getInterceptor$x(thisArg),
        t2 = t1.get$dartValue(thisArg)._list1$_contents,
        mutable = A._setArrayType(t2.slice(0), A._arrayInstanceType(t2));
      mutable[index] = A.unwrapValue(value);
      t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).withListContents$1(mutable));
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 486
  };
  A.legacyListClass_closure2.prototype = {
    call$1(thisArg) {
      return J.get$dartValue$x(thisArg)._list1$_separator === B.ListSeparator_ECn0;
    },
    $signature: 487
  };
  A.legacyListClass_closure3.prototype = {
    call$2(thisArg, isComma) {
      var t1 = J.getInterceptor$x(thisArg),
        t2 = t1.get$dartValue(thisArg)._list1$_contents,
        t3 = isComma ? B.ListSeparator_ECn0 : B.ListSeparator_nbm0;
      t1.set$dartValue(thisArg, A.SassList$0(t2, t3, t1.get$dartValue(thisArg)._list1$_hasBrackets));
    },
    $signature: 488
  };
  A.legacyListClass_closure4.prototype = {
    call$1(thisArg) {
      return J.get$dartValue$x(thisArg)._list1$_contents.length;
    },
    $signature: 489
  };
  A.SassList0.prototype = {
    get$separator(_) {
      return this._list1$_separator;
    },
    get$hasBrackets() {
      return this._list1$_hasBrackets;
    },
    get$isBlank() {
      return !this._list1$_hasBrackets && B.JSArray_methods.every$1(this._list1$_contents, new A.SassList_isBlank_closure0());
    },
    get$asList() {
      return this._list1$_contents;
    },
    get$lengthAsList() {
      return this._list1$_contents.length;
    },
    SassList$3$brackets0(contents, _separator, brackets) {
      if (this._list1$_separator === B.ListSeparator_undecided_null_undecided0 && this._list1$_contents.length > 1)
        throw A.wrapException(A.ArgumentError$(string$.A_list, null));
    },
    accept$1$1(visitor) {
      return visitor.visitList$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertMap$1($name) {
      return this._list1$_contents.length === 0 ? B.SassMap_Map_empty0 : this.super$Value$assertMap0($name);
    },
    tryMap$0() {
      return this._list1$_contents.length === 0 ? B.SassMap_Map_empty0 : null;
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (!(other instanceof A.SassList0 && other._list1$_separator === _this._list1$_separator && other._list1$_hasBrackets === _this._list1$_hasBrackets && B.C_ListEquality.equals$2(0, other._list1$_contents, _this._list1$_contents)))
        t1 = _this._list1$_contents.length === 0 && other instanceof A.SassMap0 && other.get$asList().length === 0;
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      return B.C_ListEquality0.hash$1(this._list1$_contents);
    }
  };
  A.SassList_isBlank_closure0.prototype = {
    call$1(element) {
      return element.get$isBlank();
    },
    $signature: 53
  };
  A.ListSeparator0.prototype = {
    _enumToString$0() {
      return "ListSeparator." + this._name;
    },
    toString$0(_) {
      return this._list1$_name;
    }
  };
  A.JSLogger.prototype = {};
  A.WarnOptions.prototype = {};
  A.DebugOptions.prototype = {};
  A.LoggerWithDeprecationType.prototype = {
    warn$4$deprecation$span$trace(_, message, deprecation, span, trace) {
      this.internalWarn$4$deprecation$span$trace(message, deprecation ? B.Deprecation_oty : null, span, trace);
    },
    warn$1(_, message) {
      return this.warn$4$deprecation$span$trace(0, message, false, null, null);
    },
    warn$3$span$trace(_, message, span, trace) {
      return this.warn$4$deprecation$span$trace(0, message, false, span, trace);
    },
    warn$2$span(_, message, span) {
      return this.warn$4$deprecation$span$trace(0, message, false, span, null);
    },
    warn$2$trace(_, message, trace) {
      return this.warn$4$deprecation$span$trace(0, message, false, null, trace);
    }
  };
  A._QuietLogger0.prototype = {
    warn$4$deprecation$span$trace(_, message, deprecation, span, trace) {
    },
    warn$2$span(_, message, span) {
      return this.warn$4$deprecation$span$trace(0, message, false, span, null);
    }
  };
  A.LoudComment0.prototype = {
    get$span(_) {
      return this.text.span;
    },
    accept$1$1(visitor) {
      return visitor.visitLoudComment$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return this.text.toString$0(0);
    },
    $isAstNode0: 1,
    $isStatement0: 1
  };
  A.MapExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitMapExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t2, t3, _i, t4, key, value,
        t1 = A._setArrayType([], type$.JSArray_String);
      for (t2 = this.pairs, t3 = t2.length, _i = 0; _i < t3; ++_i) {
        t4 = t2[_i];
        key = t4._0;
        value = t4._1;
        t1.push(key.toString$0(0) + ": " + value.toString$0(0));
      }
      return "(" + B.JSArray_methods.join$1(t1, ", ") + ")";
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A._get_closure0.prototype = {
    call$1($arguments) {
      var value,
        t1 = J.getInterceptor$asx($arguments),
        map = t1.$index($arguments, 0).assertMap$1("map"),
        t2 = A._setArrayType([t1.$index($arguments, 1)], type$.JSArray_Value_2);
      B.JSArray_methods.addAll$1(t2, t1.$index($arguments, 2).get$asList());
      for (t1 = A.IterableExtension_get_exceptLast0(t2), t1 = t1.get$iterator(t1); t1.moveNext$0(); map = value) {
        value = map._map0$_contents.$index(0, t1.get$current(t1));
        if (!(value instanceof A.SassMap0))
          return B.C__SassNull0;
      }
      t1 = map._map0$_contents.$index(0, B.JSArray_methods.get$last(t2));
      return t1 == null ? B.C__SassNull0 : t1;
    },
    $signature: 3
  };
  A._set_closure1.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      return A._modify0(t1.$index($arguments, 0).assertMap$1("map"), A._setArrayType([t1.$index($arguments, 1)], type$.JSArray_Value_2), new A._set__closure2($arguments), true);
    },
    $signature: 3
  };
  A._set__closure2.prototype = {
    call$1(_) {
      return J.$index$asx(this.$arguments, 2);
    },
    $signature: 42
  };
  A._set_closure2.prototype = {
    call$1($arguments) {
      var keys, t3, t1 = {},
        t2 = J.getInterceptor$asx($arguments),
        map = t2.$index($arguments, 0).assertMap$1("map"),
        _0_0 = t2.$index($arguments, 1).get$asList(),
        _0_1 = _0_0.length;
      if (_0_1 <= 0)
        throw A.wrapException(A.SassScriptException$0("Expected $args to contain a key.", null));
      if (_0_1 === 1)
        throw A.wrapException(A.SassScriptException$0("Expected $args to contain a value.", null));
      keys = t1.value = null;
      t2 = _0_1 >= 1;
      if (t2) {
        t3 = _0_1 - 1;
        keys = B.JSArray_methods.sublist$2(_0_0, 0, t3);
        t1.value = _0_0[t3];
      }
      if (t2)
        return A._modify0(map, keys, new A._set__closure1(t1), true);
      throw A.wrapException("[BUG] Unreachable code");
    },
    $signature: 3
  };
  A._set__closure1.prototype = {
    call$1(_) {
      return this._box_0.value;
    },
    $signature: 42
  };
  A._merge_closure1.prototype = {
    call$1($arguments) {
      var t2,
        t1 = J.getInterceptor$asx($arguments),
        map1 = t1.$index($arguments, 0).assertMap$1("map1"),
        map2 = t1.$index($arguments, 1).assertMap$1("map2");
      t1 = type$.Value_2;
      t2 = A.LinkedHashMap_LinkedHashMap$of(map1._map0$_contents, t1, t1);
      t2.addAll$1(0, map2._map0$_contents);
      return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 36
  };
  A._merge_closure2.prototype = {
    call$1($arguments) {
      var t2, keys, last, _null = null,
        t1 = J.getInterceptor$asx($arguments),
        map1 = t1.$index($arguments, 0).assertMap$1("map1"),
        _0_0 = t1.$index($arguments, 1).get$asList(),
        _0_1 = _0_0.length;
      if (_0_1 <= 0)
        throw A.wrapException(A.SassScriptException$0("Expected $args to contain a key.", _null));
      if (_0_1 === 1)
        throw A.wrapException(A.SassScriptException$0("Expected $args to contain a map.", _null));
      t1 = _0_1 >= 1;
      if (t1) {
        t2 = _0_1 - 1;
        keys = B.JSArray_methods.sublist$2(_0_0, 0, t2);
        last = _0_0[t2];
      } else {
        last = _null;
        keys = last;
      }
      if (t1)
        return A._modify0(map1, keys, new A._merge__closure0(last.assertMap$1("map2")), true);
      throw A.wrapException("[BUG] Unreachable code");
    },
    $signature: 3
  };
  A._merge__closure0.prototype = {
    call$1(oldValue) {
      var t1, t2,
        nestedMap = oldValue.tryMap$0();
      if (nestedMap == null)
        return this.map2;
      t1 = type$.Value_2;
      t2 = A.LinkedHashMap_LinkedHashMap$of(nestedMap._map0$_contents, t1, t1);
      t2.addAll$1(0, this.map2._map0$_contents);
      return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1));
    },
    $signature: 490
  };
  A._deepMerge_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      return A._deepMergeImpl0(t1.$index($arguments, 0).assertMap$1("map1"), t1.$index($arguments, 1).assertMap$1("map2"));
    },
    $signature: 36
  };
  A._deepRemove_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        map = t1.$index($arguments, 0).assertMap$1("map"),
        t2 = A._setArrayType([t1.$index($arguments, 1)], type$.JSArray_Value_2);
      B.JSArray_methods.addAll$1(t2, t1.$index($arguments, 2).get$asList());
      return A._modify0(map, A.IterableExtension_get_exceptLast0(t2), new A._deepRemove__closure0(t2), false);
    },
    $signature: 3
  };
  A._deepRemove__closure0.prototype = {
    call$1(value) {
      var t1, nestedMap, t2,
        _0_0 = value.tryMap$0();
      if (_0_0 != null) {
        t1 = _0_0._map0$_contents.containsKey$1(B.JSArray_methods.get$last(this.keys));
        nestedMap = _0_0;
      } else {
        nestedMap = null;
        t1 = false;
      }
      if (t1) {
        t1 = type$.Value_2;
        t2 = A.LinkedHashMap_LinkedHashMap$of(nestedMap._map0$_contents, t1, t1);
        t2.remove$1(0, B.JSArray_methods.get$last(this.keys));
        return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1));
      }
      return value;
    },
    $signature: 42
  };
  A._remove_closure1.prototype = {
    call$1($arguments) {
      return J.$index$asx($arguments, 0).assertMap$1("map");
    },
    $signature: 36
  };
  A._remove_closure2.prototype = {
    call$1($arguments) {
      var mutableMap, t3, _i,
        t1 = J.getInterceptor$asx($arguments),
        map = t1.$index($arguments, 0).assertMap$1("map"),
        t2 = A._setArrayType([t1.$index($arguments, 1)], type$.JSArray_Value_2);
      B.JSArray_methods.addAll$1(t2, t1.$index($arguments, 2).get$asList());
      t1 = type$.Value_2;
      mutableMap = A.LinkedHashMap_LinkedHashMap$of(map._map0$_contents, t1, t1);
      for (t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i)
        mutableMap.remove$1(0, t2[_i]);
      return new A.SassMap0(A.ConstantMap_ConstantMap$from(mutableMap, t1, t1));
    },
    $signature: 36
  };
  A._keys_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.$index$asx($arguments, 0).assertMap$1("map")._map0$_contents;
      return A.SassList$0(t1.get$keys(t1), B.ListSeparator_ECn0, false);
    },
    $signature: 23
  };
  A._values_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.$index$asx($arguments, 0).assertMap$1("map")._map0$_contents;
      return A.SassList$0(t1.get$values(t1), B.ListSeparator_ECn0, false);
    },
    $signature: 23
  };
  A._hasKey_closure0.prototype = {
    call$1($arguments) {
      var value,
        t1 = J.getInterceptor$asx($arguments),
        map = t1.$index($arguments, 0).assertMap$1("map"),
        t2 = A._setArrayType([t1.$index($arguments, 1)], type$.JSArray_Value_2);
      B.JSArray_methods.addAll$1(t2, t1.$index($arguments, 2).get$asList());
      for (t1 = A.IterableExtension_get_exceptLast0(t2), t1 = t1.get$iterator(t1); t1.moveNext$0(); map = value) {
        value = map._map0$_contents.$index(0, t1.get$current(t1));
        if (!(value instanceof A.SassMap0))
          return B.SassBoolean_false0;
      }
      return map._map0$_contents.containsKey$1(B.JSArray_methods.get$last(t2)) ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._modify_modifyNestedMap0.prototype = {
    call$1(map) {
      var nestedMap, _this = this,
        t1 = type$.Value_2,
        mutableMap = A.LinkedHashMap_LinkedHashMap$of(map._map0$_contents, t1, t1),
        t2 = _this.keyIterator,
        key = t2.get$current(t2);
      if (!t2.moveNext$0()) {
        t2 = mutableMap.$index(0, key);
        if (t2 == null)
          t2 = B.C__SassNull0;
        mutableMap.$indexSet(0, key, _this.modify.call$1(t2));
        return new A.SassMap0(A.ConstantMap_ConstantMap$from(mutableMap, t1, t1));
      }
      t2 = mutableMap.$index(0, key);
      nestedMap = t2 == null ? null : t2.tryMap$0();
      t2 = nestedMap == null;
      if (t2 && !_this.addNesting)
        return new A.SassMap0(A.ConstantMap_ConstantMap$from(mutableMap, t1, t1));
      mutableMap.$indexSet(0, key, _this.call$1(t2 ? B.SassMap_Map_empty0 : nestedMap));
      return new A.SassMap0(A.ConstantMap_ConstantMap$from(mutableMap, t1, t1));
    },
    $signature: 491
  };
  A.MapExtensions_get_pairs_closure0.prototype = {
    call$1(e) {
      return new A._Record_2(e.key, e.value);
    },
    $signature() {
      return this.K._eval$1("@<0>")._bind$1(this.V)._eval$1("+(1,2)(MapEntry<1,2>)");
    }
  };
  A.mapClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.SassMap", new A.mapClass__closure())),
        t2 = J.getInterceptor$x(jsClass);
      A.defineGetter(t2.get$$prototype(jsClass), "contents", new A.mapClass__closure0(), null);
      t2.get$$prototype(jsClass).get = A.allowInteropCaptureThisNamed("get", new A.mapClass__closure1());
      A.JSClassExtension_injectSuperclass(t1._as(B.SassMap_Map_empty0.constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.mapClass__closure.prototype = {
    call$2($self, contents) {
      var t1;
      if (contents == null)
        t1 = B.SassMap_Map_empty0;
      else {
        t1 = type$.Value_2;
        t1 = new A.SassMap0(A.ConstantMap_ConstantMap$from(A.immutableMapToDartMap(contents).cast$2$0(0, t1, t1), t1, t1));
      }
      return t1;
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 492
  };
  A.mapClass__closure0.prototype = {
    call$1($self) {
      return A.dartMapToImmutableMap($self._map0$_contents);
    },
    $signature: 493
  };
  A.mapClass__closure1.prototype = {
    call$2($self, indexOrKey) {
      var index, t1, _0_0;
      if (typeof indexOrKey == "number") {
        index = B.JSNumber_methods.floor$0(indexOrKey);
        if (index < 0) {
          t1 = $self._map0$_contents;
          index = t1.get$length(t1) + index;
        }
        if (index >= 0) {
          t1 = $self._map0$_contents;
          t1 = index >= t1.get$length(t1);
        } else
          t1 = true;
        if (t1)
          return self.undefined;
        t1 = type$.Value_2;
        _0_0 = A.MapExtensions_get_pairs0($self._map0$_contents, t1, t1).elementAt$1(0, index);
        return A.SassList$0(A._setArrayType([_0_0._0, _0_0._1], type$.JSArray_Value_2), B.ListSeparator_nbm0, false);
      } else {
        t1 = $self._map0$_contents.$index(0, indexOrKey);
        return t1 == null ? self.undefined : t1;
      }
    },
    $signature: 494
  };
  A._NodeSassMap.prototype = {};
  A.legacyMapClass_closure.prototype = {
    call$3(thisArg, $length, dartValue) {
      var t1, t2, t3, map;
      if (dartValue == null) {
        $length.toString;
        t1 = type$.Value_2;
        t2 = A.Iterable_Iterable$generate($length, new A.legacyMapClass__closure(), t1);
        t3 = A.Iterable_Iterable$generate($length, new A.legacyMapClass__closure0(), t1);
        map = A.LinkedHashMap_LinkedHashMap(null, null, null, t1, t1);
        A.MapBase__fillMapWithIterables(map, t2, t3);
        t1 = new A.SassMap0(A.ConstantMap_ConstantMap$from(map, t1, t1));
      } else
        t1 = dartValue;
      J.set$dartValue$x(thisArg, t1);
    },
    call$2(thisArg, $length) {
      return this.call$3(thisArg, $length, null);
    },
    "call*": "call$3",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null];
    },
    $signature: 495
  };
  A.legacyMapClass__closure.prototype = {
    call$1(i) {
      return A.SassNumber_SassNumber0(i, null);
    },
    $signature: 496
  };
  A.legacyMapClass__closure0.prototype = {
    call$1(_) {
      return B.C__SassNull0;
    },
    $signature: 239
  };
  A.legacyMapClass_closure0.prototype = {
    call$2(thisArg, index) {
      var t1 = J.get$dartValue$x(thisArg)._map0$_contents;
      return A.wrapValue(J.elementAt$1$ax(t1.get$keys(t1), index));
    },
    $signature: 236
  };
  A.legacyMapClass_closure1.prototype = {
    call$2(thisArg, index) {
      var t1 = J.get$dartValue$x(thisArg)._map0$_contents;
      return A.wrapValue(t1.get$values(t1).elementAt$1(0, index));
    },
    $signature: 236
  };
  A.legacyMapClass_closure2.prototype = {
    call$1(thisArg) {
      var t1 = J.get$dartValue$x(thisArg)._map0$_contents;
      return t1.get$length(t1);
    },
    $signature: 498
  };
  A.legacyMapClass_closure3.prototype = {
    call$3(thisArg, index, key) {
      var newKey, t2, newMap, t3, i, t4, oldKey, oldValue,
        t1 = J.getInterceptor$x(thisArg),
        oldMap = t1.get$dartValue(thisArg)._map0$_contents,
        $length = oldMap.get$length(oldMap);
      A.IndexError_check(index, $length, oldMap, null, "index");
      newKey = A.unwrapValue(key);
      t2 = type$.Value_2;
      newMap = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      for (t3 = A.MapExtensions_get_pairs0(t1.get$dartValue(thisArg)._map0$_contents, t2, t2), t3 = t3.get$iterator(t3), i = 0; t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        oldKey = t4._0;
        oldValue = t4._1;
        if (i === index)
          newMap.$indexSet(0, newKey, oldValue);
        else {
          if (newKey.$eq(0, oldKey))
            throw A.wrapException(A.ArgumentError$value(key, "key", "is already in the map"));
          newMap.$indexSet(0, oldKey, oldValue);
        }
        ++i;
      }
      t1.set$dartValue(thisArg, new A.SassMap0(A.ConstantMap_ConstantMap$from(newMap, t2, t2)));
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 235
  };
  A.legacyMapClass_closure4.prototype = {
    call$3(thisArg, index, value) {
      var t3,
        t1 = J.getInterceptor$x(thisArg),
        t2 = t1.get$dartValue(thisArg)._map0$_contents,
        key = J.elementAt$1$ax(t2.get$keys(t2), index);
      t2 = type$.Value_2;
      t3 = A.LinkedHashMap_LinkedHashMap$of(t1.get$dartValue(thisArg)._map0$_contents, t2, t2);
      t3.$indexSet(0, key, A.unwrapValue(value));
      t1.set$dartValue(thisArg, new A.SassMap0(A.ConstantMap_ConstantMap$from(t3, t2, t2)));
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 235
  };
  A.SassMap0.prototype = {
    get$separator(_) {
      var t1 = this._map0$_contents;
      return t1.get$isEmpty(t1) ? B.ListSeparator_undecided_null_undecided0 : B.ListSeparator_ECn0;
    },
    get$asList() {
      var t3, t4, t5, result,
        t1 = type$.JSArray_Value_2,
        t2 = A._setArrayType([], t1);
      for (t3 = type$.Value_2, t4 = A.MapExtensions_get_pairs0(this._map0$_contents, t3, t3), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
        t5 = t4.get$current(t4);
        result = A.List_List$from(A._setArrayType([t5._0, t5._1], t1), false, t3);
        result.fixed$length = Array;
        result.immutable$list = Array;
        t2.push(new A.SassList0(result, B.ListSeparator_nbm0, false));
      }
      return t2;
    },
    get$lengthAsList() {
      var t1 = this._map0$_contents;
      return t1.get$length(t1);
    },
    accept$1$1(visitor) {
      return visitor.visitMap$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertMap$1($name) {
      return this;
    },
    tryMap$0() {
      return this;
    },
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (!(other instanceof A.SassMap0 && B.C_MapEquality.equals$2(0, other._map0$_contents, this._map0$_contents))) {
        t1 = this._map0$_contents;
        t1 = t1.get$isEmpty(t1) && other instanceof A.SassList0 && other._list1$_contents.length === 0;
      } else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      var t1 = this._map0$_contents;
      return t1.get$isEmpty(t1) ? B.C_ListEquality0.hash$1(B.List_empty19) : B.C_MapEquality.hash$1(t1);
    }
  };
  A.global_closure31.prototype = {
    call$1($arguments) {
      var t1,
        number = J.$index$asx($arguments, 0).assertNumber$1("number");
      if (number.hasUnit$1("%"))
        A.warnForDeprecation0(string$.Passinp + number.toString$0(0) + ")\nTo emit a CSS abs() now: abs(#{" + number.toString$0(0) + string$.x7d__Mor, B.Deprecation_jYb);
      t1 = number.get$numeratorUnits(number);
      return A.SassNumber_SassNumber$withUnits0(Math.abs(number._number1$_value), number.get$denominatorUnits(number), t1);
    },
    $signature: 12
  };
  A.module_closure11.prototype = {
    call$1(value) {
      return Math.abs(value);
    },
    $signature: 37
  };
  A._ceil_closure0.prototype = {
    call$1(value) {
      return B.JSNumber_methods.ceil$0(value);
    },
    $signature: 37
  };
  A._clamp_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        min = t1.$index($arguments, 0).assertNumber$1("min"),
        number = t1.$index($arguments, 1).assertNumber$1("number"),
        max = t1.$index($arguments, 2).assertNumber$1("max");
      number.convertValueToMatch$3(min, "number", "min");
      max.convertValueToMatch$3(min, "max", "min");
      if (min.greaterThanOrEquals$1(max).value)
        return min;
      if (min.greaterThanOrEquals$1(number).value)
        return min;
      if (number.greaterThanOrEquals$1(max).value)
        return max;
      return number;
    },
    $signature: 12
  };
  A._floor_closure0.prototype = {
    call$1(value) {
      return B.JSNumber_methods.floor$0(value);
    },
    $signature: 37
  };
  A._max_closure0.prototype = {
    call$1($arguments) {
      var t1, t2, max, _i, number;
      for (t1 = J.$index$asx($arguments, 0).get$asList(), t2 = t1.length, max = null, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        number = t1[_i].assertNumber$0();
        if (max == null || max.lessThan$1(number).value)
          max = number;
      }
      if (max != null)
        return max;
      throw A.wrapException(A.SassScriptException$0("At least one argument must be passed.", null));
    },
    $signature: 12
  };
  A._min_closure0.prototype = {
    call$1($arguments) {
      var t1, t2, min, _i, number;
      for (t1 = J.$index$asx($arguments, 0).get$asList(), t2 = t1.length, min = null, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        number = t1[_i].assertNumber$0();
        if (min == null || min.greaterThan$1(number).value)
          min = number;
      }
      if (min != null)
        return min;
      throw A.wrapException(A.SassScriptException$0("At least one argument must be passed.", null));
    },
    $signature: 12
  };
  A._round_closure0.prototype = {
    call$1(number) {
      return B.JSNumber_methods.round$0(number);
    },
    $signature: 37
  };
  A._hypot_closure0.prototype = {
    call$1($arguments) {
      var subtotal, i, i0, t3, t4,
        t1 = J.$index$asx($arguments, 0).get$asList(),
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,SassNumber0>"),
        numbers = A.List_List$of(new A.MappedListIterable(t1, new A._hypot__closure0(), t2), true, t2._eval$1("ListIterable.E"));
      t1 = numbers.length;
      if (t1 === 0)
        throw A.wrapException(A.SassScriptException$0("At least one argument must be passed.", null));
      for (subtotal = 0, i = 0; i < t1; i = i0) {
        i0 = i + 1;
        subtotal += Math.pow(numbers[i].convertValueToMatch$3(numbers[0], "numbers[" + i0 + "]", "numbers[1]"), 2);
      }
      t1 = Math.sqrt(subtotal);
      t2 = numbers[0];
      t3 = J.getInterceptor$x(t2);
      t4 = t3.get$numeratorUnits(t2);
      return A.SassNumber_SassNumber$withUnits0(t1, t3.get$denominatorUnits(t2), t4);
    },
    $signature: 12
  };
  A._hypot__closure0.prototype = {
    call$1(argument) {
      return argument.assertNumber$0();
    },
    $signature: 500
  };
  A._log_closure0.prototype = {
    call$1($arguments) {
      var base,
        _s18_ = " to have no units.",
        _null = null,
        t1 = J.getInterceptor$asx($arguments),
        number = t1.$index($arguments, 0).assertNumber$1("number");
      if (number.get$hasUnits())
        throw A.wrapException(A.SassScriptException$0("$number: Expected " + number.toString$0(0) + _s18_, _null));
      else if (J.$eq$(t1.$index($arguments, 1), B.C__SassNull0))
        return A.SassNumber_SassNumber0(Math.log(number._number1$_value), _null);
      base = t1.$index($arguments, 1).assertNumber$1("base");
      if (base.get$hasUnits())
        throw A.wrapException(A.SassScriptException$0("$base: Expected " + base.toString$0(0) + _s18_, _null));
      else
        return A.SassNumber_SassNumber0(Math.log(number._number1$_value) / Math.log(base._number1$_value), _null);
    },
    $signature: 12
  };
  A._pow_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      return A.pow1(t1.$index($arguments, 0).assertNumber$1("base"), t1.$index($arguments, 1).assertNumber$1("exponent"));
    },
    $signature: 12
  };
  A._atan2_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        y = t1.$index($arguments, 0).assertNumber$1("y");
      return A.SassNumber_SassNumber$withUnits0(Math.atan2(y._number1$_value, t1.$index($arguments, 1).assertNumber$1("x").convertValueToMatch$3(y, "x", "y")) * 57.29577951308232, null, A._setArrayType(["deg"], type$.JSArray_String));
    },
    $signature: 12
  };
  A._compatible_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments);
      return t1.$index($arguments, 0).assertNumber$1("number1").isComparableTo$1(t1.$index($arguments, 1).assertNumber$1("number2")) ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._isUnitless_closure0.prototype = {
    call$1($arguments) {
      return !J.$index$asx($arguments, 0).assertNumber$1("number").get$hasUnits() ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._unit_closure0.prototype = {
    call$1($arguments) {
      return new A.SassString0(J.$index$asx($arguments, 0).assertNumber$1("number").get$unitString(), true);
    },
    $signature: 19
  };
  A._percentage_closure0.prototype = {
    call$1($arguments) {
      var number = J.$index$asx($arguments, 0).assertNumber$1("number");
      number.assertNoUnits$1("number");
      return A.SassNumber_SassNumber0(number._number1$_value * 100, "%");
    },
    $signature: 12
  };
  A._randomFunction_closure0.prototype = {
    call$1($arguments) {
      var limit, limitScalar,
        t1 = J.getInterceptor$asx($arguments);
      if (J.$eq$(t1.$index($arguments, 0), B.C__SassNull0))
        return A.SassNumber_SassNumber0($.$get$_random2().nextDouble$0(), null);
      limit = t1.$index($arguments, 0).assertNumber$1("limit");
      if (limit.get$hasUnits())
        A.warnForDeprecation0(string$.math_r + limit.toString$0(0) + string$.x29x20in_a + limit.get$unitString() + ")) * 1" + limit.get$unitString() + string$.x0a_To_p + limit.get$unitString() + string$.x29x29__Mo, B.Deprecation_oCX);
      limitScalar = limit.assertInt$1("limit");
      if (limitScalar < 1)
        throw A.wrapException(A.SassScriptException$0("$limit: Must be greater than 0, was " + limit.toString$0(0) + ".", null));
      return A.SassNumber_SassNumber0($.$get$_random2().nextInt$1(limitScalar) + 1, null);
    },
    $signature: 12
  };
  A._div_closure0.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        number1 = t1.$index($arguments, 0),
        number2 = t1.$index($arguments, 1);
      if (!(number1 instanceof A.SassNumber0) || !(number2 instanceof A.SassNumber0))
        A.warn0(string$.math_d);
      return number1.dividedBy$1(number2);
    },
    $signature: 3
  };
  A._singleArgumentMathFunc_closure0.prototype = {
    call$1($arguments) {
      return this.mathFunc.call$1(J.$index$asx($arguments, 0).assertNumber$1("number"));
    },
    $signature: 12
  };
  A._numberFunction_closure0.prototype = {
    call$1($arguments) {
      var number = J.$index$asx($arguments, 0).assertNumber$1("number"),
        t1 = this.transform.call$1(number._number1$_value),
        t2 = number.get$numeratorUnits(number);
      return A.SassNumber_SassNumber$withUnits0(t1, number.get$denominatorUnits(number), t2);
    },
    $signature: 12
  };
  A.CssMediaQuery0.prototype = {
    merge$1(other) {
      var t1, ourModifier, t2, t3, ourType, t4, theirModifier, t5, t6, theirType, t7, t8, negativeConditions, conditions, type, modifier, fewerConditions, fewerConditions0, moreConditions, _this = this, _null = null, _s3_ = "all";
      if (!_this.conjunction || !other.conjunction)
        return B._SingletonCssMediaQueryMergeResult_10;
      t1 = _this.modifier;
      ourModifier = t1 == null ? _null : t1.toLowerCase();
      t2 = _this.type;
      t3 = t2 == null;
      ourType = t3 ? _null : t2.toLowerCase();
      t4 = other.modifier;
      theirModifier = t4 == null ? _null : t4.toLowerCase();
      t5 = other.type;
      t6 = t5 == null;
      theirType = t6 ? _null : t5.toLowerCase();
      t7 = ourType == null;
      if (t7 && theirType == null) {
        t1 = A.List_List$of(_this.conditions, true, type$.String);
        B.JSArray_methods.addAll$1(t1, other.conditions);
        return new A.MediaQuerySuccessfulMergeResult0(A.CssMediaQuery$condition0(t1, true));
      }
      t8 = ourModifier === "not";
      if (t8 !== (theirModifier === "not")) {
        if (ourType == theirType) {
          negativeConditions = t8 ? _this.conditions : other.conditions;
          if (B.JSArray_methods.every$1(negativeConditions, B.JSArray_methods.get$contains(t8 ? other.conditions : _this.conditions)))
            return B._SingletonCssMediaQueryMergeResult_00;
          else
            return B._SingletonCssMediaQueryMergeResult_10;
        } else if (t3 || A.equalsIgnoreCase0(t2, _s3_) || t6 || A.equalsIgnoreCase0(t5, _s3_))
          return B._SingletonCssMediaQueryMergeResult_10;
        if (t8) {
          conditions = other.conditions;
          type = theirType;
          modifier = theirModifier;
        } else {
          conditions = _this.conditions;
          type = ourType;
          modifier = ourModifier;
        }
      } else if (t8) {
        if (ourType != theirType)
          return B._SingletonCssMediaQueryMergeResult_10;
        fewerConditions = _this.conditions;
        fewerConditions0 = other.conditions;
        t3 = fewerConditions.length > fewerConditions0.length;
        moreConditions = t3 ? fewerConditions : fewerConditions0;
        if (t3)
          fewerConditions = fewerConditions0;
        if (!B.JSArray_methods.every$1(fewerConditions, B.JSArray_methods.get$contains(moreConditions)))
          return B._SingletonCssMediaQueryMergeResult_10;
        conditions = moreConditions;
        type = ourType;
        modifier = ourModifier;
      } else if (t3 || A.equalsIgnoreCase0(t2, _s3_)) {
        type = (t6 || A.equalsIgnoreCase0(t5, _s3_)) && t7 ? _null : theirType;
        t3 = A.List_List$of(_this.conditions, true, type$.String);
        B.JSArray_methods.addAll$1(t3, other.conditions);
        conditions = t3;
        modifier = theirModifier;
      } else {
        if (t6 || A.equalsIgnoreCase0(t5, _s3_)) {
          t3 = A.List_List$of(_this.conditions, true, type$.String);
          B.JSArray_methods.addAll$1(t3, other.conditions);
          conditions = t3;
          modifier = ourModifier;
        } else {
          if (ourType != theirType)
            return B._SingletonCssMediaQueryMergeResult_00;
          else {
            modifier = ourModifier == null ? theirModifier : ourModifier;
            t3 = A.List_List$of(_this.conditions, true, type$.String);
            B.JSArray_methods.addAll$1(t3, other.conditions);
          }
          conditions = t3;
        }
        type = ourType;
      }
      t2 = type == ourType ? t2 : t5;
      return new A.MediaQuerySuccessfulMergeResult0(A.CssMediaQuery$type0(t2, conditions, modifier == ourModifier ? t1 : t4));
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.CssMediaQuery0 && other.modifier == this.modifier && other.type == this.type && B.C_ListEquality.equals$2(0, other.conditions, this.conditions);
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.modifier) ^ J.get$hashCode$(this.type) ^ B.C_ListEquality0.hash$1(this.conditions);
    },
    toString$0(_) {
      var t2, _this = this,
        t1 = _this.modifier;
      t1 = t1 != null ? "" + (t1 + " ") : "";
      t2 = _this.type;
      if (t2 != null) {
        t1 += t2;
        if (_this.conditions.length !== 0)
          t1 += " and ";
      }
      t2 = _this.conjunction ? " and " : " or ";
      t2 = t1 + B.JSArray_methods.join$1(_this.conditions, t2);
      return t2.charCodeAt(0) == 0 ? t2 : t2;
    }
  };
  A._SingletonCssMediaQueryMergeResult0.prototype = {
    _enumToString$0() {
      return "_SingletonCssMediaQueryMergeResult." + this._name;
    }
  };
  A.MediaQuerySuccessfulMergeResult0.prototype = {
    toString$0(_) {
      return this.query.toString$0(0);
    }
  };
  A.MediaQueryParser0.prototype = {
    parse$0() {
      return this.wrapSpanFormatException$1(new A.MediaQueryParser_parse_closure0(this));
    },
    _media_query$_mediaQuery$0() {
      var conditions, conjunction, t1, identifier1, identifier2, type, modifier, _this = this, _s3_ = "and", _null = null;
      if (_this.scanner.peekChar$0() === 40) {
        conditions = A._setArrayType([_this._media_query$_mediaInParens$0()], type$.JSArray_String);
        _this.whitespace$0();
        if (_this.scanIdentifier$1(_s3_)) {
          _this.expectWhitespace$0();
          B.JSArray_methods.addAll$1(conditions, _this._media_query$_mediaLogicSequence$1(_s3_));
          conjunction = true;
        } else {
          t1 = _this.scanIdentifier$1("or");
          if (t1) {
            _this.expectWhitespace$0();
            B.JSArray_methods.addAll$1(conditions, _this._media_query$_mediaLogicSequence$1("or"));
          }
          conjunction = !t1;
        }
        return A.CssMediaQuery$condition0(conditions, conjunction);
      }
      identifier1 = _this.identifier$0();
      if (A.equalsIgnoreCase0(identifier1, "not")) {
        _this.expectWhitespace$0();
        if (!_this.lookingAtIdentifier$0())
          return A.CssMediaQuery$condition0(A._setArrayType(["(not " + _this._media_query$_mediaInParens$0() + ")"], type$.JSArray_String), _null);
      }
      _this.whitespace$0();
      if (!_this.lookingAtIdentifier$0())
        return A.CssMediaQuery$type0(identifier1, _null, _null);
      identifier2 = _this.identifier$0();
      if (A.equalsIgnoreCase0(identifier2, _s3_)) {
        _this.expectWhitespace$0();
        type = identifier1;
        modifier = _null;
      } else {
        _this.whitespace$0();
        if (_this.scanIdentifier$1(_s3_))
          _this.expectWhitespace$0();
        else
          return A.CssMediaQuery$type0(identifier2, _null, identifier1);
        type = identifier2;
        modifier = identifier1;
      }
      if (_this.scanIdentifier$1("not")) {
        _this.expectWhitespace$0();
        return A.CssMediaQuery$type0(type, A._setArrayType(["(not " + _this._media_query$_mediaInParens$0() + ")"], type$.JSArray_String), modifier);
      }
      return A.CssMediaQuery$type0(type, _this._media_query$_mediaLogicSequence$1(_s3_), modifier);
    },
    _media_query$_mediaLogicSequence$1(operator) {
      var t1, t2, _this = this,
        result = A._setArrayType([], type$.JSArray_String);
      for (t1 = _this.scanner; true;) {
        t1.expectChar$2$name(40, "media condition in parentheses");
        t2 = _this.declarationValue$0();
        t1.expectChar$1(41);
        result.push("(" + t2 + ")");
        _this.whitespace$0();
        if (!_this.scanIdentifier$1(operator))
          return result;
        _this.expectWhitespace$0();
      }
    },
    _media_query$_mediaInParens$0() {
      var t2,
        t1 = this.scanner;
      t1.expectChar$2$name(40, "media condition in parentheses");
      t2 = this.declarationValue$0();
      t1.expectChar$1(41);
      return "(" + t2 + ")";
    }
  };
  A.MediaQueryParser_parse_closure0.prototype = {
    call$0() {
      var queries = A._setArrayType([], type$.JSArray_CssMediaQuery_2),
        t1 = this.$this,
        t2 = t1.scanner;
      do {
        t1.whitespace$0();
        queries.push(t1._media_query$_mediaQuery$0());
        t1.whitespace$0();
      } while (t2.scanChar$1(44));
      t2.expectDone$0();
      return queries;
    },
    $signature: 501
  };
  A.ModifiableCssMediaRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssMediaRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    equalsIgnoringChildren$1(other) {
      return other instanceof A.ModifiableCssMediaRule0 && B.C_ListEquality.equals$2(0, this.queries, other.queries);
    },
    copyWithoutChildren$0() {
      return A.ModifiableCssMediaRule$0(this.queries, this.span);
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.MediaRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitMediaRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.children;
      return "@media " + this.query.toString$0(0) + " {" + (t1 && B.JSArray_methods).join$1(t1, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.MergedExtension0.prototype = {
    unmerge$0() {
      return new A._SyncStarIterable(this.unmerge$body$MergedExtension0(), type$._SyncStarIterable_Extension_2);
    },
    unmerge$body$MergedExtension0() {
      var $async$self = this;
      return function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, right, left;
        return function $async$unmerge$0($async$iterator, $async$errorCode, $async$result) {
          if ($async$errorCode === 1) {
            $async$currentError = $async$result;
            $async$goto = $async$handler;
          }
          while (true)
            switch ($async$goto) {
              case 0:
                // Function start
                left = $async$self.left;
                $async$goto = left instanceof A.MergedExtension0 ? 2 : 4;
                break;
              case 2:
                // then
                $async$goto = 5;
                return $async$iterator._yieldStar$1(left.unmerge$0());
              case 5:
                // after yield
                // goto join
                $async$goto = 3;
                break;
              case 4:
                // else
                $async$goto = 6;
                return $async$iterator._async$_current = left, 1;
              case 6:
                // after yield
              case 3:
                // join
                right = $async$self.right;
                $async$goto = right instanceof A.MergedExtension0 ? 7 : 9;
                break;
              case 7:
                // then
                $async$goto = 10;
                return $async$iterator._yieldStar$1(right.unmerge$0());
              case 10:
                // after yield
                // goto join
                $async$goto = 8;
                break;
              case 9:
                // else
                $async$goto = 11;
                return $async$iterator._async$_current = right, 1;
              case 11:
                // after yield
              case 8:
                // join
                // implicit return
                return 0;
              case 1:
                // rethrow
                return $async$iterator._datum = $async$currentError, 3;
            }
        };
      };
    }
  };
  A.MergedMapView0.prototype = {
    get$keys(_) {
      var t1 = this._merged_map_view$_mapsByKey;
      return new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"));
    },
    get$length(_) {
      return this._merged_map_view$_mapsByKey.__js_helper$_length;
    },
    get$isEmpty(_) {
      return this._merged_map_view$_mapsByKey.__js_helper$_length === 0;
    },
    get$isNotEmpty(_) {
      return this._merged_map_view$_mapsByKey.__js_helper$_length !== 0;
    },
    MergedMapView$10(maps, $K, $V) {
      var t1, t2, t3, _i, map, t4, t5, t6;
      for (t1 = maps.length, t2 = this._merged_map_view$_mapsByKey, t3 = $K._eval$1("@<0>")._bind$1($V)._eval$1("MergedMapView0<1,2>"), _i = 0; _i < maps.length; maps.length === t1 || (0, A.throwConcurrentModificationError)(maps), ++_i) {
        map = maps[_i];
        if (t3._is(map))
          for (t4 = map._merged_map_view$_mapsByKey.get$values(0), t5 = A._instanceType(t4), t5 = t5._eval$1("@<1>")._bind$1(t5._rest[1]), t4 = new A.MappedIterator(J.get$iterator$ax(t4.__internal$_iterable), t4._f, t5._eval$1("MappedIterator<1,2>")), t5 = t5._rest[1]; t4.moveNext$0();) {
            t6 = t4.__internal$_current;
            if (t6 == null)
              t6 = t5._as(t6);
            A.setAll0(t2, t6.get$keys(t6), t6);
          }
        else
          A.setAll0(t2, map.get$keys(map), map);
      }
    },
    $index(_, key) {
      var t1 = this._merged_map_view$_mapsByKey.$index(0, this.$ti._precomputed1._as(key));
      return t1 == null ? null : t1.$index(0, key);
    },
    $indexSet(_, key, value) {
      var _0_0 = this._merged_map_view$_mapsByKey.$index(0, key);
      if (_0_0 != null)
        _0_0.$indexSet(0, key, value);
      else
        throw A.wrapException(A.UnsupportedError$(string$.New_en));
    },
    remove$1(_, key) {
      throw A.wrapException(A.UnsupportedError$(string$.Entrie));
    },
    containsKey$1(key) {
      return this._merged_map_view$_mapsByKey.containsKey$1(key);
    }
  };
  A.global_closure59.prototype = {
    call$1($arguments) {
      return $._features0.contains$1(0, J.$index$asx($arguments, 0).assertString$1("feature")._string0$_text) ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A.global_closure60.prototype = {
    call$1($arguments) {
      return new A.SassString0(A.serializeValue0(J.get$first$ax($arguments), true, true), false);
    },
    $signature: 19
  };
  A.global_closure61.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        _0_0 = t1.$index($arguments, 0);
      $label0$0: {
        if (_0_0 instanceof A.SassArgumentList0) {
          t1 = "arglist";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassBoolean0) {
          t1 = "bool";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassColor0) {
          t1 = "color";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassList0) {
          t1 = "list";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassMap0) {
          t1 = "map";
          break $label0$0;
        }
        if (B.C__SassNull0 === _0_0) {
          t1 = "null";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassNumber0) {
          t1 = "number";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassFunction0) {
          t1 = "function";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassMixin0) {
          t1 = "mixin";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassCalculation0) {
          t1 = "calculation";
          break $label0$0;
        }
        if (_0_0 instanceof A.SassString0) {
          t1 = "string";
          break $label0$0;
        }
        t1 = A.throwExpression("[BUG] Unknown value type " + A.S(t1.$index($arguments, 0)));
      }
      return new A.SassString0(t1, false);
    },
    $signature: 19
  };
  A.global_closure62.prototype = {
    call$1($arguments) {
      var t2, t3, t4,
        t1 = J.getInterceptor$asx($arguments),
        _1_0 = t1.$index($arguments, 0);
      if (_1_0 instanceof A.SassArgumentList0) {
        _1_0._argument_list$_wereKeywordsAccessed = true;
        t1 = type$.Value_2;
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
        for (t3 = A.MapExtensions_get_pairs0(_1_0._argument_list$_keywords, type$.String, t1), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
          t4 = t3.get$current(t3);
          t2.$indexSet(0, new A.SassString0(t4._0, false), t4._1);
        }
        return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1));
      } else
        throw A.wrapException("$args: " + A.S(t1.$index($arguments, 0)) + " is not an argument list.");
    },
    $signature: 36
  };
  A.local_closure2.prototype = {
    call$1($arguments) {
      return new A.SassString0(J.$index$asx($arguments, 0).assertCalculation$1("calc").name, true);
    },
    $signature: 19
  };
  A.local_closure3.prototype = {
    call$1($arguments) {
      var t1 = J.$index$asx($arguments, 0).assertCalculation$1("calc").$arguments;
      return A.SassList$0(new A.MappedListIterable(t1, new A.local__closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value0>")), B.ListSeparator_ECn0, false);
    },
    $signature: 23
  };
  A.local__closure0.prototype = {
    call$1(argument) {
      return argument instanceof A.Value0 ? argument : new A.SassString0(J.toString$0$(argument), false);
    },
    $signature: 502
  };
  A.local_closure4.prototype = {
    call$1($arguments) {
      var _0_2_isSet, _0_2, acceptsContent, t1, _0_5_isSet, _0_5, hasContent,
        mixin = J.$index$asx($arguments, 0).assertMixin$1("mixin"),
        _0_0 = mixin.callable;
      $label0$0: {
        _0_2_isSet = type$.AsyncBuiltInCallable_2._is(_0_0);
        if (_0_2_isSet) {
          _0_2 = _0_0.get$acceptsContent();
          acceptsContent = _0_2;
        } else
          acceptsContent = null;
        if (!_0_2_isSet) {
          _0_2_isSet = _0_0 instanceof A.BuiltInCallable0;
          if (_0_2_isSet) {
            _0_2 = _0_0.acceptsContent;
            acceptsContent = _0_2;
          }
          t1 = _0_2_isSet;
        } else
          t1 = true;
        if (t1) {
          t1 = acceptsContent;
          break $label0$0;
        }
        _0_5_isSet = _0_0 instanceof A.UserDefinedCallable0;
        if (_0_5_isSet) {
          _0_5 = _0_0.declaration;
          t1 = _0_5 instanceof A.MixinRule0;
        } else {
          _0_5 = null;
          t1 = false;
        }
        if (t1) {
          t1 = _0_5_isSet ? _0_5 : _0_0.declaration;
          hasContent = type$.MixinRule_2._as(t1).get$hasContent();
          t1 = hasContent;
          break $label0$0;
        }
        t1 = A.throwExpression(A.UnsupportedError$("Unknown callable type " + mixin.toString$0(0) + "."));
      }
      return t1 ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A.mixinClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.SassMixin", new A.mixinClass__closure()));
      A.JSClassExtension_injectSuperclass(t1._as(new A.SassMixin0(A.BuiltInCallable$function0("f", "", new A.mixinClass__closure0(), null)).constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.mixinClass__closure.prototype = {
    call$1($self) {
      A.jsThrow(new self.Error("It is not possible to construct a SassMixin through the JavaScript API"));
    },
    $signature: 503
  };
  A.mixinClass__closure0.prototype = {
    call$1(_) {
      return B.C__SassNull0;
    },
    $signature: 3
  };
  A.SassMixin0.prototype = {
    accept$1$1(visitor) {
      var t1, t2;
      if (!visitor._serialize0$_inspect)
        A.throwExpression(A.SassScriptException$0(this.toString$0(0) + " isn't a valid CSS value.", null));
      t1 = visitor._serialize0$_buffer;
      t1.write$1(0, "get-mixin(");
      t2 = this.callable;
      visitor._serialize0$_visitQuotedString$1(t2.get$name(t2));
      t1.writeCharCode$1(41);
      return null;
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertMixin$1($name) {
      return this;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.SassMixin0 && this.callable.$eq(0, other.callable);
    },
    get$hashCode(_) {
      var t1 = this.callable;
      return t1.get$hashCode(t1);
    }
  };
  A.MixinRule0.prototype = {
    get$hasContent() {
      var result, _this = this,
        value = _this._mixin_rule$__MixinRule_hasContent_FI;
      if (value === $) {
        result = J.$eq$(B.C__HasContentVisitor0.visitChildren$1(_this.children), true);
        _this._mixin_rule$__MixinRule_hasContent_FI !== $ && A.throwUnnamedLateFieldADI();
        _this._mixin_rule$__MixinRule_hasContent_FI = result;
        value = result;
      }
      return value;
    },
    accept$1$1(visitor) {
      return visitor.visitMixinRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = "@mixin " + this.name,
        t2 = this.$arguments;
      if (!(t2.$arguments.length === 0 && t2.restArgument == null))
        t1 += "(" + t2.toString$0(0) + ")";
      t2 = this.children;
      t2 = t1 + (" {" + (t2 && B.JSArray_methods).join$1(t2, " ") + "}");
      return t2.charCodeAt(0) == 0 ? t2 : t2;
    }
  };
  A._HasContentVisitor0.prototype = {
    visitContentRule$1(_) {
      return true;
    }
  };
  A.__HasContentVisitor_Object_StatementSearchVisitor0.prototype = {};
  A.ExtendMode0.prototype = {
    _enumToString$0() {
      return "ExtendMode." + this._name;
    },
    toString$0(_) {
      return this.name;
    }
  };
  A.JSModule0.prototype = {};
  A.JSModuleRequire0.prototype = {};
  A.MultiSpan0.prototype = {
    get$start(_) {
      var t1 = this._multi_span0$_primary;
      return t1.get$start(t1);
    },
    get$end(_) {
      var t1 = this._multi_span0$_primary;
      return t1.get$end(t1);
    },
    get$text() {
      return this._multi_span0$_primary.get$text();
    },
    get$context(_) {
      var t1 = this._multi_span0$_primary;
      return t1.get$context(t1);
    },
    get$file(_) {
      var t1 = this._multi_span0$_primary;
      return t1.get$file(t1);
    },
    get$length(_) {
      var t1 = this._multi_span0$_primary;
      return t1.get$length(t1);
    },
    get$sourceUrl(_) {
      var t1 = this._multi_span0$_primary;
      return t1.get$sourceUrl(t1);
    },
    compareTo$1(_, other) {
      return this._multi_span0$_primary.compareTo$1(0, other);
    },
    toString$0(_) {
      return this._multi_span0$_primary.toString$0(0);
    },
    expand$1(_, other) {
      return new A.MultiSpan0(this._multi_span0$_primary.expand$1(0, other), this.primaryLabel, this.secondarySpans);
    },
    highlight$1$color(color) {
      return A.Highlighter$multiple(this._multi_span0$_primary, this.primaryLabel, this.secondarySpans, color === true, null, null).highlight$0();
    },
    message$2$color(_, message, color) {
      var t1 = J.$eq$(color, true) || typeof color == "string",
        t2 = typeof color == "string" ? color : null;
      return A.SourceSpanExtension_messageMultiple(this._multi_span0$_primary, message, this.primaryLabel, this.secondarySpans, t1, t2, null);
    },
    message$1(_, message) {
      return this.message$2$color(0, message, null);
    },
    $isComparable: 1,
    $isFileSpan: 1,
    $isSourceSpan: 1,
    $isSourceSpanWithContext: 1
  };
  A.SupportsNegation0.prototype = {
    toString$0(_) {
      var t1 = this.condition;
      if (t1 instanceof A.SupportsNegation0 || t1 instanceof A.SupportsOperation0)
        return "not (" + t1.toString$0(0) + ")";
      else
        return "not " + t1.toString$0(0);
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.NoOpImporter0.prototype = {
    canonicalize$1(_, url) {
      return null;
    },
    load$1(_, url) {
      return null;
    },
    toString$0(_) {
      return "(unknown)";
    }
  };
  A.NoSourceMapBuffer0.prototype = {
    get$length(_) {
      return this._no_source_map_buffer0$_buffer._contents.length;
    },
    forSpan$1$2(span, callback) {
      return callback.call$0();
    },
    forSpan$2(span, callback) {
      return this.forSpan$1$2(span, callback, type$.dynamic);
    },
    write$1(_, object) {
      var t1 = this._no_source_map_buffer0$_buffer,
        t2 = A.S(object);
      t1._contents += t2;
      return null;
    },
    writeCharCode$1(charCode) {
      var t1 = this._no_source_map_buffer0$_buffer,
        t2 = A.Primitives_stringFromCharCode(charCode);
      t1._contents += t2;
      return null;
    },
    toString$0(_) {
      var t1 = this._no_source_map_buffer0$_buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    buildSourceMap$1$prefix(prefix) {
      return A.throwExpression(A.UnsupportedError$(string$.NoSour));
    }
  };
  A._FakeAstNode0.prototype = {
    get$span(_) {
      return this._node0$_callback.call$0();
    },
    $isAstNode0: 1
  };
  A.CssNode0.prototype = {
    toString$0(_) {
      return A.serialize0(this, true, null, true, null, false, null, true)._0;
    },
    $isAstNode0: 1
  };
  A.CssParentNode0.prototype = {};
  A._IsInvisibleVisitor1.prototype = {
    visitCssAtRule$1(rule) {
      return false;
    },
    visitCssComment$1(comment) {
      return this.includeComments && comment.text.charCodeAt(2) !== 33;
    },
    visitCssStyleRule$1(rule) {
      var t1 = rule._style_rule0$_selector._box0$_inner;
      return (this.includeBogus ? t1.value.accept$1(B._IsInvisibleVisitor_true0) : t1.value.accept$1(B._IsInvisibleVisitor_false0)) || this.super$EveryCssVisitor$visitCssStyleRule0(rule);
    }
  };
  A.__IsInvisibleVisitor_Object_EveryCssVisitor0.prototype = {};
  A.ModifiableCssNode0.prototype = {
    get$hasFollowingSibling() {
      var t2,
        t1 = this._node$_parent;
      if (t1 == null)
        t1 = null;
      else {
        t1 = t1.children;
        t2 = this._node$_indexInParent;
        t2.toString;
        t1 = A.SubListIterable$(t1, t2 + 1, null, t1.$ti._eval$1("ListBase.E")).any$1(0, new A.ModifiableCssNode_hasFollowingSibling_closure0());
      }
      return t1 === true;
    },
    get$isGroupEnd() {
      return this.isGroupEnd;
    }
  };
  A.ModifiableCssNode_hasFollowingSibling_closure0.prototype = {
    call$1(sibling) {
      return !sibling.accept$1(B._IsInvisibleVisitor_true_false0);
    },
    $signature: 504
  };
  A.ModifiableCssParentNode0.prototype = {
    get$isChildless() {
      return false;
    },
    addChild$1(child) {
      var t1;
      child._node$_parent = this;
      t1 = this._node$_children;
      child._node$_indexInParent = t1.length;
      t1.push(child);
    },
    clearChildren$0() {
      var t1, t2, _i, child;
      for (t1 = this._node$_children, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        child = t1[_i];
        child._node$_indexInParent = child._node$_parent = null;
      }
      B.JSArray_methods.clear$0(t1);
    },
    $isCssParentNode0: 1,
    get$children(receiver) {
      return this.children;
    }
  };
  A.NodePackageImporter0.prototype = {
    isNonCanonicalScheme$1(scheme) {
      return scheme === "pkg";
    },
    canonicalize$1(_, url) {
      var packageName, jsonPath, jsonString, packageManifest, e, t1, t2, t3, t4, baseDirectory, parts, t5, $name, subpath, packageRoot, exception, _1_0, rootPath, subpathInRoot, _this = this, _null = null;
      if (url.get$scheme() === "file")
        return $.$get$FilesystemImporter_cwd0().canonicalize$1(0, url);
      if (url.get$scheme() !== "pkg")
        return _null;
      if (url.get$hasAuthority())
        throw A.wrapException(string$.A_pkg_h);
      else {
        t1 = $.$get$url();
        t2 = t1.style;
        if (t2.rootLength$1(url.get$path(url)) > 0)
          throw A.wrapException("A pkg: URL's path must not begin with /.");
        else if (url.get$path(url).length === 0)
          throw A.wrapException("A pkg: URL must not have an empty path.");
        else if (url.get$hasQuery() || url.get$hasFragment())
          throw A.wrapException(string$.A_pkg_q);
      }
      t3 = A.canonicalizeContext0();
      t3._canonicalize_context$_wasContainingUrlAccessed = true;
      t3 = t3._canonicalize_context$_containingUrl;
      if ((t3 == null ? _null : t3.get$scheme()) === "file") {
        t3 = A.canonicalizeContext0();
        t3._canonicalize_context$_wasContainingUrlAccessed = true;
        t3 = t3._canonicalize_context$_containingUrl;
        t3.toString;
        t4 = $.$get$context();
        baseDirectory = t4.dirname$1(t4.style.pathFromUri$1(A._parseUri(t3)));
      } else {
        t3 = _this._node_package$__NodePackageImporter__entryPointDirectory_F;
        t3 === $ && A.throwUnnamedLateFieldNI();
        baseDirectory = t3;
      }
      packageName = null;
      parts = t1.split$1(0, url.get$path(url));
      t3 = B.JSArray_methods.removeAt$1(parts, 0);
      t4 = $.$get$context();
      t3.toString;
      t5 = t4.style;
      $name = t5.pathFromUri$1(A._parseUri(t3));
      if (B.JSString_methods.startsWith$1($name, "@"))
        $name = parts.length !== 0 ? t1.join$2(0, $name, B.JSArray_methods.removeAt$1(parts, 0)) : $name;
      subpath = parts.length !== 0 ? t5.pathFromUri$1(A._parseUri(t1.joinAll$1(parts))) : _null;
      packageName = $name;
      if (!J.startsWith$1$s(packageName, "."))
        if (!J.contains$1$asx(packageName, "\\"))
          if (!J.contains$1$asx(packageName, "%"))
            t1 = J.startsWith$1$s(packageName, "@") && !J.contains$1$asx(packageName, t2.get$separator(t2));
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        return _null;
      packageRoot = _this._node_package$_resolvePackageRoot$2(packageName, baseDirectory);
      if (packageRoot == null)
        return _null;
      jsonPath = A.join(packageRoot, "package.json", _null);
      jsonString = A.readFile0(jsonPath);
      packageManifest = null;
      try {
        packageManifest = type$.Map_String_dynamic._as(B.C_JsonCodec.decode$1(jsonString));
      } catch (exception) {
        e = A.unwrapException(exception);
        t1 = A.S(jsonPath);
        t2 = A.S(packageName);
        t3 = A.S(e);
        throw A.wrapException("Failed to parse " + t1 + ' for "pkg:' + t2 + '": ' + t3);
      }
      _1_0 = _this._node_package$_resolvePackageExports$4(packageRoot, subpath, packageManifest, packageName);
      if (_1_0 != null)
        if (B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(_1_0, t5)._splitExtension$1(1)[1]))
          return t4.toUri$1(t4.canonicalize$1(0, _1_0));
        else {
          t1 = subpath == null ? "root" : subpath;
          throw A.wrapException("The export for '" + t1 + "' in '" + A.S(packageName) + "' resolved to '" + _1_0 + string$.x27x2c_whi);
        }
      if (subpath == null) {
        rootPath = _this._node_package$_resolvePackageRootValues$2(packageRoot, packageManifest);
        return rootPath != null ? t4.toUri$1(t4.canonicalize$1(0, rootPath)) : _null;
      }
      subpathInRoot = A.join(packageRoot, subpath, _null);
      return $.$get$FilesystemImporter_cwd0().canonicalize$1(0, t4.toUri$1(subpathInRoot));
    },
    load$1(_, url) {
      return $.$get$FilesystemImporter_cwd0().load$1(0, url);
    },
    _node_package$_resolvePackageRoot$2(packageName, baseDirectory) {
      var potentialPackage, t1;
      for (; true;) {
        potentialPackage = A.join(baseDirectory, "node_modules", packageName);
        if (A.dirExists0(potentialPackage))
          return potentialPackage;
        t1 = $.$get$context();
        if (t1.split$1(0, baseDirectory).length === 1)
          return null;
        baseDirectory = t1.dirname$1(baseDirectory);
      }
    },
    _node_package$_resolvePackageRootValues$2(packageRoot, packageManifest) {
      var t1, sassValue, _1_0, styleValue, _null = null,
        _0_0 = packageManifest.$index(0, "sass");
      if (typeof _0_0 == "string") {
        t1 = B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(_0_0, $.$get$url().style)._splitExtension$1(1)[1]);
        sassValue = _0_0;
      } else {
        sassValue = _null;
        t1 = false;
      }
      if (t1)
        return A.join(packageRoot, sassValue, _null);
      else {
        _1_0 = packageManifest.$index(0, "style");
        if (typeof _1_0 == "string") {
          t1 = B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(_1_0, $.$get$url().style)._splitExtension$1(1)[1]);
          styleValue = _1_0;
        } else {
          styleValue = _null;
          t1 = false;
        }
        if (t1)
          return A.join(packageRoot, styleValue, _null);
      }
      return A.resolveImportPath0(A.join(packageRoot, "index", _null));
    },
    _node_package$_resolvePackageExports$4(packageRoot, subpath, packageManifest, packageName) {
      var _0_0, _1_0, _this = this,
        exports = packageManifest.$index(0, "exports");
      if (exports == null)
        return null;
      _0_0 = _this._node_package$_nodePackageExportsResolve$5(packageRoot, _this._node_package$_exportsToCheck$1(subpath), exports, subpath, packageName);
      if (_0_0 != null)
        return _0_0;
      if (subpath != null && A.ParsedPath_ParsedPath$parse(subpath, $.$get$url().style)._splitExtension$1(1)[1].length !== 0)
        return null;
      _1_0 = _this._node_package$_nodePackageExportsResolve$5(packageRoot, _this._node_package$_exportsToCheck$2$addIndex(subpath, true), exports, subpath, packageName);
      if (_1_0 != null)
        return _1_0;
      return null;
    },
    _node_package$_nodePackageExportsResolve$5(packageRoot, subpathVariants, exports, subpath, packageName) {
      var t1, matches, _1_1, path;
      if (type$.Map_String_dynamic._is(exports) && J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__nodePackageExportsResolve_closure3()) && J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__nodePackageExportsResolve_closure4()))
        throw A.wrapException("`exports` in " + packageName + string$.x20can_n + J.map$1$1$ax(J.get$keys$z(exports), new A.NodePackageImporter__nodePackageExportsResolve_closure5(), type$.String).join$1(0, ",") + " in " + A.join(packageRoot, "package.json", null) + ".");
      t1 = A.IterableNullableExtension_whereNotNull(new A.MappedListIterable(subpathVariants, new A.NodePackageImporter__nodePackageExportsResolve_closure6(this, exports, packageRoot), A._arrayInstanceType(subpathVariants)._eval$1("MappedListIterable<1,String?>")), type$.String);
      matches = A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
      $label0$1: {
        _1_1 = matches.length;
        if (_1_1 === 1) {
          path = matches[0];
          t1 = path;
          break $label0$1;
        }
        if (_1_1 <= 0) {
          t1 = null;
          break $label0$1;
        }
        t1 = subpath == null ? "root" : subpath;
        t1 = A.throwExpression(string$.Unable + t1 + " in " + packageName + " should be used. \n\nFound:\n" + B.JSArray_methods.join$1(matches, "\n"));
      }
      return t1;
    },
    _node_package$_compareExpansionKeys$2(keyA, keyB) {
      var t1 = B.JSString_methods.contains$1(keyA, "*"),
        baseLengthA = t1 ? B.JSString_methods.indexOf$1(keyA, "*") + 1 : keyA.length,
        t2 = B.JSString_methods.contains$1(keyB, "*"),
        baseLengthB = t2 ? B.JSString_methods.indexOf$1(keyB, "*") + 1 : keyB.length;
      if (baseLengthA > baseLengthB)
        return -1;
      if (baseLengthB > baseLengthA)
        return 1;
      if (!t1)
        return 1;
      if (!t2)
        return -1;
      t1 = keyA.length;
      t2 = keyB.length;
      if (t1 > t2)
        return -1;
      if (t2 > t1)
        return 1;
      return 0;
    },
    _node_package$_packageTargetResolve$4(subpath, exports, packageRoot, patternMatch) {
      var t2, string, path, map, key, value, _1_0, array, _2_0, _null = null,
        t1 = typeof exports == "string";
      if (t1) {
        t2 = !B.JSString_methods.startsWith$1(exports, "./");
        string = exports;
      } else {
        string = _null;
        t2 = false;
      }
      if (t2)
        throw A.wrapException("Export '" + A.S(string) + string$.x27x20must + packageRoot + "'.");
      if (t1) {
        t2 = patternMatch != null;
        string = exports;
      } else {
        string = _null;
        t2 = false;
      }
      if (t2) {
        t1 = J.replaceFirst$2$s(string, "*", patternMatch);
        t2 = $.$get$context();
        path = t2.normalize$1(A.join(packageRoot, t2.style.pathFromUri$1(A._parseUri(t1)), _null));
        return A.fileExists0(path) ? path : _null;
      }
      string = t1 ? exports : _null;
      if (t1) {
        t1 = $.$get$context();
        string.toString;
        return A.join(packageRoot, t1.style.pathFromUri$1(A._parseUri(string)), _null);
      }
      t1 = type$.Map_String_dynamic._is(exports);
      map = t1 ? exports : _null;
      if (t1) {
        for (t1 = A.MapExtensions_get_pairs(map, type$.String, type$.dynamic), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
          t2 = t1.get$current(t1);
          key = t2._0;
          value = t2._1;
          if (!B.Set_TnQrk.contains$1(0, key))
            continue;
          if (value == null)
            continue;
          _1_0 = this._node_package$_packageTargetResolve$4(subpath, value, packageRoot, patternMatch);
          if (_1_0 != null)
            return _1_0;
        }
        return _null;
      }
      if (type$.List_nullable_Object._is(exports) && J.get$length$asx(exports) <= 0)
        return _null;
      t1 = type$.List_dynamic._is(exports);
      array = t1 ? exports : _null;
      if (t1) {
        for (t1 = J.get$iterator$ax(array); t1.moveNext$0();) {
          value = t1.get$current(t1);
          if (value == null)
            continue;
          _2_0 = this._node_package$_packageTargetResolve$4(subpath, value, packageRoot, patternMatch);
          if (_2_0 != null)
            return _2_0;
        }
        return _null;
      }
      throw A.wrapException("Invalid 'exports' value " + A.S(exports) + " in " + A.join(packageRoot, "package.json", _null) + ".");
    },
    _node_package$_packageTargetResolve$3(subpath, exports, packageRoot) {
      return this._node_package$_packageTargetResolve$4(subpath, exports, packageRoot, null);
    },
    _node_package$_getMainExport$1(exports) {
      var t1, t2, map, _0_4, $export;
      $label0$0: {
        if (typeof exports == "string") {
          t1 = exports;
          break $label0$0;
        }
        if (type$.List_String._is(exports)) {
          t1 = exports;
          break $label0$0;
        }
        t1 = type$.Map_String_dynamic._is(exports);
        if (t1) {
          t2 = !J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__getMainExport_closure0());
          map = exports;
        } else {
          map = null;
          t2 = false;
        }
        if (t2) {
          t1 = map;
          break $label0$0;
        }
        if (t1) {
          _0_4 = exports.$index(0, ".");
          if (_0_4 == null)
            t2 = exports.containsKey$1(".");
          else
            t2 = true;
          if (t2)
            t2 = _0_4 != null;
          else
            t2 = false;
        } else {
          _0_4 = null;
          t2 = false;
        }
        if (t2) {
          $export = t1 ? _0_4 : J.$index$asx(exports, ".");
          t1 = $export;
          break $label0$0;
        }
        t1 = null;
        break $label0$0;
      }
      return t1;
    },
    _node_package$_exportsToCheck$2$addIndex(subpath, addIndex) {
      var basename, dirname, t3, t4, _i, path,
        t1 = type$.JSArray_String,
        paths = A._setArrayType([], t1),
        t2 = subpath == null;
      if (t2 && addIndex)
        subpath = "index";
      else if (!t2 && addIndex)
        subpath = A.join(subpath, "index", null);
      if (subpath == null)
        return A._setArrayType([null], type$.JSArray_nullable_String);
      if (B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(subpath, $.$get$url().style)._splitExtension$1(1)[1]))
        paths.push(subpath);
      else
        B.JSArray_methods.addAll$1(paths, A._setArrayType([subpath, subpath + ".scss", subpath + ".sass", subpath + ".css"], t1));
      t1 = $.$get$context();
      t2 = t1.style;
      basename = A.ParsedPath_ParsedPath$parse(subpath, t2).get$basename();
      dirname = t1.dirname$1(subpath);
      if (B.JSString_methods.startsWith$1(basename, "_"))
        return paths;
      t1 = A.List_List$of(paths, true, type$.nullable_String);
      for (t3 = paths.length, t4 = dirname === ".", _i = 0; _i < paths.length; paths.length === t3 || (0, A.throwConcurrentModificationError)(paths), ++_i) {
        path = paths[_i];
        if (t4)
          t1.push("_" + A.ParsedPath_ParsedPath$parse(path, t2).get$basename());
        else
          t1.push(A.join(dirname, "_" + A.ParsedPath_ParsedPath$parse(path, t2).get$basename(), null));
      }
      return t1;
    },
    _node_package$_exportsToCheck$1(subpath) {
      return this._node_package$_exportsToCheck$2$addIndex(subpath, false);
    }
  };
  A.NodePackageImporter__nodePackageExportsResolve_closure3.prototype = {
    call$1(key) {
      return B.JSString_methods.startsWith$1(key, ".");
    },
    $signature: 4
  };
  A.NodePackageImporter__nodePackageExportsResolve_closure4.prototype = {
    call$1(key) {
      return !B.JSString_methods.startsWith$1(key, ".");
    },
    $signature: 4
  };
  A.NodePackageImporter__nodePackageExportsResolve_closure5.prototype = {
    call$1(key) {
      return '"' + key + '"';
    },
    $signature: 5
  };
  A.NodePackageImporter__nodePackageExportsResolve_closure6.prototype = {
    call$1(variant) {
      var t1, matchKey, t2, t3, t4, t5, t6, _i, expansionKey, _0_0, t7, patternBase, patternTrailer, t8, target, _this = this, _null = null;
      if (variant == null) {
        t1 = _this.$this;
        return A.NullableExtension_andThen(t1._node_package$_getMainExport$1(_this.exports), new A.NodePackageImporter__nodePackageExportsResolve__closure1(t1, variant, _this.packageRoot));
      } else {
        t1 = _this.exports;
        if (!type$.Map_String_dynamic._is(t1) || J.every$1$ax(t1.get$keys(t1), new A.NodePackageImporter__nodePackageExportsResolve__closure2()))
          return _null;
      }
      matchKey = "./" + $.$get$context().toUri$1(variant).toString$0(0);
      if (t1.containsKey$1(matchKey) && J.$index$asx(t1, matchKey) != null && !B.JSString_methods.contains$1(matchKey, "*")) {
        t1 = J.$index$asx(t1, matchKey);
        if (t1 == null)
          t1 = type$.Object._as(t1);
        return _this.$this._node_package$_packageTargetResolve$3(matchKey, t1, _this.packageRoot);
      }
      t2 = A._setArrayType([], type$.JSArray_String);
      for (t3 = J.getInterceptor$z(t1), t4 = J.get$iterator$ax(t3.get$keys(t1)); t4.moveNext$0();) {
        t5 = t4.get$current(t4);
        if (B.JSString_methods.allMatches$1("*", t5).get$length(0) === 1)
          t2.push(t5);
      }
      t4 = _this.$this;
      B.JSArray_methods.sort$1(t2, t4.get$_node_package$_compareExpansionKeys());
      for (t5 = t2.length, t6 = matchKey.length, _i = 0; _i < t2.length; t2.length === t5 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        expansionKey = t2[_i];
        _0_0 = expansionKey.split("*");
        t7 = _0_0.length === 2;
        if (t7) {
          patternBase = _0_0[0];
          patternTrailer = _0_0[1];
          patternTrailer = patternTrailer;
        } else {
          patternTrailer = _null;
          patternBase = patternTrailer;
        }
        if (!t7)
          throw A.wrapException(A.StateError$("Pattern matching error"));
        if (!B.JSString_methods.startsWith$1(matchKey, patternBase))
          continue;
        if (matchKey === patternBase)
          continue;
        t7 = patternTrailer.length;
        if (t7 !== 0)
          t8 = B.JSString_methods.endsWith$1(matchKey, patternTrailer) && t6 >= expansionKey.length;
        else
          t8 = true;
        if (t8) {
          target = t3.$index(t1, expansionKey);
          if (target == null)
            continue;
          return t4._node_package$_packageTargetResolve$4(variant, target, _this.packageRoot, B.JSString_methods.substring$2(matchKey, patternBase.length, t6 - t7));
        }
      }
      return _null;
    },
    $signature: 143
  };
  A.NodePackageImporter__nodePackageExportsResolve__closure1.prototype = {
    call$1(mainExport) {
      return this.$this._node_package$_packageTargetResolve$3(this.variant, mainExport, this.packageRoot);
    },
    $signature: 144
  };
  A.NodePackageImporter__nodePackageExportsResolve__closure2.prototype = {
    call$1(key) {
      return !B.JSString_methods.startsWith$1(key, ".");
    },
    $signature: 4
  };
  A.NodePackageImporter__getMainExport_closure0.prototype = {
    call$1(key) {
      return B.JSString_methods.startsWith$1(key, ".");
    },
    $signature: 4
  };
  A.NullExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitNullExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "null";
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.legacyNullClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.types.Null", new A.legacyNullClass__closure()));
      jsClass.NULL = B.C__SassNull0;
      A.JSClassExtension_injectSuperclass(t1._as(B.C__SassNull0.constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.legacyNullClass__closure.prototype = {
    call$2(_, __) {
      throw A.wrapException("new sass.types.Null() isn't allowed. Use sass.types.Null.NULL instead.");
    },
    call$1(_) {
      return this.call$2(_, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 209
  };
  A._SassNull0.prototype = {
    get$isTruthy() {
      return false;
    },
    get$isBlank() {
      return true;
    },
    get$realNull() {
      return null;
    },
    accept$1$1(visitor) {
      if (visitor._serialize0$_inspect)
        visitor._serialize0$_buffer.write$1(0, "null");
      return null;
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    unaryNot$0() {
      return B.SassBoolean_true0;
    }
  };
  A.NumberExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitNumberExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return A.serializeValue0(A.SassNumber_SassNumber0(this.value, this.unit), true, true);
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.numberClass_closure.prototype = {
    call$0() {
      var t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.SassNumber", new A.numberClass__closure())),
        t2 = type$.String,
        t3 = type$.Function;
      A.LinkedHashMap_LinkedHashMap$_literal(["value", new A.numberClass__closure0(), "isInt", new A.numberClass__closure1(), "asInt", new A.numberClass__closure2(), "numeratorUnits", new A.numberClass__closure3(), "denominatorUnits", new A.numberClass__closure4(), "hasUnits", new A.numberClass__closure5()], t2, t3).forEach$1(0, A.JSClassExtension_get_defineGetter(jsClass));
      A.LinkedHashMap_LinkedHashMap$_literal(["assertInt", new A.numberClass__closure6(), "assertInRange", new A.numberClass__closure7(), "assertNoUnits", new A.numberClass__closure8(), "assertUnit", new A.numberClass__closure9(), "hasUnit", new A.numberClass__closure10(), "compatibleWithUnit", new A.numberClass__closure11(), "convert", new A.numberClass__closure12(), "convertToMatch", new A.numberClass__closure13(), "convertValue", new A.numberClass__closure14(), "convertValueToMatch", new A.numberClass__closure15(), "coerce", new A.numberClass__closure16(), "coerceToMatch", new A.numberClass__closure17(), "coerceValue", new A.numberClass__closure18(), "coerceValueToMatch", new A.numberClass__closure19()], t2, t3).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass));
      A.JSClassExtension_injectSuperclass(t1._as(self.Object.getPrototypeOf(J.get$$prototype$x(t1._as(A.SassNumber_SassNumber0(0, null).constructor))).constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.numberClass__closure.prototype = {
    call$3($self, value, unitOrOptions) {
      var t1, t2, _null = null;
      if (typeof unitOrOptions == "string")
        return A.SassNumber_SassNumber0(value, unitOrOptions);
      type$.nullable__ConstructorOptions_2._as(unitOrOptions);
      t1 = unitOrOptions == null;
      if (t1)
        t2 = _null;
      else {
        t2 = A.NullableExtension_andThen0(J.get$numeratorUnits$x(unitOrOptions), A.immutable__jsToDartList$closure());
        t2 = t2 == null ? _null : J.cast$1$0$ax(t2, type$.String);
      }
      if (t1)
        t1 = _null;
      else {
        t1 = A.NullableExtension_andThen0(J.get$denominatorUnits$x(unitOrOptions), A.immutable__jsToDartList$closure());
        t1 = t1 == null ? _null : J.cast$1$0$ax(t1, type$.String);
      }
      return A.SassNumber_SassNumber$withUnits0(value, t1, t2);
    },
    call$2($self, value) {
      return this.call$3($self, value, null);
    },
    "call*": "call$3",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null];
    },
    $signature: 505
  };
  A.numberClass__closure0.prototype = {
    call$1($self) {
      return $self._number1$_value;
    },
    $signature: 506
  };
  A.numberClass__closure1.prototype = {
    call$1($self) {
      return A.fuzzyIsInt($self._number1$_value);
    },
    $signature: 233
  };
  A.numberClass__closure2.prototype = {
    call$1($self) {
      return A.fuzzyAsInt0($self._number1$_value);
    },
    $signature: 508
  };
  A.numberClass__closure3.prototype = {
    call$1($self) {
      return new self.immutable.List($self.get$numeratorUnits($self));
    },
    $signature: 230
  };
  A.numberClass__closure4.prototype = {
    call$1($self) {
      return new self.immutable.List($self.get$denominatorUnits($self));
    },
    $signature: 230
  };
  A.numberClass__closure5.prototype = {
    call$1($self) {
      return $self.get$hasUnits();
    },
    $signature: 233
  };
  A.numberClass__closure6.prototype = {
    call$2($self, $name) {
      return $self.assertInt$1($name);
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 510
  };
  A.numberClass__closure7.prototype = {
    call$4($self, min, max, $name) {
      return $self.valueInRange$3(min, max, $name);
    },
    call$3($self, min, max) {
      return this.call$4($self, min, max, null);
    },
    "call*": "call$4",
    $requiredArgCount: 3,
    $defaultValues() {
      return [null];
    },
    $signature: 511
  };
  A.numberClass__closure8.prototype = {
    call$2($self, $name) {
      $self.assertNoUnits$1($name);
      return $self;
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 512
  };
  A.numberClass__closure9.prototype = {
    call$3($self, unit, $name) {
      $self.assertUnit$2(unit, $name);
      return $self;
    },
    call$2($self, unit) {
      return this.call$3($self, unit, null);
    },
    "call*": "call$3",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null];
    },
    $signature: 513
  };
  A.numberClass__closure10.prototype = {
    call$2($self, unit) {
      return $self.hasUnit$1(unit);
    },
    $signature: 225
  };
  A.numberClass__closure11.prototype = {
    call$2($self, unit) {
      return $self.get$hasUnits() && $self.compatibleWithUnit$1(unit);
    },
    $signature: 225
  };
  A.numberClass__closure12.prototype = {
    call$4($self, numeratorUnits, denominatorUnits, $name) {
      var t1 = self.immutable.isOrderedMap(numeratorUnits) ? J.toArray$0$x(type$.ImmutableList._as(numeratorUnits)) : type$.List_dynamic._as(numeratorUnits),
        t2 = type$.String;
      t1 = J.cast$1$0$ax(t1, t2);
      t2 = J.cast$1$0$ax(self.immutable.isOrderedMap(denominatorUnits) ? J.toArray$0$x(type$.ImmutableList._as(denominatorUnits)) : type$.List_dynamic._as(denominatorUnits), t2);
      return A.SassNumber_SassNumber$withUnits0($self._number1$_coerceOrConvertValue$4$coerceUnitless$name(t1, t2, false, $name), t2, t1);
    },
    call$3($self, numeratorUnits, denominatorUnits) {
      return this.call$4($self, numeratorUnits, denominatorUnits, null);
    },
    "call*": "call$4",
    $requiredArgCount: 3,
    $defaultValues() {
      return [null];
    },
    $signature: 224
  };
  A.numberClass__closure13.prototype = {
    call$4($self, other, $name, otherName) {
      return $self.convertToMatch$3(other, $name, otherName);
    },
    call$2($self, other) {
      return this.call$4($self, other, null, null);
    },
    call$3($self, other, $name) {
      return this.call$4($self, other, $name, null);
    },
    "call*": "call$4",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null, null];
    },
    $signature: 222
  };
  A.numberClass__closure14.prototype = {
    call$4($self, numeratorUnits, denominatorUnits, $name) {
      var t1 = self.immutable.isOrderedMap(numeratorUnits) ? J.toArray$0$x(type$.ImmutableList._as(numeratorUnits)) : type$.List_dynamic._as(numeratorUnits),
        t2 = type$.String;
      t1 = J.cast$1$0$ax(t1, t2);
      return $self._number1$_coerceOrConvertValue$4$coerceUnitless$name(t1, J.cast$1$0$ax(self.immutable.isOrderedMap(denominatorUnits) ? J.toArray$0$x(type$.ImmutableList._as(denominatorUnits)) : type$.List_dynamic._as(denominatorUnits), t2), false, $name);
    },
    call$3($self, numeratorUnits, denominatorUnits) {
      return this.call$4($self, numeratorUnits, denominatorUnits, null);
    },
    "call*": "call$4",
    $requiredArgCount: 3,
    $defaultValues() {
      return [null];
    },
    $signature: 218
  };
  A.numberClass__closure15.prototype = {
    call$4($self, other, $name, otherName) {
      return $self.convertValueToMatch$3(other, $name, otherName);
    },
    call$2($self, other) {
      return this.call$4($self, other, null, null);
    },
    call$3($self, other, $name) {
      return this.call$4($self, other, $name, null);
    },
    "call*": "call$4",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null, null];
    },
    $signature: 208
  };
  A.numberClass__closure16.prototype = {
    call$4($self, numeratorUnits, denominatorUnits, $name) {
      var t1 = self.immutable.isOrderedMap(numeratorUnits) ? J.toArray$0$x(type$.ImmutableList._as(numeratorUnits)) : type$.List_dynamic._as(numeratorUnits),
        t2 = type$.String;
      t1 = J.cast$1$0$ax(t1, t2);
      return $self.coerce$3(t1, J.cast$1$0$ax(self.immutable.isOrderedMap(denominatorUnits) ? J.toArray$0$x(type$.ImmutableList._as(denominatorUnits)) : type$.List_dynamic._as(denominatorUnits), t2), $name);
    },
    call$3($self, numeratorUnits, denominatorUnits) {
      return this.call$4($self, numeratorUnits, denominatorUnits, null);
    },
    "call*": "call$4",
    $requiredArgCount: 3,
    $defaultValues() {
      return [null];
    },
    $signature: 224
  };
  A.numberClass__closure17.prototype = {
    call$4($self, other, $name, otherName) {
      return $self.coerceToMatch$3(other, $name, otherName);
    },
    call$2($self, other) {
      return this.call$4($self, other, null, null);
    },
    call$3($self, other, $name) {
      return this.call$4($self, other, $name, null);
    },
    "call*": "call$4",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null, null];
    },
    $signature: 222
  };
  A.numberClass__closure18.prototype = {
    call$4($self, numeratorUnits, denominatorUnits, $name) {
      var t1 = self.immutable.isOrderedMap(numeratorUnits) ? J.toArray$0$x(type$.ImmutableList._as(numeratorUnits)) : type$.List_dynamic._as(numeratorUnits),
        t2 = type$.String;
      t1 = J.cast$1$0$ax(t1, t2);
      return $self.coerceValue$3(t1, J.cast$1$0$ax(self.immutable.isOrderedMap(denominatorUnits) ? J.toArray$0$x(type$.ImmutableList._as(denominatorUnits)) : type$.List_dynamic._as(denominatorUnits), t2), $name);
    },
    call$3($self, numeratorUnits, denominatorUnits) {
      return this.call$4($self, numeratorUnits, denominatorUnits, null);
    },
    "call*": "call$4",
    $requiredArgCount: 3,
    $defaultValues() {
      return [null];
    },
    $signature: 218
  };
  A.numberClass__closure19.prototype = {
    call$4($self, other, $name, otherName) {
      return $self.coerceValueToMatch$3(other, $name, otherName);
    },
    call$2($self, other) {
      return this.call$4($self, other, null, null);
    },
    call$3($self, other, $name) {
      return this.call$4($self, other, $name, null);
    },
    "call*": "call$4",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null, null];
    },
    $signature: 208
  };
  A._ConstructorOptions0.prototype = {};
  A._NodeSassNumber.prototype = {};
  A.legacyNumberClass_closure.prototype = {
    call$4(thisArg, value, unit, dartValue) {
      var t1;
      if (dartValue == null) {
        value.toString;
        t1 = A._parseNumber(value, unit);
      } else
        t1 = dartValue;
      J.set$dartValue$x(thisArg, t1);
    },
    call$2(thisArg, value) {
      return this.call$4(thisArg, value, null, null);
    },
    call$3(thisArg, value, unit) {
      return this.call$4(thisArg, value, unit, null);
    },
    "call*": "call$4",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null, null];
    },
    $signature: 519
  };
  A.legacyNumberClass_closure0.prototype = {
    call$1(thisArg) {
      return J.get$dartValue$x(thisArg)._number1$_value;
    },
    $signature: 520
  };
  A.legacyNumberClass_closure1.prototype = {
    call$2(thisArg, value) {
      var t1 = J.getInterceptor$x(thisArg),
        t2 = J.get$numeratorUnits$x(t1.get$dartValue(thisArg));
      t1.set$dartValue(thisArg, A.SassNumber_SassNumber$withUnits0(value, J.get$denominatorUnits$x(t1.get$dartValue(thisArg)), t2));
    },
    $signature: 521
  };
  A.legacyNumberClass_closure2.prototype = {
    call$1(thisArg) {
      var t1 = J.getInterceptor$x(thisArg),
        t2 = B.JSArray_methods.join$1(J.get$numeratorUnits$x(t1.get$dartValue(thisArg)), "*"),
        t3 = J.get$denominatorUnits$x(t1.get$dartValue(thisArg)).length === 0 ? "" : "/";
      return t2 + t3 + B.JSArray_methods.join$1(J.get$denominatorUnits$x(t1.get$dartValue(thisArg)), "*");
    },
    $signature: 522
  };
  A.legacyNumberClass_closure3.prototype = {
    call$2(thisArg, unit) {
      var t1 = J.getInterceptor$x(thisArg);
      t1.set$dartValue(thisArg, A._parseNumber(t1.get$dartValue(thisArg)._number1$_value, unit));
    },
    $signature: 523
  };
  A._parseNumber_closure.prototype = {
    call$1(unit) {
      return unit.length === 0;
    },
    $signature: 4
  };
  A._parseNumber_closure0.prototype = {
    call$1(unit) {
      return unit.length === 0;
    },
    $signature: 4
  };
  A.SassNumber0.prototype = {
    get$unitString() {
      var _this = this;
      return _this.get$hasUnits() ? _this._number1$_unitString$2(_this.get$numeratorUnits(_this), _this.get$denominatorUnits(_this)) : "";
    },
    accept$1$1(visitor) {
      return visitor.visitNumber$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    withoutSlash$0() {
      var _this = this;
      return _this.asSlash == null ? _this : _this.withValue$1(_this._number1$_value);
    },
    assertNumber$1($name) {
      return this;
    },
    assertNumber$0() {
      return this.assertNumber$1(null);
    },
    assertInt$1($name) {
      var _0_0 = A.fuzzyAsInt0(this._number1$_value);
      if (_0_0 != null)
        return _0_0;
      throw A.wrapException(A.SassScriptException$0(this.toString$0(0) + " is not an int.", $name));
    },
    assertInt$0() {
      return this.assertInt$1(null);
    },
    valueInRange$3(min, max, $name) {
      var _this = this,
        _0_0 = A.fuzzyCheckRange0(_this._number1$_value, min, max);
      if (_0_0 != null)
        return _0_0;
      throw A.wrapException(A.SassScriptException$0("Expected " + _this.toString$0(0) + " to be within " + A.S(min) + _this.get$unitString() + " and " + A.S(max) + _this.get$unitString() + ".", $name));
    },
    valueInRangeWithUnit$4(min, max, $name, unit) {
      var _0_0 = A.fuzzyCheckRange0(this._number1$_value, min, max);
      if (_0_0 != null)
        return _0_0;
      throw A.wrapException(A.SassScriptException$0("Expected " + this.toString$0(0) + " to be within " + min + unit + " and " + max + unit + ".", $name));
    },
    hasCompatibleUnits$1(other) {
      var _this = this;
      if (_this.get$numeratorUnits(_this).length !== other.get$numeratorUnits(other).length)
        return false;
      if (_this.get$denominatorUnits(_this).length !== other.get$denominatorUnits(other).length)
        return false;
      return _this.isComparableTo$1(other);
    },
    assertUnit$2(unit, $name) {
      if (this.hasUnit$1(unit))
        return;
      throw A.wrapException(A.SassScriptException$0("Expected " + this.toString$0(0) + ' to have unit "' + unit + '".', $name));
    },
    assertNoUnits$1($name) {
      if (!this.get$hasUnits())
        return;
      throw A.wrapException(A.SassScriptException$0("Expected " + this.toString$0(0) + " to have no units.", $name));
    },
    assertNoUnits$0() {
      return this.assertNoUnits$1(null);
    },
    convertToMatch$3(other, $name, otherName) {
      var t1 = this.convertValueToMatch$3(other, $name, otherName),
        t2 = other.get$numeratorUnits(other);
      return A.SassNumber_SassNumber$withUnits0(t1, other.get$denominatorUnits(other), t2);
    },
    convertValueToMatch$3(other, $name, otherName) {
      return this._number1$_coerceOrConvertValue$6$coerceUnitless$name$other$otherName(other.get$numeratorUnits(other), other.get$denominatorUnits(other), false, $name, other, otherName);
    },
    convertValueToMatch$1(other) {
      return this.convertValueToMatch$3(other, null, null);
    },
    coerce$3(newNumerators, newDenominators, $name) {
      return A.SassNumber_SassNumber$withUnits0(this.coerceValue$3(newNumerators, newDenominators, $name), newDenominators, newNumerators);
    },
    coerce$2(newNumerators, newDenominators) {
      return this.coerce$3(newNumerators, newDenominators, null);
    },
    coerceValue$3(newNumerators, newDenominators, $name) {
      return this._number1$_coerceOrConvertValue$4$coerceUnitless$name(newNumerators, newDenominators, true, $name);
    },
    coerceValueToUnit$2(unit, $name) {
      var t1 = type$.JSArray_String;
      return this.coerceValue$3(A._setArrayType([unit], t1), A._setArrayType([], t1), $name);
    },
    coerceValueToUnit$1(unit) {
      return this.coerceValueToUnit$2(unit, null);
    },
    coerceToMatch$3(other, $name, otherName) {
      var t1 = this.coerceValueToMatch$3(other, $name, otherName),
        t2 = other.get$numeratorUnits(other);
      return A.SassNumber_SassNumber$withUnits0(t1, other.get$denominatorUnits(other), t2);
    },
    coerceValueToMatch$3(other, $name, otherName) {
      return this._number1$_coerceOrConvertValue$6$coerceUnitless$name$other$otherName(other.get$numeratorUnits(other), other.get$denominatorUnits(other), true, $name, other, otherName);
    },
    coerceValueToMatch$1(other) {
      return this.coerceValueToMatch$3(other, null, null);
    },
    _number1$_coerceOrConvertValue$6$coerceUnitless$name$other$otherName(newNumerators, newDenominators, coerceUnitless, $name, other, otherName) {
      var t1, otherHasUnits, t2, compatibilityException, oldNumerators, oldDenominators, _this = this, _box_0 = {};
      if (B.C_ListEquality.equals$2(0, _this.get$numeratorUnits(_this), newNumerators) && B.C_ListEquality.equals$2(0, _this.get$denominatorUnits(_this), newDenominators))
        return _this._number1$_value;
      t1 = J.getInterceptor$asx(newNumerators);
      otherHasUnits = t1.get$isNotEmpty(newNumerators) || J.get$isNotEmpty$asx(newDenominators);
      if (coerceUnitless)
        t2 = !_this.get$hasUnits() || !otherHasUnits;
      else
        t2 = false;
      if (t2)
        return _this._number1$_value;
      compatibilityException = new A.SassNumber__coerceOrConvertValue_compatibilityException0(_this, other, otherName, otherHasUnits, $name, newNumerators, newDenominators);
      _box_0.value = _this._number1$_value;
      t2 = _this.get$numeratorUnits(_this);
      oldNumerators = A._setArrayType(t2.slice(0), A._arrayInstanceType(t2));
      for (t1 = t1.get$iterator(newNumerators); t1.moveNext$0();)
        A.removeFirstWhere0(oldNumerators, new A.SassNumber__coerceOrConvertValue_closure3(_box_0, t1.get$current(t1)), new A.SassNumber__coerceOrConvertValue_closure4(compatibilityException));
      t1 = _this.get$denominatorUnits(_this);
      oldDenominators = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
      for (t1 = J.get$iterator$ax(newDenominators); t1.moveNext$0();)
        A.removeFirstWhere0(oldDenominators, new A.SassNumber__coerceOrConvertValue_closure5(_box_0, t1.get$current(t1)), new A.SassNumber__coerceOrConvertValue_closure6(compatibilityException));
      if (oldNumerators.length !== 0 || oldDenominators.length !== 0)
        throw A.wrapException(compatibilityException.call$0());
      return _box_0.value;
    },
    _number1$_coerceOrConvertValue$4$coerceUnitless$name(newNumerators, newDenominators, coerceUnitless, $name) {
      return this._number1$_coerceOrConvertValue$6$coerceUnitless$name$other$otherName(newNumerators, newDenominators, coerceUnitless, $name, null, null);
    },
    isComparableTo$1(other) {
      var exception;
      if (!this.get$hasUnits() || !other.get$hasUnits())
        return true;
      try {
        this.greaterThan$1(other);
        return true;
      } catch (exception) {
        if (A.unwrapException(exception) instanceof A.SassScriptException0)
          return false;
        else
          throw exception;
      }
    },
    greaterThan$1(other) {
      if (other instanceof A.SassNumber0)
        return this._number1$_coerceUnits$2(other, A.number2__fuzzyGreaterThan$closure()) ? B.SassBoolean_true0 : B.SassBoolean_false0;
      throw A.wrapException(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " > " + other.toString$0(0) + '".', null));
    },
    greaterThanOrEquals$1(other) {
      if (other instanceof A.SassNumber0)
        return this._number1$_coerceUnits$2(other, A.number2__fuzzyGreaterThanOrEquals$closure()) ? B.SassBoolean_true0 : B.SassBoolean_false0;
      throw A.wrapException(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " >= " + other.toString$0(0) + '".', null));
    },
    lessThan$1(other) {
      if (other instanceof A.SassNumber0)
        return this._number1$_coerceUnits$2(other, A.number2__fuzzyLessThan$closure()) ? B.SassBoolean_true0 : B.SassBoolean_false0;
      throw A.wrapException(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " < " + other.toString$0(0) + '".', null));
    },
    lessThanOrEquals$1(other) {
      if (other instanceof A.SassNumber0)
        return this._number1$_coerceUnits$2(other, A.number2__fuzzyLessThanOrEquals$closure()) ? B.SassBoolean_true0 : B.SassBoolean_false0;
      throw A.wrapException(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " <= " + other.toString$0(0) + '".', null));
    },
    modulo$1(other) {
      if (other instanceof A.SassNumber0)
        return this.withValue$1(this._number1$_coerceUnits$2(other, A.number2__moduloLikeSass$closure()));
      throw A.wrapException(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " % " + other.toString$0(0) + '".', null));
    },
    plus$1(other) {
      var _this = this;
      if (other instanceof A.SassNumber0)
        return _this.withValue$1(_this._number1$_coerceUnits$2(other, new A.SassNumber_plus_closure0()));
      if (!(other instanceof A.SassColor0))
        return _this.super$Value$plus0(other);
      throw A.wrapException(A.SassScriptException$0('Undefined operation "' + _this.toString$0(0) + " + " + other.toString$0(0) + '".', null));
    },
    minus$1(other) {
      var _this = this;
      if (other instanceof A.SassNumber0)
        return _this.withValue$1(_this._number1$_coerceUnits$2(other, new A.SassNumber_minus_closure0()));
      if (!(other instanceof A.SassColor0))
        return _this.super$Value$minus0(other);
      throw A.wrapException(A.SassScriptException$0('Undefined operation "' + _this.toString$0(0) + " - " + other.toString$0(0) + '".', null));
    },
    times$1(other) {
      var _this = this;
      if (other instanceof A.SassNumber0) {
        if (!other.get$hasUnits())
          return _this.withValue$1(_this._number1$_value * other._number1$_value);
        return _this.multiplyUnits$3(_this._number1$_value * other._number1$_value, other.get$numeratorUnits(other), other.get$denominatorUnits(other));
      }
      throw A.wrapException(A.SassScriptException$0('Undefined operation "' + _this.toString$0(0) + " * " + other.toString$0(0) + '".', null));
    },
    dividedBy$1(other) {
      var _this = this;
      if (other instanceof A.SassNumber0) {
        if (!other.get$hasUnits())
          return _this.withValue$1(_this._number1$_value / other._number1$_value);
        return _this.multiplyUnits$3(_this._number1$_value / other._number1$_value, other.get$denominatorUnits(other), other.get$numeratorUnits(other));
      }
      return _this.super$Value$dividedBy0(other);
    },
    unaryPlus$0() {
      return this;
    },
    _number1$_coerceUnits$1$2(other, operation) {
      var t1, exception;
      try {
        t1 = operation.call$2(this._number1$_value, other.coerceValueToMatch$1(this));
        return t1;
      } catch (exception) {
        if (A.unwrapException(exception) instanceof A.SassScriptException0) {
          this.coerceValueToMatch$1(other);
          throw exception;
        } else
          throw exception;
      }
    },
    _number1$_coerceUnits$2(other, operation) {
      return this._number1$_coerceUnits$1$2(other, operation, type$.dynamic);
    },
    multiplyUnits$3(value, otherNumerators, otherDenominators) {
      var t1, _0_1, _0_2, _0_3, _0_6, _0_7_isSet, _0_7, _0_9, t2, _0_9_isSet, denominators_case_0, _0_11_isSet, _0_11, _0_13_isSet, _0_10, _0_13, numerators_case_0, t4, t3, numerators_case_1, denominators_case_1, t0, newNumerators, mutableOtherDenominators, _i, numerator, mutableDenominatorUnits, _this = this, _null = null, _box_0 = {};
      _box_0.value = value;
      t1 = [_this.get$numeratorUnits(_this), _this.get$denominatorUnits(_this), otherNumerators, otherDenominators];
      _0_1 = t1[0];
      _0_2 = t1[1];
      _0_3 = t1[2];
      _0_6 = _0_3.length <= 0;
      _0_7_isSet = _0_6;
      if (_0_7_isSet) {
        _0_7 = t1[3];
        _0_9 = _0_7.length <= 0;
        t2 = _0_9;
      } else {
        _0_7 = _null;
        _0_9 = _0_7;
        t2 = false;
      }
      _0_9_isSet = _0_7_isSet;
      denominators_case_0 = _0_2;
      _0_11_isSet = !t2;
      if (_0_11_isSet) {
        _0_11 = _0_1.length <= 0;
        _0_13_isSet = _0_11;
        _0_10 = _0_1;
        if (_0_13_isSet) {
          _0_13 = _0_2.length <= 0;
          t2 = _0_13;
          if (t2) {
            if (_0_7_isSet)
              denominators_case_0 = _0_7;
            else {
              _0_7 = t1[3];
              denominators_case_0 = _0_7;
              _0_7_isSet = true;
            }
            numerators_case_0 = _0_3;
          } else
            numerators_case_0 = _0_1;
        } else {
          numerators_case_0 = _0_1;
          _0_13 = _null;
          t2 = false;
        }
        _0_1 = _0_10;
      } else {
        numerators_case_0 = _0_1;
        _0_13 = _null;
        _0_11 = _0_13;
        _0_13_isSet = false;
        t2 = true;
      }
      if (t2) {
        t4 = denominators_case_0;
        t3 = numerators_case_0;
      } else {
        t4 = _null;
        t3 = t4;
      }
      if (!t2) {
        if (_0_11_isSet)
          t2 = _0_11;
        else {
          _0_11 = _0_1.length <= 0;
          t2 = _0_11;
        }
        if (t2) {
          if (_0_9_isSet)
            t2 = _0_9;
          else {
            if (_0_7_isSet)
              t2 = _0_7;
            else {
              _0_7 = t1[3];
              t2 = _0_7;
              _0_7_isSet = true;
            }
            _0_9 = t2.length <= 0;
            t2 = _0_9;
          }
          numerators_case_1 = _0_3;
          denominators_case_1 = _0_2;
        } else {
          numerators_case_1 = _null;
          denominators_case_1 = numerators_case_1;
          t2 = false;
        }
        if (!t2) {
          if (_0_13_isSet)
            t2 = _0_13;
          else {
            _0_13 = _0_2.length <= 0;
            t2 = _0_13;
          }
          if (t2) {
            if (_0_6)
              denominators_case_1 = _0_7_isSet ? _0_7 : t1[3];
            t1 = _0_6;
          } else
            t1 = false;
          numerators_case_1 = _0_1;
        } else
          t1 = true;
        if (t1) {
          t1 = !_this._number1$_areAnyConvertible$2(numerators_case_1, denominators_case_1);
          if (t1) {
            t3 = denominators_case_1;
            t2 = numerators_case_1;
          } else {
            t2 = t3;
            t3 = t4;
          }
          t0 = t3;
          t3 = t1;
          t1 = t2;
          t2 = t0;
        } else {
          t2 = t4;
          t1 = t3;
          t3 = false;
        }
      } else {
        t2 = t4;
        t1 = t3;
        t3 = true;
      }
      if (t3)
        return A.SassNumber_SassNumber$withUnits0(value, t2, t1);
      newNumerators = A._setArrayType([], type$.JSArray_String);
      mutableOtherDenominators = A._setArrayType(otherDenominators.slice(0), A._arrayInstanceType(otherDenominators));
      for (t1 = _this.get$numeratorUnits(_this), t2 = t1.length, _i = 0; _i < t2; ++_i) {
        numerator = t1[_i];
        A.removeFirstWhere0(mutableOtherDenominators, new A.SassNumber_multiplyUnits_closure3(_box_0, numerator), new A.SassNumber_multiplyUnits_closure4(newNumerators, numerator));
      }
      t1 = _this.get$denominatorUnits(_this);
      mutableDenominatorUnits = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
      for (t1 = otherNumerators.length, _i = 0; _i < t1; ++_i) {
        numerator = otherNumerators[_i];
        A.removeFirstWhere0(mutableDenominatorUnits, new A.SassNumber_multiplyUnits_closure5(_box_0, numerator), new A.SassNumber_multiplyUnits_closure6(newNumerators, numerator));
      }
      t1 = _box_0.value;
      B.JSArray_methods.addAll$1(mutableDenominatorUnits, mutableOtherDenominators);
      return A.SassNumber_SassNumber$withUnits0(t1, mutableDenominatorUnits, newNumerators);
    },
    _number1$_areAnyConvertible$2(units1, units2) {
      return B.JSArray_methods.any$1(units1, new A.SassNumber__areAnyConvertible_closure0(units2));
    },
    _number1$_unitString$2(numerators, denominators) {
      var _0_4, _0_6, t1, _0_7, _0_5, _null = null;
      $label0$0: {
        _0_4 = J.get$length$asx(numerators) <= 0;
        if (_0_4) {
          _0_6 = J.get$length$asx(denominators);
          t1 = _0_6;
          _0_7 = t1 <= 0;
          t1 = _0_7;
          _0_5 = denominators;
        } else {
          _0_5 = _null;
          _0_6 = _0_5;
          _0_7 = _0_6;
          t1 = false;
        }
        if (t1) {
          t1 = "no units";
          break $label0$0;
        }
        if (_0_4)
          t1 = _0_6 === 1;
        else
          t1 = false;
        if (t1) {
          t1 = J.$index$asx(_0_4 ? _0_5 : denominators, 0) + "^-1";
          break $label0$0;
        }
        if (_0_4) {
          t1 = "(" + J.join$1$ax(denominators, "*") + ")^-1";
          break $label0$0;
        }
        _0_6 = J.get$length$asx(denominators);
        t1 = _0_6;
        _0_7 = t1 <= 0;
        t1 = _0_7;
        if (t1) {
          t1 = J.join$1$ax(numerators, "*");
          break $label0$0;
        }
        t1 = J.join$1$ax(numerators, "*") + "/" + J.join$1$ax(denominators, "*");
        break $label0$0;
      }
      return t1;
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (!(other instanceof A.SassNumber0))
        return false;
      if (_this.get$numeratorUnits(_this).length !== other.get$numeratorUnits(other).length || _this.get$denominatorUnits(_this).length !== other.get$denominatorUnits(other).length)
        return false;
      if (!_this.get$hasUnits())
        return A.fuzzyEquals0(_this._number1$_value, other._number1$_value);
      if (!B.C_ListEquality.equals$2(0, _this._number1$_canonicalizeUnitList$1(_this.get$numeratorUnits(_this)), _this._number1$_canonicalizeUnitList$1(other.get$numeratorUnits(other))) || !B.C_ListEquality.equals$2(0, _this._number1$_canonicalizeUnitList$1(_this.get$denominatorUnits(_this)), _this._number1$_canonicalizeUnitList$1(other.get$denominatorUnits(other))))
        return false;
      return A.fuzzyEquals0(_this._number1$_value * _this._number1$_canonicalMultiplier$1(_this.get$numeratorUnits(_this)) / _this._number1$_canonicalMultiplier$1(_this.get$denominatorUnits(_this)), other._number1$_value * _this._number1$_canonicalMultiplier$1(other.get$numeratorUnits(other)) / _this._number1$_canonicalMultiplier$1(other.get$denominatorUnits(other)));
    },
    get$hashCode(_) {
      var _this = this,
        t1 = _this.hashCache;
      return t1 == null ? _this.hashCache = A.fuzzyHashCode0(_this._number1$_value * _this._number1$_canonicalMultiplier$1(_this.get$numeratorUnits(_this)) / _this._number1$_canonicalMultiplier$1(_this.get$denominatorUnits(_this))) : t1;
    },
    _number1$_canonicalizeUnitList$1(units) {
      var type,
        t1 = units.length;
      if (t1 === 0)
        return units;
      if (t1 === 1) {
        type = $.$get$_typesByUnit0().$index(0, B.JSArray_methods.get$first(units));
        if (type == null)
          t1 = units;
        else {
          t1 = B.Map_397RH.$index(0, type);
          t1.toString;
          t1 = A._setArrayType([B.JSArray_methods.get$first(t1)], type$.JSArray_String);
        }
        return t1;
      }
      t1 = A._arrayInstanceType(units)._eval$1("MappedListIterable<1,String>");
      t1 = A.List_List$of(new A.MappedListIterable(units, new A.SassNumber__canonicalizeUnitList_closure0(), t1), true, t1._eval$1("ListIterable.E"));
      B.JSArray_methods.sort$0(t1);
      return t1;
    },
    _number1$_canonicalMultiplier$1(units) {
      return B.JSArray_methods.fold$2(units, 1, new A.SassNumber__canonicalMultiplier_closure0(this));
    },
    canonicalMultiplierForUnit$1(unit) {
      var t1,
        innerMap = B.Map_gQqJO.$index(0, unit);
      if (innerMap == null)
        t1 = 1;
      else {
        t1 = innerMap.get$values(innerMap);
        t1 = 1 / t1.get$first(t1);
      }
      return t1;
    },
    unitSuggestion$2($name, unit) {
      var t2, t3, result, _this = this,
        t1 = _this.get$denominatorUnits(_this);
      t1 = new A.MappedListIterable(t1, new A.SassNumber_unitSuggestion_closure1(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$0(0);
      t2 = _this.get$numeratorUnits(_this);
      t2 = new A.MappedListIterable(t2, new A.SassNumber_unitSuggestion_closure2(), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,String>")).join$0(0);
      t3 = unit == null ? "" : " * 1" + unit;
      result = "$" + $name + t1 + t2 + t3;
      return _this.get$numeratorUnits(_this).length === 0 ? result : "calc(" + result + ")";
    },
    unitSuggestion$1($name) {
      return this.unitSuggestion$2($name, null);
    }
  };
  A.SassNumber__coerceOrConvertValue_compatibilityException0.prototype = {
    call$0() {
      var t2, t3, message, t4, type, unit, _this = this,
        t1 = _this.other;
      if (t1 != null) {
        t2 = _this.$this;
        t3 = t2.toString$0(0) + " and";
        message = new A.StringBuffer(t3);
        t4 = _this.otherName;
        if (t4 != null)
          t3 = message._contents = t3 + (" $" + t4 + ":");
        t1 = t3 + (" " + t1.toString$0(0) + " have incompatible units");
        message._contents = t1;
        if (!t2.get$hasUnits() || !_this.otherHasUnits)
          message._contents = t1 + " (one has units and the other doesn't)";
        t1 = message.toString$0(0) + ".";
        t2 = _this.name;
        return new A.SassScriptException0(t2 == null ? t1 : "$" + t2 + ": " + t1);
      } else if (!_this.otherHasUnits) {
        t1 = "Expected " + _this.$this.toString$0(0) + " to have no units.";
        t2 = _this.name;
        return new A.SassScriptException0(t2 == null ? t1 : "$" + t2 + ": " + t1);
      } else {
        t1 = _this.newNumerators;
        t2 = J.getInterceptor$asx(t1);
        if (t2.get$length(t1) === 1 && J.get$isEmpty$asx(_this.newDenominators)) {
          type = $.$get$_typesByUnit0().$index(0, t2.get$first(t1));
          if (type != null) {
            t1 = _this.$this.toString$0(0);
            t2 = B.JSArray_methods.contains$1(A._setArrayType([97, 101, 105, 111, 117], type$.JSArray_int), type.charCodeAt(0)) ? "an " + type : "a " + type;
            t3 = B.Map_397RH.$index(0, type);
            t3.toString;
            t3 = "Expected " + t1 + " to have " + t2 + " unit (" + B.JSArray_methods.join$1(t3, ", ") + ").";
            t2 = _this.name;
            return new A.SassScriptException0(t2 == null ? t3 : "$" + t2 + ": " + t3);
          }
        }
        t3 = _this.newDenominators;
        unit = A.pluralize0("unit", t2.get$length(t1) + J.get$length$asx(t3), null);
        t2 = _this.$this;
        t3 = "Expected " + t2.toString$0(0) + " to have " + unit + " " + t2._number1$_unitString$2(t1, t3) + ".";
        t1 = _this.name;
        return new A.SassScriptException0(t1 == null ? t3 : "$" + t1 + ": " + t3);
      }
    },
    $signature: 524
  };
  A.SassNumber__coerceOrConvertValue_closure3.prototype = {
    call$1(oldNumerator) {
      var factor = A.conversionFactor0(this.newNumerator, oldNumerator);
      if (factor == null)
        return false;
      this._box_0.value *= factor;
      return true;
    },
    $signature: 4
  };
  A.SassNumber__coerceOrConvertValue_closure4.prototype = {
    call$0() {
      return A.throwExpression(this.compatibilityException.call$0());
    },
    $signature: 0
  };
  A.SassNumber__coerceOrConvertValue_closure5.prototype = {
    call$1(oldDenominator) {
      var factor = A.conversionFactor0(this.newDenominator, oldDenominator);
      if (factor == null)
        return false;
      this._box_0.value /= factor;
      return true;
    },
    $signature: 4
  };
  A.SassNumber__coerceOrConvertValue_closure6.prototype = {
    call$0() {
      return A.throwExpression(this.compatibilityException.call$0());
    },
    $signature: 0
  };
  A.SassNumber_plus_closure0.prototype = {
    call$2(num1, num2) {
      return num1 + num2;
    },
    $signature: 56
  };
  A.SassNumber_minus_closure0.prototype = {
    call$2(num1, num2) {
      return num1 - num2;
    },
    $signature: 56
  };
  A.SassNumber_multiplyUnits_closure3.prototype = {
    call$1(denominator) {
      var factor = A.conversionFactor0(this.numerator, denominator);
      if (factor == null)
        return false;
      this._box_0.value /= factor;
      return true;
    },
    $signature: 4
  };
  A.SassNumber_multiplyUnits_closure4.prototype = {
    call$0() {
      return this.newNumerators.push(this.numerator);
    },
    $signature: 0
  };
  A.SassNumber_multiplyUnits_closure5.prototype = {
    call$1(denominator) {
      var factor = A.conversionFactor0(this.numerator, denominator);
      if (factor == null)
        return false;
      this._box_0.value /= factor;
      return true;
    },
    $signature: 4
  };
  A.SassNumber_multiplyUnits_closure6.prototype = {
    call$0() {
      return this.newNumerators.push(this.numerator);
    },
    $signature: 0
  };
  A.SassNumber__areAnyConvertible_closure0.prototype = {
    call$1(unit1) {
      var t1,
        _0_0 = B.Map_gQqJO.$index(0, unit1);
      $label0$0: {
        if (_0_0 != null) {
          t1 = B.JSArray_methods.any$1(this.units2, _0_0.get$containsKey());
          break $label0$0;
        }
        t1 = B.JSArray_methods.contains$1(this.units2, unit1);
        break $label0$0;
      }
      return t1;
    },
    $signature: 4
  };
  A.SassNumber__canonicalizeUnitList_closure0.prototype = {
    call$1(unit) {
      var t1,
        type = $.$get$_typesByUnit0().$index(0, unit);
      if (type == null)
        t1 = unit;
      else {
        t1 = B.Map_397RH.$index(0, type);
        t1.toString;
        t1 = B.JSArray_methods.get$first(t1);
      }
      return t1;
    },
    $signature: 5
  };
  A.SassNumber__canonicalMultiplier_closure0.prototype = {
    call$2(multiplier, unit) {
      return multiplier * this.$this.canonicalMultiplierForUnit$1(unit);
    },
    $signature: 160
  };
  A.SassNumber_unitSuggestion_closure1.prototype = {
    call$1(unit) {
      return " * 1" + unit;
    },
    $signature: 5
  };
  A.SassNumber_unitSuggestion_closure2.prototype = {
    call$1(unit) {
      return " / 1" + unit;
    },
    $signature: 5
  };
  A.SupportsOperation0.prototype = {
    toString$0(_) {
      var _this = this;
      return _this._operation0$_parenthesize$1(_this.left) + " " + _this.operator + " " + _this._operation0$_parenthesize$1(_this.right);
    },
    _operation0$_parenthesize$1(condition) {
      var t1;
      if (!(condition instanceof A.SupportsNegation0))
        t1 = condition instanceof A.SupportsOperation0 && condition.operator === this.operator;
      else
        t1 = true;
      return t1 ? "(" + condition.toString$0(0) + ")" : condition.toString$0(0);
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ParentSelector0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitParentSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    unify$1(compound) {
      return A.throwExpression(A.UnsupportedError$("& doesn't support unification."));
    }
  };
  A.ParentStatement0.prototype = {$isAstNode0: 1, $isStatement0: 1};
  A.ParentStatement_closure0.prototype = {
    call$1(child) {
      var t1;
      $label0$0: {
        if (child instanceof A.VariableDeclaration0 || child instanceof A.FunctionRule0 || child instanceof A.MixinRule0) {
          t1 = true;
          break $label0$0;
        }
        if (child instanceof A.ImportRule0) {
          t1 = B.JSArray_methods.any$1(child.imports, new A.ParentStatement__closure0());
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    $signature: 247
  };
  A.ParentStatement__closure0.prototype = {
    call$1($import) {
      return $import instanceof A.DynamicImport0;
    },
    $signature: 245
  };
  A.ParenthesizedExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitParenthesizedExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "(" + this.expression.toString$0(0) + ")";
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.Parser1.prototype = {
    _parser0$_parseIdentifier$0() {
      return this.wrapSpanFormatException$1(new A.Parser__parseIdentifier_closure0(this));
    },
    whitespace$0() {
      do
        this.whitespaceWithoutComments$0();
      while (this.scanComment$0());
    },
    whitespaceWithoutComments$0() {
      var t3,
        t1 = this.scanner,
        t2 = t1.string.length;
      while (true) {
        if (t1._string_scanner$_position !== t2) {
          t3 = t1.peekChar$0();
          t3 = t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12;
        } else
          t3 = false;
        if (!t3)
          break;
        t1.readChar$0();
      }
    },
    spaces$0() {
      var t3,
        t1 = this.scanner,
        t2 = t1.string.length;
      while (true) {
        if (t1._string_scanner$_position !== t2) {
          t3 = t1.peekChar$0();
          t3 = t3 === 32 || t3 === 9;
        } else
          t3 = false;
        if (!t3)
          break;
        t1.readChar$0();
      }
    },
    scanComment$0() {
      var _0_0,
        t1 = this.scanner;
      if (t1.peekChar$0() !== 47)
        return false;
      _0_0 = t1.peekChar$1(1);
      if (47 === _0_0)
        return this.silentComment$0();
      if (42 === _0_0) {
        this.loudComment$0();
        return true;
      }
      return false;
    },
    expectWhitespace$0() {
      var t2, t3,
        t1 = this.scanner;
      if (t1._string_scanner$_position !== t1.string.length) {
        t2 = t1.peekChar$0();
        t3 = !(t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12 || this.scanComment$0());
        t2 = t3;
      } else
        t2 = true;
      if (t2)
        t1.error$1(0, "Expected whitespace.");
      this.whitespace$0();
    },
    silentComment$0() {
      var t2, t3,
        t1 = this.scanner;
      t1.expect$1("//");
      t2 = t1.string.length;
      while (true) {
        if (t1._string_scanner$_position !== t2) {
          t3 = t1.peekChar$0();
          t3 = !(t3 === 10 || t3 === 13 || t3 === 12);
        } else
          t3 = false;
        if (!t3)
          break;
        t1.readChar$0();
      }
      return true;
    },
    loudComment$0() {
      var next,
        t1 = this.scanner;
      t1.expect$1("/*");
      for (; true;) {
        if (t1.readChar$0() !== 42)
          continue;
        do
          next = t1.readChar$0();
        while (next === 42);
        if (next === 47)
          break;
      }
    },
    identifier$2$normalize$unit(normalize, unit) {
      var t2, _0_0, _this = this,
        _s20_ = "Expected identifier.",
        text = new A.StringBuffer(""),
        t1 = _this.scanner;
      if (t1.scanChar$1(45)) {
        t2 = text._contents = "" + A.Primitives_stringFromCharCode(45);
        if (t1.scanChar$1(45)) {
          text._contents = t2 + A.Primitives_stringFromCharCode(45);
          _this._parser0$_identifierBody$3$normalize$unit(text, normalize, unit);
          t1 = text._contents;
          return t1.charCodeAt(0) == 0 ? t1 : t1;
        }
      } else
        t2 = "";
      $label0$0: {
        _0_0 = t1.peekChar$0();
        if (_0_0 == null)
          t1.error$1(0, _s20_);
        if (95 === _0_0 && normalize) {
          t1.readChar$0();
          text._contents = t2 + A.Primitives_stringFromCharCode(45);
          break $label0$0;
        }
        if (_0_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_0_0) || _0_0 >= 128) {
          text._contents = t2 + A.Primitives_stringFromCharCode(t1.readChar$0());
          break $label0$0;
        }
        if (92 === _0_0) {
          text._contents = t2 + _this.escape$1$identifierStart(true);
          break $label0$0;
        }
        t1.error$1(0, _s20_);
      }
      _this._parser0$_identifierBody$3$normalize$unit(text, normalize, unit);
      t1 = text._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    identifier$0() {
      return this.identifier$2$normalize$unit(false, false);
    },
    identifier$1$normalize(normalize) {
      return this.identifier$2$normalize$unit(normalize, false);
    },
    identifier$1$unit(unit) {
      return this.identifier$2$normalize$unit(false, unit);
    },
    _parser0$_identifierBody$3$normalize$unit(text, normalize, unit) {
      var t1, _1_0, _0_0, t2;
      for (t1 = this.scanner; true;) {
        _1_0 = t1.peekChar$0();
        if (_1_0 == null)
          break;
        if (45 === _1_0 && unit) {
          _0_0 = t1.peekChar$1(1);
          if (46 !== _0_0)
            t2 = A._isInt(_0_0) && _0_0 >= 48 && _0_0 <= 57;
          else
            t2 = true;
          if (t2)
            break;
          t2 = A.Primitives_stringFromCharCode(t1.readChar$0());
          text._contents += t2;
          continue;
        }
        if (95 === _1_0 && normalize) {
          t1.readChar$0();
          t2 = A.Primitives_stringFromCharCode(45);
          text._contents += t2;
          continue;
        }
        if (_1_0 !== 95) {
          if (!(_1_0 >= 97 && _1_0 <= 122))
            t2 = _1_0 >= 65 && _1_0 <= 90;
          else
            t2 = true;
          t2 = t2 || _1_0 >= 128;
        } else
          t2 = true;
        if (!t2)
          t2 = _1_0 >= 48 && _1_0 <= 57 || _1_0 === 45;
        else
          t2 = true;
        if (t2) {
          t2 = A.Primitives_stringFromCharCode(t1.readChar$0());
          text._contents += t2;
          continue;
        }
        if (92 === _1_0) {
          t2 = this.escape$0();
          text._contents += t2;
          continue;
        }
        break;
      }
    },
    _parser0$_identifierBody$1(text) {
      return this._parser0$_identifierBody$3$normalize$unit(text, false, false);
    },
    string$0() {
      var buffer, _0_0, t2,
        t1 = this.scanner,
        quote = t1.readChar$0();
      if (quote !== 39 && quote !== 34)
        t1.error$2$position(0, "Expected string.", t1._string_scanner$_position - 1);
      buffer = new A.StringBuffer("");
      for (; true;) {
        _0_0 = t1.peekChar$0();
        if (_0_0 === quote) {
          t1.readChar$0();
          break;
        }
        if (_0_0 == null || _0_0 === 10 || _0_0 === 13 || _0_0 === 12)
          t1.error$1(0, "Expected " + A.Primitives_stringFromCharCode(quote) + ".");
        if (92 === _0_0) {
          t2 = t1.peekChar$1(1);
          if (t2 === 10 || t2 === 13 || t2 === 12) {
            t1.readChar$0();
            t1.readChar$0();
          } else {
            t2 = A.Primitives_stringFromCharCode(A.consumeEscapedCharacter0(t1));
            buffer._contents += t2;
          }
          continue;
        }
        t2 = A.Primitives_stringFromCharCode(t1.readChar$0());
        buffer._contents += t2;
      }
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    declarationValue$1$allowEmpty(allowEmpty) {
      var t1, t2, wroteNewline, next, t3, start, end, _0_0, _this = this,
        buffer = new A.StringBuffer(""),
        brackets = A._setArrayType([], type$.JSArray_int);
      for (t1 = _this.scanner, t2 = _this.get$string(), wroteNewline = false; true;) {
        next = t1.peekChar$0();
        if (next == null)
          break;
        if (92 === next) {
          t3 = _this.escape$1$identifierStart(true);
          buffer._contents += t3;
          wroteNewline = false;
          continue;
        }
        if (34 === next || 39 === next) {
          start = t1._string_scanner$_position;
          t2.call$0();
          end = t1._string_scanner$_position;
          buffer._contents += B.JSString_methods.substring$2(t1.string, start, end);
          wroteNewline = false;
          continue;
        }
        if (47 === next) {
          if (t1.peekChar$1(1) === 42) {
            t3 = _this.get$loudComment();
            start = t1._string_scanner$_position;
            t3.call$0();
            end = t1._string_scanner$_position;
            buffer._contents += B.JSString_methods.substring$2(t1.string, start, end);
          } else {
            t3 = A.Primitives_stringFromCharCode(t1.readChar$0());
            buffer._contents += t3;
          }
          wroteNewline = false;
          continue;
        }
        if (32 === next || 9 === next) {
          if (!wroteNewline) {
            t3 = t1.peekChar$1(1);
            t3 = !(t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12);
          } else
            t3 = true;
          if (t3) {
            t3 = A.Primitives_stringFromCharCode(32);
            buffer._contents += t3;
          }
          t1.readChar$0();
          continue;
        }
        if (10 === next || 13 === next || 12 === next) {
          t3 = t1.peekChar$1(-1);
          if (!(t3 === 10 || t3 === 13 || t3 === 12))
            buffer._contents += "\n";
          t1.readChar$0();
          wroteNewline = true;
          continue;
        }
        if (40 === next || 123 === next || 91 === next) {
          t3 = A.Primitives_stringFromCharCode(next);
          buffer._contents += t3;
          brackets.push(A.opposite0(t1.readChar$0()));
          wroteNewline = false;
          continue;
        }
        if (41 === next || 125 === next || 93 === next) {
          if (brackets.length === 0)
            break;
          t3 = A.Primitives_stringFromCharCode(next);
          buffer._contents += t3;
          t1.expectChar$1(brackets.pop());
          wroteNewline = false;
          continue;
        }
        if (59 === next) {
          if (brackets.length === 0)
            break;
          t3 = A.Primitives_stringFromCharCode(t1.readChar$0());
          buffer._contents += t3;
          continue;
        }
        if (117 === next || 85 === next) {
          _0_0 = _this.tryUrl$0();
          if (_0_0 != null)
            buffer._contents += _0_0;
          else {
            t3 = A.Primitives_stringFromCharCode(t1.readChar$0());
            buffer._contents += t3;
          }
          wroteNewline = false;
          continue;
        }
        if (_this.lookingAtIdentifier$0()) {
          t3 = _this.identifier$0();
          buffer._contents += t3;
        } else {
          t3 = A.Primitives_stringFromCharCode(t1.readChar$0());
          buffer._contents += t3;
        }
        wroteNewline = false;
      }
      if (brackets.length !== 0)
        t1.expectChar$1(B.JSArray_methods.get$last(brackets));
      if (!allowEmpty && buffer._contents.length === 0)
        t1.error$1(0, "Expected token.");
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    declarationValue$0() {
      return this.declarationValue$1$allowEmpty(false);
    },
    tryUrl$0() {
      var buffer, _0_0, t2, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      if (!_this.scanIdentifier$1("url"))
        return null;
      if (!t1.scanChar$1(40)) {
        t1.set$state(start);
        return null;
      }
      _this.whitespace$0();
      buffer = new A.StringBuffer("");
      buffer._contents = "" + "url(";
      for (; true;) {
        _0_0 = t1.peekChar$0();
        if (_0_0 == null)
          break;
        if (92 === _0_0) {
          t2 = _this.escape$0();
          buffer._contents += t2;
          continue;
        }
        if (37 !== _0_0)
          if (38 !== _0_0)
            if (35 !== _0_0)
              t2 = _0_0 >= 42 && _0_0 <= 126 || _0_0 >= 128;
            else
              t2 = true;
          else
            t2 = true;
        else
          t2 = true;
        if (t2) {
          t2 = A.Primitives_stringFromCharCode(t1.readChar$0());
          buffer._contents += t2;
          continue;
        }
        if (_0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12) {
          _this.whitespace$0();
          if (t1.peekChar$0() !== 41)
            break;
          continue;
        }
        if (41 === _0_0) {
          t2 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t2 = buffer._contents += t2;
          return t2.charCodeAt(0) == 0 ? t2 : t2;
        }
        break;
      }
      t1.set$state(start);
      return null;
    },
    variableName$0() {
      this.scanner.expectChar$1(36);
      return this.identifier$1$normalize(true);
    },
    escape$1$identifierStart(identifierStart) {
      var value, _0_0, i, next, t2, exception,
        _s25_ = "Expected escape sequence.",
        t1 = this.scanner,
        start = t1._string_scanner$_position;
      t1.expectChar$1(92);
      value = 0;
      $label0$1: {
        _0_0 = t1.peekChar$0();
        if (_0_0 == null)
          t1.error$1(0, _s25_);
        if (_0_0 === 10 || _0_0 === 13 || _0_0 === 12)
          t1.error$1(0, _s25_);
        if (A.CharacterExtension_get_isHex0(_0_0)) {
          for (i = 0; i < 6; ++i) {
            next = t1.peekChar$0();
            if (next != null) {
              if (!(next >= 48 && next <= 57))
                if (!(next >= 97 && next <= 102))
                  t2 = next >= 65 && next <= 70;
                else
                  t2 = true;
              else
                t2 = true;
              t2 = !t2;
            } else
              t2 = true;
            if (t2)
              break;
            value *= 16;
            value += A.asHex0(t1.readChar$0());
          }
          this.scanCharIf$1(new A.Parser_escape_closure0());
          break $label0$1;
        }
        value = t1.readChar$0();
      }
      if (identifierStart) {
        t2 = value;
        t2 = t2 === 95 || A.CharacterExtension_get_isAlphabetic0(t2) || t2 >= 128;
      } else {
        t2 = value;
        if (!(t2 === 95 || A.CharacterExtension_get_isAlphabetic0(t2) || t2 >= 128))
          t2 = t2 >= 48 && t2 <= 57 || t2 === 45;
        else
          t2 = true;
      }
      if (t2)
        try {
          t2 = A.Primitives_stringFromCharCode(value);
          return t2;
        } catch (exception) {
          if (type$.RangeError._is(A.unwrapException(exception)))
            t1.error$3$length$position(0, "Invalid Unicode code point.", t1._string_scanner$_position - start, start);
          else
            throw exception;
        }
      else {
        if (!(value <= 31))
          if (!J.$eq$(value, 127))
            if (identifierStart) {
              t1 = value;
              t1 = t1 >= 48 && t1 <= 57;
            } else
              t1 = false;
          else
            t1 = true;
        else
          t1 = true;
        if (t1) {
          t1 = "" + A.Primitives_stringFromCharCode(92);
          if (value > 15)
            t1 += A.Primitives_stringFromCharCode(A.hexCharFor0(B.JSNumber_methods._shrOtherPositive$1(value, 4)));
          t1 = t1 + A.Primitives_stringFromCharCode(A.hexCharFor0(value & 15)) + A.Primitives_stringFromCharCode(32);
          return t1.charCodeAt(0) == 0 ? t1 : t1;
        } else
          return A.String_String$fromCharCodes(A._setArrayType([92, value], type$.JSArray_int), 0, null);
      }
    },
    escape$0() {
      return this.escape$1$identifierStart(false);
    },
    scanCharIf$1(condition) {
      var t1 = this.scanner;
      if (!condition.call$1(t1.peekChar$0()))
        return false;
      t1.readChar$0();
      return true;
    },
    scanIdentChar$2$caseSensitive(char, caseSensitive) {
      var t3,
        t1 = new A.Parser_scanIdentChar_matches0(caseSensitive, char),
        t2 = this.scanner,
        _0_0 = t2.peekChar$0();
      if (_0_0 != null) {
        t3 = t1.call$1(_0_0);
        t3 = t3;
      } else
        t3 = false;
      if (t3) {
        t2.readChar$0();
        return true;
      }
      if (92 === _0_0) {
        t3 = t2._string_scanner$_position;
        if (t1.call$1(A.consumeEscapedCharacter0(t2)))
          return true;
        t2.set$state(new A._SpanScannerState(t2, t3));
      }
      return false;
    },
    scanIdentChar$1(char) {
      return this.scanIdentChar$2$caseSensitive(char, false);
    },
    expectIdentChar$1(letter) {
      var t1;
      if (this.scanIdentChar$2$caseSensitive(letter, false))
        return;
      t1 = this.scanner;
      t1.error$2$position(0, 'Expected "' + A.Primitives_stringFromCharCode(letter) + '".', t1._string_scanner$_position);
    },
    lookingAtIdentifier$1($forward) {
      var t1, _1_0, t2, _0_0;
      if ($forward == null)
        $forward = 0;
      t1 = this.scanner;
      _1_0 = t1.peekChar$1($forward);
      $label0$0: {
        if (A._isInt(_1_0))
          t2 = _1_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_1_0) || _1_0 >= 128;
        else
          t2 = false;
        if (t2 || 92 === _1_0) {
          t1 = true;
          break $label0$0;
        }
        if (45 === _1_0) {
          _0_0 = t1.peekChar$1($forward + 1);
          $label1$1: {
            if (A._isInt(_0_0))
              t1 = _0_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_0_0) || _0_0 >= 128;
            else
              t1 = false;
            t1 = t1 || 92 === _0_0 || 45 === _0_0;
            if (t1)
              break $label1$1;
            break $label1$1;
          }
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    lookingAtIdentifier$0() {
      return this.lookingAtIdentifier$1(null);
    },
    lookingAtIdentifierBody$0() {
      var t1,
        next = this.scanner.peekChar$0();
      if (next != null) {
        if (!(next === 95 || A.CharacterExtension_get_isAlphabetic0(next) || next >= 128))
          t1 = next >= 48 && next <= 57 || next === 45;
        else
          t1 = true;
        t1 = t1 || next === 92;
      } else
        t1 = false;
      return t1;
    },
    scanIdentifier$2$caseSensitive(text, caseSensitive) {
      var t1, t2, _this = this;
      if (!_this.lookingAtIdentifier$0())
        return false;
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      if (_this._parser0$_consumeIdentifier$2(text, caseSensitive) && !_this.lookingAtIdentifierBody$0())
        return true;
      else {
        t1.set$state(new A._SpanScannerState(t1, t2));
        return false;
      }
    },
    scanIdentifier$1(text) {
      return this.scanIdentifier$2$caseSensitive(text, false);
    },
    _parser0$_consumeIdentifier$2(text, caseSensitive) {
      var t1, t2, t3;
      for (t1 = new A.CodeUnits(text), t2 = type$.CodeUnits, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (!this.scanIdentChar$2$caseSensitive(t3 == null ? t2._as(t3) : t3, caseSensitive))
          return false;
      }
      return true;
    },
    expectIdentifier$2$name(text, $name) {
      var t1, start, t2, t3, t4, t5, t6;
      if ($name == null)
        $name = '"' + text + '"';
      t1 = this.scanner;
      start = t1._string_scanner$_position;
      for (t2 = new A.CodeUnits(text), t3 = type$.CodeUnits, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t4 = "Expected " + $name, t5 = t4 + ".", t3 = t3._eval$1("ListBase.E"); t2.moveNext$0();) {
        t6 = t2.__internal$_current;
        if (this.scanIdentChar$2$caseSensitive(t6 == null ? t3._as(t6) : t6, false))
          continue;
        t1.error$2$position(0, t5, start);
      }
      if (!this.lookingAtIdentifierBody$0())
        return;
      t1.error$2$position(0, t4, start);
    },
    expectIdentifier$1(text) {
      return this.expectIdentifier$2$name(text, null);
    },
    rawText$1(consumer) {
      var t1 = this.scanner,
        start = t1._string_scanner$_position;
      consumer.call$0();
      return t1.substring$1(0, start);
    },
    spanFrom$1(state) {
      var span = this.scanner.spanFrom$1(state);
      return this._parser0$_interpolationMap == null ? span : new A.LazyFileSpan0(new A.Parser_spanFrom_closure0(this, span));
    },
    error$3(_, message, span, trace) {
      var exception = new A.StringScannerException(this.scanner.string, message, span);
      if (trace == null)
        throw A.wrapException(exception);
      else
        A.throwWithTrace0(exception, this.get$error(this), trace);
    },
    error$2(_, message, span) {
      return this.error$3(0, message, span, null);
    },
    withErrorMessage$1$2(message, callback) {
      var error, stackTrace, t1, exception;
      try {
        t1 = callback.call$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.SourceSpanFormatException._is(t1)) {
          error = t1;
          stackTrace = A.getTraceFromException(exception);
          t1 = J.get$span$z(error);
          A.throwWithTrace0(new A.SourceSpanFormatException(error.get$source(), message, t1), error, stackTrace);
        } else
          throw exception;
      }
    },
    withErrorMessage$2(message, callback) {
      return this.withErrorMessage$1$2(message, callback, type$.dynamic);
    },
    wrapSpanFormatException$1$1(callback) {
      var error, stackTrace, map, error0, stackTrace0, span, error1, stackTrace1, span0, secondarySpans, t1, t2, span1, description, _0_0, t3, exception, t4, _this = this,
        _s8_ = "expected";
      try {
        try {
          t3 = callback.call$0();
          return t3;
        } catch (exception) {
          t3 = A.unwrapException(exception);
          if (type$.SourceSpanFormatException._is(t3)) {
            error = t3;
            stackTrace = A.getTraceFromException(exception);
            map = _this._parser0$_interpolationMap;
            if (map == null)
              throw exception;
            A.throwWithTrace0(map.mapException$1(error), error, stackTrace);
          } else
            throw exception;
        }
      } catch (exception) {
        t3 = A.unwrapException(exception);
        if (type$.SourceSpanFormatException._is(t3)) {
          error0 = t3;
          stackTrace0 = A.getTraceFromException(exception);
          span = J.get$span$z(error0);
          if (A.startsWithIgnoreCase0(error0._span_exception$_message, _s8_))
            span = _this._parser0$_adjustExceptionSpan$1(span);
          t1 = error0._span_exception$_message;
          t2 = span;
          A.throwWithTrace0(new A.SassFormatException0(B.Set_empty, t1, t2), error0, stackTrace0);
        } else if (type$.MultiSourceSpanFormatException._is(t3)) {
          error1 = t3;
          stackTrace1 = A.getTraceFromException(exception);
          span0 = J.get$span$z(error1);
          t3 = type$.FileSpan;
          t4 = type$.String;
          secondarySpans = error1.get$secondarySpans().cast$2$0(0, t3, t4);
          if (A.startsWithIgnoreCase0(error1._span_exception$_message, _s8_)) {
            span0 = _this._parser0$_adjustExceptionSpan$1(span0);
            t1 = A.LinkedHashMap_LinkedHashMap$_empty(t3, t4);
            for (t3 = A.MapExtensions_get_pairs0(secondarySpans, t3, t4), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
              t2 = t3.get$current(t3);
              span1 = null;
              description = null;
              _0_0 = t2;
              span1 = _0_0._0;
              description = _0_0._1;
              J.$indexSet$ax(t1, _this._parser0$_adjustExceptionSpan$1(span1), description);
            }
            secondarySpans = t1;
          }
          A.throwWithTrace0(A.MultiSpanSassFormatException$0(error1._span_exception$_message, span0, error1.get$primaryLabel(), secondarySpans, null), error1, stackTrace1);
        } else
          throw exception;
      }
    },
    wrapSpanFormatException$1(callback) {
      return this.wrapSpanFormatException$1$1(callback, type$.dynamic);
    },
    _parser0$_adjustExceptionSpan$1(span) {
      var start, t1;
      if (span.get$length(span) > 0)
        return span;
      start = this._parser0$_firstNewlineBefore$1(span.get$start(span));
      if (start.$eq(0, span.get$start(span)))
        t1 = span;
      else {
        t1 = start.offset;
        t1 = A._FileSpan$(start.file, t1, t1);
      }
      return t1;
    },
    _parser0$_firstNewlineBefore$1($location) {
      var lastNewline, codeUnit,
        t1 = $location.file,
        t2 = $location.offset,
        text = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1._decodedChars, 0, t2), 0, null),
        index = t2 - 1;
      for (lastNewline = null; index >= 0;) {
        codeUnit = text.charCodeAt(index);
        if (!(codeUnit === 32 || codeUnit === 9 || codeUnit === 10 || codeUnit === 13 || codeUnit === 12)) {
          if (lastNewline == null)
            t1 = $location;
          else {
            t2 = new A.FileLocation(t1, lastNewline);
            t2.FileLocation$_$2(t1, lastNewline);
            t1 = t2;
          }
          return t1;
        }
        if (codeUnit === 10 || codeUnit === 13 || codeUnit === 12)
          lastNewline = index;
        --index;
      }
      return $location;
    }
  };
  A.Parser__parseIdentifier_closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        result = t1.identifier$0();
      t1.scanner.expectDone$0();
      return result;
    },
    $signature: 26
  };
  A.Parser_escape_closure0.prototype = {
    call$1(char) {
      return char === 32 || char === 9 || char === 10 || char === 13 || char === 12;
    },
    $signature: 30
  };
  A.Parser_scanIdentChar_matches0.prototype = {
    call$1(actual) {
      var t1 = this.char;
      return this.caseSensitive ? actual === t1 : A.characterEqualsIgnoreCase0(t1, actual);
    },
    $signature: 45
  };
  A.Parser_spanFrom_closure0.prototype = {
    call$0() {
      return this.$this._parser0$_interpolationMap.mapSpan$1(this.span);
    },
    $signature: 27
  };
  A.PlaceholderSelector0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitPlaceholderSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    addSuffix$1(suffix) {
      return new A.PlaceholderSelector0(this.name + suffix, this.span);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.PlaceholderSelector0 && other.name === this.name;
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.name);
    }
  };
  A.PlainCssCallable0.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.PlainCssCallable0 && this.name === other.name;
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.name);
    },
    $isAsyncCallable0: 1,
    $isCallable: 1,
    get$name(receiver) {
      return this.name;
    }
  };
  A.PrefixedMapView0.prototype = {
    get$keys(_) {
      return new A._PrefixedKeys0(this);
    },
    get$length(_) {
      var t1 = this._prefixed_map_view0$_map;
      return t1.get$length(t1);
    },
    get$isEmpty(_) {
      var t1 = this._prefixed_map_view0$_map;
      return t1.get$isEmpty(t1);
    },
    get$isNotEmpty(_) {
      var t1 = this._prefixed_map_view0$_map;
      return t1.get$isNotEmpty(t1);
    },
    $index(_, key) {
      return typeof key == "string" && B.JSString_methods.startsWith$1(key, this._prefixed_map_view0$_prefix) ? this._prefixed_map_view0$_map.$index(0, J.substring$1$s(key, this._prefixed_map_view0$_prefix.length)) : null;
    },
    containsKey$1(key) {
      return typeof key == "string" && B.JSString_methods.startsWith$1(key, this._prefixed_map_view0$_prefix) && this._prefixed_map_view0$_map.containsKey$1(J.substring$1$s(key, this._prefixed_map_view0$_prefix.length));
    }
  };
  A._PrefixedKeys0.prototype = {
    get$length(_) {
      var t1 = this._prefixed_map_view0$_view._prefixed_map_view0$_map;
      return t1.get$length(t1);
    },
    get$iterator(_) {
      var t1 = this._prefixed_map_view0$_view._prefixed_map_view0$_map;
      t1 = J.map$1$1$ax(t1.get$keys(t1), new A._PrefixedKeys_iterator_closure0(this), type$.String);
      return t1.get$iterator(t1);
    },
    contains$1(_, key) {
      return this._prefixed_map_view0$_view.containsKey$1(key);
    }
  };
  A._PrefixedKeys_iterator_closure0.prototype = {
    call$1(key) {
      return this.$this._prefixed_map_view0$_view._prefixed_map_view0$_prefix + key;
    },
    $signature: 5
  };
  A.PseudoSelector0.prototype = {
    get$isHostContext() {
      return this.isClass && this.name === "host-context" && this.selector != null;
    },
    get$hasComplicatedSuperselectorSemantics() {
      return !this.isClass || this.selector != null;
    },
    get$specificity() {
      var result, _this = this,
        value = _this._pseudo$__PseudoSelector_specificity_FI;
      if (value === $) {
        result = new A.PseudoSelector_specificity_closure0(_this).call$0();
        _this._pseudo$__PseudoSelector_specificity_FI !== $ && A.throwUnnamedLateFieldADI();
        _this._pseudo$__PseudoSelector_specificity_FI = result;
        value = result;
      }
      return value;
    },
    withSelector$1(selector) {
      var _this = this;
      return A.PseudoSelector$0(_this.name, _this.span, _this.argument, !_this.isClass, selector);
    },
    addSuffix$1(suffix) {
      var _this = this;
      if (_this.argument != null || _this.selector != null)
        _this.super$SimpleSelector$addSuffix0(suffix);
      return A.PseudoSelector$0(_this.name + suffix, _this.span, null, !_this.isClass, null);
    },
    unify$1(compound) {
      var other, result, t2, addedThis, _i, simple, _this = this,
        t1 = _this.name;
      if (t1 === "host" || t1 === "host-context") {
        if (!B.JSArray_methods.every$1(compound, new A.PseudoSelector_unify_closure0()))
          return null;
      } else {
        if (compound.length === 1) {
          other = compound[0];
          if (!(other instanceof A.UniversalSelector0))
            if (other instanceof A.PseudoSelector0)
              t1 = other.isClass && other.name === "host" || other.get$isHostContext();
            else
              t1 = false;
          else
            t1 = true;
        } else {
          other = null;
          t1 = false;
        }
        if (t1)
          return other.unify$1(A._setArrayType([_this], type$.JSArray_SimpleSelector_2));
      }
      if (B.JSArray_methods.contains$1(compound, _this))
        return compound;
      result = A._setArrayType([], type$.JSArray_SimpleSelector_2);
      for (t1 = compound.length, t2 = !_this.isClass, addedThis = false, _i = 0; _i < compound.length; compound.length === t1 || (0, A.throwConcurrentModificationError)(compound), ++_i) {
        simple = compound[_i];
        if (simple instanceof A.PseudoSelector0 && !simple.isClass) {
          if (t2)
            return null;
          result.push(_this);
          addedThis = true;
        }
        result.push(simple);
      }
      if (!addedThis)
        result.push(_this);
      return result;
    },
    isSuperselector$1(other) {
      var selector, t1, t2, _this = this;
      if (_this.super$SimpleSelector$isSuperselector0(other))
        return true;
      selector = _this.selector;
      if (selector == null)
        return _this.$eq(0, other);
      if (other instanceof A.PseudoSelector0 && !_this.isClass && !other.isClass && _this.normalizedName === "slotted" && other.name === _this.name) {
        t1 = A.NullableExtension_andThen0(other.selector, selector.get$isSuperselector());
        return t1 == null ? false : t1;
      }
      t1 = type$.JSArray_SimpleSelector_2;
      t2 = _this.span;
      return A.compoundIsSuperselector0(A.CompoundSelector$0(A._setArrayType([_this], t1), t2), A.CompoundSelector$0(A._setArrayType([other], t1), t2), null);
    },
    accept$1$1(visitor) {
      return visitor.visitPseudoSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof A.PseudoSelector0 && other.name === _this.name && other.isClass === _this.isClass && other.argument == _this.argument && J.$eq$(other.selector, _this.selector);
    },
    get$hashCode(_) {
      var _this = this,
        t1 = B.JSString_methods.get$hashCode(_this.name),
        t2 = !_this.isClass ? 519018 : 218159;
      return t1 ^ t2 ^ J.get$hashCode$(_this.argument) ^ J.get$hashCode$(_this.selector);
    }
  };
  A.PseudoSelector_specificity_closure0.prototype = {
    call$0() {
      var selector, t2,
        t1 = this.$this;
      if (!t1.isClass)
        return 1;
      selector = t1.selector;
      if (selector == null)
        return A.SimpleSelector0.prototype.get$specificity.call(t1);
      switch (t1.normalizedName) {
        case "where":
          return 0;
        case "is":
        case "not":
        case "has":
        case "matches":
          t1 = selector.components;
          return A.IterableIntegerExtension_get_max(new A.MappedListIterable(t1, new A.PseudoSelector_specificity__closure1(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,int>")));
        case "nth-child":
        case "nth-last-child":
          t1 = A.SimpleSelector0.prototype.get$specificity.call(t1);
          t2 = selector.components;
          return t1 + A.IterableIntegerExtension_get_max(new A.MappedListIterable(t2, new A.PseudoSelector_specificity__closure2(), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,int>")));
        default:
          return A.SimpleSelector0.prototype.get$specificity.call(t1);
      }
    },
    $signature: 10
  };
  A.PseudoSelector_specificity__closure1.prototype = {
    call$1(component) {
      return component.get$specificity();
    },
    $signature: 205
  };
  A.PseudoSelector_specificity__closure2.prototype = {
    call$1(component) {
      return component.get$specificity();
    },
    $signature: 205
  };
  A.PseudoSelector_unify_closure0.prototype = {
    call$1(simple) {
      var t1;
      if (simple instanceof A.PseudoSelector0)
        t1 = simple.isClass && simple.name === "host" || simple.selector != null;
      else
        t1 = false;
      return t1;
    },
    $signature: 14
  };
  A.PublicMemberMapView0.prototype = {
    get$keys(_) {
      var t1 = this._public_member_map_view0$_inner;
      return J.where$1$ax(t1.get$keys(t1), A.utils0__isPublic$closure());
    },
    containsKey$1(key) {
      return typeof key == "string" && A.isPublic0(key) && this._public_member_map_view0$_inner.containsKey$1(key);
    },
    $index(_, key) {
      if (typeof key == "string" && A.isPublic0(key))
        return this._public_member_map_view0$_inner.$index(0, key);
      return null;
    }
  };
  A.QualifiedName0.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.QualifiedName0 && other.name === this.name && other.namespace == this.namespace;
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.name) ^ J.get$hashCode$(this.namespace);
    },
    toString$0(_) {
      var t1 = this.namespace,
        t2 = this.name;
      return t1 == null ? t2 : t1 + "|" + t2;
    }
  };
  A.JSClass0.prototype = {};
  A.JSClassExtension_setCustomInspect_closure.prototype = {
    call$4($self, _, __, ___) {
      return this.inspect.call$1($self);
    },
    call$3($self, _, __) {
      return this.call$4($self, _, __, null);
    },
    "call*": "call$4",
    $requiredArgCount: 3,
    $defaultValues() {
      return [null];
    },
    $signature: 526
  };
  A.JSClassExtension_get_defineStaticMethod_closure.prototype = {
    call$2($name, body) {
      this._this[$name] = A.allowInteropNamed($name, body);
      return null;
    },
    $signature: 129
  };
  A.JSClassExtension_get_defineMethod_closure.prototype = {
    call$2($name, body) {
      J.get$$prototype$x(this._this)[$name] = A.allowInteropCaptureThisNamed($name, body);
      return null;
    },
    $signature: 129
  };
  A.JSClassExtension_get_defineGetter_closure.prototype = {
    call$2($name, body) {
      A.defineGetter(J.get$$prototype$x(this._this), $name, body, null);
      return null;
    },
    $signature: 129
  };
  A.RenderContext0.prototype = {};
  A.RenderContextOptions0.prototype = {};
  A.RenderContextResult0.prototype = {};
  A.RenderContextResultStats0.prototype = {};
  A.RenderOptions.prototype = {};
  A.RenderResult.prototype = {};
  A.RenderResultStats.prototype = {};
  A.ReplaceExpressionVisitor0.prototype = {
    visitBinaryOperationExpression$1(node) {
      return new A.BinaryOperationExpression0(node.operator, node.left.accept$1(this), node.right.accept$1(this), false);
    },
    visitBooleanExpression$1(node) {
      return node;
    },
    visitColorExpression$1(node) {
      return node;
    },
    visitFunctionExpression$1(node) {
      var t1 = node.originalName,
        t2 = this.visitArgumentInvocation$1(node.$arguments);
      return new A.FunctionExpression0(node.namespace, A.stringReplaceAllUnchecked(t1, "_", "-"), t1, t2, node.span);
    },
    visitInterpolatedFunctionExpression$1(node) {
      return new A.InterpolatedFunctionExpression0(this.visitInterpolation$1(node.name), this.visitArgumentInvocation$1(node.$arguments), node.span);
    },
    visitIfExpression$1(node) {
      return new A.IfExpression0(this.visitArgumentInvocation$1(node.$arguments), node.span);
    },
    visitListExpression$1(node) {
      var t1 = node.contents;
      return new A.ListExpression0(A.List_List$unmodifiable(new A.MappedListIterable(t1, new A.ReplaceExpressionVisitor_visitListExpression_closure0(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Expression0>")), type$.Expression_2), node.separator, node.hasBrackets, node.span);
    },
    visitMapExpression$1(node) {
      var t2, t3, _i, t4, key, value,
        t1 = A._setArrayType([], type$.JSArray_Record_2_Expression_and_Expression_2);
      for (t2 = node.pairs, t3 = t2.length, _i = 0; _i < t3; ++_i) {
        t4 = t2[_i];
        key = t4._0;
        value = t4._1;
        t1.push(new A._Record_2(key.accept$1(this), value.accept$1(this)));
      }
      return new A.MapExpression0(A.List_List$unmodifiable(t1, type$.Record_2_Expression_and_Expression_2), node.span);
    },
    visitNullExpression$1(node) {
      return node;
    },
    visitNumberExpression$1(node) {
      return node;
    },
    visitParenthesizedExpression$1(node) {
      return new A.ParenthesizedExpression0(node.expression.accept$1(this), node.span);
    },
    visitSelectorExpression$1(node) {
      return node;
    },
    visitStringExpression$1(node) {
      return new A.StringExpression0(this.visitInterpolation$1(node.text), node.hasQuotes);
    },
    visitSupportsExpression$1(node) {
      return new A.SupportsExpression0(this.visitSupportsCondition$1(node.condition));
    },
    visitUnaryOperationExpression$1(node) {
      return new A.UnaryOperationExpression0(node.operator, node.operand.accept$1(this), node.span);
    },
    visitValueExpression$1(node) {
      return node;
    },
    visitVariableExpression$1(node) {
      return node;
    },
    visitArgumentInvocation$1(invocation) {
      var t5, t6, _this = this,
        t1 = invocation.positional,
        t2 = type$.String,
        t3 = type$.Expression_2,
        t4 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t3);
      for (t5 = A.MapExtensions_get_pairs0(invocation.named, t2, t3), t5 = t5.get$iterator(t5); t5.moveNext$0();) {
        t6 = t5.get$current(t5);
        t4.$indexSet(0, t6._0, t6._1.accept$1(_this));
      }
      t5 = invocation.rest;
      t5 = t5 == null ? null : t5.accept$1(_this);
      t6 = invocation.keywordRest;
      t6 = t6 == null ? null : t6.accept$1(_this);
      return new A.ArgumentInvocation0(A.List_List$unmodifiable(new A.MappedListIterable(t1, new A.ReplaceExpressionVisitor_visitArgumentInvocation_closure0(_this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Expression0>")), t3), A.ConstantMap_ConstantMap$from(t4, t2, t3), t5, t6, invocation.span);
    },
    visitSupportsCondition$1(condition) {
      var _this = this;
      if (condition instanceof A.SupportsOperation0)
        return A.SupportsOperation$0(_this.visitSupportsCondition$1(condition.left), _this.visitSupportsCondition$1(condition.right), condition.operator, condition.span);
      else if (condition instanceof A.SupportsNegation0)
        return new A.SupportsNegation0(_this.visitSupportsCondition$1(condition.condition), condition.span);
      else if (condition instanceof A.SupportsInterpolation0)
        return new A.SupportsInterpolation0(condition.expression.accept$1(_this), condition.span);
      else if (condition instanceof A.SupportsDeclaration0)
        return new A.SupportsDeclaration0(condition.name.accept$1(_this), condition.value.accept$1(_this), condition.span);
      else
        throw A.wrapException(A.SassException$0("BUG: Unknown SupportsCondition " + condition.toString$0(0) + ".", condition.get$span(condition), null));
    },
    visitInterpolation$1(interpolation) {
      var t1 = interpolation.contents;
      return A.Interpolation$0(new A.MappedListIterable(t1, new A.ReplaceExpressionVisitor_visitInterpolation_closure0(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Object>")), interpolation.span);
    }
  };
  A.ReplaceExpressionVisitor_visitListExpression_closure0.prototype = {
    call$1(item) {
      return item.accept$1(this.$this);
    },
    $signature: 204
  };
  A.ReplaceExpressionVisitor_visitArgumentInvocation_closure0.prototype = {
    call$1(expression) {
      return expression.accept$1(this.$this);
    },
    $signature: 204
  };
  A.ReplaceExpressionVisitor_visitInterpolation_closure0.prototype = {
    call$1(node) {
      return type$.Expression_2._is(node) ? node.accept$1(this.$this) : node;
    },
    $signature: 67
  };
  A.ImporterResult0.prototype = {
    get$sourceMapUrl(_) {
      var t1 = this._result$_sourceMapUrl;
      return t1 == null ? A.Uri_Uri$dataFromString(this.contents, B.C_Utf8Codec, null) : t1;
    }
  };
  A.ReturnRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitReturnRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "@return " + this.expression.toString$0(0) + ";";
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.SassParser0.prototype = {
    get$currentIndentation() {
      return this._sass0$_currentIndentation;
    },
    get$indented() {
      return true;
    },
    styleRuleSelector$0() {
      var t4,
        t1 = this.scanner,
        t2 = t1._string_scanner$_position,
        t3 = new A.StringBuffer(""),
        buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object));
      do {
        buffer.addInterpolation$1(this.almostAnyValue$1$omitComments(true));
        t4 = A.Primitives_stringFromCharCode(10);
        t4 = t3._contents += t4;
      } while (B.JSString_methods.endsWith$1(B.JSString_methods.trimRight$0(t4.charCodeAt(0) == 0 ? t4 : t4), ",") && this.scanCharIf$1(new A.SassParser_styleRuleSelector_closure0()));
      return buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    expectStatementSeparator$1($name) {
      var t1, _this = this;
      if (!_this.atEndOfStatement$0())
        _this._sass0$_expectNewline$0();
      if (_this._sass0$_peekIndentation$0() <= _this._sass0$_currentIndentation)
        return;
      t1 = $name == null ? "here" : "beneath a " + $name;
      _this.scanner.error$2$position(0, "Nothing may be indented " + t1 + ".", _this._sass0$_nextIndentationEnd.position);
    },
    expectStatementSeparator$0() {
      return this.expectStatementSeparator$1(null);
    },
    atEndOfStatement$0() {
      var t1 = this.scanner.peekChar$0();
      if (t1 == null)
        t1 = null;
      else
        t1 = t1 === 10 || t1 === 13 || t1 === 12;
      return t1 !== false;
    },
    lookingAtChildren$0() {
      return this.atEndOfStatement$0() && this._sass0$_peekIndentation$0() > this._sass0$_currentIndentation;
    },
    importArgument$0() {
      var url, span, innerError, stackTrace, t1, _0_0, start, next, t2, exception, _this = this;
      $label0$0: {
        t1 = _this.scanner;
        _0_0 = t1.peekChar$0();
        if (117 === _0_0 || 85 === _0_0) {
          start = new A._SpanScannerState(t1, t1._string_scanner$_position);
          if (_this.scanIdentifier$1("url"))
            if (t1.scanChar$1(40)) {
              t1.set$state(start);
              return _this.super$StylesheetParser$importArgument0();
            } else
              t1.set$state(start);
          break $label0$0;
        }
        if (39 === _0_0 || 34 === _0_0)
          return _this.super$StylesheetParser$importArgument0();
      }
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      next = t1.peekChar$0();
      while (true) {
        if (next != null)
          if (next !== 44)
            if (next !== 59)
              t2 = !(next === 10 || next === 13 || next === 12);
            else
              t2 = false;
          else
            t2 = false;
        else
          t2 = false;
        if (!t2)
          break;
        t1.readChar$0();
        next = t1.peekChar$0();
      }
      url = t1.substring$1(0, start.position);
      span = t1.spanFrom$1(start);
      if (_this.isPlainImportUrl$1(url))
        return new A.StaticImport0(A.Interpolation$0(A._setArrayType([A.serializeValue0(new A.SassString0(url, true), true, true)], type$.JSArray_Object), span), null, span);
      else
        try {
          t1 = _this.parseImportUrl$1(url);
          return new A.DynamicImport0(t1, span);
        } catch (exception) {
          t1 = A.unwrapException(exception);
          if (type$.FormatException._is(t1)) {
            innerError = t1;
            stackTrace = A.getTraceFromException(exception);
            _this.error$3(0, "Invalid URL: " + J.get$message$x(innerError), span, stackTrace);
          } else
            throw exception;
        }
    },
    scanElse$1(ifIndentation) {
      var t1, t2, startIndentation, startNextIndentation, startNextIndentationEnd, _this = this;
      if (_this._sass0$_peekIndentation$0() !== ifIndentation)
        return false;
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      startIndentation = _this._sass0$_currentIndentation;
      startNextIndentation = _this._sass0$_nextIndentation;
      startNextIndentationEnd = _this._sass0$_nextIndentationEnd;
      _this._sass0$_readIndentation$0();
      if (t1.scanChar$1(64) && _this.scanIdentifier$1("else"))
        return true;
      t1.set$state(new A._SpanScannerState(t1, t2));
      _this._sass0$_currentIndentation = startIndentation;
      _this._sass0$_nextIndentation = startNextIndentation;
      _this._sass0$_nextIndentationEnd = startNextIndentationEnd;
      return false;
    },
    children$1(_, child) {
      var children = A._setArrayType([], type$.JSArray_Statement_2);
      this._sass0$_whileIndentedLower$1(new A.SassParser_children_closure0(this, child, children));
      return children;
    },
    statements$1(statement) {
      var statements, t2, _1_0,
        t1 = this.scanner,
        _0_0 = t1.peekChar$0();
      if (9 === _0_0 || 32 === _0_0)
        t1.error$3$length$position(0, string$.Indent, t1._string_scanner$_position, 0);
      statements = A._setArrayType([], type$.JSArray_Statement_2);
      for (t2 = t1.string.length; t1._string_scanner$_position !== t2;) {
        _1_0 = this._sass0$_child$1(statement);
        if (_1_0 != null)
          statements.push(_1_0);
        this._sass0$_readIndentation$0();
      }
      return statements;
    },
    _sass0$_child$1(child) {
      var _0_0, _this = this,
        t1 = _this.scanner,
        _1_0 = t1.peekChar$0();
      $label0$0: {
        if (13 === _1_0 || 10 === _1_0 || 12 === _1_0) {
          t1 = null;
          break $label0$0;
        }
        if (36 === _1_0) {
          t1 = _this.variableDeclarationWithoutNamespace$0();
          break $label0$0;
        }
        if (47 === _1_0) {
          _0_0 = t1.peekChar$1(1);
          $label1$1: {
            if (47 === _0_0) {
              t1 = _this._sass0$_silentComment$0();
              break $label1$1;
            }
            if (42 === _0_0) {
              t1 = _this._sass0$_loudComment$0();
              break $label1$1;
            }
            t1 = child.call$0();
            break $label1$1;
          }
          break $label0$0;
        }
        t1 = child.call$0();
        break $label0$0;
      }
      return t1;
    },
    _sass0$_silentComment$0() {
      var buffer, parentIndentation, t3, t4, t5, commentPrefix, i, t6, i0, t7, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expect$1("//");
      buffer = new A.StringBuffer("");
      parentIndentation = _this._sass0$_currentIndentation;
      t3 = t1.string.length;
      t4 = 1 + parentIndentation;
      t5 = 2 + parentIndentation;
      $label0$0:
        do {
          commentPrefix = t1.scanChar$1(47) ? "///" : "//";
          for (i = commentPrefix.length; true;) {
            t6 = buffer._contents += commentPrefix;
            for (i0 = i; i0 < _this._sass0$_currentIndentation - parentIndentation; ++i0) {
              t6 += A.Primitives_stringFromCharCode(32);
              buffer._contents = t6;
            }
            while (true) {
              if (t1._string_scanner$_position !== t3) {
                t7 = t1.peekChar$0();
                t7 = !(t7 === 10 || t7 === 13 || t7 === 12);
              } else
                t7 = false;
              if (!t7)
                break;
              t6 += A.Primitives_stringFromCharCode(t1.readChar$0());
              buffer._contents = t6;
            }
            buffer._contents = t6 + "\n";
            if (_this._sass0$_peekIndentation$0() < parentIndentation)
              break $label0$0;
            if (_this._sass0$_peekIndentation$0() === parentIndentation) {
              if (t1.peekChar$1(t4) === 47 && t1.peekChar$1(t5) === 47)
                _this._sass0$_readIndentation$0();
              break;
            }
            _this._sass0$_readIndentation$0();
          }
        } while (t1.scan$1("//"));
      t3 = buffer._contents;
      return _this.lastSilentComment = new A.SilentComment0(t3.charCodeAt(0) == 0 ? t3 : t3, t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _sass0$_loudComment$0() {
      var t3, t4, buffer, parentIndentation, t5, t6, first, beginningOfComment, t7, end, i, _0_0, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expect$1("/*");
      t3 = new A.StringBuffer("");
      t4 = A._setArrayType([], type$.JSArray_Object);
      buffer = new A.InterpolationBuffer0(t3, t4);
      t3._contents = "" + "/*";
      parentIndentation = _this._sass0$_currentIndentation;
      for (t5 = t1.string, t6 = t5.length, first = true; true; first = false) {
        if (first) {
          beginningOfComment = t1._string_scanner$_position;
          _this.spaces$0();
          t7 = t1.peekChar$0();
          if (t7 === 10 || t7 === 13 || t7 === 12) {
            _this._sass0$_readIndentation$0();
            t7 = A.Primitives_stringFromCharCode(32);
            t3._contents += t7;
          } else {
            end = t1._string_scanner$_position;
            t3._contents += B.JSString_methods.substring$2(t5, beginningOfComment, end);
          }
        } else {
          t7 = t3._contents += "\n";
          t3._contents = t7 + " * ";
        }
        for (i = 3; i < _this._sass0$_currentIndentation - parentIndentation; ++i) {
          t7 = A.Primitives_stringFromCharCode(32);
          t3._contents += t7;
        }
        for (; t1._string_scanner$_position !== t6;) {
          _0_0 = t1.peekChar$0();
          if (10 === _0_0 || 13 === _0_0 || 12 === _0_0)
            break;
          if (35 === _0_0) {
            if (t1.peekChar$1(1) === 123) {
              t7 = _this.singleInterpolation$0();
              buffer._interpolation_buffer0$_flushText$0();
              t4.push(t7);
            } else {
              t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t7;
            }
            continue;
          }
          t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t3._contents += t7;
        }
        if (_this._sass0$_peekIndentation$0() <= parentIndentation)
          break;
        for (; _this._sass0$_lookingAtDoubleNewline$0();) {
          _this._sass0$_expectNewline$0();
          t7 = t3._contents += "\n";
          t3._contents = t7 + " *";
        }
        _this._sass0$_readIndentation$0();
      }
      t4 = t3._contents;
      if (!B.JSString_methods.endsWith$1(B.JSString_methods.trimRight$0(t4.charCodeAt(0) == 0 ? t4 : t4), "*/"))
        t3._contents += " */";
      return new A.LoudComment0(buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2))));
    },
    whitespaceWithoutComments$0() {
      var t1, t2, next;
      for (t1 = this.scanner, t2 = t1.string.length; t1._string_scanner$_position !== t2;) {
        next = t1.peekChar$0();
        if (next !== 9 && next !== 32)
          break;
        t1.readChar$0();
      }
    },
    loudComment$0() {
      var next,
        t1 = this.scanner;
      t1.expect$1("/*");
      for (; true;) {
        next = t1.readChar$0();
        if (next === 10 || next === 13 || next === 12)
          t1.error$1(0, "expected */.");
        if (next !== 42)
          continue;
        do
          next = t1.readChar$0();
        while (next === 42);
        if (next === 47)
          break;
      }
    },
    _sass0$_expectNewline$0() {
      var t1 = this.scanner,
        _0_0 = t1.peekChar$0();
      if (59 === _0_0)
        t1.error$1(0, string$.semico);
      if (13 === _0_0) {
        t1.readChar$0();
        if (t1.peekChar$0() === 10)
          t1.readChar$0();
        return;
      }
      if (10 === _0_0 || 12 === _0_0) {
        t1.readChar$0();
        return;
      }
      t1.error$1(0, "expected newline.");
    },
    _sass0$_lookingAtDoubleNewline$0() {
      var _0_0,
        t1 = this.scanner,
        _1_0 = t1.peekChar$0();
      $label1$1: {
        if (13 === _1_0) {
          _0_0 = t1.peekChar$1(1);
          $label0$0: {
            if (10 === _0_0) {
              t1 = t1.peekChar$1(2);
              t1 = t1 === 10 || t1 === 13 || t1 === 12;
              break $label0$0;
            }
            if (13 === _0_0 || 12 === _0_0) {
              t1 = true;
              break $label0$0;
            }
            t1 = false;
            break $label0$0;
          }
          break $label1$1;
        }
        if (10 === _1_0 || 12 === _1_0) {
          t1 = t1.peekChar$1(1);
          t1 = t1 === 10 || t1 === 13 || t1 === 12;
          break $label1$1;
        }
        t1 = false;
        break $label1$1;
      }
      return t1;
    },
    _sass0$_whileIndentedLower$1(body) {
      var t1, t2, childIndentation, indentation, t3, t4, _this = this,
        parentIndentation = _this._sass0$_currentIndentation;
      for (t1 = _this.scanner, t2 = t1._sourceFile, childIndentation = null; _this._sass0$_peekIndentation$0() > parentIndentation;) {
        indentation = _this._sass0$_readIndentation$0();
        if (childIndentation == null)
          childIndentation = indentation;
        if (childIndentation !== indentation) {
          t3 = t1._string_scanner$_position;
          t4 = t2.getColumn$1(t3);
          t1.error$3$length$position(0, "Inconsistent indentation, expected " + childIndentation + " spaces.", t2.getColumn$1(t1._string_scanner$_position), t3 - t4);
        }
        body.call$0();
      }
    },
    _sass0$_readIndentation$0() {
      var t1, _this = this,
        currentIndentation = _this._sass0$_nextIndentation;
      if (currentIndentation == null)
        currentIndentation = _this._sass0$_nextIndentation = _this._sass0$_peekIndentation$0();
      _this._sass0$_currentIndentation = currentIndentation;
      t1 = _this._sass0$_nextIndentationEnd;
      t1.toString;
      _this.scanner.set$state(t1);
      _this._sass0$_nextIndentationEnd = _this._sass0$_nextIndentation = null;
      return currentIndentation;
    },
    _sass0$_peekIndentation$0() {
      var t1, t2, t3, start, containsTab, containsSpace, nextIndentation, _1_0, t4, _this = this,
        _0_0 = _this._sass0$_nextIndentation;
      if (_0_0 != null)
        return _0_0;
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      t3 = t1.string.length;
      if (t2 === t3) {
        _this._sass0$_nextIndentation = 0;
        _this._sass0$_nextIndentationEnd = new A._SpanScannerState(t1, t2);
        return 0;
      }
      start = new A._SpanScannerState(t1, t2);
      if (!_this.scanCharIf$1(new A.SassParser__peekIndentation_closure1()))
        t1.error$2$position(0, "Expected newline.", t1._string_scanner$_position);
      containsTab = A._Cell$();
      containsSpace = A._Cell$();
      nextIndentation = A._Cell$();
      do {
        containsSpace.__late_helper$_value = containsTab.__late_helper$_value = false;
        nextIndentation.__late_helper$_value = 0;
        for (; true;) {
          $label0$0: {
            _1_0 = t1.peekChar$0();
            if (32 === _1_0) {
              containsSpace.__late_helper$_value = true;
              break $label0$0;
            }
            if (9 === _1_0) {
              containsTab.__late_helper$_value = true;
              break $label0$0;
            }
            break;
          }
          t2 = nextIndentation.__late_helper$_value;
          if (t2 === nextIndentation)
            A.throwExpression(A.LateError$localNI(""));
          nextIndentation.__late_helper$_value = t2 + 1;
          t1.readChar$0();
        }
        t2 = t1._string_scanner$_position;
        if (t2 === t3) {
          _this._sass0$_nextIndentation = 0;
          _this._sass0$_nextIndentationEnd = new A._SpanScannerState(t1, t2);
          t1.set$state(start);
          return 0;
        }
      } while (_this.scanCharIf$1(new A.SassParser__peekIndentation_closure2()));
      t2 = containsTab._readLocal$0();
      t3 = containsSpace._readLocal$0();
      if (t2) {
        if (t3) {
          t2 = t1._string_scanner$_position;
          t3 = t1._sourceFile;
          t4 = t3.getColumn$1(t2);
          t1.error$3$length$position(0, "Tabs and spaces may not be mixed.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4);
        } else if (_this._sass0$_spaces === true) {
          t2 = t1._string_scanner$_position;
          t3 = t1._sourceFile;
          t4 = t3.getColumn$1(t2);
          t1.error$3$length$position(0, "Expected spaces, was tabs.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4);
        }
      } else if (t3 && _this._sass0$_spaces === false) {
        t2 = t1._string_scanner$_position;
        t3 = t1._sourceFile;
        t4 = t3.getColumn$1(t2);
        t1.error$3$length$position(0, "Expected tabs, was spaces.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4);
      }
      _this._sass0$_nextIndentation = nextIndentation._readLocal$0();
      if (nextIndentation._readLocal$0() > 0)
        if (_this._sass0$_spaces == null)
          _this._sass0$_spaces = containsSpace._readLocal$0();
      _this._sass0$_nextIndentationEnd = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.set$state(start);
      return nextIndentation._readLocal$0();
    }
  };
  A.SassParser_styleRuleSelector_closure0.prototype = {
    call$1(char) {
      return char === 10 || char === 13 || char === 12;
    },
    $signature: 30
  };
  A.SassParser_children_closure0.prototype = {
    call$0() {
      var _0_0 = this.$this._sass0$_child$1(this.child);
      if (_0_0 != null)
        this.children.push(_0_0);
    },
    $signature: 0
  };
  A.SassParser__peekIndentation_closure1.prototype = {
    call$1(char) {
      return char === 10 || char === 13 || char === 12;
    },
    $signature: 30
  };
  A.SassParser__peekIndentation_closure2.prototype = {
    call$1(char) {
      return char === 10 || char === 13 || char === 12;
    },
    $signature: 30
  };
  A._Exports.prototype = {};
  A._wrapMain_closure.prototype = {
    call$1(_) {
      return A._translateReturnValue(this.main.call$0());
    },
    $signature: 82
  };
  A._wrapMain_closure0.prototype = {
    call$1(args) {
      return A._translateReturnValue(this.main.call$1(A.List_List$from(type$.List_dynamic._as(args), true, type$.String)));
    },
    $signature: 82
  };
  A.ScssParser0.prototype = {
    get$indented() {
      return false;
    },
    get$currentIndentation() {
      return 0;
    },
    styleRuleSelector$0() {
      return this.almostAnyValue$0();
    },
    expectStatementSeparator$1($name) {
      var t1, _0_0;
      this.whitespaceWithoutComments$0();
      t1 = this.scanner;
      if (t1._string_scanner$_position === t1.string.length)
        return;
      _0_0 = t1.peekChar$0();
      if (59 === _0_0 || 125 === _0_0)
        return;
      t1.expectChar$1(59);
    },
    expectStatementSeparator$0() {
      return this.expectStatementSeparator$1(null);
    },
    atEndOfStatement$0() {
      var next = this.scanner.peekChar$0();
      return next == null || next === 59 || next === 125 || next === 123;
    },
    lookingAtChildren$0() {
      return this.scanner.peekChar$0() === 123;
    },
    scanElse$1(ifIndentation) {
      var t3, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      _this.whitespace$0();
      t3 = t1._string_scanner$_position;
      if (t1.scanChar$1(64)) {
        if (_this.scanIdentifier$2$caseSensitive("else", true))
          return true;
        if (_this.scanIdentifier$2$caseSensitive("elseif", true)) {
          A.WarnForDeprecation_warnForDeprecation0(_this.logger, B.Deprecation_xw8, string$.x40elsei, t1.spanFrom$1(new A._SpanScannerState(t1, t3)), null);
          t1.set$position(t1._string_scanner$_position - 2);
          return true;
        }
      }
      t1.set$state(new A._SpanScannerState(t1, t2));
      return false;
    },
    children$1(_, child) {
      var children, _this = this,
        t1 = _this.scanner;
      t1.expectChar$1(123);
      _this.whitespaceWithoutComments$0();
      children = A._setArrayType([], type$.JSArray_Statement_2);
      for (; true;)
        switch (t1.peekChar$0()) {
          case 36:
            children.push(_this.variableDeclarationWithoutNamespace$0());
            break;
          case 47:
            switch (t1.peekChar$1(1)) {
              case 47:
                children.push(_this._scss0$_silentComment$0());
                _this.whitespaceWithoutComments$0();
                break;
              case 42:
                children.push(_this._scss0$_loudComment$0());
                _this.whitespaceWithoutComments$0();
                break;
              default:
                children.push(child.call$0());
            }
            break;
          case 59:
            t1.readChar$0();
            _this.whitespaceWithoutComments$0();
            break;
          case 125:
            t1.expectChar$1(125);
            return children;
          default:
            children.push(child.call$0());
        }
    },
    statements$1(statement) {
      var t1, t2, _0_0, _1_0, _this = this,
        statements = A._setArrayType([], type$.JSArray_Statement_2);
      _this.whitespaceWithoutComments$0();
      for (t1 = _this.scanner, t2 = t1.string.length; t1._string_scanner$_position !== t2;)
        switch (t1.peekChar$0()) {
          case 36:
            statements.push(_this.variableDeclarationWithoutNamespace$0());
            break;
          case 47:
            switch (t1.peekChar$1(1)) {
              case 47:
                statements.push(_this._scss0$_silentComment$0());
                _this.whitespaceWithoutComments$0();
                break;
              case 42:
                statements.push(_this._scss0$_loudComment$0());
                _this.whitespaceWithoutComments$0();
                break;
              default:
                _0_0 = statement.call$0();
                if (_0_0 != null)
                  statements.push(_0_0);
            }
            break;
          case 59:
            t1.readChar$0();
            _this.whitespaceWithoutComments$0();
            break;
          default:
            _1_0 = statement.call$0();
            if (_1_0 != null)
              statements.push(_1_0);
        }
      return statements;
    },
    _scss0$_silentComment$0() {
      var t2, t3, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expect$1("//");
      t2 = t1.string.length;
      do {
        while (true) {
          if (t1._string_scanner$_position !== t2) {
            t3 = t1.readChar$0();
            t3 = !(t3 === 10 || t3 === 13 || t3 === 12);
          } else
            t3 = false;
          if (!t3)
            break;
        }
        if (t1._string_scanner$_position === t2)
          break;
        _this.spaces$0();
      } while (t1.scan$1("//"));
      if (_this.get$plainCss())
        _this.error$2(0, string$.Silent, t1.spanFrom$1(start));
      return _this.lastSilentComment = new A.SilentComment0(t1.substring$1(0, start.position), t1.spanFrom$1(start));
    },
    _scss0$_loudComment$0() {
      var t3, t4, buffer, t5, endPosition, t6, result,
        t1 = this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expect$1("/*");
      t3 = new A.StringBuffer("");
      t4 = A._setArrayType([], type$.JSArray_Object);
      buffer = new A.InterpolationBuffer0(t3, t4);
      t3._contents = "" + "/*";
      $label0$1:
        for (; true;)
          switch (t1.peekChar$0()) {
            case 35:
              if (t1.peekChar$1(1) === 123) {
                t5 = this.singleInterpolation$0();
                buffer._interpolation_buffer0$_flushText$0();
                t4.push(t5);
              } else {
                t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
                t3._contents += t5;
              }
              break;
            case 42:
              t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t5;
              if (t1.peekChar$0() !== 47)
                continue $label0$1;
              t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t5;
              endPosition = t1._string_scanner$_position;
              t5 = t1._sourceFile;
              t6 = new A._SpanScannerState(t1, t2).position;
              t1 = new A._FileSpan(t5, t6, endPosition);
              t1._FileSpan$3(t5, t6, endPosition);
              t6 = type$.Object;
              t5 = A.List_List$of(t4, true, t6);
              t2 = t3._contents;
              if (t2.length !== 0)
                t5.push(t2.charCodeAt(0) == 0 ? t2 : t2);
              result = A.List_List$from(t5, false, t6);
              result.fixed$length = Array;
              result.immutable$list = Array;
              t2 = new A.Interpolation0(result, t1);
              t2.Interpolation$20(t5, t1);
              return new A.LoudComment0(t2);
            case 13:
              t1.readChar$0();
              if (t1.peekChar$0() !== 10) {
                t5 = A.Primitives_stringFromCharCode(10);
                t3._contents += t5;
              }
              break;
            case 12:
              t1.readChar$0();
              t5 = A.Primitives_stringFromCharCode(10);
              t3._contents += t5;
              break;
            default:
              t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t5;
          }
    }
  };
  A.Selector0.prototype = {
    assertNotBogus$1$name($name) {
      if (!this.accept$1(B._IsBogusVisitor_true0))
        return;
      A.warnForDeprecation0("$" + $name + ": " + (this.toString$0(0) + string$.x20is_nov), B.Deprecation_5pG);
    },
    toString$0(_) {
      var visitor = A._SerializeVisitor$0(null, true, null, true, false, null, true);
      this.accept$1(visitor);
      return visitor._serialize0$_buffer.toString$0(0);
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A._IsInvisibleVisitor2.prototype = {
    visitSelectorList$1(list) {
      return B.JSArray_methods.every$1(list.components, this.get$visitComplexSelector());
    },
    visitComplexSelector$1(complex) {
      var t1;
      if (!this.super$AnySelectorVisitor$visitComplexSelector0(complex))
        t1 = this.includeBogus && complex.accept$1(B._IsBogusVisitor_false0);
      else
        t1 = true;
      return t1;
    },
    visitPlaceholderSelector$1(placeholder) {
      return true;
    },
    visitPseudoSelector$1(pseudo) {
      var t1,
        _0_0 = pseudo.selector;
      if (_0_0 != null) {
        if (pseudo.name === "not")
          t1 = this.includeBogus && _0_0.accept$1(B._IsBogusVisitor_true0);
        else
          t1 = this.visitSelectorList$1(_0_0);
        return t1;
      } else
        return false;
    }
  };
  A._IsBogusVisitor0.prototype = {
    visitComplexSelector$1(complex) {
      var t2,
        t1 = complex.components;
      if (t1.length === 0)
        return complex.leadingCombinators.length !== 0;
      else {
        t2 = this.includeLeadingCombinator ? 0 : 1;
        return complex.leadingCombinators.length > t2 || B.JSArray_methods.get$last(t1).combinators.length !== 0 || B.JSArray_methods.any$1(t1, new A._IsBogusVisitor_visitComplexSelector_closure0(this));
      }
    },
    visitPseudoSelector$1(pseudo) {
      var selector = pseudo.selector;
      if (selector == null)
        return false;
      return pseudo.name === "has" ? selector.accept$1(B._IsBogusVisitor_false0) : selector.accept$1(B._IsBogusVisitor_true0);
    }
  };
  A._IsBogusVisitor_visitComplexSelector_closure0.prototype = {
    call$1(component) {
      return component.combinators.length > 1 || this.$this.visitCompoundSelector$1(component.selector);
    },
    $signature: 50
  };
  A._IsUselessVisitor0.prototype = {
    visitComplexSelector$1(complex) {
      return complex.leadingCombinators.length > 1 || B.JSArray_methods.any$1(complex.components, new A._IsUselessVisitor_visitComplexSelector_closure0(this));
    },
    visitPseudoSelector$1(pseudo) {
      return pseudo.accept$1(B._IsBogusVisitor_true0);
    }
  };
  A._IsUselessVisitor_visitComplexSelector_closure0.prototype = {
    call$1(component) {
      return component.combinators.length > 1 || this.$this.visitCompoundSelector$1(component.selector);
    },
    $signature: 50
  };
  A.__IsBogusVisitor_Object_AnySelectorVisitor0.prototype = {};
  A.__IsInvisibleVisitor_Object_AnySelectorVisitor0.prototype = {};
  A.__IsUselessVisitor_Object_AnySelectorVisitor0.prototype = {};
  A.SelectorExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitSelectorExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "&";
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A._nest_closure0.prototype = {
    call$1($arguments) {
      var t1 = {},
        selectors = J.$index$asx($arguments, 0).get$asList();
      if (selectors.length === 0)
        throw A.wrapException(A.SassScriptException$0(string$.x24selec, null));
      t1.first = true;
      return new A.MappedListIterable(selectors, new A._nest__closure1(t1), A._arrayInstanceType(selectors)._eval$1("MappedListIterable<1,SelectorList0>")).reduce$1(0, new A._nest__closure2()).get$asSassList();
    },
    $signature: 23
  };
  A._nest__closure1.prototype = {
    call$1(selector) {
      var t1 = this._box_0,
        result = A.SassApiValue_assertSelector0(selector, !t1.first, null);
      t1.first = false;
      return result;
    },
    $signature: 203
  };
  A._nest__closure2.prototype = {
    call$2($parent, child) {
      return child.nestWithin$1($parent);
    },
    $signature: 202
  };
  A._append_closure1.prototype = {
    call$1($arguments) {
      var t1,
        selectors = J.$index$asx($arguments, 0).get$asList();
      if (selectors.length === 0)
        throw A.wrapException(A.SassScriptException$0(string$.x24selec, null));
      t1 = A.EvaluationContext_currentOrNull0();
      return new A.MappedListIterable(selectors, new A._append__closure1(), A._arrayInstanceType(selectors)._eval$1("MappedListIterable<1,SelectorList0>")).reduce$1(0, new A._append__closure2((t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan())).get$asSassList();
    },
    $signature: 23
  };
  A._append__closure1.prototype = {
    call$1(selector) {
      return A.SassApiValue_assertSelector0(selector, false, null);
    },
    $signature: 203
  };
  A._append__closure2.prototype = {
    call$2($parent, child) {
      var t1 = child.components,
        t2 = this.span;
      return A.SelectorList$0(new A.MappedListIterable(t1, new A._append___closure0($parent, t2), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ComplexSelector0>")), t2).nestWithin$1($parent);
    },
    $signature: 202
  };
  A._append___closure0.prototype = {
    call$1(complex) {
      var _0_0, t1, component, rest, newCompound, t2, _null = null;
      if (complex.leadingCombinators.length !== 0)
        throw A.wrapException(A.SassScriptException$0("Can't append " + complex.toString$0(0) + " to " + this.parent.toString$0(0) + ".", _null));
      _0_0 = complex.components;
      t1 = _0_0.length >= 1;
      if (t1) {
        component = _0_0[0];
        rest = B.JSArray_methods.sublist$1(_0_0, 1);
      } else {
        rest = _null;
        component = rest;
      }
      if (!t1)
        throw A.wrapException(A.StateError$("Pattern matching error"));
      newCompound = A._prependParent0(component.selector);
      if (newCompound == null)
        throw A.wrapException(A.SassScriptException$0("Can't append " + complex.toString$0(0) + " to " + this.parent.toString$0(0) + ".", _null));
      t1 = this.span;
      t2 = A._setArrayType([new A.ComplexSelectorComponent0(newCompound, A.List_List$unmodifiable(component.combinators, type$.CssValue_Combinator_2), t1)], type$.JSArray_ComplexSelectorComponent_2);
      B.JSArray_methods.addAll$1(t2, rest);
      return A.ComplexSelector$0(B.List_empty13, t2, t1, false);
    },
    $signature: 55
  };
  A._extend_closure0.prototype = {
    call$1($arguments) {
      var target, source,
        _s8_ = "selector",
        _s8_0 = "extendee",
        _s8_1 = "extender",
        t1 = J.getInterceptor$asx($arguments),
        selector = A.SassApiValue_assertSelector0(t1.$index($arguments, 0), false, _s8_);
      selector.assertNotBogus$1$name(_s8_);
      target = A.SassApiValue_assertSelector0(t1.$index($arguments, 1), false, _s8_0);
      target.assertNotBogus$1$name(_s8_0);
      source = A.SassApiValue_assertSelector0(t1.$index($arguments, 2), false, _s8_1);
      source.assertNotBogus$1$name(_s8_1);
      t1 = A.EvaluationContext_currentOrNull0();
      return A.ExtensionStore__extendOrReplace0(selector, source, target, B.ExtendMode_allTargets_allTargets0, (t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan()).get$asSassList();
    },
    $signature: 23
  };
  A._replace_closure0.prototype = {
    call$1($arguments) {
      var target, source,
        _s8_ = "selector",
        _s8_0 = "original",
        _s11_ = "replacement",
        t1 = J.getInterceptor$asx($arguments),
        selector = A.SassApiValue_assertSelector0(t1.$index($arguments, 0), false, _s8_);
      selector.assertNotBogus$1$name(_s8_);
      target = A.SassApiValue_assertSelector0(t1.$index($arguments, 1), false, _s8_0);
      target.assertNotBogus$1$name(_s8_0);
      source = A.SassApiValue_assertSelector0(t1.$index($arguments, 2), false, _s11_);
      source.assertNotBogus$1$name(_s11_);
      t1 = A.EvaluationContext_currentOrNull0();
      return A.ExtensionStore__extendOrReplace0(selector, source, target, B.ExtendMode_replace_replace0, (t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan()).get$asSassList();
    },
    $signature: 23
  };
  A._unify_closure0.prototype = {
    call$1($arguments) {
      var selector2,
        _s9_ = "selector1",
        _s9_0 = "selector2",
        t1 = J.getInterceptor$asx($arguments),
        selector1 = A.SassApiValue_assertSelector0(t1.$index($arguments, 0), false, _s9_);
      selector1.assertNotBogus$1$name(_s9_);
      selector2 = A.SassApiValue_assertSelector0(t1.$index($arguments, 1), false, _s9_0);
      selector2.assertNotBogus$1$name(_s9_0);
      t1 = selector1.unify$1(selector2);
      t1 = t1 == null ? null : t1.get$asSassList();
      return t1 == null ? B.C__SassNull0 : t1;
    },
    $signature: 3
  };
  A._isSuperselector_closure0.prototype = {
    call$1($arguments) {
      var selector2,
        t1 = J.getInterceptor$asx($arguments),
        selector1 = A.SassApiValue_assertSelector0(t1.$index($arguments, 0), false, "super");
      selector1.assertNotBogus$1$name("super");
      selector2 = A.SassApiValue_assertSelector0(t1.$index($arguments, 1), false, "sub");
      selector2.assertNotBogus$1$name("sub");
      return A.listIsSuperselector0(selector1.components, selector2.components) ? B.SassBoolean_true0 : B.SassBoolean_false0;
    },
    $signature: 21
  };
  A._simpleSelectors_closure0.prototype = {
    call$1($arguments) {
      var t1 = A.SassApiValue_assertCompoundSelector0(J.$index$asx($arguments, 0), "selector").components;
      return A.SassList$0(new A.MappedListIterable(t1, new A._simpleSelectors__closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value0>")), B.ListSeparator_ECn0, false);
    },
    $signature: 23
  };
  A._simpleSelectors__closure0.prototype = {
    call$1(simple) {
      return new A.SassString0(A.serializeSelector0(simple, true), false);
    },
    $signature: 531
  };
  A._parse_closure0.prototype = {
    call$1($arguments) {
      return A.SassApiValue_assertSelector0(J.$index$asx($arguments, 0), false, "selector").get$asSassList();
    },
    $signature: 23
  };
  A.SelectorParser0.prototype = {
    parse$0() {
      return this.wrapSpanFormatException$1(new A.SelectorParser_parse_closure0(this));
    },
    parseCompoundSelector$0() {
      return this.wrapSpanFormatException$1(new A.SelectorParser_parseCompoundSelector_closure0(this));
    },
    _selector$_selectorList$0() {
      var t4, t5, lineBreak, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        t3 = t1._sourceFile,
        previousLine = t3.getLine$1(t2),
        components = A._setArrayType([_this._selector$_complexSelector$0()], type$.JSArray_ComplexSelector_2);
      _this.whitespace$0();
      for (t4 = t1.string.length; t1.scanChar$1(44);) {
        _this.whitespace$0();
        if (t1.peekChar$0() === 44)
          continue;
        t5 = t1._string_scanner$_position;
        if (t5 === t4)
          break;
        lineBreak = t3.getLine$1(t5) !== previousLine;
        if (lineBreak)
          previousLine = t3.getLine$1(t1._string_scanner$_position);
        components.push(_this._selector$_complexSelector$1$lineBreak(lineBreak));
      }
      return A.SelectorList$0(components, _this.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _selector$_complexSelector$1$lineBreak(lineBreak) {
      var t4, lastCompound, initialCombinators, _0_0, t5, result, _this = this,
        _s18_ = "expected selector.",
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        componentStart = new A._SpanScannerState(t1, t2),
        t3 = type$.JSArray_CssValue_Combinator_2,
        combinators = A._setArrayType([], t3),
        components = A._setArrayType([], type$.JSArray_ComplexSelectorComponent_2);
      for (t4 = type$.CssValue_Combinator_2, lastCompound = null, initialCombinators = null; true;) {
        _this.whitespace$0();
        _0_0 = t1.peekChar$0();
        if (43 === _0_0) {
          t5 = t1._string_scanner$_position;
          t1.readChar$0();
          combinators.push(new A.CssValue0(B.Combinator_gRV0, _this.spanFrom$1(new A._SpanScannerState(t1, t5)), t4));
          continue;
        }
        if (62 === _0_0) {
          t5 = t1._string_scanner$_position;
          t1.readChar$0();
          combinators.push(new A.CssValue0(B.Combinator_8I80, _this.spanFrom$1(new A._SpanScannerState(t1, t5)), t4));
          continue;
        }
        if (126 === _0_0) {
          t5 = t1._string_scanner$_position;
          t1.readChar$0();
          combinators.push(new A.CssValue0(B.Combinator_y180, _this.spanFrom$1(new A._SpanScannerState(t1, t5)), t4));
          continue;
        }
        if (_0_0 == null)
          break;
        if (91 !== _0_0)
          if (46 !== _0_0)
            if (35 !== _0_0)
              if (37 !== _0_0)
                if (58 !== _0_0)
                  if (38 !== _0_0)
                    if (42 !== _0_0)
                      if (124 !== _0_0)
                        t5 = _this.lookingAtIdentifier$0();
                      else
                        t5 = true;
                    else
                      t5 = true;
                  else
                    t5 = true;
                else
                  t5 = true;
              else
                t5 = true;
            else
              t5 = true;
          else
            t5 = true;
        else
          t5 = true;
        if (t5) {
          if (lastCompound != null) {
            t5 = _this.spanFrom$1(componentStart);
            result = A.List_List$from(combinators, false, t4);
            result.fixed$length = Array;
            result.immutable$list = Array;
            components.push(new A.ComplexSelectorComponent0(lastCompound, result, t5));
          } else if (combinators.length !== 0) {
            componentStart = new A._SpanScannerState(t1, t1._string_scanner$_position);
            initialCombinators = combinators;
          }
          lastCompound = _this._selector$_compoundSelector$0();
          combinators = A._setArrayType([], t3);
          if (t1.peekChar$0() === 38)
            t1.error$1(0, string$.x22x26__ma);
          continue;
        }
        break;
      }
      t3 = combinators.length !== 0;
      if (t3 && _this._selector$_plainCss)
        t1.error$1(0, _s18_);
      else if (lastCompound != null) {
        t3 = _this.spanFrom$1(componentStart);
        components.push(new A.ComplexSelectorComponent0(lastCompound, A.List_List$unmodifiable(combinators, t4), t3));
      } else if (t3)
        initialCombinators = combinators;
      else
        t1.error$1(0, _s18_);
      t3 = initialCombinators == null ? B.List_empty13 : initialCombinators;
      return A.ComplexSelector$0(t3, components, _this.spanFrom$1(new A._SpanScannerState(t1, t2)), lineBreak);
    },
    _selector$_complexSelector$0() {
      return this._selector$_complexSelector$1$lineBreak(false);
    },
    _selector$_compoundSelector$0() {
      var t3, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        components = A._setArrayType([_this._selector$_simpleSelector$0()], type$.JSArray_SimpleSelector_2);
      for (t3 = _this._selector$_plainCss; _this._selector$_isSimpleSelectorStart$1(t1.peekChar$0());)
        components.push(_this._selector$_simpleSelector$1$allowParent(t3));
      return A.CompoundSelector$0(components, _this.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _selector$_simpleSelector$1$allowParent(allowParent) {
      var t2, $name, text, t3, suffix, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      if (allowParent == null)
        allowParent = _this._selector$_allowParent;
      switch (t1.peekChar$0()) {
        case 91:
          return _this._selector$_attributeSelector$0();
        case 46:
          t2 = t1._string_scanner$_position;
          t1.expectChar$1(46);
          return new A.ClassSelector0(_this.identifier$0(), _this.spanFrom$1(new A._SpanScannerState(t1, t2)));
        case 35:
          t2 = t1._string_scanner$_position;
          t1.expectChar$1(35);
          return new A.IDSelector0(_this.identifier$0(), _this.spanFrom$1(new A._SpanScannerState(t1, t2)));
        case 37:
          t2 = t1._string_scanner$_position;
          t1.expectChar$1(37);
          $name = _this.identifier$0();
          t2 = _this.spanFrom$1(new A._SpanScannerState(t1, t2));
          if (_this._selector$_plainCss)
            _this.error$2(0, string$.Placeh, t1.spanFrom$1(start));
          return new A.PlaceholderSelector0($name, t2);
        case 58:
          return _this._selector$_pseudoSelector$0();
        case 38:
          t2 = t1._string_scanner$_position;
          t1.expectChar$1(38);
          if (_this.lookingAtIdentifierBody$0()) {
            text = new A.StringBuffer("");
            _this._parser0$_identifierBody$1(text);
            if (text._contents.length === 0)
              t1.error$1(0, "Expected identifier body.");
            t3 = text._contents;
            suffix = t3.charCodeAt(0) == 0 ? t3 : t3;
          } else
            suffix = null;
          if (_this._selector$_plainCss && suffix != null)
            t1.error$3$length$position(0, string$.Parent, t1._string_scanner$_position - t2, t2);
          t2 = _this.spanFrom$1(new A._SpanScannerState(t1, t2));
          if (!allowParent)
            _this.error$2(0, "Parent selectors aren't allowed here.", t1.spanFrom$1(start));
          return new A.ParentSelector0(suffix, t2);
        default:
          return _this._selector$_typeOrUniversalSelector$0();
      }
    },
    _selector$_simpleSelector$0() {
      return this._selector$_simpleSelector$1$allowParent(null);
    },
    _selector$_attributeSelector$0() {
      var $name, operator, next, value, modifier, _this = this, _null = null,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expectChar$1(91);
      _this.whitespace$0();
      $name = _this._selector$_attributeName$0();
      _this.whitespace$0();
      if (t1.scanChar$1(93))
        return new A.AttributeSelector0($name, _null, _null, _null, _this.spanFrom$1(start));
      operator = _this._selector$_attributeOperator$0();
      _this.whitespace$0();
      next = t1.peekChar$0();
      value = next === 39 || next === 34 ? _this.string$0() : _this.identifier$0();
      _this.whitespace$0();
      next = t1.peekChar$0();
      modifier = next != null && A.CharacterExtension_get_isAlphabetic0(next) ? A.Primitives_stringFromCharCode(t1.readChar$0()) : _null;
      t1.expectChar$1(93);
      return new A.AttributeSelector0($name, operator, value, modifier, _this.spanFrom$1(start));
    },
    _selector$_attributeName$0() {
      var nameOrNamespace, _this = this,
        t1 = _this.scanner;
      if (t1.scanChar$1(42)) {
        t1.expectChar$1(124);
        return new A.QualifiedName0(_this.identifier$0(), "*");
      }
      if (t1.scanChar$1(124))
        return new A.QualifiedName0(_this.identifier$0(), "");
      nameOrNamespace = _this.identifier$0();
      if (t1.peekChar$0() !== 124 || t1.peekChar$1(1) === 61)
        return new A.QualifiedName0(nameOrNamespace, null);
      t1.readChar$0();
      return new A.QualifiedName0(_this.identifier$0(), nameOrNamespace);
    },
    _selector$_attributeOperator$0() {
      var t1 = this.scanner,
        t2 = t1._string_scanner$_position;
      switch (t1.readChar$0()) {
        case 61:
          return B.AttributeOperator_4QF0;
        case 126:
          t1.expectChar$1(61);
          return B.AttributeOperator_yT80;
        case 124:
          t1.expectChar$1(61);
          return B.AttributeOperator_jqB0;
        case 94:
          t1.expectChar$1(61);
          return B.AttributeOperator_cMb0;
        case 36:
          t1.expectChar$1(61);
          return B.AttributeOperator_qhE0;
        case 42:
          t1.expectChar$1(61);
          return B.AttributeOperator_61T0;
        default:
          t1.error$2$position(0, 'Expected "]".', t2);
      }
    },
    _selector$_pseudoSelector$0() {
      var element, $name, unvendored, selector, argument, t2, _this = this, _null = null,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expectChar$1(58);
      element = t1.scanChar$1(58);
      $name = _this.identifier$0();
      if (!t1.scanChar$1(40))
        return A.PseudoSelector$0($name, _this.spanFrom$1(start), _null, element, _null);
      _this.whitespace$0();
      unvendored = A.unvendor0($name);
      if (element)
        if ($._selectorPseudoElements0.contains$1(0, unvendored)) {
          selector = _this._selector$_selectorList$0();
          argument = _null;
        } else {
          argument = _this.declarationValue$1$allowEmpty(true);
          selector = _null;
        }
      else if ($._selectorPseudoClasses0.contains$1(0, unvendored)) {
        selector = _this._selector$_selectorList$0();
        argument = _null;
      } else if (unvendored === "nth-child" || unvendored === "nth-last-child") {
        argument = _this._selector$_aNPlusB$0();
        _this.whitespace$0();
        t2 = t1.peekChar$1(-1);
        if ((t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12) && t1.peekChar$0() !== 41) {
          _this.expectIdentifier$1("of");
          argument += " of";
          _this.whitespace$0();
          selector = _this._selector$_selectorList$0();
        } else
          selector = _null;
      } else {
        argument = B.JSString_methods.trimRight$0(_this.declarationValue$1$allowEmpty(true));
        selector = _null;
      }
      t1.expectChar$1(41);
      return A.PseudoSelector$0($name, _this.spanFrom$1(start), argument, element, selector);
    },
    _selector$_aNPlusB$0() {
      var t1, _0_0, t2, $self, next, _this = this;
      $label0$0: {
        t1 = _this.scanner;
        _0_0 = t1.peekChar$0();
        if (101 === _0_0 || 69 === _0_0) {
          _this.expectIdentifier$1("even");
          return "even";
        }
        if (111 === _0_0 || 79 === _0_0) {
          _this.expectIdentifier$1("odd");
          return "odd";
        }
        if (43 === _0_0 || 45 === _0_0) {
          t2 = "" + A.Primitives_stringFromCharCode(t1.readChar$0());
          break $label0$0;
        }
        t2 = "";
      }
      $self = t1.peekChar$0();
      if ($self != null && $self >= 48 && $self <= 57) {
        do {
          t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
          $self = t1.peekChar$0();
        } while ($self != null && $self >= 48 && $self <= 57);
        _this.whitespace$0();
        if (!_this.scanIdentChar$1(110))
          return t2.charCodeAt(0) == 0 ? t2 : t2;
      } else
        _this.expectIdentChar$1(110);
      t2 += A.Primitives_stringFromCharCode(110);
      _this.whitespace$0();
      next = t1.peekChar$0();
      if (next !== 43 && next !== 45)
        return t2.charCodeAt(0) == 0 ? t2 : t2;
      t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
      _this.whitespace$0();
      $self = t1.peekChar$0();
      if (!($self != null && $self >= 48 && $self <= 57))
        t1.error$1(0, "Expected a number.");
      do {
        t2 += A.Primitives_stringFromCharCode(t1.readChar$0());
        $self = t1.peekChar$0();
      } while ($self != null && $self >= 48 && $self <= 57);
      return t2.charCodeAt(0) == 0 ? t2 : t2;
    },
    _selector$_typeOrUniversalSelector$0() {
      var nameOrNamespace, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      if (t1.scanChar$1(42)) {
        if (!t1.scanChar$1(124))
          return new A.UniversalSelector0(null, _this.spanFrom$1(start));
        return t1.scanChar$1(42) ? new A.UniversalSelector0("*", _this.spanFrom$1(start)) : new A.TypeSelector0(new A.QualifiedName0(_this.identifier$0(), "*"), _this.spanFrom$1(start));
      } else if (t1.scanChar$1(124))
        return t1.scanChar$1(42) ? new A.UniversalSelector0("", _this.spanFrom$1(start)) : new A.TypeSelector0(new A.QualifiedName0(_this.identifier$0(), ""), _this.spanFrom$1(start));
      nameOrNamespace = _this.identifier$0();
      if (!t1.scanChar$1(124))
        return new A.TypeSelector0(new A.QualifiedName0(nameOrNamespace, null), _this.spanFrom$1(start));
      else if (t1.scanChar$1(42))
        return new A.UniversalSelector0(nameOrNamespace, _this.spanFrom$1(start));
      else
        return new A.TypeSelector0(new A.QualifiedName0(_this.identifier$0(), nameOrNamespace), _this.spanFrom$1(start));
    },
    _selector$_isSimpleSelectorStart$1(character) {
      var t1;
      $label0$0: {
        if (42 === character || 91 === character || 46 === character || 35 === character || 37 === character || 58 === character) {
          t1 = true;
          break $label0$0;
        }
        if (38 === character) {
          t1 = this._selector$_plainCss;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    }
  };
  A.SelectorParser_parse_closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        selector = t1._selector$_selectorList$0();
      t1 = t1.scanner;
      if (t1._string_scanner$_position !== t1.string.length)
        t1.error$1(0, "expected selector.");
      return selector;
    },
    $signature: 532
  };
  A.SelectorParser_parseCompoundSelector_closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        compound = t1._selector$_compoundSelector$0();
      t1 = t1.scanner;
      if (t1._string_scanner$_position !== t1.string.length)
        t1.error$1(0, "expected selector.");
      return compound;
    },
    $signature: 533
  };
  A.SelectorSearchVisitor0.prototype = {
    visitAttributeSelector$1(attribute) {
      return null;
    },
    visitClassSelector$1(klass) {
      return null;
    },
    visitIDSelector$1(id) {
      return null;
    },
    visitParentSelector$1(placeholder) {
      return null;
    },
    visitPlaceholderSelector$1(placeholder) {
      return null;
    },
    visitTypeSelector$1(type) {
      return null;
    },
    visitUniversalSelector$1(universal) {
      return null;
    },
    visitComplexSelector$1(complex) {
      return A.IterableExtension_search0(complex.components, new A.SelectorSearchVisitor_visitComplexSelector_closure0(this));
    },
    visitCompoundSelector$1(compound) {
      return A.IterableExtension_search0(compound.components, new A.SelectorSearchVisitor_visitCompoundSelector_closure0(this));
    },
    visitPseudoSelector$1(pseudo) {
      return A.NullableExtension_andThen0(pseudo.selector, this.get$visitSelectorList());
    },
    visitSelectorList$1(list) {
      return A.IterableExtension_search0(list.components, this.get$visitComplexSelector());
    }
  };
  A.SelectorSearchVisitor_visitComplexSelector_closure0.prototype = {
    call$1(component) {
      return this.$this.visitCompoundSelector$1(component.selector);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("SelectorSearchVisitor0.T?(ComplexSelectorComponent0)");
    }
  };
  A.SelectorSearchVisitor_visitCompoundSelector_closure0.prototype = {
    call$1(simple) {
      return simple.accept$1(this.$this);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("SelectorSearchVisitor0.T?(SimpleSelector0)");
    }
  };
  A.serialize_closure0.prototype = {
    call$1(codeUnit) {
      return codeUnit > 127;
    },
    $signature: 45
  };
  A._SerializeVisitor0.prototype = {
    visitCssStylesheet$1(node) {
      var t1, t2, t3, t4, t5, t6, t7, previous, previous0, t8, _this = this;
      for (t1 = J.get$iterator$ax(node.get$children(node)), t2 = !_this._serialize0$_inspect, t3 = _this._serialize0$_style === B.OutputStyle_10, t4 = !t3, t5 = type$.CssParentNode_2, t6 = _this._serialize0$_buffer, t7 = _this._lineFeed.text, previous = null; t1.moveNext$0();) {
        previous0 = t1.get$current(t1);
        if (t2)
          t8 = t3 ? previous0.accept$1(B._IsInvisibleVisitor_true_true0) : previous0.accept$1(B._IsInvisibleVisitor_true_false0);
        else
          t8 = false;
        if (t8)
          continue;
        if (previous != null) {
          if (t5._is(previous) ? previous.get$isChildless() : !(previous instanceof A.ModifiableCssComment0))
            t6.writeCharCode$1(59);
          if (_this._serialize0$_isTrailingComment$2(previous0, previous)) {
            if (t4)
              t6.writeCharCode$1(32);
          } else {
            if (t4)
              t6.write$1(0, t7);
            if (previous.get$isGroupEnd())
              if (t4)
                t6.write$1(0, t7);
          }
        }
        previous0.accept$1(_this);
        previous = previous0;
      }
      if (previous != null)
        t1 = (t5._is(previous) ? previous.get$isChildless() : !(previous instanceof A.ModifiableCssComment0)) && t4;
      else
        t1 = false;
      if (t1)
        t6.writeCharCode$1(59);
    },
    visitCssComment$1(node) {
      this._serialize0$_buffer.forSpan$2(node.span, new A._SerializeVisitor_visitCssComment_closure0(this, node));
    },
    visitCssAtRule$1(node) {
      var t1, _this = this;
      _this._serialize0$_writeIndentation$0();
      t1 = _this._serialize0$_buffer;
      t1.forSpan$2(node.span, new A._SerializeVisitor_visitCssAtRule_closure0(_this, node));
      if (!node.isChildless) {
        if (_this._serialize0$_style !== B.OutputStyle_10)
          t1.writeCharCode$1(32);
        _this._serialize0$_visitChildren$1(node);
      }
    },
    visitCssMediaRule$1(node) {
      var t1, _this = this;
      _this._serialize0$_writeIndentation$0();
      t1 = _this._serialize0$_buffer;
      t1.forSpan$2(node.span, new A._SerializeVisitor_visitCssMediaRule_closure0(_this, node));
      if (_this._serialize0$_style !== B.OutputStyle_10)
        t1.writeCharCode$1(32);
      _this._serialize0$_visitChildren$1(node);
    },
    visitCssImport$1(node) {
      this._serialize0$_writeIndentation$0();
      this._serialize0$_buffer.forSpan$2(node.span, new A._SerializeVisitor_visitCssImport_closure0(this, node));
    },
    _serialize0$_writeImportUrl$1(url) {
      var urlContents, maybeQuote, _this = this;
      if (_this._serialize0$_style !== B.OutputStyle_10 || url.charCodeAt(0) !== 117) {
        _this._serialize0$_buffer.write$1(0, url);
        return;
      }
      urlContents = B.JSString_methods.substring$2(url, 4, url.length - 1);
      maybeQuote = urlContents.charCodeAt(0);
      if (maybeQuote === 39 || maybeQuote === 34)
        _this._serialize0$_buffer.write$1(0, urlContents);
      else
        _this._serialize0$_visitQuotedString$1(urlContents);
    },
    visitCssKeyframeBlock$1(node) {
      var t1, _this = this;
      _this._serialize0$_writeIndentation$0();
      t1 = _this._serialize0$_buffer;
      t1.forSpan$2(node.selector.span, new A._SerializeVisitor_visitCssKeyframeBlock_closure0(_this, node));
      if (_this._serialize0$_style !== B.OutputStyle_10)
        t1.writeCharCode$1(32);
      _this._serialize0$_visitChildren$1(node);
    },
    _serialize0$_visitMediaQuery$1(query) {
      var t1, _1_0, _2_0, condition, operator, t2, _this = this,
        _0_0 = query.modifier;
      if (_0_0 != null) {
        t1 = _this._serialize0$_buffer;
        t1.write$1(0, _0_0);
        t1.writeCharCode$1(32);
      }
      _1_0 = query.type;
      if (_1_0 != null) {
        t1 = _this._serialize0$_buffer;
        t1.write$1(0, _1_0);
        if (query.conditions.length !== 0)
          t1.write$1(0, " and ");
      }
      _2_0 = query.conditions;
      if (_2_0.length === 1)
        t1 = B.JSString_methods.startsWith$1(_2_0[0], "(not ");
      else
        t1 = false;
      if (t1) {
        t1 = _this._serialize0$_buffer;
        t1.write$1(0, "not ");
        condition = B.JSArray_methods.get$first(_2_0);
        t1.write$1(0, B.JSString_methods.substring$2(condition, 5, condition.length - 1));
      } else {
        operator = query.conjunction ? "and" : "or";
        t1 = _this._serialize0$_style === B.OutputStyle_10 ? operator + " " : " " + operator + " ";
        t2 = _this._serialize0$_buffer;
        _this._serialize0$_writeBetween$3(_2_0, t1, t2.get$write(t2));
      }
    },
    visitCssStyleRule$1(node) {
      var t1, _this = this;
      _this._serialize0$_writeIndentation$0();
      t1 = _this._serialize0$_buffer;
      t1.forSpan$2(node._style_rule0$_selector._box0$_inner.value.span, new A._SerializeVisitor_visitCssStyleRule_closure0(_this, node));
      if (_this._serialize0$_style !== B.OutputStyle_10)
        t1.writeCharCode$1(32);
      _this._serialize0$_visitChildren$1(node);
    },
    visitCssSupportsRule$1(node) {
      var t1, _this = this;
      _this._serialize0$_writeIndentation$0();
      t1 = _this._serialize0$_buffer;
      t1.forSpan$2(node.span, new A._SerializeVisitor_visitCssSupportsRule_closure0(_this, node));
      if (_this._serialize0$_style !== B.OutputStyle_10)
        t1.writeCharCode$1(32);
      _this._serialize0$_visitChildren$1(node);
    },
    visitCssDeclaration$1(node) {
      var error, stackTrace, error0, stackTrace0, t1, t2, exception, _this = this;
      _this._serialize0$_writeIndentation$0();
      t1 = node.name;
      _this._serialize0$_write$1(t1);
      t2 = _this._serialize0$_buffer;
      t2.writeCharCode$1(58);
      if (J.startsWith$1$s(t1.value, "--") && node.parsedAsCustomProperty)
        t2.forSpan$2(node.value.span, new A._SerializeVisitor_visitCssDeclaration_closure1(_this, node));
      else {
        if (_this._serialize0$_style !== B.OutputStyle_10)
          t2.writeCharCode$1(32);
        try {
          t2.forSpan$2(node.valueSpanForMap, new A._SerializeVisitor_visitCssDeclaration_closure2(_this, node));
        } catch (exception) {
          t1 = A.unwrapException(exception);
          if (t1 instanceof A.MultiSpanSassScriptException0) {
            error = t1;
            stackTrace = A.getTraceFromException(exception);
            A.throwWithTrace0(A.MultiSpanSassException$0(error.message, node.value.span, error.primaryLabel, error.secondarySpans, null), error, stackTrace);
          } else if (t1 instanceof A.SassScriptException0) {
            error0 = t1;
            stackTrace0 = A.getTraceFromException(exception);
            t1 = error0.message;
            A.throwWithTrace0(new A.SassException0(B.Set_empty, t1, node.value.span), error0, stackTrace0);
          } else
            throw exception;
        }
      }
    },
    _serialize0$_writeFoldedValue$1(node) {
      var t1, t2, next, t3,
        scanner = A.StringScanner$(type$.SassString_2._as(node.value.value)._string0$_text, null, null);
      for (t1 = scanner.string.length, t2 = this._serialize0$_buffer; scanner._string_scanner$_position !== t1;) {
        next = scanner.readChar$0();
        if (next !== 10) {
          t2.writeCharCode$1(next);
          continue;
        }
        t2.writeCharCode$1(32);
        while (true) {
          t3 = scanner.peekChar$0();
          if (!(t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12))
            break;
          scanner.readChar$0();
        }
      }
    },
    _serialize0$_writeReindentedValue$1(node) {
      var _0_0, t1, _this = this,
        value = type$.SassString_2._as(node.value.value)._string0$_text;
      $label0$0: {
        _0_0 = _this._serialize0$_minimumIndentation$1(value);
        if (_0_0 == null) {
          _this._serialize0$_buffer.write$1(0, value);
          break $label0$0;
        }
        if (-1 === _0_0) {
          t1 = _this._serialize0$_buffer;
          t1.write$1(0, A.trimAsciiRight0(value, true));
          t1.writeCharCode$1(32);
          break $label0$0;
        }
        t1 = node.name.span;
        t1 = t1.get$start(t1);
        _this._serialize0$_writeWithIndent$2(value, Math.min(_0_0, t1.file.getColumn$1(t1.offset)));
      }
    },
    _serialize0$_minimumIndentation$1(text) {
      var character, t2, min, next, min0,
        scanner = A.LineScanner$(text),
        t1 = scanner.string.length;
      while (true) {
        if (scanner._string_scanner$_position !== t1) {
          character = scanner.super$StringScanner$readChar();
          scanner._adjustLineAndColumn$1(character);
          t2 = character !== 10;
        } else
          t2 = false;
        if (!t2)
          break;
      }
      if (scanner._string_scanner$_position === t1)
        return scanner.peekChar$1(-1) === 10 ? -1 : null;
      for (min = null; scanner._string_scanner$_position !== t1;) {
        for (; scanner._string_scanner$_position !== t1;) {
          next = scanner.peekChar$0();
          if (next !== 32 && next !== 9)
            break;
          scanner._adjustLineAndColumn$1(scanner.super$StringScanner$readChar());
        }
        if (scanner._string_scanner$_position === t1 || scanner.scanChar$1(10))
          continue;
        min0 = scanner._line_scanner$_column;
        min = min == null ? min0 : Math.min(min, min0);
        while (true) {
          if (scanner._string_scanner$_position !== t1) {
            character = scanner.super$StringScanner$readChar();
            scanner._adjustLineAndColumn$1(character);
            t2 = character !== 10;
          } else
            t2 = false;
          if (!t2)
            break;
        }
      }
      return min == null ? -1 : min;
    },
    _serialize0$_writeWithIndent$2(text, minimumIndentation) {
      var t1, t2, t3, character, lineStart, newlines, end,
        scanner = A.LineScanner$(text);
      for (t1 = scanner.string, t2 = t1.length, t3 = this._serialize0$_buffer; scanner._string_scanner$_position !== t2;) {
        character = scanner.super$StringScanner$readChar();
        scanner._adjustLineAndColumn$1(character);
        if (character === 10)
          break;
        t3.writeCharCode$1(character);
      }
      for (; true;) {
        lineStart = scanner._string_scanner$_position;
        for (newlines = 1; true;) {
          if (scanner._string_scanner$_position === t2) {
            t3.writeCharCode$1(32);
            return;
          }
          $label0$2: {
            character = scanner.super$StringScanner$readChar();
            scanner._adjustLineAndColumn$1(character);
            if (32 === character || 9 === character)
              continue;
            if (10 === character) {
              lineStart = scanner._string_scanner$_position;
              ++newlines;
              break $label0$2;
            }
            break;
          }
        }
        this._serialize0$_writeTimes$2(10, newlines);
        this._serialize0$_writeIndentation$0();
        end = scanner._string_scanner$_position;
        t3.write$1(0, B.JSString_methods.substring$2(t1, lineStart + minimumIndentation, end));
        for (; true;) {
          if (scanner._string_scanner$_position === t2)
            return;
          character = scanner.super$StringScanner$readChar();
          scanner._adjustLineAndColumn$1(character);
          if (character === 10)
            break;
          t3.writeCharCode$1(character);
        }
      }
    },
    visitCalculation$1(value) {
      var t2, _this = this,
        t1 = _this._serialize0$_buffer;
      t1.write$1(0, value.name);
      t1.writeCharCode$1(40);
      t2 = _this._serialize0$_style === B.OutputStyle_10 ? "," : ", ";
      _this._serialize0$_writeBetween$3(value.$arguments, t2, _this.get$_serialize0$_writeCalculationValue());
      t1.writeCharCode$1(41);
    },
    _serialize0$_writeCalculationValue$1(value) {
      var _2_4_isSet, _2_4, t1, _0_0, _1_0, first, rest, operator, left, right, parenthesizeLeft, operatorWhitespace, t2, parenthesizeRight, _this = this, _null = null;
      $label1$1: {
        _2_4_isSet = value instanceof A.SassNumber0;
        if (_2_4_isSet) {
          _2_4 = value.get$hasComplexUnits();
          t1 = _2_4 && !_this._serialize0$_inspect;
        } else {
          _2_4 = _null;
          t1 = false;
        }
        if (t1)
          throw A.wrapException(A.SassScriptException$0(A.S(value) + " isn't a valid CSS value.", _null));
        if (_2_4_isSet && !isFinite(value._number1$_value)) {
          $label0$0: {
            _0_0 = value._number1$_value;
            if (1 / 0 === _0_0) {
              _this._serialize0$_buffer.write$1(0, "infinity");
              break $label0$0;
            }
            if (-1 / 0 === _0_0) {
              _this._serialize0$_buffer.write$1(0, "-infinity");
              break $label0$0;
            }
            if (isNaN(_0_0))
              _this._serialize0$_buffer.write$1(0, "NaN");
          }
          t1 = J.getInterceptor$x(value);
          _this._serialize0$_writeCalculationUnits$2(t1.get$numeratorUnits(value), t1.get$denominatorUnits(value));
          break $label1$1;
        }
        if (_2_4_isSet)
          t1 = _2_4;
        else
          t1 = false;
        if (t1) {
          _this._serialize0$_writeNumber$1(value._number1$_value);
          t1 = J.getInterceptor$x(value);
          _1_0 = t1.get$numeratorUnits(value);
          if (_1_0.length >= 1) {
            first = _1_0[0];
            rest = B.JSArray_methods.sublist$1(_1_0, 1);
            _this._serialize0$_buffer.write$1(0, first);
            _this._serialize0$_writeCalculationUnits$2(rest, t1.get$denominatorUnits(value));
          } else
            _this._serialize0$_writeCalculationUnits$2(A._setArrayType([], type$.JSArray_String), t1.get$denominatorUnits(value));
          break $label1$1;
        }
        if (value instanceof A.Value0) {
          value.accept$1(_this);
          break $label1$1;
        }
        t1 = value instanceof A.CalculationOperation0;
        if (t1) {
          operator = value._calculation0$_operator;
          left = value._calculation0$_left;
          right = value._calculation0$_right;
          right = right;
        } else {
          right = _null;
          left = right;
          operator = left;
        }
        if (t1) {
          parenthesizeLeft = left instanceof A.CalculationOperation0 && left._calculation0$_operator.precedence < operator.precedence;
          if (parenthesizeLeft)
            _this._serialize0$_buffer.writeCharCode$1(40);
          _this._serialize0$_writeCalculationValue$1(left);
          if (parenthesizeLeft)
            _this._serialize0$_buffer.writeCharCode$1(41);
          operatorWhitespace = _this._serialize0$_style !== B.OutputStyle_10 || operator.precedence === 1;
          if (operatorWhitespace)
            _this._serialize0$_buffer.writeCharCode$1(32);
          t1 = _this._serialize0$_buffer;
          t1.write$1(0, operator.operator);
          if (operatorWhitespace)
            t1.writeCharCode$1(32);
          if (!(right instanceof A.CalculationOperation0 && _this._serialize0$_parenthesizeCalculationRhs$2(operator, right._calculation0$_operator)))
            if (operator === B.CalculationOperator_Qf10) {
              if (right instanceof A.SassNumber0)
                t2 = isFinite(right._number1$_value) ? right.get$hasComplexUnits() : right.get$hasUnits();
              else
                t2 = false;
              parenthesizeRight = t2;
            } else
              parenthesizeRight = false;
          else
            parenthesizeRight = true;
          if (parenthesizeRight)
            t1.writeCharCode$1(40);
          _this._serialize0$_writeCalculationValue$1(right);
          if (parenthesizeRight)
            t1.writeCharCode$1(41);
        }
      }
    },
    _serialize0$_writeCalculationUnits$2(numeratorUnits, denominatorUnits) {
      var t1, t2, t3, t4;
      for (t1 = J.get$iterator$ax(numeratorUnits), t2 = this._serialize0$_buffer, t3 = this._serialize0$_style !== B.OutputStyle_10; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        if (t3)
          t2.writeCharCode$1(32);
        t2.writeCharCode$1(42);
        if (t3)
          t2.writeCharCode$1(32);
        t2.writeCharCode$1(49);
        t2.write$1(0, t4);
      }
      for (t1 = J.get$iterator$ax(denominatorUnits); t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        if (t3)
          t2.writeCharCode$1(32);
        t2.writeCharCode$1(47);
        if (t3)
          t2.writeCharCode$1(32);
        t2.writeCharCode$1(49);
        t2.write$1(0, t4);
      }
    },
    _serialize0$_parenthesizeCalculationRhs$2(outer, right) {
      var t1;
      $label0$0: {
        if (B.CalculationOperator_Qf10 === outer) {
          t1 = true;
          break $label0$0;
        }
        if (B.CalculationOperator_g2q0 === outer) {
          t1 = false;
          break $label0$0;
        }
        t1 = right === B.CalculationOperator_g2q0 || right === B.CalculationOperator_CxF0;
        break $label0$0;
      }
      return t1;
    },
    visitColor$1(value) {
      var hexLength, _0_0, t1, $name, _1_0, opaque, t2, _3_0, _this = this;
      if (_this._serialize0$_style === B.OutputStyle_10)
        if (!A.fuzzyEquals0(value._color1$_alpha, 1))
          _this._serialize0$_writeRgb$1(value);
        else {
          hexLength = _this._serialize0$_canUseShortHex$1(value) ? 4 : 7;
          _0_0 = $.$get$namesByColor0().$index(0, value);
          if (_0_0 != null) {
            t1 = _0_0.length <= hexLength;
            $name = _0_0;
          } else {
            $name = null;
            t1 = false;
          }
          if (t1)
            _this._serialize0$_buffer.write$1(0, $name);
          else {
            t1 = _this._serialize0$_buffer;
            if (_this._serialize0$_canUseShortHex$1(value)) {
              t1.writeCharCode$1(35);
              t1.writeCharCode$1(A.hexCharFor0(value.get$red(0) & 15));
              t1.writeCharCode$1(A.hexCharFor0(value.get$green(0) & 15));
              t1.writeCharCode$1(A.hexCharFor0(value.get$blue(0) & 15));
            } else {
              t1.writeCharCode$1(35);
              _this._serialize0$_writeHexComponent$1(value.get$red(0));
              _this._serialize0$_writeHexComponent$1(value.get$green(0));
              _this._serialize0$_writeHexComponent$1(value.get$blue(0));
            }
          }
        }
      else {
        _1_0 = value.format;
        if (_1_0 != null)
          $label0$0: {
            if (B._ColorFormatEnum_rgbFunction0 === _1_0) {
              _this._serialize0$_writeRgb$1(value);
              break $label0$0;
            }
            if (B._ColorFormatEnum_hslFunction0 === _1_0) {
              t1 = value._color1$_alpha;
              opaque = A.fuzzyEquals0(t1, 1);
              t2 = _this._serialize0$_buffer;
              t2.write$1(0, opaque ? "hsl(" : "hsla(");
              _this._serialize0$_writeNumber$1(value.get$hue(0));
              t2.write$1(0, ", ");
              _this._serialize0$_writeNumber$1(value.get$saturation(0));
              t2.writeCharCode$1(37);
              t2.write$1(0, ", ");
              _this._serialize0$_writeNumber$1(value.get$lightness(0));
              t2.writeCharCode$1(37);
              if (!opaque) {
                t2.write$1(0, ", ");
                _this._serialize0$_writeNumber$1(t1);
              }
              t2.writeCharCode$1(41);
              break $label0$0;
            }
            if (_1_0 instanceof A.SpanColorFormat0) {
              _this._serialize0$_buffer.write$1(0, _1_0._color1$_span.get$text());
              break $label0$0;
            }
          }
        else {
          _3_0 = $.$get$namesByColor0().$index(0, value);
          if (_3_0 != null) {
            t1 = !A.fuzzyEquals0(value._color1$_alpha, 0);
            $name = _3_0;
          } else {
            $name = null;
            t1 = false;
          }
          if (t1)
            _this._serialize0$_buffer.write$1(0, $name);
          else if (A.fuzzyEquals0(value._color1$_alpha, 1)) {
            _this._serialize0$_buffer.writeCharCode$1(35);
            _this._serialize0$_writeHexComponent$1(value.get$red(0));
            _this._serialize0$_writeHexComponent$1(value.get$green(0));
            _this._serialize0$_writeHexComponent$1(value.get$blue(0));
          } else
            _this._serialize0$_writeRgb$1(value);
        }
      }
    },
    _serialize0$_writeRgb$1(value) {
      var t3,
        t1 = value._color1$_alpha,
        opaque = A.fuzzyEquals0(t1, 1),
        t2 = this._serialize0$_buffer;
      t2.write$1(0, opaque ? "rgb(" : "rgba(");
      t2.write$1(0, value.get$red(0));
      t3 = this._serialize0$_style === B.OutputStyle_10;
      t2.write$1(0, t3 ? "," : ", ");
      t2.write$1(0, value.get$green(0));
      t2.write$1(0, t3 ? "," : ", ");
      t2.write$1(0, value.get$blue(0));
      if (!opaque) {
        t2.write$1(0, t3 ? "," : ", ");
        this._serialize0$_writeNumber$1(t1);
      }
      t2.writeCharCode$1(41);
    },
    _serialize0$_canUseShortHex$1(color) {
      var t1 = color.get$red(0);
      if ((t1 & 15) === B.JSInt_methods._shrOtherPositive$1(t1, 4)) {
        t1 = color.get$green(0);
        if ((t1 & 15) === B.JSInt_methods._shrOtherPositive$1(t1, 4)) {
          t1 = color.get$blue(0);
          t1 = (t1 & 15) === B.JSInt_methods._shrOtherPositive$1(t1, 4);
        } else
          t1 = false;
      } else
        t1 = false;
      return t1;
    },
    _serialize0$_writeHexComponent$1(color) {
      var t1 = this._serialize0$_buffer;
      t1.writeCharCode$1(A.hexCharFor0(B.JSInt_methods._shrOtherPositive$1(color, 4)));
      t1.writeCharCode$1(A.hexCharFor0(color & 15));
    },
    visitList$1(value) {
      var t2, t3, singleton, t4, t5, _this = this,
        t1 = value._list1$_hasBrackets;
      if (t1)
        _this._serialize0$_buffer.writeCharCode$1(91);
      else if (value._list1$_contents.length === 0) {
        if (!_this._serialize0$_inspect)
          throw A.wrapException(A.SassScriptException$0("() isn't a valid CSS value.", null));
        _this._serialize0$_buffer.write$1(0, "()");
        return;
      }
      t2 = _this._serialize0$_inspect;
      if (t2)
        if (value._list1$_contents.length === 1) {
          t3 = value._list1$_separator;
          t3 = t3 === B.ListSeparator_ECn0 || t3 === B.ListSeparator_cQA0;
          singleton = t3;
        } else
          singleton = false;
      else
        singleton = false;
      if (singleton && !t1)
        _this._serialize0$_buffer.writeCharCode$1(40);
      t3 = value._list1$_contents;
      t3 = t2 ? t3 : new A.WhereIterable(t3, new A._SerializeVisitor_visitList_closure2(), A._arrayInstanceType(t3)._eval$1("WhereIterable<1>"));
      t4 = value._list1$_separator;
      t5 = _this._serialize0$_separatorString$1(t4);
      _this._serialize0$_writeBetween$3(t3, t5, t2 ? new A._SerializeVisitor_visitList_closure3(_this, value) : new A._SerializeVisitor_visitList_closure4(_this));
      if (singleton) {
        t2 = _this._serialize0$_buffer;
        t2.write$1(0, t4.separator);
        if (!t1)
          t2.writeCharCode$1(41);
      }
      if (t1)
        _this._serialize0$_buffer.writeCharCode$1(93);
    },
    _serialize0$_separatorString$1(separator) {
      var t1;
      $label0$0: {
        if (B.ListSeparator_ECn0 === separator) {
          t1 = this._serialize0$_style === B.OutputStyle_10 ? "," : ", ";
          break $label0$0;
        }
        if (B.ListSeparator_cQA0 === separator) {
          t1 = this._serialize0$_style === B.OutputStyle_10 ? "/" : " / ";
          break $label0$0;
        }
        if (B.ListSeparator_nbm0 === separator) {
          t1 = " ";
          break $label0$0;
        }
        t1 = "";
        break $label0$0;
      }
      return t1;
    },
    _serialize0$_elementNeedsParens$2(separator, value) {
      var t1;
      $label1$1: {
        if (value instanceof A.SassList0 && value._list1$_contents.length > 1 && !value._list1$_hasBrackets) {
          $label0$0: {
            if (B.ListSeparator_ECn0 === separator) {
              t1 = value._list1$_separator === B.ListSeparator_ECn0;
              break $label0$0;
            }
            if (B.ListSeparator_cQA0 === separator) {
              t1 = value._list1$_separator;
              t1 = t1 === B.ListSeparator_ECn0 || t1 === B.ListSeparator_cQA0;
              break $label0$0;
            }
            t1 = value._list1$_separator !== B.ListSeparator_undecided_null_undecided0;
            break $label0$0;
          }
          break $label1$1;
        }
        t1 = false;
        break $label1$1;
      }
      return t1;
    },
    visitMap$1(map) {
      var t1, t2, _this = this;
      if (!_this._serialize0$_inspect)
        throw A.wrapException(A.SassScriptException$0(map.toString$0(0) + " isn't a valid CSS value.", null));
      t1 = _this._serialize0$_buffer;
      t1.writeCharCode$1(40);
      t2 = map._map0$_contents;
      _this._serialize0$_writeBetween$3(t2.get$entries(t2), ", ", new A._SerializeVisitor_visitMap_closure0(_this));
      t1.writeCharCode$1(41);
    },
    _serialize0$_writeMapElement$1(value) {
      var needsParens = value instanceof A.SassList0 && value._list1$_separator === B.ListSeparator_ECn0 && !value._list1$_hasBrackets;
      if (needsParens)
        this._serialize0$_buffer.writeCharCode$1(40);
      value.accept$1(this);
      if (needsParens)
        this._serialize0$_buffer.writeCharCode$1(41);
    },
    visitNumber$1(value) {
      var before, after, t1, _1_0, _this = this,
        _0_0 = value.asSlash;
      if (type$.Record_2_nullable_Object_and_nullable_Object._is(_0_0)) {
        before = _0_0._0;
        after = _0_0._1;
        _this.visitNumber$1(before);
        _this._serialize0$_buffer.writeCharCode$1(47);
        _this.visitNumber$1(after);
        return;
      }
      t1 = value._number1$_value;
      if (!isFinite(t1)) {
        _this.visitCalculation$1(new A.SassCalculation0("calc", A.List_List$unmodifiable(A._setArrayType([value], type$.JSArray_Object), type$.Object)));
        return;
      }
      if (value.get$hasComplexUnits()) {
        if (!_this._serialize0$_inspect)
          throw A.wrapException(A.SassScriptException$0(value.toString$0(0) + " isn't a valid CSS value.", null));
        _this.visitCalculation$1(new A.SassCalculation0("calc", A.List_List$unmodifiable(A._setArrayType([value], type$.JSArray_Object), type$.Object)));
      } else {
        _this._serialize0$_writeNumber$1(t1);
        _1_0 = value.get$numeratorUnits(value);
        if (_1_0.length === 1)
          _this._serialize0$_buffer.write$1(0, _1_0[0]);
      }
    },
    _serialize0$_writeNumber$1(number) {
      var text, _this = this,
        _0_0 = A.fuzzyAsInt0(number);
      if (_0_0 != null) {
        _this._serialize0$_buffer.write$1(0, _this._serialize0$_removeExponent$1(B.JSInt_methods.toString$0(_0_0)));
        return;
      }
      text = _this._serialize0$_removeExponent$1(B.JSNumber_methods.toString$0(number));
      if (text.length < 12) {
        if (_this._serialize0$_style === B.OutputStyle_10 && text.charCodeAt(0) === 48)
          text = B.JSString_methods.substring$1(text, 1);
        _this._serialize0$_buffer.write$1(0, text);
        return;
      }
      _this._serialize0$_writeRounded$1(text);
    },
    _serialize0$_removeExponent$1(text) {
      var buffer, t2, t3, additionalZeroes,
        negative = text.charCodeAt(0) === 45,
        exponent = A._Cell$(),
        t1 = text.length,
        i = 0;
      while (true) {
        if (!(i < t1)) {
          buffer = null;
          break;
        }
        c$0: {
          if (text.charCodeAt(i) !== 101)
            break c$0;
          buffer = new A.StringBuffer("");
          t2 = buffer._contents = "" + A.Primitives_stringFromCharCode(text.charCodeAt(0));
          if (negative) {
            t2 += A.Primitives_stringFromCharCode(text.charCodeAt(1));
            buffer._contents = t2;
            if (i > 3)
              buffer._contents = t2 + B.JSString_methods.substring$2(text, 3, i);
          } else if (i > 2)
            buffer._contents = t2 + B.JSString_methods.substring$2(text, 2, i);
          exponent.__late_helper$_value = A.int_parse(B.JSString_methods.substring$2(text, i + 1, t1), null);
          break;
        }
        ++i;
      }
      if (buffer == null)
        return text;
      if (exponent._readLocal$0() > 0) {
        t1 = exponent._readLocal$0();
        t2 = buffer._contents;
        t3 = negative ? 1 : 0;
        additionalZeroes = t1 - (t2.length - 1 - t3);
        for (t1 = t2, i = 0; i < additionalZeroes; ++i) {
          t1 = A.Primitives_stringFromCharCode(48);
          t1 = buffer._contents += t1;
        }
        return t1.charCodeAt(0) == 0 ? t1 : t1;
      } else {
        negative = text.charCodeAt(0) === 45;
        t1 = (negative ? "" + A.Primitives_stringFromCharCode(45) : "") + "0.";
        i = -1;
        while (true) {
          t2 = exponent.__late_helper$_value;
          if (t2 === exponent)
            A.throwExpression(A.LateError$localNI(""));
          if (!(i > t2))
            break;
          t1 += A.Primitives_stringFromCharCode(48);
          --i;
        }
        if (negative) {
          t2 = buffer._contents;
          t2 = B.JSString_methods.substring$1(t2.charCodeAt(0) == 0 ? t2 : t2, 1);
        } else
          t2 = buffer;
        t2 = t1 + A.S(t2);
        return t2.charCodeAt(0) == 0 ? t2 : t2;
      }
    },
    _serialize0$_writeRounded$1(text) {
      var t1, digits, negative, textIndex, digitsIndex, textIndex0, codeUnit, digitsIndex0, indexAfterPrecision, digitsIndex1, newDigit, writtenIndex, t2, _this = this;
      if (B.JSString_methods.endsWith$1(text, ".0")) {
        _this._serialize0$_buffer.write$1(0, B.JSString_methods.substring$2(text, 0, text.length - 2));
        return;
      }
      t1 = text.length;
      digits = new Uint8Array(t1 + 1);
      negative = text.charCodeAt(0) === 45;
      textIndex = negative ? 1 : 0;
      for (digitsIndex = 1; true; textIndex = textIndex0, digitsIndex = digitsIndex0) {
        if (textIndex === t1) {
          _this._serialize0$_buffer.write$1(0, text);
          return;
        }
        textIndex0 = textIndex + 1;
        codeUnit = text.charCodeAt(textIndex);
        if (codeUnit === 46) {
          textIndex = textIndex0;
          break;
        }
        digitsIndex0 = digitsIndex + 1;
        digits[digitsIndex] = codeUnit - 48;
      }
      indexAfterPrecision = textIndex + 10;
      if (indexAfterPrecision >= t1) {
        _this._serialize0$_buffer.write$1(0, text);
        return;
      }
      for (digitsIndex0 = digitsIndex; textIndex < indexAfterPrecision; textIndex = textIndex0, digitsIndex0 = digitsIndex1) {
        digitsIndex1 = digitsIndex0 + 1;
        textIndex0 = textIndex + 1;
        digits[digitsIndex0] = text.charCodeAt(textIndex) - 48;
      }
      if (text.charCodeAt(textIndex) - 48 >= 5)
        for (; true; digitsIndex0 = digitsIndex1) {
          digitsIndex1 = digitsIndex0 - 1;
          newDigit = digits[digitsIndex1] + 1;
          digits[digitsIndex1] = newDigit;
          if (newDigit !== 10)
            break;
        }
      for (; digitsIndex0 < digitsIndex; ++digitsIndex0)
        digits[digitsIndex0] = 0;
      while (true) {
        t1 = digitsIndex0 > digitsIndex;
        if (!(t1 && digits[digitsIndex0 - 1] === 0))
          break;
        --digitsIndex0;
      }
      if (digitsIndex0 === 2 && digits[0] === 0 && digits[1] === 0) {
        _this._serialize0$_buffer.writeCharCode$1(48);
        return;
      }
      if (negative)
        _this._serialize0$_buffer.writeCharCode$1(45);
      if (digits[0] === 0)
        writtenIndex = _this._serialize0$_style === B.OutputStyle_10 && digits[1] === 0 ? 2 : 1;
      else
        writtenIndex = 0;
      for (t2 = _this._serialize0$_buffer; writtenIndex < digitsIndex; ++writtenIndex)
        t2.writeCharCode$1(48 + digits[writtenIndex]);
      if (t1) {
        t2.writeCharCode$1(46);
        for (; writtenIndex < digitsIndex0; ++writtenIndex)
          t2.writeCharCode$1(48 + digits[writtenIndex]);
      }
    },
    _serialize0$_visitQuotedString$2$forceDoubleQuote(string, forceDoubleQuote) {
      var t1, includesSingleQuote, includesDoubleQuote, i, char, _1_2, _1_4, _0_0, quote, _this = this,
        buffer = forceDoubleQuote ? _this._serialize0$_buffer : new A.StringBuffer("");
      if (forceDoubleQuote)
        buffer.writeCharCode$1(34);
      for (t1 = string.length, includesSingleQuote = false, includesDoubleQuote = false, i = 0; i < t1; ++i) {
        char = string.charCodeAt(i);
        _1_2 = 39 === char;
        if (_1_2 && forceDoubleQuote) {
          buffer.writeCharCode$1(39);
          continue;
        }
        if (_1_2 && includesDoubleQuote) {
          _this._serialize0$_visitQuotedString$2$forceDoubleQuote(string, true);
          return;
        }
        if (_1_2) {
          buffer.writeCharCode$1(39);
          includesSingleQuote = true;
          continue;
        }
        _1_4 = 34 === char;
        if (_1_4 && forceDoubleQuote) {
          buffer.writeCharCode$1(92);
          buffer.writeCharCode$1(34);
          continue;
        }
        if (_1_4 && includesSingleQuote) {
          _this._serialize0$_visitQuotedString$2$forceDoubleQuote(string, true);
          return;
        }
        if (_1_4) {
          buffer.writeCharCode$1(34);
          includesDoubleQuote = true;
          continue;
        }
        if (0 === char || 1 === char || 2 === char || 3 === char || 4 === char || 5 === char || 6 === char || 7 === char || 8 === char || 10 === char || 11 === char || 12 === char || 13 === char || 14 === char || 15 === char || 16 === char || 17 === char || 18 === char || 19 === char || 20 === char || 21 === char || 22 === char || 23 === char || 24 === char || 25 === char || 26 === char || 27 === char || 28 === char || 29 === char || 30 === char || 31 === char || 127 === char) {
          _this._serialize0$_writeEscape$4(buffer, char, string, i);
          continue;
        }
        if (92 === char) {
          buffer.writeCharCode$1(92);
          buffer.writeCharCode$1(92);
          continue;
        }
        _0_0 = _this._serialize0$_tryPrivateUseCharacter$4(buffer, char, string, i);
        if (_0_0 != null)
          i = _0_0;
        else
          buffer.writeCharCode$1(char);
      }
      if (forceDoubleQuote)
        buffer.writeCharCode$1(34);
      else {
        quote = includesDoubleQuote ? 39 : 34;
        t1 = _this._serialize0$_buffer;
        t1.writeCharCode$1(quote);
        t1.write$1(0, buffer);
        t1.writeCharCode$1(quote);
      }
    },
    _serialize0$_visitQuotedString$1(string) {
      return this._serialize0$_visitQuotedString$2$forceDoubleQuote(string, false);
    },
    _serialize0$_visitUnquotedString$1(string) {
      var t1, t2, afterNewline, i, _1_0, _0_0;
      for (t1 = string.length, t2 = this._serialize0$_buffer, afterNewline = false, i = 0; i < t1; ++i) {
        _1_0 = string.charCodeAt(i);
        if (10 === _1_0) {
          t2.writeCharCode$1(32);
          afterNewline = true;
          continue;
        }
        if (32 === _1_0) {
          if (!afterNewline)
            t2.writeCharCode$1(32);
          continue;
        }
        _0_0 = this._serialize0$_tryPrivateUseCharacter$4(t2, _1_0, string, i);
        if (_0_0 != null)
          i = _0_0;
        else
          t2.writeCharCode$1(_1_0);
        afterNewline = false;
      }
    },
    _serialize0$_tryPrivateUseCharacter$4(buffer, codeUnit, string, i) {
      var t1;
      if (this._serialize0$_style === B.OutputStyle_10)
        return null;
      if (codeUnit >= 57344 && codeUnit <= 63743) {
        this._serialize0$_writeEscape$4(buffer, codeUnit, string, i);
        return i;
      }
      if (codeUnit >>> 7 === 439 && string.length > i + 1) {
        t1 = i + 1;
        this._serialize0$_writeEscape$4(buffer, 65536 + ((codeUnit & 1023) << 10) + (string.charCodeAt(t1) & 1023), string, t1);
        return t1;
      }
      return null;
    },
    _serialize0$_writeEscape$4(buffer, character, string, i) {
      var t1, next;
      buffer.writeCharCode$1(92);
      buffer.write$1(0, B.JSInt_methods.toRadixString$1(character, 16));
      t1 = i + 1;
      if (string.length === t1)
        return;
      next = string.charCodeAt(t1);
      if (A.CharacterExtension_get_isHex0(next) || 32 === next || 9 === next)
        buffer.writeCharCode$1(32);
    },
    visitAttributeSelector$1(attribute) {
      var _0_0, t2,
        t1 = this._serialize0$_buffer;
      t1.writeCharCode$1(91);
      t1.write$1(0, attribute.name);
      _0_0 = attribute.value;
      if (_0_0 != null) {
        t1.write$1(0, attribute.op);
        if (A.Parser_isIdentifier0(_0_0) && !B.JSString_methods.startsWith$1(_0_0, "--")) {
          t1.write$1(0, _0_0);
          t2 = attribute.modifier;
          if (t2 != null)
            t1.writeCharCode$1(32);
        } else {
          this._serialize0$_visitQuotedString$1(_0_0);
          t2 = attribute.modifier;
          if (t2 != null)
            if (this._serialize0$_style !== B.OutputStyle_10)
              t1.writeCharCode$1(32);
        }
        A.NullableExtension_andThen0(t2, t1.get$write(t1));
      }
      t1.writeCharCode$1(93);
    },
    visitClassSelector$1(klass) {
      var t1 = this._serialize0$_buffer;
      t1.writeCharCode$1(46);
      t1.write$1(0, klass.name);
    },
    visitComplexSelector$1(complex) {
      var t2, t3, t4, t5, t6, i, component, t7, t8, t9, _this = this,
        t1 = complex.leadingCombinators;
      _this._serialize0$_writeCombinators$1(t1);
      if (t1.length >= 1 && complex.components.length >= 1)
        if (_this._serialize0$_style !== B.OutputStyle_10)
          _this._serialize0$_buffer.writeCharCode$1(32);
      for (t1 = complex.components, t2 = t1.length, t3 = t2 - 1, t4 = _this._serialize0$_buffer, t5 = _this._serialize0$_style === B.OutputStyle_10, t6 = !t5, i = 0; i < t2; ++i) {
        component = t1[i];
        _this.visitCompoundSelector$1(component.selector);
        t7 = component.combinators;
        t8 = t7.length === 0;
        if (!t8)
          if (t6)
            t4.writeCharCode$1(32);
        t9 = t5 ? "" : " ";
        _this._serialize0$_writeBetween$3(t7, t9, t4.get$write(t4));
        if (i !== t3)
          t7 = !t5 || t8;
        else
          t7 = false;
        if (t7)
          t4.writeCharCode$1(32);
      }
    },
    _serialize0$_writeCombinators$1(combinators) {
      var t1 = this._serialize0$_style === B.OutputStyle_10 ? "" : " ",
        t2 = this._serialize0$_buffer;
      return this._serialize0$_writeBetween$3(combinators, t1, t2.get$write(t2));
    },
    visitCompoundSelector$1(compound) {
      var t2, t3, _i,
        t1 = this._serialize0$_buffer,
        start = t1.get$length(t1);
      for (t2 = compound.components, t3 = t2.length, _i = 0; _i < t3; ++_i)
        t2[_i].accept$1(this);
      if (t1.get$length(t1) === start)
        t1.writeCharCode$1(42);
    },
    visitIDSelector$1(id) {
      var t1 = this._serialize0$_buffer;
      t1.writeCharCode$1(35);
      t1.write$1(0, id.name);
    },
    visitSelectorList$1(list) {
      var t1, t2, t3, t4, first, t5, _this = this,
        complexes = list.components;
      for (t1 = J.get$iterator$ax(_this._serialize0$_inspect ? complexes : new A.WhereIterable(complexes, new A._SerializeVisitor_visitSelectorList_closure0(), A._arrayInstanceType(complexes)._eval$1("WhereIterable<1>"))), t2 = _this._serialize0$_style !== B.OutputStyle_10, t3 = _this._serialize0$_buffer, t4 = _this._lineFeed.text, first = true; t1.moveNext$0();) {
        t5 = t1.get$current(t1);
        if (first)
          first = false;
        else {
          t3.writeCharCode$1(44);
          if (t5.lineBreak) {
            if (t2)
              t3.write$1(0, t4);
            _this._serialize0$_writeIndentation$0();
          } else if (t2)
            t3.writeCharCode$1(32);
        }
        _this.visitComplexSelector$1(t5);
      }
    },
    visitParentSelector$1($parent) {
      var t1 = this._serialize0$_buffer;
      t1.writeCharCode$1(38);
      A.NullableExtension_andThen0($parent.suffix, t1.get$write(t1));
    },
    visitPlaceholderSelector$1(placeholder) {
      var t1 = this._serialize0$_buffer;
      t1.writeCharCode$1(37);
      t1.write$1(0, placeholder.name);
    },
    visitPseudoSelector$1(pseudo) {
      var _0_4, t2, t3,
        t1 = pseudo.name;
      if ("not" === t1) {
        _0_4 = pseudo.selector;
        if (_0_4 instanceof A.SelectorList0)
          t2 = (_0_4 == null ? type$.SelectorList_2._as(_0_4) : _0_4).accept$1(B._IsInvisibleVisitor_true0);
        else
          t2 = false;
      } else
        t2 = false;
      if (t2)
        return;
      t2 = this._serialize0$_buffer;
      t2.writeCharCode$1(58);
      if (!pseudo.isSyntacticClass)
        t2.writeCharCode$1(58);
      t2.write$1(0, t1);
      t1 = pseudo.argument;
      t3 = t1 == null;
      if (t3 && pseudo.selector == null)
        return;
      t2.writeCharCode$1(40);
      if (!t3) {
        t2.write$1(0, t1);
        if (pseudo.selector != null)
          t2.writeCharCode$1(32);
      }
      A.NullableExtension_andThen0(pseudo.selector, this.get$visitSelectorList());
      t2.writeCharCode$1(41);
    },
    visitTypeSelector$1(type) {
      this._serialize0$_buffer.write$1(0, type.name);
    },
    visitUniversalSelector$1(universal) {
      var t2,
        t1 = universal.namespace;
      if (t1 != null) {
        t2 = this._serialize0$_buffer;
        t2.write$1(0, t1);
        t2.writeCharCode$1(124);
      }
      this._serialize0$_buffer.writeCharCode$1(42);
    },
    _serialize0$_write$1(value) {
      return this._serialize0$_buffer.forSpan$2(value.span, new A._SerializeVisitor__write_closure0(this, value));
    },
    _serialize0$_visitChildren$1($parent) {
      var t2, t3, t4, t5, t6, t7, t8, prePrevious, previous, t9, previous0, t10, savedIndentation, _this = this,
        t1 = _this._serialize0$_buffer;
      t1.writeCharCode$1(123);
      for (t2 = $parent.children, t3 = t2.$ti, t2 = new A.ListIterator(t2, t2.get$length(0), t3._eval$1("ListIterator")), t4 = _this._serialize0$_style === B.OutputStyle_10, t5 = !t4, t6 = _this.get$_serialize0$_requiresSemicolon(), t7 = !_this._serialize0$_inspect, t3 = t3._eval$1("ListBase.E"), t8 = _this._lineFeed.text, prePrevious = null, previous = null; t2.moveNext$0();) {
        t9 = t2.__internal$_current;
        previous0 = t9 == null ? t3._as(t9) : t9;
        if (t7)
          t9 = t4 ? previous0.accept$1(B._IsInvisibleVisitor_true_true0) : previous0.accept$1(B._IsInvisibleVisitor_true_false0);
        else
          t9 = false;
        if (t9)
          continue;
        t9 = previous == null;
        t10 = t9 ? null : t6.call$1(previous);
        if (t10 == null ? false : t10)
          t1.writeCharCode$1(59);
        if (_this._serialize0$_isTrailingComment$2(previous0, t9 ? $parent : previous)) {
          if (t5)
            t1.writeCharCode$1(32);
          savedIndentation = _this._serialize0$_indentation;
          _this._serialize0$_indentation = 0;
          new A._SerializeVisitor__visitChildren_closure1(_this, previous0).call$0();
          _this._serialize0$_indentation = savedIndentation;
        } else {
          if (t5)
            t1.write$1(0, t8);
          ++_this._serialize0$_indentation;
          new A._SerializeVisitor__visitChildren_closure2(_this, previous0).call$0();
          --_this._serialize0$_indentation;
        }
        prePrevious = previous;
        previous = previous0;
      }
      if (previous != null) {
        if ((type$.CssParentNode_2._is(previous) ? previous.get$isChildless() : !(previous instanceof A.ModifiableCssComment0)) && t5)
          t1.writeCharCode$1(59);
        if (prePrevious == null && _this._serialize0$_isTrailingComment$2(previous, $parent)) {
          if (t5)
            t1.writeCharCode$1(32);
        } else {
          _this._serialize0$_writeLineFeed$0();
          _this._serialize0$_writeIndentation$0();
        }
      }
      t1.writeCharCode$1(125);
    },
    _serialize0$_requiresSemicolon$1(node) {
      return type$.CssParentNode_2._is(node) ? node.get$isChildless() : !(node instanceof A.ModifiableCssComment0);
    },
    _serialize0$_isTrailingComment$2(node, previous) {
      var t1, t2, t3, searchFrom, endOffset, t4, span;
      if (this._serialize0$_style === B.OutputStyle_10)
        return false;
      if (!(node instanceof A.ModifiableCssComment0))
        return false;
      t1 = node.span;
      t2 = t1.get$sourceUrl(t1);
      t3 = previous.get$span(previous);
      if (!J.$eq$(t2, t3.get$sourceUrl(t3)))
        return false;
      t2 = previous.get$span(previous);
      if (!(J.$eq$(t2.get$file(t2).url, t1.get$file(t1).url) && t2.get$start(t2).offset <= t1.get$start(t1).offset && t2.get$end(t2).offset >= t1.get$end(t1).offset)) {
        t1 = t1.get$start(t1);
        t1 = t1.file.getLine$1(t1.offset);
        t2 = previous.get$span(previous);
        t2 = t2.get$end(t2);
        return t1 === t2.file.getLine$1(t2.offset);
      }
      t2 = t1.get$start(t1);
      t3 = previous.get$span(previous);
      searchFrom = t2.offset - t3.get$start(t3).offset - 1;
      if (searchFrom < 0)
        return false;
      endOffset = Math.max(0, B.JSString_methods.lastIndexOf$2(previous.get$span(previous).get$text(), "{", searchFrom));
      t2 = previous.get$span(previous);
      t2 = t2.get$file(t2);
      t3 = previous.get$span(previous);
      t3 = t3.get$start(t3);
      t4 = previous.get$span(previous);
      span = t2.span$2(0, t3.offset, t4.get$start(t4).offset + endOffset);
      t1 = t1.get$start(t1);
      t1 = t1.file.getLine$1(t1.offset);
      t4 = A.FileLocation$_(span.file, span._end);
      return t1 === t4.file.getLine$1(t4.offset);
    },
    _serialize0$_writeLineFeed$0() {
      if (this._serialize0$_style !== B.OutputStyle_10)
        this._serialize0$_buffer.write$1(0, this._lineFeed.text);
    },
    _serialize0$_writeIndentation$0() {
      var _this = this;
      if (_this._serialize0$_style === B.OutputStyle_10)
        return;
      _this._serialize0$_writeTimes$2(_this._serialize0$_indentCharacter, _this._serialize0$_indentation * _this._serialize0$_indentWidth);
    },
    _serialize0$_writeTimes$2(char, times) {
      var t1, i;
      for (t1 = this._serialize0$_buffer, i = 0; i < times; ++i)
        t1.writeCharCode$1(char);
    },
    _serialize0$_writeBetween$1$3(iterable, text, callback) {
      var t1, t2, first, value;
      for (t1 = J.get$iterator$ax(iterable), t2 = this._serialize0$_buffer, first = true; t1.moveNext$0();) {
        value = t1.get$current(t1);
        if (first)
          first = false;
        else
          t2.write$1(0, text);
        callback.call$1(value);
      }
    },
    _serialize0$_writeBetween$3(iterable, text, callback) {
      return this._serialize0$_writeBetween$1$3(iterable, text, callback, type$.dynamic);
    }
  };
  A._SerializeVisitor_visitCssComment_closure0.prototype = {
    call$0() {
      var t2, t3, _0_0, minimumIndentation,
        t1 = this.$this;
      if (t1._serialize0$_style === B.OutputStyle_10 && this.node.text.charCodeAt(2) !== 33)
        return;
      t2 = this.node;
      t3 = t2.text;
      if (B.JSString_methods.startsWith$1(t3, A.RegExp_RegExp("/\\*# source(Mapping)?URL=", false)))
        return;
      _0_0 = t1._serialize0$_minimumIndentation$1(t3);
      if (_0_0 != null) {
        t2 = t2.span;
        t2 = t2.get$start(t2);
        minimumIndentation = Math.min(_0_0, t2.file.getColumn$1(t2.offset));
        t1._serialize0$_writeIndentation$0();
        t1._serialize0$_writeWithIndent$2(t3, minimumIndentation);
      } else {
        t1._serialize0$_writeIndentation$0();
        t1._serialize0$_buffer.write$1(0, t3);
      }
    },
    $signature: 1
  };
  A._SerializeVisitor_visitCssAtRule_closure0.prototype = {
    call$0() {
      var t3, _0_0,
        t1 = this.$this,
        t2 = t1._serialize0$_buffer;
      t2.writeCharCode$1(64);
      t3 = this.node;
      t1._serialize0$_write$1(t3.name);
      _0_0 = t3.value;
      if (_0_0 != null) {
        t2.writeCharCode$1(32);
        t1._serialize0$_write$1(_0_0);
      }
    },
    $signature: 1
  };
  A._SerializeVisitor_visitCssMediaRule_closure0.prototype = {
    call$0() {
      var t3, firstQuery, t4, t5,
        t1 = this.$this,
        t2 = t1._serialize0$_buffer;
      t2.write$1(0, "@media");
      t3 = this.node.queries;
      firstQuery = B.JSArray_methods.get$first(t3);
      t4 = t1._serialize0$_style === B.OutputStyle_10;
      if (t4)
        if (firstQuery.modifier == null)
          if (firstQuery.type == null) {
            t5 = firstQuery.conditions;
            t5 = t5.length === 1 && J.startsWith$1$s(B.JSArray_methods.get$first(t5), "(not ");
          } else
            t5 = true;
        else
          t5 = true;
      else
        t5 = true;
      if (t5)
        t2.writeCharCode$1(32);
      t2 = t4 ? "," : ", ";
      t1._serialize0$_writeBetween$3(t3, t2, t1.get$_serialize0$_visitMediaQuery());
    },
    $signature: 1
  };
  A._SerializeVisitor_visitCssImport_closure0.prototype = {
    call$0() {
      var t3, t4, _0_0,
        t1 = this.$this,
        t2 = t1._serialize0$_buffer;
      t2.write$1(0, "@import");
      t3 = t1._serialize0$_style !== B.OutputStyle_10;
      if (t3)
        t2.writeCharCode$1(32);
      t4 = this.node;
      t2.forSpan$2(t4.url.span, new A._SerializeVisitor_visitCssImport__closure0(t1, t4));
      _0_0 = t4.modifiers;
      if (_0_0 != null) {
        if (t3)
          t2.writeCharCode$1(32);
        t2.write$1(0, _0_0);
      }
    },
    $signature: 1
  };
  A._SerializeVisitor_visitCssImport__closure0.prototype = {
    call$0() {
      return this.$this._serialize0$_writeImportUrl$1(this.node.url.value);
    },
    $signature: 0
  };
  A._SerializeVisitor_visitCssKeyframeBlock_closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._serialize0$_style === B.OutputStyle_10 ? "," : ", ",
        t3 = t1._serialize0$_buffer;
      return t1._serialize0$_writeBetween$3(this.node.selector.value, t2, t3.get$write(t3));
    },
    $signature: 0
  };
  A._SerializeVisitor_visitCssStyleRule_closure0.prototype = {
    call$0() {
      return this.$this.visitSelectorList$1(this.node._style_rule0$_selector._box0$_inner.value);
    },
    $signature: 0
  };
  A._SerializeVisitor_visitCssSupportsRule_closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._serialize0$_buffer;
      t2.write$1(0, "@supports");
      if (!(t1._serialize0$_style === B.OutputStyle_10 && J.codeUnitAt$1$s(this.node.condition.value, 0) === 40))
        t2.writeCharCode$1(32);
      t1._serialize0$_write$1(this.node.condition);
    },
    $signature: 1
  };
  A._SerializeVisitor_visitCssDeclaration_closure1.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = this.node;
      if (t1._serialize0$_style === B.OutputStyle_10)
        t1._serialize0$_writeFoldedValue$1(t2);
      else
        t1._serialize0$_writeReindentedValue$1(t2);
    },
    $signature: 1
  };
  A._SerializeVisitor_visitCssDeclaration_closure2.prototype = {
    call$0() {
      return this.node.value.value.accept$1(this.$this);
    },
    $signature: 0
  };
  A._SerializeVisitor_visitList_closure2.prototype = {
    call$1(element) {
      return !element.get$isBlank();
    },
    $signature: 53
  };
  A._SerializeVisitor_visitList_closure3.prototype = {
    call$1(element) {
      var t1 = this.$this,
        needsParens = t1._serialize0$_elementNeedsParens$2(this.value._list1$_separator, element);
      if (needsParens)
        t1._serialize0$_buffer.writeCharCode$1(40);
      element.accept$1(t1);
      if (needsParens)
        t1._serialize0$_buffer.writeCharCode$1(41);
    },
    $signature: 62
  };
  A._SerializeVisitor_visitList_closure4.prototype = {
    call$1(element) {
      element.accept$1(this.$this);
    },
    $signature: 62
  };
  A._SerializeVisitor_visitMap_closure0.prototype = {
    call$1(entry) {
      var t1 = this.$this;
      t1._serialize0$_writeMapElement$1(entry.key);
      t1._serialize0$_buffer.write$1(0, ": ");
      t1._serialize0$_writeMapElement$1(entry.value);
    },
    $signature: 536
  };
  A._SerializeVisitor_visitSelectorList_closure0.prototype = {
    call$1(complex) {
      return !complex.accept$1(B._IsInvisibleVisitor_true0);
    },
    $signature: 18
  };
  A._SerializeVisitor__write_closure0.prototype = {
    call$0() {
      return this.$this._serialize0$_buffer.write$1(0, this.value.value);
    },
    $signature: 0
  };
  A._SerializeVisitor__visitChildren_closure1.prototype = {
    call$0() {
      return this.child.accept$1(this.$this);
    },
    $signature: 0
  };
  A._SerializeVisitor__visitChildren_closure2.prototype = {
    call$0() {
      this.child.accept$1(this.$this);
    },
    $signature: 0
  };
  A.OutputStyle0.prototype = {
    _enumToString$0() {
      return "OutputStyle." + this._name;
    }
  };
  A.LineFeed0.prototype = {
    _enumToString$0() {
      return "LineFeed." + this._name;
    },
    toString$0(_) {
      return this.name;
    }
  };
  A.ShadowedModuleView0.prototype = {
    get$url(_) {
      var t1 = this._shadowed_view0$_inner;
      return t1.get$url(t1);
    },
    get$upstream() {
      return this._shadowed_view0$_inner.get$upstream();
    },
    get$extensionStore() {
      return this._shadowed_view0$_inner.get$extensionStore();
    },
    get$css(_) {
      var t1 = this._shadowed_view0$_inner;
      return t1.get$css(t1);
    },
    get$preModuleComments() {
      return this._shadowed_view0$_inner.get$preModuleComments();
    },
    get$transitivelyContainsCss() {
      return this._shadowed_view0$_inner.get$transitivelyContainsCss();
    },
    get$transitivelyContainsExtensions() {
      return this._shadowed_view0$_inner.get$transitivelyContainsExtensions();
    },
    setVariable$3($name, value, nodeWithSpan) {
      if (!this.variables.containsKey$1($name))
        throw A.wrapException(A.SassScriptException$0("Undefined variable.", null));
      else
        this._shadowed_view0$_inner.setVariable$3($name, value, nodeWithSpan);
    },
    variableIdentity$1($name) {
      return this._shadowed_view0$_inner.variableIdentity$1($name);
    },
    $eq(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (other instanceof A.ShadowedModuleView0)
        if (_this._shadowed_view0$_inner.$eq(0, other._shadowed_view0$_inner)) {
          t1 = _this.variables;
          t1 = t1.get$keys(t1);
          t2 = other.variables;
          if (B.C_IterableEquality.equals$2(0, t1, t2.get$keys(t2))) {
            t1 = _this.functions;
            t1 = t1.get$keys(t1);
            t2 = other.functions;
            if (B.C_IterableEquality.equals$2(0, t1, t2.get$keys(t2))) {
              t1 = _this.mixins;
              t1 = t1.get$keys(t1);
              t2 = other.mixins;
              t2 = B.C_IterableEquality.equals$2(0, t1, t2.get$keys(t2));
              t1 = t2;
            } else
              t1 = false;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var t1 = this._shadowed_view0$_inner;
      return t1.get$hashCode(t1);
    },
    cloneCss$0() {
      var _this = this;
      return new A.ShadowedModuleView0(_this._shadowed_view0$_inner.cloneCss$0(), _this.variables, _this.variableNodes, _this.functions, _this.mixins, _this.$ti);
    },
    toString$0(_) {
      return "shadowed " + this._shadowed_view0$_inner.toString$0(0);
    },
    $isModule1: 1,
    get$variables() {
      return this.variables;
    },
    get$variableNodes() {
      return this.variableNodes;
    },
    get$functions(receiver) {
      return this.functions;
    },
    get$mixins() {
      return this.mixins;
    }
  };
  A.SilentComment0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitSilentComment$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return this.text;
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.SimpleSelector0.prototype = {
    get$specificity() {
      return 1000;
    },
    get$hasComplicatedSuperselectorSemantics() {
      return false;
    },
    addSuffix$1(suffix) {
      return A.throwExpression(A.MultiSpanSassException$0('Selector "' + this.toString$0(0) + "\" can't have a suffix", this.span, "outer selector", A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String), null));
    },
    unify$1(compound) {
      var other, t1, result, addedThis, _i, simple, _this = this;
      if (compound.length === 1) {
        other = compound[0];
        if (!(other instanceof A.UniversalSelector0))
          if (other instanceof A.PseudoSelector0)
            t1 = other.isClass && other.name === "host" || other.get$isHostContext();
          else
            t1 = false;
        else
          t1 = true;
      } else {
        other = null;
        t1 = false;
      }
      if (t1)
        return other.unify$1(A._setArrayType([_this], type$.JSArray_SimpleSelector_2));
      if (B.JSArray_methods.contains$1(compound, _this))
        return compound;
      result = A._setArrayType([], type$.JSArray_SimpleSelector_2);
      for (t1 = compound.length, addedThis = false, _i = 0; _i < compound.length; compound.length === t1 || (0, A.throwConcurrentModificationError)(compound), ++_i) {
        simple = compound[_i];
        if (!addedThis && simple instanceof A.PseudoSelector0) {
          result.push(_this);
          addedThis = true;
        }
        result.push(simple);
      }
      if (!addedThis)
        result.push(_this);
      return result;
    },
    isSuperselector$1(other) {
      var list;
      if (this.$eq(0, other))
        return true;
      if (other instanceof A.PseudoSelector0 && other.isClass) {
        list = other.selector;
        if (list != null && $._subselectorPseudos0.contains$1(0, other.normalizedName))
          return B.JSArray_methods.every$1(list.components, new A.SimpleSelector_isSuperselector_closure0(this));
      }
      return false;
    }
  };
  A.SimpleSelector_isSuperselector_closure0.prototype = {
    call$1(complex) {
      var t1 = complex.components;
      return t1.length !== 0 && B.JSArray_methods.any$1(B.JSArray_methods.get$last(t1).selector.components, new A.SimpleSelector_isSuperselector__closure0(this.$this));
    },
    $signature: 18
  };
  A.SimpleSelector_isSuperselector__closure0.prototype = {
    call$1(simple) {
      return this.$this.isSuperselector$1(simple);
    },
    $signature: 14
  };
  A.SingleUnitSassNumber0.prototype = {
    get$numeratorUnits(_) {
      return A.List_List$unmodifiable([this._single_unit$_unit], type$.String);
    },
    get$denominatorUnits(_) {
      return B.List_empty;
    },
    get$hasUnits() {
      return true;
    },
    get$hasComplexUnits() {
      return false;
    },
    withValue$1(value) {
      return new A.SingleUnitSassNumber0(this._single_unit$_unit, value, null);
    },
    withSlash$2(numerator, denominator) {
      return new A.SingleUnitSassNumber0(this._single_unit$_unit, this._number1$_value, new A._Record_2(numerator, denominator));
    },
    hasUnit$1(unit) {
      return unit === this._single_unit$_unit;
    },
    hasCompatibleUnits$1(other) {
      return other instanceof A.SingleUnitSassNumber0 && A.conversionFactor0(this._single_unit$_unit, other._single_unit$_unit) != null;
    },
    hasPossiblyCompatibleUnits$1(other) {
      var t1, knownCompatibilities, otherUnit;
      if (!(other instanceof A.SingleUnitSassNumber0))
        return false;
      t1 = $.$get$_knownCompatibilitiesByUnit0();
      knownCompatibilities = t1.$index(0, this._single_unit$_unit.toLowerCase());
      if (knownCompatibilities == null)
        return true;
      otherUnit = other._single_unit$_unit.toLowerCase();
      return knownCompatibilities.contains$1(0, otherUnit) || !t1.containsKey$1(otherUnit);
    },
    compatibleWithUnit$1(unit) {
      return A.conversionFactor0(this._single_unit$_unit, unit) != null;
    },
    coerceToMatch$3(other, $name, otherName) {
      var t1 = other instanceof A.SingleUnitSassNumber0 ? this._single_unit$_coerceToUnit$1(other._single_unit$_unit) : null;
      return t1 == null ? this.super$SassNumber$coerceToMatch0(other, $name, otherName) : t1;
    },
    coerceToMatch$1(other) {
      return this.coerceToMatch$3(other, null, null);
    },
    coerceValueToMatch$3(other, $name, otherName) {
      var t1 = other instanceof A.SingleUnitSassNumber0 ? this._single_unit$_coerceValueToUnit$1(other._single_unit$_unit) : null;
      return t1 == null ? this.super$SassNumber$coerceValueToMatch0(other, $name, otherName) : t1;
    },
    coerceValueToMatch$1(other) {
      return this.coerceValueToMatch$3(other, null, null);
    },
    convertToMatch$3(other, $name, otherName) {
      var t1 = other instanceof A.SingleUnitSassNumber0 ? this._single_unit$_coerceToUnit$1(other._single_unit$_unit) : null;
      return t1 == null ? this.super$SassNumber$convertToMatch(other, $name, otherName) : t1;
    },
    convertValueToMatch$3(other, $name, otherName) {
      var t1 = other instanceof A.SingleUnitSassNumber0 ? this._single_unit$_coerceValueToUnit$1(other._single_unit$_unit) : null;
      return t1 == null ? this.super$SassNumber$convertValueToMatch0(other, $name, otherName) : t1;
    },
    convertValueToMatch$1(other) {
      return this.convertValueToMatch$3(other, null, null);
    },
    coerce$3(newNumerators, newDenominators, $name) {
      var t1 = J.getInterceptor$asx(newNumerators);
      t1 = t1.get$length(newNumerators) === 1 && J.get$isEmpty$asx(newDenominators) ? this._single_unit$_coerceToUnit$1(t1.$index(newNumerators, 0)) : null;
      return t1 == null ? this.super$SassNumber$coerce0(newNumerators, newDenominators, $name) : t1;
    },
    coerce$2(newNumerators, newDenominators) {
      return this.coerce$3(newNumerators, newDenominators, null);
    },
    coerceValue$3(newNumerators, newDenominators, $name) {
      var t1 = J.getInterceptor$asx(newNumerators);
      t1 = t1.get$length(newNumerators) === 1 && J.get$isEmpty$asx(newDenominators) ? this._single_unit$_coerceValueToUnit$1(t1.$index(newNumerators, 0)) : null;
      return t1 == null ? this.super$SassNumber$coerceValue0(newNumerators, newDenominators, $name) : t1;
    },
    coerceValueToUnit$2(unit, $name) {
      var t1 = this._single_unit$_coerceValueToUnit$1(unit);
      return t1 == null ? this.super$SassNumber$coerceValueToUnit0(unit, $name) : t1;
    },
    coerceValueToUnit$1(unit) {
      return this.coerceValueToUnit$2(unit, null);
    },
    _single_unit$_coerceToUnit$1(unit) {
      var t1 = this._single_unit$_unit;
      if (t1 === unit)
        return this;
      return A.NullableExtension_andThen0(A.conversionFactor0(unit, t1), new A.SingleUnitSassNumber__coerceToUnit_closure0(this, unit));
    },
    _single_unit$_coerceValueToUnit$1(unit) {
      return A.NullableExtension_andThen0(A.conversionFactor0(unit, this._single_unit$_unit), new A.SingleUnitSassNumber__coerceValueToUnit_closure0(this));
    },
    multiplyUnits$3(value, otherNumerators, otherDenominators) {
      var mutableOtherDenominators, t1 = {};
      t1.value = value;
      t1.newNumerators = otherNumerators;
      mutableOtherDenominators = A._setArrayType(otherDenominators.slice(0), A._arrayInstanceType(otherDenominators));
      A.removeFirstWhere0(mutableOtherDenominators, new A.SingleUnitSassNumber_multiplyUnits_closure1(t1, this), new A.SingleUnitSassNumber_multiplyUnits_closure2(t1, this));
      return A.SassNumber_SassNumber$withUnits0(t1.value, mutableOtherDenominators, t1.newNumerators);
    },
    unaryMinus$0() {
      return new A.SingleUnitSassNumber0(this._single_unit$_unit, -this._number1$_value, null);
    },
    $eq(_, other) {
      var factor;
      if (other == null)
        return false;
      if (other instanceof A.SingleUnitSassNumber0) {
        factor = A.conversionFactor0(other._single_unit$_unit, this._single_unit$_unit);
        return factor != null && A.fuzzyEquals0(this._number1$_value * factor, other._number1$_value);
      } else
        return false;
    },
    get$hashCode(_) {
      var _this = this,
        t1 = _this.hashCache;
      return t1 == null ? _this.hashCache = A.fuzzyHashCode0(_this._number1$_value * _this.canonicalMultiplierForUnit$1(_this._single_unit$_unit)) : t1;
    }
  };
  A.SingleUnitSassNumber__coerceToUnit_closure0.prototype = {
    call$1(factor) {
      return new A.SingleUnitSassNumber0(this.unit, this.$this._number1$_value * factor, null);
    },
    $signature: 537
  };
  A.SingleUnitSassNumber__coerceValueToUnit_closure0.prototype = {
    call$1(factor) {
      return this.$this._number1$_value * factor;
    },
    $signature: 37
  };
  A.SingleUnitSassNumber_multiplyUnits_closure1.prototype = {
    call$1(denominator) {
      var factor = A.conversionFactor0(denominator, this.$this._single_unit$_unit);
      if (factor == null)
        return false;
      this._box_0.value *= factor;
      return true;
    },
    $signature: 4
  };
  A.SingleUnitSassNumber_multiplyUnits_closure2.prototype = {
    call$0() {
      var t1 = A._setArrayType([this.$this._single_unit$_unit], type$.JSArray_String),
        t2 = this._box_0;
      B.JSArray_methods.addAll$1(t1, t2.newNumerators);
      t2.newNumerators = t1;
    },
    $signature: 0
  };
  A.SourceMapBuffer0.prototype = {
    get$_source_map_buffer0$_targetLocation() {
      var t1 = this._source_map_buffer0$_buffer._contents,
        t2 = this._source_map_buffer0$_line;
      return A.SourceLocation$(t1.length, this._source_map_buffer0$_column, t2, null);
    },
    get$length(_) {
      return this._source_map_buffer0$_buffer._contents.length;
    },
    forSpan$1$2(span, callback) {
      var t1, _this = this,
        wasInSpan = _this._source_map_buffer0$_inSpan;
      _this._source_map_buffer0$_inSpan = true;
      _this._source_map_buffer0$_addEntry$2(span.get$start(span), _this.get$_source_map_buffer0$_targetLocation());
      try {
        t1 = callback.call$0();
        return t1;
      } finally {
        _this._source_map_buffer0$_inSpan = wasInSpan;
      }
    },
    forSpan$2(span, callback) {
      return this.forSpan$1$2(span, callback, type$.dynamic);
    },
    _source_map_buffer0$_addEntry$2(source, target) {
      var entry, t2,
        t1 = this._source_map_buffer0$_entries;
      if (t1.length !== 0) {
        entry = B.JSArray_methods.get$last(t1);
        t2 = entry.source;
        if (t2.file.getLine$1(t2.offset) === source.file.getLine$1(source.offset) && entry.target.line === target.line)
          return;
        if (entry.target.offset === target.offset)
          return;
      }
      t1.push(new A.Entry(source, target, null));
    },
    write$1(_, object) {
      var t1, i,
        string = J.toString$0$(object);
      this._source_map_buffer0$_buffer._contents += string;
      for (t1 = string.length, i = 0; i < t1; ++i)
        if (string.charCodeAt(i) === 10)
          this._source_map_buffer0$_writeLine$0();
        else
          ++this._source_map_buffer0$_column;
    },
    writeCharCode$1(charCode) {
      var t1 = this._source_map_buffer0$_buffer,
        t2 = A.Primitives_stringFromCharCode(charCode);
      t1._contents += t2;
      if (charCode === 10)
        this._source_map_buffer0$_writeLine$0();
      else
        ++this._source_map_buffer0$_column;
    },
    _source_map_buffer0$_writeLine$0() {
      var _this = this,
        t1 = _this._source_map_buffer0$_entries;
      if (B.JSArray_methods.get$last(t1).target.line === _this._source_map_buffer0$_line && B.JSArray_methods.get$last(t1).target.column === _this._source_map_buffer0$_column)
        t1.pop();
      ++_this._source_map_buffer0$_line;
      _this._source_map_buffer0$_column = 0;
      if (_this._source_map_buffer0$_inSpan)
        t1.push(new A.Entry(B.JSArray_methods.get$last(t1).source, _this.get$_source_map_buffer0$_targetLocation(), null));
    },
    toString$0(_) {
      var t1 = this._source_map_buffer0$_buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    buildSourceMap$1$prefix(prefix) {
      var i, t2, prefixColumn, _box_0 = {},
        t1 = prefix.length;
      if (t1 === 0)
        return A.SingleMapping_SingleMapping$fromEntries(this._source_map_buffer0$_entries);
      _box_0.prefixColumn = _box_0.prefixLines = 0;
      for (i = 0, t2 = 0; i < t1; ++i)
        if (prefix.charCodeAt(i) === 10) {
          ++_box_0.prefixLines;
          _box_0.prefixColumn = 0;
          t2 = 0;
        } else {
          prefixColumn = t2 + 1;
          _box_0.prefixColumn = prefixColumn;
          t2 = prefixColumn;
        }
      t2 = this._source_map_buffer0$_entries;
      return A.SingleMapping_SingleMapping$fromEntries(new A.MappedListIterable(t2, new A.SourceMapBuffer_buildSourceMap_closure0(_box_0, t1), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Entry>")));
    }
  };
  A.SourceMapBuffer_buildSourceMap_closure0.prototype = {
    call$1(entry) {
      var t1 = entry.target,
        t2 = t1.line,
        t3 = this._box_0,
        t4 = t3.prefixLines;
      t3 = t2 === 0 ? t3.prefixColumn : 0;
      return new A.Entry(entry.source, A.SourceLocation$(t1.offset + this.prefixLength, t1.column + t3, t2 + t4, null), entry.identifierName);
    },
    $signature: 158
  };
  A.updateSourceSpanPrototype_closure.prototype = {
    call$0() {
      return this.span;
    },
    $signature: 27
  };
  A.updateSourceSpanPrototype_closure0.prototype = {
    call$1(span) {
      return span.get$start(span);
    },
    $signature: 231
  };
  A.updateSourceSpanPrototype_closure1.prototype = {
    call$1(span) {
      return span.get$end(span);
    },
    $signature: 231
  };
  A.updateSourceSpanPrototype_closure2.prototype = {
    call$1(span) {
      return A.NullableExtension_andThen0(span.get$sourceUrl(span), A.utils1__dartToJSUrl$closure());
    },
    $signature: 539
  };
  A.updateSourceSpanPrototype_closure3.prototype = {
    call$1(span) {
      return span.get$text();
    },
    $signature: 223
  };
  A.updateSourceSpanPrototype_closure4.prototype = {
    call$1(span) {
      return span.get$context(span);
    },
    $signature: 223
  };
  A.updateSourceSpanPrototype_closure5.prototype = {
    call$1($location) {
      return $location.get$line();
    },
    $signature: 215
  };
  A.updateSourceSpanPrototype_closure6.prototype = {
    call$1($location) {
      return $location.get$column();
    },
    $signature: 215
  };
  A.StatementSearchVisitor0.prototype = {
    visitAtRootRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitAtRule$1(node) {
      return A.NullableExtension_andThen0(node.children, this.get$visitChildren());
    },
    visitContentBlock$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitContentRule$1(node) {
      return null;
    },
    visitDebugRule$1(node) {
      return null;
    },
    visitDeclaration$1(node) {
      return A.NullableExtension_andThen0(node.children, this.get$visitChildren());
    },
    visitEachRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitErrorRule$1(node) {
      return null;
    },
    visitExtendRule$1(node) {
      return null;
    },
    visitForRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitForwardRule$1(node) {
      return null;
    },
    visitFunctionRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitIfRule$1(node) {
      var t1 = A.IterableExtension_search0(node.clauses, new A.StatementSearchVisitor_visitIfRule_closure1(this));
      return t1 == null ? A.NullableExtension_andThen0(node.lastClause, new A.StatementSearchVisitor_visitIfRule_closure2(this)) : t1;
    },
    visitImportRule$1(node) {
      return null;
    },
    visitIncludeRule$1(node) {
      return A.NullableExtension_andThen0(node.content, this.get$visitContentBlock());
    },
    visitLoudComment$1(node) {
      return null;
    },
    visitMediaRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitMixinRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitReturnRule$1(node) {
      return null;
    },
    visitSilentComment$1(node) {
      return null;
    },
    visitStyleRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitStylesheet$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitSupportsRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitUseRule$1(node) {
      return null;
    },
    visitVariableDeclaration$1(node) {
      return null;
    },
    visitWarnRule$1(node) {
      return null;
    },
    visitWhileRule$1(node) {
      return this.visitChildren$1(node.children);
    },
    visitChildren$1(children) {
      return A.IterableExtension_search0(children, new A.StatementSearchVisitor_visitChildren_closure0(this));
    }
  };
  A.StatementSearchVisitor_visitIfRule_closure1.prototype = {
    call$1(clause) {
      return A.IterableExtension_search0(clause.children, new A.StatementSearchVisitor_visitIfRule__closure2(this.$this));
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("StatementSearchVisitor0.T?(IfClause0)");
    }
  };
  A.StatementSearchVisitor_visitIfRule__closure2.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("StatementSearchVisitor0.T?(Statement0)");
    }
  };
  A.StatementSearchVisitor_visitIfRule_closure2.prototype = {
    call$1(lastClause) {
      return A.IterableExtension_search0(lastClause.children, new A.StatementSearchVisitor_visitIfRule__closure1(this.$this));
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("StatementSearchVisitor0.T?(ElseClause0)");
    }
  };
  A.StatementSearchVisitor_visitIfRule__closure1.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("StatementSearchVisitor0.T?(Statement0)");
    }
  };
  A.StatementSearchVisitor_visitChildren_closure0.prototype = {
    call$1(child) {
      return child.accept$1(this.$this);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("StatementSearchVisitor0.T?(Statement0)");
    }
  };
  A.StaticImport0.prototype = {
    toString$0(_) {
      var t1 = this.url.toString$0(0),
        t2 = this.modifiers;
      return t1 + (t2 == null ? "" : " " + t2.toString$0(0));
    },
    $isImport0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.StderrLogger0.prototype = {
    warn$4$deprecation$span$trace(_, message, deprecation, span, trace) {
      var t2,
        result = new A.StringBuffer(""),
        t1 = this.color;
      if (t1) {
        t2 = result._contents = "" + "\x1b[33m\x1b[1m";
        t2 = result._contents = (deprecation ? result._contents = t2 + "Deprecation " : t2) + "Warning\x1b[0m";
      } else
        t2 = result._contents = (deprecation ? result._contents = "" + "DEPRECATION " : "") + "WARNING";
      if (span == null)
        t1 = result._contents = t2 + (": " + message + "\n");
      else if (trace != null) {
        t1 = t2 + (": " + message + "\n\n" + span.highlight$1$color(t1) + "\n");
        result._contents = t1;
      } else {
        t1 = t2 + (" on " + span.message$2$color(0, "\n" + message, t1) + "\n");
        result._contents = t1;
      }
      if (trace != null)
        result._contents = t1 + (A.indent0(B.JSString_methods.trimRight$0(trace.toString$0(0)), 4) + "\n");
      A.printError0(result);
    },
    warn$1(_, message) {
      return this.warn$4$deprecation$span$trace(0, message, false, null, null);
    },
    warn$3$span$trace(_, message, span, trace) {
      return this.warn$4$deprecation$span$trace(0, message, false, span, trace);
    },
    warn$2$span(_, message, span) {
      return this.warn$4$deprecation$span$trace(0, message, false, span, null);
    },
    warn$2$trace(_, message, trace) {
      return this.warn$4$deprecation$span$trace(0, message, false, null, trace);
    },
    debug$2(_, message, span) {
      var url, t3, t4,
        t1 = span.file,
        t2 = span._file$_start;
      if (A.FileLocation$_(t1, t2).file.url == null)
        url = "-";
      else {
        t3 = A.FileLocation$_(t1, t2).file.url;
        t4 = $.$get$context();
        t3.toString;
        url = t4.prettyUri$1(t3);
      }
      t1 = A.FileLocation$_(t1, t2);
      t1 = t1.file.getLine$1(t1.offset);
      t2 = this.color ? "\x1b[1mDebug\x1b[0m" : "DEBUG";
      t2 = "" + (url + ":" + (t1 + 1) + " ") + t2 + (": " + message);
      A.printError0(t2.charCodeAt(0) == 0 ? t2 : t2);
    }
  };
  A.StringExpression0.prototype = {
    get$span(_) {
      return this.text.span;
    },
    accept$1$1(visitor) {
      return visitor.visitStringExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    asInterpolation$1$static($static) {
      var t1, t2, quote, t3, t4, buffer, t5, t6, _i, value;
      if (!this.hasQuotes)
        return this.text;
      t1 = this.text;
      t2 = t1.contents;
      quote = A.StringExpression__bestQuote0(new A.WhereTypeIterable(t2, type$.WhereTypeIterable_String));
      t3 = new A.StringBuffer("");
      t4 = A._setArrayType([], type$.JSArray_Object);
      buffer = new A.InterpolationBuffer0(t3, t4);
      t5 = A.Primitives_stringFromCharCode(quote);
      t3._contents += t5;
      for (t5 = t2.length, t6 = type$.Expression_2, _i = 0; _i < t5; ++_i) {
        value = t2[_i];
        if (t6._is(value)) {
          buffer._interpolation_buffer0$_flushText$0();
          t4.push(value);
          continue;
        }
        if (typeof value == "string")
          A.StringExpression__quoteInnerText0(value, quote, buffer, $static);
      }
      t2 = A.Primitives_stringFromCharCode(quote);
      t3._contents += t2;
      return buffer.interpolation$1(t1.span);
    },
    asInterpolation$0() {
      return this.asInterpolation$1$static(false);
    },
    toString$0(_) {
      return this.asInterpolation$0().toString$0(0);
    },
    $isExpression0: 1,
    $isAstNode0: 1
  };
  A.module_closure10.prototype = {
    call$1($arguments) {
      var limit, t2, chunks, i, lastEnd, match, t3,
        t1 = J.getInterceptor$asx($arguments),
        string = t1.$index($arguments, 0).assertString$1("string"),
        separator = t1.$index($arguments, 1).assertString$1("separator");
      t1 = t1.$index($arguments, 2).get$realNull();
      limit = t1 == null ? null : t1.assertNumber$1("limit").assertInt$1("limit");
      if (limit != null && limit < 1)
        throw A.wrapException(A.SassScriptException$0("$limit: Must be 1 or greater, was " + A.S(limit) + ".", null));
      t1 = string._string0$_text;
      if (t1.length === 0)
        return B.SassList_bdS2;
      else {
        t2 = separator._string0$_text;
        if (t2.length === 0)
          return A.SassList$0(A.MappedIterable_MappedIterable(new A.Runes(t1), new A.module__closure2(string), type$.Runes._eval$1("Iterable.E"), type$.Value_2), B.ListSeparator_ECn0, true);
      }
      chunks = A._setArrayType([], type$.JSArray_String);
      for (t2 = B.JSString_methods.allMatches$1(t2, t1), t2 = new A._StringAllMatchesIterator(t2._input, t2._pattern, t2.__js_helper$_index), i = 0, lastEnd = 0; t2.moveNext$0();) {
        match = t2.__js_helper$_current;
        t3 = match.start;
        chunks.push(B.JSString_methods.substring$2(t1, lastEnd, t3));
        lastEnd = t3 + match.pattern.length;
        ++i;
        if (i === limit)
          break;
      }
      chunks.push(B.JSString_methods.substring$1(t1, lastEnd));
      return A.SassList$0(new A.MappedListIterable(chunks, new A.module__closure3(string), type$.MappedListIterable_String_Value_2), B.ListSeparator_ECn0, true);
    },
    $signature: 23
  };
  A.module__closure2.prototype = {
    call$1(rune) {
      return new A.SassString0(A.Primitives_stringFromCharCode(rune), this.string._string0$_hasQuotes);
    },
    $signature: 542
  };
  A.module__closure3.prototype = {
    call$1(chunk) {
      return new A.SassString0(chunk, this.string._string0$_hasQuotes);
    },
    $signature: 543
  };
  A._unquote_closure0.prototype = {
    call$1($arguments) {
      var string = J.$index$asx($arguments, 0).assertString$1("string");
      if (!string._string0$_hasQuotes)
        return string;
      return new A.SassString0(string._string0$_text, false);
    },
    $signature: 19
  };
  A._quote_closure0.prototype = {
    call$1($arguments) {
      var string = J.$index$asx($arguments, 0).assertString$1("string");
      if (string._string0$_hasQuotes)
        return string;
      return new A.SassString0(string._string0$_text, true);
    },
    $signature: 19
  };
  A._length_closure1.prototype = {
    call$1($arguments) {
      return A.SassNumber_SassNumber0(J.$index$asx($arguments, 0).assertString$1("string").get$_string0$_sassLength(), null);
    },
    $signature: 12
  };
  A._insert_closure0.prototype = {
    call$1($arguments) {
      var indexInt, codeUnitIndex, _s5_ = "index",
        t1 = J.getInterceptor$asx($arguments),
        string = t1.$index($arguments, 0).assertString$1("string"),
        insert = t1.$index($arguments, 1).assertString$1("insert"),
        index = t1.$index($arguments, 2).assertNumber$1(_s5_);
      index.assertNoUnits$1(_s5_);
      indexInt = index.assertInt$1(_s5_);
      if (indexInt < 0)
        indexInt = Math.max(string.get$_string0$_sassLength() + indexInt + 2, 0);
      t1 = string._string0$_text;
      codeUnitIndex = A.codepointIndexToCodeUnitIndex0(t1, A._codepointForIndex0(indexInt, string.get$_string0$_sassLength(), false));
      return new A.SassString0(B.JSString_methods.replaceRange$3(t1, codeUnitIndex, codeUnitIndex, insert._string0$_text), string._string0$_hasQuotes);
    },
    $signature: 19
  };
  A._index_closure1.prototype = {
    call$1($arguments) {
      var t1 = J.getInterceptor$asx($arguments),
        t2 = t1.$index($arguments, 0).assertString$1("string")._string0$_text,
        codeUnitIndex = B.JSString_methods.indexOf$1(t2, t1.$index($arguments, 1).assertString$1("substring")._string0$_text);
      if (codeUnitIndex === -1)
        return B.C__SassNull0;
      return A.SassNumber_SassNumber0(A.codeUnitIndexToCodepointIndex0(t2, codeUnitIndex) + 1, null);
    },
    $signature: 3
  };
  A._slice_closure0.prototype = {
    call$1($arguments) {
      var lengthInCodepoints, endInt, startCodepoint, endCodepoint,
        _s8_ = "start-at",
        t1 = J.getInterceptor$asx($arguments),
        string = t1.$index($arguments, 0).assertString$1("string"),
        start = t1.$index($arguments, 1).assertNumber$1(_s8_),
        end = t1.$index($arguments, 2).assertNumber$1("end-at");
      start.assertNoUnits$1(_s8_);
      end.assertNoUnits$1("end-at");
      lengthInCodepoints = string.get$_string0$_sassLength();
      endInt = end.assertInt$0();
      if (endInt === 0)
        return string._string0$_hasQuotes ? $.$get$_emptyQuoted0() : $.$get$_emptyUnquoted0();
      startCodepoint = A._codepointForIndex0(start.assertInt$0(), lengthInCodepoints, false);
      endCodepoint = A._codepointForIndex0(endInt, lengthInCodepoints, true);
      if (endCodepoint === lengthInCodepoints)
        --endCodepoint;
      if (endCodepoint < startCodepoint)
        return string._string0$_hasQuotes ? $.$get$_emptyQuoted0() : $.$get$_emptyUnquoted0();
      t1 = string._string0$_text;
      return new A.SassString0(B.JSString_methods.substring$2(t1, A.codepointIndexToCodeUnitIndex0(t1, startCodepoint), A.codepointIndexToCodeUnitIndex0(t1, endCodepoint + 1)), string._string0$_hasQuotes);
    },
    $signature: 19
  };
  A._toUpperCase_closure0.prototype = {
    call$1($arguments) {
      var t1, t2, i, t3, t4,
        string = J.$index$asx($arguments, 0).assertString$1("string");
      for (t1 = string._string0$_text, t2 = t1.length, i = 0, t3 = ""; i < t2; ++i) {
        t4 = t1.charCodeAt(i);
        t3 += A.Primitives_stringFromCharCode(t4 >= 97 && t4 <= 122 ? t4 & 4294967263 : t4);
      }
      return new A.SassString0(t3.charCodeAt(0) == 0 ? t3 : t3, string._string0$_hasQuotes);
    },
    $signature: 19
  };
  A._toLowerCase_closure0.prototype = {
    call$1($arguments) {
      var t1, t2, i, t3, t4,
        string = J.$index$asx($arguments, 0).assertString$1("string");
      for (t1 = string._string0$_text, t2 = t1.length, i = 0, t3 = ""; i < t2; ++i) {
        t4 = t1.charCodeAt(i);
        t3 += A.Primitives_stringFromCharCode(t4 >= 65 && t4 <= 90 ? t4 | 32 : t4);
      }
      return new A.SassString0(t3.charCodeAt(0) == 0 ? t3 : t3, string._string0$_hasQuotes);
    },
    $signature: 19
  };
  A._uniqueId_closure0.prototype = {
    call$1($arguments) {
      var t1 = $.$get$_previousUniqueId0() + ($.$get$_random1().nextInt$1(36) + 1);
      $._previousUniqueId0 = t1;
      if (t1 > Math.pow(36, 6))
        $._previousUniqueId0 = B.JSInt_methods.$mod($.$get$_previousUniqueId0(), A._asInt(Math.pow(36, 6)));
      return new A.SassString0("u" + B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1($.$get$_previousUniqueId0(), 36), 6, "0"), false);
    },
    $signature: 19
  };
  A.stringClass_closure.prototype = {
    call$0() {
      var t2,
        t1 = type$.JSClass,
        jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.SassString", new A.stringClass__closure()));
      A.LinkedHashMap_LinkedHashMap$_literal(["text", new A.stringClass__closure0(), "hasQuotes", new A.stringClass__closure1(), "sassLength", new A.stringClass__closure2()], type$.String, type$.Function).forEach$1(0, A.JSClassExtension_get_defineGetter(jsClass));
      J.get$$prototype$x(jsClass).sassIndexToStringIndex = A.allowInteropCaptureThisNamed("sassIndexToStringIndex", new A.stringClass__closure3());
      t2 = $.$get$_emptyQuoted0();
      A.JSClassExtension_injectSuperclass(t1._as(t2.constructor), jsClass);
      return jsClass;
    },
    $signature: 15
  };
  A.stringClass__closure.prototype = {
    call$3($self, textOrOptions, options) {
      var t1;
      if (typeof textOrOptions == "string") {
        t1 = options == null ? null : J.get$quotes$x(options);
        t1 = new A.SassString0(textOrOptions, t1 == null ? true : t1);
      } else {
        type$.nullable__ConstructorOptions_3._as(textOrOptions);
        t1 = textOrOptions == null ? null : J.get$quotes$x(textOrOptions);
        t1 = (t1 == null ? true : t1) ? $.$get$_emptyQuoted0() : $.$get$_emptyUnquoted0();
      }
      return t1;
    },
    call$1($self) {
      return this.call$3($self, null, null);
    },
    call$2($self, textOrOptions) {
      return this.call$3($self, textOrOptions, null);
    },
    "call*": "call$3",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null, null];
    },
    $signature: 544
  };
  A.stringClass__closure0.prototype = {
    call$1($self) {
      return $self._string0$_text;
    },
    $signature: 545
  };
  A.stringClass__closure1.prototype = {
    call$1($self) {
      return $self._string0$_hasQuotes;
    },
    $signature: 546
  };
  A.stringClass__closure2.prototype = {
    call$1($self) {
      return $self.get$_string0$_sassLength();
    },
    $signature: 547
  };
  A.stringClass__closure3.prototype = {
    call$3($self, sassIndex, $name) {
      var t1,
        index = sassIndex.assertNumber$1($name).assertInt$1($name);
      if (index === 0)
        A.throwExpression(A.SassScriptException$0("String index may not be 0.", $name));
      else if (Math.abs(index) > $self.get$_string0$_sassLength())
        A.throwExpression(A.SassScriptException$0("Invalid index " + sassIndex.toString$0(0) + " for a string with " + $self.get$_string0$_sassLength() + " characters.", $name));
      t1 = index < 0 ? $self.get$_string0$_sassLength() + index : index - 1;
      return A.codepointIndexToCodeUnitIndex0($self._string0$_text, t1);
    },
    call$2($self, sassIndex) {
      return this.call$3($self, sassIndex, null);
    },
    "call*": "call$3",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null];
    },
    $signature: 548
  };
  A._ConstructorOptions1.prototype = {};
  A._NodeSassString.prototype = {};
  A.legacyStringClass_closure.prototype = {
    call$3(thisArg, value, dartValue) {
      var t1;
      if (dartValue == null) {
        value.toString;
        t1 = new A.SassString0(value, false);
      } else
        t1 = dartValue;
      J.set$dartValue$x(thisArg, t1);
    },
    call$2(thisArg, value) {
      return this.call$3(thisArg, value, null);
    },
    "call*": "call$3",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null];
    },
    $signature: 549
  };
  A.legacyStringClass_closure0.prototype = {
    call$1(thisArg) {
      return J.get$dartValue$x(thisArg)._string0$_text;
    },
    $signature: 550
  };
  A.legacyStringClass_closure1.prototype = {
    call$2(thisArg, value) {
      J.set$dartValue$x(thisArg, new A.SassString0(value, false));
    },
    $signature: 551
  };
  A.SassString0.prototype = {
    get$_string0$_sassLength() {
      var result, _this = this,
        value = _this._string0$__SassString__sassLength_FI;
      if (value === $) {
        result = new A.Runes(_this._string0$_text).get$length(0);
        _this._string0$__SassString__sassLength_FI !== $ && A.throwUnnamedLateFieldADI();
        _this._string0$__SassString__sassLength_FI = result;
        value = result;
      }
      return value;
    },
    get$isSpecialNumber() {
      var t1, _2_0, _0_0, _1_0;
      if (this._string0$_hasQuotes)
        return false;
      t1 = this._string0$_text;
      if (t1.length < 6)
        return false;
      _2_0 = t1.charCodeAt(0);
      $label1$1: {
        if (99 === _2_0 || 67 === _2_0) {
          _0_0 = t1.charCodeAt(1);
          $label0$0: {
            if (108 === _0_0 || 76 === _0_0) {
              t1 = (t1.charCodeAt(2) | 32) === 97 && (t1.charCodeAt(3) | 32) === 109 && (t1.charCodeAt(4) | 32) === 112 && t1.charCodeAt(5) === 40;
              break $label0$0;
            }
            if (97 === _0_0 || 65 === _0_0) {
              t1 = (t1.charCodeAt(2) | 32) === 108 && (t1.charCodeAt(3) | 32) === 99 && t1.charCodeAt(4) === 40;
              break $label0$0;
            }
            t1 = false;
            break $label0$0;
          }
          break $label1$1;
        }
        if (118 === _2_0 || 86 === _2_0) {
          t1 = (t1.charCodeAt(1) | 32) === 97 && (t1.charCodeAt(2) | 32) === 114 && t1.charCodeAt(3) === 40;
          break $label1$1;
        }
        if (101 === _2_0 || 69 === _2_0) {
          t1 = (t1.charCodeAt(1) | 32) === 110 && (t1.charCodeAt(2) | 32) === 118 && t1.charCodeAt(3) === 40;
          break $label1$1;
        }
        if (109 === _2_0 || 77 === _2_0) {
          _1_0 = t1.charCodeAt(1);
          $label2$2: {
            if (97 === _1_0 || 65 === _1_0) {
              t1 = (t1.charCodeAt(2) | 32) === 120 && t1.charCodeAt(3) === 40;
              break $label2$2;
            }
            if (105 === _1_0 || 73 === _1_0) {
              t1 = (t1.charCodeAt(2) | 32) === 110 && t1.charCodeAt(3) === 40;
              break $label2$2;
            }
            t1 = false;
            break $label2$2;
          }
          break $label1$1;
        }
        t1 = false;
        break $label1$1;
      }
      return t1;
    },
    get$isVar() {
      if (this._string0$_hasQuotes)
        return false;
      var t1 = this._string0$_text;
      if (t1.length < 8)
        return false;
      return (t1.charCodeAt(0) | 32) === 118 && (t1.charCodeAt(1) | 32) === 97 && (t1.charCodeAt(2) | 32) === 114 && t1.charCodeAt(3) === 40;
    },
    get$isBlank() {
      return !this._string0$_hasQuotes && this._string0$_text.length === 0;
    },
    accept$1$1(visitor) {
      var t1 = visitor._serialize0$_quote && this._string0$_hasQuotes,
        t2 = this._string0$_text;
      if (t1)
        visitor._serialize0$_visitQuotedString$1(t2);
      else
        visitor._serialize0$_visitUnquotedString$1(t2);
      return null;
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    assertString$1($name) {
      return this;
    },
    plus$1(other) {
      var t1 = this._string0$_text,
        t2 = this._string0$_hasQuotes;
      return other instanceof A.SassString0 ? new A.SassString0(t1 + other._string0$_text, t2) : new A.SassString0(t1 + A.serializeValue0(other, false, true), t2);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.SassString0 && this._string0$_text === other._string0$_text;
    },
    get$hashCode(_) {
      var t1 = this._string0$_hashCache;
      return t1 == null ? this._string0$_hashCache = B.JSString_methods.get$hashCode(this._string0$_text) : t1;
    }
  };
  A.ModifiableCssStyleRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssStyleRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    equalsIgnoringChildren$1(other) {
      var t1;
      if (other instanceof A.ModifiableCssStyleRule0)
        t1 = B.C_ListEquality.equals$2(0, other._style_rule0$_selector._box0$_inner.value.components, this._style_rule0$_selector._box0$_inner.value.components);
      else
        t1 = false;
      return t1;
    },
    copyWithoutChildren$0() {
      return A.ModifiableCssStyleRule$0(this._style_rule0$_selector, this.span, false, this.originalSelector);
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.StyleRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitStyleRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.children;
      return this.selector.toString$0(0) + " {" + (t1 && B.JSArray_methods).join$1(t1, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.CssStylesheet0.prototype = {
    get$isGroupEnd() {
      return false;
    },
    get$isChildless() {
      return false;
    },
    accept$1$1(visitor) {
      return visitor.visitCssStylesheet$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    get$children(receiver) {
      return this.children;
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.ModifiableCssStylesheet0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssStylesheet$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    equalsIgnoringChildren$1(other) {
      return other instanceof A.ModifiableCssStylesheet0;
    },
    copyWithoutChildren$0() {
      return A.ModifiableCssStylesheet$0(this.span);
    },
    $isCssStylesheet0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.StylesheetParser0.prototype = {
    parse$0() {
      return this.wrapSpanFormatException$1(new A.StylesheetParser_parse_closure0(this));
    },
    parseArgumentDeclaration$0() {
      return this._stylesheet0$_parseSingleProduction$1$1(new A.StylesheetParser_parseArgumentDeclaration_closure0(this), type$.ArgumentDeclaration_2);
    },
    _stylesheet0$_parseSingleProduction$1$1(production, $T) {
      return this.wrapSpanFormatException$1(new A.StylesheetParser__parseSingleProduction_closure0(this, production, $T));
    },
    parseSignature$1$requireParens(requireParens) {
      return this.wrapSpanFormatException$1(new A.StylesheetParser_parseSignature_closure(this, requireParens));
    },
    _stylesheet0$_statement$1$root(root) {
      var t2, _this = this,
        t1 = _this.scanner,
        _0_0 = t1.peekChar$0();
      if (64 === _0_0)
        return _this.atRule$2$root(new A.StylesheetParser__statement_closure0(_this), root);
      if (43 === _0_0) {
        if (!_this.get$indented() || !_this.lookingAtIdentifier$1(1))
          return _this._stylesheet0$_styleRule$0();
        _this._stylesheet0$_isUseAllowed = false;
        t2 = t1._string_scanner$_position;
        t1.readChar$0();
        return _this._stylesheet0$_includeRule$1(new A._SpanScannerState(t1, t2));
      }
      if (61 === _0_0) {
        if (!_this.get$indented())
          return _this._stylesheet0$_styleRule$0();
        _this._stylesheet0$_isUseAllowed = false;
        t2 = t1._string_scanner$_position;
        t1.readChar$0();
        _this.whitespace$0();
        return _this._stylesheet0$_mixinRule$1(new A._SpanScannerState(t1, t2));
      }
      if (125 === _0_0)
        t1.error$2$length(0, 'unmatched "}".', 1);
      return _this._stylesheet0$_inStyleRule || _this._stylesheet0$_inUnknownAtRule || _this._stylesheet0$_inMixin || _this._stylesheet0$_inContentBlock ? _this._stylesheet0$_declarationOrStyleRule$0() : _this._stylesheet0$_variableDeclarationOrStyleRule$0();
    },
    _stylesheet0$_statement$0() {
      return this._stylesheet0$_statement$1$root(false);
    },
    variableDeclarationWithoutNamespace$2(namespace, start_) {
      var t1, start, $name, t2, value, flagStart, t3, guarded, global, _0_0, endPosition, t4, t5, t6, declaration, _this = this,
        precedingComment = _this.lastSilentComment;
      _this.lastSilentComment = null;
      if (start_ == null) {
        t1 = _this.scanner;
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      } else
        start = start_;
      $name = _this.variableName$0();
      t1 = namespace != null;
      if (t1)
        _this._stylesheet0$_assertPublic$2($name, new A.StylesheetParser_variableDeclarationWithoutNamespace_closure1(_this, start));
      if (_this.get$plainCss())
        _this.error$2(0, string$.Sassx20v, _this.scanner.spanFrom$1(start));
      _this.whitespace$0();
      t2 = _this.scanner;
      t2.expectChar$1(58);
      _this.whitespace$0();
      value = _this._stylesheet0$_expression$0();
      flagStart = new A._SpanScannerState(t2, t2._string_scanner$_position);
      for (t3 = _this.logger, guarded = false, global = false; t2.scanChar$1(33);) {
        $label0$0: {
          _0_0 = _this.identifier$0();
          if ("default" === _0_0) {
            if (guarded) {
              endPosition = t2._string_scanner$_position;
              t4 = t2._sourceFile;
              t5 = flagStart.position;
              t6 = new A._FileSpan(t4, t5, endPosition);
              t6._FileSpan$3(t4, t5, endPosition);
              A.WarnForDeprecation_warnForDeprecation0(t3, B.Deprecation_iXE, string$.x21defau, t6, null);
            }
            guarded = true;
            break $label0$0;
          }
          if ("global" === _0_0) {
            if (t1) {
              endPosition = t2._string_scanner$_position;
              t4 = t2._sourceFile;
              t5 = flagStart.position;
              t6 = new A._FileSpan(t4, t5, endPosition);
              t6._FileSpan$3(t4, t5, endPosition);
              _this.error$2(0, string$.x21globai, t6);
            } else if (global) {
              endPosition = t2._string_scanner$_position;
              t4 = t2._sourceFile;
              t5 = flagStart.position;
              t6 = new A._FileSpan(t4, t5, endPosition);
              t6._FileSpan$3(t4, t5, endPosition);
              A.WarnForDeprecation_warnForDeprecation0(t3, B.Deprecation_iXE, string$.x21globas, t6, null);
            }
            global = true;
            break $label0$0;
          }
          endPosition = t2._string_scanner$_position;
          t4 = t2._sourceFile;
          t5 = flagStart.position;
          t6 = new A._FileSpan(t4, t5, endPosition);
          t6._FileSpan$3(t4, t5, endPosition);
          _this.error$2(0, "Invalid flag name.", t6);
        }
        _this.whitespace$0();
        flagStart = new A._SpanScannerState(t2, t2._string_scanner$_position);
      }
      _this.expectStatementSeparator$1("variable declaration");
      declaration = A.VariableDeclaration$0($name, value, t2.spanFrom$1(start), precedingComment, global, guarded, namespace);
      if (global)
        _this._stylesheet0$_globalVariables.putIfAbsent$2($name, new A.StylesheetParser_variableDeclarationWithoutNamespace_closure2(declaration));
      return declaration;
    },
    variableDeclarationWithoutNamespace$0() {
      return this.variableDeclarationWithoutNamespace$2(null, null);
    },
    _stylesheet0$_variableDeclarationOrStyleRule$0() {
      var t1, t2, variableOrInterpolation, t3, _this = this;
      if (_this.get$plainCss())
        return _this._stylesheet0$_styleRule$0();
      if (_this.get$indented() && _this.scanner.scanChar$1(92))
        return _this._stylesheet0$_styleRule$0();
      if (!_this.lookingAtIdentifier$0())
        return _this._stylesheet0$_styleRule$0();
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      variableOrInterpolation = _this._stylesheet0$_variableDeclarationOrInterpolation$0();
      if (variableOrInterpolation instanceof A.VariableDeclaration0)
        t1 = variableOrInterpolation;
      else {
        t3 = new A.InterpolationBuffer0(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object));
        t3.addInterpolation$1(type$.Interpolation_2._as(variableOrInterpolation));
        t2 = _this._stylesheet0$_styleRule$2(t3, new A._SpanScannerState(t1, t2));
        t1 = t2;
      }
      return t1;
    },
    _stylesheet0$_declarationOrStyleRule$0() {
      var t1, t2, declarationOrBuffer, _this = this;
      if (_this.get$indented() && _this.scanner.scanChar$1(92))
        return _this._stylesheet0$_styleRule$0();
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      declarationOrBuffer = _this._stylesheet0$_declarationOrBuffer$0();
      return type$.Statement_2._is(declarationOrBuffer) ? declarationOrBuffer : _this._stylesheet0$_styleRule$2(type$.InterpolationBuffer_2._as(declarationOrBuffer), new A._SpanScannerState(t1, t2));
    },
    _stylesheet0$_declarationOrBuffer$0() {
      var midBuffer, couldBeSelector, beforeDeclaration, value, additional, t2, t3, variableOrInterpolation, t4, t5, $name, postColonWhitespace, _0_0, exception, _1_0, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        nameBuffer = new A.InterpolationBuffer0(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object)),
        startsWithPunctuation = _this._stylesheet0$_lookingAtPotentialPropertyHack$0();
      if (startsWithPunctuation) {
        t2 = t1.readChar$0();
        t3 = nameBuffer._interpolation_buffer0$_text;
        t2 = A.Primitives_stringFromCharCode(t2);
        t3._contents += t2;
        t2 = _this.rawText$1(_this.get$whitespace());
        t3 = nameBuffer._interpolation_buffer0$_text;
        t3._contents += t2;
      }
      if (!_this._stylesheet0$_lookingAtInterpolatedIdentifier$0())
        return nameBuffer;
      variableOrInterpolation = startsWithPunctuation ? _this.interpolatedIdentifier$0() : _this._stylesheet0$_variableDeclarationOrInterpolation$0();
      if (variableOrInterpolation instanceof A.VariableDeclaration0)
        return variableOrInterpolation;
      else
        nameBuffer.addInterpolation$1(type$.Interpolation_2._as(variableOrInterpolation));
      _this._stylesheet0$_isUseAllowed = false;
      if (t1.matches$1("/*")) {
        t2 = _this.rawText$1(_this.get$loudComment());
        t3 = nameBuffer._interpolation_buffer0$_text;
        t3._contents += t2;
      }
      midBuffer = new A.StringBuffer("");
      t2 = midBuffer;
      t3 = _this.get$whitespace();
      t4 = _this.rawText$1(t3);
      t2._contents += t4;
      t4 = t1._string_scanner$_position;
      if (!t1.scanChar$1(58)) {
        if (midBuffer._contents.length !== 0) {
          t1 = nameBuffer._interpolation_buffer0$_text;
          t2 = A.Primitives_stringFromCharCode(32);
          t1._contents += t2;
        }
        return nameBuffer;
      }
      t2 = midBuffer;
      t5 = A.Primitives_stringFromCharCode(58);
      t2._contents += t5;
      $name = nameBuffer.interpolation$1(t1.spanFrom$2(start, new A._SpanScannerState(t1, t4)));
      if (B.JSString_methods.startsWith$1($name.get$initialPlain(), "--")) {
        t2 = _this._stylesheet0$_interpolatedDeclarationValue$1$silentComments(false);
        _this.expectStatementSeparator$1("custom property");
        return A.Declaration$0($name, new A.StringExpression0(t2, false), t1.spanFrom$1(start));
      }
      if (t1.scanChar$1(58)) {
        t1 = nameBuffer;
        t2 = t1._interpolation_buffer0$_text;
        t3 = A.S(midBuffer);
        t2._contents += t3;
        t3 = A.Primitives_stringFromCharCode(58);
        t2._contents += t3;
        return t1;
      } else if (_this.get$indented() && _this._stylesheet0$_lookingAtInterpolatedIdentifier$0()) {
        t1 = nameBuffer;
        t2 = t1._interpolation_buffer0$_text;
        t3 = A.S(midBuffer);
        t2._contents += t3;
        return t1;
      }
      postColonWhitespace = _this.rawText$1(t3);
      _0_0 = _this._stylesheet0$_tryDeclarationChildren$2($name, start);
      if (_0_0 != null)
        return _0_0;
      midBuffer._contents += postColonWhitespace;
      couldBeSelector = postColonWhitespace.length === 0 && _this._stylesheet0$_lookingAtInterpolatedIdentifier$0();
      beforeDeclaration = new A._SpanScannerState(t1, t1._string_scanner$_position);
      value = null;
      try {
        value = _this._stylesheet0$_expression$0();
        if (_this.lookingAtChildren$0()) {
          if (couldBeSelector)
            _this.expectStatementSeparator$0();
        } else if (!_this.atEndOfStatement$0())
          _this.expectStatementSeparator$0();
      } catch (exception) {
        if (type$.FormatException._is(A.unwrapException(exception))) {
          if (!couldBeSelector)
            throw exception;
          t1.set$state(beforeDeclaration);
          additional = _this.almostAnyValue$0();
          if (!_this.get$indented() && t1.peekChar$0() === 59)
            throw exception;
          t1 = nameBuffer._interpolation_buffer0$_text;
          t2 = A.S(midBuffer);
          t1._contents += t2;
          nameBuffer.addInterpolation$1(additional);
          return nameBuffer;
        } else
          throw exception;
      }
      _1_0 = _this._stylesheet0$_tryDeclarationChildren$3$value($name, start, value);
      if (_1_0 != null)
        return _1_0;
      else {
        _this.expectStatementSeparator$0();
        return A.Declaration$0($name, value, t1.spanFrom$1(start));
      }
    },
    _stylesheet0$_variableDeclarationOrInterpolation$0() {
      var t1, start, identifier, t2, buffer, _this = this;
      if (!_this.lookingAtIdentifier$0())
        return _this.interpolatedIdentifier$0();
      t1 = _this.scanner;
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      identifier = _this.identifier$0();
      if (t1.matches$1(".$")) {
        t1.readChar$0();
        return _this.variableDeclarationWithoutNamespace$2(identifier, start);
      } else {
        t2 = new A.StringBuffer("");
        buffer = new A.InterpolationBuffer0(t2, A._setArrayType([], type$.JSArray_Object));
        t2._contents = "" + identifier;
        if (_this._stylesheet0$_lookingAtInterpolatedIdentifierBody$0())
          buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
        return buffer.interpolation$1(t1.spanFrom$1(start));
      }
    },
    _stylesheet0$_styleRule$2(buffer, start_) {
      var t2, start, interpolation, wasInStyleRule, _this = this, t1 = {};
      _this._stylesheet0$_isUseAllowed = false;
      if (start_ == null) {
        t2 = _this.scanner;
        start = new A._SpanScannerState(t2, t2._string_scanner$_position);
      } else
        start = start_;
      interpolation = t1.interpolation = _this.styleRuleSelector$0();
      if (buffer != null) {
        buffer.addInterpolation$1(interpolation);
        t2 = t1.interpolation = buffer.interpolation$1(_this.scanner.spanFrom$1(start));
      } else
        t2 = interpolation;
      if (t2.contents.length === 0)
        _this.scanner.error$1(0, 'expected "}".');
      wasInStyleRule = _this._stylesheet0$_inStyleRule;
      _this._stylesheet0$_inStyleRule = true;
      return _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser__styleRule_closure0(t1, _this, wasInStyleRule, start));
    },
    _stylesheet0$_styleRule$0() {
      return this._stylesheet0$_styleRule$2(null, null);
    },
    _stylesheet0$_propertyOrVariableDeclaration$1$parseCustomProperties(parseCustomProperties) {
      var t2, nameBuffer, t3, $name, variableOrInterpolation, _0_0, value, _1_0, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      if (_this._stylesheet0$_lookingAtPotentialPropertyHack$0()) {
        t2 = new A.StringBuffer("");
        nameBuffer = new A.InterpolationBuffer0(t2, A._setArrayType([], type$.JSArray_Object));
        t3 = A.Primitives_stringFromCharCode(t1.readChar$0());
        t2._contents += t3;
        t3 = _this.rawText$1(_this.get$whitespace());
        t2._contents += t3;
        nameBuffer.addInterpolation$1(_this.interpolatedIdentifier$0());
        $name = nameBuffer.interpolation$1(t1.spanFrom$1(start));
      } else if (!_this.get$plainCss()) {
        variableOrInterpolation = _this._stylesheet0$_variableDeclarationOrInterpolation$0();
        if (variableOrInterpolation instanceof A.VariableDeclaration0)
          return variableOrInterpolation;
        else
          type$.Interpolation_2._as(variableOrInterpolation);
        $name = variableOrInterpolation;
      } else
        $name = _this.interpolatedIdentifier$0();
      _this.whitespace$0();
      t1.expectChar$1(58);
      _this.whitespace$0();
      _0_0 = _this._stylesheet0$_tryDeclarationChildren$2($name, start);
      if (_0_0 != null)
        return _0_0;
      value = _this._stylesheet0$_expression$0();
      _1_0 = _this._stylesheet0$_tryDeclarationChildren$3$value($name, start, value);
      if (_1_0 != null)
        return _1_0;
      else {
        _this.expectStatementSeparator$0();
        return A.Declaration$0($name, value, t1.spanFrom$1(start));
      }
    },
    _stylesheet0$_tryDeclarationChildren$3$value($name, start, value) {
      var _this = this;
      if (!_this.lookingAtChildren$0())
        return null;
      if (_this.get$plainCss())
        _this.scanner.error$1(0, string$.Nested);
      return _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_declarationChild(), start, new A.StylesheetParser__tryDeclarationChildren_closure0($name, value));
    },
    _stylesheet0$_tryDeclarationChildren$2($name, start) {
      return this._stylesheet0$_tryDeclarationChildren$3$value($name, start, null);
    },
    _stylesheet0$_declarationChild$0() {
      return this.scanner.peekChar$0() === 64 ? this._stylesheet0$_declarationAtRule$0() : this._stylesheet0$_propertyOrVariableDeclaration$1$parseCustomProperties(false);
    },
    atRule$2$root(child, root) {
      var $name, wasUseAllowed, value, optional, url, namespace, configuration, span, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expectChar$2$name(64, "@-rule");
      $name = _this.interpolatedIdentifier$0();
      _this.whitespace$0();
      wasUseAllowed = _this._stylesheet0$_isUseAllowed;
      _this._stylesheet0$_isUseAllowed = false;
      switch ($name.get$asPlain()) {
        case "at-root":
          return _this._stylesheet0$_atRootRule$1(start);
        case "content":
          return _this._stylesheet0$_contentRule$1(start);
        case "debug":
          return _this._stylesheet0$_debugRule$1(start);
        case "each":
          return _this._stylesheet0$_eachRule$2(start, child);
        case "else":
          return _this._stylesheet0$_disallowedAtRule$1(start);
        case "error":
          return _this._stylesheet0$_errorRule$1(start);
        case "extend":
          if (!_this._stylesheet0$_inStyleRule && !_this._stylesheet0$_inMixin && !_this._stylesheet0$_inContentBlock)
            _this.error$2(0, string$.x40exten, t1.spanFrom$1(start));
          value = _this.almostAnyValue$0();
          optional = t1.scanChar$1(33);
          if (optional) {
            _this.expectIdentifier$1("optional");
            _this.whitespace$0();
          }
          _this.expectStatementSeparator$1("@extend rule");
          return new A.ExtendRule0(value, optional, t1.spanFrom$1(start));
        case "for":
          return _this._stylesheet0$_forRule$2(start, child);
        case "forward":
          _this._stylesheet0$_isUseAllowed = wasUseAllowed;
          if (!root)
            _this._stylesheet0$_disallowedAtRule$1(start);
          return _this._stylesheet0$_forwardRule$1(start);
        case "function":
          return _this._stylesheet0$_functionRule$1(start);
        case "if":
          return _this._stylesheet0$_ifRule$2(start, child);
        case "import":
          return _this._stylesheet0$_importRule$1(start);
        case "include":
          return _this._stylesheet0$_includeRule$1(start);
        case "media":
          return _this.mediaRule$1(start);
        case "mixin":
          return _this._stylesheet0$_mixinRule$1(start);
        case "-moz-document":
          return _this.mozDocumentRule$2(start, $name);
        case "return":
          return _this._stylesheet0$_disallowedAtRule$1(start);
        case "supports":
          return _this.supportsRule$1(start);
        case "use":
          _this._stylesheet0$_isUseAllowed = wasUseAllowed;
          if (!root)
            _this._stylesheet0$_disallowedAtRule$1(start);
          url = _this._stylesheet0$_urlString$0();
          _this.whitespace$0();
          namespace = _this._stylesheet0$_useNamespace$2(url, start);
          _this.whitespace$0();
          configuration = _this._stylesheet0$_configuration$0();
          _this.whitespace$0();
          span = t1.spanFrom$1(start);
          if (!_this._stylesheet0$_isUseAllowed)
            _this.error$2(0, string$.x40use_r, span);
          _this.expectStatementSeparator$1("@use rule");
          t1 = new A.UseRule0(url, namespace, configuration == null ? B.List_empty21 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable_2), span);
          t1.UseRule$4$configuration0(url, namespace, span, configuration);
          return t1;
        case "warn":
          return _this._stylesheet0$_warnRule$1(start);
        case "while":
          return _this._stylesheet0$_whileRule$2(start, child);
        default:
          return _this.unknownAtRule$2(start, $name);
      }
    },
    _stylesheet0$_declarationAtRule$0() {
      var _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        _0_0 = _this._stylesheet0$_plainAtRuleName$0();
      $label0$0: {
        if ("content" === _0_0) {
          t1 = _this._stylesheet0$_contentRule$1(start);
          break $label0$0;
        }
        if ("debug" === _0_0) {
          t1 = _this._stylesheet0$_debugRule$1(start);
          break $label0$0;
        }
        if ("each" === _0_0) {
          t1 = _this._stylesheet0$_eachRule$2(start, _this.get$_stylesheet0$_declarationChild());
          break $label0$0;
        }
        if ("else" === _0_0)
          _this._stylesheet0$_disallowedAtRule$1(start);
        if ("error" === _0_0) {
          t1 = _this._stylesheet0$_errorRule$1(start);
          break $label0$0;
        }
        if ("for" === _0_0) {
          t1 = _this._stylesheet0$_forRule$2(start, _this.get$_stylesheet0$_declarationChild());
          break $label0$0;
        }
        if ("if" === _0_0) {
          t1 = _this._stylesheet0$_ifRule$2(start, _this.get$_stylesheet0$_declarationChild());
          break $label0$0;
        }
        if ("include" === _0_0) {
          t1 = _this._stylesheet0$_includeRule$1(start);
          break $label0$0;
        }
        if ("warn" === _0_0) {
          t1 = _this._stylesheet0$_warnRule$1(start);
          break $label0$0;
        }
        if ("while" === _0_0) {
          t1 = _this._stylesheet0$_whileRule$2(start, _this.get$_stylesheet0$_declarationChild());
          break $label0$0;
        }
        t1 = _this._stylesheet0$_disallowedAtRule$1(start);
      }
      return t1;
    },
    _stylesheet0$_functionChild$0() {
      var state, variableDeclarationError, stackTrace, statement, t2, namespace, exception, t3, start, _0_0, value, _this = this,
        t1 = _this.scanner;
      if (t1.peekChar$0() !== 64) {
        t2 = t1._string_scanner$_position;
        state = new A._SpanScannerState(t1, t2);
        try {
          namespace = _this.identifier$0();
          t1.expectChar$1(46);
          t2 = _this.variableDeclarationWithoutNamespace$2(namespace, new A._SpanScannerState(t1, t2));
          return t2;
        } catch (exception) {
          t2 = A.unwrapException(exception);
          t3 = type$.SourceSpanFormatException;
          if (t3._is(t2)) {
            variableDeclarationError = t2;
            stackTrace = A.getTraceFromException(exception);
            t1.set$state(state);
            statement = null;
            try {
              statement = _this._stylesheet0$_declarationOrStyleRule$0();
            } catch (exception) {
              if (t3._is(A.unwrapException(exception)))
                throw A.wrapException(variableDeclarationError);
              else
                throw exception;
            }
            t2 = statement instanceof A.StyleRule0 ? "style rules" : "declarations";
            _this.error$3(0, "@function rules may not contain " + t2 + ".", J.get$span$z(statement), stackTrace);
          } else
            throw exception;
        }
      }
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      _0_0 = _this._stylesheet0$_plainAtRuleName$0();
      $label0$0: {
        if ("debug" === _0_0) {
          t1 = _this._stylesheet0$_debugRule$1(start);
          break $label0$0;
        }
        if ("each" === _0_0) {
          t1 = _this._stylesheet0$_eachRule$2(start, _this.get$_stylesheet0$_functionChild());
          break $label0$0;
        }
        if ("else" === _0_0)
          _this._stylesheet0$_disallowedAtRule$1(start);
        if ("error" === _0_0) {
          t1 = _this._stylesheet0$_errorRule$1(start);
          break $label0$0;
        }
        if ("for" === _0_0) {
          t1 = _this._stylesheet0$_forRule$2(start, _this.get$_stylesheet0$_functionChild());
          break $label0$0;
        }
        if ("if" === _0_0) {
          t1 = _this._stylesheet0$_ifRule$2(start, _this.get$_stylesheet0$_functionChild());
          break $label0$0;
        }
        if ("return" === _0_0) {
          value = _this._stylesheet0$_expression$0();
          _this.expectStatementSeparator$1("@return rule");
          t1 = new A.ReturnRule0(value, t1.spanFrom$1(start));
          break $label0$0;
        }
        if ("warn" === _0_0) {
          t1 = _this._stylesheet0$_warnRule$1(start);
          break $label0$0;
        }
        if ("while" === _0_0) {
          t1 = _this._stylesheet0$_whileRule$2(start, _this.get$_stylesheet0$_functionChild());
          break $label0$0;
        }
        t1 = _this._stylesheet0$_disallowedAtRule$1(start);
      }
      return t1;
    },
    _stylesheet0$_plainAtRuleName$0() {
      this.scanner.expectChar$2$name(64, "@-rule");
      var $name = this.identifier$0();
      this.whitespace$0();
      return $name;
    },
    _stylesheet0$_atRootRule$1(start) {
      var t2, t3, t4, buffer, t5, query, _this = this,
        t1 = _this.scanner;
      if (t1.peekChar$0() === 40) {
        t2 = t1._string_scanner$_position;
        t3 = new A.StringBuffer("");
        t4 = A._setArrayType([], type$.JSArray_Object);
        buffer = new A.InterpolationBuffer0(t3, t4);
        t1.expectChar$1(40);
        t5 = A.Primitives_stringFromCharCode(40);
        t3._contents += t5;
        _this.whitespace$0();
        t5 = _this._stylesheet0$_expression$0();
        buffer._interpolation_buffer0$_flushText$0();
        t4.push(t5);
        if (t1.scanChar$1(58)) {
          _this.whitespace$0();
          t5 = A.Primitives_stringFromCharCode(58);
          t3._contents += t5;
          t5 = A.Primitives_stringFromCharCode(32);
          t3._contents += t5;
          t5 = _this._stylesheet0$_expression$0();
          buffer._interpolation_buffer0$_flushText$0();
          t4.push(t5);
        }
        t1.expectChar$1(41);
        _this.whitespace$0();
        t4 = A.Primitives_stringFromCharCode(41);
        t3._contents += t4;
        query = buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
        _this.whitespace$0();
        return _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser__atRootRule_closure1(query));
      } else if (_this.lookingAtChildren$0())
        return _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser__atRootRule_closure2());
      else
        return A.AtRootRule$0(A._setArrayType([_this._stylesheet0$_styleRule$0()], type$.JSArray_Statement_2), t1.spanFrom$1(start), null);
    },
    _stylesheet0$_contentRule$1(start) {
      var t1, beforeWhitespace, $arguments, t2, _this = this;
      if (!_this._stylesheet0$_inMixin)
        _this.error$2(0, string$.x40conte, _this.scanner.spanFrom$1(start));
      t1 = _this.scanner;
      beforeWhitespace = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
      _this.whitespace$0();
      if (t1.peekChar$0() === 40) {
        $arguments = _this._stylesheet0$_argumentInvocation$1$mixin(true);
        _this.whitespace$0();
      } else {
        t2 = beforeWhitespace.offset;
        $arguments = A.ArgumentInvocation$empty0(A._FileSpan$(beforeWhitespace.file, t2, t2));
      }
      _this.expectStatementSeparator$1("@content rule");
      return new A.ContentRule0($arguments, t1.spanFrom$1(start));
    },
    _stylesheet0$_debugRule$1(start) {
      var value = this._stylesheet0$_expression$0();
      this.expectStatementSeparator$1("@debug rule");
      return new A.DebugRule0(value, this.scanner.spanFrom$1(start));
    },
    _stylesheet0$_eachRule$2(start, child) {
      var variables, t1, _this = this,
        wasInControlDirective = _this._stylesheet0$_inControlDirective;
      _this._stylesheet0$_inControlDirective = true;
      variables = A._setArrayType([_this.variableName$0()], type$.JSArray_String);
      _this.whitespace$0();
      for (t1 = _this.scanner; t1.scanChar$1(44);) {
        _this.whitespace$0();
        t1.expectChar$1(36);
        variables.push(_this.identifier$1$normalize(true));
        _this.whitespace$0();
      }
      _this.expectIdentifier$1("in");
      _this.whitespace$0();
      return _this._stylesheet0$_withChildren$3(child, start, new A.StylesheetParser__eachRule_closure0(_this, wasInControlDirective, variables, _this._stylesheet0$_expression$0()));
    },
    _stylesheet0$_errorRule$1(start) {
      var value = this._stylesheet0$_expression$0();
      this.expectStatementSeparator$1("@error rule");
      return new A.ErrorRule0(value, this.scanner.spanFrom$1(start));
    },
    _stylesheet0$_functionRule$1(start) {
      var t1, t2, $name, $arguments, _0_0, _this = this,
        precedingComment = _this.lastSilentComment;
      _this.lastSilentComment = null;
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      $name = _this.identifier$0();
      if (B.JSString_methods.startsWith$1($name, "--"))
        A.WarnForDeprecation_warnForDeprecation0(_this.logger, B.Deprecation_qBS, string$.Sassx20_fm, t1.spanFrom$1(new A._SpanScannerState(t1, t2)), null);
      _this.whitespace$0();
      $arguments = _this._stylesheet0$_argumentDeclaration$0();
      if (_this._stylesheet0$_inMixin || _this._stylesheet0$_inContentBlock)
        _this.error$2(0, string$.Mixinscf, t1.spanFrom$1(start));
      else if (_this._stylesheet0$_inControlDirective)
        _this.error$2(0, string$.Functi, t1.spanFrom$1(start));
      _0_0 = A.unvendor0($name);
      if ("calc" === _0_0 || "element" === _0_0 || "expression" === _0_0 || "url" === _0_0 || "and" === _0_0 || "or" === _0_0 || "not" === _0_0 || "clamp" === _0_0)
        _this.error$2(0, "Invalid function name.", t1.spanFrom$1(start));
      _this.whitespace$0();
      return _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_functionChild(), start, new A.StylesheetParser__functionRule_closure0($name, $arguments, precedingComment));
    },
    _stylesheet0$_forRule$2(start, child) {
      var variable, from, _this = this, t1 = {},
        wasInControlDirective = _this._stylesheet0$_inControlDirective;
      _this._stylesheet0$_inControlDirective = true;
      variable = _this.variableName$0();
      _this.whitespace$0();
      _this.expectIdentifier$1("from");
      _this.whitespace$0();
      t1.exclusive = null;
      from = _this._stylesheet0$_expression$1$until(new A.StylesheetParser__forRule_closure1(t1, _this));
      if (t1.exclusive == null)
        _this.scanner.error$1(0, 'Expected "to" or "through".');
      _this.whitespace$0();
      return _this._stylesheet0$_withChildren$3(child, start, new A.StylesheetParser__forRule_closure2(t1, _this, wasInControlDirective, variable, from, _this._stylesheet0$_expression$0()));
    },
    _stylesheet0$_forwardRule$1(start) {
      var prefix, _0_0, shownMixinsAndFunctions, shownVariables, hiddenVariables, hiddenMixinsAndFunctions, _1_0, configuration, span, t1, t2, t3, t4, _this = this, _null = null,
        url = _this._stylesheet0$_urlString$0();
      _this.whitespace$0();
      if (_this.scanIdentifier$1("as")) {
        _this.whitespace$0();
        prefix = _this.identifier$1$normalize(true);
        _this.scanner.expectChar$1(42);
        _this.whitespace$0();
      } else
        prefix = _null;
      if (_this.scanIdentifier$1("show")) {
        _0_0 = _this._stylesheet0$_memberList$0();
        shownMixinsAndFunctions = _0_0._0;
        shownVariables = _0_0._1;
        hiddenVariables = _null;
        hiddenMixinsAndFunctions = hiddenVariables;
      } else {
        if (_this.scanIdentifier$1("hide")) {
          _1_0 = _this._stylesheet0$_memberList$0();
          hiddenMixinsAndFunctions = _1_0._0;
          hiddenVariables = _1_0._1;
        } else {
          hiddenVariables = _null;
          hiddenMixinsAndFunctions = hiddenVariables;
        }
        shownVariables = _null;
        shownMixinsAndFunctions = shownVariables;
      }
      configuration = _this._stylesheet0$_configuration$1$allowGuarded(true);
      _this.whitespace$0();
      _this.expectStatementSeparator$1("@forward rule");
      span = _this.scanner.spanFrom$1(start);
      if (!_this._stylesheet0$_isUseAllowed)
        _this.error$2(0, string$.x40forwa, span);
      if (shownMixinsAndFunctions != null) {
        shownVariables.toString;
        t1 = type$.String;
        t2 = A.LinkedHashSet_LinkedHashSet$of(shownMixinsAndFunctions, t1);
        t3 = type$.UnmodifiableSetView_String;
        t1 = A.LinkedHashSet_LinkedHashSet$of(shownVariables, t1);
        t4 = configuration == null ? B.List_empty21 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable_2);
        return new A.ForwardRule0(url, new A.UnmodifiableSetView0(t2, t3), new A.UnmodifiableSetView0(t1, t3), _null, _null, prefix, t4, span);
      } else if (hiddenMixinsAndFunctions != null) {
        hiddenVariables.toString;
        t1 = type$.String;
        t2 = A.LinkedHashSet_LinkedHashSet$of(hiddenMixinsAndFunctions, t1);
        t3 = type$.UnmodifiableSetView_String;
        t1 = A.LinkedHashSet_LinkedHashSet$of(hiddenVariables, t1);
        t4 = configuration == null ? B.List_empty21 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable_2);
        return new A.ForwardRule0(url, _null, _null, new A.UnmodifiableSetView0(t2, t3), new A.UnmodifiableSetView0(t1, t3), prefix, t4, span);
      } else
        return new A.ForwardRule0(url, _null, _null, _null, _null, prefix, configuration == null ? B.List_empty21 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable_2), span);
    },
    _stylesheet0$_memberList$0() {
      var _this = this,
        t1 = type$.String,
        identifiers = A.LinkedHashSet_LinkedHashSet$_empty(t1),
        variables = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      t1 = _this.scanner;
      do {
        _this.whitespace$0();
        _this.withErrorMessage$2(string$.Expect, new A.StylesheetParser__memberList_closure0(_this, variables, identifiers));
        _this.whitespace$0();
      } while (t1.scanChar$1(44));
      return new A._Record_2(identifiers, variables);
    },
    _stylesheet0$_ifRule$2(start, child) {
      var condition, children, clauses, lastClause, span, _this = this,
        ifIndentation = _this.get$currentIndentation(),
        wasInControlDirective = _this._stylesheet0$_inControlDirective;
      _this._stylesheet0$_inControlDirective = true;
      condition = _this._stylesheet0$_expression$0();
      children = _this.children$1(0, child);
      _this.whitespaceWithoutComments$0();
      clauses = A._setArrayType([A.IfClause$0(condition, children)], type$.JSArray_IfClause_2);
      while (true) {
        if (!_this.scanElse$1(ifIndentation)) {
          lastClause = null;
          break;
        }
        _this.whitespace$0();
        if (_this.scanIdentifier$1("if")) {
          _this.whitespace$0();
          clauses.push(A.IfClause$0(_this._stylesheet0$_expression$0(), _this.children$1(0, child)));
        } else {
          lastClause = A.ElseClause$0(_this.children$1(0, child));
          break;
        }
      }
      _this._stylesheet0$_inControlDirective = wasInControlDirective;
      span = _this.scanner.spanFrom$1(start);
      _this.whitespaceWithoutComments$0();
      return new A.IfRule0(A.List_List$unmodifiable(clauses, type$.IfClause_2), lastClause, span);
    },
    _stylesheet0$_importRule$1(start) {
      var argument, t3, _this = this,
        imports = A._setArrayType([], type$.JSArray_Import_2),
        t1 = _this.scanner,
        t2 = _this.logger;
      do {
        _this.whitespace$0();
        argument = _this.importArgument$0();
        t3 = argument instanceof A.DynamicImport0;
        if (t3)
          A.WarnForDeprecation_warnForDeprecation0(t2, B.Deprecation_qd9, string$.Sassx20_i, argument.span, null);
        if ((_this._stylesheet0$_inControlDirective || _this._stylesheet0$_inMixin) && t3)
          _this._stylesheet0$_disallowedAtRule$1(start);
        imports.push(argument);
        _this.whitespace$0();
      } while (t1.scanChar$1(44));
      _this.expectStatementSeparator$1("@import rule");
      t1 = t1.spanFrom$1(start);
      return new A.ImportRule0(A.List_List$unmodifiable(imports, type$.Import_2), t1);
    },
    importArgument$0() {
      var url, urlSpan, innerError, stackTrace, modifiers, t2, exception, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        _0_0 = t1.peekChar$0();
      if (117 === _0_0 || 85 === _0_0) {
        url = _this.dynamicUrl$0();
        _this.whitespace$0();
        modifiers = _this.tryImportModifiers$0();
        return new A.StaticImport0(A.Interpolation$0(A._setArrayType([url], type$.JSArray_Object), t1.spanFrom$1(start)), modifiers, t1.spanFrom$1(start));
      }
      url = _this.string$0();
      urlSpan = t1.spanFrom$1(start);
      _this.whitespace$0();
      modifiers = _this.tryImportModifiers$0();
      if (_this.isPlainImportUrl$1(url) || modifiers != null) {
        t2 = urlSpan;
        return new A.StaticImport0(A.Interpolation$0(A._setArrayType([A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2.file._decodedChars, t2._file$_start, t2._end), 0, null)], type$.JSArray_Object), urlSpan), modifiers, t1.spanFrom$1(start));
      } else
        try {
          t1 = _this.parseImportUrl$1(url);
          return new A.DynamicImport0(t1, urlSpan);
        } catch (exception) {
          t1 = A.unwrapException(exception);
          if (type$.FormatException._is(t1)) {
            innerError = t1;
            stackTrace = A.getTraceFromException(exception);
            _this.error$3(0, "Invalid URL: " + J.get$message$x(innerError), urlSpan, stackTrace);
          } else
            throw exception;
        }
    },
    parseImportUrl$1(url) {
      var t1 = $.$get$windows();
      if (t1.style.rootLength$1(url) > 0 && !$.$get$url().style.isRootRelative$1(url))
        return t1.toUri$1(url).toString$0(0);
      A.Uri_parse(url);
      return url;
    },
    isPlainImportUrl$1(url) {
      var _0_0, t1;
      if (url.length < 5)
        return false;
      if (B.JSString_methods.endsWith$1(url, ".css"))
        return true;
      _0_0 = url.charCodeAt(0);
      $label0$0: {
        if (47 === _0_0) {
          t1 = url.charCodeAt(1) === 47;
          break $label0$0;
        }
        if (104 === _0_0) {
          t1 = B.JSString_methods.startsWith$1(url, "http://") || B.JSString_methods.startsWith$1(url, "https://");
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    tryImportModifiers$0() {
      var t1, start, t2, t3, buffer, t4, identifier, $name, query, t5, endPosition, result, _this = this;
      if (!_this._stylesheet0$_lookingAtInterpolatedIdentifier$0() && _this.scanner.peekChar$0() !== 40)
        return null;
      t1 = _this.scanner;
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t2 = new A.StringBuffer("");
      t3 = A._setArrayType([], type$.JSArray_Object);
      buffer = new A.InterpolationBuffer0(t2, t3);
      for (; true;)
        if (_this._stylesheet0$_lookingAtInterpolatedIdentifier$0()) {
          if (!(t3.length === 0 && t2._contents.length === 0)) {
            t4 = A.Primitives_stringFromCharCode(32);
            t2._contents += t4;
          }
          identifier = _this.interpolatedIdentifier$0();
          buffer.addInterpolation$1(identifier);
          t4 = identifier.get$asPlain();
          $name = t4 == null ? null : t4.toLowerCase();
          if ($name !== "and" && t1.scanChar$1(40)) {
            if ($name === "supports") {
              query = _this._stylesheet0$_importSupportsQuery$0();
              t4 = !(query instanceof A.SupportsDeclaration0);
              if (t4) {
                t5 = A.Primitives_stringFromCharCode(40);
                t2._contents += t5;
              }
              buffer._interpolation_buffer0$_flushText$0();
              t3.push(new A.SupportsExpression0(query));
              if (t4) {
                t4 = A.Primitives_stringFromCharCode(41);
                t2._contents += t4;
              }
            } else {
              t4 = A.Primitives_stringFromCharCode(40);
              t2._contents += t4;
              buffer.addInterpolation$1(_this._stylesheet0$_interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(true, true));
              t4 = A.Primitives_stringFromCharCode(41);
              t2._contents += t4;
            }
            t1.expectChar$1(41);
            _this.whitespace$0();
          } else {
            _this.whitespace$0();
            if (t1.scanChar$1(44)) {
              t2._contents += ", ";
              buffer.addInterpolation$1(_this._stylesheet0$_mediaQueryList$0());
              endPosition = t1._string_scanner$_position;
              t4 = t1._sourceFile;
              t5 = start.position;
              t1 = new A._FileSpan(t4, t5, endPosition);
              t1._FileSpan$3(t4, t5, endPosition);
              t5 = type$.Object;
              t4 = A.List_List$of(t3, true, t5);
              t3 = t2._contents;
              if (t3.length !== 0)
                t4.push(t3.charCodeAt(0) == 0 ? t3 : t3);
              result = A.List_List$from(t4, false, t5);
              result.fixed$length = Array;
              result.immutable$list = Array;
              t2 = new A.Interpolation0(result, t1);
              t2.Interpolation$20(t4, t1);
              return t2;
            }
          }
        } else if (t1.peekChar$0() === 40) {
          if (!(t3.length === 0 && t2._contents.length === 0)) {
            t4 = A.Primitives_stringFromCharCode(32);
            t2._contents += t4;
          }
          buffer.addInterpolation$1(_this._stylesheet0$_mediaQueryList$0());
          endPosition = t1._string_scanner$_position;
          t1 = t1._sourceFile;
          t4 = start.position;
          t5 = new A._FileSpan(t1, t4, endPosition);
          t5._FileSpan$3(t1, t4, endPosition);
          t4 = type$.Object;
          t3 = A.List_List$of(t3, true, t4);
          t1 = t2._contents;
          if (t1.length !== 0)
            t3.push(t1.charCodeAt(0) == 0 ? t1 : t1);
          result = A.List_List$from(t3, false, t4);
          result.fixed$length = Array;
          result.immutable$list = Array;
          t1 = new A.Interpolation0(result, t5);
          t1.Interpolation$20(t3, t5);
          return t1;
        } else {
          endPosition = t1._string_scanner$_position;
          t1 = t1._sourceFile;
          t4 = start.position;
          t5 = new A._FileSpan(t1, t4, endPosition);
          t5._FileSpan$3(t1, t4, endPosition);
          t4 = type$.Object;
          t3 = A.List_List$of(t3, true, t4);
          t1 = t2._contents;
          if (t1.length !== 0)
            t3.push(t1.charCodeAt(0) == 0 ? t1 : t1);
          result = A.List_List$from(t3, false, t4);
          result.fixed$length = Array;
          result.immutable$list = Array;
          t1 = new A.Interpolation0(result, t5);
          t1.Interpolation$20(t3, t5);
          return t1;
        }
    },
    _stylesheet0$_importSupportsQuery$0() {
      var t1, t2, _0_0, $name, _this = this;
      if (_this.scanIdentifier$1("not")) {
        _this.whitespace$0();
        t1 = _this.scanner;
        t2 = t1._string_scanner$_position;
        return new A.SupportsNegation0(_this._stylesheet0$_supportsConditionInParens$0(), t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
      } else {
        t1 = _this.scanner;
        if (t1.peekChar$0() === 40)
          return _this._stylesheet0$_supportsCondition$0();
        else {
          _0_0 = _this._stylesheet0$_tryImportSupportsFunction$0();
          if (_0_0 != null)
            return _0_0;
          t2 = t1._string_scanner$_position;
          $name = _this._stylesheet0$_expression$0();
          t1.expectChar$1(58);
          return _this._stylesheet0$_supportsDeclarationValue$2($name, new A._SpanScannerState(t1, t2));
        }
      }
    },
    _stylesheet0$_tryImportSupportsFunction$0() {
      var t1, start, $name, value, _this = this;
      if (!_this._stylesheet0$_lookingAtInterpolatedIdentifier$0())
        return null;
      t1 = _this.scanner;
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      $name = _this.interpolatedIdentifier$0();
      if (!t1.scanChar$1(40)) {
        t1.set$state(start);
        return null;
      }
      value = _this._stylesheet0$_interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(true, true);
      t1.expectChar$1(41);
      return new A.SupportsFunction0($name, value, t1.spanFrom$1(start));
    },
    _stylesheet0$_includeRule$1(start) {
      var name0, namespace, $arguments, t2, t3, contentArguments, contentArguments_, wasInContentBlock, $content, span, _this = this, _null = null,
        $name = _this.identifier$0(),
        t1 = _this.scanner;
      if (t1.scanChar$1(46)) {
        name0 = _this._stylesheet0$_publicIdentifier$0();
        namespace = $name;
        $name = name0;
      } else
        namespace = _null;
      _this.whitespace$0();
      if (t1.peekChar$0() === 40)
        $arguments = _this._stylesheet0$_argumentInvocation$1$mixin(true);
      else {
        t2 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
        t3 = t2.offset;
        $arguments = A.ArgumentInvocation$empty0(A._FileSpan$(t2.file, t3, t3));
      }
      _this.whitespace$0();
      if (_this.scanIdentifier$1("using")) {
        _this.whitespace$0();
        contentArguments = _this._stylesheet0$_argumentDeclaration$0();
        _this.whitespace$0();
      } else
        contentArguments = _null;
      t2 = contentArguments == null;
      if (!t2 || _this.lookingAtChildren$0()) {
        if (t2) {
          t2 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
          t3 = t2.offset;
          contentArguments_ = new A.ArgumentDeclaration0(B.List_empty22, _null, A._FileSpan$(t2.file, t3, t3));
        } else
          contentArguments_ = contentArguments;
        wasInContentBlock = _this._stylesheet0$_inContentBlock;
        _this._stylesheet0$_inContentBlock = true;
        $content = _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser__includeRule_closure0(contentArguments_));
        _this._stylesheet0$_inContentBlock = wasInContentBlock;
      } else {
        _this.expectStatementSeparator$0();
        $content = _null;
      }
      t1 = t1.spanFrom$2(start, start);
      t2 = $content == null ? $arguments : $content;
      span = t1.expand$1(0, t2.get$span(t2));
      return new A.IncludeRule0(namespace, A.stringReplaceAllUnchecked($name, "_", "-"), $name, $arguments, $content, span);
    },
    mediaRule$1(start) {
      return this._stylesheet0$_withChildren$3(this.get$_stylesheet0$_statement(), start, new A.StylesheetParser_mediaRule_closure0(this._stylesheet0$_mediaQueryList$0()));
    },
    _stylesheet0$_mixinRule$1(start) {
      var t1, t2, $name, $arguments, t3, _this = this,
        precedingComment = _this.lastSilentComment;
      _this.lastSilentComment = null;
      t1 = _this.scanner;
      t2 = t1._string_scanner$_position;
      $name = _this.identifier$0();
      if (B.JSString_methods.startsWith$1($name, "--"))
        A.WarnForDeprecation_warnForDeprecation0(_this.logger, B.Deprecation_qBS, string$.Sassx20_m, t1.spanFrom$1(new A._SpanScannerState(t1, t2)), null);
      _this.whitespace$0();
      if (t1.peekChar$0() === 40)
        $arguments = _this._stylesheet0$_argumentDeclaration$0();
      else {
        t2 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
        t3 = t2.offset;
        $arguments = new A.ArgumentDeclaration0(B.List_empty22, null, A._FileSpan$(t2.file, t3, t3));
      }
      if (_this._stylesheet0$_inMixin || _this._stylesheet0$_inContentBlock)
        _this.error$2(0, string$.Mixinscm, t1.spanFrom$1(start));
      else if (_this._stylesheet0$_inControlDirective)
        _this.error$2(0, string$.Mixinsb, t1.spanFrom$1(start));
      _this.whitespace$0();
      _this._stylesheet0$_inMixin = true;
      return _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser__mixinRule_closure0(_this, $name, $arguments, precedingComment));
    },
    mozDocumentRule$2(start, $name) {
      var t5, t6, identifier, _0_0, argument, trailing, endPosition, t7, t8, start0, end, _this = this, _box_0 = {},
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        t3 = new A.StringBuffer(""),
        t4 = A._setArrayType([], type$.JSArray_Object),
        buffer = new A.InterpolationBuffer0(t3, t4);
      _box_0.needsDeprecationWarning = false;
      for (t5 = _this.get$whitespace(); true;) {
        if (t1.peekChar$0() === 35) {
          t6 = _this.singleInterpolation$0();
          buffer._interpolation_buffer0$_flushText$0();
          t4.push(t6);
          _box_0.needsDeprecationWarning = true;
        } else {
          t6 = t1._string_scanner$_position;
          identifier = _this.identifier$0();
          $label0$0: {
            if ("url" === identifier || "url-prefix" === identifier || "domain" === identifier) {
              _0_0 = _this._stylesheet0$_tryUrlContents$2$name(new A._SpanScannerState(t1, t6), identifier);
              if (_0_0 != null)
                buffer.addInterpolation$1(_0_0);
              else {
                t1.expectChar$1(40);
                _this.whitespace$0();
                argument = _this.interpolatedString$0();
                t1.expectChar$1(41);
                t3._contents += identifier;
                t6 = A.Primitives_stringFromCharCode(40);
                t3._contents += t6;
                buffer.addInterpolation$1(argument.asInterpolation$0());
                t6 = A.Primitives_stringFromCharCode(41);
                t3._contents += t6;
              }
              t6 = t3._contents;
              trailing = t6.charCodeAt(0) == 0 ? t6 : t6;
              if (!B.JSString_methods.endsWith$1(trailing, "url-prefix()") && !B.JSString_methods.endsWith$1(trailing, "url-prefix('')") && !B.JSString_methods.endsWith$1(trailing, 'url-prefix("")'))
                _box_0.needsDeprecationWarning = true;
              break $label0$0;
            }
            if ("regexp" === identifier) {
              t3._contents += "regexp(";
              t1.expectChar$1(40);
              buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0());
              t1.expectChar$1(41);
              t6 = A.Primitives_stringFromCharCode(41);
              t3._contents += t6;
              _box_0.needsDeprecationWarning = true;
              break $label0$0;
            }
            endPosition = t1._string_scanner$_position;
            t7 = t1._sourceFile;
            t8 = new A._FileSpan(t7, t6, endPosition);
            t8._FileSpan$3(t7, t6, endPosition);
            _this.error$2(0, "Invalid function name.", t8);
          }
        }
        _this.whitespace$0();
        if (!t1.scanChar$1(44))
          break;
        t6 = A.Primitives_stringFromCharCode(44);
        t3._contents += t6;
        start0 = t1._string_scanner$_position;
        t5.call$0();
        end = t1._string_scanner$_position;
        t3._contents += B.JSString_methods.substring$2(t1.string, start0, end);
      }
      return _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser_mozDocumentRule_closure0(_box_0, _this, $name, buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)))));
    },
    supportsRule$1(start) {
      var _this = this,
        condition = _this._stylesheet0$_supportsCondition$0();
      _this.whitespace$0();
      return _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser_supportsRule_closure0(condition));
    },
    _stylesheet0$_useNamespace$2(url, start) {
      var namespace, basename, dot, t1, exception, _this = this;
      if (_this.scanIdentifier$1("as")) {
        _this.whitespace$0();
        return _this.scanner.scanChar$1(42) ? null : _this.identifier$0();
      }
      basename = url.get$pathSegments().length === 0 ? "" : B.JSArray_methods.get$last(url.get$pathSegments());
      dot = B.JSString_methods.indexOf$1(basename, ".");
      t1 = B.JSString_methods.startsWith$1(basename, "_") ? 1 : 0;
      namespace = B.JSString_methods.substring$2(basename, t1, dot === -1 ? basename.length : dot);
      try {
        t1 = A.SpanScanner$(namespace, null);
        t1 = new A.Parser1(t1, _this.logger, null)._parser0$_parseIdentifier$0();
        return t1;
      } catch (exception) {
        if (type$.SassFormatException_2._is(A.unwrapException(exception)))
          _this.error$2(0, 'The default namespace "' + A.S(namespace) + string$.x22x20is_n, _this.scanner.spanFrom$1(start));
        else
          throw exception;
      }
    },
    _stylesheet0$_configuration$1$allowGuarded(allowGuarded) {
      var variableNames, configuration, t1, t2, $name, expression, t3, guarded, endPosition, t4, t5, span, _this = this;
      if (!_this.scanIdentifier$1("with"))
        return null;
      variableNames = A.LinkedHashSet_LinkedHashSet$_empty(type$.String);
      configuration = A._setArrayType([], type$.JSArray_ConfiguredVariable_2);
      _this.whitespace$0();
      t1 = _this.scanner;
      t1.expectChar$1(40);
      for (; true;) {
        _this.whitespace$0();
        t2 = t1._string_scanner$_position;
        t1.expectChar$1(36);
        $name = _this.identifier$1$normalize(true);
        _this.whitespace$0();
        t1.expectChar$1(58);
        _this.whitespace$0();
        expression = _this.expressionUntilComma$0();
        t3 = t1._string_scanner$_position;
        if (allowGuarded && t1.scanChar$1(33)) {
          guarded = _this.identifier$0() === "default";
          if (guarded)
            _this.whitespace$0();
          else {
            endPosition = t1._string_scanner$_position;
            t4 = t1._sourceFile;
            t5 = new A._FileSpan(t4, t3, endPosition);
            t5._FileSpan$3(t4, t3, endPosition);
            _this.error$2(0, "Invalid flag name.", t5);
          }
        } else
          guarded = false;
        endPosition = t1._string_scanner$_position;
        t3 = t1._sourceFile;
        span = new A._FileSpan(t3, t2, endPosition);
        span._FileSpan$3(t3, t2, endPosition);
        if (variableNames.contains$1(0, $name))
          _this.error$2(0, string$.The_sa, span);
        variableNames.add$1(0, $name);
        configuration.push(new A.ConfiguredVariable0($name, expression, guarded, span));
        if (!t1.scanChar$1(44))
          break;
        _this.whitespace$0();
        if (!_this._stylesheet0$_lookingAtExpression$0())
          break;
      }
      t1.expectChar$1(41);
      return configuration;
    },
    _stylesheet0$_configuration$0() {
      return this._stylesheet0$_configuration$1$allowGuarded(false);
    },
    _stylesheet0$_warnRule$1(start) {
      var value = this._stylesheet0$_expression$0();
      this.expectStatementSeparator$1("@warn rule");
      return new A.WarnRule0(value, this.scanner.spanFrom$1(start));
    },
    _stylesheet0$_whileRule$2(start, child) {
      var _this = this,
        wasInControlDirective = _this._stylesheet0$_inControlDirective;
      _this._stylesheet0$_inControlDirective = true;
      return _this._stylesheet0$_withChildren$3(child, start, new A.StylesheetParser__whileRule_closure0(_this, wasInControlDirective, _this._stylesheet0$_expression$0()));
    },
    unknownAtRule$2(start, $name) {
      var t2, t3, rule, _this = this, t1 = {},
        wasInUnknownAtRule = _this._stylesheet0$_inUnknownAtRule;
      _this._stylesheet0$_inUnknownAtRule = true;
      t1.value = null;
      t2 = _this.scanner;
      t3 = t2.peekChar$0() !== 33 && !_this.atEndOfStatement$0() ? t1.value = _this._stylesheet0$_interpolatedDeclarationValue$1$allowOpenBrace(false) : null;
      if (_this.lookingAtChildren$0())
        rule = _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser_unknownAtRule_closure0(t1, $name));
      else {
        _this.expectStatementSeparator$0();
        rule = A.AtRule$0($name, t2.spanFrom$1(start), null, t3);
      }
      _this._stylesheet0$_inUnknownAtRule = wasInUnknownAtRule;
      return rule;
    },
    _stylesheet0$_disallowedAtRule$1(start) {
      this._stylesheet0$_interpolatedDeclarationValue$2$allowEmpty$allowOpenBrace(true, false);
      this.error$2(0, "This at-rule is not allowed here.", this.scanner.spanFrom$1(start));
    },
    _stylesheet0$_argumentDeclaration$0() {
      var $arguments, named, restArgument, t3, $name, defaultValue, endPosition, t4, t5, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expectChar$1(40);
      _this.whitespace$0();
      $arguments = A._setArrayType([], type$.JSArray_Argument_2);
      named = A.LinkedHashSet_LinkedHashSet$_empty(type$.String);
      while (true) {
        if (!(t1.peekChar$0() === 36)) {
          restArgument = null;
          break;
        }
        t3 = t1._string_scanner$_position;
        t1.expectChar$1(36);
        $name = _this.identifier$1$normalize(true);
        _this.whitespace$0();
        if (t1.scanChar$1(58)) {
          _this.whitespace$0();
          defaultValue = _this.expressionUntilComma$0();
        } else {
          if (t1.scanChar$1(46)) {
            t1.expectChar$1(46);
            t1.expectChar$1(46);
            _this.whitespace$0();
            restArgument = $name;
            break;
          }
          defaultValue = null;
        }
        endPosition = t1._string_scanner$_position;
        t4 = t1._sourceFile;
        t5 = new A._FileSpan(t4, t3, endPosition);
        t5._FileSpan$3(t4, t3, endPosition);
        $arguments.push(new A.Argument0($name, defaultValue, t5));
        if (!named.add$1(0, $name))
          _this.error$2(0, "Duplicate argument.", B.JSArray_methods.get$last($arguments).span);
        if (!t1.scanChar$1(44)) {
          restArgument = null;
          break;
        }
        _this.whitespace$0();
      }
      t1.expectChar$1(41);
      t1 = t1.spanFrom$1(new A._SpanScannerState(t1, t2));
      return new A.ArgumentDeclaration0(A.List_List$unmodifiable($arguments, type$.Argument_2), restArgument, t1);
    },
    _stylesheet0$_argumentInvocation$2$allowEmptySecondArg$mixin(allowEmptySecondArg, mixin) {
      var positional, t3, t4, named, keywordRest, t5, rest, expression, t6, t7, result, _this = this, _null = null,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expectChar$1(40);
      _this.whitespace$0();
      positional = A._setArrayType([], type$.JSArray_Expression_2);
      t3 = type$.String;
      t4 = type$.Expression_2;
      named = A.LinkedHashMap_LinkedHashMap$_empty(t3, t4);
      t5 = !mixin;
      rest = _null;
      while (true) {
        if (!_this._stylesheet0$_lookingAtExpression$0()) {
          keywordRest = _null;
          break;
        }
        expression = _this.expressionUntilComma$1$singleEquals(t5);
        _this.whitespace$0();
        if (expression instanceof A.VariableExpression0 && t1.scanChar$1(58)) {
          _this.whitespace$0();
          t6 = expression.name;
          if (named.containsKey$1(t6))
            _this.error$2(0, "Duplicate argument.", expression.span);
          named.$indexSet(0, t6, _this.expressionUntilComma$1$singleEquals(t5));
        } else if (t1.scanChar$1(46)) {
          t1.expectChar$1(46);
          t1.expectChar$1(46);
          if (rest != null) {
            _this.whitespace$0();
            keywordRest = expression;
            break;
          }
          rest = expression;
        } else if (named.__js_helper$_length !== 0)
          _this.error$2(0, string$.Positi, expression.get$span(expression));
        else
          positional.push(expression);
        _this.whitespace$0();
        if (!t1.scanChar$1(44)) {
          keywordRest = _null;
          break;
        }
        _this.whitespace$0();
        if (allowEmptySecondArg && positional.length === 1 && named.__js_helper$_length === 0 && rest == null && t1.peekChar$0() === 41) {
          t5 = t1._sourceFile;
          t6 = t1._string_scanner$_position;
          new A.FileLocation(t5, t6).FileLocation$_$2(t5, t6);
          t7 = new A._FileSpan(t5, t6, t6);
          t7._FileSpan$3(t5, t6, t6);
          t6 = A._setArrayType([""], type$.JSArray_Object);
          result = A.List_List$from(t6, false, type$.Object);
          result.fixed$length = Array;
          result.immutable$list = Array;
          t5 = new A.Interpolation0(result, t7);
          t5.Interpolation$20(t6, t7);
          positional.push(new A.StringExpression0(t5, false));
          keywordRest = _null;
          break;
        }
      }
      t1.expectChar$1(41);
      t1 = t1.spanFrom$1(new A._SpanScannerState(t1, t2));
      return new A.ArgumentInvocation0(A.List_List$unmodifiable(positional, t4), A.ConstantMap_ConstantMap$from(named, t3, t4), rest, keywordRest, t1);
    },
    _stylesheet0$_argumentInvocation$0() {
      return this._stylesheet0$_argumentInvocation$2$allowEmptySecondArg$mixin(false, false);
    },
    _stylesheet0$_argumentInvocation$1$allowEmptySecondArg(allowEmptySecondArg) {
      return this._stylesheet0$_argumentInvocation$2$allowEmptySecondArg$mixin(allowEmptySecondArg, false);
    },
    _stylesheet0$_argumentInvocation$1$mixin(mixin) {
      return this._stylesheet0$_argumentInvocation$2$allowEmptySecondArg$mixin(false, mixin);
    },
    _stylesheet0$_expression$3$bracketList$singleEquals$until(bracketList, singleEquals, until) {
      var t2, beforeBracket, start, wasInExpression, wasInParentheses, resetState, resolveOneOperation, resolveOperations, addSingleExpression, addOperator, resolveSpaceExpressions, t3, _3_0, _1_0, t4, _3_28, _2_0, _3_32, _3_40, commaExpressions, spaceExpressions, singleExpression, _this = this,
        _s20_ = "Expected expression.",
        _box_0 = {},
        t1 = until != null;
      if (t1 && until.call$0())
        _this.scanner.error$1(0, _s20_);
      if (bracketList) {
        t2 = _this.scanner;
        beforeBracket = new A._SpanScannerState(t2, t2._string_scanner$_position);
        t2.expectChar$1(91);
        _this.whitespace$0();
        if (t2.scanChar$1(93)) {
          t1 = A._setArrayType([], type$.JSArray_Expression_2);
          t2 = t2.spanFrom$1(beforeBracket);
          return new A.ListExpression0(A.List_List$unmodifiable(t1, type$.Expression_2), B.ListSeparator_undecided_null_undecided0, true, t2);
        }
      } else
        beforeBracket = null;
      t2 = _this.scanner;
      start = new A._SpanScannerState(t2, t2._string_scanner$_position);
      wasInExpression = _this._stylesheet0$_inExpression;
      wasInParentheses = _this._stylesheet0$_inParentheses;
      _this._stylesheet0$_inExpression = true;
      _box_0.operands_ = _box_0.operators_ = _box_0.spaceExpressions_ = _box_0.commaExpressions_ = null;
      _box_0.allowSlash = true;
      _box_0.singleExpression_ = _this._stylesheet0$_singleExpression$0();
      resetState = new A.StylesheetParser__expression_resetState0(_box_0, _this, start);
      resolveOneOperation = new A.StylesheetParser__expression_resolveOneOperation0(_box_0, _this);
      resolveOperations = new A.StylesheetParser__expression_resolveOperations0(_box_0, resolveOneOperation);
      addSingleExpression = new A.StylesheetParser__expression_addSingleExpression0(_box_0, _this, resetState, resolveOperations);
      addOperator = new A.StylesheetParser__expression_addOperator0(_box_0, _this, resolveOneOperation);
      resolveSpaceExpressions = new A.StylesheetParser__expression_resolveSpaceExpressions0(_box_0, _this, resolveOperations);
      for (t3 = type$.JSArray_Expression_2; true;) {
        _this.whitespace$0();
        if (t1 && until.call$0())
          break;
        _3_0 = t2.peekChar$0();
        if (_3_0 == null)
          break;
        if (40 === _3_0) {
          addSingleExpression.call$1(_this.parentheses$0());
          continue;
        }
        if (91 === _3_0) {
          addSingleExpression.call$1(_this._stylesheet0$_expression$1$bracketList(true));
          continue;
        }
        if (36 === _3_0) {
          addSingleExpression.call$1(_this._stylesheet0$_variable$0());
          continue;
        }
        if (38 === _3_0) {
          addSingleExpression.call$1(_this._stylesheet0$_selector$0());
          continue;
        }
        if (39 === _3_0 || 34 === _3_0) {
          addSingleExpression.call$1(_this.interpolatedString$0());
          continue;
        }
        if (35 === _3_0) {
          addSingleExpression.call$1(_this._stylesheet0$_hashExpression$0());
          continue;
        }
        if (61 === _3_0) {
          t2.readChar$0();
          if (singleEquals && t2.peekChar$0() !== 61)
            addOperator.call$1(B.BinaryOperator_wdM0);
          else {
            t2.expectChar$1(61);
            addOperator.call$1(B.BinaryOperator_g8k0);
          }
          continue;
        }
        if (33 === _3_0) {
          $label0$1: {
            _1_0 = t2.peekChar$1(1);
            if (61 === _1_0) {
              t2.readChar$0();
              t2.readChar$0();
              addOperator.call$1(B.BinaryOperator_icU0);
              break $label0$1;
            }
            if (_1_0 != null)
              if (105 !== _1_0)
                if (73 !== _1_0)
                  t4 = _1_0 === 32 || _1_0 === 9 || _1_0 === 10 || _1_0 === 13 || _1_0 === 12;
                else
                  t4 = true;
              else
                t4 = true;
            else
              t4 = true;
            if (t4) {
              addSingleExpression.call$1(_this._stylesheet0$_importantExpression$0());
              break $label0$1;
            }
            break;
          }
          continue;
        }
        if (60 === _3_0) {
          t2.readChar$0();
          addOperator.call$1(t2.scanChar$1(61) ? B.BinaryOperator_SPQ0 : B.BinaryOperator_miq0);
          continue;
        }
        if (62 === _3_0) {
          t2.readChar$0();
          addOperator.call$1(t2.scanChar$1(61) ? B.BinaryOperator_oEm0 : B.BinaryOperator_bEa0);
          continue;
        }
        if (42 === _3_0) {
          t2.readChar$0();
          addOperator.call$1(B.BinaryOperator_2No0);
          continue;
        }
        _3_28 = 43 === _3_0;
        if (_3_28 && _box_0.singleExpression_ == null) {
          addSingleExpression.call$1(_this._stylesheet0$_unaryOperation$0());
          continue;
        }
        if (_3_28) {
          t2.readChar$0();
          addOperator.call$1(B.BinaryOperator_u150);
          continue;
        }
        if (45 === _3_0) {
          _2_0 = t2.peekChar$1(1);
          if (A._isInt(_2_0) && _2_0 >= 48 && _2_0 <= 57 || 46 === _2_0)
            if (_box_0.singleExpression_ != null) {
              t4 = t2.peekChar$1(-1);
              t4 = t4 === 32 || t4 === 9 || t4 === 10 || t4 === 13 || t4 === 12;
            } else
              t4 = true;
          else
            t4 = false;
          if (t4)
            addSingleExpression.call$1(_this._stylesheet0$_number$0());
          else if (_this._stylesheet0$_lookingAtInterpolatedIdentifier$0())
            addSingleExpression.call$1(_this.identifierLike$0());
          else if (_box_0.singleExpression_ == null)
            addSingleExpression.call$1(_this._stylesheet0$_unaryOperation$0());
          else {
            t2.readChar$0();
            addOperator.call$1(B.BinaryOperator_SjO0);
          }
          continue;
        }
        _3_32 = 47 === _3_0;
        if (_3_32 && _box_0.singleExpression_ == null) {
          addSingleExpression.call$1(_this._stylesheet0$_unaryOperation$0());
          continue;
        }
        if (_3_32) {
          t2.readChar$0();
          addOperator.call$1(B.BinaryOperator_U770);
          continue;
        }
        if (37 === _3_0) {
          t2.readChar$0();
          addOperator.call$1(B.BinaryOperator_KNx0);
          continue;
        }
        if (_3_0 >= 48 && _3_0 <= 57) {
          addSingleExpression.call$1(_this._stylesheet0$_number$0());
          continue;
        }
        _3_40 = 46 === _3_0;
        if (_3_40 && t2.peekChar$1(1) === 46)
          break;
        if (_3_40) {
          addSingleExpression.call$1(_this._stylesheet0$_number$0());
          continue;
        }
        if (97 === _3_0 && !_this.get$plainCss() && _this.scanIdentifier$1("and")) {
          addOperator.call$1(B.BinaryOperator_eDt0);
          continue;
        }
        if (111 === _3_0 && !_this.get$plainCss() && _this.scanIdentifier$1("or")) {
          addOperator.call$1(B.BinaryOperator_qNM0);
          continue;
        }
        if ((117 === _3_0 || 85 === _3_0) && t2.peekChar$1(1) === 43) {
          addSingleExpression.call$1(_this._stylesheet0$_unicodeRange$0());
          continue;
        }
        if (!(_3_0 >= 97 && _3_0 <= 122))
          t4 = _3_0 >= 65 && _3_0 <= 90 || 95 === _3_0 || 92 === _3_0 || _3_0 >= 128;
        else
          t4 = true;
        if (t4) {
          addSingleExpression.call$1(_this.identifierLike$0());
          continue;
        }
        if (44 === _3_0) {
          if (_this._stylesheet0$_inParentheses) {
            _this._stylesheet0$_inParentheses = false;
            if (_box_0.allowSlash) {
              resetState.call$0();
              continue;
            }
          }
          commaExpressions = _box_0.commaExpressions_;
          if (commaExpressions == null)
            commaExpressions = _box_0.commaExpressions_ = A._setArrayType([], t3);
          if (_box_0.singleExpression_ == null)
            t2.error$1(0, _s20_);
          resolveSpaceExpressions.call$0();
          t4 = _box_0.singleExpression_;
          t4.toString;
          commaExpressions.push(t4);
          t2.readChar$0();
          _box_0.allowSlash = true;
          _box_0.singleExpression_ = null;
          continue;
        }
        break;
      }
      if (bracketList)
        t2.expectChar$1(93);
      commaExpressions = _box_0.commaExpressions_;
      spaceExpressions = _box_0.spaceExpressions_;
      if (commaExpressions != null) {
        resolveSpaceExpressions.call$0();
        _this._stylesheet0$_inParentheses = wasInParentheses;
        singleExpression = _box_0.singleExpression_;
        if (singleExpression != null)
          commaExpressions.push(singleExpression);
        _this._stylesheet0$_inExpression = wasInExpression;
        t1 = t2.spanFrom$1(beforeBracket == null ? start : beforeBracket);
        return new A.ListExpression0(A.List_List$unmodifiable(commaExpressions, type$.Expression_2), B.ListSeparator_ECn0, bracketList, t1);
      } else if (bracketList && spaceExpressions != null) {
        resolveOperations.call$0();
        _this._stylesheet0$_inExpression = wasInExpression;
        t1 = _box_0.singleExpression_;
        t1.toString;
        spaceExpressions.push(t1);
        beforeBracket.toString;
        t2 = t2.spanFrom$1(beforeBracket);
        return new A.ListExpression0(A.List_List$unmodifiable(spaceExpressions, type$.Expression_2), B.ListSeparator_nbm0, true, t2);
      } else {
        resolveSpaceExpressions.call$0();
        if (bracketList) {
          t1 = _box_0.singleExpression_;
          t1.toString;
          t3 = A._setArrayType([t1], t3);
          beforeBracket.toString;
          t2 = t2.spanFrom$1(beforeBracket);
          _box_0.singleExpression_ = new A.ListExpression0(A.List_List$unmodifiable(t3, type$.Expression_2), B.ListSeparator_undecided_null_undecided0, true, t2);
        }
        _this._stylesheet0$_inExpression = wasInExpression;
        t1 = _box_0.singleExpression_;
        t1.toString;
        return t1;
      }
    },
    _stylesheet0$_expression$2$singleEquals$until(singleEquals, until) {
      return this._stylesheet0$_expression$3$bracketList$singleEquals$until(false, singleEquals, until);
    },
    _stylesheet0$_expression$1$bracketList(bracketList) {
      return this._stylesheet0$_expression$3$bracketList$singleEquals$until(bracketList, false, null);
    },
    _stylesheet0$_expression$0() {
      return this._stylesheet0$_expression$3$bracketList$singleEquals$until(false, false, null);
    },
    _stylesheet0$_expression$1$until(until) {
      return this._stylesheet0$_expression$3$bracketList$singleEquals$until(false, false, until);
    },
    expressionUntilComma$1$singleEquals(singleEquals) {
      return this._stylesheet0$_expression$2$singleEquals$until(singleEquals, new A.StylesheetParser_expressionUntilComma_closure0(this));
    },
    expressionUntilComma$0() {
      return this.expressionUntilComma$1$singleEquals(false);
    },
    _stylesheet0$_isSlashOperand$1(expression) {
      var t1;
      if (!(expression instanceof A.NumberExpression0))
        if (!(expression instanceof A.FunctionExpression0))
          t1 = expression instanceof A.BinaryOperationExpression0 && expression.allowsSlash;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    _stylesheet0$_singleExpression$0() {
      var next, t2, _this = this,
        _s20_ = "Expected expression.",
        t1 = _this.scanner,
        _0_0 = t1.peekChar$0();
      $label0$0: {
        if (_0_0 == null)
          t1.error$1(0, _s20_);
        if (40 === _0_0) {
          t1 = _this.parentheses$0();
          break $label0$0;
        }
        if (47 === _0_0) {
          t1 = _this._stylesheet0$_unaryOperation$0();
          break $label0$0;
        }
        if (46 === _0_0) {
          t1 = _this._stylesheet0$_number$0();
          break $label0$0;
        }
        if (91 === _0_0) {
          t1 = _this._stylesheet0$_expression$1$bracketList(true);
          break $label0$0;
        }
        if (36 === _0_0) {
          t1 = _this._stylesheet0$_variable$0();
          break $label0$0;
        }
        if (38 === _0_0) {
          t1 = _this._stylesheet0$_selector$0();
          break $label0$0;
        }
        if (39 === _0_0 || 34 === _0_0) {
          t1 = _this.interpolatedString$0();
          break $label0$0;
        }
        if (35 === _0_0) {
          t1 = _this._stylesheet0$_hashExpression$0();
          break $label0$0;
        }
        if (43 === _0_0) {
          next = t1.peekChar$1(1);
          t1 = next != null && next >= 48 && next <= 57 || next === 46 ? _this._stylesheet0$_number$0() : _this._stylesheet0$_unaryOperation$0();
          break $label0$0;
        }
        if (45 === _0_0) {
          t1 = _this._stylesheet0$_minusExpression$0();
          break $label0$0;
        }
        if (33 === _0_0) {
          t1 = _this._stylesheet0$_importantExpression$0();
          break $label0$0;
        }
        if ((117 === _0_0 || 85 === _0_0) && t1.peekChar$1(1) === 43) {
          t1 = _this._stylesheet0$_unicodeRange$0();
          break $label0$0;
        }
        if (_0_0 >= 48 && _0_0 <= 57) {
          t1 = _this._stylesheet0$_number$0();
          break $label0$0;
        }
        if (!(_0_0 >= 97 && _0_0 <= 122))
          t2 = _0_0 >= 65 && _0_0 <= 90 || 95 === _0_0 || 92 === _0_0 || _0_0 >= 128;
        else
          t2 = true;
        if (t2) {
          t1 = _this.identifierLike$0();
          break $label0$0;
        }
        t1 = t1.error$1(0, _s20_);
      }
      return t1;
    },
    parentheses$0() {
      var start, first, expressions, t1, t2, _this = this,
        wasInParentheses = _this._stylesheet0$_inParentheses;
      _this._stylesheet0$_inParentheses = true;
      try {
        t1 = _this.scanner;
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
        t1.expectChar$1(40);
        _this.whitespace$0();
        if (!_this._stylesheet0$_lookingAtExpression$0()) {
          t1.expectChar$1(41);
          t2 = A._setArrayType([], type$.JSArray_Expression_2);
          t1 = t1.spanFrom$1(start);
          t2 = A.List_List$unmodifiable(t2, type$.Expression_2);
          return new A.ListExpression0(t2, B.ListSeparator_undecided_null_undecided0, false, t1);
        }
        first = _this.expressionUntilComma$0();
        if (t1.scanChar$1(58)) {
          _this.whitespace$0();
          t1 = _this._stylesheet0$_map$2(first, start);
          return t1;
        }
        if (!t1.scanChar$1(44)) {
          t1.expectChar$1(41);
          t1 = t1.spanFrom$1(start);
          return new A.ParenthesizedExpression0(first, t1);
        }
        _this.whitespace$0();
        expressions = A._setArrayType([first], type$.JSArray_Expression_2);
        for (; true;) {
          if (!_this._stylesheet0$_lookingAtExpression$0())
            break;
          J.add$1$ax(expressions, _this.expressionUntilComma$0());
          if (!t1.scanChar$1(44))
            break;
          _this.whitespace$0();
        }
        t1.expectChar$1(41);
        t1 = t1.spanFrom$1(start);
        t2 = A.List_List$unmodifiable(expressions, type$.Expression_2);
        return new A.ListExpression0(t2, B.ListSeparator_ECn0, false, t1);
      } finally {
        _this._stylesheet0$_inParentheses = wasInParentheses;
      }
    },
    _stylesheet0$_map$2(first, start) {
      var t1, key, _this = this,
        pairs = A._setArrayType([new A._Record_2(first, _this.expressionUntilComma$0())], type$.JSArray_Record_2_Expression_and_Expression_2);
      for (t1 = _this.scanner; t1.scanChar$1(44);) {
        _this.whitespace$0();
        if (!_this._stylesheet0$_lookingAtExpression$0())
          break;
        key = _this.expressionUntilComma$0();
        t1.expectChar$1(58);
        _this.whitespace$0();
        pairs.push(new A._Record_2(key, _this.expressionUntilComma$0()));
      }
      t1.expectChar$1(41);
      t1 = t1.spanFrom$1(start);
      return new A.MapExpression0(A.List_List$unmodifiable(pairs, type$.Record_2_Expression_and_Expression_2), t1);
    },
    _stylesheet0$_hashExpression$0() {
      var start, t2, identifier, buffer, t3, _this = this,
        t1 = _this.scanner;
      if (t1.peekChar$1(1) === 123)
        return _this.identifierLike$0();
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expectChar$1(35);
      t2 = t1.peekChar$0();
      if (t2 == null)
        t2 = null;
      else
        t2 = t2 >= 48 && t2 <= 57;
      if (t2 === true)
        return new A.ColorExpression0(_this._stylesheet0$_hexColorContents$1(start), t1.spanFrom$1(start));
      t2 = t1._string_scanner$_position;
      identifier = _this.interpolatedIdentifier$0();
      if (_this._stylesheet0$_isHexColor$1(identifier)) {
        t1.set$state(new A._SpanScannerState(t1, t2));
        return new A.ColorExpression0(_this._stylesheet0$_hexColorContents$1(start), t1.spanFrom$1(start));
      }
      t2 = new A.StringBuffer("");
      buffer = new A.InterpolationBuffer0(t2, A._setArrayType([], type$.JSArray_Object));
      t3 = A.Primitives_stringFromCharCode(35);
      t2._contents += t3;
      buffer.addInterpolation$1(identifier);
      return new A.StringExpression0(buffer.interpolation$1(t1.spanFrom$1(start)), false);
    },
    _stylesheet0$_hexColorContents$1(start) {
      var red, green, blue, alpha, digit4, t2, t3, t4, _this = this,
        digit1 = _this._stylesheet0$_hexDigit$0(),
        digit2 = _this._stylesheet0$_hexDigit$0(),
        digit3 = _this._stylesheet0$_hexDigit$0(),
        t1 = _this.scanner,
        $self = t1.peekChar$0();
      if (!($self != null && A.CharacterExtension_get_isHex0($self))) {
        red = (digit1 << 4 >>> 0) + digit1;
        green = (digit2 << 4 >>> 0) + digit2;
        blue = (digit3 << 4 >>> 0) + digit3;
        alpha = null;
      } else {
        digit4 = _this._stylesheet0$_hexDigit$0();
        $self = t1.peekChar$0();
        t2 = $self != null && A.CharacterExtension_get_isHex0($self);
        t3 = digit1 << 4 >>> 0;
        t4 = digit3 << 4 >>> 0;
        if (!t2) {
          red = t3 + digit1;
          green = (digit2 << 4 >>> 0) + digit2;
          blue = t4 + digit3;
          alpha = ((digit4 << 4 >>> 0) + digit4) / 255;
        } else {
          red = t3 + digit2;
          green = t4 + digit4;
          blue = (_this._stylesheet0$_hexDigit$0() << 4 >>> 0) + _this._stylesheet0$_hexDigit$0();
          $self = t1.peekChar$0();
          alpha = $self != null && A.CharacterExtension_get_isHex0($self) ? ((_this._stylesheet0$_hexDigit$0() << 4 >>> 0) + _this._stylesheet0$_hexDigit$0()) / 255 : null;
        }
      }
      t2 = alpha == null;
      t3 = t2 ? 1 : alpha;
      return A.SassColor$rgbInternal0(red, green, blue, t3, t2 ? new A.SpanColorFormat0(t1.spanFrom$1(start)) : null);
    },
    _stylesheet0$_isHexColor$1(interpolation) {
      var _0_2, t1,
        plain = interpolation.get$asPlain();
      if (typeof plain == "string") {
        _0_2 = plain.length;
        if (3 !== _0_2)
          if (4 !== _0_2)
            if (6 !== _0_2)
              t1 = 8 === _0_2;
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
      } else
        t1 = false;
      if (t1) {
        t1 = new A.CodeUnits(plain);
        return t1.every$1(t1, new A.StylesheetParser__isHexColor_closure0());
      } else
        return false;
    },
    _stylesheet0$_hexDigit$0() {
      var t1 = this.scanner,
        t2 = t1.peekChar$0();
      t2 = t2 == null ? null : A.CharacterExtension_get_isHex0(t2);
      return t2 === true ? A.asHex0(t1.readChar$0()) : t1.error$1(0, "Expected hex digit.");
    },
    _stylesheet0$_minusExpression$0() {
      var _this = this,
        _0_0 = _this.scanner.peekChar$1(1);
      if (A._isInt(_0_0) && _0_0 >= 48 && _0_0 <= 57 || 46 === _0_0)
        return _this._stylesheet0$_number$0();
      if (_this._stylesheet0$_lookingAtInterpolatedIdentifier$0())
        return _this.identifierLike$0();
      return _this._stylesheet0$_unaryOperation$0();
    },
    _stylesheet0$_importantExpression$0() {
      var t1 = this.scanner,
        t2 = t1._string_scanner$_position;
      t1.readChar$0();
      this.whitespace$0();
      this.expectIdentifier$1("important");
      t2 = t1.spanFrom$1(new A._SpanScannerState(t1, t2));
      return new A.StringExpression0(A.Interpolation$0(A._setArrayType(["!important"], type$.JSArray_Object), t2), false);
    },
    _stylesheet0$_unaryOperation$0() {
      var _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        operator = _this._stylesheet0$_unaryOperatorFor$1(t1.readChar$0());
      if (operator == null)
        t1.error$2$position(0, "Expected unary operator.", t1._string_scanner$_position - 1);
      else if (_this.get$plainCss() && operator !== B.UnaryOperator_SJr0)
        t1.error$3$length$position(0, "Operators aren't allowed in plain CSS.", 1, t1._string_scanner$_position - 1);
      _this.whitespace$0();
      return new A.UnaryOperationExpression0(operator, _this._stylesheet0$_singleExpression$0(), t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _stylesheet0$_unaryOperatorFor$1(character) {
      var t1;
      $label0$0: {
        if (43 === character) {
          t1 = B.UnaryOperator_cLp0;
          break $label0$0;
        }
        if (45 === character) {
          t1 = B.UnaryOperator_AiQ0;
          break $label0$0;
        }
        if (47 === character) {
          t1 = B.UnaryOperator_SJr0;
          break $label0$0;
        }
        t1 = null;
        break $label0$0;
      }
      return t1;
    },
    _stylesheet0$_number$0() {
      var number, unit, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        first = t1.peekChar$0(),
        t3 = first !== 43;
      if (!t3 || first === 45)
        t1.readChar$0();
      if (t1.peekChar$0() !== 46)
        _this._stylesheet0$_consumeNaturalNumber$0();
      _this._stylesheet0$_tryDecimal$1$allowTrailingDot(t1._string_scanner$_position !== t2 && t3 && first !== 45);
      _this._stylesheet0$_tryExponent$0();
      number = A.double_parse(t1.substring$1(0, t2));
      if (t1.scanChar$1(37))
        unit = "%";
      else {
        if (_this.lookingAtIdentifier$0())
          t3 = t1.peekChar$0() !== 45 || t1.peekChar$1(1) !== 45;
        else
          t3 = false;
        unit = t3 ? _this.identifier$1$unit(true) : null;
      }
      return new A.NumberExpression0(number, unit, t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _stylesheet0$_consumeNaturalNumber$0() {
      var $self,
        t1 = this.scanner,
        t2 = t1.readChar$0();
      if (!(t2 >= 48 && t2 <= 57))
        t1.error$2$position(0, "Expected digit.", t1._string_scanner$_position - 1);
      while (true) {
        $self = t1.peekChar$0();
        if (!($self != null && $self >= 48 && $self <= 57))
          break;
        t1.readChar$0();
      }
    },
    _stylesheet0$_tryDecimal$1$allowTrailingDot(allowTrailingDot) {
      var $self,
        t1 = this.scanner;
      if (t1.peekChar$0() !== 46)
        return;
      $self = t1.peekChar$1(1);
      if (!($self != null && $self >= 48 && $self <= 57)) {
        if (allowTrailingDot)
          return;
        t1.error$2$position(0, "Expected digit.", t1._string_scanner$_position + 1);
      }
      t1.readChar$0();
      while (true) {
        $self = t1.peekChar$0();
        if (!($self != null && $self >= 48 && $self <= 57))
          break;
        t1.readChar$0();
      }
    },
    _stylesheet0$_tryExponent$0() {
      var next, $self,
        t1 = this.scanner,
        first = t1.peekChar$0();
      if (first !== 101 && first !== 69)
        return;
      next = t1.peekChar$1(1);
      if (!(next != null && next >= 48 && next <= 57) && next !== 45 && next !== 43)
        return;
      t1.readChar$0();
      if (43 === next || 45 === next)
        t1.readChar$0();
      $self = t1.peekChar$0();
      if (!($self != null && $self >= 48 && $self <= 57))
        t1.error$1(0, "Expected digit.");
      while (true) {
        $self = t1.peekChar$0();
        if (!($self != null && $self >= 48 && $self <= 57))
          break;
        t1.readChar$0();
      }
    },
    _stylesheet0$_unicodeRange$0() {
      var firstRangeLength, hasQuestionMark, t2, secondRangeLength, _this = this,
        _s26_ = "Expected at most 6 digits.",
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      _this.expectIdentChar$1(117);
      t1.expectChar$1(43);
      for (firstRangeLength = 0; _this.scanCharIf$1(new A.StylesheetParser__unicodeRange_closure1());)
        ++firstRangeLength;
      for (hasQuestionMark = false; t1.scanChar$1(63); hasQuestionMark = true)
        ++firstRangeLength;
      if (firstRangeLength === 0)
        t1.error$1(0, 'Expected hex digit or "?".');
      else if (firstRangeLength > 6)
        _this.error$2(0, _s26_, t1.spanFrom$1(start));
      else if (hasQuestionMark) {
        t2 = t1.substring$1(0, start.position);
        t1 = t1.spanFrom$1(start);
        return new A.StringExpression0(A.Interpolation$0(A._setArrayType([t2], type$.JSArray_Object), t1), false);
      }
      if (t1.scanChar$1(45)) {
        t2 = t1._string_scanner$_position;
        for (secondRangeLength = 0; _this.scanCharIf$1(new A.StylesheetParser__unicodeRange_closure2());)
          ++secondRangeLength;
        if (secondRangeLength === 0)
          t1.error$1(0, "Expected hex digit.");
        else if (secondRangeLength > 6)
          _this.error$2(0, _s26_, t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
      }
      if (_this._stylesheet0$_lookingAtInterpolatedIdentifierBody$0())
        t1.error$1(0, "Expected end of identifier.");
      t2 = t1.substring$1(0, start.position);
      t1 = t1.spanFrom$1(start);
      return new A.StringExpression0(A.Interpolation$0(A._setArrayType([t2], type$.JSArray_Object), t1), false);
    },
    _stylesheet0$_variable$0() {
      var _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        $name = _this.variableName$0();
      if (_this.get$plainCss())
        _this.error$2(0, string$.Sassx20v, t1.spanFrom$1(start));
      return new A.VariableExpression0(null, $name, t1.spanFrom$1(start));
    },
    _stylesheet0$_selector$0() {
      var t1, start, _this = this;
      if (_this.get$plainCss())
        _this.scanner.error$2$length(0, string$.The_pa, 1);
      t1 = _this.scanner;
      start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      t1.expectChar$1(38);
      if (t1.scanChar$1(38)) {
        _this.logger.warn$2$span(0, string$.In_Sas, t1.spanFrom$1(start));
        t1.set$position(t1._string_scanner$_position - 1);
      }
      return new A.SelectorExpression0(t1.spanFrom$1(start));
    },
    interpolatedString$0() {
      var t3, t4, buffer, _0_0, second, t5,
        t1 = this.scanner,
        t2 = t1._string_scanner$_position,
        quote = t1.readChar$0();
      if (quote !== 39 && quote !== 34)
        t1.error$2$position(0, "Expected string.", t2);
      t3 = new A.StringBuffer("");
      t4 = A._setArrayType([], type$.JSArray_Object);
      buffer = new A.InterpolationBuffer0(t3, t4);
      for (; true;) {
        _0_0 = t1.peekChar$0();
        if (_0_0 === quote) {
          t1.readChar$0();
          break;
        }
        if (_0_0 == null || _0_0 === 10 || _0_0 === 13 || _0_0 === 12)
          t1.error$1(0, "Expected " + A.Primitives_stringFromCharCode(quote) + ".");
        if (92 === _0_0) {
          second = t1.peekChar$1(1);
          if (second === 10 || second === 13 || second === 12) {
            t1.readChar$0();
            t1.readChar$0();
            if (second === 13)
              t1.scanChar$1(10);
          } else {
            t5 = A.Primitives_stringFromCharCode(A.consumeEscapedCharacter0(t1));
            t3._contents += t5;
          }
          continue;
        }
        if (35 === _0_0 && t1.peekChar$1(1) === 123) {
          t5 = this.singleInterpolation$0();
          buffer._interpolation_buffer0$_flushText$0();
          t4.push(t5);
          continue;
        }
        t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
        t3._contents += t5;
      }
      return new A.StringExpression0(buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2))), true);
    },
    identifierLike$0() {
      var invocation, expression, _0_0, _1_0, _2_0, _2_2, _2_4, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        identifier = _this.interpolatedIdentifier$0(),
        plain = identifier.get$asPlain(),
        lower = A._Cell$(),
        t2 = plain != null;
      if (t2) {
        if (plain === "if" && t1.peekChar$0() === 40) {
          invocation = _this._stylesheet0$_argumentInvocation$0();
          return new A.IfExpression0(invocation, identifier.span.expand$1(0, invocation.span));
        } else if (plain === "not") {
          _this.whitespace$0();
          expression = _this._stylesheet0$_singleExpression$0();
          return new A.UnaryOperationExpression0(B.UnaryOperator_not_not_not0, expression, identifier.span.expand$1(0, expression.get$span(expression)));
        }
        lower.__late_helper$_value = plain.toLowerCase();
        if (t1.peekChar$0() !== 40) {
          switch (plain) {
            case "false":
              return new A.BooleanExpression0(false, identifier.span);
            case "null":
              return new A.NullExpression0(identifier.span);
            case "true":
              return new A.BooleanExpression0(true, identifier.span);
          }
          _0_0 = $.$get$colorsByName0().$index(0, lower._readLocal$0());
          if (_0_0 != null) {
            t1 = identifier.span;
            return new A.ColorExpression0(A.SassColor$rgbInternal0(_0_0.get$red(0), _0_0.get$green(0), _0_0.get$blue(0), _0_0._color1$_alpha, new A.SpanColorFormat0(t1)), t1);
          }
        }
        _1_0 = _this.trySpecialFunction$2(lower._readLocal$0(), start);
        if (_1_0 != null)
          return _1_0;
      }
      _2_0 = t1.peekChar$0();
      _2_2 = 46 === _2_0;
      if (_2_2 && t1.peekChar$1(1) === 46)
        return new A.StringExpression0(identifier, false);
      if (_2_2) {
        t1.readChar$0();
        if (t2)
          return _this.namespacedExpression$2(plain, start);
        _this.error$2(0, string$.Interpn, identifier.span);
      }
      _2_4 = 40 === _2_0;
      if (_2_4 && t2) {
        t2 = _this._stylesheet0$_argumentInvocation$1$allowEmptySecondArg(J.$eq$(lower._readLocal$0(), "var"));
        t1 = t1.spanFrom$1(start);
        return new A.FunctionExpression0(null, A.stringReplaceAllUnchecked(plain, "_", "-"), plain, t2, t1);
      }
      if (_2_4)
        return new A.InterpolatedFunctionExpression0(identifier, _this._stylesheet0$_argumentInvocation$0(), t1.spanFrom$1(start));
      return new A.StringExpression0(identifier, false);
    },
    namespacedExpression$2(namespace, start) {
      var $name, t2, t3, _this = this,
        t1 = _this.scanner;
      if (t1.peekChar$0() === 36) {
        $name = _this.variableName$0();
        _this._stylesheet0$_assertPublic$2($name, new A.StylesheetParser_namespacedExpression_closure0(_this, start));
        return new A.VariableExpression0(namespace, $name, t1.spanFrom$1(start));
      }
      t2 = _this._stylesheet0$_publicIdentifier$0();
      t3 = _this._stylesheet0$_argumentInvocation$0();
      t1 = t1.spanFrom$1(start);
      return new A.FunctionExpression0(namespace, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, t3, t1);
    },
    trySpecialFunction$2($name, start) {
      var t1, buffer, t2, next, t3, _this = this,
        normalized = A.unvendor0($name);
      $label0$0: {
        if (!("calc" === normalized && normalized !== $name && _this.scanner.scanChar$1(40)))
          t1 = ("element" === normalized || "expression" === normalized) && _this.scanner.scanChar$1(40);
        else
          t1 = true;
        if (t1) {
          t1 = new A.StringBuffer("");
          buffer = new A.InterpolationBuffer0(t1, A._setArrayType([], type$.JSArray_Object));
          t1._contents = "" + $name;
          t2 = A.Primitives_stringFromCharCode(40);
          t1._contents += t2;
          break $label0$0;
        }
        if ("progid" === normalized && _this.scanner.scanChar$1(58)) {
          t1 = new A.StringBuffer("");
          buffer = new A.InterpolationBuffer0(t1, A._setArrayType([], type$.JSArray_Object));
          t1._contents = "" + $name;
          t2 = A.Primitives_stringFromCharCode(58);
          t1._contents += t2;
          t2 = _this.scanner;
          next = t2.peekChar$0();
          while (true) {
            if (next != null) {
              if (!(next >= 97 && next <= 122))
                t3 = next >= 65 && next <= 90;
              else
                t3 = true;
              t3 = t3 || next === 46;
            } else
              t3 = false;
            if (!t3)
              break;
            t3 = A.Primitives_stringFromCharCode(t2.readChar$0());
            t1._contents += t3;
            next = t2.peekChar$0();
          }
          t2.expectChar$1(40);
          t2 = A.Primitives_stringFromCharCode(40);
          t1._contents += t2;
          break $label0$0;
        }
        if ("url" === normalized)
          return A.NullableExtension_andThen0(_this._stylesheet0$_tryUrlContents$1(start), new A.StylesheetParser_trySpecialFunction_closure0());
        return null;
      }
      buffer.addInterpolation$1(_this._stylesheet0$_interpolatedDeclarationValue$1$allowEmpty(true));
      t1 = _this.scanner;
      t1.expectChar$1(41);
      t2 = buffer._interpolation_buffer0$_text;
      t3 = A.Primitives_stringFromCharCode(41);
      t2._contents += t3;
      return new A.StringExpression0(buffer.interpolation$1(t1.spanFrom$1(start)), false);
    },
    _stylesheet0$_tryUrlContents$2$name(start, $name) {
      var t3, t4, buffer, t5, _0_0, _0_6, endPosition, result, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      if (!t1.scanChar$1(40))
        return null;
      _this.whitespaceWithoutComments$0();
      t3 = new A.StringBuffer("");
      t4 = A._setArrayType([], type$.JSArray_Object);
      buffer = new A.InterpolationBuffer0(t3, t4);
      t3._contents = "" + ($name == null ? "url" : $name);
      t5 = A.Primitives_stringFromCharCode(40);
      t3._contents += t5;
      for (; true;) {
        _0_0 = t1.peekChar$0();
        if (_0_0 == null)
          break;
        if (92 === _0_0) {
          t5 = _this.escape$0();
          t3._contents += t5;
          continue;
        }
        _0_6 = 35 === _0_0;
        if (_0_6 && t1.peekChar$1(1) === 123) {
          t5 = _this.singleInterpolation$0();
          buffer._interpolation_buffer0$_flushText$0();
          t4.push(t5);
          continue;
        }
        if (33 !== _0_0)
          if (37 !== _0_0)
            if (38 !== _0_0)
              if (!_0_6)
                t5 = _0_0 >= 42 && _0_0 <= 126 || _0_0 >= 128;
              else
                t5 = true;
            else
              t5 = true;
          else
            t5 = true;
        else
          t5 = true;
        if (t5) {
          t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t3._contents += t5;
          continue;
        }
        if (_0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12) {
          _this.whitespaceWithoutComments$0();
          if (t1.peekChar$0() !== 41)
            break;
          continue;
        }
        if (41 === _0_0) {
          t2 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t3._contents += t2;
          endPosition = t1._string_scanner$_position;
          t2 = t1._sourceFile;
          t5 = start.position;
          t1 = new A._FileSpan(t2, t5, endPosition);
          t1._FileSpan$3(t2, t5, endPosition);
          t5 = type$.Object;
          t2 = A.List_List$of(t4, true, t5);
          t4 = t3._contents;
          if (t4.length !== 0)
            t2.push(t4.charCodeAt(0) == 0 ? t4 : t4);
          result = A.List_List$from(t2, false, t5);
          result.fixed$length = Array;
          result.immutable$list = Array;
          t3 = new A.Interpolation0(result, t1);
          t3.Interpolation$20(t2, t1);
          return t3;
        }
        break;
      }
      t1.set$state(new A._SpanScannerState(t1, t2));
      return null;
    },
    _stylesheet0$_tryUrlContents$1(start) {
      return this._stylesheet0$_tryUrlContents$2$name(start, null);
    },
    dynamicUrl$0() {
      var _0_0, _this = this,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      _this.expectIdentifier$1("url");
      _0_0 = _this._stylesheet0$_tryUrlContents$1(start);
      if (_0_0 != null)
        return new A.StringExpression0(_0_0, false);
      return new A.InterpolatedFunctionExpression0(A.Interpolation$0(A._setArrayType(["url"], type$.JSArray_Object), t1.spanFrom$1(start)), _this._stylesheet0$_argumentInvocation$0(), t1.spanFrom$1(start));
    },
    almostAnyValue$1$omitComments(omitComments) {
      var t4, t5, t6, _2_0, t7, _0_0, _0_2, start, end, _0_4, identifier, _1_0, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        t3 = new A.StringBuffer(""),
        buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object));
      for (t4 = t1.string, t5 = t4.length, t6 = !omitComments; true;)
        $label0$0: {
          _2_0 = t1.peekChar$0();
          if (92 === _2_0) {
            t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t3._contents += t7;
            t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t3._contents += t7;
            break $label0$0;
          }
          if (34 === _2_0 || 39 === _2_0) {
            buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0());
            break $label0$0;
          }
          if (47 === _2_0) {
            $label1$1: {
              _0_0 = t1.peekChar$1(1);
              _0_2 = 42 === _0_0;
              if (_0_2 && t6) {
                t7 = _this.get$loudComment();
                start = t1._string_scanner$_position;
                t7.call$0();
                end = t1._string_scanner$_position;
                t3._contents += B.JSString_methods.substring$2(t4, start, end);
                break $label1$1;
              }
              if (_0_2) {
                _this.loudComment$0();
                break $label1$1;
              }
              _0_4 = 47 === _0_0;
              if (_0_4 && t6) {
                t7 = _this.get$silentComment();
                start = t1._string_scanner$_position;
                t7.call$0();
                end = t1._string_scanner$_position;
                t3._contents += B.JSString_methods.substring$2(t4, start, end);
                break $label1$1;
              }
              if (_0_4) {
                _this.silentComment$0();
                break $label1$1;
              }
              t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t7;
            }
            break $label0$0;
          }
          if (35 === _2_0 && t1.peekChar$1(1) === 123) {
            buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
            break $label0$0;
          }
          if (13 === _2_0 || 10 === _2_0 || 12 === _2_0) {
            if (_this.get$indented())
              break;
            t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t3._contents += t7;
            break $label0$0;
          }
          if (33 === _2_0 || 59 === _2_0 || 123 === _2_0 || 125 === _2_0)
            break;
          if (117 === _2_0 || 85 === _2_0) {
            t7 = t1._string_scanner$_position;
            identifier = _this.identifier$0();
            if (identifier !== "url" && identifier !== "url-prefix") {
              t3._contents += identifier;
              continue;
            }
            _1_0 = _this._stylesheet0$_tryUrlContents$2$name(new A._SpanScannerState(t1, t7), identifier);
            if (_1_0 != null)
              buffer.addInterpolation$1(_1_0);
            else {
              if ((t7 === 0 ? 1 / t7 < 0 : t7 < 0) || t7 > t5)
                A.throwExpression(A.ArgumentError$("Invalid position " + t7, null));
              t1._string_scanner$_position = t7;
              t1._lastMatch = null;
              t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t7;
            }
            break $label0$0;
          }
          if (_2_0 == null)
            break;
          t7 = _this.lookingAtIdentifier$0();
          if (t7) {
            t7 = _this.identifier$0();
            t3._contents += t7;
            break $label0$0;
          }
          t7 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t3._contents += t7;
        }
      return buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    almostAnyValue$0() {
      return this.almostAnyValue$1$omitComments(false);
    },
    _stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(allowColon, allowEmpty, allowOpenBrace, allowSemicolon, silentComments) {
      var t4, t5, t6, t7, t8, wroteNewline, _2_0, t9, _0_0, start, end, _2_14_isSet, _2_14, _2_18_isSet, _2_18, _2_20_isSet, _2_20, _2_22, bracket, identifier, _1_0, _this = this, _null = null,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        t3 = new A.StringBuffer(""),
        buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object)),
        brackets = A._setArrayType([], type$.JSArray_int);
      for (t4 = !allowOpenBrace, t5 = t1.string, t6 = t5.length, t7 = !allowColon, t8 = !allowSemicolon, wroteNewline = false; true;)
        $label0$0: {
          _2_0 = t1.peekChar$0();
          if (92 === _2_0) {
            t9 = _this.escape$1$identifierStart(true);
            t3._contents += t9;
            wroteNewline = false;
            break $label0$0;
          }
          if (34 === _2_0 || 39 === _2_0) {
            buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0());
            wroteNewline = false;
            break $label0$0;
          }
          if (47 === _2_0) {
            $label1$1: {
              _0_0 = t1.peekChar$1(1);
              if (42 === _0_0) {
                t9 = _this.get$loudComment();
                start = t1._string_scanner$_position;
                t9.call$0();
                end = t1._string_scanner$_position;
                t3._contents += B.JSString_methods.substring$2(t5, start, end);
                break $label1$1;
              }
              if (47 === _0_0 && silentComments) {
                _this.silentComment$0();
                break $label1$1;
              }
              t9 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t9;
            }
            wroteNewline = false;
            break $label0$0;
          }
          if (35 === _2_0 && t1.peekChar$1(1) === 123) {
            buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
            wroteNewline = false;
            break $label0$0;
          }
          _2_14_isSet = 32 !== _2_0;
          if (_2_14_isSet) {
            _2_14 = 9 === _2_0;
            t9 = _2_14;
          } else {
            _2_14 = _null;
            t9 = true;
          }
          if (t9)
            if (!wroteNewline) {
              t9 = t1.peekChar$1(1);
              t9 = t9 === 32 || t9 === 9 || t9 === 10 || t9 === 13 || t9 === 12;
            } else
              t9 = false;
          else
            t9 = false;
          if (t9) {
            t1.readChar$0();
            break $label0$0;
          }
          if (_2_14_isSet)
            t9 = _2_14;
          else
            t9 = true;
          if (t9) {
            t9 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t3._contents += t9;
            break $label0$0;
          }
          _2_18_isSet = 10 !== _2_0;
          if (_2_18_isSet) {
            _2_18 = 13 === _2_0;
            _2_20_isSet = !_2_18;
            if (_2_20_isSet) {
              _2_20 = 12 === _2_0;
              t9 = _2_20;
            } else {
              _2_20 = _null;
              t9 = true;
            }
          } else {
            _2_20 = _null;
            _2_18 = _2_20;
            _2_20_isSet = false;
            t9 = true;
          }
          if (t9 && _this.get$indented())
            break;
          if (_2_18_isSet)
            if (!_2_18)
              t9 = _2_20_isSet ? _2_20 : 12 === _2_0;
            else
              t9 = true;
          else
            t9 = true;
          if (t9) {
            t9 = t1.peekChar$1(-1);
            if (!(t9 === 10 || t9 === 13 || t9 === 12))
              t3._contents += "\n";
            t1.readChar$0();
            wroteNewline = true;
            break $label0$0;
          }
          _2_22 = 123 === _2_0;
          if (_2_22 && t4)
            break;
          if (40 !== _2_0)
            t9 = _2_22 || 91 === _2_0;
          else
            t9 = true;
          if (t9) {
            bracket = t1.readChar$0();
            t9 = A.Primitives_stringFromCharCode(bracket);
            t3._contents += t9;
            brackets.push(A.opposite0(bracket));
            wroteNewline = false;
            break $label0$0;
          }
          if (41 === _2_0 || 125 === _2_0 || 93 === _2_0) {
            if (brackets.length === 0)
              break;
            bracket = brackets.pop();
            t1.expectChar$1(bracket);
            t9 = A.Primitives_stringFromCharCode(bracket);
            t3._contents += t9;
            wroteNewline = false;
            break $label0$0;
          }
          if (59 === _2_0) {
            if (t8 && brackets.length === 0)
              break;
            t9 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t3._contents += t9;
            wroteNewline = false;
            break $label0$0;
          }
          if (58 === _2_0) {
            if (t7 && brackets.length === 0)
              break;
            t9 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t3._contents += t9;
            wroteNewline = false;
            break $label0$0;
          }
          if (117 === _2_0 || 85 === _2_0) {
            t9 = t1._string_scanner$_position;
            identifier = _this.identifier$0();
            if (identifier !== "url" && identifier !== "url-prefix") {
              t3._contents += identifier;
              wroteNewline = false;
              continue;
            }
            _1_0 = _this._stylesheet0$_tryUrlContents$2$name(new A._SpanScannerState(t1, t9), identifier);
            if (_1_0 != null)
              buffer.addInterpolation$1(_1_0);
            else {
              if ((t9 === 0 ? 1 / t9 < 0 : t9 < 0) || t9 > t6)
                A.throwExpression(A.ArgumentError$("Invalid position " + t9, _null));
              t1._string_scanner$_position = t9;
              t1._lastMatch = null;
              t9 = A.Primitives_stringFromCharCode(t1.readChar$0());
              t3._contents += t9;
            }
            wroteNewline = false;
            break $label0$0;
          }
          if (_2_0 == null)
            break;
          t9 = _this.lookingAtIdentifier$0();
          if (t9) {
            t9 = _this.identifier$0();
            t3._contents += t9;
            wroteNewline = false;
            break $label0$0;
          }
          t9 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t3._contents += t9;
          wroteNewline = false;
        }
      if (brackets.length !== 0)
        t1.expectChar$1(B.JSArray_methods.get$last(brackets));
      if (!allowEmpty && buffer._interpolation_buffer0$_contents.length === 0 && t3._contents.length === 0)
        t1.error$1(0, "Expected token.");
      return buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _stylesheet0$_interpolatedDeclarationValue$1$allowEmpty(allowEmpty) {
      return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, allowEmpty, true, false, true);
    },
    _stylesheet0$_interpolatedDeclarationValue$1$allowOpenBrace(allowOpenBrace) {
      return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, false, allowOpenBrace, false, true);
    },
    _stylesheet0$_interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(allowEmpty, allowSemicolon) {
      return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, allowEmpty, true, allowSemicolon, true);
    },
    _stylesheet0$_interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(allowColon, allowEmpty, allowSemicolon) {
      return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(allowColon, allowEmpty, true, allowSemicolon, true);
    },
    _stylesheet0$_interpolatedDeclarationValue$0() {
      return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, false, true, false, true);
    },
    _stylesheet0$_interpolatedDeclarationValue$2$allowEmpty$allowOpenBrace(allowEmpty, allowOpenBrace) {
      return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, allowEmpty, allowOpenBrace, false, true);
    },
    _stylesheet0$_interpolatedDeclarationValue$1$silentComments(silentComments) {
      return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, false, true, false, silentComments);
    },
    interpolatedIdentifier$0() {
      var t4, _0_0, _this = this,
        _s20_ = "Expected identifier.",
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        t2 = new A.StringBuffer(""),
        t3 = A._setArrayType([], type$.JSArray_Object),
        buffer = new A.InterpolationBuffer0(t2, t3);
      if (t1.scanChar$1(45)) {
        t4 = A.Primitives_stringFromCharCode(45);
        t2._contents += t4;
        if (t1.scanChar$1(45)) {
          t3 = A.Primitives_stringFromCharCode(45);
          t2._contents += t3;
          _this._stylesheet0$_interpolatedIdentifierBody$1(buffer);
          return buffer.interpolation$1(t1.spanFrom$1(start));
        }
      }
      $label0$0: {
        _0_0 = t1.peekChar$0();
        if (_0_0 == null)
          t1.error$1(0, _s20_);
        if (_0_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_0_0) || _0_0 >= 128) {
          t3 = A.Primitives_stringFromCharCode(t1.readChar$0());
          t2._contents += t3;
          break $label0$0;
        }
        if (92 === _0_0) {
          t3 = _this.escape$1$identifierStart(true);
          t2._contents += t3;
          break $label0$0;
        }
        if (35 === _0_0 && t1.peekChar$1(1) === 123) {
          t2 = _this.singleInterpolation$0();
          buffer._interpolation_buffer0$_flushText$0();
          t3.push(t2);
          break $label0$0;
        }
        t1.error$1(0, _s20_);
      }
      _this._stylesheet0$_interpolatedIdentifierBody$1(buffer);
      return buffer.interpolation$1(t1.spanFrom$1(start));
    },
    _stylesheet0$_interpolatedIdentifierBody$1(buffer) {
      var t1, t2, t3, _0_0, t4;
      for (t1 = buffer._interpolation_buffer0$_contents, t2 = this.scanner, t3 = buffer._interpolation_buffer0$_text; true;) {
        _0_0 = t2.peekChar$0();
        if (_0_0 == null)
          break;
        if (95 !== _0_0)
          if (45 !== _0_0) {
            if (!(_0_0 >= 97 && _0_0 <= 122))
              t4 = _0_0 >= 65 && _0_0 <= 90;
            else
              t4 = true;
            if (!t4)
              t4 = _0_0 >= 48 && _0_0 <= 57;
            else
              t4 = true;
            t4 = t4 || _0_0 >= 128;
          } else
            t4 = true;
        else
          t4 = true;
        if (t4) {
          t4 = A.Primitives_stringFromCharCode(t2.readChar$0());
          t3._contents += t4;
          continue;
        }
        if (92 === _0_0) {
          t4 = this.escape$0();
          t3._contents += t4;
          continue;
        }
        if (35 === _0_0 && t2.peekChar$1(1) === 123) {
          t4 = this.singleInterpolation$0();
          buffer._interpolation_buffer0$_flushText$0();
          t1.push(t4);
          continue;
        }
        break;
      }
    },
    singleInterpolation$0() {
      var contents, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      t1.expect$1("#{");
      _this.whitespace$0();
      contents = _this._stylesheet0$_expression$0();
      t1.expectChar$1(125);
      if (_this.get$plainCss())
        _this.error$2(0, string$.Interpp, t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
      return contents;
    },
    _stylesheet0$_mediaQueryList$0() {
      var t4, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        t3 = new A.StringBuffer(""),
        buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object));
      for (; true;) {
        _this.whitespace$0();
        _this._stylesheet0$_mediaQuery$1(buffer);
        _this.whitespace$0();
        if (!t1.scanChar$1(44))
          break;
        t4 = A.Primitives_stringFromCharCode(44);
        t3._contents += t4;
        t4 = A.Primitives_stringFromCharCode(32);
        t3._contents += t4;
      }
      return buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
    },
    _stylesheet0$_mediaQuery$1(buffer) {
      var identifier1, t1, t2, identifier2, _this = this, _s3_ = "and";
      if (_this.scanner.peekChar$0() === 40) {
        _this._stylesheet0$_mediaInParens$1(buffer);
        _this.whitespace$0();
        if (_this.scanIdentifier$1(_s3_)) {
          buffer._interpolation_buffer0$_text._contents += " and ";
          _this.expectWhitespace$0();
          _this._stylesheet0$_mediaLogicSequence$2(buffer, _s3_);
        } else if (_this.scanIdentifier$1("or")) {
          buffer._interpolation_buffer0$_text._contents += " or ";
          _this.expectWhitespace$0();
          _this._stylesheet0$_mediaLogicSequence$2(buffer, "or");
        }
        return;
      }
      identifier1 = _this.interpolatedIdentifier$0();
      if (A.equalsIgnoreCase0(identifier1.get$asPlain(), "not")) {
        _this.expectWhitespace$0();
        if (!_this._stylesheet0$_lookingAtInterpolatedIdentifier$0()) {
          buffer._interpolation_buffer0$_text._contents += "not ";
          _this._stylesheet0$_mediaOrInterp$1(buffer);
          return;
        }
      }
      _this.whitespace$0();
      buffer.addInterpolation$1(identifier1);
      if (!_this._stylesheet0$_lookingAtInterpolatedIdentifier$0())
        return;
      t1 = buffer._interpolation_buffer0$_text;
      t2 = A.Primitives_stringFromCharCode(32);
      t1._contents += t2;
      identifier2 = _this.interpolatedIdentifier$0();
      if (A.equalsIgnoreCase0(identifier2.get$asPlain(), _s3_)) {
        _this.expectWhitespace$0();
        t1._contents += " and ";
      } else {
        _this.whitespace$0();
        buffer.addInterpolation$1(identifier2);
        if (_this.scanIdentifier$1(_s3_)) {
          _this.expectWhitespace$0();
          t1._contents += " and ";
        } else
          return;
      }
      if (_this.scanIdentifier$1("not")) {
        _this.expectWhitespace$0();
        t1._contents += "not ";
        _this._stylesheet0$_mediaOrInterp$1(buffer);
        return;
      }
      _this._stylesheet0$_mediaLogicSequence$2(buffer, _s3_);
      return;
    },
    _stylesheet0$_mediaLogicSequence$2(buffer, operator) {
      var t1, t2, _this = this;
      for (t1 = buffer._interpolation_buffer0$_text; true;) {
        _this._stylesheet0$_mediaOrInterp$1(buffer);
        _this.whitespace$0();
        if (!_this.scanIdentifier$1(operator))
          return;
        _this.expectWhitespace$0();
        t2 = A.Primitives_stringFromCharCode(32);
        t2 = t1._contents += t2;
        t1._contents = t2 + operator;
        t2 = A.Primitives_stringFromCharCode(32);
        t1._contents += t2;
      }
    },
    _stylesheet0$_mediaOrInterp$1(buffer) {
      var interpolation;
      if (this.scanner.peekChar$0() === 35) {
        interpolation = this.singleInterpolation$0();
        buffer.addInterpolation$1(A.Interpolation$0(A._setArrayType([interpolation], type$.JSArray_Object), interpolation.get$span(interpolation)));
      } else
        this._stylesheet0$_mediaInParens$1(buffer);
    },
    _stylesheet0$_mediaInParens$1(buffer) {
      var t2, t3, t4, next, t5, _this = this,
        t1 = _this.scanner;
      t1.expectChar$2$name(40, "media condition in parentheses");
      t2 = buffer._interpolation_buffer0$_text;
      t3 = A.Primitives_stringFromCharCode(40);
      t2._contents += t3;
      _this.whitespace$0();
      if (t1.peekChar$0() === 40) {
        _this._stylesheet0$_mediaInParens$1(buffer);
        _this.whitespace$0();
        if (_this.scanIdentifier$1("and")) {
          t2._contents += " and ";
          _this.expectWhitespace$0();
          _this._stylesheet0$_mediaLogicSequence$2(buffer, "and");
        } else if (_this.scanIdentifier$1("or")) {
          t2._contents += " or ";
          _this.expectWhitespace$0();
          _this._stylesheet0$_mediaLogicSequence$2(buffer, "or");
        }
      } else if (_this.scanIdentifier$1("not")) {
        t2._contents += "not ";
        _this.expectWhitespace$0();
        _this._stylesheet0$_mediaOrInterp$1(buffer);
      } else {
        t3 = _this._stylesheet0$_expressionUntilComparison$0();
        buffer._interpolation_buffer0$_flushText$0();
        t4 = buffer._interpolation_buffer0$_contents;
        t4.push(t3);
        if (t1.scanChar$1(58)) {
          _this.whitespace$0();
          t3 = A.Primitives_stringFromCharCode(58);
          t2._contents += t3;
          t3 = A.Primitives_stringFromCharCode(32);
          t2._contents += t3;
          t3 = _this._stylesheet0$_expression$0();
          buffer._interpolation_buffer0$_flushText$0();
          t4.push(t3);
        } else {
          next = t1.peekChar$0();
          t3 = 60 !== next;
          if (!t3 || 62 === next || 61 === next) {
            t5 = A.Primitives_stringFromCharCode(32);
            t2._contents += t5;
            t5 = A.Primitives_stringFromCharCode(t1.readChar$0());
            t2._contents += t5;
            if ((!t3 || 62 === next) && t1.scanChar$1(61)) {
              t5 = A.Primitives_stringFromCharCode(61);
              t2._contents += t5;
            }
            t5 = A.Primitives_stringFromCharCode(32);
            t2._contents += t5;
            _this.whitespace$0();
            t5 = _this._stylesheet0$_expressionUntilComparison$0();
            buffer._interpolation_buffer0$_flushText$0();
            t4.push(t5);
            if (!t3 || 62 === next) {
              next.toString;
              t3 = t1.scanChar$1(next);
            } else
              t3 = false;
            if (t3) {
              t3 = A.Primitives_stringFromCharCode(32);
              t2._contents += t3;
              t3 = A.Primitives_stringFromCharCode(next);
              t2._contents += t3;
              if (t1.scanChar$1(61)) {
                t3 = A.Primitives_stringFromCharCode(61);
                t2._contents += t3;
              }
              t3 = A.Primitives_stringFromCharCode(32);
              t2._contents += t3;
              _this.whitespace$0();
              t3 = _this._stylesheet0$_expressionUntilComparison$0();
              buffer._interpolation_buffer0$_flushText$0();
              t4.push(t3);
            }
          }
        }
      }
      t1.expectChar$1(41);
      _this.whitespace$0();
      t1 = A.Primitives_stringFromCharCode(41);
      t2._contents += t1;
    },
    _stylesheet0$_expressionUntilComparison$0() {
      return this._stylesheet0$_expression$1$until(new A.StylesheetParser__expressionUntilComparison_closure0(this));
    },
    _stylesheet0$_supportsCondition$0() {
      var condition, operator, right, endPosition, t3, t4, lowerOperator, _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position;
      if (_this.scanIdentifier$1("not")) {
        _this.whitespace$0();
        return new A.SupportsNegation0(_this._stylesheet0$_supportsConditionInParens$0(), t1.spanFrom$1(new A._SpanScannerState(t1, t2)));
      }
      condition = _this._stylesheet0$_supportsConditionInParens$0();
      _this.whitespace$0();
      for (operator = null; _this.lookingAtIdentifier$0();) {
        if (operator != null)
          _this.expectIdentifier$1(operator);
        else if (_this.scanIdentifier$1("or"))
          operator = "or";
        else {
          _this.expectIdentifier$1("and");
          operator = "and";
        }
        _this.whitespace$0();
        right = _this._stylesheet0$_supportsConditionInParens$0();
        endPosition = t1._string_scanner$_position;
        t3 = t1._sourceFile;
        t4 = new A._FileSpan(t3, t2, endPosition);
        t4._FileSpan$3(t3, t2, endPosition);
        condition = new A.SupportsOperation0(condition, right, operator, t4);
        lowerOperator = operator.toLowerCase();
        if (lowerOperator !== "and" && lowerOperator !== "or")
          A.throwExpression(A.ArgumentError$value(operator, "operator", 'may only be "and" or "or".'));
        _this.whitespace$0();
      }
      return condition;
    },
    _stylesheet0$_supportsConditionInParens$0() {
      var $name, nameStart, wasInParentheses, identifier, _1_0, operation, contents, identifier0, t2, $arguments, _0_0, _0_4_isSet, _0_4, condition, exception, declaration, _this = this, _null = null,
        t1 = _this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position);
      if (_this._stylesheet0$_lookingAtInterpolatedIdentifier$0()) {
        identifier0 = _this.interpolatedIdentifier$0();
        t2 = identifier0.get$asPlain();
        if ((t2 == null ? _null : t2.toLowerCase()) === "not")
          _this.error$2(0, '"not" is not a valid identifier here.', identifier0.span);
        if (t1.scanChar$1(40)) {
          $arguments = _this._stylesheet0$_interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(true, true);
          t1.expectChar$1(41);
          return new A.SupportsFunction0(identifier0, $arguments, t1.spanFrom$1(start));
        } else {
          _0_0 = identifier0.contents;
          _0_4_isSet = _0_0.length === 1;
          if (_0_4_isSet) {
            _0_4 = _0_0[0];
            t2 = _0_4;
            t2 = type$.Expression_2._is(t2);
          } else {
            _0_4 = _null;
            t2 = false;
          }
          if (t2) {
            t2 = _0_4_isSet ? _0_4 : _0_0[0];
            return new A.SupportsInterpolation0(type$.Expression_2._as(t2), t1.spanFrom$1(start));
          } else
            _this.error$2(0, "Expected @supports condition.", identifier0.span);
        }
      }
      t1.expectChar$1(40);
      _this.whitespace$0();
      if (_this.scanIdentifier$1("not")) {
        _this.whitespace$0();
        condition = _this._stylesheet0$_supportsConditionInParens$0();
        t1.expectChar$1(41);
        return new A.SupportsNegation0(condition, t1.spanFrom$1(start));
      } else if (t1.peekChar$0() === 40) {
        condition = _this._stylesheet0$_supportsCondition$0();
        t1.expectChar$1(41);
        return condition;
      }
      $name = null;
      nameStart = new A._SpanScannerState(t1, t1._string_scanner$_position);
      wasInParentheses = _this._stylesheet0$_inParentheses;
      try {
        $name = _this._stylesheet0$_expression$0();
        t1.expectChar$1(58);
      } catch (exception) {
        if (type$.FormatException._is(A.unwrapException(exception))) {
          t1.set$state(nameStart);
          _this._stylesheet0$_inParentheses = wasInParentheses;
          identifier = _this.interpolatedIdentifier$0();
          _1_0 = _this._stylesheet0$_trySupportsOperation$2(identifier, nameStart);
          operation = null;
          if (_1_0 != null) {
            operation = _1_0;
            t1.expectChar$1(41);
            return operation;
          }
          t2 = new A.InterpolationBuffer0(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object));
          t2.addInterpolation$1(identifier);
          t2.addInterpolation$1(_this._stylesheet0$_interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(false, true, true));
          contents = t2.interpolation$1(t1.spanFrom$1(nameStart));
          if (t1.peekChar$0() === 58)
            throw exception;
          t1.expectChar$1(41);
          return new A.SupportsAnything0(contents, t1.spanFrom$1(start));
        } else
          throw exception;
      }
      declaration = _this._stylesheet0$_supportsDeclarationValue$2($name, start);
      t1.expectChar$1(41);
      return declaration;
    },
    _stylesheet0$_supportsDeclarationValue$2($name, start) {
      var t1, value, _this = this;
      if ($name instanceof A.StringExpression0)
        if (!$name.hasQuotes)
          t1 = B.JSString_methods.startsWith$1($name.text.get$initialPlain(), "--");
        else
          t1 = false;
      else
        t1 = false;
      if (t1)
        value = new A.StringExpression0(_this._stylesheet0$_interpolatedDeclarationValue$0(), false);
      else {
        _this.whitespace$0();
        value = _this._stylesheet0$_expression$0();
      }
      return new A.SupportsDeclaration0($name, value, _this.scanner.spanFrom$1(start));
    },
    _stylesheet0$_trySupportsOperation$2(interpolation, start) {
      var expression, beforeWhitespace, t2, t3, operator, operation, right, t4, endPosition, t5, t6, lowerOperator, _this = this, _null = null,
        t1 = interpolation.contents;
      if (t1.length !== 1)
        return _null;
      expression = B.JSArray_methods.get$first(t1);
      if (!type$.Expression_2._is(expression))
        return _null;
      t1 = _this.scanner;
      beforeWhitespace = new A._SpanScannerState(t1, t1._string_scanner$_position);
      _this.whitespace$0();
      for (t2 = start.position, t3 = interpolation.span, operator = _null, operation = operator; _this.lookingAtIdentifier$0();) {
        if (operator != null)
          _this.expectIdentifier$1(operator);
        else if (_this.scanIdentifier$1("and"))
          operator = "and";
        else {
          if (!_this.scanIdentifier$1("or")) {
            if (beforeWhitespace._scanner !== t1)
              A.throwExpression(A.ArgumentError$(string$.The_gi, _null));
            t2 = beforeWhitespace.position;
            if ((t2 === 0 ? 1 / t2 < 0 : t2 < 0) || t2 > t1.string.length)
              A.throwExpression(A.ArgumentError$("Invalid position " + t2, _null));
            t1._string_scanner$_position = t2;
            return t1._lastMatch = null;
          }
          operator = "or";
        }
        _this.whitespace$0();
        right = _this._stylesheet0$_supportsConditionInParens$0();
        t4 = operation == null ? new A.SupportsInterpolation0(expression, t3) : operation;
        endPosition = t1._string_scanner$_position;
        t5 = t1._sourceFile;
        t6 = new A._FileSpan(t5, t2, endPosition);
        t6._FileSpan$3(t5, t2, endPosition);
        operation = new A.SupportsOperation0(t4, right, operator, t6);
        lowerOperator = operator.toLowerCase();
        if (lowerOperator !== "and" && lowerOperator !== "or")
          A.throwExpression(A.ArgumentError$value(operator, "operator", 'may only be "and" or "or".'));
        _this.whitespace$0();
      }
      return operation;
    },
    _stylesheet0$_lookingAtInterpolatedIdentifier$0() {
      var _0_0,
        t1 = this.scanner,
        _1_0 = t1.peekChar$0();
      $label0$0: {
        if (_1_0 == null) {
          t1 = false;
          break $label0$0;
        }
        if (_1_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_1_0) || _1_0 >= 128 || 92 === _1_0) {
          t1 = true;
          break $label0$0;
        }
        if (35 === _1_0) {
          t1 = t1.peekChar$1(1) === 123;
          break $label0$0;
        }
        if (45 === _1_0) {
          _0_0 = t1.peekChar$1(1);
          $label1$1: {
            if (_0_0 == null) {
              t1 = false;
              break $label1$1;
            }
            if (35 === _0_0) {
              t1 = t1.peekChar$1(2) === 123;
              break $label1$1;
            }
            if (_0_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_0_0) || _0_0 >= 128 || 92 === _0_0 || 45 === _0_0) {
              t1 = true;
              break $label1$1;
            }
            t1 = false;
            break $label1$1;
          }
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    _stylesheet0$_lookingAtPotentialPropertyHack$0() {
      var t1 = this.scanner,
        _0_0 = t1.peekChar$0();
      $label0$0: {
        if (58 === _0_0 || 42 === _0_0 || 46 === _0_0) {
          t1 = true;
          break $label0$0;
        }
        if (35 === _0_0) {
          t1 = t1.peekChar$1(1) !== 123;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    _stylesheet0$_lookingAtInterpolatedIdentifierBody$0() {
      var t2,
        t1 = this.scanner,
        _0_0 = t1.peekChar$0();
      $label0$0: {
        if (_0_0 == null) {
          t1 = false;
          break $label0$0;
        }
        if (!(_0_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_0_0) || _0_0 >= 128))
          t2 = _0_0 >= 48 && _0_0 <= 57 || _0_0 === 45;
        else
          t2 = true;
        if (t2 || 92 === _0_0) {
          t1 = true;
          break $label0$0;
        }
        if (35 === _0_0) {
          t1 = t1.peekChar$1(1) === 123;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    _stylesheet0$_lookingAtExpression$0() {
      var _0_0,
        t1 = this.scanner,
        _1_0 = t1.peekChar$0();
      $label0$0: {
        if (_1_0 == null) {
          t1 = false;
          break $label0$0;
        }
        if (46 === _1_0) {
          t1 = t1.peekChar$1(1) !== 46;
          break $label0$0;
        }
        if (33 === _1_0) {
          _0_0 = t1.peekChar$1(1);
          $label1$1: {
            if (_0_0 != null)
              if (105 !== _0_0)
                if (73 !== _0_0)
                  t1 = _0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12;
                else
                  t1 = true;
              else
                t1 = true;
            else
              t1 = true;
            if (t1)
              break $label1$1;
            break $label1$1;
          }
          break $label0$0;
        }
        if (40 !== _1_0)
          if (47 !== _1_0)
            if (91 !== _1_0)
              if (39 !== _1_0)
                if (34 !== _1_0)
                  if (35 !== _1_0)
                    if (43 !== _1_0)
                      if (45 !== _1_0)
                        if (92 !== _1_0)
                          if (36 !== _1_0)
                            if (38 !== _1_0)
                              if (!(_1_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_1_0) || _1_0 >= 128))
                                t1 = _1_0 >= 48 && _1_0 <= 57;
                              else
                                t1 = true;
                            else
                              t1 = true;
                          else
                            t1 = true;
                        else
                          t1 = true;
                      else
                        t1 = true;
                    else
                      t1 = true;
                  else
                    t1 = true;
                else
                  t1 = true;
              else
                t1 = true;
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
        if (t1) {
          t1 = true;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    _stylesheet0$_withChildren$1$3(child, start, create) {
      var result = create.call$2(this.children$1(0, child), this.scanner.spanFrom$1(start));
      this.whitespaceWithoutComments$0();
      return result;
    },
    _stylesheet0$_withChildren$3(child, start, create) {
      return this._stylesheet0$_withChildren$1$3(child, start, create, type$.dynamic);
    },
    _stylesheet0$_urlString$0() {
      var innerError, stackTrace, t2, exception,
        t1 = this.scanner,
        start = new A._SpanScannerState(t1, t1._string_scanner$_position),
        url = this.string$0();
      try {
        t2 = A.Uri_parse(url);
        return t2;
      } catch (exception) {
        t2 = A.unwrapException(exception);
        if (type$.FormatException._is(t2)) {
          innerError = t2;
          stackTrace = A.getTraceFromException(exception);
          this.error$3(0, "Invalid URL: " + J.get$message$x(innerError), t1.spanFrom$1(start), stackTrace);
        } else
          throw exception;
      }
    },
    _stylesheet0$_publicIdentifier$0() {
      var _this = this,
        t1 = _this.scanner,
        t2 = t1._string_scanner$_position,
        result = _this.identifier$0();
      _this._stylesheet0$_assertPublic$2(result, new A.StylesheetParser__publicIdentifier_closure0(_this, new A._SpanScannerState(t1, t2)));
      return result;
    },
    _stylesheet0$_assertPublic$2(identifier, span) {
      var first = identifier.charCodeAt(0);
      if (!(first === 45 || first === 95))
        return;
      this.error$2(0, string$.Privat, span.call$0());
    },
    get$plainCss() {
      return false;
    }
  };
  A.StylesheetParser_parse_closure0.prototype = {
    call$0() {
      var statements, t4,
        t1 = this.$this,
        t2 = t1.scanner,
        t3 = t2._string_scanner$_position;
      t2.scanChar$1(65279);
      statements = t1.statements$1(new A.StylesheetParser_parse__closure1(t1));
      t2.expectDone$0();
      t4 = t1._stylesheet0$_globalVariables.get$values(0);
      B.JSArray_methods.addAll$1(statements, A.MappedIterable_MappedIterable(t4, new A.StylesheetParser_parse__closure2(), A._instanceType(t4)._eval$1("Iterable.E"), type$.Statement_2));
      return A.Stylesheet$internal0(statements, t2.spanFrom$1(new A._SpanScannerState(t2, t3)), t1.get$plainCss());
    },
    $signature: 554
  };
  A.StylesheetParser_parse__closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1.scanner.scan$1("@charset")) {
        t1.whitespace$0();
        t1.string$0();
        return null;
      }
      return t1._stylesheet0$_statement$1$root(true);
    },
    $signature: 555
  };
  A.StylesheetParser_parse__closure2.prototype = {
    call$1(declaration) {
      var t1 = declaration.expression;
      return A.VariableDeclaration$0(declaration.name, new A.NullExpression0(t1.get$span(t1)), declaration.span, null, false, true, null);
    },
    $signature: 556
  };
  A.StylesheetParser_parseArgumentDeclaration_closure0.prototype = {
    call$0() {
      var $arguments,
        t1 = this.$this,
        t2 = t1.scanner;
      t2.expectChar$2$name(64, "@-rule");
      t1.identifier$0();
      t1.whitespace$0();
      t1.identifier$0();
      $arguments = t1._stylesheet0$_argumentDeclaration$0();
      t1.whitespace$0();
      t2.expectChar$1(123);
      return $arguments;
    },
    $signature: 557
  };
  A.StylesheetParser__parseSingleProduction_closure0.prototype = {
    call$0() {
      var result = this.production.call$0();
      this.$this.scanner.expectDone$0();
      return result;
    },
    $signature() {
      return this.T._eval$1("0()");
    }
  };
  A.StylesheetParser_parseSignature_closure.prototype = {
    call$0() {
      var $arguments, t2, t3,
        t1 = this.$this,
        $name = t1.identifier$0();
      if (this.requireParens || t1.scanner.peekChar$0() === 40)
        $arguments = t1._stylesheet0$_argumentDeclaration$0();
      else {
        t2 = t1.scanner;
        t2 = A.FileLocation$_(t2._sourceFile, t2._string_scanner$_position);
        t3 = t2.offset;
        $arguments = new A.ArgumentDeclaration0(B.List_empty22, null, A._FileSpan$(t2.file, t3, t3));
      }
      t1.scanner.expectDone$0();
      return new A._Record_2($name, $arguments);
    },
    $signature: 558
  };
  A.StylesheetParser__statement_closure0.prototype = {
    call$0() {
      return this.$this._stylesheet0$_statement$0();
    },
    $signature: 130
  };
  A.StylesheetParser_variableDeclarationWithoutNamespace_closure1.prototype = {
    call$0() {
      return this.$this.scanner.spanFrom$1(this.start);
    },
    $signature: 27
  };
  A.StylesheetParser_variableDeclarationWithoutNamespace_closure2.prototype = {
    call$0() {
      return this.declaration;
    },
    $signature: 559
  };
  A.StylesheetParser__styleRule_closure0.prototype = {
    call$2(children, span) {
      var _this = this,
        t1 = _this.$this;
      if (t1.get$indented() && children.length === 0)
        t1.logger.warn$2$span(0, string$.This_s, _this._box_0.interpolation.span);
      t1._stylesheet0$_inStyleRule = _this.wasInStyleRule;
      return A.StyleRule$0(_this._box_0.interpolation, children, t1.scanner.spanFrom$1(_this.start));
    },
    $signature: 560
  };
  A.StylesheetParser__tryDeclarationChildren_closure0.prototype = {
    call$2(children, span) {
      return A.Declaration$nested0(this.name, children, span, this.value);
    },
    $signature: 561
  };
  A.StylesheetParser__atRootRule_closure1.prototype = {
    call$2(children, span) {
      return A.AtRootRule$0(children, span, this.query);
    },
    $signature: 210
  };
  A.StylesheetParser__atRootRule_closure2.prototype = {
    call$2(children, span) {
      return A.AtRootRule$0(children, span, null);
    },
    $signature: 210
  };
  A.StylesheetParser__eachRule_closure0.prototype = {
    call$2(children, span) {
      var _this = this;
      _this.$this._stylesheet0$_inControlDirective = _this.wasInControlDirective;
      return A.EachRule$0(_this.variables, _this.list, children, span);
    },
    $signature: 563
  };
  A.StylesheetParser__functionRule_closure0.prototype = {
    call$2(children, span) {
      return A.FunctionRule$0(this.name, this.$arguments, children, span, this.precedingComment);
    },
    $signature: 564
  };
  A.StylesheetParser__forRule_closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      if (!t1.lookingAtIdentifier$0())
        return false;
      if (t1.scanIdentifier$1("to"))
        return this._box_0.exclusive = true;
      else if (t1.scanIdentifier$1("through")) {
        this._box_0.exclusive = false;
        return true;
      } else
        return false;
    },
    $signature: 22
  };
  A.StylesheetParser__forRule_closure2.prototype = {
    call$2(children, span) {
      var t1, _this = this;
      _this.$this._stylesheet0$_inControlDirective = _this.wasInControlDirective;
      t1 = _this._box_0.exclusive;
      t1.toString;
      return A.ForRule$0(_this.variable, _this.from, _this.to, children, span, t1);
    },
    $signature: 565
  };
  A.StylesheetParser__memberList_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1.scanner.peekChar$0() === 36)
        this.variables.add$1(0, t1.variableName$0());
      else
        this.identifiers.add$1(0, t1.identifier$1$normalize(true));
    },
    $signature: 1
  };
  A.StylesheetParser__includeRule_closure0.prototype = {
    call$2(children, span) {
      return A.ContentBlock$0(this.contentArguments_, children, span);
    },
    $signature: 566
  };
  A.StylesheetParser_mediaRule_closure0.prototype = {
    call$2(children, span) {
      return A.MediaRule$0(this.query, children, span);
    },
    $signature: 567
  };
  A.StylesheetParser__mixinRule_closure0.prototype = {
    call$2(children, span) {
      var _this = this;
      _this.$this._stylesheet0$_inMixin = false;
      return A.MixinRule$0(_this.name, _this.$arguments, children, span, _this.precedingComment);
    },
    $signature: 568
  };
  A.StylesheetParser_mozDocumentRule_closure0.prototype = {
    call$2(children, span) {
      var _this = this;
      if (_this._box_0.needsDeprecationWarning)
        A.WarnForDeprecation_warnForDeprecation0(_this.$this.logger, B.Deprecation_Iit, string$.x40_moz_, span, null);
      return A.AtRule$0(_this.name, span, children, _this.value);
    },
    $signature: 195
  };
  A.StylesheetParser_supportsRule_closure0.prototype = {
    call$2(children, span) {
      return A.SupportsRule$0(this.condition, children, span);
    },
    $signature: 570
  };
  A.StylesheetParser__whileRule_closure0.prototype = {
    call$2(children, span) {
      this.$this._stylesheet0$_inControlDirective = this.wasInControlDirective;
      return A.WhileRule$0(this.condition, children, span);
    },
    $signature: 571
  };
  A.StylesheetParser_unknownAtRule_closure0.prototype = {
    call$2(children, span) {
      return A.AtRule$0(this.name, span, children, this._box_0.value);
    },
    $signature: 195
  };
  A.StylesheetParser__expression_resetState0.prototype = {
    call$0() {
      var t2,
        t1 = this._box_0;
      t1.operands_ = t1.operators_ = t1.spaceExpressions_ = t1.commaExpressions_ = null;
      t2 = this.$this;
      t2.scanner.set$state(this.start);
      t1.allowSlash = true;
      t1.singleExpression_ = t2._stylesheet0$_singleExpression$0();
    },
    $signature: 0
  };
  A.StylesheetParser__expression_resolveOneOperation0.prototype = {
    call$0() {
      var t2, t3, t4, t5, t6, t7, _this = this,
        t1 = _this._box_0,
        operator = t1.operators_.pop(),
        left = t1.operands_.pop(),
        right = t1.singleExpression_;
      if (right == null) {
        t2 = _this.$this.scanner;
        t3 = operator.operator.length;
        t2.error$3$length$position(0, "Expected expression.", t3, t2._string_scanner$_position - t3);
      }
      if (t1.allowSlash) {
        t2 = _this.$this;
        t2 = !t2._stylesheet0$_inParentheses && operator === B.BinaryOperator_U770 && t2._stylesheet0$_isSlashOperand$1(left) && t2._stylesheet0$_isSlashOperand$1(right);
      } else
        t2 = false;
      if (t2)
        t1.singleExpression_ = new A.BinaryOperationExpression0(B.BinaryOperator_U770, left, right, true);
      else {
        t1.singleExpression_ = new A.BinaryOperationExpression0(operator, left, right, false);
        t2 = t1.allowSlash = false;
        if (B.BinaryOperator_u150 === operator || B.BinaryOperator_SjO0 === operator) {
          t3 = _this.$this;
          t4 = t3.scanner.string;
          t5 = right.get$span(right);
          t5 = t5.get$start(t5);
          t6 = right.get$span(right);
          t7 = operator.operator;
          if (B.JSString_methods.substring$2(t4, t5.offset - 1, t6.get$start(t6).offset) === t7) {
            t2 = left.get$span(left);
            t2 = t4.charCodeAt(t2.get$end(t2).offset);
            t2 = t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12;
          }
          if (t2) {
            t2 = left.toString$0(0);
            t4 = right.toString$0(0);
            t5 = left.toString$0(0);
            t6 = right.toString$0(0);
            t1 = t1.singleExpression_;
            A.WarnForDeprecation_warnForDeprecation0(t3.logger, B.Deprecation_woc, "This operation is parsed as:\n\n    " + t2 + " " + t7 + " " + t4 + string$.x0a_but_ + t5 + " (" + t7 + t6 + ")\n\nAdd a space after " + t7 + string$.x20to_cl, t1.get$span(t1), null);
          }
        }
      }
    },
    $signature: 0
  };
  A.StylesheetParser__expression_resolveOperations0.prototype = {
    call$0() {
      var t1,
        operators = this._box_0.operators_;
      if (operators == null)
        return;
      for (t1 = this.resolveOneOperation; operators.length !== 0;)
        t1.call$0();
    },
    $signature: 0
  };
  A.StylesheetParser__expression_addSingleExpression0.prototype = {
    call$1(expression) {
      var t2, spaceExpressions, _this = this,
        t1 = _this._box_0;
      if (t1.singleExpression_ != null) {
        t2 = _this.$this;
        if (t2._stylesheet0$_inParentheses) {
          t2._stylesheet0$_inParentheses = false;
          if (t1.allowSlash) {
            _this.resetState.call$0();
            return;
          }
        }
        spaceExpressions = t1.spaceExpressions_;
        if (spaceExpressions == null)
          spaceExpressions = t1.spaceExpressions_ = A._setArrayType([], type$.JSArray_Expression_2);
        _this.resolveOperations.call$0();
        t2 = t1.singleExpression_;
        t2.toString;
        spaceExpressions.push(t2);
        t1.allowSlash = true;
      }
      t1.singleExpression_ = expression;
    },
    $signature: 572
  };
  A.StylesheetParser__expression_addOperator0.prototype = {
    call$1(operator) {
      var t2, t3, operators, operands, t4, singleExpression,
        t1 = this.$this;
      if (t1.get$plainCss() && operator !== B.BinaryOperator_wdM0 && operator !== B.BinaryOperator_u150 && operator !== B.BinaryOperator_SjO0 && operator !== B.BinaryOperator_2No0 && operator !== B.BinaryOperator_U770) {
        t2 = t1.scanner;
        t3 = operator.operator.length;
        t2.error$3$length$position(0, "Operators aren't allowed in plain CSS.", t3, t2._string_scanner$_position - t3);
      }
      t2 = this._box_0;
      t2.allowSlash = t2.allowSlash && operator === B.BinaryOperator_U770;
      operators = t2.operators_;
      if (operators == null)
        operators = t2.operators_ = A._setArrayType([], type$.JSArray_BinaryOperator_2);
      operands = t2.operands_;
      if (operands == null)
        operands = t2.operands_ = A._setArrayType([], type$.JSArray_Expression_2);
      t3 = this.resolveOneOperation;
      t4 = operator.precedence;
      while (true) {
        if (!(operators.length !== 0 && B.JSArray_methods.get$last(operators).precedence >= t4))
          break;
        t3.call$0();
      }
      operators.push(operator);
      singleExpression = t2.singleExpression_;
      if (singleExpression == null) {
        t3 = t1.scanner;
        t4 = operator.operator.length;
        t3.error$3$length$position(0, "Expected expression.", t4, t3._string_scanner$_position - t4);
      }
      operands.push(singleExpression);
      t1.whitespace$0();
      t2.singleExpression_ = t1._stylesheet0$_singleExpression$0();
    },
    $signature: 573
  };
  A.StylesheetParser__expression_resolveSpaceExpressions0.prototype = {
    call$0() {
      var t1, spaceExpressions, singleExpression, t2;
      this.resolveOperations.call$0();
      t1 = this._box_0;
      spaceExpressions = t1.spaceExpressions_;
      if (spaceExpressions == null)
        return;
      singleExpression = t1.singleExpression_;
      if (singleExpression == null)
        this.$this.scanner.error$1(0, "Expected expression.");
      spaceExpressions.push(singleExpression);
      t2 = B.JSArray_methods.get$first(spaceExpressions);
      t2 = t2.get$span(t2).expand$1(0, singleExpression.get$span(singleExpression));
      t1.singleExpression_ = new A.ListExpression0(A.List_List$unmodifiable(spaceExpressions, type$.Expression_2), B.ListSeparator_nbm0, false, t2);
      t1.spaceExpressions_ = null;
    },
    $signature: 0
  };
  A.StylesheetParser_expressionUntilComma_closure0.prototype = {
    call$0() {
      return this.$this.scanner.peekChar$0() === 44;
    },
    $signature: 22
  };
  A.StylesheetParser__isHexColor_closure0.prototype = {
    call$1(char) {
      return A.CharacterExtension_get_isHex0(char);
    },
    $signature: 45
  };
  A.StylesheetParser__unicodeRange_closure1.prototype = {
    call$1(char) {
      return char != null && A.CharacterExtension_get_isHex0(char);
    },
    $signature: 30
  };
  A.StylesheetParser__unicodeRange_closure2.prototype = {
    call$1(char) {
      return char != null && A.CharacterExtension_get_isHex0(char);
    },
    $signature: 30
  };
  A.StylesheetParser_namespacedExpression_closure0.prototype = {
    call$0() {
      return this.$this.scanner.spanFrom$1(this.start);
    },
    $signature: 27
  };
  A.StylesheetParser_trySpecialFunction_closure0.prototype = {
    call$1(contents) {
      return new A.StringExpression0(contents, false);
    },
    $signature: 574
  };
  A.StylesheetParser__expressionUntilComparison_closure0.prototype = {
    call$0() {
      var t1 = this.$this.scanner,
        _0_0 = t1.peekChar$0();
      $label0$0: {
        if (61 === _0_0) {
          t1 = t1.peekChar$1(1) !== 61;
          break $label0$0;
        }
        if (60 === _0_0 || 62 === _0_0) {
          t1 = true;
          break $label0$0;
        }
        t1 = false;
        break $label0$0;
      }
      return t1;
    },
    $signature: 22
  };
  A.StylesheetParser__publicIdentifier_closure0.prototype = {
    call$0() {
      return this.$this.scanner.spanFrom$1(this.start);
    },
    $signature: 27
  };
  A.Stylesheet0.prototype = {
    Stylesheet$internal$3$plainCss0(children, span, plainCss) {
      var t1, t2, t3, t4, _i, child;
      for (t1 = this.children, t2 = t1.length, t3 = this._stylesheet1$_forwards, t4 = this._stylesheet1$_uses, _i = 0; _i < t2; ++_i) {
        child = t1[_i];
        if (child instanceof A.UseRule0) {
          t4.push(child);
          continue;
        }
        if (child instanceof A.ForwardRule0) {
          t3.push(child);
          continue;
        }
        if (child instanceof A.SilentComment0 || child instanceof A.LoudComment0 || child instanceof A.VariableDeclaration0)
          continue;
        break;
      }
    },
    accept$1$1(visitor) {
      return visitor.visitStylesheet$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.children;
      return (t1 && B.JSArray_methods).join$1(t1, " ");
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.SupportsExpression0.prototype = {
    get$span(_) {
      var t1 = this.condition;
      return t1.get$span(t1);
    },
    accept$1$1(visitor) {
      return visitor.visitSupportsExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return this.condition.toString$0(0);
    },
    $isExpression0: 1,
    $isAstNode0: 1
  };
  A.ModifiableCssSupportsRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitCssSupportsRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    equalsIgnoringChildren$1(other) {
      var t1, t2;
      if (other instanceof A.ModifiableCssSupportsRule0) {
        t1 = this.condition;
        t2 = other.condition;
        t1 = t1.$ti._is(t2) && J.$eq$(t2.value, t1.value);
      } else
        t1 = false;
      return t1;
    },
    copyWithoutChildren$0() {
      return A.ModifiableCssSupportsRule$0(this.condition, this.span);
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.SupportsRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitSupportsRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.children;
      return "@supports " + this.condition.toString$0(0) + " {" + (t1 && B.JSArray_methods).join$1(t1, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  A.JSToDartImporter.prototype = {
    canonicalize$1(_, url) {
      var t1,
        result = A.wrapJSExceptions(new A.JSToDartImporter_canonicalize_closure(this, url));
      if (result == null)
        return null;
      t1 = self.URL;
      if (result instanceof t1)
        return A.Uri_parse(J.toString$0$(type$.JSUrl._as(result)));
      t1 = self.Promise;
      if (result instanceof t1)
        A.jsThrow(new self.Error("The canonicalize() function can't return a Promise for synchronous compile functions."));
      else
        A.jsThrow(new self.Error(string$.The_ca));
    },
    load$1(_, url) {
      var t1, contents, syntax, t2,
        result = A.wrapJSExceptions(new A.JSToDartImporter_load_closure(this, url));
      if (result == null)
        return null;
      t1 = self.Promise;
      if (result instanceof t1)
        A.jsThrow(new self.Error("The load() function can't return a Promise for synchronous compile functions."));
      type$.JSImporterResult._as(result);
      t1 = J.getInterceptor$x(result);
      contents = t1.get$contents(result);
      if (A._asString(new self.Function("value", "return typeof value").call$1(contents)) !== "string")
        A.jsThrow(new A.ArgumentError(true, contents, "contents", "must be a string but was: " + A.jsType(contents)));
      syntax = t1.get$syntax(result);
      if (contents == null || syntax == null)
        A.jsThrow(new self.Error(string$.The_lo));
      t2 = A.parseSyntax(syntax);
      return A.ImporterResult$(contents, A.NullableExtension_andThen0(t1.get$sourceMapUrl(result), A.utils1__jsToDartUrl$closure()), t2);
    },
    isNonCanonicalScheme$1(scheme) {
      return this._sync$_nonCanonicalSchemes.contains$1(0, scheme);
    }
  };
  A.JSToDartImporter_canonicalize_closure.prototype = {
    call$0() {
      return this.$this._sync$_canonicalize.call$2(this.url.toString$0(0), A.canonicalizeContext0());
    },
    $signature: 35
  };
  A.JSToDartImporter_load_closure.prototype = {
    call$0() {
      return this.$this._sync$_load.call$1(new self.URL(this.url.toString$0(0)));
    },
    $signature: 35
  };
  A.Syntax0.prototype = {
    _enumToString$0() {
      return "Syntax." + this._name;
    },
    toString$0(_) {
      return this._syntax0$_name;
    }
  };
  A.TypeSelector0.prototype = {
    get$specificity() {
      return 1;
    },
    accept$1$1(visitor) {
      return visitor.visitTypeSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    addSuffix$1(suffix) {
      var t1 = this.name;
      return new A.TypeSelector0(new A.QualifiedName0(t1.name + suffix, t1.namespace), this.span);
    },
    unify$1(compound) {
      var unified, t1,
        _0_0 = B.JSArray_methods.get$first(compound);
      if (_0_0 instanceof A.UniversalSelector0 || _0_0 instanceof A.TypeSelector0) {
        unified = A.unifyUniversalAndElement0(this, B.JSArray_methods.get$first(compound));
        if (unified == null)
          return null;
        t1 = A._setArrayType([unified], type$.JSArray_SimpleSelector_2);
        B.JSArray_methods.addAll$1(t1, A.SubListIterable$(compound, 1, null, A._arrayInstanceType(compound)._precomputed1));
        return t1;
      } else {
        t1 = A._setArrayType([this], type$.JSArray_SimpleSelector_2);
        B.JSArray_methods.addAll$1(t1, compound);
        return t1;
      }
    },
    isSuperselector$1(other) {
      var t1, t2;
      if (!this.super$SimpleSelector$isSuperselector0(other))
        if (other instanceof A.TypeSelector0) {
          t1 = this.name;
          t2 = other.name;
          if (t1.name === t2.name) {
            t1 = t1.namespace;
            t1 = t1 === "*" || t1 == t2.namespace;
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.TypeSelector0 && other.name.$eq(0, this.name);
    },
    get$hashCode(_) {
      var t1 = this.name;
      return B.JSString_methods.get$hashCode(t1.name) ^ J.get$hashCode$(t1.namespace);
    }
  };
  A.Types.prototype = {};
  A.UnaryOperationExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitUnaryOperationExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var operand,
        t1 = this.operator,
        t2 = t1.operator;
      t1 = t1 === B.UnaryOperator_not_not_not0 ? t2 + A.Primitives_stringFromCharCode(32) : t2;
      operand = this.operand;
      $label0$0: {
        if (!(operand instanceof A.BinaryOperationExpression0))
          if (!(operand instanceof A.UnaryOperationExpression0))
            t2 = operand instanceof A.ListExpression0 && !operand.hasBrackets && operand.contents.length >= 2;
          else
            t2 = true;
        else
          t2 = true;
        if (t2)
          break $label0$0;
        break $label0$0;
      }
      if (t2)
        t1 += "40";
      t1 += operand.toString$0(0);
      if (t2)
        t1 += "41";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.UnaryOperator0.prototype = {
    _enumToString$0() {
      return "UnaryOperator." + this._name;
    },
    toString$0(_) {
      return this.name;
    }
  };
  A.UnitlessSassNumber0.prototype = {
    get$numeratorUnits(_) {
      return B.List_empty;
    },
    get$denominatorUnits(_) {
      return B.List_empty;
    },
    get$hasUnits() {
      return false;
    },
    get$hasComplexUnits() {
      return false;
    },
    withValue$1(value) {
      return new A.UnitlessSassNumber0(value, null);
    },
    withSlash$2(numerator, denominator) {
      return new A.UnitlessSassNumber0(this._number1$_value, new A._Record_2(numerator, denominator));
    },
    hasUnit$1(unit) {
      return false;
    },
    hasCompatibleUnits$1(other) {
      return other instanceof A.UnitlessSassNumber0;
    },
    hasPossiblyCompatibleUnits$1(other) {
      return other instanceof A.UnitlessSassNumber0;
    },
    compatibleWithUnit$1(unit) {
      return true;
    },
    coerceToMatch$3(other, $name, otherName) {
      return other.withValue$1(this._number1$_value);
    },
    coerceToMatch$1(other) {
      return this.coerceToMatch$3(other, null, null);
    },
    coerceValueToMatch$3(other, $name, otherName) {
      return this._number1$_value;
    },
    coerceValueToMatch$1(other) {
      return this.coerceValueToMatch$3(other, null, null);
    },
    convertToMatch$3(other, $name, otherName) {
      return other.get$hasUnits() ? this.super$SassNumber$convertToMatch(other, $name, otherName) : this;
    },
    convertValueToMatch$3(other, $name, otherName) {
      return other.get$hasUnits() ? this.super$SassNumber$convertValueToMatch0(other, $name, otherName) : this._number1$_value;
    },
    convertValueToMatch$1(other) {
      return this.convertValueToMatch$3(other, null, null);
    },
    coerce$3(newNumerators, newDenominators, $name) {
      return A.SassNumber_SassNumber$withUnits0(this._number1$_value, newDenominators, newNumerators);
    },
    coerce$2(newNumerators, newDenominators) {
      return this.coerce$3(newNumerators, newDenominators, null);
    },
    coerceValue$3(newNumerators, newDenominators, $name) {
      return this._number1$_value;
    },
    coerceValueToUnit$2(unit, $name) {
      return this._number1$_value;
    },
    coerceValueToUnit$1(unit) {
      return this.coerceValueToUnit$2(unit, null);
    },
    greaterThan$1(other) {
      var t1, t2;
      if (other instanceof A.SassNumber0) {
        t1 = this._number1$_value;
        t2 = other._number1$_value;
        return t1 > t2 && !A.fuzzyEquals0(t1, t2) ? B.SassBoolean_true0 : B.SassBoolean_false0;
      }
      return this.super$SassNumber$greaterThan0(other);
    },
    greaterThanOrEquals$1(other) {
      var t1, t2;
      if (other instanceof A.SassNumber0) {
        t1 = this._number1$_value;
        t2 = other._number1$_value;
        return t1 > t2 || A.fuzzyEquals0(t1, t2) ? B.SassBoolean_true0 : B.SassBoolean_false0;
      }
      return this.super$SassNumber$greaterThanOrEquals0(other);
    },
    lessThan$1(other) {
      var t1, t2;
      if (other instanceof A.SassNumber0) {
        t1 = this._number1$_value;
        t2 = other._number1$_value;
        return t1 < t2 && !A.fuzzyEquals0(t1, t2) ? B.SassBoolean_true0 : B.SassBoolean_false0;
      }
      return this.super$SassNumber$lessThan0(other);
    },
    lessThanOrEquals$1(other) {
      var t1, t2;
      if (other instanceof A.SassNumber0) {
        t1 = this._number1$_value;
        t2 = other._number1$_value;
        return t1 < t2 || A.fuzzyEquals0(t1, t2) ? B.SassBoolean_true0 : B.SassBoolean_false0;
      }
      return this.super$SassNumber$lessThanOrEquals0(other);
    },
    modulo$1(other) {
      if (other instanceof A.SassNumber0)
        return other.withValue$1(A.moduloLikeSass0(this._number1$_value, other._number1$_value));
      return this.super$SassNumber$modulo0(other);
    },
    plus$1(other) {
      if (other instanceof A.SassNumber0)
        return other.withValue$1(this._number1$_value + other._number1$_value);
      return this.super$SassNumber$plus0(other);
    },
    minus$1(other) {
      if (other instanceof A.SassNumber0)
        return other.withValue$1(this._number1$_value - other._number1$_value);
      return this.super$SassNumber$minus0(other);
    },
    times$1(other) {
      if (other instanceof A.SassNumber0)
        return other.withValue$1(this._number1$_value * other._number1$_value);
      return this.super$SassNumber$times0(other);
    },
    dividedBy$1(other) {
      var t1, t2;
      if (other instanceof A.SassNumber0) {
        t1 = this._number1$_value / other._number1$_value;
        if (other.get$hasUnits()) {
          t2 = other.get$denominatorUnits(other);
          t2 = A.SassNumber_SassNumber$withUnits0(t1, other.get$numeratorUnits(other), t2);
          t1 = t2;
        } else
          t1 = new A.UnitlessSassNumber0(t1, null);
        return t1;
      }
      return this.super$SassNumber$dividedBy0(other);
    },
    unaryMinus$0() {
      return new A.UnitlessSassNumber0(-this._number1$_value, null);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.UnitlessSassNumber0 && A.fuzzyEquals0(this._number1$_value, other._number1$_value);
    },
    get$hashCode(_) {
      var t1 = this.hashCache;
      return t1 == null ? this.hashCache = A.fuzzyHashCode0(this._number1$_value) : t1;
    }
  };
  A.UniversalSelector0.prototype = {
    get$specificity() {
      return 0;
    },
    accept$1$1(visitor) {
      return visitor.visitUniversalSelector$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    unify$1(compound) {
      var _0_4, t1, rest, unified, _this = this, _null = null,
        _0_1 = compound.length,
        _0_4_isSet = _0_1 >= 1;
      if (_0_4_isSet) {
        _0_4 = compound[0];
        t1 = _0_4;
        if (!(t1 instanceof A.UniversalSelector0))
          t1 = _0_4 instanceof A.TypeSelector0;
        else
          t1 = true;
        rest = t1 ? B.JSArray_methods.sublist$1(compound, 1) : _null;
      } else {
        rest = _null;
        _0_4 = rest;
        t1 = false;
      }
      if (t1) {
        unified = A.unifyUniversalAndElement0(_this, B.JSArray_methods.get$first(compound));
        if (unified == null)
          return _null;
        t1 = A._setArrayType([unified], type$.JSArray_SimpleSelector_2);
        B.JSArray_methods.addAll$1(t1, rest);
        return t1;
      }
      if (_0_1 === 1) {
        if (_0_4_isSet)
          t1 = _0_4;
        else {
          _0_4 = compound[0];
          t1 = _0_4;
          _0_4_isSet = true;
        }
        if (t1 instanceof A.PseudoSelector0) {
          t1 = _0_4_isSet ? _0_4 : compound[0];
          type$.PseudoSelector_2._as(t1);
          t1 = t1.isClass && t1.name === "host" || t1.get$isHostContext();
        } else
          t1 = false;
      } else
        t1 = false;
      if (t1)
        return _null;
      if (_0_1 <= 0)
        return A._setArrayType([_this], type$.JSArray_SimpleSelector_2);
      t1 = _this.namespace;
      if (t1 == null || t1 === "*")
        t1 = compound;
      else {
        t1 = A._setArrayType([_this], type$.JSArray_SimpleSelector_2);
        B.JSArray_methods.addAll$1(t1, compound);
      }
      return t1;
    },
    isSuperselector$1(other) {
      var t1 = this.namespace;
      if (t1 === "*")
        return true;
      if (other instanceof A.TypeSelector0)
        return t1 == other.name.namespace;
      if (other instanceof A.UniversalSelector0)
        return t1 == other.namespace;
      return t1 == null || this.super$SimpleSelector$isSuperselector0(other);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.UniversalSelector0 && other.namespace == this.namespace;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.namespace);
    }
  };
  A.UnprefixedMapView0.prototype = {
    get$keys(_) {
      return new A._UnprefixedKeys0(this);
    },
    $index(_, key) {
      return typeof key == "string" ? this._unprefixed_map_view0$_map.$index(0, this._unprefixed_map_view0$_prefix + key) : null;
    },
    containsKey$1(key) {
      return typeof key == "string" && this._unprefixed_map_view0$_map.containsKey$1(this._unprefixed_map_view0$_prefix + key);
    },
    remove$1(_, key) {
      return typeof key == "string" ? this._unprefixed_map_view0$_map.remove$1(0, this._unprefixed_map_view0$_prefix + key) : null;
    }
  };
  A._UnprefixedKeys0.prototype = {
    get$iterator(_) {
      var t1 = this._unprefixed_map_view0$_view._unprefixed_map_view0$_map;
      t1 = J.where$1$ax(t1.get$keys(t1), new A._UnprefixedKeys_iterator_closure1(this)).map$1$1(0, new A._UnprefixedKeys_iterator_closure2(this), type$.String);
      return t1.get$iterator(t1);
    },
    contains$1(_, key) {
      return this._unprefixed_map_view0$_view.containsKey$1(key);
    }
  };
  A._UnprefixedKeys_iterator_closure1.prototype = {
    call$1(key) {
      return B.JSString_methods.startsWith$1(key, this.$this._unprefixed_map_view0$_view._unprefixed_map_view0$_prefix);
    },
    $signature: 4
  };
  A._UnprefixedKeys_iterator_closure2.prototype = {
    call$1(key) {
      return B.JSString_methods.substring$1(key, this.$this._unprefixed_map_view0$_view._unprefixed_map_view0$_prefix.length);
    },
    $signature: 5
  };
  A.JSUrl0.prototype = {};
  A.UseRule0.prototype = {
    UseRule$4$configuration0(url, namespace, span, configuration) {
      var t1, t2, _i, variable;
      for (t1 = this.configuration, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        variable = t1[_i];
        if (variable.isGuarded)
          throw A.wrapException(A.ArgumentError$value(variable, "configured variable", "can't be guarded in a @use rule."));
      }
    },
    accept$1$1(visitor) {
      return visitor.visitUseRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.url,
        t2 = "@use " + A.StringExpression_quoteText0(t1.toString$0(0)),
        basename = t1.get$pathSegments().length === 0 ? "" : B.JSArray_methods.get$last(t1.get$pathSegments()),
        dot = B.JSString_methods.indexOf$1(basename, ".");
      t1 = this.namespace;
      if (t1 !== B.JSString_methods.substring$2(basename, 0, dot === -1 ? basename.length : dot))
        t1 = t2 + (" as " + (t1 == null ? "*" : t1));
      else
        t1 = t2;
      t2 = this.configuration;
      t1 = (t2.length !== 0 ? t1 + (" with (" + B.JSArray_methods.join$1(t2, ", ") + ")") : t1) + ";";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.UserDefinedCallable0.prototype = {
    get$name(_) {
      return this.declaration.name;
    },
    $isAsyncCallable0: 1,
    $isCallable: 1
  };
  A.resolveImportPath_closure1.prototype = {
    call$0() {
      return A._exactlyOne0(A._tryPath0($.$get$context().withoutExtension$1(this.path) + ".import" + this.extension));
    },
    $signature: 44
  };
  A.resolveImportPath_closure2.prototype = {
    call$0() {
      return A._exactlyOne0(A._tryPathWithExtensions0(this.path + ".import"));
    },
    $signature: 44
  };
  A._tryPathAsDirectory_closure0.prototype = {
    call$0() {
      return A._exactlyOne0(A._tryPathWithExtensions0(A.join(this.path, "index.import", null)));
    },
    $signature: 44
  };
  A._exactlyOne_closure0.prototype = {
    call$1(path) {
      var t1 = $.$get$context();
      return "  " + t1.prettyUri$1(t1.toUri$1(path));
    },
    $signature: 5
  };
  A._PropertyDescriptor0.prototype = {};
  A.futureToPromise_closure0.prototype = {
    call$2(resolve, reject) {
      this.future.then$1$2$onError(0, new A.futureToPromise__closure0(resolve), new A.futureToPromise__closure1(reject), type$.void);
    },
    $signature: 575
  };
  A.futureToPromise__closure0.prototype = {
    call$1(result) {
      return this.resolve.call$1(result);
    },
    $signature: 31
  };
  A.futureToPromise__closure1.prototype = {
    call$2(error, stackTrace) {
      A.attachTrace0(error, stackTrace);
      this.reject.call$1(error);
    },
    $signature: 52
  };
  A.objectToMap_closure.prototype = {
    call$2(key, value) {
      this.map.$indexSet(0, key, value);
      return value;
    },
    $signature: 120
  };
  A._RequireMain0.prototype = {};
  A.indent_closure0.prototype = {
    call$1(line) {
      return B.JSString_methods.$mul(" ", this.indentation) + line;
    },
    $signature: 5
  };
  A.flattenVertically_closure1.prototype = {
    call$1(inner) {
      return A.QueueList_QueueList$from(inner, this.T);
    },
    $signature() {
      return this.T._eval$1("QueueList<0>(Iterable<0>)");
    }
  };
  A.flattenVertically_closure2.prototype = {
    call$1(queue) {
      this.result.push(queue.removeFirst$0());
      return queue.get$length(0) === 0;
    },
    $signature() {
      return this.T._eval$1("bool(QueueList<0>)");
    }
  };
  A.longestCommonSubsequence_backtrack0.prototype = {
    call$2(i, j) {
      var selection, t1, _this = this;
      if (i === -1 || j === -1)
        return A._setArrayType([], _this.T._eval$1("JSArray<0>"));
      selection = _this.selections[i][j];
      if (selection != null) {
        t1 = _this.call$2(i - 1, j - 1);
        J.add$1$ax(t1, selection);
        return t1;
      }
      t1 = _this.lengths;
      return t1[i + 1][j] > t1[i][j + 1] ? _this.call$2(i, j - 1) : _this.call$2(i - 1, j);
    },
    $signature() {
      return this.T._eval$1("List<0>(int,int)");
    }
  };
  A.mapAddAll2_closure0.prototype = {
    call$2(key, inner) {
      var t1 = this.destination,
        _0_0 = t1.$index(0, key);
      if (_0_0 != null)
        _0_0.addAll$1(0, inner);
      else
        t1.$indexSet(0, key, inner);
    },
    $signature() {
      return this.K1._eval$1("@<0>")._bind$1(this.K2)._bind$1(this.V)._eval$1("~(1,Map<2,3>)");
    }
  };
  A.CssValue0.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return this.$ti._is(other) && J.$eq$(other.value, this.value);
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.value);
    },
    toString$0(_) {
      return J.toString$0$(this.value);
    },
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.ValueExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitValueExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return A.serializeValue0(this.value, true, true);
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.valueClass_closure.prototype = {
    call$0() {
      var t2,
        t1 = type$.JSClass,
        jsClass = t1._as(self.Object.getPrototypeOf(J.get$$prototype$x(t1._as(B.C__SassNull0.constructor))).constructor);
      A.JSClassExtension_setCustomInspect(jsClass, new A.valueClass__closure());
      t1 = type$.String;
      t2 = type$.Function;
      A.LinkedHashMap_LinkedHashMap$_literal(["asList", new A.valueClass__closure0(), "hasBrackets", new A.valueClass__closure1(), "isTruthy", new A.valueClass__closure2(), "realNull", new A.valueClass__closure3(), "separator", new A.valueClass__closure4()], t1, t2).forEach$1(0, A.JSClassExtension_get_defineGetter(jsClass));
      A.LinkedHashMap_LinkedHashMap$_literal(["sassIndexToListIndex", new A.valueClass__closure5(), "get", new A.valueClass__closure6(), "assertBoolean", new A.valueClass__closure7(), "assertCalculation", new A.valueClass__closure8(), "assertColor", new A.valueClass__closure9(), "assertFunction", new A.valueClass__closure10(), "assertMap", new A.valueClass__closure11(), "assertMixin", new A.valueClass__closure12(), "assertNumber", new A.valueClass__closure13(), "assertString", new A.valueClass__closure14(), "tryMap", new A.valueClass__closure15(), "equals", new A.valueClass__closure16(), "hashCode", new A.valueClass__closure17(), "toString", new A.valueClass__closure18()], t1, t2).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass));
      return jsClass;
    },
    $signature: 15
  };
  A.valueClass__closure.prototype = {
    call$1($self) {
      return J.toString$0$($self);
    },
    $signature: 134
  };
  A.valueClass__closure0.prototype = {
    call$1($self) {
      return new self.immutable.List($self.get$asList());
    },
    $signature: 576
  };
  A.valueClass__closure1.prototype = {
    call$1($self) {
      return $self.get$hasBrackets();
    },
    $signature: 53
  };
  A.valueClass__closure2.prototype = {
    call$1($self) {
      return $self.get$isTruthy();
    },
    $signature: 53
  };
  A.valueClass__closure3.prototype = {
    call$1($self) {
      return $self.get$realNull();
    },
    $signature: 190
  };
  A.valueClass__closure4.prototype = {
    call$1($self) {
      return $self.get$separator($self).separator;
    },
    $signature: 577
  };
  A.valueClass__closure5.prototype = {
    call$3($self, sassIndex, $name) {
      return $self.sassIndexToListIndex$2(sassIndex, $name);
    },
    call$2($self, sassIndex) {
      return this.call$3($self, sassIndex, null);
    },
    "call*": "call$3",
    $requiredArgCount: 2,
    $defaultValues() {
      return [null];
    },
    $signature: 578
  };
  A.valueClass__closure6.prototype = {
    call$2($self, index) {
      return index < 1 && index >= -1 ? $self : self.undefined;
    },
    $signature: 240
  };
  A.valueClass__closure7.prototype = {
    call$2($self, $name) {
      return $self.assertBoolean$1($name);
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 579
  };
  A.valueClass__closure8.prototype = {
    call$2($self, $name) {
      return $self.assertCalculation$1($name);
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 580
  };
  A.valueClass__closure9.prototype = {
    call$2($self, $name) {
      return $self.assertColor$1($name);
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 581
  };
  A.valueClass__closure10.prototype = {
    call$2($self, $name) {
      return $self.assertFunction$1($name);
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 582
  };
  A.valueClass__closure11.prototype = {
    call$2($self, $name) {
      return $self.assertMap$1($name);
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 583
  };
  A.valueClass__closure12.prototype = {
    call$2($self, $name) {
      return $self.assertMixin$1($name);
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 584
  };
  A.valueClass__closure13.prototype = {
    call$2($self, $name) {
      return $self.assertNumber$1($name);
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 585
  };
  A.valueClass__closure14.prototype = {
    call$2($self, $name) {
      return $self.assertString$1($name);
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 586
  };
  A.valueClass__closure15.prototype = {
    call$1($self) {
      return $self.tryMap$0();
    },
    $signature: 587
  };
  A.valueClass__closure16.prototype = {
    call$2($self, other) {
      return $self.$eq(0, other);
    },
    $signature: 588
  };
  A.valueClass__closure17.prototype = {
    call$2($self, _) {
      return $self.get$hashCode($self);
    },
    call$1($self) {
      return this.call$2($self, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 589
  };
  A.valueClass__closure18.prototype = {
    call$1($self) {
      return A.serializeValue0($self, true, true);
    },
    $signature: 136
  };
  A.Value0.prototype = {
    get$isTruthy() {
      return true;
    },
    get$separator(_) {
      return B.ListSeparator_undecided_null_undecided0;
    },
    get$hasBrackets() {
      return false;
    },
    get$asList() {
      return A._setArrayType([this], type$.JSArray_Value_2);
    },
    get$lengthAsList() {
      return 1;
    },
    get$isBlank() {
      return false;
    },
    get$isSpecialNumber() {
      return false;
    },
    get$isVar() {
      return false;
    },
    get$realNull() {
      return this;
    },
    sassIndexToListIndex$2(sassIndex, $name) {
      var t1, index,
        indexValue = sassIndex.assertNumber$1($name);
      if (indexValue.get$hasUnits()) {
        t1 = indexValue.get$unitString();
        A.warnForDeprecation0("$" + A.S($name) + ": Passing a number with unit " + t1 + string$.x20is_de + indexValue.unitSuggestion$1($name == null ? "index" : $name) + string$.x0a_Morex3a, B.Deprecation_oCX);
      }
      index = indexValue.assertInt$1($name);
      if (index === 0)
        throw A.wrapException(A.SassScriptException$0("List index may not be 0.", $name));
      if (Math.abs(index) > this.get$lengthAsList())
        throw A.wrapException(A.SassScriptException$0("Invalid index " + sassIndex.toString$0(0) + " for a list with " + this.get$lengthAsList() + " elements.", $name));
      return index < 0 ? this.get$lengthAsList() + index : index - 1;
    },
    assertBoolean$1($name) {
      return A.throwExpression(A.SassScriptException$0(this.toString$0(0) + " is not a boolean.", $name));
    },
    assertCalculation$1($name) {
      return A.throwExpression(A.SassScriptException$0(this.toString$0(0) + " is not a calculation.", $name));
    },
    assertColor$1($name) {
      return A.throwExpression(A.SassScriptException$0(this.toString$0(0) + " is not a color.", $name));
    },
    assertFunction$1($name) {
      return A.throwExpression(A.SassScriptException$0(this.toString$0(0) + " is not a function reference.", $name));
    },
    assertMixin$1($name) {
      return A.throwExpression(A.SassScriptException$0(this.toString$0(0) + " is not a mixin reference.", $name));
    },
    assertMap$1($name) {
      return A.throwExpression(A.SassScriptException$0(this.toString$0(0) + " is not a map.", $name));
    },
    tryMap$0() {
      return null;
    },
    assertNumber$1($name) {
      return A.throwExpression(A.SassScriptException$0(this.toString$0(0) + " is not a number.", $name));
    },
    assertNumber$0() {
      return this.assertNumber$1(null);
    },
    assertString$1($name) {
      return A.throwExpression(A.SassScriptException$0(this.toString$0(0) + " is not a string.", $name));
    },
    _value$_selectorString$1($name) {
      var _0_0 = this._value$_selectorStringOrNull$0();
      if (_0_0 != null)
        return _0_0;
      throw A.wrapException(A.SassScriptException$0(this.toString$0(0) + string$.x20is_noav, $name));
    },
    _value$_selectorStringOrNull$0() {
      var t1, t2, result, _1_0, _i, complex, string, compound, _this = this, _null = null;
      if (_this instanceof A.SassString0)
        return _this._string0$_text;
      if (!(_this instanceof A.SassList0))
        return _null;
      t1 = _this._list1$_contents;
      t2 = t1.length;
      if (t2 === 0)
        return _null;
      result = A._setArrayType([], type$.JSArray_String);
      $label0$1: {
        _1_0 = _this._list1$_separator;
        if (B.ListSeparator_ECn0 === _1_0) {
          for (_i = 0; _i < t2; ++_i) {
            complex = t1[_i];
            if (complex instanceof A.SassString0) {
              result.push(complex._string0$_text);
              continue;
            }
            if (complex instanceof A.SassList0 && B.ListSeparator_nbm0 === complex._list1$_separator) {
              string = complex._value$_selectorStringOrNull$0();
              if (string == null)
                return _null;
              result.push(string);
              continue;
            }
            return _null;
          }
          break $label0$1;
        }
        if (B.ListSeparator_cQA0 === _1_0)
          return _null;
        for (_i = 0; _i < t2; ++_i) {
          compound = t1[_i];
          if (!(compound instanceof A.SassString0))
            return _null;
          result.push(compound._string0$_text);
        }
        break $label0$1;
      }
      return B.JSArray_methods.join$1(result, _1_0 === B.ListSeparator_ECn0 ? ", " : " ");
    },
    withListContents$2$separator(contents, separator) {
      var t1 = separator == null ? this.get$separator(this) : separator,
        t2 = this.get$hasBrackets();
      return A.SassList$0(contents, t1, t2);
    },
    withListContents$1(contents) {
      return this.withListContents$2$separator(contents, null);
    },
    greaterThan$1(other) {
      return A.throwExpression(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " > " + other.toString$0(0) + '".', null));
    },
    greaterThanOrEquals$1(other) {
      return A.throwExpression(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " >= " + other.toString$0(0) + '".', null));
    },
    lessThan$1(other) {
      return A.throwExpression(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " < " + other.toString$0(0) + '".', null));
    },
    lessThanOrEquals$1(other) {
      return A.throwExpression(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " <= " + other.toString$0(0) + '".', null));
    },
    times$1(other) {
      return A.throwExpression(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " * " + other.toString$0(0) + '".', null));
    },
    modulo$1(other) {
      return A.throwExpression(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " % " + other.toString$0(0) + '".', null));
    },
    plus$1(other) {
      var t1;
      $label0$0: {
        if (other instanceof A.SassString0) {
          t1 = new A.SassString0(A.serializeValue0(this, false, true) + other._string0$_text, other._string0$_hasQuotes);
          break $label0$0;
        }
        if (other instanceof A.SassCalculation0)
          A.throwExpression(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " + " + other.toString$0(0) + '".', null));
        t1 = new A.SassString0(A.serializeValue0(this, false, true) + A.serializeValue0(other, false, true), false);
        break $label0$0;
      }
      return t1;
    },
    minus$1(other) {
      return other instanceof A.SassCalculation0 ? A.throwExpression(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " - " + other.toString$0(0) + '".', null)) : new A.SassString0(A.serializeValue0(this, false, true) + "-" + A.serializeValue0(other, false, true), false);
    },
    dividedBy$1(other) {
      return new A.SassString0(A.serializeValue0(this, false, true) + "/" + A.serializeValue0(other, false, true), false);
    },
    unaryPlus$0() {
      return new A.SassString0("+" + A.serializeValue0(this, false, true), false);
    },
    unaryMinus$0() {
      return new A.SassString0("-" + A.serializeValue0(this, false, true), false);
    },
    unaryNot$0() {
      return B.SassBoolean_false0;
    },
    withoutSlash$0() {
      return this;
    },
    toString$0(_) {
      return A.serializeValue0(this, true, true);
    }
  };
  A.VariableExpression0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitVariableExpression$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.span;
      return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._file$_start, t1._end), 0, null);
    },
    $isExpression0: 1,
    $isAstNode0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.VariableDeclaration0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitVariableDeclaration$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.namespace;
      t1 = t1 != null ? "" + (t1 + ".") : "";
      t1 += "$" + this.name + ": " + this.expression.toString$0(0) + ";";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.WarnRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitWarnRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      return "@warn " + this.expression.toString$0(0) + ";";
    },
    $isAstNode0: 1,
    $isStatement0: 1,
    get$span(receiver) {
      return this.span;
    }
  };
  A.WhileRule0.prototype = {
    accept$1$1(visitor) {
      return visitor.visitWhileRule$1(this);
    },
    accept$1(visitor) {
      return this.accept$1$1(visitor, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.children;
      return "@while " + this.condition.toString$0(0) + " {" + (t1 && B.JSArray_methods).join$1(t1, " ") + "}";
    },
    get$span(receiver) {
      return this.span;
    }
  };
  (function aliases() {
    var _ = J.LegacyJavaScriptObject.prototype;
    _.super$LegacyJavaScriptObject$toString = _.toString$0;
    _ = A.JsLinkedHashMap.prototype;
    _.super$JsLinkedHashMap$internalContainsKey = _.internalContainsKey$1;
    _.super$JsLinkedHashMap$internalGet = _.internalGet$1;
    _.super$JsLinkedHashMap$internalSet = _.internalSet$2;
    _.super$JsLinkedHashMap$internalRemove = _.internalRemove$1;
    _ = A._BufferingStreamSubscription.prototype;
    _.super$_BufferingStreamSubscription$_add = _._async$_add$1;
    _.super$_BufferingStreamSubscription$_addError = _._addError$2;
    _ = A.ListBase.prototype;
    _.super$ListBase$setRange = _.setRange$4;
    _ = A.Iterable.prototype;
    _.super$Iterable$where = _.where$1;
    _.super$Iterable$skipWhile = _.skipWhile$1;
    _ = A.ModifiableCssParentNode.prototype;
    _.super$ModifiableCssParentNode$addChild = _.addChild$1;
    _ = A.SimpleSelector.prototype;
    _.super$SimpleSelector$addSuffix = _.addSuffix$1;
    _.super$SimpleSelector$unify = _.unify$1;
    _.super$SimpleSelector$isSuperselector = _.isSuperselector$1;
    _ = A.Parser.prototype;
    _.super$Parser$silentComment = _.silentComment$0;
    _ = A.StylesheetParser.prototype;
    _.super$StylesheetParser$importArgument = _.importArgument$0;
    _.super$StylesheetParser$namespacedExpression = _.namespacedExpression$2;
    _ = A.Value.prototype;
    _.super$Value$assertMap = _.assertMap$1;
    _.super$Value$plus = _.plus$1;
    _.super$Value$minus = _.minus$1;
    _.super$Value$dividedBy = _.dividedBy$1;
    _ = A.SassNumber.prototype;
    _.super$SassNumber$convertValueToMatch = _.convertValueToMatch$3;
    _.super$SassNumber$coerce = _.coerce$3;
    _.super$SassNumber$coerceValue = _.coerceValue$3;
    _.super$SassNumber$coerceValueToUnit = _.coerceValueToUnit$2;
    _.super$SassNumber$coerceToMatch = _.coerceToMatch$3;
    _.super$SassNumber$coerceValueToMatch = _.coerceValueToMatch$3;
    _.super$SassNumber$greaterThan = _.greaterThan$1;
    _.super$SassNumber$greaterThanOrEquals = _.greaterThanOrEquals$1;
    _.super$SassNumber$lessThan = _.lessThan$1;
    _.super$SassNumber$lessThanOrEquals = _.lessThanOrEquals$1;
    _.super$SassNumber$modulo = _.modulo$1;
    _.super$SassNumber$plus = _.plus$1;
    _.super$SassNumber$minus = _.minus$1;
    _.super$SassNumber$times = _.times$1;
    _.super$SassNumber$dividedBy = _.dividedBy$1;
    _ = A.AnySelectorVisitor.prototype;
    _.super$AnySelectorVisitor$visitComplexSelector = _.visitComplexSelector$1;
    _ = A.EveryCssVisitor.prototype;
    _.super$EveryCssVisitor$visitCssStyleRule = _.visitCssStyleRule$1;
    _ = A.ReplaceExpressionVisitor.prototype;
    _.super$ReplaceExpressionVisitor$visitBinaryOperationExpression = _.visitBinaryOperationExpression$1;
    _.super$ReplaceExpressionVisitor$visitUnaryOperationExpression = _.visitUnaryOperationExpression$1;
    _ = A.SourceSpanMixin.prototype;
    _.super$SourceSpanMixin$compareTo = _.compareTo$1;
    _.super$SourceSpanMixin$$eq = _.$eq;
    _ = A.StringScanner.prototype;
    _.super$StringScanner$readChar = _.readChar$0;
    _.super$StringScanner$scanChar = _.scanChar$1;
    _.super$StringScanner$scan = _.scan$1;
    _.super$StringScanner$matches = _.matches$1;
    _ = A.AnySelectorVisitor0.prototype;
    _.super$AnySelectorVisitor$visitComplexSelector0 = _.visitComplexSelector$1;
    _ = A.EveryCssVisitor0.prototype;
    _.super$EveryCssVisitor$visitCssStyleRule0 = _.visitCssStyleRule$1;
    _ = A.ModifiableCssParentNode0.prototype;
    _.super$ModifiableCssParentNode$addChild0 = _.addChild$1;
    _ = A.SassNumber0.prototype;
    _.super$SassNumber$convertToMatch = _.convertToMatch$3;
    _.super$SassNumber$convertValueToMatch0 = _.convertValueToMatch$3;
    _.super$SassNumber$coerce0 = _.coerce$3;
    _.super$SassNumber$coerceValue0 = _.coerceValue$3;
    _.super$SassNumber$coerceValueToUnit0 = _.coerceValueToUnit$2;
    _.super$SassNumber$coerceToMatch0 = _.coerceToMatch$3;
    _.super$SassNumber$coerceValueToMatch0 = _.coerceValueToMatch$3;
    _.super$SassNumber$greaterThan0 = _.greaterThan$1;
    _.super$SassNumber$greaterThanOrEquals0 = _.greaterThanOrEquals$1;
    _.super$SassNumber$lessThan0 = _.lessThan$1;
    _.super$SassNumber$lessThanOrEquals0 = _.lessThanOrEquals$1;
    _.super$SassNumber$modulo0 = _.modulo$1;
    _.super$SassNumber$plus0 = _.plus$1;
    _.super$SassNumber$minus0 = _.minus$1;
    _.super$SassNumber$times0 = _.times$1;
    _.super$SassNumber$dividedBy0 = _.dividedBy$1;
    _ = A.Parser1.prototype;
    _.super$Parser$silentComment0 = _.silentComment$0;
    _ = A.ReplaceExpressionVisitor0.prototype;
    _.super$ReplaceExpressionVisitor$visitBinaryOperationExpression0 = _.visitBinaryOperationExpression$1;
    _.super$ReplaceExpressionVisitor$visitUnaryOperationExpression0 = _.visitUnaryOperationExpression$1;
    _ = A.SimpleSelector0.prototype;
    _.super$SimpleSelector$addSuffix0 = _.addSuffix$1;
    _.super$SimpleSelector$unify0 = _.unify$1;
    _.super$SimpleSelector$isSuperselector0 = _.isSuperselector$1;
    _ = A.StylesheetParser0.prototype;
    _.super$StylesheetParser$importArgument0 = _.importArgument$0;
    _.super$StylesheetParser$namespacedExpression0 = _.namespacedExpression$2;
    _ = A.Value0.prototype;
    _.super$Value$assertMap0 = _.assertMap$1;
    _.super$Value$plus0 = _.plus$1;
    _.super$Value$minus0 = _.minus$1;
    _.super$Value$dividedBy0 = _.dividedBy$1;
  })();
  (function installTearOffs() {
    var _static_2 = hunkHelpers._static_2,
      _instance_1_i = hunkHelpers._instance_1i,
      _instance_1_u = hunkHelpers._instance_1u,
      _static_1 = hunkHelpers._static_1,
      _static_0 = hunkHelpers._static_0,
      _static = hunkHelpers.installStaticTearOff,
      _instance = hunkHelpers.installInstanceTearOff,
      _instance_2_u = hunkHelpers._instance_2u,
      _instance_0_i = hunkHelpers._instance_0i,
      _instance_0_u = hunkHelpers._instance_0u;
    _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 188);
    _instance_1_i(J.JSArray.prototype, "get$contains", "contains$1", 9);
    _instance_1_i(A._CastIterableBase.prototype, "get$contains", "contains$1", 9);
    _instance_1_u(A.CastMap.prototype, "get$containsKey", "containsKey$1", 9);
    _instance_1_u(A.ConstantStringMap.prototype, "get$containsKey", "containsKey$1", 9);
    _instance_1_i(A.ConstantStringSet.prototype, "get$contains", "contains$1", 9);
    _instance_1_i(A.GeneralConstantSet.prototype, "get$contains", "contains$1", 9);
    _instance_1_u(A.JsLinkedHashMap.prototype, "get$containsKey", "containsKey$1", 9);
    _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 131);
    _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 131);
    _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 131);
    _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0);
    _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 71);
    _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 73);
    _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0);
    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 592, 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);
    }], 593, 1);
    _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);
    }], 594, 1);
    _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) {
      var t1 = type$.dynamic;
      return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, t1, t1, t1);
    }], 595, 1);
    _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) {
      return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic);
    }], 596, 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);
    }], 597, 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);
    }], 598, 0);
    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 599, 0);
    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 600, 0);
    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 601, 0);
    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 602, 0);
    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 603, 0);
    _static_1(A, "async___printToZone$closure", "_printToZone", 104);
    _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 604, 0);
    _instance(A._AsyncCompleter.prototype, "get$complete", 0, 0, function() {
      return [null];
    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 166, 0, 0);
    _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 73);
    var _;
    _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 31);
    _instance(_, "get$addError", 0, 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 244, 0, 0);
    _instance_0_i(_, "get$close", "close$0", 517);
    _instance_1_u(_, "get$_async$_add", "_async$_add$1", 31);
    _instance_2_u(_, "get$_addError", "_addError$2", 73);
    _instance_0_u(_, "get$_close", "_close$0", 0);
    _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 0);
    _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 0);
    _instance(_ = A._BufferingStreamSubscription.prototype, "get$pause", 1, 0, null, ["call$1", "call$0"], ["pause$1", "pause$0"], 516, 0, 0);
    _instance_0_i(_, "get$resume", "resume$0", 0);
    _instance_0_u(_, "get$_async$_onPause", "_async$_onPause$0", 0);
    _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 0);
    _instance_1_u(_ = A._StreamIterator.prototype, "get$_onData", "_onData$1", 31);
    _instance_2_u(_, "get$_onError", "_onError$2", 73);
    _instance_0_u(_, "get$_onDone", "_onDone$0", 0);
    _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 0);
    _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 0);
    _instance_1_u(_, "get$_handleData", "_handleData$1", 31);
    _instance_2_u(_, "get$_handleError", "_handleError$2", 507);
    _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0);
    _static_2(A, "collection___defaultEquals$closure", "_defaultEquals", 187);
    _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 211);
    _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 188);
    _instance_1_u(A._HashMap.prototype, "get$containsKey", "containsKey$1", 9);
    _instance_1_u(A._LinkedCustomHashMap.prototype, "get$containsKey", "containsKey$1", 9);
    _instance(_ = A._LinkedHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 161, 0, 0);
    _instance_1_i(_, "get$contains", "contains$1", 9);
    _instance_1_i(_, "get$add", "add$1", 9);
    _instance(A._LinkedIdentityHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 161, 0, 0);
    _instance_1_u(A.MapBase.prototype, "get$containsKey", "containsKey$1", 9);
    _instance_1_u(A.MapView.prototype, "get$containsKey", "containsKey$1", 9);
    _instance_1_i(A.UnmodifiableSetView.prototype, "get$contains", "contains$1", 9);
    _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 82);
    _instance_1_u(A._JsonMap.prototype, "get$containsKey", "containsKey$1", 9);
    _static_1(A, "core__identityHashCode$closure", "identityHashCode", 211);
    _static_2(A, "core__identical$closure", "identical", 187);
    _static_1(A, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 5);
    _instance_1_i(A.Iterable.prototype, "get$contains", "contains$1", 9);
    _instance_1_i(A.StringBuffer.prototype, "get$write", "write$1", 31);
    _static(A, "math0__max$closure", 2, null, ["call$1$2", "call$2"], ["max", function(a, b) {
      return A.max(a, b, type$.num);
    }], 607, 1);
    _instance_1_u(A.ArgResults.prototype, "get$wasParsed", "wasParsed$1", 4);
    _instance_1_u(_ = A.StreamCompleter.prototype, "get$setSourceStream", "setSourceStream$1", 31);
    _instance(_, "get$setError", 0, 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["setError$2", "setError$1"], 244, 0, 0);
    _instance_0_u(_ = A.StreamGroup.prototype, "get$_onListen", "_onListen$0", 0);
    _instance_0_u(_, "get$_onPause", "_onPause$0", 0);
    _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
    _instance_0_u(_, "get$_onCancel", "_onCancel$0", 214);
    _instance_0_i(A.ReplAdapter.prototype, "get$exit", "exit$0", 0);
    _instance_1_i(A.EmptyUnmodifiableSet.prototype, "get$contains", "contains$1", 9);
    _instance_1_i(A.UnionSet.prototype, "get$contains", "contains$1", 9);
    _instance_1_i(A._DelegatingIterableBase.prototype, "get$contains", "contains$1", 9);
    _instance_1_i(A.MapKeySet.prototype, "get$contains", "contains$1", 9);
    _static_1(A, "version_Version___parse_tearOff$closure", "Version___parse_tearOff", 198);
    _instance_1_u(A.VersionRange.prototype, "get$allows", "allows$1", 528);
    _instance_1_u(A._IsInvisibleVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 16);
    _instance_1_u(A._IsBogusVisitor.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 16);
    _instance_1_u(A._IsUselessVisitor.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 16);
    _instance_1_u(A.SelectorList.prototype, "get$isSuperselector", "isSuperselector$1", 70);
    _instance_1_u(A.PseudoSelector.prototype, "get$isSuperselector", "isSuperselector$1", 13);
    _instance_1_u(A.SimpleSelector.prototype, "get$isSuperselector", "isSuperselector$1", 13);
    _instance_1_u(A.TypeSelector.prototype, "get$isSuperselector", "isSuperselector$1", 13);
    _instance_1_u(A.UniversalSelector.prototype, "get$isSuperselector", "isSuperselector$1", 13);
    _instance_1_u(A.EmptyExtensionStore.prototype, "get$addExtensions", "addExtensions$1", 226);
    _instance_1_u(A.ExtensionStore.prototype, "get$addExtensions", "addExtensions$1", 226);
    _static_1(A, "functions___isUnique$closure", "_isUnique", 13);
    _static_1(A, "color0___opacify$closure", "_opacify", 29);
    _static_1(A, "color0___transparentize$closure", "_transparentize", 29);
    _instance_2_u(A.NodePackageImporter.prototype, "get$_compareExpansionKeys", "_compareExpansionKeys$2", 142);
    _instance_0_u(A.CssParser.prototype, "get$silentComment", "silentComment$0", 22);
    _instance_0_u(_ = A.Parser.prototype, "get$whitespace", "whitespace$0", 0);
    _instance_0_u(_, "get$silentComment", "silentComment$0", 22);
    _instance_0_u(_, "get$loudComment", "loudComment$0", 0);
    _instance_0_u(_, "get$string", "string$0", 26);
    _instance(_, "get$error", 1, 2, function() {
      return [null];
    }, ["call$3", "call$2"], ["error$3", "error$2"], 151, 0, 0);
    _instance_0_u(A.SassParser.prototype, "get$loudComment", "loudComment$0", 0);
    _instance(_ = A.StylesheetParser.prototype, "get$_statement", 0, 0, null, ["call$1$root", "call$0"], ["_statement$1$root", "_statement$0"], 482, 0, 0);
    _instance_0_u(_, "get$_declarationChild", "_declarationChild$0", 127);
    _instance_0_u(_, "get$_functionChild", "_functionChild$0", 127);
    _instance(_, "get$_expression", 0, 0, null, ["call$3$bracketList$singleEquals$until", "call$0", "call$2$singleEquals$until", "call$1$bracketList", "call$1$until"], ["_expression$3$bracketList$singleEquals$until", "_expression$0", "_expression$2$singleEquals$until", "_expression$1$bracketList", "_expression$1$until"], 462, 0, 0);
    _instance(A.LazyFileSpan.prototype, "get$message", 1, 1, function() {
      return {color: null};
    }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 126, 0, 0);
    _instance_1_u(A.LimitedMapView.prototype, "get$containsKey", "containsKey$1", 9);
    _instance_1_u(A.MergedMapView.prototype, "get$containsKey", "containsKey$1", 9);
    _instance(A.MultiSpan.prototype, "get$message", 1, 1, function() {
      return {color: null};
    }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 157, 0, 0);
    _instance_1_i(A.NoSourceMapBuffer.prototype, "get$write", "write$1", 31);
    _instance_1_u(A.PrefixedMapView.prototype, "get$containsKey", "containsKey$1", 9);
    _instance_1_u(A.PublicMemberMapView.prototype, "get$containsKey", "containsKey$1", 9);
    _instance_1_i(A.SourceMapBuffer.prototype, "get$write", "write$1", 31);
    _instance_1_u(A.UnprefixedMapView.prototype, "get$containsKey", "containsKey$1", 9);
    _static_1(A, "utils__isPublic$closure", "isPublic", 4);
    _static_1(A, "calculation_SassCalculation__simplify$closure", "SassCalculation__simplify", 67);
    _instance_1_u(A.AnySelectorVisitor.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 16);
    _instance(_ = A._EvaluateVisitor0.prototype, "get$_async_evaluate$_interpolationToValue", 0, 1, null, ["call$3$trim$warnForColor", "call$1", "call$2$warnForColor"], ["_async_evaluate$_interpolationToValue$3$trim$warnForColor", "_async_evaluate$_interpolationToValue$1", "_async_evaluate$_interpolationToValue$2$warnForColor"], 315, 0, 0);
    _instance_1_u(_, "get$_async_evaluate$_expressionNode", "_async_evaluate$_expressionNode$1", 162);
    _instance(_ = A._EvaluateVisitor.prototype, "get$_interpolationToValue", 0, 1, null, ["call$3$trim$warnForColor", "call$1", "call$2$warnForColor"], ["_interpolationToValue$3$trim$warnForColor", "_interpolationToValue$1", "_interpolationToValue$2$warnForColor"], 309, 0, 0);
    _instance_1_u(_, "get$_expressionNode", "_expressionNode$1", 162);
    _instance_1_u(_ = A.RecursiveStatementVisitor.prototype, "get$visitContentBlock", "visitContentBlock$1", 267);
    _instance_1_u(_, "get$visitChildren", "visitChildren$1", 268);
    _instance_1_u(_ = A.SelectorSearchVisitor.prototype, "get$visitComplexSelector", "visitComplexSelector$1", "SelectorSearchVisitor.T?(ComplexSelector)");
    _instance_1_u(_, "get$visitSelectorList", "visitSelectorList$1", "SelectorSearchVisitor.T?(SelectorList)");
    _instance_1_u(_ = A._SerializeVisitor.prototype, "get$_visitMediaQuery", "_visitMediaQuery$1", 271);
    _instance_1_u(_, "get$_writeCalculationValue", "_writeCalculationValue$1", 99);
    _instance_1_u(_, "get$visitSelectorList", "visitSelectorList$1", 272);
    _instance_1_u(_, "get$_requiresSemicolon", "_requiresSemicolon$1", 7);
    _instance_1_u(_ = A.StatementSearchVisitor.prototype, "get$visitContentBlock", "visitContentBlock$1", "StatementSearchVisitor.T?(ContentBlock)");
    _instance_1_u(_, "get$visitChildren", "visitChildren$1", "StatementSearchVisitor.T?(List)");
    _instance(A.SourceSpanMixin.prototype, "get$message", 1, 1, function() {
      return {color: null};
    }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 126, 0, 0);
    _static_1(A, "frame_Frame___parseVM_tearOff$closure", "Frame___parseVM_tearOff", 105);
    _static_1(A, "frame_Frame___parseV8_tearOff$closure", "Frame___parseV8_tearOff", 105);
    _static_1(A, "frame_Frame___parseFirefox_tearOff$closure", "Frame___parseFirefox_tearOff", 105);
    _static_1(A, "frame_Frame___parseFriendly_tearOff$closure", "Frame___parseFriendly_tearOff", 105);
    _static_1(A, "trace_Trace___parseVM_tearOff$closure", "Trace___parseVM_tearOff", 254);
    _static_1(A, "trace_Trace___parseFriendly_tearOff$closure", "Trace___parseFriendly_tearOff", 254);
    _static(A, "from_handlers__TransformByHandlers__defaultHandleError$closure", 3, null, ["call$1$3", "call$3"], ["TransformByHandlers__defaultHandleError", function(error, stackTrace, sink) {
      return A.TransformByHandlers__defaultHandleError(error, stackTrace, sink, type$.dynamic);
    }], 610, 0);
    _static(A, "rate_limit___collect$closure", 2, null, ["call$1$2", "call$2"], ["_collect", function($event, soFar) {
      return A._collect($event, soFar, type$.dynamic);
    }], 611, 0);
    _instance_1_u(A.AnySelectorVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 18);
    _instance(_ = A._EvaluateVisitor2.prototype, "get$_async_evaluate0$_interpolationToValue", 0, 1, null, ["call$3$trim$warnForColor", "call$1", "call$2$warnForColor"], ["_async_evaluate0$_interpolationToValue$3$trim$warnForColor", "_async_evaluate0$_interpolationToValue$1", "_async_evaluate0$_interpolationToValue$2$warnForColor"], 311, 0, 0);
    _instance_1_u(_, "get$_async_evaluate0$_expressionNode", "_async_evaluate0$_expressionNode$1", 248);
    _static_1(A, "calculation1___assertCalculationValue$closure", "_assertCalculationValue", 99);
    _static_1(A, "calculation1___isValidClampArg$closure", "_isValidClampArg", 9);
    _static_1(A, "calculation0_SassCalculation__simplify$closure", "SassCalculation__simplify0", 67);
    _static_1(A, "color2___opacify$closure", "_opacify0", 28);
    _static_1(A, "color2___transparentize$closure", "_transparentize0", 28);
    _static(A, "compile__compile$closure", 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["compile0", function(path) {
      return A.compile0(path, null);
    }], 612, 0);
    _static(A, "compile__compileString$closure", 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["compileString0", function(text) {
      return A.compileString0(text, null);
    }], 613, 0);
    _static(A, "compile__compileAsync$closure", 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["compileAsync1", function(path) {
      return A.compileAsync1(path, null);
    }], 614, 0);
    _static(A, "compile__compileStringAsync$closure", 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["compileStringAsync1", function(text) {
      return A.compileStringAsync1(text, null);
    }], 615, 0);
    _static_1(A, "compile___parseImporter$closure", "_parseImporter0", 616);
    _static_1(A, "compile___simplifyCalcArg$closure", "_simplifyCalcArg", 67);
    _static_0(A, "compiler__initCompiler$closure", "initCompiler", 617);
    _static_0(A, "compiler__initAsyncCompiler$closure", "initAsyncCompiler", 618);
    _instance_0_u(A.CssParser0.prototype, "get$silentComment", "silentComment$0", 22);
    _instance_1_u(A.EmptyExtensionStore0.prototype, "get$addExtensions", "addExtensions$1", 197);
    _instance(_ = A._EvaluateVisitor1.prototype, "get$_evaluate0$_interpolationToValue", 0, 1, null, ["call$3$trim$warnForColor", "call$1", "call$2$warnForColor"], ["_evaluate0$_interpolationToValue$3$trim$warnForColor", "_evaluate0$_interpolationToValue$1", "_evaluate0$_interpolationToValue$2$warnForColor"], 424, 0, 0);
    _instance_1_u(_, "get$_evaluate0$_expressionNode", "_evaluate0$_expressionNode$1", 248);
    _instance_1_u(A.ExtensionStore0.prototype, "get$addExtensions", "addExtensions$1", 197);
    _static_1(A, "functions0___isUnique$closure", "_isUnique0", 14);
    _static_1(A, "immutable__jsToDartList$closure", "jsToDartList", 619);
    _instance(A.LazyFileSpan0.prototype, "get$message", 1, 1, function() {
      return {color: null};
    }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 126, 0, 0);
    _static_2(A, "legacy__render$closure", "render", 620);
    _static_1(A, "legacy__renderSync$closure", "renderSync", 621);
    _instance_1_u(A.LimitedMapView0.prototype, "get$containsKey", "containsKey$1", 9);
    _instance_1_u(A.SelectorList0.prototype, "get$isSuperselector", "isSuperselector$1", 65);
    _instance_1_u(A.MergedMapView0.prototype, "get$containsKey", "containsKey$1", 9);
    _instance(A.MultiSpan0.prototype, "get$message", 1, 1, function() {
      return {color: null};
    }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 157, 0, 0);
    _instance_1_i(A.NoSourceMapBuffer0.prototype, "get$write", "write$1", 31);
    _instance_2_u(A.NodePackageImporter0.prototype, "get$_node_package$_compareExpansionKeys", "_node_package$_compareExpansionKeys$2", 142);
    _instance_0_u(_ = A.Parser1.prototype, "get$whitespace", "whitespace$0", 0);
    _instance_0_u(_, "get$silentComment", "silentComment$0", 22);
    _instance_0_u(_, "get$loudComment", "loudComment$0", 0);
    _instance_0_u(_, "get$string", "string$0", 26);
    _instance(_, "get$error", 1, 2, function() {
      return [null];
    }, ["call$3", "call$2"], ["error$3", "error$2"], 151, 0, 0);
    _instance_1_u(A.PrefixedMapView0.prototype, "get$containsKey", "containsKey$1", 9);
    _instance_1_u(A.PseudoSelector0.prototype, "get$isSuperselector", "isSuperselector$1", 14);
    _instance_1_u(A.PublicMemberMapView0.prototype, "get$containsKey", "containsKey$1", 9);
    _instance_0_u(A.SassParser0.prototype, "get$loudComment", "loudComment$0", 0);
    _instance_1_u(A._IsInvisibleVisitor2.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 18);
    _instance_1_u(A._IsBogusVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 18);
    _instance_1_u(A._IsUselessVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 18);
    _instance_1_u(_ = A.SelectorSearchVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", "SelectorSearchVisitor0.T?(ComplexSelector0)");
    _instance_1_u(_, "get$visitSelectorList", "visitSelectorList$1", "SelectorSearchVisitor0.T?(SelectorList0)");
    _instance_1_u(_ = A._SerializeVisitor0.prototype, "get$_serialize0$_visitMediaQuery", "_serialize0$_visitMediaQuery$1", 534);
    _instance_1_u(_, "get$_serialize0$_writeCalculationValue", "_serialize0$_writeCalculationValue$1", 99);
    _instance_1_u(_, "get$visitSelectorList", "visitSelectorList$1", 535);
    _instance_1_u(_, "get$_serialize0$_requiresSemicolon", "_serialize0$_requiresSemicolon$1", 8);
    _instance_1_u(A.SimpleSelector0.prototype, "get$isSuperselector", "isSuperselector$1", 14);
    _instance_1_i(A.SourceMapBuffer0.prototype, "get$write", "write$1", 31);
    _instance_1_u(_ = A.StatementSearchVisitor0.prototype, "get$visitContentBlock", "visitContentBlock$1", "StatementSearchVisitor0.T?(ContentBlock0)");
    _instance_1_u(_, "get$visitChildren", "visitChildren$1", "StatementSearchVisitor0.T?(List)");
    _instance(_ = A.StylesheetParser0.prototype, "get$_stylesheet0$_statement", 0, 0, null, ["call$1$root", "call$0"], ["_stylesheet0$_statement$1$root", "_stylesheet0$_statement$0"], 552, 0, 0);
    _instance_0_u(_, "get$_stylesheet0$_declarationChild", "_stylesheet0$_declarationChild$0", 130);
    _instance_0_u(_, "get$_stylesheet0$_functionChild", "_stylesheet0$_functionChild$0", 130);
    _instance_1_u(A.TypeSelector0.prototype, "get$isSuperselector", "isSuperselector$1", 14);
    _instance_1_u(A.UniversalSelector0.prototype, "get$isSuperselector", "isSuperselector$1", 14);
    _instance_1_u(A.UnprefixedMapView0.prototype, "get$containsKey", "containsKey$1", 9);
    _static_1(A, "utils1__jsToDartUrl$closure", "jsToDartUrl", 622);
    _static_1(A, "utils1__dartToJSUrl$closure", "dartToJSUrl", 623);
    _static_1(A, "utils0__isPublic$closure", "isPublic0", 4);
    _static(A, "path__absolute$closure", 1, function() {
      return [null, null, null, null, null, null, null, null, null, null, null, null, null, null];
    }, ["call$15", "call$1", "call$2", "call$3", "call$4", "call$5", "call$6"], ["absolute", function(part1) {
      var _null = null;
      return A.absolute(part1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }, function(part1, part2) {
      var _null = null;
      return A.absolute(part1, part2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }, function(part1, part2, part3) {
      var _null = null;
      return A.absolute(part1, part2, part3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }, function(part1, part2, part3, part4) {
      var _null = null;
      return A.absolute(part1, part2, part3, part4, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }, function(part1, part2, part3, part4, part5) {
      var _null = null;
      return A.absolute(part1, part2, part3, part4, part5, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }, function(part1, part2, part3, part4, part5, part6) {
      var _null = null;
      return A.absolute(part1, part2, part3, part4, part5, part6, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }], 624, 0);
    _static_1(A, "path__prettyUri$closure", "prettyUri", 625);
    _static_2(A, "number0__fuzzyLessThan$closure", "fuzzyLessThan", 46);
    _static_2(A, "number0__fuzzyLessThanOrEquals$closure", "fuzzyLessThanOrEquals", 46);
    _static_2(A, "number0__fuzzyGreaterThan$closure", "fuzzyGreaterThan", 46);
    _static_2(A, "number0__fuzzyGreaterThanOrEquals$closure", "fuzzyGreaterThanOrEquals", 46);
    _static_2(A, "number0__moduloLikeSass$closure", "moduloLikeSass", 56);
    _static_1(A, "number0__sqrt$closure", "sqrt", 51);
    _static_1(A, "number0__sin$closure", "sin", 51);
    _static_1(A, "number0__cos$closure", "cos", 51);
    _static_1(A, "number0__tan$closure", "tan", 51);
    _static_1(A, "number0__atan$closure", "atan", 51);
    _static_1(A, "number0__asin$closure", "asin", 51);
    _static_1(A, "number0__acos$closure", "acos", 51);
    _static_2(A, "number2__fuzzyLessThan$closure", "fuzzyLessThan0", 46);
    _static_2(A, "number2__fuzzyLessThanOrEquals$closure", "fuzzyLessThanOrEquals0", 46);
    _static_2(A, "number2__fuzzyGreaterThan$closure", "fuzzyGreaterThan0", 46);
    _static_2(A, "number2__fuzzyGreaterThanOrEquals$closure", "fuzzyGreaterThanOrEquals0", 46);
    _static_1(A, "number2__fuzzyRound$closure", "fuzzyRound0", 628);
    _static_2(A, "number2__moduloLikeSass$closure", "moduloLikeSass0", 56);
    _static_1(A, "number2__sqrt$closure", "sqrt0", 48);
    _static_1(A, "number2__sin$closure", "sin0", 48);
    _static_1(A, "number2__cos$closure", "cos0", 48);
    _static_1(A, "number2__tan$closure", "tan0", 48);
    _static_1(A, "number2__atan$closure", "atan0", 48);
    _static_1(A, "number2__asin$closure", "asin0", 48);
    _static_1(A, "number2__acos$closure", "acos0", 48);
    _static_1(A, "sass__main$closure", "main1", 465);
    _static_1(A, "utils2__validateUrlScheme$closure", "validateUrlScheme", 104);
    _static_1(A, "value0__wrapValue$closure", "wrapValue", 420);
  })();
  (function inheritance() {
    var _mixin = hunkHelpers.mixin,
      _inherit = hunkHelpers.inherit,
      _inheritMany = hunkHelpers.inheritMany;
    _inherit(A.Object, null);
    _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.ListBase, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.ExpandIterator, A.TakeIterator, A.SkipIterator, A.SkipWhileIterator, A.EmptyIterator, A.FollowedByIterator, A.WhereTypeIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.Symbol, A._Record, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.SetBase, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A._SyncStarIterator, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._AddStreamState, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._MapBaseValueIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._UnmodifiableSetMixin, A.Codec, A.Converter, A._Base64Encoder, A.ByteConversionSink, A._JsonStringifier, A.StringConversionSink, A._Utf8Encoder, A._Utf8Decoder, A.DateTime, A.Duration, A._Enum, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.MapEntry, A.Null, A._StringStackTrace, A.RuneIterator, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.NullRejectionException, A._JSRandom, A.ArgParser, A.ArgResults, A.Option, A.OptionType, A.Parser0, A._Usage, A.FutureGroup, A.ErrorResult, A.ValueResult, A.StreamCompleter, A.StreamGroup, A._StreamGroupState, A.StreamQueue, A._NextRequest, A.Repl, A.ReplAdapter, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._MapEntry, A.MapEquality, A._QueueList_Object_ListMixin, A._DelegatingIterableBase, A.UnmodifiableSetMixin, A.Context, A._PathDirection, A._PathRelation, A.Style, A.ParsedPath, A.PathException, A.Version, A.VersionRange, A.CssMediaQuery, A.MediaQuerySuccessfulMergeResult, A.CssNode, A.__IsInvisibleVisitor_Object_EveryCssVisitor, A.CssValue, A._FakeAstNode, A.Argument, A.ArgumentDeclaration, A.ArgumentInvocation, A.AtRootQuery, A.ConfiguredVariable, A._IsCalculationSafeVisitor, A.BinaryOperationExpression, A.BooleanExpression, A.ColorExpression, A.FunctionExpression, A.IfExpression, A.InterpolatedFunctionExpression, A.ListExpression, A.MapExpression, A.NullExpression, A.NumberExpression, A.ParenthesizedExpression, A.SelectorExpression, A.StringExpression, A.SupportsExpression, A.UnaryOperationExpression, A.ValueExpression, A.VariableExpression, A.DynamicImport, A.StaticImport, A.Interpolation, A.ParentStatement, A.ContentRule, A.DebugRule, A.ErrorRule, A.ExtendRule, A.ForwardRule, A.IfRule, A.IfRuleClause, A.ImportRule, A.IncludeRule, A.LoudComment, A.__HasContentVisitor_Object_StatementSearchVisitor, A.ReturnRule, A.SilentComment, A.UseRule, A.VariableDeclaration, A.WarnRule, A.SupportsAnything, A.SupportsDeclaration, A.SupportsFunction, A.SupportsInterpolation, A.SupportsNegation, A.SupportsOperation, A.Selector, A.__IsInvisibleVisitor_Object_AnySelectorVisitor, A.__IsBogusVisitor_Object_AnySelectorVisitor, A.__IsUselessVisitor_Object_AnySelectorVisitor, A.ComplexSelectorComponent, A.__ParentSelectorVisitor_Object_SelectorSearchVisitor, A.QualifiedName, A.AsyncEnvironment, A._EnvironmentModule0, A.AsyncImportCache, A.AsyncBuiltInCallable, A.BuiltInCallable, A.PlainCssCallable, A.UserDefinedCallable, A.CompileResult, A.Configuration, A.ConfiguredValue, A.Environment, A._EnvironmentModule, A.SourceSpanException, A.SassScriptException, A.ExecutableOptions, A.UsageException, A._Watcher, A.EmptyExtensionStore, A.Extension, A.Extender, A.ExtensionStore, A.ImportCache, A.AsyncImporter, A.CanonicalizeContext, A.ImporterResult, A.InterpolationBuffer, A.InterpolationMap, A.FileSystemException, A.LoggerWithDeprecationType0, A._QuietLogger, A.StderrLogger, A.TrackingLogger, A.BuiltInModule, A.ForwardedModuleView, A.ShadowedModuleView, A.Parser, A.StylesheetGraph, A.StylesheetNode, A.Box, A.ModifiableBox, A.LazyFileSpan, A.MultiDirWatcher, A.MultiSpan, A.NoSourceMapBuffer, A.SourceMapBuffer, A.Value, A.CalculationOperation, A._ColorFormatEnum, A.SpanColorFormat, A.AnySelectorVisitor, A._EvaluateVisitor0, A._ImportedCssVisitor0, A._EvaluationContext0, A._CloneCssVisitor, A.Evaluator, A._EvaluateVisitor, A._ImportedCssVisitor, A._EvaluationContext, A.EveryCssVisitor, A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor, A.__FindDependenciesVisitor_Object_RecursiveStatementVisitor, A.DependencyReport, A.RecursiveStatementVisitor, A.ReplaceExpressionVisitor, A.SelectorSearchVisitor, A._SerializeVisitor, A.StatementSearchVisitor, A.Entry, A.Mapping, A.TargetLineEntry, A.TargetEntry, A.SourceFile, A.SourceLocationMixin, A.SourceSpanMixin, A.Highlighter, A._Highlight, A._Line, A.SourceLocation, A.Chain, A.Frame, A.LazyTrace, A.Trace, A.UnparsedFrame, A.StringScanner, A._SpanScannerState, A.AsciiGlyphSet, A.UnicodeGlyphSet, A.WatchEvent, A.ChangeType, A.AnySelectorVisitor0, A.SupportsAnything0, A.Argument0, A.ArgumentDeclaration0, A.ArgumentInvocation0, A.Value0, A.AsyncImporter0, A.AsyncBuiltInCallable0, A.AsyncEnvironment0, A._EnvironmentModule2, A._EvaluateVisitor2, A._ImportedCssVisitor2, A._EvaluationContext2, A.AsyncImportCache0, A.Parser1, A.AtRootQuery0, A.ParentStatement0, A.CssNode0, A.Selector0, A.BinaryOperationExpression0, A.BooleanExpression0, A.Box0, A.ModifiableBox0, A.BuiltInCallable0, A.BuiltInModule0, A.CalculationOperation0, A.CalculationInterpolation, A.CanonicalizeContext0, A._CloneCssVisitor0, A.ColorExpression0, A._ColorFormatEnum0, A.SpanColorFormat0, A.CompileResult0, A.Compiler, A.ComplexSelectorComponent0, A.Configuration0, A.ConfiguredValue0, A.ConfiguredVariable0, A.ContentRule0, A.DebugRule0, A.SupportsDeclaration0, A.LoggerWithDeprecationType, A.DynamicImport0, A.EmptyExtensionStore0, A.Environment0, A._EnvironmentModule1, A.ErrorRule0, A._EvaluateVisitor1, A._ImportedCssVisitor1, A._EvaluationContext1, A.EveryCssVisitor0, A.SassScriptException0, A._IsCalculationSafeVisitor0, A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor0, A.ExtendRule0, A.Extension0, A.Extender0, A.ExtensionStore0, A.ForwardRule0, A.ForwardedModuleView0, A.FunctionExpression0, A.SupportsFunction0, A.IfExpression0, A.IfRule0, A.IfRuleClause0, A.NodeImporter, A.ImportCache0, A.ImportRule0, A.IncludeRule0, A.InterpolatedFunctionExpression0, A.Interpolation0, A.SupportsInterpolation0, A.InterpolationBuffer0, A.InterpolationMap0, A.FileSystemException0, A.LazyFileSpan0, A.ListExpression0, A.__ParentSelectorVisitor_Object_SelectorSearchVisitor0, A._QuietLogger0, A.LoudComment0, A.MapExpression0, A.CssMediaQuery0, A.MediaQuerySuccessfulMergeResult0, A.__HasContentVisitor_Object_StatementSearchVisitor0, A.MultiSpan0, A.SupportsNegation0, A.NoSourceMapBuffer0, A._FakeAstNode0, A.__IsInvisibleVisitor_Object_EveryCssVisitor0, A.NullExpression0, A.NumberExpression0, A.SupportsOperation0, A.ParenthesizedExpression0, A.PlainCssCallable0, A.QualifiedName0, A.ReplaceExpressionVisitor0, A.ImporterResult0, A.ReturnRule0, A.__IsInvisibleVisitor_Object_AnySelectorVisitor0, A.__IsBogusVisitor_Object_AnySelectorVisitor0, A.__IsUselessVisitor_Object_AnySelectorVisitor0, A.SelectorExpression0, A.SelectorSearchVisitor0, A._SerializeVisitor0, A.ShadowedModuleView0, A.SilentComment0, A.SourceMapBuffer0, A.StatementSearchVisitor0, A.StaticImport0, A.StderrLogger0, A.StringExpression0, A.SupportsExpression0, A.UnaryOperationExpression0, A.UseRule0, A.UserDefinedCallable0, A.CssValue0, A.ValueExpression0, A.VariableExpression0, A.VariableDeclaration0, A.WarnRule0]);
    _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, A.Stdin, A.Stdout, A.ReadlineModule, A.ReadlineOptions, A.ReadlineInterface, A.BufferModule, A.BufferConstants, A.Buffer, A.ConsoleModule, A.Console, A.EventEmitter, A.FS, A.FSConstants, A.FSWatcher, A.ReadStream, A.ReadStreamOptions, A.WriteStream, A.WriteStreamOptions, A.FileOptions, A.StatOptions, A.MkdirOptions, A.RmdirOptions, A.WatchOptions, A.WatchFileOptions, A.Stats, A.Promise, A.Date, A.JsError, A.Atomics, A.Modules, A.Module, A.Net, A.Socket, A.NetAddress, A.NetServer, A.NodeJsError, A.Process, A.CPUUsage, A.Release, A.StreamModule, A.Readable, A.Writable, A.Duplex, A.Transform, A.WritableOptions, A.ReadableOptions, A.Immediate, A.Timeout, A.TTY, A.Util, A.JSArray0, A.Chokidar, A.ChokidarOptions, A.ChokidarWatcher, A.JSFunction, A.ImmutableList, A.ImmutableMap, A.NodeImporterResult, A.RenderContext, A.RenderContextOptions, A.RenderContextResult, A.RenderContextResultStats, A.JSModule, A.JSModuleRequire, A.JSClass, A.JSUrl, A._PropertyDescriptor, A._RequireMain, A.JSArray1, A.Chokidar0, A.ChokidarOptions0, A.ChokidarWatcher0, A._Channels, A._NodeSassColor, A.CompileOptions, A.NodeCompileResult, A.Deprecation1, A.Exports, A.LoggerNamespace, A.FiberClass, A.Fiber, A.JSFunction0, A.ImmutableList0, A.ImmutableMap0, A.JSImporter, A.JSImporterResult, A.NodeImporterResult0, A._ConstructorOptions, A._NodeSassList, A.JSLogger, A.WarnOptions, A.DebugOptions, A._NodeSassMap, A.JSModule0, A.JSModuleRequire0, A._ConstructorOptions0, A._NodeSassNumber, A.JSClass0, A.RenderContext0, A.RenderContextOptions0, A.RenderContextResult0, A.RenderContextResultStats0, A.RenderOptions, A.RenderResult, A.RenderResultStats, A._Exports, A._ConstructorOptions1, A._NodeSassString, A.Types, A.JSUrl0, A._PropertyDescriptor0, A._RequireMain0]);
    _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.FollowedByIterable, A.WhereTypeIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable, A._SyncStarIterable, A.Runes, A._EmptyUnmodifiableSet_IterableBase_UnmodifiableSetMixin, A._PrefixedKeys, A._UnprefixedKeys, A._PrefixedKeys0, A._UnprefixedKeys0]);
    _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin, A.CastSet]);
    _inherit(A._EfficientLengthCastIterable, A.CastIterable);
    _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin);
    _inheritMany(A.Closure, [A.Closure2Args, A.CastMap_entries_closure, A.Closure0Args, A.Instantiation, A.TearOffClosure, A.JsLinkedHashMap_values_closure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A.Future_wait_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A.Stream_Stream$fromFuture_closure, A.Stream_length_closure, A._CustomZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallback_closure, A._HashMap_values_closure, A._LinkedCustomHashMap_closure, A.MapBase_entries_closure, A._JsonMap_values_closure, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.jsify__convert, A.promiseToFuture_closure1, A.promiseToFuture_closure2, A.ArgParser__addOption_closure, A._Usage__writeOption_closure, A._Usage__buildAllowedList_closure, A.FutureGroup_add_closure, A.StreamGroup__onListen_closure, A.StreamGroup__onCancel_closure, A.StreamQueue__ensureListening_closure, A.alwaysValid_closure, A.ReplAdapter_runAsync__closure, A.UnionSet__iterable_closure, A.UnionSet_contains_closure, A.MapKeySet_difference_closure, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.futureToPromise__closure, A.Context_joinAll_closure, A.Context_split_closure, A._validateArgList_closure, A.ParsedPath__splitExtension_closure, A.PathMap__create_closure0, A.PathMap__create_closure1, A.WindowsStyle_absolutePathToUri_closure, A.Version__splitParts_closure, A.ModifiableCssNode_hasFollowingSibling_closure, A.ArgumentDeclaration_verify_closure, A.ArgumentDeclaration_verify_closure0, A._IsCalculationSafeVisitor_visitListExpression_closure, A.ListExpression_toString_closure, A.Interpolation_toString_closure, A.EachRule_toString_closure, A.IfRuleClause$__closure, A.IfRuleClause$___closure, A.ParentStatement_closure, A.ParentStatement__closure, A._IsBogusVisitor_visitComplexSelector_closure, A._IsUselessVisitor_visitComplexSelector_closure, A.ComplexSelectorComponent_toString_closure, A.CompoundSelector_hasComplicatedSuperselectorSemantics_closure, A.IDSelector_unify_closure, A.SelectorList_asSassList_closure, A.SelectorList_nestWithin_closure, A.SelectorList_nestWithin__closure, A.SelectorList_nestWithin__closure0, A.SelectorList__nestWithinCompound_closure, A.SelectorList__nestWithinCompound_closure0, A.SelectorList__nestWithinCompound_closure1, A.SelectorList_withAdditionalCombinators_closure, A.PseudoSelector_specificity__closure, A.PseudoSelector_specificity__closure0, A.PseudoSelector_unify_closure, A.SimpleSelector_isSuperselector_closure, A.SimpleSelector_isSuperselector__closure, A._compileStylesheet_closure0, A.AsyncEnvironment__getVariableFromGlobalModule_closure, A.AsyncEnvironment_setVariable_closure0, A.AsyncEnvironment__getFunctionFromGlobalModule_closure, A.AsyncEnvironment__getMixinFromGlobalModule_closure, A.AsyncEnvironment_toModule_closure, A.AsyncEnvironment_toDummyModule_closure, A._EnvironmentModule__EnvironmentModule_closure5, A._EnvironmentModule__EnvironmentModule_closure6, A._EnvironmentModule__EnvironmentModule_closure7, A._EnvironmentModule__EnvironmentModule_closure8, A._EnvironmentModule__EnvironmentModule_closure9, A._EnvironmentModule__EnvironmentModule_closure10, A.AsyncImportCache_humanize_closure, A.AsyncImportCache_humanize_closure0, A.AsyncImportCache_humanize_closure1, A.AsyncImportCache_humanize_closure2, A.AsyncBuiltInCallable$mixin_closure, A.BuiltInCallable$mixin_closure, A._compileStylesheet_closure, A.Deprecation_fromId_closure, A.Environment__getVariableFromGlobalModule_closure, A.Environment_setVariable_closure0, A.Environment__getFunctionFromGlobalModule_closure, A.Environment__getMixinFromGlobalModule_closure, A.Environment_toModule_closure, A.Environment_toDummyModule_closure, A._EnvironmentModule__EnvironmentModule_closure, A._EnvironmentModule__EnvironmentModule_closure0, A._EnvironmentModule__EnvironmentModule_closure1, A._EnvironmentModule__EnvironmentModule_closure2, A._EnvironmentModule__EnvironmentModule_closure3, A._EnvironmentModule__EnvironmentModule_closure4, A._writeSourceMap_closure, A.ExecutableOptions_emitErrorCss_closure, A.watch_closure, A._Watcher__debounceEvents_closure, A.ExtensionStore_extensionsWhereTarget_closure, A.ExtensionStore__extendComplex_closure, A.ExtensionStore__extendComplex__closure, A.ExtensionStore__extendCompound_closure, A.ExtensionStore__extendCompound_closure0, A.ExtensionStore__extendCompound_closure1, A.ExtensionStore__extendSimple_withoutPseudo, A.ExtensionStore__extendSimple_closure, A.ExtensionStore__extendSimple_closure0, A.ExtensionStore__extendPseudo_closure, A.ExtensionStore__extendPseudo_closure0, A.ExtensionStore__extendPseudo_closure1, A.ExtensionStore__extendPseudo_closure2, A.ExtensionStore__extendPseudo_closure3, A.ExtensionStore__trim_closure, A.ExtensionStore__trim_closure0, A.unifyComplex_closure, A._weaveParents_closure0, A._weaveParents_closure1, A._weaveParents_closure2, A._mustUnify_closure, A._mustUnify__closure, A.paths__closure, A.paths___closure, A.listIsSuperselector_closure, A.listIsSuperselector__closure, A.complexIsSuperselector_closure, A.complexIsSuperselector_closure0, A._compatibleWithPreviousCombinator_closure, A.compoundIsSuperselector_closure, A._selectorPseudoIsSuperselector_closure, A._selectorPseudoIsSuperselector_closure0, A._selectorPseudoIsSuperselector_closure1, A._selectorPseudoIsSuperselector_closure2, A._selectorPseudoIsSuperselector_closure3, A._selectorPseudoIsSuperselector__closure, A._selectorPseudoIsSuperselector___closure, A._selectorPseudoIsSuperselector___closure0, A._selectorPseudoIsSuperselector_closure4, A._selectorPseudoIsSuperselector_closure5, A._selectorPseudoArgs_closure, A._selectorPseudoArgs_closure0, A.globalFunctions_closure, A.global_closure0, A.global_closure1, A.global_closure2, A.global_closure3, A.global_closure4, A.global_closure5, A.global_closure6, A.global_closure7, A.global_closure8, A.global_closure9, A.global_closure10, A.global_closure11, A.global_closure12, A.global_closure13, A.global_closure14, A.global_closure15, A.global_closure16, A.global_closure17, A.global_closure18, A.global_closure19, A.global_closure20, A.global_closure21, A.global_closure22, A.global_closure23, A.global_closure24, A.global_closure25, A.global__closure, A.global_closure26, A.module_closure1, A.module_closure2, A.module_closure3, A.module_closure4, A.module_closure5, A.module_closure6, A.module_closure7, A.module_closure8, A.module__closure1, A.module_closure9, A._red_closure, A._green_closure, A._blue_closure, A._mix_closure, A._hue_closure, A._saturation_closure, A._lightness_closure, A._complement_closure, A._adjust_closure, A._scale_closure, A._change_closure, A._ieHexStr_closure, A._ieHexStr_closure_hexString, A._updateComponents_getParam, A._updateComponents_closure, A._updateComponents_closure0, A._updateComponents_updateValue, A._functionString_closure, A._removedColorFunction_closure, A._rgb_closure, A._hsl_closure, A._hwb_closure, A._parseChannels_closure, A._length_closure0, A._nth_closure, A._setNth_closure, A._join_closure, A._append_closure0, A._zip_closure, A._zip__closure, A._zip__closure0, A._zip__closure1, A._index_closure0, A._separator_closure, A._isBracketed_closure, A._slash_closure, A._get_closure, A._set_closure, A._set__closure0, A._set_closure0, A._set__closure, A._merge_closure, A._merge_closure0, A._merge__closure, A._deepMerge_closure, A._deepRemove_closure, A._deepRemove__closure, A._remove_closure, A._remove_closure0, A._keys_closure, A._values_closure, A._hasKey_closure, A._modify_modifyNestedMap, A.global_closure, A.module_closure0, A._ceil_closure, A._clamp_closure, A._floor_closure, A._max_closure, A._min_closure, A._round_closure, A._hypot_closure, A._hypot__closure, A._log_closure, A._pow_closure, A._atan2_closure, A._compatible_closure, A._isUnitless_closure, A._unit_closure, A._percentage_closure, A._randomFunction_closure, A._div_closure, A._singleArgumentMathFunc_closure, A._numberFunction_closure, A.global_closure27, A.global_closure28, A.global_closure29, A.global_closure30, A.local_closure, A.local_closure0, A.local__closure, A.local_closure1, A._nest_closure, A._nest__closure, A._append_closure, A._append__closure, A._append___closure, A._extend_closure, A._replace_closure, A._unify_closure, A._isSuperselector_closure, A._simpleSelectors_closure, A._simpleSelectors__closure, A._parse_closure, A.module_closure, A.module__closure, A.module__closure0, A._unquote_closure, A._quote_closure, A._length_closure, A._insert_closure, A._index_closure, A._slice_closure, A._toUpperCase_closure, A._toLowerCase_closure, A._uniqueId_closure, A.ImportCache_humanize_closure, A.ImportCache_humanize_closure0, A.ImportCache_humanize_closure1, A.ImportCache_humanize_closure2, A.FilesystemImporter_canonicalize_closure, A.NodePackageImporter__nodePackageExportsResolve_closure, A.NodePackageImporter__nodePackageExportsResolve_closure0, A.NodePackageImporter__nodePackageExportsResolve_closure1, A.NodePackageImporter__nodePackageExportsResolve_closure2, A.NodePackageImporter__nodePackageExportsResolve__closure, A.NodePackageImporter__nodePackageExportsResolve__closure0, A.NodePackageImporter__getMainExport_closure, A._exactlyOne_closure, A.InterpolationMap_mapException_closure, A._realCasePath_helper, A._realCasePath_helper__closure, A.readStdin_closure, A.readStdin_closure0, A.readStdin_closure1, A.readStdin_closure2, A.listDir__closure, A.listDir__closure0, A.listDir_closure_list, A.listDir__list_closure, A.watchDir_closure, A.watchDir_closure0, A.watchDir_closure1, A.watchDir_closure2, A.DeprecationProcessingLogger_summarize_closure, A.DeprecationProcessingLogger_summarize_closure0, A._disallowedFunctionNames_closure, A.Parser_escape_closure, A.Parser_scanIdentChar_matches, A.SassParser_styleRuleSelector_closure, A.SassParser__peekIndentation_closure, A.SassParser__peekIndentation_closure0, A.StylesheetParser_parse__closure0, A.StylesheetParser__expression_addSingleExpression, A.StylesheetParser__expression_addOperator, A.StylesheetParser__isHexColor_closure, A.StylesheetParser__unicodeRange_closure, A.StylesheetParser__unicodeRange_closure0, A.StylesheetParser_trySpecialFunction_closure, A.StylesheetGraph_modifiedSince_transitiveModificationTime, A.MapExtensions_get_pairs_closure, A._PrefixedKeys_iterator_closure, A.SourceMapBuffer_buildSourceMap_closure, A._UnprefixedKeys_iterator_closure, A._UnprefixedKeys_iterator_closure0, A.indent_closure, A.flattenVertically_closure, A.flattenVertically_closure0, A.SassCalculation__verifyLength_closure, A.SassColor_SassColor$hwb_toRgb, A.SassList_isBlank_closure, A.SassNumber__coerceOrConvertValue_closure, A.SassNumber__coerceOrConvertValue_closure1, A.SassNumber_multiplyUnits_closure, A.SassNumber_multiplyUnits_closure1, A.SassNumber__areAnyConvertible_closure, A.SassNumber__canonicalizeUnitList_closure, A.SassNumber_unitSuggestion_closure, A.SassNumber_unitSuggestion_closure0, A.SingleUnitSassNumber__coerceToUnit_closure, A.SingleUnitSassNumber__coerceValueToUnit_closure, A.SingleUnitSassNumber_multiplyUnits_closure, A.AnySelectorVisitor_visitComplexSelector_closure, A.AnySelectorVisitor_visitCompoundSelector_closure, A._EvaluateVisitor_closure12, A._EvaluateVisitor_closure13, A._EvaluateVisitor_closure14, A._EvaluateVisitor_closure15, A._EvaluateVisitor_closure16, A._EvaluateVisitor_closure17, A._EvaluateVisitor_closure18, A._EvaluateVisitor_closure19, A._EvaluateVisitor_closure20, A._EvaluateVisitor_closure21, A._EvaluateVisitor_closure22, A._EvaluateVisitor_closure23, A._EvaluateVisitor_closure24, A._EvaluateVisitor__loadModule__closure1, A._EvaluateVisitor__combineCss_closure1, A._EvaluateVisitor__combineCss_closure2, A._EvaluateVisitor__combineCss_visitModule0, A._EvaluateVisitor__extendModules_closure1, A._EvaluateVisitor__scopeForAtRoot_closure5, A._EvaluateVisitor__scopeForAtRoot_closure6, A._EvaluateVisitor__scopeForAtRoot_closure7, A._EvaluateVisitor__scopeForAtRoot_closure8, A._EvaluateVisitor__scopeForAtRoot_closure9, A._EvaluateVisitor__scopeForAtRoot_closure10, A._EvaluateVisitor_visitEachRule_closure2, A._EvaluateVisitor_visitEachRule_closure3, A._EvaluateVisitor_visitEachRule__closure0, A._EvaluateVisitor_visitEachRule___closure0, A._EvaluateVisitor_visitAtRule_closure2, A._EvaluateVisitor_visitAtRule_closure4, A._EvaluateVisitor_visitForRule__closure0, A._EvaluateVisitor_visitIfRule_closure0, A._EvaluateVisitor_visitIfRule___closure0, A._EvaluateVisitor__visitDynamicImport__closure3, A._EvaluateVisitor__visitDynamicImport__closure4, A._EvaluateVisitor__visitDynamicImport__closure5, A._EvaluateVisitor_visitIncludeRule_closure3, A._EvaluateVisitor_visitMediaRule_closure2, A._EvaluateVisitor_visitMediaRule_closure4, A._EvaluateVisitor_visitStyleRule_closure4, A._EvaluateVisitor_visitStyleRule_closure5, A._EvaluateVisitor__warnForBogusCombinators_closure0, A._EvaluateVisitor_visitSupportsRule_closure2, A._EvaluateVisitor_visitWhileRule__closure0, A._EvaluateVisitor__slash_recommendation0, A._EvaluateVisitor_visitListExpression_closure0, A._EvaluateVisitor_visitFunctionExpression_closure3, A._EvaluateVisitor__checkCalculationArguments_check0, A._EvaluateVisitor__runUserDefinedCallable____closure0, A._EvaluateVisitor__runBuiltInCallable_closure4, A._EvaluateVisitor__evaluateArguments_closure3, A._EvaluateVisitor__evaluateArguments_closure4, A._EvaluateVisitor__evaluateArguments_closure6, A._EvaluateVisitor__evaluateMacroArguments_closure3, A._EvaluateVisitor__evaluateMacroArguments_closure4, A._EvaluateVisitor__evaluateMacroArguments_closure6, A._EvaluateVisitor_visitCssAtRule_closure2, A._EvaluateVisitor_visitCssKeyframeBlock_closure2, A._EvaluateVisitor_visitCssMediaRule_closure2, A._EvaluateVisitor_visitCssMediaRule_closure4, A._EvaluateVisitor_visitCssStyleRule_closure1, A._EvaluateVisitor_visitCssSupportsRule_closure2, A._EvaluateVisitor__performInterpolationHelper_closure0, A._EvaluateVisitor__withoutSlash_recommendation0, A._EvaluateVisitor__stackFrame_closure0, A._ImportedCssVisitor_visitCssAtRule_closure0, A._ImportedCssVisitor_visitCssMediaRule_closure0, A._ImportedCssVisitor_visitCssStyleRule_closure0, A._ImportedCssVisitor_visitCssSupportsRule_closure0, A._EvaluateVisitor_closure, A._EvaluateVisitor_closure0, A._EvaluateVisitor_closure1, A._EvaluateVisitor_closure2, A._EvaluateVisitor_closure3, A._EvaluateVisitor_closure4, A._EvaluateVisitor_closure5, A._EvaluateVisitor_closure6, A._EvaluateVisitor_closure7, A._EvaluateVisitor_closure8, A._EvaluateVisitor_closure9, A._EvaluateVisitor_closure10, A._EvaluateVisitor_closure11, A._EvaluateVisitor__loadModule__closure, A._EvaluateVisitor__combineCss_closure, A._EvaluateVisitor__combineCss_closure0, A._EvaluateVisitor__combineCss_visitModule, A._EvaluateVisitor__extendModules_closure, A._EvaluateVisitor__scopeForAtRoot_closure, A._EvaluateVisitor__scopeForAtRoot_closure0, A._EvaluateVisitor__scopeForAtRoot_closure1, A._EvaluateVisitor__scopeForAtRoot_closure2, A._EvaluateVisitor__scopeForAtRoot_closure3, A._EvaluateVisitor__scopeForAtRoot_closure4, A._EvaluateVisitor_visitEachRule_closure, A._EvaluateVisitor_visitEachRule_closure0, A._EvaluateVisitor_visitEachRule__closure, A._EvaluateVisitor_visitEachRule___closure, A._EvaluateVisitor_visitAtRule_closure, A._EvaluateVisitor_visitAtRule_closure1, A._EvaluateVisitor_visitForRule__closure, A._EvaluateVisitor_visitIfRule_closure, A._EvaluateVisitor_visitIfRule___closure, A._EvaluateVisitor__visitDynamicImport__closure, A._EvaluateVisitor__visitDynamicImport__closure0, A._EvaluateVisitor__visitDynamicImport__closure1, A._EvaluateVisitor_visitIncludeRule_closure0, A._EvaluateVisitor_visitMediaRule_closure, A._EvaluateVisitor_visitMediaRule_closure1, A._EvaluateVisitor_visitStyleRule_closure0, A._EvaluateVisitor_visitStyleRule_closure1, A._EvaluateVisitor__warnForBogusCombinators_closure, A._EvaluateVisitor_visitSupportsRule_closure0, A._EvaluateVisitor_visitWhileRule__closure, A._EvaluateVisitor__slash_recommendation, A._EvaluateVisitor_visitListExpression_closure, A._EvaluateVisitor_visitFunctionExpression_closure0, A._EvaluateVisitor__checkCalculationArguments_check, A._EvaluateVisitor__runUserDefinedCallable____closure, A._EvaluateVisitor__runBuiltInCallable_closure1, A._EvaluateVisitor__evaluateArguments_closure, A._EvaluateVisitor__evaluateArguments_closure0, A._EvaluateVisitor__evaluateArguments_closure2, A._EvaluateVisitor__evaluateMacroArguments_closure, A._EvaluateVisitor__evaluateMacroArguments_closure0, A._EvaluateVisitor__evaluateMacroArguments_closure2, A._EvaluateVisitor_visitCssAtRule_closure0, A._EvaluateVisitor_visitCssKeyframeBlock_closure0, A._EvaluateVisitor_visitCssMediaRule_closure, A._EvaluateVisitor_visitCssMediaRule_closure1, A._EvaluateVisitor_visitCssStyleRule_closure, A._EvaluateVisitor_visitCssSupportsRule_closure0, A._EvaluateVisitor__performInterpolationHelper_closure, A._EvaluateVisitor__withoutSlash_recommendation, A._EvaluateVisitor__stackFrame_closure, A._ImportedCssVisitor_visitCssAtRule_closure, A._ImportedCssVisitor_visitCssMediaRule_closure, A._ImportedCssVisitor_visitCssStyleRule_closure, A._ImportedCssVisitor_visitCssSupportsRule_closure, A.EveryCssVisitor_visitCssAtRule_closure, A.EveryCssVisitor_visitCssKeyframeBlock_closure, A.EveryCssVisitor_visitCssMediaRule_closure, A.EveryCssVisitor_visitCssStyleRule_closure, A.EveryCssVisitor_visitCssStylesheet_closure, A.EveryCssVisitor_visitCssSupportsRule_closure, A.ReplaceExpressionVisitor_visitListExpression_closure, A.ReplaceExpressionVisitor_visitArgumentInvocation_closure, A.ReplaceExpressionVisitor_visitInterpolation_closure, A.SelectorSearchVisitor_visitComplexSelector_closure, A.SelectorSearchVisitor_visitCompoundSelector_closure, A.serialize_closure, A._SerializeVisitor_visitList_closure, A._SerializeVisitor_visitList_closure0, A._SerializeVisitor_visitList_closure1, A._SerializeVisitor_visitMap_closure, A._SerializeVisitor_visitSelectorList_closure, A.StatementSearchVisitor_visitIfRule_closure, A.StatementSearchVisitor_visitIfRule__closure0, A.StatementSearchVisitor_visitIfRule_closure0, A.StatementSearchVisitor_visitIfRule__closure, A.StatementSearchVisitor_visitChildren_closure, A.SingleMapping_SingleMapping$fromEntries_closure1, A.SingleMapping_toJson_closure, A.Highlighter$__closure, A.Highlighter$___closure, A.Highlighter$__closure0, A.Highlighter__collateLines_closure, A.Highlighter__collateLines_closure1, A.Highlighter__collateLines__closure, A.Highlighter_highlight_closure, 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_terse_closure, A.Trace_foldFrames_closure, A.Trace_foldFrames_closure0, A.Trace_toString_closure0, A.Trace_toString_closure, A.TransformByHandlers_transformByHandlers__closure, A.RateLimit__debounceAggregate_closure0, A.AnySelectorVisitor_visitComplexSelector_closure0, A.AnySelectorVisitor_visitCompoundSelector_closure0, A.ArgumentDeclaration_verify_closure1, A.ArgumentDeclaration_verify_closure2, A.argumentListClass__closure, A.argumentListClass__closure0, A.AsyncBuiltInCallable$mixin_closure0, A._compileStylesheet_closure2, A.AsyncEnvironment__getVariableFromGlobalModule_closure0, A.AsyncEnvironment_setVariable_closure3, A.AsyncEnvironment__getFunctionFromGlobalModule_closure0, A.AsyncEnvironment__getMixinFromGlobalModule_closure0, A.AsyncEnvironment_toModule_closure0, A.AsyncEnvironment_toDummyModule_closure0, A._EnvironmentModule__EnvironmentModule_closure17, A._EnvironmentModule__EnvironmentModule_closure18, A._EnvironmentModule__EnvironmentModule_closure19, A._EnvironmentModule__EnvironmentModule_closure20, A._EnvironmentModule__EnvironmentModule_closure21, A._EnvironmentModule__EnvironmentModule_closure22, A._EvaluateVisitor_closure38, A._EvaluateVisitor_closure39, A._EvaluateVisitor_closure40, A._EvaluateVisitor_closure41, A._EvaluateVisitor_closure42, A._EvaluateVisitor_closure43, A._EvaluateVisitor_closure44, A._EvaluateVisitor_closure45, A._EvaluateVisitor_closure46, A._EvaluateVisitor_closure47, A._EvaluateVisitor_closure48, A._EvaluateVisitor_closure49, A._EvaluateVisitor_closure50, A._EvaluateVisitor__loadModule__closure5, A._EvaluateVisitor__combineCss_closure5, A._EvaluateVisitor__combineCss_closure6, A._EvaluateVisitor__combineCss_visitModule2, A._EvaluateVisitor__extendModules_closure5, A._EvaluateVisitor__scopeForAtRoot_closure17, A._EvaluateVisitor__scopeForAtRoot_closure18, A._EvaluateVisitor__scopeForAtRoot_closure19, A._EvaluateVisitor__scopeForAtRoot_closure20, A._EvaluateVisitor__scopeForAtRoot_closure21, A._EvaluateVisitor__scopeForAtRoot_closure22, A._EvaluateVisitor_visitEachRule_closure8, A._EvaluateVisitor_visitEachRule_closure9, A._EvaluateVisitor_visitEachRule__closure2, A._EvaluateVisitor_visitEachRule___closure2, A._EvaluateVisitor_visitAtRule_closure8, A._EvaluateVisitor_visitAtRule_closure10, A._EvaluateVisitor_visitForRule__closure2, A._EvaluateVisitor_visitIfRule_closure2, A._EvaluateVisitor_visitIfRule___closure2, A._EvaluateVisitor__visitDynamicImport__closure11, A._EvaluateVisitor__visitDynamicImport__closure12, A._EvaluateVisitor__visitDynamicImport__closure13, A._EvaluateVisitor_visitIncludeRule_closure9, A._EvaluateVisitor_visitMediaRule_closure8, A._EvaluateVisitor_visitMediaRule_closure10, A._EvaluateVisitor_visitStyleRule_closure12, A._EvaluateVisitor_visitStyleRule_closure13, A._EvaluateVisitor__warnForBogusCombinators_closure2, A._EvaluateVisitor_visitSupportsRule_closure6, A._EvaluateVisitor_visitWhileRule__closure2, A._EvaluateVisitor__slash_recommendation2, A._EvaluateVisitor_visitListExpression_closure2, A._EvaluateVisitor_visitFunctionExpression_closure9, A._EvaluateVisitor__checkCalculationArguments_check2, A._EvaluateVisitor__runUserDefinedCallable____closure2, A._EvaluateVisitor__runBuiltInCallable_closure10, A._EvaluateVisitor__evaluateArguments_closure11, A._EvaluateVisitor__evaluateArguments_closure12, A._EvaluateVisitor__evaluateArguments_closure14, A._EvaluateVisitor__evaluateMacroArguments_closure11, A._EvaluateVisitor__evaluateMacroArguments_closure12, A._EvaluateVisitor__evaluateMacroArguments_closure14, A._EvaluateVisitor_visitCssAtRule_closure6, A._EvaluateVisitor_visitCssKeyframeBlock_closure6, A._EvaluateVisitor_visitCssMediaRule_closure8, A._EvaluateVisitor_visitCssMediaRule_closure10, A._EvaluateVisitor_visitCssStyleRule_closure5, A._EvaluateVisitor_visitCssSupportsRule_closure6, A._EvaluateVisitor__performInterpolationHelper_closure2, A._EvaluateVisitor__withoutSlash_recommendation2, A._EvaluateVisitor__stackFrame_closure2, A._ImportedCssVisitor_visitCssAtRule_closure2, A._ImportedCssVisitor_visitCssMediaRule_closure2, A._ImportedCssVisitor_visitCssStyleRule_closure2, A._ImportedCssVisitor_visitCssSupportsRule_closure2, A.AsyncImportCache_humanize_closure3, A.AsyncImportCache_humanize_closure4, A.AsyncImportCache_humanize_closure5, A.AsyncImportCache_humanize_closure6, A.booleanClass__closure, A.legacyBooleanClass__closure, A.legacyBooleanClass__closure0, A.BuiltInCallable$mixin_closure0, A.calculationClass__closure, A.calculationClass__closure0, A.calculationClass__closure1, A.calculationClass__closure2, A.calculationClass__closure3, A.calculationClass__closure4, A.calculationClass__closure5, A.calculationOperationClass__closure, A.calculationOperationClass___closure, A.calculationOperationClass__closure1, A.calculationOperationClass__closure2, A.calculationOperationClass__closure3, A.calculationOperationClass__closure4, A.calculationInterpolationClass__closure1, A.calculationInterpolationClass__closure2, A.SassCalculation__verifyLength_closure0, A.updateCanonicalizeContextPrototype_closure, A.updateCanonicalizeContextPrototype_closure0, A.global_closure32, A.global_closure33, A.global_closure34, A.global_closure35, A.global_closure36, A.global_closure37, A.global_closure38, A.global_closure39, A.global_closure40, A.global_closure41, A.global_closure42, A.global_closure43, A.global_closure44, A.global_closure45, A.global_closure46, A.global_closure47, A.global_closure48, A.global_closure49, A.global_closure50, A.global_closure51, A.global_closure52, A.global_closure53, A.global_closure54, A.global_closure55, A.global_closure56, A.global_closure57, A.global__closure0, A.global_closure58, A.module_closure12, A.module_closure13, A.module_closure14, A.module_closure15, A.module_closure16, A.module_closure17, A.module_closure18, A.module_closure19, A.module__closure4, A.module_closure20, A._red_closure0, A._green_closure0, A._blue_closure0, A._mix_closure0, A._hue_closure0, A._saturation_closure0, A._lightness_closure0, A._complement_closure0, A._adjust_closure0, A._scale_closure0, A._change_closure0, A._ieHexStr_closure0, A._ieHexStr_closure_hexString0, A._updateComponents_getParam0, A._updateComponents_closure1, A._updateComponents_closure2, A._updateComponents_updateValue0, A._functionString_closure0, A._removedColorFunction_closure0, A._rgb_closure0, A._hsl_closure0, A._hwb_closure0, A._parseChannels_closure0, A.colorClass__closure1, A.colorClass__closure2, A.colorClass__closure3, A.colorClass__closure4, A.colorClass__closure5, A.colorClass__closure6, A.colorClass__closure7, A.colorClass__closure8, A.colorClass__closure9, A.legacyColorClass_closure, A.legacyColorClass_closure0, A.legacyColorClass_closure1, A.legacyColorClass_closure2, A.legacyColorClass_closure3, A.SassColor_SassColor$hwb_toRgb0, A.compileAsync__closure, A.compileStringAsync__closure, A.compileStringAsync__closure0, A._wrapAsyncSassExceptions_closure, A._parseFunctions__closure2, A._parseFunctions__closure3, A.nodePackageImporterClass__closure, A._compileStylesheet_closure1, A.AsyncCompiler_addCompilation_closure, A.compilerClass__closure, A.compilerClass__closure0, A.compilerClass__closure1, A.compilerClass__closure2, A.asyncCompilerClass__closure, A.asyncCompilerClass__closure0, A.asyncCompilerClass__closure1, A.asyncCompilerClass__closure2, A.ComplexSelectorComponent_toString_closure0, A.CompoundSelector_hasComplicatedSuperselectorSemantics_closure0, A._disallowedFunctionNames_closure0, A.Deprecation_fromId_closure0, A.DeprecationProcessingLogger_summarize_closure1, A.DeprecationProcessingLogger_summarize_closure2, A.versionClass__closure, A.versionClass__closure0, A.EachRule_toString_closure0, A.Environment__getVariableFromGlobalModule_closure0, A.Environment_setVariable_closure3, A.Environment__getFunctionFromGlobalModule_closure0, A.Environment__getMixinFromGlobalModule_closure0, A.Environment_toModule_closure0, A.Environment_toDummyModule_closure0, A._EnvironmentModule__EnvironmentModule_closure11, A._EnvironmentModule__EnvironmentModule_closure12, A._EnvironmentModule__EnvironmentModule_closure13, A._EnvironmentModule__EnvironmentModule_closure14, A._EnvironmentModule__EnvironmentModule_closure15, A._EnvironmentModule__EnvironmentModule_closure16, A._EvaluateVisitor_closure25, A._EvaluateVisitor_closure26, A._EvaluateVisitor_closure27, A._EvaluateVisitor_closure28, A._EvaluateVisitor_closure29, A._EvaluateVisitor_closure30, A._EvaluateVisitor_closure31, A._EvaluateVisitor_closure32, A._EvaluateVisitor_closure33, A._EvaluateVisitor_closure34, A._EvaluateVisitor_closure35, A._EvaluateVisitor_closure36, A._EvaluateVisitor_closure37, A._EvaluateVisitor__loadModule__closure3, A._EvaluateVisitor__combineCss_closure3, A._EvaluateVisitor__combineCss_closure4, A._EvaluateVisitor__combineCss_visitModule1, A._EvaluateVisitor__extendModules_closure3, A._EvaluateVisitor__scopeForAtRoot_closure11, A._EvaluateVisitor__scopeForAtRoot_closure12, A._EvaluateVisitor__scopeForAtRoot_closure13, A._EvaluateVisitor__scopeForAtRoot_closure14, A._EvaluateVisitor__scopeForAtRoot_closure15, A._EvaluateVisitor__scopeForAtRoot_closure16, A._EvaluateVisitor_visitEachRule_closure5, A._EvaluateVisitor_visitEachRule_closure6, A._EvaluateVisitor_visitEachRule__closure1, A._EvaluateVisitor_visitEachRule___closure1, A._EvaluateVisitor_visitAtRule_closure5, A._EvaluateVisitor_visitAtRule_closure7, A._EvaluateVisitor_visitForRule__closure1, A._EvaluateVisitor_visitIfRule_closure1, A._EvaluateVisitor_visitIfRule___closure1, A._EvaluateVisitor__visitDynamicImport__closure7, A._EvaluateVisitor__visitDynamicImport__closure8, A._EvaluateVisitor__visitDynamicImport__closure9, A._EvaluateVisitor_visitIncludeRule_closure6, A._EvaluateVisitor_visitMediaRule_closure5, A._EvaluateVisitor_visitMediaRule_closure7, A._EvaluateVisitor_visitStyleRule_closure8, A._EvaluateVisitor_visitStyleRule_closure9, A._EvaluateVisitor__warnForBogusCombinators_closure1, A._EvaluateVisitor_visitSupportsRule_closure4, A._EvaluateVisitor_visitWhileRule__closure1, A._EvaluateVisitor__slash_recommendation1, A._EvaluateVisitor_visitListExpression_closure1, A._EvaluateVisitor_visitFunctionExpression_closure6, A._EvaluateVisitor__checkCalculationArguments_check1, A._EvaluateVisitor__runUserDefinedCallable____closure1, A._EvaluateVisitor__runBuiltInCallable_closure7, A._EvaluateVisitor__evaluateArguments_closure7, A._EvaluateVisitor__evaluateArguments_closure8, A._EvaluateVisitor__evaluateArguments_closure10, A._EvaluateVisitor__evaluateMacroArguments_closure7, A._EvaluateVisitor__evaluateMacroArguments_closure8, A._EvaluateVisitor__evaluateMacroArguments_closure10, A._EvaluateVisitor_visitCssAtRule_closure4, A._EvaluateVisitor_visitCssKeyframeBlock_closure4, A._EvaluateVisitor_visitCssMediaRule_closure5, A._EvaluateVisitor_visitCssMediaRule_closure7, A._EvaluateVisitor_visitCssStyleRule_closure3, A._EvaluateVisitor_visitCssSupportsRule_closure4, A._EvaluateVisitor__performInterpolationHelper_closure1, A._EvaluateVisitor__withoutSlash_recommendation1, A._EvaluateVisitor__stackFrame_closure1, A._ImportedCssVisitor_visitCssAtRule_closure1, A._ImportedCssVisitor_visitCssMediaRule_closure1, A._ImportedCssVisitor_visitCssStyleRule_closure1, A._ImportedCssVisitor_visitCssSupportsRule_closure1, A.EveryCssVisitor_visitCssAtRule_closure0, A.EveryCssVisitor_visitCssKeyframeBlock_closure0, A.EveryCssVisitor_visitCssMediaRule_closure0, A.EveryCssVisitor_visitCssStyleRule_closure0, A.EveryCssVisitor_visitCssStylesheet_closure0, A.EveryCssVisitor_visitCssSupportsRule_closure0, A.exceptionClass__closure, A.exceptionClass__closure0, A.exceptionClass__closure1, A._IsCalculationSafeVisitor_visitListExpression_closure0, A.ExtensionStore_extensionsWhereTarget_closure0, A.ExtensionStore__extendComplex_closure0, A.ExtensionStore__extendComplex__closure0, A.ExtensionStore__extendCompound_closure2, A.ExtensionStore__extendCompound_closure3, A.ExtensionStore__extendCompound_closure4, A.ExtensionStore__extendSimple_withoutPseudo0, A.ExtensionStore__extendSimple_closure1, A.ExtensionStore__extendSimple_closure2, A.ExtensionStore__extendPseudo_closure4, A.ExtensionStore__extendPseudo_closure5, A.ExtensionStore__extendPseudo_closure6, A.ExtensionStore__extendPseudo_closure7, A.ExtensionStore__extendPseudo_closure8, A.ExtensionStore__trim_closure1, A.ExtensionStore__trim_closure2, A.FilesystemImporter_canonicalize_closure0, A.functionClass__closure, A.functionClass__closure0, A.unifyComplex_closure0, A._weaveParents_closure4, A._weaveParents_closure5, A._weaveParents_closure6, A._mustUnify_closure0, A._mustUnify__closure0, A.paths__closure0, A.paths___closure0, A.listIsSuperselector_closure0, A.listIsSuperselector__closure0, A.complexIsSuperselector_closure1, A.complexIsSuperselector_closure2, A._compatibleWithPreviousCombinator_closure0, A.compoundIsSuperselector_closure0, A._selectorPseudoIsSuperselector_closure6, A._selectorPseudoIsSuperselector_closure7, A._selectorPseudoIsSuperselector_closure8, A._selectorPseudoIsSuperselector_closure9, A._selectorPseudoIsSuperselector_closure10, A._selectorPseudoIsSuperselector__closure0, A._selectorPseudoIsSuperselector___closure1, A._selectorPseudoIsSuperselector___closure2, A._selectorPseudoIsSuperselector_closure11, A._selectorPseudoIsSuperselector_closure12, A._selectorPseudoArgs_closure1, A._selectorPseudoArgs_closure2, A.globalFunctions_closure0, A.IDSelector_unify_closure0, A.IfRuleClause$__closure0, A.IfRuleClause$___closure0, A.immutableMapToDartMap_closure, A.NodeImporter__tryPath_closure0, A.ImportCache_humanize_closure3, A.ImportCache_humanize_closure4, A.ImportCache_humanize_closure5, A.ImportCache_humanize_closure6, A.Interpolation_toString_closure0, A.InterpolationMap_mapException_closure0, A._realCasePath_helper0, A._realCasePath_helper__closure0, A.listDir__closure1, A.listDir__closure2, A.listDir_closure_list0, A.listDir__list_closure0, A.render_closure0, A._parseFunctions__closure, A._parseFunctions___closure2, A._parseFunctions__closure0, A._parseFunctions__closure1, A._parseFunctions___closure, A._parseImporter_closure, A._parseImporter__closure, A._parseImporter___closure, A.ListExpression_toString_closure0, A._length_closure2, A._nth_closure0, A._setNth_closure0, A._join_closure0, A._append_closure2, A._zip_closure0, A._zip__closure2, A._zip__closure3, A._zip__closure4, A._index_closure2, A._separator_closure0, A._isBracketed_closure0, A._slash_closure0, A.SelectorList_asSassList_closure0, A.SelectorList_nestWithin_closure0, A.SelectorList_nestWithin__closure1, A.SelectorList_nestWithin__closure2, A.SelectorList__nestWithinCompound_closure2, A.SelectorList__nestWithinCompound_closure3, A.SelectorList__nestWithinCompound_closure4, A.SelectorList_withAdditionalCombinators_closure0, A.listClass__closure, A.legacyListClass_closure, A.legacyListClass__closure, A.legacyListClass_closure1, A.legacyListClass_closure2, A.legacyListClass_closure4, A.SassList_isBlank_closure0, A._get_closure0, A._set_closure1, A._set__closure2, A._set_closure2, A._set__closure1, A._merge_closure1, A._merge_closure2, A._merge__closure0, A._deepMerge_closure0, A._deepRemove_closure0, A._deepRemove__closure0, A._remove_closure1, A._remove_closure2, A._keys_closure0, A._values_closure0, A._hasKey_closure0, A._modify_modifyNestedMap0, A.MapExtensions_get_pairs_closure0, A.mapClass__closure, A.mapClass__closure0, A.legacyMapClass_closure, A.legacyMapClass__closure, A.legacyMapClass__closure0, A.legacyMapClass_closure2, A.legacyMapClass_closure3, A.legacyMapClass_closure4, A.global_closure31, A.module_closure11, A._ceil_closure0, A._clamp_closure0, A._floor_closure0, A._max_closure0, A._min_closure0, A._round_closure0, A._hypot_closure0, A._hypot__closure0, A._log_closure0, A._pow_closure0, A._atan2_closure0, A._compatible_closure0, A._isUnitless_closure0, A._unit_closure0, A._percentage_closure0, A._randomFunction_closure0, A._div_closure0, A._singleArgumentMathFunc_closure0, A._numberFunction_closure0, A.global_closure59, A.global_closure60, A.global_closure61, A.global_closure62, A.local_closure2, A.local_closure3, A.local__closure0, A.local_closure4, A.mixinClass__closure, A.mixinClass__closure0, A.ModifiableCssNode_hasFollowingSibling_closure0, A.NodePackageImporter__nodePackageExportsResolve_closure3, A.NodePackageImporter__nodePackageExportsResolve_closure4, A.NodePackageImporter__nodePackageExportsResolve_closure5, A.NodePackageImporter__nodePackageExportsResolve_closure6, A.NodePackageImporter__nodePackageExportsResolve__closure1, A.NodePackageImporter__nodePackageExportsResolve__closure2, A.NodePackageImporter__getMainExport_closure0, A.legacyNullClass__closure, A.numberClass__closure, A.numberClass__closure0, A.numberClass__closure1, A.numberClass__closure2, A.numberClass__closure3, A.numberClass__closure4, A.numberClass__closure5, A.numberClass__closure6, A.numberClass__closure7, A.numberClass__closure8, A.numberClass__closure9, A.numberClass__closure12, A.numberClass__closure13, A.numberClass__closure14, A.numberClass__closure15, A.numberClass__closure16, A.numberClass__closure17, A.numberClass__closure18, A.numberClass__closure19, A.legacyNumberClass_closure, A.legacyNumberClass_closure0, A.legacyNumberClass_closure2, A._parseNumber_closure, A._parseNumber_closure0, A.SassNumber__coerceOrConvertValue_closure3, A.SassNumber__coerceOrConvertValue_closure5, A.SassNumber_multiplyUnits_closure3, A.SassNumber_multiplyUnits_closure5, A.SassNumber__areAnyConvertible_closure0, A.SassNumber__canonicalizeUnitList_closure0, A.SassNumber_unitSuggestion_closure1, A.SassNumber_unitSuggestion_closure2, A.ParentStatement_closure0, A.ParentStatement__closure0, A.Parser_escape_closure0, A.Parser_scanIdentChar_matches0, A._PrefixedKeys_iterator_closure0, A.PseudoSelector_specificity__closure1, A.PseudoSelector_specificity__closure2, A.PseudoSelector_unify_closure0, A.JSClassExtension_setCustomInspect_closure, A.ReplaceExpressionVisitor_visitListExpression_closure0, A.ReplaceExpressionVisitor_visitArgumentInvocation_closure0, A.ReplaceExpressionVisitor_visitInterpolation_closure0, A.SassParser_styleRuleSelector_closure0, A.SassParser__peekIndentation_closure1, A.SassParser__peekIndentation_closure2, A._wrapMain_closure, A._wrapMain_closure0, A._IsBogusVisitor_visitComplexSelector_closure0, A._IsUselessVisitor_visitComplexSelector_closure0, A._nest_closure0, A._nest__closure1, A._append_closure1, A._append__closure1, A._append___closure0, A._extend_closure0, A._replace_closure0, A._unify_closure0, A._isSuperselector_closure0, A._simpleSelectors_closure0, A._simpleSelectors__closure0, A._parse_closure0, A.SelectorSearchVisitor_visitComplexSelector_closure0, A.SelectorSearchVisitor_visitCompoundSelector_closure0, A.serialize_closure0, A._SerializeVisitor_visitList_closure2, A._SerializeVisitor_visitList_closure3, A._SerializeVisitor_visitList_closure4, A._SerializeVisitor_visitMap_closure0, A._SerializeVisitor_visitSelectorList_closure0, A.SimpleSelector_isSuperselector_closure0, A.SimpleSelector_isSuperselector__closure0, A.SingleUnitSassNumber__coerceToUnit_closure0, A.SingleUnitSassNumber__coerceValueToUnit_closure0, A.SingleUnitSassNumber_multiplyUnits_closure1, A.SourceMapBuffer_buildSourceMap_closure0, A.updateSourceSpanPrototype_closure0, A.updateSourceSpanPrototype_closure1, A.updateSourceSpanPrototype_closure2, A.updateSourceSpanPrototype_closure3, A.updateSourceSpanPrototype_closure4, A.updateSourceSpanPrototype_closure5, A.updateSourceSpanPrototype_closure6, A.StatementSearchVisitor_visitIfRule_closure1, A.StatementSearchVisitor_visitIfRule__closure2, A.StatementSearchVisitor_visitIfRule_closure2, A.StatementSearchVisitor_visitIfRule__closure1, A.StatementSearchVisitor_visitChildren_closure0, A.module_closure10, A.module__closure2, A.module__closure3, A._unquote_closure0, A._quote_closure0, A._length_closure1, A._insert_closure0, A._index_closure1, A._slice_closure0, A._toUpperCase_closure0, A._toLowerCase_closure0, A._uniqueId_closure0, A.stringClass__closure, A.stringClass__closure0, A.stringClass__closure1, A.stringClass__closure2, A.stringClass__closure3, A.legacyStringClass_closure, A.legacyStringClass_closure0, A.StylesheetParser_parse__closure2, A.StylesheetParser__expression_addSingleExpression0, A.StylesheetParser__expression_addOperator0, A.StylesheetParser__isHexColor_closure0, A.StylesheetParser__unicodeRange_closure1, A.StylesheetParser__unicodeRange_closure2, A.StylesheetParser_trySpecialFunction_closure0, A._UnprefixedKeys_iterator_closure1, A._UnprefixedKeys_iterator_closure2, A._exactlyOne_closure0, A.futureToPromise__closure0, A.indent_closure0, A.flattenVertically_closure1, A.flattenVertically_closure2, A.valueClass__closure, A.valueClass__closure0, A.valueClass__closure1, A.valueClass__closure2, A.valueClass__closure3, A.valueClass__closure4, A.valueClass__closure5, A.valueClass__closure7, A.valueClass__closure8, A.valueClass__closure9, A.valueClass__closure10, A.valueClass__closure11, A.valueClass__closure12, A.valueClass__closure13, A.valueClass__closure14, A.valueClass__closure15, A.valueClass__closure17, A.valueClass__closure18]);
    _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A.Future_wait_handleError, A._Future__chainForeignFuture_closure0, A.Stream_Stream$fromFuture_closure0, A._AddStreamState_makeErrorHandler_closure, A._HashMap_addAll_closure, A.HashMap_HashMap$from_closure, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_addAll_closure, A.MapBase_mapToString_closure, A._JsonMap_addAll_closure, A._JsonStringifier_writeMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.Parser_parse_closure, A.FutureGroup_add_closure0, A.StreamQueue__ensureListening_closure1, A.futureToPromise_closure, A.PathMap__create_closure, A.IfRule_toString_closure, A.ComplexSelector_specificity_closure, A.CompoundSelector_specificity_closure, A.ExtensionStore_clone_closure, A._weaveParents_closure, A.paths_closure, A._updateComponents_updateRgb, A._nest__closure0, A._append__closure0, A.ImportCache_clearCanonicalize_closure, A.StylesheetParser__styleRule_closure, A.StylesheetParser__tryDeclarationChildren_closure, A.StylesheetParser__atRootRule_closure, A.StylesheetParser__atRootRule_closure0, A.StylesheetParser__eachRule_closure, A.StylesheetParser__functionRule_closure, A.StylesheetParser__forRule_closure0, A.StylesheetParser__includeRule_closure, A.StylesheetParser_mediaRule_closure, A.StylesheetParser__mixinRule_closure, A.StylesheetParser_mozDocumentRule_closure, A.StylesheetParser_supportsRule_closure, A.StylesheetParser__whileRule_closure, A.StylesheetParser_unknownAtRule_closure, A.longestCommonSubsequence_backtrack, A.mapAddAll2_closure, A.SassNumber_plus_closure, A.SassNumber_minus_closure, A.SassNumber__canonicalMultiplier_closure, A._EvaluateVisitor__closure3, A._EvaluateVisitor__closure4, A._EvaluateVisitor_visitForwardRule_closure1, A._EvaluateVisitor_visitForwardRule_closure2, A._EvaluateVisitor_visitUseRule_closure0, A._EvaluateVisitor__evaluateArguments_closure5, A._EvaluateVisitor__evaluateMacroArguments_closure5, A._EvaluateVisitor__addRestMap_closure0, A._EvaluateVisitor__closure, A._EvaluateVisitor__closure0, A._EvaluateVisitor_visitForwardRule_closure, A._EvaluateVisitor_visitForwardRule_closure0, A._EvaluateVisitor_visitUseRule_closure, A._EvaluateVisitor__evaluateArguments_closure1, A._EvaluateVisitor__evaluateMacroArguments_closure1, A._EvaluateVisitor__addRestMap_closure, A.SingleMapping_toJson_closure0, A.Highlighter__collateLines_closure0, A.Frame_Frame$parseV8_closure_parseLocation, A.TransformByHandlers_transformByHandlers__closure1, A.RateLimit__debounceAggregate_closure, A._EvaluateVisitor__closure11, A._EvaluateVisitor__closure12, A._EvaluateVisitor_visitForwardRule_closure5, A._EvaluateVisitor_visitForwardRule_closure6, A._EvaluateVisitor_visitUseRule_closure2, A._EvaluateVisitor__evaluateArguments_closure13, A._EvaluateVisitor__evaluateMacroArguments_closure13, A._EvaluateVisitor__addRestMap_closure2, A.calculationOperationClass__closure0, A.calculationInterpolationClass__closure, A.calculationInterpolationClass__closure0, A._updateComponents_updateRgb0, A.colorClass__closure, A.colorClass__closure0, A.legacyColorClass_closure4, A.legacyColorClass_closure5, A.legacyColorClass_closure6, A.legacyColorClass_closure7, A._parseFunctions_closure0, A.ComplexSelector_specificity_closure0, A.CompoundSelector_specificity_closure0, A._EvaluateVisitor__closure7, A._EvaluateVisitor__closure8, A._EvaluateVisitor_visitForwardRule_closure3, A._EvaluateVisitor_visitForwardRule_closure4, A._EvaluateVisitor_visitUseRule_closure1, A._EvaluateVisitor__evaluateArguments_closure9, A._EvaluateVisitor__evaluateMacroArguments_closure9, A._EvaluateVisitor__addRestMap_closure1, A.ExtensionStore_clone_closure0, A._weaveParents_closure3, A.paths_closure0, A.IfRule_toString_closure0, A.main_closure, A.main_closure0, A.render_closure1, A._parseFunctions_closure, A.listClass__closure0, A.legacyListClass_closure0, A.legacyListClass_closure3, A.mapClass__closure1, A.legacyMapClass_closure0, A.legacyMapClass_closure1, A.numberClass__closure10, A.numberClass__closure11, A.legacyNumberClass_closure1, A.legacyNumberClass_closure3, A.SassNumber_plus_closure0, A.SassNumber_minus_closure0, A.SassNumber__canonicalMultiplier_closure0, A.JSClassExtension_get_defineStaticMethod_closure, A.JSClassExtension_get_defineMethod_closure, A.JSClassExtension_get_defineGetter_closure, A._nest__closure2, A._append__closure2, A.legacyStringClass_closure1, A.StylesheetParser__styleRule_closure0, A.StylesheetParser__tryDeclarationChildren_closure0, A.StylesheetParser__atRootRule_closure1, A.StylesheetParser__atRootRule_closure2, A.StylesheetParser__eachRule_closure0, A.StylesheetParser__functionRule_closure0, A.StylesheetParser__forRule_closure2, A.StylesheetParser__includeRule_closure0, A.StylesheetParser_mediaRule_closure0, A.StylesheetParser__mixinRule_closure0, A.StylesheetParser_mozDocumentRule_closure0, A.StylesheetParser_supportsRule_closure0, A.StylesheetParser__whileRule_closure0, A.StylesheetParser_unknownAtRule_closure0, A.futureToPromise_closure0, A.futureToPromise__closure1, A.objectToMap_closure, A.longestCommonSubsequence_backtrack0, A.mapAddAll2_closure0, A.valueClass__closure6, A.valueClass__closure16]);
    _inherit(A.CastList, A._CastListBase);
    _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A.UnmodifiableMapBase, A._JsonMap, A.MergedMapView, A.MergedMapView0]);
    _inheritMany(A.Error, [A.LateError, A.ReachabilityError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A._Error, A.JsonUnsupportedObjectError, A.AssertionError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError]);
    _inherit(A.UnmodifiableListBase, A.ListBase);
    _inheritMany(A.UnmodifiableListBase, [A.CodeUnits, A.UnmodifiableListView]);
    _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A.Stream_length_closure0, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._AddStreamState_cancel_closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_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.Parser__setOption_closure, A.StreamGroup_add_closure, A.StreamGroup_add_closure0, A.StreamGroup__listenToStream_closure, A.StreamQueue__ensureListening_closure0, A._isStrictMode_closure, A.ReplAdapter_runAsync_closure, A.ParsedPath__splitExtension_closure0, A.PseudoSelector_specificity_closure, A.AsyncEnvironment_setVariable_closure, A.AsyncEnvironment_setVariable_closure1, A.AsyncImportCache_canonicalize_closure, A.AsyncImportCache__canonicalize_closure, A.AsyncImportCache_importCanonical_closure, A.Environment_setVariable_closure, A.Environment_setVariable_closure1, A.ExecutableOptions__parser_closure, A.ExecutableOptions_interactive_closure, A.ExecutableOptions_fatalDeprecations_closure, A.ExtensionStore__registerSelector_closure, A.ExtensionStore_addExtension_closure, A.ExtensionStore_addExtension_closure0, A.ExtensionStore_addExtension_closure1, A.ExtensionStore__extendExistingExtensions_closure, A.ExtensionStore__extendExistingExtensions_closure0, A.ExtensionStore_addExtensions_closure, A.ImportCache_canonicalize_closure, A.ImportCache__canonicalize_closure, A.ImportCache_importCanonical_closure, A.resolveImportPath_closure, A.resolveImportPath_closure0, A._tryPathAsDirectory_closure, A._realCasePath_helper_closure, A._readFile_closure, A.writeFile_closure, A.deleteFile_closure, A.fileExists_closure, A.dirExists_closure, A.ensureDir_closure, A.listDir_closure, A.modificationTime_closure, A.watchDir_closure3, A.watchDir__closure, A.AtRootQueryParser_parse_closure, A.KeyframeSelectorParser_parse_closure, A.MediaQueryParser_parse_closure, A.Parser__parseIdentifier_closure, A.Parser_spanFrom_closure, A.SassParser_children_closure, A.SelectorParser_parse_closure, A.SelectorParser_parseCompoundSelector_closure, A.StylesheetParser_parse_closure, A.StylesheetParser_parse__closure, A.StylesheetParser_parseArgumentDeclaration_closure, A.StylesheetParser_parseVariableDeclaration_closure, A.StylesheetParser_parseUseRule_closure, A.StylesheetParser__parseSingleProduction_closure, A.StylesheetParser__statement_closure, A.StylesheetParser_variableDeclarationWithoutNamespace_closure, A.StylesheetParser_variableDeclarationWithoutNamespace_closure0, A.StylesheetParser__forRule_closure, A.StylesheetParser__memberList_closure, A.StylesheetParser__expression_resetState, A.StylesheetParser__expression_resolveOneOperation, A.StylesheetParser__expression_resolveOperations, A.StylesheetParser__expression_resolveSpaceExpressions, A.StylesheetParser_expressionUntilComma_closure, A.StylesheetParser_namespacedExpression_closure, A.StylesheetParser__expressionUntilComparison_closure, A.StylesheetParser__publicIdentifier_closure, A.StylesheetGraph_modifiedSince_transitiveModificationTime_closure, A.StylesheetGraph__add_closure, A.StylesheetGraph_addCanonical_closure, A.StylesheetGraph_reload_closure, A.StylesheetGraph__nodeFor_closure, A.StylesheetGraph__nodeFor_closure0, A.SassNumber__coerceOrConvertValue_compatibilityException, A.SassNumber__coerceOrConvertValue_closure0, A.SassNumber__coerceOrConvertValue_closure2, A.SassNumber_multiplyUnits_closure0, A.SassNumber_multiplyUnits_closure2, A.SingleUnitSassNumber_multiplyUnits_closure0, A._EvaluateVisitor__closure6, A._EvaluateVisitor__closure5, A._EvaluateVisitor_run_closure0, A._EvaluateVisitor_run__closure0, A._EvaluateVisitor__loadModule_closure1, A._EvaluateVisitor__loadModule_closure2, A._EvaluateVisitor__loadModule__closure2, A._EvaluateVisitor__execute_closure0, A._EvaluateVisitor__extendModules_closure2, A._EvaluateVisitor_visitAtRootRule_closure1, A._EvaluateVisitor_visitAtRootRule_closure2, A._EvaluateVisitor__scopeForAtRoot__closure0, A._EvaluateVisitor_visitContentRule_closure0, A._EvaluateVisitor_visitDeclaration_closure0, A._EvaluateVisitor_visitEachRule_closure4, A._EvaluateVisitor_visitAtRule_closure3, A._EvaluateVisitor_visitAtRule__closure0, A._EvaluateVisitor_visitForRule_closure4, A._EvaluateVisitor_visitForRule_closure5, A._EvaluateVisitor_visitForRule_closure6, A._EvaluateVisitor_visitForRule_closure7, A._EvaluateVisitor_visitForRule_closure8, A._EvaluateVisitor__registerCommentsForModule_closure0, A._EvaluateVisitor_visitIfRule__closure0, A._EvaluateVisitor__visitDynamicImport_closure0, A._EvaluateVisitor__visitDynamicImport__closure6, A._EvaluateVisitor__applyMixin_closure1, A._EvaluateVisitor__applyMixin__closure2, A._EvaluateVisitor__applyMixin_closure2, A._EvaluateVisitor__applyMixin__closure1, A._EvaluateVisitor__applyMixin___closure0, A._EvaluateVisitor__applyMixin____closure0, A._EvaluateVisitor_visitIncludeRule_closure2, A._EvaluateVisitor_visitIncludeRule_closure4, A._EvaluateVisitor_visitMediaRule_closure3, A._EvaluateVisitor_visitMediaRule__closure0, A._EvaluateVisitor_visitMediaRule___closure0, A._EvaluateVisitor_visitStyleRule_closure3, A._EvaluateVisitor_visitStyleRule_closure6, A._EvaluateVisitor_visitStyleRule__closure0, A._EvaluateVisitor_visitSupportsRule_closure1, A._EvaluateVisitor_visitSupportsRule__closure0, A._EvaluateVisitor__visitSupportsCondition_closure0, A._EvaluateVisitor_visitVariableDeclaration_closure2, A._EvaluateVisitor_visitVariableDeclaration_closure3, A._EvaluateVisitor_visitVariableDeclaration_closure4, A._EvaluateVisitor_visitWarnRule_closure0, A._EvaluateVisitor_visitWhileRule_closure0, A._EvaluateVisitor_visitBinaryOperationExpression_closure0, A._EvaluateVisitor_visitVariableExpression_closure0, A._EvaluateVisitor_visitUnaryOperationExpression_closure0, A._EvaluateVisitor_visitFunctionExpression_closure2, A._EvaluateVisitor_visitFunctionExpression_closure4, A._EvaluateVisitor__visitCalculationExpression_closure0, A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure0, A._EvaluateVisitor__runUserDefinedCallable_closure0, A._EvaluateVisitor__runUserDefinedCallable__closure0, A._EvaluateVisitor__runUserDefinedCallable___closure0, A._EvaluateVisitor__runFunctionCallable_closure0, A._EvaluateVisitor__runBuiltInCallable_closure2, A._EvaluateVisitor__runBuiltInCallable_closure3, A._EvaluateVisitor__verifyArguments_closure0, A._EvaluateVisitor_visitCssAtRule_closure1, A._EvaluateVisitor_visitCssKeyframeBlock_closure1, A._EvaluateVisitor_visitCssMediaRule_closure3, A._EvaluateVisitor_visitCssMediaRule__closure0, A._EvaluateVisitor_visitCssMediaRule___closure0, A._EvaluateVisitor_visitCssStyleRule_closure2, A._EvaluateVisitor_visitCssStyleRule__closure0, A._EvaluateVisitor_visitCssSupportsRule_closure1, A._EvaluateVisitor_visitCssSupportsRule__closure0, A._EvaluateVisitor__serialize_closure0, A._EvaluateVisitor__expressionNode_closure0, A._EvaluateVisitor__closure2, A._EvaluateVisitor__closure1, A._EvaluateVisitor_run_closure, A._EvaluateVisitor_run__closure, A._EvaluateVisitor_runExpression_closure, A._EvaluateVisitor_runExpression__closure, A._EvaluateVisitor_runExpression___closure, A._EvaluateVisitor_runStatement_closure, A._EvaluateVisitor_runStatement__closure, A._EvaluateVisitor_runStatement___closure, A._EvaluateVisitor__loadModule_closure, A._EvaluateVisitor__loadModule_closure0, A._EvaluateVisitor__loadModule__closure0, A._EvaluateVisitor__execute_closure, A._EvaluateVisitor__extendModules_closure0, A._EvaluateVisitor_visitAtRootRule_closure, A._EvaluateVisitor_visitAtRootRule_closure0, A._EvaluateVisitor__scopeForAtRoot__closure, A._EvaluateVisitor_visitContentRule_closure, A._EvaluateVisitor_visitDeclaration_closure, A._EvaluateVisitor_visitEachRule_closure1, A._EvaluateVisitor_visitAtRule_closure0, A._EvaluateVisitor_visitAtRule__closure, A._EvaluateVisitor_visitForRule_closure, A._EvaluateVisitor_visitForRule_closure0, A._EvaluateVisitor_visitForRule_closure1, A._EvaluateVisitor_visitForRule_closure2, A._EvaluateVisitor_visitForRule_closure3, A._EvaluateVisitor__registerCommentsForModule_closure, A._EvaluateVisitor_visitIfRule__closure, A._EvaluateVisitor__visitDynamicImport_closure, A._EvaluateVisitor__visitDynamicImport__closure2, A._EvaluateVisitor__applyMixin_closure, A._EvaluateVisitor__applyMixin__closure0, A._EvaluateVisitor__applyMixin_closure0, A._EvaluateVisitor__applyMixin__closure, A._EvaluateVisitor__applyMixin___closure, A._EvaluateVisitor__applyMixin____closure, A._EvaluateVisitor_visitIncludeRule_closure, A._EvaluateVisitor_visitIncludeRule_closure1, A._EvaluateVisitor_visitMediaRule_closure0, A._EvaluateVisitor_visitMediaRule__closure, A._EvaluateVisitor_visitMediaRule___closure, A._EvaluateVisitor_visitStyleRule_closure, A._EvaluateVisitor_visitStyleRule_closure2, A._EvaluateVisitor_visitStyleRule__closure, A._EvaluateVisitor_visitSupportsRule_closure, A._EvaluateVisitor_visitSupportsRule__closure, A._EvaluateVisitor__visitSupportsCondition_closure, A._EvaluateVisitor_visitVariableDeclaration_closure, A._EvaluateVisitor_visitVariableDeclaration_closure0, A._EvaluateVisitor_visitVariableDeclaration_closure1, A._EvaluateVisitor_visitWarnRule_closure, A._EvaluateVisitor_visitWhileRule_closure, A._EvaluateVisitor_visitBinaryOperationExpression_closure, A._EvaluateVisitor_visitVariableExpression_closure, A._EvaluateVisitor_visitUnaryOperationExpression_closure, A._EvaluateVisitor_visitFunctionExpression_closure, A._EvaluateVisitor_visitFunctionExpression_closure1, A._EvaluateVisitor__visitCalculationExpression_closure, A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure, A._EvaluateVisitor__runUserDefinedCallable_closure, A._EvaluateVisitor__runUserDefinedCallable__closure, A._EvaluateVisitor__runUserDefinedCallable___closure, A._EvaluateVisitor__runFunctionCallable_closure, A._EvaluateVisitor__runBuiltInCallable_closure, A._EvaluateVisitor__runBuiltInCallable_closure0, A._EvaluateVisitor__verifyArguments_closure, A._EvaluateVisitor_visitCssAtRule_closure, A._EvaluateVisitor_visitCssKeyframeBlock_closure, A._EvaluateVisitor_visitCssMediaRule_closure0, A._EvaluateVisitor_visitCssMediaRule__closure, A._EvaluateVisitor_visitCssMediaRule___closure, A._EvaluateVisitor_visitCssStyleRule_closure0, A._EvaluateVisitor_visitCssStyleRule__closure, A._EvaluateVisitor_visitCssSupportsRule_closure, A._EvaluateVisitor_visitCssSupportsRule__closure, A._EvaluateVisitor__serialize_closure, A._EvaluateVisitor__expressionNode_closure, A._SerializeVisitor_visitCssComment_closure, A._SerializeVisitor_visitCssAtRule_closure, A._SerializeVisitor_visitCssMediaRule_closure, A._SerializeVisitor_visitCssImport_closure, A._SerializeVisitor_visitCssImport__closure, A._SerializeVisitor_visitCssKeyframeBlock_closure, A._SerializeVisitor_visitCssStyleRule_closure, A._SerializeVisitor_visitCssSupportsRule_closure, A._SerializeVisitor_visitCssDeclaration_closure, A._SerializeVisitor_visitCssDeclaration_closure0, A._SerializeVisitor__write_closure, A._SerializeVisitor__visitChildren_closure, A._SerializeVisitor__visitChildren_closure0, A.SingleMapping_SingleMapping$fromEntries_closure, A.SingleMapping_SingleMapping$fromEntries_closure0, A.Highlighter_closure, A.Highlighter__writeFileStart_closure, A.Highlighter__writeMultilineHighlights_closure, A.Highlighter__writeMultilineHighlights_closure0, A.Highlighter__writeMultilineHighlights_closure1, A.Highlighter__writeMultilineHighlights_closure2, A.Highlighter__writeMultilineHighlights__closure, A.Highlighter__writeMultilineHighlights__closure0, A.Highlighter__writeHighlightedText_closure, A.Highlighter__writeIndicator_closure, A.Highlighter__writeIndicator_closure0, A.Highlighter__writeIndicator_closure1, A.Highlighter__writeLabel_closure, A.Highlighter__writeLabel_closure0, A.Highlighter__writeSidebar_closure, A._Highlight_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.LazyTrace_terse_closure, A.Trace_Trace$from_closure, A.TransformByHandlers_transformByHandlers_closure, A.TransformByHandlers_transformByHandlers__closure0, A.TransformByHandlers_transformByHandlers__closure2, A.RateLimit__debounceAggregate_closure_emit, A.RateLimit__debounceAggregate__closure, A.argumentListClass_closure, A.JSToDartAsyncImporter_canonicalize_closure, A.JSToDartAsyncImporter_load_closure, A.AsyncEnvironment_setVariable_closure2, A.AsyncEnvironment_setVariable_closure4, A._EvaluateVisitor__closure14, A._EvaluateVisitor__closure13, A._EvaluateVisitor_run_closure2, A._EvaluateVisitor_run__closure2, A._EvaluateVisitor__loadModule_closure5, A._EvaluateVisitor__loadModule_closure6, A._EvaluateVisitor__loadModule__closure6, A._EvaluateVisitor__execute_closure2, A._EvaluateVisitor__extendModules_closure6, A._EvaluateVisitor_visitAtRootRule_closure5, A._EvaluateVisitor_visitAtRootRule_closure6, A._EvaluateVisitor__scopeForAtRoot__closure2, A._EvaluateVisitor_visitContentRule_closure2, A._EvaluateVisitor_visitDeclaration_closure2, A._EvaluateVisitor_visitEachRule_closure10, A._EvaluateVisitor_visitAtRule_closure9, A._EvaluateVisitor_visitAtRule__closure2, A._EvaluateVisitor_visitForRule_closure14, A._EvaluateVisitor_visitForRule_closure15, A._EvaluateVisitor_visitForRule_closure16, A._EvaluateVisitor_visitForRule_closure17, A._EvaluateVisitor_visitForRule_closure18, A._EvaluateVisitor__registerCommentsForModule_closure2, A._EvaluateVisitor_visitIfRule__closure2, A._EvaluateVisitor__visitDynamicImport_closure2, A._EvaluateVisitor__visitDynamicImport__closure14, A._EvaluateVisitor__applyMixin_closure5, A._EvaluateVisitor__applyMixin__closure6, A._EvaluateVisitor__applyMixin_closure6, A._EvaluateVisitor__applyMixin__closure5, A._EvaluateVisitor__applyMixin___closure2, A._EvaluateVisitor__applyMixin____closure2, A._EvaluateVisitor_visitIncludeRule_closure8, A._EvaluateVisitor_visitIncludeRule_closure10, A._EvaluateVisitor_visitMediaRule_closure9, A._EvaluateVisitor_visitMediaRule__closure2, A._EvaluateVisitor_visitMediaRule___closure2, A._EvaluateVisitor_visitStyleRule_closure11, A._EvaluateVisitor_visitStyleRule_closure14, A._EvaluateVisitor_visitStyleRule__closure2, A._EvaluateVisitor_visitSupportsRule_closure5, A._EvaluateVisitor_visitSupportsRule__closure2, A._EvaluateVisitor__visitSupportsCondition_closure2, A._EvaluateVisitor_visitVariableDeclaration_closure8, A._EvaluateVisitor_visitVariableDeclaration_closure9, A._EvaluateVisitor_visitVariableDeclaration_closure10, A._EvaluateVisitor_visitWarnRule_closure2, A._EvaluateVisitor_visitWhileRule_closure2, A._EvaluateVisitor_visitBinaryOperationExpression_closure2, A._EvaluateVisitor_visitVariableExpression_closure2, A._EvaluateVisitor_visitUnaryOperationExpression_closure2, A._EvaluateVisitor_visitFunctionExpression_closure8, A._EvaluateVisitor_visitFunctionExpression_closure10, A._EvaluateVisitor__visitCalculationExpression_closure2, A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure2, A._EvaluateVisitor__runUserDefinedCallable_closure2, A._EvaluateVisitor__runUserDefinedCallable__closure2, A._EvaluateVisitor__runUserDefinedCallable___closure2, A._EvaluateVisitor__runFunctionCallable_closure2, A._EvaluateVisitor__runBuiltInCallable_closure8, A._EvaluateVisitor__runBuiltInCallable_closure9, A._EvaluateVisitor__verifyArguments_closure2, A._EvaluateVisitor_visitCssAtRule_closure5, A._EvaluateVisitor_visitCssKeyframeBlock_closure5, A._EvaluateVisitor_visitCssMediaRule_closure9, A._EvaluateVisitor_visitCssMediaRule__closure2, A._EvaluateVisitor_visitCssMediaRule___closure2, A._EvaluateVisitor_visitCssStyleRule_closure6, A._EvaluateVisitor_visitCssStyleRule__closure2, A._EvaluateVisitor_visitCssSupportsRule_closure5, A._EvaluateVisitor_visitCssSupportsRule__closure2, A._EvaluateVisitor__serialize_closure2, A._EvaluateVisitor__expressionNode_closure2, A.JSToDartAsyncFileImporter_canonicalize_closure, A.AsyncImportCache_canonicalize_closure0, A.AsyncImportCache__canonicalize_closure0, A.AsyncImportCache_importCanonical_closure0, A.AtRootQueryParser_parse_closure0, A.booleanClass_closure, A.legacyBooleanClass_closure, A.calculationClass_closure, A.calculationOperationClass_closure, A.calculationInterpolationClass_closure, A.colorClass_closure, A.compileAsync_closure, A.compileStringAsync_closure, A._parseFunctions___closure6, A._parseFunctions___closure5, A._parseDeprecations_closure, A.nodePackageImporterClass_closure, A.compilerClass_closure, A.asyncCompilerClass_closure, A.asyncCompilerClass___closure, A.initAsyncCompiler_closure, A.deprecations_closure, A.versionClass_closure, A.Environment_setVariable_closure2, A.Environment_setVariable_closure4, A._EvaluateVisitor__closure10, A._EvaluateVisitor__closure9, A._EvaluateVisitor_run_closure1, A._EvaluateVisitor_run__closure1, A._EvaluateVisitor__loadModule_closure3, A._EvaluateVisitor__loadModule_closure4, A._EvaluateVisitor__loadModule__closure4, A._EvaluateVisitor__execute_closure1, A._EvaluateVisitor__extendModules_closure4, A._EvaluateVisitor_visitAtRootRule_closure3, A._EvaluateVisitor_visitAtRootRule_closure4, A._EvaluateVisitor__scopeForAtRoot__closure1, A._EvaluateVisitor_visitContentRule_closure1, A._EvaluateVisitor_visitDeclaration_closure1, A._EvaluateVisitor_visitEachRule_closure7, A._EvaluateVisitor_visitAtRule_closure6, A._EvaluateVisitor_visitAtRule__closure1, A._EvaluateVisitor_visitForRule_closure9, A._EvaluateVisitor_visitForRule_closure10, A._EvaluateVisitor_visitForRule_closure11, A._EvaluateVisitor_visitForRule_closure12, A._EvaluateVisitor_visitForRule_closure13, A._EvaluateVisitor__registerCommentsForModule_closure1, A._EvaluateVisitor_visitIfRule__closure1, A._EvaluateVisitor__visitDynamicImport_closure1, A._EvaluateVisitor__visitDynamicImport__closure10, A._EvaluateVisitor__applyMixin_closure3, A._EvaluateVisitor__applyMixin__closure4, A._EvaluateVisitor__applyMixin_closure4, A._EvaluateVisitor__applyMixin__closure3, A._EvaluateVisitor__applyMixin___closure1, A._EvaluateVisitor__applyMixin____closure1, A._EvaluateVisitor_visitIncludeRule_closure5, A._EvaluateVisitor_visitIncludeRule_closure7, A._EvaluateVisitor_visitMediaRule_closure6, A._EvaluateVisitor_visitMediaRule__closure1, A._EvaluateVisitor_visitMediaRule___closure1, A._EvaluateVisitor_visitStyleRule_closure7, A._EvaluateVisitor_visitStyleRule_closure10, A._EvaluateVisitor_visitStyleRule__closure1, A._EvaluateVisitor_visitSupportsRule_closure3, A._EvaluateVisitor_visitSupportsRule__closure1, A._EvaluateVisitor__visitSupportsCondition_closure1, A._EvaluateVisitor_visitVariableDeclaration_closure5, A._EvaluateVisitor_visitVariableDeclaration_closure6, A._EvaluateVisitor_visitVariableDeclaration_closure7, A._EvaluateVisitor_visitWarnRule_closure1, A._EvaluateVisitor_visitWhileRule_closure1, A._EvaluateVisitor_visitBinaryOperationExpression_closure1, A._EvaluateVisitor_visitVariableExpression_closure1, A._EvaluateVisitor_visitUnaryOperationExpression_closure1, A._EvaluateVisitor_visitFunctionExpression_closure5, A._EvaluateVisitor_visitFunctionExpression_closure7, A._EvaluateVisitor__visitCalculationExpression_closure1, A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure1, A._EvaluateVisitor__runUserDefinedCallable_closure1, A._EvaluateVisitor__runUserDefinedCallable__closure1, A._EvaluateVisitor__runUserDefinedCallable___closure1, A._EvaluateVisitor__runFunctionCallable_closure1, A._EvaluateVisitor__runBuiltInCallable_closure5, A._EvaluateVisitor__runBuiltInCallable_closure6, A._EvaluateVisitor__verifyArguments_closure1, A._EvaluateVisitor_visitCssAtRule_closure3, A._EvaluateVisitor_visitCssKeyframeBlock_closure3, A._EvaluateVisitor_visitCssMediaRule_closure6, A._EvaluateVisitor_visitCssMediaRule__closure1, A._EvaluateVisitor_visitCssMediaRule___closure1, A._EvaluateVisitor_visitCssStyleRule_closure4, A._EvaluateVisitor_visitCssStyleRule__closure1, A._EvaluateVisitor_visitCssSupportsRule_closure3, A._EvaluateVisitor_visitCssSupportsRule__closure1, A._EvaluateVisitor__serialize_closure1, A._EvaluateVisitor__expressionNode_closure1, A.exceptionClass_closure, A.ExtensionStore__registerSelector_closure0, A.ExtensionStore_addExtension_closure2, A.ExtensionStore_addExtension_closure3, A.ExtensionStore_addExtension_closure4, A.ExtensionStore__extendExistingExtensions_closure1, A.ExtensionStore__extendExistingExtensions_closure2, A.ExtensionStore_addExtensions_closure0, A.JSToDartFileImporter_canonicalize_closure, A.functionClass_closure, A.NodeImporter_load_closure, A.NodeImporter__tryPath_closure, A.NodeImporter__callImporterAsync_closure, A.ImportCache_canonicalize_closure0, A.ImportCache__canonicalize_closure0, A.ImportCache_importCanonical_closure0, A._realCasePath_helper_closure0, A._readFile_closure0, A.fileExists_closure0, A.dirExists_closure0, A.listDir_closure0, A.JSToDartLogger_internalWarn_closure, A.JSToDartLogger_debug_closure, A.KeyframeSelectorParser_parse_closure0, A.render_closure, A._parseFunctions____closure, A._parseFunctions___closure3, A._parseFunctions___closure4, A._parseFunctions___closure1, A._parseFunctions___closure0, A._parseImporter____closure, A._parseImporter___closure0, A.listClass_closure, A.mapClass_closure, A.MediaQueryParser_parse_closure0, A.mixinClass_closure, A.legacyNullClass_closure, A.numberClass_closure, A.SassNumber__coerceOrConvertValue_compatibilityException0, A.SassNumber__coerceOrConvertValue_closure4, A.SassNumber__coerceOrConvertValue_closure6, A.SassNumber_multiplyUnits_closure4, A.SassNumber_multiplyUnits_closure6, A.Parser__parseIdentifier_closure0, A.Parser_spanFrom_closure0, A.PseudoSelector_specificity_closure0, A.SassParser_children_closure0, A.SelectorParser_parse_closure0, A.SelectorParser_parseCompoundSelector_closure0, A._SerializeVisitor_visitCssComment_closure0, A._SerializeVisitor_visitCssAtRule_closure0, A._SerializeVisitor_visitCssMediaRule_closure0, A._SerializeVisitor_visitCssImport_closure0, A._SerializeVisitor_visitCssImport__closure0, A._SerializeVisitor_visitCssKeyframeBlock_closure0, A._SerializeVisitor_visitCssStyleRule_closure0, A._SerializeVisitor_visitCssSupportsRule_closure0, A._SerializeVisitor_visitCssDeclaration_closure1, A._SerializeVisitor_visitCssDeclaration_closure2, A._SerializeVisitor__write_closure0, A._SerializeVisitor__visitChildren_closure1, A._SerializeVisitor__visitChildren_closure2, A.SingleUnitSassNumber_multiplyUnits_closure2, A.updateSourceSpanPrototype_closure, A.stringClass_closure, A.StylesheetParser_parse_closure0, A.StylesheetParser_parse__closure1, A.StylesheetParser_parseArgumentDeclaration_closure0, A.StylesheetParser__parseSingleProduction_closure0, A.StylesheetParser_parseSignature_closure, A.StylesheetParser__statement_closure0, A.StylesheetParser_variableDeclarationWithoutNamespace_closure1, A.StylesheetParser_variableDeclarationWithoutNamespace_closure2, A.StylesheetParser__forRule_closure1, A.StylesheetParser__memberList_closure0, A.StylesheetParser__expression_resetState0, A.StylesheetParser__expression_resolveOneOperation0, A.StylesheetParser__expression_resolveOperations0, A.StylesheetParser__expression_resolveSpaceExpressions0, A.StylesheetParser_expressionUntilComma_closure0, A.StylesheetParser_namespacedExpression_closure0, A.StylesheetParser__expressionUntilComparison_closure0, A.StylesheetParser__publicIdentifier_closure0, A.JSToDartImporter_canonicalize_closure, A.JSToDartImporter_load_closure, A.resolveImportPath_closure1, A.resolveImportPath_closure2, A._tryPathAsDirectory_closure0, A.valueClass_closure]);
    _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable, A._MapBaseValueIterable]);
    _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable, A.ListQueue, A._JsonMapKeyIterable, A._GeneratorIterable]);
    _inherit(A.EfficientLengthMappedIterable, A.MappedIterable);
    _inherit(A.EfficientLengthTakeIterable, A.TakeIterable);
    _inherit(A.EfficientLengthSkipIterable, A.SkipIterable);
    _inherit(A.EfficientLengthFollowedByIterable, A.FollowedByIterable);
    _inheritMany(A._Record, [A._Record1, A._Record2, A._Record3, A._RecordN]);
    _inherit(A._Record_1, A._Record1);
    _inheritMany(A._Record2, [A._Record_2, A._Record_2_forImport, A._Record_2_imports_modules, A._Record_2_loadedUrls_stylesheet, A._Record_2_sourceMap]);
    _inheritMany(A._Record3, [A._Record_3, A._Record_3_forImport, A._Record_3_importer_isDependency, A._Record_3_originalUrl]);
    _inherit(A._Record_5_named_namedNodes_positional_positionalNodes_separator, A._RecordN);
    _inheritMany(A.MapView, [A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A.PathMap]);
    _inherit(A.UnmodifiableMapView, A._UnmodifiableMapView_MapView__UnmodifiableMapMixin);
    _inherit(A.ConstantMapView, A.UnmodifiableMapView);
    _inherit(A.ConstantStringMap, A.ConstantMap);
    _inheritMany(A.SetBase, [A.ConstantSet, A._SetBase, A._UnmodifiableSetView_SetBase__UnmodifiableSetMixin, A._UnionSet_SetBase_UnmodifiableSetMixin]);
    _inheritMany(A.ConstantSet, [A.ConstantStringSet, A.GeneralConstantSet]);
    _inherit(A.Instantiation1, A.Instantiation);
    _inherit(A.NullError, A.TypeError);
    _inheritMany(A.TearOffClosure, [A.StaticClosure, A.BoundClosure]);
    _inheritMany(A.JsLinkedHashMap, [A.JsIdentityLinkedHashMap, A.JsConstantLinkedHashMap, A._LinkedCustomHashMap]);
    _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._Completer, [A._AsyncCompleter, A._SyncCompleter]);
    _inheritMany(A._StreamController, [A._AsyncStreamController, A._SyncStreamController]);
    _inheritMany(A.Stream, [A._StreamImpl, A._ForwardingStream, A._CompleterStream]);
    _inherit(A._ControllerStream, A._StreamImpl);
    _inheritMany(A._BufferingStreamSubscription, [A._ControllerSubscription, A._ForwardingStreamSubscription]);
    _inherit(A._StreamControllerAddStreamState, A._AddStreamState);
    _inheritMany(A._DelayedEvent, [A._DelayedData, A._DelayedError]);
    _inherit(A._ExpandStream, A._ForwardingStream);
    _inheritMany(A._Zone, [A._CustomZone, A._RootZone]);
    _inherit(A._IdentityHashMap, A._HashMap);
    _inherit(A._LinkedHashSet, A._SetBase);
    _inherit(A._LinkedIdentityHashSet, A._LinkedHashSet);
    _inherit(A.UnmodifiableSetView, A._UnmodifiableSetView_SetBase__UnmodifiableSetMixin);
    _inheritMany(A.Codec, [A.Encoding, A.Base64Codec, A.JsonCodec]);
    _inheritMany(A.Encoding, [A.AsciiCodec, A.Utf8Codec]);
    _inheritMany(A.Converter, [A._UnicodeSubsetEncoder, A.Base64Encoder, A.JsonEncoder, A.JsonDecoder, A.Utf8Encoder, A.Utf8Decoder]);
    _inherit(A.AsciiEncoder, A._UnicodeSubsetEncoder);
    _inheritMany(A.ByteConversionSink, [A._Base64EncoderSink, A._Utf8StringSinkAdapter]);
    _inherit(A._Utf8Base64EncoderSink, A._Base64EncoderSink);
    _inherit(A.JsonCyclicError, A.JsonUnsupportedObjectError);
    _inherit(A._JsonStringStringifier, A._JsonStringifier);
    _inherit(A._StringSinkConversionSink, A.StringConversionSink);
    _inherit(A._StringCallbackSink, A._StringSinkConversionSink);
    _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]);
    _inherit(A._DataUri, A._Uri);
    _inherit(A.ArgParserException, A.FormatException);
    _inherit(A.EmptyUnmodifiableSet, A._EmptyUnmodifiableSet_IterableBase_UnmodifiableSetMixin);
    _inherit(A.QueueList, A._QueueList_Object_ListMixin);
    _inherit(A._CastQueueList, A.QueueList);
    _inherit(A.UnionSet, A._UnionSet_SetBase_UnmodifiableSetMixin);
    _inheritMany(A._DelegatingIterableBase, [A.DelegatingSet, A._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin]);
    _inherit(A._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin, A.DelegatingSet);
    _inherit(A.UnmodifiableSetView0, A._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin);
    _inherit(A.MapKeySet, A._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin);
    _inheritMany(A.NodeJsError, [A.JsAssertionError, A.JsRangeError, A.JsReferenceError, A.JsSyntaxError, A.JsTypeError, A.JsSystemError]);
    _inheritMany(A.Socket, [A.TTYReadStream, A.TTYWriteStream]);
    _inherit(A.InternalStyle, A.Style);
    _inheritMany(A.InternalStyle, [A.PosixStyle, A.UrlStyle, A.WindowsStyle]);
    _inheritMany(A._Enum, [A._SingletonCssMediaQueryMergeResult, A.BinaryOperator, A.UnaryOperator, A.AttributeOperator, A.Combinator, A.Deprecation, A.ExtendMode, A.Syntax, A.CalculationOperator, A.ListSeparator, A.OutputStyle, A.LineFeed, A.AttributeOperator0, A.BinaryOperator0, A.CalculationOperator0, A.Combinator0, A.Deprecation0, A.ListSeparator0, A._SingletonCssMediaQueryMergeResult0, A.ExtendMode0, A.OutputStyle0, A.LineFeed0, A.Syntax0, A.UnaryOperator0]);
    _inheritMany(A.CssNode, [A.ModifiableCssNode, A.CssParentNode]);
    _inheritMany(A.ModifiableCssNode, [A.ModifiableCssParentNode, A.ModifiableCssComment, A.ModifiableCssDeclaration, A.ModifiableCssImport]);
    _inheritMany(A.ModifiableCssParentNode, [A.ModifiableCssAtRule, A.ModifiableCssKeyframeBlock, A.ModifiableCssMediaRule, A.ModifiableCssStyleRule, A.ModifiableCssStylesheet, A.ModifiableCssSupportsRule]);
    _inherit(A._IsInvisibleVisitor, A.__IsInvisibleVisitor_Object_EveryCssVisitor);
    _inherit(A.CssStylesheet, A.CssParentNode);
    _inheritMany(A.ParentStatement, [A.AtRootRule, A.AtRule, A.CallableDeclaration, A.Declaration, A.EachRule, A.ForRule, A.MediaRule, A.StyleRule, A.Stylesheet, A.SupportsRule, A.WhileRule]);
    _inheritMany(A.CallableDeclaration, [A.ContentBlock, A.FunctionRule, A.MixinRule]);
    _inheritMany(A.IfRuleClause, [A.IfClause, A.ElseClause]);
    _inherit(A._HasContentVisitor, A.__HasContentVisitor_Object_StatementSearchVisitor);
    _inherit(A._IsInvisibleVisitor0, A.__IsInvisibleVisitor_Object_AnySelectorVisitor);
    _inherit(A._IsBogusVisitor, A.__IsBogusVisitor_Object_AnySelectorVisitor);
    _inherit(A._IsUselessVisitor, A.__IsUselessVisitor_Object_AnySelectorVisitor);
    _inheritMany(A.Selector, [A.SimpleSelector, A.ComplexSelector, A.CompoundSelector, A.SelectorList]);
    _inheritMany(A.SimpleSelector, [A.AttributeSelector, A.ClassSelector, A.IDSelector, A.ParentSelector, A.PlaceholderSelector, A.PseudoSelector, A.TypeSelector, A.UniversalSelector]);
    _inherit(A._ParentSelectorVisitor, A.__ParentSelectorVisitor_Object_SelectorSearchVisitor);
    _inherit(A.ExplicitConfiguration, A.Configuration);
    _inheritMany(A.SourceSpanException, [A.SassException, A.SourceSpanFormatException, A.MultiSourceSpanException, A.SassException0]);
    _inheritMany(A.SassException, [A.MultiSpanSassException, A.SassRuntimeException, A.SassFormatException]);
    _inheritMany(A.MultiSpanSassException, [A.MultiSpanSassRuntimeException, A.MultiSpanSassFormatException]);
    _inherit(A.MultiSpanSassScriptException, A.SassScriptException);
    _inherit(A.MergedExtension, A.Extension);
    _inherit(A.Importer, A.AsyncImporter);
    _inheritMany(A.Importer, [A.FilesystemImporter, A.NoOpImporter, A.NodePackageImporter]);
    _inherit(A.DeprecationProcessingLogger, A.LoggerWithDeprecationType0);
    _inheritMany(A.Parser, [A.AtRootQueryParser, A.StylesheetParser, A.KeyframeSelectorParser, A.MediaQueryParser, A.SelectorParser]);
    _inheritMany(A.StylesheetParser, [A.ScssParser, A.SassParser]);
    _inherit(A.CssParser, A.ScssParser);
    _inheritMany(A.UnmodifiableMapBase, [A.LimitedMapView, A.PrefixedMapView, A.PublicMemberMapView, A.UnprefixedMapView, A.LimitedMapView0, A.PrefixedMapView0, A.PublicMemberMapView0, A.UnprefixedMapView0]);
    _inheritMany(A.Value, [A.SassList, A.SassBoolean, A.SassCalculation, A.SassColor, A.SassFunction, A.SassMap, A.SassMixin, A._SassNull, A.SassNumber, A.SassString]);
    _inherit(A.SassArgumentList, A.SassList);
    _inheritMany(A.SassNumber, [A.ComplexSassNumber, A.SingleUnitSassNumber, A.UnitlessSassNumber]);
    _inherit(A._MakeExpressionCalculationSafe, A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor);
    _inherit(A._FindDependenciesVisitor, A.__FindDependenciesVisitor_Object_RecursiveStatementVisitor);
    _inherit(A.SingleMapping, A.Mapping);
    _inherit(A.FileLocation, A.SourceLocationMixin);
    _inheritMany(A.SourceSpanMixin, [A._FileSpan, A.SourceSpanBase]);
    _inherit(A.MultiSourceSpanFormatException, A.MultiSourceSpanException);
    _inherit(A.SourceSpanWithContext, A.SourceSpanBase);
    _inherit(A.StringScannerException, A.SourceSpanFormatException);
    _inheritMany(A.StringScanner, [A.LineScanner, A.SpanScanner]);
    _inheritMany(A.Value0, [A.SassList0, A.SassBoolean0, A.SassCalculation0, A.SassColor0, A.SassNumber0, A.SassFunction0, A.SassMap0, A.SassMixin0, A._SassNull0, A.SassString0]);
    _inherit(A.SassArgumentList0, A.SassList0);
    _inheritMany(A.AsyncImporter0, [A.JSToDartAsyncImporter, A.JSToDartAsyncFileImporter, A.Importer0]);
    _inheritMany(A.Parser1, [A.AtRootQueryParser0, A.StylesheetParser0, A.KeyframeSelectorParser0, A.MediaQueryParser0, A.SelectorParser0]);
    _inheritMany(A.ParentStatement0, [A.AtRootRule0, A.AtRule0, A.CallableDeclaration0, A.Declaration0, A.EachRule0, A.ForRule0, A.MediaRule0, A.StyleRule0, A.Stylesheet0, A.SupportsRule0, A.WhileRule0]);
    _inheritMany(A.CssNode0, [A.ModifiableCssNode0, A.CssParentNode0]);
    _inheritMany(A.ModifiableCssNode0, [A.ModifiableCssParentNode0, A.ModifiableCssComment0, A.ModifiableCssDeclaration0, A.ModifiableCssImport0]);
    _inheritMany(A.ModifiableCssParentNode0, [A.ModifiableCssAtRule0, A.ModifiableCssKeyframeBlock0, A.ModifiableCssMediaRule0, A.ModifiableCssStyleRule0, A.ModifiableCssStylesheet0, A.ModifiableCssSupportsRule0]);
    _inheritMany(A.Selector0, [A.SimpleSelector0, A.ComplexSelector0, A.CompoundSelector0, A.SelectorList0]);
    _inheritMany(A.SimpleSelector0, [A.AttributeSelector0, A.ClassSelector0, A.IDSelector0, A.ParentSelector0, A.PlaceholderSelector0, A.PseudoSelector0, A.TypeSelector0, A.UniversalSelector0]);
    _inherit(A.CompileStringOptions, A.CompileOptions);
    _inherit(A.AsyncCompiler, A.Compiler);
    _inheritMany(A.SassNumber0, [A.ComplexSassNumber0, A.SingleUnitSassNumber0, A.UnitlessSassNumber0]);
    _inherit(A.ExplicitConfiguration0, A.Configuration0);
    _inheritMany(A.CallableDeclaration0, [A.ContentBlock0, A.FunctionRule0, A.MixinRule0]);
    _inheritMany(A.StylesheetParser0, [A.ScssParser0, A.SassParser0]);
    _inherit(A.CssParser0, A.ScssParser0);
    _inheritMany(A.LoggerWithDeprecationType, [A.DeprecationProcessingLogger0, A.JSToDartLogger]);
    _inherit(A._NodeException, A.JsError);
    _inheritMany(A.SassException0, [A.MultiSpanSassException0, A.SassRuntimeException0, A.SassFormatException0]);
    _inheritMany(A.MultiSpanSassException0, [A.MultiSpanSassRuntimeException0, A.MultiSpanSassFormatException0]);
    _inherit(A.MultiSpanSassScriptException0, A.SassScriptException0);
    _inherit(A._MakeExpressionCalculationSafe0, A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor0);
    _inheritMany(A.Importer0, [A.JSToDartFileImporter, A.FilesystemImporter0, A.NoOpImporter0, A.NodePackageImporter0, A.JSToDartImporter]);
    _inheritMany(A.IfRuleClause0, [A.IfClause0, A.ElseClause0]);
    _inherit(A._ParentSelectorVisitor0, A.__ParentSelectorVisitor_Object_SelectorSearchVisitor0);
    _inherit(A.MergedExtension0, A.Extension0);
    _inherit(A._HasContentVisitor0, A.__HasContentVisitor_Object_StatementSearchVisitor0);
    _inherit(A._IsInvisibleVisitor1, A.__IsInvisibleVisitor_Object_EveryCssVisitor0);
    _inherit(A._IsInvisibleVisitor2, A.__IsInvisibleVisitor_Object_AnySelectorVisitor0);
    _inherit(A._IsBogusVisitor0, A.__IsBogusVisitor_Object_AnySelectorVisitor0);
    _inherit(A._IsUselessVisitor0, A.__IsUselessVisitor_Object_AnySelectorVisitor0);
    _inherit(A.CssStylesheet0, A.CssParentNode0);
    _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.UnmodifiableMapBase, A._UnmodifiableMapMixin);
    _mixin(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A._UnmodifiableMapMixin);
    _mixin(A._UnmodifiableSetView_SetBase__UnmodifiableSetMixin, A._UnmodifiableSetMixin);
    _mixin(A._EmptyUnmodifiableSet_IterableBase_UnmodifiableSetMixin, A.UnmodifiableSetMixin);
    _mixin(A._QueueList_Object_ListMixin, A.ListBase);
    _mixin(A._UnionSet_SetBase_UnmodifiableSetMixin, A.UnmodifiableSetMixin);
    _mixin(A._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin, A.UnmodifiableSetMixin);
    _mixin(A._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin, A.UnmodifiableSetMixin);
    _mixin(A.__IsInvisibleVisitor_Object_EveryCssVisitor, A.EveryCssVisitor);
    _mixin(A.__HasContentVisitor_Object_StatementSearchVisitor, A.StatementSearchVisitor);
    _mixin(A.__IsBogusVisitor_Object_AnySelectorVisitor, A.AnySelectorVisitor);
    _mixin(A.__IsInvisibleVisitor_Object_AnySelectorVisitor, A.AnySelectorVisitor);
    _mixin(A.__IsUselessVisitor_Object_AnySelectorVisitor, A.AnySelectorVisitor);
    _mixin(A.__ParentSelectorVisitor_Object_SelectorSearchVisitor, A.SelectorSearchVisitor);
    _mixin(A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor, A.ReplaceExpressionVisitor);
    _mixin(A.__FindDependenciesVisitor_Object_RecursiveStatementVisitor, A.RecursiveStatementVisitor);
    _mixin(A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor0, A.ReplaceExpressionVisitor0);
    _mixin(A.__ParentSelectorVisitor_Object_SelectorSearchVisitor0, A.SelectorSearchVisitor0);
    _mixin(A.__HasContentVisitor_Object_StatementSearchVisitor0, A.StatementSearchVisitor0);
    _mixin(A.__IsInvisibleVisitor_Object_EveryCssVisitor0, A.EveryCssVisitor0);
    _mixin(A.__IsBogusVisitor_Object_AnySelectorVisitor0, A.AnySelectorVisitor0);
    _mixin(A.__IsInvisibleVisitor_Object_AnySelectorVisitor0, A.AnySelectorVisitor0);
    _mixin(A.__IsUselessVisitor_Object_AnySelectorVisitor0, A.AnySelectorVisitor0);
  })();
  var init = {
    typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []},
    mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"},
    mangledNames: {},
    types: ["~()", "Null()", "Future()", "Value0(List)", "bool(String)", "String(String)", "Value(List)", "bool(CssNode)", "bool(CssNode0)", "bool(Object?)", "int()", "SassNumber(List)", "SassNumber0(List)", "bool(SimpleSelector)", "bool(SimpleSelector0)", "JSClass0()", "bool(ComplexSelector)", "SassString(List)", "bool(ComplexSelector0)", "SassString0(List)", "SassBoolean(List)", "SassBoolean0(List)", "bool()", "SassList0(List)", "SassList(List)", "Future<~>()", "String()", "FileSpan()", "SassColor0(List)", "SassColor(List)", "bool(int?)", "~(Object?)", "Null(~())", "SassMap(List)", "Value()", "Object?()", "SassMap0(List)", "double(double)", "Future(Future<~>())", "Value(Value)", "Value?()", "Value0?()", "Value0(Value0)", "Uri(Uri)", "String?()", "bool(int)", "bool(num,num)", "Value0()", "SassNumber0(SassNumber0)", "bool(ComplexSelectorComponent)", "bool(ComplexSelectorComponent0)", "SassNumber(SassNumber)", "Null(Object,StackTrace)", "bool(Value0)", "~(Value)", "ComplexSelector0(ComplexSelector0)", "double(double,double)", "double(SassColor0)", "ValueExpression(Value)", "ComplexSelector(ComplexSelector)", "@()", "Null(@)", "~(Value0)", "ValueExpression0(Value0)", "Future()", "bool(SelectorList0)", "Future()", "Object(Object)", "Future()", "Frame()", "bool(SelectorList)", "~(@)", "bool(Value)", "~(Object,StackTrace)", "Future()", "bool(Object)", "~(Value0,Value0)", "~(Module0,bool)", "Value?(Statement)", "Object()", "~(Module1,bool)", "Stylesheet?()", "@(@)", "double(Value)", "Future(Statement)", "Callable?()", "AsyncCallable?()", "int(Uri)", "Future(List)", "List?(List)", "~(Value,Value)", "SassRuntimeException(AstNode)", "AsyncCallable0?()", "Null([Object?])", "SassRuntimeException0(AstNode0)", "double(Value0)", "~([int?])", "Future(Statement0)", "~(String,Value)", "~(Object)", "List?(List)", "Value0?(Statement0)", "Callable0?()", "~(String,Value0)", "~(String)", "Frame(String)", "Null(_NodeSassColor,num)", "String(Expression0)", "String(@)", "Null(Module1,bool)", "SassCalculation0(Object)", "String(Expression)", "bool(Module1)", "bool(Expression)", "~(String,@)", "Map()", "int(SassColor0)", "bool(Module0)", "int(_NodeSassColor)", "Null(Module0,bool)", "~(String,Object?)", "bool(Module1)", "+originalUrl(Importer,Uri,Uri)?()", "bool(Module0)", "List()", "Map()", "String(String{color:Object?})", "Statement()", "bool(@)", "~(String,Function)", "Statement0()", "~(~())", "bool(Expression0)", "bool(_Highlight)", "String(Object)", "SassFunction0(List)", "String(Value0)", "SelectorList(Value)", "SelectorList(SelectorList,SelectorList)", "bool(String?)", "Uri?()", "Uri(String)", "int(String,String)", "String?(String?)", "String?(Object)", "Iterable()", "Iterable(String)", "Iterable(@)", "DateTime()", "~(String[~])", "int(int)", "0&(String,FileSpan[StackTrace?])", "bool(Statement)", "VariableDeclaration()", "AtRootRule(List,FileSpan)", "AtRule(List,FileSpan)", "bool(Import)", "String(String{color:@})", "Entry(Entry)", "int(double)", "double(double,String)", "Set<0^>()", "AstNode(AstNode)", "SassFunction(List)", "SassMixin(List)", "Future<~>(List)", "~([Object?])", "List()", "~(@,@)", "bool(ModifiableCssParentNode)", "~(Object?,Object?)", "@(String)", "Future()", "List()", "bool(UseRule)", "bool(ForwardRule)", "Future()", "int(ComplexSelector)", "AsyncCallable?(Module0)", "Future()", "MapKeySet>(Map,AstNode>)", "InterpolationMap(List)", "AstNode?()", "String(SassNumber)", "~(List)", "Map(Module0)", "SassNumber()", "bool(Object?,Object?)", "int(@,@)", "double?(String,num{assertPercent:bool,checkPercent:bool,checkUnitless:bool})", "Value0?(Value0)", "String(int)", "~(List)", "Map(Module1)", "MapKeySet>(Map,AstNode0>)", "AtRule0(List,FileSpan)", "Callable?(Module1)", "~(Iterable)", "Version(String)", "Set<0&>(Object)", "AsyncImporter0(Object?)", "Future()", "SelectorList0(SelectorList0,SelectorList0)", "SelectorList0(Value0)", "Expression0(Expression0)", "int(ComplexSelector0)", "bool(Queue>)", "Object(CalculationOperation0)", "double(SassNumber0,SassNumber0[String?,String?])", "0&(@[@])", "AtRootRule0(List,FileSpan)", "int(Object?)", "SassNumber0()", "0&(Object[Object?])", "Future<~>?()", "int(SourceLocation)", "String(SassNumber0)", "AstNode0?()", "double(SassNumber0,Object,Object[String?])", "InterpolationMap0(List)", "List()", "~(Uint8List,String,int)", "SassNumber0(SassNumber0,SassNumber0[String?,String?])", "String(FileSpan)", "SassNumber0(SassNumber0,Object,Object[String?])", "bool(SassNumber0,String)", "~(Iterable)", "bool(ForwardRule0)", "bool(UseRule0)", "List()", "ImmutableList0(SassNumber0)", "FileLocation(FileSpan)", "Future()", "bool(SassNumber0)", "Map(Module0)", "Null(_NodeSassMap,int,Object)", "Object(_NodeSassMap,int)", "bool(ModifiableCssParentNode0)", "Expression(Expression)", "Value0(int)", "@(Value0,num)", "Future<~>(List)", "SassMixin0(List)", "MapKeySet>(Map,AstNode>)", "~(Object[StackTrace?])", "bool(Import0)", "Callable0?(Module0)", "bool(Statement0)", "AstNode0(AstNode0)", "int(int,double?)", "bool(Queue>)", "double(double,double?,num)", "Map(Module1)", "MapKeySet>(Map,AstNode0>)", "Trace(String)", "List()", "AsyncCallable0?(Module1)", "Future(List)", "bool(Frame)", "Trace()", "String(Frame)", "int(Frame)", "String(_NodeException)", "Uri?/()", "List()", "Value(Expression)", "Future<+originalUrl(AsyncImporter,Uri,Uri)?>()", "~(ContentBlock)", "~(List)", "UserDefinedCallable(ContentBlock)", "Value?(IfRuleClause)", "~(CssMediaQuery)", "~(SelectorList)", "~(MapEntry)", "SourceFile()", "SourceFile?(int)", "String?(SourceFile?)", "int(_Line)", "Future()", "Object(_Line)", "Object(_Highlight)", "int(_Highlight,_Highlight)", "List<_Line>(MapEntry>)", "SourceSpanWithContext()", "List(Trace)", "int(Trace)", "CssValue(Interpolation)", "String(Trace)", "~(String,int)", "bool(+originalUrl(AsyncImporter,Uri,Uri))", "Frame(String,String)", "Value?(Value)", "~(Module0)", "Frame(Frame)", "Uri(+originalUrl(AsyncImporter,Uri,Uri))", "~(String,int?)", "int(int,int)", "String(Argument0)", "Module0()", "SassArgumentList0(Object,Object,Object[String?])", "ImmutableMap0(SassArgumentList0)", "SassMap(Value)", "bool(Deprecation)", "Value0?(Module1)", "Module1?(Module1)", "+loadedUrls,stylesheet(Set,CssStylesheet)()", "Map(Module0)", "Map(Module1)", "Map(Module1)", "CssValue(Interpolation{trim:bool,warnForColor:bool})", "Value?(Module0)", "Future>(Interpolation0{trim:bool,warnForColor:bool})", "Map(Module0)", "Module0?(Module0)", "Value/()", "Future>(Interpolation{trim:bool,warnForColor:bool})", "Future(Expression)", "Module0?(Module0)", "Value?(Module0)", "Map(Module0)", "~(Module1,bool)", "Future<+loadedUrls,stylesheet(Set,CssStylesheet0)>()", "Future>()", "Map(Module0)", "~(Module1)", "~(Symbol0,@)", "UserDefinedCallable(ContentBlock)", "Future(IfRuleClause)", "Uint8List(@,@)", "Future(Value0)", "ArgParser()", "Future>(Interpolation0)", "Set()", "SimpleSelector(SimpleSelector)", "Future<~>(String)", "Future>(Interpolation)", "Future(IfRuleClause0)", "Iterable(ComplexSelector)", "Future(Value)", "UserDefinedCallable0(ContentBlock0)", "List(List)", "SassList(ComplexSelector)", "bool(Extension)", "Set>()", "~(Module0)", "Future(Expression0)", "int(int,SimpleSelector)", "Value0/()", "Iterable(List)", "List(Extender)", "List?(SimpleSelector)", "Future>()", "~(Module0,bool)", "String(CssValue)", "Future<+originalUrl(AsyncImporter0,Uri,Uri)?>()", "Future()", "bool(+originalUrl(AsyncImporter0,Uri,Uri))", "Uri(+originalUrl(AsyncImporter0,Uri,Uri))", "AtRootQuery0()", "int(int,ComplexSelectorComponent)", "SingleUnitSassNumber(double)", "List(PseudoSelector)", "List>(List)", "SassCalculation0(Object[Object?,Object?])", "SassCalculation0(SassCalculation0[String?])", "ImmutableList(SassCalculation0)", "Object(Object,String,Object,Object)", "bool(CalculationOperator0)", "bool(CalculationOperation0,Object)", "int(CalculationOperation0)", "String(CalculationOperation0)", "~(int,@)", "CalculationInterpolation(Object,String)", "bool(CalculationInterpolation,Object)", "int(CalculationInterpolation)", "String(CalculationInterpolation)", "bool(CanonicalizeContext0)", "JSUrl0?(CanonicalizeContext0)", "List(ComplexSelector)", "PseudoSelector(ComplexSelector)", "~(SimpleSelector,Set>)", "List?(List,List)", "SassScriptException()", "Future<+loadedUrls,stylesheet(Set,CssStylesheet)>()", "0&(List)", "SassColor0(Object,_Channels)", "SassColor0(SassColor0,_Channels)", "bool(List>)", "bool(PseudoSelector)", "Null(_NodeSassColor,num?[num?,num?,num?,SassColor0?])", "SelectorList?(PseudoSelector)", "double(_NodeSassColor)", "Object?(Object?)", "DateTime(StylesheetNode)", "StringExpression(Interpolation)", "AsyncImporter0(JSImporter)", "0&(@)", "@(@,String)", "Iterable()", "NodePackageImporter0(Object[String?])", "~(BinaryOperator)", "NodeCompileResult(Compiler,String[CompileOptions?])", "NodeCompileResult(Compiler,String[CompileStringOptions?])", "Null(Compiler)", "Promise(AsyncCompiler,String[CompileOptions?])", "Promise(AsyncCompiler,String[CompileStringOptions?])", "Promise(AsyncCompiler)", "Future()", "int(int,ComplexSelectorComponent0)", "String(CssValue0)", "int(int,SimpleSelector0)", "String(BuiltInCallable0)", "bool(Deprecation0)", "Version(Object,int,int,int)", "~(Expression)", "WhileRule(List,FileSpan)", "Value0?(Module1)", "Module1?(Module1)", "SupportsRule(List,FileSpan)", "MixinRule(List,FileSpan)", "Object(Value0)", "Map(Module1)", "MediaRule(List,FileSpan)", "~(String,Option)", "CssValue0(Interpolation0{trim:bool,warnForColor:bool})", "_Future<@>(@)", "ContentBlock(List,FileSpan)", "ForRule(List,FileSpan)", "+loadedUrls,stylesheet(Set,CssStylesheet0)()", "Module1()", "~(Module1)", "FunctionRule(List,FileSpan)", "EachRule(List,FileSpan)", "CssValue0(Interpolation0)", "Declaration(List,FileSpan)", "Value0?(IfRuleClause0)", "UserDefinedCallable0(ContentBlock0)", "Value0(Expression0)", "StyleRule(List,FileSpan)", "FileSpan(_NodeException)", "bool(Extension0)", "Set>()", "Null(@,@)", "UseRule()", "Iterable(List)", "ArgumentDeclaration()", "List(Extender0)", "List?(SimpleSelector0)", "List(PseudoSelector0)", "List>(List)", "List(ComplexSelector0)", "PseudoSelector0(ComplexSelector0)", "~(SimpleSelector0,Set>)", "SassFunction0(Object,String,Value0(List))", "List?(List,List)", "VariableDeclaration(VariableDeclaration)", "bool(List>)", "Statement?()", "bool(PseudoSelector0)", "SelectorList0?(PseudoSelector0)", "String(int,IfClause0)", "Stylesheet()", "Expression({bracketList:bool,singleEquals:bool,until:bool()?})", "~(Object?,Object,Object?)", "+(String,String)(String)", "Future<~>(List)", "Stylesheet0?()", "bool(+originalUrl(Importer0,Uri,Uri))", "Uri(+originalUrl(Importer0,Uri,Uri))", "~(String,WarnOptions)", "~(String,DebugOptions)", "Null(RenderResult)", "JSFunction0(JSFunction0)", "Object?(Object,String,String[Object?])", "Null(Object)", "String(Value)", "List(Value0)", "bool(List)", "SassList0(ComplexSelector0)", "Iterable(ComplexSelector0)", "SimpleSelector0(SimpleSelector0)", "SassList0(Object[Object?,_ConstructorOptions?])", "Statement({root:bool})", "Null(_NodeSassList,int?[bool?,SassList0?])", "CompoundSelector()", "Object(_NodeSassList,int)", "Null(_NodeSassList,int,Object)", "bool(_NodeSassList)", "Null(_NodeSassList,bool)", "int(_NodeSassList)", "SassMap0(Value0)", "SassMap0(SassMap0)", "SassMap0(Object[ImmutableMap0?])", "ImmutableMap0(SassMap0)", "@(SassMap0,Object)", "Null(_NodeSassMap,int?[SassMap0?])", "SassNumber0(int)", "SelectorList()", "int(_NodeSassMap)", "String(int,IfClause)", "SassNumber0(Value0)", "List()", "Value0(Object)", "0&(Object)", "bool(ModifiableCssNode0)", "SassNumber0(Object,num[Object?])", "double(SassNumber0)", "~(@,StackTrace)", "int?(SassNumber0)", "List()", "int(SassNumber0[String?])", "double(SassNumber0,num,num[String?])", "SassNumber0(SassNumber0[String?])", "SassNumber0(SassNumber0,String[String?])", "String(BuiltInCallable)", "AtRootQuery()", "~([Future<~>?])", "Future<@>()", "String(Argument)", "Null(_NodeSassNumber,num?[String?,SassNumber0?])", "double(_NodeSassNumber)", "Null(_NodeSassNumber,num)", "String(_NodeSassNumber)", "Null(_NodeSassNumber,String)", "SassScriptException0()", "bool(ModifiableCssNode)", "String(Object,@,@[@])", "0&(List)", "bool(Version)", "Object(String)", "int(String?)", "SassString0(SimpleSelector0)", "SelectorList0()", "CompoundSelector0()", "~(CssMediaQuery0)", "~(SelectorList0)", "~(MapEntry)", "SingleUnitSassNumber0(double)", "bool(+forImport(Importer,Uri,bool),+originalUrl(Importer,Uri,Uri)?)", "JSUrl0?(FileSpan)", "Uri(+originalUrl(Importer,Uri,Uri))", "bool(+originalUrl(Importer,Uri,Uri))", "SassString0(int)", "SassString0(String)", "SassString0(Object[Object?,_ConstructorOptions1?])", "String(SassString0)", "bool(SassString0)", "int(SassString0)", "int(SassString0,Value0[String?])", "Null(_NodeSassString,String?[SassString0?])", "String(_NodeSassString)", "Null(_NodeSassString,String)", "Statement0({root:bool})", "bool(String?,String?)", "Stylesheet0()", "Statement0?()", "VariableDeclaration0(VariableDeclaration0)", "ArgumentDeclaration0()", "+(String,ArgumentDeclaration0)()", "VariableDeclaration0()", "StyleRule0(List,FileSpan)", "Declaration0(List,FileSpan)", "SassString(String)", "EachRule0(List,FileSpan)", "FunctionRule0(List,FileSpan)", "ForRule0(List,FileSpan)", "ContentBlock0(List,FileSpan)", "MediaRule0(List,FileSpan)", "MixinRule0(List,FileSpan)", "SassString(int)", "SupportsRule0(List,FileSpan)", "WhileRule0(List,FileSpan)", "~(Expression0)", "~(BinaryOperator0)", "StringExpression0(Interpolation0)", "Null(~(Object?),~(Object?))", "ImmutableList0(Value0)", "String?(Value0)", "int(Value0,Value0[String?])", "SassBoolean0(Value0[String?])", "SassCalculation0(Value0[String?])", "SassColor0(Value0[String?])", "SassFunction0(Value0[String?])", "SassMap0(Value0[String?])", "SassMixin0(Value0[String?])", "SassNumber0(Value0[String?])", "SassString0(Value0[String?])", "SassMap0?(Value0)", "bool(Value0,Object?)", "int(Value0[Object?])", "SassString(SimpleSelector)", "List(Value)", "~(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)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "Value(Object)", "SassNumber(Value)", "0^(0^,0^)", "bool(List)", "String(String?)", "~(Object,StackTrace,EventSink<0^>)", "List<0^>(0^,List<0^>?)", "NodeCompileResult(String[CompileOptions?])", "NodeCompileResult(String[CompileStringOptions?])", "Promise(String[CompileOptions?])", "Promise(String[CompileStringOptions?])", "Importer0(Object?)", "Compiler()", "Promise()", "List(Object?)", "~(RenderOptions,~(Object?,RenderResult?))", "RenderResult(RenderOptions)", "Uri(JSUrl0)", "JSUrl0(Uri)", "String(String[String?,String?,String?,String?,String?,String?,String?,String?,String?,String?,String?,String?,String?,String?])", "String(Object?)", "Null(@,StackTrace)", "SassMap(SassMap)", "int(num)", "Null(Function,Function)", "+originalUrl(Importer0,Uri,Uri)?()", "Map(Module1)"],
    interceptorsByTag: null,
    leafTags: null,
    arrayRti: Symbol("$ti"),
    rttc: {
      "1;": t1 => o => o instanceof A._Record_1 && t1._is(o._0),
      "2;": (t1, t2) => o => o instanceof A._Record_2 && t1._is(o._0) && t2._is(o._1),
      "2;forImport": (t1, t2) => o => o instanceof A._Record_2_forImport && t1._is(o._0) && t2._is(o._1),
      "2;sourceMap": (t1, t2) => o => o instanceof A._Record_2_sourceMap && t1._is(o._0) && t2._is(o._1),
      "2;imports,modules": (t1, t2) => o => o instanceof A._Record_2_imports_modules && t1._is(o._0) && t2._is(o._1),
      "2;loadedUrls,stylesheet": (t1, t2) => o => o instanceof A._Record_2_loadedUrls_stylesheet && t1._is(o._0) && t2._is(o._1),
      "3;": (t1, t2, t3) => o => o instanceof A._Record_3 && t1._is(o._0) && t2._is(o._1) && t3._is(o._2),
      "3;forImport": (t1, t2, t3) => o => o instanceof A._Record_3_forImport && t1._is(o._0) && t2._is(o._1) && t3._is(o._2),
      "3;originalUrl": (t1, t2, t3) => o => o instanceof A._Record_3_originalUrl && t1._is(o._0) && t2._is(o._1) && t3._is(o._2),
      "3;importer,isDependency": (t1, t2, t3) => o => o instanceof A._Record_3_importer_isDependency && t1._is(o._0) && t2._is(o._1) && t3._is(o._2),
      "5;named,namedNodes,positional,positionalNodes,separator": types => o => o instanceof A._Record_5_named_namedNodes_positional_positionalNodes_separator && A.pairwiseIsTest(types, o._values)
    }
  };
  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Stdin":"LegacyJavaScriptObject","Stdout":"LegacyJavaScriptObject","ReadlineModule":"LegacyJavaScriptObject","ReadlineOptions":"LegacyJavaScriptObject","ReadlineInterface":"LegacyJavaScriptObject","BufferModule":"LegacyJavaScriptObject","BufferConstants":"LegacyJavaScriptObject","Buffer":"LegacyJavaScriptObject","ConsoleModule":"LegacyJavaScriptObject","Console":"LegacyJavaScriptObject","EventEmitter":"LegacyJavaScriptObject","FS":"LegacyJavaScriptObject","FSConstants":"LegacyJavaScriptObject","FSWatcher":"LegacyJavaScriptObject","ReadStream":"LegacyJavaScriptObject","ReadStreamOptions":"LegacyJavaScriptObject","WriteStream":"LegacyJavaScriptObject","WriteStreamOptions":"LegacyJavaScriptObject","FileOptions":"LegacyJavaScriptObject","StatOptions":"LegacyJavaScriptObject","MkdirOptions":"LegacyJavaScriptObject","RmdirOptions":"LegacyJavaScriptObject","WatchOptions":"LegacyJavaScriptObject","WatchFileOptions":"LegacyJavaScriptObject","Stats":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","Date":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","Atomics":"LegacyJavaScriptObject","Modules":"LegacyJavaScriptObject","Module":"LegacyJavaScriptObject","Net":"LegacyJavaScriptObject","Socket":"LegacyJavaScriptObject","NetAddress":"LegacyJavaScriptObject","NetServer":"LegacyJavaScriptObject","NodeJsError":"LegacyJavaScriptObject","JsAssertionError":"LegacyJavaScriptObject","JsRangeError":"LegacyJavaScriptObject","JsReferenceError":"LegacyJavaScriptObject","JsSyntaxError":"LegacyJavaScriptObject","JsTypeError":"LegacyJavaScriptObject","JsSystemError":"LegacyJavaScriptObject","Process":"LegacyJavaScriptObject","CPUUsage":"LegacyJavaScriptObject","Release":"LegacyJavaScriptObject","StreamModule":"LegacyJavaScriptObject","Readable":"LegacyJavaScriptObject","Writable":"LegacyJavaScriptObject","Duplex":"LegacyJavaScriptObject","Transform":"LegacyJavaScriptObject","WritableOptions":"LegacyJavaScriptObject","ReadableOptions":"LegacyJavaScriptObject","Immediate":"LegacyJavaScriptObject","Timeout":"LegacyJavaScriptObject","TTY":"LegacyJavaScriptObject","TTYReadStream":"LegacyJavaScriptObject","TTYWriteStream":"LegacyJavaScriptObject","Util":"LegacyJavaScriptObject","JSArray0":"LegacyJavaScriptObject","Chokidar":"LegacyJavaScriptObject","ChokidarOptions":"LegacyJavaScriptObject","ChokidarWatcher":"LegacyJavaScriptObject","JSFunction":"LegacyJavaScriptObject","ImmutableList":"LegacyJavaScriptObject","ImmutableMap":"LegacyJavaScriptObject","NodeImporterResult":"LegacyJavaScriptObject","RenderContext":"LegacyJavaScriptObject","RenderContextOptions":"LegacyJavaScriptObject","RenderContextResult":"LegacyJavaScriptObject","RenderContextResultStats":"LegacyJavaScriptObject","JSModule":"LegacyJavaScriptObject","JSModuleRequire":"LegacyJavaScriptObject","JSClass":"LegacyJavaScriptObject","JSUrl":"LegacyJavaScriptObject","_PropertyDescriptor":"LegacyJavaScriptObject","_RequireMain":"LegacyJavaScriptObject","JSArray1":"LegacyJavaScriptObject","Chokidar0":"LegacyJavaScriptObject","ChokidarOptions0":"LegacyJavaScriptObject","ChokidarWatcher0":"LegacyJavaScriptObject","_Channels":"LegacyJavaScriptObject","_NodeSassColor":"LegacyJavaScriptObject","CompileOptions":"LegacyJavaScriptObject","CompileStringOptions":"LegacyJavaScriptObject","NodeCompileResult":"LegacyJavaScriptObject","Deprecation1":"LegacyJavaScriptObject","_NodeException":"LegacyJavaScriptObject","Exports":"LegacyJavaScriptObject","LoggerNamespace":"LegacyJavaScriptObject","Fiber":"LegacyJavaScriptObject","FiberClass":"LegacyJavaScriptObject","JSFunction0":"LegacyJavaScriptObject","ImmutableList0":"LegacyJavaScriptObject","ImmutableMap0":"LegacyJavaScriptObject","JSImporter":"LegacyJavaScriptObject","JSImporterResult":"LegacyJavaScriptObject","NodeImporterResult0":"LegacyJavaScriptObject","_ConstructorOptions":"LegacyJavaScriptObject","_NodeSassList":"LegacyJavaScriptObject","WarnOptions":"LegacyJavaScriptObject","DebugOptions":"LegacyJavaScriptObject","JSLogger":"LegacyJavaScriptObject","_NodeSassMap":"LegacyJavaScriptObject","JSModule0":"LegacyJavaScriptObject","JSModuleRequire0":"LegacyJavaScriptObject","_ConstructorOptions0":"LegacyJavaScriptObject","_NodeSassNumber":"LegacyJavaScriptObject","JSClass0":"LegacyJavaScriptObject","RenderContext0":"LegacyJavaScriptObject","RenderContextOptions0":"LegacyJavaScriptObject","RenderContextResult0":"LegacyJavaScriptObject","RenderContextResultStats0":"LegacyJavaScriptObject","RenderOptions":"LegacyJavaScriptObject","RenderResult":"LegacyJavaScriptObject","RenderResultStats":"LegacyJavaScriptObject","_Exports":"LegacyJavaScriptObject","_ConstructorOptions1":"LegacyJavaScriptObject","_NodeSassString":"LegacyJavaScriptObject","Types":"LegacyJavaScriptObject","JSUrl0":"LegacyJavaScriptObject","_PropertyDescriptor0":"LegacyJavaScriptObject","_RequireMain0":"LegacyJavaScriptObject","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"Promise":[],"JsSystemError":[],"ImmutableList":[],"_Channels":[],"_NodeSassColor":[],"CompileOptions":[],"CompileStringOptions":[],"NodeCompileResult":[],"Deprecation1":[],"_NodeException":[],"Fiber":[],"JSFunction0":[],"ImmutableList0":[],"ImmutableMap0":[],"JSImporter":[],"JSImporterResult":[],"NodeImporterResult0":[],"_ConstructorOptions":[],"_NodeSassList":[],"WarnOptions":[],"DebugOptions":[],"_NodeSassMap":[],"_ConstructorOptions0":[],"_NodeSassNumber":[],"JSClass0":[],"RenderContextOptions0":[],"RenderOptions":[],"RenderResult":[],"_ConstructorOptions1":[],"_NodeSassString":[],"JSUrl0":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["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"},"CastSet":{"Set":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.V":"4","MapBase.K":"3"},"LateError":{"Error":[]},"ReachabilityError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"ExpandIterable":{"Iterable":["2"],"Iterable.E":"2"},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipWhileIterable":{"Iterable":["1"],"Iterable.E":"1"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"FollowedByIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthFollowedByIterable":{"FollowedByIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"UnmodifiableListBase":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"ConstantSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ConstantStringSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"GeneralConstantSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"Instantiation":{"Function":[]},"Instantiation1":{"Function":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"JsIdentityLinkedHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"JsConstantLinkedHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"NativeByteBuffer":{"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeByteData":{"ByteData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"NativeFloat32List":{"NativeTypedArrayOfDouble":[],"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"NativeTypedArrayOfDouble":[],"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt32List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_SyncStarIterable":{"Iterable":["1"],"Iterable.E":"1"},"_AsyncCompleter":{"_Completer":["1"]},"_SyncCompleter":{"_Completer":["1"]},"_StreamController":{"EventSink":["1"]},"_AsyncStreamController":{"_StreamController":["1"],"EventSink":["1"]},"_SyncStreamController":{"_StreamController":["1"],"EventSink":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_BufferingStreamSubscription.T":"1"},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_BufferingStreamSubscription.T":"2"},"_ExpandStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"Zone":[]},"_RootZone":{"Zone":[]},"Queue":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedIdentityHashSet":{"_LinkedHashSet":["1"],"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"UnmodifiableListView":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"UnmodifiableMapBase":{"MapBase":["1","2"],"Map":["1","2"]},"_MapBaseValueIterable":{"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"UnmodifiableSetView":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.V":"@","MapBase.K":"String"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"AsciiCodec":{"Codec":["String","List"]},"_UnicodeSubsetEncoder":{"Converter":["String","List"]},"AsciiEncoder":{"Converter":["String","List"]},"Base64Codec":{"Codec":["List","String"]},"Base64Encoder":{"Converter":["List","String"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"]},"JsonEncoder":{"Converter":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"]},"Utf8Encoder":{"Converter":["String","List"]},"Utf8Decoder":{"Converter":["List","String"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"RangeError":[],"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_Exception":{"Exception":[]},"FormatException":{"Exception":[]},"_GeneratorIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_StringStackTrace":{"StackTrace":[]},"Runes":{"Iterable":["int"],"Iterable.E":"int"},"_Uri":{"_PlatformUri":[],"Uri":[]},"_SimpleUri":{"_PlatformUri":[],"Uri":[]},"_DataUri":{"_PlatformUri":[],"Uri":[]},"NullRejectionException":{"Exception":[]},"ArgParserException":{"FormatException":[],"Exception":[]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_CompleterStream":{"Stream":["1"],"Stream.T":"1"},"_NextRequest":{"_EventRequest":["1"]},"EmptyUnmodifiableSet":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2"},"UnionSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"UnmodifiableSetView0":{"DelegatingSet":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapKeySet":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_DelegatingIterableBase":{"Iterable":["1"]},"DelegatingSet":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"PathException":{"Exception":[]},"PathMap":{"Map":["String?","1"]},"Version":{"VersionRange":[],"Comparable":["VersionRange"]},"VersionRange":{"Comparable":["VersionRange"]},"ModifiableCssAtRule":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssComment":{"ModifiableCssNode":[],"CssComment":[],"CssNode":[],"AstNode":[]},"ModifiableCssDeclaration":{"ModifiableCssNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssImport":{"ModifiableCssNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssKeyframeBlock":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssMediaRule":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssNode":{"CssNode":[],"AstNode":[]},"ModifiableCssParentNode":{"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssStyleRule":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssStylesheet":{"ModifiableCssParentNode":[],"CssStylesheet":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssSupportsRule":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"CssNode":{"AstNode":[]},"CssParentNode":{"CssNode":[],"AstNode":[]},"CssStylesheet":{"CssParentNode":[],"CssNode":[],"AstNode":[]},"CssValue":{"AstNode":[]},"_FakeAstNode":{"AstNode":[]},"Argument":{"AstNode":[]},"ArgumentDeclaration":{"AstNode":[]},"ArgumentInvocation":{"AstNode":[]},"ConfiguredVariable":{"AstNode":[]},"Expression":{"AstNode":[]},"BinaryOperationExpression":{"Expression":[],"AstNode":[]},"BooleanExpression":{"Expression":[],"AstNode":[]},"ColorExpression":{"Expression":[],"AstNode":[]},"FunctionExpression":{"Expression":[],"AstNode":[]},"IfExpression":{"Expression":[],"AstNode":[]},"InterpolatedFunctionExpression":{"Expression":[],"AstNode":[]},"ListExpression":{"Expression":[],"AstNode":[]},"MapExpression":{"Expression":[],"AstNode":[]},"NullExpression":{"Expression":[],"AstNode":[]},"NumberExpression":{"Expression":[],"AstNode":[]},"ParenthesizedExpression":{"Expression":[],"AstNode":[]},"SelectorExpression":{"Expression":[],"AstNode":[]},"StringExpression":{"Expression":[],"AstNode":[]},"SupportsExpression":{"Expression":[],"AstNode":[]},"UnaryOperationExpression":{"Expression":[],"AstNode":[]},"ValueExpression":{"Expression":[],"AstNode":[]},"VariableExpression":{"Expression":[],"AstNode":[]},"DynamicImport":{"Import":[],"AstNode":[]},"StaticImport":{"Import":[],"AstNode":[]},"Interpolation":{"AstNode":[]},"AtRootRule":{"Statement":[],"AstNode":[]},"AtRule":{"Statement":[],"AstNode":[]},"CallableDeclaration":{"Statement":[],"AstNode":[]},"ContentBlock":{"Statement":[],"AstNode":[]},"ContentRule":{"Statement":[],"AstNode":[]},"DebugRule":{"Statement":[],"AstNode":[]},"Declaration":{"Statement":[],"AstNode":[]},"EachRule":{"Statement":[],"AstNode":[]},"ErrorRule":{"Statement":[],"AstNode":[]},"ExtendRule":{"Statement":[],"AstNode":[]},"ForRule":{"Statement":[],"AstNode":[]},"ForwardRule":{"Statement":[],"AstNode":[]},"FunctionRule":{"Statement":[],"AstNode":[]},"IfClause":{"IfRuleClause":[]},"ElseClause":{"IfRuleClause":[]},"IfRule":{"Statement":[],"AstNode":[]},"ImportRule":{"Statement":[],"AstNode":[]},"IncludeRule":{"Statement":[],"AstNode":[]},"LoudComment":{"Statement":[],"AstNode":[]},"MediaRule":{"Statement":[],"AstNode":[]},"MixinRule":{"Statement":[],"AstNode":[]},"_HasContentVisitor":{"StatementSearchVisitor":["bool"],"StatementSearchVisitor.T":"bool"},"ParentStatement":{"Statement":[],"AstNode":[]},"ReturnRule":{"Statement":[],"AstNode":[]},"SilentComment":{"Statement":[],"AstNode":[]},"StyleRule":{"Statement":[],"AstNode":[]},"Stylesheet":{"Statement":[],"AstNode":[]},"SupportsRule":{"Statement":[],"AstNode":[]},"UseRule":{"Statement":[],"AstNode":[]},"VariableDeclaration":{"Statement":[],"AstNode":[]},"WarnRule":{"Statement":[],"AstNode":[]},"WhileRule":{"Statement":[],"AstNode":[]},"SupportsAnything":{"AstNode":[]},"SupportsDeclaration":{"AstNode":[]},"SupportsFunction":{"AstNode":[]},"SupportsInterpolation":{"AstNode":[]},"SupportsNegation":{"AstNode":[]},"SupportsOperation":{"AstNode":[]},"Selector":{"AstNode":[]},"AttributeSelector":{"SimpleSelector":[],"AstNode":[]},"ClassSelector":{"SimpleSelector":[],"AstNode":[]},"ComplexSelector":{"AstNode":[]},"CompoundSelector":{"AstNode":[]},"IDSelector":{"SimpleSelector":[],"AstNode":[]},"SelectorList":{"AstNode":[]},"_ParentSelectorVisitor":{"SelectorSearchVisitor":["ParentSelector"],"SelectorSearchVisitor.T":"ParentSelector"},"ParentSelector":{"SimpleSelector":[],"AstNode":[]},"PlaceholderSelector":{"SimpleSelector":[],"AstNode":[]},"PseudoSelector":{"SimpleSelector":[],"AstNode":[]},"SimpleSelector":{"AstNode":[]},"TypeSelector":{"SimpleSelector":[],"AstNode":[]},"UniversalSelector":{"SimpleSelector":[],"AstNode":[]},"_EnvironmentModule0":{"Module0":["AsyncCallable"]},"AsyncBuiltInCallable":{"AsyncCallable":[]},"BuiltInCallable":{"Callable0":[],"AsyncBuiltInCallable":[],"AsyncCallable":[]},"PlainCssCallable":{"Callable0":[],"AsyncCallable":[]},"UserDefinedCallable":{"Callable0":[],"AsyncCallable":[]},"ExplicitConfiguration":{"Configuration":[]},"_EnvironmentModule":{"Module0":["Callable0"]},"SassRuntimeException":{"Exception":[]},"SassException":{"Exception":[]},"MultiSpanSassException":{"Exception":[]},"MultiSpanSassRuntimeException":{"SassRuntimeException":[],"Exception":[]},"SassFormatException":{"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"MultiSpanSassFormatException":{"MultiSourceSpanFormatException":[],"SassFormatException":[],"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"UsageException":{"Exception":[]},"EmptyExtensionStore":{"ExtensionStore":[]},"MergedExtension":{"Extension":[]},"Importer":{"AsyncImporter":[]},"FilesystemImporter":{"Importer":[],"AsyncImporter":[]},"NodePackageImporter":{"Importer":[],"AsyncImporter":[]},"BuiltInModule":{"Module0":["1"]},"ForwardedModuleView":{"Module0":["1"]},"ShadowedModuleView":{"Module0":["1"]},"LazyFileSpan":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"LimitedMapView":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"MergedMapView":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"MultiSpan":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"PrefixedMapView":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"_PrefixedKeys":{"Iterable":["String"],"Iterable.E":"String"},"PublicMemberMapView":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"UnprefixedMapView":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"_UnprefixedKeys":{"Iterable":["String"],"Iterable.E":"String"},"SassArgumentList":{"SassList":[],"Value":[]},"SassBoolean":{"Value":[]},"SassCalculation":{"Value":[]},"SassColor":{"Value":[]},"SassFunction":{"Value":[]},"SassList":{"Value":[]},"SassMap":{"Value":[]},"SassMixin":{"Value":[]},"_SassNull":{"Value":[]},"SassNumber":{"Value":[]},"ComplexSassNumber":{"SassNumber":[],"Value":[]},"SingleUnitSassNumber":{"SassNumber":[],"Value":[]},"UnitlessSassNumber":{"SassNumber":[],"Value":[]},"SassString":{"Value":[]},"_EvaluationContext0":{"EvaluationContext":[]},"_EvaluationContext":{"EvaluationContext":[]},"Entry":{"Comparable":["Entry"]},"FileLocation":{"SourceLocation":[],"Comparable":["SourceLocation"]},"FileSpan":{"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"_FileSpan":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceLocation":{"Comparable":["SourceLocation"]},"SourceLocationMixin":{"SourceLocation":[],"Comparable":["SourceLocation"]},"SourceSpan":{"Comparable":["SourceSpan"]},"SourceSpanBase":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanException":{"Exception":[]},"SourceSpanFormatException":{"FormatException":[],"Exception":[]},"MultiSourceSpanException":{"Exception":[]},"MultiSourceSpanFormatException":{"FormatException":[],"Exception":[]},"SourceSpanMixin":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanWithContext":{"SourceSpan":[],"Comparable":["SourceSpan"]},"Chain":{"StackTrace":[]},"LazyTrace":{"Trace":[],"StackTrace":[]},"Trace":{"StackTrace":[]},"UnparsedFrame":{"Frame":[]},"StringScannerException":{"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"SupportsAnything0":{"AstNode0":[]},"Argument0":{"AstNode0":[]},"ArgumentDeclaration0":{"AstNode0":[]},"ArgumentInvocation0":{"AstNode0":[]},"SassArgumentList0":{"SassList0":[],"Value0":[]},"JSToDartAsyncImporter":{"AsyncImporter0":[]},"AsyncBuiltInCallable0":{"AsyncCallable0":[]},"_EnvironmentModule2":{"Module1":["AsyncCallable0"]},"_EvaluationContext2":{"EvaluationContext0":[]},"JSToDartAsyncFileImporter":{"AsyncImporter0":[]},"AtRootRule0":{"Statement0":[],"AstNode0":[]},"ModifiableCssAtRule0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"AtRule0":{"Statement0":[],"AstNode0":[]},"AttributeSelector0":{"SimpleSelector0":[],"AstNode0":[]},"BinaryOperationExpression0":{"Expression0":[],"AstNode0":[]},"BooleanExpression0":{"Expression0":[],"AstNode0":[]},"SassBoolean0":{"Value0":[]},"BuiltInCallable0":{"Callable":[],"AsyncBuiltInCallable0":[],"AsyncCallable0":[]},"BuiltInModule0":{"Module1":["1"]},"SassCalculation0":{"Value0":[]},"CallableDeclaration0":{"Statement0":[],"AstNode0":[]},"ClassSelector0":{"SimpleSelector0":[],"AstNode0":[]},"ColorExpression0":{"Expression0":[],"AstNode0":[]},"SassColor0":{"Value0":[]},"ModifiableCssComment0":{"ModifiableCssNode0":[],"CssComment0":[],"CssNode0":[],"AstNode0":[]},"AsyncCompiler":{"Compiler":[]},"ComplexSassNumber0":{"SassNumber0":[],"Value0":[]},"ComplexSelector0":{"AstNode0":[]},"CompoundSelector0":{"AstNode0":[]},"ExplicitConfiguration0":{"Configuration0":[]},"ConfiguredVariable0":{"AstNode0":[]},"ContentBlock0":{"Statement0":[],"AstNode0":[]},"ContentRule0":{"Statement0":[],"AstNode0":[]},"DebugRule0":{"Statement0":[],"AstNode0":[]},"ModifiableCssDeclaration0":{"ModifiableCssNode0":[],"CssNode0":[],"AstNode0":[]},"Declaration0":{"Statement0":[],"AstNode0":[]},"SupportsDeclaration0":{"AstNode0":[]},"DynamicImport0":{"Import0":[],"AstNode0":[]},"EachRule0":{"Statement0":[],"AstNode0":[]},"EmptyExtensionStore0":{"ExtensionStore0":[]},"_EnvironmentModule1":{"Module1":["Callable"]},"ErrorRule0":{"Statement0":[],"AstNode0":[]},"_EvaluationContext1":{"EvaluationContext0":[]},"SassRuntimeException0":{"Exception":[]},"SassException0":{"Exception":[]},"MultiSpanSassException0":{"Exception":[]},"MultiSpanSassRuntimeException0":{"SassRuntimeException0":[],"Exception":[]},"SassFormatException0":{"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"MultiSpanSassFormatException0":{"MultiSourceSpanFormatException":[],"SassFormatException0":[],"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"Expression0":{"AstNode0":[]},"ExtendRule0":{"Statement0":[],"AstNode0":[]},"JSToDartFileImporter":{"Importer0":[],"AsyncImporter0":[]},"FilesystemImporter0":{"Importer0":[],"AsyncImporter0":[]},"ForRule0":{"Statement0":[],"AstNode0":[]},"ForwardRule0":{"Statement0":[],"AstNode0":[]},"ForwardedModuleView0":{"Module1":["1"]},"FunctionExpression0":{"Expression0":[],"AstNode0":[]},"SupportsFunction0":{"AstNode0":[]},"SassFunction0":{"Value0":[]},"FunctionRule0":{"Statement0":[],"AstNode0":[]},"IDSelector0":{"SimpleSelector0":[],"AstNode0":[]},"IfExpression0":{"Expression0":[],"AstNode0":[]},"IfClause0":{"IfRuleClause0":[]},"ElseClause0":{"IfRuleClause0":[]},"IfRule0":{"Statement0":[],"AstNode0":[]},"ModifiableCssImport0":{"ModifiableCssNode0":[],"CssNode0":[],"AstNode0":[]},"ImportRule0":{"Statement0":[],"AstNode0":[]},"Importer0":{"AsyncImporter0":[]},"IncludeRule0":{"Statement0":[],"AstNode0":[]},"InterpolatedFunctionExpression0":{"Expression0":[],"AstNode0":[]},"Interpolation0":{"AstNode0":[]},"SupportsInterpolation0":{"AstNode0":[]},"ModifiableCssKeyframeBlock0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"LazyFileSpan0":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"LimitedMapView0":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"ListExpression0":{"Expression0":[],"AstNode0":[]},"SelectorList0":{"AstNode0":[]},"_ParentSelectorVisitor0":{"SelectorSearchVisitor0":["ParentSelector0"],"SelectorSearchVisitor0.T":"ParentSelector0"},"SassList0":{"Value0":[]},"LoudComment0":{"Statement0":[],"AstNode0":[]},"MapExpression0":{"Expression0":[],"AstNode0":[]},"SassMap0":{"Value0":[]},"ModifiableCssMediaRule0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"MediaRule0":{"Statement0":[],"AstNode0":[]},"MergedExtension0":{"Extension0":[]},"MergedMapView0":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"SassMixin0":{"Value0":[]},"MixinRule0":{"Statement0":[],"AstNode0":[]},"_HasContentVisitor0":{"StatementSearchVisitor0":["bool"],"StatementSearchVisitor0.T":"bool"},"MultiSpan0":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"SupportsNegation0":{"AstNode0":[]},"NoOpImporter0":{"Importer0":[],"AsyncImporter0":[]},"_FakeAstNode0":{"AstNode0":[]},"CssNode0":{"AstNode0":[]},"CssParentNode0":{"CssNode0":[],"AstNode0":[]},"ModifiableCssNode0":{"CssNode0":[],"AstNode0":[]},"ModifiableCssParentNode0":{"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"NodePackageImporter0":{"Importer0":[],"AsyncImporter0":[]},"NullExpression0":{"Expression0":[],"AstNode0":[]},"_SassNull0":{"Value0":[]},"NumberExpression0":{"Expression0":[],"AstNode0":[]},"SassNumber0":{"Value0":[]},"SupportsOperation0":{"AstNode0":[]},"ParentSelector0":{"SimpleSelector0":[],"AstNode0":[]},"ParentStatement0":{"Statement0":[],"AstNode0":[]},"ParenthesizedExpression0":{"Expression0":[],"AstNode0":[]},"PlaceholderSelector0":{"SimpleSelector0":[],"AstNode0":[]},"PlainCssCallable0":{"Callable":[],"AsyncCallable0":[]},"PrefixedMapView0":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"_PrefixedKeys0":{"Iterable":["String"],"Iterable.E":"String"},"PseudoSelector0":{"SimpleSelector0":[],"AstNode0":[]},"PublicMemberMapView0":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"ReturnRule0":{"Statement0":[],"AstNode0":[]},"Selector0":{"AstNode0":[]},"SelectorExpression0":{"Expression0":[],"AstNode0":[]},"ShadowedModuleView0":{"Module1":["1"]},"SilentComment0":{"Statement0":[],"AstNode0":[]},"SimpleSelector0":{"AstNode0":[]},"SingleUnitSassNumber0":{"SassNumber0":[],"Value0":[]},"StaticImport0":{"Import0":[],"AstNode0":[]},"StringExpression0":{"Expression0":[],"AstNode0":[]},"SassString0":{"Value0":[]},"ModifiableCssStyleRule0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"StyleRule0":{"Statement0":[],"AstNode0":[]},"CssStylesheet0":{"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"ModifiableCssStylesheet0":{"ModifiableCssParentNode0":[],"CssStylesheet0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"Stylesheet0":{"Statement0":[],"AstNode0":[]},"SupportsExpression0":{"Expression0":[],"AstNode0":[]},"ModifiableCssSupportsRule0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"SupportsRule0":{"Statement0":[],"AstNode0":[]},"JSToDartImporter":{"Importer0":[],"AsyncImporter0":[]},"TypeSelector0":{"SimpleSelector0":[],"AstNode0":[]},"UnaryOperationExpression0":{"Expression0":[],"AstNode0":[]},"UnitlessSassNumber0":{"SassNumber0":[],"Value0":[]},"UniversalSelector0":{"SimpleSelector0":[],"AstNode0":[]},"UnprefixedMapView0":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"_UnprefixedKeys0":{"Iterable":["String"],"Iterable.E":"String"},"UseRule0":{"Statement0":[],"AstNode0":[]},"UserDefinedCallable0":{"Callable":[],"AsyncCallable0":[]},"CssValue0":{"AstNode0":[]},"ValueExpression0":{"Expression0":[],"AstNode0":[]},"VariableExpression0":{"Expression0":[],"AstNode0":[]},"VariableDeclaration0":{"Statement0":[],"AstNode0":[]},"WarnRule0":{"Statement0":[],"AstNode0":[]},"WhileRule0":{"Statement0":[],"AstNode0":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"CssComment":{"CssNode":[],"AstNode":[]},"Import":{"AstNode":[]},"Statement":{"AstNode":[]},"Callable0":{"AsyncCallable":[]},"Callable":{"AsyncCallable0":[]},"CssComment0":{"CssNode0":[],"AstNode0":[]},"Import0":{"AstNode0":[]},"Statement0":{"AstNode0":[]}}'));
  A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"WhereIterator":1,"SkipIterator":1,"SkipWhileIterator":1,"EmptyIterator":1,"FollowedByIterator":1,"FixedLengthListMixin":1,"UnmodifiableListMixin":1,"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"ConstantSet":1,"LinkedHashMapKeyIterator":1,"NativeTypedArray":1,"EventSink":1,"_SyncStarIterator":1,"_SyncStreamControllerDispatch":1,"_AsyncStreamControllerDispatch":1,"_AddStreamState":1,"_StreamControllerAddStreamState":1,"_DelayedEvent":1,"_DelayedData":1,"_PendingEvents":1,"_StreamIterator":1,"_ZoneFunction":1,"Queue":1,"UnmodifiableMapBase":2,"_UnmodifiableMapMixin":2,"MapView":2,"_UnmodifiableSetMixin":1,"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":2,"_UnmodifiableSetView_SetBase__UnmodifiableSetMixin":1,"_StringSinkConversionSink":1,"Expando":1,"_EventRequest":1,"_EmptyUnmodifiableSet_IterableBase_UnmodifiableSetMixin":1,"DefaultEquality":1,"IterableEquality":1,"ListEquality":1,"_QueueList_Object_ListMixin":1,"_UnionSet_SetBase_UnmodifiableSetMixin":1,"UnmodifiableSetMixin":1,"_UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin":1,"_DelegatingIterableBase":1,"_MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin":1,"ParentStatement":1,"ParentStatement0":1}'));
  var string$ = {
    x0a_BUG_: "\n\nBUG: This should include a source span!",
    x0a_Morex20: "\n\nMore info and automated migrator: https://sass-lang.com/d/slash-div",
    x0a_Morex3a: "\n\nMore info: https://sass-lang.com/d/function-units",
    x0a_See_: "\n\nSee https://sass-lang.com/d/function-units",
    x0a_This: "\n\nThis is only an error because you've set the ",
    x0a_To_p: "\n\nTo preserve current behavior: math.random(math.div($limit, 1",
    x0a_but_: "\n\nbut you may have intended it to mean:\n\n    ",
    x0aRun_i: "\nRun in verbose mode to see all warnings.",
    x0aThis_: "\nThis will be an error in Dart Sass 2.0.0.\n\nMore info: https://sass-lang.com/d/bogus-combinators",
    x0aYou_m: "\nYou may not @extend the same selector from within different media queries.",
    x20It_wi: " It will be omitted from the generated CSS.",
    x20be_an: " be an extender.\nThis will be an error in Dart Sass 2.0.0.\n\nMore info: https://sass-lang.com/d/bogus-combinators",
    x20can_n: " can not have both conditions and paths at the same level.\nFound ",
    x20deprex20i: " deprecation is not yet active, so silencing it is unnecessary.",
    x20deprex20m: " deprecation must be enabled before it can be made fatal.",
    x20deprex20t: " deprecation to be fatal.\nRemove this setting if you need to keep using this feature.",
    x20deprex2c: " deprecation, since it has also been made fatal.",
    x20in_in: " in interpolation here.\nIt may end up represented as ",
    x20is_as: " is asynchronous.\nThis is probably caused by a bug in a Sass plugin.",
    x20is_av: " is available from multiple global modules.",
    x20is_de: " is deprecated.\n\nTo preserve current behavior: ",
    x20is_noaf: " is not a future deprecation, so it does not need to be explicitly enabled.",
    x20is_noav: " is not a valid selector: it must be a string,\na list of strings, or a list of lists of strings.",
    x20is_nov: " is not valid CSS.\nThis will be an error in Dart Sass 2.0.0.\n\nMore info: https://sass-lang.com/d/bogus-combinators",
    x20must_b: " must be either nearest, up, down or to-zero.",
    x20must_n: " must not be greater than the number of characters in the file, ",
    x20repet: " repetitive deprecation warnings omitted.",
    x20targe: " targetLocations if the interpolation has ",
    x20to_cl: " to clarify that it's meant to be a binary operation, or wrap\nit in parentheses to make it a unary operation. This will be an error in future\nversions of Sass.\n\nMore info and automated migrator: https://sass-lang.com/d/strict-unary",
    x20to_co: " to color.opacity() is deprecated.\n\nRecommendation: ",
    x20was_a: ' was already loaded, so it can\'t be configured using "with".',
    x20was_n: " was not declared with !default in the @used module.",
    x20was_p: " was passed both by position and by name.",
    x21defau: "!default should only be written once for each variable.\nThis will be an error in Dart Sass 2.0.0.",
    x21globai: "!global isn't allowed for variables in other modules.",
    x21globas: "!global should only be written once for each variable.\nThis will be an error in Dart Sass 2.0.0.",
    x22x20can_: "\" can't be used as a parent in a compound selector.",
    x22x20is_ix0a: '" is invalid CSS.\nThis will be an error in Dart Sass 2.0.0.\n\nMore info: https://sass-lang.com/d/bogus-combinators',
    x22x20is_ix20: '" is invalid CSS. It will be omitted from the generated CSS.\nThis will be an error in Dart Sass 2.0.0.\n\nMore info: https://sass-lang.com/d/bogus-combinators',
    x22x20is_n: '" is not a valid Sass identifier.\n\nRecommendation: add an "as" clause to define an explicit namespace.',
    x22x20is_o: "\" is only valid for nesting and shouldn't\nhave children other than style rules.",
    x22x26__ma: '"&" may only used at the beginning of a compound selector.',
    x22x29__If: "\").\nIf you really want to use the color value here, use '",
    x22x2b__an: '"+" and "-" must be surrounded by whitespace in calculations.',
    x22packa: '"package:" URLs aren\'t supported on this platform.',
    x24css_a: "$css and $module may not both be passed at once.",
    x24list1: "$list1, $list2, $separator: auto, $bracketed: auto",
    x24selec: "$selectors: At least one selector must be passed.",
    x24separ: '$separator: Must be "space", "comma", "slash", or "auto".',
    x27x20must: "' must be a path relative to the package root at '",
    x27x2c_whi: "', which is not a '.scss', '.sass', or '.css' file.",
    x28__isn: "() isn't in the sass:color module.\n\nRecommendation: color.adjust(",
    x29x0a_Mor: ")\n\nMore info: https://sass-lang.com/documentation/functions/color#",
    x29x20in_a: ") in a future release.\n\nRecommendation: math.random(math.div($limit, 1",
    x29x20is_d: ") is deprecated.\n\nTo preserve current behavior: ",
    x29x20to_cg: ") to color.grayscale() is deprecated.\n\nRecommendation: ",
    x29x20to_ci: ") to color.invert() is deprecated.\n\nRecommendation: ",
    x29x29__Mo: "))\n\nMore info: https://sass-lang.com/d/function-units",
    x2c_whicu: ", which uses a scheme declared as non-canonical.",
    x2c_whicw: ', which will likely produce invalid CSS.\nAlways quote color names when using them as strings or map keys (for example, "',
    x2e_Rela: ".\nRelative canonical URLs are deprecated and will eventually be disallowed.",
    x3d_____: "===== asynchronous gap ===========================\n",
    x40_moz_: "@-moz-document is deprecated and support will be removed in Dart Sass 2.0.0.\n\nFor details, see https://sass-lang.com/d/moz-document.",
    x40conte: "@content is only allowed within mixin declarations.",
    x40elsei: "@elseif is deprecated and will not be supported in future Sass versions.\n\nRecommendation: @else if",
    x40exten: "@extend may only be used within style rules.",
    x40forwa: "@forward rules must be written before any other rules.",
    x40funct: "@function if($condition, $if-true, $if-false) {",
    x40use_r: "@use rules must be written before any other rules.",
    A_list: "A list with more than one element must have an explicit separator.",
    A_pkg_h: "A pkg: URL must not have a host, port, username or password.",
    A_pkg_q: "A pkg: URL must not have a query or fragment.",
    ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    An_impa: "An importer may not have a findFileUrl method as well as canonicalize and load methods.",
    An_impu: "An importer must have either canonicalize and load methods, or a findFileUrl method.",
    As_of_R: "As of Dart Sass 2.0.0, !global assignments won't be able to declare new variables.\n\nRecommendation: add `",
    As_of_S: "As of Dart Sass 2.0.0, !global assignments won't be able to declare new variables.\n\nSince this assignment is at the root of the stylesheet, the !global flag is\nunnecessary and can safely be removed.",
    At_rul: "At-rules may not be used within nested declarations.",
    Cannotff: "Cannot extract a file path from a URI with a fragment component",
    Cannotfq: "Cannot extract a file path from a URI with a query component",
    Cannotn: "Cannot extract a non-Windows file path from a file URI with an authority",
    Comple: "ComplexSassNumber.hasPossiblyCompatibleUnits is not implemented.",
    Could_: 'Could not find an option with short name "-',
    CssNod: "CssNodes must have a CssStylesheet transitive parent node.",
    Custom: "Custom importers are required to load stylesheets when compiling in the browser.",
    Declarm: "Declarations may only be used within style rules.",
    Declarw: 'Declarations whose names begin with "--" may not be nested.',
    Either: "Either options.data or options.file must be set.",
    Entrie: "Entries may not be removed from MergedMapView.",
    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",
    Evalua: "Evaluation handles @include and its content block together.",
    Expect: "Expected variable, mixin, or function name",
    Functi: "Functions may not be declared in control directives.",
    HSL_pa: "HSL parameters may not be passed along with HWB parameters.",
    If_con: "If conditions is longer than one element, conjunction may not be null.",
    If_par: "If parsedAsCustomProperty is true, value must contain a SassString (was `",
    If_str: "If strategy is not null, step is required.",
    In_Sas: 'In Sass, "&&" means two copies of the parent selector. You probably want to use "and" instead.',
    Indent: "Indenting at the beginning of the document is illegal.",
    Interpn: "Interpolation isn't allowed in namespaces.",
    Interpp: "Interpolation isn't allowed in plain CSS.",
    Invali: 'Invalid return value for custom function "',
    It_s_n: "It's not clear which file to import. Found:\n",
    Keywor: "Keyword arguments can't be used with calculations.",
    May_on: "May only contains Strings or Expressions.",
    Media_: "Media rules may not be used within nested declarations.",
    Mixinsb: "Mixins may not be declared in control directives.",
    Mixinscf: "Mixins may not contain function declarations.",
    Mixinscm: "Mixins may not contain mixin declarations.",
    Modulel: "Module loop: this module is already being loaded.",
    Modulen: "Module namespaces aren't allowed in plain CSS.",
    Nested: "Nested declarations aren't allowed in plain CSS.",
    New_en: "New entries may not be added to MergedMapView.",
    No_Sasc: "No Sass callable is currently being evaluated.",
    No_Sass: "No Sass stylesheet is currently being evaluated.",
    NoSour: "NoSourceMapBuffer.buildSourceMap() is not supported.",
    None_o: "None of the patterns in the switch expression the matched input value. See https://github.com/dart-lang/language/issues/3488 for details.",
    Number: "Number to round and step arguments are required.",
    Only_2: "Only 2 slash-separated elements allowed, but ",
    Only_oa: "Only one argument may be passed to the plain-CSS invert() function.",
    Only_op: "Only one positional argument is allowed. All other arguments must be passed by name.",
    Other_: "Other modules' members can't be defined with !global.",
    Parent: "Parent selectors can't have suffixes in plain CSS.",
    Passina: "Passing a string to call() is deprecated and will be illegal in Dart Sass 2.0.0.\n\nRecommendation: call(get-function(",
    Passinp: "Passing percentage units to the global abs() function is deprecated.\nIn the future, this will emit a CSS abs() function to be resolved by the browser.\nTo preserve current behavior: math.abs(",
    Placeh: "Placeholder selectors aren't allowed in plain CSS.",
    Plain_: "Plain CSS functions don't support keyword arguments.",
    Positi: "Positional arguments must come before keyword arguments.",
    Privat: "Private members can't be accessed from outside their modules.",
    RGB_pa: "RGB parameters may not be passed along with ",
    Rest_a: "Rest arguments can't be used with calculations.",
    Sassx20_ff: "Sass @function names beginning with -- are deprecated for forward-compatibility with plain CSS functions.\n\nFor details, see https://sass-lang.com/d/css-function-mixin",
    Sassx20_fm: "Sass @function names beginning with -- are deprecated for forward-compatibility with plain CSS mixins.\n\nFor details, see https://sass-lang.com/d/css-function-mixin",
    Sassx20_i: "Sass @import rules will be deprecated in the future.\nRemove the --future-deprecation=import flag to silence this warning for now.",
    Sassx20_m: "Sass @mixin names beginning with -- are deprecated for forward-compatibility with plain CSS mixins.\n\nFor details, see https://sass-lang.com/d/css-function-mixin",
    Sassx20v: "Sass variables aren't allowed in plain CSS.",
    Sassx27s: "Sass's behavior for declarations that appear after nested\nrules will be changing to match the behavior specified by CSS in an upcoming\nversion. To keep the existing behavior, move the declaration above the nested\nrule. To opt into the new behavior, wrap the declaration in `& {}`.\n\nMore info: https://sass-lang.com/d/mixed-decls",
    Silent: "Silent comments aren't allowed in plain CSS.",
    Style_k: "Style rules may not be used within keyframe blocks.",
    Style_n: "Style rules may not be used within nested declarations.",
    Suppor: "Supports rules may not be used within nested declarations.",
    The_Ex: "The ExtensionStore and CssStylesheet passed to cloneCssStylesheet() must come from the same compilation.",
    The_No: "The Node package importer cannot be used without a filesystem.",
    The_ca: "The canonicalize() method must return a URL.",
    The_fie: "The findFileUrl() method must return a URL.",
    The_fiu: 'The findFileUrl() must return a URL with scheme file://, was "',
    The_gi: "The given LineScannerState was not returned by this LineScanner.",
    The_lo: "The load() function must return an object with contents and syntax fields.",
    The_pa: "The parent selector isn't allowed in plain CSS.",
    The_sa: "The same variable may only be configured once.",
    The_ta: 'The target selector was not found.\nUse "@extend ',
    There_: "There's already a module with namespace \"",
    This_d: 'This declaration has no argument named "$',
    This_e: "This expression can't be used in a calculation.",
    This_f: "This function isn't allowed in plain CSS.",
    This_ma: 'This module and the new module both define a variable named "$',
    This_mw: 'This module was already loaded, so it can\'t be configured using "with".',
    This_o: "This operation can't be used in a calculation.",
    This_s: "This selector doesn't have any properties and won't be rendered.",
    This_v: "This variable was not declared with !default in the @used module.",
    Top_lel: "Top-level leading combinators aren't allowed in plain CSS.",
    Top_les: 'Top-level selectors may not contain the parent selector "&".',
    Unable: "Unable to determine which of multiple potential resolutions found for ",
    Unexpe: "Unexpected Zone.current[#_canonicalizeContext] value ",
    User_a: "User-authored deprecations should not be silenced.",
    Using__i: "Using / for division is deprecated and will be removed in Dart Sass 2.0.0.\n\nRecommendation: ",
    Using__o: "Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.\n\nRecommendation: ",
    Using_c: "Using color.alpha() for a Microsoft filter is deprecated.\n\nRecommendation: ",
    Using_t: "Using the current working directory as an implicit load path is deprecated. Either add it as an explicit load path or importer, or load this stylesheet from a different URL.",
    Variab_: "Variable keyword argument map must have string keys.\n",
    Variabs: "Variable keyword arguments must be a map (was ",
    You_ma: "You may not @extend selectors across media queries.",
    You_pr: "You probably don't mean to use the color value ",
    x60_inst: "` instead.\nSee https://sass-lang.com/d/extend-compound for details.\n",
    addExt: "addExtensions() can't be called for a const ExtensionStore.",
    canoni: "canonicalizeContext may only be accessed within a call to canonicalize().",
    compou: "compound selectors may no longer be extended.\nConsider `@extend ",
    conten: "content-exists() may only be called within a mixin.",
    fileEx: "fileExists() is only supported on Node.js",
    leadin: "leadingCombinators and components may not both be empty.",
    math_d: "math.div() will only support number arguments in a future release.\nUse list.slash() instead for a slash separator.",
    math_r: "math.random() will no longer ignore $limit units (",
    must_b: "must be a UniversalSelector or a TypeSelector",
    parsed: 'parsedAsCustomProperty must be false if name doesn\'t begin with "--".',
    semico: "semicolons aren't allowed in the indented syntax.",
    throug: "through() must return false for at least one parent of ",
    x7d__Mor: "})\nMore info: https://sass-lang.com/d/abs-percent"
  };
  var type$ = (function rtii() {
    var findType = A.findType;
    return {
      $env_1_1_String: findType("@"),
      ArgParser: findType("ArgParser"),
      Argument: findType("Argument"),
      ArgumentDeclaration: findType("ArgumentDeclaration"),
      ArgumentDeclaration_2: findType("ArgumentDeclaration0"),
      Argument_2: findType("Argument0"),
      AstNode: findType("AstNode"),
      AstNode_2: findType("AstNode0"),
      AsyncBuiltInCallable: findType("AsyncBuiltInCallable"),
      AsyncBuiltInCallable_2: findType("AsyncBuiltInCallable0"),
      AsyncCallable: findType("AsyncCallable"),
      AsyncCallable_2: findType("AsyncCallable0"),
      AsyncCompiler: findType("AsyncCompiler"),
      AsyncImporter: findType("AsyncImporter0"),
      Box_SelectorList: findType("Box"),
      Box_SelectorList_2: findType("Box0"),
      BuiltInCallable: findType("BuiltInCallable"),
      BuiltInCallable_2: findType("BuiltInCallable0"),
      BuiltInModule_AsyncCallable: findType("BuiltInModule"),
      BuiltInModule_AsyncCallable_2: findType("BuiltInModule0"),
      BuiltInModule_Callable: findType("BuiltInModule"),
      BuiltInModule_Callable_2: findType("BuiltInModule0"),
      ByteBuffer: findType("ByteBuffer"),
      ByteData: findType("ByteData"),
      Callable: findType("Callable0"),
      Callable_2: findType("Callable"),
      ChangeType: findType("ChangeType"),
      CodeUnits: findType("CodeUnits"),
      Combinator: findType("Combinator"),
      Combinator_2: findType("Combinator0"),
      Comparable_dynamic: findType("Comparable<@>"),
      Comparable_nullable_Object: findType("Comparable"),
      CompileResult: findType("CompileResult"),
      CompileResult_2: findType("CompileResult0"),
      ComplexSelector: findType("ComplexSelector"),
      ComplexSelectorComponent: findType("ComplexSelectorComponent"),
      ComplexSelectorComponent_2: findType("ComplexSelectorComponent0"),
      ComplexSelector_2: findType("ComplexSelector0"),
      Configuration: findType("Configuration"),
      Configuration_2: findType("Configuration0"),
      ConfiguredValue: findType("ConfiguredValue"),
      ConfiguredValue_2: findType("ConfiguredValue0"),
      ConfiguredVariable: findType("ConfiguredVariable"),
      ConfiguredVariable_2: findType("ConfiguredVariable0"),
      ConstantMapView_Symbol_dynamic: findType("ConstantMapView"),
      ConstantStringMap_String_double: findType("ConstantStringMap"),
      ConstantStringSet_String: findType("ConstantStringSet"),
      CssComment: findType("CssComment"),
      CssComment_2: findType("CssComment0"),
      CssMediaQuery: findType("CssMediaQuery"),
      CssMediaQuery_2: findType("CssMediaQuery0"),
      CssParentNode: findType("CssParentNode"),
      CssParentNode_2: findType("CssParentNode0"),
      CssStylesheet: findType("CssStylesheet"),
      CssStylesheet_2: findType("CssStylesheet0"),
      CssValue_Combinator: findType("CssValue"),
      CssValue_Combinator_2: findType("CssValue0"),
      CssValue_List_String: findType("CssValue>"),
      CssValue_List_String_2: findType("CssValue0>"),
      CssValue_String: findType("CssValue"),
      CssValue_String_2: findType("CssValue0"),
      CssValue_Value: findType("CssValue"),
      CssValue_Value_2: findType("CssValue0"),
      DateTime: findType("DateTime"),
      Deprecation: findType("Deprecation"),
      Deprecation_2: findType("Deprecation1"),
      Deprecation_3: findType("Deprecation0"),
      EfficientLengthIterable_dynamic: findType("EfficientLengthIterable<@>"),
      Error: findType("Error"),
      EvaluationContext: findType("EvaluationContext"),
      EvaluationContext_2: findType("EvaluationContext0"),
      Exception: findType("Exception"),
      Expression: findType("Expression"),
      Expression_2: findType("Expression0"),
      Extender: findType("Extender"),
      Extender_2: findType("Extender0"),
      Extension: findType("Extension"),
      Extension_2: findType("Extension0"),
      FileLocation: findType("FileLocation"),
      FileSpan: findType("FileSpan"),
      Float32List: findType("Float32List"),
      Float64List: findType("Float64List"),
      FormatException: findType("FormatException"),
      Frame: findType("Frame"),
      Function: findType("Function"),
      FutureGroup_void: findType("FutureGroup<~>"),
      FutureOr_Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet: findType("+loadedUrls,stylesheet(Set,CssStylesheet)/"),
      FutureOr_Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet_2: findType("+loadedUrls,stylesheet(Set,CssStylesheet0)/"),
      FutureOr_nullable_Uri: findType("Uri?/"),
      Future_Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet: findType("Future<+loadedUrls,stylesheet(Set,CssStylesheet)>"),
      Future_Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet_2: findType("Future<+loadedUrls,stylesheet(Set,CssStylesheet0)>"),
      Future_Value: findType("Future"),
      Future_Value_2: findType("Future"),
      Future_nullable_CssValue_String: findType("Future?>"),
      Future_nullable_CssValue_String_2: findType("Future?>"),
      Future_nullable_ImporterResult: findType("Future"),
      Future_nullable_Uri: findType("Future"),
      Future_nullable_Value: findType("Future"),
      Future_nullable_Value_2: findType("Future"),
      Future_void: findType("Future<~>"),
      IfClause: findType("IfClause"),
      IfClause_2: findType("IfClause0"),
      ImmutableList: findType("ImmutableList0"),
      ImmutableList_2: findType("ImmutableList"),
      ImmutableMap: findType("ImmutableMap0"),
      Import: findType("Import"),
      Import_2: findType("Import0"),
      Importer: findType("Importer0"),
      ImporterResult: findType("ImporterResult"),
      ImporterResult_2: findType("ImporterResult0"),
      Importer_2: findType("Importer"),
      Int16List: findType("Int16List"),
      Int32List: findType("Int32List"),
      Int8List: findType("Int8List"),
      Interpolation: findType("Interpolation"),
      InterpolationBuffer: findType("InterpolationBuffer"),
      InterpolationBuffer_2: findType("InterpolationBuffer0"),
      Interpolation_2: findType("Interpolation0"),
      Iterable_ComplexSelectorComponent: findType("Iterable"),
      Iterable_ComplexSelectorComponent_2: findType("Iterable"),
      Iterable_dynamic: findType("Iterable<@>"),
      Iterable_nullable_Object: findType("Iterable"),
      JSArray_Argument: findType("JSArray"),
      JSArray_Argument_2: findType("JSArray"),
      JSArray_AstNode: findType("JSArray"),
      JSArray_AstNode_2: findType("JSArray"),
      JSArray_AsyncBuiltInCallable: findType("JSArray"),
      JSArray_AsyncBuiltInCallable_2: findType("JSArray"),
      JSArray_AsyncCallable: findType("JSArray"),
      JSArray_AsyncCallable_2: findType("JSArray"),
      JSArray_AsyncImporter: findType("JSArray"),
      JSArray_AsyncImporter_2: findType("JSArray"),
      JSArray_BinaryOperator: findType("JSArray"),
      JSArray_BinaryOperator_2: findType("JSArray"),
      JSArray_BuiltInCallable: findType("JSArray"),
      JSArray_BuiltInCallable_2: findType("JSArray"),
      JSArray_Callable: findType("JSArray"),
      JSArray_Callable_2: findType("JSArray"),
      JSArray_ComplexSelector: findType("JSArray"),
      JSArray_ComplexSelectorComponent: findType("JSArray"),
      JSArray_ComplexSelectorComponent_2: findType("JSArray"),
      JSArray_ComplexSelector_2: findType("JSArray"),
      JSArray_ConfiguredVariable: findType("JSArray"),
      JSArray_ConfiguredVariable_2: findType("JSArray"),
      JSArray_CssComment: findType("JSArray"),
      JSArray_CssComment_2: findType("JSArray"),
      JSArray_CssMediaQuery: findType("JSArray"),
      JSArray_CssMediaQuery_2: findType("JSArray"),
      JSArray_CssNode: findType("JSArray"),
      JSArray_CssNode_2: findType("JSArray"),
      JSArray_CssValue_Combinator: findType("JSArray>"),
      JSArray_CssValue_Combinator_2: findType("JSArray>"),
      JSArray_Entry: findType("JSArray"),
      JSArray_Expression: findType("JSArray"),
      JSArray_Expression_2: findType("JSArray"),
      JSArray_Extender: findType("JSArray"),
      JSArray_Extender_2: findType("JSArray"),
      JSArray_Extension: findType("JSArray"),
      JSArray_ExtensionStore: findType("JSArray"),
      JSArray_ExtensionStore_2: findType("JSArray"),
      JSArray_Extension_2: findType("JSArray"),
      JSArray_ForwardRule: findType("JSArray"),
      JSArray_ForwardRule_2: findType("JSArray"),
      JSArray_Frame: findType("JSArray"),
      JSArray_Future_nullable_Record_3_int_and_String_and_nullable_String: findType("JSArray>"),
      JSArray_IfClause: findType("JSArray"),
      JSArray_IfClause_2: findType("JSArray"),
      JSArray_Import: findType("JSArray"),
      JSArray_Import_2: findType("JSArray"),
      JSArray_Importer: findType("JSArray"),
      JSArray_Importer_2: findType("JSArray"),
      JSArray_Iterable_ComplexSelectorComponent: findType("JSArray>"),
      JSArray_Iterable_ComplexSelectorComponent_2: findType("JSArray>"),
      JSArray_JSFunction: findType("JSArray"),
      JSArray_List_ComplexSelector: findType("JSArray>"),
      JSArray_List_ComplexSelectorComponent: findType("JSArray>"),
      JSArray_List_ComplexSelectorComponent_2: findType("JSArray>"),
      JSArray_List_ComplexSelector_2: findType("JSArray>"),
      JSArray_List_Extender: findType("JSArray>"),
      JSArray_List_Extender_2: findType("JSArray>"),
      JSArray_List_Iterable_ComplexSelectorComponent: findType("JSArray>>"),
      JSArray_List_Iterable_ComplexSelectorComponent_2: findType("JSArray>>"),
      JSArray_Map_String_AstNode: findType("JSArray>"),
      JSArray_Map_String_AstNode_2: findType("JSArray>"),
      JSArray_Map_String_AsyncCallable: findType("JSArray>"),
      JSArray_Map_String_AsyncCallable_2: findType("JSArray>"),
      JSArray_Map_String_Callable: findType("JSArray>"),
      JSArray_Map_String_Callable_2: findType("JSArray>"),
      JSArray_Map_String_Value: findType("JSArray>"),
      JSArray_Map_String_Value_2: findType("JSArray>"),
      JSArray_ModifiableCssImport: findType("JSArray"),
      JSArray_ModifiableCssImport_2: findType("JSArray"),
      JSArray_ModifiableCssNode: findType("JSArray"),
      JSArray_ModifiableCssNode_2: findType("JSArray"),
      JSArray_ModifiableCssParentNode: findType("JSArray"),
      JSArray_ModifiableCssParentNode_2: findType("JSArray"),
      JSArray_Module_AsyncCallable: findType("JSArray>"),
      JSArray_Module_AsyncCallable_2: findType("JSArray>"),
      JSArray_Module_Callable: findType("JSArray>"),
      JSArray_Module_Callable_2: findType("JSArray>"),
      JSArray_Object: findType("JSArray"),
      JSArray_PseudoSelector: findType("JSArray"),
      JSArray_PseudoSelector_2: findType("JSArray"),
      JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value: findType("JSArray<+(ArgumentDeclaration,Value(List))>"),
      JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value_2: findType("JSArray<+(ArgumentDeclaration0,Value0(List))>"),
      JSArray_Record_2_Expression_and_Expression: findType("JSArray<+(Expression,Expression)>"),
      JSArray_Record_2_Expression_and_Expression_2: findType("JSArray<+(Expression0,Expression0)>"),
      JSArray_Record_2_String_and_AstNode: findType("JSArray<+(String,AstNode)>"),
      JSArray_Record_2_String_and_AstNode_2: findType("JSArray<+(String,AstNode0)>"),
      JSArray_SassList: findType("JSArray"),
      JSArray_SassList_2: findType("JSArray"),
      JSArray_SimpleSelector: findType("JSArray"),
      JSArray_SimpleSelector_2: findType("JSArray"),
      JSArray_SourceLocation: findType("JSArray"),
      JSArray_Statement: findType("JSArray"),
      JSArray_Statement_2: findType("JSArray"),
      JSArray_String: findType("JSArray"),
      JSArray_StylesheetNode: findType("JSArray"),
      JSArray_TargetEntry: findType("JSArray"),
      JSArray_TargetLineEntry: findType("JSArray"),
      JSArray_Trace: findType("JSArray"),
      JSArray_UseRule: findType("JSArray"),
      JSArray_UseRule_2: findType("JSArray"),
      JSArray_Value: findType("JSArray"),
      JSArray_Value_2: findType("JSArray"),
      JSArray_WatchEvent: findType("JSArray"),
      JSArray__Highlight: findType("JSArray<_Highlight>"),
      JSArray__Line: findType("JSArray<_Line>"),
      JSArray_dynamic: findType("JSArray<@>"),
      JSArray_int: findType("JSArray"),
      JSArray_nullable_Record_3_int_and_String_and_nullable_String: findType("JSArray<+(int,String,String?)?>"),
      JSArray_nullable_String: findType("JSArray"),
      JSClass: findType("JSClass0"),
      JSFunction: findType("JSFunction0"),
      JSImporter: findType("JSImporter"),
      JSImporterResult: findType("JSImporterResult"),
      JSNull: findType("JSNull"),
      JSUrl: findType("JSUrl0"),
      JavaScriptFunction: findType("JavaScriptFunction"),
      JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"),
      JsIdentityLinkedHashMap_SimpleSelector_int: findType("JsIdentityLinkedHashMap"),
      JsIdentityLinkedHashMap_SimpleSelector_int_2: findType("JsIdentityLinkedHashMap"),
      JsIdentityLinkedHashMap_of_SelectorList_and_Box_SelectorList: findType("JsIdentityLinkedHashMap>"),
      JsIdentityLinkedHashMap_of_SelectorList_and_Box_SelectorList_2: findType("JsIdentityLinkedHashMap>"),
      JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap"),
      JsSystemError: findType("JsSystemError"),
      LimitedMapView_String_ConfiguredValue: findType("LimitedMapView"),
      LimitedMapView_String_ConfiguredValue_2: findType("LimitedMapView0"),
      List_ComplexSelectorComponent: findType("List"),
      List_ComplexSelectorComponent_2: findType("List"),
      List_CssComment: findType("List"),
      List_CssComment_2: findType("List"),
      List_CssMediaQuery: findType("List"),
      List_CssMediaQuery_2: findType("List"),
      List_CssValue_Combinator: findType("List>"),
      List_CssValue_Combinator_2: findType("List>"),
      List_Extension: findType("List"),
      List_ExtensionStore: findType("List"),
      List_ExtensionStore_2: findType("List"),
      List_Extension_2: findType("List"),
      List_List_ComplexSelectorComponent: findType("List>"),
      List_List_ComplexSelectorComponent_2: findType("List>"),
      List_Module_AsyncCallable: findType("List>"),
      List_Module_AsyncCallable_2: findType("List>"),
      List_Module_Callable: findType("List>"),
      List_Module_Callable_2: findType("List>"),
      List_String: findType("List"),
      List_Value: findType("List"),
      List_Value_2: findType("List"),
      List_WatchEvent: findType("List"),
      List_dynamic: findType("List<@>"),
      List_int: findType("List"),
      List_nullable_Object: findType("List"),
      MapKeySet_Module_AsyncCallable: findType("MapKeySet>"),
      MapKeySet_Module_AsyncCallable_2: findType("MapKeySet>"),
      MapKeySet_Module_Callable: findType("MapKeySet>"),
      MapKeySet_Module_Callable_2: findType("MapKeySet>"),
      MapKeySet_SimpleSelector: findType("MapKeySet"),
      MapKeySet_SimpleSelector_2: findType("MapKeySet"),
      MapKeySet_String: findType("MapKeySet"),
      MapKeySet_nullable_Object: findType("MapKeySet"),
      Map_ComplexSelector_Extension: findType("Map"),
      Map_ComplexSelector_Extension_2: findType("Map"),
      Map_String_AstNode: findType("Map"),
      Map_String_AstNode_2: findType("Map"),
      Map_String_AsyncCallable: findType("Map"),
      Map_String_AsyncCallable_2: findType("Map"),
      Map_String_Callable: findType("Map"),
      Map_String_Callable_2: findType("Map"),
      Map_String_Value: findType("Map"),
      Map_String_Value_2: findType("Map"),
      Map_String_dynamic: findType("Map"),
      Map_dynamic_dynamic: findType("Map<@,@>"),
      Map_of_nullable_Object_and_nullable_Object: findType("Map"),
      MappedIterable_String_Frame: findType("MappedIterable"),
      MappedListIterable_Frame_Frame: findType("MappedListIterable"),
      MappedListIterable_String_Object: findType("MappedListIterable"),
      MappedListIterable_String_String: findType("MappedListIterable"),
      MappedListIterable_String_Trace: findType("MappedListIterable"),
      MappedListIterable_String_Value: findType("MappedListIterable"),
      MappedListIterable_String_Value_2: findType("MappedListIterable"),
      MappedListIterable_String_dynamic: findType("MappedListIterable"),
      MixinRule: findType("MixinRule"),
      MixinRule_2: findType("MixinRule0"),
      ModifiableBox_SelectorList: findType("ModifiableBox"),
      ModifiableBox_SelectorList_2: findType("ModifiableBox0"),
      ModifiableCssAtRule: findType("ModifiableCssAtRule"),
      ModifiableCssAtRule_2: findType("ModifiableCssAtRule0"),
      ModifiableCssKeyframeBlock: findType("ModifiableCssKeyframeBlock"),
      ModifiableCssKeyframeBlock_2: findType("ModifiableCssKeyframeBlock0"),
      ModifiableCssMediaRule: findType("ModifiableCssMediaRule"),
      ModifiableCssMediaRule_2: findType("ModifiableCssMediaRule0"),
      ModifiableCssNode: findType("ModifiableCssNode"),
      ModifiableCssNode_2: findType("ModifiableCssNode0"),
      ModifiableCssParentNode: findType("ModifiableCssParentNode"),
      ModifiableCssParentNode_2: findType("ModifiableCssParentNode0"),
      ModifiableCssStyleRule: findType("ModifiableCssStyleRule"),
      ModifiableCssStyleRule_2: findType("ModifiableCssStyleRule0"),
      ModifiableCssSupportsRule: findType("ModifiableCssSupportsRule"),
      ModifiableCssSupportsRule_2: findType("ModifiableCssSupportsRule0"),
      Module_AsyncCallable: findType("Module0"),
      Module_AsyncCallable_2: findType("Module1"),
      Module_Callable: findType("Module0"),
      Module_Callable_2: findType("Module1"),
      MultiSourceSpanFormatException: findType("MultiSourceSpanFormatException"),
      NativeTypedArrayOfDouble: findType("NativeTypedArrayOfDouble"),
      NativeTypedArrayOfInt: findType("NativeTypedArrayOfInt"),
      NativeUint8List: findType("NativeUint8List"),
      Never: findType("0&"),
      NodeCompileResult: findType("NodeCompileResult"),
      NodeImporterResult: findType("NodeImporterResult0"),
      Null: findType("Null"),
      Object: findType("Object"),
      Option: findType("Option"),
      PathMap_ChangeType: findType("PathMap"),
      PathMap_Stream_WatchEvent: findType("PathMap>"),
      PathMap_String: findType("PathMap"),
      PathMap_nullable_String: findType("PathMap"),
      Promise: findType("Promise"),
      PseudoSelector: findType("PseudoSelector"),
      PseudoSelector_2: findType("PseudoSelector0"),
      RangeError: findType("RangeError"),
      Record: findType("Record"),
      Record_0: findType("+()"),
      Record_1_nullable_Object: findType("+(Object?)"),
      Record_2_Expression_and_Expression: findType("+(Expression,Expression)"),
      Record_2_Expression_and_Expression_2: findType("+(Expression0,Expression0)"),
      Record_2_List_Expression_and_Map_String_Expression: findType("+(List,Map)"),
      Record_2_List_Expression_and_Map_String_Expression_2: findType("+(List,Map)"),
      Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet: findType("+loadedUrls,stylesheet(Set,CssStylesheet)"),
      Record_2_Set_Uri_loadedUrls_and_CssStylesheet_stylesheet_2: findType("+loadedUrls,stylesheet(Set,CssStylesheet0)"),
      Record_2_String_and_InterpolationMap: findType("+(String,InterpolationMap)"),
      Record_2_String_and_InterpolationMap_2: findType("+(String,InterpolationMap0)"),
      Record_2_String_and_SourceSpan: findType("+(String,SourceSpan)"),
      Record_2_String_and_nullable_InterpolationMap: findType("+(String,InterpolationMap?)"),
      Record_2_String_and_nullable_InterpolationMap_2: findType("+(String,InterpolationMap0?)"),
      Record_2_Uri_and_bool_forImport: findType("+forImport(Uri,bool)"),
      Record_2_nullable_Object_and_nullable_Object: findType("+(Object?,Object?)"),
      Record_2_nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_and_bool: findType("+(+originalUrl(AsyncImporter,Uri,Uri)?,bool)"),
      Record_2_nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_and_bool_2: findType("+(+originalUrl(AsyncImporter0,Uri,Uri)?,bool)"),
      Record_2_nullable_String_and_nullable_String: findType("+(String?,String?)"),
      Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl: findType("+originalUrl(AsyncImporter,Uri,Uri)"),
      Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2: findType("+originalUrl(AsyncImporter0,Uri,Uri)"),
      Record_3_AsyncImporter_and_Uri_and_bool_forImport: findType("+forImport(AsyncImporter,Uri,bool)"),
      Record_3_AsyncImporter_and_Uri_and_bool_forImport_2: findType("+forImport(AsyncImporter0,Uri,bool)"),
      Record_3_Importer_and_Uri_and_Uri_originalUrl: findType("+originalUrl(Importer,Uri,Uri)"),
      Record_3_Importer_and_Uri_and_Uri_originalUrl_2: findType("+originalUrl(Importer0,Uri,Uri)"),
      Record_3_Importer_and_Uri_and_bool_forImport: findType("+forImport(Importer,Uri,bool)"),
      Record_3_Importer_and_Uri_and_bool_forImport_2: findType("+forImport(Importer0,Uri,bool)"),
      Record_3_Stylesheet_and_nullable_AsyncImporter_importer_and_bool_isDependency: findType("+importer,isDependency(Stylesheet,AsyncImporter?,bool)"),
      Record_3_Stylesheet_and_nullable_AsyncImporter_importer_and_bool_isDependency_2: findType("+importer,isDependency(Stylesheet0,AsyncImporter0?,bool)"),
      Record_3_nullable_Object_and_nullable_Object_and_nullable_Object_originalUrl: findType("+originalUrl(Object?,Object?,Object?)"),
      Record_5_Map_String_Value_named_and_Map_String_AstNode_namedNodes_and_List_Value_positional_and_List_AstNode_positionalNodes_and_ListSeparator_separator: findType("+named,namedNodes,positional,positionalNodes,separator(Map,Map,List,List,ListSeparator)"),
      Record_5_Map_String_Value_named_and_Map_String_AstNode_namedNodes_and_List_Value_positional_and_List_AstNode_positionalNodes_and_ListSeparator_separator_2: findType("+named,namedNodes,positional,positionalNodes,separator(Map,Map,List,List,ListSeparator0)"),
      RegExpMatch: findType("RegExpMatch"),
      RenderContextOptions: findType("RenderContextOptions0"),
      RenderResult: findType("RenderResult"),
      Result_String: findType("Result"),
      ReversedListIterable_Frame: findType("ReversedListIterable"),
      Runes: findType("Runes"),
      SassArgumentList: findType("SassArgumentList"),
      SassArgumentList_2: findType("SassArgumentList0"),
      SassBoolean: findType("SassBoolean"),
      SassBoolean_2: findType("SassBoolean0"),
      SassColor: findType("SassColor"),
      SassColor_2: findType("SassColor0"),
      SassFormatException: findType("SassFormatException"),
      SassFormatException_2: findType("SassFormatException0"),
      SassList: findType("SassList"),
      SassList_2: findType("SassList0"),
      SassMap: findType("SassMap"),
      SassMap_2: findType("SassMap0"),
      SassNumber: findType("SassNumber"),
      SassNumber_2: findType("SassNumber0"),
      SassRuntimeException: findType("SassRuntimeException"),
      SassRuntimeException_2: findType("SassRuntimeException0"),
      SassString: findType("SassString"),
      SassString_2: findType("SassString0"),
      SelectorList: findType("SelectorList"),
      SelectorList_2: findType("SelectorList0"),
      Set_ModifiableBox_SelectorList: findType("Set>"),
      Set_ModifiableBox_SelectorList_2: findType("Set>"),
      Set_Uri: findType("Set"),
      SimpleSelector: findType("SimpleSelector"),
      SimpleSelector_2: findType("SimpleSelector0"),
      SourceFile: findType("SourceFile"),
      SourceLocation: findType("SourceLocation"),
      SourceSpan: findType("SourceSpan"),
      SourceSpanFormatException: findType("SourceSpanFormatException"),
      SourceSpanWithContext: findType("SourceSpanWithContext"),
      StackTrace: findType("StackTrace"),
      Statement: findType("Statement"),
      Statement_2: findType("Statement0"),
      StaticImport: findType("StaticImport"),
      StaticImport_2: findType("StaticImport0"),
      StreamCompleter_WatchEvent: findType("StreamCompleter"),
      StreamGroup_WatchEvent: findType("StreamGroup"),
      StreamQueue_String: findType("StreamQueue"),
      Stream_WatchEvent: findType("Stream"),
      String: findType("String"),
      StringExpression: findType("StringExpression"),
      StylesheetNode: findType("StylesheetNode"),
      Timer: findType("Timer"),
      Trace: findType("Trace"),
      TrustedGetRuntimeType: findType("TrustedGetRuntimeType"),
      TypeError: findType("TypeError"),
      TypeSelector: findType("TypeSelector"),
      TypeSelector_2: findType("TypeSelector0"),
      Uint16List: findType("Uint16List"),
      Uint32List: findType("Uint32List"),
      Uint8ClampedList: findType("Uint8ClampedList"),
      Uint8List: findType("Uint8List"),
      UnionSet_Uri: findType("UnionSet"),
      UnknownJavaScriptObject: findType("UnknownJavaScriptObject"),
      UnmodifiableListView_CssComment: findType("UnmodifiableListView"),
      UnmodifiableListView_CssComment_2: findType("UnmodifiableListView"),
      UnmodifiableListView_CssNode: findType("UnmodifiableListView"),
      UnmodifiableListView_CssNode_2: findType("UnmodifiableListView"),
      UnmodifiableListView_ForwardRule: findType("UnmodifiableListView"),
      UnmodifiableListView_ForwardRule_2: findType("UnmodifiableListView"),
      UnmodifiableListView_ModifiableCssNode: findType("UnmodifiableListView"),
      UnmodifiableListView_ModifiableCssNode_2: findType("UnmodifiableListView"),
      UnmodifiableListView_String: findType("UnmodifiableListView"),
      UnmodifiableListView_UseRule: findType("UnmodifiableListView"),
      UnmodifiableListView_UseRule_2: findType("UnmodifiableListView"),
      UnmodifiableMapView_String_ArgParser: findType("UnmodifiableMapView"),
      UnmodifiableMapView_String_ConfiguredValue: findType("UnmodifiableMapView"),
      UnmodifiableMapView_String_ConfiguredValue_2: findType("UnmodifiableMapView"),
      UnmodifiableMapView_String_Option: findType("UnmodifiableMapView"),
      UnmodifiableMapView_String_Value: findType("UnmodifiableMapView"),
      UnmodifiableMapView_String_Value_2: findType("UnmodifiableMapView"),
      UnmodifiableMapView_of_Uri_and_nullable_StylesheetNode: findType("UnmodifiableMapView"),
      UnmodifiableMapView_of_nullable_String_and_String: findType("UnmodifiableMapView"),
      UnmodifiableMapView_of_nullable_String_and_nullable_String: findType("UnmodifiableMapView"),
      UnmodifiableSetView_String: findType("UnmodifiableSetView0"),
      UnmodifiableSetView_StylesheetNode: findType("UnmodifiableSetView0"),
      UnmodifiableSetView_Uri: findType("UnmodifiableSetView0"),
      UnprefixedMapView_ConfiguredValue: findType("UnprefixedMapView"),
      UnprefixedMapView_ConfiguredValue_2: findType("UnprefixedMapView0"),
      Uri: findType("Uri"),
      UseRule: findType("UseRule"),
      UserDefinedCallable_AsyncEnvironment: findType("UserDefinedCallable"),
      UserDefinedCallable_AsyncEnvironment_2: findType("UserDefinedCallable0"),
      UserDefinedCallable_Environment: findType("UserDefinedCallable"),
      UserDefinedCallable_Environment_2: findType("UserDefinedCallable0"),
      Value: findType("Value"),
      Value_2: findType("Value0"),
      Value_Function_List_Value: findType("Value(List)"),
      Value_Function_List_Value_2: findType("Value0(List)"),
      VariableDeclaration: findType("VariableDeclaration"),
      VariableDeclaration_2: findType("VariableDeclaration0"),
      VersionRange: findType("VersionRange"),
      WatchEvent: findType("WatchEvent"),
      WhereIterable_List_Iterable_ComplexSelectorComponent: findType("WhereIterable>>"),
      WhereIterable_List_Iterable_ComplexSelectorComponent_2: findType("WhereIterable>>"),
      WhereIterable_String: findType("WhereIterable"),
      WhereTypeIterable_PseudoSelector: findType("WhereTypeIterable"),
      WhereTypeIterable_PseudoSelector_2: findType("WhereTypeIterable"),
      WhereTypeIterable_String: findType("WhereTypeIterable"),
      _AsyncCompleter_List_void: findType("_AsyncCompleter>"),
      _AsyncCompleter_Object: findType("_AsyncCompleter"),
      _AsyncCompleter_Stream_WatchEvent: findType("_AsyncCompleter>"),
      _AsyncCompleter_String: findType("_AsyncCompleter"),
      _AsyncCompleter_nullable_Object: findType("_AsyncCompleter"),
      _CompleterStream_WatchEvent: findType("_CompleterStream"),
      _EventRequest_dynamic: findType("_EventRequest<@>"),
      _Future_List_void: findType("_Future>"),
      _Future_Object: findType("_Future"),
      _Future_Stream_WatchEvent: findType("_Future>"),
      _Future_String: findType("_Future"),
      _Future_Value: findType("_Future"),
      _Future_Value_2: findType("_Future"),
      _Future_bool: findType("_Future"),
      _Future_dynamic: findType("_Future<@>"),
      _Future_int: findType("_Future"),
      _Future_nullable_Object: findType("_Future"),
      _Future_void: findType("_Future<~>"),
      _Highlight: findType("_Highlight"),
      _IdentityHashMap_of_nullable_Object_and_nullable_Object: findType("_IdentityHashMap"),
      _LinkedIdentityHashSet_ComplexSelector: findType("_LinkedIdentityHashSet"),
      _LinkedIdentityHashSet_ComplexSelector_2: findType("_LinkedIdentityHashSet"),
      _LinkedIdentityHashSet_Extension: findType("_LinkedIdentityHashSet"),
      _LinkedIdentityHashSet_Extension_2: findType("_LinkedIdentityHashSet"),
      _MapEntry: findType("_MapEntry"),
      _NodeException: findType("_NodeException"),
      _PlatformUri: findType("_PlatformUri"),
      _SyncStarIterable_Deprecation: findType("_SyncStarIterable"),
      _SyncStarIterable_Extension: findType("_SyncStarIterable"),
      _SyncStarIterable_Extension_2: findType("_SyncStarIterable"),
      _SyncStarIterable_SimpleSelector: findType("_SyncStarIterable"),
      _SyncStarIterable_SimpleSelector_2: findType("_SyncStarIterable"),
      _SyncStarIterable_String: findType("_SyncStarIterable"),
      bool: findType("bool"),
      double: findType("double"),
      dynamic: findType("@"),
      dynamic_Function: findType("@()"),
      dynamic_Function_Object: findType("@(Object)"),
      dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"),
      int: findType("int"),
      legacy_Never: findType("0&*"),
      legacy_Object: findType("Object*"),
      nullable_AstNode: findType("AstNode?"),
      nullable_AstNode_2: findType("AstNode0?"),
      nullable_CanonicalizeContext: findType("CanonicalizeContext?"),
      nullable_CanonicalizeContext_2: findType("CanonicalizeContext0?"),
      nullable_CssValue_String: findType("CssValue?"),
      nullable_CssValue_String_2: findType("CssValue0?"),
      nullable_Future_Null: findType("Future?"),
      nullable_Future_void: findType("Future<~>?"),
      nullable_ImporterResult: findType("ImporterResult?"),
      nullable_ImporterResult_2: findType("ImporterResult0?"),
      nullable_Object: findType("Object?"),
      nullable_Record_2_String_and_String: findType("+(String,String)?"),
      nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl: findType("+originalUrl(AsyncImporter,Uri,Uri)?"),
      nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2: findType("+originalUrl(AsyncImporter0,Uri,Uri)?"),
      nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl: findType("+originalUrl(Importer,Uri,Uri)?"),
      nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl_2: findType("+originalUrl(Importer0,Uri,Uri)?"),
      nullable_Record_3_Stylesheet_and_nullable_AsyncImporter_importer_and_bool_isDependency: findType("+importer,isDependency(Stylesheet0,AsyncImporter0?,bool)?"),
      nullable_Record_3_int_and_String_and_nullable_String: findType("+(int,String,String?)?"),
      nullable_SourceFile: findType("SourceFile?"),
      nullable_SourceSpan: findType("SourceSpan?"),
      nullable_StreamSubscription_WatchEvent: findType("StreamSubscription?"),
      nullable_String: findType("String?"),
      nullable_Stylesheet: findType("Stylesheet?"),
      nullable_StylesheetNode: findType("StylesheetNode?"),
      nullable_Stylesheet_2: findType("Stylesheet0?"),
      nullable_Uri: findType("Uri?"),
      nullable_Value: findType("Value?"),
      nullable_Value_2: findType("Value0?"),
      nullable__ConstructorOptions: findType("_ConstructorOptions?"),
      nullable__ConstructorOptions_2: findType("_ConstructorOptions0?"),
      nullable__ConstructorOptions_3: findType("_ConstructorOptions1?"),
      nullable__Highlight: findType("_Highlight?"),
      num: findType("num"),
      void: findType("~"),
      void_Function_Object: findType("~(Object)"),
      void_Function_Object_StackTrace: findType("~(Object,StackTrace)")
    };
  })();
  (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.JSNull_methods = J.JSNull.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.NativeUint32List_methods = A.NativeUint32List.prototype;
    B.NativeUint8List_methods = A.NativeUint8List.prototype;
    B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;
    B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype;
    B.AsciiEncoder_127 = new A.AsciiEncoder(127);
    B.C_EmptyUnmodifiableSet1 = new A.EmptyUnmodifiableSet(A.findType("EmptyUnmodifiableSet"));
    B.AtRootQuery_n2q = new A.AtRootQuery(false, B.C_EmptyUnmodifiableSet1, false, true);
    B.AtRootQuery_n2q0 = new A.AtRootQuery0(false, B.C_EmptyUnmodifiableSet1, false, true);
    B.AttributeOperator_4QF = new A.AttributeOperator("=", "equal");
    B.AttributeOperator_4QF0 = new A.AttributeOperator0("=", "equal");
    B.AttributeOperator_61T = new A.AttributeOperator("*=", "substring");
    B.AttributeOperator_61T0 = new A.AttributeOperator0("*=", "substring");
    B.AttributeOperator_cMb = new A.AttributeOperator("^=", "prefix");
    B.AttributeOperator_cMb0 = new A.AttributeOperator0("^=", "prefix");
    B.AttributeOperator_jqB = new A.AttributeOperator("|=", "dash");
    B.AttributeOperator_jqB0 = new A.AttributeOperator0("|=", "dash");
    B.AttributeOperator_qhE = new A.AttributeOperator("$=", "suffix");
    B.AttributeOperator_qhE0 = new A.AttributeOperator0("$=", "suffix");
    B.AttributeOperator_yT8 = new A.AttributeOperator("~=", "include");
    B.AttributeOperator_yT80 = new A.AttributeOperator0("~=", "include");
    B.BinaryOperator_2No = new A.BinaryOperator("times", "*", 6, true, "times");
    B.BinaryOperator_2No0 = new A.BinaryOperator0("times", "*", 6, true, "times");
    B.BinaryOperator_KNx = new A.BinaryOperator("modulo", "%", 6, false, "modulo");
    B.BinaryOperator_KNx0 = new A.BinaryOperator0("modulo", "%", 6, false, "modulo");
    B.BinaryOperator_SPQ = new A.BinaryOperator("less than or equals", "<=", 4, false, "lessThanOrEquals");
    B.BinaryOperator_SPQ0 = new A.BinaryOperator0("less than or equals", "<=", 4, false, "lessThanOrEquals");
    B.BinaryOperator_SjO = new A.BinaryOperator("minus", "-", 5, false, "minus");
    B.BinaryOperator_SjO0 = new A.BinaryOperator0("minus", "-", 5, false, "minus");
    B.BinaryOperator_U77 = new A.BinaryOperator("divided by", "/", 6, false, "dividedBy");
    B.BinaryOperator_U770 = new A.BinaryOperator0("divided by", "/", 6, false, "dividedBy");
    B.BinaryOperator_bEa = new A.BinaryOperator("greater than", ">", 4, false, "greaterThan");
    B.BinaryOperator_bEa0 = new A.BinaryOperator0("greater than", ">", 4, false, "greaterThan");
    B.BinaryOperator_eDt = new A.BinaryOperator("and", "and", 2, true, "and");
    B.BinaryOperator_eDt0 = new A.BinaryOperator0("and", "and", 2, true, "and");
    B.BinaryOperator_g8k = new A.BinaryOperator("equals", "==", 3, false, "equals");
    B.BinaryOperator_g8k0 = new A.BinaryOperator0("equals", "==", 3, false, "equals");
    B.BinaryOperator_icU = new A.BinaryOperator("not equals", "!=", 3, false, "notEquals");
    B.BinaryOperator_icU0 = new A.BinaryOperator0("not equals", "!=", 3, false, "notEquals");
    B.BinaryOperator_miq = new A.BinaryOperator("less than", "<", 4, false, "lessThan");
    B.BinaryOperator_miq0 = new A.BinaryOperator0("less than", "<", 4, false, "lessThan");
    B.BinaryOperator_oEm = new A.BinaryOperator("greater than or equals", ">=", 4, false, "greaterThanOrEquals");
    B.BinaryOperator_oEm0 = new A.BinaryOperator0("greater than or equals", ">=", 4, false, "greaterThanOrEquals");
    B.BinaryOperator_qNM = new A.BinaryOperator("or", "or", 1, true, "or");
    B.BinaryOperator_qNM0 = new A.BinaryOperator0("or", "or", 1, true, "or");
    B.BinaryOperator_u15 = new A.BinaryOperator("plus", "+", 5, true, "plus");
    B.BinaryOperator_u150 = new A.BinaryOperator0("plus", "+", 5, true, "plus");
    B.BinaryOperator_wdM = new A.BinaryOperator("single equals", "=", 0, false, "singleEquals");
    B.BinaryOperator_wdM0 = new A.BinaryOperator0("single equals", "=", 0, false, "singleEquals");
    B.CONSTANT = new A.Instantiation1(A.math0__max$closure(), A.findType("Instantiation1"));
    B.C_AsciiCodec = new A.AsciiCodec();
    B.C_AsciiGlyphSet = new A.AsciiGlyphSet();
    B.C_Base64Encoder = new A.Base64Encoder();
    B.C_Base64Codec = new A.Base64Codec();
    B.C_DefaultEquality = new A.DefaultEquality();
    B.C_EmptyExtensionStore = new A.EmptyExtensionStore();
    B.C_EmptyExtensionStore0 = new A.EmptyExtensionStore0();
    B.C_EmptyIterator = new A.EmptyIterator();
    B.C_EmptyUnmodifiableSet = new A.EmptyUnmodifiableSet(A.findType("EmptyUnmodifiableSet"));
    B.C_EmptyUnmodifiableSet0 = new A.EmptyUnmodifiableSet(A.findType("EmptyUnmodifiableSet"));
    B.C_IterableEquality = new A.IterableEquality();
    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_JsonCodec = new A.JsonCodec();
    B.C_ListEquality0 = new A.ListEquality();
    B.C_ListEquality = new A.ListEquality();
    B.C_MapEquality = new A.MapEquality(A.findType("MapEquality"));
    B.C_OutOfMemoryError = new A.OutOfMemoryError();
    B.C_SentinelValue = new A.SentinelValue();
    B.C_UnicodeGlyphSet = new A.UnicodeGlyphSet();
    B.C_Utf8Codec = new A.Utf8Codec();
    B.C_Utf8Encoder = new A.Utf8Encoder();
    B.C__DelayedDone = new A._DelayedDone();
    B.C__HasContentVisitor = new A._HasContentVisitor();
    B.C__HasContentVisitor0 = new A._HasContentVisitor0();
    B.C__IsUselessVisitor = new A._IsUselessVisitor();
    B.C__IsUselessVisitor0 = new A._IsUselessVisitor0();
    B.C__JSRandom = new A._JSRandom();
    B.C__MakeExpressionCalculationSafe = new A._MakeExpressionCalculationSafe();
    B.C__MakeExpressionCalculationSafe0 = new A._MakeExpressionCalculationSafe0();
    B.C__ParentSelectorVisitor = new A._ParentSelectorVisitor();
    B.C__ParentSelectorVisitor0 = new A._ParentSelectorVisitor0();
    B.C__Required = new A._Required();
    B.C__RootZone = new A._RootZone();
    B.C__SassNull = new A._SassNull();
    B.C__SassNull0 = new A._SassNull0();
    B.CalculationOperator_171 = new A.CalculationOperator("times", "*", 2, "times");
    B.CalculationOperator_1710 = new A.CalculationOperator0("times", "*", 2, "times");
    B.CalculationOperator_CxF = new A.CalculationOperator("minus", "-", 1, "minus");
    B.CalculationOperator_CxF0 = new A.CalculationOperator0("minus", "-", 1, "minus");
    B.CalculationOperator_Qf1 = new A.CalculationOperator("divided by", "/", 2, "dividedBy");
    B.CalculationOperator_Qf10 = new A.CalculationOperator0("divided by", "/", 2, "dividedBy");
    B.CalculationOperator_g2q = new A.CalculationOperator("plus", "+", 1, "plus");
    B.CalculationOperator_g2q0 = new A.CalculationOperator0("plus", "+", 1, "plus");
    B.ChangeType_add = new A.ChangeType("add");
    B.ChangeType_modify = new A.ChangeType("modify");
    B.ChangeType_remove = new A.ChangeType("remove");
    B.Combinator_8I8 = new A.Combinator(">", "child");
    B.Combinator_8I80 = new A.Combinator0(">", "child");
    B.Combinator_gRV = new A.Combinator("+", "nextSibling");
    B.Combinator_gRV0 = new A.Combinator0("+", "nextSibling");
    B.Combinator_y18 = new A.Combinator("~", "followingSibling");
    B.Combinator_y180 = new A.Combinator0("~", "followingSibling");
    B.Object_empty = {};
    B.Map_empty17 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap"));
    B.Configuration_Map_empty_null = new A.Configuration(B.Map_empty17, null);
    B.Map_empty18 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap"));
    B.Configuration_Map_empty_null0 = new A.Configuration0(B.Map_empty18, null);
    B.Deprecation_2Vk = new A.Deprecation("strict-unary", "1.55.0", false, "strictUnary");
    B.Deprecation_2jN = new A.Deprecation("function-units", "1.56.0", false, "functionUnits");
    B.Deprecation_2nU = new A.Deprecation("new-global", "1.17.2", false, "newGlobal");
    B.Deprecation_5pG = new A.Deprecation0("bogus-combinators", "1.54.0", "Leading, trailing, and repeated combinators.", false, "bogusCombinators");
    B.Deprecation_Agq = new A.Deprecation0("calc-interp", null, null, false, "calcInterp");
    B.Deprecation_B4v = new A.Deprecation("fs-importer-cwd", "1.73.0", false, "fsImporterCwd");
    B.Deprecation_E8a = new A.Deprecation0("slash-div", "1.33.0", "/ operator for division.", false, "slashDiv");
    B.Deprecation_EJz = new A.Deprecation("elseif", "1.3.2", false, "elseif");
    B.Deprecation_EfO = new A.Deprecation0("color-module-compat", "1.23.0", "Using color module functions in place of plain CSS functions.", false, "colorModuleCompat");
    B.Deprecation_FGJ = new A.Deprecation0("mixed-decls", "1.77.7", "Declarations after or between nested rules.", false, "mixedDecls");
    B.Deprecation_GFc = new A.Deprecation("abs-percent", "1.65.0", false, "absPercent");
    B.Deprecation_HJ0 = new A.Deprecation("css-function-mixin", "1.76.0", false, "cssFunctionMixin");
    B.Deprecation_IMm = new A.Deprecation("relative-canonical", "1.14.2", false, "relativeCanonical");
    B.Deprecation_Iit = new A.Deprecation0("moz-document", "1.7.2", "@-moz-document.", false, "mozDocument");
    B.Deprecation_JeE = new A.Deprecation("user-authored", null, false, "userAuthored");
    B.Deprecation_MMc = new A.Deprecation0("call-string", "0.0.0", "Passing a string directly to meta.call().", false, "callString");
    B.Deprecation_Ssf = new A.Deprecation0("relative-canonical", "1.14.2", "Imports using relative canonical URLs.", false, "relativeCanonical");
    B.Deprecation_W6Z = new A.Deprecation0("new-global", "1.17.2", "Declaring new variables with !global.", false, "newGlobal");
    B.Deprecation_gf0 = new A.Deprecation("mixed-decls", "1.77.7", false, "mixedDecls");
    B.Deprecation_gkc = new A.Deprecation("call-string", "0.0.0", false, "callString");
    B.Deprecation_iDZ = new A.Deprecation("color-module-compat", "1.23.0", false, "colorModuleCompat");
    B.Deprecation_iXE = new A.Deprecation0("duplicate-var-flags", "1.62.0", "Using !default or !global multiple times for one variable.", false, "duplicateVarFlags");
    B.Deprecation_ido = new A.Deprecation("bogus-combinators", "1.54.0", false, "bogusCombinators");
    B.Deprecation_import_null_true_import = new A.Deprecation("import", null, true, "import");
    B.Deprecation_jYb = new A.Deprecation0("abs-percent", "1.65.0", "Passing percentages to the Sass abs() function.", false, "absPercent");
    B.Deprecation_kmo = new A.Deprecation0("fs-importer-cwd", "1.73.0", "Using the current working directory as an implicit load path.", false, "fsImporterCwd");
    B.Deprecation_oCX = new A.Deprecation0("function-units", "1.56.0", "Passing invalid units to built-in functions.", false, "functionUnits");
    B.Deprecation_oJv = new A.Deprecation("slash-div", "1.33.0", false, "slashDiv");
    B.Deprecation_omH = new A.Deprecation0("null-alpha", "1.62.3", "Passing null as alpha in the JS API.", false, "nullAlpha");
    B.Deprecation_oty = new A.Deprecation0("user-authored", null, null, false, "userAuthored");
    B.Deprecation_qBS = new A.Deprecation0("css-function-mixin", "1.76.0", "Function and mixin names beginning with --.", false, "cssFunctionMixin");
    B.Deprecation_qd9 = new A.Deprecation0("import", null, "@import rules.", true, "import");
    B.Deprecation_uNF = new A.Deprecation("moz-document", "1.7.2", false, "mozDocument");
    B.Deprecation_woc = new A.Deprecation0("strict-unary", "1.55.0", "Ambiguous + and - operators.", false, "strictUnary");
    B.Deprecation_xw8 = new A.Deprecation0("elseif", "1.3.2", "@elseif.", false, "elseif");
    B.Deprecation_zrt = new A.Deprecation("duplicate-var-flags", "1.62.0", false, "duplicateVarFlags");
    B.Duration_0 = new A.Duration(0);
    B.ExtendMode_allTargets_allTargets = new A.ExtendMode("allTargets", "allTargets");
    B.ExtendMode_allTargets_allTargets0 = new A.ExtendMode0("allTargets", "allTargets");
    B.ExtendMode_normal_normal = new A.ExtendMode("normal", "normal");
    B.ExtendMode_normal_normal0 = new A.ExtendMode0("normal", "normal");
    B.ExtendMode_replace_replace = new A.ExtendMode("replace", "replace");
    B.ExtendMode_replace_replace0 = new A.ExtendMode0("replace", "replace");
    B.JsonDecoder_null = new A.JsonDecoder(null);
    B.JsonEncoder_null = new A.JsonEncoder(null);
    B.LineFeed_75j = new A.LineFeed0("lfcr", "\n\r", "lfcr");
    B.LineFeed_89t = new A.LineFeed0("cr", "\r", "cr");
    B.LineFeed_A4L = new A.LineFeed0("crlf", "\r\n", "crlf");
    B.LineFeed_LvD = new A.LineFeed0("lf", "\n", "lf");
    B.LineFeed_lf = new A.LineFeed("lf");
    B.ListSeparator_ECn = new A.ListSeparator("comma", ",", "comma");
    B.ListSeparator_ECn0 = new A.ListSeparator0("comma", ",", "comma");
    B.ListSeparator_cQA = new A.ListSeparator("slash", "/", "slash");
    B.ListSeparator_cQA0 = new A.ListSeparator0("slash", "/", "slash");
    B.ListSeparator_nbm = new A.ListSeparator("space", " ", "space");
    B.ListSeparator_nbm0 = new A.ListSeparator0("space", " ", "space");
    B.ListSeparator_undecided_null_undecided = new A.ListSeparator("undecided", null, "undecided");
    B.ListSeparator_undecided_null_undecided0 = new A.ListSeparator0("undecided", null, "undecided");
    B.List_2jN = A._setArrayType(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), type$.JSArray_int);
    B.List_42A = A._setArrayType(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), type$.JSArray_int);
    B.List_4AN = A._setArrayType(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), type$.JSArray_int);
    B.Object_79D = {em: 0, rem: 1, ex: 2, rex: 3, cap: 4, rcap: 5, ch: 6, rch: 7, ic: 8, ric: 9, lh: 10, rlh: 11, vw: 12, lvw: 13, svw: 14, dvw: 15, vh: 16, lvh: 17, svh: 18, dvh: 19, vi: 20, lvi: 21, svi: 22, dvi: 23, vb: 24, lvb: 25, svb: 26, dvb: 27, vmin: 28, lvmin: 29, svmin: 30, dvmin: 31, vmax: 32, lvmax: 33, svmax: 34, dvmax: 35, cqw: 36, cqh: 37, cqi: 38, cqb: 39, cqmin: 40, cqmax: 41, cm: 42, mm: 43, q: 44, in: 45, pt: 46, pc: 47, px: 48};
    B.Set_ot1A = new A.ConstantStringSet(B.Object_79D, 49, type$.ConstantStringSet_String);
    B.Object_Yf3 = {deg: 0, grad: 1, rad: 2, turn: 3};
    B.Set_YZQG9 = new A.ConstantStringSet(B.Object_Yf3, 4, type$.ConstantStringSet_String);
    B.Object_s_0_ms_1 = {s: 0, ms: 1};
    B.Set_wEo81 = new A.ConstantStringSet(B.Object_s_0_ms_1, 2, type$.ConstantStringSet_String);
    B.Object_hz_0_khz_1 = {hz: 0, khz: 1};
    B.Set_y00Wb = new A.ConstantStringSet(B.Object_hz_0_khz_1, 2, type$.ConstantStringSet_String);
    B.Object_3CF = {dpi: 0, dpcm: 1, dppx: 2};
    B.Set_Db0y4 = new A.ConstantStringSet(B.Object_3CF, 3, type$.ConstantStringSet_String);
    B.List_Eeh = A._setArrayType(makeConstList([B.Set_ot1A, B.Set_YZQG9, B.Set_wEo81, B.Set_y00Wb, B.Set_Db0y4]), A.findType("JSArray>"));
    B.List_GVy = A._setArrayType(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), type$.JSArray_int);
    B.List_M2I0 = A._setArrayType(makeConstList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_int);
    B.List_M2I = A._setArrayType(makeConstList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_int);
    B.List_VOY = A._setArrayType(makeConstList([0, 0, 32776, 33792, 1, 10240, 0, 0]), type$.JSArray_int);
    B.Deprecation_gQW = new A.Deprecation("null-alpha", "1.62.3", false, "nullAlpha");
    B.Deprecation_ErI = new A.Deprecation("calc-interp", null, false, "calcInterp");
    B.List_Yb0 = A._setArrayType(makeConstList([B.Deprecation_gkc, B.Deprecation_EJz, B.Deprecation_uNF, B.Deprecation_IMm, B.Deprecation_2nU, B.Deprecation_iDZ, B.Deprecation_oJv, B.Deprecation_ido, B.Deprecation_2Vk, B.Deprecation_2jN, B.Deprecation_zrt, B.Deprecation_gQW, B.Deprecation_GFc, B.Deprecation_B4v, B.Deprecation_HJ0, B.Deprecation_gf0, B.Deprecation_import_null_true_import, B.Deprecation_JeE, B.Deprecation_ErI]), A.findType("JSArray"));
    B.List_empty11 = A._setArrayType(makeConstList([]), type$.JSArray_Argument);
    B.List_empty22 = A._setArrayType(makeConstList([]), type$.JSArray_Argument_2);
    B.List_empty24 = A._setArrayType(makeConstList([]), type$.JSArray_AsyncCallable_2);
    B.List_empty25 = A._setArrayType(makeConstList([]), type$.JSArray_AsyncImporter);
    B.List_empty1 = A._setArrayType(makeConstList([]), type$.JSArray_ComplexSelector);
    B.List_empty14 = A._setArrayType(makeConstList([]), type$.JSArray_ComplexSelector_2);
    B.List_empty2 = A._setArrayType(makeConstList([]), type$.JSArray_ComplexSelectorComponent);
    B.List_empty15 = A._setArrayType(makeConstList([]), type$.JSArray_ComplexSelectorComponent_2);
    B.List_empty10 = A._setArrayType(makeConstList([]), type$.JSArray_ConfiguredVariable);
    B.List_empty21 = A._setArrayType(makeConstList([]), type$.JSArray_ConfiguredVariable_2);
    B.List_empty3 = A._setArrayType(makeConstList([]), type$.JSArray_CssNode);
    B.List_empty16 = A._setArrayType(makeConstList([]), type$.JSArray_CssNode_2);
    B.List_empty0 = A._setArrayType(makeConstList([]), type$.JSArray_CssValue_Combinator);
    B.List_empty13 = A._setArrayType(makeConstList([]), type$.JSArray_CssValue_Combinator_2);
    B.List_empty9 = A._setArrayType(makeConstList([]), type$.JSArray_Expression);
    B.List_empty20 = A._setArrayType(makeConstList([]), type$.JSArray_Expression_2);
    B.List_empty5 = A._setArrayType(makeConstList([]), type$.JSArray_Extension);
    B.List_empty17 = A._setArrayType(makeConstList([]), type$.JSArray_Extension_2);
    B.List_empty23 = A._setArrayType(makeConstList([]), type$.JSArray_Importer_2);
    B.List_empty7 = A._setArrayType(makeConstList([]), A.findType("JSArray>"));
    B.List_empty18 = A._setArrayType(makeConstList([]), A.findType("JSArray>"));
    B.List_empty12 = A._setArrayType(makeConstList([]), type$.JSArray_Statement);
    B.List_empty = A._setArrayType(makeConstList([]), type$.JSArray_String);
    B.List_empty8 = A._setArrayType(makeConstList([]), type$.JSArray_Value);
    B.List_empty19 = A._setArrayType(makeConstList([]), type$.JSArray_Value_2);
    B.List_empty4 = A._setArrayType(makeConstList([]), type$.JSArray_int);
    B.List_empty6 = A._setArrayType(makeConstList([]), type$.JSArray_dynamic);
    B.List_kUZ = A._setArrayType(makeConstList([B.CalculationOperator_g2q0, B.CalculationOperator_CxF0, B.CalculationOperator_1710, B.CalculationOperator_Qf10]), A.findType("JSArray"));
    B.List_oyU = A._setArrayType(makeConstList([0, 0, 27858, 1023, 65534, 51199, 65535, 32767]), type$.JSArray_int);
    B.List_piR = A._setArrayType(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), type$.JSArray_int);
    B.List_wIq = A._setArrayType(makeConstList([B.Deprecation_MMc, B.Deprecation_xw8, B.Deprecation_Iit, B.Deprecation_Ssf, B.Deprecation_W6Z, B.Deprecation_EfO, B.Deprecation_E8a, B.Deprecation_5pG, B.Deprecation_woc, B.Deprecation_oCX, B.Deprecation_iXE, B.Deprecation_omH, B.Deprecation_jYb, B.Deprecation_kmo, B.Deprecation_qBS, B.Deprecation_FGJ, B.Deprecation_qd9, B.Deprecation_oty, B.Deprecation_Agq]), A.findType("JSArray"));
    B.Object_Jgz = {length: 0, angle: 1, time: 2, frequency: 3, "pixel density": 4};
    B.List_Mul = A._setArrayType(makeConstList(["in", "cm", "pc", "mm", "q", "pt", "px"]), type$.JSArray_String);
    B.List_deg_grad_rad_turn = A._setArrayType(makeConstList(["deg", "grad", "rad", "turn"]), type$.JSArray_String);
    B.List_s_ms = A._setArrayType(makeConstList(["s", "ms"]), type$.JSArray_String);
    B.List_Hz_kHz = A._setArrayType(makeConstList(["Hz", "kHz"]), type$.JSArray_String);
    B.List_dpi_dpcm_dppx = A._setArrayType(makeConstList(["dpi", "dpcm", "dppx"]), type$.JSArray_String);
    B.Map_397RH = new A.ConstantStringMap(B.Object_Jgz, [B.List_Mul, B.List_deg_grad_rad_turn, B.List_s_ms, B.List_Hz_kHz, B.List_dpi_dpcm_dppx], A.findType("ConstantStringMap>"));
    B.Map_empty7 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap,List>"));
    B.Map_empty0 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap,List>"));
    B.Map_empty2 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap,List>"));
    B.Map_empty15 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap,List>"));
    B.Map_empty9 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap,List>"));
    B.Map_empty11 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap,List>"));
    B.Map_empty4 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap"));
    B.Map_empty12 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap"));
    B.Map_empty6 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap"));
    B.Map_empty14 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap"));
    B.Map_empty8 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap>"));
    B.Map_empty1 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap>"));
    B.Map_empty16 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap>"));
    B.Map_empty10 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap>"));
    B.Map_empty5 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap"));
    B.Map_empty13 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap"));
    B.Map_empty3 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap"));
    B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap"));
    B.Object_AiQ = {in: 0, cm: 1, pc: 2, mm: 3, q: 4, pt: 5, px: 6, deg: 7, grad: 8, rad: 9, turn: 10, s: 11, ms: 12, Hz: 13, kHz: 14, dpi: 15, dpcm: 16, dppx: 17};
    B.Object_Uy1 = {in: 0, cm: 1, pc: 2, mm: 3, q: 4, pt: 5, px: 6};
    B.Map_MuACk = new A.ConstantStringMap(B.Object_Uy1, [1, 0.39370078740157477, 0.16666666666666666, 0.03937007874015748, 0.00984251968503937, 0.013888888888888888, 0.010416666666666666], type$.ConstantStringMap_String_double);
    B.Map_MuHeh = new A.ConstantStringMap(B.Object_Uy1, [2.54, 1, 0.42333333333333334, 0.1, 0.025, 0.035277777777777776, 0.026458333333333334], type$.ConstantStringMap_String_double);
    B.Map_Mudgs = new A.ConstantStringMap(B.Object_Uy1, [6, 2.3622047244094486, 1, 0.2362204724409449, 0.05905511811023623, 0.08333333333333333, 0.0625], type$.ConstantStringMap_String_double);
    B.Map_Mu8oi = new A.ConstantStringMap(B.Object_Uy1, [25.4, 10, 4.233333333333333, 1, 0.25, 0.35277777777777775, 0.26458333333333334], type$.ConstantStringMap_String_double);
    B.Map_MusBb = new A.ConstantStringMap(B.Object_Uy1, [101.6, 40, 16.933333333333334, 4, 1, 1.411111111111111, 1.0583333333333333], type$.ConstantStringMap_String_double);
    B.Map_MuX5a = new A.ConstantStringMap(B.Object_Uy1, [72, 28.346456692913385, 12, 2.834645669291339, 0.7086614173228347, 1, 0.75], type$.ConstantStringMap_String_double);
    B.Map_MuVWp = new A.ConstantStringMap(B.Object_Uy1, [96, 37.79527559055118, 16, 3.7795275590551185, 0.9448818897637796, 1.3333333333333333, 1], type$.ConstantStringMap_String_double);
    B.Map_P98ha = new A.ConstantStringMap(B.Object_Yf3, [1, 0.9, 57.29577951308232, 360], type$.ConstantStringMap_String_double);
    B.Map_P9IYz = new A.ConstantStringMap(B.Object_Yf3, [1.1111111111111112, 1, 63.66197723675813, 400], type$.ConstantStringMap_String_double);
    B.Map_P9t42 = new A.ConstantStringMap(B.Object_Yf3, [0.017453292519943295, 0.015707963267948967, 1, 6.283185307179586], type$.ConstantStringMap_String_double);
    B.Map_P9ZUB = new A.ConstantStringMap(B.Object_Yf3, [0.002777777777777778, 0.0025, 0.15915494309189535, 1], type$.ConstantStringMap_String_double);
    B.Map_kUCK0 = new A.ConstantStringMap(B.Object_s_0_ms_1, [1, 0.001], type$.ConstantStringMap_String_double);
    B.Map_kUfVB = new A.ConstantStringMap(B.Object_s_0_ms_1, [1000, 1], type$.ConstantStringMap_String_double);
    B.Object_Hz_0_kHz_1 = {Hz: 0, kHz: 1};
    B.Map_WfkC8 = new A.ConstantStringMap(B.Object_Hz_0_kHz_1, [1, 1000], type$.ConstantStringMap_String_double);
    B.Map_Wfs7p = new A.ConstantStringMap(B.Object_Hz_0_kHz_1, [0.001, 1], type$.ConstantStringMap_String_double);
    B.Map_dgy9B = new A.ConstantStringMap(B.Object_3CF, [1, 2.54, 96], type$.ConstantStringMap_String_double);
    B.Map_dgLkt = new A.ConstantStringMap(B.Object_3CF, [0.39370078740157477, 1, 37.79527559055118], type$.ConstantStringMap_String_double);
    B.Map_dgw3K = new A.ConstantStringMap(B.Object_3CF, [0.010416666666666666, 0.026458333333333334, 1], type$.ConstantStringMap_String_double);
    B.Map_gQqJO = new A.ConstantStringMap(B.Object_AiQ, [B.Map_MuACk, B.Map_MuHeh, B.Map_Mudgs, B.Map_Mu8oi, B.Map_MusBb, B.Map_MuX5a, B.Map_MuVWp, B.Map_P98ha, B.Map_P9IYz, B.Map_P9t42, B.Map_P9ZUB, B.Map_kUCK0, B.Map_kUfVB, B.Map_WfkC8, B.Map_Wfs7p, B.Map_dgy9B, B.Map_dgLkt, B.Map_dgw3K], A.findType("ConstantStringMap>"));
    B.OptionType_I6i = new A.OptionType("OptionType.flag");
    B.OptionType_tew = new A.OptionType("OptionType.single");
    B.OptionType_yPm = new A.OptionType("OptionType.multiple");
    B.OutputStyle_0 = new A.OutputStyle("expanded");
    B.OutputStyle_00 = new A.OutputStyle0("expanded");
    B.OutputStyle_1 = new A.OutputStyle("compressed");
    B.OutputStyle_10 = new A.OutputStyle0("compressed");
    B.Map_empty19 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap>"));
    B.Record2_EmptyExtensionStore_Map_empty = new A._Record_2(B.C_EmptyExtensionStore, B.Map_empty19);
    B.Map_empty20 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap>"));
    B.Record2_EmptyExtensionStore_Map_empty0 = new A._Record_2(B.C_EmptyExtensionStore0, B.Map_empty20);
    B.SassBoolean_false = new A.SassBoolean(false);
    B.SassBoolean_false0 = new A.SassBoolean0(false);
    B.SassBoolean_true = new A.SassBoolean(true);
    B.SassBoolean_true0 = new A.SassBoolean0(true);
    B.SassList_bdS = new A.SassList(B.List_empty8, B.ListSeparator_ECn, false);
    B.SassList_bdS0 = new A.SassList(B.List_empty8, B.ListSeparator_ECn, true);
    B.SassList_bdS1 = new A.SassList0(B.List_empty19, B.ListSeparator_ECn0, false);
    B.SassList_bdS2 = new A.SassList0(B.List_empty19, B.ListSeparator_ECn0, true);
    B.SassList_k8F = new A.SassList0(B.List_empty19, B.ListSeparator_undecided_null_undecided0, false);
    B.Map_empty21 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap"));
    B.SassMap_Map_empty = new A.SassMap(B.Map_empty21);
    B.Map_empty22 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap"));
    B.SassMap_Map_empty0 = new A.SassMap0(B.Map_empty22);
    B.Object_oyn = {".scss": 0, ".sass": 1, ".css": 2};
    B.Set_0 = new A.ConstantStringSet(B.Object_oyn, 3, type$.ConstantStringSet_String);
    B.Object_6Gw = {sass: 0, style: 1, default: 2};
    B.Set_TnQrk = new A.ConstantStringSet(B.Object_6Gw, 3, type$.ConstantStringSet_String);
    B.Set_empty1 = new A.ConstantStringSet(B.Object_empty, 0, A.findType("ConstantStringSet"));
    B.Set_empty5 = new A.ConstantStringSet(B.Object_empty, 0, A.findType("ConstantStringSet"));
    B.Set_empty2 = new A.ConstantStringSet(B.Object_empty, 0, A.findType("ConstantStringSet>"));
    B.Set_empty0 = new A.ConstantStringSet(B.Object_empty, 0, A.findType("ConstantStringSet>"));
    B.Set_empty6 = new A.ConstantStringSet(B.Object_empty, 0, A.findType("ConstantStringSet>"));
    B.Set_empty4 = new A.ConstantStringSet(B.Object_empty, 0, A.findType("ConstantStringSet>"));
    B.Set_empty7 = new A.ConstantStringSet(B.Object_empty, 0, type$.ConstantStringSet_String);
    B.Set_empty3 = new A.ConstantStringSet(B.Object_empty, 0, A.findType("ConstantStringSet"));
    B.Set_empty = new A.ConstantStringSet(B.Object_empty, 0, A.findType("ConstantStringSet"));
    B.Object_q8Y = {is: 0, matches: 1, where: 2};
    B.Set_mlzm2 = new A.ConstantStringSet(B.Object_q8Y, 3, type$.ConstantStringSet_String);
    B.Set_mqKz = new A.GeneralConstantSet([B.BinaryOperator_2No, B.BinaryOperator_U77, B.BinaryOperator_u15, B.BinaryOperator_SjO], A.findType("GeneralConstantSet"));
    B.Set_mqKz0 = new A.GeneralConstantSet([B.BinaryOperator_2No0, B.BinaryOperator_U770, B.BinaryOperator_u150, B.BinaryOperator_SjO0], A.findType("GeneralConstantSet"));
    B.Object_GUq = {calc: 0, clamp: 1, hypot: 2, sin: 3, cos: 4, tan: 5, asin: 6, acos: 7, atan: 8, sqrt: 9, exp: 10, sign: 11, mod: 12, rem: 13, atan2: 14, pow: 15, log: 16};
    B.Set_yHF81 = new A.ConstantStringSet(B.Object_GUq, 17, type$.ConstantStringSet_String);
    B.StderrLogger_false = new A.StderrLogger(false);
    B.StderrLogger_false0 = new A.StderrLogger0(false);
    B.Symbol__canonicalizeContext = new A.Symbol("_canonicalizeContext");
    B.Symbol__evaluationContext = new A.Symbol("_evaluationContext");
    B.Symbol__extensions = new A.Symbol("_extensions");
    B.Symbol__sourceSpecificity = new A.Symbol("_sourceSpecificity");
    B.Symbol_call = new A.Symbol("call");
    B.Syntax_CSS_css = new A.Syntax("CSS", "css");
    B.Syntax_CSS_css0 = new A.Syntax0("CSS", "css");
    B.Syntax_SCSS_scss = new A.Syntax("SCSS", "scss");
    B.Syntax_SCSS_scss0 = new A.Syntax0("SCSS", "scss");
    B.Syntax_Sass_sass = new A.Syntax("Sass", "sass");
    B.Syntax_Sass_sass0 = new A.Syntax0("Sass", "sass");
    B.Type_ByteBuffer_EOZ = A.typeLiteral("ByteBuffer");
    B.Type_ByteData_mF8 = A.typeLiteral("ByteData");
    B.Type_Float32List_Ymk = A.typeLiteral("Float32List");
    B.Type_Float64List_Ymk = A.typeLiteral("Float64List");
    B.Type_Int16List_cot = A.typeLiteral("Int16List");
    B.Type_Int32List_m1p = A.typeLiteral("Int32List");
    B.Type_Int8List_woc = A.typeLiteral("Int8List");
    B.Type_Object_QJv = A.typeLiteral("Object");
    B.Type_Uint16List_2mh = A.typeLiteral("Uint16List");
    B.Type_Uint32List_2mh = A.typeLiteral("Uint32List");
    B.Type_Uint8ClampedList_9Bb = A.typeLiteral("Uint8ClampedList");
    B.Type_Uint8List_CSc = A.typeLiteral("Uint8List");
    B.UnaryOperator_AiQ = new A.UnaryOperator("minus", "-", "minus");
    B.UnaryOperator_AiQ0 = new A.UnaryOperator0("minus", "-", "minus");
    B.UnaryOperator_SJr = new A.UnaryOperator("divide", "/", "divide");
    B.UnaryOperator_SJr0 = new A.UnaryOperator0("divide", "/", "divide");
    B.UnaryOperator_cLp = new A.UnaryOperator("plus", "+", "plus");
    B.UnaryOperator_cLp0 = new A.UnaryOperator0("plus", "+", "plus");
    B.UnaryOperator_not_not_not = new A.UnaryOperator("not", "not", "not");
    B.UnaryOperator_not_not_not0 = new A.UnaryOperator0("not", "not", "not");
    B.Utf8Decoder_false = new A.Utf8Decoder(false);
    B._ColorFormatEnum_hslFunction = new A._ColorFormatEnum("hslFunction");
    B._ColorFormatEnum_hslFunction0 = new A._ColorFormatEnum0("hslFunction");
    B._ColorFormatEnum_rgbFunction = new A._ColorFormatEnum("rgbFunction");
    B._ColorFormatEnum_rgbFunction0 = new A._ColorFormatEnum0("rgbFunction");
    B._IsBogusVisitor_false = new A._IsBogusVisitor(false);
    B._IsBogusVisitor_false0 = new A._IsBogusVisitor0(false);
    B._IsBogusVisitor_true = new A._IsBogusVisitor(true);
    B._IsBogusVisitor_true0 = new A._IsBogusVisitor0(true);
    B._IsInvisibleVisitor_false = new A._IsInvisibleVisitor0(false);
    B._IsInvisibleVisitor_false0 = new A._IsInvisibleVisitor2(false);
    B._IsInvisibleVisitor_false_false = new A._IsInvisibleVisitor(false, false);
    B._IsInvisibleVisitor_false_false0 = new A._IsInvisibleVisitor1(false, false);
    B._IsInvisibleVisitor_true = new A._IsInvisibleVisitor0(true);
    B._IsInvisibleVisitor_true0 = new A._IsInvisibleVisitor2(true);
    B._IsInvisibleVisitor_true_false = new A._IsInvisibleVisitor(true, false);
    B._IsInvisibleVisitor_true_false0 = new A._IsInvisibleVisitor1(true, false);
    B._IsInvisibleVisitor_true_true = new A._IsInvisibleVisitor(true, true);
    B._IsInvisibleVisitor_true_true0 = new A._IsInvisibleVisitor1(true, true);
    B._PathDirection_3KU = new A._PathDirection("above root");
    B._PathDirection_8OV = new A._PathDirection("at root");
    B._PathDirection_e7w = new A._PathDirection("reaches root");
    B._PathDirection_yLX = new A._PathDirection("below 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._SingletonCssMediaQueryMergeResult_0 = new A._SingletonCssMediaQueryMergeResult("empty");
    B._SingletonCssMediaQueryMergeResult_00 = new A._SingletonCssMediaQueryMergeResult0("empty");
    B._SingletonCssMediaQueryMergeResult_1 = new A._SingletonCssMediaQueryMergeResult("unrepresentable");
    B._SingletonCssMediaQueryMergeResult_10 = new A._SingletonCssMediaQueryMergeResult0("unrepresentable");
    B._StreamGroupState_canceled = new A._StreamGroupState("canceled");
    B._StreamGroupState_dormant = new A._StreamGroupState("dormant");
    B._StreamGroupState_listening = new A._StreamGroupState("listening");
    B._StreamGroupState_paused = new A._StreamGroupState("paused");
    B._StringStackTrace_uwd = new A._StringStackTrace("");
    B._ZoneFunction_NIe = new A._ZoneFunction(B.C__RootZone, A.async___rootHandleUncaughtError$closure());
    B._ZoneFunction_QOa = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterUnaryCallback$closure());
    B._ZoneFunction__RootZone__rootCreateTimer = new A._ZoneFunction(B.C__RootZone, A.async___rootCreateTimer$closure());
    B._ZoneFunction__RootZone__rootErrorCallback = new A._ZoneFunction(B.C__RootZone, A.async___rootErrorCallback$closure());
    B._ZoneFunction__RootZone__rootFork = new A._ZoneFunction(B.C__RootZone, A.async___rootFork$closure());
    B._ZoneFunction__RootZone__rootPrint = new A._ZoneFunction(B.C__RootZone, A.async___rootPrint$closure());
    B._ZoneFunction__RootZone__rootRegisterCallback = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterCallback$closure());
    B._ZoneFunction__RootZone__rootRun = new A._ZoneFunction(B.C__RootZone, A.async___rootRun$closure());
    B._ZoneFunction__RootZone__rootRunBinary = new A._ZoneFunction(B.C__RootZone, A.async___rootRunBinary$closure());
    B._ZoneFunction__RootZone__rootRunUnary = new A._ZoneFunction(B.C__RootZone, A.async___rootRunUnary$closure());
    B._ZoneFunction__RootZone__rootScheduleMicrotask = new A._ZoneFunction(B.C__RootZone, A.async___rootScheduleMicrotask$closure());
    B._ZoneFunction_kWM = new A._ZoneFunction(B.C__RootZone, A.async___rootCreatePeriodicTimer$closure());
    B._ZoneFunction_qxw = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterBinaryCallback$closure());
    B._ZoneSpecification_48t = 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;
    $.Uri__cachedBaseString = "";
    $.Uri__cachedBaseUri = null;
    $._fs = null;
    $._currentUriBase = null;
    $._current = null;
    $._subselectorPseudos = A.LinkedHashSet_LinkedHashSet$_literal(["is", "matches", "where", "any", "nth-child", "nth-last-child"], type$.String);
    $._rootishPseudoClasses = A.LinkedHashSet_LinkedHashSet$_literal(["root", "scope", "host", "host-context"], type$.String);
    $._features = A.LinkedHashSet_LinkedHashSet$_literal(["global-variable-shadowing", "extend-selector-pseudoclass", "units-level-3", "at-error", "custom-property"], type$.String);
    $._realCaseCache = function() {
      var t1 = type$.String;
      return A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
    }();
    $._selectorPseudoClasses = A.LinkedHashSet_LinkedHashSet$_literal(["not", "is", "matches", "where", "current", "any", "has", "host", "host-context"], type$.String);
    $._selectorPseudoElements = A.LinkedHashSet_LinkedHashSet$_literal(["slotted"], type$.String);
    $._glyphs = B.C_UnicodeGlyphSet;
    $._rootishPseudoClasses0 = A.LinkedHashSet_LinkedHashSet$_literal(["root", "scope", "host", "host-context"], type$.String);
    $._realCaseCache0 = function() {
      var t1 = type$.String;
      return A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
    }();
    $._features0 = A.LinkedHashSet_LinkedHashSet$_literal(["global-variable-shadowing", "extend-selector-pseudoclass", "units-level-3", "at-error", "custom-property"], type$.String);
    $._selectorPseudoClasses0 = A.LinkedHashSet_LinkedHashSet$_literal(["not", "is", "matches", "where", "current", "any", "has", "host", "host-context"], type$.String);
    $._selectorPseudoElements0 = A.LinkedHashSet_LinkedHashSet$_literal(["slotted"], type$.String);
    $._subselectorPseudos0 = A.LinkedHashSet_LinkedHashSet$_literal(["is", "matches", "where", "any", "nth-child", "nth-last-child"], type$.String);
  })();
  (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(0, new A.nullFuture_closure(), A.findType("Future")));
    _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", () => A.findType("_Future")._as($.$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($, "_Uri__isWindowsCached", "$get$_Uri__isWindowsCached", () => {
      var t1 = typeof process != "undefined" && Object.prototype.toString.call(process) == "[object process]" && process.platform == "win32";
      return t1;
    });
    _lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", () => A.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", false));
    _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_QJv));
    _lazyFinal($, "_scannerTables", "$get$_scannerTables", () => A._createTables());
    _lazyFinal($, "Option__invalidChars", "$get$Option__invalidChars", () => A.RegExp_RegExp("[ \\t\\r\\n\"'\\\\/]", false));
    _lazyFinal($, "_isStrictMode", "$get$_isStrictMode", () => new A._isStrictMode_closure().call$0());
    _lazyFinal($, "alwaysValid", "$get$alwaysValid", () => new A.alwaysValid_closure());
    _lazyFinal($, "readline", "$get$readline", () => self.readline);
    _lazyFinal($, "windows", "$get$windows", () => A.Context_Context($.$get$Style_windows()));
    _lazyFinal($, "url", "$get$url", () => A.Context_Context($.$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("/", false), A.RegExp_RegExp("[^/]$", false), A.RegExp_RegExp("^/", false)));
    _lazyFinal($, "Style_windows", "$get$Style_windows", () => new A.WindowsStyle(A.RegExp_RegExp("[/\\\\]", false), A.RegExp_RegExp("[^/\\\\]$", false), A.RegExp_RegExp("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])", false), A.RegExp_RegExp("^[/\\\\](?![/\\\\])", false)));
    _lazyFinal($, "Style_url", "$get$Style_url", () => new A.UrlStyle(A.RegExp_RegExp("/", false), A.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", false), A.RegExp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", false), A.RegExp_RegExp("^/", false)));
    _lazyFinal($, "Style_platform", "$get$Style_platform", () => A.Style__getPlatformStyle());
    _lazyFinal($, "startVersion", "$get$startVersion", () => A.RegExp_RegExp("^(\\d+)\\.(\\d+)\\.(\\d+)(-([0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*))?(\\+([0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*))?", false));
    _lazyFinal($, "completeVersion", "$get$completeVersion", () => A.RegExp_RegExp($.$get$startVersion().pattern + "$", false));
    _lazyFinal($, "IfExpression_declaration", "$get$IfExpression_declaration", () => A.ArgumentDeclaration_ArgumentDeclaration$parse(string$.x40funct, null));
    _lazyFinal($, "colorsByName", "$get$colorsByName", () => A.LinkedHashMap_LinkedHashMap$_literal(["yellowgreen", A.SassColor$rgb(154, 205, 50, 1), "yellow", A.SassColor$rgb(255, 255, 0, 1), "whitesmoke", A.SassColor$rgb(245, 245, 245, 1), "white", A.SassColor$rgb(255, 255, 255, 1), "wheat", A.SassColor$rgb(245, 222, 179, 1), "violet", A.SassColor$rgb(238, 130, 238, 1), "turquoise", A.SassColor$rgb(64, 224, 208, 1), "transparent", A.SassColor$rgb(0, 0, 0, 0), "tomato", A.SassColor$rgb(255, 99, 71, 1), "thistle", A.SassColor$rgb(216, 191, 216, 1), "teal", A.SassColor$rgb(0, 128, 128, 1), "tan", A.SassColor$rgb(210, 180, 140, 1), "steelblue", A.SassColor$rgb(70, 130, 180, 1), "springgreen", A.SassColor$rgb(0, 255, 127, 1), "snow", A.SassColor$rgb(255, 250, 250, 1), "slategrey", A.SassColor$rgb(112, 128, 144, 1), "slategray", A.SassColor$rgb(112, 128, 144, 1), "slateblue", A.SassColor$rgb(106, 90, 205, 1), "skyblue", A.SassColor$rgb(135, 206, 235, 1), "silver", A.SassColor$rgb(192, 192, 192, 1), "sienna", A.SassColor$rgb(160, 82, 45, 1), "seashell", A.SassColor$rgb(255, 245, 238, 1), "seagreen", A.SassColor$rgb(46, 139, 87, 1), "sandybrown", A.SassColor$rgb(244, 164, 96, 1), "salmon", A.SassColor$rgb(250, 128, 114, 1), "saddlebrown", A.SassColor$rgb(139, 69, 19, 1), "royalblue", A.SassColor$rgb(65, 105, 225, 1), "rosybrown", A.SassColor$rgb(188, 143, 143, 1), "red", A.SassColor$rgb(255, 0, 0, 1), "rebeccapurple", A.SassColor$rgb(102, 51, 153, 1), "purple", A.SassColor$rgb(128, 0, 128, 1), "powderblue", A.SassColor$rgb(176, 224, 230, 1), "plum", A.SassColor$rgb(221, 160, 221, 1), "pink", A.SassColor$rgb(255, 192, 203, 1), "peru", A.SassColor$rgb(205, 133, 63, 1), "peachpuff", A.SassColor$rgb(255, 218, 185, 1), "papayawhip", A.SassColor$rgb(255, 239, 213, 1), "palevioletred", A.SassColor$rgb(219, 112, 147, 1), "paleturquoise", A.SassColor$rgb(175, 238, 238, 1), "palegreen", A.SassColor$rgb(152, 251, 152, 1), "palegoldenrod", A.SassColor$rgb(238, 232, 170, 1), "orchid", A.SassColor$rgb(218, 112, 214, 1), "orangered", A.SassColor$rgb(255, 69, 0, 1), "orange", A.SassColor$rgb(255, 165, 0, 1), "olivedrab", A.SassColor$rgb(107, 142, 35, 1), "olive", A.SassColor$rgb(128, 128, 0, 1), "oldlace", A.SassColor$rgb(253, 245, 230, 1), "navy", A.SassColor$rgb(0, 0, 128, 1), "navajowhite", A.SassColor$rgb(255, 222, 173, 1), "moccasin", A.SassColor$rgb(255, 228, 181, 1), "mistyrose", A.SassColor$rgb(255, 228, 225, 1), "mintcream", A.SassColor$rgb(245, 255, 250, 1), "midnightblue", A.SassColor$rgb(25, 25, 112, 1), "mediumvioletred", A.SassColor$rgb(199, 21, 133, 1), "mediumturquoise", A.SassColor$rgb(72, 209, 204, 1), "mediumspringgreen", A.SassColor$rgb(0, 250, 154, 1), "mediumslateblue", A.SassColor$rgb(123, 104, 238, 1), "mediumseagreen", A.SassColor$rgb(60, 179, 113, 1), "mediumpurple", A.SassColor$rgb(147, 112, 219, 1), "mediumorchid", A.SassColor$rgb(186, 85, 211, 1), "mediumblue", A.SassColor$rgb(0, 0, 205, 1), "mediumaquamarine", A.SassColor$rgb(102, 205, 170, 1), "maroon", A.SassColor$rgb(128, 0, 0, 1), "magenta", A.SassColor$rgb(255, 0, 255, 1), "linen", A.SassColor$rgb(250, 240, 230, 1), "limegreen", A.SassColor$rgb(50, 205, 50, 1), "lime", A.SassColor$rgb(0, 255, 0, 1), "lightyellow", A.SassColor$rgb(255, 255, 224, 1), "lightsteelblue", A.SassColor$rgb(176, 196, 222, 1), "lightslategrey", A.SassColor$rgb(119, 136, 153, 1), "lightslategray", A.SassColor$rgb(119, 136, 153, 1), "lightskyblue", A.SassColor$rgb(135, 206, 250, 1), "lightseagreen", A.SassColor$rgb(32, 178, 170, 1), "lightsalmon", A.SassColor$rgb(255, 160, 122, 1), "lightpink", A.SassColor$rgb(255, 182, 193, 1), "lightgrey", A.SassColor$rgb(211, 211, 211, 1), "lightgreen", A.SassColor$rgb(144, 238, 144, 1), "lightgray", A.SassColor$rgb(211, 211, 211, 1), "lightgoldenrodyellow", A.SassColor$rgb(250, 250, 210, 1), "lightcyan", A.SassColor$rgb(224, 255, 255, 1), "lightcoral", A.SassColor$rgb(240, 128, 128, 1), "lightblue", A.SassColor$rgb(173, 216, 230, 1), "lemonchiffon", A.SassColor$rgb(255, 250, 205, 1), "lawngreen", A.SassColor$rgb(124, 252, 0, 1), "lavenderblush", A.SassColor$rgb(255, 240, 245, 1), "lavender", A.SassColor$rgb(230, 230, 250, 1), "khaki", A.SassColor$rgb(240, 230, 140, 1), "ivory", A.SassColor$rgb(255, 255, 240, 1), "indigo", A.SassColor$rgb(75, 0, 130, 1), "indianred", A.SassColor$rgb(205, 92, 92, 1), "hotpink", A.SassColor$rgb(255, 105, 180, 1), "honeydew", A.SassColor$rgb(240, 255, 240, 1), "grey", A.SassColor$rgb(128, 128, 128, 1), "greenyellow", A.SassColor$rgb(173, 255, 47, 1), "green", A.SassColor$rgb(0, 128, 0, 1), "gray", A.SassColor$rgb(128, 128, 128, 1), "goldenrod", A.SassColor$rgb(218, 165, 32, 1), "gold", A.SassColor$rgb(255, 215, 0, 1), "ghostwhite", A.SassColor$rgb(248, 248, 255, 1), "gainsboro", A.SassColor$rgb(220, 220, 220, 1), "fuchsia", A.SassColor$rgb(255, 0, 255, 1), "forestgreen", A.SassColor$rgb(34, 139, 34, 1), "floralwhite", A.SassColor$rgb(255, 250, 240, 1), "firebrick", A.SassColor$rgb(178, 34, 34, 1), "dodgerblue", A.SassColor$rgb(30, 144, 255, 1), "dimgrey", A.SassColor$rgb(105, 105, 105, 1), "dimgray", A.SassColor$rgb(105, 105, 105, 1), "deepskyblue", A.SassColor$rgb(0, 191, 255, 1), "deeppink", A.SassColor$rgb(255, 20, 147, 1), "darkviolet", A.SassColor$rgb(148, 0, 211, 1), "darkturquoise", A.SassColor$rgb(0, 206, 209, 1), "darkslategrey", A.SassColor$rgb(47, 79, 79, 1), "darkslategray", A.SassColor$rgb(47, 79, 79, 1), "darkslateblue", A.SassColor$rgb(72, 61, 139, 1), "darkseagreen", A.SassColor$rgb(143, 188, 143, 1), "darksalmon", A.SassColor$rgb(233, 150, 122, 1), "darkred", A.SassColor$rgb(139, 0, 0, 1), "darkorchid", A.SassColor$rgb(153, 50, 204, 1), "darkorange", A.SassColor$rgb(255, 140, 0, 1), "darkolivegreen", A.SassColor$rgb(85, 107, 47, 1), "darkmagenta", A.SassColor$rgb(139, 0, 139, 1), "darkkhaki", A.SassColor$rgb(189, 183, 107, 1), "darkgrey", A.SassColor$rgb(169, 169, 169, 1), "darkgreen", A.SassColor$rgb(0, 100, 0, 1), "darkgray", A.SassColor$rgb(169, 169, 169, 1), "darkgoldenrod", A.SassColor$rgb(184, 134, 11, 1), "darkcyan", A.SassColor$rgb(0, 139, 139, 1), "darkblue", A.SassColor$rgb(0, 0, 139, 1), "cyan", A.SassColor$rgb(0, 255, 255, 1), "crimson", A.SassColor$rgb(220, 20, 60, 1), "cornsilk", A.SassColor$rgb(255, 248, 220, 1), "cornflowerblue", A.SassColor$rgb(100, 149, 237, 1), "coral", A.SassColor$rgb(255, 127, 80, 1), "chocolate", A.SassColor$rgb(210, 105, 30, 1), "chartreuse", A.SassColor$rgb(127, 255, 0, 1), "cadetblue", A.SassColor$rgb(95, 158, 160, 1), "burlywood", A.SassColor$rgb(222, 184, 135, 1), "brown", A.SassColor$rgb(165, 42, 42, 1), "blueviolet", A.SassColor$rgb(138, 43, 226, 1), "blue", A.SassColor$rgb(0, 0, 255, 1), "blanchedalmond", A.SassColor$rgb(255, 235, 205, 1), "black", A.SassColor$rgb(0, 0, 0, 1), "bisque", A.SassColor$rgb(255, 228, 196, 1), "beige", A.SassColor$rgb(245, 245, 220, 1), "azure", A.SassColor$rgb(240, 255, 255, 1), "aquamarine", A.SassColor$rgb(127, 255, 212, 1), "aqua", A.SassColor$rgb(0, 255, 255, 1), "antiquewhite", A.SassColor$rgb(250, 235, 215, 1), "aliceblue", A.SassColor$rgb(240, 248, 255, 1)], type$.String, type$.SassColor));
    _lazyFinal($, "namesByColor", "$get$namesByColor", () => {
      var $name,
        t1 = type$.SassColor,
        t2 = type$.String,
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      for (t1 = A.MapExtensions_get_pairs($.$get$colorsByName(), t2, t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        $name = t2._0;
        t3.$indexSet(0, t2._1, $name);
      }
      return t3;
    });
    _lazyFinal($, "ExecutableOptions__separatorBar", "$get$ExecutableOptions__separatorBar", () => A.isWindows() ? "=" : "\u2501");
    _lazyFinal($, "ExecutableOptions__parser", "$get$ExecutableOptions__parser", () => new A.ExecutableOptions__parser_closure().call$0());
    _lazyFinal($, "globalFunctions", "$get$globalFunctions", () => {
      var t1 = type$.BuiltInCallable,
        t2 = A.List_List$of($.$get$global0(), true, t1);
      B.JSArray_methods.addAll$1(t2, $.$get$global1());
      B.JSArray_methods.addAll$1(t2, $.$get$global2());
      B.JSArray_methods.addAll$1(t2, $.$get$global3());
      B.JSArray_methods.addAll$1(t2, $.$get$global4());
      B.JSArray_methods.addAll$1(t2, $.$get$global5());
      B.JSArray_methods.addAll$1(t2, $.$get$global());
      t2.push(A.BuiltInCallable$function("if", "$condition, $if-true, $if-false", new A.globalFunctions_closure(), null));
      return A.UnmodifiableListView$(t2, t1);
    });
    _lazyFinal($, "coreModules", "$get$coreModules", () => A.UnmodifiableListView$(A._setArrayType([$.$get$module(), $.$get$module0(), $.$get$module1(), $.$get$module2(), $.$get$module3(), $.$get$module4()], A.findType("JSArray>")), type$.BuiltInModule_Callable));
    _lazyFinal($, "_microsoftFilterStart", "$get$_microsoftFilterStart", () => A.RegExp_RegExp("^[a-zA-Z]+\\s*=", false));
    _lazyFinal($, "global", "$get$global0", () => {
      var _s27_ = "$red, $green, $blue, $alpha",
        _s19_ = "$red, $green, $blue",
        _s37_ = "$hue, $saturation, $lightness, $alpha",
        _s29_ = "$hue, $saturation, $lightness",
        _s17_ = "$hue, $saturation",
        _s15_ = "$color, $amount",
        t1 = type$.String,
        t2 = type$.Value_Function_List_Value;
      return A.UnmodifiableListView$(A._setArrayType([$.$get$_red(), $.$get$_green(), $.$get$_blue(), $.$get$_mix(), A.BuiltInCallable$overloadedFunction("rgb", A.LinkedHashMap_LinkedHashMap$_literal([_s27_, new A.global_closure0(), _s19_, new A.global_closure1(), "$color, $alpha", new A.global_closure2(), "$channels", new A.global_closure3()], t1, t2)), A.BuiltInCallable$overloadedFunction("rgba", A.LinkedHashMap_LinkedHashMap$_literal([_s27_, new A.global_closure4(), _s19_, new A.global_closure5(), "$color, $alpha", new A.global_closure6(), "$channels", new A.global_closure7()], t1, t2)), A._function4("invert", "$color, $weight: 100%", new A.global_closure8()), $.$get$_hue(), $.$get$_saturation(), $.$get$_lightness(), $.$get$_complement(), A.BuiltInCallable$overloadedFunction("hsl", A.LinkedHashMap_LinkedHashMap$_literal([_s37_, new A.global_closure9(), _s29_, new A.global_closure10(), _s17_, new A.global_closure11(), "$channels", new A.global_closure12()], t1, t2)), A.BuiltInCallable$overloadedFunction("hsla", A.LinkedHashMap_LinkedHashMap$_literal([_s37_, new A.global_closure13(), _s29_, new A.global_closure14(), _s17_, new A.global_closure15(), "$channels", new A.global_closure16()], t1, t2)), A._function4("grayscale", "$color", new A.global_closure17()), A._function4("adjust-hue", "$color, $degrees", new A.global_closure18()), A._function4("lighten", _s15_, new A.global_closure19()), A._function4("darken", _s15_, new A.global_closure20()), A.BuiltInCallable$overloadedFunction("saturate", A.LinkedHashMap_LinkedHashMap$_literal(["$amount", new A.global_closure21(), "$color, $amount", new A.global_closure22()], t1, t2)), A._function4("desaturate", _s15_, new A.global_closure23()), A._function4("opacify", _s15_, A.color0___opacify$closure()), A._function4("fade-in", _s15_, A.color0___opacify$closure()), A._function4("transparentize", _s15_, A.color0___transparentize$closure()), A._function4("fade-out", _s15_, A.color0___transparentize$closure()), A.BuiltInCallable$overloadedFunction("alpha", A.LinkedHashMap_LinkedHashMap$_literal(["$color", new A.global_closure24(), "$args...", new A.global_closure25()], t1, t2)), A._function4("opacity", "$color", new A.global_closure26()), $.$get$_ieHexStr(), $.$get$_adjust().withName$1("adjust-color"), $.$get$_scale().withName$1("scale-color"), $.$get$_change().withName$1("change-color")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable);
    });
    _lazyFinal($, "module", "$get$module", () => {
      var _s9_ = "lightness",
        _s10_ = "saturation",
        _s6_ = "$color", _s5_ = "alpha",
        t1 = type$.String,
        t2 = type$.Value_Function_List_Value;
      return A.BuiltInModule$("color", A._setArrayType([$.$get$_red(), $.$get$_green(), $.$get$_blue(), $.$get$_mix(), A._function4("invert", "$color, $weight: 100%", new A.module_closure1()), $.$get$_hue(), $.$get$_saturation(), $.$get$_lightness(), $.$get$_complement(), A._removedColorFunction("adjust-hue", "hue", false), A._removedColorFunction("lighten", _s9_, false), A._removedColorFunction("darken", _s9_, true), A._removedColorFunction("saturate", _s10_, false), A._removedColorFunction("desaturate", _s10_, true), A._function4("grayscale", _s6_, new A.module_closure2()), A.BuiltInCallable$overloadedFunction("hwb", A.LinkedHashMap_LinkedHashMap$_literal(["$hue, $whiteness, $blackness, $alpha: 1", new A.module_closure3(), "$channels", new A.module_closure4()], t1, t2)), A._function4("whiteness", _s6_, new A.module_closure5()), A._function4("blackness", _s6_, new A.module_closure6()), A._removedColorFunction("opacify", _s5_, false), A._removedColorFunction("fade-in", _s5_, false), A._removedColorFunction("transparentize", _s5_, true), A._removedColorFunction("fade-out", _s5_, true), A.BuiltInCallable$overloadedFunction(_s5_, A.LinkedHashMap_LinkedHashMap$_literal(["$color", new A.module_closure7(), "$args...", new A.module_closure8()], t1, t2)), A._function4("opacity", _s6_, new A.module_closure9()), $.$get$_adjust(), $.$get$_scale(), $.$get$_change(), $.$get$_ieHexStr()], type$.JSArray_Callable), null, null, type$.Callable);
    });
    _lazyFinal($, "_red", "$get$_red", () => A._function4("red", "$color", new A._red_closure()));
    _lazyFinal($, "_green", "$get$_green", () => A._function4("green", "$color", new A._green_closure()));
    _lazyFinal($, "_blue", "$get$_blue", () => A._function4("blue", "$color", new A._blue_closure()));
    _lazyFinal($, "_mix", "$get$_mix", () => A._function4("mix", "$color1, $color2, $weight: 50%", new A._mix_closure()));
    _lazyFinal($, "_hue", "$get$_hue", () => A._function4("hue", "$color", new A._hue_closure()));
    _lazyFinal($, "_saturation", "$get$_saturation", () => A._function4("saturation", "$color", new A._saturation_closure()));
    _lazyFinal($, "_lightness", "$get$_lightness", () => A._function4("lightness", "$color", new A._lightness_closure()));
    _lazyFinal($, "_complement", "$get$_complement", () => A._function4("complement", "$color", new A._complement_closure()));
    _lazyFinal($, "_adjust", "$get$_adjust", () => A._function4("adjust", "$color, $kwargs...", new A._adjust_closure()));
    _lazyFinal($, "_scale", "$get$_scale", () => A._function4("scale", "$color, $kwargs...", new A._scale_closure()));
    _lazyFinal($, "_change", "$get$_change", () => A._function4("change", "$color, $kwargs...", new A._change_closure()));
    _lazyFinal($, "_ieHexStr", "$get$_ieHexStr", () => A._function4("ie-hex-str", "$color", new A._ieHexStr_closure()));
    _lazyFinal($, "global0", "$get$global1", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_length0(), $.$get$_nth(), $.$get$_setNth(), $.$get$_join(), $.$get$_append0(), $.$get$_zip(), $.$get$_index0(), $.$get$_isBracketed(), $.$get$_separator().withName$1("list-separator")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable));
    _lazyFinal($, "module0", "$get$module0", () => A.BuiltInModule$("list", A._setArrayType([$.$get$_length0(), $.$get$_nth(), $.$get$_setNth(), $.$get$_join(), $.$get$_append0(), $.$get$_zip(), $.$get$_index0(), $.$get$_isBracketed(), $.$get$_separator(), $.$get$_slash()], type$.JSArray_Callable), null, null, type$.Callable));
    _lazyFinal($, "_length", "$get$_length0", () => A._function3("length", "$list", new A._length_closure0()));
    _lazyFinal($, "_nth", "$get$_nth", () => A._function3("nth", "$list, $n", new A._nth_closure()));
    _lazyFinal($, "_setNth", "$get$_setNth", () => A._function3("set-nth", "$list, $n, $value", new A._setNth_closure()));
    _lazyFinal($, "_join", "$get$_join", () => A._function3("join", string$.x24list1, new A._join_closure()));
    _lazyFinal($, "_append", "$get$_append0", () => A._function3("append", "$list, $val, $separator: auto", new A._append_closure0()));
    _lazyFinal($, "_zip", "$get$_zip", () => A._function3("zip", "$lists...", new A._zip_closure()));
    _lazyFinal($, "_index", "$get$_index0", () => A._function3("index", "$list, $value", new A._index_closure0()));
    _lazyFinal($, "_separator", "$get$_separator", () => A._function3("separator", "$list", new A._separator_closure()));
    _lazyFinal($, "_isBracketed", "$get$_isBracketed", () => A._function3("is-bracketed", "$list", new A._isBracketed_closure()));
    _lazyFinal($, "_slash", "$get$_slash", () => A._function3("slash", "$elements...", new A._slash_closure()));
    _lazyFinal($, "global1", "$get$global2", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_get().withName$1("map-get"), $.$get$_merge().withName$1("map-merge"), $.$get$_remove().withName$1("map-remove"), $.$get$_keys().withName$1("map-keys"), $.$get$_values().withName$1("map-values"), $.$get$_hasKey().withName$1("map-has-key")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable));
    _lazyFinal($, "module1", "$get$module1", () => A.BuiltInModule$("map", A._setArrayType([$.$get$_get(), $.$get$_set(), $.$get$_merge(), $.$get$_remove(), $.$get$_keys(), $.$get$_values(), $.$get$_hasKey(), $.$get$_deepMerge(), $.$get$_deepRemove()], type$.JSArray_Callable), null, null, type$.Callable));
    _lazyFinal($, "_get", "$get$_get", () => A._function2("get", "$map, $key, $keys...", new A._get_closure()));
    _lazyFinal($, "_set", "$get$_set", () => A.BuiltInCallable$overloadedFunction("set", A.LinkedHashMap_LinkedHashMap$_literal(["$map, $key, $value", new A._set_closure(), "$map, $args...", new A._set_closure0()], type$.String, type$.Value_Function_List_Value)));
    _lazyFinal($, "_merge", "$get$_merge", () => A.BuiltInCallable$overloadedFunction("merge", A.LinkedHashMap_LinkedHashMap$_literal(["$map1, $map2", new A._merge_closure(), "$map1, $args...", new A._merge_closure0()], type$.String, type$.Value_Function_List_Value)));
    _lazyFinal($, "_deepMerge", "$get$_deepMerge", () => A._function2("deep-merge", "$map1, $map2", new A._deepMerge_closure()));
    _lazyFinal($, "_deepRemove", "$get$_deepRemove", () => A._function2("deep-remove", "$map, $key, $keys...", new A._deepRemove_closure()));
    _lazyFinal($, "_remove", "$get$_remove", () => A.BuiltInCallable$overloadedFunction("remove", A.LinkedHashMap_LinkedHashMap$_literal(["$map", new A._remove_closure(), "$map, $key, $keys...", new A._remove_closure0()], type$.String, type$.Value_Function_List_Value)));
    _lazyFinal($, "_keys", "$get$_keys", () => A._function2("keys", "$map", new A._keys_closure()));
    _lazyFinal($, "_values", "$get$_values", () => A._function2("values", "$map", new A._values_closure()));
    _lazyFinal($, "_hasKey", "$get$_hasKey", () => A._function2("has-key", "$map, $key, $keys...", new A._hasKey_closure()));
    _lazyFinal($, "global2", "$get$global3", () => A.UnmodifiableListView$(A._setArrayType([A._function1("abs", "$number", new A.global_closure()), $.$get$_ceil(), $.$get$_floor(), $.$get$_max(), $.$get$_min(), $.$get$_percentage(), $.$get$_randomFunction(), $.$get$_round(), $.$get$_unit(), $.$get$_compatible().withName$1("comparable"), $.$get$_isUnitless().withName$1("unitless")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable));
    _lazyFinal($, "module2", "$get$module2", () => {
      var _null = null;
      return A.BuiltInModule$("math", A._setArrayType([A._numberFunction("abs", new A.module_closure0()), $.$get$_acos(), $.$get$_asin(), $.$get$_atan(), $.$get$_atan2(), $.$get$_ceil(), $.$get$_clamp(), $.$get$_cos(), $.$get$_compatible(), $.$get$_floor(), $.$get$_hypot(), $.$get$_isUnitless(), $.$get$_log(), $.$get$_max(), $.$get$_min(), $.$get$_percentage(), $.$get$_pow(), $.$get$_randomFunction(), $.$get$_round(), $.$get$_sin(), $.$get$_sqrt(), $.$get$_tan(), $.$get$_unit(), $.$get$_div()], type$.JSArray_Callable), _null, A.LinkedHashMap_LinkedHashMap$_literal(["e", A.SassNumber_SassNumber(2.718281828459045, _null), "pi", A.SassNumber_SassNumber(3.141592653589793, _null), "epsilon", A.SassNumber_SassNumber(2220446049250313e-31, _null), "max-safe-integer", A.SassNumber_SassNumber(9007199254740991, _null), "min-safe-integer", A.SassNumber_SassNumber(-9007199254740991, _null), "max-number", A.SassNumber_SassNumber(17976931348623157e292, _null), "min-number", A.SassNumber_SassNumber(5e-324, _null)], type$.String, type$.Value), type$.Callable);
    });
    _lazyFinal($, "_ceil", "$get$_ceil", () => A._numberFunction("ceil", new A._ceil_closure()));
    _lazyFinal($, "_clamp", "$get$_clamp", () => A._function1("clamp", "$min, $number, $max", new A._clamp_closure()));
    _lazyFinal($, "_floor", "$get$_floor", () => A._numberFunction("floor", new A._floor_closure()));
    _lazyFinal($, "_max", "$get$_max", () => A._function1("max", "$numbers...", new A._max_closure()));
    _lazyFinal($, "_min", "$get$_min", () => A._function1("min", "$numbers...", new A._min_closure()));
    _lazyFinal($, "_round", "$get$_round", () => A._numberFunction("round", new A._round_closure()));
    _lazyFinal($, "_hypot", "$get$_hypot", () => A._function1("hypot", "$numbers...", new A._hypot_closure()));
    _lazyFinal($, "_log", "$get$_log", () => A._function1("log", "$number, $base: null", new A._log_closure()));
    _lazyFinal($, "_pow", "$get$_pow", () => A._function1("pow", "$base, $exponent", new A._pow_closure()));
    _lazyFinal($, "_sqrt", "$get$_sqrt", () => A._singleArgumentMathFunc("sqrt", A.number0__sqrt$closure()));
    _lazyFinal($, "_acos", "$get$_acos", () => A._singleArgumentMathFunc("acos", A.number0__acos$closure()));
    _lazyFinal($, "_asin", "$get$_asin", () => A._singleArgumentMathFunc("asin", A.number0__asin$closure()));
    _lazyFinal($, "_atan", "$get$_atan", () => A._singleArgumentMathFunc("atan", A.number0__atan$closure()));
    _lazyFinal($, "_atan2", "$get$_atan2", () => A._function1("atan2", "$y, $x", new A._atan2_closure()));
    _lazyFinal($, "_cos", "$get$_cos", () => A._singleArgumentMathFunc("cos", A.number0__cos$closure()));
    _lazyFinal($, "_sin", "$get$_sin", () => A._singleArgumentMathFunc("sin", A.number0__sin$closure()));
    _lazyFinal($, "_tan", "$get$_tan", () => A._singleArgumentMathFunc("tan", A.number0__tan$closure()));
    _lazyFinal($, "_compatible", "$get$_compatible", () => A._function1("compatible", "$number1, $number2", new A._compatible_closure()));
    _lazyFinal($, "_isUnitless", "$get$_isUnitless", () => A._function1("is-unitless", "$number", new A._isUnitless_closure()));
    _lazyFinal($, "_unit", "$get$_unit", () => A._function1("unit", "$number", new A._unit_closure()));
    _lazyFinal($, "_percentage", "$get$_percentage", () => A._function1("percentage", "$number", new A._percentage_closure()));
    _lazyFinal($, "_random", "$get$_random0", () => A.Random_Random());
    _lazyFinal($, "_randomFunction", "$get$_randomFunction", () => A._function1("random", "$limit: null", new A._randomFunction_closure()));
    _lazyFinal($, "_div", "$get$_div", () => A._function1("div", "$number1, $number2", new A._div_closure()));
    _lazyFinal($, "global3", "$get$global", () => A.UnmodifiableListView$(A._setArrayType([A._function5("feature-exists", "$feature", new A.global_closure27()), A._function5("inspect", "$value", new A.global_closure28()), A._function5("type-of", "$value", new A.global_closure29()), A._function5("keywords", "$args", new A.global_closure30())], type$.JSArray_BuiltInCallable), type$.BuiltInCallable));
    _lazyFinal($, "local", "$get$local", () => A.UnmodifiableListView$(A._setArrayType([A._function5("calc-name", "$calc", new A.local_closure()), A._function5("calc-args", "$calc", new A.local_closure0()), A._function5("accepts-content", "$mixin", new A.local_closure1())], type$.JSArray_BuiltInCallable), type$.BuiltInCallable));
    _lazyFinal($, "global4", "$get$global4", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_isSuperselector(), $.$get$_simpleSelectors(), $.$get$_parse().withName$1("selector-parse"), $.$get$_nest().withName$1("selector-nest"), $.$get$_append().withName$1("selector-append"), $.$get$_extend().withName$1("selector-extend"), $.$get$_replace().withName$1("selector-replace"), $.$get$_unify().withName$1("selector-unify")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable));
    _lazyFinal($, "module3", "$get$module3", () => A.BuiltInModule$("selector", A._setArrayType([$.$get$_isSuperselector(), $.$get$_simpleSelectors(), $.$get$_parse(), $.$get$_nest(), $.$get$_append(), $.$get$_extend(), $.$get$_replace(), $.$get$_unify()], type$.JSArray_Callable), null, null, type$.Callable));
    _lazyFinal($, "_nest", "$get$_nest", () => A._function0("nest", "$selectors...", new A._nest_closure()));
    _lazyFinal($, "_append0", "$get$_append", () => A._function0("append", "$selectors...", new A._append_closure()));
    _lazyFinal($, "_extend", "$get$_extend", () => A._function0("extend", "$selector, $extendee, $extender", new A._extend_closure()));
    _lazyFinal($, "_replace", "$get$_replace", () => A._function0("replace", "$selector, $original, $replacement", new A._replace_closure()));
    _lazyFinal($, "_unify", "$get$_unify", () => A._function0("unify", "$selector1, $selector2", new A._unify_closure()));
    _lazyFinal($, "_isSuperselector", "$get$_isSuperselector", () => A._function0("is-superselector", "$super, $sub", new A._isSuperselector_closure()));
    _lazyFinal($, "_simpleSelectors", "$get$_simpleSelectors", () => A._function0("simple-selectors", "$selector", new A._simpleSelectors_closure()));
    _lazyFinal($, "_parse", "$get$_parse", () => A._function0("parse", "$selector", new A._parse_closure()));
    _lazyFinal($, "_random0", "$get$_random", () => A.Random_Random());
    _lazy($, "_previousUniqueId", "$get$_previousUniqueId", () => $.$get$_random().nextInt$1(A._asInt(A.pow(36, 6))));
    _lazyFinal($, "global5", "$get$global5", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_unquote(), $.$get$_quote(), $.$get$_toUpperCase(), $.$get$_toLowerCase(), $.$get$_uniqueId(), $.$get$_length().withName$1("str-length"), $.$get$_insert().withName$1("str-insert"), $.$get$_index().withName$1("str-index"), $.$get$_slice().withName$1("str-slice")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable));
    _lazyFinal($, "module4", "$get$module4", () => A.BuiltInModule$("string", A._setArrayType([$.$get$_unquote(), $.$get$_quote(), $.$get$_toUpperCase(), $.$get$_toLowerCase(), $.$get$_length(), $.$get$_insert(), $.$get$_index(), $.$get$_slice(), $.$get$_uniqueId(), A._function("split", "$string, $separator, $limit: null", new A.module_closure())], type$.JSArray_Callable), null, null, type$.Callable));
    _lazyFinal($, "_unquote", "$get$_unquote", () => A._function("unquote", "$string", new A._unquote_closure()));
    _lazyFinal($, "_quote", "$get$_quote", () => A._function("quote", "$string", new A._quote_closure()));
    _lazyFinal($, "_length0", "$get$_length", () => A._function("length", "$string", new A._length_closure()));
    _lazyFinal($, "_insert", "$get$_insert", () => A._function("insert", "$string, $insert, $index", new A._insert_closure()));
    _lazyFinal($, "_index0", "$get$_index", () => A._function("index", "$string, $substring", new A._index_closure()));
    _lazyFinal($, "_slice", "$get$_slice", () => A._function("slice", "$string, $start-at, $end-at: -1", new A._slice_closure()));
    _lazyFinal($, "_toUpperCase", "$get$_toUpperCase", () => A._function("to-upper-case", "$string", new A._toUpperCase_closure()));
    _lazyFinal($, "_toLowerCase", "$get$_toLowerCase", () => A._function("to-lower-case", "$string", new A._toLowerCase_closure()));
    _lazyFinal($, "_uniqueId", "$get$_uniqueId", () => A._function("unique-id", "", new A._uniqueId_closure()));
    _lazyFinal($, "FilesystemImporter_cwd", "$get$FilesystemImporter_cwd", () => {
      var _null = null;
      return new A.FilesystemImporter(A.absolute(".", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true);
    });
    _lazyFinal($, "FilesystemImporter_noLoadPath", "$get$FilesystemImporter_noLoadPath", () => new A.FilesystemImporter(null, false));
    _lazyFinal($, "_jsThrow", "$get$_jsThrow0", () => new self.Function("error", "throw error;"));
    _lazyFinal($, "Logger_quiet", "$get$Logger_quiet", () => new A._QuietLogger());
    _lazyFinal($, "_disallowedFunctionNames", "$get$_disallowedFunctionNames", () => {
      var t1 = $.$get$globalFunctions();
      t1 = t1.map$1$1(t1, new A._disallowedFunctionNames_closure(), type$.String).toSet$0(0);
      t1.add$1(0, "if");
      t1.remove$1(0, "rgb");
      t1.remove$1(0, "rgba");
      t1.remove$1(0, "hsl");
      t1.remove$1(0, "hsla");
      t1.remove$1(0, "grayscale");
      t1.remove$1(0, "invert");
      t1.remove$1(0, "alpha");
      t1.remove$1(0, "opacity");
      t1.remove$1(0, "saturate");
      t1.remove$1(0, "min");
      t1.remove$1(0, "max");
      t1.remove$1(0, "round");
      t1.remove$1(0, "abs");
      return t1;
    });
    _lazyFinal($, "_epsilon", "$get$_epsilon", () => A.pow(10, -11));
    _lazyFinal($, "_inverseEpsilon", "$get$_inverseEpsilon", () => A.pow(10, 11));
    _lazyFinal($, "bogusSpan", "$get$bogusSpan", () => A.SourceFile$decoded(A._setArrayType([], type$.JSArray_int), null).span$1(0, 0));
    _lazyFinal($, "_noSourceUrl", "$get$_noSourceUrl", () => A.Uri_parse("-"));
    _lazyFinal($, "_traces", "$get$_traces", () => A.Expando$());
    _lazyFinal($, "_typesByUnit", "$get$_typesByUnit", () => {
      var t3, type,
        t1 = type$.String,
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t1 = A.MapExtensions_get_pairs(B.Map_397RH, t1, type$.List_String), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        type = t3._0;
        for (t3 = J.get$iterator$ax(t3._1); t3.moveNext$0();)
          t2.$indexSet(0, t3.get$current(t3), type);
      }
      return t2;
    });
    _lazyFinal($, "_knownCompatibilitiesByUnit", "$get$_knownCompatibilitiesByUnit", () => {
      var _i, set, t2,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, A.findType("Set"));
      for (_i = 0; _i < 5; ++_i) {
        set = B.List_Eeh[_i];
        for (t2 = set.get$iterator(set); t2.moveNext$0();)
          t1.$indexSet(0, t2.get$current(0), set);
      }
      return t1;
    });
    _lazyFinal($, "_emptyQuoted", "$get$_emptyQuoted", () => A.SassString$("", true));
    _lazyFinal($, "_emptyUnquoted", "$get$_emptyUnquoted", () => A.SassString$("", false));
    _lazyFinal($, "maxInt32", "$get$maxInt32", () => A._asInt(A.pow(2, 31)) - 1);
    _lazyFinal($, "minInt32", "$get$minInt32", () => -A._asInt(A.pow(2, 31)));
    _lazyFinal($, "_vmFrame", "$get$_vmFrame", () => A.RegExp_RegExp("^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$", false));
    _lazyFinal($, "_v8Frame", "$get$_v8Frame", () => A.RegExp_RegExp("^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\\)|(.*))$", false));
    _lazyFinal($, "_v8UrlLocation", "$get$_v8UrlLocation", () => A.RegExp_RegExp("^(.*?):(\\d+)(?::(\\d+))?$|native$", false));
    _lazyFinal($, "_v8EvalLocation", "$get$_v8EvalLocation", () => A.RegExp_RegExp("^eval at (?:\\S.*?) \\((.*)\\)(?:, .*?:\\d+:\\d+)?$", false));
    _lazyFinal($, "_firefoxEvalLocation", "$get$_firefoxEvalLocation", () => A.RegExp_RegExp("(\\S+)@(\\S+) line (\\d+) >.* (Function|eval):\\d+:\\d+", false));
    _lazyFinal($, "_firefoxSafariFrame", "$get$_firefoxSafariFrame", () => A.RegExp_RegExp("^(?:([^@(/]*)(?:\\(.*\\))?((?:/[^/]*)*)(?:\\(.*\\))?@)?(.*?):(\\d*)(?::(\\d*))?$", false));
    _lazyFinal($, "_friendlyFrame", "$get$_friendlyFrame", () => A.RegExp_RegExp("^(\\S+)(?: (\\d+)(?::(\\d+))?)?\\s+([^\\d].*)$", false));
    _lazyFinal($, "_asyncBody", "$get$_asyncBody", () => A.RegExp_RegExp("<(|[^>]+)_async_body>", false));
    _lazyFinal($, "_initialDot", "$get$_initialDot", () => A.RegExp_RegExp("^\\.", false));
    _lazyFinal($, "Frame__uriRegExp", "$get$Frame__uriRegExp", () => A.RegExp_RegExp("^[a-zA-Z][-+.a-zA-Z\\d]*://", false));
    _lazyFinal($, "Frame__windowsRegExp", "$get$Frame__windowsRegExp", () => A.RegExp_RegExp("^([a-zA-Z]:[\\\\/]|\\\\\\\\)", false));
    _lazyFinal($, "_terseRegExp", "$get$_terseRegExp", () => A.RegExp_RegExp("(-patch)?([/\\\\].*)?$", false));
    _lazyFinal($, "_v8Trace", "$get$_v8Trace", () => A.RegExp_RegExp("\\n    ?at ", false));
    _lazyFinal($, "_v8TraceLine", "$get$_v8TraceLine", () => A.RegExp_RegExp("    ?at ", false));
    _lazyFinal($, "_firefoxEvalTrace", "$get$_firefoxEvalTrace", () => A.RegExp_RegExp("@\\S+ line \\d+ >.* (Function|eval):\\d+:\\d+", false));
    _lazyFinal($, "_firefoxSafariTrace", "$get$_firefoxSafariTrace", () => A.RegExp_RegExp("^(([.0-9A-Za-z_$/<]|\\(.*\\))*@)?[^\\s]*:\\d*$", true));
    _lazyFinal($, "_friendlyTrace", "$get$_friendlyTrace", () => A.RegExp_RegExp("^[^\\s<][^\\s]*( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$", true));
    _lazyFinal($, "vmChainGap", "$get$vmChainGap", () => A.RegExp_RegExp("^\\n?$", true));
    _lazyFinal($, "_newlineRegExp", "$get$_newlineRegExp", () => A.RegExp_RegExp("\\r\\n?|\\n", false));
    _lazyFinal($, "argumentListClass", "$get$argumentListClass", () => new A.argumentListClass_closure().call$0());
    _lazyFinal($, "booleanClass", "$get$booleanClass", () => new A.booleanClass_closure().call$0());
    _lazyFinal($, "legacyBooleanClass", "$get$legacyBooleanClass", () => new A.legacyBooleanClass_closure().call$0());
    _lazyFinal($, "calculationClass", "$get$calculationClass", () => new A.calculationClass_closure().call$0());
    _lazyFinal($, "calculationOperationClass", "$get$calculationOperationClass", () => new A.calculationOperationClass_closure().call$0());
    _lazyFinal($, "calculationInterpolationClass", "$get$calculationInterpolationClass", () => new A.calculationInterpolationClass_closure().call$0());
    _lazyFinal($, "_microsoftFilterStart0", "$get$_microsoftFilterStart0", () => A.RegExp_RegExp("^[a-zA-Z]+\\s*=", false));
    _lazyFinal($, "global6", "$get$global7", () => {
      var _s27_ = "$red, $green, $blue, $alpha",
        _s19_ = "$red, $green, $blue",
        _s37_ = "$hue, $saturation, $lightness, $alpha",
        _s29_ = "$hue, $saturation, $lightness",
        _s17_ = "$hue, $saturation",
        _s15_ = "$color, $amount",
        t1 = type$.String,
        t2 = type$.Value_Function_List_Value_2;
      return A.UnmodifiableListView$(A._setArrayType([$.$get$_red0(), $.$get$_green0(), $.$get$_blue0(), $.$get$_mix0(), A.BuiltInCallable$overloadedFunction0("rgb", A.LinkedHashMap_LinkedHashMap$_literal([_s27_, new A.global_closure32(), _s19_, new A.global_closure33(), "$color, $alpha", new A.global_closure34(), "$channels", new A.global_closure35()], t1, t2)), A.BuiltInCallable$overloadedFunction0("rgba", A.LinkedHashMap_LinkedHashMap$_literal([_s27_, new A.global_closure36(), _s19_, new A.global_closure37(), "$color, $alpha", new A.global_closure38(), "$channels", new A.global_closure39()], t1, t2)), A._function11("invert", "$color, $weight: 100%", new A.global_closure40()), $.$get$_hue0(), $.$get$_saturation0(), $.$get$_lightness0(), $.$get$_complement0(), A.BuiltInCallable$overloadedFunction0("hsl", A.LinkedHashMap_LinkedHashMap$_literal([_s37_, new A.global_closure41(), _s29_, new A.global_closure42(), _s17_, new A.global_closure43(), "$channels", new A.global_closure44()], t1, t2)), A.BuiltInCallable$overloadedFunction0("hsla", A.LinkedHashMap_LinkedHashMap$_literal([_s37_, new A.global_closure45(), _s29_, new A.global_closure46(), _s17_, new A.global_closure47(), "$channels", new A.global_closure48()], t1, t2)), A._function11("grayscale", "$color", new A.global_closure49()), A._function11("adjust-hue", "$color, $degrees", new A.global_closure50()), A._function11("lighten", _s15_, new A.global_closure51()), A._function11("darken", _s15_, new A.global_closure52()), A.BuiltInCallable$overloadedFunction0("saturate", A.LinkedHashMap_LinkedHashMap$_literal(["$amount", new A.global_closure53(), "$color, $amount", new A.global_closure54()], t1, t2)), A._function11("desaturate", _s15_, new A.global_closure55()), A._function11("opacify", _s15_, A.color2___opacify$closure()), A._function11("fade-in", _s15_, A.color2___opacify$closure()), A._function11("transparentize", _s15_, A.color2___transparentize$closure()), A._function11("fade-out", _s15_, A.color2___transparentize$closure()), A.BuiltInCallable$overloadedFunction0("alpha", A.LinkedHashMap_LinkedHashMap$_literal(["$color", new A.global_closure56(), "$args...", new A.global_closure57()], t1, t2)), A._function11("opacity", "$color", new A.global_closure58()), $.$get$_ieHexStr0(), $.$get$_adjust0().withName$1("adjust-color"), $.$get$_scale0().withName$1("scale-color"), $.$get$_change0().withName$1("change-color")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2);
    });
    _lazyFinal($, "module5", "$get$module5", () => {
      var _s9_ = "lightness",
        _s10_ = "saturation",
        _s6_ = "$color", _s5_ = "alpha",
        t1 = type$.String,
        t2 = type$.Value_Function_List_Value_2;
      return A.BuiltInModule$0("color", A._setArrayType([$.$get$_red0(), $.$get$_green0(), $.$get$_blue0(), $.$get$_mix0(), A._function11("invert", "$color, $weight: 100%", new A.module_closure12()), $.$get$_hue0(), $.$get$_saturation0(), $.$get$_lightness0(), $.$get$_complement0(), A._removedColorFunction0("adjust-hue", "hue", false), A._removedColorFunction0("lighten", _s9_, false), A._removedColorFunction0("darken", _s9_, true), A._removedColorFunction0("saturate", _s10_, false), A._removedColorFunction0("desaturate", _s10_, true), A._function11("grayscale", _s6_, new A.module_closure13()), A.BuiltInCallable$overloadedFunction0("hwb", A.LinkedHashMap_LinkedHashMap$_literal(["$hue, $whiteness, $blackness, $alpha: 1", new A.module_closure14(), "$channels", new A.module_closure15()], t1, t2)), A._function11("whiteness", _s6_, new A.module_closure16()), A._function11("blackness", _s6_, new A.module_closure17()), A._removedColorFunction0("opacify", _s5_, false), A._removedColorFunction0("fade-in", _s5_, false), A._removedColorFunction0("transparentize", _s5_, true), A._removedColorFunction0("fade-out", _s5_, true), A.BuiltInCallable$overloadedFunction0(_s5_, A.LinkedHashMap_LinkedHashMap$_literal(["$color", new A.module_closure18(), "$args...", new A.module_closure19()], t1, t2)), A._function11("opacity", _s6_, new A.module_closure20()), $.$get$_adjust0(), $.$get$_scale0(), $.$get$_change0(), $.$get$_ieHexStr0()], type$.JSArray_Callable_2), null, null, type$.Callable_2);
    });
    _lazyFinal($, "_red0", "$get$_red0", () => A._function11("red", "$color", new A._red_closure0()));
    _lazyFinal($, "_green0", "$get$_green0", () => A._function11("green", "$color", new A._green_closure0()));
    _lazyFinal($, "_blue0", "$get$_blue0", () => A._function11("blue", "$color", new A._blue_closure0()));
    _lazyFinal($, "_mix0", "$get$_mix0", () => A._function11("mix", "$color1, $color2, $weight: 50%", new A._mix_closure0()));
    _lazyFinal($, "_hue0", "$get$_hue0", () => A._function11("hue", "$color", new A._hue_closure0()));
    _lazyFinal($, "_saturation0", "$get$_saturation0", () => A._function11("saturation", "$color", new A._saturation_closure0()));
    _lazyFinal($, "_lightness0", "$get$_lightness0", () => A._function11("lightness", "$color", new A._lightness_closure0()));
    _lazyFinal($, "_complement0", "$get$_complement0", () => A._function11("complement", "$color", new A._complement_closure0()));
    _lazyFinal($, "_adjust0", "$get$_adjust0", () => A._function11("adjust", "$color, $kwargs...", new A._adjust_closure0()));
    _lazyFinal($, "_scale0", "$get$_scale0", () => A._function11("scale", "$color, $kwargs...", new A._scale_closure0()));
    _lazyFinal($, "_change0", "$get$_change0", () => A._function11("change", "$color, $kwargs...", new A._change_closure0()));
    _lazyFinal($, "_ieHexStr0", "$get$_ieHexStr0", () => A._function11("ie-hex-str", "$color", new A._ieHexStr_closure0()));
    _lazyFinal($, "colorClass", "$get$colorClass", () => new A.colorClass_closure().call$0());
    _lazyFinal($, "legacyColorClass", "$get$legacyColorClass", () => {
      var t1 = A.createJSClass("sass.types.Color", new A.legacyColorClass_closure());
      A.JSClassExtension_defineMethods(t1, A.LinkedHashMap_LinkedHashMap$_literal(["getR", new A.legacyColorClass_closure0(), "getG", new A.legacyColorClass_closure1(), "getB", new A.legacyColorClass_closure2(), "getA", new A.legacyColorClass_closure3(), "setR", new A.legacyColorClass_closure4(), "setG", new A.legacyColorClass_closure5(), "setB", new A.legacyColorClass_closure6(), "setA", new A.legacyColorClass_closure7()], type$.String, type$.Function));
      return t1;
    });
    _lazyFinal($, "colorsByName0", "$get$colorsByName0", () => A.LinkedHashMap_LinkedHashMap$_literal(["yellowgreen", A.SassColor$rgb0(154, 205, 50, 1), "yellow", A.SassColor$rgb0(255, 255, 0, 1), "whitesmoke", A.SassColor$rgb0(245, 245, 245, 1), "white", A.SassColor$rgb0(255, 255, 255, 1), "wheat", A.SassColor$rgb0(245, 222, 179, 1), "violet", A.SassColor$rgb0(238, 130, 238, 1), "turquoise", A.SassColor$rgb0(64, 224, 208, 1), "transparent", A.SassColor$rgb0(0, 0, 0, 0), "tomato", A.SassColor$rgb0(255, 99, 71, 1), "thistle", A.SassColor$rgb0(216, 191, 216, 1), "teal", A.SassColor$rgb0(0, 128, 128, 1), "tan", A.SassColor$rgb0(210, 180, 140, 1), "steelblue", A.SassColor$rgb0(70, 130, 180, 1), "springgreen", A.SassColor$rgb0(0, 255, 127, 1), "snow", A.SassColor$rgb0(255, 250, 250, 1), "slategrey", A.SassColor$rgb0(112, 128, 144, 1), "slategray", A.SassColor$rgb0(112, 128, 144, 1), "slateblue", A.SassColor$rgb0(106, 90, 205, 1), "skyblue", A.SassColor$rgb0(135, 206, 235, 1), "silver", A.SassColor$rgb0(192, 192, 192, 1), "sienna", A.SassColor$rgb0(160, 82, 45, 1), "seashell", A.SassColor$rgb0(255, 245, 238, 1), "seagreen", A.SassColor$rgb0(46, 139, 87, 1), "sandybrown", A.SassColor$rgb0(244, 164, 96, 1), "salmon", A.SassColor$rgb0(250, 128, 114, 1), "saddlebrown", A.SassColor$rgb0(139, 69, 19, 1), "royalblue", A.SassColor$rgb0(65, 105, 225, 1), "rosybrown", A.SassColor$rgb0(188, 143, 143, 1), "red", A.SassColor$rgb0(255, 0, 0, 1), "rebeccapurple", A.SassColor$rgb0(102, 51, 153, 1), "purple", A.SassColor$rgb0(128, 0, 128, 1), "powderblue", A.SassColor$rgb0(176, 224, 230, 1), "plum", A.SassColor$rgb0(221, 160, 221, 1), "pink", A.SassColor$rgb0(255, 192, 203, 1), "peru", A.SassColor$rgb0(205, 133, 63, 1), "peachpuff", A.SassColor$rgb0(255, 218, 185, 1), "papayawhip", A.SassColor$rgb0(255, 239, 213, 1), "palevioletred", A.SassColor$rgb0(219, 112, 147, 1), "paleturquoise", A.SassColor$rgb0(175, 238, 238, 1), "palegreen", A.SassColor$rgb0(152, 251, 152, 1), "palegoldenrod", A.SassColor$rgb0(238, 232, 170, 1), "orchid", A.SassColor$rgb0(218, 112, 214, 1), "orangered", A.SassColor$rgb0(255, 69, 0, 1), "orange", A.SassColor$rgb0(255, 165, 0, 1), "olivedrab", A.SassColor$rgb0(107, 142, 35, 1), "olive", A.SassColor$rgb0(128, 128, 0, 1), "oldlace", A.SassColor$rgb0(253, 245, 230, 1), "navy", A.SassColor$rgb0(0, 0, 128, 1), "navajowhite", A.SassColor$rgb0(255, 222, 173, 1), "moccasin", A.SassColor$rgb0(255, 228, 181, 1), "mistyrose", A.SassColor$rgb0(255, 228, 225, 1), "mintcream", A.SassColor$rgb0(245, 255, 250, 1), "midnightblue", A.SassColor$rgb0(25, 25, 112, 1), "mediumvioletred", A.SassColor$rgb0(199, 21, 133, 1), "mediumturquoise", A.SassColor$rgb0(72, 209, 204, 1), "mediumspringgreen", A.SassColor$rgb0(0, 250, 154, 1), "mediumslateblue", A.SassColor$rgb0(123, 104, 238, 1), "mediumseagreen", A.SassColor$rgb0(60, 179, 113, 1), "mediumpurple", A.SassColor$rgb0(147, 112, 219, 1), "mediumorchid", A.SassColor$rgb0(186, 85, 211, 1), "mediumblue", A.SassColor$rgb0(0, 0, 205, 1), "mediumaquamarine", A.SassColor$rgb0(102, 205, 170, 1), "maroon", A.SassColor$rgb0(128, 0, 0, 1), "magenta", A.SassColor$rgb0(255, 0, 255, 1), "linen", A.SassColor$rgb0(250, 240, 230, 1), "limegreen", A.SassColor$rgb0(50, 205, 50, 1), "lime", A.SassColor$rgb0(0, 255, 0, 1), "lightyellow", A.SassColor$rgb0(255, 255, 224, 1), "lightsteelblue", A.SassColor$rgb0(176, 196, 222, 1), "lightslategrey", A.SassColor$rgb0(119, 136, 153, 1), "lightslategray", A.SassColor$rgb0(119, 136, 153, 1), "lightskyblue", A.SassColor$rgb0(135, 206, 250, 1), "lightseagreen", A.SassColor$rgb0(32, 178, 170, 1), "lightsalmon", A.SassColor$rgb0(255, 160, 122, 1), "lightpink", A.SassColor$rgb0(255, 182, 193, 1), "lightgrey", A.SassColor$rgb0(211, 211, 211, 1), "lightgreen", A.SassColor$rgb0(144, 238, 144, 1), "lightgray", A.SassColor$rgb0(211, 211, 211, 1), "lightgoldenrodyellow", A.SassColor$rgb0(250, 250, 210, 1), "lightcyan", A.SassColor$rgb0(224, 255, 255, 1), "lightcoral", A.SassColor$rgb0(240, 128, 128, 1), "lightblue", A.SassColor$rgb0(173, 216, 230, 1), "lemonchiffon", A.SassColor$rgb0(255, 250, 205, 1), "lawngreen", A.SassColor$rgb0(124, 252, 0, 1), "lavenderblush", A.SassColor$rgb0(255, 240, 245, 1), "lavender", A.SassColor$rgb0(230, 230, 250, 1), "khaki", A.SassColor$rgb0(240, 230, 140, 1), "ivory", A.SassColor$rgb0(255, 255, 240, 1), "indigo", A.SassColor$rgb0(75, 0, 130, 1), "indianred", A.SassColor$rgb0(205, 92, 92, 1), "hotpink", A.SassColor$rgb0(255, 105, 180, 1), "honeydew", A.SassColor$rgb0(240, 255, 240, 1), "grey", A.SassColor$rgb0(128, 128, 128, 1), "greenyellow", A.SassColor$rgb0(173, 255, 47, 1), "green", A.SassColor$rgb0(0, 128, 0, 1), "gray", A.SassColor$rgb0(128, 128, 128, 1), "goldenrod", A.SassColor$rgb0(218, 165, 32, 1), "gold", A.SassColor$rgb0(255, 215, 0, 1), "ghostwhite", A.SassColor$rgb0(248, 248, 255, 1), "gainsboro", A.SassColor$rgb0(220, 220, 220, 1), "fuchsia", A.SassColor$rgb0(255, 0, 255, 1), "forestgreen", A.SassColor$rgb0(34, 139, 34, 1), "floralwhite", A.SassColor$rgb0(255, 250, 240, 1), "firebrick", A.SassColor$rgb0(178, 34, 34, 1), "dodgerblue", A.SassColor$rgb0(30, 144, 255, 1), "dimgrey", A.SassColor$rgb0(105, 105, 105, 1), "dimgray", A.SassColor$rgb0(105, 105, 105, 1), "deepskyblue", A.SassColor$rgb0(0, 191, 255, 1), "deeppink", A.SassColor$rgb0(255, 20, 147, 1), "darkviolet", A.SassColor$rgb0(148, 0, 211, 1), "darkturquoise", A.SassColor$rgb0(0, 206, 209, 1), "darkslategrey", A.SassColor$rgb0(47, 79, 79, 1), "darkslategray", A.SassColor$rgb0(47, 79, 79, 1), "darkslateblue", A.SassColor$rgb0(72, 61, 139, 1), "darkseagreen", A.SassColor$rgb0(143, 188, 143, 1), "darksalmon", A.SassColor$rgb0(233, 150, 122, 1), "darkred", A.SassColor$rgb0(139, 0, 0, 1), "darkorchid", A.SassColor$rgb0(153, 50, 204, 1), "darkorange", A.SassColor$rgb0(255, 140, 0, 1), "darkolivegreen", A.SassColor$rgb0(85, 107, 47, 1), "darkmagenta", A.SassColor$rgb0(139, 0, 139, 1), "darkkhaki", A.SassColor$rgb0(189, 183, 107, 1), "darkgrey", A.SassColor$rgb0(169, 169, 169, 1), "darkgreen", A.SassColor$rgb0(0, 100, 0, 1), "darkgray", A.SassColor$rgb0(169, 169, 169, 1), "darkgoldenrod", A.SassColor$rgb0(184, 134, 11, 1), "darkcyan", A.SassColor$rgb0(0, 139, 139, 1), "darkblue", A.SassColor$rgb0(0, 0, 139, 1), "cyan", A.SassColor$rgb0(0, 255, 255, 1), "crimson", A.SassColor$rgb0(220, 20, 60, 1), "cornsilk", A.SassColor$rgb0(255, 248, 220, 1), "cornflowerblue", A.SassColor$rgb0(100, 149, 237, 1), "coral", A.SassColor$rgb0(255, 127, 80, 1), "chocolate", A.SassColor$rgb0(210, 105, 30, 1), "chartreuse", A.SassColor$rgb0(127, 255, 0, 1), "cadetblue", A.SassColor$rgb0(95, 158, 160, 1), "burlywood", A.SassColor$rgb0(222, 184, 135, 1), "brown", A.SassColor$rgb0(165, 42, 42, 1), "blueviolet", A.SassColor$rgb0(138, 43, 226, 1), "blue", A.SassColor$rgb0(0, 0, 255, 1), "blanchedalmond", A.SassColor$rgb0(255, 235, 205, 1), "black", A.SassColor$rgb0(0, 0, 0, 1), "bisque", A.SassColor$rgb0(255, 228, 196, 1), "beige", A.SassColor$rgb0(245, 245, 220, 1), "azure", A.SassColor$rgb0(240, 255, 255, 1), "aquamarine", A.SassColor$rgb0(127, 255, 212, 1), "aqua", A.SassColor$rgb0(0, 255, 255, 1), "antiquewhite", A.SassColor$rgb0(250, 235, 215, 1), "aliceblue", A.SassColor$rgb0(240, 248, 255, 1)], type$.String, type$.SassColor_2));
    _lazyFinal($, "namesByColor0", "$get$namesByColor0", () => {
      var $name,
        t1 = type$.SassColor_2,
        t2 = type$.String,
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      for (t1 = A.MapExtensions_get_pairs0($.$get$colorsByName0(), t2, t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        $name = t2._0;
        t3.$indexSet(0, t2._1, $name);
      }
      return t3;
    });
    _lazyFinal($, "nodePackageImporterClass", "$get$nodePackageImporterClass", () => new A.nodePackageImporterClass_closure().call$0());
    _lazyFinal($, "compilerClass", "$get$compilerClass", () => new A.compilerClass_closure().call$0());
    _lazyFinal($, "asyncCompilerClass", "$get$asyncCompilerClass", () => new A.asyncCompilerClass_closure().call$0());
    _lazyFinal($, "_disallowedFunctionNames0", "$get$_disallowedFunctionNames0", () => {
      var t1 = $.$get$globalFunctions0();
      t1 = t1.map$1$1(t1, new A._disallowedFunctionNames_closure0(), type$.String).toSet$0(0);
      t1.add$1(0, "if");
      t1.remove$1(0, "rgb");
      t1.remove$1(0, "rgba");
      t1.remove$1(0, "hsl");
      t1.remove$1(0, "hsla");
      t1.remove$1(0, "grayscale");
      t1.remove$1(0, "invert");
      t1.remove$1(0, "alpha");
      t1.remove$1(0, "opacity");
      t1.remove$1(0, "saturate");
      t1.remove$1(0, "min");
      t1.remove$1(0, "max");
      t1.remove$1(0, "round");
      t1.remove$1(0, "abs");
      return t1;
    });
    _lazyFinal($, "deprecations", "$get$deprecations", () => {
      var _i, deprecation, t2,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, A.findType("Deprecation1?"));
      for (_i = 0; _i < 19; ++_i) {
        deprecation = B.List_wIq[_i];
        if (deprecation !== B.Deprecation_Agq) {
          t2 = deprecation.id;
          t1.$indexSet(0, t2, {id: t2, status: new A.deprecations_closure(deprecation).call$0(), description: deprecation.description, deprecatedIn: deprecation.get$deprecatedIn(0), obsoleteIn: deprecation.get$deprecatedIn(0)});
        }
      }
      return t1;
    });
    _lazyFinal($, "versionClass", "$get$versionClass", () => new A.versionClass_closure().call$0());
    _lazyFinal($, "exceptionClass", "$get$exceptionClass", () => new A.exceptionClass_closure().call$0());
    _lazyFinal($, "FilesystemImporter_cwd0", "$get$FilesystemImporter_cwd0", () => {
      var _null = null;
      return new A.FilesystemImporter0(A.absolute(".", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true);
    });
    _lazyFinal($, "functionClass", "$get$functionClass", () => new A.functionClass_closure().call$0());
    _lazyFinal($, "globalFunctions0", "$get$globalFunctions0", () => {
      var t1 = type$.BuiltInCallable_2,
        t2 = A.List_List$of($.$get$global7(), true, t1);
      B.JSArray_methods.addAll$1(t2, $.$get$global8());
      B.JSArray_methods.addAll$1(t2, $.$get$global9());
      B.JSArray_methods.addAll$1(t2, $.$get$global10());
      B.JSArray_methods.addAll$1(t2, $.$get$global11());
      B.JSArray_methods.addAll$1(t2, $.$get$global12());
      B.JSArray_methods.addAll$1(t2, $.$get$global6());
      t2.push(A.BuiltInCallable$function0("if", "$condition, $if-true, $if-false", new A.globalFunctions_closure0(), null));
      return A.UnmodifiableListView$(t2, t1);
    });
    _lazyFinal($, "coreModules0", "$get$coreModules0", () => A.UnmodifiableListView$(A._setArrayType([$.$get$module5(), $.$get$module6(), $.$get$module7(), $.$get$module8(), $.$get$module9(), $.$get$module10()], A.findType("JSArray>")), type$.BuiltInModule_Callable_2));
    _lazyFinal($, "IfExpression_declaration0", "$get$IfExpression_declaration0", () => A.ArgumentDeclaration_ArgumentDeclaration$parse0(string$.x40funct, null));
    _lazyFinal($, "global7", "$get$global8", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_length2(), $.$get$_nth0(), $.$get$_setNth0(), $.$get$_join0(), $.$get$_append2(), $.$get$_zip0(), $.$get$_index2(), $.$get$_isBracketed0(), $.$get$_separator0().withName$1("list-separator")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2));
    _lazyFinal($, "module6", "$get$module6", () => A.BuiltInModule$0("list", A._setArrayType([$.$get$_length2(), $.$get$_nth0(), $.$get$_setNth0(), $.$get$_join0(), $.$get$_append2(), $.$get$_zip0(), $.$get$_index2(), $.$get$_isBracketed0(), $.$get$_separator0(), $.$get$_slash0()], type$.JSArray_Callable_2), null, null, type$.Callable_2));
    _lazyFinal($, "_length1", "$get$_length2", () => A._function10("length", "$list", new A._length_closure2()));
    _lazyFinal($, "_nth0", "$get$_nth0", () => A._function10("nth", "$list, $n", new A._nth_closure0()));
    _lazyFinal($, "_setNth0", "$get$_setNth0", () => A._function10("set-nth", "$list, $n, $value", new A._setNth_closure0()));
    _lazyFinal($, "_join0", "$get$_join0", () => A._function10("join", string$.x24list1, new A._join_closure0()));
    _lazyFinal($, "_append1", "$get$_append2", () => A._function10("append", "$list, $val, $separator: auto", new A._append_closure2()));
    _lazyFinal($, "_zip0", "$get$_zip0", () => A._function10("zip", "$lists...", new A._zip_closure0()));
    _lazyFinal($, "_index1", "$get$_index2", () => A._function10("index", "$list, $value", new A._index_closure2()));
    _lazyFinal($, "_separator0", "$get$_separator0", () => A._function10("separator", "$list", new A._separator_closure0()));
    _lazyFinal($, "_isBracketed0", "$get$_isBracketed0", () => A._function10("is-bracketed", "$list", new A._isBracketed_closure0()));
    _lazyFinal($, "_slash0", "$get$_slash0", () => A._function10("slash", "$elements...", new A._slash_closure0()));
    _lazyFinal($, "listClass", "$get$listClass", () => new A.listClass_closure().call$0());
    _lazyFinal($, "legacyListClass", "$get$legacyListClass", () => {
      var t1 = A.createJSClass("sass.types.List", new A.legacyListClass_closure());
      A.JSClassExtension_defineMethods(t1, A.LinkedHashMap_LinkedHashMap$_literal(["getValue", new A.legacyListClass_closure0(), "setValue", new A.legacyListClass_closure1(), "getSeparator", new A.legacyListClass_closure2(), "setSeparator", new A.legacyListClass_closure3(), "getLength", new A.legacyListClass_closure4()], type$.String, type$.Function));
      return t1;
    });
    _lazyFinal($, "Logger_quiet0", "$get$Logger_quiet0", () => new A._QuietLogger0());
    _lazyFinal($, "global8", "$get$global9", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_get0().withName$1("map-get"), $.$get$_merge0().withName$1("map-merge"), $.$get$_remove0().withName$1("map-remove"), $.$get$_keys0().withName$1("map-keys"), $.$get$_values0().withName$1("map-values"), $.$get$_hasKey0().withName$1("map-has-key")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2));
    _lazyFinal($, "module7", "$get$module7", () => A.BuiltInModule$0("map", A._setArrayType([$.$get$_get0(), $.$get$_set0(), $.$get$_merge0(), $.$get$_remove0(), $.$get$_keys0(), $.$get$_values0(), $.$get$_hasKey0(), $.$get$_deepMerge0(), $.$get$_deepRemove0()], type$.JSArray_Callable_2), null, null, type$.Callable_2));
    _lazyFinal($, "_get0", "$get$_get0", () => A._function9("get", "$map, $key, $keys...", new A._get_closure0()));
    _lazyFinal($, "_set0", "$get$_set0", () => A.BuiltInCallable$overloadedFunction0("set", A.LinkedHashMap_LinkedHashMap$_literal(["$map, $key, $value", new A._set_closure1(), "$map, $args...", new A._set_closure2()], type$.String, type$.Value_Function_List_Value_2)));
    _lazyFinal($, "_merge0", "$get$_merge0", () => A.BuiltInCallable$overloadedFunction0("merge", A.LinkedHashMap_LinkedHashMap$_literal(["$map1, $map2", new A._merge_closure1(), "$map1, $args...", new A._merge_closure2()], type$.String, type$.Value_Function_List_Value_2)));
    _lazyFinal($, "_deepMerge0", "$get$_deepMerge0", () => A._function9("deep-merge", "$map1, $map2", new A._deepMerge_closure0()));
    _lazyFinal($, "_deepRemove0", "$get$_deepRemove0", () => A._function9("deep-remove", "$map, $key, $keys...", new A._deepRemove_closure0()));
    _lazyFinal($, "_remove0", "$get$_remove0", () => A.BuiltInCallable$overloadedFunction0("remove", A.LinkedHashMap_LinkedHashMap$_literal(["$map", new A._remove_closure1(), "$map, $key, $keys...", new A._remove_closure2()], type$.String, type$.Value_Function_List_Value_2)));
    _lazyFinal($, "_keys0", "$get$_keys0", () => A._function9("keys", "$map", new A._keys_closure0()));
    _lazyFinal($, "_values0", "$get$_values0", () => A._function9("values", "$map", new A._values_closure0()));
    _lazyFinal($, "_hasKey0", "$get$_hasKey0", () => A._function9("has-key", "$map, $key, $keys...", new A._hasKey_closure0()));
    _lazyFinal($, "mapClass", "$get$mapClass", () => new A.mapClass_closure().call$0());
    _lazyFinal($, "legacyMapClass", "$get$legacyMapClass", () => {
      var t1 = A.createJSClass("sass.types.Map", new A.legacyMapClass_closure());
      A.JSClassExtension_defineMethods(t1, A.LinkedHashMap_LinkedHashMap$_literal(["getKey", new A.legacyMapClass_closure0(), "getValue", new A.legacyMapClass_closure1(), "getLength", new A.legacyMapClass_closure2(), "setKey", new A.legacyMapClass_closure3(), "setValue", new A.legacyMapClass_closure4()], type$.String, type$.Function));
      return t1;
    });
    _lazyFinal($, "global9", "$get$global10", () => A.UnmodifiableListView$(A._setArrayType([A._function8("abs", "$number", new A.global_closure31()), $.$get$_ceil0(), $.$get$_floor0(), $.$get$_max0(), $.$get$_min0(), $.$get$_percentage0(), $.$get$_randomFunction0(), $.$get$_round0(), $.$get$_unit0(), $.$get$_compatible0().withName$1("comparable"), $.$get$_isUnitless0().withName$1("unitless")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2));
    _lazyFinal($, "module8", "$get$module8", () => {
      var _null = null;
      return A.BuiltInModule$0("math", A._setArrayType([A._numberFunction0("abs", new A.module_closure11()), $.$get$_acos0(), $.$get$_asin0(), $.$get$_atan0(), $.$get$_atan20(), $.$get$_ceil0(), $.$get$_clamp0(), $.$get$_cos0(), $.$get$_compatible0(), $.$get$_floor0(), $.$get$_hypot0(), $.$get$_isUnitless0(), $.$get$_log0(), $.$get$_max0(), $.$get$_min0(), $.$get$_percentage0(), $.$get$_pow0(), $.$get$_randomFunction0(), $.$get$_round0(), $.$get$_sin0(), $.$get$_sqrt0(), $.$get$_tan0(), $.$get$_unit0(), $.$get$_div0()], type$.JSArray_Callable_2), _null, A.LinkedHashMap_LinkedHashMap$_literal(["e", A.SassNumber_SassNumber0(2.718281828459045, _null), "pi", A.SassNumber_SassNumber0(3.141592653589793, _null), "epsilon", A.SassNumber_SassNumber0(2220446049250313e-31, _null), "max-safe-integer", A.SassNumber_SassNumber0(9007199254740991, _null), "min-safe-integer", A.SassNumber_SassNumber0(-9007199254740991, _null), "max-number", A.SassNumber_SassNumber0(17976931348623157e292, _null), "min-number", A.SassNumber_SassNumber0(5e-324, _null)], type$.String, type$.Value_2), type$.Callable_2);
    });
    _lazyFinal($, "_ceil0", "$get$_ceil0", () => A._numberFunction0("ceil", new A._ceil_closure0()));
    _lazyFinal($, "_clamp0", "$get$_clamp0", () => A._function8("clamp", "$min, $number, $max", new A._clamp_closure0()));
    _lazyFinal($, "_floor0", "$get$_floor0", () => A._numberFunction0("floor", new A._floor_closure0()));
    _lazyFinal($, "_max0", "$get$_max0", () => A._function8("max", "$numbers...", new A._max_closure0()));
    _lazyFinal($, "_min0", "$get$_min0", () => A._function8("min", "$numbers...", new A._min_closure0()));
    _lazyFinal($, "_round0", "$get$_round0", () => A._numberFunction0("round", new A._round_closure0()));
    _lazyFinal($, "_hypot0", "$get$_hypot0", () => A._function8("hypot", "$numbers...", new A._hypot_closure0()));
    _lazyFinal($, "_log0", "$get$_log0", () => A._function8("log", "$number, $base: null", new A._log_closure0()));
    _lazyFinal($, "_pow0", "$get$_pow0", () => A._function8("pow", "$base, $exponent", new A._pow_closure0()));
    _lazyFinal($, "_sqrt0", "$get$_sqrt0", () => A._singleArgumentMathFunc0("sqrt", A.number2__sqrt$closure()));
    _lazyFinal($, "_acos0", "$get$_acos0", () => A._singleArgumentMathFunc0("acos", A.number2__acos$closure()));
    _lazyFinal($, "_asin0", "$get$_asin0", () => A._singleArgumentMathFunc0("asin", A.number2__asin$closure()));
    _lazyFinal($, "_atan0", "$get$_atan0", () => A._singleArgumentMathFunc0("atan", A.number2__atan$closure()));
    _lazyFinal($, "_atan20", "$get$_atan20", () => A._function8("atan2", "$y, $x", new A._atan2_closure0()));
    _lazyFinal($, "_cos0", "$get$_cos0", () => A._singleArgumentMathFunc0("cos", A.number2__cos$closure()));
    _lazyFinal($, "_sin0", "$get$_sin0", () => A._singleArgumentMathFunc0("sin", A.number2__sin$closure()));
    _lazyFinal($, "_tan0", "$get$_tan0", () => A._singleArgumentMathFunc0("tan", A.number2__tan$closure()));
    _lazyFinal($, "_compatible0", "$get$_compatible0", () => A._function8("compatible", "$number1, $number2", new A._compatible_closure0()));
    _lazyFinal($, "_isUnitless0", "$get$_isUnitless0", () => A._function8("is-unitless", "$number", new A._isUnitless_closure0()));
    _lazyFinal($, "_unit0", "$get$_unit0", () => A._function8("unit", "$number", new A._unit_closure0()));
    _lazyFinal($, "_percentage0", "$get$_percentage0", () => A._function8("percentage", "$number", new A._percentage_closure0()));
    _lazyFinal($, "_random1", "$get$_random2", () => A.Random_Random());
    _lazyFinal($, "_randomFunction0", "$get$_randomFunction0", () => A._function8("random", "$limit: null", new A._randomFunction_closure0()));
    _lazyFinal($, "_div0", "$get$_div0", () => A._function8("div", "$number1, $number2", new A._div_closure0()));
    _lazyFinal($, "global10", "$get$global6", () => A.UnmodifiableListView$(A._setArrayType([A._function12("feature-exists", "$feature", new A.global_closure59()), A._function12("inspect", "$value", new A.global_closure60()), A._function12("type-of", "$value", new A.global_closure61()), A._function12("keywords", "$args", new A.global_closure62())], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2));
    _lazyFinal($, "local0", "$get$local0", () => A.UnmodifiableListView$(A._setArrayType([A._function12("calc-name", "$calc", new A.local_closure2()), A._function12("calc-args", "$calc", new A.local_closure3()), A._function12("accepts-content", "$mixin", new A.local_closure4())], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2));
    _lazyFinal($, "mixinClass", "$get$mixinClass", () => new A.mixinClass_closure().call$0());
    _lazyFinal($, "legacyNullClass", "$get$legacyNullClass", () => new A.legacyNullClass_closure().call$0());
    _lazyFinal($, "_epsilon0", "$get$_epsilon0", () => A.pow(10, -11));
    _lazyFinal($, "_inverseEpsilon0", "$get$_inverseEpsilon0", () => A.pow(10, 11));
    _lazyFinal($, "numberClass", "$get$numberClass", () => new A.numberClass_closure().call$0());
    _lazyFinal($, "legacyNumberClass", "$get$legacyNumberClass", () => {
      var t1 = A.createJSClass("sass.types.Number", new A.legacyNumberClass_closure());
      A.JSClassExtension_defineMethods(t1, A.LinkedHashMap_LinkedHashMap$_literal(["getValue", new A.legacyNumberClass_closure0(), "setValue", new A.legacyNumberClass_closure1(), "getUnit", new A.legacyNumberClass_closure2(), "setUnit", new A.legacyNumberClass_closure3()], type$.String, type$.Function));
      return t1;
    });
    _lazyFinal($, "_typesByUnit0", "$get$_typesByUnit0", () => {
      var t3, type,
        t1 = type$.String,
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      for (t1 = A.MapExtensions_get_pairs0(B.Map_397RH, t1, type$.List_String), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        type = t3._0;
        for (t3 = J.get$iterator$ax(t3._1); t3.moveNext$0();)
          t2.$indexSet(0, t3.get$current(t3), type);
      }
      return t2;
    });
    _lazyFinal($, "global11", "$get$global11", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_isSuperselector0(), $.$get$_simpleSelectors0(), $.$get$_parse0().withName$1("selector-parse"), $.$get$_nest0().withName$1("selector-nest"), $.$get$_append1().withName$1("selector-append"), $.$get$_extend0().withName$1("selector-extend"), $.$get$_replace0().withName$1("selector-replace"), $.$get$_unify0().withName$1("selector-unify")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2));
    _lazyFinal($, "module9", "$get$module9", () => A.BuiltInModule$0("selector", A._setArrayType([$.$get$_isSuperselector0(), $.$get$_simpleSelectors0(), $.$get$_parse0(), $.$get$_nest0(), $.$get$_append1(), $.$get$_extend0(), $.$get$_replace0(), $.$get$_unify0()], type$.JSArray_Callable_2), null, null, type$.Callable_2));
    _lazyFinal($, "_nest0", "$get$_nest0", () => A._function7("nest", "$selectors...", new A._nest_closure0()));
    _lazyFinal($, "_append2", "$get$_append1", () => A._function7("append", "$selectors...", new A._append_closure1()));
    _lazyFinal($, "_extend0", "$get$_extend0", () => A._function7("extend", "$selector, $extendee, $extender", new A._extend_closure0()));
    _lazyFinal($, "_replace0", "$get$_replace0", () => A._function7("replace", "$selector, $original, $replacement", new A._replace_closure0()));
    _lazyFinal($, "_unify0", "$get$_unify0", () => A._function7("unify", "$selector1, $selector2", new A._unify_closure0()));
    _lazyFinal($, "_isSuperselector0", "$get$_isSuperselector0", () => A._function7("is-superselector", "$super, $sub", new A._isSuperselector_closure0()));
    _lazyFinal($, "_simpleSelectors0", "$get$_simpleSelectors0", () => A._function7("simple-selectors", "$selector", new A._simpleSelectors_closure0()));
    _lazyFinal($, "_parse0", "$get$_parse0", () => A._function7("parse", "$selector", new A._parse_closure0()));
    _lazyFinal($, "_knownCompatibilitiesByUnit0", "$get$_knownCompatibilitiesByUnit0", () => {
      var _i, set, t2,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, A.findType("Set"));
      for (_i = 0; _i < 5; ++_i) {
        set = B.List_Eeh[_i];
        for (t2 = set.get$iterator(set); t2.moveNext$0();)
          t1.$indexSet(0, t2.get$current(0), set);
      }
      return t1;
    });
    _lazyFinal($, "bogusSpan0", "$get$bogusSpan0", () => A.SourceFile$decoded(A._setArrayType([], type$.JSArray_int), null).span$1(0, 0));
    _lazyFinal($, "_random2", "$get$_random1", () => A.Random_Random());
    _lazy($, "_previousUniqueId0", "$get$_previousUniqueId0", () => $.$get$_random1().nextInt$1(A._asInt(A.pow(36, 6))));
    _lazyFinal($, "global12", "$get$global12", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_unquote0(), $.$get$_quote0(), $.$get$_toUpperCase0(), $.$get$_toLowerCase0(), $.$get$_uniqueId0(), $.$get$_length1().withName$1("str-length"), $.$get$_insert0().withName$1("str-insert"), $.$get$_index1().withName$1("str-index"), $.$get$_slice0().withName$1("str-slice")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2));
    _lazyFinal($, "module10", "$get$module10", () => A.BuiltInModule$0("string", A._setArrayType([$.$get$_unquote0(), $.$get$_quote0(), $.$get$_toUpperCase0(), $.$get$_toLowerCase0(), $.$get$_length1(), $.$get$_insert0(), $.$get$_index1(), $.$get$_slice0(), $.$get$_uniqueId0(), A._function6("split", "$string, $separator, $limit: null", new A.module_closure10())], type$.JSArray_Callable_2), null, null, type$.Callable_2));
    _lazyFinal($, "_unquote0", "$get$_unquote0", () => A._function6("unquote", "$string", new A._unquote_closure0()));
    _lazyFinal($, "_quote0", "$get$_quote0", () => A._function6("quote", "$string", new A._quote_closure0()));
    _lazyFinal($, "_length2", "$get$_length1", () => A._function6("length", "$string", new A._length_closure1()));
    _lazyFinal($, "_insert0", "$get$_insert0", () => A._function6("insert", "$string, $insert, $index", new A._insert_closure0()));
    _lazyFinal($, "_index2", "$get$_index1", () => A._function6("index", "$string, $substring", new A._index_closure1()));
    _lazyFinal($, "_slice0", "$get$_slice0", () => A._function6("slice", "$string, $start-at, $end-at: -1", new A._slice_closure0()));
    _lazyFinal($, "_toUpperCase0", "$get$_toUpperCase0", () => A._function6("to-upper-case", "$string", new A._toUpperCase_closure0()));
    _lazyFinal($, "_toLowerCase0", "$get$_toLowerCase0", () => A._function6("to-lower-case", "$string", new A._toLowerCase_closure0()));
    _lazyFinal($, "_uniqueId0", "$get$_uniqueId0", () => A._function6("unique-id", "", new A._uniqueId_closure0()));
    _lazyFinal($, "stringClass", "$get$stringClass", () => new A.stringClass_closure().call$0());
    _lazyFinal($, "legacyStringClass", "$get$legacyStringClass", () => {
      var t1 = A.createJSClass("sass.types.String", new A.legacyStringClass_closure());
      A.JSClassExtension_defineMethods(t1, A.LinkedHashMap_LinkedHashMap$_literal(["getValue", new A.legacyStringClass_closure0(), "setValue", new A.legacyStringClass_closure1()], type$.String, type$.Function));
      return t1;
    });
    _lazyFinal($, "_emptyQuoted0", "$get$_emptyQuoted0", () => A.SassString$0("", true));
    _lazyFinal($, "_emptyUnquoted0", "$get$_emptyUnquoted0", () => A.SassString$0("", false));
    _lazyFinal($, "_urlSchemeRegExp", "$get$_urlSchemeRegExp", () => A.RegExp_RegExp("^[a-z0-9+.-]+$", false));
    _lazyFinal($, "_jsThrow0", "$get$_jsThrow", () => new self.Function("error", "throw error;"));
    _lazyFinal($, "_isUndefined", "$get$_isUndefined", () => new self.Function("value", "return value === undefined;"));
    _lazyFinal($, "_noSourceUrl0", "$get$_noSourceUrl0", () => A.Uri_parse("-"));
    _lazyFinal($, "_traces0", "$get$_traces0", () => A.Expando$());
    _lazyFinal($, "valueClass", "$get$valueClass", () => new A.valueClass_closure().call$0());
  })();
  (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({ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List});
    hunkHelpers.setOrUpdateLeafTags({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$1 = function(a) {
    return this(a);
  };
  Function.prototype.call$2$1 = function(a) {
    return this(a);
  };
  Function.prototype.call$1$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$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$5 = function(a, b, c, d, e) {
    return this(a, b, c, d, e);
  };
  Function.prototype.call$6 = function(a, b, c, d, e, f) {
    return this(a, b, c, d, e, f);
  };
  Function.prototype.call$2$0 = function() {
    return this();
  };
  Function.prototype.call$1$0 = function() {
    return this();
  };
  Function.prototype.call$1$2 = function(a, b) {
    return this(a, b);
  };
  Function.prototype.call$2$3 = function(a, b, c) {
    return this(a, b, c);
  };
  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.main2;
    if (typeof dartMainRunner === "function") {
      dartMainRunner(callMain, []);
    } else {
      callMain([]);
    }
  });
})();
}