System.register([], function (_export, _context) {
  "use strict";

  var DefaultMap, __SystemJSRewritingHack;
  _export("DefaultMap", void 0);
  return {
    setters: [],
    execute: function () {
      __SystemJSRewritingHack = {};
      _recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_babylonian_programming_editor_utils_collections_js = _recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_babylonian_programming_editor_utils_collections_js || {};
      _export("DefaultMap", DefaultMap = class DefaultMap extends Map {
        constructor(defaultInit, iterable) {
          super(iterable);
          this._defaultInit = defaultInit;
        }
        static builder(defaultInit) {
          return DefaultMap.bind(null, defaultInit);
        }
        get(key) {
          if (!this.has(key)) {
            const defaultValue = typeof this._defaultInit === 'function' ? new this._defaultInit() : this._defaultInit;
            this.set(key, defaultValue);
          }
          return super.get(key);
        }
      });
      Object.defineProperty(_recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_babylonian_programming_editor_utils_collections_js, "DefaultMap", {
        get() {
          return DefaultMap;
        },
        set(thisIsVererySecretVariableName) {
          _export("DefaultMap", DefaultMap = thisIsVererySecretVariableName);
          return true;
        },
        enumerable: true,
        configurable: true
      });
    }
  };
});