var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
  get: (a2, b) => (typeof require !== "undefined" ? require : a2)[b]
}) : x)(function(x) {
  if (typeof require !== "undefined") return require.apply(this, arguments);
  throw Error('Dynamic require of "' + x + '" is not supported');
});
var __esm = (fn4, res) => function __init() {
  return fn4 && (res = (0, fn4[__getOwnPropNames(fn4)[0]])(fn4 = 0)), res;
};
var __commonJS = (cb, mod) => function __require2() {
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from2, except, desc) => {
  if (from2 && typeof from2 === "object" || typeof from2 === "function") {
    for (let key of __getOwnPropNames(from2))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });
  }
  return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  // If the importer is in node compatibility mode or this is not an ESM
  // file that has been converted to a CommonJS file using a Babel-
  // compatible transform (i.e. "__esModule" has not been set), then set
  // "default" to the CommonJS "module.exports" for node compatibility.
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  mod
));

// ../node_modules/react/cjs/react.production.min.js
var require_react_production_min = __commonJS({
  "../node_modules/react/cjs/react.production.min.js"(exports) {
    "use strict";
    var l = Symbol.for("react.element");
    var n2 = Symbol.for("react.portal");
    var p2 = Symbol.for("react.fragment");
    var q = Symbol.for("react.strict_mode");
    var r2 = Symbol.for("react.profiler");
    var t2 = Symbol.for("react.provider");
    var u2 = Symbol.for("react.context");
    var v = Symbol.for("react.forward_ref");
    var w = Symbol.for("react.suspense");
    var x = Symbol.for("react.memo");
    var y = Symbol.for("react.lazy");
    var z = Symbol.iterator;
    function A3(a2) {
      if (null === a2 || "object" !== typeof a2) return null;
      a2 = z && a2[z] || a2["@@iterator"];
      return "function" === typeof a2 ? a2 : null;
    }
    __name(A3, "A");
    var B2 = { isMounted: /* @__PURE__ */ __name(function() {
      return false;
    }, "isMounted"), enqueueForceUpdate: /* @__PURE__ */ __name(function() {
    }, "enqueueForceUpdate"), enqueueReplaceState: /* @__PURE__ */ __name(function() {
    }, "enqueueReplaceState"), enqueueSetState: /* @__PURE__ */ __name(function() {
    }, "enqueueSetState") };
    var C2 = Object.assign;
    var D = {};
    function E(a2, b, e2) {
      this.props = a2;
      this.context = b;
      this.refs = D;
      this.updater = e2 || B2;
    }
    __name(E, "E");
    E.prototype.isReactComponent = {};
    E.prototype.setState = function(a2, b) {
      if ("object" !== typeof a2 && "function" !== typeof a2 && null != a2) throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
      this.updater.enqueueSetState(this, a2, b, "setState");
    };
    E.prototype.forceUpdate = function(a2) {
      this.updater.enqueueForceUpdate(this, a2, "forceUpdate");
    };
    function F() {
    }
    __name(F, "F");
    F.prototype = E.prototype;
    function G(a2, b, e2) {
      this.props = a2;
      this.context = b;
      this.refs = D;
      this.updater = e2 || B2;
    }
    __name(G, "G");
    var H = G.prototype = new F();
    H.constructor = G;
    C2(H, E.prototype);
    H.isPureReactComponent = true;
    var I = Array.isArray;
    var J = Object.prototype.hasOwnProperty;
    var K2 = { current: null };
    var L = { key: true, ref: true, __self: true, __source: true };
    function M(a2, b, e2) {
      var d, c2 = {}, k = null, h2 = null;
      if (null != b) for (d in void 0 !== b.ref && (h2 = b.ref), void 0 !== b.key && (k = "" + b.key), b) J.call(b, d) && !L.hasOwnProperty(d) && (c2[d] = b[d]);
      var g2 = arguments.length - 2;
      if (1 === g2) c2.children = e2;
      else if (1 < g2) {
        for (var f3 = Array(g2), m3 = 0; m3 < g2; m3++) f3[m3] = arguments[m3 + 2];
        c2.children = f3;
      }
      if (a2 && a2.defaultProps) for (d in g2 = a2.defaultProps, g2) void 0 === c2[d] && (c2[d] = g2[d]);
      return { $$typeof: l, type: a2, key: k, ref: h2, props: c2, _owner: K2.current };
    }
    __name(M, "M");
    function N(a2, b) {
      return { $$typeof: l, type: a2.type, key: b, ref: a2.ref, props: a2.props, _owner: a2._owner };
    }
    __name(N, "N");
    function O(a2) {
      return "object" === typeof a2 && null !== a2 && a2.$$typeof === l;
    }
    __name(O, "O");
    function escape4(a2) {
      var b = { "=": "=0", ":": "=2" };
      return "$" + a2.replace(/[=:]/g, function(a3) {
        return b[a3];
      });
    }
    __name(escape4, "escape");
    var P3 = /\/+/g;
    function Q(a2, b) {
      return "object" === typeof a2 && null !== a2 && null != a2.key ? escape4("" + a2.key) : b.toString(36);
    }
    __name(Q, "Q");
    function R(a2, b, e2, d, c2) {
      var k = typeof a2;
      if ("undefined" === k || "boolean" === k) a2 = null;
      var h2 = false;
      if (null === a2) h2 = true;
      else switch (k) {
        case "string":
        case "number":
          h2 = true;
          break;
        case "object":
          switch (a2.$$typeof) {
            case l:
            case n2:
              h2 = true;
          }
      }
      if (h2) return h2 = a2, c2 = c2(h2), a2 = "" === d ? "." + Q(h2, 0) : d, I(c2) ? (e2 = "", null != a2 && (e2 = a2.replace(P3, "$&/") + "/"), R(c2, b, e2, "", function(a3) {
        return a3;
      })) : null != c2 && (O(c2) && (c2 = N(c2, e2 + (!c2.key || h2 && h2.key === c2.key ? "" : ("" + c2.key).replace(P3, "$&/") + "/") + a2)), b.push(c2)), 1;
      h2 = 0;
      d = "" === d ? "." : d + ":";
      if (I(a2)) for (var g2 = 0; g2 < a2.length; g2++) {
        k = a2[g2];
        var f3 = d + Q(k, g2);
        h2 += R(k, b, e2, f3, c2);
      }
      else if (f3 = A3(a2), "function" === typeof f3) for (a2 = f3.call(a2), g2 = 0; !(k = a2.next()).done; ) k = k.value, f3 = d + Q(k, g2++), h2 += R(k, b, e2, f3, c2);
      else if ("object" === k) throw b = String(a2), Error("Objects are not valid as a React child (found: " + ("[object Object]" === b ? "object with keys {" + Object.keys(a2).join(", ") + "}" : b) + "). If you meant to render a collection of children, use an array instead.");
      return h2;
    }
    __name(R, "R");
    function S(a2, b, e2) {
      if (null == a2) return a2;
      var d = [], c2 = 0;
      R(a2, d, "", "", function(a3) {
        return b.call(e2, a3, c2++);
      });
      return d;
    }
    __name(S, "S");
    function T2(a2) {
      if (-1 === a2._status) {
        var b = a2._result;
        b = b();
        b.then(function(b2) {
          if (0 === a2._status || -1 === a2._status) a2._status = 1, a2._result = b2;
        }, function(b2) {
          if (0 === a2._status || -1 === a2._status) a2._status = 2, a2._result = b2;
        });
        -1 === a2._status && (a2._status = 0, a2._result = b);
      }
      if (1 === a2._status) return a2._result.default;
      throw a2._result;
    }
    __name(T2, "T");
    var U = { current: null };
    var V = { transition: null };
    var W = { ReactCurrentDispatcher: U, ReactCurrentBatchConfig: V, ReactCurrentOwner: K2 };
    function X() {
      throw Error("act(...) is not supported in production builds of React.");
    }
    __name(X, "X");
    exports.Children = { map: S, forEach: /* @__PURE__ */ __name(function(a2, b, e2) {
      S(a2, function() {
        b.apply(this, arguments);
      }, e2);
    }, "forEach"), count: /* @__PURE__ */ __name(function(a2) {
      var b = 0;
      S(a2, function() {
        b++;
      });
      return b;
    }, "count"), toArray: /* @__PURE__ */ __name(function(a2) {
      return S(a2, function(a3) {
        return a3;
      }) || [];
    }, "toArray"), only: /* @__PURE__ */ __name(function(a2) {
      if (!O(a2)) throw Error("React.Children.only expected to receive a single React element child.");
      return a2;
    }, "only") };
    exports.Component = E;
    exports.Fragment = p2;
    exports.Profiler = r2;
    exports.PureComponent = G;
    exports.StrictMode = q;
    exports.Suspense = w;
    exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = W;
    exports.act = X;
    exports.cloneElement = function(a2, b, e2) {
      if (null === a2 || void 0 === a2) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + a2 + ".");
      var d = C2({}, a2.props), c2 = a2.key, k = a2.ref, h2 = a2._owner;
      if (null != b) {
        void 0 !== b.ref && (k = b.ref, h2 = K2.current);
        void 0 !== b.key && (c2 = "" + b.key);
        if (a2.type && a2.type.defaultProps) var g2 = a2.type.defaultProps;
        for (f3 in b) J.call(b, f3) && !L.hasOwnProperty(f3) && (d[f3] = void 0 === b[f3] && void 0 !== g2 ? g2[f3] : b[f3]);
      }
      var f3 = arguments.length - 2;
      if (1 === f3) d.children = e2;
      else if (1 < f3) {
        g2 = Array(f3);
        for (var m3 = 0; m3 < f3; m3++) g2[m3] = arguments[m3 + 2];
        d.children = g2;
      }
      return { $$typeof: l, type: a2.type, key: c2, ref: k, props: d, _owner: h2 };
    };
    exports.createContext = function(a2) {
      a2 = { $$typeof: u2, _currentValue: a2, _currentValue2: a2, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null };
      a2.Provider = { $$typeof: t2, _context: a2 };
      return a2.Consumer = a2;
    };
    exports.createElement = M;
    exports.createFactory = function(a2) {
      var b = M.bind(null, a2);
      b.type = a2;
      return b;
    };
    exports.createRef = function() {
      return { current: null };
    };
    exports.forwardRef = function(a2) {
      return { $$typeof: v, render: a2 };
    };
    exports.isValidElement = O;
    exports.lazy = function(a2) {
      return { $$typeof: y, _payload: { _status: -1, _result: a2 }, _init: T2 };
    };
    exports.memo = function(a2, b) {
      return { $$typeof: x, type: a2, compare: void 0 === b ? null : b };
    };
    exports.startTransition = function(a2) {
      var b = V.transition;
      V.transition = {};
      try {
        a2();
      } finally {
        V.transition = b;
      }
    };
    exports.unstable_act = X;
    exports.useCallback = function(a2, b) {
      return U.current.useCallback(a2, b);
    };
    exports.useContext = function(a2) {
      return U.current.useContext(a2);
    };
    exports.useDebugValue = function() {
    };
    exports.useDeferredValue = function(a2) {
      return U.current.useDeferredValue(a2);
    };
    exports.useEffect = function(a2, b) {
      return U.current.useEffect(a2, b);
    };
    exports.useId = function() {
      return U.current.useId();
    };
    exports.useImperativeHandle = function(a2, b, e2) {
      return U.current.useImperativeHandle(a2, b, e2);
    };
    exports.useInsertionEffect = function(a2, b) {
      return U.current.useInsertionEffect(a2, b);
    };
    exports.useLayoutEffect = function(a2, b) {
      return U.current.useLayoutEffect(a2, b);
    };
    exports.useMemo = function(a2, b) {
      return U.current.useMemo(a2, b);
    };
    exports.useReducer = function(a2, b, e2) {
      return U.current.useReducer(a2, b, e2);
    };
    exports.useRef = function(a2) {
      return U.current.useRef(a2);
    };
    exports.useState = function(a2) {
      return U.current.useState(a2);
    };
    exports.useSyncExternalStore = function(a2, b, e2) {
      return U.current.useSyncExternalStore(a2, b, e2);
    };
    exports.useTransition = function() {
      return U.current.useTransition();
    };
    exports.version = "18.3.1";
  }
});

// ../node_modules/react/index.js
var require_react = __commonJS({
  "../node_modules/react/index.js"(exports, module2) {
    "use strict";
    if (true) {
      module2.exports = require_react_production_min();
    } else {
      module2.exports = null;
    }
  }
});

// ../node_modules/scheduler/cjs/scheduler.production.min.js
var require_scheduler_production_min = __commonJS({
  "../node_modules/scheduler/cjs/scheduler.production.min.js"(exports) {
    "use strict";
    function f3(a2, b) {
      var c2 = a2.length;
      a2.push(b);
      a: for (; 0 < c2; ) {
        var d = c2 - 1 >>> 1, e2 = a2[d];
        if (0 < g2(e2, b)) a2[d] = b, a2[c2] = e2, c2 = d;
        else break a;
      }
    }
    __name(f3, "f");
    function h2(a2) {
      return 0 === a2.length ? null : a2[0];
    }
    __name(h2, "h");
    function k(a2) {
      if (0 === a2.length) return null;
      var b = a2[0], c2 = a2.pop();
      if (c2 !== b) {
        a2[0] = c2;
        a: for (var d = 0, e2 = a2.length, w = e2 >>> 1; d < w; ) {
          var m3 = 2 * (d + 1) - 1, C2 = a2[m3], n2 = m3 + 1, x = a2[n2];
          if (0 > g2(C2, c2)) n2 < e2 && 0 > g2(x, C2) ? (a2[d] = x, a2[n2] = c2, d = n2) : (a2[d] = C2, a2[m3] = c2, d = m3);
          else if (n2 < e2 && 0 > g2(x, c2)) a2[d] = x, a2[n2] = c2, d = n2;
          else break a;
        }
      }
      return b;
    }
    __name(k, "k");
    function g2(a2, b) {
      var c2 = a2.sortIndex - b.sortIndex;
      return 0 !== c2 ? c2 : a2.id - b.id;
    }
    __name(g2, "g");
    if ("object" === typeof performance && "function" === typeof performance.now) {
      l = performance;
      exports.unstable_now = function() {
        return l.now();
      };
    } else {
      p2 = Date, q = p2.now();
      exports.unstable_now = function() {
        return p2.now() - q;
      };
    }
    var l;
    var p2;
    var q;
    var r2 = [];
    var t2 = [];
    var u2 = 1;
    var v = null;
    var y = 3;
    var z = false;
    var A3 = false;
    var B2 = false;
    var D = "function" === typeof setTimeout ? setTimeout : null;
    var E = "function" === typeof clearTimeout ? clearTimeout : null;
    var F = "undefined" !== typeof setImmediate ? setImmediate : null;
    "undefined" !== typeof navigator && void 0 !== navigator.scheduling && void 0 !== navigator.scheduling.isInputPending && navigator.scheduling.isInputPending.bind(navigator.scheduling);
    function G(a2) {
      for (var b = h2(t2); null !== b; ) {
        if (null === b.callback) k(t2);
        else if (b.startTime <= a2) k(t2), b.sortIndex = b.expirationTime, f3(r2, b);
        else break;
        b = h2(t2);
      }
    }
    __name(G, "G");
    function H(a2) {
      B2 = false;
      G(a2);
      if (!A3) if (null !== h2(r2)) A3 = true, I(J);
      else {
        var b = h2(t2);
        null !== b && K2(H, b.startTime - a2);
      }
    }
    __name(H, "H");
    function J(a2, b) {
      A3 = false;
      B2 && (B2 = false, E(L), L = -1);
      z = true;
      var c2 = y;
      try {
        G(b);
        for (v = h2(r2); null !== v && (!(v.expirationTime > b) || a2 && !M()); ) {
          var d = v.callback;
          if ("function" === typeof d) {
            v.callback = null;
            y = v.priorityLevel;
            var e2 = d(v.expirationTime <= b);
            b = exports.unstable_now();
            "function" === typeof e2 ? v.callback = e2 : v === h2(r2) && k(r2);
            G(b);
          } else k(r2);
          v = h2(r2);
        }
        if (null !== v) var w = true;
        else {
          var m3 = h2(t2);
          null !== m3 && K2(H, m3.startTime - b);
          w = false;
        }
        return w;
      } finally {
        v = null, y = c2, z = false;
      }
    }
    __name(J, "J");
    var N = false;
    var O = null;
    var L = -1;
    var P3 = 5;
    var Q = -1;
    function M() {
      return exports.unstable_now() - Q < P3 ? false : true;
    }
    __name(M, "M");
    function R() {
      if (null !== O) {
        var a2 = exports.unstable_now();
        Q = a2;
        var b = true;
        try {
          b = O(true, a2);
        } finally {
          b ? S() : (N = false, O = null);
        }
      } else N = false;
    }
    __name(R, "R");
    var S;
    if ("function" === typeof F) S = /* @__PURE__ */ __name(function() {
      F(R);
    }, "S");
    else if ("undefined" !== typeof MessageChannel) {
      T2 = new MessageChannel(), U = T2.port2;
      T2.port1.onmessage = R;
      S = /* @__PURE__ */ __name(function() {
        U.postMessage(null);
      }, "S");
    } else S = /* @__PURE__ */ __name(function() {
      D(R, 0);
    }, "S");
    var T2;
    var U;
    function I(a2) {
      O = a2;
      N || (N = true, S());
    }
    __name(I, "I");
    function K2(a2, b) {
      L = D(function() {
        a2(exports.unstable_now());
      }, b);
    }
    __name(K2, "K");
    exports.unstable_IdlePriority = 5;
    exports.unstable_ImmediatePriority = 1;
    exports.unstable_LowPriority = 4;
    exports.unstable_NormalPriority = 3;
    exports.unstable_Profiling = null;
    exports.unstable_UserBlockingPriority = 2;
    exports.unstable_cancelCallback = function(a2) {
      a2.callback = null;
    };
    exports.unstable_continueExecution = function() {
      A3 || z || (A3 = true, I(J));
    };
    exports.unstable_forceFrameRate = function(a2) {
      0 > a2 || 125 < a2 ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : P3 = 0 < a2 ? Math.floor(1e3 / a2) : 5;
    };
    exports.unstable_getCurrentPriorityLevel = function() {
      return y;
    };
    exports.unstable_getFirstCallbackNode = function() {
      return h2(r2);
    };
    exports.unstable_next = function(a2) {
      switch (y) {
        case 1:
        case 2:
        case 3:
          var b = 3;
          break;
        default:
          b = y;
      }
      var c2 = y;
      y = b;
      try {
        return a2();
      } finally {
        y = c2;
      }
    };
    exports.unstable_pauseExecution = function() {
    };
    exports.unstable_requestPaint = function() {
    };
    exports.unstable_runWithPriority = function(a2, b) {
      switch (a2) {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
          break;
        default:
          a2 = 3;
      }
      var c2 = y;
      y = a2;
      try {
        return b();
      } finally {
        y = c2;
      }
    };
    exports.unstable_scheduleCallback = function(a2, b, c2) {
      var d = exports.unstable_now();
      "object" === typeof c2 && null !== c2 ? (c2 = c2.delay, c2 = "number" === typeof c2 && 0 < c2 ? d + c2 : d) : c2 = d;
      switch (a2) {
        case 1:
          var e2 = -1;
          break;
        case 2:
          e2 = 250;
          break;
        case 5:
          e2 = 1073741823;
          break;
        case 4:
          e2 = 1e4;
          break;
        default:
          e2 = 5e3;
      }
      e2 = c2 + e2;
      a2 = { id: u2++, callback: b, priorityLevel: a2, startTime: c2, expirationTime: e2, sortIndex: -1 };
      c2 > d ? (a2.sortIndex = c2, f3(t2, a2), null === h2(r2) && a2 === h2(t2) && (B2 ? (E(L), L = -1) : B2 = true, K2(H, c2 - d))) : (a2.sortIndex = e2, f3(r2, a2), A3 || z || (A3 = true, I(J)));
      return a2;
    };
    exports.unstable_shouldYield = M;
    exports.unstable_wrapCallback = function(a2) {
      var b = y;
      return function() {
        var c2 = y;
        y = b;
        try {
          return a2.apply(this, arguments);
        } finally {
          y = c2;
        }
      };
    };
  }
});

// ../node_modules/scheduler/index.js
var require_scheduler = __commonJS({
  "../node_modules/scheduler/index.js"(exports, module2) {
    "use strict";
    if (true) {
      module2.exports = require_scheduler_production_min();
    } else {
      module2.exports = null;
    }
  }
});

// ../node_modules/react-dom/cjs/react-dom.production.min.js
var require_react_dom_production_min = __commonJS({
  "../node_modules/react-dom/cjs/react-dom.production.min.js"(exports) {
    "use strict";
    var aa = require_react();
    var ca = require_scheduler();
    function p2(a2) {
      for (var b = "https://reactjs.org/docs/error-decoder.html?invariant=" + a2, c2 = 1; c2 < arguments.length; c2++) b += "&args[]=" + encodeURIComponent(arguments[c2]);
      return "Minified React error #" + a2 + "; visit " + b + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
    }
    __name(p2, "p");
    var da = /* @__PURE__ */ new Set();
    var ea = {};
    function fa(a2, b) {
      ha(a2, b);
      ha(a2 + "Capture", b);
    }
    __name(fa, "fa");
    function ha(a2, b) {
      ea[a2] = b;
      for (a2 = 0; a2 < b.length; a2++) da.add(b[a2]);
    }
    __name(ha, "ha");
    var ia = !("undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement);
    var ja = Object.prototype.hasOwnProperty;
    var ka = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/;
    var la = {};
    var ma = {};
    function oa(a2) {
      if (ja.call(ma, a2)) return true;
      if (ja.call(la, a2)) return false;
      if (ka.test(a2)) return ma[a2] = true;
      la[a2] = true;
      return false;
    }
    __name(oa, "oa");
    function pa(a2, b, c2, d) {
      if (null !== c2 && 0 === c2.type) return false;
      switch (typeof b) {
        case "function":
        case "symbol":
          return true;
        case "boolean":
          if (d) return false;
          if (null !== c2) return !c2.acceptsBooleans;
          a2 = a2.toLowerCase().slice(0, 5);
          return "data-" !== a2 && "aria-" !== a2;
        default:
          return false;
      }
    }
    __name(pa, "pa");
    function qa(a2, b, c2, d) {
      if (null === b || "undefined" === typeof b || pa(a2, b, c2, d)) return true;
      if (d) return false;
      if (null !== c2) switch (c2.type) {
        case 3:
          return !b;
        case 4:
          return false === b;
        case 5:
          return isNaN(b);
        case 6:
          return isNaN(b) || 1 > b;
      }
      return false;
    }
    __name(qa, "qa");
    function v(a2, b, c2, d, e2, f3, g2) {
      this.acceptsBooleans = 2 === b || 3 === b || 4 === b;
      this.attributeName = d;
      this.attributeNamespace = e2;
      this.mustUseProperty = c2;
      this.propertyName = a2;
      this.type = b;
      this.sanitizeURL = f3;
      this.removeEmptyString = g2;
    }
    __name(v, "v");
    var z = {};
    "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a2) {
      z[a2] = new v(a2, 0, false, a2, null, false, false);
    });
    [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(a2) {
      var b = a2[0];
      z[b] = new v(b, 1, false, a2[1], null, false, false);
    });
    ["contentEditable", "draggable", "spellCheck", "value"].forEach(function(a2) {
      z[a2] = new v(a2, 2, false, a2.toLowerCase(), null, false, false);
    });
    ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(a2) {
      z[a2] = new v(a2, 2, false, a2, null, false, false);
    });
    "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a2) {
      z[a2] = new v(a2, 3, false, a2.toLowerCase(), null, false, false);
    });
    ["checked", "multiple", "muted", "selected"].forEach(function(a2) {
      z[a2] = new v(a2, 3, true, a2, null, false, false);
    });
    ["capture", "download"].forEach(function(a2) {
      z[a2] = new v(a2, 4, false, a2, null, false, false);
    });
    ["cols", "rows", "size", "span"].forEach(function(a2) {
      z[a2] = new v(a2, 6, false, a2, null, false, false);
    });
    ["rowSpan", "start"].forEach(function(a2) {
      z[a2] = new v(a2, 5, false, a2.toLowerCase(), null, false, false);
    });
    var ra = /[\-:]([a-z])/g;
    function sa(a2) {
      return a2[1].toUpperCase();
    }
    __name(sa, "sa");
    "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a2) {
      var b = a2.replace(
        ra,
        sa
      );
      z[b] = new v(b, 1, false, a2, null, false, false);
    });
    "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a2) {
      var b = a2.replace(ra, sa);
      z[b] = new v(b, 1, false, a2, "http://www.w3.org/1999/xlink", false, false);
    });
    ["xml:base", "xml:lang", "xml:space"].forEach(function(a2) {
      var b = a2.replace(ra, sa);
      z[b] = new v(b, 1, false, a2, "http://www.w3.org/XML/1998/namespace", false, false);
    });
    ["tabIndex", "crossOrigin"].forEach(function(a2) {
      z[a2] = new v(a2, 1, false, a2.toLowerCase(), null, false, false);
    });
    z.xlinkHref = new v("xlinkHref", 1, false, "xlink:href", "http://www.w3.org/1999/xlink", true, false);
    ["src", "href", "action", "formAction"].forEach(function(a2) {
      z[a2] = new v(a2, 1, false, a2.toLowerCase(), null, true, true);
    });
    function ta(a2, b, c2, d) {
      var e2 = z.hasOwnProperty(b) ? z[b] : null;
      if (null !== e2 ? 0 !== e2.type : d || !(2 < b.length) || "o" !== b[0] && "O" !== b[0] || "n" !== b[1] && "N" !== b[1]) qa(b, c2, e2, d) && (c2 = null), d || null === e2 ? oa(b) && (null === c2 ? a2.removeAttribute(b) : a2.setAttribute(b, "" + c2)) : e2.mustUseProperty ? a2[e2.propertyName] = null === c2 ? 3 === e2.type ? false : "" : c2 : (b = e2.attributeName, d = e2.attributeNamespace, null === c2 ? a2.removeAttribute(b) : (e2 = e2.type, c2 = 3 === e2 || 4 === e2 && true === c2 ? "" : "" + c2, d ? a2.setAttributeNS(d, b, c2) : a2.setAttribute(b, c2)));
    }
    __name(ta, "ta");
    var ua = aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
    var va = Symbol.for("react.element");
    var wa = Symbol.for("react.portal");
    var ya = Symbol.for("react.fragment");
    var za = Symbol.for("react.strict_mode");
    var Aa = Symbol.for("react.profiler");
    var Ba = Symbol.for("react.provider");
    var Ca = Symbol.for("react.context");
    var Da = Symbol.for("react.forward_ref");
    var Ea = Symbol.for("react.suspense");
    var Fa = Symbol.for("react.suspense_list");
    var Ga = Symbol.for("react.memo");
    var Ha = Symbol.for("react.lazy");
    Symbol.for("react.scope");
    Symbol.for("react.debug_trace_mode");
    var Ia = Symbol.for("react.offscreen");
    Symbol.for("react.legacy_hidden");
    Symbol.for("react.cache");
    Symbol.for("react.tracing_marker");
    var Ja = Symbol.iterator;
    function Ka(a2) {
      if (null === a2 || "object" !== typeof a2) return null;
      a2 = Ja && a2[Ja] || a2["@@iterator"];
      return "function" === typeof a2 ? a2 : null;
    }
    __name(Ka, "Ka");
    var A3 = Object.assign;
    var La;
    function Ma(a2) {
      if (void 0 === La) try {
        throw Error();
      } catch (c2) {
        var b = c2.stack.trim().match(/\n( *(at )?)/);
        La = b && b[1] || "";
      }
      return "\n" + La + a2;
    }
    __name(Ma, "Ma");
    var Na = false;
    function Oa(a2, b) {
      if (!a2 || Na) return "";
      Na = true;
      var c2 = Error.prepareStackTrace;
      Error.prepareStackTrace = void 0;
      try {
        if (b) if (b = /* @__PURE__ */ __name(function() {
          throw Error();
        }, "b"), Object.defineProperty(b.prototype, "props", { set: /* @__PURE__ */ __name(function() {
          throw Error();
        }, "set") }), "object" === typeof Reflect && Reflect.construct) {
          try {
            Reflect.construct(b, []);
          } catch (l) {
            var d = l;
          }
          Reflect.construct(a2, [], b);
        } else {
          try {
            b.call();
          } catch (l) {
            d = l;
          }
          a2.call(b.prototype);
        }
        else {
          try {
            throw Error();
          } catch (l) {
            d = l;
          }
          a2();
        }
      } catch (l) {
        if (l && d && "string" === typeof l.stack) {
          for (var e2 = l.stack.split("\n"), f3 = d.stack.split("\n"), g2 = e2.length - 1, h2 = f3.length - 1; 1 <= g2 && 0 <= h2 && e2[g2] !== f3[h2]; ) h2--;
          for (; 1 <= g2 && 0 <= h2; g2--, h2--) if (e2[g2] !== f3[h2]) {
            if (1 !== g2 || 1 !== h2) {
              do
                if (g2--, h2--, 0 > h2 || e2[g2] !== f3[h2]) {
                  var k = "\n" + e2[g2].replace(" at new ", " at ");
                  a2.displayName && k.includes("<anonymous>") && (k = k.replace("<anonymous>", a2.displayName));
                  return k;
                }
              while (1 <= g2 && 0 <= h2);
            }
            break;
          }
        }
      } finally {
        Na = false, Error.prepareStackTrace = c2;
      }
      return (a2 = a2 ? a2.displayName || a2.name : "") ? Ma(a2) : "";
    }
    __name(Oa, "Oa");
    function Pa(a2) {
      switch (a2.tag) {
        case 5:
          return Ma(a2.type);
        case 16:
          return Ma("Lazy");
        case 13:
          return Ma("Suspense");
        case 19:
          return Ma("SuspenseList");
        case 0:
        case 2:
        case 15:
          return a2 = Oa(a2.type, false), a2;
        case 11:
          return a2 = Oa(a2.type.render, false), a2;
        case 1:
          return a2 = Oa(a2.type, true), a2;
        default:
          return "";
      }
    }
    __name(Pa, "Pa");
    function Qa(a2) {
      if (null == a2) return null;
      if ("function" === typeof a2) return a2.displayName || a2.name || null;
      if ("string" === typeof a2) return a2;
      switch (a2) {
        case ya:
          return "Fragment";
        case wa:
          return "Portal";
        case Aa:
          return "Profiler";
        case za:
          return "StrictMode";
        case Ea:
          return "Suspense";
        case Fa:
          return "SuspenseList";
      }
      if ("object" === typeof a2) switch (a2.$$typeof) {
        case Ca:
          return (a2.displayName || "Context") + ".Consumer";
        case Ba:
          return (a2._context.displayName || "Context") + ".Provider";
        case Da:
          var b = a2.render;
          a2 = a2.displayName;
          a2 || (a2 = b.displayName || b.name || "", a2 = "" !== a2 ? "ForwardRef(" + a2 + ")" : "ForwardRef");
          return a2;
        case Ga:
          return b = a2.displayName || null, null !== b ? b : Qa(a2.type) || "Memo";
        case Ha:
          b = a2._payload;
          a2 = a2._init;
          try {
            return Qa(a2(b));
          } catch (c2) {
          }
      }
      return null;
    }
    __name(Qa, "Qa");
    function Ra(a2) {
      var b = a2.type;
      switch (a2.tag) {
        case 24:
          return "Cache";
        case 9:
          return (b.displayName || "Context") + ".Consumer";
        case 10:
          return (b._context.displayName || "Context") + ".Provider";
        case 18:
          return "DehydratedFragment";
        case 11:
          return a2 = b.render, a2 = a2.displayName || a2.name || "", b.displayName || ("" !== a2 ? "ForwardRef(" + a2 + ")" : "ForwardRef");
        case 7:
          return "Fragment";
        case 5:
          return b;
        case 4:
          return "Portal";
        case 3:
          return "Root";
        case 6:
          return "Text";
        case 16:
          return Qa(b);
        case 8:
          return b === za ? "StrictMode" : "Mode";
        case 22:
          return "Offscreen";
        case 12:
          return "Profiler";
        case 21:
          return "Scope";
        case 13:
          return "Suspense";
        case 19:
          return "SuspenseList";
        case 25:
          return "TracingMarker";
        case 1:
        case 0:
        case 17:
        case 2:
        case 14:
        case 15:
          if ("function" === typeof b) return b.displayName || b.name || null;
          if ("string" === typeof b) return b;
      }
      return null;
    }
    __name(Ra, "Ra");
    function Sa(a2) {
      switch (typeof a2) {
        case "boolean":
        case "number":
        case "string":
        case "undefined":
          return a2;
        case "object":
          return a2;
        default:
          return "";
      }
    }
    __name(Sa, "Sa");
    function Ta(a2) {
      var b = a2.type;
      return (a2 = a2.nodeName) && "input" === a2.toLowerCase() && ("checkbox" === b || "radio" === b);
    }
    __name(Ta, "Ta");
    function Ua(a2) {
      var b = Ta(a2) ? "checked" : "value", c2 = Object.getOwnPropertyDescriptor(a2.constructor.prototype, b), d = "" + a2[b];
      if (!a2.hasOwnProperty(b) && "undefined" !== typeof c2 && "function" === typeof c2.get && "function" === typeof c2.set) {
        var e2 = c2.get, f3 = c2.set;
        Object.defineProperty(a2, b, { configurable: true, get: /* @__PURE__ */ __name(function() {
          return e2.call(this);
        }, "get"), set: /* @__PURE__ */ __name(function(a3) {
          d = "" + a3;
          f3.call(this, a3);
        }, "set") });
        Object.defineProperty(a2, b, { enumerable: c2.enumerable });
        return { getValue: /* @__PURE__ */ __name(function() {
          return d;
        }, "getValue"), setValue: /* @__PURE__ */ __name(function(a3) {
          d = "" + a3;
        }, "setValue"), stopTracking: /* @__PURE__ */ __name(function() {
          a2._valueTracker = null;
          delete a2[b];
        }, "stopTracking") };
      }
    }
    __name(Ua, "Ua");
    function Va(a2) {
      a2._valueTracker || (a2._valueTracker = Ua(a2));
    }
    __name(Va, "Va");
    function Wa(a2) {
      if (!a2) return false;
      var b = a2._valueTracker;
      if (!b) return true;
      var c2 = b.getValue();
      var d = "";
      a2 && (d = Ta(a2) ? a2.checked ? "true" : "false" : a2.value);
      a2 = d;
      return a2 !== c2 ? (b.setValue(a2), true) : false;
    }
    __name(Wa, "Wa");
    function Xa(a2) {
      a2 = a2 || ("undefined" !== typeof document ? document : void 0);
      if ("undefined" === typeof a2) return null;
      try {
        return a2.activeElement || a2.body;
      } catch (b) {
        return a2.body;
      }
    }
    __name(Xa, "Xa");
    function Ya(a2, b) {
      var c2 = b.checked;
      return A3({}, b, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: null != c2 ? c2 : a2._wrapperState.initialChecked });
    }
    __name(Ya, "Ya");
    function Za(a2, b) {
      var c2 = null == b.defaultValue ? "" : b.defaultValue, d = null != b.checked ? b.checked : b.defaultChecked;
      c2 = Sa(null != b.value ? b.value : c2);
      a2._wrapperState = { initialChecked: d, initialValue: c2, controlled: "checkbox" === b.type || "radio" === b.type ? null != b.checked : null != b.value };
    }
    __name(Za, "Za");
    function ab(a2, b) {
      b = b.checked;
      null != b && ta(a2, "checked", b, false);
    }
    __name(ab, "ab");
    function bb(a2, b) {
      ab(a2, b);
      var c2 = Sa(b.value), d = b.type;
      if (null != c2) if ("number" === d) {
        if (0 === c2 && "" === a2.value || a2.value != c2) a2.value = "" + c2;
      } else a2.value !== "" + c2 && (a2.value = "" + c2);
      else if ("submit" === d || "reset" === d) {
        a2.removeAttribute("value");
        return;
      }
      b.hasOwnProperty("value") ? cb(a2, b.type, c2) : b.hasOwnProperty("defaultValue") && cb(a2, b.type, Sa(b.defaultValue));
      null == b.checked && null != b.defaultChecked && (a2.defaultChecked = !!b.defaultChecked);
    }
    __name(bb, "bb");
    function db(a2, b, c2) {
      if (b.hasOwnProperty("value") || b.hasOwnProperty("defaultValue")) {
        var d = b.type;
        if (!("submit" !== d && "reset" !== d || void 0 !== b.value && null !== b.value)) return;
        b = "" + a2._wrapperState.initialValue;
        c2 || b === a2.value || (a2.value = b);
        a2.defaultValue = b;
      }
      c2 = a2.name;
      "" !== c2 && (a2.name = "");
      a2.defaultChecked = !!a2._wrapperState.initialChecked;
      "" !== c2 && (a2.name = c2);
    }
    __name(db, "db");
    function cb(a2, b, c2) {
      if ("number" !== b || Xa(a2.ownerDocument) !== a2) null == c2 ? a2.defaultValue = "" + a2._wrapperState.initialValue : a2.defaultValue !== "" + c2 && (a2.defaultValue = "" + c2);
    }
    __name(cb, "cb");
    var eb = Array.isArray;
    function fb(a2, b, c2, d) {
      a2 = a2.options;
      if (b) {
        b = {};
        for (var e2 = 0; e2 < c2.length; e2++) b["$" + c2[e2]] = true;
        for (c2 = 0; c2 < a2.length; c2++) e2 = b.hasOwnProperty("$" + a2[c2].value), a2[c2].selected !== e2 && (a2[c2].selected = e2), e2 && d && (a2[c2].defaultSelected = true);
      } else {
        c2 = "" + Sa(c2);
        b = null;
        for (e2 = 0; e2 < a2.length; e2++) {
          if (a2[e2].value === c2) {
            a2[e2].selected = true;
            d && (a2[e2].defaultSelected = true);
            return;
          }
          null !== b || a2[e2].disabled || (b = a2[e2]);
        }
        null !== b && (b.selected = true);
      }
    }
    __name(fb, "fb");
    function gb(a2, b) {
      if (null != b.dangerouslySetInnerHTML) throw Error(p2(91));
      return A3({}, b, { value: void 0, defaultValue: void 0, children: "" + a2._wrapperState.initialValue });
    }
    __name(gb, "gb");
    function hb(a2, b) {
      var c2 = b.value;
      if (null == c2) {
        c2 = b.children;
        b = b.defaultValue;
        if (null != c2) {
          if (null != b) throw Error(p2(92));
          if (eb(c2)) {
            if (1 < c2.length) throw Error(p2(93));
            c2 = c2[0];
          }
          b = c2;
        }
        null == b && (b = "");
        c2 = b;
      }
      a2._wrapperState = { initialValue: Sa(c2) };
    }
    __name(hb, "hb");
    function ib(a2, b) {
      var c2 = Sa(b.value), d = Sa(b.defaultValue);
      null != c2 && (c2 = "" + c2, c2 !== a2.value && (a2.value = c2), null == b.defaultValue && a2.defaultValue !== c2 && (a2.defaultValue = c2));
      null != d && (a2.defaultValue = "" + d);
    }
    __name(ib, "ib");
    function jb(a2) {
      var b = a2.textContent;
      b === a2._wrapperState.initialValue && "" !== b && null !== b && (a2.value = b);
    }
    __name(jb, "jb");
    function kb(a2) {
      switch (a2) {
        case "svg":
          return "http://www.w3.org/2000/svg";
        case "math":
          return "http://www.w3.org/1998/Math/MathML";
        default:
          return "http://www.w3.org/1999/xhtml";
      }
    }
    __name(kb, "kb");
    function lb(a2, b) {
      return null == a2 || "http://www.w3.org/1999/xhtml" === a2 ? kb(b) : "http://www.w3.org/2000/svg" === a2 && "foreignObject" === b ? "http://www.w3.org/1999/xhtml" : a2;
    }
    __name(lb, "lb");
    var mb;
    var nb = function(a2) {
      return "undefined" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function(b, c2, d, e2) {
        MSApp.execUnsafeLocalFunction(function() {
          return a2(b, c2, d, e2);
        });
      } : a2;
    }(function(a2, b) {
      if ("http://www.w3.org/2000/svg" !== a2.namespaceURI || "innerHTML" in a2) a2.innerHTML = b;
      else {
        mb = mb || document.createElement("div");
        mb.innerHTML = "<svg>" + b.valueOf().toString() + "</svg>";
        for (b = mb.firstChild; a2.firstChild; ) a2.removeChild(a2.firstChild);
        for (; b.firstChild; ) a2.appendChild(b.firstChild);
      }
    });
    function ob(a2, b) {
      if (b) {
        var c2 = a2.firstChild;
        if (c2 && c2 === a2.lastChild && 3 === c2.nodeType) {
          c2.nodeValue = b;
          return;
        }
      }
      a2.textContent = b;
    }
    __name(ob, "ob");
    var pb = {
      animationIterationCount: true,
      aspectRatio: true,
      borderImageOutset: true,
      borderImageSlice: true,
      borderImageWidth: true,
      boxFlex: true,
      boxFlexGroup: true,
      boxOrdinalGroup: true,
      columnCount: true,
      columns: true,
      flex: true,
      flexGrow: true,
      flexPositive: true,
      flexShrink: true,
      flexNegative: true,
      flexOrder: true,
      gridArea: true,
      gridRow: true,
      gridRowEnd: true,
      gridRowSpan: true,
      gridRowStart: true,
      gridColumn: true,
      gridColumnEnd: true,
      gridColumnSpan: true,
      gridColumnStart: true,
      fontWeight: true,
      lineClamp: true,
      lineHeight: true,
      opacity: true,
      order: true,
      orphans: true,
      tabSize: true,
      widows: true,
      zIndex: true,
      zoom: true,
      fillOpacity: true,
      floodOpacity: true,
      stopOpacity: true,
      strokeDasharray: true,
      strokeDashoffset: true,
      strokeMiterlimit: true,
      strokeOpacity: true,
      strokeWidth: true
    };
    var qb = ["Webkit", "ms", "Moz", "O"];
    Object.keys(pb).forEach(function(a2) {
      qb.forEach(function(b) {
        b = b + a2.charAt(0).toUpperCase() + a2.substring(1);
        pb[b] = pb[a2];
      });
    });
    function rb(a2, b, c2) {
      return null == b || "boolean" === typeof b || "" === b ? "" : c2 || "number" !== typeof b || 0 === b || pb.hasOwnProperty(a2) && pb[a2] ? ("" + b).trim() : b + "px";
    }
    __name(rb, "rb");
    function sb2(a2, b) {
      a2 = a2.style;
      for (var c2 in b) if (b.hasOwnProperty(c2)) {
        var d = 0 === c2.indexOf("--"), e2 = rb(c2, b[c2], d);
        "float" === c2 && (c2 = "cssFloat");
        d ? a2.setProperty(c2, e2) : a2[c2] = e2;
      }
    }
    __name(sb2, "sb");
    var tb = A3({ menuitem: true }, { area: true, base: true, br: true, col: true, embed: true, hr: true, img: true, input: true, keygen: true, link: true, meta: true, param: true, source: true, track: true, wbr: true });
    function ub(a2, b) {
      if (b) {
        if (tb[a2] && (null != b.children || null != b.dangerouslySetInnerHTML)) throw Error(p2(137, a2));
        if (null != b.dangerouslySetInnerHTML) {
          if (null != b.children) throw Error(p2(60));
          if ("object" !== typeof b.dangerouslySetInnerHTML || !("__html" in b.dangerouslySetInnerHTML)) throw Error(p2(61));
        }
        if (null != b.style && "object" !== typeof b.style) throw Error(p2(62));
      }
    }
    __name(ub, "ub");
    function vb(a2, b) {
      if (-1 === a2.indexOf("-")) return "string" === typeof b.is;
      switch (a2) {
        case "annotation-xml":
        case "color-profile":
        case "font-face":
        case "font-face-src":
        case "font-face-uri":
        case "font-face-format":
        case "font-face-name":
        case "missing-glyph":
          return false;
        default:
          return true;
      }
    }
    __name(vb, "vb");
    var wb = null;
    function xb(a2) {
      a2 = a2.target || a2.srcElement || window;
      a2.correspondingUseElement && (a2 = a2.correspondingUseElement);
      return 3 === a2.nodeType ? a2.parentNode : a2;
    }
    __name(xb, "xb");
    var yb = null;
    var zb = null;
    var Ab = null;
    function Bb(a2) {
      if (a2 = Cb(a2)) {
        if ("function" !== typeof yb) throw Error(p2(280));
        var b = a2.stateNode;
        b && (b = Db(b), yb(a2.stateNode, a2.type, b));
      }
    }
    __name(Bb, "Bb");
    function Eb(a2) {
      zb ? Ab ? Ab.push(a2) : Ab = [a2] : zb = a2;
    }
    __name(Eb, "Eb");
    function Fb() {
      if (zb) {
        var a2 = zb, b = Ab;
        Ab = zb = null;
        Bb(a2);
        if (b) for (a2 = 0; a2 < b.length; a2++) Bb(b[a2]);
      }
    }
    __name(Fb, "Fb");
    function Gb(a2, b) {
      return a2(b);
    }
    __name(Gb, "Gb");
    function Hb() {
    }
    __name(Hb, "Hb");
    var Ib = false;
    function Jb(a2, b, c2) {
      if (Ib) return a2(b, c2);
      Ib = true;
      try {
        return Gb(a2, b, c2);
      } finally {
        if (Ib = false, null !== zb || null !== Ab) Hb(), Fb();
      }
    }
    __name(Jb, "Jb");
    function Kb(a2, b) {
      var c2 = a2.stateNode;
      if (null === c2) return null;
      var d = Db(c2);
      if (null === d) return null;
      c2 = d[b];
      a: switch (b) {
        case "onClick":
        case "onClickCapture":
        case "onDoubleClick":
        case "onDoubleClickCapture":
        case "onMouseDown":
        case "onMouseDownCapture":
        case "onMouseMove":
        case "onMouseMoveCapture":
        case "onMouseUp":
        case "onMouseUpCapture":
        case "onMouseEnter":
          (d = !d.disabled) || (a2 = a2.type, d = !("button" === a2 || "input" === a2 || "select" === a2 || "textarea" === a2));
          a2 = !d;
          break a;
        default:
          a2 = false;
      }
      if (a2) return null;
      if (c2 && "function" !== typeof c2) throw Error(p2(231, b, typeof c2));
      return c2;
    }
    __name(Kb, "Kb");
    var Lb = false;
    if (ia) try {
      Mb = {};
      Object.defineProperty(Mb, "passive", { get: /* @__PURE__ */ __name(function() {
        Lb = true;
      }, "get") });
      window.addEventListener("test", Mb, Mb);
      window.removeEventListener("test", Mb, Mb);
    } catch (a2) {
      Lb = false;
    }
    var Mb;
    function Nb(a2, b, c2, d, e2, f3, g2, h2, k) {
      var l = Array.prototype.slice.call(arguments, 3);
      try {
        b.apply(c2, l);
      } catch (m3) {
        this.onError(m3);
      }
    }
    __name(Nb, "Nb");
    var Ob = false;
    var Pb = null;
    var Qb = false;
    var Rb = null;
    var Sb = { onError: /* @__PURE__ */ __name(function(a2) {
      Ob = true;
      Pb = a2;
    }, "onError") };
    function Tb(a2, b, c2, d, e2, f3, g2, h2, k) {
      Ob = false;
      Pb = null;
      Nb.apply(Sb, arguments);
    }
    __name(Tb, "Tb");
    function Ub(a2, b, c2, d, e2, f3, g2, h2, k) {
      Tb.apply(this, arguments);
      if (Ob) {
        if (Ob) {
          var l = Pb;
          Ob = false;
          Pb = null;
        } else throw Error(p2(198));
        Qb || (Qb = true, Rb = l);
      }
    }
    __name(Ub, "Ub");
    function Vb(a2) {
      var b = a2, c2 = a2;
      if (a2.alternate) for (; b.return; ) b = b.return;
      else {
        a2 = b;
        do
          b = a2, 0 !== (b.flags & 4098) && (c2 = b.return), a2 = b.return;
        while (a2);
      }
      return 3 === b.tag ? c2 : null;
    }
    __name(Vb, "Vb");
    function Wb(a2) {
      if (13 === a2.tag) {
        var b = a2.memoizedState;
        null === b && (a2 = a2.alternate, null !== a2 && (b = a2.memoizedState));
        if (null !== b) return b.dehydrated;
      }
      return null;
    }
    __name(Wb, "Wb");
    function Xb(a2) {
      if (Vb(a2) !== a2) throw Error(p2(188));
    }
    __name(Xb, "Xb");
    function Yb(a2) {
      var b = a2.alternate;
      if (!b) {
        b = Vb(a2);
        if (null === b) throw Error(p2(188));
        return b !== a2 ? null : a2;
      }
      for (var c2 = a2, d = b; ; ) {
        var e2 = c2.return;
        if (null === e2) break;
        var f3 = e2.alternate;
        if (null === f3) {
          d = e2.return;
          if (null !== d) {
            c2 = d;
            continue;
          }
          break;
        }
        if (e2.child === f3.child) {
          for (f3 = e2.child; f3; ) {
            if (f3 === c2) return Xb(e2), a2;
            if (f3 === d) return Xb(e2), b;
            f3 = f3.sibling;
          }
          throw Error(p2(188));
        }
        if (c2.return !== d.return) c2 = e2, d = f3;
        else {
          for (var g2 = false, h2 = e2.child; h2; ) {
            if (h2 === c2) {
              g2 = true;
              c2 = e2;
              d = f3;
              break;
            }
            if (h2 === d) {
              g2 = true;
              d = e2;
              c2 = f3;
              break;
            }
            h2 = h2.sibling;
          }
          if (!g2) {
            for (h2 = f3.child; h2; ) {
              if (h2 === c2) {
                g2 = true;
                c2 = f3;
                d = e2;
                break;
              }
              if (h2 === d) {
                g2 = true;
                d = f3;
                c2 = e2;
                break;
              }
              h2 = h2.sibling;
            }
            if (!g2) throw Error(p2(189));
          }
        }
        if (c2.alternate !== d) throw Error(p2(190));
      }
      if (3 !== c2.tag) throw Error(p2(188));
      return c2.stateNode.current === c2 ? a2 : b;
    }
    __name(Yb, "Yb");
    function Zb(a2) {
      a2 = Yb(a2);
      return null !== a2 ? $b(a2) : null;
    }
    __name(Zb, "Zb");
    function $b(a2) {
      if (5 === a2.tag || 6 === a2.tag) return a2;
      for (a2 = a2.child; null !== a2; ) {
        var b = $b(a2);
        if (null !== b) return b;
        a2 = a2.sibling;
      }
      return null;
    }
    __name($b, "$b");
    var ac = ca.unstable_scheduleCallback;
    var bc = ca.unstable_cancelCallback;
    var cc = ca.unstable_shouldYield;
    var dc = ca.unstable_requestPaint;
    var B2 = ca.unstable_now;
    var ec = ca.unstable_getCurrentPriorityLevel;
    var fc = ca.unstable_ImmediatePriority;
    var gc = ca.unstable_UserBlockingPriority;
    var hc = ca.unstable_NormalPriority;
    var ic = ca.unstable_LowPriority;
    var jc = ca.unstable_IdlePriority;
    var kc = null;
    var lc = null;
    function mc(a2) {
      if (lc && "function" === typeof lc.onCommitFiberRoot) try {
        lc.onCommitFiberRoot(kc, a2, void 0, 128 === (a2.current.flags & 128));
      } catch (b) {
      }
    }
    __name(mc, "mc");
    var oc = Math.clz32 ? Math.clz32 : nc;
    var pc = Math.log;
    var qc = Math.LN2;
    function nc(a2) {
      a2 >>>= 0;
      return 0 === a2 ? 32 : 31 - (pc(a2) / qc | 0) | 0;
    }
    __name(nc, "nc");
    var rc = 64;
    var sc = 4194304;
    function tc(a2) {
      switch (a2 & -a2) {
        case 1:
          return 1;
        case 2:
          return 2;
        case 4:
          return 4;
        case 8:
          return 8;
        case 16:
          return 16;
        case 32:
          return 32;
        case 64:
        case 128:
        case 256:
        case 512:
        case 1024:
        case 2048:
        case 4096:
        case 8192:
        case 16384:
        case 32768:
        case 65536:
        case 131072:
        case 262144:
        case 524288:
        case 1048576:
        case 2097152:
          return a2 & 4194240;
        case 4194304:
        case 8388608:
        case 16777216:
        case 33554432:
        case 67108864:
          return a2 & 130023424;
        case 134217728:
          return 134217728;
        case 268435456:
          return 268435456;
        case 536870912:
          return 536870912;
        case 1073741824:
          return 1073741824;
        default:
          return a2;
      }
    }
    __name(tc, "tc");
    function uc(a2, b) {
      var c2 = a2.pendingLanes;
      if (0 === c2) return 0;
      var d = 0, e2 = a2.suspendedLanes, f3 = a2.pingedLanes, g2 = c2 & 268435455;
      if (0 !== g2) {
        var h2 = g2 & ~e2;
        0 !== h2 ? d = tc(h2) : (f3 &= g2, 0 !== f3 && (d = tc(f3)));
      } else g2 = c2 & ~e2, 0 !== g2 ? d = tc(g2) : 0 !== f3 && (d = tc(f3));
      if (0 === d) return 0;
      if (0 !== b && b !== d && 0 === (b & e2) && (e2 = d & -d, f3 = b & -b, e2 >= f3 || 16 === e2 && 0 !== (f3 & 4194240))) return b;
      0 !== (d & 4) && (d |= c2 & 16);
      b = a2.entangledLanes;
      if (0 !== b) for (a2 = a2.entanglements, b &= d; 0 < b; ) c2 = 31 - oc(b), e2 = 1 << c2, d |= a2[c2], b &= ~e2;
      return d;
    }
    __name(uc, "uc");
    function vc(a2, b) {
      switch (a2) {
        case 1:
        case 2:
        case 4:
          return b + 250;
        case 8:
        case 16:
        case 32:
        case 64:
        case 128:
        case 256:
        case 512:
        case 1024:
        case 2048:
        case 4096:
        case 8192:
        case 16384:
        case 32768:
        case 65536:
        case 131072:
        case 262144:
        case 524288:
        case 1048576:
        case 2097152:
          return b + 5e3;
        case 4194304:
        case 8388608:
        case 16777216:
        case 33554432:
        case 67108864:
          return -1;
        case 134217728:
        case 268435456:
        case 536870912:
        case 1073741824:
          return -1;
        default:
          return -1;
      }
    }
    __name(vc, "vc");
    function wc(a2, b) {
      for (var c2 = a2.suspendedLanes, d = a2.pingedLanes, e2 = a2.expirationTimes, f3 = a2.pendingLanes; 0 < f3; ) {
        var g2 = 31 - oc(f3), h2 = 1 << g2, k = e2[g2];
        if (-1 === k) {
          if (0 === (h2 & c2) || 0 !== (h2 & d)) e2[g2] = vc(h2, b);
        } else k <= b && (a2.expiredLanes |= h2);
        f3 &= ~h2;
      }
    }
    __name(wc, "wc");
    function xc(a2) {
      a2 = a2.pendingLanes & -1073741825;
      return 0 !== a2 ? a2 : a2 & 1073741824 ? 1073741824 : 0;
    }
    __name(xc, "xc");
    function yc() {
      var a2 = rc;
      rc <<= 1;
      0 === (rc & 4194240) && (rc = 64);
      return a2;
    }
    __name(yc, "yc");
    function zc(a2) {
      for (var b = [], c2 = 0; 31 > c2; c2++) b.push(a2);
      return b;
    }
    __name(zc, "zc");
    function Ac(a2, b, c2) {
      a2.pendingLanes |= b;
      536870912 !== b && (a2.suspendedLanes = 0, a2.pingedLanes = 0);
      a2 = a2.eventTimes;
      b = 31 - oc(b);
      a2[b] = c2;
    }
    __name(Ac, "Ac");
    function Bc(a2, b) {
      var c2 = a2.pendingLanes & ~b;
      a2.pendingLanes = b;
      a2.suspendedLanes = 0;
      a2.pingedLanes = 0;
      a2.expiredLanes &= b;
      a2.mutableReadLanes &= b;
      a2.entangledLanes &= b;
      b = a2.entanglements;
      var d = a2.eventTimes;
      for (a2 = a2.expirationTimes; 0 < c2; ) {
        var e2 = 31 - oc(c2), f3 = 1 << e2;
        b[e2] = 0;
        d[e2] = -1;
        a2[e2] = -1;
        c2 &= ~f3;
      }
    }
    __name(Bc, "Bc");
    function Cc(a2, b) {
      var c2 = a2.entangledLanes |= b;
      for (a2 = a2.entanglements; c2; ) {
        var d = 31 - oc(c2), e2 = 1 << d;
        e2 & b | a2[d] & b && (a2[d] |= b);
        c2 &= ~e2;
      }
    }
    __name(Cc, "Cc");
    var C2 = 0;
    function Dc(a2) {
      a2 &= -a2;
      return 1 < a2 ? 4 < a2 ? 0 !== (a2 & 268435455) ? 16 : 536870912 : 4 : 1;
    }
    __name(Dc, "Dc");
    var Ec;
    var Fc;
    var Gc;
    var Hc;
    var Ic;
    var Jc = false;
    var Kc = [];
    var Lc = null;
    var Mc = null;
    var Nc = null;
    var Oc = /* @__PURE__ */ new Map();
    var Pc = /* @__PURE__ */ new Map();
    var Qc = [];
    var Rc = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");
    function Sc(a2, b) {
      switch (a2) {
        case "focusin":
        case "focusout":
          Lc = null;
          break;
        case "dragenter":
        case "dragleave":
          Mc = null;
          break;
        case "mouseover":
        case "mouseout":
          Nc = null;
          break;
        case "pointerover":
        case "pointerout":
          Oc.delete(b.pointerId);
          break;
        case "gotpointercapture":
        case "lostpointercapture":
          Pc.delete(b.pointerId);
      }
    }
    __name(Sc, "Sc");
    function Tc(a2, b, c2, d, e2, f3) {
      if (null === a2 || a2.nativeEvent !== f3) return a2 = { blockedOn: b, domEventName: c2, eventSystemFlags: d, nativeEvent: f3, targetContainers: [e2] }, null !== b && (b = Cb(b), null !== b && Fc(b)), a2;
      a2.eventSystemFlags |= d;
      b = a2.targetContainers;
      null !== e2 && -1 === b.indexOf(e2) && b.push(e2);
      return a2;
    }
    __name(Tc, "Tc");
    function Uc(a2, b, c2, d, e2) {
      switch (b) {
        case "focusin":
          return Lc = Tc(Lc, a2, b, c2, d, e2), true;
        case "dragenter":
          return Mc = Tc(Mc, a2, b, c2, d, e2), true;
        case "mouseover":
          return Nc = Tc(Nc, a2, b, c2, d, e2), true;
        case "pointerover":
          var f3 = e2.pointerId;
          Oc.set(f3, Tc(Oc.get(f3) || null, a2, b, c2, d, e2));
          return true;
        case "gotpointercapture":
          return f3 = e2.pointerId, Pc.set(f3, Tc(Pc.get(f3) || null, a2, b, c2, d, e2)), true;
      }
      return false;
    }
    __name(Uc, "Uc");
    function Vc(a2) {
      var b = Wc(a2.target);
      if (null !== b) {
        var c2 = Vb(b);
        if (null !== c2) {
          if (b = c2.tag, 13 === b) {
            if (b = Wb(c2), null !== b) {
              a2.blockedOn = b;
              Ic(a2.priority, function() {
                Gc(c2);
              });
              return;
            }
          } else if (3 === b && c2.stateNode.current.memoizedState.isDehydrated) {
            a2.blockedOn = 3 === c2.tag ? c2.stateNode.containerInfo : null;
            return;
          }
        }
      }
      a2.blockedOn = null;
    }
    __name(Vc, "Vc");
    function Xc(a2) {
      if (null !== a2.blockedOn) return false;
      for (var b = a2.targetContainers; 0 < b.length; ) {
        var c2 = Yc(a2.domEventName, a2.eventSystemFlags, b[0], a2.nativeEvent);
        if (null === c2) {
          c2 = a2.nativeEvent;
          var d = new c2.constructor(c2.type, c2);
          wb = d;
          c2.target.dispatchEvent(d);
          wb = null;
        } else return b = Cb(c2), null !== b && Fc(b), a2.blockedOn = c2, false;
        b.shift();
      }
      return true;
    }
    __name(Xc, "Xc");
    function Zc(a2, b, c2) {
      Xc(a2) && c2.delete(b);
    }
    __name(Zc, "Zc");
    function $c() {
      Jc = false;
      null !== Lc && Xc(Lc) && (Lc = null);
      null !== Mc && Xc(Mc) && (Mc = null);
      null !== Nc && Xc(Nc) && (Nc = null);
      Oc.forEach(Zc);
      Pc.forEach(Zc);
    }
    __name($c, "$c");
    function ad(a2, b) {
      a2.blockedOn === b && (a2.blockedOn = null, Jc || (Jc = true, ca.unstable_scheduleCallback(ca.unstable_NormalPriority, $c)));
    }
    __name(ad, "ad");
    function bd(a2) {
      function b(b2) {
        return ad(b2, a2);
      }
      __name(b, "b");
      if (0 < Kc.length) {
        ad(Kc[0], a2);
        for (var c2 = 1; c2 < Kc.length; c2++) {
          var d = Kc[c2];
          d.blockedOn === a2 && (d.blockedOn = null);
        }
      }
      null !== Lc && ad(Lc, a2);
      null !== Mc && ad(Mc, a2);
      null !== Nc && ad(Nc, a2);
      Oc.forEach(b);
      Pc.forEach(b);
      for (c2 = 0; c2 < Qc.length; c2++) d = Qc[c2], d.blockedOn === a2 && (d.blockedOn = null);
      for (; 0 < Qc.length && (c2 = Qc[0], null === c2.blockedOn); ) Vc(c2), null === c2.blockedOn && Qc.shift();
    }
    __name(bd, "bd");
    var cd = ua.ReactCurrentBatchConfig;
    var dd = true;
    function ed(a2, b, c2, d) {
      var e2 = C2, f3 = cd.transition;
      cd.transition = null;
      try {
        C2 = 1, fd(a2, b, c2, d);
      } finally {
        C2 = e2, cd.transition = f3;
      }
    }
    __name(ed, "ed");
    function gd(a2, b, c2, d) {
      var e2 = C2, f3 = cd.transition;
      cd.transition = null;
      try {
        C2 = 4, fd(a2, b, c2, d);
      } finally {
        C2 = e2, cd.transition = f3;
      }
    }
    __name(gd, "gd");
    function fd(a2, b, c2, d) {
      if (dd) {
        var e2 = Yc(a2, b, c2, d);
        if (null === e2) hd(a2, b, d, id, c2), Sc(a2, d);
        else if (Uc(e2, a2, b, c2, d)) d.stopPropagation();
        else if (Sc(a2, d), b & 4 && -1 < Rc.indexOf(a2)) {
          for (; null !== e2; ) {
            var f3 = Cb(e2);
            null !== f3 && Ec(f3);
            f3 = Yc(a2, b, c2, d);
            null === f3 && hd(a2, b, d, id, c2);
            if (f3 === e2) break;
            e2 = f3;
          }
          null !== e2 && d.stopPropagation();
        } else hd(a2, b, d, null, c2);
      }
    }
    __name(fd, "fd");
    var id = null;
    function Yc(a2, b, c2, d) {
      id = null;
      a2 = xb(d);
      a2 = Wc(a2);
      if (null !== a2) if (b = Vb(a2), null === b) a2 = null;
      else if (c2 = b.tag, 13 === c2) {
        a2 = Wb(b);
        if (null !== a2) return a2;
        a2 = null;
      } else if (3 === c2) {
        if (b.stateNode.current.memoizedState.isDehydrated) return 3 === b.tag ? b.stateNode.containerInfo : null;
        a2 = null;
      } else b !== a2 && (a2 = null);
      id = a2;
      return null;
    }
    __name(Yc, "Yc");
    function jd(a2) {
      switch (a2) {
        case "cancel":
        case "click":
        case "close":
        case "contextmenu":
        case "copy":
        case "cut":
        case "auxclick":
        case "dblclick":
        case "dragend":
        case "dragstart":
        case "drop":
        case "focusin":
        case "focusout":
        case "input":
        case "invalid":
        case "keydown":
        case "keypress":
        case "keyup":
        case "mousedown":
        case "mouseup":
        case "paste":
        case "pause":
        case "play":
        case "pointercancel":
        case "pointerdown":
        case "pointerup":
        case "ratechange":
        case "reset":
        case "resize":
        case "seeked":
        case "submit":
        case "touchcancel":
        case "touchend":
        case "touchstart":
        case "volumechange":
        case "change":
        case "selectionchange":
        case "textInput":
        case "compositionstart":
        case "compositionend":
        case "compositionupdate":
        case "beforeblur":
        case "afterblur":
        case "beforeinput":
        case "blur":
        case "fullscreenchange":
        case "focus":
        case "hashchange":
        case "popstate":
        case "select":
        case "selectstart":
          return 1;
        case "drag":
        case "dragenter":
        case "dragexit":
        case "dragleave":
        case "dragover":
        case "mousemove":
        case "mouseout":
        case "mouseover":
        case "pointermove":
        case "pointerout":
        case "pointerover":
        case "scroll":
        case "toggle":
        case "touchmove":
        case "wheel":
        case "mouseenter":
        case "mouseleave":
        case "pointerenter":
        case "pointerleave":
          return 4;
        case "message":
          switch (ec()) {
            case fc:
              return 1;
            case gc:
              return 4;
            case hc:
            case ic:
              return 16;
            case jc:
              return 536870912;
            default:
              return 16;
          }
        default:
          return 16;
      }
    }
    __name(jd, "jd");
    var kd = null;
    var ld = null;
    var md = null;
    function nd() {
      if (md) return md;
      var a2, b = ld, c2 = b.length, d, e2 = "value" in kd ? kd.value : kd.textContent, f3 = e2.length;
      for (a2 = 0; a2 < c2 && b[a2] === e2[a2]; a2++) ;
      var g2 = c2 - a2;
      for (d = 1; d <= g2 && b[c2 - d] === e2[f3 - d]; d++) ;
      return md = e2.slice(a2, 1 < d ? 1 - d : void 0);
    }
    __name(nd, "nd");
    function od(a2) {
      var b = a2.keyCode;
      "charCode" in a2 ? (a2 = a2.charCode, 0 === a2 && 13 === b && (a2 = 13)) : a2 = b;
      10 === a2 && (a2 = 13);
      return 32 <= a2 || 13 === a2 ? a2 : 0;
    }
    __name(od, "od");
    function pd() {
      return true;
    }
    __name(pd, "pd");
    function qd() {
      return false;
    }
    __name(qd, "qd");
    function rd(a2) {
      function b(b2, d, e2, f3, g2) {
        this._reactName = b2;
        this._targetInst = e2;
        this.type = d;
        this.nativeEvent = f3;
        this.target = g2;
        this.currentTarget = null;
        for (var c2 in a2) a2.hasOwnProperty(c2) && (b2 = a2[c2], this[c2] = b2 ? b2(f3) : f3[c2]);
        this.isDefaultPrevented = (null != f3.defaultPrevented ? f3.defaultPrevented : false === f3.returnValue) ? pd : qd;
        this.isPropagationStopped = qd;
        return this;
      }
      __name(b, "b");
      A3(b.prototype, { preventDefault: /* @__PURE__ */ __name(function() {
        this.defaultPrevented = true;
        var a3 = this.nativeEvent;
        a3 && (a3.preventDefault ? a3.preventDefault() : "unknown" !== typeof a3.returnValue && (a3.returnValue = false), this.isDefaultPrevented = pd);
      }, "preventDefault"), stopPropagation: /* @__PURE__ */ __name(function() {
        var a3 = this.nativeEvent;
        a3 && (a3.stopPropagation ? a3.stopPropagation() : "unknown" !== typeof a3.cancelBubble && (a3.cancelBubble = true), this.isPropagationStopped = pd);
      }, "stopPropagation"), persist: /* @__PURE__ */ __name(function() {
      }, "persist"), isPersistent: pd });
      return b;
    }
    __name(rd, "rd");
    var sd = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: /* @__PURE__ */ __name(function(a2) {
      return a2.timeStamp || Date.now();
    }, "timeStamp"), defaultPrevented: 0, isTrusted: 0 };
    var td = rd(sd);
    var ud = A3({}, sd, { view: 0, detail: 0 });
    var vd = rd(ud);
    var wd;
    var xd;
    var yd;
    var Ad = A3({}, ud, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: zd, button: 0, buttons: 0, relatedTarget: /* @__PURE__ */ __name(function(a2) {
      return void 0 === a2.relatedTarget ? a2.fromElement === a2.srcElement ? a2.toElement : a2.fromElement : a2.relatedTarget;
    }, "relatedTarget"), movementX: /* @__PURE__ */ __name(function(a2) {
      if ("movementX" in a2) return a2.movementX;
      a2 !== yd && (yd && "mousemove" === a2.type ? (wd = a2.screenX - yd.screenX, xd = a2.screenY - yd.screenY) : xd = wd = 0, yd = a2);
      return wd;
    }, "movementX"), movementY: /* @__PURE__ */ __name(function(a2) {
      return "movementY" in a2 ? a2.movementY : xd;
    }, "movementY") });
    var Bd = rd(Ad);
    var Cd = A3({}, Ad, { dataTransfer: 0 });
    var Dd = rd(Cd);
    var Ed = A3({}, ud, { relatedTarget: 0 });
    var Fd = rd(Ed);
    var Gd = A3({}, sd, { animationName: 0, elapsedTime: 0, pseudoElement: 0 });
    var Hd = rd(Gd);
    var Id = A3({}, sd, { clipboardData: /* @__PURE__ */ __name(function(a2) {
      return "clipboardData" in a2 ? a2.clipboardData : window.clipboardData;
    }, "clipboardData") });
    var Jd = rd(Id);
    var Kd = A3({}, sd, { data: 0 });
    var Ld = rd(Kd);
    var Md = {
      Esc: "Escape",
      Spacebar: " ",
      Left: "ArrowLeft",
      Up: "ArrowUp",
      Right: "ArrowRight",
      Down: "ArrowDown",
      Del: "Delete",
      Win: "OS",
      Menu: "ContextMenu",
      Apps: "ContextMenu",
      Scroll: "ScrollLock",
      MozPrintableKey: "Unidentified"
    };
    var Nd = {
      8: "Backspace",
      9: "Tab",
      12: "Clear",
      13: "Enter",
      16: "Shift",
      17: "Control",
      18: "Alt",
      19: "Pause",
      20: "CapsLock",
      27: "Escape",
      32: " ",
      33: "PageUp",
      34: "PageDown",
      35: "End",
      36: "Home",
      37: "ArrowLeft",
      38: "ArrowUp",
      39: "ArrowRight",
      40: "ArrowDown",
      45: "Insert",
      46: "Delete",
      112: "F1",
      113: "F2",
      114: "F3",
      115: "F4",
      116: "F5",
      117: "F6",
      118: "F7",
      119: "F8",
      120: "F9",
      121: "F10",
      122: "F11",
      123: "F12",
      144: "NumLock",
      145: "ScrollLock",
      224: "Meta"
    };
    var Od = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };
    function Pd(a2) {
      var b = this.nativeEvent;
      return b.getModifierState ? b.getModifierState(a2) : (a2 = Od[a2]) ? !!b[a2] : false;
    }
    __name(Pd, "Pd");
    function zd() {
      return Pd;
    }
    __name(zd, "zd");
    var Qd = A3({}, ud, { key: /* @__PURE__ */ __name(function(a2) {
      if (a2.key) {
        var b = Md[a2.key] || a2.key;
        if ("Unidentified" !== b) return b;
      }
      return "keypress" === a2.type ? (a2 = od(a2), 13 === a2 ? "Enter" : String.fromCharCode(a2)) : "keydown" === a2.type || "keyup" === a2.type ? Nd[a2.keyCode] || "Unidentified" : "";
    }, "key"), code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: zd, charCode: /* @__PURE__ */ __name(function(a2) {
      return "keypress" === a2.type ? od(a2) : 0;
    }, "charCode"), keyCode: /* @__PURE__ */ __name(function(a2) {
      return "keydown" === a2.type || "keyup" === a2.type ? a2.keyCode : 0;
    }, "keyCode"), which: /* @__PURE__ */ __name(function(a2) {
      return "keypress" === a2.type ? od(a2) : "keydown" === a2.type || "keyup" === a2.type ? a2.keyCode : 0;
    }, "which") });
    var Rd = rd(Qd);
    var Sd = A3({}, Ad, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 });
    var Td = rd(Sd);
    var Ud = A3({}, ud, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: zd });
    var Vd = rd(Ud);
    var Wd = A3({}, sd, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 });
    var Xd = rd(Wd);
    var Yd = A3({}, Ad, {
      deltaX: /* @__PURE__ */ __name(function(a2) {
        return "deltaX" in a2 ? a2.deltaX : "wheelDeltaX" in a2 ? -a2.wheelDeltaX : 0;
      }, "deltaX"),
      deltaY: /* @__PURE__ */ __name(function(a2) {
        return "deltaY" in a2 ? a2.deltaY : "wheelDeltaY" in a2 ? -a2.wheelDeltaY : "wheelDelta" in a2 ? -a2.wheelDelta : 0;
      }, "deltaY"),
      deltaZ: 0,
      deltaMode: 0
    });
    var Zd = rd(Yd);
    var $d = [9, 13, 27, 32];
    var ae = ia && "CompositionEvent" in window;
    var be = null;
    ia && "documentMode" in document && (be = document.documentMode);
    var ce = ia && "TextEvent" in window && !be;
    var de = ia && (!ae || be && 8 < be && 11 >= be);
    var ee = String.fromCharCode(32);
    var fe = false;
    function ge(a2, b) {
      switch (a2) {
        case "keyup":
          return -1 !== $d.indexOf(b.keyCode);
        case "keydown":
          return 229 !== b.keyCode;
        case "keypress":
        case "mousedown":
        case "focusout":
          return true;
        default:
          return false;
      }
    }
    __name(ge, "ge");
    function he(a2) {
      a2 = a2.detail;
      return "object" === typeof a2 && "data" in a2 ? a2.data : null;
    }
    __name(he, "he");
    var ie = false;
    function je(a2, b) {
      switch (a2) {
        case "compositionend":
          return he(b);
        case "keypress":
          if (32 !== b.which) return null;
          fe = true;
          return ee;
        case "textInput":
          return a2 = b.data, a2 === ee && fe ? null : a2;
        default:
          return null;
      }
    }
    __name(je, "je");
    function ke(a2, b) {
      if (ie) return "compositionend" === a2 || !ae && ge(a2, b) ? (a2 = nd(), md = ld = kd = null, ie = false, a2) : null;
      switch (a2) {
        case "paste":
          return null;
        case "keypress":
          if (!(b.ctrlKey || b.altKey || b.metaKey) || b.ctrlKey && b.altKey) {
            if (b.char && 1 < b.char.length) return b.char;
            if (b.which) return String.fromCharCode(b.which);
          }
          return null;
        case "compositionend":
          return de && "ko" !== b.locale ? null : b.data;
        default:
          return null;
      }
    }
    __name(ke, "ke");
    var le = { color: true, date: true, datetime: true, "datetime-local": true, email: true, month: true, number: true, password: true, range: true, search: true, tel: true, text: true, time: true, url: true, week: true };
    function me(a2) {
      var b = a2 && a2.nodeName && a2.nodeName.toLowerCase();
      return "input" === b ? !!le[a2.type] : "textarea" === b ? true : false;
    }
    __name(me, "me");
    function ne(a2, b, c2, d) {
      Eb(d);
      b = oe(b, "onChange");
      0 < b.length && (c2 = new td("onChange", "change", null, c2, d), a2.push({ event: c2, listeners: b }));
    }
    __name(ne, "ne");
    var pe = null;
    var qe = null;
    function re(a2) {
      se(a2, 0);
    }
    __name(re, "re");
    function te(a2) {
      var b = ue(a2);
      if (Wa(b)) return a2;
    }
    __name(te, "te");
    function ve(a2, b) {
      if ("change" === a2) return b;
    }
    __name(ve, "ve");
    var we = false;
    if (ia) {
      if (ia) {
        ye = "oninput" in document;
        if (!ye) {
          ze = document.createElement("div");
          ze.setAttribute("oninput", "return;");
          ye = "function" === typeof ze.oninput;
        }
        xe = ye;
      } else xe = false;
      we = xe && (!document.documentMode || 9 < document.documentMode);
    }
    var xe;
    var ye;
    var ze;
    function Ae() {
      pe && (pe.detachEvent("onpropertychange", Be), qe = pe = null);
    }
    __name(Ae, "Ae");
    function Be(a2) {
      if ("value" === a2.propertyName && te(qe)) {
        var b = [];
        ne(b, qe, a2, xb(a2));
        Jb(re, b);
      }
    }
    __name(Be, "Be");
    function Ce(a2, b, c2) {
      "focusin" === a2 ? (Ae(), pe = b, qe = c2, pe.attachEvent("onpropertychange", Be)) : "focusout" === a2 && Ae();
    }
    __name(Ce, "Ce");
    function De(a2) {
      if ("selectionchange" === a2 || "keyup" === a2 || "keydown" === a2) return te(qe);
    }
    __name(De, "De");
    function Ee(a2, b) {
      if ("click" === a2) return te(b);
    }
    __name(Ee, "Ee");
    function Fe(a2, b) {
      if ("input" === a2 || "change" === a2) return te(b);
    }
    __name(Fe, "Fe");
    function Ge(a2, b) {
      return a2 === b && (0 !== a2 || 1 / a2 === 1 / b) || a2 !== a2 && b !== b;
    }
    __name(Ge, "Ge");
    var He = "function" === typeof Object.is ? Object.is : Ge;
    function Ie(a2, b) {
      if (He(a2, b)) return true;
      if ("object" !== typeof a2 || null === a2 || "object" !== typeof b || null === b) return false;
      var c2 = Object.keys(a2), d = Object.keys(b);
      if (c2.length !== d.length) return false;
      for (d = 0; d < c2.length; d++) {
        var e2 = c2[d];
        if (!ja.call(b, e2) || !He(a2[e2], b[e2])) return false;
      }
      return true;
    }
    __name(Ie, "Ie");
    function Je(a2) {
      for (; a2 && a2.firstChild; ) a2 = a2.firstChild;
      return a2;
    }
    __name(Je, "Je");
    function Ke(a2, b) {
      var c2 = Je(a2);
      a2 = 0;
      for (var d; c2; ) {
        if (3 === c2.nodeType) {
          d = a2 + c2.textContent.length;
          if (a2 <= b && d >= b) return { node: c2, offset: b - a2 };
          a2 = d;
        }
        a: {
          for (; c2; ) {
            if (c2.nextSibling) {
              c2 = c2.nextSibling;
              break a;
            }
            c2 = c2.parentNode;
          }
          c2 = void 0;
        }
        c2 = Je(c2);
      }
    }
    __name(Ke, "Ke");
    function Le(a2, b) {
      return a2 && b ? a2 === b ? true : a2 && 3 === a2.nodeType ? false : b && 3 === b.nodeType ? Le(a2, b.parentNode) : "contains" in a2 ? a2.contains(b) : a2.compareDocumentPosition ? !!(a2.compareDocumentPosition(b) & 16) : false : false;
    }
    __name(Le, "Le");
    function Me() {
      for (var a2 = window, b = Xa(); b instanceof a2.HTMLIFrameElement; ) {
        try {
          var c2 = "string" === typeof b.contentWindow.location.href;
        } catch (d) {
          c2 = false;
        }
        if (c2) a2 = b.contentWindow;
        else break;
        b = Xa(a2.document);
      }
      return b;
    }
    __name(Me, "Me");
    function Ne(a2) {
      var b = a2 && a2.nodeName && a2.nodeName.toLowerCase();
      return b && ("input" === b && ("text" === a2.type || "search" === a2.type || "tel" === a2.type || "url" === a2.type || "password" === a2.type) || "textarea" === b || "true" === a2.contentEditable);
    }
    __name(Ne, "Ne");
    function Oe(a2) {
      var b = Me(), c2 = a2.focusedElem, d = a2.selectionRange;
      if (b !== c2 && c2 && c2.ownerDocument && Le(c2.ownerDocument.documentElement, c2)) {
        if (null !== d && Ne(c2)) {
          if (b = d.start, a2 = d.end, void 0 === a2 && (a2 = b), "selectionStart" in c2) c2.selectionStart = b, c2.selectionEnd = Math.min(a2, c2.value.length);
          else if (a2 = (b = c2.ownerDocument || document) && b.defaultView || window, a2.getSelection) {
            a2 = a2.getSelection();
            var e2 = c2.textContent.length, f3 = Math.min(d.start, e2);
            d = void 0 === d.end ? f3 : Math.min(d.end, e2);
            !a2.extend && f3 > d && (e2 = d, d = f3, f3 = e2);
            e2 = Ke(c2, f3);
            var g2 = Ke(
              c2,
              d
            );
            e2 && g2 && (1 !== a2.rangeCount || a2.anchorNode !== e2.node || a2.anchorOffset !== e2.offset || a2.focusNode !== g2.node || a2.focusOffset !== g2.offset) && (b = b.createRange(), b.setStart(e2.node, e2.offset), a2.removeAllRanges(), f3 > d ? (a2.addRange(b), a2.extend(g2.node, g2.offset)) : (b.setEnd(g2.node, g2.offset), a2.addRange(b)));
          }
        }
        b = [];
        for (a2 = c2; a2 = a2.parentNode; ) 1 === a2.nodeType && b.push({ element: a2, left: a2.scrollLeft, top: a2.scrollTop });
        "function" === typeof c2.focus && c2.focus();
        for (c2 = 0; c2 < b.length; c2++) a2 = b[c2], a2.element.scrollLeft = a2.left, a2.element.scrollTop = a2.top;
      }
    }
    __name(Oe, "Oe");
    var Pe = ia && "documentMode" in document && 11 >= document.documentMode;
    var Qe = null;
    var Re = null;
    var Se = null;
    var Te = false;
    function Ue(a2, b, c2) {
      var d = c2.window === c2 ? c2.document : 9 === c2.nodeType ? c2 : c2.ownerDocument;
      Te || null == Qe || Qe !== Xa(d) || (d = Qe, "selectionStart" in d && Ne(d) ? d = { start: d.selectionStart, end: d.selectionEnd } : (d = (d.ownerDocument && d.ownerDocument.defaultView || window).getSelection(), d = { anchorNode: d.anchorNode, anchorOffset: d.anchorOffset, focusNode: d.focusNode, focusOffset: d.focusOffset }), Se && Ie(Se, d) || (Se = d, d = oe(Re, "onSelect"), 0 < d.length && (b = new td("onSelect", "select", null, b, c2), a2.push({ event: b, listeners: d }), b.target = Qe)));
    }
    __name(Ue, "Ue");
    function Ve(a2, b) {
      var c2 = {};
      c2[a2.toLowerCase()] = b.toLowerCase();
      c2["Webkit" + a2] = "webkit" + b;
      c2["Moz" + a2] = "moz" + b;
      return c2;
    }
    __name(Ve, "Ve");
    var We = { animationend: Ve("Animation", "AnimationEnd"), animationiteration: Ve("Animation", "AnimationIteration"), animationstart: Ve("Animation", "AnimationStart"), transitionend: Ve("Transition", "TransitionEnd") };
    var Xe = {};
    var Ye = {};
    ia && (Ye = document.createElement("div").style, "AnimationEvent" in window || (delete We.animationend.animation, delete We.animationiteration.animation, delete We.animationstart.animation), "TransitionEvent" in window || delete We.transitionend.transition);
    function Ze(a2) {
      if (Xe[a2]) return Xe[a2];
      if (!We[a2]) return a2;
      var b = We[a2], c2;
      for (c2 in b) if (b.hasOwnProperty(c2) && c2 in Ye) return Xe[a2] = b[c2];
      return a2;
    }
    __name(Ze, "Ze");
    var $e = Ze("animationend");
    var af = Ze("animationiteration");
    var bf = Ze("animationstart");
    var cf = Ze("transitionend");
    var df = /* @__PURE__ */ new Map();
    var ef = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");
    function ff(a2, b) {
      df.set(a2, b);
      fa(b, [a2]);
    }
    __name(ff, "ff");
    for (gf = 0; gf < ef.length; gf++) {
      hf = ef[gf], jf = hf.toLowerCase(), kf = hf[0].toUpperCase() + hf.slice(1);
      ff(jf, "on" + kf);
    }
    var hf;
    var jf;
    var kf;
    var gf;
    ff($e, "onAnimationEnd");
    ff(af, "onAnimationIteration");
    ff(bf, "onAnimationStart");
    ff("dblclick", "onDoubleClick");
    ff("focusin", "onFocus");
    ff("focusout", "onBlur");
    ff(cf, "onTransitionEnd");
    ha("onMouseEnter", ["mouseout", "mouseover"]);
    ha("onMouseLeave", ["mouseout", "mouseover"]);
    ha("onPointerEnter", ["pointerout", "pointerover"]);
    ha("onPointerLeave", ["pointerout", "pointerover"]);
    fa("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" "));
    fa("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));
    fa("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]);
    fa("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" "));
    fa("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" "));
    fa("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
    var lf = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" ");
    var mf = new Set("cancel close invalid load scroll toggle".split(" ").concat(lf));
    function nf(a2, b, c2) {
      var d = a2.type || "unknown-event";
      a2.currentTarget = c2;
      Ub(d, b, void 0, a2);
      a2.currentTarget = null;
    }
    __name(nf, "nf");
    function se(a2, b) {
      b = 0 !== (b & 4);
      for (var c2 = 0; c2 < a2.length; c2++) {
        var d = a2[c2], e2 = d.event;
        d = d.listeners;
        a: {
          var f3 = void 0;
          if (b) for (var g2 = d.length - 1; 0 <= g2; g2--) {
            var h2 = d[g2], k = h2.instance, l = h2.currentTarget;
            h2 = h2.listener;
            if (k !== f3 && e2.isPropagationStopped()) break a;
            nf(e2, h2, l);
            f3 = k;
          }
          else for (g2 = 0; g2 < d.length; g2++) {
            h2 = d[g2];
            k = h2.instance;
            l = h2.currentTarget;
            h2 = h2.listener;
            if (k !== f3 && e2.isPropagationStopped()) break a;
            nf(e2, h2, l);
            f3 = k;
          }
        }
      }
      if (Qb) throw a2 = Rb, Qb = false, Rb = null, a2;
    }
    __name(se, "se");
    function D(a2, b) {
      var c2 = b[of];
      void 0 === c2 && (c2 = b[of] = /* @__PURE__ */ new Set());
      var d = a2 + "__bubble";
      c2.has(d) || (pf(b, a2, 2, false), c2.add(d));
    }
    __name(D, "D");
    function qf(a2, b, c2) {
      var d = 0;
      b && (d |= 4);
      pf(c2, a2, d, b);
    }
    __name(qf, "qf");
    var rf = "_reactListening" + Math.random().toString(36).slice(2);
    function sf(a2) {
      if (!a2[rf]) {
        a2[rf] = true;
        da.forEach(function(b2) {
          "selectionchange" !== b2 && (mf.has(b2) || qf(b2, false, a2), qf(b2, true, a2));
        });
        var b = 9 === a2.nodeType ? a2 : a2.ownerDocument;
        null === b || b[rf] || (b[rf] = true, qf("selectionchange", false, b));
      }
    }
    __name(sf, "sf");
    function pf(a2, b, c2, d) {
      switch (jd(b)) {
        case 1:
          var e2 = ed;
          break;
        case 4:
          e2 = gd;
          break;
        default:
          e2 = fd;
      }
      c2 = e2.bind(null, b, c2, a2);
      e2 = void 0;
      !Lb || "touchstart" !== b && "touchmove" !== b && "wheel" !== b || (e2 = true);
      d ? void 0 !== e2 ? a2.addEventListener(b, c2, { capture: true, passive: e2 }) : a2.addEventListener(b, c2, true) : void 0 !== e2 ? a2.addEventListener(b, c2, { passive: e2 }) : a2.addEventListener(b, c2, false);
    }
    __name(pf, "pf");
    function hd(a2, b, c2, d, e2) {
      var f3 = d;
      if (0 === (b & 1) && 0 === (b & 2) && null !== d) a: for (; ; ) {
        if (null === d) return;
        var g2 = d.tag;
        if (3 === g2 || 4 === g2) {
          var h2 = d.stateNode.containerInfo;
          if (h2 === e2 || 8 === h2.nodeType && h2.parentNode === e2) break;
          if (4 === g2) for (g2 = d.return; null !== g2; ) {
            var k = g2.tag;
            if (3 === k || 4 === k) {
              if (k = g2.stateNode.containerInfo, k === e2 || 8 === k.nodeType && k.parentNode === e2) return;
            }
            g2 = g2.return;
          }
          for (; null !== h2; ) {
            g2 = Wc(h2);
            if (null === g2) return;
            k = g2.tag;
            if (5 === k || 6 === k) {
              d = f3 = g2;
              continue a;
            }
            h2 = h2.parentNode;
          }
        }
        d = d.return;
      }
      Jb(function() {
        var d2 = f3, e3 = xb(c2), g3 = [];
        a: {
          var h3 = df.get(a2);
          if (void 0 !== h3) {
            var k2 = td, n2 = a2;
            switch (a2) {
              case "keypress":
                if (0 === od(c2)) break a;
              case "keydown":
              case "keyup":
                k2 = Rd;
                break;
              case "focusin":
                n2 = "focus";
                k2 = Fd;
                break;
              case "focusout":
                n2 = "blur";
                k2 = Fd;
                break;
              case "beforeblur":
              case "afterblur":
                k2 = Fd;
                break;
              case "click":
                if (2 === c2.button) break a;
              case "auxclick":
              case "dblclick":
              case "mousedown":
              case "mousemove":
              case "mouseup":
              case "mouseout":
              case "mouseover":
              case "contextmenu":
                k2 = Bd;
                break;
              case "drag":
              case "dragend":
              case "dragenter":
              case "dragexit":
              case "dragleave":
              case "dragover":
              case "dragstart":
              case "drop":
                k2 = Dd;
                break;
              case "touchcancel":
              case "touchend":
              case "touchmove":
              case "touchstart":
                k2 = Vd;
                break;
              case $e:
              case af:
              case bf:
                k2 = Hd;
                break;
              case cf:
                k2 = Xd;
                break;
              case "scroll":
                k2 = vd;
                break;
              case "wheel":
                k2 = Zd;
                break;
              case "copy":
              case "cut":
              case "paste":
                k2 = Jd;
                break;
              case "gotpointercapture":
              case "lostpointercapture":
              case "pointercancel":
              case "pointerdown":
              case "pointermove":
              case "pointerout":
              case "pointerover":
              case "pointerup":
                k2 = Td;
            }
            var t2 = 0 !== (b & 4), J = !t2 && "scroll" === a2, x = t2 ? null !== h3 ? h3 + "Capture" : null : h3;
            t2 = [];
            for (var w = d2, u2; null !== w; ) {
              u2 = w;
              var F = u2.stateNode;
              5 === u2.tag && null !== F && (u2 = F, null !== x && (F = Kb(w, x), null != F && t2.push(tf(w, F, u2))));
              if (J) break;
              w = w.return;
            }
            0 < t2.length && (h3 = new k2(h3, n2, null, c2, e3), g3.push({ event: h3, listeners: t2 }));
          }
        }
        if (0 === (b & 7)) {
          a: {
            h3 = "mouseover" === a2 || "pointerover" === a2;
            k2 = "mouseout" === a2 || "pointerout" === a2;
            if (h3 && c2 !== wb && (n2 = c2.relatedTarget || c2.fromElement) && (Wc(n2) || n2[uf])) break a;
            if (k2 || h3) {
              h3 = e3.window === e3 ? e3 : (h3 = e3.ownerDocument) ? h3.defaultView || h3.parentWindow : window;
              if (k2) {
                if (n2 = c2.relatedTarget || c2.toElement, k2 = d2, n2 = n2 ? Wc(n2) : null, null !== n2 && (J = Vb(n2), n2 !== J || 5 !== n2.tag && 6 !== n2.tag)) n2 = null;
              } else k2 = null, n2 = d2;
              if (k2 !== n2) {
                t2 = Bd;
                F = "onMouseLeave";
                x = "onMouseEnter";
                w = "mouse";
                if ("pointerout" === a2 || "pointerover" === a2) t2 = Td, F = "onPointerLeave", x = "onPointerEnter", w = "pointer";
                J = null == k2 ? h3 : ue(k2);
                u2 = null == n2 ? h3 : ue(n2);
                h3 = new t2(F, w + "leave", k2, c2, e3);
                h3.target = J;
                h3.relatedTarget = u2;
                F = null;
                Wc(e3) === d2 && (t2 = new t2(x, w + "enter", n2, c2, e3), t2.target = u2, t2.relatedTarget = J, F = t2);
                J = F;
                if (k2 && n2) b: {
                  t2 = k2;
                  x = n2;
                  w = 0;
                  for (u2 = t2; u2; u2 = vf(u2)) w++;
                  u2 = 0;
                  for (F = x; F; F = vf(F)) u2++;
                  for (; 0 < w - u2; ) t2 = vf(t2), w--;
                  for (; 0 < u2 - w; ) x = vf(x), u2--;
                  for (; w--; ) {
                    if (t2 === x || null !== x && t2 === x.alternate) break b;
                    t2 = vf(t2);
                    x = vf(x);
                  }
                  t2 = null;
                }
                else t2 = null;
                null !== k2 && wf(g3, h3, k2, t2, false);
                null !== n2 && null !== J && wf(g3, J, n2, t2, true);
              }
            }
          }
          a: {
            h3 = d2 ? ue(d2) : window;
            k2 = h3.nodeName && h3.nodeName.toLowerCase();
            if ("select" === k2 || "input" === k2 && "file" === h3.type) var na = ve;
            else if (me(h3)) if (we) na = Fe;
            else {
              na = De;
              var xa = Ce;
            }
            else (k2 = h3.nodeName) && "input" === k2.toLowerCase() && ("checkbox" === h3.type || "radio" === h3.type) && (na = Ee);
            if (na && (na = na(a2, d2))) {
              ne(g3, na, c2, e3);
              break a;
            }
            xa && xa(a2, h3, d2);
            "focusout" === a2 && (xa = h3._wrapperState) && xa.controlled && "number" === h3.type && cb(h3, "number", h3.value);
          }
          xa = d2 ? ue(d2) : window;
          switch (a2) {
            case "focusin":
              if (me(xa) || "true" === xa.contentEditable) Qe = xa, Re = d2, Se = null;
              break;
            case "focusout":
              Se = Re = Qe = null;
              break;
            case "mousedown":
              Te = true;
              break;
            case "contextmenu":
            case "mouseup":
            case "dragend":
              Te = false;
              Ue(g3, c2, e3);
              break;
            case "selectionchange":
              if (Pe) break;
            case "keydown":
            case "keyup":
              Ue(g3, c2, e3);
          }
          var $a;
          if (ae) b: {
            switch (a2) {
              case "compositionstart":
                var ba = "onCompositionStart";
                break b;
              case "compositionend":
                ba = "onCompositionEnd";
                break b;
              case "compositionupdate":
                ba = "onCompositionUpdate";
                break b;
            }
            ba = void 0;
          }
          else ie ? ge(a2, c2) && (ba = "onCompositionEnd") : "keydown" === a2 && 229 === c2.keyCode && (ba = "onCompositionStart");
          ba && (de && "ko" !== c2.locale && (ie || "onCompositionStart" !== ba ? "onCompositionEnd" === ba && ie && ($a = nd()) : (kd = e3, ld = "value" in kd ? kd.value : kd.textContent, ie = true)), xa = oe(d2, ba), 0 < xa.length && (ba = new Ld(ba, a2, null, c2, e3), g3.push({ event: ba, listeners: xa }), $a ? ba.data = $a : ($a = he(c2), null !== $a && (ba.data = $a))));
          if ($a = ce ? je(a2, c2) : ke(a2, c2)) d2 = oe(d2, "onBeforeInput"), 0 < d2.length && (e3 = new Ld("onBeforeInput", "beforeinput", null, c2, e3), g3.push({ event: e3, listeners: d2 }), e3.data = $a);
        }
        se(g3, b);
      });
    }
    __name(hd, "hd");
    function tf(a2, b, c2) {
      return { instance: a2, listener: b, currentTarget: c2 };
    }
    __name(tf, "tf");
    function oe(a2, b) {
      for (var c2 = b + "Capture", d = []; null !== a2; ) {
        var e2 = a2, f3 = e2.stateNode;
        5 === e2.tag && null !== f3 && (e2 = f3, f3 = Kb(a2, c2), null != f3 && d.unshift(tf(a2, f3, e2)), f3 = Kb(a2, b), null != f3 && d.push(tf(a2, f3, e2)));
        a2 = a2.return;
      }
      return d;
    }
    __name(oe, "oe");
    function vf(a2) {
      if (null === a2) return null;
      do
        a2 = a2.return;
      while (a2 && 5 !== a2.tag);
      return a2 ? a2 : null;
    }
    __name(vf, "vf");
    function wf(a2, b, c2, d, e2) {
      for (var f3 = b._reactName, g2 = []; null !== c2 && c2 !== d; ) {
        var h2 = c2, k = h2.alternate, l = h2.stateNode;
        if (null !== k && k === d) break;
        5 === h2.tag && null !== l && (h2 = l, e2 ? (k = Kb(c2, f3), null != k && g2.unshift(tf(c2, k, h2))) : e2 || (k = Kb(c2, f3), null != k && g2.push(tf(c2, k, h2))));
        c2 = c2.return;
      }
      0 !== g2.length && a2.push({ event: b, listeners: g2 });
    }
    __name(wf, "wf");
    var xf = /\r\n?/g;
    var yf = /\u0000|\uFFFD/g;
    function zf(a2) {
      return ("string" === typeof a2 ? a2 : "" + a2).replace(xf, "\n").replace(yf, "");
    }
    __name(zf, "zf");
    function Af(a2, b, c2) {
      b = zf(b);
      if (zf(a2) !== b && c2) throw Error(p2(425));
    }
    __name(Af, "Af");
    function Bf() {
    }
    __name(Bf, "Bf");
    var Cf = null;
    var Df = null;
    function Ef(a2, b) {
      return "textarea" === a2 || "noscript" === a2 || "string" === typeof b.children || "number" === typeof b.children || "object" === typeof b.dangerouslySetInnerHTML && null !== b.dangerouslySetInnerHTML && null != b.dangerouslySetInnerHTML.__html;
    }
    __name(Ef, "Ef");
    var Ff = "function" === typeof setTimeout ? setTimeout : void 0;
    var Gf = "function" === typeof clearTimeout ? clearTimeout : void 0;
    var Hf = "function" === typeof Promise ? Promise : void 0;
    var Jf = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof Hf ? function(a2) {
      return Hf.resolve(null).then(a2).catch(If);
    } : Ff;
    function If(a2) {
      setTimeout(function() {
        throw a2;
      });
    }
    __name(If, "If");
    function Kf(a2, b) {
      var c2 = b, d = 0;
      do {
        var e2 = c2.nextSibling;
        a2.removeChild(c2);
        if (e2 && 8 === e2.nodeType) if (c2 = e2.data, "/$" === c2) {
          if (0 === d) {
            a2.removeChild(e2);
            bd(b);
            return;
          }
          d--;
        } else "$" !== c2 && "$?" !== c2 && "$!" !== c2 || d++;
        c2 = e2;
      } while (c2);
      bd(b);
    }
    __name(Kf, "Kf");
    function Lf(a2) {
      for (; null != a2; a2 = a2.nextSibling) {
        var b = a2.nodeType;
        if (1 === b || 3 === b) break;
        if (8 === b) {
          b = a2.data;
          if ("$" === b || "$!" === b || "$?" === b) break;
          if ("/$" === b) return null;
        }
      }
      return a2;
    }
    __name(Lf, "Lf");
    function Mf(a2) {
      a2 = a2.previousSibling;
      for (var b = 0; a2; ) {
        if (8 === a2.nodeType) {
          var c2 = a2.data;
          if ("$" === c2 || "$!" === c2 || "$?" === c2) {
            if (0 === b) return a2;
            b--;
          } else "/$" === c2 && b++;
        }
        a2 = a2.previousSibling;
      }
      return null;
    }
    __name(Mf, "Mf");
    var Nf = Math.random().toString(36).slice(2);
    var Of = "__reactFiber$" + Nf;
    var Pf = "__reactProps$" + Nf;
    var uf = "__reactContainer$" + Nf;
    var of = "__reactEvents$" + Nf;
    var Qf = "__reactListeners$" + Nf;
    var Rf = "__reactHandles$" + Nf;
    function Wc(a2) {
      var b = a2[Of];
      if (b) return b;
      for (var c2 = a2.parentNode; c2; ) {
        if (b = c2[uf] || c2[Of]) {
          c2 = b.alternate;
          if (null !== b.child || null !== c2 && null !== c2.child) for (a2 = Mf(a2); null !== a2; ) {
            if (c2 = a2[Of]) return c2;
            a2 = Mf(a2);
          }
          return b;
        }
        a2 = c2;
        c2 = a2.parentNode;
      }
      return null;
    }
    __name(Wc, "Wc");
    function Cb(a2) {
      a2 = a2[Of] || a2[uf];
      return !a2 || 5 !== a2.tag && 6 !== a2.tag && 13 !== a2.tag && 3 !== a2.tag ? null : a2;
    }
    __name(Cb, "Cb");
    function ue(a2) {
      if (5 === a2.tag || 6 === a2.tag) return a2.stateNode;
      throw Error(p2(33));
    }
    __name(ue, "ue");
    function Db(a2) {
      return a2[Pf] || null;
    }
    __name(Db, "Db");
    var Sf = [];
    var Tf = -1;
    function Uf(a2) {
      return { current: a2 };
    }
    __name(Uf, "Uf");
    function E(a2) {
      0 > Tf || (a2.current = Sf[Tf], Sf[Tf] = null, Tf--);
    }
    __name(E, "E");
    function G(a2, b) {
      Tf++;
      Sf[Tf] = a2.current;
      a2.current = b;
    }
    __name(G, "G");
    var Vf = {};
    var H = Uf(Vf);
    var Wf = Uf(false);
    var Xf = Vf;
    function Yf(a2, b) {
      var c2 = a2.type.contextTypes;
      if (!c2) return Vf;
      var d = a2.stateNode;
      if (d && d.__reactInternalMemoizedUnmaskedChildContext === b) return d.__reactInternalMemoizedMaskedChildContext;
      var e2 = {}, f3;
      for (f3 in c2) e2[f3] = b[f3];
      d && (a2 = a2.stateNode, a2.__reactInternalMemoizedUnmaskedChildContext = b, a2.__reactInternalMemoizedMaskedChildContext = e2);
      return e2;
    }
    __name(Yf, "Yf");
    function Zf(a2) {
      a2 = a2.childContextTypes;
      return null !== a2 && void 0 !== a2;
    }
    __name(Zf, "Zf");
    function $f() {
      E(Wf);
      E(H);
    }
    __name($f, "$f");
    function ag(a2, b, c2) {
      if (H.current !== Vf) throw Error(p2(168));
      G(H, b);
      G(Wf, c2);
    }
    __name(ag, "ag");
    function bg(a2, b, c2) {
      var d = a2.stateNode;
      b = b.childContextTypes;
      if ("function" !== typeof d.getChildContext) return c2;
      d = d.getChildContext();
      for (var e2 in d) if (!(e2 in b)) throw Error(p2(108, Ra(a2) || "Unknown", e2));
      return A3({}, c2, d);
    }
    __name(bg, "bg");
    function cg(a2) {
      a2 = (a2 = a2.stateNode) && a2.__reactInternalMemoizedMergedChildContext || Vf;
      Xf = H.current;
      G(H, a2);
      G(Wf, Wf.current);
      return true;
    }
    __name(cg, "cg");
    function dg(a2, b, c2) {
      var d = a2.stateNode;
      if (!d) throw Error(p2(169));
      c2 ? (a2 = bg(a2, b, Xf), d.__reactInternalMemoizedMergedChildContext = a2, E(Wf), E(H), G(H, a2)) : E(Wf);
      G(Wf, c2);
    }
    __name(dg, "dg");
    var eg = null;
    var fg = false;
    var gg = false;
    function hg(a2) {
      null === eg ? eg = [a2] : eg.push(a2);
    }
    __name(hg, "hg");
    function ig(a2) {
      fg = true;
      hg(a2);
    }
    __name(ig, "ig");
    function jg() {
      if (!gg && null !== eg) {
        gg = true;
        var a2 = 0, b = C2;
        try {
          var c2 = eg;
          for (C2 = 1; a2 < c2.length; a2++) {
            var d = c2[a2];
            do
              d = d(true);
            while (null !== d);
          }
          eg = null;
          fg = false;
        } catch (e2) {
          throw null !== eg && (eg = eg.slice(a2 + 1)), ac(fc, jg), e2;
        } finally {
          C2 = b, gg = false;
        }
      }
      return null;
    }
    __name(jg, "jg");
    var kg = [];
    var lg = 0;
    var mg = null;
    var ng = 0;
    var og = [];
    var pg = 0;
    var qg = null;
    var rg = 1;
    var sg = "";
    function tg(a2, b) {
      kg[lg++] = ng;
      kg[lg++] = mg;
      mg = a2;
      ng = b;
    }
    __name(tg, "tg");
    function ug(a2, b, c2) {
      og[pg++] = rg;
      og[pg++] = sg;
      og[pg++] = qg;
      qg = a2;
      var d = rg;
      a2 = sg;
      var e2 = 32 - oc(d) - 1;
      d &= ~(1 << e2);
      c2 += 1;
      var f3 = 32 - oc(b) + e2;
      if (30 < f3) {
        var g2 = e2 - e2 % 5;
        f3 = (d & (1 << g2) - 1).toString(32);
        d >>= g2;
        e2 -= g2;
        rg = 1 << 32 - oc(b) + e2 | c2 << e2 | d;
        sg = f3 + a2;
      } else rg = 1 << f3 | c2 << e2 | d, sg = a2;
    }
    __name(ug, "ug");
    function vg(a2) {
      null !== a2.return && (tg(a2, 1), ug(a2, 1, 0));
    }
    __name(vg, "vg");
    function wg(a2) {
      for (; a2 === mg; ) mg = kg[--lg], kg[lg] = null, ng = kg[--lg], kg[lg] = null;
      for (; a2 === qg; ) qg = og[--pg], og[pg] = null, sg = og[--pg], og[pg] = null, rg = og[--pg], og[pg] = null;
    }
    __name(wg, "wg");
    var xg = null;
    var yg = null;
    var I = false;
    var zg = null;
    function Ag(a2, b) {
      var c2 = Bg(5, null, null, 0);
      c2.elementType = "DELETED";
      c2.stateNode = b;
      c2.return = a2;
      b = a2.deletions;
      null === b ? (a2.deletions = [c2], a2.flags |= 16) : b.push(c2);
    }
    __name(Ag, "Ag");
    function Cg(a2, b) {
      switch (a2.tag) {
        case 5:
          var c2 = a2.type;
          b = 1 !== b.nodeType || c2.toLowerCase() !== b.nodeName.toLowerCase() ? null : b;
          return null !== b ? (a2.stateNode = b, xg = a2, yg = Lf(b.firstChild), true) : false;
        case 6:
          return b = "" === a2.pendingProps || 3 !== b.nodeType ? null : b, null !== b ? (a2.stateNode = b, xg = a2, yg = null, true) : false;
        case 13:
          return b = 8 !== b.nodeType ? null : b, null !== b ? (c2 = null !== qg ? { id: rg, overflow: sg } : null, a2.memoizedState = { dehydrated: b, treeContext: c2, retryLane: 1073741824 }, c2 = Bg(18, null, null, 0), c2.stateNode = b, c2.return = a2, a2.child = c2, xg = a2, yg = null, true) : false;
        default:
          return false;
      }
    }
    __name(Cg, "Cg");
    function Dg(a2) {
      return 0 !== (a2.mode & 1) && 0 === (a2.flags & 128);
    }
    __name(Dg, "Dg");
    function Eg(a2) {
      if (I) {
        var b = yg;
        if (b) {
          var c2 = b;
          if (!Cg(a2, b)) {
            if (Dg(a2)) throw Error(p2(418));
            b = Lf(c2.nextSibling);
            var d = xg;
            b && Cg(a2, b) ? Ag(d, c2) : (a2.flags = a2.flags & -4097 | 2, I = false, xg = a2);
          }
        } else {
          if (Dg(a2)) throw Error(p2(418));
          a2.flags = a2.flags & -4097 | 2;
          I = false;
          xg = a2;
        }
      }
    }
    __name(Eg, "Eg");
    function Fg(a2) {
      for (a2 = a2.return; null !== a2 && 5 !== a2.tag && 3 !== a2.tag && 13 !== a2.tag; ) a2 = a2.return;
      xg = a2;
    }
    __name(Fg, "Fg");
    function Gg(a2) {
      if (a2 !== xg) return false;
      if (!I) return Fg(a2), I = true, false;
      var b;
      (b = 3 !== a2.tag) && !(b = 5 !== a2.tag) && (b = a2.type, b = "head" !== b && "body" !== b && !Ef(a2.type, a2.memoizedProps));
      if (b && (b = yg)) {
        if (Dg(a2)) throw Hg(), Error(p2(418));
        for (; b; ) Ag(a2, b), b = Lf(b.nextSibling);
      }
      Fg(a2);
      if (13 === a2.tag) {
        a2 = a2.memoizedState;
        a2 = null !== a2 ? a2.dehydrated : null;
        if (!a2) throw Error(p2(317));
        a: {
          a2 = a2.nextSibling;
          for (b = 0; a2; ) {
            if (8 === a2.nodeType) {
              var c2 = a2.data;
              if ("/$" === c2) {
                if (0 === b) {
                  yg = Lf(a2.nextSibling);
                  break a;
                }
                b--;
              } else "$" !== c2 && "$!" !== c2 && "$?" !== c2 || b++;
            }
            a2 = a2.nextSibling;
          }
          yg = null;
        }
      } else yg = xg ? Lf(a2.stateNode.nextSibling) : null;
      return true;
    }
    __name(Gg, "Gg");
    function Hg() {
      for (var a2 = yg; a2; ) a2 = Lf(a2.nextSibling);
    }
    __name(Hg, "Hg");
    function Ig() {
      yg = xg = null;
      I = false;
    }
    __name(Ig, "Ig");
    function Jg(a2) {
      null === zg ? zg = [a2] : zg.push(a2);
    }
    __name(Jg, "Jg");
    var Kg = ua.ReactCurrentBatchConfig;
    function Lg(a2, b, c2) {
      a2 = c2.ref;
      if (null !== a2 && "function" !== typeof a2 && "object" !== typeof a2) {
        if (c2._owner) {
          c2 = c2._owner;
          if (c2) {
            if (1 !== c2.tag) throw Error(p2(309));
            var d = c2.stateNode;
          }
          if (!d) throw Error(p2(147, a2));
          var e2 = d, f3 = "" + a2;
          if (null !== b && null !== b.ref && "function" === typeof b.ref && b.ref._stringRef === f3) return b.ref;
          b = /* @__PURE__ */ __name(function(a3) {
            var b2 = e2.refs;
            null === a3 ? delete b2[f3] : b2[f3] = a3;
          }, "b");
          b._stringRef = f3;
          return b;
        }
        if ("string" !== typeof a2) throw Error(p2(284));
        if (!c2._owner) throw Error(p2(290, a2));
      }
      return a2;
    }
    __name(Lg, "Lg");
    function Mg(a2, b) {
      a2 = Object.prototype.toString.call(b);
      throw Error(p2(31, "[object Object]" === a2 ? "object with keys {" + Object.keys(b).join(", ") + "}" : a2));
    }
    __name(Mg, "Mg");
    function Ng(a2) {
      var b = a2._init;
      return b(a2._payload);
    }
    __name(Ng, "Ng");
    function Og(a2) {
      function b(b2, c3) {
        if (a2) {
          var d2 = b2.deletions;
          null === d2 ? (b2.deletions = [c3], b2.flags |= 16) : d2.push(c3);
        }
      }
      __name(b, "b");
      function c2(c3, d2) {
        if (!a2) return null;
        for (; null !== d2; ) b(c3, d2), d2 = d2.sibling;
        return null;
      }
      __name(c2, "c");
      function d(a3, b2) {
        for (a3 = /* @__PURE__ */ new Map(); null !== b2; ) null !== b2.key ? a3.set(b2.key, b2) : a3.set(b2.index, b2), b2 = b2.sibling;
        return a3;
      }
      __name(d, "d");
      function e2(a3, b2) {
        a3 = Pg(a3, b2);
        a3.index = 0;
        a3.sibling = null;
        return a3;
      }
      __name(e2, "e");
      function f3(b2, c3, d2) {
        b2.index = d2;
        if (!a2) return b2.flags |= 1048576, c3;
        d2 = b2.alternate;
        if (null !== d2) return d2 = d2.index, d2 < c3 ? (b2.flags |= 2, c3) : d2;
        b2.flags |= 2;
        return c3;
      }
      __name(f3, "f");
      function g2(b2) {
        a2 && null === b2.alternate && (b2.flags |= 2);
        return b2;
      }
      __name(g2, "g");
      function h2(a3, b2, c3, d2) {
        if (null === b2 || 6 !== b2.tag) return b2 = Qg(c3, a3.mode, d2), b2.return = a3, b2;
        b2 = e2(b2, c3);
        b2.return = a3;
        return b2;
      }
      __name(h2, "h");
      function k(a3, b2, c3, d2) {
        var f4 = c3.type;
        if (f4 === ya) return m3(a3, b2, c3.props.children, d2, c3.key);
        if (null !== b2 && (b2.elementType === f4 || "object" === typeof f4 && null !== f4 && f4.$$typeof === Ha && Ng(f4) === b2.type)) return d2 = e2(b2, c3.props), d2.ref = Lg(a3, b2, c3), d2.return = a3, d2;
        d2 = Rg(c3.type, c3.key, c3.props, null, a3.mode, d2);
        d2.ref = Lg(a3, b2, c3);
        d2.return = a3;
        return d2;
      }
      __name(k, "k");
      function l(a3, b2, c3, d2) {
        if (null === b2 || 4 !== b2.tag || b2.stateNode.containerInfo !== c3.containerInfo || b2.stateNode.implementation !== c3.implementation) return b2 = Sg(c3, a3.mode, d2), b2.return = a3, b2;
        b2 = e2(b2, c3.children || []);
        b2.return = a3;
        return b2;
      }
      __name(l, "l");
      function m3(a3, b2, c3, d2, f4) {
        if (null === b2 || 7 !== b2.tag) return b2 = Tg(c3, a3.mode, d2, f4), b2.return = a3, b2;
        b2 = e2(b2, c3);
        b2.return = a3;
        return b2;
      }
      __name(m3, "m");
      function q(a3, b2, c3) {
        if ("string" === typeof b2 && "" !== b2 || "number" === typeof b2) return b2 = Qg("" + b2, a3.mode, c3), b2.return = a3, b2;
        if ("object" === typeof b2 && null !== b2) {
          switch (b2.$$typeof) {
            case va:
              return c3 = Rg(b2.type, b2.key, b2.props, null, a3.mode, c3), c3.ref = Lg(a3, null, b2), c3.return = a3, c3;
            case wa:
              return b2 = Sg(b2, a3.mode, c3), b2.return = a3, b2;
            case Ha:
              var d2 = b2._init;
              return q(a3, d2(b2._payload), c3);
          }
          if (eb(b2) || Ka(b2)) return b2 = Tg(b2, a3.mode, c3, null), b2.return = a3, b2;
          Mg(a3, b2);
        }
        return null;
      }
      __name(q, "q");
      function r2(a3, b2, c3, d2) {
        var e3 = null !== b2 ? b2.key : null;
        if ("string" === typeof c3 && "" !== c3 || "number" === typeof c3) return null !== e3 ? null : h2(a3, b2, "" + c3, d2);
        if ("object" === typeof c3 && null !== c3) {
          switch (c3.$$typeof) {
            case va:
              return c3.key === e3 ? k(a3, b2, c3, d2) : null;
            case wa:
              return c3.key === e3 ? l(a3, b2, c3, d2) : null;
            case Ha:
              return e3 = c3._init, r2(
                a3,
                b2,
                e3(c3._payload),
                d2
              );
          }
          if (eb(c3) || Ka(c3)) return null !== e3 ? null : m3(a3, b2, c3, d2, null);
          Mg(a3, c3);
        }
        return null;
      }
      __name(r2, "r");
      function y(a3, b2, c3, d2, e3) {
        if ("string" === typeof d2 && "" !== d2 || "number" === typeof d2) return a3 = a3.get(c3) || null, h2(b2, a3, "" + d2, e3);
        if ("object" === typeof d2 && null !== d2) {
          switch (d2.$$typeof) {
            case va:
              return a3 = a3.get(null === d2.key ? c3 : d2.key) || null, k(b2, a3, d2, e3);
            case wa:
              return a3 = a3.get(null === d2.key ? c3 : d2.key) || null, l(b2, a3, d2, e3);
            case Ha:
              var f4 = d2._init;
              return y(a3, b2, c3, f4(d2._payload), e3);
          }
          if (eb(d2) || Ka(d2)) return a3 = a3.get(c3) || null, m3(b2, a3, d2, e3, null);
          Mg(b2, d2);
        }
        return null;
      }
      __name(y, "y");
      function n2(e3, g3, h3, k2) {
        for (var l2 = null, m4 = null, u2 = g3, w = g3 = 0, x = null; null !== u2 && w < h3.length; w++) {
          u2.index > w ? (x = u2, u2 = null) : x = u2.sibling;
          var n3 = r2(e3, u2, h3[w], k2);
          if (null === n3) {
            null === u2 && (u2 = x);
            break;
          }
          a2 && u2 && null === n3.alternate && b(e3, u2);
          g3 = f3(n3, g3, w);
          null === m4 ? l2 = n3 : m4.sibling = n3;
          m4 = n3;
          u2 = x;
        }
        if (w === h3.length) return c2(e3, u2), I && tg(e3, w), l2;
        if (null === u2) {
          for (; w < h3.length; w++) u2 = q(e3, h3[w], k2), null !== u2 && (g3 = f3(u2, g3, w), null === m4 ? l2 = u2 : m4.sibling = u2, m4 = u2);
          I && tg(e3, w);
          return l2;
        }
        for (u2 = d(e3, u2); w < h3.length; w++) x = y(u2, e3, w, h3[w], k2), null !== x && (a2 && null !== x.alternate && u2.delete(null === x.key ? w : x.key), g3 = f3(x, g3, w), null === m4 ? l2 = x : m4.sibling = x, m4 = x);
        a2 && u2.forEach(function(a3) {
          return b(e3, a3);
        });
        I && tg(e3, w);
        return l2;
      }
      __name(n2, "n");
      function t2(e3, g3, h3, k2) {
        var l2 = Ka(h3);
        if ("function" !== typeof l2) throw Error(p2(150));
        h3 = l2.call(h3);
        if (null == h3) throw Error(p2(151));
        for (var u2 = l2 = null, m4 = g3, w = g3 = 0, x = null, n3 = h3.next(); null !== m4 && !n3.done; w++, n3 = h3.next()) {
          m4.index > w ? (x = m4, m4 = null) : x = m4.sibling;
          var t3 = r2(e3, m4, n3.value, k2);
          if (null === t3) {
            null === m4 && (m4 = x);
            break;
          }
          a2 && m4 && null === t3.alternate && b(e3, m4);
          g3 = f3(t3, g3, w);
          null === u2 ? l2 = t3 : u2.sibling = t3;
          u2 = t3;
          m4 = x;
        }
        if (n3.done) return c2(
          e3,
          m4
        ), I && tg(e3, w), l2;
        if (null === m4) {
          for (; !n3.done; w++, n3 = h3.next()) n3 = q(e3, n3.value, k2), null !== n3 && (g3 = f3(n3, g3, w), null === u2 ? l2 = n3 : u2.sibling = n3, u2 = n3);
          I && tg(e3, w);
          return l2;
        }
        for (m4 = d(e3, m4); !n3.done; w++, n3 = h3.next()) n3 = y(m4, e3, w, n3.value, k2), null !== n3 && (a2 && null !== n3.alternate && m4.delete(null === n3.key ? w : n3.key), g3 = f3(n3, g3, w), null === u2 ? l2 = n3 : u2.sibling = n3, u2 = n3);
        a2 && m4.forEach(function(a3) {
          return b(e3, a3);
        });
        I && tg(e3, w);
        return l2;
      }
      __name(t2, "t");
      function J(a3, d2, f4, h3) {
        "object" === typeof f4 && null !== f4 && f4.type === ya && null === f4.key && (f4 = f4.props.children);
        if ("object" === typeof f4 && null !== f4) {
          switch (f4.$$typeof) {
            case va:
              a: {
                for (var k2 = f4.key, l2 = d2; null !== l2; ) {
                  if (l2.key === k2) {
                    k2 = f4.type;
                    if (k2 === ya) {
                      if (7 === l2.tag) {
                        c2(a3, l2.sibling);
                        d2 = e2(l2, f4.props.children);
                        d2.return = a3;
                        a3 = d2;
                        break a;
                      }
                    } else if (l2.elementType === k2 || "object" === typeof k2 && null !== k2 && k2.$$typeof === Ha && Ng(k2) === l2.type) {
                      c2(a3, l2.sibling);
                      d2 = e2(l2, f4.props);
                      d2.ref = Lg(a3, l2, f4);
                      d2.return = a3;
                      a3 = d2;
                      break a;
                    }
                    c2(a3, l2);
                    break;
                  } else b(a3, l2);
                  l2 = l2.sibling;
                }
                f4.type === ya ? (d2 = Tg(f4.props.children, a3.mode, h3, f4.key), d2.return = a3, a3 = d2) : (h3 = Rg(f4.type, f4.key, f4.props, null, a3.mode, h3), h3.ref = Lg(a3, d2, f4), h3.return = a3, a3 = h3);
              }
              return g2(a3);
            case wa:
              a: {
                for (l2 = f4.key; null !== d2; ) {
                  if (d2.key === l2) if (4 === d2.tag && d2.stateNode.containerInfo === f4.containerInfo && d2.stateNode.implementation === f4.implementation) {
                    c2(a3, d2.sibling);
                    d2 = e2(d2, f4.children || []);
                    d2.return = a3;
                    a3 = d2;
                    break a;
                  } else {
                    c2(a3, d2);
                    break;
                  }
                  else b(a3, d2);
                  d2 = d2.sibling;
                }
                d2 = Sg(f4, a3.mode, h3);
                d2.return = a3;
                a3 = d2;
              }
              return g2(a3);
            case Ha:
              return l2 = f4._init, J(a3, d2, l2(f4._payload), h3);
          }
          if (eb(f4)) return n2(a3, d2, f4, h3);
          if (Ka(f4)) return t2(a3, d2, f4, h3);
          Mg(a3, f4);
        }
        return "string" === typeof f4 && "" !== f4 || "number" === typeof f4 ? (f4 = "" + f4, null !== d2 && 6 === d2.tag ? (c2(a3, d2.sibling), d2 = e2(d2, f4), d2.return = a3, a3 = d2) : (c2(a3, d2), d2 = Qg(f4, a3.mode, h3), d2.return = a3, a3 = d2), g2(a3)) : c2(a3, d2);
      }
      __name(J, "J");
      return J;
    }
    __name(Og, "Og");
    var Ug = Og(true);
    var Vg = Og(false);
    var Wg = Uf(null);
    var Xg = null;
    var Yg = null;
    var Zg = null;
    function $g() {
      Zg = Yg = Xg = null;
    }
    __name($g, "$g");
    function ah(a2) {
      var b = Wg.current;
      E(Wg);
      a2._currentValue = b;
    }
    __name(ah, "ah");
    function bh(a2, b, c2) {
      for (; null !== a2; ) {
        var d = a2.alternate;
        (a2.childLanes & b) !== b ? (a2.childLanes |= b, null !== d && (d.childLanes |= b)) : null !== d && (d.childLanes & b) !== b && (d.childLanes |= b);
        if (a2 === c2) break;
        a2 = a2.return;
      }
    }
    __name(bh, "bh");
    function ch(a2, b) {
      Xg = a2;
      Zg = Yg = null;
      a2 = a2.dependencies;
      null !== a2 && null !== a2.firstContext && (0 !== (a2.lanes & b) && (dh = true), a2.firstContext = null);
    }
    __name(ch, "ch");
    function eh(a2) {
      var b = a2._currentValue;
      if (Zg !== a2) if (a2 = { context: a2, memoizedValue: b, next: null }, null === Yg) {
        if (null === Xg) throw Error(p2(308));
        Yg = a2;
        Xg.dependencies = { lanes: 0, firstContext: a2 };
      } else Yg = Yg.next = a2;
      return b;
    }
    __name(eh, "eh");
    var fh = null;
    function gh(a2) {
      null === fh ? fh = [a2] : fh.push(a2);
    }
    __name(gh, "gh");
    function hh(a2, b, c2, d) {
      var e2 = b.interleaved;
      null === e2 ? (c2.next = c2, gh(b)) : (c2.next = e2.next, e2.next = c2);
      b.interleaved = c2;
      return ih(a2, d);
    }
    __name(hh, "hh");
    function ih(a2, b) {
      a2.lanes |= b;
      var c2 = a2.alternate;
      null !== c2 && (c2.lanes |= b);
      c2 = a2;
      for (a2 = a2.return; null !== a2; ) a2.childLanes |= b, c2 = a2.alternate, null !== c2 && (c2.childLanes |= b), c2 = a2, a2 = a2.return;
      return 3 === c2.tag ? c2.stateNode : null;
    }
    __name(ih, "ih");
    var jh = false;
    function kh(a2) {
      a2.updateQueue = { baseState: a2.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null, interleaved: null, lanes: 0 }, effects: null };
    }
    __name(kh, "kh");
    function lh(a2, b) {
      a2 = a2.updateQueue;
      b.updateQueue === a2 && (b.updateQueue = { baseState: a2.baseState, firstBaseUpdate: a2.firstBaseUpdate, lastBaseUpdate: a2.lastBaseUpdate, shared: a2.shared, effects: a2.effects });
    }
    __name(lh, "lh");
    function mh(a2, b) {
      return { eventTime: a2, lane: b, tag: 0, payload: null, callback: null, next: null };
    }
    __name(mh, "mh");
    function nh(a2, b, c2) {
      var d = a2.updateQueue;
      if (null === d) return null;
      d = d.shared;
      if (0 !== (K2 & 2)) {
        var e2 = d.pending;
        null === e2 ? b.next = b : (b.next = e2.next, e2.next = b);
        d.pending = b;
        return ih(a2, c2);
      }
      e2 = d.interleaved;
      null === e2 ? (b.next = b, gh(d)) : (b.next = e2.next, e2.next = b);
      d.interleaved = b;
      return ih(a2, c2);
    }
    __name(nh, "nh");
    function oh(a2, b, c2) {
      b = b.updateQueue;
      if (null !== b && (b = b.shared, 0 !== (c2 & 4194240))) {
        var d = b.lanes;
        d &= a2.pendingLanes;
        c2 |= d;
        b.lanes = c2;
        Cc(a2, c2);
      }
    }
    __name(oh, "oh");
    function ph(a2, b) {
      var c2 = a2.updateQueue, d = a2.alternate;
      if (null !== d && (d = d.updateQueue, c2 === d)) {
        var e2 = null, f3 = null;
        c2 = c2.firstBaseUpdate;
        if (null !== c2) {
          do {
            var g2 = { eventTime: c2.eventTime, lane: c2.lane, tag: c2.tag, payload: c2.payload, callback: c2.callback, next: null };
            null === f3 ? e2 = f3 = g2 : f3 = f3.next = g2;
            c2 = c2.next;
          } while (null !== c2);
          null === f3 ? e2 = f3 = b : f3 = f3.next = b;
        } else e2 = f3 = b;
        c2 = { baseState: d.baseState, firstBaseUpdate: e2, lastBaseUpdate: f3, shared: d.shared, effects: d.effects };
        a2.updateQueue = c2;
        return;
      }
      a2 = c2.lastBaseUpdate;
      null === a2 ? c2.firstBaseUpdate = b : a2.next = b;
      c2.lastBaseUpdate = b;
    }
    __name(ph, "ph");
    function qh(a2, b, c2, d) {
      var e2 = a2.updateQueue;
      jh = false;
      var f3 = e2.firstBaseUpdate, g2 = e2.lastBaseUpdate, h2 = e2.shared.pending;
      if (null !== h2) {
        e2.shared.pending = null;
        var k = h2, l = k.next;
        k.next = null;
        null === g2 ? f3 = l : g2.next = l;
        g2 = k;
        var m3 = a2.alternate;
        null !== m3 && (m3 = m3.updateQueue, h2 = m3.lastBaseUpdate, h2 !== g2 && (null === h2 ? m3.firstBaseUpdate = l : h2.next = l, m3.lastBaseUpdate = k));
      }
      if (null !== f3) {
        var q = e2.baseState;
        g2 = 0;
        m3 = l = k = null;
        h2 = f3;
        do {
          var r2 = h2.lane, y = h2.eventTime;
          if ((d & r2) === r2) {
            null !== m3 && (m3 = m3.next = {
              eventTime: y,
              lane: 0,
              tag: h2.tag,
              payload: h2.payload,
              callback: h2.callback,
              next: null
            });
            a: {
              var n2 = a2, t2 = h2;
              r2 = b;
              y = c2;
              switch (t2.tag) {
                case 1:
                  n2 = t2.payload;
                  if ("function" === typeof n2) {
                    q = n2.call(y, q, r2);
                    break a;
                  }
                  q = n2;
                  break a;
                case 3:
                  n2.flags = n2.flags & -65537 | 128;
                case 0:
                  n2 = t2.payload;
                  r2 = "function" === typeof n2 ? n2.call(y, q, r2) : n2;
                  if (null === r2 || void 0 === r2) break a;
                  q = A3({}, q, r2);
                  break a;
                case 2:
                  jh = true;
              }
            }
            null !== h2.callback && 0 !== h2.lane && (a2.flags |= 64, r2 = e2.effects, null === r2 ? e2.effects = [h2] : r2.push(h2));
          } else y = { eventTime: y, lane: r2, tag: h2.tag, payload: h2.payload, callback: h2.callback, next: null }, null === m3 ? (l = m3 = y, k = q) : m3 = m3.next = y, g2 |= r2;
          h2 = h2.next;
          if (null === h2) if (h2 = e2.shared.pending, null === h2) break;
          else r2 = h2, h2 = r2.next, r2.next = null, e2.lastBaseUpdate = r2, e2.shared.pending = null;
        } while (1);
        null === m3 && (k = q);
        e2.baseState = k;
        e2.firstBaseUpdate = l;
        e2.lastBaseUpdate = m3;
        b = e2.shared.interleaved;
        if (null !== b) {
          e2 = b;
          do
            g2 |= e2.lane, e2 = e2.next;
          while (e2 !== b);
        } else null === f3 && (e2.shared.lanes = 0);
        rh |= g2;
        a2.lanes = g2;
        a2.memoizedState = q;
      }
    }
    __name(qh, "qh");
    function sh(a2, b, c2) {
      a2 = b.effects;
      b.effects = null;
      if (null !== a2) for (b = 0; b < a2.length; b++) {
        var d = a2[b], e2 = d.callback;
        if (null !== e2) {
          d.callback = null;
          d = c2;
          if ("function" !== typeof e2) throw Error(p2(191, e2));
          e2.call(d);
        }
      }
    }
    __name(sh, "sh");
    var th = {};
    var uh = Uf(th);
    var vh = Uf(th);
    var wh = Uf(th);
    function xh(a2) {
      if (a2 === th) throw Error(p2(174));
      return a2;
    }
    __name(xh, "xh");
    function yh(a2, b) {
      G(wh, b);
      G(vh, a2);
      G(uh, th);
      a2 = b.nodeType;
      switch (a2) {
        case 9:
        case 11:
          b = (b = b.documentElement) ? b.namespaceURI : lb(null, "");
          break;
        default:
          a2 = 8 === a2 ? b.parentNode : b, b = a2.namespaceURI || null, a2 = a2.tagName, b = lb(b, a2);
      }
      E(uh);
      G(uh, b);
    }
    __name(yh, "yh");
    function zh() {
      E(uh);
      E(vh);
      E(wh);
    }
    __name(zh, "zh");
    function Ah(a2) {
      xh(wh.current);
      var b = xh(uh.current);
      var c2 = lb(b, a2.type);
      b !== c2 && (G(vh, a2), G(uh, c2));
    }
    __name(Ah, "Ah");
    function Bh(a2) {
      vh.current === a2 && (E(uh), E(vh));
    }
    __name(Bh, "Bh");
    var L = Uf(0);
    function Ch(a2) {
      for (var b = a2; null !== b; ) {
        if (13 === b.tag) {
          var c2 = b.memoizedState;
          if (null !== c2 && (c2 = c2.dehydrated, null === c2 || "$?" === c2.data || "$!" === c2.data)) return b;
        } else if (19 === b.tag && void 0 !== b.memoizedProps.revealOrder) {
          if (0 !== (b.flags & 128)) return b;
        } else if (null !== b.child) {
          b.child.return = b;
          b = b.child;
          continue;
        }
        if (b === a2) break;
        for (; null === b.sibling; ) {
          if (null === b.return || b.return === a2) return null;
          b = b.return;
        }
        b.sibling.return = b.return;
        b = b.sibling;
      }
      return null;
    }
    __name(Ch, "Ch");
    var Dh = [];
    function Eh() {
      for (var a2 = 0; a2 < Dh.length; a2++) Dh[a2]._workInProgressVersionPrimary = null;
      Dh.length = 0;
    }
    __name(Eh, "Eh");
    var Fh = ua.ReactCurrentDispatcher;
    var Gh = ua.ReactCurrentBatchConfig;
    var Hh = 0;
    var M = null;
    var N = null;
    var O = null;
    var Ih = false;
    var Jh = false;
    var Kh = 0;
    var Lh = 0;
    function P3() {
      throw Error(p2(321));
    }
    __name(P3, "P");
    function Mh(a2, b) {
      if (null === b) return false;
      for (var c2 = 0; c2 < b.length && c2 < a2.length; c2++) if (!He(a2[c2], b[c2])) return false;
      return true;
    }
    __name(Mh, "Mh");
    function Nh(a2, b, c2, d, e2, f3) {
      Hh = f3;
      M = b;
      b.memoizedState = null;
      b.updateQueue = null;
      b.lanes = 0;
      Fh.current = null === a2 || null === a2.memoizedState ? Oh : Ph;
      a2 = c2(d, e2);
      if (Jh) {
        f3 = 0;
        do {
          Jh = false;
          Kh = 0;
          if (25 <= f3) throw Error(p2(301));
          f3 += 1;
          O = N = null;
          b.updateQueue = null;
          Fh.current = Qh;
          a2 = c2(d, e2);
        } while (Jh);
      }
      Fh.current = Rh;
      b = null !== N && null !== N.next;
      Hh = 0;
      O = N = M = null;
      Ih = false;
      if (b) throw Error(p2(300));
      return a2;
    }
    __name(Nh, "Nh");
    function Sh() {
      var a2 = 0 !== Kh;
      Kh = 0;
      return a2;
    }
    __name(Sh, "Sh");
    function Th() {
      var a2 = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null };
      null === O ? M.memoizedState = O = a2 : O = O.next = a2;
      return O;
    }
    __name(Th, "Th");
    function Uh() {
      if (null === N) {
        var a2 = M.alternate;
        a2 = null !== a2 ? a2.memoizedState : null;
      } else a2 = N.next;
      var b = null === O ? M.memoizedState : O.next;
      if (null !== b) O = b, N = a2;
      else {
        if (null === a2) throw Error(p2(310));
        N = a2;
        a2 = { memoizedState: N.memoizedState, baseState: N.baseState, baseQueue: N.baseQueue, queue: N.queue, next: null };
        null === O ? M.memoizedState = O = a2 : O = O.next = a2;
      }
      return O;
    }
    __name(Uh, "Uh");
    function Vh(a2, b) {
      return "function" === typeof b ? b(a2) : b;
    }
    __name(Vh, "Vh");
    function Wh(a2) {
      var b = Uh(), c2 = b.queue;
      if (null === c2) throw Error(p2(311));
      c2.lastRenderedReducer = a2;
      var d = N, e2 = d.baseQueue, f3 = c2.pending;
      if (null !== f3) {
        if (null !== e2) {
          var g2 = e2.next;
          e2.next = f3.next;
          f3.next = g2;
        }
        d.baseQueue = e2 = f3;
        c2.pending = null;
      }
      if (null !== e2) {
        f3 = e2.next;
        d = d.baseState;
        var h2 = g2 = null, k = null, l = f3;
        do {
          var m3 = l.lane;
          if ((Hh & m3) === m3) null !== k && (k = k.next = { lane: 0, action: l.action, hasEagerState: l.hasEagerState, eagerState: l.eagerState, next: null }), d = l.hasEagerState ? l.eagerState : a2(d, l.action);
          else {
            var q = {
              lane: m3,
              action: l.action,
              hasEagerState: l.hasEagerState,
              eagerState: l.eagerState,
              next: null
            };
            null === k ? (h2 = k = q, g2 = d) : k = k.next = q;
            M.lanes |= m3;
            rh |= m3;
          }
          l = l.next;
        } while (null !== l && l !== f3);
        null === k ? g2 = d : k.next = h2;
        He(d, b.memoizedState) || (dh = true);
        b.memoizedState = d;
        b.baseState = g2;
        b.baseQueue = k;
        c2.lastRenderedState = d;
      }
      a2 = c2.interleaved;
      if (null !== a2) {
        e2 = a2;
        do
          f3 = e2.lane, M.lanes |= f3, rh |= f3, e2 = e2.next;
        while (e2 !== a2);
      } else null === e2 && (c2.lanes = 0);
      return [b.memoizedState, c2.dispatch];
    }
    __name(Wh, "Wh");
    function Xh(a2) {
      var b = Uh(), c2 = b.queue;
      if (null === c2) throw Error(p2(311));
      c2.lastRenderedReducer = a2;
      var d = c2.dispatch, e2 = c2.pending, f3 = b.memoizedState;
      if (null !== e2) {
        c2.pending = null;
        var g2 = e2 = e2.next;
        do
          f3 = a2(f3, g2.action), g2 = g2.next;
        while (g2 !== e2);
        He(f3, b.memoizedState) || (dh = true);
        b.memoizedState = f3;
        null === b.baseQueue && (b.baseState = f3);
        c2.lastRenderedState = f3;
      }
      return [f3, d];
    }
    __name(Xh, "Xh");
    function Yh() {
    }
    __name(Yh, "Yh");
    function Zh(a2, b) {
      var c2 = M, d = Uh(), e2 = b(), f3 = !He(d.memoizedState, e2);
      f3 && (d.memoizedState = e2, dh = true);
      d = d.queue;
      $h(ai.bind(null, c2, d, a2), [a2]);
      if (d.getSnapshot !== b || f3 || null !== O && O.memoizedState.tag & 1) {
        c2.flags |= 2048;
        bi(9, ci.bind(null, c2, d, e2, b), void 0, null);
        if (null === Q) throw Error(p2(349));
        0 !== (Hh & 30) || di(c2, b, e2);
      }
      return e2;
    }
    __name(Zh, "Zh");
    function di(a2, b, c2) {
      a2.flags |= 16384;
      a2 = { getSnapshot: b, value: c2 };
      b = M.updateQueue;
      null === b ? (b = { lastEffect: null, stores: null }, M.updateQueue = b, b.stores = [a2]) : (c2 = b.stores, null === c2 ? b.stores = [a2] : c2.push(a2));
    }
    __name(di, "di");
    function ci(a2, b, c2, d) {
      b.value = c2;
      b.getSnapshot = d;
      ei(b) && fi(a2);
    }
    __name(ci, "ci");
    function ai(a2, b, c2) {
      return c2(function() {
        ei(b) && fi(a2);
      });
    }
    __name(ai, "ai");
    function ei(a2) {
      var b = a2.getSnapshot;
      a2 = a2.value;
      try {
        var c2 = b();
        return !He(a2, c2);
      } catch (d) {
        return true;
      }
    }
    __name(ei, "ei");
    function fi(a2) {
      var b = ih(a2, 1);
      null !== b && gi(b, a2, 1, -1);
    }
    __name(fi, "fi");
    function hi(a2) {
      var b = Th();
      "function" === typeof a2 && (a2 = a2());
      b.memoizedState = b.baseState = a2;
      a2 = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: Vh, lastRenderedState: a2 };
      b.queue = a2;
      a2 = a2.dispatch = ii.bind(null, M, a2);
      return [b.memoizedState, a2];
    }
    __name(hi, "hi");
    function bi(a2, b, c2, d) {
      a2 = { tag: a2, create: b, destroy: c2, deps: d, next: null };
      b = M.updateQueue;
      null === b ? (b = { lastEffect: null, stores: null }, M.updateQueue = b, b.lastEffect = a2.next = a2) : (c2 = b.lastEffect, null === c2 ? b.lastEffect = a2.next = a2 : (d = c2.next, c2.next = a2, a2.next = d, b.lastEffect = a2));
      return a2;
    }
    __name(bi, "bi");
    function ji() {
      return Uh().memoizedState;
    }
    __name(ji, "ji");
    function ki(a2, b, c2, d) {
      var e2 = Th();
      M.flags |= a2;
      e2.memoizedState = bi(1 | b, c2, void 0, void 0 === d ? null : d);
    }
    __name(ki, "ki");
    function li(a2, b, c2, d) {
      var e2 = Uh();
      d = void 0 === d ? null : d;
      var f3 = void 0;
      if (null !== N) {
        var g2 = N.memoizedState;
        f3 = g2.destroy;
        if (null !== d && Mh(d, g2.deps)) {
          e2.memoizedState = bi(b, c2, f3, d);
          return;
        }
      }
      M.flags |= a2;
      e2.memoizedState = bi(1 | b, c2, f3, d);
    }
    __name(li, "li");
    function mi(a2, b) {
      return ki(8390656, 8, a2, b);
    }
    __name(mi, "mi");
    function $h(a2, b) {
      return li(2048, 8, a2, b);
    }
    __name($h, "$h");
    function ni(a2, b) {
      return li(4, 2, a2, b);
    }
    __name(ni, "ni");
    function oi(a2, b) {
      return li(4, 4, a2, b);
    }
    __name(oi, "oi");
    function pi(a2, b) {
      if ("function" === typeof b) return a2 = a2(), b(a2), function() {
        b(null);
      };
      if (null !== b && void 0 !== b) return a2 = a2(), b.current = a2, function() {
        b.current = null;
      };
    }
    __name(pi, "pi");
    function qi(a2, b, c2) {
      c2 = null !== c2 && void 0 !== c2 ? c2.concat([a2]) : null;
      return li(4, 4, pi.bind(null, b, a2), c2);
    }
    __name(qi, "qi");
    function ri() {
    }
    __name(ri, "ri");
    function si(a2, b) {
      var c2 = Uh();
      b = void 0 === b ? null : b;
      var d = c2.memoizedState;
      if (null !== d && null !== b && Mh(b, d[1])) return d[0];
      c2.memoizedState = [a2, b];
      return a2;
    }
    __name(si, "si");
    function ti(a2, b) {
      var c2 = Uh();
      b = void 0 === b ? null : b;
      var d = c2.memoizedState;
      if (null !== d && null !== b && Mh(b, d[1])) return d[0];
      a2 = a2();
      c2.memoizedState = [a2, b];
      return a2;
    }
    __name(ti, "ti");
    function ui(a2, b, c2) {
      if (0 === (Hh & 21)) return a2.baseState && (a2.baseState = false, dh = true), a2.memoizedState = c2;
      He(c2, b) || (c2 = yc(), M.lanes |= c2, rh |= c2, a2.baseState = true);
      return b;
    }
    __name(ui, "ui");
    function vi(a2, b) {
      var c2 = C2;
      C2 = 0 !== c2 && 4 > c2 ? c2 : 4;
      a2(true);
      var d = Gh.transition;
      Gh.transition = {};
      try {
        a2(false), b();
      } finally {
        C2 = c2, Gh.transition = d;
      }
    }
    __name(vi, "vi");
    function wi() {
      return Uh().memoizedState;
    }
    __name(wi, "wi");
    function xi(a2, b, c2) {
      var d = yi(a2);
      c2 = { lane: d, action: c2, hasEagerState: false, eagerState: null, next: null };
      if (zi(a2)) Ai(b, c2);
      else if (c2 = hh(a2, b, c2, d), null !== c2) {
        var e2 = R();
        gi(c2, a2, d, e2);
        Bi(c2, b, d);
      }
    }
    __name(xi, "xi");
    function ii(a2, b, c2) {
      var d = yi(a2), e2 = { lane: d, action: c2, hasEagerState: false, eagerState: null, next: null };
      if (zi(a2)) Ai(b, e2);
      else {
        var f3 = a2.alternate;
        if (0 === a2.lanes && (null === f3 || 0 === f3.lanes) && (f3 = b.lastRenderedReducer, null !== f3)) try {
          var g2 = b.lastRenderedState, h2 = f3(g2, c2);
          e2.hasEagerState = true;
          e2.eagerState = h2;
          if (He(h2, g2)) {
            var k = b.interleaved;
            null === k ? (e2.next = e2, gh(b)) : (e2.next = k.next, k.next = e2);
            b.interleaved = e2;
            return;
          }
        } catch (l) {
        } finally {
        }
        c2 = hh(a2, b, e2, d);
        null !== c2 && (e2 = R(), gi(c2, a2, d, e2), Bi(c2, b, d));
      }
    }
    __name(ii, "ii");
    function zi(a2) {
      var b = a2.alternate;
      return a2 === M || null !== b && b === M;
    }
    __name(zi, "zi");
    function Ai(a2, b) {
      Jh = Ih = true;
      var c2 = a2.pending;
      null === c2 ? b.next = b : (b.next = c2.next, c2.next = b);
      a2.pending = b;
    }
    __name(Ai, "Ai");
    function Bi(a2, b, c2) {
      if (0 !== (c2 & 4194240)) {
        var d = b.lanes;
        d &= a2.pendingLanes;
        c2 |= d;
        b.lanes = c2;
        Cc(a2, c2);
      }
    }
    __name(Bi, "Bi");
    var Rh = { readContext: eh, useCallback: P3, useContext: P3, useEffect: P3, useImperativeHandle: P3, useInsertionEffect: P3, useLayoutEffect: P3, useMemo: P3, useReducer: P3, useRef: P3, useState: P3, useDebugValue: P3, useDeferredValue: P3, useTransition: P3, useMutableSource: P3, useSyncExternalStore: P3, useId: P3, unstable_isNewReconciler: false };
    var Oh = { readContext: eh, useCallback: /* @__PURE__ */ __name(function(a2, b) {
      Th().memoizedState = [a2, void 0 === b ? null : b];
      return a2;
    }, "useCallback"), useContext: eh, useEffect: mi, useImperativeHandle: /* @__PURE__ */ __name(function(a2, b, c2) {
      c2 = null !== c2 && void 0 !== c2 ? c2.concat([a2]) : null;
      return ki(
        4194308,
        4,
        pi.bind(null, b, a2),
        c2
      );
    }, "useImperativeHandle"), useLayoutEffect: /* @__PURE__ */ __name(function(a2, b) {
      return ki(4194308, 4, a2, b);
    }, "useLayoutEffect"), useInsertionEffect: /* @__PURE__ */ __name(function(a2, b) {
      return ki(4, 2, a2, b);
    }, "useInsertionEffect"), useMemo: /* @__PURE__ */ __name(function(a2, b) {
      var c2 = Th();
      b = void 0 === b ? null : b;
      a2 = a2();
      c2.memoizedState = [a2, b];
      return a2;
    }, "useMemo"), useReducer: /* @__PURE__ */ __name(function(a2, b, c2) {
      var d = Th();
      b = void 0 !== c2 ? c2(b) : b;
      d.memoizedState = d.baseState = b;
      a2 = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: a2, lastRenderedState: b };
      d.queue = a2;
      a2 = a2.dispatch = xi.bind(null, M, a2);
      return [d.memoizedState, a2];
    }, "useReducer"), useRef: /* @__PURE__ */ __name(function(a2) {
      var b = Th();
      a2 = { current: a2 };
      return b.memoizedState = a2;
    }, "useRef"), useState: hi, useDebugValue: ri, useDeferredValue: /* @__PURE__ */ __name(function(a2) {
      return Th().memoizedState = a2;
    }, "useDeferredValue"), useTransition: /* @__PURE__ */ __name(function() {
      var a2 = hi(false), b = a2[0];
      a2 = vi.bind(null, a2[1]);
      Th().memoizedState = a2;
      return [b, a2];
    }, "useTransition"), useMutableSource: /* @__PURE__ */ __name(function() {
    }, "useMutableSource"), useSyncExternalStore: /* @__PURE__ */ __name(function(a2, b, c2) {
      var d = M, e2 = Th();
      if (I) {
        if (void 0 === c2) throw Error(p2(407));
        c2 = c2();
      } else {
        c2 = b();
        if (null === Q) throw Error(p2(349));
        0 !== (Hh & 30) || di(d, b, c2);
      }
      e2.memoizedState = c2;
      var f3 = { value: c2, getSnapshot: b };
      e2.queue = f3;
      mi(ai.bind(
        null,
        d,
        f3,
        a2
      ), [a2]);
      d.flags |= 2048;
      bi(9, ci.bind(null, d, f3, c2, b), void 0, null);
      return c2;
    }, "useSyncExternalStore"), useId: /* @__PURE__ */ __name(function() {
      var a2 = Th(), b = Q.identifierPrefix;
      if (I) {
        var c2 = sg;
        var d = rg;
        c2 = (d & ~(1 << 32 - oc(d) - 1)).toString(32) + c2;
        b = ":" + b + "R" + c2;
        c2 = Kh++;
        0 < c2 && (b += "H" + c2.toString(32));
        b += ":";
      } else c2 = Lh++, b = ":" + b + "r" + c2.toString(32) + ":";
      return a2.memoizedState = b;
    }, "useId"), unstable_isNewReconciler: false };
    var Ph = {
      readContext: eh,
      useCallback: si,
      useContext: eh,
      useEffect: $h,
      useImperativeHandle: qi,
      useInsertionEffect: ni,
      useLayoutEffect: oi,
      useMemo: ti,
      useReducer: Wh,
      useRef: ji,
      useState: /* @__PURE__ */ __name(function() {
        return Wh(Vh);
      }, "useState"),
      useDebugValue: ri,
      useDeferredValue: /* @__PURE__ */ __name(function(a2) {
        var b = Uh();
        return ui(b, N.memoizedState, a2);
      }, "useDeferredValue"),
      useTransition: /* @__PURE__ */ __name(function() {
        var a2 = Wh(Vh)[0], b = Uh().memoizedState;
        return [a2, b];
      }, "useTransition"),
      useMutableSource: Yh,
      useSyncExternalStore: Zh,
      useId: wi,
      unstable_isNewReconciler: false
    };
    var Qh = { readContext: eh, useCallback: si, useContext: eh, useEffect: $h, useImperativeHandle: qi, useInsertionEffect: ni, useLayoutEffect: oi, useMemo: ti, useReducer: Xh, useRef: ji, useState: /* @__PURE__ */ __name(function() {
      return Xh(Vh);
    }, "useState"), useDebugValue: ri, useDeferredValue: /* @__PURE__ */ __name(function(a2) {
      var b = Uh();
      return null === N ? b.memoizedState = a2 : ui(b, N.memoizedState, a2);
    }, "useDeferredValue"), useTransition: /* @__PURE__ */ __name(function() {
      var a2 = Xh(Vh)[0], b = Uh().memoizedState;
      return [a2, b];
    }, "useTransition"), useMutableSource: Yh, useSyncExternalStore: Zh, useId: wi, unstable_isNewReconciler: false };
    function Ci(a2, b) {
      if (a2 && a2.defaultProps) {
        b = A3({}, b);
        a2 = a2.defaultProps;
        for (var c2 in a2) void 0 === b[c2] && (b[c2] = a2[c2]);
        return b;
      }
      return b;
    }
    __name(Ci, "Ci");
    function Di(a2, b, c2, d) {
      b = a2.memoizedState;
      c2 = c2(d, b);
      c2 = null === c2 || void 0 === c2 ? b : A3({}, b, c2);
      a2.memoizedState = c2;
      0 === a2.lanes && (a2.updateQueue.baseState = c2);
    }
    __name(Di, "Di");
    var Ei = { isMounted: /* @__PURE__ */ __name(function(a2) {
      return (a2 = a2._reactInternals) ? Vb(a2) === a2 : false;
    }, "isMounted"), enqueueSetState: /* @__PURE__ */ __name(function(a2, b, c2) {
      a2 = a2._reactInternals;
      var d = R(), e2 = yi(a2), f3 = mh(d, e2);
      f3.payload = b;
      void 0 !== c2 && null !== c2 && (f3.callback = c2);
      b = nh(a2, f3, e2);
      null !== b && (gi(b, a2, e2, d), oh(b, a2, e2));
    }, "enqueueSetState"), enqueueReplaceState: /* @__PURE__ */ __name(function(a2, b, c2) {
      a2 = a2._reactInternals;
      var d = R(), e2 = yi(a2), f3 = mh(d, e2);
      f3.tag = 1;
      f3.payload = b;
      void 0 !== c2 && null !== c2 && (f3.callback = c2);
      b = nh(a2, f3, e2);
      null !== b && (gi(b, a2, e2, d), oh(b, a2, e2));
    }, "enqueueReplaceState"), enqueueForceUpdate: /* @__PURE__ */ __name(function(a2, b) {
      a2 = a2._reactInternals;
      var c2 = R(), d = yi(a2), e2 = mh(c2, d);
      e2.tag = 2;
      void 0 !== b && null !== b && (e2.callback = b);
      b = nh(a2, e2, d);
      null !== b && (gi(b, a2, d, c2), oh(b, a2, d));
    }, "enqueueForceUpdate") };
    function Fi(a2, b, c2, d, e2, f3, g2) {
      a2 = a2.stateNode;
      return "function" === typeof a2.shouldComponentUpdate ? a2.shouldComponentUpdate(d, f3, g2) : b.prototype && b.prototype.isPureReactComponent ? !Ie(c2, d) || !Ie(e2, f3) : true;
    }
    __name(Fi, "Fi");
    function Gi(a2, b, c2) {
      var d = false, e2 = Vf;
      var f3 = b.contextType;
      "object" === typeof f3 && null !== f3 ? f3 = eh(f3) : (e2 = Zf(b) ? Xf : H.current, d = b.contextTypes, f3 = (d = null !== d && void 0 !== d) ? Yf(a2, e2) : Vf);
      b = new b(c2, f3);
      a2.memoizedState = null !== b.state && void 0 !== b.state ? b.state : null;
      b.updater = Ei;
      a2.stateNode = b;
      b._reactInternals = a2;
      d && (a2 = a2.stateNode, a2.__reactInternalMemoizedUnmaskedChildContext = e2, a2.__reactInternalMemoizedMaskedChildContext = f3);
      return b;
    }
    __name(Gi, "Gi");
    function Hi(a2, b, c2, d) {
      a2 = b.state;
      "function" === typeof b.componentWillReceiveProps && b.componentWillReceiveProps(c2, d);
      "function" === typeof b.UNSAFE_componentWillReceiveProps && b.UNSAFE_componentWillReceiveProps(c2, d);
      b.state !== a2 && Ei.enqueueReplaceState(b, b.state, null);
    }
    __name(Hi, "Hi");
    function Ii(a2, b, c2, d) {
      var e2 = a2.stateNode;
      e2.props = c2;
      e2.state = a2.memoizedState;
      e2.refs = {};
      kh(a2);
      var f3 = b.contextType;
      "object" === typeof f3 && null !== f3 ? e2.context = eh(f3) : (f3 = Zf(b) ? Xf : H.current, e2.context = Yf(a2, f3));
      e2.state = a2.memoizedState;
      f3 = b.getDerivedStateFromProps;
      "function" === typeof f3 && (Di(a2, b, f3, c2), e2.state = a2.memoizedState);
      "function" === typeof b.getDerivedStateFromProps || "function" === typeof e2.getSnapshotBeforeUpdate || "function" !== typeof e2.UNSAFE_componentWillMount && "function" !== typeof e2.componentWillMount || (b = e2.state, "function" === typeof e2.componentWillMount && e2.componentWillMount(), "function" === typeof e2.UNSAFE_componentWillMount && e2.UNSAFE_componentWillMount(), b !== e2.state && Ei.enqueueReplaceState(e2, e2.state, null), qh(a2, c2, e2, d), e2.state = a2.memoizedState);
      "function" === typeof e2.componentDidMount && (a2.flags |= 4194308);
    }
    __name(Ii, "Ii");
    function Ji(a2, b) {
      try {
        var c2 = "", d = b;
        do
          c2 += Pa(d), d = d.return;
        while (d);
        var e2 = c2;
      } catch (f3) {
        e2 = "\nError generating stack: " + f3.message + "\n" + f3.stack;
      }
      return { value: a2, source: b, stack: e2, digest: null };
    }
    __name(Ji, "Ji");
    function Ki(a2, b, c2) {
      return { value: a2, source: null, stack: null != c2 ? c2 : null, digest: null != b ? b : null };
    }
    __name(Ki, "Ki");
    function Li(a2, b) {
      try {
        console.error(b.value);
      } catch (c2) {
        setTimeout(function() {
          throw c2;
        });
      }
    }
    __name(Li, "Li");
    var Mi = "function" === typeof WeakMap ? WeakMap : Map;
    function Ni(a2, b, c2) {
      c2 = mh(-1, c2);
      c2.tag = 3;
      c2.payload = { element: null };
      var d = b.value;
      c2.callback = function() {
        Oi || (Oi = true, Pi = d);
        Li(a2, b);
      };
      return c2;
    }
    __name(Ni, "Ni");
    function Qi(a2, b, c2) {
      c2 = mh(-1, c2);
      c2.tag = 3;
      var d = a2.type.getDerivedStateFromError;
      if ("function" === typeof d) {
        var e2 = b.value;
        c2.payload = function() {
          return d(e2);
        };
        c2.callback = function() {
          Li(a2, b);
        };
      }
      var f3 = a2.stateNode;
      null !== f3 && "function" === typeof f3.componentDidCatch && (c2.callback = function() {
        Li(a2, b);
        "function" !== typeof d && (null === Ri ? Ri = /* @__PURE__ */ new Set([this]) : Ri.add(this));
        var c3 = b.stack;
        this.componentDidCatch(b.value, { componentStack: null !== c3 ? c3 : "" });
      });
      return c2;
    }
    __name(Qi, "Qi");
    function Si(a2, b, c2) {
      var d = a2.pingCache;
      if (null === d) {
        d = a2.pingCache = new Mi();
        var e2 = /* @__PURE__ */ new Set();
        d.set(b, e2);
      } else e2 = d.get(b), void 0 === e2 && (e2 = /* @__PURE__ */ new Set(), d.set(b, e2));
      e2.has(c2) || (e2.add(c2), a2 = Ti.bind(null, a2, b, c2), b.then(a2, a2));
    }
    __name(Si, "Si");
    function Ui(a2) {
      do {
        var b;
        if (b = 13 === a2.tag) b = a2.memoizedState, b = null !== b ? null !== b.dehydrated ? true : false : true;
        if (b) return a2;
        a2 = a2.return;
      } while (null !== a2);
      return null;
    }
    __name(Ui, "Ui");
    function Vi(a2, b, c2, d, e2) {
      if (0 === (a2.mode & 1)) return a2 === b ? a2.flags |= 65536 : (a2.flags |= 128, c2.flags |= 131072, c2.flags &= -52805, 1 === c2.tag && (null === c2.alternate ? c2.tag = 17 : (b = mh(-1, 1), b.tag = 2, nh(c2, b, 1))), c2.lanes |= 1), a2;
      a2.flags |= 65536;
      a2.lanes = e2;
      return a2;
    }
    __name(Vi, "Vi");
    var Wi = ua.ReactCurrentOwner;
    var dh = false;
    function Xi(a2, b, c2, d) {
      b.child = null === a2 ? Vg(b, null, c2, d) : Ug(b, a2.child, c2, d);
    }
    __name(Xi, "Xi");
    function Yi(a2, b, c2, d, e2) {
      c2 = c2.render;
      var f3 = b.ref;
      ch(b, e2);
      d = Nh(a2, b, c2, d, f3, e2);
      c2 = Sh();
      if (null !== a2 && !dh) return b.updateQueue = a2.updateQueue, b.flags &= -2053, a2.lanes &= ~e2, Zi(a2, b, e2);
      I && c2 && vg(b);
      b.flags |= 1;
      Xi(a2, b, d, e2);
      return b.child;
    }
    __name(Yi, "Yi");
    function $i(a2, b, c2, d, e2) {
      if (null === a2) {
        var f3 = c2.type;
        if ("function" === typeof f3 && !aj(f3) && void 0 === f3.defaultProps && null === c2.compare && void 0 === c2.defaultProps) return b.tag = 15, b.type = f3, bj(a2, b, f3, d, e2);
        a2 = Rg(c2.type, null, d, b, b.mode, e2);
        a2.ref = b.ref;
        a2.return = b;
        return b.child = a2;
      }
      f3 = a2.child;
      if (0 === (a2.lanes & e2)) {
        var g2 = f3.memoizedProps;
        c2 = c2.compare;
        c2 = null !== c2 ? c2 : Ie;
        if (c2(g2, d) && a2.ref === b.ref) return Zi(a2, b, e2);
      }
      b.flags |= 1;
      a2 = Pg(f3, d);
      a2.ref = b.ref;
      a2.return = b;
      return b.child = a2;
    }
    __name($i, "$i");
    function bj(a2, b, c2, d, e2) {
      if (null !== a2) {
        var f3 = a2.memoizedProps;
        if (Ie(f3, d) && a2.ref === b.ref) if (dh = false, b.pendingProps = d = f3, 0 !== (a2.lanes & e2)) 0 !== (a2.flags & 131072) && (dh = true);
        else return b.lanes = a2.lanes, Zi(a2, b, e2);
      }
      return cj(a2, b, c2, d, e2);
    }
    __name(bj, "bj");
    function dj(a2, b, c2) {
      var d = b.pendingProps, e2 = d.children, f3 = null !== a2 ? a2.memoizedState : null;
      if ("hidden" === d.mode) if (0 === (b.mode & 1)) b.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, G(ej, fj), fj |= c2;
      else {
        if (0 === (c2 & 1073741824)) return a2 = null !== f3 ? f3.baseLanes | c2 : c2, b.lanes = b.childLanes = 1073741824, b.memoizedState = { baseLanes: a2, cachePool: null, transitions: null }, b.updateQueue = null, G(ej, fj), fj |= a2, null;
        b.memoizedState = { baseLanes: 0, cachePool: null, transitions: null };
        d = null !== f3 ? f3.baseLanes : c2;
        G(ej, fj);
        fj |= d;
      }
      else null !== f3 ? (d = f3.baseLanes | c2, b.memoizedState = null) : d = c2, G(ej, fj), fj |= d;
      Xi(a2, b, e2, c2);
      return b.child;
    }
    __name(dj, "dj");
    function gj(a2, b) {
      var c2 = b.ref;
      if (null === a2 && null !== c2 || null !== a2 && a2.ref !== c2) b.flags |= 512, b.flags |= 2097152;
    }
    __name(gj, "gj");
    function cj(a2, b, c2, d, e2) {
      var f3 = Zf(c2) ? Xf : H.current;
      f3 = Yf(b, f3);
      ch(b, e2);
      c2 = Nh(a2, b, c2, d, f3, e2);
      d = Sh();
      if (null !== a2 && !dh) return b.updateQueue = a2.updateQueue, b.flags &= -2053, a2.lanes &= ~e2, Zi(a2, b, e2);
      I && d && vg(b);
      b.flags |= 1;
      Xi(a2, b, c2, e2);
      return b.child;
    }
    __name(cj, "cj");
    function hj(a2, b, c2, d, e2) {
      if (Zf(c2)) {
        var f3 = true;
        cg(b);
      } else f3 = false;
      ch(b, e2);
      if (null === b.stateNode) ij(a2, b), Gi(b, c2, d), Ii(b, c2, d, e2), d = true;
      else if (null === a2) {
        var g2 = b.stateNode, h2 = b.memoizedProps;
        g2.props = h2;
        var k = g2.context, l = c2.contextType;
        "object" === typeof l && null !== l ? l = eh(l) : (l = Zf(c2) ? Xf : H.current, l = Yf(b, l));
        var m3 = c2.getDerivedStateFromProps, q = "function" === typeof m3 || "function" === typeof g2.getSnapshotBeforeUpdate;
        q || "function" !== typeof g2.UNSAFE_componentWillReceiveProps && "function" !== typeof g2.componentWillReceiveProps || (h2 !== d || k !== l) && Hi(b, g2, d, l);
        jh = false;
        var r2 = b.memoizedState;
        g2.state = r2;
        qh(b, d, g2, e2);
        k = b.memoizedState;
        h2 !== d || r2 !== k || Wf.current || jh ? ("function" === typeof m3 && (Di(b, c2, m3, d), k = b.memoizedState), (h2 = jh || Fi(b, c2, h2, d, r2, k, l)) ? (q || "function" !== typeof g2.UNSAFE_componentWillMount && "function" !== typeof g2.componentWillMount || ("function" === typeof g2.componentWillMount && g2.componentWillMount(), "function" === typeof g2.UNSAFE_componentWillMount && g2.UNSAFE_componentWillMount()), "function" === typeof g2.componentDidMount && (b.flags |= 4194308)) : ("function" === typeof g2.componentDidMount && (b.flags |= 4194308), b.memoizedProps = d, b.memoizedState = k), g2.props = d, g2.state = k, g2.context = l, d = h2) : ("function" === typeof g2.componentDidMount && (b.flags |= 4194308), d = false);
      } else {
        g2 = b.stateNode;
        lh(a2, b);
        h2 = b.memoizedProps;
        l = b.type === b.elementType ? h2 : Ci(b.type, h2);
        g2.props = l;
        q = b.pendingProps;
        r2 = g2.context;
        k = c2.contextType;
        "object" === typeof k && null !== k ? k = eh(k) : (k = Zf(c2) ? Xf : H.current, k = Yf(b, k));
        var y = c2.getDerivedStateFromProps;
        (m3 = "function" === typeof y || "function" === typeof g2.getSnapshotBeforeUpdate) || "function" !== typeof g2.UNSAFE_componentWillReceiveProps && "function" !== typeof g2.componentWillReceiveProps || (h2 !== q || r2 !== k) && Hi(b, g2, d, k);
        jh = false;
        r2 = b.memoizedState;
        g2.state = r2;
        qh(b, d, g2, e2);
        var n2 = b.memoizedState;
        h2 !== q || r2 !== n2 || Wf.current || jh ? ("function" === typeof y && (Di(b, c2, y, d), n2 = b.memoizedState), (l = jh || Fi(b, c2, l, d, r2, n2, k) || false) ? (m3 || "function" !== typeof g2.UNSAFE_componentWillUpdate && "function" !== typeof g2.componentWillUpdate || ("function" === typeof g2.componentWillUpdate && g2.componentWillUpdate(d, n2, k), "function" === typeof g2.UNSAFE_componentWillUpdate && g2.UNSAFE_componentWillUpdate(d, n2, k)), "function" === typeof g2.componentDidUpdate && (b.flags |= 4), "function" === typeof g2.getSnapshotBeforeUpdate && (b.flags |= 1024)) : ("function" !== typeof g2.componentDidUpdate || h2 === a2.memoizedProps && r2 === a2.memoizedState || (b.flags |= 4), "function" !== typeof g2.getSnapshotBeforeUpdate || h2 === a2.memoizedProps && r2 === a2.memoizedState || (b.flags |= 1024), b.memoizedProps = d, b.memoizedState = n2), g2.props = d, g2.state = n2, g2.context = k, d = l) : ("function" !== typeof g2.componentDidUpdate || h2 === a2.memoizedProps && r2 === a2.memoizedState || (b.flags |= 4), "function" !== typeof g2.getSnapshotBeforeUpdate || h2 === a2.memoizedProps && r2 === a2.memoizedState || (b.flags |= 1024), d = false);
      }
      return jj(a2, b, c2, d, f3, e2);
    }
    __name(hj, "hj");
    function jj(a2, b, c2, d, e2, f3) {
      gj(a2, b);
      var g2 = 0 !== (b.flags & 128);
      if (!d && !g2) return e2 && dg(b, c2, false), Zi(a2, b, f3);
      d = b.stateNode;
      Wi.current = b;
      var h2 = g2 && "function" !== typeof c2.getDerivedStateFromError ? null : d.render();
      b.flags |= 1;
      null !== a2 && g2 ? (b.child = Ug(b, a2.child, null, f3), b.child = Ug(b, null, h2, f3)) : Xi(a2, b, h2, f3);
      b.memoizedState = d.state;
      e2 && dg(b, c2, true);
      return b.child;
    }
    __name(jj, "jj");
    function kj(a2) {
      var b = a2.stateNode;
      b.pendingContext ? ag(a2, b.pendingContext, b.pendingContext !== b.context) : b.context && ag(a2, b.context, false);
      yh(a2, b.containerInfo);
    }
    __name(kj, "kj");
    function lj(a2, b, c2, d, e2) {
      Ig();
      Jg(e2);
      b.flags |= 256;
      Xi(a2, b, c2, d);
      return b.child;
    }
    __name(lj, "lj");
    var mj = { dehydrated: null, treeContext: null, retryLane: 0 };
    function nj(a2) {
      return { baseLanes: a2, cachePool: null, transitions: null };
    }
    __name(nj, "nj");
    function oj(a2, b, c2) {
      var d = b.pendingProps, e2 = L.current, f3 = false, g2 = 0 !== (b.flags & 128), h2;
      (h2 = g2) || (h2 = null !== a2 && null === a2.memoizedState ? false : 0 !== (e2 & 2));
      if (h2) f3 = true, b.flags &= -129;
      else if (null === a2 || null !== a2.memoizedState) e2 |= 1;
      G(L, e2 & 1);
      if (null === a2) {
        Eg(b);
        a2 = b.memoizedState;
        if (null !== a2 && (a2 = a2.dehydrated, null !== a2)) return 0 === (b.mode & 1) ? b.lanes = 1 : "$!" === a2.data ? b.lanes = 8 : b.lanes = 1073741824, null;
        g2 = d.children;
        a2 = d.fallback;
        return f3 ? (d = b.mode, f3 = b.child, g2 = { mode: "hidden", children: g2 }, 0 === (d & 1) && null !== f3 ? (f3.childLanes = 0, f3.pendingProps = g2) : f3 = pj(g2, d, 0, null), a2 = Tg(a2, d, c2, null), f3.return = b, a2.return = b, f3.sibling = a2, b.child = f3, b.child.memoizedState = nj(c2), b.memoizedState = mj, a2) : qj(b, g2);
      }
      e2 = a2.memoizedState;
      if (null !== e2 && (h2 = e2.dehydrated, null !== h2)) return rj(a2, b, g2, d, h2, e2, c2);
      if (f3) {
        f3 = d.fallback;
        g2 = b.mode;
        e2 = a2.child;
        h2 = e2.sibling;
        var k = { mode: "hidden", children: d.children };
        0 === (g2 & 1) && b.child !== e2 ? (d = b.child, d.childLanes = 0, d.pendingProps = k, b.deletions = null) : (d = Pg(e2, k), d.subtreeFlags = e2.subtreeFlags & 14680064);
        null !== h2 ? f3 = Pg(h2, f3) : (f3 = Tg(f3, g2, c2, null), f3.flags |= 2);
        f3.return = b;
        d.return = b;
        d.sibling = f3;
        b.child = d;
        d = f3;
        f3 = b.child;
        g2 = a2.child.memoizedState;
        g2 = null === g2 ? nj(c2) : { baseLanes: g2.baseLanes | c2, cachePool: null, transitions: g2.transitions };
        f3.memoizedState = g2;
        f3.childLanes = a2.childLanes & ~c2;
        b.memoizedState = mj;
        return d;
      }
      f3 = a2.child;
      a2 = f3.sibling;
      d = Pg(f3, { mode: "visible", children: d.children });
      0 === (b.mode & 1) && (d.lanes = c2);
      d.return = b;
      d.sibling = null;
      null !== a2 && (c2 = b.deletions, null === c2 ? (b.deletions = [a2], b.flags |= 16) : c2.push(a2));
      b.child = d;
      b.memoizedState = null;
      return d;
    }
    __name(oj, "oj");
    function qj(a2, b) {
      b = pj({ mode: "visible", children: b }, a2.mode, 0, null);
      b.return = a2;
      return a2.child = b;
    }
    __name(qj, "qj");
    function sj(a2, b, c2, d) {
      null !== d && Jg(d);
      Ug(b, a2.child, null, c2);
      a2 = qj(b, b.pendingProps.children);
      a2.flags |= 2;
      b.memoizedState = null;
      return a2;
    }
    __name(sj, "sj");
    function rj(a2, b, c2, d, e2, f3, g2) {
      if (c2) {
        if (b.flags & 256) return b.flags &= -257, d = Ki(Error(p2(422))), sj(a2, b, g2, d);
        if (null !== b.memoizedState) return b.child = a2.child, b.flags |= 128, null;
        f3 = d.fallback;
        e2 = b.mode;
        d = pj({ mode: "visible", children: d.children }, e2, 0, null);
        f3 = Tg(f3, e2, g2, null);
        f3.flags |= 2;
        d.return = b;
        f3.return = b;
        d.sibling = f3;
        b.child = d;
        0 !== (b.mode & 1) && Ug(b, a2.child, null, g2);
        b.child.memoizedState = nj(g2);
        b.memoizedState = mj;
        return f3;
      }
      if (0 === (b.mode & 1)) return sj(a2, b, g2, null);
      if ("$!" === e2.data) {
        d = e2.nextSibling && e2.nextSibling.dataset;
        if (d) var h2 = d.dgst;
        d = h2;
        f3 = Error(p2(419));
        d = Ki(f3, d, void 0);
        return sj(a2, b, g2, d);
      }
      h2 = 0 !== (g2 & a2.childLanes);
      if (dh || h2) {
        d = Q;
        if (null !== d) {
          switch (g2 & -g2) {
            case 4:
              e2 = 2;
              break;
            case 16:
              e2 = 8;
              break;
            case 64:
            case 128:
            case 256:
            case 512:
            case 1024:
            case 2048:
            case 4096:
            case 8192:
            case 16384:
            case 32768:
            case 65536:
            case 131072:
            case 262144:
            case 524288:
            case 1048576:
            case 2097152:
            case 4194304:
            case 8388608:
            case 16777216:
            case 33554432:
            case 67108864:
              e2 = 32;
              break;
            case 536870912:
              e2 = 268435456;
              break;
            default:
              e2 = 0;
          }
          e2 = 0 !== (e2 & (d.suspendedLanes | g2)) ? 0 : e2;
          0 !== e2 && e2 !== f3.retryLane && (f3.retryLane = e2, ih(a2, e2), gi(d, a2, e2, -1));
        }
        tj();
        d = Ki(Error(p2(421)));
        return sj(a2, b, g2, d);
      }
      if ("$?" === e2.data) return b.flags |= 128, b.child = a2.child, b = uj.bind(null, a2), e2._reactRetry = b, null;
      a2 = f3.treeContext;
      yg = Lf(e2.nextSibling);
      xg = b;
      I = true;
      zg = null;
      null !== a2 && (og[pg++] = rg, og[pg++] = sg, og[pg++] = qg, rg = a2.id, sg = a2.overflow, qg = b);
      b = qj(b, d.children);
      b.flags |= 4096;
      return b;
    }
    __name(rj, "rj");
    function vj(a2, b, c2) {
      a2.lanes |= b;
      var d = a2.alternate;
      null !== d && (d.lanes |= b);
      bh(a2.return, b, c2);
    }
    __name(vj, "vj");
    function wj(a2, b, c2, d, e2) {
      var f3 = a2.memoizedState;
      null === f3 ? a2.memoizedState = { isBackwards: b, rendering: null, renderingStartTime: 0, last: d, tail: c2, tailMode: e2 } : (f3.isBackwards = b, f3.rendering = null, f3.renderingStartTime = 0, f3.last = d, f3.tail = c2, f3.tailMode = e2);
    }
    __name(wj, "wj");
    function xj(a2, b, c2) {
      var d = b.pendingProps, e2 = d.revealOrder, f3 = d.tail;
      Xi(a2, b, d.children, c2);
      d = L.current;
      if (0 !== (d & 2)) d = d & 1 | 2, b.flags |= 128;
      else {
        if (null !== a2 && 0 !== (a2.flags & 128)) a: for (a2 = b.child; null !== a2; ) {
          if (13 === a2.tag) null !== a2.memoizedState && vj(a2, c2, b);
          else if (19 === a2.tag) vj(a2, c2, b);
          else if (null !== a2.child) {
            a2.child.return = a2;
            a2 = a2.child;
            continue;
          }
          if (a2 === b) break a;
          for (; null === a2.sibling; ) {
            if (null === a2.return || a2.return === b) break a;
            a2 = a2.return;
          }
          a2.sibling.return = a2.return;
          a2 = a2.sibling;
        }
        d &= 1;
      }
      G(L, d);
      if (0 === (b.mode & 1)) b.memoizedState = null;
      else switch (e2) {
        case "forwards":
          c2 = b.child;
          for (e2 = null; null !== c2; ) a2 = c2.alternate, null !== a2 && null === Ch(a2) && (e2 = c2), c2 = c2.sibling;
          c2 = e2;
          null === c2 ? (e2 = b.child, b.child = null) : (e2 = c2.sibling, c2.sibling = null);
          wj(b, false, e2, c2, f3);
          break;
        case "backwards":
          c2 = null;
          e2 = b.child;
          for (b.child = null; null !== e2; ) {
            a2 = e2.alternate;
            if (null !== a2 && null === Ch(a2)) {
              b.child = e2;
              break;
            }
            a2 = e2.sibling;
            e2.sibling = c2;
            c2 = e2;
            e2 = a2;
          }
          wj(b, true, c2, null, f3);
          break;
        case "together":
          wj(b, false, null, null, void 0);
          break;
        default:
          b.memoizedState = null;
      }
      return b.child;
    }
    __name(xj, "xj");
    function ij(a2, b) {
      0 === (b.mode & 1) && null !== a2 && (a2.alternate = null, b.alternate = null, b.flags |= 2);
    }
    __name(ij, "ij");
    function Zi(a2, b, c2) {
      null !== a2 && (b.dependencies = a2.dependencies);
      rh |= b.lanes;
      if (0 === (c2 & b.childLanes)) return null;
      if (null !== a2 && b.child !== a2.child) throw Error(p2(153));
      if (null !== b.child) {
        a2 = b.child;
        c2 = Pg(a2, a2.pendingProps);
        b.child = c2;
        for (c2.return = b; null !== a2.sibling; ) a2 = a2.sibling, c2 = c2.sibling = Pg(a2, a2.pendingProps), c2.return = b;
        c2.sibling = null;
      }
      return b.child;
    }
    __name(Zi, "Zi");
    function yj(a2, b, c2) {
      switch (b.tag) {
        case 3:
          kj(b);
          Ig();
          break;
        case 5:
          Ah(b);
          break;
        case 1:
          Zf(b.type) && cg(b);
          break;
        case 4:
          yh(b, b.stateNode.containerInfo);
          break;
        case 10:
          var d = b.type._context, e2 = b.memoizedProps.value;
          G(Wg, d._currentValue);
          d._currentValue = e2;
          break;
        case 13:
          d = b.memoizedState;
          if (null !== d) {
            if (null !== d.dehydrated) return G(L, L.current & 1), b.flags |= 128, null;
            if (0 !== (c2 & b.child.childLanes)) return oj(a2, b, c2);
            G(L, L.current & 1);
            a2 = Zi(a2, b, c2);
            return null !== a2 ? a2.sibling : null;
          }
          G(L, L.current & 1);
          break;
        case 19:
          d = 0 !== (c2 & b.childLanes);
          if (0 !== (a2.flags & 128)) {
            if (d) return xj(a2, b, c2);
            b.flags |= 128;
          }
          e2 = b.memoizedState;
          null !== e2 && (e2.rendering = null, e2.tail = null, e2.lastEffect = null);
          G(L, L.current);
          if (d) break;
          else return null;
        case 22:
        case 23:
          return b.lanes = 0, dj(a2, b, c2);
      }
      return Zi(a2, b, c2);
    }
    __name(yj, "yj");
    var zj;
    var Aj;
    var Bj;
    var Cj;
    zj = /* @__PURE__ */ __name(function(a2, b) {
      for (var c2 = b.child; null !== c2; ) {
        if (5 === c2.tag || 6 === c2.tag) a2.appendChild(c2.stateNode);
        else if (4 !== c2.tag && null !== c2.child) {
          c2.child.return = c2;
          c2 = c2.child;
          continue;
        }
        if (c2 === b) break;
        for (; null === c2.sibling; ) {
          if (null === c2.return || c2.return === b) return;
          c2 = c2.return;
        }
        c2.sibling.return = c2.return;
        c2 = c2.sibling;
      }
    }, "zj");
    Aj = /* @__PURE__ */ __name(function() {
    }, "Aj");
    Bj = /* @__PURE__ */ __name(function(a2, b, c2, d) {
      var e2 = a2.memoizedProps;
      if (e2 !== d) {
        a2 = b.stateNode;
        xh(uh.current);
        var f3 = null;
        switch (c2) {
          case "input":
            e2 = Ya(a2, e2);
            d = Ya(a2, d);
            f3 = [];
            break;
          case "select":
            e2 = A3({}, e2, { value: void 0 });
            d = A3({}, d, { value: void 0 });
            f3 = [];
            break;
          case "textarea":
            e2 = gb(a2, e2);
            d = gb(a2, d);
            f3 = [];
            break;
          default:
            "function" !== typeof e2.onClick && "function" === typeof d.onClick && (a2.onclick = Bf);
        }
        ub(c2, d);
        var g2;
        c2 = null;
        for (l in e2) if (!d.hasOwnProperty(l) && e2.hasOwnProperty(l) && null != e2[l]) if ("style" === l) {
          var h2 = e2[l];
          for (g2 in h2) h2.hasOwnProperty(g2) && (c2 || (c2 = {}), c2[g2] = "");
        } else "dangerouslySetInnerHTML" !== l && "children" !== l && "suppressContentEditableWarning" !== l && "suppressHydrationWarning" !== l && "autoFocus" !== l && (ea.hasOwnProperty(l) ? f3 || (f3 = []) : (f3 = f3 || []).push(l, null));
        for (l in d) {
          var k = d[l];
          h2 = null != e2 ? e2[l] : void 0;
          if (d.hasOwnProperty(l) && k !== h2 && (null != k || null != h2)) if ("style" === l) if (h2) {
            for (g2 in h2) !h2.hasOwnProperty(g2) || k && k.hasOwnProperty(g2) || (c2 || (c2 = {}), c2[g2] = "");
            for (g2 in k) k.hasOwnProperty(g2) && h2[g2] !== k[g2] && (c2 || (c2 = {}), c2[g2] = k[g2]);
          } else c2 || (f3 || (f3 = []), f3.push(
            l,
            c2
          )), c2 = k;
          else "dangerouslySetInnerHTML" === l ? (k = k ? k.__html : void 0, h2 = h2 ? h2.__html : void 0, null != k && h2 !== k && (f3 = f3 || []).push(l, k)) : "children" === l ? "string" !== typeof k && "number" !== typeof k || (f3 = f3 || []).push(l, "" + k) : "suppressContentEditableWarning" !== l && "suppressHydrationWarning" !== l && (ea.hasOwnProperty(l) ? (null != k && "onScroll" === l && D("scroll", a2), f3 || h2 === k || (f3 = [])) : (f3 = f3 || []).push(l, k));
        }
        c2 && (f3 = f3 || []).push("style", c2);
        var l = f3;
        if (b.updateQueue = l) b.flags |= 4;
      }
    }, "Bj");
    Cj = /* @__PURE__ */ __name(function(a2, b, c2, d) {
      c2 !== d && (b.flags |= 4);
    }, "Cj");
    function Dj(a2, b) {
      if (!I) switch (a2.tailMode) {
        case "hidden":
          b = a2.tail;
          for (var c2 = null; null !== b; ) null !== b.alternate && (c2 = b), b = b.sibling;
          null === c2 ? a2.tail = null : c2.sibling = null;
          break;
        case "collapsed":
          c2 = a2.tail;
          for (var d = null; null !== c2; ) null !== c2.alternate && (d = c2), c2 = c2.sibling;
          null === d ? b || null === a2.tail ? a2.tail = null : a2.tail.sibling = null : d.sibling = null;
      }
    }
    __name(Dj, "Dj");
    function S(a2) {
      var b = null !== a2.alternate && a2.alternate.child === a2.child, c2 = 0, d = 0;
      if (b) for (var e2 = a2.child; null !== e2; ) c2 |= e2.lanes | e2.childLanes, d |= e2.subtreeFlags & 14680064, d |= e2.flags & 14680064, e2.return = a2, e2 = e2.sibling;
      else for (e2 = a2.child; null !== e2; ) c2 |= e2.lanes | e2.childLanes, d |= e2.subtreeFlags, d |= e2.flags, e2.return = a2, e2 = e2.sibling;
      a2.subtreeFlags |= d;
      a2.childLanes = c2;
      return b;
    }
    __name(S, "S");
    function Ej(a2, b, c2) {
      var d = b.pendingProps;
      wg(b);
      switch (b.tag) {
        case 2:
        case 16:
        case 15:
        case 0:
        case 11:
        case 7:
        case 8:
        case 12:
        case 9:
        case 14:
          return S(b), null;
        case 1:
          return Zf(b.type) && $f(), S(b), null;
        case 3:
          d = b.stateNode;
          zh();
          E(Wf);
          E(H);
          Eh();
          d.pendingContext && (d.context = d.pendingContext, d.pendingContext = null);
          if (null === a2 || null === a2.child) Gg(b) ? b.flags |= 4 : null === a2 || a2.memoizedState.isDehydrated && 0 === (b.flags & 256) || (b.flags |= 1024, null !== zg && (Fj(zg), zg = null));
          Aj(a2, b);
          S(b);
          return null;
        case 5:
          Bh(b);
          var e2 = xh(wh.current);
          c2 = b.type;
          if (null !== a2 && null != b.stateNode) Bj(a2, b, c2, d, e2), a2.ref !== b.ref && (b.flags |= 512, b.flags |= 2097152);
          else {
            if (!d) {
              if (null === b.stateNode) throw Error(p2(166));
              S(b);
              return null;
            }
            a2 = xh(uh.current);
            if (Gg(b)) {
              d = b.stateNode;
              c2 = b.type;
              var f3 = b.memoizedProps;
              d[Of] = b;
              d[Pf] = f3;
              a2 = 0 !== (b.mode & 1);
              switch (c2) {
                case "dialog":
                  D("cancel", d);
                  D("close", d);
                  break;
                case "iframe":
                case "object":
                case "embed":
                  D("load", d);
                  break;
                case "video":
                case "audio":
                  for (e2 = 0; e2 < lf.length; e2++) D(lf[e2], d);
                  break;
                case "source":
                  D("error", d);
                  break;
                case "img":
                case "image":
                case "link":
                  D(
                    "error",
                    d
                  );
                  D("load", d);
                  break;
                case "details":
                  D("toggle", d);
                  break;
                case "input":
                  Za(d, f3);
                  D("invalid", d);
                  break;
                case "select":
                  d._wrapperState = { wasMultiple: !!f3.multiple };
                  D("invalid", d);
                  break;
                case "textarea":
                  hb(d, f3), D("invalid", d);
              }
              ub(c2, f3);
              e2 = null;
              for (var g2 in f3) if (f3.hasOwnProperty(g2)) {
                var h2 = f3[g2];
                "children" === g2 ? "string" === typeof h2 ? d.textContent !== h2 && (true !== f3.suppressHydrationWarning && Af(d.textContent, h2, a2), e2 = ["children", h2]) : "number" === typeof h2 && d.textContent !== "" + h2 && (true !== f3.suppressHydrationWarning && Af(
                  d.textContent,
                  h2,
                  a2
                ), e2 = ["children", "" + h2]) : ea.hasOwnProperty(g2) && null != h2 && "onScroll" === g2 && D("scroll", d);
              }
              switch (c2) {
                case "input":
                  Va(d);
                  db(d, f3, true);
                  break;
                case "textarea":
                  Va(d);
                  jb(d);
                  break;
                case "select":
                case "option":
                  break;
                default:
                  "function" === typeof f3.onClick && (d.onclick = Bf);
              }
              d = e2;
              b.updateQueue = d;
              null !== d && (b.flags |= 4);
            } else {
              g2 = 9 === e2.nodeType ? e2 : e2.ownerDocument;
              "http://www.w3.org/1999/xhtml" === a2 && (a2 = kb(c2));
              "http://www.w3.org/1999/xhtml" === a2 ? "script" === c2 ? (a2 = g2.createElement("div"), a2.innerHTML = "<script><\/script>", a2 = a2.removeChild(a2.firstChild)) : "string" === typeof d.is ? a2 = g2.createElement(c2, { is: d.is }) : (a2 = g2.createElement(c2), "select" === c2 && (g2 = a2, d.multiple ? g2.multiple = true : d.size && (g2.size = d.size))) : a2 = g2.createElementNS(a2, c2);
              a2[Of] = b;
              a2[Pf] = d;
              zj(a2, b, false, false);
              b.stateNode = a2;
              a: {
                g2 = vb(c2, d);
                switch (c2) {
                  case "dialog":
                    D("cancel", a2);
                    D("close", a2);
                    e2 = d;
                    break;
                  case "iframe":
                  case "object":
                  case "embed":
                    D("load", a2);
                    e2 = d;
                    break;
                  case "video":
                  case "audio":
                    for (e2 = 0; e2 < lf.length; e2++) D(lf[e2], a2);
                    e2 = d;
                    break;
                  case "source":
                    D("error", a2);
                    e2 = d;
                    break;
                  case "img":
                  case "image":
                  case "link":
                    D(
                      "error",
                      a2
                    );
                    D("load", a2);
                    e2 = d;
                    break;
                  case "details":
                    D("toggle", a2);
                    e2 = d;
                    break;
                  case "input":
                    Za(a2, d);
                    e2 = Ya(a2, d);
                    D("invalid", a2);
                    break;
                  case "option":
                    e2 = d;
                    break;
                  case "select":
                    a2._wrapperState = { wasMultiple: !!d.multiple };
                    e2 = A3({}, d, { value: void 0 });
                    D("invalid", a2);
                    break;
                  case "textarea":
                    hb(a2, d);
                    e2 = gb(a2, d);
                    D("invalid", a2);
                    break;
                  default:
                    e2 = d;
                }
                ub(c2, e2);
                h2 = e2;
                for (f3 in h2) if (h2.hasOwnProperty(f3)) {
                  var k = h2[f3];
                  "style" === f3 ? sb2(a2, k) : "dangerouslySetInnerHTML" === f3 ? (k = k ? k.__html : void 0, null != k && nb(a2, k)) : "children" === f3 ? "string" === typeof k ? ("textarea" !== c2 || "" !== k) && ob(a2, k) : "number" === typeof k && ob(a2, "" + k) : "suppressContentEditableWarning" !== f3 && "suppressHydrationWarning" !== f3 && "autoFocus" !== f3 && (ea.hasOwnProperty(f3) ? null != k && "onScroll" === f3 && D("scroll", a2) : null != k && ta(a2, f3, k, g2));
                }
                switch (c2) {
                  case "input":
                    Va(a2);
                    db(a2, d, false);
                    break;
                  case "textarea":
                    Va(a2);
                    jb(a2);
                    break;
                  case "option":
                    null != d.value && a2.setAttribute("value", "" + Sa(d.value));
                    break;
                  case "select":
                    a2.multiple = !!d.multiple;
                    f3 = d.value;
                    null != f3 ? fb(a2, !!d.multiple, f3, false) : null != d.defaultValue && fb(
                      a2,
                      !!d.multiple,
                      d.defaultValue,
                      true
                    );
                    break;
                  default:
                    "function" === typeof e2.onClick && (a2.onclick = Bf);
                }
                switch (c2) {
                  case "button":
                  case "input":
                  case "select":
                  case "textarea":
                    d = !!d.autoFocus;
                    break a;
                  case "img":
                    d = true;
                    break a;
                  default:
                    d = false;
                }
              }
              d && (b.flags |= 4);
            }
            null !== b.ref && (b.flags |= 512, b.flags |= 2097152);
          }
          S(b);
          return null;
        case 6:
          if (a2 && null != b.stateNode) Cj(a2, b, a2.memoizedProps, d);
          else {
            if ("string" !== typeof d && null === b.stateNode) throw Error(p2(166));
            c2 = xh(wh.current);
            xh(uh.current);
            if (Gg(b)) {
              d = b.stateNode;
              c2 = b.memoizedProps;
              d[Of] = b;
              if (f3 = d.nodeValue !== c2) {
                if (a2 = xg, null !== a2) switch (a2.tag) {
                  case 3:
                    Af(d.nodeValue, c2, 0 !== (a2.mode & 1));
                    break;
                  case 5:
                    true !== a2.memoizedProps.suppressHydrationWarning && Af(d.nodeValue, c2, 0 !== (a2.mode & 1));
                }
              }
              f3 && (b.flags |= 4);
            } else d = (9 === c2.nodeType ? c2 : c2.ownerDocument).createTextNode(d), d[Of] = b, b.stateNode = d;
          }
          S(b);
          return null;
        case 13:
          E(L);
          d = b.memoizedState;
          if (null === a2 || null !== a2.memoizedState && null !== a2.memoizedState.dehydrated) {
            if (I && null !== yg && 0 !== (b.mode & 1) && 0 === (b.flags & 128)) Hg(), Ig(), b.flags |= 98560, f3 = false;
            else if (f3 = Gg(b), null !== d && null !== d.dehydrated) {
              if (null === a2) {
                if (!f3) throw Error(p2(318));
                f3 = b.memoizedState;
                f3 = null !== f3 ? f3.dehydrated : null;
                if (!f3) throw Error(p2(317));
                f3[Of] = b;
              } else Ig(), 0 === (b.flags & 128) && (b.memoizedState = null), b.flags |= 4;
              S(b);
              f3 = false;
            } else null !== zg && (Fj(zg), zg = null), f3 = true;
            if (!f3) return b.flags & 65536 ? b : null;
          }
          if (0 !== (b.flags & 128)) return b.lanes = c2, b;
          d = null !== d;
          d !== (null !== a2 && null !== a2.memoizedState) && d && (b.child.flags |= 8192, 0 !== (b.mode & 1) && (null === a2 || 0 !== (L.current & 1) ? 0 === T2 && (T2 = 3) : tj()));
          null !== b.updateQueue && (b.flags |= 4);
          S(b);
          return null;
        case 4:
          return zh(), Aj(a2, b), null === a2 && sf(b.stateNode.containerInfo), S(b), null;
        case 10:
          return ah(b.type._context), S(b), null;
        case 17:
          return Zf(b.type) && $f(), S(b), null;
        case 19:
          E(L);
          f3 = b.memoizedState;
          if (null === f3) return S(b), null;
          d = 0 !== (b.flags & 128);
          g2 = f3.rendering;
          if (null === g2) if (d) Dj(f3, false);
          else {
            if (0 !== T2 || null !== a2 && 0 !== (a2.flags & 128)) for (a2 = b.child; null !== a2; ) {
              g2 = Ch(a2);
              if (null !== g2) {
                b.flags |= 128;
                Dj(f3, false);
                d = g2.updateQueue;
                null !== d && (b.updateQueue = d, b.flags |= 4);
                b.subtreeFlags = 0;
                d = c2;
                for (c2 = b.child; null !== c2; ) f3 = c2, a2 = d, f3.flags &= 14680066, g2 = f3.alternate, null === g2 ? (f3.childLanes = 0, f3.lanes = a2, f3.child = null, f3.subtreeFlags = 0, f3.memoizedProps = null, f3.memoizedState = null, f3.updateQueue = null, f3.dependencies = null, f3.stateNode = null) : (f3.childLanes = g2.childLanes, f3.lanes = g2.lanes, f3.child = g2.child, f3.subtreeFlags = 0, f3.deletions = null, f3.memoizedProps = g2.memoizedProps, f3.memoizedState = g2.memoizedState, f3.updateQueue = g2.updateQueue, f3.type = g2.type, a2 = g2.dependencies, f3.dependencies = null === a2 ? null : { lanes: a2.lanes, firstContext: a2.firstContext }), c2 = c2.sibling;
                G(L, L.current & 1 | 2);
                return b.child;
              }
              a2 = a2.sibling;
            }
            null !== f3.tail && B2() > Gj && (b.flags |= 128, d = true, Dj(f3, false), b.lanes = 4194304);
          }
          else {
            if (!d) if (a2 = Ch(g2), null !== a2) {
              if (b.flags |= 128, d = true, c2 = a2.updateQueue, null !== c2 && (b.updateQueue = c2, b.flags |= 4), Dj(f3, true), null === f3.tail && "hidden" === f3.tailMode && !g2.alternate && !I) return S(b), null;
            } else 2 * B2() - f3.renderingStartTime > Gj && 1073741824 !== c2 && (b.flags |= 128, d = true, Dj(f3, false), b.lanes = 4194304);
            f3.isBackwards ? (g2.sibling = b.child, b.child = g2) : (c2 = f3.last, null !== c2 ? c2.sibling = g2 : b.child = g2, f3.last = g2);
          }
          if (null !== f3.tail) return b = f3.tail, f3.rendering = b, f3.tail = b.sibling, f3.renderingStartTime = B2(), b.sibling = null, c2 = L.current, G(L, d ? c2 & 1 | 2 : c2 & 1), b;
          S(b);
          return null;
        case 22:
        case 23:
          return Hj(), d = null !== b.memoizedState, null !== a2 && null !== a2.memoizedState !== d && (b.flags |= 8192), d && 0 !== (b.mode & 1) ? 0 !== (fj & 1073741824) && (S(b), b.subtreeFlags & 6 && (b.flags |= 8192)) : S(b), null;
        case 24:
          return null;
        case 25:
          return null;
      }
      throw Error(p2(156, b.tag));
    }
    __name(Ej, "Ej");
    function Ij(a2, b) {
      wg(b);
      switch (b.tag) {
        case 1:
          return Zf(b.type) && $f(), a2 = b.flags, a2 & 65536 ? (b.flags = a2 & -65537 | 128, b) : null;
        case 3:
          return zh(), E(Wf), E(H), Eh(), a2 = b.flags, 0 !== (a2 & 65536) && 0 === (a2 & 128) ? (b.flags = a2 & -65537 | 128, b) : null;
        case 5:
          return Bh(b), null;
        case 13:
          E(L);
          a2 = b.memoizedState;
          if (null !== a2 && null !== a2.dehydrated) {
            if (null === b.alternate) throw Error(p2(340));
            Ig();
          }
          a2 = b.flags;
          return a2 & 65536 ? (b.flags = a2 & -65537 | 128, b) : null;
        case 19:
          return E(L), null;
        case 4:
          return zh(), null;
        case 10:
          return ah(b.type._context), null;
        case 22:
        case 23:
          return Hj(), null;
        case 24:
          return null;
        default:
          return null;
      }
    }
    __name(Ij, "Ij");
    var Jj = false;
    var U = false;
    var Kj = "function" === typeof WeakSet ? WeakSet : Set;
    var V = null;
    function Lj(a2, b) {
      var c2 = a2.ref;
      if (null !== c2) if ("function" === typeof c2) try {
        c2(null);
      } catch (d) {
        W(a2, b, d);
      }
      else c2.current = null;
    }
    __name(Lj, "Lj");
    function Mj(a2, b, c2) {
      try {
        c2();
      } catch (d) {
        W(a2, b, d);
      }
    }
    __name(Mj, "Mj");
    var Nj = false;
    function Oj(a2, b) {
      Cf = dd;
      a2 = Me();
      if (Ne(a2)) {
        if ("selectionStart" in a2) var c2 = { start: a2.selectionStart, end: a2.selectionEnd };
        else a: {
          c2 = (c2 = a2.ownerDocument) && c2.defaultView || window;
          var d = c2.getSelection && c2.getSelection();
          if (d && 0 !== d.rangeCount) {
            c2 = d.anchorNode;
            var e2 = d.anchorOffset, f3 = d.focusNode;
            d = d.focusOffset;
            try {
              c2.nodeType, f3.nodeType;
            } catch (F) {
              c2 = null;
              break a;
            }
            var g2 = 0, h2 = -1, k = -1, l = 0, m3 = 0, q = a2, r2 = null;
            b: for (; ; ) {
              for (var y; ; ) {
                q !== c2 || 0 !== e2 && 3 !== q.nodeType || (h2 = g2 + e2);
                q !== f3 || 0 !== d && 3 !== q.nodeType || (k = g2 + d);
                3 === q.nodeType && (g2 += q.nodeValue.length);
                if (null === (y = q.firstChild)) break;
                r2 = q;
                q = y;
              }
              for (; ; ) {
                if (q === a2) break b;
                r2 === c2 && ++l === e2 && (h2 = g2);
                r2 === f3 && ++m3 === d && (k = g2);
                if (null !== (y = q.nextSibling)) break;
                q = r2;
                r2 = q.parentNode;
              }
              q = y;
            }
            c2 = -1 === h2 || -1 === k ? null : { start: h2, end: k };
          } else c2 = null;
        }
        c2 = c2 || { start: 0, end: 0 };
      } else c2 = null;
      Df = { focusedElem: a2, selectionRange: c2 };
      dd = false;
      for (V = b; null !== V; ) if (b = V, a2 = b.child, 0 !== (b.subtreeFlags & 1028) && null !== a2) a2.return = b, V = a2;
      else for (; null !== V; ) {
        b = V;
        try {
          var n2 = b.alternate;
          if (0 !== (b.flags & 1024)) switch (b.tag) {
            case 0:
            case 11:
            case 15:
              break;
            case 1:
              if (null !== n2) {
                var t2 = n2.memoizedProps, J = n2.memoizedState, x = b.stateNode, w = x.getSnapshotBeforeUpdate(b.elementType === b.type ? t2 : Ci(b.type, t2), J);
                x.__reactInternalSnapshotBeforeUpdate = w;
              }
              break;
            case 3:
              var u2 = b.stateNode.containerInfo;
              1 === u2.nodeType ? u2.textContent = "" : 9 === u2.nodeType && u2.documentElement && u2.removeChild(u2.documentElement);
              break;
            case 5:
            case 6:
            case 4:
            case 17:
              break;
            default:
              throw Error(p2(163));
          }
        } catch (F) {
          W(b, b.return, F);
        }
        a2 = b.sibling;
        if (null !== a2) {
          a2.return = b.return;
          V = a2;
          break;
        }
        V = b.return;
      }
      n2 = Nj;
      Nj = false;
      return n2;
    }
    __name(Oj, "Oj");
    function Pj(a2, b, c2) {
      var d = b.updateQueue;
      d = null !== d ? d.lastEffect : null;
      if (null !== d) {
        var e2 = d = d.next;
        do {
          if ((e2.tag & a2) === a2) {
            var f3 = e2.destroy;
            e2.destroy = void 0;
            void 0 !== f3 && Mj(b, c2, f3);
          }
          e2 = e2.next;
        } while (e2 !== d);
      }
    }
    __name(Pj, "Pj");
    function Qj(a2, b) {
      b = b.updateQueue;
      b = null !== b ? b.lastEffect : null;
      if (null !== b) {
        var c2 = b = b.next;
        do {
          if ((c2.tag & a2) === a2) {
            var d = c2.create;
            c2.destroy = d();
          }
          c2 = c2.next;
        } while (c2 !== b);
      }
    }
    __name(Qj, "Qj");
    function Rj(a2) {
      var b = a2.ref;
      if (null !== b) {
        var c2 = a2.stateNode;
        switch (a2.tag) {
          case 5:
            a2 = c2;
            break;
          default:
            a2 = c2;
        }
        "function" === typeof b ? b(a2) : b.current = a2;
      }
    }
    __name(Rj, "Rj");
    function Sj(a2) {
      var b = a2.alternate;
      null !== b && (a2.alternate = null, Sj(b));
      a2.child = null;
      a2.deletions = null;
      a2.sibling = null;
      5 === a2.tag && (b = a2.stateNode, null !== b && (delete b[Of], delete b[Pf], delete b[of], delete b[Qf], delete b[Rf]));
      a2.stateNode = null;
      a2.return = null;
      a2.dependencies = null;
      a2.memoizedProps = null;
      a2.memoizedState = null;
      a2.pendingProps = null;
      a2.stateNode = null;
      a2.updateQueue = null;
    }
    __name(Sj, "Sj");
    function Tj(a2) {
      return 5 === a2.tag || 3 === a2.tag || 4 === a2.tag;
    }
    __name(Tj, "Tj");
    function Uj(a2) {
      a: for (; ; ) {
        for (; null === a2.sibling; ) {
          if (null === a2.return || Tj(a2.return)) return null;
          a2 = a2.return;
        }
        a2.sibling.return = a2.return;
        for (a2 = a2.sibling; 5 !== a2.tag && 6 !== a2.tag && 18 !== a2.tag; ) {
          if (a2.flags & 2) continue a;
          if (null === a2.child || 4 === a2.tag) continue a;
          else a2.child.return = a2, a2 = a2.child;
        }
        if (!(a2.flags & 2)) return a2.stateNode;
      }
    }
    __name(Uj, "Uj");
    function Vj(a2, b, c2) {
      var d = a2.tag;
      if (5 === d || 6 === d) a2 = a2.stateNode, b ? 8 === c2.nodeType ? c2.parentNode.insertBefore(a2, b) : c2.insertBefore(a2, b) : (8 === c2.nodeType ? (b = c2.parentNode, b.insertBefore(a2, c2)) : (b = c2, b.appendChild(a2)), c2 = c2._reactRootContainer, null !== c2 && void 0 !== c2 || null !== b.onclick || (b.onclick = Bf));
      else if (4 !== d && (a2 = a2.child, null !== a2)) for (Vj(a2, b, c2), a2 = a2.sibling; null !== a2; ) Vj(a2, b, c2), a2 = a2.sibling;
    }
    __name(Vj, "Vj");
    function Wj(a2, b, c2) {
      var d = a2.tag;
      if (5 === d || 6 === d) a2 = a2.stateNode, b ? c2.insertBefore(a2, b) : c2.appendChild(a2);
      else if (4 !== d && (a2 = a2.child, null !== a2)) for (Wj(a2, b, c2), a2 = a2.sibling; null !== a2; ) Wj(a2, b, c2), a2 = a2.sibling;
    }
    __name(Wj, "Wj");
    var X = null;
    var Xj = false;
    function Yj(a2, b, c2) {
      for (c2 = c2.child; null !== c2; ) Zj(a2, b, c2), c2 = c2.sibling;
    }
    __name(Yj, "Yj");
    function Zj(a2, b, c2) {
      if (lc && "function" === typeof lc.onCommitFiberUnmount) try {
        lc.onCommitFiberUnmount(kc, c2);
      } catch (h2) {
      }
      switch (c2.tag) {
        case 5:
          U || Lj(c2, b);
        case 6:
          var d = X, e2 = Xj;
          X = null;
          Yj(a2, b, c2);
          X = d;
          Xj = e2;
          null !== X && (Xj ? (a2 = X, c2 = c2.stateNode, 8 === a2.nodeType ? a2.parentNode.removeChild(c2) : a2.removeChild(c2)) : X.removeChild(c2.stateNode));
          break;
        case 18:
          null !== X && (Xj ? (a2 = X, c2 = c2.stateNode, 8 === a2.nodeType ? Kf(a2.parentNode, c2) : 1 === a2.nodeType && Kf(a2, c2), bd(a2)) : Kf(X, c2.stateNode));
          break;
        case 4:
          d = X;
          e2 = Xj;
          X = c2.stateNode.containerInfo;
          Xj = true;
          Yj(a2, b, c2);
          X = d;
          Xj = e2;
          break;
        case 0:
        case 11:
        case 14:
        case 15:
          if (!U && (d = c2.updateQueue, null !== d && (d = d.lastEffect, null !== d))) {
            e2 = d = d.next;
            do {
              var f3 = e2, g2 = f3.destroy;
              f3 = f3.tag;
              void 0 !== g2 && (0 !== (f3 & 2) ? Mj(c2, b, g2) : 0 !== (f3 & 4) && Mj(c2, b, g2));
              e2 = e2.next;
            } while (e2 !== d);
          }
          Yj(a2, b, c2);
          break;
        case 1:
          if (!U && (Lj(c2, b), d = c2.stateNode, "function" === typeof d.componentWillUnmount)) try {
            d.props = c2.memoizedProps, d.state = c2.memoizedState, d.componentWillUnmount();
          } catch (h2) {
            W(c2, b, h2);
          }
          Yj(a2, b, c2);
          break;
        case 21:
          Yj(a2, b, c2);
          break;
        case 22:
          c2.mode & 1 ? (U = (d = U) || null !== c2.memoizedState, Yj(a2, b, c2), U = d) : Yj(a2, b, c2);
          break;
        default:
          Yj(a2, b, c2);
      }
    }
    __name(Zj, "Zj");
    function ak(a2) {
      var b = a2.updateQueue;
      if (null !== b) {
        a2.updateQueue = null;
        var c2 = a2.stateNode;
        null === c2 && (c2 = a2.stateNode = new Kj());
        b.forEach(function(b2) {
          var d = bk.bind(null, a2, b2);
          c2.has(b2) || (c2.add(b2), b2.then(d, d));
        });
      }
    }
    __name(ak, "ak");
    function ck(a2, b) {
      var c2 = b.deletions;
      if (null !== c2) for (var d = 0; d < c2.length; d++) {
        var e2 = c2[d];
        try {
          var f3 = a2, g2 = b, h2 = g2;
          a: for (; null !== h2; ) {
            switch (h2.tag) {
              case 5:
                X = h2.stateNode;
                Xj = false;
                break a;
              case 3:
                X = h2.stateNode.containerInfo;
                Xj = true;
                break a;
              case 4:
                X = h2.stateNode.containerInfo;
                Xj = true;
                break a;
            }
            h2 = h2.return;
          }
          if (null === X) throw Error(p2(160));
          Zj(f3, g2, e2);
          X = null;
          Xj = false;
          var k = e2.alternate;
          null !== k && (k.return = null);
          e2.return = null;
        } catch (l) {
          W(e2, b, l);
        }
      }
      if (b.subtreeFlags & 12854) for (b = b.child; null !== b; ) dk(b, a2), b = b.sibling;
    }
    __name(ck, "ck");
    function dk(a2, b) {
      var c2 = a2.alternate, d = a2.flags;
      switch (a2.tag) {
        case 0:
        case 11:
        case 14:
        case 15:
          ck(b, a2);
          ek(a2);
          if (d & 4) {
            try {
              Pj(3, a2, a2.return), Qj(3, a2);
            } catch (t2) {
              W(a2, a2.return, t2);
            }
            try {
              Pj(5, a2, a2.return);
            } catch (t2) {
              W(a2, a2.return, t2);
            }
          }
          break;
        case 1:
          ck(b, a2);
          ek(a2);
          d & 512 && null !== c2 && Lj(c2, c2.return);
          break;
        case 5:
          ck(b, a2);
          ek(a2);
          d & 512 && null !== c2 && Lj(c2, c2.return);
          if (a2.flags & 32) {
            var e2 = a2.stateNode;
            try {
              ob(e2, "");
            } catch (t2) {
              W(a2, a2.return, t2);
            }
          }
          if (d & 4 && (e2 = a2.stateNode, null != e2)) {
            var f3 = a2.memoizedProps, g2 = null !== c2 ? c2.memoizedProps : f3, h2 = a2.type, k = a2.updateQueue;
            a2.updateQueue = null;
            if (null !== k) try {
              "input" === h2 && "radio" === f3.type && null != f3.name && ab(e2, f3);
              vb(h2, g2);
              var l = vb(h2, f3);
              for (g2 = 0; g2 < k.length; g2 += 2) {
                var m3 = k[g2], q = k[g2 + 1];
                "style" === m3 ? sb2(e2, q) : "dangerouslySetInnerHTML" === m3 ? nb(e2, q) : "children" === m3 ? ob(e2, q) : ta(e2, m3, q, l);
              }
              switch (h2) {
                case "input":
                  bb(e2, f3);
                  break;
                case "textarea":
                  ib(e2, f3);
                  break;
                case "select":
                  var r2 = e2._wrapperState.wasMultiple;
                  e2._wrapperState.wasMultiple = !!f3.multiple;
                  var y = f3.value;
                  null != y ? fb(e2, !!f3.multiple, y, false) : r2 !== !!f3.multiple && (null != f3.defaultValue ? fb(
                    e2,
                    !!f3.multiple,
                    f3.defaultValue,
                    true
                  ) : fb(e2, !!f3.multiple, f3.multiple ? [] : "", false));
              }
              e2[Pf] = f3;
            } catch (t2) {
              W(a2, a2.return, t2);
            }
          }
          break;
        case 6:
          ck(b, a2);
          ek(a2);
          if (d & 4) {
            if (null === a2.stateNode) throw Error(p2(162));
            e2 = a2.stateNode;
            f3 = a2.memoizedProps;
            try {
              e2.nodeValue = f3;
            } catch (t2) {
              W(a2, a2.return, t2);
            }
          }
          break;
        case 3:
          ck(b, a2);
          ek(a2);
          if (d & 4 && null !== c2 && c2.memoizedState.isDehydrated) try {
            bd(b.containerInfo);
          } catch (t2) {
            W(a2, a2.return, t2);
          }
          break;
        case 4:
          ck(b, a2);
          ek(a2);
          break;
        case 13:
          ck(b, a2);
          ek(a2);
          e2 = a2.child;
          e2.flags & 8192 && (f3 = null !== e2.memoizedState, e2.stateNode.isHidden = f3, !f3 || null !== e2.alternate && null !== e2.alternate.memoizedState || (fk = B2()));
          d & 4 && ak(a2);
          break;
        case 22:
          m3 = null !== c2 && null !== c2.memoizedState;
          a2.mode & 1 ? (U = (l = U) || m3, ck(b, a2), U = l) : ck(b, a2);
          ek(a2);
          if (d & 8192) {
            l = null !== a2.memoizedState;
            if ((a2.stateNode.isHidden = l) && !m3 && 0 !== (a2.mode & 1)) for (V = a2, m3 = a2.child; null !== m3; ) {
              for (q = V = m3; null !== V; ) {
                r2 = V;
                y = r2.child;
                switch (r2.tag) {
                  case 0:
                  case 11:
                  case 14:
                  case 15:
                    Pj(4, r2, r2.return);
                    break;
                  case 1:
                    Lj(r2, r2.return);
                    var n2 = r2.stateNode;
                    if ("function" === typeof n2.componentWillUnmount) {
                      d = r2;
                      c2 = r2.return;
                      try {
                        b = d, n2.props = b.memoizedProps, n2.state = b.memoizedState, n2.componentWillUnmount();
                      } catch (t2) {
                        W(d, c2, t2);
                      }
                    }
                    break;
                  case 5:
                    Lj(r2, r2.return);
                    break;
                  case 22:
                    if (null !== r2.memoizedState) {
                      gk(q);
                      continue;
                    }
                }
                null !== y ? (y.return = r2, V = y) : gk(q);
              }
              m3 = m3.sibling;
            }
            a: for (m3 = null, q = a2; ; ) {
              if (5 === q.tag) {
                if (null === m3) {
                  m3 = q;
                  try {
                    e2 = q.stateNode, l ? (f3 = e2.style, "function" === typeof f3.setProperty ? f3.setProperty("display", "none", "important") : f3.display = "none") : (h2 = q.stateNode, k = q.memoizedProps.style, g2 = void 0 !== k && null !== k && k.hasOwnProperty("display") ? k.display : null, h2.style.display = rb("display", g2));
                  } catch (t2) {
                    W(a2, a2.return, t2);
                  }
                }
              } else if (6 === q.tag) {
                if (null === m3) try {
                  q.stateNode.nodeValue = l ? "" : q.memoizedProps;
                } catch (t2) {
                  W(a2, a2.return, t2);
                }
              } else if ((22 !== q.tag && 23 !== q.tag || null === q.memoizedState || q === a2) && null !== q.child) {
                q.child.return = q;
                q = q.child;
                continue;
              }
              if (q === a2) break a;
              for (; null === q.sibling; ) {
                if (null === q.return || q.return === a2) break a;
                m3 === q && (m3 = null);
                q = q.return;
              }
              m3 === q && (m3 = null);
              q.sibling.return = q.return;
              q = q.sibling;
            }
          }
          break;
        case 19:
          ck(b, a2);
          ek(a2);
          d & 4 && ak(a2);
          break;
        case 21:
          break;
        default:
          ck(
            b,
            a2
          ), ek(a2);
      }
    }
    __name(dk, "dk");
    function ek(a2) {
      var b = a2.flags;
      if (b & 2) {
        try {
          a: {
            for (var c2 = a2.return; null !== c2; ) {
              if (Tj(c2)) {
                var d = c2;
                break a;
              }
              c2 = c2.return;
            }
            throw Error(p2(160));
          }
          switch (d.tag) {
            case 5:
              var e2 = d.stateNode;
              d.flags & 32 && (ob(e2, ""), d.flags &= -33);
              var f3 = Uj(a2);
              Wj(a2, f3, e2);
              break;
            case 3:
            case 4:
              var g2 = d.stateNode.containerInfo, h2 = Uj(a2);
              Vj(a2, h2, g2);
              break;
            default:
              throw Error(p2(161));
          }
        } catch (k) {
          W(a2, a2.return, k);
        }
        a2.flags &= -3;
      }
      b & 4096 && (a2.flags &= -4097);
    }
    __name(ek, "ek");
    function hk(a2, b, c2) {
      V = a2;
      ik(a2, b, c2);
    }
    __name(hk, "hk");
    function ik(a2, b, c2) {
      for (var d = 0 !== (a2.mode & 1); null !== V; ) {
        var e2 = V, f3 = e2.child;
        if (22 === e2.tag && d) {
          var g2 = null !== e2.memoizedState || Jj;
          if (!g2) {
            var h2 = e2.alternate, k = null !== h2 && null !== h2.memoizedState || U;
            h2 = Jj;
            var l = U;
            Jj = g2;
            if ((U = k) && !l) for (V = e2; null !== V; ) g2 = V, k = g2.child, 22 === g2.tag && null !== g2.memoizedState ? jk(e2) : null !== k ? (k.return = g2, V = k) : jk(e2);
            for (; null !== f3; ) V = f3, ik(f3, b, c2), f3 = f3.sibling;
            V = e2;
            Jj = h2;
            U = l;
          }
          kk(a2, b, c2);
        } else 0 !== (e2.subtreeFlags & 8772) && null !== f3 ? (f3.return = e2, V = f3) : kk(a2, b, c2);
      }
    }
    __name(ik, "ik");
    function kk(a2) {
      for (; null !== V; ) {
        var b = V;
        if (0 !== (b.flags & 8772)) {
          var c2 = b.alternate;
          try {
            if (0 !== (b.flags & 8772)) switch (b.tag) {
              case 0:
              case 11:
              case 15:
                U || Qj(5, b);
                break;
              case 1:
                var d = b.stateNode;
                if (b.flags & 4 && !U) if (null === c2) d.componentDidMount();
                else {
                  var e2 = b.elementType === b.type ? c2.memoizedProps : Ci(b.type, c2.memoizedProps);
                  d.componentDidUpdate(e2, c2.memoizedState, d.__reactInternalSnapshotBeforeUpdate);
                }
                var f3 = b.updateQueue;
                null !== f3 && sh(b, f3, d);
                break;
              case 3:
                var g2 = b.updateQueue;
                if (null !== g2) {
                  c2 = null;
                  if (null !== b.child) switch (b.child.tag) {
                    case 5:
                      c2 = b.child.stateNode;
                      break;
                    case 1:
                      c2 = b.child.stateNode;
                  }
                  sh(b, g2, c2);
                }
                break;
              case 5:
                var h2 = b.stateNode;
                if (null === c2 && b.flags & 4) {
                  c2 = h2;
                  var k = b.memoizedProps;
                  switch (b.type) {
                    case "button":
                    case "input":
                    case "select":
                    case "textarea":
                      k.autoFocus && c2.focus();
                      break;
                    case "img":
                      k.src && (c2.src = k.src);
                  }
                }
                break;
              case 6:
                break;
              case 4:
                break;
              case 12:
                break;
              case 13:
                if (null === b.memoizedState) {
                  var l = b.alternate;
                  if (null !== l) {
                    var m3 = l.memoizedState;
                    if (null !== m3) {
                      var q = m3.dehydrated;
                      null !== q && bd(q);
                    }
                  }
                }
                break;
              case 19:
              case 17:
              case 21:
              case 22:
              case 23:
              case 25:
                break;
              default:
                throw Error(p2(163));
            }
            U || b.flags & 512 && Rj(b);
          } catch (r2) {
            W(b, b.return, r2);
          }
        }
        if (b === a2) {
          V = null;
          break;
        }
        c2 = b.sibling;
        if (null !== c2) {
          c2.return = b.return;
          V = c2;
          break;
        }
        V = b.return;
      }
    }
    __name(kk, "kk");
    function gk(a2) {
      for (; null !== V; ) {
        var b = V;
        if (b === a2) {
          V = null;
          break;
        }
        var c2 = b.sibling;
        if (null !== c2) {
          c2.return = b.return;
          V = c2;
          break;
        }
        V = b.return;
      }
    }
    __name(gk, "gk");
    function jk(a2) {
      for (; null !== V; ) {
        var b = V;
        try {
          switch (b.tag) {
            case 0:
            case 11:
            case 15:
              var c2 = b.return;
              try {
                Qj(4, b);
              } catch (k) {
                W(b, c2, k);
              }
              break;
            case 1:
              var d = b.stateNode;
              if ("function" === typeof d.componentDidMount) {
                var e2 = b.return;
                try {
                  d.componentDidMount();
                } catch (k) {
                  W(b, e2, k);
                }
              }
              var f3 = b.return;
              try {
                Rj(b);
              } catch (k) {
                W(b, f3, k);
              }
              break;
            case 5:
              var g2 = b.return;
              try {
                Rj(b);
              } catch (k) {
                W(b, g2, k);
              }
          }
        } catch (k) {
          W(b, b.return, k);
        }
        if (b === a2) {
          V = null;
          break;
        }
        var h2 = b.sibling;
        if (null !== h2) {
          h2.return = b.return;
          V = h2;
          break;
        }
        V = b.return;
      }
    }
    __name(jk, "jk");
    var lk = Math.ceil;
    var mk = ua.ReactCurrentDispatcher;
    var nk = ua.ReactCurrentOwner;
    var ok = ua.ReactCurrentBatchConfig;
    var K2 = 0;
    var Q = null;
    var Y = null;
    var Z = 0;
    var fj = 0;
    var ej = Uf(0);
    var T2 = 0;
    var pk = null;
    var rh = 0;
    var qk = 0;
    var rk = 0;
    var sk = null;
    var tk = null;
    var fk = 0;
    var Gj = Infinity;
    var uk = null;
    var Oi = false;
    var Pi = null;
    var Ri = null;
    var vk = false;
    var wk = null;
    var xk = 0;
    var yk = 0;
    var zk = null;
    var Ak = -1;
    var Bk = 0;
    function R() {
      return 0 !== (K2 & 6) ? B2() : -1 !== Ak ? Ak : Ak = B2();
    }
    __name(R, "R");
    function yi(a2) {
      if (0 === (a2.mode & 1)) return 1;
      if (0 !== (K2 & 2) && 0 !== Z) return Z & -Z;
      if (null !== Kg.transition) return 0 === Bk && (Bk = yc()), Bk;
      a2 = C2;
      if (0 !== a2) return a2;
      a2 = window.event;
      a2 = void 0 === a2 ? 16 : jd(a2.type);
      return a2;
    }
    __name(yi, "yi");
    function gi(a2, b, c2, d) {
      if (50 < yk) throw yk = 0, zk = null, Error(p2(185));
      Ac(a2, c2, d);
      if (0 === (K2 & 2) || a2 !== Q) a2 === Q && (0 === (K2 & 2) && (qk |= c2), 4 === T2 && Ck(a2, Z)), Dk(a2, d), 1 === c2 && 0 === K2 && 0 === (b.mode & 1) && (Gj = B2() + 500, fg && jg());
    }
    __name(gi, "gi");
    function Dk(a2, b) {
      var c2 = a2.callbackNode;
      wc(a2, b);
      var d = uc(a2, a2 === Q ? Z : 0);
      if (0 === d) null !== c2 && bc(c2), a2.callbackNode = null, a2.callbackPriority = 0;
      else if (b = d & -d, a2.callbackPriority !== b) {
        null != c2 && bc(c2);
        if (1 === b) 0 === a2.tag ? ig(Ek.bind(null, a2)) : hg(Ek.bind(null, a2)), Jf(function() {
          0 === (K2 & 6) && jg();
        }), c2 = null;
        else {
          switch (Dc(d)) {
            case 1:
              c2 = fc;
              break;
            case 4:
              c2 = gc;
              break;
            case 16:
              c2 = hc;
              break;
            case 536870912:
              c2 = jc;
              break;
            default:
              c2 = hc;
          }
          c2 = Fk(c2, Gk.bind(null, a2));
        }
        a2.callbackPriority = b;
        a2.callbackNode = c2;
      }
    }
    __name(Dk, "Dk");
    function Gk(a2, b) {
      Ak = -1;
      Bk = 0;
      if (0 !== (K2 & 6)) throw Error(p2(327));
      var c2 = a2.callbackNode;
      if (Hk() && a2.callbackNode !== c2) return null;
      var d = uc(a2, a2 === Q ? Z : 0);
      if (0 === d) return null;
      if (0 !== (d & 30) || 0 !== (d & a2.expiredLanes) || b) b = Ik(a2, d);
      else {
        b = d;
        var e2 = K2;
        K2 |= 2;
        var f3 = Jk();
        if (Q !== a2 || Z !== b) uk = null, Gj = B2() + 500, Kk(a2, b);
        do
          try {
            Lk();
            break;
          } catch (h2) {
            Mk(a2, h2);
          }
        while (1);
        $g();
        mk.current = f3;
        K2 = e2;
        null !== Y ? b = 0 : (Q = null, Z = 0, b = T2);
      }
      if (0 !== b) {
        2 === b && (e2 = xc(a2), 0 !== e2 && (d = e2, b = Nk(a2, e2)));
        if (1 === b) throw c2 = pk, Kk(a2, 0), Ck(a2, d), Dk(a2, B2()), c2;
        if (6 === b) Ck(a2, d);
        else {
          e2 = a2.current.alternate;
          if (0 === (d & 30) && !Ok(e2) && (b = Ik(a2, d), 2 === b && (f3 = xc(a2), 0 !== f3 && (d = f3, b = Nk(a2, f3))), 1 === b)) throw c2 = pk, Kk(a2, 0), Ck(a2, d), Dk(a2, B2()), c2;
          a2.finishedWork = e2;
          a2.finishedLanes = d;
          switch (b) {
            case 0:
            case 1:
              throw Error(p2(345));
            case 2:
              Pk(a2, tk, uk);
              break;
            case 3:
              Ck(a2, d);
              if ((d & 130023424) === d && (b = fk + 500 - B2(), 10 < b)) {
                if (0 !== uc(a2, 0)) break;
                e2 = a2.suspendedLanes;
                if ((e2 & d) !== d) {
                  R();
                  a2.pingedLanes |= a2.suspendedLanes & e2;
                  break;
                }
                a2.timeoutHandle = Ff(Pk.bind(null, a2, tk, uk), b);
                break;
              }
              Pk(a2, tk, uk);
              break;
            case 4:
              Ck(a2, d);
              if ((d & 4194240) === d) break;
              b = a2.eventTimes;
              for (e2 = -1; 0 < d; ) {
                var g2 = 31 - oc(d);
                f3 = 1 << g2;
                g2 = b[g2];
                g2 > e2 && (e2 = g2);
                d &= ~f3;
              }
              d = e2;
              d = B2() - d;
              d = (120 > d ? 120 : 480 > d ? 480 : 1080 > d ? 1080 : 1920 > d ? 1920 : 3e3 > d ? 3e3 : 4320 > d ? 4320 : 1960 * lk(d / 1960)) - d;
              if (10 < d) {
                a2.timeoutHandle = Ff(Pk.bind(null, a2, tk, uk), d);
                break;
              }
              Pk(a2, tk, uk);
              break;
            case 5:
              Pk(a2, tk, uk);
              break;
            default:
              throw Error(p2(329));
          }
        }
      }
      Dk(a2, B2());
      return a2.callbackNode === c2 ? Gk.bind(null, a2) : null;
    }
    __name(Gk, "Gk");
    function Nk(a2, b) {
      var c2 = sk;
      a2.current.memoizedState.isDehydrated && (Kk(a2, b).flags |= 256);
      a2 = Ik(a2, b);
      2 !== a2 && (b = tk, tk = c2, null !== b && Fj(b));
      return a2;
    }
    __name(Nk, "Nk");
    function Fj(a2) {
      null === tk ? tk = a2 : tk.push.apply(tk, a2);
    }
    __name(Fj, "Fj");
    function Ok(a2) {
      for (var b = a2; ; ) {
        if (b.flags & 16384) {
          var c2 = b.updateQueue;
          if (null !== c2 && (c2 = c2.stores, null !== c2)) for (var d = 0; d < c2.length; d++) {
            var e2 = c2[d], f3 = e2.getSnapshot;
            e2 = e2.value;
            try {
              if (!He(f3(), e2)) return false;
            } catch (g2) {
              return false;
            }
          }
        }
        c2 = b.child;
        if (b.subtreeFlags & 16384 && null !== c2) c2.return = b, b = c2;
        else {
          if (b === a2) break;
          for (; null === b.sibling; ) {
            if (null === b.return || b.return === a2) return true;
            b = b.return;
          }
          b.sibling.return = b.return;
          b = b.sibling;
        }
      }
      return true;
    }
    __name(Ok, "Ok");
    function Ck(a2, b) {
      b &= ~rk;
      b &= ~qk;
      a2.suspendedLanes |= b;
      a2.pingedLanes &= ~b;
      for (a2 = a2.expirationTimes; 0 < b; ) {
        var c2 = 31 - oc(b), d = 1 << c2;
        a2[c2] = -1;
        b &= ~d;
      }
    }
    __name(Ck, "Ck");
    function Ek(a2) {
      if (0 !== (K2 & 6)) throw Error(p2(327));
      Hk();
      var b = uc(a2, 0);
      if (0 === (b & 1)) return Dk(a2, B2()), null;
      var c2 = Ik(a2, b);
      if (0 !== a2.tag && 2 === c2) {
        var d = xc(a2);
        0 !== d && (b = d, c2 = Nk(a2, d));
      }
      if (1 === c2) throw c2 = pk, Kk(a2, 0), Ck(a2, b), Dk(a2, B2()), c2;
      if (6 === c2) throw Error(p2(345));
      a2.finishedWork = a2.current.alternate;
      a2.finishedLanes = b;
      Pk(a2, tk, uk);
      Dk(a2, B2());
      return null;
    }
    __name(Ek, "Ek");
    function Qk(a2, b) {
      var c2 = K2;
      K2 |= 1;
      try {
        return a2(b);
      } finally {
        K2 = c2, 0 === K2 && (Gj = B2() + 500, fg && jg());
      }
    }
    __name(Qk, "Qk");
    function Rk(a2) {
      null !== wk && 0 === wk.tag && 0 === (K2 & 6) && Hk();
      var b = K2;
      K2 |= 1;
      var c2 = ok.transition, d = C2;
      try {
        if (ok.transition = null, C2 = 1, a2) return a2();
      } finally {
        C2 = d, ok.transition = c2, K2 = b, 0 === (K2 & 6) && jg();
      }
    }
    __name(Rk, "Rk");
    function Hj() {
      fj = ej.current;
      E(ej);
    }
    __name(Hj, "Hj");
    function Kk(a2, b) {
      a2.finishedWork = null;
      a2.finishedLanes = 0;
      var c2 = a2.timeoutHandle;
      -1 !== c2 && (a2.timeoutHandle = -1, Gf(c2));
      if (null !== Y) for (c2 = Y.return; null !== c2; ) {
        var d = c2;
        wg(d);
        switch (d.tag) {
          case 1:
            d = d.type.childContextTypes;
            null !== d && void 0 !== d && $f();
            break;
          case 3:
            zh();
            E(Wf);
            E(H);
            Eh();
            break;
          case 5:
            Bh(d);
            break;
          case 4:
            zh();
            break;
          case 13:
            E(L);
            break;
          case 19:
            E(L);
            break;
          case 10:
            ah(d.type._context);
            break;
          case 22:
          case 23:
            Hj();
        }
        c2 = c2.return;
      }
      Q = a2;
      Y = a2 = Pg(a2.current, null);
      Z = fj = b;
      T2 = 0;
      pk = null;
      rk = qk = rh = 0;
      tk = sk = null;
      if (null !== fh) {
        for (b = 0; b < fh.length; b++) if (c2 = fh[b], d = c2.interleaved, null !== d) {
          c2.interleaved = null;
          var e2 = d.next, f3 = c2.pending;
          if (null !== f3) {
            var g2 = f3.next;
            f3.next = e2;
            d.next = g2;
          }
          c2.pending = d;
        }
        fh = null;
      }
      return a2;
    }
    __name(Kk, "Kk");
    function Mk(a2, b) {
      do {
        var c2 = Y;
        try {
          $g();
          Fh.current = Rh;
          if (Ih) {
            for (var d = M.memoizedState; null !== d; ) {
              var e2 = d.queue;
              null !== e2 && (e2.pending = null);
              d = d.next;
            }
            Ih = false;
          }
          Hh = 0;
          O = N = M = null;
          Jh = false;
          Kh = 0;
          nk.current = null;
          if (null === c2 || null === c2.return) {
            T2 = 1;
            pk = b;
            Y = null;
            break;
          }
          a: {
            var f3 = a2, g2 = c2.return, h2 = c2, k = b;
            b = Z;
            h2.flags |= 32768;
            if (null !== k && "object" === typeof k && "function" === typeof k.then) {
              var l = k, m3 = h2, q = m3.tag;
              if (0 === (m3.mode & 1) && (0 === q || 11 === q || 15 === q)) {
                var r2 = m3.alternate;
                r2 ? (m3.updateQueue = r2.updateQueue, m3.memoizedState = r2.memoizedState, m3.lanes = r2.lanes) : (m3.updateQueue = null, m3.memoizedState = null);
              }
              var y = Ui(g2);
              if (null !== y) {
                y.flags &= -257;
                Vi(y, g2, h2, f3, b);
                y.mode & 1 && Si(f3, l, b);
                b = y;
                k = l;
                var n2 = b.updateQueue;
                if (null === n2) {
                  var t2 = /* @__PURE__ */ new Set();
                  t2.add(k);
                  b.updateQueue = t2;
                } else n2.add(k);
                break a;
              } else {
                if (0 === (b & 1)) {
                  Si(f3, l, b);
                  tj();
                  break a;
                }
                k = Error(p2(426));
              }
            } else if (I && h2.mode & 1) {
              var J = Ui(g2);
              if (null !== J) {
                0 === (J.flags & 65536) && (J.flags |= 256);
                Vi(J, g2, h2, f3, b);
                Jg(Ji(k, h2));
                break a;
              }
            }
            f3 = k = Ji(k, h2);
            4 !== T2 && (T2 = 2);
            null === sk ? sk = [f3] : sk.push(f3);
            f3 = g2;
            do {
              switch (f3.tag) {
                case 3:
                  f3.flags |= 65536;
                  b &= -b;
                  f3.lanes |= b;
                  var x = Ni(f3, k, b);
                  ph(f3, x);
                  break a;
                case 1:
                  h2 = k;
                  var w = f3.type, u2 = f3.stateNode;
                  if (0 === (f3.flags & 128) && ("function" === typeof w.getDerivedStateFromError || null !== u2 && "function" === typeof u2.componentDidCatch && (null === Ri || !Ri.has(u2)))) {
                    f3.flags |= 65536;
                    b &= -b;
                    f3.lanes |= b;
                    var F = Qi(f3, h2, b);
                    ph(f3, F);
                    break a;
                  }
              }
              f3 = f3.return;
            } while (null !== f3);
          }
          Sk(c2);
        } catch (na) {
          b = na;
          Y === c2 && null !== c2 && (Y = c2 = c2.return);
          continue;
        }
        break;
      } while (1);
    }
    __name(Mk, "Mk");
    function Jk() {
      var a2 = mk.current;
      mk.current = Rh;
      return null === a2 ? Rh : a2;
    }
    __name(Jk, "Jk");
    function tj() {
      if (0 === T2 || 3 === T2 || 2 === T2) T2 = 4;
      null === Q || 0 === (rh & 268435455) && 0 === (qk & 268435455) || Ck(Q, Z);
    }
    __name(tj, "tj");
    function Ik(a2, b) {
      var c2 = K2;
      K2 |= 2;
      var d = Jk();
      if (Q !== a2 || Z !== b) uk = null, Kk(a2, b);
      do
        try {
          Tk();
          break;
        } catch (e2) {
          Mk(a2, e2);
        }
      while (1);
      $g();
      K2 = c2;
      mk.current = d;
      if (null !== Y) throw Error(p2(261));
      Q = null;
      Z = 0;
      return T2;
    }
    __name(Ik, "Ik");
    function Tk() {
      for (; null !== Y; ) Uk(Y);
    }
    __name(Tk, "Tk");
    function Lk() {
      for (; null !== Y && !cc(); ) Uk(Y);
    }
    __name(Lk, "Lk");
    function Uk(a2) {
      var b = Vk(a2.alternate, a2, fj);
      a2.memoizedProps = a2.pendingProps;
      null === b ? Sk(a2) : Y = b;
      nk.current = null;
    }
    __name(Uk, "Uk");
    function Sk(a2) {
      var b = a2;
      do {
        var c2 = b.alternate;
        a2 = b.return;
        if (0 === (b.flags & 32768)) {
          if (c2 = Ej(c2, b, fj), null !== c2) {
            Y = c2;
            return;
          }
        } else {
          c2 = Ij(c2, b);
          if (null !== c2) {
            c2.flags &= 32767;
            Y = c2;
            return;
          }
          if (null !== a2) a2.flags |= 32768, a2.subtreeFlags = 0, a2.deletions = null;
          else {
            T2 = 6;
            Y = null;
            return;
          }
        }
        b = b.sibling;
        if (null !== b) {
          Y = b;
          return;
        }
        Y = b = a2;
      } while (null !== b);
      0 === T2 && (T2 = 5);
    }
    __name(Sk, "Sk");
    function Pk(a2, b, c2) {
      var d = C2, e2 = ok.transition;
      try {
        ok.transition = null, C2 = 1, Wk(a2, b, c2, d);
      } finally {
        ok.transition = e2, C2 = d;
      }
      return null;
    }
    __name(Pk, "Pk");
    function Wk(a2, b, c2, d) {
      do
        Hk();
      while (null !== wk);
      if (0 !== (K2 & 6)) throw Error(p2(327));
      c2 = a2.finishedWork;
      var e2 = a2.finishedLanes;
      if (null === c2) return null;
      a2.finishedWork = null;
      a2.finishedLanes = 0;
      if (c2 === a2.current) throw Error(p2(177));
      a2.callbackNode = null;
      a2.callbackPriority = 0;
      var f3 = c2.lanes | c2.childLanes;
      Bc(a2, f3);
      a2 === Q && (Y = Q = null, Z = 0);
      0 === (c2.subtreeFlags & 2064) && 0 === (c2.flags & 2064) || vk || (vk = true, Fk(hc, function() {
        Hk();
        return null;
      }));
      f3 = 0 !== (c2.flags & 15990);
      if (0 !== (c2.subtreeFlags & 15990) || f3) {
        f3 = ok.transition;
        ok.transition = null;
        var g2 = C2;
        C2 = 1;
        var h2 = K2;
        K2 |= 4;
        nk.current = null;
        Oj(a2, c2);
        dk(c2, a2);
        Oe(Df);
        dd = !!Cf;
        Df = Cf = null;
        a2.current = c2;
        hk(c2, a2, e2);
        dc();
        K2 = h2;
        C2 = g2;
        ok.transition = f3;
      } else a2.current = c2;
      vk && (vk = false, wk = a2, xk = e2);
      f3 = a2.pendingLanes;
      0 === f3 && (Ri = null);
      mc(c2.stateNode, d);
      Dk(a2, B2());
      if (null !== b) for (d = a2.onRecoverableError, c2 = 0; c2 < b.length; c2++) e2 = b[c2], d(e2.value, { componentStack: e2.stack, digest: e2.digest });
      if (Oi) throw Oi = false, a2 = Pi, Pi = null, a2;
      0 !== (xk & 1) && 0 !== a2.tag && Hk();
      f3 = a2.pendingLanes;
      0 !== (f3 & 1) ? a2 === zk ? yk++ : (yk = 0, zk = a2) : yk = 0;
      jg();
      return null;
    }
    __name(Wk, "Wk");
    function Hk() {
      if (null !== wk) {
        var a2 = Dc(xk), b = ok.transition, c2 = C2;
        try {
          ok.transition = null;
          C2 = 16 > a2 ? 16 : a2;
          if (null === wk) var d = false;
          else {
            a2 = wk;
            wk = null;
            xk = 0;
            if (0 !== (K2 & 6)) throw Error(p2(331));
            var e2 = K2;
            K2 |= 4;
            for (V = a2.current; null !== V; ) {
              var f3 = V, g2 = f3.child;
              if (0 !== (V.flags & 16)) {
                var h2 = f3.deletions;
                if (null !== h2) {
                  for (var k = 0; k < h2.length; k++) {
                    var l = h2[k];
                    for (V = l; null !== V; ) {
                      var m3 = V;
                      switch (m3.tag) {
                        case 0:
                        case 11:
                        case 15:
                          Pj(8, m3, f3);
                      }
                      var q = m3.child;
                      if (null !== q) q.return = m3, V = q;
                      else for (; null !== V; ) {
                        m3 = V;
                        var r2 = m3.sibling, y = m3.return;
                        Sj(m3);
                        if (m3 === l) {
                          V = null;
                          break;
                        }
                        if (null !== r2) {
                          r2.return = y;
                          V = r2;
                          break;
                        }
                        V = y;
                      }
                    }
                  }
                  var n2 = f3.alternate;
                  if (null !== n2) {
                    var t2 = n2.child;
                    if (null !== t2) {
                      n2.child = null;
                      do {
                        var J = t2.sibling;
                        t2.sibling = null;
                        t2 = J;
                      } while (null !== t2);
                    }
                  }
                  V = f3;
                }
              }
              if (0 !== (f3.subtreeFlags & 2064) && null !== g2) g2.return = f3, V = g2;
              else b: for (; null !== V; ) {
                f3 = V;
                if (0 !== (f3.flags & 2048)) switch (f3.tag) {
                  case 0:
                  case 11:
                  case 15:
                    Pj(9, f3, f3.return);
                }
                var x = f3.sibling;
                if (null !== x) {
                  x.return = f3.return;
                  V = x;
                  break b;
                }
                V = f3.return;
              }
            }
            var w = a2.current;
            for (V = w; null !== V; ) {
              g2 = V;
              var u2 = g2.child;
              if (0 !== (g2.subtreeFlags & 2064) && null !== u2) u2.return = g2, V = u2;
              else b: for (g2 = w; null !== V; ) {
                h2 = V;
                if (0 !== (h2.flags & 2048)) try {
                  switch (h2.tag) {
                    case 0:
                    case 11:
                    case 15:
                      Qj(9, h2);
                  }
                } catch (na) {
                  W(h2, h2.return, na);
                }
                if (h2 === g2) {
                  V = null;
                  break b;
                }
                var F = h2.sibling;
                if (null !== F) {
                  F.return = h2.return;
                  V = F;
                  break b;
                }
                V = h2.return;
              }
            }
            K2 = e2;
            jg();
            if (lc && "function" === typeof lc.onPostCommitFiberRoot) try {
              lc.onPostCommitFiberRoot(kc, a2);
            } catch (na) {
            }
            d = true;
          }
          return d;
        } finally {
          C2 = c2, ok.transition = b;
        }
      }
      return false;
    }
    __name(Hk, "Hk");
    function Xk(a2, b, c2) {
      b = Ji(c2, b);
      b = Ni(a2, b, 1);
      a2 = nh(a2, b, 1);
      b = R();
      null !== a2 && (Ac(a2, 1, b), Dk(a2, b));
    }
    __name(Xk, "Xk");
    function W(a2, b, c2) {
      if (3 === a2.tag) Xk(a2, a2, c2);
      else for (; null !== b; ) {
        if (3 === b.tag) {
          Xk(b, a2, c2);
          break;
        } else if (1 === b.tag) {
          var d = b.stateNode;
          if ("function" === typeof b.type.getDerivedStateFromError || "function" === typeof d.componentDidCatch && (null === Ri || !Ri.has(d))) {
            a2 = Ji(c2, a2);
            a2 = Qi(b, a2, 1);
            b = nh(b, a2, 1);
            a2 = R();
            null !== b && (Ac(b, 1, a2), Dk(b, a2));
            break;
          }
        }
        b = b.return;
      }
    }
    __name(W, "W");
    function Ti(a2, b, c2) {
      var d = a2.pingCache;
      null !== d && d.delete(b);
      b = R();
      a2.pingedLanes |= a2.suspendedLanes & c2;
      Q === a2 && (Z & c2) === c2 && (4 === T2 || 3 === T2 && (Z & 130023424) === Z && 500 > B2() - fk ? Kk(a2, 0) : rk |= c2);
      Dk(a2, b);
    }
    __name(Ti, "Ti");
    function Yk(a2, b) {
      0 === b && (0 === (a2.mode & 1) ? b = 1 : (b = sc, sc <<= 1, 0 === (sc & 130023424) && (sc = 4194304)));
      var c2 = R();
      a2 = ih(a2, b);
      null !== a2 && (Ac(a2, b, c2), Dk(a2, c2));
    }
    __name(Yk, "Yk");
    function uj(a2) {
      var b = a2.memoizedState, c2 = 0;
      null !== b && (c2 = b.retryLane);
      Yk(a2, c2);
    }
    __name(uj, "uj");
    function bk(a2, b) {
      var c2 = 0;
      switch (a2.tag) {
        case 13:
          var d = a2.stateNode;
          var e2 = a2.memoizedState;
          null !== e2 && (c2 = e2.retryLane);
          break;
        case 19:
          d = a2.stateNode;
          break;
        default:
          throw Error(p2(314));
      }
      null !== d && d.delete(b);
      Yk(a2, c2);
    }
    __name(bk, "bk");
    var Vk;
    Vk = /* @__PURE__ */ __name(function(a2, b, c2) {
      if (null !== a2) if (a2.memoizedProps !== b.pendingProps || Wf.current) dh = true;
      else {
        if (0 === (a2.lanes & c2) && 0 === (b.flags & 128)) return dh = false, yj(a2, b, c2);
        dh = 0 !== (a2.flags & 131072) ? true : false;
      }
      else dh = false, I && 0 !== (b.flags & 1048576) && ug(b, ng, b.index);
      b.lanes = 0;
      switch (b.tag) {
        case 2:
          var d = b.type;
          ij(a2, b);
          a2 = b.pendingProps;
          var e2 = Yf(b, H.current);
          ch(b, c2);
          e2 = Nh(null, b, d, a2, e2, c2);
          var f3 = Sh();
          b.flags |= 1;
          "object" === typeof e2 && null !== e2 && "function" === typeof e2.render && void 0 === e2.$$typeof ? (b.tag = 1, b.memoizedState = null, b.updateQueue = null, Zf(d) ? (f3 = true, cg(b)) : f3 = false, b.memoizedState = null !== e2.state && void 0 !== e2.state ? e2.state : null, kh(b), e2.updater = Ei, b.stateNode = e2, e2._reactInternals = b, Ii(b, d, a2, c2), b = jj(null, b, d, true, f3, c2)) : (b.tag = 0, I && f3 && vg(b), Xi(null, b, e2, c2), b = b.child);
          return b;
        case 16:
          d = b.elementType;
          a: {
            ij(a2, b);
            a2 = b.pendingProps;
            e2 = d._init;
            d = e2(d._payload);
            b.type = d;
            e2 = b.tag = Zk(d);
            a2 = Ci(d, a2);
            switch (e2) {
              case 0:
                b = cj(null, b, d, a2, c2);
                break a;
              case 1:
                b = hj(null, b, d, a2, c2);
                break a;
              case 11:
                b = Yi(null, b, d, a2, c2);
                break a;
              case 14:
                b = $i(null, b, d, Ci(d.type, a2), c2);
                break a;
            }
            throw Error(p2(
              306,
              d,
              ""
            ));
          }
          return b;
        case 0:
          return d = b.type, e2 = b.pendingProps, e2 = b.elementType === d ? e2 : Ci(d, e2), cj(a2, b, d, e2, c2);
        case 1:
          return d = b.type, e2 = b.pendingProps, e2 = b.elementType === d ? e2 : Ci(d, e2), hj(a2, b, d, e2, c2);
        case 3:
          a: {
            kj(b);
            if (null === a2) throw Error(p2(387));
            d = b.pendingProps;
            f3 = b.memoizedState;
            e2 = f3.element;
            lh(a2, b);
            qh(b, d, null, c2);
            var g2 = b.memoizedState;
            d = g2.element;
            if (f3.isDehydrated) if (f3 = { element: d, isDehydrated: false, cache: g2.cache, pendingSuspenseBoundaries: g2.pendingSuspenseBoundaries, transitions: g2.transitions }, b.updateQueue.baseState = f3, b.memoizedState = f3, b.flags & 256) {
              e2 = Ji(Error(p2(423)), b);
              b = lj(a2, b, d, c2, e2);
              break a;
            } else if (d !== e2) {
              e2 = Ji(Error(p2(424)), b);
              b = lj(a2, b, d, c2, e2);
              break a;
            } else for (yg = Lf(b.stateNode.containerInfo.firstChild), xg = b, I = true, zg = null, c2 = Vg(b, null, d, c2), b.child = c2; c2; ) c2.flags = c2.flags & -3 | 4096, c2 = c2.sibling;
            else {
              Ig();
              if (d === e2) {
                b = Zi(a2, b, c2);
                break a;
              }
              Xi(a2, b, d, c2);
            }
            b = b.child;
          }
          return b;
        case 5:
          return Ah(b), null === a2 && Eg(b), d = b.type, e2 = b.pendingProps, f3 = null !== a2 ? a2.memoizedProps : null, g2 = e2.children, Ef(d, e2) ? g2 = null : null !== f3 && Ef(d, f3) && (b.flags |= 32), gj(a2, b), Xi(a2, b, g2, c2), b.child;
        case 6:
          return null === a2 && Eg(b), null;
        case 13:
          return oj(a2, b, c2);
        case 4:
          return yh(b, b.stateNode.containerInfo), d = b.pendingProps, null === a2 ? b.child = Ug(b, null, d, c2) : Xi(a2, b, d, c2), b.child;
        case 11:
          return d = b.type, e2 = b.pendingProps, e2 = b.elementType === d ? e2 : Ci(d, e2), Yi(a2, b, d, e2, c2);
        case 7:
          return Xi(a2, b, b.pendingProps, c2), b.child;
        case 8:
          return Xi(a2, b, b.pendingProps.children, c2), b.child;
        case 12:
          return Xi(a2, b, b.pendingProps.children, c2), b.child;
        case 10:
          a: {
            d = b.type._context;
            e2 = b.pendingProps;
            f3 = b.memoizedProps;
            g2 = e2.value;
            G(Wg, d._currentValue);
            d._currentValue = g2;
            if (null !== f3) if (He(f3.value, g2)) {
              if (f3.children === e2.children && !Wf.current) {
                b = Zi(a2, b, c2);
                break a;
              }
            } else for (f3 = b.child, null !== f3 && (f3.return = b); null !== f3; ) {
              var h2 = f3.dependencies;
              if (null !== h2) {
                g2 = f3.child;
                for (var k = h2.firstContext; null !== k; ) {
                  if (k.context === d) {
                    if (1 === f3.tag) {
                      k = mh(-1, c2 & -c2);
                      k.tag = 2;
                      var l = f3.updateQueue;
                      if (null !== l) {
                        l = l.shared;
                        var m3 = l.pending;
                        null === m3 ? k.next = k : (k.next = m3.next, m3.next = k);
                        l.pending = k;
                      }
                    }
                    f3.lanes |= c2;
                    k = f3.alternate;
                    null !== k && (k.lanes |= c2);
                    bh(
                      f3.return,
                      c2,
                      b
                    );
                    h2.lanes |= c2;
                    break;
                  }
                  k = k.next;
                }
              } else if (10 === f3.tag) g2 = f3.type === b.type ? null : f3.child;
              else if (18 === f3.tag) {
                g2 = f3.return;
                if (null === g2) throw Error(p2(341));
                g2.lanes |= c2;
                h2 = g2.alternate;
                null !== h2 && (h2.lanes |= c2);
                bh(g2, c2, b);
                g2 = f3.sibling;
              } else g2 = f3.child;
              if (null !== g2) g2.return = f3;
              else for (g2 = f3; null !== g2; ) {
                if (g2 === b) {
                  g2 = null;
                  break;
                }
                f3 = g2.sibling;
                if (null !== f3) {
                  f3.return = g2.return;
                  g2 = f3;
                  break;
                }
                g2 = g2.return;
              }
              f3 = g2;
            }
            Xi(a2, b, e2.children, c2);
            b = b.child;
          }
          return b;
        case 9:
          return e2 = b.type, d = b.pendingProps.children, ch(b, c2), e2 = eh(e2), d = d(e2), b.flags |= 1, Xi(a2, b, d, c2), b.child;
        case 14:
          return d = b.type, e2 = Ci(d, b.pendingProps), e2 = Ci(d.type, e2), $i(a2, b, d, e2, c2);
        case 15:
          return bj(a2, b, b.type, b.pendingProps, c2);
        case 17:
          return d = b.type, e2 = b.pendingProps, e2 = b.elementType === d ? e2 : Ci(d, e2), ij(a2, b), b.tag = 1, Zf(d) ? (a2 = true, cg(b)) : a2 = false, ch(b, c2), Gi(b, d, e2), Ii(b, d, e2, c2), jj(null, b, d, true, a2, c2);
        case 19:
          return xj(a2, b, c2);
        case 22:
          return dj(a2, b, c2);
      }
      throw Error(p2(156, b.tag));
    }, "Vk");
    function Fk(a2, b) {
      return ac(a2, b);
    }
    __name(Fk, "Fk");
    function $k(a2, b, c2, d) {
      this.tag = a2;
      this.key = c2;
      this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null;
      this.index = 0;
      this.ref = null;
      this.pendingProps = b;
      this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null;
      this.mode = d;
      this.subtreeFlags = this.flags = 0;
      this.deletions = null;
      this.childLanes = this.lanes = 0;
      this.alternate = null;
    }
    __name($k, "$k");
    function Bg(a2, b, c2, d) {
      return new $k(a2, b, c2, d);
    }
    __name(Bg, "Bg");
    function aj(a2) {
      a2 = a2.prototype;
      return !(!a2 || !a2.isReactComponent);
    }
    __name(aj, "aj");
    function Zk(a2) {
      if ("function" === typeof a2) return aj(a2) ? 1 : 0;
      if (void 0 !== a2 && null !== a2) {
        a2 = a2.$$typeof;
        if (a2 === Da) return 11;
        if (a2 === Ga) return 14;
      }
      return 2;
    }
    __name(Zk, "Zk");
    function Pg(a2, b) {
      var c2 = a2.alternate;
      null === c2 ? (c2 = Bg(a2.tag, b, a2.key, a2.mode), c2.elementType = a2.elementType, c2.type = a2.type, c2.stateNode = a2.stateNode, c2.alternate = a2, a2.alternate = c2) : (c2.pendingProps = b, c2.type = a2.type, c2.flags = 0, c2.subtreeFlags = 0, c2.deletions = null);
      c2.flags = a2.flags & 14680064;
      c2.childLanes = a2.childLanes;
      c2.lanes = a2.lanes;
      c2.child = a2.child;
      c2.memoizedProps = a2.memoizedProps;
      c2.memoizedState = a2.memoizedState;
      c2.updateQueue = a2.updateQueue;
      b = a2.dependencies;
      c2.dependencies = null === b ? null : { lanes: b.lanes, firstContext: b.firstContext };
      c2.sibling = a2.sibling;
      c2.index = a2.index;
      c2.ref = a2.ref;
      return c2;
    }
    __name(Pg, "Pg");
    function Rg(a2, b, c2, d, e2, f3) {
      var g2 = 2;
      d = a2;
      if ("function" === typeof a2) aj(a2) && (g2 = 1);
      else if ("string" === typeof a2) g2 = 5;
      else a: switch (a2) {
        case ya:
          return Tg(c2.children, e2, f3, b);
        case za:
          g2 = 8;
          e2 |= 8;
          break;
        case Aa:
          return a2 = Bg(12, c2, b, e2 | 2), a2.elementType = Aa, a2.lanes = f3, a2;
        case Ea:
          return a2 = Bg(13, c2, b, e2), a2.elementType = Ea, a2.lanes = f3, a2;
        case Fa:
          return a2 = Bg(19, c2, b, e2), a2.elementType = Fa, a2.lanes = f3, a2;
        case Ia:
          return pj(c2, e2, f3, b);
        default:
          if ("object" === typeof a2 && null !== a2) switch (a2.$$typeof) {
            case Ba:
              g2 = 10;
              break a;
            case Ca:
              g2 = 9;
              break a;
            case Da:
              g2 = 11;
              break a;
            case Ga:
              g2 = 14;
              break a;
            case Ha:
              g2 = 16;
              d = null;
              break a;
          }
          throw Error(p2(130, null == a2 ? a2 : typeof a2, ""));
      }
      b = Bg(g2, c2, b, e2);
      b.elementType = a2;
      b.type = d;
      b.lanes = f3;
      return b;
    }
    __name(Rg, "Rg");
    function Tg(a2, b, c2, d) {
      a2 = Bg(7, a2, d, b);
      a2.lanes = c2;
      return a2;
    }
    __name(Tg, "Tg");
    function pj(a2, b, c2, d) {
      a2 = Bg(22, a2, d, b);
      a2.elementType = Ia;
      a2.lanes = c2;
      a2.stateNode = { isHidden: false };
      return a2;
    }
    __name(pj, "pj");
    function Qg(a2, b, c2) {
      a2 = Bg(6, a2, null, b);
      a2.lanes = c2;
      return a2;
    }
    __name(Qg, "Qg");
    function Sg(a2, b, c2) {
      b = Bg(4, null !== a2.children ? a2.children : [], a2.key, b);
      b.lanes = c2;
      b.stateNode = { containerInfo: a2.containerInfo, pendingChildren: null, implementation: a2.implementation };
      return b;
    }
    __name(Sg, "Sg");
    function al(a2, b, c2, d, e2) {
      this.tag = b;
      this.containerInfo = a2;
      this.finishedWork = this.pingCache = this.current = this.pendingChildren = null;
      this.timeoutHandle = -1;
      this.callbackNode = this.pendingContext = this.context = null;
      this.callbackPriority = 0;
      this.eventTimes = zc(0);
      this.expirationTimes = zc(-1);
      this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0;
      this.entanglements = zc(0);
      this.identifierPrefix = d;
      this.onRecoverableError = e2;
      this.mutableSourceEagerHydrationData = null;
    }
    __name(al, "al");
    function bl(a2, b, c2, d, e2, f3, g2, h2, k) {
      a2 = new al(a2, b, c2, h2, k);
      1 === b ? (b = 1, true === f3 && (b |= 8)) : b = 0;
      f3 = Bg(3, null, null, b);
      a2.current = f3;
      f3.stateNode = a2;
      f3.memoizedState = { element: d, isDehydrated: c2, cache: null, transitions: null, pendingSuspenseBoundaries: null };
      kh(f3);
      return a2;
    }
    __name(bl, "bl");
    function cl(a2, b, c2) {
      var d = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
      return { $$typeof: wa, key: null == d ? null : "" + d, children: a2, containerInfo: b, implementation: c2 };
    }
    __name(cl, "cl");
    function dl(a2) {
      if (!a2) return Vf;
      a2 = a2._reactInternals;
      a: {
        if (Vb(a2) !== a2 || 1 !== a2.tag) throw Error(p2(170));
        var b = a2;
        do {
          switch (b.tag) {
            case 3:
              b = b.stateNode.context;
              break a;
            case 1:
              if (Zf(b.type)) {
                b = b.stateNode.__reactInternalMemoizedMergedChildContext;
                break a;
              }
          }
          b = b.return;
        } while (null !== b);
        throw Error(p2(171));
      }
      if (1 === a2.tag) {
        var c2 = a2.type;
        if (Zf(c2)) return bg(a2, c2, b);
      }
      return b;
    }
    __name(dl, "dl");
    function el(a2, b, c2, d, e2, f3, g2, h2, k) {
      a2 = bl(c2, d, true, a2, e2, f3, g2, h2, k);
      a2.context = dl(null);
      c2 = a2.current;
      d = R();
      e2 = yi(c2);
      f3 = mh(d, e2);
      f3.callback = void 0 !== b && null !== b ? b : null;
      nh(c2, f3, e2);
      a2.current.lanes = e2;
      Ac(a2, e2, d);
      Dk(a2, d);
      return a2;
    }
    __name(el, "el");
    function fl(a2, b, c2, d) {
      var e2 = b.current, f3 = R(), g2 = yi(e2);
      c2 = dl(c2);
      null === b.context ? b.context = c2 : b.pendingContext = c2;
      b = mh(f3, g2);
      b.payload = { element: a2 };
      d = void 0 === d ? null : d;
      null !== d && (b.callback = d);
      a2 = nh(e2, b, g2);
      null !== a2 && (gi(a2, e2, g2, f3), oh(a2, e2, g2));
      return g2;
    }
    __name(fl, "fl");
    function gl(a2) {
      a2 = a2.current;
      if (!a2.child) return null;
      switch (a2.child.tag) {
        case 5:
          return a2.child.stateNode;
        default:
          return a2.child.stateNode;
      }
    }
    __name(gl, "gl");
    function hl(a2, b) {
      a2 = a2.memoizedState;
      if (null !== a2 && null !== a2.dehydrated) {
        var c2 = a2.retryLane;
        a2.retryLane = 0 !== c2 && c2 < b ? c2 : b;
      }
    }
    __name(hl, "hl");
    function il(a2, b) {
      hl(a2, b);
      (a2 = a2.alternate) && hl(a2, b);
    }
    __name(il, "il");
    function jl() {
      return null;
    }
    __name(jl, "jl");
    var kl = "function" === typeof reportError ? reportError : function(a2) {
      console.error(a2);
    };
    function ll(a2) {
      this._internalRoot = a2;
    }
    __name(ll, "ll");
    ml.prototype.render = ll.prototype.render = function(a2) {
      var b = this._internalRoot;
      if (null === b) throw Error(p2(409));
      fl(a2, b, null, null);
    };
    ml.prototype.unmount = ll.prototype.unmount = function() {
      var a2 = this._internalRoot;
      if (null !== a2) {
        this._internalRoot = null;
        var b = a2.containerInfo;
        Rk(function() {
          fl(null, a2, null, null);
        });
        b[uf] = null;
      }
    };
    function ml(a2) {
      this._internalRoot = a2;
    }
    __name(ml, "ml");
    ml.prototype.unstable_scheduleHydration = function(a2) {
      if (a2) {
        var b = Hc();
        a2 = { blockedOn: null, target: a2, priority: b };
        for (var c2 = 0; c2 < Qc.length && 0 !== b && b < Qc[c2].priority; c2++) ;
        Qc.splice(c2, 0, a2);
        0 === c2 && Vc(a2);
      }
    };
    function nl(a2) {
      return !(!a2 || 1 !== a2.nodeType && 9 !== a2.nodeType && 11 !== a2.nodeType);
    }
    __name(nl, "nl");
    function ol(a2) {
      return !(!a2 || 1 !== a2.nodeType && 9 !== a2.nodeType && 11 !== a2.nodeType && (8 !== a2.nodeType || " react-mount-point-unstable " !== a2.nodeValue));
    }
    __name(ol, "ol");
    function pl() {
    }
    __name(pl, "pl");
    function ql(a2, b, c2, d, e2) {
      if (e2) {
        if ("function" === typeof d) {
          var f3 = d;
          d = /* @__PURE__ */ __name(function() {
            var a3 = gl(g2);
            f3.call(a3);
          }, "d");
        }
        var g2 = el(b, d, a2, 0, null, false, false, "", pl);
        a2._reactRootContainer = g2;
        a2[uf] = g2.current;
        sf(8 === a2.nodeType ? a2.parentNode : a2);
        Rk();
        return g2;
      }
      for (; e2 = a2.lastChild; ) a2.removeChild(e2);
      if ("function" === typeof d) {
        var h2 = d;
        d = /* @__PURE__ */ __name(function() {
          var a3 = gl(k);
          h2.call(a3);
        }, "d");
      }
      var k = bl(a2, 0, false, null, null, false, false, "", pl);
      a2._reactRootContainer = k;
      a2[uf] = k.current;
      sf(8 === a2.nodeType ? a2.parentNode : a2);
      Rk(function() {
        fl(b, k, c2, d);
      });
      return k;
    }
    __name(ql, "ql");
    function rl(a2, b, c2, d, e2) {
      var f3 = c2._reactRootContainer;
      if (f3) {
        var g2 = f3;
        if ("function" === typeof e2) {
          var h2 = e2;
          e2 = /* @__PURE__ */ __name(function() {
            var a3 = gl(g2);
            h2.call(a3);
          }, "e");
        }
        fl(b, g2, a2, e2);
      } else g2 = ql(c2, b, a2, e2, d);
      return gl(g2);
    }
    __name(rl, "rl");
    Ec = /* @__PURE__ */ __name(function(a2) {
      switch (a2.tag) {
        case 3:
          var b = a2.stateNode;
          if (b.current.memoizedState.isDehydrated) {
            var c2 = tc(b.pendingLanes);
            0 !== c2 && (Cc(b, c2 | 1), Dk(b, B2()), 0 === (K2 & 6) && (Gj = B2() + 500, jg()));
          }
          break;
        case 13:
          Rk(function() {
            var b2 = ih(a2, 1);
            if (null !== b2) {
              var c3 = R();
              gi(b2, a2, 1, c3);
            }
          }), il(a2, 1);
      }
    }, "Ec");
    Fc = /* @__PURE__ */ __name(function(a2) {
      if (13 === a2.tag) {
        var b = ih(a2, 134217728);
        if (null !== b) {
          var c2 = R();
          gi(b, a2, 134217728, c2);
        }
        il(a2, 134217728);
      }
    }, "Fc");
    Gc = /* @__PURE__ */ __name(function(a2) {
      if (13 === a2.tag) {
        var b = yi(a2), c2 = ih(a2, b);
        if (null !== c2) {
          var d = R();
          gi(c2, a2, b, d);
        }
        il(a2, b);
      }
    }, "Gc");
    Hc = /* @__PURE__ */ __name(function() {
      return C2;
    }, "Hc");
    Ic = /* @__PURE__ */ __name(function(a2, b) {
      var c2 = C2;
      try {
        return C2 = a2, b();
      } finally {
        C2 = c2;
      }
    }, "Ic");
    yb = /* @__PURE__ */ __name(function(a2, b, c2) {
      switch (b) {
        case "input":
          bb(a2, c2);
          b = c2.name;
          if ("radio" === c2.type && null != b) {
            for (c2 = a2; c2.parentNode; ) c2 = c2.parentNode;
            c2 = c2.querySelectorAll("input[name=" + JSON.stringify("" + b) + '][type="radio"]');
            for (b = 0; b < c2.length; b++) {
              var d = c2[b];
              if (d !== a2 && d.form === a2.form) {
                var e2 = Db(d);
                if (!e2) throw Error(p2(90));
                Wa(d);
                bb(d, e2);
              }
            }
          }
          break;
        case "textarea":
          ib(a2, c2);
          break;
        case "select":
          b = c2.value, null != b && fb(a2, !!c2.multiple, b, false);
      }
    }, "yb");
    Gb = Qk;
    Hb = Rk;
    var sl = { usingClientEntryPoint: false, Events: [Cb, ue, Db, Eb, Fb, Qk] };
    var tl = { findFiberByHostInstance: Wc, bundleType: 0, version: "18.3.1", rendererPackageName: "react-dom" };
    var ul = { bundleType: tl.bundleType, version: tl.version, rendererPackageName: tl.rendererPackageName, rendererConfig: tl.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: ua.ReactCurrentDispatcher, findHostInstanceByFiber: /* @__PURE__ */ __name(function(a2) {
      a2 = Zb(a2);
      return null === a2 ? null : a2.stateNode;
    }, "findHostInstanceByFiber"), findFiberByHostInstance: tl.findFiberByHostInstance || jl, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.3.1-next-f1338f8080-20240426" };
    if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
      vl = __REACT_DEVTOOLS_GLOBAL_HOOK__;
      if (!vl.isDisabled && vl.supportsFiber) try {
        kc = vl.inject(ul), lc = vl;
      } catch (a2) {
      }
    }
    var vl;
    exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = sl;
    exports.createPortal = function(a2, b) {
      var c2 = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
      if (!nl(b)) throw Error(p2(200));
      return cl(a2, b, null, c2);
    };
    exports.createRoot = function(a2, b) {
      if (!nl(a2)) throw Error(p2(299));
      var c2 = false, d = "", e2 = kl;
      null !== b && void 0 !== b && (true === b.unstable_strictMode && (c2 = true), void 0 !== b.identifierPrefix && (d = b.identifierPrefix), void 0 !== b.onRecoverableError && (e2 = b.onRecoverableError));
      b = bl(a2, 1, false, null, null, c2, false, d, e2);
      a2[uf] = b.current;
      sf(8 === a2.nodeType ? a2.parentNode : a2);
      return new ll(b);
    };
    exports.findDOMNode = function(a2) {
      if (null == a2) return null;
      if (1 === a2.nodeType) return a2;
      var b = a2._reactInternals;
      if (void 0 === b) {
        if ("function" === typeof a2.render) throw Error(p2(188));
        a2 = Object.keys(a2).join(",");
        throw Error(p2(268, a2));
      }
      a2 = Zb(b);
      a2 = null === a2 ? null : a2.stateNode;
      return a2;
    };
    exports.flushSync = function(a2) {
      return Rk(a2);
    };
    exports.hydrate = function(a2, b, c2) {
      if (!ol(b)) throw Error(p2(200));
      return rl(null, a2, b, true, c2);
    };
    exports.hydrateRoot = function(a2, b, c2) {
      if (!nl(a2)) throw Error(p2(405));
      var d = null != c2 && c2.hydratedSources || null, e2 = false, f3 = "", g2 = kl;
      null !== c2 && void 0 !== c2 && (true === c2.unstable_strictMode && (e2 = true), void 0 !== c2.identifierPrefix && (f3 = c2.identifierPrefix), void 0 !== c2.onRecoverableError && (g2 = c2.onRecoverableError));
      b = el(b, null, a2, 1, null != c2 ? c2 : null, e2, false, f3, g2);
      a2[uf] = b.current;
      sf(a2);
      if (d) for (a2 = 0; a2 < d.length; a2++) c2 = d[a2], e2 = c2._getVersion, e2 = e2(c2._source), null == b.mutableSourceEagerHydrationData ? b.mutableSourceEagerHydrationData = [c2, e2] : b.mutableSourceEagerHydrationData.push(
        c2,
        e2
      );
      return new ml(b);
    };
    exports.render = function(a2, b, c2) {
      if (!ol(b)) throw Error(p2(200));
      return rl(null, a2, b, false, c2);
    };
    exports.unmountComponentAtNode = function(a2) {
      if (!ol(a2)) throw Error(p2(40));
      return a2._reactRootContainer ? (Rk(function() {
        rl(null, null, a2, false, function() {
          a2._reactRootContainer = null;
          a2[uf] = null;
        });
      }), true) : false;
    };
    exports.unstable_batchedUpdates = Qk;
    exports.unstable_renderSubtreeIntoContainer = function(a2, b, c2, d) {
      if (!ol(c2)) throw Error(p2(200));
      if (null == a2 || void 0 === a2._reactInternals) throw Error(p2(38));
      return rl(a2, b, c2, false, d);
    };
    exports.version = "18.3.1-next-f1338f8080-20240426";
  }
});

// ../node_modules/react-dom/index.js
var require_react_dom = __commonJS({
  "../node_modules/react-dom/index.js"(exports, module2) {
    "use strict";
    function checkDCE() {
      if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === "undefined" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== "function") {
        return;
      }
      if (false) {
        throw new Error("^_^");
      }
      try {
        __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);
      } catch (err) {
        console.error(err);
      }
    }
    __name(checkDCE, "checkDCE");
    if (true) {
      checkDCE();
      module2.exports = require_react_dom_production_min();
    } else {
      module2.exports = null;
    }
  }
});

// ../node_modules/react-dom/client.js
var require_client = __commonJS({
  "../node_modules/react-dom/client.js"(exports) {
    "use strict";
    var m3 = require_react_dom();
    if (true) {
      exports.createRoot = m3.createRoot;
      exports.hydrateRoot = m3.hydrateRoot;
    } else {
      i2 = m3.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
      exports.createRoot = function(c2, o2) {
        i2.usingClientEntryPoint = true;
        try {
          return m3.createRoot(c2, o2);
        } finally {
          i2.usingClientEntryPoint = false;
        }
      };
      exports.hydrateRoot = function(c2, h2, o2) {
        i2.usingClientEntryPoint = true;
        try {
          return m3.hydrateRoot(c2, h2, o2);
        } finally {
          i2.usingClientEntryPoint = false;
        }
      };
    }
    var i2;
  }
});

// ../node_modules/@storybook/global/dist/index.mjs
var scope;
var init_dist = __esm({
  "../node_modules/@storybook/global/dist/index.mjs"() {
    scope = (() => {
      let win;
      if (typeof window !== "undefined") {
        win = window;
      } else if (typeof globalThis !== "undefined") {
        win = globalThis;
      } else if (typeof global !== "undefined") {
        win = global;
      } else if (typeof self !== "undefined") {
        win = self;
      } else {
        win = {};
      }
      return win;
    })();
  }
});

// ../node_modules/ts-dedent/esm/index.js
function dedent(templ) {
  var values = [];
  for (var _i = 1; _i < arguments.length; _i++) {
    values[_i - 1] = arguments[_i];
  }
  var strings = Array.from(typeof templ === "string" ? [templ] : templ);
  strings[strings.length - 1] = strings[strings.length - 1].replace(/\r?\n([\t ]*)$/, "");
  var indentLengths = strings.reduce(function(arr, str2) {
    var matches4 = str2.match(/\n([\t ]+|(?!\s).)/g);
    if (matches4) {
      return arr.concat(matches4.map(function(match3) {
        var _a3, _b;
        return (_b = (_a3 = match3.match(/[\t ]/g)) === null || _a3 === void 0 ? void 0 : _a3.length) !== null && _b !== void 0 ? _b : 0;
      }));
    }
    return arr;
  }, []);
  if (indentLengths.length) {
    var pattern_1 = new RegExp("\n[	 ]{" + Math.min.apply(Math, indentLengths) + "}", "g");
    strings = strings.map(function(str2) {
      return str2.replace(pattern_1, "\n");
    });
  }
  strings[0] = strings[0].replace(/^\r?\n/, "");
  var string = strings[0];
  values.forEach(function(value, i2) {
    var endentations = string.match(/(?:^|\n)( *)$/);
    var endentation = endentations ? endentations[1] : "";
    var indentedValue = value;
    if (typeof value === "string" && value.includes("\n")) {
      indentedValue = String(value).split("\n").map(function(str2, i3) {
        return i3 === 0 ? str2 : "" + endentation + str2;
      }).join("\n");
    }
    string += indentedValue + strings[i2 + 1];
  });
  return string;
}
var init_esm = __esm({
  "../node_modules/ts-dedent/esm/index.js"() {
    __name(dedent, "dedent");
  }
});

// src/client-logger/index.ts
var client_logger_exports = {};
__export(client_logger_exports, {
  deprecate: () => deprecate,
  logger: () => logger,
  once: () => once,
  pretty: () => pretty
});
var LOGLEVEL, levels, currentLogLevelString, currentLogLevelNumber, logger, logged, once, deprecate, pretty;
var init_client_logger = __esm({
  "src/client-logger/index.ts"() {
    "use strict";
    init_dist();
    ({ LOGLEVEL } = scope);
    levels = {
      trace: 1,
      debug: 2,
      info: 3,
      warn: 4,
      error: 5,
      silent: 10
    };
    currentLogLevelString = LOGLEVEL;
    currentLogLevelNumber = levels[currentLogLevelString] || levels.info;
    logger = {
      trace: /* @__PURE__ */ __name((message, ...rest) => {
        if (currentLogLevelNumber <= levels.trace) {
          console.trace(message, ...rest);
        }
      }, "trace"),
      debug: /* @__PURE__ */ __name((message, ...rest) => {
        if (currentLogLevelNumber <= levels.debug) {
          console.debug(message, ...rest);
        }
      }, "debug"),
      info: /* @__PURE__ */ __name((message, ...rest) => {
        if (currentLogLevelNumber <= levels.info) {
          console.info(message, ...rest);
        }
      }, "info"),
      warn: /* @__PURE__ */ __name((message, ...rest) => {
        if (currentLogLevelNumber <= levels.warn) {
          console.warn(message, ...rest);
        }
      }, "warn"),
      error: /* @__PURE__ */ __name((message, ...rest) => {
        if (currentLogLevelNumber <= levels.error) {
          console.error(message, ...rest);
        }
      }, "error"),
      log: /* @__PURE__ */ __name((message, ...rest) => {
        if (currentLogLevelNumber < levels.silent) {
          console.log(message, ...rest);
        }
      }, "log")
    };
    logged = /* @__PURE__ */ new Set();
    once = /* @__PURE__ */ __name((type5) => (message, ...rest) => {
      if (logged.has(message)) {
        return void 0;
      }
      logged.add(message);
      return logger[type5](message, ...rest);
    }, "once");
    once.clear = () => logged.clear();
    once.trace = once("trace");
    once.debug = once("debug");
    once.info = once("info");
    once.warn = once("warn");
    once.error = once("error");
    once.log = once("log");
    deprecate = once("warn");
    pretty = /* @__PURE__ */ __name((type5) => (...args) => {
      const argArray = [];
      if (args.length) {
        const startTagRe = /<span\s+style=(['"])([^'"]*)\1\s*>/gi;
        const endTagRe = /<\/span>/gi;
        let reResultArray;
        argArray.push(args[0].replace(startTagRe, "%c").replace(endTagRe, "%c"));
        while (reResultArray = startTagRe.exec(args[0])) {
          argArray.push(reResultArray[2]);
          argArray.push("");
        }
        for (let j = 1; j < args.length; j++) {
          argArray.push(args[j]);
        }
      }
      logger[type5].apply(logger, argArray);
    }, "pretty");
    pretty.trace = pretty("trace");
    pretty.debug = pretty("debug");
    pretty.info = pretty("info");
    pretty.warn = pretty("warn");
    pretty.error = pretty("error");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/extends.js
function _extends() {
  return _extends = Object.assign ? Object.assign.bind() : function(n2) {
    for (var e2 = 1; e2 < arguments.length; e2++) {
      var t2 = arguments[e2];
      for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n2[r2] = t2[r2]);
    }
    return n2;
  }, _extends.apply(null, arguments);
}
var init_extends = __esm({
  "../node_modules/@babel/runtime/helpers/esm/extends.js"() {
    __name(_extends, "_extends");
  }
});

// ../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js
function sheetForTag(tag) {
  if (tag.sheet) {
    return tag.sheet;
  }
  for (var i2 = 0; i2 < document.styleSheets.length; i2++) {
    if (document.styleSheets[i2].ownerNode === tag) {
      return document.styleSheets[i2];
    }
  }
  return void 0;
}
function createStyleElement(options) {
  var tag = document.createElement("style");
  tag.setAttribute("data-emotion", options.key);
  if (options.nonce !== void 0) {
    tag.setAttribute("nonce", options.nonce);
  }
  tag.appendChild(document.createTextNode(""));
  tag.setAttribute("data-s", "");
  return tag;
}
var isDevelopment, StyleSheet;
var init_emotion_sheet_esm = __esm({
  "../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js"() {
    isDevelopment = false;
    __name(sheetForTag, "sheetForTag");
    __name(createStyleElement, "createStyleElement");
    StyleSheet = function() {
      function StyleSheet2(options) {
        var _this = this;
        this._insertTag = function(tag) {
          var before;
          if (_this.tags.length === 0) {
            if (_this.insertionPoint) {
              before = _this.insertionPoint.nextSibling;
            } else if (_this.prepend) {
              before = _this.container.firstChild;
            } else {
              before = _this.before;
            }
          } else {
            before = _this.tags[_this.tags.length - 1].nextSibling;
          }
          _this.container.insertBefore(tag, before);
          _this.tags.push(tag);
        };
        this.isSpeedy = options.speedy === void 0 ? !isDevelopment : options.speedy;
        this.tags = [];
        this.ctr = 0;
        this.nonce = options.nonce;
        this.key = options.key;
        this.container = options.container;
        this.prepend = options.prepend;
        this.insertionPoint = options.insertionPoint;
        this.before = null;
      }
      __name(StyleSheet2, "StyleSheet");
      var _proto = StyleSheet2.prototype;
      _proto.hydrate = /* @__PURE__ */ __name(function hydrate(nodes) {
        nodes.forEach(this._insertTag);
      }, "hydrate");
      _proto.insert = /* @__PURE__ */ __name(function insert(rule) {
        if (this.ctr % (this.isSpeedy ? 65e3 : 1) === 0) {
          this._insertTag(createStyleElement(this));
        }
        var tag = this.tags[this.tags.length - 1];
        if (this.isSpeedy) {
          var sheet = sheetForTag(tag);
          try {
            sheet.insertRule(rule, sheet.cssRules.length);
          } catch (e2) {
          }
        } else {
          tag.appendChild(document.createTextNode(rule));
        }
        this.ctr++;
      }, "insert");
      _proto.flush = /* @__PURE__ */ __name(function flush() {
        this.tags.forEach(function(tag) {
          var _tag$parentNode;
          return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);
        });
        this.tags = [];
        this.ctr = 0;
      }, "flush");
      return StyleSheet2;
    }();
  }
});

// ../node_modules/stylis/src/Enum.js
var MS, MOZ, WEBKIT, COMMENT, RULESET, DECLARATION, IMPORT, KEYFRAMES, LAYER;
var init_Enum = __esm({
  "../node_modules/stylis/src/Enum.js"() {
    MS = "-ms-";
    MOZ = "-moz-";
    WEBKIT = "-webkit-";
    COMMENT = "comm";
    RULESET = "rule";
    DECLARATION = "decl";
    IMPORT = "@import";
    KEYFRAMES = "@keyframes";
    LAYER = "@layer";
  }
});

// ../node_modules/stylis/src/Utility.js
function hash(value, length2) {
  return charat(value, 0) ^ 45 ? (((length2 << 2 ^ charat(value, 0)) << 2 ^ charat(value, 1)) << 2 ^ charat(value, 2)) << 2 ^ charat(value, 3) : 0;
}
function trim(value) {
  return value.trim();
}
function match(value, pattern) {
  return (value = pattern.exec(value)) ? value[0] : value;
}
function replace(value, pattern, replacement) {
  return value.replace(pattern, replacement);
}
function indexof(value, search) {
  return value.indexOf(search);
}
function charat(value, index4) {
  return value.charCodeAt(index4) | 0;
}
function substr(value, begin, end2) {
  return value.slice(begin, end2);
}
function strlen(value) {
  return value.length;
}
function sizeof(value) {
  return value.length;
}
function append(value, array) {
  return array.push(value), value;
}
function combine(array, callback) {
  return array.map(callback).join("");
}
var abs, from, assign;
var init_Utility = __esm({
  "../node_modules/stylis/src/Utility.js"() {
    abs = Math.abs;
    from = String.fromCharCode;
    assign = Object.assign;
    __name(hash, "hash");
    __name(trim, "trim");
    __name(match, "match");
    __name(replace, "replace");
    __name(indexof, "indexof");
    __name(charat, "charat");
    __name(substr, "substr");
    __name(strlen, "strlen");
    __name(sizeof, "sizeof");
    __name(append, "append");
    __name(combine, "combine");
  }
});

// ../node_modules/stylis/src/Tokenizer.js
function node(value, root2, parent, type5, props, children, length2) {
  return { value, root: root2, parent, type: type5, props, children, line, column, length: length2, return: "" };
}
function copy(root2, props) {
  return assign(node("", null, null, "", null, null, 0), root2, { length: -root2.length }, props);
}
function char() {
  return character;
}
function prev() {
  character = position > 0 ? charat(characters, --position) : 0;
  if (column--, character === 10)
    column = 1, line--;
  return character;
}
function next() {
  character = position < length ? charat(characters, position++) : 0;
  if (column++, character === 10)
    column = 1, line++;
  return character;
}
function peek() {
  return charat(characters, position);
}
function caret() {
  return position;
}
function slice(begin, end2) {
  return substr(characters, begin, end2);
}
function token(type5) {
  switch (type5) {
    // \0 \t \n \r \s whitespace token
    case 0:
    case 9:
    case 10:
    case 13:
    case 32:
      return 5;
    // ! + , / > @ ~ isolate token
    case 33:
    case 43:
    case 44:
    case 47:
    case 62:
    case 64:
    case 126:
    // ; { } breakpoint token
    case 59:
    case 123:
    case 125:
      return 4;
    // : accompanied token
    case 58:
      return 3;
    // " ' ( [ opening delimit token
    case 34:
    case 39:
    case 40:
    case 91:
      return 2;
    // ) ] closing delimit token
    case 41:
    case 93:
      return 1;
  }
  return 0;
}
function alloc(value) {
  return line = column = 1, length = strlen(characters = value), position = 0, [];
}
function dealloc(value) {
  return characters = "", value;
}
function delimit(type5) {
  return trim(slice(position - 1, delimiter(type5 === 91 ? type5 + 2 : type5 === 40 ? type5 + 1 : type5)));
}
function whitespace(type5) {
  while (character = peek())
    if (character < 33)
      next();
    else
      break;
  return token(type5) > 2 || token(character) > 3 ? "" : " ";
}
function escaping(index4, count3) {
  while (--count3 && next())
    if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97)
      break;
  return slice(index4, caret() + (count3 < 6 && peek() == 32 && next() == 32));
}
function delimiter(type5) {
  while (next())
    switch (character) {
      // ] ) " '
      case type5:
        return position;
      // " '
      case 34:
      case 39:
        if (type5 !== 34 && type5 !== 39)
          delimiter(character);
        break;
      // (
      case 40:
        if (type5 === 41)
          delimiter(type5);
        break;
      // \
      case 92:
        next();
        break;
    }
  return position;
}
function commenter(type5, index4) {
  while (next())
    if (type5 + character === 47 + 10)
      break;
    else if (type5 + character === 42 + 42 && peek() === 47)
      break;
  return "/*" + slice(index4, position - 1) + "*" + from(type5 === 47 ? type5 : next());
}
function identifier(index4) {
  while (!token(peek()))
    next();
  return slice(index4, position);
}
var line, column, length, position, character, characters;
var init_Tokenizer = __esm({
  "../node_modules/stylis/src/Tokenizer.js"() {
    init_Utility();
    line = 1;
    column = 1;
    length = 0;
    position = 0;
    character = 0;
    characters = "";
    __name(node, "node");
    __name(copy, "copy");
    __name(char, "char");
    __name(prev, "prev");
    __name(next, "next");
    __name(peek, "peek");
    __name(caret, "caret");
    __name(slice, "slice");
    __name(token, "token");
    __name(alloc, "alloc");
    __name(dealloc, "dealloc");
    __name(delimit, "delimit");
    __name(whitespace, "whitespace");
    __name(escaping, "escaping");
    __name(delimiter, "delimiter");
    __name(commenter, "commenter");
    __name(identifier, "identifier");
  }
});

// ../node_modules/stylis/src/Parser.js
function compile(value) {
  return dealloc(parse2("", null, null, null, [""], value = alloc(value), 0, [0], value));
}
function parse2(value, root2, parent, rule, rules, rulesets, pseudo, points, declarations) {
  var index4 = 0;
  var offset3 = 0;
  var length2 = pseudo;
  var atrule = 0;
  var property = 0;
  var previous = 0;
  var variable = 1;
  var scanning = 1;
  var ampersand = 1;
  var character2 = 0;
  var type5 = "";
  var props = rules;
  var children = rulesets;
  var reference2 = rule;
  var characters2 = type5;
  while (scanning)
    switch (previous = character2, character2 = next()) {
      // (
      case 40:
        if (previous != 108 && charat(characters2, length2 - 1) == 58) {
          if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f") != -1)
            ampersand = -1;
          break;
        }
      // " ' [
      case 34:
      case 39:
      case 91:
        characters2 += delimit(character2);
        break;
      // \t \n \r \s
      case 9:
      case 10:
      case 13:
      case 32:
        characters2 += whitespace(previous);
        break;
      // \
      case 92:
        characters2 += escaping(caret() - 1, 7);
        continue;
      // /
      case 47:
        switch (peek()) {
          case 42:
          case 47:
            append(comment(commenter(next(), caret()), root2, parent), declarations);
            break;
          default:
            characters2 += "/";
        }
        break;
      // {
      case 123 * variable:
        points[index4++] = strlen(characters2) * ampersand;
      // } ; \0
      case 125 * variable:
      case 59:
      case 0:
        switch (character2) {
          // \0 }
          case 0:
          case 125:
            scanning = 0;
          // ;
          case 59 + offset3:
            if (ampersand == -1) characters2 = replace(characters2, /\f/g, "");
            if (property > 0 && strlen(characters2) - length2)
              append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2), declarations);
            break;
          // @ ;
          case 59:
            characters2 += ";";
          // { rule/at-rule
          default:
            append(reference2 = ruleset(characters2, root2, parent, index4, offset3, rules, points, type5, props = [], children = [], length2), rulesets);
            if (character2 === 123)
              if (offset3 === 0)
                parse2(characters2, root2, reference2, reference2, props, rulesets, length2, points, children);
              else
                switch (atrule === 99 && charat(characters2, 3) === 110 ? 100 : atrule) {
                  // d l m s
                  case 100:
                  case 108:
                  case 109:
                  case 115:
                    parse2(value, reference2, reference2, rule && append(ruleset(value, reference2, reference2, 0, 0, rules, points, type5, rules, props = [], length2), children), rules, children, length2, points, rule ? props : children);
                    break;
                  default:
                    parse2(characters2, reference2, reference2, reference2, [""], children, 0, points, children);
                }
        }
        index4 = offset3 = property = 0, variable = ampersand = 1, type5 = characters2 = "", length2 = pseudo;
        break;
      // :
      case 58:
        length2 = 1 + strlen(characters2), property = previous;
      default:
        if (variable < 1) {
          if (character2 == 123)
            --variable;
          else if (character2 == 125 && variable++ == 0 && prev() == 125)
            continue;
        }
        switch (characters2 += from(character2), character2 * variable) {
          // &
          case 38:
            ampersand = offset3 > 0 ? 1 : (characters2 += "\f", -1);
            break;
          // ,
          case 44:
            points[index4++] = (strlen(characters2) - 1) * ampersand, ampersand = 1;
            break;
          // @
          case 64:
            if (peek() === 45)
              characters2 += delimit(next());
            atrule = peek(), offset3 = length2 = strlen(type5 = characters2 += identifier(caret())), character2++;
            break;
          // -
          case 45:
            if (previous === 45 && strlen(characters2) == 2)
              variable = 0;
        }
    }
  return rulesets;
}
function ruleset(value, root2, parent, index4, offset3, rules, points, type5, props, children, length2) {
  var post = offset3 - 1;
  var rule = offset3 === 0 ? rules : [""];
  var size = sizeof(rule);
  for (var i2 = 0, j = 0, k = 0; i2 < index4; ++i2)
    for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i2])), z = value; x < size; ++x)
      if (z = trim(j > 0 ? rule[x] + " " + y : replace(y, /&\f/g, rule[x])))
        props[k++] = z;
  return node(value, root2, parent, offset3 === 0 ? RULESET : type5, props, children, length2);
}
function comment(value, root2, parent) {
  return node(value, root2, parent, COMMENT, from(char()), substr(value, 2, -2), 0);
}
function declaration(value, root2, parent, length2) {
  return node(value, root2, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2);
}
var init_Parser = __esm({
  "../node_modules/stylis/src/Parser.js"() {
    init_Enum();
    init_Utility();
    init_Tokenizer();
    __name(compile, "compile");
    __name(parse2, "parse");
    __name(ruleset, "ruleset");
    __name(comment, "comment");
    __name(declaration, "declaration");
  }
});

// ../node_modules/stylis/src/Prefixer.js
var init_Prefixer = __esm({
  "../node_modules/stylis/src/Prefixer.js"() {
    init_Enum();
    init_Utility();
  }
});

// ../node_modules/stylis/src/Serializer.js
function serialize(children, callback) {
  var output = "";
  var length2 = sizeof(children);
  for (var i2 = 0; i2 < length2; i2++)
    output += callback(children[i2], i2, children, callback) || "";
  return output;
}
function stringify2(element, index4, children, callback) {
  switch (element.type) {
    case LAYER:
      if (element.children.length) break;
    case IMPORT:
    case DECLARATION:
      return element.return = element.return || element.value;
    case COMMENT:
      return "";
    case KEYFRAMES:
      return element.return = element.value + "{" + serialize(element.children, callback) + "}";
    case RULESET:
      element.value = element.props.join(",");
  }
  return strlen(children = serialize(element.children, callback)) ? element.return = element.value + "{" + children + "}" : "";
}
var init_Serializer = __esm({
  "../node_modules/stylis/src/Serializer.js"() {
    init_Enum();
    init_Utility();
    __name(serialize, "serialize");
    __name(stringify2, "stringify");
  }
});

// ../node_modules/stylis/src/Middleware.js
function middleware(collection) {
  var length2 = sizeof(collection);
  return function(element, index4, children, callback) {
    var output = "";
    for (var i2 = 0; i2 < length2; i2++)
      output += collection[i2](element, index4, children, callback) || "";
    return output;
  };
}
function rulesheet(callback) {
  return function(element) {
    if (!element.root) {
      if (element = element.return)
        callback(element);
    }
  };
}
var init_Middleware = __esm({
  "../node_modules/stylis/src/Middleware.js"() {
    init_Enum();
    init_Utility();
    init_Tokenizer();
    init_Serializer();
    init_Prefixer();
    __name(middleware, "middleware");
    __name(rulesheet, "rulesheet");
  }
});

// ../node_modules/stylis/index.js
var init_stylis = __esm({
  "../node_modules/stylis/index.js"() {
    init_Enum();
    init_Utility();
    init_Parser();
    init_Prefixer();
    init_Tokenizer();
    init_Serializer();
    init_Middleware();
  }
});

// ../node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js
var weakMemoize;
var init_emotion_weak_memoize_esm = __esm({
  "../node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js"() {
    weakMemoize = /* @__PURE__ */ __name(function weakMemoize2(func) {
      var cache = /* @__PURE__ */ new WeakMap();
      return function(arg) {
        if (cache.has(arg)) {
          return cache.get(arg);
        }
        var ret = func(arg);
        cache.set(arg, ret);
        return ret;
      };
    }, "weakMemoize");
  }
});

// ../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js
function memoize2(fn4) {
  var cache = /* @__PURE__ */ Object.create(null);
  return function(arg) {
    if (cache[arg] === void 0) cache[arg] = fn4(arg);
    return cache[arg];
  };
}
var init_emotion_memoize_esm = __esm({
  "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js"() {
    __name(memoize2, "memoize");
  }
});

// ../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js
function prefix3(value, length2) {
  switch (hash(value, length2)) {
    // color-adjust
    case 5103:
      return WEBKIT + "print-" + value + value;
    // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)
    case 5737:
    case 4201:
    case 3177:
    case 3433:
    case 1641:
    case 4457:
    case 2921:
    // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break
    case 5572:
    case 6356:
    case 5844:
    case 3191:
    case 6645:
    case 3005:
    // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,
    case 6391:
    case 5879:
    case 5623:
    case 6135:
    case 4599:
    case 4855:
    // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)
    case 4215:
    case 6389:
    case 5109:
    case 5365:
    case 5621:
    case 3829:
      return WEBKIT + value + value;
    // appearance, user-select, transform, hyphens, text-size-adjust
    case 5349:
    case 4246:
    case 4810:
    case 6968:
    case 2756:
      return WEBKIT + value + MOZ + value + MS + value + value;
    // flex, flex-direction
    case 6828:
    case 4268:
      return WEBKIT + value + MS + value + value;
    // order
    case 6165:
      return WEBKIT + value + MS + "flex-" + value + value;
    // align-items
    case 5187:
      return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + "box-$1$2" + MS + "flex-$1$2") + value;
    // align-self
    case 5443:
      return WEBKIT + value + MS + "flex-item-" + replace(value, /flex-|-self/, "") + value;
    // align-content
    case 4675:
      return WEBKIT + value + MS + "flex-line-pack" + replace(value, /align-content|flex-|-self/, "") + value;
    // flex-shrink
    case 5548:
      return WEBKIT + value + MS + replace(value, "shrink", "negative") + value;
    // flex-basis
    case 5292:
      return WEBKIT + value + MS + replace(value, "basis", "preferred-size") + value;
    // flex-grow
    case 6060:
      return WEBKIT + "box-" + replace(value, "-grow", "") + WEBKIT + value + MS + replace(value, "grow", "positive") + value;
    // transition
    case 4554:
      return WEBKIT + replace(value, /([^-])(transform)/g, "$1" + WEBKIT + "$2") + value;
    // cursor
    case 6187:
      return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + "$1"), /(image-set)/, WEBKIT + "$1"), value, "") + value;
    // background, background-image
    case 5495:
    case 3959:
      return replace(value, /(image-set\([^]*)/, WEBKIT + "$1$`$1");
    // justify-content
    case 4968:
      return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + "box-pack:$3" + MS + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + WEBKIT + value + value;
    // (margin|padding)-inline-(start|end)
    case 4095:
    case 3583:
    case 4068:
    case 2532:
      return replace(value, /(.+)-inline(.+)/, WEBKIT + "$1$2") + value;
    // (min|max)?(width|height|inline-size|block-size)
    case 8116:
    case 7059:
    case 5753:
    case 5535:
    case 5445:
    case 5701:
    case 4933:
    case 4677:
    case 5533:
    case 5789:
    case 5021:
    case 4765:
      if (strlen(value) - 1 - length2 > 6) switch (charat(value, length2 + 1)) {
        // (m)ax-content, (m)in-content
        case 109:
          if (charat(value, length2 + 4) !== 45) break;
        // (f)ill-available, (f)it-content
        case 102:
          return replace(value, /(.+:)(.+)-([^]+)/, "$1" + WEBKIT + "$2-$3$1" + MOZ + (charat(value, length2 + 3) == 108 ? "$3" : "$2-$3")) + value;
        // (s)tretch
        case 115:
          return ~indexof(value, "stretch") ? prefix3(replace(value, "stretch", "fill-available"), length2) + value : value;
      }
      break;
    // position: sticky
    case 4949:
      if (charat(value, length2 + 1) !== 115) break;
    // display: (flex|inline-flex)
    case 6444:
      switch (charat(value, strlen(value) - 3 - (~indexof(value, "!important") && 10))) {
        // stic(k)y
        case 107:
          return replace(value, ":", ":" + WEBKIT) + value;
        // (inline-)?fl(e)x
        case 101:
          return replace(value, /(.+:)([^;!]+)(;|!.+)?/, "$1" + WEBKIT + (charat(value, 14) === 45 ? "inline-" : "") + "box$3$1" + WEBKIT + "$2$3$1" + MS + "$2box$3") + value;
      }
      break;
    // writing-mode
    case 5936:
      switch (charat(value, length2 + 11)) {
        // vertical-l(r)
        case 114:
          return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb") + value;
        // vertical-r(l)
        case 108:
          return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb-rl") + value;
        // horizontal(-)tb
        case 45:
          return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "lr") + value;
      }
      return WEBKIT + value + MS + value + value;
  }
  return value;
}
var identifierWithPointTracking, toRules, getRules, fixedElements, compat, removeLabel, prefixer, defaultStylisPlugins, createCache;
var init_emotion_cache_browser_esm = __esm({
  "../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js"() {
    init_emotion_sheet_esm();
    init_stylis();
    init_emotion_weak_memoize_esm();
    init_emotion_memoize_esm();
    identifierWithPointTracking = /* @__PURE__ */ __name(function identifierWithPointTracking2(begin, points, index4) {
      var previous = 0;
      var character2 = 0;
      while (true) {
        previous = character2;
        character2 = peek();
        if (previous === 38 && character2 === 12) {
          points[index4] = 1;
        }
        if (token(character2)) {
          break;
        }
        next();
      }
      return slice(begin, position);
    }, "identifierWithPointTracking");
    toRules = /* @__PURE__ */ __name(function toRules2(parsed, points) {
      var index4 = -1;
      var character2 = 44;
      do {
        switch (token(character2)) {
          case 0:
            if (character2 === 38 && peek() === 12) {
              points[index4] = 1;
            }
            parsed[index4] += identifierWithPointTracking(position - 1, points, index4);
            break;
          case 2:
            parsed[index4] += delimit(character2);
            break;
          case 4:
            if (character2 === 44) {
              parsed[++index4] = peek() === 58 ? "&\f" : "";
              points[index4] = parsed[index4].length;
              break;
            }
          // fallthrough
          default:
            parsed[index4] += from(character2);
        }
      } while (character2 = next());
      return parsed;
    }, "toRules");
    getRules = /* @__PURE__ */ __name(function getRules2(value, points) {
      return dealloc(toRules(alloc(value), points));
    }, "getRules");
    fixedElements = /* @__PURE__ */ new WeakMap();
    compat = /* @__PURE__ */ __name(function compat2(element) {
      if (element.type !== "rule" || !element.parent || // positive .length indicates that this rule contains pseudo
      // negative .length indicates that this rule has been already prefixed
      element.length < 1) {
        return;
      }
      var value = element.value;
      var parent = element.parent;
      var isImplicitRule = element.column === parent.column && element.line === parent.line;
      while (parent.type !== "rule") {
        parent = parent.parent;
        if (!parent) return;
      }
      if (element.props.length === 1 && value.charCodeAt(0) !== 58 && !fixedElements.get(parent)) {
        return;
      }
      if (isImplicitRule) {
        return;
      }
      fixedElements.set(element, true);
      var points = [];
      var rules = getRules(value, points);
      var parentRules = parent.props;
      for (var i2 = 0, k = 0; i2 < rules.length; i2++) {
        for (var j = 0; j < parentRules.length; j++, k++) {
          element.props[k] = points[i2] ? rules[i2].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i2];
        }
      }
    }, "compat");
    removeLabel = /* @__PURE__ */ __name(function removeLabel2(element) {
      if (element.type === "decl") {
        var value = element.value;
        if (
          // charcode for l
          value.charCodeAt(0) === 108 && // charcode for b
          value.charCodeAt(2) === 98
        ) {
          element["return"] = "";
          element.value = "";
        }
      }
    }, "removeLabel");
    __name(prefix3, "prefix");
    prefixer = /* @__PURE__ */ __name(function prefixer2(element, index4, children, callback) {
      if (element.length > -1) {
        if (!element["return"]) switch (element.type) {
          case DECLARATION:
            element["return"] = prefix3(element.value, element.length);
            break;
          case KEYFRAMES:
            return serialize([copy(element, {
              value: replace(element.value, "@", "@" + WEBKIT)
            })], callback);
          case RULESET:
            if (element.length) return combine(element.props, function(value) {
              switch (match(value, /(::plac\w+|:read-\w+)/)) {
                // :read-(only|write)
                case ":read-only":
                case ":read-write":
                  return serialize([copy(element, {
                    props: [replace(value, /:(read-\w+)/, ":" + MOZ + "$1")]
                  })], callback);
                // :placeholder
                case "::placeholder":
                  return serialize([copy(element, {
                    props: [replace(value, /:(plac\w+)/, ":" + WEBKIT + "input-$1")]
                  }), copy(element, {
                    props: [replace(value, /:(plac\w+)/, ":" + MOZ + "$1")]
                  }), copy(element, {
                    props: [replace(value, /:(plac\w+)/, MS + "input-$1")]
                  })], callback);
              }
              return "";
            });
        }
      }
    }, "prefixer");
    defaultStylisPlugins = [prefixer];
    createCache = /* @__PURE__ */ __name(function createCache2(options) {
      var key = options.key;
      if (key === "css") {
        var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])");
        Array.prototype.forEach.call(ssrStyles, function(node2) {
          var dataEmotionAttribute = node2.getAttribute("data-emotion");
          if (dataEmotionAttribute.indexOf(" ") === -1) {
            return;
          }
          document.head.appendChild(node2);
          node2.setAttribute("data-s", "");
        });
      }
      var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;
      var inserted = {};
      var container;
      var nodesToHydrate = [];
      {
        container = options.container || document.head;
        Array.prototype.forEach.call(
          // this means we will ignore elements which don't have a space in them which
          // means that the style elements we're looking at are only Emotion 11 server-rendered style elements
          document.querySelectorAll('style[data-emotion^="' + key + ' "]'),
          function(node2) {
            var attrib = node2.getAttribute("data-emotion").split(" ");
            for (var i2 = 1; i2 < attrib.length; i2++) {
              inserted[attrib[i2]] = true;
            }
            nodesToHydrate.push(node2);
          }
        );
      }
      var _insert;
      var omnipresentPlugins = [compat, removeLabel];
      {
        var currentSheet;
        var finalizingPlugins = [stringify2, rulesheet(function(rule) {
          currentSheet.insert(rule);
        })];
        var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));
        var stylis = /* @__PURE__ */ __name(function stylis2(styles4) {
          return serialize(compile(styles4), serializer);
        }, "stylis");
        _insert = /* @__PURE__ */ __name(function insert(selector, serialized, sheet, shouldCache) {
          currentSheet = sheet;
          stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
          if (shouldCache) {
            cache.inserted[serialized.name] = true;
          }
        }, "insert");
      }
      var cache = {
        key,
        sheet: new StyleSheet({
          key,
          container,
          nonce: options.nonce,
          speedy: options.speedy,
          prepend: options.prepend,
          insertionPoint: options.insertionPoint
        }),
        nonce: options.nonce,
        inserted,
        registered: {},
        insert: _insert
      };
      cache.sheet.hydrate(nodesToHydrate);
      return cache;
    }, "createCache");
  }
});

// ../node_modules/react-is/cjs/react-is.production.min.js
var require_react_is_production_min = __commonJS({
  "../node_modules/react-is/cjs/react-is.production.min.js"(exports) {
    "use strict";
    var b = "function" === typeof Symbol && Symbol.for;
    var c2 = b ? Symbol.for("react.element") : 60103;
    var d = b ? Symbol.for("react.portal") : 60106;
    var e2 = b ? Symbol.for("react.fragment") : 60107;
    var f3 = b ? Symbol.for("react.strict_mode") : 60108;
    var g2 = b ? Symbol.for("react.profiler") : 60114;
    var h2 = b ? Symbol.for("react.provider") : 60109;
    var k = b ? Symbol.for("react.context") : 60110;
    var l = b ? Symbol.for("react.async_mode") : 60111;
    var m3 = b ? Symbol.for("react.concurrent_mode") : 60111;
    var n2 = b ? Symbol.for("react.forward_ref") : 60112;
    var p2 = b ? Symbol.for("react.suspense") : 60113;
    var q = b ? Symbol.for("react.suspense_list") : 60120;
    var r2 = b ? Symbol.for("react.memo") : 60115;
    var t2 = b ? Symbol.for("react.lazy") : 60116;
    var v = b ? Symbol.for("react.block") : 60121;
    var w = b ? Symbol.for("react.fundamental") : 60117;
    var x = b ? Symbol.for("react.responder") : 60118;
    var y = b ? Symbol.for("react.scope") : 60119;
    function z(a2) {
      if ("object" === typeof a2 && null !== a2) {
        var u2 = a2.$$typeof;
        switch (u2) {
          case c2:
            switch (a2 = a2.type, a2) {
              case l:
              case m3:
              case e2:
              case g2:
              case f3:
              case p2:
                return a2;
              default:
                switch (a2 = a2 && a2.$$typeof, a2) {
                  case k:
                  case n2:
                  case t2:
                  case r2:
                  case h2:
                    return a2;
                  default:
                    return u2;
                }
            }
          case d:
            return u2;
        }
      }
    }
    __name(z, "z");
    function A3(a2) {
      return z(a2) === m3;
    }
    __name(A3, "A");
    exports.AsyncMode = l;
    exports.ConcurrentMode = m3;
    exports.ContextConsumer = k;
    exports.ContextProvider = h2;
    exports.Element = c2;
    exports.ForwardRef = n2;
    exports.Fragment = e2;
    exports.Lazy = t2;
    exports.Memo = r2;
    exports.Portal = d;
    exports.Profiler = g2;
    exports.StrictMode = f3;
    exports.Suspense = p2;
    exports.isAsyncMode = function(a2) {
      return A3(a2) || z(a2) === l;
    };
    exports.isConcurrentMode = A3;
    exports.isContextConsumer = function(a2) {
      return z(a2) === k;
    };
    exports.isContextProvider = function(a2) {
      return z(a2) === h2;
    };
    exports.isElement = function(a2) {
      return "object" === typeof a2 && null !== a2 && a2.$$typeof === c2;
    };
    exports.isForwardRef = function(a2) {
      return z(a2) === n2;
    };
    exports.isFragment = function(a2) {
      return z(a2) === e2;
    };
    exports.isLazy = function(a2) {
      return z(a2) === t2;
    };
    exports.isMemo = function(a2) {
      return z(a2) === r2;
    };
    exports.isPortal = function(a2) {
      return z(a2) === d;
    };
    exports.isProfiler = function(a2) {
      return z(a2) === g2;
    };
    exports.isStrictMode = function(a2) {
      return z(a2) === f3;
    };
    exports.isSuspense = function(a2) {
      return z(a2) === p2;
    };
    exports.isValidElementType = function(a2) {
      return "string" === typeof a2 || "function" === typeof a2 || a2 === e2 || a2 === m3 || a2 === g2 || a2 === f3 || a2 === p2 || a2 === q || "object" === typeof a2 && null !== a2 && (a2.$$typeof === t2 || a2.$$typeof === r2 || a2.$$typeof === h2 || a2.$$typeof === k || a2.$$typeof === n2 || a2.$$typeof === w || a2.$$typeof === x || a2.$$typeof === y || a2.$$typeof === v);
    };
    exports.typeOf = z;
  }
});

// ../node_modules/react-is/index.js
var require_react_is = __commonJS({
  "../node_modules/react-is/index.js"(exports, module2) {
    "use strict";
    if (true) {
      module2.exports = require_react_is_production_min();
    } else {
      module2.exports = null;
    }
  }
});

// ../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js
var require_hoist_non_react_statics_cjs = __commonJS({
  "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"(exports, module2) {
    "use strict";
    var reactIs2 = require_react_is();
    var REACT_STATICS = {
      childContextTypes: true,
      contextType: true,
      contextTypes: true,
      defaultProps: true,
      displayName: true,
      getDefaultProps: true,
      getDerivedStateFromError: true,
      getDerivedStateFromProps: true,
      mixins: true,
      propTypes: true,
      type: true
    };
    var KNOWN_STATICS = {
      name: true,
      length: true,
      prototype: true,
      caller: true,
      callee: true,
      arguments: true,
      arity: true
    };
    var FORWARD_REF_STATICS = {
      "$$typeof": true,
      render: true,
      defaultProps: true,
      displayName: true,
      propTypes: true
    };
    var MEMO_STATICS = {
      "$$typeof": true,
      compare: true,
      defaultProps: true,
      displayName: true,
      propTypes: true,
      type: true
    };
    var TYPE_STATICS = {};
    TYPE_STATICS[reactIs2.ForwardRef] = FORWARD_REF_STATICS;
    TYPE_STATICS[reactIs2.Memo] = MEMO_STATICS;
    function getStatics(component) {
      if (reactIs2.isMemo(component)) {
        return MEMO_STATICS;
      }
      return TYPE_STATICS[component["$$typeof"]] || REACT_STATICS;
    }
    __name(getStatics, "getStatics");
    var defineProperty = Object.defineProperty;
    var getOwnPropertyNames = Object.getOwnPropertyNames;
    var getOwnPropertySymbols = Object.getOwnPropertySymbols;
    var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
    var getPrototypeOf = Object.getPrototypeOf;
    var objectPrototype = Object.prototype;
    function hoistNonReactStatics2(targetComponent, sourceComponent, blacklist) {
      if (typeof sourceComponent !== "string") {
        if (objectPrototype) {
          var inheritedComponent = getPrototypeOf(sourceComponent);
          if (inheritedComponent && inheritedComponent !== objectPrototype) {
            hoistNonReactStatics2(targetComponent, inheritedComponent, blacklist);
          }
        }
        var keys3 = getOwnPropertyNames(sourceComponent);
        if (getOwnPropertySymbols) {
          keys3 = keys3.concat(getOwnPropertySymbols(sourceComponent));
        }
        var targetStatics = getStatics(targetComponent);
        var sourceStatics = getStatics(sourceComponent);
        for (var i2 = 0; i2 < keys3.length; ++i2) {
          var key = keys3[i2];
          if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
            var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
            try {
              defineProperty(targetComponent, key, descriptor);
            } catch (e2) {
            }
          }
        }
      }
      return targetComponent;
    }
    __name(hoistNonReactStatics2, "hoistNonReactStatics");
    module2.exports = hoistNonReactStatics2;
  }
});

// ../node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js
var import_hoist_non_react_statics, hoistNonReactStatics;
var init_emotion_react_isolated_hnrs_browser_esm = __esm({
  "../node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js"() {
    import_hoist_non_react_statics = __toESM(require_hoist_non_react_statics_cjs());
    hoistNonReactStatics = /* @__PURE__ */ __name(function(targetComponent, sourceComponent) {
      return (0, import_hoist_non_react_statics.default)(targetComponent, sourceComponent);
    }, "hoistNonReactStatics");
  }
});

// ../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js
function getRegisteredStyles(registered, registeredStyles, classNames) {
  var rawClassName = "";
  classNames.split(" ").forEach(function(className) {
    if (registered[className] !== void 0) {
      registeredStyles.push(registered[className] + ";");
    } else if (className) {
      rawClassName += className + " ";
    }
  });
  return rawClassName;
}
var isBrowser, registerStyles, insertStyles;
var init_emotion_utils_browser_esm = __esm({
  "../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js"() {
    isBrowser = true;
    __name(getRegisteredStyles, "getRegisteredStyles");
    registerStyles = /* @__PURE__ */ __name(function registerStyles2(cache, serialized, isStringTag) {
      var className = cache.key + "-" + serialized.name;
      if (
        // we only need to add the styles to the registered cache if the
        // class name could be used further down
        // the tree but if it's a string tag, we know it won't
        // so we don't have to add it to registered cache.
        // this improves memory usage since we can avoid storing the whole style string
        (isStringTag === false || // we need to always store it if we're in compat mode and
        // in node since emotion-server relies on whether a style is in
        // the registered cache to know whether a style is global or not
        // also, note that this check will be dead code eliminated in the browser
        isBrowser === false) && cache.registered[className] === void 0
      ) {
        cache.registered[className] = serialized.styles;
      }
    }, "registerStyles");
    insertStyles = /* @__PURE__ */ __name(function insertStyles2(cache, serialized, isStringTag) {
      registerStyles(cache, serialized, isStringTag);
      var className = cache.key + "-" + serialized.name;
      if (cache.inserted[serialized.name] === void 0) {
        var current = serialized;
        do {
          cache.insert(serialized === current ? "." + className : "", current, cache.sheet, true);
          current = current.next;
        } while (current !== void 0);
      }
    }, "insertStyles");
  }
});

// ../node_modules/@emotion/hash/dist/emotion-hash.esm.js
function murmur2(str2) {
  var h2 = 0;
  var k, i2 = 0, len = str2.length;
  for (; len >= 4; ++i2, len -= 4) {
    k = str2.charCodeAt(i2) & 255 | (str2.charCodeAt(++i2) & 255) << 8 | (str2.charCodeAt(++i2) & 255) << 16 | (str2.charCodeAt(++i2) & 255) << 24;
    k = /* Math.imul(k, m): */
    (k & 65535) * 1540483477 + ((k >>> 16) * 59797 << 16);
    k ^= /* k >>> r: */
    k >>> 24;
    h2 = /* Math.imul(k, m): */
    (k & 65535) * 1540483477 + ((k >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */
    (h2 & 65535) * 1540483477 + ((h2 >>> 16) * 59797 << 16);
  }
  switch (len) {
    case 3:
      h2 ^= (str2.charCodeAt(i2 + 2) & 255) << 16;
    case 2:
      h2 ^= (str2.charCodeAt(i2 + 1) & 255) << 8;
    case 1:
      h2 ^= str2.charCodeAt(i2) & 255;
      h2 = /* Math.imul(h, m): */
      (h2 & 65535) * 1540483477 + ((h2 >>> 16) * 59797 << 16);
  }
  h2 ^= h2 >>> 13;
  h2 = /* Math.imul(h, m): */
  (h2 & 65535) * 1540483477 + ((h2 >>> 16) * 59797 << 16);
  return ((h2 ^ h2 >>> 15) >>> 0).toString(36);
}
var init_emotion_hash_esm = __esm({
  "../node_modules/@emotion/hash/dist/emotion-hash.esm.js"() {
    __name(murmur2, "murmur2");
  }
});

// ../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js
var unitlessKeys;
var init_emotion_unitless_esm = __esm({
  "../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js"() {
    unitlessKeys = {
      animationIterationCount: 1,
      aspectRatio: 1,
      borderImageOutset: 1,
      borderImageSlice: 1,
      borderImageWidth: 1,
      boxFlex: 1,
      boxFlexGroup: 1,
      boxOrdinalGroup: 1,
      columnCount: 1,
      columns: 1,
      flex: 1,
      flexGrow: 1,
      flexPositive: 1,
      flexShrink: 1,
      flexNegative: 1,
      flexOrder: 1,
      gridRow: 1,
      gridRowEnd: 1,
      gridRowSpan: 1,
      gridRowStart: 1,
      gridColumn: 1,
      gridColumnEnd: 1,
      gridColumnSpan: 1,
      gridColumnStart: 1,
      msGridRow: 1,
      msGridRowSpan: 1,
      msGridColumn: 1,
      msGridColumnSpan: 1,
      fontWeight: 1,
      lineHeight: 1,
      opacity: 1,
      order: 1,
      orphans: 1,
      scale: 1,
      tabSize: 1,
      widows: 1,
      zIndex: 1,
      zoom: 1,
      WebkitLineClamp: 1,
      // SVG-related properties
      fillOpacity: 1,
      floodOpacity: 1,
      stopOpacity: 1,
      strokeDasharray: 1,
      strokeDashoffset: 1,
      strokeMiterlimit: 1,
      strokeOpacity: 1,
      strokeWidth: 1
    };
  }
});

// ../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js
function handleInterpolation(mergedProps, registered, interpolation) {
  if (interpolation == null) {
    return "";
  }
  var componentSelector = interpolation;
  if (componentSelector.__emotion_styles !== void 0) {
    return componentSelector;
  }
  switch (typeof interpolation) {
    case "boolean": {
      return "";
    }
    case "object": {
      var keyframes2 = interpolation;
      if (keyframes2.anim === 1) {
        cursor = {
          name: keyframes2.name,
          styles: keyframes2.styles,
          next: cursor
        };
        return keyframes2.name;
      }
      var serializedStyles = interpolation;
      if (serializedStyles.styles !== void 0) {
        var next2 = serializedStyles.next;
        if (next2 !== void 0) {
          while (next2 !== void 0) {
            cursor = {
              name: next2.name,
              styles: next2.styles,
              next: cursor
            };
            next2 = next2.next;
          }
        }
        var styles4 = serializedStyles.styles + ";";
        return styles4;
      }
      return createStringFromObject(mergedProps, registered, interpolation);
    }
    case "function": {
      if (mergedProps !== void 0) {
        var previousCursor = cursor;
        var result = interpolation(mergedProps);
        cursor = previousCursor;
        return handleInterpolation(mergedProps, registered, result);
      }
      break;
    }
  }
  var asString = interpolation;
  if (registered == null) {
    return asString;
  }
  var cached = registered[asString];
  return cached !== void 0 ? cached : asString;
}
function createStringFromObject(mergedProps, registered, obj) {
  var string = "";
  if (Array.isArray(obj)) {
    for (var i2 = 0; i2 < obj.length; i2++) {
      string += handleInterpolation(mergedProps, registered, obj[i2]) + ";";
    }
  } else {
    for (var key in obj) {
      var value = obj[key];
      if (typeof value !== "object") {
        var asString = value;
        if (registered != null && registered[asString] !== void 0) {
          string += key + "{" + registered[asString] + "}";
        } else if (isProcessableValue(asString)) {
          string += processStyleName(key) + ":" + processStyleValue(key, asString) + ";";
        }
      } else {
        if (key === "NO_COMPONENT_SELECTOR" && isDevelopment2) {
          throw new Error(noComponentSelectorMessage);
        }
        if (Array.isArray(value) && typeof value[0] === "string" && (registered == null || registered[value[0]] === void 0)) {
          for (var _i = 0; _i < value.length; _i++) {
            if (isProcessableValue(value[_i])) {
              string += processStyleName(key) + ":" + processStyleValue(key, value[_i]) + ";";
            }
          }
        } else {
          var interpolated = handleInterpolation(mergedProps, registered, value);
          switch (key) {
            case "animation":
            case "animationName": {
              string += processStyleName(key) + ":" + interpolated + ";";
              break;
            }
            default: {
              string += key + "{" + interpolated + "}";
            }
          }
        }
      }
    }
  }
  return string;
}
function serializeStyles(args, registered, mergedProps) {
  if (args.length === 1 && typeof args[0] === "object" && args[0] !== null && args[0].styles !== void 0) {
    return args[0];
  }
  var stringMode = true;
  var styles4 = "";
  cursor = void 0;
  var strings = args[0];
  if (strings == null || strings.raw === void 0) {
    stringMode = false;
    styles4 += handleInterpolation(mergedProps, registered, strings);
  } else {
    var asTemplateStringsArr = strings;
    styles4 += asTemplateStringsArr[0];
  }
  for (var i2 = 1; i2 < args.length; i2++) {
    styles4 += handleInterpolation(mergedProps, registered, args[i2]);
    if (stringMode) {
      var templateStringsArr = strings;
      styles4 += templateStringsArr[i2];
    }
  }
  labelPattern.lastIndex = 0;
  var identifierName = "";
  var match3;
  while ((match3 = labelPattern.exec(styles4)) !== null) {
    identifierName += "-" + match3[1];
  }
  var name = murmur2(styles4) + identifierName;
  return {
    name,
    styles: styles4,
    next: cursor
  };
}
var isDevelopment2, hyphenateRegex, animationRegex, isCustomProperty, isProcessableValue, processStyleName, processStyleValue, noComponentSelectorMessage, labelPattern, cursor;
var init_emotion_serialize_esm = __esm({
  "../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js"() {
    init_emotion_hash_esm();
    init_emotion_unitless_esm();
    init_emotion_memoize_esm();
    isDevelopment2 = false;
    hyphenateRegex = /[A-Z]|^ms/g;
    animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;
    isCustomProperty = /* @__PURE__ */ __name(function isCustomProperty2(property) {
      return property.charCodeAt(1) === 45;
    }, "isCustomProperty");
    isProcessableValue = /* @__PURE__ */ __name(function isProcessableValue2(value) {
      return value != null && typeof value !== "boolean";
    }, "isProcessableValue");
    processStyleName = memoize2(function(styleName) {
      return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, "-$&").toLowerCase();
    });
    processStyleValue = /* @__PURE__ */ __name(function processStyleValue2(key, value) {
      switch (key) {
        case "animation":
        case "animationName": {
          if (typeof value === "string") {
            return value.replace(animationRegex, function(match3, p1, p2) {
              cursor = {
                name: p1,
                styles: p2,
                next: cursor
              };
              return p1;
            });
          }
        }
      }
      if (unitlessKeys[key] !== 1 && !isCustomProperty(key) && typeof value === "number" && value !== 0) {
        return value + "px";
      }
      return value;
    }, "processStyleValue");
    noComponentSelectorMessage = "Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";
    __name(handleInterpolation, "handleInterpolation");
    __name(createStringFromObject, "createStringFromObject");
    labelPattern = /label:\s*([^\s;{]+)\s*(;|$)/g;
    __name(serializeStyles, "serializeStyles");
  }
});

// ../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js
var React, syncFallback, useInsertionEffect2, useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback;
var init_emotion_use_insertion_effect_with_fallbacks_browser_esm = __esm({
  "../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js"() {
    React = __toESM(require_react());
    syncFallback = /* @__PURE__ */ __name(function syncFallback2(create3) {
      return create3();
    }, "syncFallback");
    useInsertionEffect2 = React["useInsertionEffect"] ? React["useInsertionEffect"] : false;
    useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect2 || syncFallback;
    useInsertionEffectWithLayoutFallback = useInsertionEffect2 || React.useLayoutEffect;
  }
});

// ../node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js
function withTheme(Component5) {
  var componentName = Component5.displayName || Component5.name || "Component";
  var WithTheme = React2.forwardRef(/* @__PURE__ */ __name(function render(props, ref) {
    var theme3 = React2.useContext(ThemeContext);
    return React2.createElement(Component5, _extends({
      theme: theme3,
      ref
    }, props));
  }, "render"));
  WithTheme.displayName = "WithTheme(" + componentName + ")";
  return hoistNonReactStatics(WithTheme, Component5);
}
var React2, import_react, isDevelopment3, EmotionCacheContext, CacheProvider, withEmotionCache, ThemeContext, useTheme, getTheme, createCacheWithTheme, ThemeProvider, hasOwn, typePropName, createEmotionProps, Insertion, Emotion, Emotion$1;
var init_emotion_element_f0de968e_browser_esm = __esm({
  "../node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js"() {
    React2 = __toESM(require_react());
    import_react = __toESM(require_react());
    init_emotion_cache_browser_esm();
    init_extends();
    init_emotion_weak_memoize_esm();
    init_emotion_react_isolated_hnrs_browser_esm();
    init_emotion_utils_browser_esm();
    init_emotion_serialize_esm();
    init_emotion_use_insertion_effect_with_fallbacks_browser_esm();
    isDevelopment3 = false;
    EmotionCacheContext = React2.createContext(
      // we're doing this to avoid preconstruct's dead code elimination in this one case
      // because this module is primarily intended for the browser and node
      // but it's also required in react native and similar environments sometimes
      // and we could have a special build just for that
      // but this is much easier and the native packages
      // might use a different theme context in the future anyway
      typeof HTMLElement !== "undefined" ? createCache({
        key: "css"
      }) : null
    );
    CacheProvider = EmotionCacheContext.Provider;
    withEmotionCache = /* @__PURE__ */ __name(function withEmotionCache2(func) {
      return (0, import_react.forwardRef)(function(props, ref) {
        var cache = (0, import_react.useContext)(EmotionCacheContext);
        return func(props, cache, ref);
      });
    }, "withEmotionCache");
    ThemeContext = React2.createContext({});
    useTheme = /* @__PURE__ */ __name(function useTheme2() {
      return React2.useContext(ThemeContext);
    }, "useTheme");
    getTheme = /* @__PURE__ */ __name(function getTheme2(outerTheme, theme3) {
      if (typeof theme3 === "function") {
        var mergedTheme = theme3(outerTheme);
        return mergedTheme;
      }
      return _extends({}, outerTheme, theme3);
    }, "getTheme");
    createCacheWithTheme = weakMemoize(function(outerTheme) {
      return weakMemoize(function(theme3) {
        return getTheme(outerTheme, theme3);
      });
    });
    ThemeProvider = /* @__PURE__ */ __name(function ThemeProvider2(props) {
      var theme3 = React2.useContext(ThemeContext);
      if (props.theme !== theme3) {
        theme3 = createCacheWithTheme(theme3)(props.theme);
      }
      return React2.createElement(ThemeContext.Provider, {
        value: theme3
      }, props.children);
    }, "ThemeProvider");
    __name(withTheme, "withTheme");
    hasOwn = {}.hasOwnProperty;
    typePropName = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__";
    createEmotionProps = /* @__PURE__ */ __name(function createEmotionProps2(type5, props) {
      var newProps = {};
      for (var _key in props) {
        if (hasOwn.call(props, _key)) {
          newProps[_key] = props[_key];
        }
      }
      newProps[typePropName] = type5;
      return newProps;
    }, "createEmotionProps");
    Insertion = /* @__PURE__ */ __name(function Insertion2(_ref) {
      var cache = _ref.cache, serialized = _ref.serialized, isStringTag = _ref.isStringTag;
      registerStyles(cache, serialized, isStringTag);
      useInsertionEffectAlwaysWithSyncFallback(function() {
        return insertStyles(cache, serialized, isStringTag);
      });
      return null;
    }, "Insertion");
    Emotion = withEmotionCache(function(props, cache, ref) {
      var cssProp = props.css;
      if (typeof cssProp === "string" && cache.registered[cssProp] !== void 0) {
        cssProp = cache.registered[cssProp];
      }
      var WrappedComponent = props[typePropName];
      var registeredStyles = [cssProp];
      var className = "";
      if (typeof props.className === "string") {
        className = getRegisteredStyles(cache.registered, registeredStyles, props.className);
      } else if (props.className != null) {
        className = props.className + " ";
      }
      var serialized = serializeStyles(registeredStyles, void 0, React2.useContext(ThemeContext));
      className += cache.key + "-" + serialized.name;
      var newProps = {};
      for (var _key2 in props) {
        if (hasOwn.call(props, _key2) && _key2 !== "css" && _key2 !== typePropName && !isDevelopment3) {
          newProps[_key2] = props[_key2];
        }
      }
      newProps.className = className;
      if (ref) {
        newProps.ref = ref;
      }
      return React2.createElement(React2.Fragment, null, React2.createElement(Insertion, {
        cache,
        serialized,
        isStringTag: typeof WrappedComponent === "string"
      }), React2.createElement(WrappedComponent, newProps));
    });
    Emotion$1 = Emotion;
  }
});

// ../node_modules/@emotion/react/dist/emotion-react.browser.esm.js
function css() {
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
    args[_key] = arguments[_key];
  }
  return serializeStyles(args);
}
function keyframes() {
  var insertable = css.apply(void 0, arguments);
  var name = "animation-" + insertable.name;
  return {
    name,
    styles: "@keyframes " + name + "{" + insertable.styles + "}",
    anim: 1,
    toString: /* @__PURE__ */ __name(function toString5() {
      return "_EMO_" + this.name + "_" + this.styles + "_EMO_";
    }, "toString")
  };
}
function merge(registered, css3, className) {
  var registeredStyles = [];
  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);
  if (registeredStyles.length < 2) {
    return className;
  }
  return rawClassName + css3(registeredStyles);
}
var React3, import_hoist_non_react_statics2, jsx, Global, classnames, Insertion3, ClassNames;
var init_emotion_react_browser_esm = __esm({
  "../node_modules/@emotion/react/dist/emotion-react.browser.esm.js"() {
    init_emotion_element_f0de968e_browser_esm();
    init_emotion_element_f0de968e_browser_esm();
    React3 = __toESM(require_react());
    init_emotion_utils_browser_esm();
    init_emotion_use_insertion_effect_with_fallbacks_browser_esm();
    init_emotion_serialize_esm();
    init_emotion_cache_browser_esm();
    init_extends();
    init_emotion_weak_memoize_esm();
    init_emotion_react_isolated_hnrs_browser_esm();
    import_hoist_non_react_statics2 = __toESM(require_hoist_non_react_statics_cjs());
    jsx = /* @__PURE__ */ __name(function jsx2(type5, props) {
      var args = arguments;
      if (props == null || !hasOwn.call(props, "css")) {
        return React3.createElement.apply(void 0, args);
      }
      var argsLength = args.length;
      var createElementArgArray = new Array(argsLength);
      createElementArgArray[0] = Emotion$1;
      createElementArgArray[1] = createEmotionProps(type5, props);
      for (var i2 = 2; i2 < argsLength; i2++) {
        createElementArgArray[i2] = args[i2];
      }
      return React3.createElement.apply(null, createElementArgArray);
    }, "jsx");
    (function(_jsx) {
      var JSX;
      /* @__PURE__ */ (function(_JSX) {
      })(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));
    })(jsx || (jsx = {}));
    Global = withEmotionCache(function(props, cache) {
      var styles4 = props.styles;
      var serialized = serializeStyles([styles4], void 0, React3.useContext(ThemeContext));
      var sheetRef = React3.useRef();
      useInsertionEffectWithLayoutFallback(function() {
        var key = cache.key + "-global";
        var sheet = new cache.sheet.constructor({
          key,
          nonce: cache.sheet.nonce,
          container: cache.sheet.container,
          speedy: cache.sheet.isSpeedy
        });
        var rehydrating = false;
        var node2 = document.querySelector('style[data-emotion="' + key + " " + serialized.name + '"]');
        if (cache.sheet.tags.length) {
          sheet.before = cache.sheet.tags[0];
        }
        if (node2 !== null) {
          rehydrating = true;
          node2.setAttribute("data-emotion", key);
          sheet.hydrate([node2]);
        }
        sheetRef.current = [sheet, rehydrating];
        return function() {
          sheet.flush();
        };
      }, [cache]);
      useInsertionEffectWithLayoutFallback(function() {
        var sheetRefCurrent = sheetRef.current;
        var sheet = sheetRefCurrent[0], rehydrating = sheetRefCurrent[1];
        if (rehydrating) {
          sheetRefCurrent[1] = false;
          return;
        }
        if (serialized.next !== void 0) {
          insertStyles(cache, serialized.next, true);
        }
        if (sheet.tags.length) {
          var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;
          sheet.before = element;
          sheet.flush();
        }
        cache.insert("", serialized, sheet, false);
      }, [cache, serialized.name]);
      return null;
    });
    __name(css, "css");
    __name(keyframes, "keyframes");
    classnames = /* @__PURE__ */ __name(function classnames2(args) {
      var len = args.length;
      var i2 = 0;
      var cls = "";
      for (; i2 < len; i2++) {
        var arg = args[i2];
        if (arg == null) continue;
        var toAdd = void 0;
        switch (typeof arg) {
          case "boolean":
            break;
          case "object": {
            if (Array.isArray(arg)) {
              toAdd = classnames2(arg);
            } else {
              toAdd = "";
              for (var k in arg) {
                if (arg[k] && k) {
                  toAdd && (toAdd += " ");
                  toAdd += k;
                }
              }
            }
            break;
          }
          default: {
            toAdd = arg;
          }
        }
        if (toAdd) {
          cls && (cls += " ");
          cls += toAdd;
        }
      }
      return cls;
    }, "classnames");
    __name(merge, "merge");
    Insertion3 = /* @__PURE__ */ __name(function Insertion4(_ref) {
      var cache = _ref.cache, serializedArr = _ref.serializedArr;
      useInsertionEffectAlwaysWithSyncFallback(function() {
        for (var i2 = 0; i2 < serializedArr.length; i2++) {
          insertStyles(cache, serializedArr[i2], false);
        }
      });
      return null;
    }, "Insertion");
    ClassNames = withEmotionCache(function(props, cache) {
      var hasRendered = false;
      var serializedArr = [];
      var css3 = /* @__PURE__ */ __name(function css4() {
        if (hasRendered && isDevelopment3) {
          throw new Error("css can only be used during render");
        }
        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }
        var serialized = serializeStyles(args, cache.registered);
        serializedArr.push(serialized);
        registerStyles(cache, serialized, false);
        return cache.key + "-" + serialized.name;
      }, "css");
      var cx = /* @__PURE__ */ __name(function cx2() {
        if (hasRendered && isDevelopment3) {
          throw new Error("cx can only be used during render");
        }
        for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
          args[_key2] = arguments[_key2];
        }
        return merge(cache.registered, css3, classnames(args));
      }, "cx");
      var content = {
        css: css3,
        cx,
        theme: React3.useContext(ThemeContext)
      };
      var ele = props.children(content);
      hasRendered = true;
      return React3.createElement(React3.Fragment, null, React3.createElement(Insertion3, {
        cache,
        serializedArr
      }), ele);
    });
  }
});

// ../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js
var reactPropsRegex, isPropValid;
var init_emotion_is_prop_valid_esm = __esm({
  "../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js"() {
    init_emotion_memoize_esm();
    reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|popover|popoverTarget|popoverTargetAction|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;
    isPropValid = memoize2(
      function(prop) {
        return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91;
      }
      /* Z+1 */
    );
  }
});

// ../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js
var React4, isDevelopment4, testOmitPropsOnStringTag, testOmitPropsOnComponent, getDefaultShouldForwardProp, composeShouldForwardProps, Insertion5, createStyled;
var init_emotion_styled_base_browser_esm = __esm({
  "../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js"() {
    init_extends();
    init_emotion_react_browser_esm();
    init_emotion_serialize_esm();
    init_emotion_use_insertion_effect_with_fallbacks_browser_esm();
    init_emotion_utils_browser_esm();
    React4 = __toESM(require_react());
    init_emotion_is_prop_valid_esm();
    isDevelopment4 = false;
    testOmitPropsOnStringTag = isPropValid;
    testOmitPropsOnComponent = /* @__PURE__ */ __name(function testOmitPropsOnComponent2(key) {
      return key !== "theme";
    }, "testOmitPropsOnComponent");
    getDefaultShouldForwardProp = /* @__PURE__ */ __name(function getDefaultShouldForwardProp2(tag) {
      return typeof tag === "string" && // 96 is one less than the char code
      // for "a" so this is checking that
      // it's a lowercase character
      tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;
    }, "getDefaultShouldForwardProp");
    composeShouldForwardProps = /* @__PURE__ */ __name(function composeShouldForwardProps2(tag, options, isReal) {
      var shouldForwardProp;
      if (options) {
        var optionsShouldForwardProp = options.shouldForwardProp;
        shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function(propName) {
          return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);
        } : optionsShouldForwardProp;
      }
      if (typeof shouldForwardProp !== "function" && isReal) {
        shouldForwardProp = tag.__emotion_forwardProp;
      }
      return shouldForwardProp;
    }, "composeShouldForwardProps");
    Insertion5 = /* @__PURE__ */ __name(function Insertion6(_ref) {
      var cache = _ref.cache, serialized = _ref.serialized, isStringTag = _ref.isStringTag;
      registerStyles(cache, serialized, isStringTag);
      useInsertionEffectAlwaysWithSyncFallback(function() {
        return insertStyles(cache, serialized, isStringTag);
      });
      return null;
    }, "Insertion");
    createStyled = /* @__PURE__ */ __name(function createStyled2(tag, options) {
      var isReal = tag.__emotion_real === tag;
      var baseTag = isReal && tag.__emotion_base || tag;
      var identifierName;
      var targetClassName;
      if (options !== void 0) {
        identifierName = options.label;
        targetClassName = options.target;
      }
      var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);
      var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);
      var shouldUseAs = !defaultShouldForwardProp("as");
      return function() {
        var args = arguments;
        var styles4 = isReal && tag.__emotion_styles !== void 0 ? tag.__emotion_styles.slice(0) : [];
        if (identifierName !== void 0) {
          styles4.push("label:" + identifierName + ";");
        }
        if (args[0] == null || args[0].raw === void 0) {
          styles4.push.apply(styles4, args);
        } else {
          var templateStringsArr = args[0];
          styles4.push(templateStringsArr[0]);
          var len = args.length;
          var i2 = 1;
          for (; i2 < len; i2++) {
            styles4.push(args[i2], templateStringsArr[i2]);
          }
        }
        var Styled = withEmotionCache(function(props, cache, ref) {
          var FinalTag = shouldUseAs && props.as || baseTag;
          var className = "";
          var classInterpolations = [];
          var mergedProps = props;
          if (props.theme == null) {
            mergedProps = {};
            for (var key in props) {
              mergedProps[key] = props[key];
            }
            mergedProps.theme = React4.useContext(ThemeContext);
          }
          if (typeof props.className === "string") {
            className = getRegisteredStyles(cache.registered, classInterpolations, props.className);
          } else if (props.className != null) {
            className = props.className + " ";
          }
          var serialized = serializeStyles(styles4.concat(classInterpolations), cache.registered, mergedProps);
          className += cache.key + "-" + serialized.name;
          if (targetClassName !== void 0) {
            className += " " + targetClassName;
          }
          var finalShouldForwardProp = shouldUseAs && shouldForwardProp === void 0 ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;
          var newProps = {};
          for (var _key in props) {
            if (shouldUseAs && _key === "as") continue;
            if (finalShouldForwardProp(_key)) {
              newProps[_key] = props[_key];
            }
          }
          newProps.className = className;
          if (ref) {
            newProps.ref = ref;
          }
          return React4.createElement(React4.Fragment, null, React4.createElement(Insertion5, {
            cache,
            serialized,
            isStringTag: typeof FinalTag === "string"
          }), React4.createElement(FinalTag, newProps));
        });
        Styled.displayName = identifierName !== void 0 ? identifierName : "Styled(" + (typeof baseTag === "string" ? baseTag : baseTag.displayName || baseTag.name || "Component") + ")";
        Styled.defaultProps = tag.defaultProps;
        Styled.__emotion_real = Styled;
        Styled.__emotion_base = baseTag;
        Styled.__emotion_styles = styles4;
        Styled.__emotion_forwardProp = shouldForwardProp;
        Object.defineProperty(Styled, "toString", {
          value: /* @__PURE__ */ __name(function value() {
            if (targetClassName === void 0 && isDevelopment4) {
              return "NO_COMPONENT_SELECTOR";
            }
            return "." + targetClassName;
          }, "value")
        });
        Styled.withComponent = function(nextTag, nextOptions) {
          var newStyled = createStyled2(nextTag, _extends({}, options, nextOptions, {
            shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)
          }));
          return newStyled.apply(void 0, styles4);
        };
        return Styled;
      };
    }, "createStyled");
  }
});

// ../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js
var import_react4, tags, styled;
var init_emotion_styled_browser_esm = __esm({
  "../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js"() {
    init_emotion_styled_base_browser_esm();
    init_extends();
    init_emotion_react_browser_esm();
    init_emotion_serialize_esm();
    init_emotion_use_insertion_effect_with_fallbacks_browser_esm();
    init_emotion_utils_browser_esm();
    import_react4 = __toESM(require_react());
    init_emotion_is_prop_valid_esm();
    tags = [
      "a",
      "abbr",
      "address",
      "area",
      "article",
      "aside",
      "audio",
      "b",
      "base",
      "bdi",
      "bdo",
      "big",
      "blockquote",
      "body",
      "br",
      "button",
      "canvas",
      "caption",
      "cite",
      "code",
      "col",
      "colgroup",
      "data",
      "datalist",
      "dd",
      "del",
      "details",
      "dfn",
      "dialog",
      "div",
      "dl",
      "dt",
      "em",
      "embed",
      "fieldset",
      "figcaption",
      "figure",
      "footer",
      "form",
      "h1",
      "h2",
      "h3",
      "h4",
      "h5",
      "h6",
      "head",
      "header",
      "hgroup",
      "hr",
      "html",
      "i",
      "iframe",
      "img",
      "input",
      "ins",
      "kbd",
      "keygen",
      "label",
      "legend",
      "li",
      "link",
      "main",
      "map",
      "mark",
      "marquee",
      "menu",
      "menuitem",
      "meta",
      "meter",
      "nav",
      "noscript",
      "object",
      "ol",
      "optgroup",
      "option",
      "output",
      "p",
      "param",
      "picture",
      "pre",
      "progress",
      "q",
      "rp",
      "rt",
      "ruby",
      "s",
      "samp",
      "script",
      "section",
      "select",
      "small",
      "source",
      "span",
      "strong",
      "style",
      "sub",
      "summary",
      "sup",
      "table",
      "tbody",
      "td",
      "textarea",
      "tfoot",
      "th",
      "thead",
      "time",
      "title",
      "tr",
      "track",
      "u",
      "ul",
      "var",
      "video",
      "wbr",
      // SVG
      "circle",
      "clipPath",
      "defs",
      "ellipse",
      "foreignObject",
      "g",
      "image",
      "line",
      "linearGradient",
      "mask",
      "path",
      "pattern",
      "polygon",
      "polyline",
      "radialGradient",
      "rect",
      "stop",
      "svg",
      "text",
      "tspan"
    ];
    styled = createStyled.bind(null);
    tags.forEach(function(tagName) {
      styled[tagName] = styled(tagName);
    });
  }
});

// ../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
function _assertThisInitialized(e2) {
  if (void 0 === e2) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  return e2;
}
var init_assertThisInitialized = __esm({
  "../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"() {
    __name(_assertThisInitialized, "_assertThisInitialized");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
function _setPrototypeOf(t2, e2) {
  return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t3, e3) {
    return t3.__proto__ = e3, t3;
  }, _setPrototypeOf(t2, e2);
}
var init_setPrototypeOf = __esm({
  "../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"() {
    __name(_setPrototypeOf, "_setPrototypeOf");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
function _inheritsLoose(t2, o2) {
  t2.prototype = Object.create(o2.prototype), t2.prototype.constructor = t2, _setPrototypeOf(t2, o2);
}
var init_inheritsLoose = __esm({
  "../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"() {
    init_setPrototypeOf();
    __name(_inheritsLoose, "_inheritsLoose");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
function _getPrototypeOf(t2) {
  return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t3) {
    return t3.__proto__ || Object.getPrototypeOf(t3);
  }, _getPrototypeOf(t2);
}
var init_getPrototypeOf = __esm({
  "../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js"() {
    __name(_getPrototypeOf, "_getPrototypeOf");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js
function _isNativeFunction(t2) {
  try {
    return -1 !== Function.toString.call(t2).indexOf("[native code]");
  } catch (n2) {
    return "function" == typeof t2;
  }
}
var init_isNativeFunction = __esm({
  "../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js"() {
    __name(_isNativeFunction, "_isNativeFunction");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js
function _isNativeReflectConstruct() {
  try {
    var t2 = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
    }));
  } catch (t3) {
  }
  return (_isNativeReflectConstruct = /* @__PURE__ */ __name(function _isNativeReflectConstruct2() {
    return !!t2;
  }, "_isNativeReflectConstruct"))();
}
var init_isNativeReflectConstruct = __esm({
  "../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js"() {
    __name(_isNativeReflectConstruct, "_isNativeReflectConstruct");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/construct.js
function _construct(t2, e2, r2) {
  if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
  var o2 = [null];
  o2.push.apply(o2, e2);
  var p2 = new (t2.bind.apply(t2, o2))();
  return r2 && _setPrototypeOf(p2, r2.prototype), p2;
}
var init_construct = __esm({
  "../node_modules/@babel/runtime/helpers/esm/construct.js"() {
    init_isNativeReflectConstruct();
    init_setPrototypeOf();
    __name(_construct, "_construct");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js
function _wrapNativeSuper(t2) {
  var r2 = "function" == typeof Map ? /* @__PURE__ */ new Map() : void 0;
  return _wrapNativeSuper = /* @__PURE__ */ __name(function _wrapNativeSuper2(t3) {
    if (null === t3 || !_isNativeFunction(t3)) return t3;
    if ("function" != typeof t3) throw new TypeError("Super expression must either be null or a function");
    if (void 0 !== r2) {
      if (r2.has(t3)) return r2.get(t3);
      r2.set(t3, Wrapper7);
    }
    function Wrapper7() {
      return _construct(t3, arguments, _getPrototypeOf(this).constructor);
    }
    __name(Wrapper7, "Wrapper");
    return Wrapper7.prototype = Object.create(t3.prototype, {
      constructor: {
        value: Wrapper7,
        enumerable: false,
        writable: true,
        configurable: true
      }
    }), _setPrototypeOf(Wrapper7, t3);
  }, "_wrapNativeSuper"), _wrapNativeSuper(t2);
}
var init_wrapNativeSuper = __esm({
  "../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js"() {
    init_getPrototypeOf();
    init_setPrototypeOf();
    init_isNativeFunction();
    init_construct();
    __name(_wrapNativeSuper, "_wrapNativeSuper");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js
var init_taggedTemplateLiteralLoose = __esm({
  "../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js"() {
  }
});

// ../node_modules/polished/dist/polished.esm.js
function endsWith(string, suffix) {
  return string.substr(-suffix.length) === suffix;
}
function stripUnit(value) {
  if (typeof value !== "string") return value;
  var matchedValue = value.match(cssRegex$1);
  return matchedValue ? parseFloat(value) : value;
}
function colorToInt(color2) {
  return Math.round(color2 * 255);
}
function convertToInt(red, green, blue) {
  return colorToInt(red) + "," + colorToInt(green) + "," + colorToInt(blue);
}
function hslToRgb(hue, saturation, lightness, convert6) {
  if (convert6 === void 0) {
    convert6 = convertToInt;
  }
  if (saturation === 0) {
    return convert6(lightness, lightness, lightness);
  }
  var huePrime = (hue % 360 + 360) % 360 / 60;
  var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;
  var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));
  var red = 0;
  var green = 0;
  var blue = 0;
  if (huePrime >= 0 && huePrime < 1) {
    red = chroma;
    green = secondComponent;
  } else if (huePrime >= 1 && huePrime < 2) {
    red = secondComponent;
    green = chroma;
  } else if (huePrime >= 2 && huePrime < 3) {
    green = chroma;
    blue = secondComponent;
  } else if (huePrime >= 3 && huePrime < 4) {
    green = secondComponent;
    blue = chroma;
  } else if (huePrime >= 4 && huePrime < 5) {
    red = secondComponent;
    blue = chroma;
  } else if (huePrime >= 5 && huePrime < 6) {
    red = chroma;
    blue = secondComponent;
  }
  var lightnessModification = lightness - chroma / 2;
  var finalRed = red + lightnessModification;
  var finalGreen = green + lightnessModification;
  var finalBlue = blue + lightnessModification;
  return convert6(finalRed, finalGreen, finalBlue);
}
function nameToHex(color2) {
  if (typeof color2 !== "string") return color2;
  var normalizedColorName = color2.toLowerCase();
  return namedColorMap[normalizedColorName] ? "#" + namedColorMap[normalizedColorName] : color2;
}
function parseToRgb(color2) {
  if (typeof color2 !== "string") {
    throw new PolishedError(3);
  }
  var normalizedColor = nameToHex(color2);
  if (normalizedColor.match(hexRegex)) {
    return {
      red: parseInt("" + normalizedColor[1] + normalizedColor[2], 16),
      green: parseInt("" + normalizedColor[3] + normalizedColor[4], 16),
      blue: parseInt("" + normalizedColor[5] + normalizedColor[6], 16)
    };
  }
  if (normalizedColor.match(hexRgbaRegex)) {
    var alpha = parseFloat((parseInt("" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));
    return {
      red: parseInt("" + normalizedColor[1] + normalizedColor[2], 16),
      green: parseInt("" + normalizedColor[3] + normalizedColor[4], 16),
      blue: parseInt("" + normalizedColor[5] + normalizedColor[6], 16),
      alpha
    };
  }
  if (normalizedColor.match(reducedHexRegex)) {
    return {
      red: parseInt("" + normalizedColor[1] + normalizedColor[1], 16),
      green: parseInt("" + normalizedColor[2] + normalizedColor[2], 16),
      blue: parseInt("" + normalizedColor[3] + normalizedColor[3], 16)
    };
  }
  if (normalizedColor.match(reducedRgbaHexRegex)) {
    var _alpha = parseFloat((parseInt("" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));
    return {
      red: parseInt("" + normalizedColor[1] + normalizedColor[1], 16),
      green: parseInt("" + normalizedColor[2] + normalizedColor[2], 16),
      blue: parseInt("" + normalizedColor[3] + normalizedColor[3], 16),
      alpha: _alpha
    };
  }
  var rgbMatched = rgbRegex.exec(normalizedColor);
  if (rgbMatched) {
    return {
      red: parseInt("" + rgbMatched[1], 10),
      green: parseInt("" + rgbMatched[2], 10),
      blue: parseInt("" + rgbMatched[3], 10)
    };
  }
  var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));
  if (rgbaMatched) {
    return {
      red: parseInt("" + rgbaMatched[1], 10),
      green: parseInt("" + rgbaMatched[2], 10),
      blue: parseInt("" + rgbaMatched[3], 10),
      alpha: parseFloat("" + rgbaMatched[4]) > 1 ? parseFloat("" + rgbaMatched[4]) / 100 : parseFloat("" + rgbaMatched[4])
    };
  }
  var hslMatched = hslRegex.exec(normalizedColor);
  if (hslMatched) {
    var hue = parseInt("" + hslMatched[1], 10);
    var saturation = parseInt("" + hslMatched[2], 10) / 100;
    var lightness = parseInt("" + hslMatched[3], 10) / 100;
    var rgbColorString = "rgb(" + hslToRgb(hue, saturation, lightness) + ")";
    var hslRgbMatched = rgbRegex.exec(rgbColorString);
    if (!hslRgbMatched) {
      throw new PolishedError(4, normalizedColor, rgbColorString);
    }
    return {
      red: parseInt("" + hslRgbMatched[1], 10),
      green: parseInt("" + hslRgbMatched[2], 10),
      blue: parseInt("" + hslRgbMatched[3], 10)
    };
  }
  var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));
  if (hslaMatched) {
    var _hue = parseInt("" + hslaMatched[1], 10);
    var _saturation = parseInt("" + hslaMatched[2], 10) / 100;
    var _lightness = parseInt("" + hslaMatched[3], 10) / 100;
    var _rgbColorString = "rgb(" + hslToRgb(_hue, _saturation, _lightness) + ")";
    var _hslRgbMatched = rgbRegex.exec(_rgbColorString);
    if (!_hslRgbMatched) {
      throw new PolishedError(4, normalizedColor, _rgbColorString);
    }
    return {
      red: parseInt("" + _hslRgbMatched[1], 10),
      green: parseInt("" + _hslRgbMatched[2], 10),
      blue: parseInt("" + _hslRgbMatched[3], 10),
      alpha: parseFloat("" + hslaMatched[4]) > 1 ? parseFloat("" + hslaMatched[4]) / 100 : parseFloat("" + hslaMatched[4])
    };
  }
  throw new PolishedError(5);
}
function rgbToHsl(color2) {
  var red = color2.red / 255;
  var green = color2.green / 255;
  var blue = color2.blue / 255;
  var max2 = Math.max(red, green, blue);
  var min2 = Math.min(red, green, blue);
  var lightness = (max2 + min2) / 2;
  if (max2 === min2) {
    if (color2.alpha !== void 0) {
      return {
        hue: 0,
        saturation: 0,
        lightness,
        alpha: color2.alpha
      };
    } else {
      return {
        hue: 0,
        saturation: 0,
        lightness
      };
    }
  }
  var hue;
  var delta = max2 - min2;
  var saturation = lightness > 0.5 ? delta / (2 - max2 - min2) : delta / (max2 + min2);
  switch (max2) {
    case red:
      hue = (green - blue) / delta + (green < blue ? 6 : 0);
      break;
    case green:
      hue = (blue - red) / delta + 2;
      break;
    default:
      hue = (red - green) / delta + 4;
      break;
  }
  hue *= 60;
  if (color2.alpha !== void 0) {
    return {
      hue,
      saturation,
      lightness,
      alpha: color2.alpha
    };
  }
  return {
    hue,
    saturation,
    lightness
  };
}
function parseToHsl(color2) {
  return rgbToHsl(parseToRgb(color2));
}
function numberToHex(value) {
  var hex3 = value.toString(16);
  return hex3.length === 1 ? "0" + hex3 : hex3;
}
function colorToHex(color2) {
  return numberToHex(Math.round(color2 * 255));
}
function convertToHex(red, green, blue) {
  return reduceHexValue$1("#" + colorToHex(red) + colorToHex(green) + colorToHex(blue));
}
function hslToHex(hue, saturation, lightness) {
  return hslToRgb(hue, saturation, lightness, convertToHex);
}
function hsl(value, saturation, lightness) {
  if (typeof value === "number" && typeof saturation === "number" && typeof lightness === "number") {
    return hslToHex(value, saturation, lightness);
  } else if (typeof value === "object" && saturation === void 0 && lightness === void 0) {
    return hslToHex(value.hue, value.saturation, value.lightness);
  }
  throw new PolishedError(1);
}
function hsla(value, saturation, lightness, alpha) {
  if (typeof value === "number" && typeof saturation === "number" && typeof lightness === "number" && typeof alpha === "number") {
    return alpha >= 1 ? hslToHex(value, saturation, lightness) : "rgba(" + hslToRgb(value, saturation, lightness) + "," + alpha + ")";
  } else if (typeof value === "object" && saturation === void 0 && lightness === void 0 && alpha === void 0) {
    return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : "rgba(" + hslToRgb(value.hue, value.saturation, value.lightness) + "," + value.alpha + ")";
  }
  throw new PolishedError(2);
}
function rgb(value, green, blue) {
  if (typeof value === "number" && typeof green === "number" && typeof blue === "number") {
    return reduceHexValue$1("#" + numberToHex(value) + numberToHex(green) + numberToHex(blue));
  } else if (typeof value === "object" && green === void 0 && blue === void 0) {
    return reduceHexValue$1("#" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));
  }
  throw new PolishedError(6);
}
function rgba(firstValue, secondValue, thirdValue, fourthValue) {
  if (typeof firstValue === "string" && typeof secondValue === "number") {
    var rgbValue = parseToRgb(firstValue);
    return "rgba(" + rgbValue.red + "," + rgbValue.green + "," + rgbValue.blue + "," + secondValue + ")";
  } else if (typeof firstValue === "number" && typeof secondValue === "number" && typeof thirdValue === "number" && typeof fourthValue === "number") {
    return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : "rgba(" + firstValue + "," + secondValue + "," + thirdValue + "," + fourthValue + ")";
  } else if (typeof firstValue === "object" && secondValue === void 0 && thirdValue === void 0 && fourthValue === void 0) {
    return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : "rgba(" + firstValue.red + "," + firstValue.green + "," + firstValue.blue + "," + firstValue.alpha + ")";
  }
  throw new PolishedError(7);
}
function toColorString(color2) {
  if (typeof color2 !== "object") throw new PolishedError(8);
  if (isRgba(color2)) return rgba(color2);
  if (isRgb(color2)) return rgb(color2);
  if (isHsla(color2)) return hsla(color2);
  if (isHsl(color2)) return hsl(color2);
  throw new PolishedError(8);
}
function curried(f3, length2, acc) {
  return /* @__PURE__ */ __name(function fn4() {
    var combined = acc.concat(Array.prototype.slice.call(arguments));
    return combined.length >= length2 ? f3.apply(this, combined) : curried(f3, length2, combined);
  }, "fn");
}
function curry(f3) {
  return curried(f3, f3.length, []);
}
function adjustHue(degree, color2) {
  if (color2 === "transparent") return color2;
  var hslColor = parseToHsl(color2);
  return toColorString(_extends({}, hslColor, {
    hue: hslColor.hue + parseFloat(degree)
  }));
}
function guard(lowerBoundary, upperBoundary, value) {
  return Math.max(lowerBoundary, Math.min(upperBoundary, value));
}
function darken(amount, color2) {
  if (color2 === "transparent") return color2;
  var hslColor = parseToHsl(color2);
  return toColorString(_extends({}, hslColor, {
    lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))
  }));
}
function desaturate(amount, color2) {
  if (color2 === "transparent") return color2;
  var hslColor = parseToHsl(color2);
  return toColorString(_extends({}, hslColor, {
    saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))
  }));
}
function lighten(amount, color2) {
  if (color2 === "transparent") return color2;
  var hslColor = parseToHsl(color2);
  return toColorString(_extends({}, hslColor, {
    lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))
  }));
}
function mix(weight, color2, otherColor) {
  if (color2 === "transparent") return otherColor;
  if (otherColor === "transparent") return color2;
  if (weight === 0) return otherColor;
  var parsedColor1 = parseToRgb(color2);
  var color1 = _extends({}, parsedColor1, {
    alpha: typeof parsedColor1.alpha === "number" ? parsedColor1.alpha : 1
  });
  var parsedColor2 = parseToRgb(otherColor);
  var color22 = _extends({}, parsedColor2, {
    alpha: typeof parsedColor2.alpha === "number" ? parsedColor2.alpha : 1
  });
  var alphaDelta = color1.alpha - color22.alpha;
  var x = parseFloat(weight) * 2 - 1;
  var y = x * alphaDelta === -1 ? x : x + alphaDelta;
  var z = 1 + x * alphaDelta;
  var weight1 = (y / z + 1) / 2;
  var weight2 = 1 - weight1;
  var mixedColor = {
    red: Math.floor(color1.red * weight1 + color22.red * weight2),
    green: Math.floor(color1.green * weight1 + color22.green * weight2),
    blue: Math.floor(color1.blue * weight1 + color22.blue * weight2),
    alpha: color1.alpha * parseFloat(weight) + color22.alpha * (1 - parseFloat(weight))
  };
  return rgba(mixedColor);
}
function opacify(amount, color2) {
  if (color2 === "transparent") return color2;
  var parsedColor = parseToRgb(color2);
  var alpha = typeof parsedColor.alpha === "number" ? parsedColor.alpha : 1;
  var colorWithAlpha = _extends({}, parsedColor, {
    alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)
  });
  return rgba(colorWithAlpha);
}
function saturate(amount, color2) {
  if (color2 === "transparent") return color2;
  var hslColor = parseToHsl(color2);
  return toColorString(_extends({}, hslColor, {
    saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))
  }));
}
function setHue(hue, color2) {
  if (color2 === "transparent") return color2;
  return toColorString(_extends({}, parseToHsl(color2), {
    hue: parseFloat(hue)
  }));
}
function setLightness(lightness, color2) {
  if (color2 === "transparent") return color2;
  return toColorString(_extends({}, parseToHsl(color2), {
    lightness: parseFloat(lightness)
  }));
}
function setSaturation(saturation, color2) {
  if (color2 === "transparent") return color2;
  return toColorString(_extends({}, parseToHsl(color2), {
    saturation: parseFloat(saturation)
  }));
}
function shade(percentage, color2) {
  if (color2 === "transparent") return color2;
  return mix$1(parseFloat(percentage), "rgb(0, 0, 0)", color2);
}
function tint(percentage, color2) {
  if (color2 === "transparent") return color2;
  return mix$1(parseFloat(percentage), "rgb(255, 255, 255)", color2);
}
function transparentize(amount, color2) {
  if (color2 === "transparent") return color2;
  var parsedColor = parseToRgb(color2);
  var alpha = typeof parsedColor.alpha === "number" ? parsedColor.alpha : 1;
  var colorWithAlpha = _extends({}, parsedColor, {
    alpha: guard(0, 1, +(alpha * 100 - parseFloat(amount) * 100).toFixed(2) / 100)
  });
  return rgba(colorWithAlpha);
}
var PolishedError, cssRegex$1, pxtoFactory, pixelsto, em, rem, namedColorMap, hexRegex, hexRgbaRegex, reducedHexRegex, reducedRgbaHexRegex, rgbRegex, rgbaRegex, hslRegex, hslaRegex, reduceHexValue, reduceHexValue$1, isRgb, isRgba, isHsl, isHsla, curriedAdjustHue, curriedDarken, curriedDarken$1, curriedDesaturate, curriedLighten, curriedLighten$1, curriedMix, mix$1, curriedOpacify, curriedOpacify$1, curriedSaturate, curriedSetHue, curriedSetLightness, curriedSetSaturation, curriedShade, curriedTint, curriedTransparentize, curriedTransparentize$1;
var init_polished_esm = __esm({
  "../node_modules/polished/dist/polished.esm.js"() {
    init_extends();
    init_assertThisInitialized();
    init_inheritsLoose();
    init_wrapNativeSuper();
    init_taggedTemplateLiteralLoose();
    PolishedError = function(_Error) {
      _inheritsLoose(PolishedError2, _Error);
      function PolishedError2(code) {
        var _this;
        if (true) {
          _this = _Error.call(this, "An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#" + code + " for more information.") || this;
        } else {
          for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
            args[_key2 - 1] = arguments[_key2];
          }
          _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;
        }
        return _assertThisInitialized(_this);
      }
      __name(PolishedError2, "PolishedError");
      return PolishedError2;
    }(_wrapNativeSuper(Error));
    __name(endsWith, "endsWith");
    cssRegex$1 = /^([+-]?(?:\d+|\d*\.\d+))([a-z]*|%)$/;
    __name(stripUnit, "stripUnit");
    pxtoFactory = /* @__PURE__ */ __name(function pxtoFactory2(to) {
      return function(pxval, base) {
        if (base === void 0) {
          base = "16px";
        }
        var newPxval = pxval;
        var newBase = base;
        if (typeof pxval === "string") {
          if (!endsWith(pxval, "px")) {
            throw new PolishedError(69, to, pxval);
          }
          newPxval = stripUnit(pxval);
        }
        if (typeof base === "string") {
          if (!endsWith(base, "px")) {
            throw new PolishedError(70, to, base);
          }
          newBase = stripUnit(base);
        }
        if (typeof newPxval === "string") {
          throw new PolishedError(71, pxval, to);
        }
        if (typeof newBase === "string") {
          throw new PolishedError(72, base, to);
        }
        return "" + newPxval / newBase + to;
      };
    }, "pxtoFactory");
    pixelsto = pxtoFactory;
    em = pixelsto("em");
    rem = pixelsto("rem");
    __name(colorToInt, "colorToInt");
    __name(convertToInt, "convertToInt");
    __name(hslToRgb, "hslToRgb");
    namedColorMap = {
      aliceblue: "f0f8ff",
      antiquewhite: "faebd7",
      aqua: "00ffff",
      aquamarine: "7fffd4",
      azure: "f0ffff",
      beige: "f5f5dc",
      bisque: "ffe4c4",
      black: "000",
      blanchedalmond: "ffebcd",
      blue: "0000ff",
      blueviolet: "8a2be2",
      brown: "a52a2a",
      burlywood: "deb887",
      cadetblue: "5f9ea0",
      chartreuse: "7fff00",
      chocolate: "d2691e",
      coral: "ff7f50",
      cornflowerblue: "6495ed",
      cornsilk: "fff8dc",
      crimson: "dc143c",
      cyan: "00ffff",
      darkblue: "00008b",
      darkcyan: "008b8b",
      darkgoldenrod: "b8860b",
      darkgray: "a9a9a9",
      darkgreen: "006400",
      darkgrey: "a9a9a9",
      darkkhaki: "bdb76b",
      darkmagenta: "8b008b",
      darkolivegreen: "556b2f",
      darkorange: "ff8c00",
      darkorchid: "9932cc",
      darkred: "8b0000",
      darksalmon: "e9967a",
      darkseagreen: "8fbc8f",
      darkslateblue: "483d8b",
      darkslategray: "2f4f4f",
      darkslategrey: "2f4f4f",
      darkturquoise: "00ced1",
      darkviolet: "9400d3",
      deeppink: "ff1493",
      deepskyblue: "00bfff",
      dimgray: "696969",
      dimgrey: "696969",
      dodgerblue: "1e90ff",
      firebrick: "b22222",
      floralwhite: "fffaf0",
      forestgreen: "228b22",
      fuchsia: "ff00ff",
      gainsboro: "dcdcdc",
      ghostwhite: "f8f8ff",
      gold: "ffd700",
      goldenrod: "daa520",
      gray: "808080",
      green: "008000",
      greenyellow: "adff2f",
      grey: "808080",
      honeydew: "f0fff0",
      hotpink: "ff69b4",
      indianred: "cd5c5c",
      indigo: "4b0082",
      ivory: "fffff0",
      khaki: "f0e68c",
      lavender: "e6e6fa",
      lavenderblush: "fff0f5",
      lawngreen: "7cfc00",
      lemonchiffon: "fffacd",
      lightblue: "add8e6",
      lightcoral: "f08080",
      lightcyan: "e0ffff",
      lightgoldenrodyellow: "fafad2",
      lightgray: "d3d3d3",
      lightgreen: "90ee90",
      lightgrey: "d3d3d3",
      lightpink: "ffb6c1",
      lightsalmon: "ffa07a",
      lightseagreen: "20b2aa",
      lightskyblue: "87cefa",
      lightslategray: "789",
      lightslategrey: "789",
      lightsteelblue: "b0c4de",
      lightyellow: "ffffe0",
      lime: "0f0",
      limegreen: "32cd32",
      linen: "faf0e6",
      magenta: "f0f",
      maroon: "800000",
      mediumaquamarine: "66cdaa",
      mediumblue: "0000cd",
      mediumorchid: "ba55d3",
      mediumpurple: "9370db",
      mediumseagreen: "3cb371",
      mediumslateblue: "7b68ee",
      mediumspringgreen: "00fa9a",
      mediumturquoise: "48d1cc",
      mediumvioletred: "c71585",
      midnightblue: "191970",
      mintcream: "f5fffa",
      mistyrose: "ffe4e1",
      moccasin: "ffe4b5",
      navajowhite: "ffdead",
      navy: "000080",
      oldlace: "fdf5e6",
      olive: "808000",
      olivedrab: "6b8e23",
      orange: "ffa500",
      orangered: "ff4500",
      orchid: "da70d6",
      palegoldenrod: "eee8aa",
      palegreen: "98fb98",
      paleturquoise: "afeeee",
      palevioletred: "db7093",
      papayawhip: "ffefd5",
      peachpuff: "ffdab9",
      peru: "cd853f",
      pink: "ffc0cb",
      plum: "dda0dd",
      powderblue: "b0e0e6",
      purple: "800080",
      rebeccapurple: "639",
      red: "f00",
      rosybrown: "bc8f8f",
      royalblue: "4169e1",
      saddlebrown: "8b4513",
      salmon: "fa8072",
      sandybrown: "f4a460",
      seagreen: "2e8b57",
      seashell: "fff5ee",
      sienna: "a0522d",
      silver: "c0c0c0",
      skyblue: "87ceeb",
      slateblue: "6a5acd",
      slategray: "708090",
      slategrey: "708090",
      snow: "fffafa",
      springgreen: "00ff7f",
      steelblue: "4682b4",
      tan: "d2b48c",
      teal: "008080",
      thistle: "d8bfd8",
      tomato: "ff6347",
      turquoise: "40e0d0",
      violet: "ee82ee",
      wheat: "f5deb3",
      white: "fff",
      whitesmoke: "f5f5f5",
      yellow: "ff0",
      yellowgreen: "9acd32"
    };
    __name(nameToHex, "nameToHex");
    hexRegex = /^#[a-fA-F0-9]{6}$/;
    hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;
    reducedHexRegex = /^#[a-fA-F0-9]{3}$/;
    reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;
    rgbRegex = /^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i;
    rgbaRegex = /^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;
    hslRegex = /^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i;
    hslaRegex = /^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;
    __name(parseToRgb, "parseToRgb");
    __name(rgbToHsl, "rgbToHsl");
    __name(parseToHsl, "parseToHsl");
    reduceHexValue = /* @__PURE__ */ __name(function reduceHexValue2(value) {
      if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {
        return "#" + value[1] + value[3] + value[5];
      }
      return value;
    }, "reduceHexValue");
    reduceHexValue$1 = reduceHexValue;
    __name(numberToHex, "numberToHex");
    __name(colorToHex, "colorToHex");
    __name(convertToHex, "convertToHex");
    __name(hslToHex, "hslToHex");
    __name(hsl, "hsl");
    __name(hsla, "hsla");
    __name(rgb, "rgb");
    __name(rgba, "rgba");
    isRgb = /* @__PURE__ */ __name(function isRgb2(color2) {
      return typeof color2.red === "number" && typeof color2.green === "number" && typeof color2.blue === "number" && (typeof color2.alpha !== "number" || typeof color2.alpha === "undefined");
    }, "isRgb");
    isRgba = /* @__PURE__ */ __name(function isRgba2(color2) {
      return typeof color2.red === "number" && typeof color2.green === "number" && typeof color2.blue === "number" && typeof color2.alpha === "number";
    }, "isRgba");
    isHsl = /* @__PURE__ */ __name(function isHsl2(color2) {
      return typeof color2.hue === "number" && typeof color2.saturation === "number" && typeof color2.lightness === "number" && (typeof color2.alpha !== "number" || typeof color2.alpha === "undefined");
    }, "isHsl");
    isHsla = /* @__PURE__ */ __name(function isHsla2(color2) {
      return typeof color2.hue === "number" && typeof color2.saturation === "number" && typeof color2.lightness === "number" && typeof color2.alpha === "number";
    }, "isHsla");
    __name(toColorString, "toColorString");
    __name(curried, "curried");
    __name(curry, "curry");
    __name(adjustHue, "adjustHue");
    curriedAdjustHue = curry(adjustHue);
    __name(guard, "guard");
    __name(darken, "darken");
    curriedDarken = curry(darken);
    curriedDarken$1 = curriedDarken;
    __name(desaturate, "desaturate");
    curriedDesaturate = curry(desaturate);
    __name(lighten, "lighten");
    curriedLighten = curry(lighten);
    curriedLighten$1 = curriedLighten;
    __name(mix, "mix");
    curriedMix = curry(mix);
    mix$1 = curriedMix;
    __name(opacify, "opacify");
    curriedOpacify = curry(opacify);
    curriedOpacify$1 = curriedOpacify;
    __name(saturate, "saturate");
    curriedSaturate = curry(saturate);
    __name(setHue, "setHue");
    curriedSetHue = curry(setHue);
    __name(setLightness, "setLightness");
    curriedSetLightness = curry(setLightness);
    __name(setSaturation, "setSaturation");
    curriedSetSaturation = curry(setSaturation);
    __name(shade, "shade");
    curriedShade = curry(shade);
    __name(tint, "tint");
    curriedTint = curry(tint);
    __name(transparentize, "transparentize");
    curriedTransparentize = curry(transparentize);
    curriedTransparentize$1 = curriedTransparentize;
  }
});

// src/theming/base.ts
var color, background, typography;
var init_base = __esm({
  "src/theming/base.ts"() {
    "use strict";
    init_polished_esm();
    color = {
      // Official color palette
      primary: "#FF4785",
      // coral
      secondary: "#029CFD",
      // ocean
      tertiary: "#FAFBFC",
      ancillary: "#22a699",
      // Complimentary
      orange: "#FC521F",
      gold: "#FFAE00",
      green: "#66BF3C",
      seafoam: "#37D5D3",
      purple: "#6F2CAC",
      ultraviolet: "#2A0481",
      // Monochrome
      lightest: "#FFFFFF",
      lighter: "#F7FAFC",
      light: "#EEF3F6",
      mediumlight: "#ECF4F9",
      medium: "#D9E8F2",
      mediumdark: "#73828C",
      dark: "#5C6870",
      darker: "#454E54",
      darkest: "#2E3438",
      // For borders
      border: "hsla(203, 50%, 30%, 0.15)",
      // Status
      positive: "#66BF3C",
      negative: "#FF4400",
      warning: "#E69D00",
      critical: "#FFFFFF",
      // Text
      defaultText: "#2E3438",
      inverseText: "#FFFFFF",
      positiveText: "#448028",
      negativeText: "#D43900",
      warningText: "#A15C20"
    };
    background = {
      app: "#F6F9FC",
      bar: color.lightest,
      content: color.lightest,
      preview: color.lightest,
      gridCellSize: 10,
      hoverable: curriedTransparentize$1(0.9, color.secondary),
      // hover state for items in a list
      // Notification, error, and warning backgrounds
      positive: "#E1FFD4",
      negative: "#FEDED2",
      warning: "#FFF5CF",
      critical: "#FF4400"
    };
    typography = {
      fonts: {
        base: [
          '"Nunito Sans"',
          "-apple-system",
          '".SFNSText-Regular"',
          '"San Francisco"',
          "BlinkMacSystemFont",
          '"Segoe UI"',
          '"Helvetica Neue"',
          "Helvetica",
          "Arial",
          "sans-serif"
        ].join(", "),
        mono: [
          "ui-monospace",
          "Menlo",
          "Monaco",
          '"Roboto Mono"',
          '"Oxygen Mono"',
          '"Ubuntu Monospace"',
          '"Source Code Pro"',
          '"Droid Sans Mono"',
          '"Courier New"',
          "monospace"
        ].join(", ")
      },
      weight: {
        regular: 400,
        bold: 700
      },
      size: {
        s1: 12,
        s2: 14,
        s3: 16,
        m1: 20,
        m2: 24,
        m3: 28,
        l1: 32,
        l2: 40,
        l3: 48,
        code: 90
      }
    };
  }
});

// src/theming/types.ts
var init_types = __esm({
  "src/theming/types.ts"() {
    "use strict";
  }
});

// ../node_modules/memoizerific/memoizerific.js
var require_memoizerific = __commonJS({
  "../node_modules/memoizerific/memoizerific.js"(exports, module2) {
    (function(f3) {
      if (typeof exports === "object" && typeof module2 !== "undefined") {
        module2.exports = f3();
      } else if (typeof define === "function" && define.amd) {
        define([], f3);
      } else {
        var g2;
        if (typeof window !== "undefined") {
          g2 = window;
        } else if (typeof global !== "undefined") {
          g2 = global;
        } else if (typeof self !== "undefined") {
          g2 = self;
        } else {
          g2 = this;
        }
        g2.memoizerific = f3();
      }
    })(function() {
      var define3, module3, exports2;
      return (/* @__PURE__ */ __name(function e2(t2, n2, r2) {
        function s3(o3, u2) {
          if (!n2[o3]) {
            if (!t2[o3]) {
              var a2 = typeof __require == "function" && __require;
              if (!u2 && a2) return a2(o3, true);
              if (i2) return i2(o3, true);
              var f3 = new Error("Cannot find module '" + o3 + "'");
              throw f3.code = "MODULE_NOT_FOUND", f3;
            }
            var l = n2[o3] = { exports: {} };
            t2[o3][0].call(l.exports, function(e3) {
              var n3 = t2[o3][1][e3];
              return s3(n3 ? n3 : e3);
            }, l, l.exports, e2, t2, n2, r2);
          }
          return n2[o3].exports;
        }
        __name(s3, "s");
        var i2 = typeof __require == "function" && __require;
        for (var o2 = 0; o2 < r2.length; o2++) s3(r2[o2]);
        return s3;
      }, "e"))({ 1: [function(_dereq_, module4, exports3) {
        module4.exports = function(forceSimilar) {
          if (typeof Map !== "function" || forceSimilar) {
            var Similar = _dereq_("./similar");
            return new Similar();
          } else {
            return /* @__PURE__ */ new Map();
          }
        };
      }, { "./similar": 2 }], 2: [function(_dereq_, module4, exports3) {
        function Similar() {
          this.list = [];
          this.lastItem = void 0;
          this.size = 0;
          return this;
        }
        __name(Similar, "Similar");
        Similar.prototype.get = function(key) {
          var index4;
          if (this.lastItem && this.isEqual(this.lastItem.key, key)) {
            return this.lastItem.val;
          }
          index4 = this.indexOf(key);
          if (index4 >= 0) {
            this.lastItem = this.list[index4];
            return this.list[index4].val;
          }
          return void 0;
        };
        Similar.prototype.set = function(key, val) {
          var index4;
          if (this.lastItem && this.isEqual(this.lastItem.key, key)) {
            this.lastItem.val = val;
            return this;
          }
          index4 = this.indexOf(key);
          if (index4 >= 0) {
            this.lastItem = this.list[index4];
            this.list[index4].val = val;
            return this;
          }
          this.lastItem = { key, val };
          this.list.push(this.lastItem);
          this.size++;
          return this;
        };
        Similar.prototype.delete = function(key) {
          var index4;
          if (this.lastItem && this.isEqual(this.lastItem.key, key)) {
            this.lastItem = void 0;
          }
          index4 = this.indexOf(key);
          if (index4 >= 0) {
            this.size--;
            return this.list.splice(index4, 1)[0];
          }
          return void 0;
        };
        Similar.prototype.has = function(key) {
          var index4;
          if (this.lastItem && this.isEqual(this.lastItem.key, key)) {
            return true;
          }
          index4 = this.indexOf(key);
          if (index4 >= 0) {
            this.lastItem = this.list[index4];
            return true;
          }
          return false;
        };
        Similar.prototype.forEach = function(callback, thisArg) {
          var i2;
          for (i2 = 0; i2 < this.size; i2++) {
            callback.call(thisArg || this, this.list[i2].val, this.list[i2].key, this);
          }
        };
        Similar.prototype.indexOf = function(key) {
          var i2;
          for (i2 = 0; i2 < this.size; i2++) {
            if (this.isEqual(this.list[i2].key, key)) {
              return i2;
            }
          }
          return -1;
        };
        Similar.prototype.isEqual = function(val1, val2) {
          return val1 === val2 || val1 !== val1 && val2 !== val2;
        };
        module4.exports = Similar;
      }, {}], 3: [function(_dereq_, module4, exports3) {
        var MapOrSimilar = _dereq_("map-or-similar");
        module4.exports = function(limit) {
          var cache = new MapOrSimilar(false), lru = [];
          return function(fn4) {
            var memoizerific = /* @__PURE__ */ __name(function() {
              var currentCache = cache, newMap, fnResult, argsLengthMinusOne = arguments.length - 1, lruPath = Array(argsLengthMinusOne + 1), isMemoized = true, i2;
              if ((memoizerific.numArgs || memoizerific.numArgs === 0) && memoizerific.numArgs !== argsLengthMinusOne + 1) {
                throw new Error("Memoizerific functions should always be called with the same number of arguments");
              }
              for (i2 = 0; i2 < argsLengthMinusOne; i2++) {
                lruPath[i2] = {
                  cacheItem: currentCache,
                  arg: arguments[i2]
                };
                if (currentCache.has(arguments[i2])) {
                  currentCache = currentCache.get(arguments[i2]);
                  continue;
                }
                isMemoized = false;
                newMap = new MapOrSimilar(false);
                currentCache.set(arguments[i2], newMap);
                currentCache = newMap;
              }
              if (isMemoized) {
                if (currentCache.has(arguments[argsLengthMinusOne])) {
                  fnResult = currentCache.get(arguments[argsLengthMinusOne]);
                } else {
                  isMemoized = false;
                }
              }
              if (!isMemoized) {
                fnResult = fn4.apply(null, arguments);
                currentCache.set(arguments[argsLengthMinusOne], fnResult);
              }
              if (limit > 0) {
                lruPath[argsLengthMinusOne] = {
                  cacheItem: currentCache,
                  arg: arguments[argsLengthMinusOne]
                };
                if (isMemoized) {
                  moveToMostRecentLru(lru, lruPath);
                } else {
                  lru.push(lruPath);
                }
                if (lru.length > limit) {
                  removeCachedResult(lru.shift());
                }
              }
              memoizerific.wasMemoized = isMemoized;
              memoizerific.numArgs = argsLengthMinusOne + 1;
              return fnResult;
            }, "memoizerific");
            memoizerific.limit = limit;
            memoizerific.wasMemoized = false;
            memoizerific.cache = cache;
            memoizerific.lru = lru;
            return memoizerific;
          };
        };
        function moveToMostRecentLru(lru, lruPath) {
          var lruLen = lru.length, lruPathLen = lruPath.length, isMatch, i2, ii;
          for (i2 = 0; i2 < lruLen; i2++) {
            isMatch = true;
            for (ii = 0; ii < lruPathLen; ii++) {
              if (!isEqual4(lru[i2][ii].arg, lruPath[ii].arg)) {
                isMatch = false;
                break;
              }
            }
            if (isMatch) {
              break;
            }
          }
          lru.push(lru.splice(i2, 1)[0]);
        }
        __name(moveToMostRecentLru, "moveToMostRecentLru");
        function removeCachedResult(removedLru) {
          var removedLruLen = removedLru.length, currentLru = removedLru[removedLruLen - 1], tmp, i2;
          currentLru.cacheItem.delete(currentLru.arg);
          for (i2 = removedLruLen - 2; i2 >= 0; i2--) {
            currentLru = removedLru[i2];
            tmp = currentLru.cacheItem.get(currentLru.arg);
            if (!tmp || !tmp.size) {
              currentLru.cacheItem.delete(currentLru.arg);
            } else {
              break;
            }
          }
        }
        __name(removeCachedResult, "removeCachedResult");
        function isEqual4(val1, val2) {
          return val1 === val2 || val1 !== val1 && val2 !== val2;
        }
        __name(isEqual4, "isEqual");
      }, { "map-or-similar": 1 }] }, {}, [3])(3);
    });
  }
});

// src/theming/global.ts
var import_memoizerific, createReset, createGlobal;
var init_global = __esm({
  "src/theming/global.ts"() {
    "use strict";
    import_memoizerific = __toESM(require_memoizerific(), 1);
    createReset = (0, import_memoizerific.default)(1)(
      ({ typography: typography2 }) => ({
        body: {
          fontFamily: typography2.fonts.base,
          fontSize: typography2.size.s3,
          margin: 0,
          WebkitFontSmoothing: "antialiased",
          MozOsxFontSmoothing: "grayscale",
          WebkitTapHighlightColor: "rgba(0, 0, 0, 0)",
          WebkitOverflowScrolling: "touch"
        },
        "*": {
          boxSizing: "border-box"
        },
        "h1, h2, h3, h4, h5, h6": {
          fontWeight: typography2.weight.regular,
          margin: 0,
          padding: 0
        },
        "button, input, textarea, select": {
          fontFamily: "inherit",
          fontSize: "inherit",
          boxSizing: "border-box"
        },
        sub: {
          fontSize: "0.8em",
          bottom: "-0.2em"
        },
        sup: {
          fontSize: "0.8em",
          top: "-0.2em"
        },
        "b, strong": {
          fontWeight: typography2.weight.bold
        },
        hr: {
          border: "none",
          borderTop: "1px solid silver",
          clear: "both",
          marginBottom: "1.25rem"
        },
        code: {
          fontFamily: typography2.fonts.mono,
          WebkitFontSmoothing: "antialiased",
          MozOsxFontSmoothing: "grayscale",
          display: "inline-block",
          paddingLeft: 2,
          paddingRight: 2,
          verticalAlign: "baseline",
          color: "inherit"
        },
        pre: {
          fontFamily: typography2.fonts.mono,
          WebkitFontSmoothing: "antialiased",
          MozOsxFontSmoothing: "grayscale",
          lineHeight: "18px",
          padding: "11px 1rem",
          whiteSpace: "pre-wrap",
          color: "inherit",
          borderRadius: 3,
          margin: "1rem 0"
        }
      })
    );
    createGlobal = (0, import_memoizerific.default)(1)(({
      color: color2,
      background: background2,
      typography: typography2
    }) => {
      const resetStyles = createReset({ typography: typography2 });
      return {
        ...resetStyles,
        body: {
          ...resetStyles.body,
          color: color2.defaultText,
          background: background2.app,
          overflow: "hidden"
        },
        hr: {
          ...resetStyles.hr,
          borderTop: `1px solid ${color2.border}`
        },
        ".sb-sr-only, .sb-hidden-until-focus:not(:focus)": {
          position: "absolute",
          width: 1,
          height: 1,
          padding: 0,
          margin: -1,
          overflow: "hidden",
          clip: "rect(0, 0, 0, 0)",
          border: 0
        },
        ".sb-hidden-until-focus": {
          opacity: 0,
          transition: "opacity 150ms ease-out"
        },
        ".sb-hidden-until-focus:focus": {
          opacity: 1
        }
      };
    });
  }
});

// src/theming/themes/dark.ts
var theme, dark_default;
var init_dark = __esm({
  "src/theming/themes/dark.ts"() {
    "use strict";
    init_base();
    theme = {
      base: "dark",
      // Storybook-specific color palette
      colorPrimary: "#FF4785",
      // coral
      colorSecondary: "#029CFD",
      // ocean
      // UI
      appBg: "#222425",
      appContentBg: "#1B1C1D",
      appPreviewBg: color.lightest,
      appBorderColor: "rgba(255,255,255,.1)",
      appBorderRadius: 4,
      // Fonts
      fontBase: typography.fonts.base,
      fontCode: typography.fonts.mono,
      // Text colors
      textColor: "#C9CDCF",
      textInverseColor: "#222425",
      textMutedColor: "#798186",
      // Toolbar default and active colors
      barTextColor: color.mediumdark,
      barHoverColor: color.secondary,
      barSelectedColor: color.secondary,
      barBg: "#292C2E",
      // Form colors
      buttonBg: "#222425",
      buttonBorder: "rgba(255,255,255,.1)",
      booleanBg: "#222425",
      booleanSelectedBg: "#2E3438",
      inputBg: "#1B1C1D",
      inputBorder: "rgba(255,255,255,.1)",
      inputTextColor: color.lightest,
      inputBorderRadius: 4
    };
    dark_default = theme;
  }
});

// src/theming/themes/light.ts
var theme2, light_default;
var init_light = __esm({
  "src/theming/themes/light.ts"() {
    "use strict";
    init_base();
    theme2 = {
      base: "light",
      // Storybook-specific color palette
      colorPrimary: "#FF4785",
      // coral
      colorSecondary: "#029CFD",
      // ocean
      // UI
      appBg: background.app,
      appContentBg: color.lightest,
      appPreviewBg: color.lightest,
      appBorderColor: color.border,
      appBorderRadius: 4,
      // Fonts
      fontBase: typography.fonts.base,
      fontCode: typography.fonts.mono,
      // Text colors
      textColor: color.darkest,
      textInverseColor: color.lightest,
      textMutedColor: color.dark,
      // Toolbar default and active colors
      barTextColor: color.mediumdark,
      barHoverColor: color.secondary,
      barSelectedColor: color.secondary,
      barBg: color.lightest,
      // Form colors
      buttonBg: background.app,
      buttonBorder: color.medium,
      booleanBg: color.mediumlight,
      booleanSelectedBg: color.lightest,
      inputBg: color.lightest,
      inputBorder: color.border,
      inputTextColor: color.darkest,
      inputBorderRadius: 4
    };
    light_default = theme2;
  }
});

// src/theming/utils.ts
var globalWindow, mkColor, isColorString, isValidColorForPolished, applyPolished, colorFactory, lightenColor, darkenColor, getPreferredColorScheme;
var init_utils = __esm({
  "src/theming/utils.ts"() {
    "use strict";
    init_client_logger();
    init_dist();
    init_polished_esm();
    ({ window: globalWindow } = scope);
    mkColor = /* @__PURE__ */ __name((color2) => ({ color: color2 }), "mkColor");
    isColorString = /* @__PURE__ */ __name((color2) => {
      if (typeof color2 !== "string") {
        logger.warn(
          `Color passed to theme object should be a string. Instead ${color2}(${typeof color2}) was passed.`
        );
        return false;
      }
      return true;
    }, "isColorString");
    isValidColorForPolished = /* @__PURE__ */ __name((color2) => {
      return !/(gradient|var|calc)/.test(color2);
    }, "isValidColorForPolished");
    applyPolished = /* @__PURE__ */ __name((type5, color2) => {
      if (type5 === "darken") {
        return rgba(`${curriedDarken$1(1, color2)}`, 0.95);
      }
      if (type5 === "lighten") {
        return rgba(`${curriedLighten$1(1, color2)}`, 0.95);
      }
      return color2;
    }, "applyPolished");
    colorFactory = /* @__PURE__ */ __name((type5) => (color2) => {
      if (!isColorString(color2)) {
        return color2;
      }
      if (!isValidColorForPolished(color2)) {
        return color2;
      }
      try {
        return applyPolished(type5, color2);
      } catch (error) {
        return color2;
      }
    }, "colorFactory");
    lightenColor = colorFactory("lighten");
    darkenColor = colorFactory("darken");
    getPreferredColorScheme = /* @__PURE__ */ __name(() => {
      if (!globalWindow || !globalWindow.matchMedia) {
        return "light";
      }
      const isDarkThemePreferred = globalWindow.matchMedia("(prefers-color-scheme: dark)").matches;
      if (isDarkThemePreferred) {
        return "dark";
      }
      return "light";
    }, "getPreferredColorScheme");
  }
});

// src/theming/create.ts
var create_exports = {};
__export(create_exports, {
  create: () => create,
  themes: () => themes
});
var themes, preferredColorScheme, create;
var init_create = __esm({
  "src/theming/create.ts"() {
    "use strict";
    init_dark();
    init_light();
    init_utils();
    themes = {
      light: light_default,
      dark: dark_default,
      normal: light_default
    };
    preferredColorScheme = getPreferredColorScheme();
    create = /* @__PURE__ */ __name((vars = { base: preferredColorScheme }, rest) => {
      const inherit = {
        ...themes[preferredColorScheme],
        ...themes[vars.base] || {},
        ...vars,
        ...{ base: themes[vars.base] ? vars.base : preferredColorScheme }
      };
      return {
        ...rest,
        ...inherit,
        ...{ barSelectedColor: vars.barSelectedColor || inherit.colorSecondary }
      };
    }, "create");
  }
});

// src/theming/animation.ts
var easing, rotate360, glow, float, jiggle, inlineGlow, hoverable, animation;
var init_animation = __esm({
  "src/theming/animation.ts"() {
    "use strict";
    init_emotion_react_browser_esm();
    easing = {
      rubber: "cubic-bezier(0.175, 0.885, 0.335, 1.05)"
    };
    rotate360 = keyframes`
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
`;
    glow = keyframes`
  0%, 100% { opacity: 1; }
  50% { opacity: .4; }
`;
    float = keyframes`
  0% { transform: translateY(1px); }
  25% { transform: translateY(0px); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(1px); }
`;
    jiggle = keyframes`
  0%, 100% { transform:translate3d(0,0,0); }
  12.5%, 62.5% { transform:translate3d(-4px,0,0); }
  37.5%, 87.5% {  transform: translate3d(4px,0,0);  }
`;
    inlineGlow = css`
  animation: ${glow} 1.5s ease-in-out infinite;
  color: transparent;
  cursor: progress;
`;
    hoverable = css`
  transition: all 150ms ease-out;
  transform: translate3d(0, 0, 0);

  &:hover {
    transform: translate3d(0, -2px, 0);
  }

  &:active {
    transform: translate3d(0, 0, 0);
  }
`;
    animation = {
      rotate360,
      glow,
      float,
      jiggle,
      inlineGlow,
      hoverable
    };
  }
});

// src/theming/modules/syntax.ts
var chromeDark, chromeLight, convertColors, create2;
var init_syntax = __esm({
  "src/theming/modules/syntax.ts"() {
    "use strict";
    init_utils();
    chromeDark = {
      BASE_FONT_FAMILY: "Menlo, monospace",
      BASE_FONT_SIZE: "11px",
      BASE_LINE_HEIGHT: 1.2,
      BASE_BACKGROUND_COLOR: "rgb(36, 36, 36)",
      BASE_COLOR: "rgb(213, 213, 213)",
      OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES: 10,
      OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES: 5,
      OBJECT_NAME_COLOR: "rgb(227, 110, 236)",
      OBJECT_VALUE_NULL_COLOR: "rgb(127, 127, 127)",
      OBJECT_VALUE_UNDEFINED_COLOR: "rgb(127, 127, 127)",
      OBJECT_VALUE_REGEXP_COLOR: "rgb(233, 63, 59)",
      OBJECT_VALUE_STRING_COLOR: "rgb(233, 63, 59)",
      OBJECT_VALUE_SYMBOL_COLOR: "rgb(233, 63, 59)",
      OBJECT_VALUE_NUMBER_COLOR: "hsl(252, 100%, 75%)",
      OBJECT_VALUE_BOOLEAN_COLOR: "hsl(252, 100%, 75%)",
      OBJECT_VALUE_FUNCTION_PREFIX_COLOR: "rgb(85, 106, 242)",
      HTML_TAG_COLOR: "rgb(93, 176, 215)",
      HTML_TAGNAME_COLOR: "rgb(93, 176, 215)",
      HTML_TAGNAME_TEXT_TRANSFORM: "lowercase",
      HTML_ATTRIBUTE_NAME_COLOR: "rgb(155, 187, 220)",
      HTML_ATTRIBUTE_VALUE_COLOR: "rgb(242, 151, 102)",
      HTML_COMMENT_COLOR: "rgb(137, 137, 137)",
      HTML_DOCTYPE_COLOR: "rgb(192, 192, 192)",
      ARROW_COLOR: "rgb(145, 145, 145)",
      ARROW_MARGIN_RIGHT: 3,
      ARROW_FONT_SIZE: 12,
      ARROW_ANIMATION_DURATION: "0",
      TREENODE_FONT_FAMILY: "Menlo, monospace",
      TREENODE_FONT_SIZE: "11px",
      TREENODE_LINE_HEIGHT: 1.2,
      TREENODE_PADDING_LEFT: 12,
      TABLE_BORDER_COLOR: "rgb(85, 85, 85)",
      TABLE_TH_BACKGROUND_COLOR: "rgb(44, 44, 44)",
      TABLE_TH_HOVER_COLOR: "rgb(48, 48, 48)",
      TABLE_SORT_ICON_COLOR: "black",
      // 'rgb(48, 57, 66)',
      TABLE_DATA_BACKGROUND_IMAGE: "linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 50%, rgba(51, 139, 255, 0.0980392) 50%, rgba(51, 139, 255, 0.0980392))",
      TABLE_DATA_BACKGROUND_SIZE: "128px 32px"
    };
    chromeLight = {
      BASE_FONT_FAMILY: "Menlo, monospace",
      BASE_FONT_SIZE: "11px",
      BASE_LINE_HEIGHT: 1.2,
      BASE_BACKGROUND_COLOR: "white",
      BASE_COLOR: "black",
      OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES: 10,
      OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES: 5,
      OBJECT_NAME_COLOR: "rgb(136, 19, 145)",
      OBJECT_VALUE_NULL_COLOR: "rgb(128, 128, 128)",
      OBJECT_VALUE_UNDEFINED_COLOR: "rgb(128, 128, 128)",
      OBJECT_VALUE_REGEXP_COLOR: "rgb(196, 26, 22)",
      OBJECT_VALUE_STRING_COLOR: "rgb(196, 26, 22)",
      OBJECT_VALUE_SYMBOL_COLOR: "rgb(196, 26, 22)",
      OBJECT_VALUE_NUMBER_COLOR: "rgb(28, 0, 207)",
      OBJECT_VALUE_BOOLEAN_COLOR: "rgb(28, 0, 207)",
      OBJECT_VALUE_FUNCTION_PREFIX_COLOR: "rgb(13, 34, 170)",
      HTML_TAG_COLOR: "rgb(168, 148, 166)",
      HTML_TAGNAME_COLOR: "rgb(136, 18, 128)",
      HTML_TAGNAME_TEXT_TRANSFORM: "lowercase",
      HTML_ATTRIBUTE_NAME_COLOR: "rgb(153, 69, 0)",
      HTML_ATTRIBUTE_VALUE_COLOR: "rgb(26, 26, 166)",
      HTML_COMMENT_COLOR: "rgb(35, 110, 37)",
      HTML_DOCTYPE_COLOR: "rgb(192, 192, 192)",
      ARROW_COLOR: "#6e6e6e",
      ARROW_MARGIN_RIGHT: 3,
      ARROW_FONT_SIZE: 12,
      ARROW_ANIMATION_DURATION: "0",
      TREENODE_FONT_FAMILY: "Menlo, monospace",
      TREENODE_FONT_SIZE: "11px",
      TREENODE_LINE_HEIGHT: 1.2,
      TREENODE_PADDING_LEFT: 12,
      TABLE_BORDER_COLOR: "#aaa",
      TABLE_TH_BACKGROUND_COLOR: "#eee",
      TABLE_TH_HOVER_COLOR: "hsla(0, 0%, 90%, 1)",
      TABLE_SORT_ICON_COLOR: "#6e6e6e",
      TABLE_DATA_BACKGROUND_IMAGE: "linear-gradient(to bottom, white, white 50%, rgb(234, 243, 255) 50%, rgb(234, 243, 255))",
      TABLE_DATA_BACKGROUND_SIZE: "128px 32px"
    };
    convertColors = /* @__PURE__ */ __name((colors3) => Object.entries(colors3).reduce((acc, [k, v]) => ({ ...acc, [k]: mkColor(v) }), {}), "convertColors");
    create2 = /* @__PURE__ */ __name(({ colors: colors3, mono }) => {
      const colorsObjs = convertColors(colors3);
      return {
        token: {
          fontFamily: mono,
          WebkitFontSmoothing: "antialiased",
          "&.tag": colorsObjs.red3,
          "&.comment": { ...colorsObjs.green1, fontStyle: "italic" },
          "&.prolog": { ...colorsObjs.green1, fontStyle: "italic" },
          "&.doctype": { ...colorsObjs.green1, fontStyle: "italic" },
          "&.cdata": { ...colorsObjs.green1, fontStyle: "italic" },
          "&.string": colorsObjs.red1,
          "&.url": colorsObjs.cyan1,
          "&.symbol": colorsObjs.cyan1,
          "&.number": colorsObjs.cyan1,
          "&.boolean": colorsObjs.cyan1,
          "&.variable": colorsObjs.cyan1,
          "&.constant": colorsObjs.cyan1,
          "&.inserted": colorsObjs.cyan1,
          "&.atrule": colorsObjs.blue1,
          "&.keyword": colorsObjs.blue1,
          "&.attr-value": colorsObjs.blue1,
          "&.punctuation": colorsObjs.gray1,
          "&.operator": colorsObjs.gray1,
          "&.function": colorsObjs.gray1,
          "&.deleted": colorsObjs.red2,
          "&.important": {
            fontWeight: "bold"
          },
          "&.bold": {
            fontWeight: "bold"
          },
          "&.italic": {
            fontStyle: "italic"
          },
          "&.class-name": colorsObjs.cyan2,
          "&.selector": colorsObjs.red3,
          "&.attr-name": colorsObjs.red4,
          "&.property": colorsObjs.red4,
          "&.regex": colorsObjs.red4,
          "&.entity": colorsObjs.red4,
          "&.directive.tag .tag": {
            background: "#ffff00",
            ...colorsObjs.gray1
          }
        },
        "language-json .token.boolean": colorsObjs.blue1,
        "language-json .token.number": colorsObjs.blue1,
        "language-json .token.property": colorsObjs.cyan2,
        namespace: {
          opacity: 0.7
        }
      };
    }, "create");
  }
});

// src/theming/convert.ts
var lightSyntaxColors, darkSyntaxColors, createColors, convert;
var init_convert = __esm({
  "src/theming/convert.ts"() {
    "use strict";
    init_polished_esm();
    init_animation();
    init_base();
    init_create();
    init_syntax();
    init_utils();
    lightSyntaxColors = {
      green1: "#008000",
      red1: "#A31515",
      red2: "#9a050f",
      red3: "#800000",
      red4: "#ff0000",
      gray1: "#393A34",
      cyan1: "#36acaa",
      cyan2: "#2B91AF",
      blue1: "#0000ff",
      blue2: "#00009f"
    };
    darkSyntaxColors = {
      green1: "#7C7C7C",
      red1: "#92C379",
      red2: "#9a050f",
      red3: "#A8FF60",
      red4: "#96CBFE",
      gray1: "#EDEDED",
      cyan1: "#C6C5FE",
      cyan2: "#FFFFB6",
      blue1: "#B474DD",
      blue2: "#00009f"
    };
    createColors = /* @__PURE__ */ __name((vars) => ({
      // Changeable colors
      primary: vars.colorPrimary,
      secondary: vars.colorSecondary,
      tertiary: color.tertiary,
      ancillary: color.ancillary,
      // Complimentary
      orange: color.orange,
      gold: color.gold,
      green: color.green,
      seafoam: color.seafoam,
      purple: color.purple,
      ultraviolet: color.ultraviolet,
      // Monochrome
      lightest: color.lightest,
      lighter: color.lighter,
      light: color.light,
      mediumlight: color.mediumlight,
      medium: color.medium,
      mediumdark: color.mediumdark,
      dark: color.dark,
      darker: color.darker,
      darkest: color.darkest,
      // For borders
      border: color.border,
      // Status
      positive: color.positive,
      negative: color.negative,
      warning: color.warning,
      critical: color.critical,
      defaultText: vars.textColor || color.darkest,
      inverseText: vars.textInverseColor || color.lightest,
      positiveText: color.positiveText,
      negativeText: color.negativeText,
      warningText: color.warningText
    }), "createColors");
    convert = /* @__PURE__ */ __name((inherit = themes[getPreferredColorScheme()]) => {
      const {
        base,
        colorPrimary,
        colorSecondary,
        appBg,
        appContentBg,
        appPreviewBg,
        appBorderColor,
        appBorderRadius,
        fontBase,
        fontCode,
        textColor,
        textInverseColor,
        barTextColor,
        barHoverColor,
        barSelectedColor,
        barBg,
        buttonBg,
        buttonBorder,
        booleanBg,
        booleanSelectedBg,
        inputBg,
        inputBorder,
        inputTextColor,
        inputBorderRadius,
        brandTitle,
        brandUrl,
        brandImage,
        brandTarget,
        gridCellSize,
        ...rest
      } = inherit;
      return {
        ...rest,
        base,
        color: createColors(inherit),
        background: {
          app: appBg,
          bar: barBg,
          content: appContentBg,
          preview: appPreviewBg,
          gridCellSize: gridCellSize || background.gridCellSize,
          hoverable: background.hoverable,
          positive: background.positive,
          negative: background.negative,
          warning: background.warning,
          critical: background.critical
        },
        typography: {
          fonts: {
            base: fontBase,
            mono: fontCode
          },
          weight: typography.weight,
          size: typography.size
        },
        animation,
        easing,
        input: {
          background: inputBg,
          border: inputBorder,
          borderRadius: inputBorderRadius,
          color: inputTextColor
        },
        button: {
          background: buttonBg || inputBg,
          border: buttonBorder || inputBorder
        },
        boolean: {
          background: booleanBg || inputBorder,
          selectedBackground: booleanSelectedBg || inputBg
        },
        // UI
        layoutMargin: 10,
        appBorderColor,
        appBorderRadius,
        // Toolbar default/active colors
        barTextColor,
        barHoverColor: barHoverColor || colorSecondary,
        barSelectedColor: barSelectedColor || colorSecondary,
        barBg,
        // Brand logo/text
        brand: {
          title: brandTitle,
          url: brandUrl,
          image: brandImage || (brandTitle ? null : void 0),
          target: brandTarget
        },
        code: create2({
          colors: base === "light" ? lightSyntaxColors : darkSyntaxColors,
          mono: fontCode
        }),
        // Addon actions theme
        // API example https://github.com/storybookjs/react-inspector/blob/master/src/styles/themes/chromeLight.tsx
        addonActionsTheme: {
          ...base === "light" ? chromeLight : chromeDark,
          BASE_FONT_FAMILY: fontCode,
          BASE_FONT_SIZE: typography.size.s2 - 1,
          BASE_LINE_HEIGHT: "18px",
          BASE_BACKGROUND_COLOR: "transparent",
          BASE_COLOR: textColor,
          ARROW_COLOR: curriedOpacify$1(0.2, appBorderColor),
          ARROW_MARGIN_RIGHT: 4,
          ARROW_FONT_SIZE: 8,
          TREENODE_FONT_FAMILY: fontCode,
          TREENODE_FONT_SIZE: typography.size.s2 - 1,
          TREENODE_LINE_HEIGHT: "18px",
          TREENODE_PADDING_LEFT: 12
        }
      };
    }, "convert");
  }
});

// ../node_modules/deep-object-diff/mjs/utils.js
var isEmpty, isObject4, hasOwnProperty5, makeObjectWithoutPrototype;
var init_utils2 = __esm({
  "../node_modules/deep-object-diff/mjs/utils.js"() {
    isEmpty = /* @__PURE__ */ __name((o2) => Object.keys(o2).length === 0, "isEmpty");
    isObject4 = /* @__PURE__ */ __name((o2) => o2 != null && typeof o2 === "object", "isObject");
    hasOwnProperty5 = /* @__PURE__ */ __name((o2, ...args) => Object.prototype.hasOwnProperty.call(o2, ...args), "hasOwnProperty");
    makeObjectWithoutPrototype = /* @__PURE__ */ __name(() => /* @__PURE__ */ Object.create(null), "makeObjectWithoutPrototype");
  }
});

// ../node_modules/deep-object-diff/mjs/diff.js
var init_diff = __esm({
  "../node_modules/deep-object-diff/mjs/diff.js"() {
    init_utils2();
  }
});

// ../node_modules/deep-object-diff/mjs/added.js
var init_added = __esm({
  "../node_modules/deep-object-diff/mjs/added.js"() {
    init_utils2();
  }
});

// ../node_modules/deep-object-diff/mjs/deleted.js
var deletedDiff, deleted_default;
var init_deleted = __esm({
  "../node_modules/deep-object-diff/mjs/deleted.js"() {
    init_utils2();
    deletedDiff = /* @__PURE__ */ __name((lhs, rhs) => {
      if (lhs === rhs || !isObject4(lhs) || !isObject4(rhs)) return {};
      return Object.keys(lhs).reduce((acc, key) => {
        if (hasOwnProperty5(rhs, key)) {
          const difference2 = deletedDiff(lhs[key], rhs[key]);
          if (isObject4(difference2) && isEmpty(difference2)) return acc;
          acc[key] = difference2;
          return acc;
        }
        acc[key] = void 0;
        return acc;
      }, makeObjectWithoutPrototype());
    }, "deletedDiff");
    deleted_default = deletedDiff;
  }
});

// ../node_modules/deep-object-diff/mjs/updated.js
var init_updated = __esm({
  "../node_modules/deep-object-diff/mjs/updated.js"() {
    init_utils2();
  }
});

// ../node_modules/deep-object-diff/mjs/detailed.js
var init_detailed = __esm({
  "../node_modules/deep-object-diff/mjs/detailed.js"() {
    init_added();
    init_deleted();
    init_updated();
  }
});

// ../node_modules/deep-object-diff/mjs/index.js
var init_mjs = __esm({
  "../node_modules/deep-object-diff/mjs/index.js"() {
    init_diff();
    init_added();
    init_deleted();
    init_updated();
    init_detailed();
  }
});

// src/theming/ensure.ts
var ensure;
var init_ensure = __esm({
  "src/theming/ensure.ts"() {
    "use strict";
    init_client_logger();
    init_mjs();
    init_esm();
    init_convert();
    init_light();
    ensure = /* @__PURE__ */ __name((input2) => {
      if (!input2) {
        return convert(light_default);
      }
      const missing = deleted_default(light_default, input2);
      if (Object.keys(missing).length) {
        logger.warn(
          dedent`
          Your theme is missing properties, you should update your theme!

          theme-data missing:
        `,
          missing
        );
      }
      return convert(input2);
    }, "ensure");
  }
});

// src/theming/index.ts
var theming_exports = {};
__export(theming_exports, {
  CacheProvider: () => CacheProvider,
  ClassNames: () => ClassNames,
  Global: () => Global,
  ThemeProvider: () => ThemeProvider,
  background: () => background,
  color: () => color,
  convert: () => convert,
  create: () => create,
  createCache: () => createCache,
  createGlobal: () => createGlobal,
  createReset: () => createReset,
  css: () => css,
  darken: () => darkenColor,
  ensure: () => ensure,
  ignoreSsrWarning: () => ignoreSsrWarning,
  isPropValid: () => isPropValid,
  jsx: () => jsx,
  keyframes: () => keyframes,
  lighten: () => lightenColor,
  styled: () => styled,
  themes: () => themes,
  typography: () => typography,
  useTheme: () => useTheme,
  withTheme: () => withTheme
});
var ignoreSsrWarning;
var init_theming = __esm({
  "src/theming/index.ts"() {
    "use strict";
    init_emotion_styled_browser_esm();
    init_emotion_react_browser_esm();
    init_base();
    init_types();
    init_emotion_cache_browser_esm();
    init_emotion_is_prop_valid_esm();
    init_global();
    init_create();
    init_convert();
    init_ensure();
    init_utils();
    ignoreSsrWarning = "/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */";
  }
});

// ../node_modules/@babel/runtime/helpers/esm/typeof.js
function _typeof(o2) {
  "@babel/helpers - typeof";
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof(o2);
}
var init_typeof = __esm({
  "../node_modules/@babel/runtime/helpers/esm/typeof.js"() {
    __name(_typeof, "_typeof");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/toPrimitive.js
function toPrimitive(t2, r2) {
  if ("object" != _typeof(t2) || !t2) return t2;
  var e2 = t2[Symbol.toPrimitive];
  if (void 0 !== e2) {
    var i2 = e2.call(t2, r2 || "default");
    if ("object" != _typeof(i2)) return i2;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r2 ? String : Number)(t2);
}
var init_toPrimitive = __esm({
  "../node_modules/@babel/runtime/helpers/esm/toPrimitive.js"() {
    init_typeof();
    __name(toPrimitive, "toPrimitive");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js
function toPropertyKey(t2) {
  var i2 = toPrimitive(t2, "string");
  return "symbol" == _typeof(i2) ? i2 : i2 + "";
}
var init_toPropertyKey = __esm({
  "../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"() {
    init_typeof();
    init_toPrimitive();
    __name(toPropertyKey, "toPropertyKey");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/defineProperty.js
function _defineProperty(e2, r2, t2) {
  return (r2 = toPropertyKey(r2)) in e2 ? Object.defineProperty(e2, r2, {
    value: t2,
    enumerable: true,
    configurable: true,
    writable: true
  }) : e2[r2] = t2, e2;
}
var init_defineProperty = __esm({
  "../node_modules/@babel/runtime/helpers/esm/defineProperty.js"() {
    init_toPropertyKey();
    __name(_defineProperty, "_defineProperty");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/create-element.js
function ownKeys(e2, r2) {
  var t2 = Object.keys(e2);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e2);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e2, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread(e2) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys(Object(t2), true).forEach(function(r3) {
      _defineProperty(e2, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e2;
}
function powerSetPermutations(arr) {
  var arrLength = arr.length;
  if (arrLength === 0 || arrLength === 1) return arr;
  if (arrLength === 2) {
    return [arr[0], arr[1], "".concat(arr[0], ".").concat(arr[1]), "".concat(arr[1], ".").concat(arr[0])];
  }
  if (arrLength === 3) {
    return [arr[0], arr[1], arr[2], "".concat(arr[0], ".").concat(arr[1]), "".concat(arr[0], ".").concat(arr[2]), "".concat(arr[1], ".").concat(arr[0]), "".concat(arr[1], ".").concat(arr[2]), "".concat(arr[2], ".").concat(arr[0]), "".concat(arr[2], ".").concat(arr[1]), "".concat(arr[0], ".").concat(arr[1], ".").concat(arr[2]), "".concat(arr[0], ".").concat(arr[2], ".").concat(arr[1]), "".concat(arr[1], ".").concat(arr[0], ".").concat(arr[2]), "".concat(arr[1], ".").concat(arr[2], ".").concat(arr[0]), "".concat(arr[2], ".").concat(arr[0], ".").concat(arr[1]), "".concat(arr[2], ".").concat(arr[1], ".").concat(arr[0])];
  }
  if (arrLength >= 4) {
    return [arr[0], arr[1], arr[2], arr[3], "".concat(arr[0], ".").concat(arr[1]), "".concat(arr[0], ".").concat(arr[2]), "".concat(arr[0], ".").concat(arr[3]), "".concat(arr[1], ".").concat(arr[0]), "".concat(arr[1], ".").concat(arr[2]), "".concat(arr[1], ".").concat(arr[3]), "".concat(arr[2], ".").concat(arr[0]), "".concat(arr[2], ".").concat(arr[1]), "".concat(arr[2], ".").concat(arr[3]), "".concat(arr[3], ".").concat(arr[0]), "".concat(arr[3], ".").concat(arr[1]), "".concat(arr[3], ".").concat(arr[2]), "".concat(arr[0], ".").concat(arr[1], ".").concat(arr[2]), "".concat(arr[0], ".").concat(arr[1], ".").concat(arr[3]), "".concat(arr[0], ".").concat(arr[2], ".").concat(arr[1]), "".concat(arr[0], ".").concat(arr[2], ".").concat(arr[3]), "".concat(arr[0], ".").concat(arr[3], ".").concat(arr[1]), "".concat(arr[0], ".").concat(arr[3], ".").concat(arr[2]), "".concat(arr[1], ".").concat(arr[0], ".").concat(arr[2]), "".concat(arr[1], ".").concat(arr[0], ".").concat(arr[3]), "".concat(arr[1], ".").concat(arr[2], ".").concat(arr[0]), "".concat(arr[1], ".").concat(arr[2], ".").concat(arr[3]), "".concat(arr[1], ".").concat(arr[3], ".").concat(arr[0]), "".concat(arr[1], ".").concat(arr[3], ".").concat(arr[2]), "".concat(arr[2], ".").concat(arr[0], ".").concat(arr[1]), "".concat(arr[2], ".").concat(arr[0], ".").concat(arr[3]), "".concat(arr[2], ".").concat(arr[1], ".").concat(arr[0]), "".concat(arr[2], ".").concat(arr[1], ".").concat(arr[3]), "".concat(arr[2], ".").concat(arr[3], ".").concat(arr[0]), "".concat(arr[2], ".").concat(arr[3], ".").concat(arr[1]), "".concat(arr[3], ".").concat(arr[0], ".").concat(arr[1]), "".concat(arr[3], ".").concat(arr[0], ".").concat(arr[2]), "".concat(arr[3], ".").concat(arr[1], ".").concat(arr[0]), "".concat(arr[3], ".").concat(arr[1], ".").concat(arr[2]), "".concat(arr[3], ".").concat(arr[2], ".").concat(arr[0]), "".concat(arr[3], ".").concat(arr[2], ".").concat(arr[1]), "".concat(arr[0], ".").concat(arr[1], ".").concat(arr[2], ".").concat(arr[3]), "".concat(arr[0], ".").concat(arr[1], ".").concat(arr[3], ".").concat(arr[2]), "".concat(arr[0], ".").concat(arr[2], ".").concat(arr[1], ".").concat(arr[3]), "".concat(arr[0], ".").concat(arr[2], ".").concat(arr[3], ".").concat(arr[1]), "".concat(arr[0], ".").concat(arr[3], ".").concat(arr[1], ".").concat(arr[2]), "".concat(arr[0], ".").concat(arr[3], ".").concat(arr[2], ".").concat(arr[1]), "".concat(arr[1], ".").concat(arr[0], ".").concat(arr[2], ".").concat(arr[3]), "".concat(arr[1], ".").concat(arr[0], ".").concat(arr[3], ".").concat(arr[2]), "".concat(arr[1], ".").concat(arr[2], ".").concat(arr[0], ".").concat(arr[3]), "".concat(arr[1], ".").concat(arr[2], ".").concat(arr[3], ".").concat(arr[0]), "".concat(arr[1], ".").concat(arr[3], ".").concat(arr[0], ".").concat(arr[2]), "".concat(arr[1], ".").concat(arr[3], ".").concat(arr[2], ".").concat(arr[0]), "".concat(arr[2], ".").concat(arr[0], ".").concat(arr[1], ".").concat(arr[3]), "".concat(arr[2], ".").concat(arr[0], ".").concat(arr[3], ".").concat(arr[1]), "".concat(arr[2], ".").concat(arr[1], ".").concat(arr[0], ".").concat(arr[3]), "".concat(arr[2], ".").concat(arr[1], ".").concat(arr[3], ".").concat(arr[0]), "".concat(arr[2], ".").concat(arr[3], ".").concat(arr[0], ".").concat(arr[1]), "".concat(arr[2], ".").concat(arr[3], ".").concat(arr[1], ".").concat(arr[0]), "".concat(arr[3], ".").concat(arr[0], ".").concat(arr[1], ".").concat(arr[2]), "".concat(arr[3], ".").concat(arr[0], ".").concat(arr[2], ".").concat(arr[1]), "".concat(arr[3], ".").concat(arr[1], ".").concat(arr[0], ".").concat(arr[2]), "".concat(arr[3], ".").concat(arr[1], ".").concat(arr[2], ".").concat(arr[0]), "".concat(arr[3], ".").concat(arr[2], ".").concat(arr[0], ".").concat(arr[1]), "".concat(arr[3], ".").concat(arr[2], ".").concat(arr[1], ".").concat(arr[0])];
  }
}
function getClassNameCombinations(classNames) {
  if (classNames.length === 0 || classNames.length === 1) return classNames;
  var key = classNames.join(".");
  if (!classNameCombinations[key]) {
    classNameCombinations[key] = powerSetPermutations(classNames);
  }
  return classNameCombinations[key];
}
function createStyleObject(classNames) {
  var elementStyle = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  var stylesheet = arguments.length > 2 ? arguments[2] : void 0;
  var nonTokenClassNames = classNames.filter(function(className) {
    return className !== "token";
  });
  var classNamesCombinations = getClassNameCombinations(nonTokenClassNames);
  return classNamesCombinations.reduce(function(styleObject, className) {
    return _objectSpread(_objectSpread({}, styleObject), stylesheet[className]);
  }, elementStyle);
}
function createClassNameString(classNames) {
  return classNames.join(" ");
}
function createChildren(stylesheet, useInlineStyles) {
  var childrenCount = 0;
  return function(children) {
    childrenCount += 1;
    return children.map(function(child, i2) {
      return createElement4({
        node: child,
        stylesheet,
        useInlineStyles,
        key: "code-segment-".concat(childrenCount, "-").concat(i2)
      });
    });
  };
}
function createElement4(_ref) {
  var node2 = _ref.node, stylesheet = _ref.stylesheet, _ref$style = _ref.style, style = _ref$style === void 0 ? {} : _ref$style, useInlineStyles = _ref.useInlineStyles, key = _ref.key;
  var properties = node2.properties, type5 = node2.type, TagName = node2.tagName, value = node2.value;
  if (type5 === "text") {
    return value;
  } else if (TagName) {
    var childrenCreator = createChildren(stylesheet, useInlineStyles);
    var props;
    if (!useInlineStyles) {
      props = _objectSpread(_objectSpread({}, properties), {}, {
        className: createClassNameString(properties.className)
      });
    } else {
      var allStylesheetSelectors = Object.keys(stylesheet).reduce(function(classes, selector) {
        selector.split(".").forEach(function(className2) {
          if (!classes.includes(className2)) classes.push(className2);
        });
        return classes;
      }, []);
      var startingClassName = properties.className && properties.className.includes("token") ? ["token"] : [];
      var className = properties.className && startingClassName.concat(properties.className.filter(function(className2) {
        return !allStylesheetSelectors.includes(className2);
      }));
      props = _objectSpread(_objectSpread({}, properties), {}, {
        className: createClassNameString(className) || void 0,
        style: createStyleObject(properties.className, Object.assign({}, properties.style, style), stylesheet)
      });
    }
    var children = childrenCreator(node2.children);
    return import_react8.default.createElement(TagName, _extends({
      key
    }, props), children);
  }
}
var import_react8, classNameCombinations;
var init_create_element = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/create-element.js"() {
    init_extends();
    init_defineProperty();
    import_react8 = __toESM(require_react());
    __name(ownKeys, "ownKeys");
    __name(_objectSpread, "_objectSpread");
    __name(powerSetPermutations, "powerSetPermutations");
    classNameCombinations = {};
    __name(getClassNameCombinations, "getClassNameCombinations");
    __name(createStyleObject, "createStyleObject");
    __name(createClassNameString, "createClassNameString");
    __name(createChildren, "createChildren");
    __name(createElement4, "createElement");
  }
});

// ../node_modules/refractor/lang/bash.js
var require_bash = __commonJS({
  "../node_modules/refractor/lang/bash.js"(exports, module2) {
    "use strict";
    module2.exports = bash2;
    bash2.displayName = "bash";
    bash2.aliases = ["shell"];
    function bash2(Prism) {
      ;
      (function(Prism2) {
        var envVars = "\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b";
        var commandAfterHeredoc = {
          pattern: /(^(["']?)\w+\2)[ \t]+\S.*/,
          lookbehind: true,
          alias: "punctuation",
          // this looks reasonably well in all themes
          inside: null
          // see below
        };
        var insideString = {
          bash: commandAfterHeredoc,
          environment: {
            pattern: RegExp("\\$" + envVars),
            alias: "constant"
          },
          variable: [
            // [0]: Arithmetic Environment
            {
              pattern: /\$?\(\([\s\S]+?\)\)/,
              greedy: true,
              inside: {
                // If there is a $ sign at the beginning highlight $(( and )) as variable
                variable: [
                  {
                    pattern: /(^\$\(\([\s\S]+)\)\)/,
                    lookbehind: true
                  },
                  /^\$\(\(/
                ],
                number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,
                // Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic
                operator: /--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,
                // If there is no $ sign at the beginning highlight (( and )) as punctuation
                punctuation: /\(\(?|\)\)?|,|;/
              }
            },
            // [1]: Command Substitution
            {
              pattern: /\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,
              greedy: true,
              inside: {
                variable: /^\$\(|^`|\)$|`$/
              }
            },
            // [2]: Brace expansion
            {
              pattern: /\$\{[^}]+\}/,
              greedy: true,
              inside: {
                operator: /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,
                punctuation: /[\[\]]/,
                environment: {
                  pattern: RegExp("(\\{)" + envVars),
                  lookbehind: true,
                  alias: "constant"
                }
              }
            },
            /\$(?:\w+|[#?*!@$])/
          ],
          // Escape sequences from echo and printf's manuals, and escaped quotes.
          entity: /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/
        };
        Prism2.languages.bash = {
          shebang: {
            pattern: /^#!\s*\/.*/,
            alias: "important"
          },
          comment: {
            pattern: /(^|[^"{\\$])#.*/,
            lookbehind: true
          },
          "function-name": [
            // a) function foo {
            // b) foo() {
            // c) function foo() {
            // but not “foo {”
            {
              // a) and c)
              pattern: /(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,
              lookbehind: true,
              alias: "function"
            },
            {
              // b)
              pattern: /\b[\w-]+(?=\s*\(\s*\)\s*\{)/,
              alias: "function"
            }
          ],
          // Highlight variable names as variables in for and select beginnings.
          "for-or-select": {
            pattern: /(\b(?:for|select)\s+)\w+(?=\s+in\s)/,
            alias: "variable",
            lookbehind: true
          },
          // Highlight variable names as variables in the left-hand part
          // of assignments (“=” and “+=”).
          "assign-left": {
            pattern: /(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,
            inside: {
              environment: {
                pattern: RegExp("(^|[\\s;|&]|[<>]\\()" + envVars),
                lookbehind: true,
                alias: "constant"
              }
            },
            alias: "variable",
            lookbehind: true
          },
          string: [
            // Support for Here-documents https://en.wikipedia.org/wiki/Here_document
            {
              pattern: /((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,
              lookbehind: true,
              greedy: true,
              inside: insideString
            },
            // Here-document with quotes around the tag
            // → No expansion (so no “inside”).
            {
              pattern: /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,
              lookbehind: true,
              greedy: true,
              inside: {
                bash: commandAfterHeredoc
              }
            },
            // “Normal” string
            {
              // https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html
              pattern: /(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,
              lookbehind: true,
              greedy: true,
              inside: insideString
            },
            {
              // https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html
              pattern: /(^|[^$\\])'[^']*'/,
              lookbehind: true,
              greedy: true
            },
            {
              // https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html
              pattern: /\$'(?:[^'\\]|\\[\s\S])*'/,
              greedy: true,
              inside: {
                entity: insideString.entity
              }
            }
          ],
          environment: {
            pattern: RegExp("\\$?" + envVars),
            alias: "constant"
          },
          variable: insideString.variable,
          function: {
            pattern: /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,
            lookbehind: true
          },
          keyword: {
            pattern: /(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,
            lookbehind: true
          },
          // https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html
          builtin: {
            pattern: /(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,
            lookbehind: true,
            // Alias added to make those easier to distinguish from strings.
            alias: "class-name"
          },
          boolean: {
            pattern: /(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,
            lookbehind: true
          },
          "file-descriptor": {
            pattern: /\B&\d\b/,
            alias: "important"
          },
          operator: {
            // Lots of redirections here, but not just that.
            pattern: /\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,
            inside: {
              "file-descriptor": {
                pattern: /^\d/,
                alias: "important"
              }
            }
          },
          punctuation: /\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,
          number: {
            pattern: /(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,
            lookbehind: true
          }
        };
        commandAfterHeredoc.inside = Prism2.languages.bash;
        var toBeCopied = [
          "comment",
          "function-name",
          "for-or-select",
          "assign-left",
          "string",
          "environment",
          "function",
          "keyword",
          "builtin",
          "boolean",
          "file-descriptor",
          "operator",
          "punctuation",
          "number"
        ];
        var inside = insideString.variable[1].inside;
        for (var i2 = 0; i2 < toBeCopied.length; i2++) {
          inside[toBeCopied[i2]] = Prism2.languages.bash[toBeCopied[i2]];
        }
        Prism2.languages.shell = Prism2.languages.bash;
      })(Prism);
    }
    __name(bash2, "bash");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/languages/prism/bash.js
var import_bash, bash_default;
var init_bash = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/languages/prism/bash.js"() {
    import_bash = __toESM(require_bash());
    bash_default = import_bash.default;
  }
});

// ../node_modules/refractor/lang/css.js
var require_css = __commonJS({
  "../node_modules/refractor/lang/css.js"(exports, module2) {
    "use strict";
    module2.exports = css3;
    css3.displayName = "css";
    css3.aliases = [];
    function css3(Prism) {
      ;
      (function(Prism2) {
        var string = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;
        Prism2.languages.css = {
          comment: /\/\*[\s\S]*?\*\//,
          atrule: {
            pattern: /@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,
            inside: {
              rule: /^@[\w-]+/,
              "selector-function-argument": {
                pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,
                lookbehind: true,
                alias: "selector"
              },
              keyword: {
                pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/,
                lookbehind: true
              }
              // See rest below
            }
          },
          url: {
            // https://drafts.csswg.org/css-values-3/#urls
            pattern: RegExp(
              "\\burl\\((?:" + string.source + "|" + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ")\\)",
              "i"
            ),
            greedy: true,
            inside: {
              function: /^url/i,
              punctuation: /^\(|\)$/,
              string: {
                pattern: RegExp("^" + string.source + "$"),
                alias: "url"
              }
            }
          },
          selector: {
            pattern: RegExp(
              `(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|` + string.source + ")*(?=\\s*\\{)"
            ),
            lookbehind: true
          },
          string: {
            pattern: string,
            greedy: true
          },
          property: {
            pattern: /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,
            lookbehind: true
          },
          important: /!important\b/i,
          function: {
            pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,
            lookbehind: true
          },
          punctuation: /[(){};:,]/
        };
        Prism2.languages.css["atrule"].inside.rest = Prism2.languages.css;
        var markup2 = Prism2.languages.markup;
        if (markup2) {
          markup2.tag.addInlined("style", "css");
          markup2.tag.addAttribute("style", "css");
        }
      })(Prism);
    }
    __name(css3, "css");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/languages/prism/css.js
var import_css, css_default;
var init_css = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/languages/prism/css.js"() {
    import_css = __toESM(require_css());
    css_default = import_css.default;
  }
});

// ../node_modules/refractor/lang/graphql.js
var require_graphql = __commonJS({
  "../node_modules/refractor/lang/graphql.js"(exports, module2) {
    "use strict";
    module2.exports = graphql2;
    graphql2.displayName = "graphql";
    graphql2.aliases = [];
    function graphql2(Prism) {
      Prism.languages.graphql = {
        comment: /#.*/,
        description: {
          pattern: /(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,
          greedy: true,
          alias: "string",
          inside: {
            "language-markdown": {
              pattern: /(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,
              lookbehind: true,
              inside: Prism.languages.markdown
            }
          }
        },
        string: {
          pattern: /"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,
          greedy: true
        },
        number: /(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
        boolean: /\b(?:false|true)\b/,
        variable: /\$[a-z_]\w*/i,
        directive: {
          pattern: /@[a-z_]\w*/i,
          alias: "function"
        },
        "attr-name": {
          pattern: /\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,
          greedy: true
        },
        "atom-input": {
          pattern: /\b[A-Z]\w*Input\b/,
          alias: "class-name"
        },
        scalar: /\b(?:Boolean|Float|ID|Int|String)\b/,
        constant: /\b[A-Z][A-Z_\d]*\b/,
        "class-name": {
          pattern: /(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,
          lookbehind: true
        },
        fragment: {
          pattern: /(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,
          lookbehind: true,
          alias: "function"
        },
        "definition-mutation": {
          pattern: /(\bmutation\s+)[a-zA-Z_]\w*/,
          lookbehind: true,
          alias: "function"
        },
        "definition-query": {
          pattern: /(\bquery\s+)[a-zA-Z_]\w*/,
          lookbehind: true,
          alias: "function"
        },
        keyword: /\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,
        operator: /[!=|&]|\.{3}/,
        "property-query": /\w+(?=\s*\()/,
        object: /\w+(?=\s*\{)/,
        punctuation: /[!(){}\[\]:=,]/,
        property: /\w+/
      };
      Prism.hooks.add("after-tokenize", /* @__PURE__ */ __name(function afterTokenizeGraphql(env2) {
        if (env2.language !== "graphql") {
          return;
        }
        var validTokens = env2.tokens.filter(function(token2) {
          return typeof token2 !== "string" && token2.type !== "comment" && token2.type !== "scalar";
        });
        var currentIndex = 0;
        function getToken(offset3) {
          return validTokens[currentIndex + offset3];
        }
        __name(getToken, "getToken");
        function isTokenType(types, offset3) {
          offset3 = offset3 || 0;
          for (var i3 = 0; i3 < types.length; i3++) {
            var token2 = getToken(i3 + offset3);
            if (!token2 || token2.type !== types[i3]) {
              return false;
            }
          }
          return true;
        }
        __name(isTokenType, "isTokenType");
        function findClosingBracket(open, close) {
          var stackHeight = 1;
          for (var i3 = currentIndex; i3 < validTokens.length; i3++) {
            var token2 = validTokens[i3];
            var content = token2.content;
            if (token2.type === "punctuation" && typeof content === "string") {
              if (open.test(content)) {
                stackHeight++;
              } else if (close.test(content)) {
                stackHeight--;
                if (stackHeight === 0) {
                  return i3;
                }
              }
            }
          }
          return -1;
        }
        __name(findClosingBracket, "findClosingBracket");
        function addAlias(token2, alias) {
          var aliases2 = token2.alias;
          if (!aliases2) {
            token2.alias = aliases2 = [];
          } else if (!Array.isArray(aliases2)) {
            token2.alias = aliases2 = [aliases2];
          }
          aliases2.push(alias);
        }
        __name(addAlias, "addAlias");
        for (; currentIndex < validTokens.length; ) {
          var startToken = validTokens[currentIndex++];
          if (startToken.type === "keyword" && startToken.content === "mutation") {
            var inputVariables = [];
            if (isTokenType(["definition-mutation", "punctuation"]) && getToken(1).content === "(") {
              currentIndex += 2;
              var definitionEnd = findClosingBracket(/^\($/, /^\)$/);
              if (definitionEnd === -1) {
                continue;
              }
              for (; currentIndex < definitionEnd; currentIndex++) {
                var t2 = getToken(0);
                if (t2.type === "variable") {
                  addAlias(t2, "variable-input");
                  inputVariables.push(t2.content);
                }
              }
              currentIndex = definitionEnd + 1;
            }
            if (isTokenType(["punctuation", "property-query"]) && getToken(0).content === "{") {
              currentIndex++;
              addAlias(getToken(0), "property-mutation");
              if (inputVariables.length > 0) {
                var mutationEnd = findClosingBracket(/^\{$/, /^\}$/);
                if (mutationEnd === -1) {
                  continue;
                }
                for (var i2 = currentIndex; i2 < mutationEnd; i2++) {
                  var varToken = validTokens[i2];
                  if (varToken.type === "variable" && inputVariables.indexOf(varToken.content) >= 0) {
                    addAlias(varToken, "variable-input");
                  }
                }
              }
            }
          }
        }
      }, "afterTokenizeGraphql"));
    }
    __name(graphql2, "graphql");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/languages/prism/graphql.js
var import_graphql, graphql_default;
var init_graphql = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/languages/prism/graphql.js"() {
    import_graphql = __toESM(require_graphql());
    graphql_default = import_graphql.default;
  }
});

// ../node_modules/refractor/lang/js-extras.js
var require_js_extras = __commonJS({
  "../node_modules/refractor/lang/js-extras.js"(exports, module2) {
    "use strict";
    module2.exports = jsExtras2;
    jsExtras2.displayName = "jsExtras";
    jsExtras2.aliases = [];
    function jsExtras2(Prism) {
      ;
      (function(Prism2) {
        Prism2.languages.insertBefore("javascript", "function-variable", {
          "method-variable": {
            pattern: RegExp(
              "(\\.\\s*)" + Prism2.languages.javascript["function-variable"].pattern.source
            ),
            lookbehind: true,
            alias: ["function-variable", "method", "function", "property-access"]
          }
        });
        Prism2.languages.insertBefore("javascript", "function", {
          method: {
            pattern: RegExp(
              "(\\.\\s*)" + Prism2.languages.javascript["function"].source
            ),
            lookbehind: true,
            alias: ["function", "property-access"]
          }
        });
        Prism2.languages.insertBefore("javascript", "constant", {
          "known-class-name": [
            {
              // standard built-ins
              // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects
              pattern: /\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,
              alias: "class-name"
            },
            {
              // errors
              pattern: /\b(?:[A-Z]\w*)Error\b/,
              alias: "class-name"
            }
          ]
        });
        function withId(source, flags) {
          return RegExp(
            source.replace(/<ID>/g, function() {
              return /(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source;
            }),
            flags
          );
        }
        __name(withId, "withId");
        Prism2.languages.insertBefore("javascript", "keyword", {
          imports: {
            // https://tc39.es/ecma262/#sec-imports
            pattern: withId(
              /(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source
            ),
            lookbehind: true,
            inside: Prism2.languages.javascript
          },
          exports: {
            // https://tc39.es/ecma262/#sec-exports
            pattern: withId(
              /(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source
            ),
            lookbehind: true,
            inside: Prism2.languages.javascript
          }
        });
        Prism2.languages.javascript["keyword"].unshift(
          {
            pattern: /\b(?:as|default|export|from|import)\b/,
            alias: "module"
          },
          {
            pattern: /\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,
            alias: "control-flow"
          },
          {
            pattern: /\bnull\b/,
            alias: ["null", "nil"]
          },
          {
            pattern: /\bundefined\b/,
            alias: "nil"
          }
        );
        Prism2.languages.insertBefore("javascript", "operator", {
          spread: {
            pattern: /\.{3}/,
            alias: "operator"
          },
          arrow: {
            pattern: /=>/,
            alias: "operator"
          }
        });
        Prism2.languages.insertBefore("javascript", "punctuation", {
          "property-access": {
            pattern: withId(/(\.\s*)#?<ID>/.source),
            lookbehind: true
          },
          "maybe-class-name": {
            pattern: /(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,
            lookbehind: true
          },
          dom: {
            // this contains only a few commonly used DOM variables
            pattern: /\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,
            alias: "variable"
          },
          console: {
            pattern: /\bconsole(?=\s*\.)/,
            alias: "class-name"
          }
        });
        var maybeClassNameTokens = [
          "function",
          "function-variable",
          "method",
          "method-variable",
          "property-access"
        ];
        for (var i2 = 0; i2 < maybeClassNameTokens.length; i2++) {
          var token2 = maybeClassNameTokens[i2];
          var value = Prism2.languages.javascript[token2];
          if (Prism2.util.type(value) === "RegExp") {
            value = Prism2.languages.javascript[token2] = {
              pattern: value
            };
          }
          var inside = value.inside || {};
          value.inside = inside;
          inside["maybe-class-name"] = /^[A-Z][\s\S]*/;
        }
      })(Prism);
    }
    __name(jsExtras2, "jsExtras");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/languages/prism/js-extras.js
var import_js_extras, js_extras_default;
var init_js_extras = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/languages/prism/js-extras.js"() {
    import_js_extras = __toESM(require_js_extras());
    js_extras_default = import_js_extras.default;
  }
});

// ../node_modules/refractor/lang/json.js
var require_json = __commonJS({
  "../node_modules/refractor/lang/json.js"(exports, module2) {
    "use strict";
    module2.exports = json3;
    json3.displayName = "json";
    json3.aliases = ["webmanifest"];
    function json3(Prism) {
      Prism.languages.json = {
        property: {
          pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,
          lookbehind: true,
          greedy: true
        },
        string: {
          pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,
          lookbehind: true,
          greedy: true
        },
        comment: {
          pattern: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,
          greedy: true
        },
        number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
        punctuation: /[{}[\],]/,
        operator: /:/,
        boolean: /\b(?:false|true)\b/,
        null: {
          pattern: /\bnull\b/,
          alias: "keyword"
        }
      };
      Prism.languages.webmanifest = Prism.languages.json;
    }
    __name(json3, "json");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/languages/prism/json.js
var import_json, json_default;
var init_json = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/languages/prism/json.js"() {
    import_json = __toESM(require_json());
    json_default = import_json.default;
  }
});

// ../node_modules/refractor/lang/jsx.js
var require_jsx = __commonJS({
  "../node_modules/refractor/lang/jsx.js"(exports, module2) {
    "use strict";
    module2.exports = jsx16;
    jsx16.displayName = "jsx";
    jsx16.aliases = [];
    function jsx16(Prism) {
      ;
      (function(Prism2) {
        var javascript = Prism2.util.clone(Prism2.languages.javascript);
        var space = /(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source;
        var braces = /(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source;
        var spread = /(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;
        function re(source, flags) {
          source = source.replace(/<S>/g, function() {
            return space;
          }).replace(/<BRACES>/g, function() {
            return braces;
          }).replace(/<SPREAD>/g, function() {
            return spread;
          });
          return RegExp(source, flags);
        }
        __name(re, "re");
        spread = re(spread).source;
        Prism2.languages.jsx = Prism2.languages.extend("markup", javascript);
        Prism2.languages.jsx.tag.pattern = re(
          /<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source
        );
        Prism2.languages.jsx.tag.inside["tag"].pattern = /^<\/?[^\s>\/]*/;
        Prism2.languages.jsx.tag.inside["attr-value"].pattern = /=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/;
        Prism2.languages.jsx.tag.inside["tag"].inside["class-name"] = /^[A-Z]\w*(?:\.[A-Z]\w*)*$/;
        Prism2.languages.jsx.tag.inside["comment"] = javascript["comment"];
        Prism2.languages.insertBefore(
          "inside",
          "attr-name",
          {
            spread: {
              pattern: re(/<SPREAD>/.source),
              inside: Prism2.languages.jsx
            }
          },
          Prism2.languages.jsx.tag
        );
        Prism2.languages.insertBefore(
          "inside",
          "special-attr",
          {
            script: {
              // Allow for two levels of nesting
              pattern: re(/=<BRACES>/.source),
              alias: "language-javascript",
              inside: {
                "script-punctuation": {
                  pattern: /^=(?=\{)/,
                  alias: "punctuation"
                },
                rest: Prism2.languages.jsx
              }
            }
          },
          Prism2.languages.jsx.tag
        );
        var stringifyToken = /* @__PURE__ */ __name(function(token2) {
          if (!token2) {
            return "";
          }
          if (typeof token2 === "string") {
            return token2;
          }
          if (typeof token2.content === "string") {
            return token2.content;
          }
          return token2.content.map(stringifyToken).join("");
        }, "stringifyToken");
        var walkTokens = /* @__PURE__ */ __name(function(tokens) {
          var openedTags = [];
          for (var i2 = 0; i2 < tokens.length; i2++) {
            var token2 = tokens[i2];
            var notTagNorBrace = false;
            if (typeof token2 !== "string") {
              if (token2.type === "tag" && token2.content[0] && token2.content[0].type === "tag") {
                if (token2.content[0].content[0].content === "</") {
                  if (openedTags.length > 0 && openedTags[openedTags.length - 1].tagName === stringifyToken(token2.content[0].content[1])) {
                    openedTags.pop();
                  }
                } else {
                  if (token2.content[token2.content.length - 1].content === "/>") {
                  } else {
                    openedTags.push({
                      tagName: stringifyToken(token2.content[0].content[1]),
                      openedBraces: 0
                    });
                  }
                }
              } else if (openedTags.length > 0 && token2.type === "punctuation" && token2.content === "{") {
                openedTags[openedTags.length - 1].openedBraces++;
              } else if (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces > 0 && token2.type === "punctuation" && token2.content === "}") {
                openedTags[openedTags.length - 1].openedBraces--;
              } else {
                notTagNorBrace = true;
              }
            }
            if (notTagNorBrace || typeof token2 === "string") {
              if (openedTags.length > 0 && openedTags[openedTags.length - 1].openedBraces === 0) {
                var plainText = stringifyToken(token2);
                if (i2 < tokens.length - 1 && (typeof tokens[i2 + 1] === "string" || tokens[i2 + 1].type === "plain-text")) {
                  plainText += stringifyToken(tokens[i2 + 1]);
                  tokens.splice(i2 + 1, 1);
                }
                if (i2 > 0 && (typeof tokens[i2 - 1] === "string" || tokens[i2 - 1].type === "plain-text")) {
                  plainText = stringifyToken(tokens[i2 - 1]) + plainText;
                  tokens.splice(i2 - 1, 1);
                  i2--;
                }
                tokens[i2] = new Prism2.Token(
                  "plain-text",
                  plainText,
                  null,
                  plainText
                );
              }
            }
            if (token2.content && typeof token2.content !== "string") {
              walkTokens(token2.content);
            }
          }
        }, "walkTokens");
        Prism2.hooks.add("after-tokenize", function(env2) {
          if (env2.language !== "jsx" && env2.language !== "tsx") {
            return;
          }
          walkTokens(env2.tokens);
        });
      })(Prism);
    }
    __name(jsx16, "jsx");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/languages/prism/jsx.js
var import_jsx, jsx_default;
var init_jsx = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/languages/prism/jsx.js"() {
    import_jsx = __toESM(require_jsx());
    jsx_default = import_jsx.default;
  }
});

// ../node_modules/refractor/lang/markdown.js
var require_markdown = __commonJS({
  "../node_modules/refractor/lang/markdown.js"(exports, module2) {
    "use strict";
    module2.exports = markdown2;
    markdown2.displayName = "markdown";
    markdown2.aliases = ["md"];
    function markdown2(Prism) {
      ;
      (function(Prism2) {
        var inner = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;
        function createInline(pattern) {
          pattern = pattern.replace(/<inner>/g, function() {
            return inner;
          });
          return RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" + pattern + ")");
        }
        __name(createInline, "createInline");
        var tableCell = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source;
        var tableRow = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(
          /__/g,
          function() {
            return tableCell;
          }
        );
        var tableLine = /\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;
        Prism2.languages.markdown = Prism2.languages.extend("markup", {});
        Prism2.languages.insertBefore("markdown", "prolog", {
          "front-matter-block": {
            pattern: /(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,
            lookbehind: true,
            greedy: true,
            inside: {
              punctuation: /^---|---$/,
              "front-matter": {
                pattern: /\S+(?:\s+\S+)*/,
                alias: ["yaml", "language-yaml"],
                inside: Prism2.languages.yaml
              }
            }
          },
          blockquote: {
            // > ...
            pattern: /^>(?:[\t ]*>)*/m,
            alias: "punctuation"
          },
          table: {
            pattern: RegExp(
              "^" + tableRow + tableLine + "(?:" + tableRow + ")*",
              "m"
            ),
            inside: {
              "table-data-rows": {
                pattern: RegExp(
                  "^(" + tableRow + tableLine + ")(?:" + tableRow + ")*$"
                ),
                lookbehind: true,
                inside: {
                  "table-data": {
                    pattern: RegExp(tableCell),
                    inside: Prism2.languages.markdown
                  },
                  punctuation: /\|/
                }
              },
              "table-line": {
                pattern: RegExp("^(" + tableRow + ")" + tableLine + "$"),
                lookbehind: true,
                inside: {
                  punctuation: /\||:?-{3,}:?/
                }
              },
              "table-header-row": {
                pattern: RegExp("^" + tableRow + "$"),
                inside: {
                  "table-header": {
                    pattern: RegExp(tableCell),
                    alias: "important",
                    inside: Prism2.languages.markdown
                  },
                  punctuation: /\|/
                }
              }
            }
          },
          code: [
            {
              // Prefixed by 4 spaces or 1 tab and preceded by an empty line
              pattern: /((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,
              lookbehind: true,
              alias: "keyword"
            },
            {
              // ```optional language
              // code block
              // ```
              pattern: /^```[\s\S]*?^```$/m,
              greedy: true,
              inside: {
                "code-block": {
                  pattern: /^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,
                  lookbehind: true
                },
                "code-language": {
                  pattern: /^(```).+/,
                  lookbehind: true
                },
                punctuation: /```/
              }
            }
          ],
          title: [
            {
              // title 1
              // =======
              // title 2
              // -------
              pattern: /\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,
              alias: "important",
              inside: {
                punctuation: /==+$|--+$/
              }
            },
            {
              // # title 1
              // ###### title 6
              pattern: /(^\s*)#.+/m,
              lookbehind: true,
              alias: "important",
              inside: {
                punctuation: /^#+|#+$/
              }
            }
          ],
          hr: {
            // ***
            // ---
            // * * *
            // -----------
            pattern: /(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,
            lookbehind: true,
            alias: "punctuation"
          },
          list: {
            // * item
            // + item
            // - item
            // 1. item
            pattern: /(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,
            lookbehind: true,
            alias: "punctuation"
          },
          "url-reference": {
            // [id]: http://example.com "Optional title"
            // [id]: http://example.com 'Optional title'
            // [id]: http://example.com (Optional title)
            // [id]: <http://example.com> "Optional title"
            pattern: /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,
            inside: {
              variable: {
                pattern: /^(!?\[)[^\]]+/,
                lookbehind: true
              },
              string: /(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,
              punctuation: /^[\[\]!:]|[<>]/
            },
            alias: "url"
          },
          bold: {
            // **strong**
            // __strong__
            // allow one nested instance of italic text using the same delimiter
            pattern: createInline(
              /\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source
            ),
            lookbehind: true,
            greedy: true,
            inside: {
              content: {
                pattern: /(^..)[\s\S]+(?=..$)/,
                lookbehind: true,
                inside: {}
                // see below
              },
              punctuation: /\*\*|__/
            }
          },
          italic: {
            // *em*
            // _em_
            // allow one nested instance of bold text using the same delimiter
            pattern: createInline(
              /\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source
            ),
            lookbehind: true,
            greedy: true,
            inside: {
              content: {
                pattern: /(^.)[\s\S]+(?=.$)/,
                lookbehind: true,
                inside: {}
                // see below
              },
              punctuation: /[*_]/
            }
          },
          strike: {
            // ~~strike through~~
            // ~strike~
            // eslint-disable-next-line regexp/strict
            pattern: createInline(/(~~?)(?:(?!~)<inner>)+\2/.source),
            lookbehind: true,
            greedy: true,
            inside: {
              content: {
                pattern: /(^~~?)[\s\S]+(?=\1$)/,
                lookbehind: true,
                inside: {}
                // see below
              },
              punctuation: /~~?/
            }
          },
          "code-snippet": {
            // `code`
            // ``code``
            pattern: /(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,
            lookbehind: true,
            greedy: true,
            alias: ["code", "keyword"]
          },
          url: {
            // [example](http://example.com "Optional title")
            // [example][id]
            // [example] [id]
            pattern: createInline(
              /!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source
            ),
            lookbehind: true,
            greedy: true,
            inside: {
              operator: /^!/,
              content: {
                pattern: /(^\[)[^\]]+(?=\])/,
                lookbehind: true,
                inside: {}
                // see below
              },
              variable: {
                pattern: /(^\][ \t]?\[)[^\]]+(?=\]$)/,
                lookbehind: true
              },
              url: {
                pattern: /(^\]\()[^\s)]+/,
                lookbehind: true
              },
              string: {
                pattern: /(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,
                lookbehind: true
              }
            }
          }
        });
        ["url", "bold", "italic", "strike"].forEach(function(token2) {
          ;
          ["url", "bold", "italic", "strike", "code-snippet"].forEach(function(inside) {
            if (token2 !== inside) {
              Prism2.languages.markdown[token2].inside.content.inside[inside] = Prism2.languages.markdown[inside];
            }
          });
        });
        Prism2.hooks.add("after-tokenize", function(env2) {
          if (env2.language !== "markdown" && env2.language !== "md") {
            return;
          }
          function walkTokens(tokens) {
            if (!tokens || typeof tokens === "string") {
              return;
            }
            for (var i2 = 0, l = tokens.length; i2 < l; i2++) {
              var token2 = tokens[i2];
              if (token2.type !== "code") {
                walkTokens(token2.content);
                continue;
              }
              var codeLang = token2.content[1];
              var codeBlock = token2.content[3];
              if (codeLang && codeBlock && codeLang.type === "code-language" && codeBlock.type === "code-block" && typeof codeLang.content === "string") {
                var lang = codeLang.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp");
                lang = (/[a-z][\w-]*/i.exec(lang) || [""])[0].toLowerCase();
                var alias = "language-" + lang;
                if (!codeBlock.alias) {
                  codeBlock.alias = [alias];
                } else if (typeof codeBlock.alias === "string") {
                  codeBlock.alias = [codeBlock.alias, alias];
                } else {
                  codeBlock.alias.push(alias);
                }
              }
            }
          }
          __name(walkTokens, "walkTokens");
          walkTokens(env2.tokens);
        });
        Prism2.hooks.add("wrap", function(env2) {
          if (env2.type !== "code-block") {
            return;
          }
          var codeLang = "";
          for (var i2 = 0, l = env2.classes.length; i2 < l; i2++) {
            var cls = env2.classes[i2];
            var match3 = /language-(.+)/.exec(cls);
            if (match3) {
              codeLang = match3[1];
              break;
            }
          }
          var grammar = Prism2.languages[codeLang];
          if (!grammar) {
            if (codeLang && codeLang !== "none" && Prism2.plugins.autoloader) {
              var id = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(Math.random() * 1e16);
              env2.attributes["id"] = id;
              Prism2.plugins.autoloader.loadLanguages(codeLang, function() {
                var ele = document.getElementById(id);
                if (ele) {
                  ele.innerHTML = Prism2.highlight(
                    ele.textContent,
                    Prism2.languages[codeLang],
                    codeLang
                  );
                }
              });
            }
          } else {
            env2.content = Prism2.highlight(
              textContent(env2.content.value),
              grammar,
              codeLang
            );
          }
        });
        var tagPattern = RegExp(Prism2.languages.markup.tag.pattern.source, "gi");
        var KNOWN_ENTITY_NAMES = {
          amp: "&",
          lt: "<",
          gt: ">",
          quot: '"'
        };
        var fromCodePoint = String.fromCodePoint || String.fromCharCode;
        function textContent(html) {
          var text = html.replace(tagPattern, "");
          text = text.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(m3, code) {
            code = code.toLowerCase();
            if (code[0] === "#") {
              var value;
              if (code[1] === "x") {
                value = parseInt(code.slice(2), 16);
              } else {
                value = Number(code.slice(1));
              }
              return fromCodePoint(value);
            } else {
              var known = KNOWN_ENTITY_NAMES[code];
              if (known) {
                return known;
              }
              return m3;
            }
          });
          return text;
        }
        __name(textContent, "textContent");
        Prism2.languages.md = Prism2.languages.markdown;
      })(Prism);
    }
    __name(markdown2, "markdown");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/languages/prism/markdown.js
var import_markdown, markdown_default;
var init_markdown = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/languages/prism/markdown.js"() {
    import_markdown = __toESM(require_markdown());
    markdown_default = import_markdown.default;
  }
});

// ../node_modules/refractor/lang/markup.js
var require_markup = __commonJS({
  "../node_modules/refractor/lang/markup.js"(exports, module2) {
    "use strict";
    module2.exports = markup2;
    markup2.displayName = "markup";
    markup2.aliases = ["html", "mathml", "svg", "xml", "ssml", "atom", "rss"];
    function markup2(Prism) {
      Prism.languages.markup = {
        comment: {
          pattern: /<!--(?:(?!<!--)[\s\S])*?-->/,
          greedy: true
        },
        prolog: {
          pattern: /<\?[\s\S]+?\?>/,
          greedy: true
        },
        doctype: {
          // https://www.w3.org/TR/xml/#NT-doctypedecl
          pattern: /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,
          greedy: true,
          inside: {
            "internal-subset": {
              pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/,
              lookbehind: true,
              greedy: true,
              inside: null
              // see below
            },
            string: {
              pattern: /"[^"]*"|'[^']*'/,
              greedy: true
            },
            punctuation: /^<!|>$|[[\]]/,
            "doctype-tag": /^DOCTYPE/i,
            name: /[^\s<>'"]+/
          }
        },
        cdata: {
          pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
          greedy: true
        },
        tag: {
          pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,
          greedy: true,
          inside: {
            tag: {
              pattern: /^<\/?[^\s>\/]+/,
              inside: {
                punctuation: /^<\/?/,
                namespace: /^[^\s>\/:]+:/
              }
            },
            "special-attr": [],
            "attr-value": {
              pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,
              inside: {
                punctuation: [
                  {
                    pattern: /^=/,
                    alias: "attr-equals"
                  },
                  /"|'/
                ]
              }
            },
            punctuation: /\/?>/,
            "attr-name": {
              pattern: /[^\s>\/]+/,
              inside: {
                namespace: /^[^\s>\/:]+:/
              }
            }
          }
        },
        entity: [
          {
            pattern: /&[\da-z]{1,8};/i,
            alias: "named-entity"
          },
          /&#x?[\da-f]{1,8};/i
        ]
      };
      Prism.languages.markup["tag"].inside["attr-value"].inside["entity"] = Prism.languages.markup["entity"];
      Prism.languages.markup["doctype"].inside["internal-subset"].inside = Prism.languages.markup;
      Prism.hooks.add("wrap", function(env2) {
        if (env2.type === "entity") {
          env2.attributes["title"] = env2.content.value.replace(/&amp;/, "&");
        }
      });
      Object.defineProperty(Prism.languages.markup.tag, "addInlined", {
        /**
         * Adds an inlined language to markup.
         *
         * An example of an inlined language is CSS with `<style>` tags.
         *
         * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as
         * case insensitive.
         * @param {string} lang The language key.
         * @example
         * addInlined('style', 'css');
         */
        value: /* @__PURE__ */ __name(function addInlined(tagName, lang) {
          var includedCdataInside = {};
          includedCdataInside["language-" + lang] = {
            pattern: /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,
            lookbehind: true,
            inside: Prism.languages[lang]
          };
          includedCdataInside["cdata"] = /^<!\[CDATA\[|\]\]>$/i;
          var inside = {
            "included-cdata": {
              pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
              inside: includedCdataInside
            }
          };
          inside["language-" + lang] = {
            pattern: /[\s\S]+/,
            inside: Prism.languages[lang]
          };
          var def = {};
          def[tagName] = {
            pattern: RegExp(
              /(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(
                /__/g,
                function() {
                  return tagName;
                }
              ),
              "i"
            ),
            lookbehind: true,
            greedy: true,
            inside
          };
          Prism.languages.insertBefore("markup", "cdata", def);
        }, "addInlined")
      });
      Object.defineProperty(Prism.languages.markup.tag, "addAttribute", {
        /**
         * Adds an pattern to highlight languages embedded in HTML attributes.
         *
         * An example of an inlined language is CSS with `style` attributes.
         *
         * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as
         * case insensitive.
         * @param {string} lang The language key.
         * @example
         * addAttribute('style', 'css');
         */
        value: /* @__PURE__ */ __name(function(attrName, lang) {
          Prism.languages.markup.tag.inside["special-attr"].push({
            pattern: RegExp(
              /(^|["'\s])/.source + "(?:" + attrName + ")" + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,
              "i"
            ),
            lookbehind: true,
            inside: {
              "attr-name": /^[^\s=]+/,
              "attr-value": {
                pattern: /=[\s\S]+/,
                inside: {
                  value: {
                    pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,
                    lookbehind: true,
                    alias: [lang, "language-" + lang],
                    inside: Prism.languages[lang]
                  },
                  punctuation: [
                    {
                      pattern: /^=/,
                      alias: "attr-equals"
                    },
                    /"|'/
                  ]
                }
              }
            }
          });
        }, "value")
      });
      Prism.languages.html = Prism.languages.markup;
      Prism.languages.mathml = Prism.languages.markup;
      Prism.languages.svg = Prism.languages.markup;
      Prism.languages.xml = Prism.languages.extend("markup", {});
      Prism.languages.ssml = Prism.languages.xml;
      Prism.languages.atom = Prism.languages.xml;
      Prism.languages.rss = Prism.languages.xml;
    }
    __name(markup2, "markup");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/languages/prism/markup.js
var import_markup, markup_default;
var init_markup = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/languages/prism/markup.js"() {
    import_markup = __toESM(require_markup());
    markup_default = import_markup.default;
  }
});

// ../node_modules/refractor/lang/typescript.js
var require_typescript = __commonJS({
  "../node_modules/refractor/lang/typescript.js"(exports, module2) {
    "use strict";
    module2.exports = typescript2;
    typescript2.displayName = "typescript";
    typescript2.aliases = ["ts"];
    function typescript2(Prism) {
      ;
      (function(Prism2) {
        Prism2.languages.typescript = Prism2.languages.extend("javascript", {
          "class-name": {
            pattern: /(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,
            lookbehind: true,
            greedy: true,
            inside: null
            // see below
          },
          builtin: /\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/
        });
        Prism2.languages.typescript.keyword.push(
          /\b(?:abstract|declare|is|keyof|readonly|require)\b/,
          // keywords that have to be followed by an identifier
          /\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,
          // This is for `import type *, {}`
          /\btype\b(?=\s*(?:[\{*]|$))/
        );
        delete Prism2.languages.typescript["parameter"];
        delete Prism2.languages.typescript["literal-property"];
        var typeInside = Prism2.languages.extend("typescript", {});
        delete typeInside["class-name"];
        Prism2.languages.typescript["class-name"].inside = typeInside;
        Prism2.languages.insertBefore("typescript", "function", {
          decorator: {
            pattern: /@[$\w\xA0-\uFFFF]+/,
            inside: {
              at: {
                pattern: /^@/,
                alias: "operator"
              },
              function: /^[\s\S]+/
            }
          },
          "generic-function": {
            // e.g. foo<T extends "bar" | "baz">( ...
            pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,
            greedy: true,
            inside: {
              function: /^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,
              generic: {
                pattern: /<[\s\S]+/,
                // everything after the first <
                alias: "class-name",
                inside: typeInside
              }
            }
          }
        });
        Prism2.languages.ts = Prism2.languages.typescript;
      })(Prism);
    }
    __name(typescript2, "typescript");
  }
});

// ../node_modules/refractor/lang/tsx.js
var require_tsx = __commonJS({
  "../node_modules/refractor/lang/tsx.js"(exports, module2) {
    "use strict";
    var refractorJsx = require_jsx();
    var refractorTypescript = require_typescript();
    module2.exports = tsx2;
    tsx2.displayName = "tsx";
    tsx2.aliases = [];
    function tsx2(Prism) {
      Prism.register(refractorJsx);
      Prism.register(refractorTypescript);
      (function(Prism2) {
        var typescript2 = Prism2.util.clone(Prism2.languages.typescript);
        Prism2.languages.tsx = Prism2.languages.extend("jsx", typescript2);
        delete Prism2.languages.tsx["parameter"];
        delete Prism2.languages.tsx["literal-property"];
        var tag = Prism2.languages.tsx.tag;
        tag.pattern = RegExp(
          /(^|[^\w$]|(?=<\/))/.source + "(?:" + tag.pattern.source + ")",
          tag.pattern.flags
        );
        tag.lookbehind = true;
      })(Prism);
    }
    __name(tsx2, "tsx");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/languages/prism/tsx.js
var import_tsx, tsx_default;
var init_tsx = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/languages/prism/tsx.js"() {
    import_tsx = __toESM(require_tsx());
    tsx_default = import_tsx.default;
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/languages/prism/typescript.js
var import_typescript, typescript_default;
var init_typescript = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/languages/prism/typescript.js"() {
    import_typescript = __toESM(require_typescript());
    typescript_default = import_typescript.default;
  }
});

// ../node_modules/refractor/lang/yaml.js
var require_yaml = __commonJS({
  "../node_modules/refractor/lang/yaml.js"(exports, module2) {
    "use strict";
    module2.exports = yaml2;
    yaml2.displayName = "yaml";
    yaml2.aliases = ["yml"];
    function yaml2(Prism) {
      ;
      (function(Prism2) {
        var anchorOrAlias = /[*&][^\s[\]{},]+/;
        var tag = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/;
        var properties = "(?:" + tag.source + "(?:[ 	]+" + anchorOrAlias.source + ")?|" + anchorOrAlias.source + "(?:[ 	]+" + tag.source + ")?)";
        var plainKey = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(
          /<PLAIN>/g,
          function() {
            return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
          }
        );
        var string = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;
        function createValuePattern(value, flags) {
          flags = (flags || "").replace(/m/g, "") + "m";
          var pattern = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() {
            return properties;
          }).replace(/<<value>>/g, function() {
            return value;
          });
          return RegExp(pattern, flags);
        }
        __name(createValuePattern, "createValuePattern");
        Prism2.languages.yaml = {
          scalar: {
            pattern: RegExp(
              /([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(
                /<<prop>>/g,
                function() {
                  return properties;
                }
              )
            ),
            lookbehind: true,
            alias: "string"
          },
          comment: /#.*/,
          key: {
            pattern: RegExp(
              /((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g, function() {
                return properties;
              }).replace(/<<key>>/g, function() {
                return "(?:" + plainKey + "|" + string + ")";
              })
            ),
            lookbehind: true,
            greedy: true,
            alias: "atrule"
          },
          directive: {
            pattern: /(^[ \t]*)%.+/m,
            lookbehind: true,
            alias: "important"
          },
          datetime: {
            pattern: createValuePattern(
              /\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source
            ),
            lookbehind: true,
            alias: "number"
          },
          boolean: {
            pattern: createValuePattern(/false|true/.source, "i"),
            lookbehind: true,
            alias: "important"
          },
          null: {
            pattern: createValuePattern(/null|~/.source, "i"),
            lookbehind: true,
            alias: "important"
          },
          string: {
            pattern: createValuePattern(string),
            lookbehind: true,
            greedy: true
          },
          number: {
            pattern: createValuePattern(
              /[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,
              "i"
            ),
            lookbehind: true
          },
          tag,
          important: anchorOrAlias,
          punctuation: /---|[:[\]{}\-,|>?]|\.\.\./
        };
        Prism2.languages.yml = Prism2.languages.yaml;
      })(Prism);
    }
    __name(yaml2, "yaml");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/languages/prism/yaml.js
var import_yaml, yaml_default;
var init_yaml = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/languages/prism/yaml.js"() {
    import_yaml = __toESM(require_yaml());
    yaml_default = import_yaml.default;
  }
});

// ../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
function _objectWithoutPropertiesLoose(r2, e2) {
  if (null == r2) return {};
  var t2 = {};
  for (var n2 in r2) if ({}.hasOwnProperty.call(r2, n2)) {
    if (-1 !== e2.indexOf(n2)) continue;
    t2[n2] = r2[n2];
  }
  return t2;
}
var init_objectWithoutPropertiesLoose = __esm({
  "../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"() {
    __name(_objectWithoutPropertiesLoose, "_objectWithoutPropertiesLoose");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
function _objectWithoutProperties(e2, t2) {
  if (null == e2) return {};
  var o2, r2, i2 = _objectWithoutPropertiesLoose(e2, t2);
  if (Object.getOwnPropertySymbols) {
    var n2 = Object.getOwnPropertySymbols(e2);
    for (r2 = 0; r2 < n2.length; r2++) o2 = n2[r2], -1 === t2.indexOf(o2) && {}.propertyIsEnumerable.call(e2, o2) && (i2[o2] = e2[o2]);
  }
  return i2;
}
var init_objectWithoutProperties = __esm({
  "../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"() {
    init_objectWithoutPropertiesLoose();
    __name(_objectWithoutProperties, "_objectWithoutProperties");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
function _arrayLikeToArray(r2, a2) {
  (null == a2 || a2 > r2.length) && (a2 = r2.length);
  for (var e2 = 0, n2 = Array(a2); e2 < a2; e2++) n2[e2] = r2[e2];
  return n2;
}
var init_arrayLikeToArray = __esm({
  "../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js"() {
    __name(_arrayLikeToArray, "_arrayLikeToArray");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
function _arrayWithoutHoles(r2) {
  if (Array.isArray(r2)) return _arrayLikeToArray(r2);
}
var init_arrayWithoutHoles = __esm({
  "../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js"() {
    init_arrayLikeToArray();
    __name(_arrayWithoutHoles, "_arrayWithoutHoles");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/iterableToArray.js
function _iterableToArray(r2) {
  if ("undefined" != typeof Symbol && null != r2[Symbol.iterator] || null != r2["@@iterator"]) return Array.from(r2);
}
var init_iterableToArray = __esm({
  "../node_modules/@babel/runtime/helpers/esm/iterableToArray.js"() {
    __name(_iterableToArray, "_iterableToArray");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
function _unsupportedIterableToArray(r2, a2) {
  if (r2) {
    if ("string" == typeof r2) return _arrayLikeToArray(r2, a2);
    var t2 = {}.toString.call(r2).slice(8, -1);
    return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray(r2, a2) : void 0;
  }
}
var init_unsupportedIterableToArray = __esm({
  "../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"() {
    init_arrayLikeToArray();
    __name(_unsupportedIterableToArray, "_unsupportedIterableToArray");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
function _nonIterableSpread() {
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var init_nonIterableSpread = __esm({
  "../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"() {
    __name(_nonIterableSpread, "_nonIterableSpread");
  }
});

// ../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
function _toConsumableArray(r2) {
  return _arrayWithoutHoles(r2) || _iterableToArray(r2) || _unsupportedIterableToArray(r2) || _nonIterableSpread();
}
var init_toConsumableArray = __esm({
  "../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"() {
    init_arrayWithoutHoles();
    init_iterableToArray();
    init_unsupportedIterableToArray();
    init_nonIterableSpread();
    __name(_toConsumableArray, "_toConsumableArray");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js
var checkForListedLanguage_default;
var init_checkForListedLanguage = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js"() {
    checkForListedLanguage_default = /* @__PURE__ */ __name(function(astGenerator, language) {
      var langs = astGenerator.listLanguages();
      return langs.indexOf(language) !== -1;
    }, "default");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/highlight.js
function ownKeys2(e2, r2) {
  var t2 = Object.keys(e2);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e2);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e2, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
function _objectSpread2(e2) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys2(Object(t2), true).forEach(function(r3) {
      _defineProperty(e2, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys2(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e2;
}
function getNewLines(str2) {
  return str2.match(newLineRegex);
}
function getAllLineNumbers(_ref) {
  var lines = _ref.lines, startingLineNumber = _ref.startingLineNumber, style = _ref.style;
  return lines.map(function(_, i2) {
    var number = i2 + startingLineNumber;
    return import_react9.default.createElement("span", {
      key: "line-".concat(i2),
      className: "react-syntax-highlighter-line-number",
      style: typeof style === "function" ? style(number) : style
    }, "".concat(number, "\n"));
  });
}
function AllLineNumbers(_ref2) {
  var codeString = _ref2.codeString, codeStyle = _ref2.codeStyle, _ref2$containerStyle = _ref2.containerStyle, containerStyle = _ref2$containerStyle === void 0 ? {
    "float": "left",
    paddingRight: "10px"
  } : _ref2$containerStyle, _ref2$numberStyle = _ref2.numberStyle, numberStyle = _ref2$numberStyle === void 0 ? {} : _ref2$numberStyle, startingLineNumber = _ref2.startingLineNumber;
  return import_react9.default.createElement("code", {
    style: Object.assign({}, codeStyle, containerStyle)
  }, getAllLineNumbers({
    lines: codeString.replace(/\n$/, "").split("\n"),
    style: numberStyle,
    startingLineNumber
  }));
}
function getEmWidthOfNumber(num) {
  return "".concat(num.toString().length, ".25em");
}
function getInlineLineNumber(lineNumber, inlineLineNumberStyle) {
  return {
    type: "element",
    tagName: "span",
    properties: {
      key: "line-number--".concat(lineNumber),
      className: ["comment", "linenumber", "react-syntax-highlighter-line-number"],
      style: inlineLineNumberStyle
    },
    children: [{
      type: "text",
      value: lineNumber
    }]
  };
}
function assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber) {
  var defaultLineNumberStyle = {
    display: "inline-block",
    minWidth: getEmWidthOfNumber(largestLineNumber),
    paddingRight: "1em",
    textAlign: "right",
    userSelect: "none"
  };
  var customLineNumberStyle = typeof lineNumberStyle === "function" ? lineNumberStyle(lineNumber) : lineNumberStyle;
  var assembledStyle = _objectSpread2(_objectSpread2({}, defaultLineNumberStyle), customLineNumberStyle);
  return assembledStyle;
}
function createLineElement(_ref3) {
  var children = _ref3.children, lineNumber = _ref3.lineNumber, lineNumberStyle = _ref3.lineNumberStyle, largestLineNumber = _ref3.largestLineNumber, showInlineLineNumbers = _ref3.showInlineLineNumbers, _ref3$lineProps = _ref3.lineProps, lineProps = _ref3$lineProps === void 0 ? {} : _ref3$lineProps, _ref3$className = _ref3.className, className = _ref3$className === void 0 ? [] : _ref3$className, showLineNumbers = _ref3.showLineNumbers, wrapLongLines = _ref3.wrapLongLines, _ref3$wrapLines = _ref3.wrapLines, wrapLines = _ref3$wrapLines === void 0 ? false : _ref3$wrapLines;
  var properties = wrapLines ? _objectSpread2({}, typeof lineProps === "function" ? lineProps(lineNumber) : lineProps) : {};
  properties["className"] = properties["className"] ? [].concat(_toConsumableArray(properties["className"].trim().split(/\s+/)), _toConsumableArray(className)) : className;
  if (lineNumber && showInlineLineNumbers) {
    var inlineLineNumberStyle = assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber);
    children.unshift(getInlineLineNumber(lineNumber, inlineLineNumberStyle));
  }
  if (wrapLongLines & showLineNumbers) {
    properties.style = _objectSpread2({
      display: "flex"
    }, properties.style);
  }
  return {
    type: "element",
    tagName: "span",
    properties,
    children
  };
}
function flattenCodeTree(tree) {
  var className = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
  var newTree = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
  for (var i2 = 0; i2 < tree.length; i2++) {
    var node2 = tree[i2];
    if (node2.type === "text") {
      newTree.push(createLineElement({
        children: [node2],
        className: _toConsumableArray(new Set(className))
      }));
    } else if (node2.children) {
      var classNames = className.concat(node2.properties.className);
      flattenCodeTree(node2.children, classNames).forEach(function(i3) {
        return newTree.push(i3);
      });
    }
  }
  return newTree;
}
function processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines) {
  var _ref4;
  var tree = flattenCodeTree(codeTree.value);
  var newTree = [];
  var lastLineBreakIndex = -1;
  var index4 = 0;
  function createWrappedLine(children2, lineNumber2) {
    var className = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    return createLineElement({
      children: children2,
      lineNumber: lineNumber2,
      lineNumberStyle,
      largestLineNumber,
      showInlineLineNumbers,
      lineProps,
      className,
      showLineNumbers,
      wrapLongLines,
      wrapLines
    });
  }
  __name(createWrappedLine, "createWrappedLine");
  function createUnwrappedLine(children2, lineNumber2) {
    if (showLineNumbers && lineNumber2 && showInlineLineNumbers) {
      var inlineLineNumberStyle = assembleLineNumberStyles(lineNumberStyle, lineNumber2, largestLineNumber);
      children2.unshift(getInlineLineNumber(lineNumber2, inlineLineNumberStyle));
    }
    return children2;
  }
  __name(createUnwrappedLine, "createUnwrappedLine");
  function createLine(children2, lineNumber2) {
    var className = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    return wrapLines || className.length > 0 ? createWrappedLine(children2, lineNumber2, className) : createUnwrappedLine(children2, lineNumber2);
  }
  __name(createLine, "createLine");
  var _loop = /* @__PURE__ */ __name(function _loop2() {
    var node2 = tree[index4];
    var value = node2.children[0].value;
    var newLines = getNewLines(value);
    if (newLines) {
      var splitValue = value.split("\n");
      splitValue.forEach(function(text, i2) {
        var lineNumber2 = showLineNumbers && newTree.length + startingLineNumber;
        var newChild = {
          type: "text",
          value: "".concat(text, "\n")
        };
        if (i2 === 0) {
          var _children = tree.slice(lastLineBreakIndex + 1, index4).concat(createLineElement({
            children: [newChild],
            className: node2.properties.className
          }));
          var _line = createLine(_children, lineNumber2);
          newTree.push(_line);
        } else if (i2 === splitValue.length - 1) {
          var stringChild = tree[index4 + 1] && tree[index4 + 1].children && tree[index4 + 1].children[0];
          var lastLineInPreviousSpan = {
            type: "text",
            value: "".concat(text)
          };
          if (stringChild) {
            var newElem = createLineElement({
              children: [lastLineInPreviousSpan],
              className: node2.properties.className
            });
            tree.splice(index4 + 1, 0, newElem);
          } else {
            var _children2 = [lastLineInPreviousSpan];
            var _line2 = createLine(_children2, lineNumber2, node2.properties.className);
            newTree.push(_line2);
          }
        } else {
          var _children3 = [newChild];
          var _line3 = createLine(_children3, lineNumber2, node2.properties.className);
          newTree.push(_line3);
        }
      });
      lastLineBreakIndex = index4;
    }
    index4++;
  }, "_loop");
  while (index4 < tree.length) {
    _loop();
  }
  if (lastLineBreakIndex !== tree.length - 1) {
    var children = tree.slice(lastLineBreakIndex + 1, tree.length);
    if (children && children.length) {
      var lineNumber = showLineNumbers && newTree.length + startingLineNumber;
      var line2 = createLine(children, lineNumber);
      newTree.push(line2);
    }
  }
  return wrapLines ? newTree : (_ref4 = []).concat.apply(_ref4, newTree);
}
function defaultRenderer(_ref5) {
  var rows = _ref5.rows, stylesheet = _ref5.stylesheet, useInlineStyles = _ref5.useInlineStyles;
  return rows.map(function(node2, i2) {
    return createElement4({
      node: node2,
      stylesheet,
      useInlineStyles,
      key: "code-segment-".concat(i2)
    });
  });
}
function isHighlightJs(astGenerator) {
  return astGenerator && typeof astGenerator.highlightAuto !== "undefined";
}
function getCodeTree(_ref6) {
  var astGenerator = _ref6.astGenerator, language = _ref6.language, code = _ref6.code, defaultCodeValue = _ref6.defaultCodeValue;
  if (isHighlightJs(astGenerator)) {
    var hasLanguage = checkForListedLanguage_default(astGenerator, language);
    if (language === "text") {
      return {
        value: defaultCodeValue,
        language: "text"
      };
    } else if (hasLanguage) {
      return astGenerator.highlight(language, code);
    } else {
      return astGenerator.highlightAuto(code);
    }
  }
  try {
    return language && language !== "text" ? {
      value: astGenerator.highlight(code, language)
    } : {
      value: defaultCodeValue
    };
  } catch (e2) {
    return {
      value: defaultCodeValue
    };
  }
}
function highlight_default(defaultAstGenerator, defaultStyle) {
  return /* @__PURE__ */ __name(function SyntaxHighlighter4(_ref7) {
    var _code$match$length, _code$match;
    var language = _ref7.language, children = _ref7.children, _ref7$style = _ref7.style, style = _ref7$style === void 0 ? defaultStyle : _ref7$style, _ref7$customStyle = _ref7.customStyle, customStyle = _ref7$customStyle === void 0 ? {} : _ref7$customStyle, _ref7$codeTagProps = _ref7.codeTagProps, codeTagProps = _ref7$codeTagProps === void 0 ? {
      className: language ? "language-".concat(language) : void 0,
      style: _objectSpread2(_objectSpread2({}, style['code[class*="language-"]']), style['code[class*="language-'.concat(language, '"]')])
    } : _ref7$codeTagProps, _ref7$useInlineStyles = _ref7.useInlineStyles, useInlineStyles = _ref7$useInlineStyles === void 0 ? true : _ref7$useInlineStyles, _ref7$showLineNumbers = _ref7.showLineNumbers, showLineNumbers = _ref7$showLineNumbers === void 0 ? false : _ref7$showLineNumbers, _ref7$showInlineLineN = _ref7.showInlineLineNumbers, showInlineLineNumbers = _ref7$showInlineLineN === void 0 ? true : _ref7$showInlineLineN, _ref7$startingLineNum = _ref7.startingLineNumber, startingLineNumber = _ref7$startingLineNum === void 0 ? 1 : _ref7$startingLineNum, lineNumberContainerStyle = _ref7.lineNumberContainerStyle, _ref7$lineNumberStyle = _ref7.lineNumberStyle, lineNumberStyle = _ref7$lineNumberStyle === void 0 ? {} : _ref7$lineNumberStyle, wrapLines = _ref7.wrapLines, _ref7$wrapLongLines = _ref7.wrapLongLines, wrapLongLines = _ref7$wrapLongLines === void 0 ? false : _ref7$wrapLongLines, _ref7$lineProps = _ref7.lineProps, lineProps = _ref7$lineProps === void 0 ? {} : _ref7$lineProps, renderer = _ref7.renderer, _ref7$PreTag = _ref7.PreTag, PreTag = _ref7$PreTag === void 0 ? "pre" : _ref7$PreTag, _ref7$CodeTag = _ref7.CodeTag, CodeTag = _ref7$CodeTag === void 0 ? "code" : _ref7$CodeTag, _ref7$code = _ref7.code, code = _ref7$code === void 0 ? (Array.isArray(children) ? children[0] : children) || "" : _ref7$code, astGenerator = _ref7.astGenerator, rest = _objectWithoutProperties(_ref7, _excluded);
    astGenerator = astGenerator || defaultAstGenerator;
    var allLineNumbers = showLineNumbers ? import_react9.default.createElement(AllLineNumbers, {
      containerStyle: lineNumberContainerStyle,
      codeStyle: codeTagProps.style || {},
      numberStyle: lineNumberStyle,
      startingLineNumber,
      codeString: code
    }) : null;
    var defaultPreStyle = style.hljs || style['pre[class*="language-"]'] || {
      backgroundColor: "#fff"
    };
    var generatorClassName = isHighlightJs(astGenerator) ? "hljs" : "prismjs";
    var preProps = useInlineStyles ? Object.assign({}, rest, {
      style: Object.assign({}, defaultPreStyle, customStyle)
    }) : Object.assign({}, rest, {
      className: rest.className ? "".concat(generatorClassName, " ").concat(rest.className) : generatorClassName,
      style: Object.assign({}, customStyle)
    });
    if (wrapLongLines) {
      codeTagProps.style = _objectSpread2({
        whiteSpace: "pre-wrap"
      }, codeTagProps.style);
    } else {
      codeTagProps.style = _objectSpread2({
        whiteSpace: "pre"
      }, codeTagProps.style);
    }
    if (!astGenerator) {
      return import_react9.default.createElement(PreTag, preProps, allLineNumbers, import_react9.default.createElement(CodeTag, codeTagProps, code));
    }
    if (wrapLines === void 0 && renderer || wrapLongLines) wrapLines = true;
    renderer = renderer || defaultRenderer;
    var defaultCodeValue = [{
      type: "text",
      value: code
    }];
    var codeTree = getCodeTree({
      astGenerator,
      language,
      code,
      defaultCodeValue
    });
    if (codeTree.language === null) {
      codeTree.value = defaultCodeValue;
    }
    var lineBreakCount = (_code$match$length = (_code$match = code.match(/\n/g)) === null || _code$match === void 0 ? void 0 : _code$match.length) !== null && _code$match$length !== void 0 ? _code$match$length : 0;
    var largestLineNumber = startingLineNumber + lineBreakCount;
    var rows = processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines);
    return import_react9.default.createElement(PreTag, preProps, import_react9.default.createElement(CodeTag, codeTagProps, !showInlineLineNumbers && allLineNumbers, renderer({
      rows,
      stylesheet: style,
      useInlineStyles
    })));
  }, "SyntaxHighlighter");
}
var import_react9, _excluded, newLineRegex;
var init_highlight = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/highlight.js"() {
    init_objectWithoutProperties();
    init_toConsumableArray();
    init_defineProperty();
    import_react9 = __toESM(require_react());
    init_create_element();
    init_checkForListedLanguage();
    _excluded = ["language", "children", "style", "customStyle", "codeTagProps", "useInlineStyles", "showLineNumbers", "showInlineLineNumbers", "startingLineNumber", "lineNumberContainerStyle", "lineNumberStyle", "wrapLines", "wrapLongLines", "lineProps", "renderer", "PreTag", "CodeTag", "code", "astGenerator"];
    __name(ownKeys2, "ownKeys");
    __name(_objectSpread2, "_objectSpread");
    newLineRegex = /\n/g;
    __name(getNewLines, "getNewLines");
    __name(getAllLineNumbers, "getAllLineNumbers");
    __name(AllLineNumbers, "AllLineNumbers");
    __name(getEmWidthOfNumber, "getEmWidthOfNumber");
    __name(getInlineLineNumber, "getInlineLineNumber");
    __name(assembleLineNumberStyles, "assembleLineNumberStyles");
    __name(createLineElement, "createLineElement");
    __name(flattenCodeTree, "flattenCodeTree");
    __name(processLines, "processLines");
    __name(defaultRenderer, "defaultRenderer");
    __name(isHighlightJs, "isHighlightJs");
    __name(getCodeTree, "getCodeTree");
    __name(highlight_default, "default");
  }
});

// ../node_modules/xtend/immutable.js
var require_immutable = __commonJS({
  "../node_modules/xtend/immutable.js"(exports, module2) {
    module2.exports = extend;
    var hasOwnProperty6 = Object.prototype.hasOwnProperty;
    function extend() {
      var target = {};
      for (var i2 = 0; i2 < arguments.length; i2++) {
        var source = arguments[i2];
        for (var key in source) {
          if (hasOwnProperty6.call(source, key)) {
            target[key] = source[key];
          }
        }
      }
      return target;
    }
    __name(extend, "extend");
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/util/schema.js
var require_schema = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/util/schema.js"(exports, module2) {
    "use strict";
    module2.exports = Schema;
    var proto = Schema.prototype;
    proto.space = null;
    proto.normal = {};
    proto.property = {};
    function Schema(property, normal, space) {
      this.property = property;
      this.normal = normal;
      if (space) {
        this.space = space;
      }
    }
    __name(Schema, "Schema");
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/util/merge.js
var require_merge = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/util/merge.js"(exports, module2) {
    "use strict";
    var xtend = require_immutable();
    var Schema = require_schema();
    module2.exports = merge3;
    function merge3(definitions) {
      var length2 = definitions.length;
      var property = [];
      var normal = [];
      var index4 = -1;
      var info;
      var space;
      while (++index4 < length2) {
        info = definitions[index4];
        property.push(info.property);
        normal.push(info.normal);
        space = info.space;
      }
      return new Schema(
        xtend.apply(null, property),
        xtend.apply(null, normal),
        space
      );
    }
    __name(merge3, "merge");
  }
});

// ../node_modules/hastscript/node_modules/property-information/normalize.js
var require_normalize = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/normalize.js"(exports, module2) {
    "use strict";
    module2.exports = normalize4;
    function normalize4(value) {
      return value.toLowerCase();
    }
    __name(normalize4, "normalize");
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/util/info.js
var require_info = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/util/info.js"(exports, module2) {
    "use strict";
    module2.exports = Info;
    var proto = Info.prototype;
    proto.space = null;
    proto.attribute = null;
    proto.property = null;
    proto.boolean = false;
    proto.booleanish = false;
    proto.overloadedBoolean = false;
    proto.number = false;
    proto.commaSeparated = false;
    proto.spaceSeparated = false;
    proto.commaOrSpaceSeparated = false;
    proto.mustUseProperty = false;
    proto.defined = false;
    function Info(property, attribute) {
      this.property = property;
      this.attribute = attribute;
    }
    __name(Info, "Info");
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/util/types.js
var require_types = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/util/types.js"(exports) {
    "use strict";
    var powers = 0;
    exports.boolean = increment();
    exports.booleanish = increment();
    exports.overloadedBoolean = increment();
    exports.number = increment();
    exports.spaceSeparated = increment();
    exports.commaSeparated = increment();
    exports.commaOrSpaceSeparated = increment();
    function increment() {
      return Math.pow(2, ++powers);
    }
    __name(increment, "increment");
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/util/defined-info.js
var require_defined_info = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/util/defined-info.js"(exports, module2) {
    "use strict";
    var Info = require_info();
    var types = require_types();
    module2.exports = DefinedInfo;
    DefinedInfo.prototype = new Info();
    DefinedInfo.prototype.defined = true;
    var checks = [
      "boolean",
      "booleanish",
      "overloadedBoolean",
      "number",
      "commaSeparated",
      "spaceSeparated",
      "commaOrSpaceSeparated"
    ];
    var checksLength = checks.length;
    function DefinedInfo(property, attribute, mask, space) {
      var index4 = -1;
      var check;
      mark(this, "space", space);
      Info.call(this, property, attribute);
      while (++index4 < checksLength) {
        check = checks[index4];
        mark(this, check, (mask & types[check]) === types[check]);
      }
    }
    __name(DefinedInfo, "DefinedInfo");
    function mark(values, key, value) {
      if (value) {
        values[key] = value;
      }
    }
    __name(mark, "mark");
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/util/create.js
var require_create = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/util/create.js"(exports, module2) {
    "use strict";
    var normalize4 = require_normalize();
    var Schema = require_schema();
    var DefinedInfo = require_defined_info();
    module2.exports = create3;
    function create3(definition) {
      var space = definition.space;
      var mustUseProperty = definition.mustUseProperty || [];
      var attributes = definition.attributes || {};
      var props = definition.properties;
      var transform = definition.transform;
      var property = {};
      var normal = {};
      var prop;
      var info;
      for (prop in props) {
        info = new DefinedInfo(
          prop,
          transform(attributes, prop),
          props[prop],
          space
        );
        if (mustUseProperty.indexOf(prop) !== -1) {
          info.mustUseProperty = true;
        }
        property[prop] = info;
        normal[normalize4(prop)] = prop;
        normal[normalize4(info.attribute)] = prop;
      }
      return new Schema(property, normal, space);
    }
    __name(create3, "create");
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/xlink.js
var require_xlink = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/xlink.js"(exports, module2) {
    "use strict";
    var create3 = require_create();
    module2.exports = create3({
      space: "xlink",
      transform: xlinkTransform,
      properties: {
        xLinkActuate: null,
        xLinkArcRole: null,
        xLinkHref: null,
        xLinkRole: null,
        xLinkShow: null,
        xLinkTitle: null,
        xLinkType: null
      }
    });
    function xlinkTransform(_, prop) {
      return "xlink:" + prop.slice(5).toLowerCase();
    }
    __name(xlinkTransform, "xlinkTransform");
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/xml.js
var require_xml = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/xml.js"(exports, module2) {
    "use strict";
    var create3 = require_create();
    module2.exports = create3({
      space: "xml",
      transform: xmlTransform,
      properties: {
        xmlLang: null,
        xmlBase: null,
        xmlSpace: null
      }
    });
    function xmlTransform(_, prop) {
      return "xml:" + prop.slice(3).toLowerCase();
    }
    __name(xmlTransform, "xmlTransform");
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/util/case-sensitive-transform.js
var require_case_sensitive_transform = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/util/case-sensitive-transform.js"(exports, module2) {
    "use strict";
    module2.exports = caseSensitiveTransform;
    function caseSensitiveTransform(attributes, attribute) {
      return attribute in attributes ? attributes[attribute] : attribute;
    }
    __name(caseSensitiveTransform, "caseSensitiveTransform");
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/util/case-insensitive-transform.js
var require_case_insensitive_transform = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/util/case-insensitive-transform.js"(exports, module2) {
    "use strict";
    var caseSensitiveTransform = require_case_sensitive_transform();
    module2.exports = caseInsensitiveTransform;
    function caseInsensitiveTransform(attributes, property) {
      return caseSensitiveTransform(attributes, property.toLowerCase());
    }
    __name(caseInsensitiveTransform, "caseInsensitiveTransform");
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/xmlns.js
var require_xmlns = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/xmlns.js"(exports, module2) {
    "use strict";
    var create3 = require_create();
    var caseInsensitiveTransform = require_case_insensitive_transform();
    module2.exports = create3({
      space: "xmlns",
      attributes: {
        xmlnsxlink: "xmlns:xlink"
      },
      transform: caseInsensitiveTransform,
      properties: {
        xmlns: null,
        xmlnsXLink: null
      }
    });
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/aria.js
var require_aria = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/aria.js"(exports, module2) {
    "use strict";
    var types = require_types();
    var create3 = require_create();
    var booleanish = types.booleanish;
    var number = types.number;
    var spaceSeparated = types.spaceSeparated;
    module2.exports = create3({
      transform: ariaTransform,
      properties: {
        ariaActiveDescendant: null,
        ariaAtomic: booleanish,
        ariaAutoComplete: null,
        ariaBusy: booleanish,
        ariaChecked: booleanish,
        ariaColCount: number,
        ariaColIndex: number,
        ariaColSpan: number,
        ariaControls: spaceSeparated,
        ariaCurrent: null,
        ariaDescribedBy: spaceSeparated,
        ariaDetails: null,
        ariaDisabled: booleanish,
        ariaDropEffect: spaceSeparated,
        ariaErrorMessage: null,
        ariaExpanded: booleanish,
        ariaFlowTo: spaceSeparated,
        ariaGrabbed: booleanish,
        ariaHasPopup: null,
        ariaHidden: booleanish,
        ariaInvalid: null,
        ariaKeyShortcuts: null,
        ariaLabel: null,
        ariaLabelledBy: spaceSeparated,
        ariaLevel: number,
        ariaLive: null,
        ariaModal: booleanish,
        ariaMultiLine: booleanish,
        ariaMultiSelectable: booleanish,
        ariaOrientation: null,
        ariaOwns: spaceSeparated,
        ariaPlaceholder: null,
        ariaPosInSet: number,
        ariaPressed: booleanish,
        ariaReadOnly: booleanish,
        ariaRelevant: null,
        ariaRequired: booleanish,
        ariaRoleDescription: spaceSeparated,
        ariaRowCount: number,
        ariaRowIndex: number,
        ariaRowSpan: number,
        ariaSelected: booleanish,
        ariaSetSize: number,
        ariaSort: null,
        ariaValueMax: number,
        ariaValueMin: number,
        ariaValueNow: number,
        ariaValueText: null,
        role: null
      }
    });
    function ariaTransform(_, prop) {
      return prop === "role" ? prop : "aria-" + prop.slice(4).toLowerCase();
    }
    __name(ariaTransform, "ariaTransform");
  }
});

// ../node_modules/hastscript/node_modules/property-information/lib/html.js
var require_html = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/lib/html.js"(exports, module2) {
    "use strict";
    var types = require_types();
    var create3 = require_create();
    var caseInsensitiveTransform = require_case_insensitive_transform();
    var boolean = types.boolean;
    var overloadedBoolean = types.overloadedBoolean;
    var booleanish = types.booleanish;
    var number = types.number;
    var spaceSeparated = types.spaceSeparated;
    var commaSeparated = types.commaSeparated;
    module2.exports = create3({
      space: "html",
      attributes: {
        acceptcharset: "accept-charset",
        classname: "class",
        htmlfor: "for",
        httpequiv: "http-equiv"
      },
      transform: caseInsensitiveTransform,
      mustUseProperty: ["checked", "multiple", "muted", "selected"],
      properties: {
        // Standard Properties.
        abbr: null,
        accept: commaSeparated,
        acceptCharset: spaceSeparated,
        accessKey: spaceSeparated,
        action: null,
        allow: null,
        allowFullScreen: boolean,
        allowPaymentRequest: boolean,
        allowUserMedia: boolean,
        alt: null,
        as: null,
        async: boolean,
        autoCapitalize: null,
        autoComplete: spaceSeparated,
        autoFocus: boolean,
        autoPlay: boolean,
        capture: boolean,
        charSet: null,
        checked: boolean,
        cite: null,
        className: spaceSeparated,
        cols: number,
        colSpan: null,
        content: null,
        contentEditable: booleanish,
        controls: boolean,
        controlsList: spaceSeparated,
        coords: number | commaSeparated,
        crossOrigin: null,
        data: null,
        dateTime: null,
        decoding: null,
        default: boolean,
        defer: boolean,
        dir: null,
        dirName: null,
        disabled: boolean,
        download: overloadedBoolean,
        draggable: booleanish,
        encType: null,
        enterKeyHint: null,
        form: null,
        formAction: null,
        formEncType: null,
        formMethod: null,
        formNoValidate: boolean,
        formTarget: null,
        headers: spaceSeparated,
        height: number,
        hidden: boolean,
        high: number,
        href: null,
        hrefLang: null,
        htmlFor: spaceSeparated,
        httpEquiv: spaceSeparated,
        id: null,
        imageSizes: null,
        imageSrcSet: commaSeparated,
        inputMode: null,
        integrity: null,
        is: null,
        isMap: boolean,
        itemId: null,
        itemProp: spaceSeparated,
        itemRef: spaceSeparated,
        itemScope: boolean,
        itemType: spaceSeparated,
        kind: null,
        label: null,
        lang: null,
        language: null,
        list: null,
        loading: null,
        loop: boolean,
        low: number,
        manifest: null,
        max: null,
        maxLength: number,
        media: null,
        method: null,
        min: null,
        minLength: number,
        multiple: boolean,
        muted: boolean,
        name: null,
        nonce: null,
        noModule: boolean,
        noValidate: boolean,
        onAbort: null,
        onAfterPrint: null,
        onAuxClick: null,
        onBeforePrint: null,
        onBeforeUnload: null,
        onBlur: null,
        onCancel: null,
        onCanPlay: null,
        onCanPlayThrough: null,
        onChange: null,
        onClick: null,
        onClose: null,
        onContextMenu: null,
        onCopy: null,
        onCueChange: null,
        onCut: null,
        onDblClick: null,
        onDrag: null,
        onDragEnd: null,
        onDragEnter: null,
        onDragExit: null,
        onDragLeave: null,
        onDragOver: null,
        onDragStart: null,
        onDrop: null,
        onDurationChange: null,
        onEmptied: null,
        onEnded: null,
        onError: null,
        onFocus: null,
        onFormData: null,
        onHashChange: null,
        onInput: null,
        onInvalid: null,
        onKeyDown: null,
        onKeyPress: null,
        onKeyUp: null,
        onLanguageChange: null,
        onLoad: null,
        onLoadedData: null,
        onLoadedMetadata: null,
        onLoadEnd: null,
        onLoadStart: null,
        onMessage: null,
        onMessageError: null,
        onMouseDown: null,
        onMouseEnter: null,
        onMouseLeave: null,
        onMouseMove: null,
        onMouseOut: null,
        onMouseOver: null,
        onMouseUp: null,
        onOffline: null,
        onOnline: null,
        onPageHide: null,
        onPageShow: null,
        onPaste: null,
        onPause: null,
        onPlay: null,
        onPlaying: null,
        onPopState: null,
        onProgress: null,
        onRateChange: null,
        onRejectionHandled: null,
        onReset: null,
        onResize: null,
        onScroll: null,
        onSecurityPolicyViolation: null,
        onSeeked: null,
        onSeeking: null,
        onSelect: null,
        onSlotChange: null,
        onStalled: null,
        onStorage: null,
        onSubmit: null,
        onSuspend: null,
        onTimeUpdate: null,
        onToggle: null,
        onUnhandledRejection: null,
        onUnload: null,
        onVolumeChange: null,
        onWaiting: null,
        onWheel: null,
        open: boolean,
        optimum: number,
        pattern: null,
        ping: spaceSeparated,
        placeholder: null,
        playsInline: boolean,
        poster: null,
        preload: null,
        readOnly: boolean,
        referrerPolicy: null,
        rel: spaceSeparated,
        required: boolean,
        reversed: boolean,
        rows: number,
        rowSpan: number,
        sandbox: spaceSeparated,
        scope: null,
        scoped: boolean,
        seamless: boolean,
        selected: boolean,
        shape: null,
        size: number,
        sizes: null,
        slot: null,
        span: number,
        spellCheck: booleanish,
        src: null,
        srcDoc: null,
        srcLang: null,
        srcSet: commaSeparated,
        start: number,
        step: null,
        style: null,
        tabIndex: number,
        target: null,
        title: null,
        translate: null,
        type: null,
        typeMustMatch: boolean,
        useMap: null,
        value: booleanish,
        width: number,
        wrap: null,
        // Legacy.
        // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis
        align: null,
        // Several. Use CSS `text-align` instead,
        aLink: null,
        // `<body>`. Use CSS `a:active {color}` instead
        archive: spaceSeparated,
        // `<object>`. List of URIs to archives
        axis: null,
        // `<td>` and `<th>`. Use `scope` on `<th>`
        background: null,
        // `<body>`. Use CSS `background-image` instead
        bgColor: null,
        // `<body>` and table elements. Use CSS `background-color` instead
        border: number,
        // `<table>`. Use CSS `border-width` instead,
        borderColor: null,
        // `<table>`. Use CSS `border-color` instead,
        bottomMargin: number,
        // `<body>`
        cellPadding: null,
        // `<table>`
        cellSpacing: null,
        // `<table>`
        char: null,
        // Several table elements. When `align=char`, sets the character to align on
        charOff: null,
        // Several table elements. When `char`, offsets the alignment
        classId: null,
        // `<object>`
        clear: null,
        // `<br>`. Use CSS `clear` instead
        code: null,
        // `<object>`
        codeBase: null,
        // `<object>`
        codeType: null,
        // `<object>`
        color: null,
        // `<font>` and `<hr>`. Use CSS instead
        compact: boolean,
        // Lists. Use CSS to reduce space between items instead
        declare: boolean,
        // `<object>`
        event: null,
        // `<script>`
        face: null,
        // `<font>`. Use CSS instead
        frame: null,
        // `<table>`
        frameBorder: null,
        // `<iframe>`. Use CSS `border` instead
        hSpace: number,
        // `<img>` and `<object>`
        leftMargin: number,
        // `<body>`
        link: null,
        // `<body>`. Use CSS `a:link {color: *}` instead
        longDesc: null,
        // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`
        lowSrc: null,
        // `<img>`. Use a `<picture>`
        marginHeight: number,
        // `<body>`
        marginWidth: number,
        // `<body>`
        noResize: boolean,
        // `<frame>`
        noHref: boolean,
        // `<area>`. Use no href instead of an explicit `nohref`
        noShade: boolean,
        // `<hr>`. Use background-color and height instead of borders
        noWrap: boolean,
        // `<td>` and `<th>`
        object: null,
        // `<applet>`
        profile: null,
        // `<head>`
        prompt: null,
        // `<isindex>`
        rev: null,
        // `<link>`
        rightMargin: number,
        // `<body>`
        rules: null,
        // `<table>`
        scheme: null,
        // `<meta>`
        scrolling: booleanish,
        // `<frame>`. Use overflow in the child context
        standby: null,
        // `<object>`
        summary: null,
        // `<table>`
        text: null,
        // `<body>`. Use CSS `color` instead
        topMargin: number,
        // `<body>`
        valueType: null,
        // `<param>`
        version: null,
        // `<html>`. Use a doctype.
        vAlign: null,
        // Several. Use CSS `vertical-align` instead
        vLink: null,
        // `<body>`. Use CSS `a:visited {color}` instead
        vSpace: number,
        // `<img>` and `<object>`
        // Non-standard Properties.
        allowTransparency: null,
        autoCorrect: null,
        autoSave: null,
        disablePictureInPicture: boolean,
        disableRemotePlayback: boolean,
        prefix: null,
        property: null,
        results: number,
        security: null,
        unselectable: null
      }
    });
  }
});

// ../node_modules/hastscript/node_modules/property-information/html.js
var require_html2 = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/html.js"(exports, module2) {
    "use strict";
    var merge3 = require_merge();
    var xlink = require_xlink();
    var xml = require_xml();
    var xmlns = require_xmlns();
    var aria = require_aria();
    var html = require_html();
    module2.exports = merge3([xml, xlink, xmlns, aria, html]);
  }
});

// ../node_modules/hastscript/node_modules/property-information/find.js
var require_find = __commonJS({
  "../node_modules/hastscript/node_modules/property-information/find.js"(exports, module2) {
    "use strict";
    var normalize4 = require_normalize();
    var DefinedInfo = require_defined_info();
    var Info = require_info();
    var data = "data";
    module2.exports = find2;
    var valid = /^data[-\w.:]+$/i;
    var dash = /-[a-z]/g;
    var cap = /[A-Z]/g;
    function find2(schema, value) {
      var normal = normalize4(value);
      var prop = value;
      var Type = Info;
      if (normal in schema.normal) {
        return schema.property[schema.normal[normal]];
      }
      if (normal.length > 4 && normal.slice(0, 4) === data && valid.test(value)) {
        if (value.charAt(4) === "-") {
          prop = datasetToProperty(value);
        } else {
          value = datasetToAttribute(value);
        }
        Type = DefinedInfo;
      }
      return new Type(prop, value);
    }
    __name(find2, "find");
    function datasetToProperty(attribute) {
      var value = attribute.slice(5).replace(dash, camelcase);
      return data + value.charAt(0).toUpperCase() + value.slice(1);
    }
    __name(datasetToProperty, "datasetToProperty");
    function datasetToAttribute(property) {
      var value = property.slice(4);
      if (dash.test(value)) {
        return property;
      }
      value = value.replace(cap, kebab);
      if (value.charAt(0) !== "-") {
        value = "-" + value;
      }
      return data + value;
    }
    __name(datasetToAttribute, "datasetToAttribute");
    function kebab($0) {
      return "-" + $0.toLowerCase();
    }
    __name(kebab, "kebab");
    function camelcase($0) {
      return $0.charAt(1).toUpperCase();
    }
    __name(camelcase, "camelcase");
  }
});

// ../node_modules/hast-util-parse-selector/index.js
var require_hast_util_parse_selector = __commonJS({
  "../node_modules/hast-util-parse-selector/index.js"(exports, module2) {
    "use strict";
    module2.exports = parse9;
    var search = /[#.]/g;
    function parse9(selector, defaultTagName) {
      var value = selector || "";
      var name = defaultTagName || "div";
      var props = {};
      var start2 = 0;
      var subvalue;
      var previous;
      var match3;
      while (start2 < value.length) {
        search.lastIndex = start2;
        match3 = search.exec(value);
        subvalue = value.slice(start2, match3 ? match3.index : value.length);
        if (subvalue) {
          if (!previous) {
            name = subvalue;
          } else if (previous === "#") {
            props.id = subvalue;
          } else if (props.className) {
            props.className.push(subvalue);
          } else {
            props.className = [subvalue];
          }
          start2 += subvalue.length;
        }
        if (match3) {
          previous = match3[0];
          start2++;
        }
      }
      return { type: "element", tagName: name, properties: props, children: [] };
    }
    __name(parse9, "parse");
  }
});

// ../node_modules/hastscript/node_modules/space-separated-tokens/index.js
var require_space_separated_tokens = __commonJS({
  "../node_modules/hastscript/node_modules/space-separated-tokens/index.js"(exports) {
    "use strict";
    exports.parse = parse9;
    exports.stringify = stringify7;
    var empty = "";
    var space = " ";
    var whiteSpace = /[ \t\n\r\f]+/g;
    function parse9(value) {
      var input2 = String(value || empty).trim();
      return input2 === empty ? [] : input2.split(whiteSpace);
    }
    __name(parse9, "parse");
    function stringify7(values) {
      return values.join(space).trim();
    }
    __name(stringify7, "stringify");
  }
});

// ../node_modules/hastscript/node_modules/comma-separated-tokens/index.js
var require_comma_separated_tokens = __commonJS({
  "../node_modules/hastscript/node_modules/comma-separated-tokens/index.js"(exports) {
    "use strict";
    exports.parse = parse9;
    exports.stringify = stringify7;
    var comma = ",";
    var space = " ";
    var empty = "";
    function parse9(value) {
      var values = [];
      var input2 = String(value || empty);
      var index4 = input2.indexOf(comma);
      var lastIndex = 0;
      var end2 = false;
      var val;
      while (!end2) {
        if (index4 === -1) {
          index4 = input2.length;
          end2 = true;
        }
        val = input2.slice(lastIndex, index4).trim();
        if (val || !end2) {
          values.push(val);
        }
        lastIndex = index4 + 1;
        index4 = input2.indexOf(comma, lastIndex);
      }
      return values;
    }
    __name(parse9, "parse");
    function stringify7(values, options) {
      var settings = options || {};
      var left2 = settings.padLeft === false ? empty : space;
      var right2 = settings.padRight ? space : empty;
      if (values[values.length - 1] === empty) {
        values = values.concat(empty);
      }
      return values.join(right2 + comma + left2).trim();
    }
    __name(stringify7, "stringify");
  }
});

// ../node_modules/hastscript/factory.js
var require_factory = __commonJS({
  "../node_modules/hastscript/factory.js"(exports, module2) {
    "use strict";
    var find2 = require_find();
    var normalize4 = require_normalize();
    var parseSelector = require_hast_util_parse_selector();
    var spaces = require_space_separated_tokens().parse;
    var commas = require_comma_separated_tokens().parse;
    module2.exports = factory;
    var own = {}.hasOwnProperty;
    function factory(schema, defaultTagName, caseSensitive) {
      var adjust = caseSensitive ? createAdjustMap(caseSensitive) : null;
      return h2;
      function h2(selector, properties) {
        var node2 = parseSelector(selector, defaultTagName);
        var children = Array.prototype.slice.call(arguments, 2);
        var name = node2.tagName.toLowerCase();
        var property;
        node2.tagName = adjust && own.call(adjust, name) ? adjust[name] : name;
        if (properties && isChildren(properties, node2)) {
          children.unshift(properties);
          properties = null;
        }
        if (properties) {
          for (property in properties) {
            addProperty2(node2.properties, property, properties[property]);
          }
        }
        addChild(node2.children, children);
        if (node2.tagName === "template") {
          node2.content = { type: "root", children: node2.children };
          node2.children = [];
        }
        return node2;
      }
      __name(h2, "h");
      function addProperty2(properties, key, value) {
        var info;
        var property;
        var result;
        if (value === null || value === void 0 || value !== value) {
          return;
        }
        info = find2(schema, key);
        property = info.property;
        result = value;
        if (typeof result === "string") {
          if (info.spaceSeparated) {
            result = spaces(result);
          } else if (info.commaSeparated) {
            result = commas(result);
          } else if (info.commaOrSpaceSeparated) {
            result = spaces(commas(result).join(" "));
          }
        }
        if (property === "style" && typeof value !== "string") {
          result = style(result);
        }
        if (property === "className" && properties.className) {
          result = properties.className.concat(result);
        }
        properties[property] = parsePrimitives(info, property, result);
      }
      __name(addProperty2, "addProperty");
    }
    __name(factory, "factory");
    function isChildren(value, node2) {
      return typeof value === "string" || "length" in value || isNode3(node2.tagName, value);
    }
    __name(isChildren, "isChildren");
    function isNode3(tagName, value) {
      var type5 = value.type;
      if (tagName === "input" || !type5 || typeof type5 !== "string") {
        return false;
      }
      if (typeof value.children === "object" && "length" in value.children) {
        return true;
      }
      type5 = type5.toLowerCase();
      if (tagName === "button") {
        return type5 !== "menu" && type5 !== "submit" && type5 !== "reset" && type5 !== "button";
      }
      return "value" in value;
    }
    __name(isNode3, "isNode");
    function addChild(nodes, value) {
      var index4;
      var length2;
      if (typeof value === "string" || typeof value === "number") {
        nodes.push({ type: "text", value: String(value) });
        return;
      }
      if (typeof value === "object" && "length" in value) {
        index4 = -1;
        length2 = value.length;
        while (++index4 < length2) {
          addChild(nodes, value[index4]);
        }
        return;
      }
      if (typeof value !== "object" || !("type" in value)) {
        throw new Error("Expected node, nodes, or string, got `" + value + "`");
      }
      nodes.push(value);
    }
    __name(addChild, "addChild");
    function parsePrimitives(info, name, value) {
      var index4;
      var length2;
      var result;
      if (typeof value !== "object" || !("length" in value)) {
        return parsePrimitive(info, name, value);
      }
      length2 = value.length;
      index4 = -1;
      result = [];
      while (++index4 < length2) {
        result[index4] = parsePrimitive(info, name, value[index4]);
      }
      return result;
    }
    __name(parsePrimitives, "parsePrimitives");
    function parsePrimitive(info, name, value) {
      var result = value;
      if (info.number || info.positiveNumber) {
        if (!isNaN(result) && result !== "") {
          result = Number(result);
        }
      } else if (info.boolean || info.overloadedBoolean) {
        if (typeof result === "string" && (result === "" || normalize4(value) === normalize4(name))) {
          result = true;
        }
      }
      return result;
    }
    __name(parsePrimitive, "parsePrimitive");
    function style(value) {
      var result = [];
      var key;
      for (key in value) {
        result.push([key, value[key]].join(": "));
      }
      return result.join("; ");
    }
    __name(style, "style");
    function createAdjustMap(values) {
      var length2 = values.length;
      var index4 = -1;
      var result = {};
      var value;
      while (++index4 < length2) {
        value = values[index4];
        result[value.toLowerCase()] = value;
      }
      return result;
    }
    __name(createAdjustMap, "createAdjustMap");
  }
});

// ../node_modules/hastscript/html.js
var require_html3 = __commonJS({
  "../node_modules/hastscript/html.js"(exports, module2) {
    "use strict";
    var schema = require_html2();
    var factory = require_factory();
    var html = factory(schema, "div");
    html.displayName = "html";
    module2.exports = html;
  }
});

// ../node_modules/hastscript/index.js
var require_hastscript = __commonJS({
  "../node_modules/hastscript/index.js"(exports, module2) {
    "use strict";
    module2.exports = require_html3();
  }
});

// ../node_modules/refractor/node_modules/character-entities-legacy/index.json
var require_character_entities_legacy = __commonJS({
  "../node_modules/refractor/node_modules/character-entities-legacy/index.json"(exports, module2) {
    module2.exports = {
      AElig: "\xC6",
      AMP: "&",
      Aacute: "\xC1",
      Acirc: "\xC2",
      Agrave: "\xC0",
      Aring: "\xC5",
      Atilde: "\xC3",
      Auml: "\xC4",
      COPY: "\xA9",
      Ccedil: "\xC7",
      ETH: "\xD0",
      Eacute: "\xC9",
      Ecirc: "\xCA",
      Egrave: "\xC8",
      Euml: "\xCB",
      GT: ">",
      Iacute: "\xCD",
      Icirc: "\xCE",
      Igrave: "\xCC",
      Iuml: "\xCF",
      LT: "<",
      Ntilde: "\xD1",
      Oacute: "\xD3",
      Ocirc: "\xD4",
      Ograve: "\xD2",
      Oslash: "\xD8",
      Otilde: "\xD5",
      Ouml: "\xD6",
      QUOT: '"',
      REG: "\xAE",
      THORN: "\xDE",
      Uacute: "\xDA",
      Ucirc: "\xDB",
      Ugrave: "\xD9",
      Uuml: "\xDC",
      Yacute: "\xDD",
      aacute: "\xE1",
      acirc: "\xE2",
      acute: "\xB4",
      aelig: "\xE6",
      agrave: "\xE0",
      amp: "&",
      aring: "\xE5",
      atilde: "\xE3",
      auml: "\xE4",
      brvbar: "\xA6",
      ccedil: "\xE7",
      cedil: "\xB8",
      cent: "\xA2",
      copy: "\xA9",
      curren: "\xA4",
      deg: "\xB0",
      divide: "\xF7",
      eacute: "\xE9",
      ecirc: "\xEA",
      egrave: "\xE8",
      eth: "\xF0",
      euml: "\xEB",
      frac12: "\xBD",
      frac14: "\xBC",
      frac34: "\xBE",
      gt: ">",
      iacute: "\xED",
      icirc: "\xEE",
      iexcl: "\xA1",
      igrave: "\xEC",
      iquest: "\xBF",
      iuml: "\xEF",
      laquo: "\xAB",
      lt: "<",
      macr: "\xAF",
      micro: "\xB5",
      middot: "\xB7",
      nbsp: "\xA0",
      not: "\xAC",
      ntilde: "\xF1",
      oacute: "\xF3",
      ocirc: "\xF4",
      ograve: "\xF2",
      ordf: "\xAA",
      ordm: "\xBA",
      oslash: "\xF8",
      otilde: "\xF5",
      ouml: "\xF6",
      para: "\xB6",
      plusmn: "\xB1",
      pound: "\xA3",
      quot: '"',
      raquo: "\xBB",
      reg: "\xAE",
      sect: "\xA7",
      shy: "\xAD",
      sup1: "\xB9",
      sup2: "\xB2",
      sup3: "\xB3",
      szlig: "\xDF",
      thorn: "\xFE",
      times: "\xD7",
      uacute: "\xFA",
      ucirc: "\xFB",
      ugrave: "\xF9",
      uml: "\xA8",
      uuml: "\xFC",
      yacute: "\xFD",
      yen: "\xA5",
      yuml: "\xFF"
    };
  }
});

// ../node_modules/refractor/node_modules/character-reference-invalid/index.json
var require_character_reference_invalid = __commonJS({
  "../node_modules/refractor/node_modules/character-reference-invalid/index.json"(exports, module2) {
    module2.exports = {
      "0": "\uFFFD",
      "128": "\u20AC",
      "130": "\u201A",
      "131": "\u0192",
      "132": "\u201E",
      "133": "\u2026",
      "134": "\u2020",
      "135": "\u2021",
      "136": "\u02C6",
      "137": "\u2030",
      "138": "\u0160",
      "139": "\u2039",
      "140": "\u0152",
      "142": "\u017D",
      "145": "\u2018",
      "146": "\u2019",
      "147": "\u201C",
      "148": "\u201D",
      "149": "\u2022",
      "150": "\u2013",
      "151": "\u2014",
      "152": "\u02DC",
      "153": "\u2122",
      "154": "\u0161",
      "155": "\u203A",
      "156": "\u0153",
      "158": "\u017E",
      "159": "\u0178"
    };
  }
});

// ../node_modules/refractor/node_modules/is-decimal/index.js
var require_is_decimal = __commonJS({
  "../node_modules/refractor/node_modules/is-decimal/index.js"(exports, module2) {
    "use strict";
    module2.exports = decimal;
    function decimal(character2) {
      var code = typeof character2 === "string" ? character2.charCodeAt(0) : character2;
      return code >= 48 && code <= 57;
    }
    __name(decimal, "decimal");
  }
});

// ../node_modules/refractor/node_modules/is-hexadecimal/index.js
var require_is_hexadecimal = __commonJS({
  "../node_modules/refractor/node_modules/is-hexadecimal/index.js"(exports, module2) {
    "use strict";
    module2.exports = hexadecimal;
    function hexadecimal(character2) {
      var code = typeof character2 === "string" ? character2.charCodeAt(0) : character2;
      return code >= 97 && code <= 102 || code >= 65 && code <= 70 || code >= 48 && code <= 57;
    }
    __name(hexadecimal, "hexadecimal");
  }
});

// ../node_modules/refractor/node_modules/is-alphabetical/index.js
var require_is_alphabetical = __commonJS({
  "../node_modules/refractor/node_modules/is-alphabetical/index.js"(exports, module2) {
    "use strict";
    module2.exports = alphabetical;
    function alphabetical(character2) {
      var code = typeof character2 === "string" ? character2.charCodeAt(0) : character2;
      return code >= 97 && code <= 122 || code >= 65 && code <= 90;
    }
    __name(alphabetical, "alphabetical");
  }
});

// ../node_modules/refractor/node_modules/is-alphanumerical/index.js
var require_is_alphanumerical = __commonJS({
  "../node_modules/refractor/node_modules/is-alphanumerical/index.js"(exports, module2) {
    "use strict";
    var alphabetical = require_is_alphabetical();
    var decimal = require_is_decimal();
    module2.exports = alphanumerical;
    function alphanumerical(character2) {
      return alphabetical(character2) || decimal(character2);
    }
    __name(alphanumerical, "alphanumerical");
  }
});

// ../node_modules/refractor/node_modules/parse-entities/decode-entity.browser.js
var require_decode_entity_browser = __commonJS({
  "../node_modules/refractor/node_modules/parse-entities/decode-entity.browser.js"(exports, module2) {
    "use strict";
    var el;
    var semicolon = 59;
    module2.exports = decodeEntity;
    function decodeEntity(characters2) {
      var entity = "&" + characters2 + ";";
      var char2;
      el = el || document.createElement("i");
      el.innerHTML = entity;
      char2 = el.textContent;
      if (char2.charCodeAt(char2.length - 1) === semicolon && characters2 !== "semi") {
        return false;
      }
      return char2 === entity ? false : char2;
    }
    __name(decodeEntity, "decodeEntity");
  }
});

// ../node_modules/refractor/node_modules/parse-entities/index.js
var require_parse_entities = __commonJS({
  "../node_modules/refractor/node_modules/parse-entities/index.js"(exports, module2) {
    "use strict";
    var legacy = require_character_entities_legacy();
    var invalid = require_character_reference_invalid();
    var decimal = require_is_decimal();
    var hexadecimal = require_is_hexadecimal();
    var alphanumerical = require_is_alphanumerical();
    var decodeEntity = require_decode_entity_browser();
    module2.exports = parseEntities;
    var own = {}.hasOwnProperty;
    var fromCharCode = String.fromCharCode;
    var noop7 = Function.prototype;
    var defaults = {
      warning: null,
      reference: null,
      text: null,
      warningContext: null,
      referenceContext: null,
      textContext: null,
      position: {},
      additional: null,
      attribute: false,
      nonTerminated: true
    };
    var tab3 = 9;
    var lineFeed = 10;
    var formFeed = 12;
    var space = 32;
    var ampersand = 38;
    var semicolon = 59;
    var lessThan = 60;
    var equalsTo = 61;
    var numberSign = 35;
    var uppercaseX = 88;
    var lowercaseX = 120;
    var replacementCharacter = 65533;
    var name = "named";
    var hexa = "hexadecimal";
    var deci = "decimal";
    var bases = {};
    bases[hexa] = 16;
    bases[deci] = 10;
    var tests = {};
    tests[name] = alphanumerical;
    tests[deci] = decimal;
    tests[hexa] = hexadecimal;
    var namedNotTerminated = 1;
    var numericNotTerminated = 2;
    var namedEmpty = 3;
    var numericEmpty = 4;
    var namedUnknown = 5;
    var numericDisallowed = 6;
    var numericProhibited = 7;
    var messages = {};
    messages[namedNotTerminated] = "Named character references must be terminated by a semicolon";
    messages[numericNotTerminated] = "Numeric character references must be terminated by a semicolon";
    messages[namedEmpty] = "Named character references cannot be empty";
    messages[numericEmpty] = "Numeric character references cannot be empty";
    messages[namedUnknown] = "Named character references must be known";
    messages[numericDisallowed] = "Numeric character references cannot be disallowed";
    messages[numericProhibited] = "Numeric character references cannot be outside the permissible Unicode range";
    function parseEntities(value, options) {
      var settings = {};
      var option;
      var key;
      if (!options) {
        options = {};
      }
      for (key in defaults) {
        option = options[key];
        settings[key] = option === null || option === void 0 ? defaults[key] : option;
      }
      if (settings.position.indent || settings.position.start) {
        settings.indent = settings.position.indent || [];
        settings.position = settings.position.start;
      }
      return parse9(value, settings);
    }
    __name(parseEntities, "parseEntities");
    function parse9(value, settings) {
      var additional = settings.additional;
      var nonTerminated = settings.nonTerminated;
      var handleText = settings.text;
      var handleReference = settings.reference;
      var handleWarning = settings.warning;
      var textContext = settings.textContext;
      var referenceContext = settings.referenceContext;
      var warningContext = settings.warningContext;
      var pos = settings.position;
      var indent2 = settings.indent || [];
      var length2 = value.length;
      var index4 = 0;
      var lines = -1;
      var column2 = pos.column || 1;
      var line2 = pos.line || 1;
      var queue = "";
      var result = [];
      var entityCharacters;
      var namedEntity;
      var terminated;
      var characters2;
      var character2;
      var reference2;
      var following;
      var warning3;
      var reason;
      var output;
      var entity;
      var begin;
      var start2;
      var type5;
      var test3;
      var prev2;
      var next2;
      var diff2;
      var end2;
      if (typeof additional === "string") {
        additional = additional.charCodeAt(0);
      }
      prev2 = now();
      warning3 = handleWarning ? parseError : noop7;
      index4--;
      length2++;
      while (++index4 < length2) {
        if (character2 === lineFeed) {
          column2 = indent2[lines] || 1;
        }
        character2 = value.charCodeAt(index4);
        if (character2 === ampersand) {
          following = value.charCodeAt(index4 + 1);
          if (following === tab3 || following === lineFeed || following === formFeed || following === space || following === ampersand || following === lessThan || following !== following || additional && following === additional) {
            queue += fromCharCode(character2);
            column2++;
            continue;
          }
          start2 = index4 + 1;
          begin = start2;
          end2 = start2;
          if (following === numberSign) {
            end2 = ++begin;
            following = value.charCodeAt(end2);
            if (following === uppercaseX || following === lowercaseX) {
              type5 = hexa;
              end2 = ++begin;
            } else {
              type5 = deci;
            }
          } else {
            type5 = name;
          }
          entityCharacters = "";
          entity = "";
          characters2 = "";
          test3 = tests[type5];
          end2--;
          while (++end2 < length2) {
            following = value.charCodeAt(end2);
            if (!test3(following)) {
              break;
            }
            characters2 += fromCharCode(following);
            if (type5 === name && own.call(legacy, characters2)) {
              entityCharacters = characters2;
              entity = legacy[characters2];
            }
          }
          terminated = value.charCodeAt(end2) === semicolon;
          if (terminated) {
            end2++;
            namedEntity = type5 === name ? decodeEntity(characters2) : false;
            if (namedEntity) {
              entityCharacters = characters2;
              entity = namedEntity;
            }
          }
          diff2 = 1 + end2 - start2;
          if (!terminated && !nonTerminated) {
          } else if (!characters2) {
            if (type5 !== name) {
              warning3(numericEmpty, diff2);
            }
          } else if (type5 === name) {
            if (terminated && !entity) {
              warning3(namedUnknown, 1);
            } else {
              if (entityCharacters !== characters2) {
                end2 = begin + entityCharacters.length;
                diff2 = 1 + end2 - begin;
                terminated = false;
              }
              if (!terminated) {
                reason = entityCharacters ? namedNotTerminated : namedEmpty;
                if (settings.attribute) {
                  following = value.charCodeAt(end2);
                  if (following === equalsTo) {
                    warning3(reason, diff2);
                    entity = null;
                  } else if (alphanumerical(following)) {
                    entity = null;
                  } else {
                    warning3(reason, diff2);
                  }
                } else {
                  warning3(reason, diff2);
                }
              }
            }
            reference2 = entity;
          } else {
            if (!terminated) {
              warning3(numericNotTerminated, diff2);
            }
            reference2 = parseInt(characters2, bases[type5]);
            if (prohibited(reference2)) {
              warning3(numericProhibited, diff2);
              reference2 = fromCharCode(replacementCharacter);
            } else if (reference2 in invalid) {
              warning3(numericDisallowed, diff2);
              reference2 = invalid[reference2];
            } else {
              output = "";
              if (disallowed(reference2)) {
                warning3(numericDisallowed, diff2);
              }
              if (reference2 > 65535) {
                reference2 -= 65536;
                output += fromCharCode(reference2 >>> (10 & 1023) | 55296);
                reference2 = 56320 | reference2 & 1023;
              }
              reference2 = output + fromCharCode(reference2);
            }
          }
          if (reference2) {
            flush();
            prev2 = now();
            index4 = end2 - 1;
            column2 += end2 - start2 + 1;
            result.push(reference2);
            next2 = now();
            next2.offset++;
            if (handleReference) {
              handleReference.call(
                referenceContext,
                reference2,
                { start: prev2, end: next2 },
                value.slice(start2 - 1, end2)
              );
            }
            prev2 = next2;
          } else {
            characters2 = value.slice(start2 - 1, end2);
            queue += characters2;
            column2 += characters2.length;
            index4 = end2 - 1;
          }
        } else {
          if (character2 === 10) {
            line2++;
            lines++;
            column2 = 0;
          }
          if (character2 === character2) {
            queue += fromCharCode(character2);
            column2++;
          } else {
            flush();
          }
        }
      }
      return result.join("");
      function now() {
        return {
          line: line2,
          column: column2,
          offset: index4 + (pos.offset || 0)
        };
      }
      __name(now, "now");
      function parseError(code, offset3) {
        var position2 = now();
        position2.column += offset3;
        position2.offset += offset3;
        handleWarning.call(warningContext, messages[code], position2, code);
      }
      __name(parseError, "parseError");
      function flush() {
        if (queue) {
          result.push(queue);
          if (handleText) {
            handleText.call(textContext, queue, { start: prev2, end: now() });
          }
          queue = "";
        }
      }
      __name(flush, "flush");
    }
    __name(parse9, "parse");
    function prohibited(code) {
      return code >= 55296 && code <= 57343 || code > 1114111;
    }
    __name(prohibited, "prohibited");
    function disallowed(code) {
      return code >= 1 && code <= 8 || code === 11 || code >= 13 && code <= 31 || code >= 127 && code <= 159 || code >= 64976 && code <= 65007 || (code & 65535) === 65535 || (code & 65535) === 65534;
    }
    __name(disallowed, "disallowed");
  }
});

// ../node_modules/refractor/node_modules/prismjs/components/prism-core.js
var require_prism_core = __commonJS({
  "../node_modules/refractor/node_modules/prismjs/components/prism-core.js"(exports, module2) {
    var _self = typeof window !== "undefined" ? window : typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope ? self : {};
    var Prism = function(_self2) {
      var lang = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i;
      var uniqueId = 0;
      var plainTextGrammar = {};
      var _ = {
        /**
         * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the
         * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load
         * additional languages or plugins yourself.
         *
         * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.
         *
         * You obviously have to change this value before the automatic highlighting started. To do this, you can add an
         * empty Prism object into the global scope before loading the Prism script like this:
         *
         * ```js
         * window.Prism = window.Prism || {};
         * Prism.manual = true;
         * // add a new <script> to load Prism's script
         * ```
         *
         * @default false
         * @type {boolean}
         * @memberof Prism
         * @public
         */
        manual: _self2.Prism && _self2.Prism.manual,
        /**
         * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses
         * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your
         * own worker, you don't want it to do this.
         *
         * By setting this value to `true`, Prism will not add its own listeners to the worker.
         *
         * You obviously have to change this value before Prism executes. To do this, you can add an
         * empty Prism object into the global scope before loading the Prism script like this:
         *
         * ```js
         * window.Prism = window.Prism || {};
         * Prism.disableWorkerMessageHandler = true;
         * // Load Prism's script
         * ```
         *
         * @default false
         * @type {boolean}
         * @memberof Prism
         * @public
         */
        disableWorkerMessageHandler: _self2.Prism && _self2.Prism.disableWorkerMessageHandler,
        /**
         * A namespace for utility methods.
         *
         * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may
         * change or disappear at any time.
         *
         * @namespace
         * @memberof Prism
         */
        util: {
          encode: /* @__PURE__ */ __name(function encode2(tokens) {
            if (tokens instanceof Token) {
              return new Token(tokens.type, encode2(tokens.content), tokens.alias);
            } else if (Array.isArray(tokens)) {
              return tokens.map(encode2);
            } else {
              return tokens.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\u00a0/g, " ");
            }
          }, "encode"),
          /**
           * Returns the name of the type of the given value.
           *
           * @param {any} o
           * @returns {string}
           * @example
           * type(null)      === 'Null'
           * type(undefined) === 'Undefined'
           * type(123)       === 'Number'
           * type('foo')     === 'String'
           * type(true)      === 'Boolean'
           * type([1, 2])    === 'Array'
           * type({})        === 'Object'
           * type(String)    === 'Function'
           * type(/abc+/)    === 'RegExp'
           */
          type: /* @__PURE__ */ __name(function(o2) {
            return Object.prototype.toString.call(o2).slice(8, -1);
          }, "type"),
          /**
           * Returns a unique number for the given object. Later calls will still return the same number.
           *
           * @param {Object} obj
           * @returns {number}
           */
          objId: /* @__PURE__ */ __name(function(obj) {
            if (!obj["__id"]) {
              Object.defineProperty(obj, "__id", { value: ++uniqueId });
            }
            return obj["__id"];
          }, "objId"),
          /**
           * Creates a deep clone of the given object.
           *
           * The main intended use of this function is to clone language definitions.
           *
           * @param {T} o
           * @param {Record<number, any>} [visited]
           * @returns {T}
           * @template T
           */
          clone: /* @__PURE__ */ __name(function deepClone2(o2, visited) {
            visited = visited || {};
            var clone3;
            var id;
            switch (_.util.type(o2)) {
              case "Object":
                id = _.util.objId(o2);
                if (visited[id]) {
                  return visited[id];
                }
                clone3 = /** @type {Record<string, any>} */
                {};
                visited[id] = clone3;
                for (var key in o2) {
                  if (o2.hasOwnProperty(key)) {
                    clone3[key] = deepClone2(o2[key], visited);
                  }
                }
                return (
                  /** @type {any} */
                  clone3
                );
              case "Array":
                id = _.util.objId(o2);
                if (visited[id]) {
                  return visited[id];
                }
                clone3 = [];
                visited[id] = clone3;
                /** @type {Array} */
                /** @type {any} */
                o2.forEach(function(v, i2) {
                  clone3[i2] = deepClone2(v, visited);
                });
                return (
                  /** @type {any} */
                  clone3
                );
              default:
                return o2;
            }
          }, "deepClone"),
          /**
           * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.
           *
           * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.
           *
           * @param {Element} element
           * @returns {string}
           */
          getLanguage: /* @__PURE__ */ __name(function(element) {
            while (element) {
              var m3 = lang.exec(element.className);
              if (m3) {
                return m3[1].toLowerCase();
              }
              element = element.parentElement;
            }
            return "none";
          }, "getLanguage"),
          /**
           * Sets the Prism `language-xxxx` class of the given element.
           *
           * @param {Element} element
           * @param {string} language
           * @returns {void}
           */
          setLanguage: /* @__PURE__ */ __name(function(element, language) {
            element.className = element.className.replace(RegExp(lang, "gi"), "");
            element.classList.add("language-" + language);
          }, "setLanguage"),
          /**
           * Returns the script element that is currently executing.
           *
           * This does __not__ work for line script element.
           *
           * @returns {HTMLScriptElement | null}
           */
          currentScript: /* @__PURE__ */ __name(function() {
            if (typeof document === "undefined") {
              return null;
            }
            if ("currentScript" in document && 1 < 2) {
              return (
                /** @type {any} */
                document.currentScript
              );
            }
            try {
              throw new Error();
            } catch (err) {
              var src = (/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(err.stack) || [])[1];
              if (src) {
                var scripts = document.getElementsByTagName("script");
                for (var i2 in scripts) {
                  if (scripts[i2].src == src) {
                    return scripts[i2];
                  }
                }
              }
              return null;
            }
          }, "currentScript"),
          /**
           * Returns whether a given class is active for `element`.
           *
           * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated
           * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the
           * given class is just the given class with a `no-` prefix.
           *
           * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is
           * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its
           * ancestors have the given class or the negated version of it, then the default activation will be returned.
           *
           * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated
           * version of it, the class is considered active.
           *
           * @param {Element} element
           * @param {string} className
           * @param {boolean} [defaultActivation=false]
           * @returns {boolean}
           */
          isActive: /* @__PURE__ */ __name(function(element, className, defaultActivation) {
            var no = "no-" + className;
            while (element) {
              var classList = element.classList;
              if (classList.contains(className)) {
                return true;
              }
              if (classList.contains(no)) {
                return false;
              }
              element = element.parentElement;
            }
            return !!defaultActivation;
          }, "isActive")
        },
        /**
         * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.
         *
         * @namespace
         * @memberof Prism
         * @public
         */
        languages: {
          /**
           * The grammar for plain, unformatted text.
           */
          plain: plainTextGrammar,
          plaintext: plainTextGrammar,
          text: plainTextGrammar,
          txt: plainTextGrammar,
          /**
           * Creates a deep copy of the language with the given id and appends the given tokens.
           *
           * If a token in `redef` also appears in the copied language, then the existing token in the copied language
           * will be overwritten at its original position.
           *
           * ## Best practices
           *
           * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)
           * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to
           * understand the language definition because, normally, the order of tokens matters in Prism grammars.
           *
           * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.
           * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.
           *
           * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.
           * @param {Grammar} redef The new tokens to append.
           * @returns {Grammar} The new language created.
           * @public
           * @example
           * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {
           *     // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token
           *     // at its original position
           *     'comment': { ... },
           *     // CSS doesn't have a 'color' token, so this token will be appended
           *     'color': /\b(?:red|green|blue)\b/
           * });
           */
          extend: /* @__PURE__ */ __name(function(id, redef) {
            var lang2 = _.util.clone(_.languages[id]);
            for (var key in redef) {
              lang2[key] = redef[key];
            }
            return lang2;
          }, "extend"),
          /**
           * Inserts tokens _before_ another token in a language definition or any other grammar.
           *
           * ## Usage
           *
           * This helper method makes it easy to modify existing languages. For example, the CSS language definition
           * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded
           * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the
           * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do
           * this:
           *
           * ```js
           * Prism.languages.markup.style = {
           *     // token
           * };
           * ```
           *
           * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens
           * before existing tokens. For the CSS example above, you would use it like this:
           *
           * ```js
           * Prism.languages.insertBefore('markup', 'cdata', {
           *     'style': {
           *         // token
           *     }
           * });
           * ```
           *
           * ## Special cases
           *
           * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar
           * will be ignored.
           *
           * This behavior can be used to insert tokens after `before`:
           *
           * ```js
           * Prism.languages.insertBefore('markup', 'comment', {
           *     'comment': Prism.languages.markup.comment,
           *     // tokens after 'comment'
           * });
           * ```
           *
           * ## Limitations
           *
           * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object
           * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave
           * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily
           * deleting properties which is necessary to insert at arbitrary positions.
           *
           * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.
           * Instead, it will create a new object and replace all references to the target object with the new one. This
           * can be done without temporarily deleting properties, so the iteration order is well-defined.
           *
           * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if
           * you hold the target object in a variable, then the value of the variable will not change.
           *
           * ```js
           * var oldMarkup = Prism.languages.markup;
           * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });
           *
           * assert(oldMarkup !== Prism.languages.markup);
           * assert(newMarkup === Prism.languages.markup);
           * ```
           *
           * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the
           * object to be modified.
           * @param {string} before The key to insert before.
           * @param {Grammar} insert An object containing the key-value pairs to be inserted.
           * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the
           * object to be modified.
           *
           * Defaults to `Prism.languages`.
           * @returns {Grammar} The new grammar object.
           * @public
           */
          insertBefore: /* @__PURE__ */ __name(function(inside, before, insert, root2) {
            root2 = root2 || /** @type {any} */
            _.languages;
            var grammar = root2[inside];
            var ret = {};
            for (var token2 in grammar) {
              if (grammar.hasOwnProperty(token2)) {
                if (token2 == before) {
                  for (var newToken in insert) {
                    if (insert.hasOwnProperty(newToken)) {
                      ret[newToken] = insert[newToken];
                    }
                  }
                }
                if (!insert.hasOwnProperty(token2)) {
                  ret[token2] = grammar[token2];
                }
              }
            }
            var old = root2[inside];
            root2[inside] = ret;
            _.languages.DFS(_.languages, function(key, value) {
              if (value === old && key != inside) {
                this[key] = ret;
              }
            });
            return ret;
          }, "insertBefore"),
          // Traverse a language definition with Depth First Search
          DFS: /* @__PURE__ */ __name(function DFS(o2, callback, type5, visited) {
            visited = visited || {};
            var objId = _.util.objId;
            for (var i2 in o2) {
              if (o2.hasOwnProperty(i2)) {
                callback.call(o2, i2, o2[i2], type5 || i2);
                var property = o2[i2];
                var propertyType = _.util.type(property);
                if (propertyType === "Object" && !visited[objId(property)]) {
                  visited[objId(property)] = true;
                  DFS(property, callback, null, visited);
                } else if (propertyType === "Array" && !visited[objId(property)]) {
                  visited[objId(property)] = true;
                  DFS(property, callback, i2, visited);
                }
              }
            }
          }, "DFS")
        },
        plugins: {},
        /**
         * This is the most high-level function in Prism’s API.
         * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on
         * each one of them.
         *
         * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.
         *
         * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.
         * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.
         * @memberof Prism
         * @public
         */
        highlightAll: /* @__PURE__ */ __name(function(async, callback) {
          _.highlightAllUnder(document, async, callback);
        }, "highlightAll"),
        /**
         * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls
         * {@link Prism.highlightElement} on each one of them.
         *
         * The following hooks will be run:
         * 1. `before-highlightall`
         * 2. `before-all-elements-highlight`
         * 3. All hooks of {@link Prism.highlightElement} for each element.
         *
         * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.
         * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.
         * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.
         * @memberof Prism
         * @public
         */
        highlightAllUnder: /* @__PURE__ */ __name(function(container, async, callback) {
          var env2 = {
            callback,
            container,
            selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
          };
          _.hooks.run("before-highlightall", env2);
          env2.elements = Array.prototype.slice.apply(env2.container.querySelectorAll(env2.selector));
          _.hooks.run("before-all-elements-highlight", env2);
          for (var i2 = 0, element; element = env2.elements[i2++]; ) {
            _.highlightElement(element, async === true, env2.callback);
          }
        }, "highlightAllUnder"),
        /**
         * Highlights the code inside a single element.
         *
         * The following hooks will be run:
         * 1. `before-sanity-check`
         * 2. `before-highlight`
         * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.
         * 4. `before-insert`
         * 5. `after-highlight`
         * 6. `complete`
         *
         * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for
         * the element's language.
         *
         * @param {Element} element The element containing the code.
         * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.
         * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers
         * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is
         * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).
         *
         * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for
         * asynchronous highlighting to work. You can build your own bundle on the
         * [Download page](https://prismjs.com/download.html).
         * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.
         * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.
         * @memberof Prism
         * @public
         */
        highlightElement: /* @__PURE__ */ __name(function(element, async, callback) {
          var language = _.util.getLanguage(element);
          var grammar = _.languages[language];
          _.util.setLanguage(element, language);
          var parent = element.parentElement;
          if (parent && parent.nodeName.toLowerCase() === "pre") {
            _.util.setLanguage(parent, language);
          }
          var code = element.textContent;
          var env2 = {
            element,
            language,
            grammar,
            code
          };
          function insertHighlightedCode(highlightedCode) {
            env2.highlightedCode = highlightedCode;
            _.hooks.run("before-insert", env2);
            env2.element.innerHTML = env2.highlightedCode;
            _.hooks.run("after-highlight", env2);
            _.hooks.run("complete", env2);
            callback && callback.call(env2.element);
          }
          __name(insertHighlightedCode, "insertHighlightedCode");
          _.hooks.run("before-sanity-check", env2);
          parent = env2.element.parentElement;
          if (parent && parent.nodeName.toLowerCase() === "pre" && !parent.hasAttribute("tabindex")) {
            parent.setAttribute("tabindex", "0");
          }
          if (!env2.code) {
            _.hooks.run("complete", env2);
            callback && callback.call(env2.element);
            return;
          }
          _.hooks.run("before-highlight", env2);
          if (!env2.grammar) {
            insertHighlightedCode(_.util.encode(env2.code));
            return;
          }
          if (async && _self2.Worker) {
            var worker = new Worker(_.filename);
            worker.onmessage = function(evt) {
              insertHighlightedCode(evt.data);
            };
            worker.postMessage(JSON.stringify({
              language: env2.language,
              code: env2.code,
              immediateClose: true
            }));
          } else {
            insertHighlightedCode(_.highlight(env2.code, env2.grammar, env2.language));
          }
        }, "highlightElement"),
        /**
         * Low-level function, only use if you know what you’re doing. It accepts a string of text as input
         * and the language definitions to use, and returns a string with the HTML produced.
         *
         * The following hooks will be run:
         * 1. `before-tokenize`
         * 2. `after-tokenize`
         * 3. `wrap`: On each {@link Token}.
         *
         * @param {string} text A string with the code to be highlighted.
         * @param {Grammar} grammar An object containing the tokens to use.
         *
         * Usually a language definition like `Prism.languages.markup`.
         * @param {string} language The name of the language definition passed to `grammar`.
         * @returns {string} The highlighted HTML.
         * @memberof Prism
         * @public
         * @example
         * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');
         */
        highlight: /* @__PURE__ */ __name(function(text, grammar, language) {
          var env2 = {
            code: text,
            grammar,
            language
          };
          _.hooks.run("before-tokenize", env2);
          if (!env2.grammar) {
            throw new Error('The language "' + env2.language + '" has no grammar.');
          }
          env2.tokens = _.tokenize(env2.code, env2.grammar);
          _.hooks.run("after-tokenize", env2);
          return Token.stringify(_.util.encode(env2.tokens), env2.language);
        }, "highlight"),
        /**
         * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input
         * and the language definitions to use, and returns an array with the tokenized code.
         *
         * When the language definition includes nested tokens, the function is called recursively on each of these tokens.
         *
         * This method could be useful in other contexts as well, as a very crude parser.
         *
         * @param {string} text A string with the code to be highlighted.
         * @param {Grammar} grammar An object containing the tokens to use.
         *
         * Usually a language definition like `Prism.languages.markup`.
         * @returns {TokenStream} An array of strings and tokens, a token stream.
         * @memberof Prism
         * @public
         * @example
         * let code = `var foo = 0;`;
         * let tokens = Prism.tokenize(code, Prism.languages.javascript);
         * tokens.forEach(token => {
         *     if (token instanceof Prism.Token && token.type === 'number') {
         *         console.log(`Found numeric literal: ${token.content}`);
         *     }
         * });
         */
        tokenize: /* @__PURE__ */ __name(function(text, grammar) {
          var rest = grammar.rest;
          if (rest) {
            for (var token2 in rest) {
              grammar[token2] = rest[token2];
            }
            delete grammar.rest;
          }
          var tokenList = new LinkedList();
          addAfter(tokenList, tokenList.head, text);
          matchGrammar(text, tokenList, grammar, tokenList.head, 0);
          return toArray2(tokenList);
        }, "tokenize"),
        /**
         * @namespace
         * @memberof Prism
         * @public
         */
        hooks: {
          all: {},
          /**
           * Adds the given callback to the list of callbacks for the given hook.
           *
           * The callback will be invoked when the hook it is registered for is run.
           * Hooks are usually directly run by a highlight function but you can also run hooks yourself.
           *
           * One callback function can be registered to multiple hooks and the same hook multiple times.
           *
           * @param {string} name The name of the hook.
           * @param {HookCallback} callback The callback function which is given environment variables.
           * @public
           */
          add: /* @__PURE__ */ __name(function(name, callback) {
            var hooks = _.hooks.all;
            hooks[name] = hooks[name] || [];
            hooks[name].push(callback);
          }, "add"),
          /**
           * Runs a hook invoking all registered callbacks with the given environment variables.
           *
           * Callbacks will be invoked synchronously and in the order in which they were registered.
           *
           * @param {string} name The name of the hook.
           * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.
           * @public
           */
          run: /* @__PURE__ */ __name(function(name, env2) {
            var callbacks = _.hooks.all[name];
            if (!callbacks || !callbacks.length) {
              return;
            }
            for (var i2 = 0, callback; callback = callbacks[i2++]; ) {
              callback(env2);
            }
          }, "run")
        },
        Token
      };
      _self2.Prism = _;
      function Token(type5, content, alias, matchedStr) {
        this.type = type5;
        this.content = content;
        this.alias = alias;
        this.length = (matchedStr || "").length | 0;
      }
      __name(Token, "Token");
      Token.stringify = /* @__PURE__ */ __name(function stringify7(o2, language) {
        if (typeof o2 == "string") {
          return o2;
        }
        if (Array.isArray(o2)) {
          var s3 = "";
          o2.forEach(function(e2) {
            s3 += stringify7(e2, language);
          });
          return s3;
        }
        var env2 = {
          type: o2.type,
          content: stringify7(o2.content, language),
          tag: "span",
          classes: ["token", o2.type],
          attributes: {},
          language
        };
        var aliases2 = o2.alias;
        if (aliases2) {
          if (Array.isArray(aliases2)) {
            Array.prototype.push.apply(env2.classes, aliases2);
          } else {
            env2.classes.push(aliases2);
          }
        }
        _.hooks.run("wrap", env2);
        var attributes = "";
        for (var name in env2.attributes) {
          attributes += " " + name + '="' + (env2.attributes[name] || "").replace(/"/g, "&quot;") + '"';
        }
        return "<" + env2.tag + ' class="' + env2.classes.join(" ") + '"' + attributes + ">" + env2.content + "</" + env2.tag + ">";
      }, "stringify");
      function matchPattern(pattern, pos, text, lookbehind) {
        pattern.lastIndex = pos;
        var match3 = pattern.exec(text);
        if (match3 && lookbehind && match3[1]) {
          var lookbehindLength = match3[1].length;
          match3.index += lookbehindLength;
          match3[0] = match3[0].slice(lookbehindLength);
        }
        return match3;
      }
      __name(matchPattern, "matchPattern");
      function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {
        for (var token2 in grammar) {
          if (!grammar.hasOwnProperty(token2) || !grammar[token2]) {
            continue;
          }
          var patterns = grammar[token2];
          patterns = Array.isArray(patterns) ? patterns : [patterns];
          for (var j = 0; j < patterns.length; ++j) {
            if (rematch && rematch.cause == token2 + "," + j) {
              return;
            }
            var patternObj = patterns[j];
            var inside = patternObj.inside;
            var lookbehind = !!patternObj.lookbehind;
            var greedy = !!patternObj.greedy;
            var alias = patternObj.alias;
            if (greedy && !patternObj.pattern.global) {
              var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];
              patternObj.pattern = RegExp(patternObj.pattern.source, flags + "g");
            }
            var pattern = patternObj.pattern || patternObj;
            for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {
              if (rematch && pos >= rematch.reach) {
                break;
              }
              var str2 = currentNode.value;
              if (tokenList.length > text.length) {
                return;
              }
              if (str2 instanceof Token) {
                continue;
              }
              var removeCount = 1;
              var match3;
              if (greedy) {
                match3 = matchPattern(pattern, pos, text, lookbehind);
                if (!match3 || match3.index >= text.length) {
                  break;
                }
                var from2 = match3.index;
                var to = match3.index + match3[0].length;
                var p2 = pos;
                p2 += currentNode.value.length;
                while (from2 >= p2) {
                  currentNode = currentNode.next;
                  p2 += currentNode.value.length;
                }
                p2 -= currentNode.value.length;
                pos = p2;
                if (currentNode.value instanceof Token) {
                  continue;
                }
                for (var k = currentNode; k !== tokenList.tail && (p2 < to || typeof k.value === "string"); k = k.next) {
                  removeCount++;
                  p2 += k.value.length;
                }
                removeCount--;
                str2 = text.slice(pos, p2);
                match3.index -= pos;
              } else {
                match3 = matchPattern(pattern, 0, str2, lookbehind);
                if (!match3) {
                  continue;
                }
              }
              var from2 = match3.index;
              var matchStr = match3[0];
              var before = str2.slice(0, from2);
              var after = str2.slice(from2 + matchStr.length);
              var reach = pos + str2.length;
              if (rematch && reach > rematch.reach) {
                rematch.reach = reach;
              }
              var removeFrom = currentNode.prev;
              if (before) {
                removeFrom = addAfter(tokenList, removeFrom, before);
                pos += before.length;
              }
              removeRange(tokenList, removeFrom, removeCount);
              var wrapped = new Token(token2, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);
              currentNode = addAfter(tokenList, removeFrom, wrapped);
              if (after) {
                addAfter(tokenList, currentNode, after);
              }
              if (removeCount > 1) {
                var nestedRematch = {
                  cause: token2 + "," + j,
                  reach
                };
                matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);
                if (rematch && nestedRematch.reach > rematch.reach) {
                  rematch.reach = nestedRematch.reach;
                }
              }
            }
          }
        }
      }
      __name(matchGrammar, "matchGrammar");
      function LinkedList() {
        var head2 = { value: null, prev: null, next: null };
        var tail2 = { value: null, prev: head2, next: null };
        head2.next = tail2;
        this.head = head2;
        this.tail = tail2;
        this.length = 0;
      }
      __name(LinkedList, "LinkedList");
      function addAfter(list, node2, value) {
        var next2 = node2.next;
        var newNode = { value, prev: node2, next: next2 };
        node2.next = newNode;
        next2.prev = newNode;
        list.length++;
        return newNode;
      }
      __name(addAfter, "addAfter");
      function removeRange(list, node2, count3) {
        var next2 = node2.next;
        for (var i2 = 0; i2 < count3 && next2 !== list.tail; i2++) {
          next2 = next2.next;
        }
        node2.next = next2;
        next2.prev = node2;
        list.length -= i2;
      }
      __name(removeRange, "removeRange");
      function toArray2(list) {
        var array = [];
        var node2 = list.head.next;
        while (node2 !== list.tail) {
          array.push(node2.value);
          node2 = node2.next;
        }
        return array;
      }
      __name(toArray2, "toArray");
      if (!_self2.document) {
        if (!_self2.addEventListener) {
          return _;
        }
        if (!_.disableWorkerMessageHandler) {
          _self2.addEventListener("message", function(evt) {
            var message = JSON.parse(evt.data);
            var lang2 = message.language;
            var code = message.code;
            var immediateClose = message.immediateClose;
            _self2.postMessage(_.highlight(code, _.languages[lang2], lang2));
            if (immediateClose) {
              _self2.close();
            }
          }, false);
        }
        return _;
      }
      var script = _.util.currentScript();
      if (script) {
        _.filename = script.src;
        if (script.hasAttribute("data-manual")) {
          _.manual = true;
        }
      }
      function highlightAutomaticallyCallback() {
        if (!_.manual) {
          _.highlightAll();
        }
      }
      __name(highlightAutomaticallyCallback, "highlightAutomaticallyCallback");
      if (!_.manual) {
        var readyState = document.readyState;
        if (readyState === "loading" || readyState === "interactive" && script && script.defer) {
          document.addEventListener("DOMContentLoaded", highlightAutomaticallyCallback);
        } else {
          if (window.requestAnimationFrame) {
            window.requestAnimationFrame(highlightAutomaticallyCallback);
          } else {
            window.setTimeout(highlightAutomaticallyCallback, 16);
          }
        }
      }
      return _;
    }(_self);
    if (typeof module2 !== "undefined" && module2.exports) {
      module2.exports = Prism;
    }
    if (typeof global !== "undefined") {
      global.Prism = Prism;
    }
  }
});

// ../node_modules/refractor/lang/clike.js
var require_clike = __commonJS({
  "../node_modules/refractor/lang/clike.js"(exports, module2) {
    "use strict";
    module2.exports = clike;
    clike.displayName = "clike";
    clike.aliases = [];
    function clike(Prism) {
      Prism.languages.clike = {
        comment: [
          {
            pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
            lookbehind: true,
            greedy: true
          },
          {
            pattern: /(^|[^\\:])\/\/.*/,
            lookbehind: true,
            greedy: true
          }
        ],
        string: {
          pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
          greedy: true
        },
        "class-name": {
          pattern: /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,
          lookbehind: true,
          inside: {
            punctuation: /[.\\]/
          }
        },
        keyword: /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,
        boolean: /\b(?:false|true)\b/,
        function: /\b\w+(?=\()/,
        number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
        operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,
        punctuation: /[{}[\];(),.:]/
      };
    }
    __name(clike, "clike");
  }
});

// ../node_modules/refractor/lang/javascript.js
var require_javascript = __commonJS({
  "../node_modules/refractor/lang/javascript.js"(exports, module2) {
    "use strict";
    module2.exports = javascript;
    javascript.displayName = "javascript";
    javascript.aliases = ["js"];
    function javascript(Prism) {
      Prism.languages.javascript = Prism.languages.extend("clike", {
        "class-name": [
          Prism.languages.clike["class-name"],
          {
            pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,
            lookbehind: true
          }
        ],
        keyword: [
          {
            pattern: /((?:^|\})\s*)catch\b/,
            lookbehind: true
          },
          {
            pattern: /(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,
            lookbehind: true
          }
        ],
        // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)
        function: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,
        number: {
          pattern: RegExp(
            /(^|[^\w$])/.source + "(?:" + // constant
            (/NaN|Infinity/.source + "|" + // binary integer
            /0[bB][01]+(?:_[01]+)*n?/.source + "|" + // octal integer
            /0[oO][0-7]+(?:_[0-7]+)*n?/.source + "|" + // hexadecimal integer
            /0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source + "|" + // decimal bigint
            /\d+(?:_\d+)*n/.source + "|" + // decimal number (integer or float) but no bigint
            /(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source) + ")" + /(?![\w$])/.source
          ),
          lookbehind: true
        },
        operator: /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/
      });
      Prism.languages.javascript["class-name"][0].pattern = /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;
      Prism.languages.insertBefore("javascript", "keyword", {
        regex: {
          // eslint-disable-next-line regexp/no-dupe-characters-character-class
          pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,
          lookbehind: true,
          greedy: true,
          inside: {
            "regex-source": {
              pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/,
              lookbehind: true,
              alias: "language-regex",
              inside: Prism.languages.regex
            },
            "regex-delimiter": /^\/|\/$/,
            "regex-flags": /^[a-z]+$/
          }
        },
        // This must be declared before keyword because we use "function" inside the look-forward
        "function-variable": {
          pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,
          alias: "function"
        },
        parameter: [
          {
            pattern: /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,
            lookbehind: true,
            inside: Prism.languages.javascript
          },
          {
            pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,
            lookbehind: true,
            inside: Prism.languages.javascript
          },
          {
            pattern: /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,
            lookbehind: true,
            inside: Prism.languages.javascript
          },
          {
            pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,
            lookbehind: true,
            inside: Prism.languages.javascript
          }
        ],
        constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/
      });
      Prism.languages.insertBefore("javascript", "string", {
        hashbang: {
          pattern: /^#!.*/,
          greedy: true,
          alias: "comment"
        },
        "template-string": {
          pattern: /`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,
          greedy: true,
          inside: {
            "template-punctuation": {
              pattern: /^`|`$/,
              alias: "string"
            },
            interpolation: {
              pattern: /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
              lookbehind: true,
              inside: {
                "interpolation-punctuation": {
                  pattern: /^\$\{|\}$/,
                  alias: "punctuation"
                },
                rest: Prism.languages.javascript
              }
            },
            string: /[\s\S]+/
          }
        },
        "string-property": {
          pattern: /((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,
          lookbehind: true,
          greedy: true,
          alias: "property"
        }
      });
      Prism.languages.insertBefore("javascript", "operator", {
        "literal-property": {
          pattern: /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,
          lookbehind: true,
          alias: "property"
        }
      });
      if (Prism.languages.markup) {
        Prism.languages.markup.tag.addInlined("script", "javascript");
        Prism.languages.markup.tag.addAttribute(
          /on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,
          "javascript"
        );
      }
      Prism.languages.js = Prism.languages.javascript;
    }
    __name(javascript, "javascript");
  }
});

// ../node_modules/refractor/core.js
var require_core = __commonJS({
  "../node_modules/refractor/core.js"(exports, module2) {
    "use strict";
    var ctx = typeof globalThis === "object" ? globalThis : typeof self === "object" ? self : typeof window === "object" ? window : typeof global === "object" ? global : {};
    var restore = capture();
    ctx.Prism = { manual: true, disableWorkerMessageHandler: true };
    var h2 = require_hastscript();
    var decode = require_parse_entities();
    var Prism = require_prism_core();
    var markup2 = require_markup();
    var css3 = require_css();
    var clike = require_clike();
    var js = require_javascript();
    restore();
    var own = {}.hasOwnProperty;
    function Refractor() {
    }
    __name(Refractor, "Refractor");
    Refractor.prototype = Prism;
    var refract = new Refractor();
    module2.exports = refract;
    refract.highlight = highlight;
    refract.register = register;
    refract.alias = alias;
    refract.registered = registered;
    refract.listLanguages = listLanguages;
    register(markup2);
    register(css3);
    register(clike);
    register(js);
    refract.util.encode = encode2;
    refract.Token.stringify = stringify7;
    function register(grammar) {
      if (typeof grammar !== "function" || !grammar.displayName) {
        throw new Error("Expected `function` for `grammar`, got `" + grammar + "`");
      }
      if (refract.languages[grammar.displayName] === void 0) {
        grammar(refract);
      }
    }
    __name(register, "register");
    function alias(name, alias2) {
      var languages2 = refract.languages;
      var map2 = name;
      var key;
      var list;
      var length2;
      var index4;
      if (alias2) {
        map2 = {};
        map2[name] = alias2;
      }
      for (key in map2) {
        list = map2[key];
        list = typeof list === "string" ? [list] : list;
        length2 = list.length;
        index4 = -1;
        while (++index4 < length2) {
          languages2[list[index4]] = languages2[key];
        }
      }
    }
    __name(alias, "alias");
    function highlight(value, name) {
      var sup = Prism.highlight;
      var grammar;
      if (typeof value !== "string") {
        throw new Error("Expected `string` for `value`, got `" + value + "`");
      }
      if (refract.util.type(name) === "Object") {
        grammar = name;
        name = null;
      } else {
        if (typeof name !== "string") {
          throw new Error("Expected `string` for `name`, got `" + name + "`");
        }
        if (own.call(refract.languages, name)) {
          grammar = refract.languages[name];
        } else {
          throw new Error("Unknown language: `" + name + "` is not registered");
        }
      }
      return sup.call(this, value, grammar, name);
    }
    __name(highlight, "highlight");
    function registered(language) {
      if (typeof language !== "string") {
        throw new Error("Expected `string` for `language`, got `" + language + "`");
      }
      return own.call(refract.languages, language);
    }
    __name(registered, "registered");
    function listLanguages() {
      var languages2 = refract.languages;
      var list = [];
      var language;
      for (language in languages2) {
        if (own.call(languages2, language) && typeof languages2[language] === "object") {
          list.push(language);
        }
      }
      return list;
    }
    __name(listLanguages, "listLanguages");
    function stringify7(value, language, parent) {
      var env2;
      if (typeof value === "string") {
        return { type: "text", value };
      }
      if (refract.util.type(value) === "Array") {
        return stringifyAll(value, language);
      }
      env2 = {
        type: value.type,
        content: refract.Token.stringify(value.content, language, parent),
        tag: "span",
        classes: ["token", value.type],
        attributes: {},
        language,
        parent
      };
      if (value.alias) {
        env2.classes = env2.classes.concat(value.alias);
      }
      refract.hooks.run("wrap", env2);
      return h2(
        env2.tag + "." + env2.classes.join("."),
        attributes(env2.attributes),
        env2.content
      );
    }
    __name(stringify7, "stringify");
    function stringifyAll(values, language) {
      var result = [];
      var length2 = values.length;
      var index4 = -1;
      var value;
      while (++index4 < length2) {
        value = values[index4];
        if (value !== "" && value !== null && value !== void 0) {
          result.push(value);
        }
      }
      index4 = -1;
      length2 = result.length;
      while (++index4 < length2) {
        value = result[index4];
        result[index4] = refract.Token.stringify(value, language, result);
      }
      return result;
    }
    __name(stringifyAll, "stringifyAll");
    function encode2(tokens) {
      return tokens;
    }
    __name(encode2, "encode");
    function attributes(attrs) {
      var key;
      for (key in attrs) {
        attrs[key] = decode(attrs[key]);
      }
      return attrs;
    }
    __name(attributes, "attributes");
    function capture() {
      var defined = "Prism" in ctx;
      var current = defined ? ctx.Prism : void 0;
      return restore2;
      function restore2() {
        if (defined) {
          ctx.Prism = current;
        } else {
          delete ctx.Prism;
        }
        defined = void 0;
        current = void 0;
      }
      __name(restore2, "restore");
    }
    __name(capture, "capture");
  }
});

// ../node_modules/react-syntax-highlighter/dist/esm/prism-light.js
var import_core, SyntaxHighlighter, prism_light_default;
var init_prism_light = __esm({
  "../node_modules/react-syntax-highlighter/dist/esm/prism-light.js"() {
    init_highlight();
    import_core = __toESM(require_core());
    SyntaxHighlighter = highlight_default(import_core.default, {});
    SyntaxHighlighter.registerLanguage = function(_, language) {
      return import_core.default.register(language);
    };
    SyntaxHighlighter.alias = function(name, aliases2) {
      return import_core.default.alias(name, aliases2);
    };
    prism_light_default = SyntaxHighlighter;
  }
});

// src/components/components/ActionBar/ActionBar.tsx
var import_react10, Container, ActionButton, ActionBar;
var init_ActionBar = __esm({
  "src/components/components/ActionBar/ActionBar.tsx"() {
    "use strict";
    import_react10 = __toESM(require_react(), 1);
    init_theming();
    Container = styled.div(({ theme: theme3 }) => ({
      position: "absolute",
      bottom: 0,
      right: 0,
      maxWidth: "100%",
      display: "flex",
      background: theme3.background.content,
      zIndex: 1
    }));
    ActionButton = styled.button(
      ({ theme: theme3 }) => ({
        margin: 0,
        border: "0 none",
        padding: "4px 10px",
        cursor: "pointer",
        display: "flex",
        alignItems: "center",
        color: theme3.color.defaultText,
        background: theme3.background.content,
        fontSize: 12,
        lineHeight: "16px",
        fontFamily: theme3.typography.fonts.base,
        fontWeight: theme3.typography.weight.bold,
        borderTop: `1px solid ${theme3.appBorderColor}`,
        borderLeft: `1px solid ${theme3.appBorderColor}`,
        marginLeft: -1,
        borderRadius: `4px 0 0 0`,
        "&:not(:last-child)": { borderRight: `1px solid ${theme3.appBorderColor}` },
        "& + *": {
          borderLeft: `1px solid ${theme3.appBorderColor}`,
          borderRadius: 0
        },
        "&:focus": {
          boxShadow: `${theme3.color.secondary} 0 -3px 0 0 inset`,
          outline: "0 none",
          "@media (forced-colors: active)": {
            outline: "1px solid highlight"
          }
        }
      }),
      ({ disabled }) => disabled && {
        cursor: "not-allowed",
        opacity: 0.5
      }
    );
    ActionButton.displayName = "ActionButton";
    ActionBar = /* @__PURE__ */ __name(({ actionItems, ...props }) => import_react10.default.createElement(Container, { ...props }, actionItems.map(({ title, className, onClick, disabled }, index4) => import_react10.default.createElement(ActionButton, { key: index4, className, onClick, disabled: !!disabled }, title))), "ActionBar");
  }
});

// ../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-compose-refs/dist/index.mjs
function setRef(ref, value) {
  if (typeof ref === "function") {
    ref(value);
  } else if (ref !== null && ref !== void 0) {
    ref.current = value;
  }
}
function composeRefs(...refs) {
  return (node2) => refs.forEach((ref) => setRef(ref, node2));
}
function useComposedRefs(...refs) {
  return React9.useCallback(composeRefs(...refs), refs);
}
var React9;
var init_dist2 = __esm({
  "../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-compose-refs/dist/index.mjs"() {
    React9 = __toESM(require_react(), 1);
    __name(setRef, "setRef");
    __name(composeRefs, "composeRefs");
    __name(useComposedRefs, "useComposedRefs");
  }
});

// ../node_modules/react/cjs/react-jsx-runtime.production.min.js
var require_react_jsx_runtime_production_min = __commonJS({
  "../node_modules/react/cjs/react-jsx-runtime.production.min.js"(exports) {
    "use strict";
    var f3 = require_react();
    var k = Symbol.for("react.element");
    var l = Symbol.for("react.fragment");
    var m3 = Object.prototype.hasOwnProperty;
    var n2 = f3.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner;
    var p2 = { key: true, ref: true, __self: true, __source: true };
    function q(c2, a2, g2) {
      var b, d = {}, e2 = null, h2 = null;
      void 0 !== g2 && (e2 = "" + g2);
      void 0 !== a2.key && (e2 = "" + a2.key);
      void 0 !== a2.ref && (h2 = a2.ref);
      for (b in a2) m3.call(a2, b) && !p2.hasOwnProperty(b) && (d[b] = a2[b]);
      if (c2 && c2.defaultProps) for (b in a2 = c2.defaultProps, a2) void 0 === d[b] && (d[b] = a2[b]);
      return { $$typeof: k, type: c2, key: e2, ref: h2, props: d, _owner: n2.current };
    }
    __name(q, "q");
    exports.Fragment = l;
    exports.jsx = q;
    exports.jsxs = q;
  }
});

// ../node_modules/react/jsx-runtime.js
var require_jsx_runtime = __commonJS({
  "../node_modules/react/jsx-runtime.js"(exports, module2) {
    "use strict";
    if (true) {
      module2.exports = require_react_jsx_runtime_production_min();
    } else {
      module2.exports = null;
    }
  }
});

// ../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-slot/dist/index.mjs
function isSlottable(child) {
  return React10.isValidElement(child) && child.type === Slottable;
}
function mergeProps(slotProps, childProps) {
  const overrideProps = { ...childProps };
  for (const propName in childProps) {
    const slotPropValue = slotProps[propName];
    const childPropValue = childProps[propName];
    const isHandler = /^on[A-Z]/.test(propName);
    if (isHandler) {
      if (slotPropValue && childPropValue) {
        overrideProps[propName] = (...args) => {
          childPropValue(...args);
          slotPropValue(...args);
        };
      } else if (slotPropValue) {
        overrideProps[propName] = slotPropValue;
      }
    } else if (propName === "style") {
      overrideProps[propName] = { ...slotPropValue, ...childPropValue };
    } else if (propName === "className") {
      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
    }
  }
  return { ...slotProps, ...overrideProps };
}
function getElementRef(element) {
  let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
  let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
  if (mayWarn) {
    return element.ref;
  }
  getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
  mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
  if (mayWarn) {
    return element.props.ref;
  }
  return element.props.ref || element.ref;
}
var React10, import_jsx_runtime, Slot, SlotClone, Slottable;
var init_dist3 = __esm({
  "../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-slot/dist/index.mjs"() {
    React10 = __toESM(require_react(), 1);
    init_dist2();
    import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
    Slot = React10.forwardRef((props, forwardedRef) => {
      const { children, ...slotProps } = props;
      const childrenArray = React10.Children.toArray(children);
      const slottable = childrenArray.find(isSlottable);
      if (slottable) {
        const newElement = slottable.props.children;
        const newChildren = childrenArray.map((child) => {
          if (child === slottable) {
            if (React10.Children.count(newElement) > 1) return React10.Children.only(null);
            return React10.isValidElement(newElement) ? newElement.props.children : null;
          } else {
            return child;
          }
        });
        return (0, import_jsx_runtime.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React10.isValidElement(newElement) ? React10.cloneElement(newElement, void 0, newChildren) : null });
      }
      return (0, import_jsx_runtime.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });
    });
    Slot.displayName = "Slot";
    SlotClone = React10.forwardRef((props, forwardedRef) => {
      const { children, ...slotProps } = props;
      if (React10.isValidElement(children)) {
        const childrenRef = getElementRef(children);
        return React10.cloneElement(children, {
          ...mergeProps(slotProps, children.props),
          // @ts-ignore
          ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef
        });
      }
      return React10.Children.count(children) > 1 ? React10.Children.only(null) : null;
    });
    SlotClone.displayName = "SlotClone";
    Slottable = /* @__PURE__ */ __name(({ children }) => {
      return (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
    }, "Slottable");
    __name(isSlottable, "isSlottable");
    __name(mergeProps, "mergeProps");
    __name(getElementRef, "getElementRef");
  }
});

// ../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive/dist/index.mjs
var React11, ReactDOM, import_jsx_runtime2, NODES, Primitive;
var init_dist4 = __esm({
  "../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive/dist/index.mjs"() {
    React11 = __toESM(require_react(), 1);
    ReactDOM = __toESM(require_react_dom(), 1);
    init_dist3();
    import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
    NODES = [
      "a",
      "button",
      "div",
      "form",
      "h2",
      "h3",
      "img",
      "input",
      "label",
      "li",
      "nav",
      "ol",
      "p",
      "span",
      "svg",
      "ul"
    ];
    Primitive = NODES.reduce((primitive, node2) => {
      const Node2 = React11.forwardRef((props, forwardedRef) => {
        const { asChild, ...primitiveProps } = props;
        const Comp2 = asChild ? Slot : node2;
        if (typeof window !== "undefined") {
          window[Symbol.for("radix-ui")] = true;
        }
        return (0, import_jsx_runtime2.jsx)(Comp2, { ...primitiveProps, ref: forwardedRef });
      });
      Node2.displayName = `Primitive.${node2}`;
      return { ...primitive, [node2]: Node2 };
    }, {});
  }
});

// ../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs
var React12, useLayoutEffect22;
var init_dist5 = __esm({
  "../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs"() {
    React12 = __toESM(require_react(), 1);
    useLayoutEffect22 = Boolean(globalThis?.document) ? React12.useLayoutEffect : () => {
    };
  }
});

// ../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-presence/dist/index.mjs
function useStateMachine(initialState, machine) {
  return React13.useReducer((state3, event) => {
    const nextState = machine[state3][event];
    return nextState ?? state3;
  }, initialState);
}
function usePresence(present) {
  const [node2, setNode] = React22.useState();
  const stylesRef = React22.useRef({});
  const prevPresentRef = React22.useRef(present);
  const prevAnimationNameRef = React22.useRef("none");
  const initialState = present ? "mounted" : "unmounted";
  const [state3, send] = useStateMachine(initialState, {
    mounted: {
      UNMOUNT: "unmounted",
      ANIMATION_OUT: "unmountSuspended"
    },
    unmountSuspended: {
      MOUNT: "mounted",
      ANIMATION_END: "unmounted"
    },
    unmounted: {
      MOUNT: "mounted"
    }
  });
  React22.useEffect(() => {
    const currentAnimationName = getAnimationName(stylesRef.current);
    prevAnimationNameRef.current = state3 === "mounted" ? currentAnimationName : "none";
  }, [state3]);
  useLayoutEffect22(() => {
    const styles4 = stylesRef.current;
    const wasPresent = prevPresentRef.current;
    const hasPresentChanged = wasPresent !== present;
    if (hasPresentChanged) {
      const prevAnimationName = prevAnimationNameRef.current;
      const currentAnimationName = getAnimationName(styles4);
      if (present) {
        send("MOUNT");
      } else if (currentAnimationName === "none" || styles4?.display === "none") {
        send("UNMOUNT");
      } else {
        const isAnimating = prevAnimationName !== currentAnimationName;
        if (wasPresent && isAnimating) {
          send("ANIMATION_OUT");
        } else {
          send("UNMOUNT");
        }
      }
      prevPresentRef.current = present;
    }
  }, [present, send]);
  useLayoutEffect22(() => {
    if (node2) {
      const handleAnimationEnd = /* @__PURE__ */ __name((event) => {
        const currentAnimationName = getAnimationName(stylesRef.current);
        const isCurrentAnimation = currentAnimationName.includes(event.animationName);
        if (event.target === node2 && isCurrentAnimation) {
          ReactDOM2.flushSync(() => send("ANIMATION_END"));
        }
      }, "handleAnimationEnd");
      const handleAnimationStart = /* @__PURE__ */ __name((event) => {
        if (event.target === node2) {
          prevAnimationNameRef.current = getAnimationName(stylesRef.current);
        }
      }, "handleAnimationStart");
      node2.addEventListener("animationstart", handleAnimationStart);
      node2.addEventListener("animationcancel", handleAnimationEnd);
      node2.addEventListener("animationend", handleAnimationEnd);
      return () => {
        node2.removeEventListener("animationstart", handleAnimationStart);
        node2.removeEventListener("animationcancel", handleAnimationEnd);
        node2.removeEventListener("animationend", handleAnimationEnd);
      };
    } else {
      send("ANIMATION_END");
    }
  }, [node2, send]);
  return {
    isPresent: ["mounted", "unmountSuspended"].includes(state3),
    ref: React22.useCallback((node22) => {
      if (node22) stylesRef.current = getComputedStyle(node22);
      setNode(node22);
    }, [])
  };
}
function getAnimationName(styles4) {
  return styles4?.animationName || "none";
}
function getElementRef2(element) {
  let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
  let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
  if (mayWarn) {
    return element.ref;
  }
  getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
  mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
  if (mayWarn) {
    return element.props.ref;
  }
  return element.props.ref || element.ref;
}
var React22, ReactDOM2, React13, Presence;
var init_dist6 = __esm({
  "../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-presence/dist/index.mjs"() {
    "use client";
    React22 = __toESM(require_react(), 1);
    ReactDOM2 = __toESM(require_react_dom(), 1);
    init_dist2();
    init_dist5();
    React13 = __toESM(require_react(), 1);
    __name(useStateMachine, "useStateMachine");
    Presence = /* @__PURE__ */ __name((props) => {
      const { present, children } = props;
      const presence = usePresence(present);
      const child = typeof children === "function" ? children({ present: presence.isPresent }) : React22.Children.only(children);
      const ref = useComposedRefs(presence.ref, getElementRef2(child));
      const forceMount = typeof children === "function";
      return forceMount || presence.isPresent ? React22.cloneElement(child, { ref }) : null;
    }, "Presence");
    Presence.displayName = "Presence";
    __name(usePresence, "usePresence");
    __name(getAnimationName, "getAnimationName");
    __name(getElementRef2, "getElementRef");
  }
});

// ../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-context/dist/index.mjs
function createContextScope(scopeName, createContextScopeDeps = []) {
  let defaultContexts = [];
  function createContext32(rootComponentName, defaultContext) {
    const BaseContext = React14.createContext(defaultContext);
    const index4 = defaultContexts.length;
    defaultContexts = [...defaultContexts, defaultContext];
    function Provider(props) {
      const { scope: scope2, children, ...context } = props;
      const Context = scope2?.[scopeName][index4] || BaseContext;
      const value = React14.useMemo(() => context, Object.values(context));
      return (0, import_jsx_runtime3.jsx)(Context.Provider, { value, children });
    }
    __name(Provider, "Provider");
    function useContext22(consumerName, scope2) {
      const Context = scope2?.[scopeName][index4] || BaseContext;
      const context = React14.useContext(Context);
      if (context) return context;
      if (defaultContext !== void 0) return defaultContext;
      throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
    }
    __name(useContext22, "useContext2");
    Provider.displayName = rootComponentName + "Provider";
    return [Provider, useContext22];
  }
  __name(createContext32, "createContext3");
  const createScope = /* @__PURE__ */ __name(() => {
    const scopeContexts = defaultContexts.map((defaultContext) => {
      return React14.createContext(defaultContext);
    });
    return /* @__PURE__ */ __name(function useScope(scope2) {
      const contexts = scope2?.[scopeName] || scopeContexts;
      return React14.useMemo(
        () => ({ [`__scope${scopeName}`]: { ...scope2, [scopeName]: contexts } }),
        [scope2, contexts]
      );
    }, "useScope");
  }, "createScope");
  createScope.scopeName = scopeName;
  return [createContext32, composeContextScopes(createScope, ...createContextScopeDeps)];
}
function composeContextScopes(...scopes) {
  const baseScope = scopes[0];
  if (scopes.length === 1) return baseScope;
  const createScope = /* @__PURE__ */ __name(() => {
    const scopeHooks = scopes.map((createScope2) => ({
      useScope: createScope2(),
      scopeName: createScope2.scopeName
    }));
    return /* @__PURE__ */ __name(function useComposedScopes(overrideScopes) {
      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
        const scopeProps = useScope(overrideScopes);
        const currentScope = scopeProps[`__scope${scopeName}`];
        return { ...nextScopes2, ...currentScope };
      }, {});
      return React14.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
    }, "useComposedScopes");
  }, "createScope");
  createScope.scopeName = baseScope.scopeName;
  return createScope;
}
var React14, import_jsx_runtime3;
var init_dist7 = __esm({
  "../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-context/dist/index.mjs"() {
    React14 = __toESM(require_react(), 1);
    import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
    __name(createContextScope, "createContextScope");
    __name(composeContextScopes, "composeContextScopes");
  }
});

// ../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs
function useCallbackRef(callback) {
  const callbackRef = React15.useRef(callback);
  React15.useEffect(() => {
    callbackRef.current = callback;
  });
  return React15.useMemo(() => (...args) => callbackRef.current?.(...args), []);
}
var React15;
var init_dist8 = __esm({
  "../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs"() {
    React15 = __toESM(require_react(), 1);
    __name(useCallbackRef, "useCallbackRef");
  }
});

// ../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-direction/dist/index.mjs
function useDirection(localDir) {
  const globalDir = React16.useContext(DirectionContext);
  return localDir || globalDir || "ltr";
}
var React16, import_jsx_runtime4, DirectionContext;
var init_dist9 = __esm({
  "../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-direction/dist/index.mjs"() {
    React16 = __toESM(require_react(), 1);
    import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
    DirectionContext = React16.createContext(void 0);
    __name(useDirection, "useDirection");
  }
});

// ../node_modules/@radix-ui/number/dist/index.mjs
function clamp(value, [min2, max2]) {
  return Math.min(max2, Math.max(min2, value));
}
var init_dist10 = __esm({
  "../node_modules/@radix-ui/number/dist/index.mjs"() {
    __name(clamp, "clamp");
  }
});

// ../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/primitive/dist/index.mjs
function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
  return /* @__PURE__ */ __name(function handleEvent(event) {
    originalEventHandler?.(event);
    if (checkForDefaultPrevented === false || !event.defaultPrevented) {
      return ourEventHandler?.(event);
    }
  }, "handleEvent");
}
var init_dist11 = __esm({
  "../node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/primitive/dist/index.mjs"() {
    __name(composeEventHandlers, "composeEventHandlers");
  }
});

// ../node_modules/@radix-ui/react-scroll-area/dist/index.mjs
function useStateMachine2(initialState, machine) {
  return React17.useReducer((state3, event) => {
    const nextState = machine[state3][event];
    return nextState ?? state3;
  }, initialState);
}
function toInt(value) {
  return value ? parseInt(value, 10) : 0;
}
function getThumbRatio(viewportSize, contentSize) {
  const ratio = viewportSize / contentSize;
  return isNaN(ratio) ? 0 : ratio;
}
function getThumbSize(sizes2) {
  const ratio = getThumbRatio(sizes2.viewport, sizes2.content);
  const scrollbarPadding = sizes2.scrollbar.paddingStart + sizes2.scrollbar.paddingEnd;
  const thumbSize = (sizes2.scrollbar.size - scrollbarPadding) * ratio;
  return Math.max(thumbSize, 18);
}
function getScrollPositionFromPointer(pointerPos, pointerOffset, sizes2, dir = "ltr") {
  const thumbSizePx = getThumbSize(sizes2);
  const thumbCenter = thumbSizePx / 2;
  const offset3 = pointerOffset || thumbCenter;
  const thumbOffsetFromEnd = thumbSizePx - offset3;
  const minPointerPos = sizes2.scrollbar.paddingStart + offset3;
  const maxPointerPos = sizes2.scrollbar.size - sizes2.scrollbar.paddingEnd - thumbOffsetFromEnd;
  const maxScrollPos = sizes2.content - sizes2.viewport;
  const scrollRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
  const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);
  return interpolate(pointerPos);
}
function getThumbOffsetFromScroll(scrollPos, sizes2, dir = "ltr") {
  const thumbSizePx = getThumbSize(sizes2);
  const scrollbarPadding = sizes2.scrollbar.paddingStart + sizes2.scrollbar.paddingEnd;
  const scrollbar = sizes2.scrollbar.size - scrollbarPadding;
  const maxScrollPos = sizes2.content - sizes2.viewport;
  const maxThumbPos = scrollbar - thumbSizePx;
  const scrollClampRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
  const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);
  const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);
  return interpolate(scrollWithoutMomentum);
}
function linearScale(input2, output) {
  return (value) => {
    if (input2[0] === input2[1] || output[0] === output[1]) return output[0];
    const ratio = (output[1] - output[0]) / (input2[1] - input2[0]);
    return output[0] + ratio * (value - input2[0]);
  };
}
function isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {
  return scrollPos > 0 && scrollPos < maxScrollPos;
}
function useDebounceCallback(callback, delay) {
  const handleCallback = useCallbackRef(callback);
  const debounceTimerRef = React23.useRef(0);
  React23.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);
  return React23.useCallback(() => {
    window.clearTimeout(debounceTimerRef.current);
    debounceTimerRef.current = window.setTimeout(handleCallback, delay);
  }, [handleCallback, delay]);
}
function useResizeObserver(element, onResize) {
  const handleResize = useCallbackRef(onResize);
  useLayoutEffect22(() => {
    let rAF = 0;
    if (element) {
      const resizeObserver = new ResizeObserver(() => {
        cancelAnimationFrame(rAF);
        rAF = window.requestAnimationFrame(handleResize);
      });
      resizeObserver.observe(element);
      return () => {
        window.cancelAnimationFrame(rAF);
        resizeObserver.unobserve(element);
      };
    }
  }, [element, handleResize]);
}
function getSubtree(options, content) {
  const { asChild, children } = options;
  if (!asChild) return typeof content === "function" ? content(children) : content;
  const firstChild = React23.Children.only(children);
  return React23.cloneElement(firstChild, {
    children: typeof content === "function" ? content(firstChild.props.children) : content
  });
}
var React23, React17, import_jsx_runtime5, SCROLL_AREA_NAME, createScrollAreaContext, createScrollAreaScope, ScrollAreaProvider, useScrollAreaContext, ScrollArea, VIEWPORT_NAME, ScrollAreaViewport, SCROLLBAR_NAME, ScrollAreaScrollbar, ScrollAreaScrollbarHover, ScrollAreaScrollbarScroll, ScrollAreaScrollbarAuto, ScrollAreaScrollbarVisible, ScrollAreaScrollbarX, ScrollAreaScrollbarY, ScrollbarProvider, useScrollbarContext, ScrollAreaScrollbarImpl, THUMB_NAME, ScrollAreaThumb, ScrollAreaThumbImpl, CORNER_NAME, ScrollAreaCorner, ScrollAreaCornerImpl, addUnlinkedScrollListener, Root, Viewport, Scrollbar, Thumb, Corner;
var init_dist12 = __esm({
  "../node_modules/@radix-ui/react-scroll-area/dist/index.mjs"() {
    "use client";
    React23 = __toESM(require_react(), 1);
    init_dist4();
    init_dist6();
    init_dist7();
    init_dist2();
    init_dist8();
    init_dist9();
    init_dist5();
    init_dist10();
    init_dist11();
    React17 = __toESM(require_react(), 1);
    import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
    __name(useStateMachine2, "useStateMachine");
    SCROLL_AREA_NAME = "ScrollArea";
    [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);
    [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);
    ScrollArea = React23.forwardRef(
      (props, forwardedRef) => {
        const {
          __scopeScrollArea,
          type: type5 = "hover",
          dir,
          scrollHideDelay = 600,
          ...scrollAreaProps
        } = props;
        const [scrollArea, setScrollArea] = React23.useState(null);
        const [viewport2, setViewport] = React23.useState(null);
        const [content, setContent] = React23.useState(null);
        const [scrollbarX, setScrollbarX] = React23.useState(null);
        const [scrollbarY, setScrollbarY] = React23.useState(null);
        const [cornerWidth, setCornerWidth] = React23.useState(0);
        const [cornerHeight, setCornerHeight] = React23.useState(0);
        const [scrollbarXEnabled, setScrollbarXEnabled] = React23.useState(false);
        const [scrollbarYEnabled, setScrollbarYEnabled] = React23.useState(false);
        const composedRefs = useComposedRefs(forwardedRef, (node2) => setScrollArea(node2));
        const direction = useDirection(dir);
        return (0, import_jsx_runtime5.jsx)(
          ScrollAreaProvider,
          {
            scope: __scopeScrollArea,
            type: type5,
            dir: direction,
            scrollHideDelay,
            scrollArea,
            viewport: viewport2,
            onViewportChange: setViewport,
            content,
            onContentChange: setContent,
            scrollbarX,
            onScrollbarXChange: setScrollbarX,
            scrollbarXEnabled,
            onScrollbarXEnabledChange: setScrollbarXEnabled,
            scrollbarY,
            onScrollbarYChange: setScrollbarY,
            scrollbarYEnabled,
            onScrollbarYEnabledChange: setScrollbarYEnabled,
            onCornerWidthChange: setCornerWidth,
            onCornerHeightChange: setCornerHeight,
            children: (0, import_jsx_runtime5.jsx)(
              Primitive.div,
              {
                dir: direction,
                ...scrollAreaProps,
                ref: composedRefs,
                style: {
                  position: "relative",
                  // Pass corner sizes as CSS vars to reduce re-renders of context consumers
                  ["--radix-scroll-area-corner-width"]: cornerWidth + "px",
                  ["--radix-scroll-area-corner-height"]: cornerHeight + "px",
                  ...props.style
                }
              }
            )
          }
        );
      }
    );
    ScrollArea.displayName = SCROLL_AREA_NAME;
    VIEWPORT_NAME = "ScrollAreaViewport";
    ScrollAreaViewport = React23.forwardRef(
      (props, forwardedRef) => {
        const { __scopeScrollArea, children, asChild, nonce, ...viewportProps } = props;
        const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);
        const ref = React23.useRef(null);
        const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);
        return (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
          (0, import_jsx_runtime5.jsx)(
            "style",
            {
              dangerouslySetInnerHTML: {
                __html: `
[data-radix-scroll-area-viewport] {
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
}
[data-radix-scroll-area-viewport]::-webkit-scrollbar {
  display: none;
}
:where([data-radix-scroll-area-viewport]) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
:where([data-radix-scroll-area-content]) {
  flex-grow: 1;
}
`
              },
              nonce
            }
          ),
          (0, import_jsx_runtime5.jsx)(
            Primitive.div,
            {
              "data-radix-scroll-area-viewport": "",
              ...viewportProps,
              asChild,
              ref: composedRefs,
              style: {
                /**
                 * We don't support `visible` because the intention is to have at least one scrollbar
                 * if this component is used and `visible` will behave like `auto` in that case
                 * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description
                 *
                 * We don't handle `auto` because the intention is for the native implementation
                 * to be hidden if using this component. We just want to ensure the node is scrollable
                 * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent
                 * the browser from having to work out whether to render native scrollbars or not,
                 * we tell it to with the intention of hiding them in CSS.
                 */
                overflowX: context.scrollbarXEnabled ? "scroll" : "hidden",
                overflowY: context.scrollbarYEnabled ? "scroll" : "hidden",
                ...props.style
              },
              children: getSubtree({ asChild, children }, (children2) => (0, import_jsx_runtime5.jsx)(
                "div",
                {
                  "data-radix-scroll-area-content": "",
                  ref: context.onContentChange,
                  style: { minWidth: context.scrollbarXEnabled ? "fit-content" : void 0 },
                  children: children2
                }
              ))
            }
          )
        ] });
      }
    );
    ScrollAreaViewport.displayName = VIEWPORT_NAME;
    SCROLLBAR_NAME = "ScrollAreaScrollbar";
    ScrollAreaScrollbar = React23.forwardRef(
      (props, forwardedRef) => {
        const { forceMount, ...scrollbarProps } = props;
        const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
        const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;
        const isHorizontal = props.orientation === "horizontal";
        React23.useEffect(() => {
          isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);
          return () => {
            isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);
          };
        }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);
        return context.type === "hover" ? (0, import_jsx_runtime5.jsx)(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === "scroll" ? (0, import_jsx_runtime5.jsx)(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === "auto" ? (0, import_jsx_runtime5.jsx)(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === "always" ? (0, import_jsx_runtime5.jsx)(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;
      }
    );
    ScrollAreaScrollbar.displayName = SCROLLBAR_NAME;
    ScrollAreaScrollbarHover = React23.forwardRef((props, forwardedRef) => {
      const { forceMount, ...scrollbarProps } = props;
      const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
      const [visible, setVisible] = React23.useState(false);
      React23.useEffect(() => {
        const scrollArea = context.scrollArea;
        let hideTimer = 0;
        if (scrollArea) {
          const handlePointerEnter = /* @__PURE__ */ __name(() => {
            window.clearTimeout(hideTimer);
            setVisible(true);
          }, "handlePointerEnter");
          const handlePointerLeave = /* @__PURE__ */ __name(() => {
            hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);
          }, "handlePointerLeave");
          scrollArea.addEventListener("pointerenter", handlePointerEnter);
          scrollArea.addEventListener("pointerleave", handlePointerLeave);
          return () => {
            window.clearTimeout(hideTimer);
            scrollArea.removeEventListener("pointerenter", handlePointerEnter);
            scrollArea.removeEventListener("pointerleave", handlePointerLeave);
          };
        }
      }, [context.scrollArea, context.scrollHideDelay]);
      return (0, import_jsx_runtime5.jsx)(Presence, { present: forceMount || visible, children: (0, import_jsx_runtime5.jsx)(
        ScrollAreaScrollbarAuto,
        {
          "data-state": visible ? "visible" : "hidden",
          ...scrollbarProps,
          ref: forwardedRef
        }
      ) });
    });
    ScrollAreaScrollbarScroll = React23.forwardRef((props, forwardedRef) => {
      const { forceMount, ...scrollbarProps } = props;
      const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
      const isHorizontal = props.orientation === "horizontal";
      const debounceScrollEnd = useDebounceCallback(() => send("SCROLL_END"), 100);
      const [state3, send] = useStateMachine2("hidden", {
        hidden: {
          SCROLL: "scrolling"
        },
        scrolling: {
          SCROLL_END: "idle",
          POINTER_ENTER: "interacting"
        },
        interacting: {
          SCROLL: "interacting",
          POINTER_LEAVE: "idle"
        },
        idle: {
          HIDE: "hidden",
          SCROLL: "scrolling",
          POINTER_ENTER: "interacting"
        }
      });
      React23.useEffect(() => {
        if (state3 === "idle") {
          const hideTimer = window.setTimeout(() => send("HIDE"), context.scrollHideDelay);
          return () => window.clearTimeout(hideTimer);
        }
      }, [state3, context.scrollHideDelay, send]);
      React23.useEffect(() => {
        const viewport2 = context.viewport;
        const scrollDirection = isHorizontal ? "scrollLeft" : "scrollTop";
        if (viewport2) {
          let prevScrollPos = viewport2[scrollDirection];
          const handleScroll2 = /* @__PURE__ */ __name(() => {
            const scrollPos = viewport2[scrollDirection];
            const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;
            if (hasScrollInDirectionChanged) {
              send("SCROLL");
              debounceScrollEnd();
            }
            prevScrollPos = scrollPos;
          }, "handleScroll");
          viewport2.addEventListener("scroll", handleScroll2);
          return () => viewport2.removeEventListener("scroll", handleScroll2);
        }
      }, [context.viewport, isHorizontal, send, debounceScrollEnd]);
      return (0, import_jsx_runtime5.jsx)(Presence, { present: forceMount || state3 !== "hidden", children: (0, import_jsx_runtime5.jsx)(
        ScrollAreaScrollbarVisible,
        {
          "data-state": state3 === "hidden" ? "hidden" : "visible",
          ...scrollbarProps,
          ref: forwardedRef,
          onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send("POINTER_ENTER")),
          onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send("POINTER_LEAVE"))
        }
      ) });
    });
    ScrollAreaScrollbarAuto = React23.forwardRef((props, forwardedRef) => {
      const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
      const { forceMount, ...scrollbarProps } = props;
      const [visible, setVisible] = React23.useState(false);
      const isHorizontal = props.orientation === "horizontal";
      const handleResize = useDebounceCallback(() => {
        if (context.viewport) {
          const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;
          const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;
          setVisible(isHorizontal ? isOverflowX : isOverflowY);
        }
      }, 10);
      useResizeObserver(context.viewport, handleResize);
      useResizeObserver(context.content, handleResize);
      return (0, import_jsx_runtime5.jsx)(Presence, { present: forceMount || visible, children: (0, import_jsx_runtime5.jsx)(
        ScrollAreaScrollbarVisible,
        {
          "data-state": visible ? "visible" : "hidden",
          ...scrollbarProps,
          ref: forwardedRef
        }
      ) });
    });
    ScrollAreaScrollbarVisible = React23.forwardRef((props, forwardedRef) => {
      const { orientation = "vertical", ...scrollbarProps } = props;
      const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
      const thumbRef = React23.useRef(null);
      const pointerOffsetRef = React23.useRef(0);
      const [sizes2, setSizes] = React23.useState({
        content: 0,
        viewport: 0,
        scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }
      });
      const thumbRatio = getThumbRatio(sizes2.viewport, sizes2.content);
      const commonProps = {
        ...scrollbarProps,
        sizes: sizes2,
        onSizesChange: setSizes,
        hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),
        onThumbChange: /* @__PURE__ */ __name((thumb) => thumbRef.current = thumb, "onThumbChange"),
        onThumbPointerUp: /* @__PURE__ */ __name(() => pointerOffsetRef.current = 0, "onThumbPointerUp"),
        onThumbPointerDown: /* @__PURE__ */ __name((pointerPos) => pointerOffsetRef.current = pointerPos, "onThumbPointerDown")
      };
      function getScrollPosition(pointerPos, dir) {
        return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes2, dir);
      }
      __name(getScrollPosition, "getScrollPosition");
      if (orientation === "horizontal") {
        return (0, import_jsx_runtime5.jsx)(
          ScrollAreaScrollbarX,
          {
            ...commonProps,
            ref: forwardedRef,
            onThumbPositionChange: /* @__PURE__ */ __name(() => {
              if (context.viewport && thumbRef.current) {
                const scrollPos = context.viewport.scrollLeft;
                const offset3 = getThumbOffsetFromScroll(scrollPos, sizes2, context.dir);
                thumbRef.current.style.transform = `translate3d(${offset3}px, 0, 0)`;
              }
            }, "onThumbPositionChange"),
            onWheelScroll: /* @__PURE__ */ __name((scrollPos) => {
              if (context.viewport) context.viewport.scrollLeft = scrollPos;
            }, "onWheelScroll"),
            onDragScroll: /* @__PURE__ */ __name((pointerPos) => {
              if (context.viewport) {
                context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);
              }
            }, "onDragScroll")
          }
        );
      }
      if (orientation === "vertical") {
        return (0, import_jsx_runtime5.jsx)(
          ScrollAreaScrollbarY,
          {
            ...commonProps,
            ref: forwardedRef,
            onThumbPositionChange: /* @__PURE__ */ __name(() => {
              if (context.viewport && thumbRef.current) {
                const scrollPos = context.viewport.scrollTop;
                const offset3 = getThumbOffsetFromScroll(scrollPos, sizes2);
                thumbRef.current.style.transform = `translate3d(0, ${offset3}px, 0)`;
              }
            }, "onThumbPositionChange"),
            onWheelScroll: /* @__PURE__ */ __name((scrollPos) => {
              if (context.viewport) context.viewport.scrollTop = scrollPos;
            }, "onWheelScroll"),
            onDragScroll: /* @__PURE__ */ __name((pointerPos) => {
              if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);
            }, "onDragScroll")
          }
        );
      }
      return null;
    });
    ScrollAreaScrollbarX = React23.forwardRef((props, forwardedRef) => {
      const { sizes: sizes2, onSizesChange, ...scrollbarProps } = props;
      const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
      const [computedStyle, setComputedStyle] = React23.useState();
      const ref = React23.useRef(null);
      const composeRefs3 = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);
      React23.useEffect(() => {
        if (ref.current) setComputedStyle(getComputedStyle(ref.current));
      }, [ref]);
      return (0, import_jsx_runtime5.jsx)(
        ScrollAreaScrollbarImpl,
        {
          "data-orientation": "horizontal",
          ...scrollbarProps,
          ref: composeRefs3,
          sizes: sizes2,
          style: {
            bottom: 0,
            left: context.dir === "rtl" ? "var(--radix-scroll-area-corner-width)" : 0,
            right: context.dir === "ltr" ? "var(--radix-scroll-area-corner-width)" : 0,
            ["--radix-scroll-area-thumb-width"]: getThumbSize(sizes2) + "px",
            ...props.style
          },
          onThumbPointerDown: /* @__PURE__ */ __name((pointerPos) => props.onThumbPointerDown(pointerPos.x), "onThumbPointerDown"),
          onDragScroll: /* @__PURE__ */ __name((pointerPos) => props.onDragScroll(pointerPos.x), "onDragScroll"),
          onWheelScroll: /* @__PURE__ */ __name((event, maxScrollPos) => {
            if (context.viewport) {
              const scrollPos = context.viewport.scrollLeft + event.deltaX;
              props.onWheelScroll(scrollPos);
              if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {
                event.preventDefault();
              }
            }
          }, "onWheelScroll"),
          onResize: /* @__PURE__ */ __name(() => {
            if (ref.current && context.viewport && computedStyle) {
              onSizesChange({
                content: context.viewport.scrollWidth,
                viewport: context.viewport.offsetWidth,
                scrollbar: {
                  size: ref.current.clientWidth,
                  paddingStart: toInt(computedStyle.paddingLeft),
                  paddingEnd: toInt(computedStyle.paddingRight)
                }
              });
            }
          }, "onResize")
        }
      );
    });
    ScrollAreaScrollbarY = React23.forwardRef((props, forwardedRef) => {
      const { sizes: sizes2, onSizesChange, ...scrollbarProps } = props;
      const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
      const [computedStyle, setComputedStyle] = React23.useState();
      const ref = React23.useRef(null);
      const composeRefs3 = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);
      React23.useEffect(() => {
        if (ref.current) setComputedStyle(getComputedStyle(ref.current));
      }, [ref]);
      return (0, import_jsx_runtime5.jsx)(
        ScrollAreaScrollbarImpl,
        {
          "data-orientation": "vertical",
          ...scrollbarProps,
          ref: composeRefs3,
          sizes: sizes2,
          style: {
            top: 0,
            right: context.dir === "ltr" ? 0 : void 0,
            left: context.dir === "rtl" ? 0 : void 0,
            bottom: "var(--radix-scroll-area-corner-height)",
            ["--radix-scroll-area-thumb-height"]: getThumbSize(sizes2) + "px",
            ...props.style
          },
          onThumbPointerDown: /* @__PURE__ */ __name((pointerPos) => props.onThumbPointerDown(pointerPos.y), "onThumbPointerDown"),
          onDragScroll: /* @__PURE__ */ __name((pointerPos) => props.onDragScroll(pointerPos.y), "onDragScroll"),
          onWheelScroll: /* @__PURE__ */ __name((event, maxScrollPos) => {
            if (context.viewport) {
              const scrollPos = context.viewport.scrollTop + event.deltaY;
              props.onWheelScroll(scrollPos);
              if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {
                event.preventDefault();
              }
            }
          }, "onWheelScroll"),
          onResize: /* @__PURE__ */ __name(() => {
            if (ref.current && context.viewport && computedStyle) {
              onSizesChange({
                content: context.viewport.scrollHeight,
                viewport: context.viewport.offsetHeight,
                scrollbar: {
                  size: ref.current.clientHeight,
                  paddingStart: toInt(computedStyle.paddingTop),
                  paddingEnd: toInt(computedStyle.paddingBottom)
                }
              });
            }
          }, "onResize")
        }
      );
    });
    [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);
    ScrollAreaScrollbarImpl = React23.forwardRef((props, forwardedRef) => {
      const {
        __scopeScrollArea,
        sizes: sizes2,
        hasThumb,
        onThumbChange,
        onThumbPointerUp,
        onThumbPointerDown,
        onThumbPositionChange,
        onDragScroll,
        onWheelScroll,
        onResize,
        ...scrollbarProps
      } = props;
      const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);
      const [scrollbar, setScrollbar] = React23.useState(null);
      const composeRefs3 = useComposedRefs(forwardedRef, (node2) => setScrollbar(node2));
      const rectRef = React23.useRef(null);
      const prevWebkitUserSelectRef = React23.useRef("");
      const viewport2 = context.viewport;
      const maxScrollPos = sizes2.content - sizes2.viewport;
      const handleWheelScroll = useCallbackRef(onWheelScroll);
      const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);
      const handleResize = useDebounceCallback(onResize, 10);
      function handleDragScroll(event) {
        if (rectRef.current) {
          const x = event.clientX - rectRef.current.left;
          const y = event.clientY - rectRef.current.top;
          onDragScroll({ x, y });
        }
      }
      __name(handleDragScroll, "handleDragScroll");
      React23.useEffect(() => {
        const handleWheel = /* @__PURE__ */ __name((event) => {
          const element = event.target;
          const isScrollbarWheel = scrollbar?.contains(element);
          if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);
        }, "handleWheel");
        document.addEventListener("wheel", handleWheel, { passive: false });
        return () => document.removeEventListener("wheel", handleWheel, { passive: false });
      }, [viewport2, scrollbar, maxScrollPos, handleWheelScroll]);
      React23.useEffect(handleThumbPositionChange, [sizes2, handleThumbPositionChange]);
      useResizeObserver(scrollbar, handleResize);
      useResizeObserver(context.content, handleResize);
      return (0, import_jsx_runtime5.jsx)(
        ScrollbarProvider,
        {
          scope: __scopeScrollArea,
          scrollbar,
          hasThumb,
          onThumbChange: useCallbackRef(onThumbChange),
          onThumbPointerUp: useCallbackRef(onThumbPointerUp),
          onThumbPositionChange: handleThumbPositionChange,
          onThumbPointerDown: useCallbackRef(onThumbPointerDown),
          children: (0, import_jsx_runtime5.jsx)(
            Primitive.div,
            {
              ...scrollbarProps,
              ref: composeRefs3,
              style: { position: "absolute", ...scrollbarProps.style },
              onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {
                const mainPointer = 0;
                if (event.button === mainPointer) {
                  const element = event.target;
                  element.setPointerCapture(event.pointerId);
                  rectRef.current = scrollbar.getBoundingClientRect();
                  prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;
                  document.body.style.webkitUserSelect = "none";
                  if (context.viewport) context.viewport.style.scrollBehavior = "auto";
                  handleDragScroll(event);
                }
              }),
              onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),
              onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {
                const element = event.target;
                if (element.hasPointerCapture(event.pointerId)) {
                  element.releasePointerCapture(event.pointerId);
                }
                document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;
                if (context.viewport) context.viewport.style.scrollBehavior = "";
                rectRef.current = null;
              })
            }
          )
        }
      );
    });
    THUMB_NAME = "ScrollAreaThumb";
    ScrollAreaThumb = React23.forwardRef(
      (props, forwardedRef) => {
        const { forceMount, ...thumbProps } = props;
        const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);
        return (0, import_jsx_runtime5.jsx)(Presence, { present: forceMount || scrollbarContext.hasThumb, children: (0, import_jsx_runtime5.jsx)(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });
      }
    );
    ScrollAreaThumbImpl = React23.forwardRef(
      (props, forwardedRef) => {
        const { __scopeScrollArea, style, ...thumbProps } = props;
        const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);
        const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);
        const { onThumbPositionChange } = scrollbarContext;
        const composedRef = useComposedRefs(
          forwardedRef,
          (node2) => scrollbarContext.onThumbChange(node2)
        );
        const removeUnlinkedScrollListenerRef = React23.useRef();
        const debounceScrollEnd = useDebounceCallback(() => {
          if (removeUnlinkedScrollListenerRef.current) {
            removeUnlinkedScrollListenerRef.current();
            removeUnlinkedScrollListenerRef.current = void 0;
          }
        }, 100);
        React23.useEffect(() => {
          const viewport2 = scrollAreaContext.viewport;
          if (viewport2) {
            const handleScroll2 = /* @__PURE__ */ __name(() => {
              debounceScrollEnd();
              if (!removeUnlinkedScrollListenerRef.current) {
                const listener = addUnlinkedScrollListener(viewport2, onThumbPositionChange);
                removeUnlinkedScrollListenerRef.current = listener;
                onThumbPositionChange();
              }
            }, "handleScroll");
            onThumbPositionChange();
            viewport2.addEventListener("scroll", handleScroll2);
            return () => viewport2.removeEventListener("scroll", handleScroll2);
          }
        }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);
        return (0, import_jsx_runtime5.jsx)(
          Primitive.div,
          {
            "data-state": scrollbarContext.hasThumb ? "visible" : "hidden",
            ...thumbProps,
            ref: composedRef,
            style: {
              width: "var(--radix-scroll-area-thumb-width)",
              height: "var(--radix-scroll-area-thumb-height)",
              ...style
            },
            onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {
              const thumb = event.target;
              const thumbRect = thumb.getBoundingClientRect();
              const x = event.clientX - thumbRect.left;
              const y = event.clientY - thumbRect.top;
              scrollbarContext.onThumbPointerDown({ x, y });
            }),
            onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)
          }
        );
      }
    );
    ScrollAreaThumb.displayName = THUMB_NAME;
    CORNER_NAME = "ScrollAreaCorner";
    ScrollAreaCorner = React23.forwardRef(
      (props, forwardedRef) => {
        const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);
        const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);
        const hasCorner = context.type !== "scroll" && hasBothScrollbarsVisible;
        return hasCorner ? (0, import_jsx_runtime5.jsx)(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;
      }
    );
    ScrollAreaCorner.displayName = CORNER_NAME;
    ScrollAreaCornerImpl = React23.forwardRef((props, forwardedRef) => {
      const { __scopeScrollArea, ...cornerProps } = props;
      const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);
      const [width, setWidth] = React23.useState(0);
      const [height, setHeight] = React23.useState(0);
      const hasSize = Boolean(width && height);
      useResizeObserver(context.scrollbarX, () => {
        const height2 = context.scrollbarX?.offsetHeight || 0;
        context.onCornerHeightChange(height2);
        setHeight(height2);
      });
      useResizeObserver(context.scrollbarY, () => {
        const width2 = context.scrollbarY?.offsetWidth || 0;
        context.onCornerWidthChange(width2);
        setWidth(width2);
      });
      return hasSize ? (0, import_jsx_runtime5.jsx)(
        Primitive.div,
        {
          ...cornerProps,
          ref: forwardedRef,
          style: {
            width,
            height,
            position: "absolute",
            right: context.dir === "ltr" ? 0 : void 0,
            left: context.dir === "rtl" ? 0 : void 0,
            bottom: 0,
            ...props.style
          }
        }
      ) : null;
    });
    __name(toInt, "toInt");
    __name(getThumbRatio, "getThumbRatio");
    __name(getThumbSize, "getThumbSize");
    __name(getScrollPositionFromPointer, "getScrollPositionFromPointer");
    __name(getThumbOffsetFromScroll, "getThumbOffsetFromScroll");
    __name(linearScale, "linearScale");
    __name(isScrollingWithinScrollbarBounds, "isScrollingWithinScrollbarBounds");
    addUnlinkedScrollListener = /* @__PURE__ */ __name((node2, handler = () => {
    }) => {
      let prevPosition = { left: node2.scrollLeft, top: node2.scrollTop };
      let rAF = 0;
      (/* @__PURE__ */ __name(function loop() {
        const position2 = { left: node2.scrollLeft, top: node2.scrollTop };
        const isHorizontalScroll = prevPosition.left !== position2.left;
        const isVerticalScroll = prevPosition.top !== position2.top;
        if (isHorizontalScroll || isVerticalScroll) handler();
        prevPosition = position2;
        rAF = window.requestAnimationFrame(loop);
      }, "loop"))();
      return () => window.cancelAnimationFrame(rAF);
    }, "addUnlinkedScrollListener");
    __name(useDebounceCallback, "useDebounceCallback");
    __name(useResizeObserver, "useResizeObserver");
    __name(getSubtree, "getSubtree");
    Root = ScrollArea;
    Viewport = ScrollAreaViewport;
    Scrollbar = ScrollAreaScrollbar;
    Thumb = ScrollAreaThumb;
    Corner = ScrollAreaCorner;
  }
});

// src/components/components/ScrollArea/ScrollArea.tsx
var import_react11, ScrollAreaRoot, ScrollAreaViewport2, ScrollAreaScrollbar2, ScrollAreaThumb2, ScrollArea2;
var init_ScrollArea = __esm({
  "src/components/components/ScrollArea/ScrollArea.tsx"() {
    "use strict";
    import_react11 = __toESM(require_react(), 1);
    init_dist12();
    init_theming();
    ScrollAreaRoot = styled(Root)(
      ({ scrollbarsize, offset: offset3 }) => ({
        width: "100%",
        height: "100%",
        overflow: "hidden",
        "--scrollbar-size": `${scrollbarsize + offset3}px`,
        "--radix-scroll-area-thumb-width": `${scrollbarsize}px`
      })
    );
    ScrollAreaViewport2 = styled(Viewport)({
      width: "100%",
      height: "100%"
    });
    ScrollAreaScrollbar2 = styled(Scrollbar)(({ offset: offset3, horizontal, vertical }) => ({
      display: "flex",
      userSelect: "none",
      // ensures no selection
      touchAction: "none",
      // disable browser handling of all panning and zooming gestures on touch devices
      background: "transparent",
      transition: "all 0.2s ease-out",
      borderRadius: "var(--scrollbar-size)",
      zIndex: 1,
      '&[data-orientation="vertical"]': {
        width: "var(--scrollbar-size)",
        paddingRight: offset3,
        marginTop: offset3,
        marginBottom: horizontal === "true" && vertical === "true" ? 0 : offset3
      },
      '&[data-orientation="horizontal"]': {
        flexDirection: "column",
        height: "var(--scrollbar-size)",
        paddingBottom: offset3,
        marginLeft: offset3,
        marginRight: horizontal === "true" && vertical === "true" ? 0 : offset3
      }
    }));
    ScrollAreaThumb2 = styled(Thumb)(({ theme: theme3 }) => ({
      flex: 1,
      background: theme3.textMutedColor,
      opacity: 0.5,
      borderRadius: `var(--scrollbar-size)`,
      position: "relative",
      transition: "opacity 0.2s ease-out",
      "&:hover": { opacity: 0.8 },
      /* increase target size for touch devices https://www.w3.org/WAI/WCAG21/Understanding/target-size.html */
      "::before": {
        content: '""',
        position: "absolute",
        top: "50%",
        left: "50%",
        transform: "translate(-50%,-50%)",
        width: "100%",
        height: "100%"
      }
    }));
    ScrollArea2 = (0, import_react11.forwardRef)(
      ({ children, horizontal = false, vertical = false, offset: offset3 = 2, scrollbarSize = 6, className }, ref) => import_react11.default.createElement(ScrollAreaRoot, { scrollbarsize: scrollbarSize, offset: offset3, className }, import_react11.default.createElement(ScrollAreaViewport2, { ref }, children), horizontal && import_react11.default.createElement(
        ScrollAreaScrollbar2,
        {
          orientation: "horizontal",
          offset: offset3,
          horizontal: horizontal.toString(),
          vertical: vertical.toString()
        },
        import_react11.default.createElement(ScrollAreaThumb2, null)
      ), vertical && import_react11.default.createElement(
        ScrollAreaScrollbar2,
        {
          orientation: "vertical",
          offset: offset3,
          horizontal: horizontal.toString(),
          vertical: vertical.toString()
        },
        import_react11.default.createElement(ScrollAreaThumb2, null)
      ), horizontal && vertical && import_react11.default.createElement(Corner, null))
    );
    ScrollArea2.displayName = "ScrollArea";
  }
});

// src/components/components/syntaxhighlighter/clipboard.ts
async function copyUsingClipboardAPI(text) {
  try {
    await globalWindow2.top?.navigator.clipboard.writeText(text);
  } catch {
    await globalWindow2.navigator.clipboard.writeText(text);
  }
}
async function copyUsingWorkAround(text) {
  const tmp = document3.createElement("TEXTAREA");
  const focus2 = document3.activeElement;
  tmp.value = text;
  document3.body.appendChild(tmp);
  tmp.select();
  document3.execCommand("copy");
  document3.body.removeChild(tmp);
  focus2.focus();
}
function createCopyToClipboardFunction() {
  return globalWindow2.navigator?.clipboard ? copyUsingClipboardAPI : copyUsingWorkAround;
}
var document3, globalWindow2;
var init_clipboard = __esm({
  "src/components/components/syntaxhighlighter/clipboard.ts"() {
    "use strict";
    init_dist();
    ({ document: document3, window: globalWindow2 } = scope);
    __name(copyUsingClipboardAPI, "copyUsingClipboardAPI");
    __name(copyUsingWorkAround, "copyUsingWorkAround");
    __name(createCopyToClipboardFunction, "createCopyToClipboardFunction");
  }
});

// src/components/components/syntaxhighlighter/syntaxhighlighter.tsx
var syntaxhighlighter_exports = {};
__export(syntaxhighlighter_exports, {
  SyntaxHighlighter: () => SyntaxHighlighter2,
  default: () => syntaxhighlighter_default,
  supportedLanguages: () => supportedLanguages
});
var import_react12, import_memoizerific2, globalWindow3, supportedLanguages, themedSyntax, copyToClipboard, Wrapper, UnstyledScroller, Scroller, Pre, Code, processLineNumber, defaultRenderer2, wrapRenderer, SyntaxHighlighter2, syntaxhighlighter_default;
var init_syntaxhighlighter = __esm({
  "src/components/components/syntaxhighlighter/syntaxhighlighter.tsx"() {
    "use strict";
    import_react12 = __toESM(require_react(), 1);
    init_client_logger();
    init_dist();
    import_memoizerific2 = __toESM(require_memoizerific(), 1);
    init_create_element();
    init_bash();
    init_css();
    init_graphql();
    init_js_extras();
    init_json();
    init_jsx();
    init_markdown();
    init_markup();
    init_tsx();
    init_typescript();
    init_yaml();
    init_prism_light();
    init_theming();
    init_ActionBar();
    init_ScrollArea();
    init_clipboard();
    ({ window: globalWindow3 } = scope);
    supportedLanguages = {
      jsextra: js_extras_default,
      jsx: jsx_default,
      json: json_default,
      yml: yaml_default,
      md: markdown_default,
      bash: bash_default,
      css: css_default,
      html: markup_default,
      tsx: tsx_default,
      typescript: typescript_default,
      graphql: graphql_default
    };
    Object.entries(supportedLanguages).forEach(([key, val]) => {
      prism_light_default.registerLanguage(key, val);
    });
    themedSyntax = (0, import_memoizerific2.default)(2)(
      (theme3) => Object.entries(theme3.code || {}).reduce((acc, [key, val]) => ({ ...acc, [`* .${key}`]: val }), {})
    );
    copyToClipboard = createCopyToClipboardFunction();
    Wrapper = styled.div(
      ({ theme: theme3 }) => ({
        position: "relative",
        overflow: "hidden",
        color: theme3.color.defaultText
      }),
      ({ theme: theme3, bordered }) => bordered ? {
        border: `1px solid ${theme3.appBorderColor}`,
        borderRadius: theme3.borderRadius,
        background: theme3.background.content
      } : {},
      ({ showLineNumbers }) => showLineNumbers ? {
        // use the before pseudo element to display line numbers
        ".react-syntax-highlighter-line-number::before": {
          content: "attr(data-line-number)"
        }
      } : {}
    );
    UnstyledScroller = /* @__PURE__ */ __name(({ children, className }) => import_react12.default.createElement(ScrollArea2, { horizontal: true, vertical: true, className }, children), "UnstyledScroller");
    Scroller = styled(UnstyledScroller)(
      {
        position: "relative"
      },
      ({ theme: theme3 }) => themedSyntax(theme3)
    );
    Pre = styled.pre(({ theme: theme3, padded }) => ({
      display: "flex",
      justifyContent: "flex-start",
      margin: 0,
      padding: padded ? theme3.layoutMargin : 0
    }));
    Code = styled.div(({ theme: theme3 }) => ({
      flex: 1,
      paddingLeft: 2,
      // TODO: To match theming/global.ts for now
      paddingRight: theme3.layoutMargin,
      opacity: 1,
      fontFamily: theme3.typography.fonts.mono
    }));
    processLineNumber = /* @__PURE__ */ __name((row) => {
      const children = [...row.children];
      const lineNumberNode = children[0];
      const lineNumber = lineNumberNode.children[0].value;
      const processedLineNumberNode = {
        ...lineNumberNode,
        // empty the line-number element
        children: [],
        properties: {
          ...lineNumberNode.properties,
          // add a data-line-number attribute to line-number element, so we can access the line number with `content: attr(data-line-number)`
          "data-line-number": lineNumber,
          // remove the 'userSelect: none' style, which will produce extra empty lines when copy-pasting in firefox
          style: { ...lineNumberNode.properties.style, userSelect: "auto" }
        }
      };
      children[0] = processedLineNumberNode;
      return { ...row, children };
    }, "processLineNumber");
    defaultRenderer2 = /* @__PURE__ */ __name(({ rows, stylesheet, useInlineStyles }) => {
      return rows.map((node2, i2) => {
        return createElement4({
          node: processLineNumber(node2),
          stylesheet,
          useInlineStyles,
          key: `code-segement${i2}`
        });
      });
    }, "defaultRenderer");
    wrapRenderer = /* @__PURE__ */ __name((renderer, showLineNumbers) => {
      if (!showLineNumbers) {
        return renderer;
      }
      if (renderer) {
        return ({ rows, ...rest }) => renderer({ rows: rows.map((row) => processLineNumber(row)), ...rest });
      }
      return defaultRenderer2;
    }, "wrapRenderer");
    SyntaxHighlighter2 = /* @__PURE__ */ __name(({
      children,
      language = "jsx",
      copyable = false,
      bordered = false,
      padded = false,
      format: format4 = true,
      formatter: formatter2 = void 0,
      className = void 0,
      showLineNumbers = false,
      ...rest
    }) => {
      if (typeof children !== "string" || !children.trim()) {
        return null;
      }
      const [highlightableCode, setHighlightableCode] = (0, import_react12.useState)("");
      (0, import_react12.useEffect)(() => {
        if (formatter2) {
          formatter2(format4, children).then(setHighlightableCode);
        } else {
          setHighlightableCode(children.trim());
        }
      }, [children, format4, formatter2]);
      const [copied, setCopied] = (0, import_react12.useState)(false);
      const onClick = (0, import_react12.useCallback)(
        (e2) => {
          e2.preventDefault();
          copyToClipboard(highlightableCode).then(() => {
            setCopied(true);
            globalWindow3.setTimeout(() => setCopied(false), 1500);
          }).catch(logger.error);
        },
        [highlightableCode]
      );
      const renderer = wrapRenderer(rest.renderer, showLineNumbers);
      return import_react12.default.createElement(
        Wrapper,
        {
          bordered,
          padded,
          showLineNumbers,
          className
        },
        import_react12.default.createElement(Scroller, null, import_react12.default.createElement(
          prism_light_default,
          {
            padded: padded || bordered,
            language,
            showLineNumbers,
            showInlineLineNumbers: showLineNumbers,
            useInlineStyles: false,
            PreTag: Pre,
            CodeTag: Code,
            lineNumberContainerStyle: {},
            ...rest,
            renderer
          },
          highlightableCode
        )),
        copyable ? import_react12.default.createElement(ActionBar, { actionItems: [{ title: copied ? "Copied" : "Copy", onClick }] }) : null
      );
    }, "SyntaxHighlighter");
    SyntaxHighlighter2.registerLanguage = (...args) => prism_light_default.registerLanguage(...args);
    syntaxhighlighter_default = SyntaxHighlighter2;
  }
});

// src/components/components/syntaxhighlighter/formatter.ts
var formatter_exports = {};
__export(formatter_exports, {
  formatter: () => formatter
});
var import_memoizerific3, formatter;
var init_formatter = __esm({
  "src/components/components/syntaxhighlighter/formatter.ts"() {
    "use strict";
    import_memoizerific3 = __toESM(require_memoizerific(), 1);
    init_esm();
    formatter = (0, import_memoizerific3.default)(2)(async (type5, source) => {
      if (type5 === false) {
        return source;
      }
      return dedent(source);
    });
  }
});

// ../node_modules/react-popper/lib/esm/Manager.js
var React70, ManagerReferenceNodeContext, ManagerReferenceNodeSetterContext;
var init_Manager = __esm({
  "../node_modules/react-popper/lib/esm/Manager.js"() {
    React70 = __toESM(require_react());
    ManagerReferenceNodeContext = React70.createContext();
    ManagerReferenceNodeSetterContext = React70.createContext();
  }
});

// ../node_modules/react-popper/lib/esm/utils.js
var React71, fromEntries, useIsomorphicLayoutEffect2;
var init_utils3 = __esm({
  "../node_modules/react-popper/lib/esm/utils.js"() {
    React71 = __toESM(require_react());
    fromEntries = /* @__PURE__ */ __name(function fromEntries2(entries) {
      return entries.reduce(function(acc, _ref) {
        var key = _ref[0], value = _ref[1];
        acc[key] = value;
        return acc;
      }, {});
    }, "fromEntries");
    useIsomorphicLayoutEffect2 = typeof window !== "undefined" && window.document && window.document.createElement ? React71.useLayoutEffect : React71.useEffect;
  }
});

// ../node_modules/@popperjs/core/lib/enums.js
var top, bottom, right, left, auto, basePlacements, start, end, clippingParents, viewport, popper, reference, variationPlacements, placements, beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite, modifierPhases;
var init_enums = __esm({
  "../node_modules/@popperjs/core/lib/enums.js"() {
    top = "top";
    bottom = "bottom";
    right = "right";
    left = "left";
    auto = "auto";
    basePlacements = [top, bottom, right, left];
    start = "start";
    end = "end";
    clippingParents = "clippingParents";
    viewport = "viewport";
    popper = "popper";
    reference = "reference";
    variationPlacements = basePlacements.reduce(function(acc, placement) {
      return acc.concat([placement + "-" + start, placement + "-" + end]);
    }, []);
    placements = [].concat(basePlacements, [auto]).reduce(function(acc, placement) {
      return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
    }, []);
    beforeRead = "beforeRead";
    read = "read";
    afterRead = "afterRead";
    beforeMain = "beforeMain";
    main = "main";
    afterMain = "afterMain";
    beforeWrite = "beforeWrite";
    write = "write";
    afterWrite = "afterWrite";
    modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js
function getNodeName(element) {
  return element ? (element.nodeName || "").toLowerCase() : null;
}
var init_getNodeName = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"() {
    __name(getNodeName, "getNodeName");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getWindow.js
function getWindow(node2) {
  if (node2 == null) {
    return window;
  }
  if (node2.toString() !== "[object Window]") {
    var ownerDocument = node2.ownerDocument;
    return ownerDocument ? ownerDocument.defaultView || window : window;
  }
  return node2;
}
var init_getWindow = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getWindow.js"() {
    __name(getWindow, "getWindow");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js
function isElement(node2) {
  var OwnElement = getWindow(node2).Element;
  return node2 instanceof OwnElement || node2 instanceof Element;
}
function isHTMLElement(node2) {
  var OwnElement = getWindow(node2).HTMLElement;
  return node2 instanceof OwnElement || node2 instanceof HTMLElement;
}
function isShadowRoot(node2) {
  if (typeof ShadowRoot === "undefined") {
    return false;
  }
  var OwnElement = getWindow(node2).ShadowRoot;
  return node2 instanceof OwnElement || node2 instanceof ShadowRoot;
}
var init_instanceOf = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"() {
    init_getWindow();
    __name(isElement, "isElement");
    __name(isHTMLElement, "isHTMLElement");
    __name(isShadowRoot, "isShadowRoot");
  }
});

// ../node_modules/@popperjs/core/lib/modifiers/applyStyles.js
function applyStyles(_ref) {
  var state3 = _ref.state;
  Object.keys(state3.elements).forEach(function(name) {
    var style = state3.styles[name] || {};
    var attributes = state3.attributes[name] || {};
    var element = state3.elements[name];
    if (!isHTMLElement(element) || !getNodeName(element)) {
      return;
    }
    Object.assign(element.style, style);
    Object.keys(attributes).forEach(function(name2) {
      var value = attributes[name2];
      if (value === false) {
        element.removeAttribute(name2);
      } else {
        element.setAttribute(name2, value === true ? "" : value);
      }
    });
  });
}
function effect(_ref2) {
  var state3 = _ref2.state;
  var initialStyles = {
    popper: {
      position: state3.options.strategy,
      left: "0",
      top: "0",
      margin: "0"
    },
    arrow: {
      position: "absolute"
    },
    reference: {}
  };
  Object.assign(state3.elements.popper.style, initialStyles.popper);
  state3.styles = initialStyles;
  if (state3.elements.arrow) {
    Object.assign(state3.elements.arrow.style, initialStyles.arrow);
  }
  return function() {
    Object.keys(state3.elements).forEach(function(name) {
      var element = state3.elements[name];
      var attributes = state3.attributes[name] || {};
      var styleProperties = Object.keys(state3.styles.hasOwnProperty(name) ? state3.styles[name] : initialStyles[name]);
      var style = styleProperties.reduce(function(style2, property) {
        style2[property] = "";
        return style2;
      }, {});
      if (!isHTMLElement(element) || !getNodeName(element)) {
        return;
      }
      Object.assign(element.style, style);
      Object.keys(attributes).forEach(function(attribute) {
        element.removeAttribute(attribute);
      });
    });
  };
}
var applyStyles_default;
var init_applyStyles = __esm({
  "../node_modules/@popperjs/core/lib/modifiers/applyStyles.js"() {
    init_getNodeName();
    init_instanceOf();
    __name(applyStyles, "applyStyles");
    __name(effect, "effect");
    applyStyles_default = {
      name: "applyStyles",
      enabled: true,
      phase: "write",
      fn: applyStyles,
      effect,
      requires: ["computeStyles"]
    };
  }
});

// ../node_modules/@popperjs/core/lib/utils/getBasePlacement.js
function getBasePlacement(placement) {
  return placement.split("-")[0];
}
var init_getBasePlacement = __esm({
  "../node_modules/@popperjs/core/lib/utils/getBasePlacement.js"() {
    init_enums();
    __name(getBasePlacement, "getBasePlacement");
  }
});

// ../node_modules/@popperjs/core/lib/utils/math.js
var max, min, round;
var init_math = __esm({
  "../node_modules/@popperjs/core/lib/utils/math.js"() {
    max = Math.max;
    min = Math.min;
    round = Math.round;
  }
});

// ../node_modules/@popperjs/core/lib/utils/userAgent.js
function getUAString() {
  var uaData = navigator.userAgentData;
  if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
    return uaData.brands.map(function(item) {
      return item.brand + "/" + item.version;
    }).join(" ");
  }
  return navigator.userAgent;
}
var init_userAgent = __esm({
  "../node_modules/@popperjs/core/lib/utils/userAgent.js"() {
    __name(getUAString, "getUAString");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js
function isLayoutViewport() {
  return !/^((?!chrome|android).)*safari/i.test(getUAString());
}
var init_isLayoutViewport = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js"() {
    init_userAgent();
    __name(isLayoutViewport, "isLayoutViewport");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js
function getBoundingClientRect(element, includeScale, isFixedStrategy) {
  if (includeScale === void 0) {
    includeScale = false;
  }
  if (isFixedStrategy === void 0) {
    isFixedStrategy = false;
  }
  var clientRect = element.getBoundingClientRect();
  var scaleX = 1;
  var scaleY = 1;
  if (includeScale && isHTMLElement(element)) {
    scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
    scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
  }
  var _ref = isElement(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport;
  var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
  var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
  var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
  var width = clientRect.width / scaleX;
  var height = clientRect.height / scaleY;
  return {
    width,
    height,
    top: y,
    right: x + width,
    bottom: y + height,
    left: x,
    x,
    y
  };
}
var init_getBoundingClientRect = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"() {
    init_instanceOf();
    init_math();
    init_getWindow();
    init_isLayoutViewport();
    __name(getBoundingClientRect, "getBoundingClientRect");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js
function getLayoutRect(element) {
  var clientRect = getBoundingClientRect(element);
  var width = element.offsetWidth;
  var height = element.offsetHeight;
  if (Math.abs(clientRect.width - width) <= 1) {
    width = clientRect.width;
  }
  if (Math.abs(clientRect.height - height) <= 1) {
    height = clientRect.height;
  }
  return {
    x: element.offsetLeft,
    y: element.offsetTop,
    width,
    height
  };
}
var init_getLayoutRect = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js"() {
    init_getBoundingClientRect();
    __name(getLayoutRect, "getLayoutRect");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/contains.js
function contains(parent, child) {
  var rootNode = child.getRootNode && child.getRootNode();
  if (parent.contains(child)) {
    return true;
  } else if (rootNode && isShadowRoot(rootNode)) {
    var next2 = child;
    do {
      if (next2 && parent.isSameNode(next2)) {
        return true;
      }
      next2 = next2.parentNode || next2.host;
    } while (next2);
  }
  return false;
}
var init_contains = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/contains.js"() {
    init_instanceOf();
    __name(contains, "contains");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js
function getComputedStyle2(element) {
  return getWindow(element).getComputedStyle(element);
}
var init_getComputedStyle = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"() {
    init_getWindow();
    __name(getComputedStyle2, "getComputedStyle");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js
function isTableElement(element) {
  return ["table", "td", "th"].indexOf(getNodeName(element)) >= 0;
}
var init_isTableElement = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js"() {
    init_getNodeName();
    __name(isTableElement, "isTableElement");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js
function getDocumentElement(element) {
  return ((isElement(element) ? element.ownerDocument : (
    // $FlowFixMe[prop-missing]
    element.document
  )) || window.document).documentElement;
}
var init_getDocumentElement = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"() {
    init_instanceOf();
    __name(getDocumentElement, "getDocumentElement");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js
function getParentNode(element) {
  if (getNodeName(element) === "html") {
    return element;
  }
  return (
    // this is a quicker (but less type safe) way to save quite some bytes from the bundle
    // $FlowFixMe[incompatible-return]
    // $FlowFixMe[prop-missing]
    element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
    element.parentNode || // DOM Element detected
    (isShadowRoot(element) ? element.host : null) || // ShadowRoot detected
    // $FlowFixMe[incompatible-call]: HTMLElement is a Node
    getDocumentElement(element)
  );
}
var init_getParentNode = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"() {
    init_getNodeName();
    init_getDocumentElement();
    init_instanceOf();
    __name(getParentNode, "getParentNode");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js
function getTrueOffsetParent(element) {
  if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837
  getComputedStyle2(element).position === "fixed") {
    return null;
  }
  return element.offsetParent;
}
function getContainingBlock(element) {
  var isFirefox = /firefox/i.test(getUAString());
  var isIE2 = /Trident/i.test(getUAString());
  if (isIE2 && isHTMLElement(element)) {
    var elementCss = getComputedStyle2(element);
    if (elementCss.position === "fixed") {
      return null;
    }
  }
  var currentNode = getParentNode(element);
  if (isShadowRoot(currentNode)) {
    currentNode = currentNode.host;
  }
  while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) {
    var css3 = getComputedStyle2(currentNode);
    if (css3.transform !== "none" || css3.perspective !== "none" || css3.contain === "paint" || ["transform", "perspective"].indexOf(css3.willChange) !== -1 || isFirefox && css3.willChange === "filter" || isFirefox && css3.filter && css3.filter !== "none") {
      return currentNode;
    } else {
      currentNode = currentNode.parentNode;
    }
  }
  return null;
}
function getOffsetParent(element) {
  var window2 = getWindow(element);
  var offsetParent = getTrueOffsetParent(element);
  while (offsetParent && isTableElement(offsetParent) && getComputedStyle2(offsetParent).position === "static") {
    offsetParent = getTrueOffsetParent(offsetParent);
  }
  if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle2(offsetParent).position === "static")) {
    return window2;
  }
  return offsetParent || getContainingBlock(element) || window2;
}
var init_getOffsetParent = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"() {
    init_getWindow();
    init_getNodeName();
    init_getComputedStyle();
    init_instanceOf();
    init_isTableElement();
    init_getParentNode();
    init_userAgent();
    __name(getTrueOffsetParent, "getTrueOffsetParent");
    __name(getContainingBlock, "getContainingBlock");
    __name(getOffsetParent, "getOffsetParent");
  }
});

// ../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js
function getMainAxisFromPlacement(placement) {
  return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y";
}
var init_getMainAxisFromPlacement = __esm({
  "../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"() {
    __name(getMainAxisFromPlacement, "getMainAxisFromPlacement");
  }
});

// ../node_modules/@popperjs/core/lib/utils/within.js
function within(min2, value, max2) {
  return max(min2, min(value, max2));
}
function withinMaxClamp(min2, value, max2) {
  var v = within(min2, value, max2);
  return v > max2 ? max2 : v;
}
var init_within = __esm({
  "../node_modules/@popperjs/core/lib/utils/within.js"() {
    init_math();
    __name(within, "within");
    __name(withinMaxClamp, "withinMaxClamp");
  }
});

// ../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js
function getFreshSideObject() {
  return {
    top: 0,
    right: 0,
    bottom: 0,
    left: 0
  };
}
var init_getFreshSideObject = __esm({
  "../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js"() {
    __name(getFreshSideObject, "getFreshSideObject");
  }
});

// ../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js
function mergePaddingObject(paddingObject) {
  return Object.assign({}, getFreshSideObject(), paddingObject);
}
var init_mergePaddingObject = __esm({
  "../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js"() {
    init_getFreshSideObject();
    __name(mergePaddingObject, "mergePaddingObject");
  }
});

// ../node_modules/@popperjs/core/lib/utils/expandToHashMap.js
function expandToHashMap(value, keys3) {
  return keys3.reduce(function(hashMap, key) {
    hashMap[key] = value;
    return hashMap;
  }, {});
}
var init_expandToHashMap = __esm({
  "../node_modules/@popperjs/core/lib/utils/expandToHashMap.js"() {
    __name(expandToHashMap, "expandToHashMap");
  }
});

// ../node_modules/@popperjs/core/lib/modifiers/arrow.js
function arrow(_ref) {
  var _state$modifiersData$;
  var state3 = _ref.state, name = _ref.name, options = _ref.options;
  var arrowElement = state3.elements.arrow;
  var popperOffsets2 = state3.modifiersData.popperOffsets;
  var basePlacement = getBasePlacement(state3.placement);
  var axis = getMainAxisFromPlacement(basePlacement);
  var isVertical = [left, right].indexOf(basePlacement) >= 0;
  var len = isVertical ? "height" : "width";
  if (!arrowElement || !popperOffsets2) {
    return;
  }
  var paddingObject = toPaddingObject(options.padding, state3);
  var arrowRect = getLayoutRect(arrowElement);
  var minProp = axis === "y" ? top : left;
  var maxProp = axis === "y" ? bottom : right;
  var endDiff = state3.rects.reference[len] + state3.rects.reference[axis] - popperOffsets2[axis] - state3.rects.popper[len];
  var startDiff = popperOffsets2[axis] - state3.rects.reference[axis];
  var arrowOffsetParent = getOffsetParent(arrowElement);
  var clientSize = arrowOffsetParent ? axis === "y" ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
  var centerToReference = endDiff / 2 - startDiff / 2;
  var min2 = paddingObject[minProp];
  var max2 = clientSize - arrowRect[len] - paddingObject[maxProp];
  var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;
  var offset3 = within(min2, center, max2);
  var axisProp = axis;
  state3.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset3, _state$modifiersData$.centerOffset = offset3 - center, _state$modifiersData$);
}
function effect2(_ref2) {
  var state3 = _ref2.state, options = _ref2.options;
  var _options$element = options.element, arrowElement = _options$element === void 0 ? "[data-popper-arrow]" : _options$element;
  if (arrowElement == null) {
    return;
  }
  if (typeof arrowElement === "string") {
    arrowElement = state3.elements.popper.querySelector(arrowElement);
    if (!arrowElement) {
      return;
    }
  }
  if (!contains(state3.elements.popper, arrowElement)) {
    return;
  }
  state3.elements.arrow = arrowElement;
}
var toPaddingObject, arrow_default;
var init_arrow = __esm({
  "../node_modules/@popperjs/core/lib/modifiers/arrow.js"() {
    init_getBasePlacement();
    init_getLayoutRect();
    init_contains();
    init_getOffsetParent();
    init_getMainAxisFromPlacement();
    init_within();
    init_mergePaddingObject();
    init_expandToHashMap();
    init_enums();
    toPaddingObject = /* @__PURE__ */ __name(function toPaddingObject2(padding, state3) {
      padding = typeof padding === "function" ? padding(Object.assign({}, state3.rects, {
        placement: state3.placement
      })) : padding;
      return mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements));
    }, "toPaddingObject");
    __name(arrow, "arrow");
    __name(effect2, "effect");
    arrow_default = {
      name: "arrow",
      enabled: true,
      phase: "main",
      fn: arrow,
      effect: effect2,
      requires: ["popperOffsets"],
      requiresIfExists: ["preventOverflow"]
    };
  }
});

// ../node_modules/@popperjs/core/lib/utils/getVariation.js
function getVariation(placement) {
  return placement.split("-")[1];
}
var init_getVariation = __esm({
  "../node_modules/@popperjs/core/lib/utils/getVariation.js"() {
    __name(getVariation, "getVariation");
  }
});

// ../node_modules/@popperjs/core/lib/modifiers/computeStyles.js
function roundOffsetsByDPR(_ref, win) {
  var x = _ref.x, y = _ref.y;
  var dpr = win.devicePixelRatio || 1;
  return {
    x: round(x * dpr) / dpr || 0,
    y: round(y * dpr) / dpr || 0
  };
}
function mapToStyles(_ref2) {
  var _Object$assign2;
  var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position2 = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed;
  var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y;
  var _ref3 = typeof roundOffsets === "function" ? roundOffsets({
    x,
    y
  }) : {
    x,
    y
  };
  x = _ref3.x;
  y = _ref3.y;
  var hasX = offsets.hasOwnProperty("x");
  var hasY = offsets.hasOwnProperty("y");
  var sideX = left;
  var sideY = top;
  var win = window;
  if (adaptive) {
    var offsetParent = getOffsetParent(popper2);
    var heightProp = "clientHeight";
    var widthProp = "clientWidth";
    if (offsetParent === getWindow(popper2)) {
      offsetParent = getDocumentElement(popper2);
      if (getComputedStyle2(offsetParent).position !== "static" && position2 === "absolute") {
        heightProp = "scrollHeight";
        widthProp = "scrollWidth";
      }
    }
    offsetParent = offsetParent;
    if (placement === top || (placement === left || placement === right) && variation === end) {
      sideY = bottom;
      var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : (
        // $FlowFixMe[prop-missing]
        offsetParent[heightProp]
      );
      y -= offsetY - popperRect.height;
      y *= gpuAcceleration ? 1 : -1;
    }
    if (placement === left || (placement === top || placement === bottom) && variation === end) {
      sideX = right;
      var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : (
        // $FlowFixMe[prop-missing]
        offsetParent[widthProp]
      );
      x -= offsetX - popperRect.width;
      x *= gpuAcceleration ? 1 : -1;
    }
  }
  var commonStyles = Object.assign({
    position: position2
  }, adaptive && unsetSides);
  var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
    x,
    y
  }, getWindow(popper2)) : {
    x,
    y
  };
  x = _ref4.x;
  y = _ref4.y;
  if (gpuAcceleration) {
    var _Object$assign;
    return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
  }
  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2));
}
function computeStyles(_ref5) {
  var state3 = _ref5.state, options = _ref5.options;
  var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
  var commonStyles = {
    placement: getBasePlacement(state3.placement),
    variation: getVariation(state3.placement),
    popper: state3.elements.popper,
    popperRect: state3.rects.popper,
    gpuAcceleration,
    isFixed: state3.options.strategy === "fixed"
  };
  if (state3.modifiersData.popperOffsets != null) {
    state3.styles.popper = Object.assign({}, state3.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
      offsets: state3.modifiersData.popperOffsets,
      position: state3.options.strategy,
      adaptive,
      roundOffsets
    })));
  }
  if (state3.modifiersData.arrow != null) {
    state3.styles.arrow = Object.assign({}, state3.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
      offsets: state3.modifiersData.arrow,
      position: "absolute",
      adaptive: false,
      roundOffsets
    })));
  }
  state3.attributes.popper = Object.assign({}, state3.attributes.popper, {
    "data-popper-placement": state3.placement
  });
}
var unsetSides, computeStyles_default;
var init_computeStyles = __esm({
  "../node_modules/@popperjs/core/lib/modifiers/computeStyles.js"() {
    init_enums();
    init_getOffsetParent();
    init_getWindow();
    init_getDocumentElement();
    init_getComputedStyle();
    init_getBasePlacement();
    init_getVariation();
    init_math();
    unsetSides = {
      top: "auto",
      right: "auto",
      bottom: "auto",
      left: "auto"
    };
    __name(roundOffsetsByDPR, "roundOffsetsByDPR");
    __name(mapToStyles, "mapToStyles");
    __name(computeStyles, "computeStyles");
    computeStyles_default = {
      name: "computeStyles",
      enabled: true,
      phase: "beforeWrite",
      fn: computeStyles,
      data: {}
    };
  }
});

// ../node_modules/@popperjs/core/lib/modifiers/eventListeners.js
function effect3(_ref) {
  var state3 = _ref.state, instance = _ref.instance, options = _ref.options;
  var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize;
  var window2 = getWindow(state3.elements.popper);
  var scrollParents = [].concat(state3.scrollParents.reference, state3.scrollParents.popper);
  if (scroll) {
    scrollParents.forEach(function(scrollParent) {
      scrollParent.addEventListener("scroll", instance.update, passive);
    });
  }
  if (resize) {
    window2.addEventListener("resize", instance.update, passive);
  }
  return function() {
    if (scroll) {
      scrollParents.forEach(function(scrollParent) {
        scrollParent.removeEventListener("scroll", instance.update, passive);
      });
    }
    if (resize) {
      window2.removeEventListener("resize", instance.update, passive);
    }
  };
}
var passive, eventListeners_default;
var init_eventListeners = __esm({
  "../node_modules/@popperjs/core/lib/modifiers/eventListeners.js"() {
    init_getWindow();
    passive = {
      passive: true
    };
    __name(effect3, "effect");
    eventListeners_default = {
      name: "eventListeners",
      enabled: true,
      phase: "write",
      fn: /* @__PURE__ */ __name(function fn() {
      }, "fn"),
      effect: effect3,
      data: {}
    };
  }
});

// ../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js
function getOppositePlacement(placement) {
  return placement.replace(/left|right|bottom|top/g, function(matched) {
    return hash2[matched];
  });
}
var hash2;
var init_getOppositePlacement = __esm({
  "../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js"() {
    hash2 = {
      left: "right",
      right: "left",
      bottom: "top",
      top: "bottom"
    };
    __name(getOppositePlacement, "getOppositePlacement");
  }
});

// ../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js
function getOppositeVariationPlacement(placement) {
  return placement.replace(/start|end/g, function(matched) {
    return hash3[matched];
  });
}
var hash3;
var init_getOppositeVariationPlacement = __esm({
  "../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js"() {
    hash3 = {
      start: "end",
      end: "start"
    };
    __name(getOppositeVariationPlacement, "getOppositeVariationPlacement");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js
function getWindowScroll(node2) {
  var win = getWindow(node2);
  var scrollLeft = win.pageXOffset;
  var scrollTop = win.pageYOffset;
  return {
    scrollLeft,
    scrollTop
  };
}
var init_getWindowScroll = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"() {
    init_getWindow();
    __name(getWindowScroll, "getWindowScroll");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js
function getWindowScrollBarX(element) {
  return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
}
var init_getWindowScrollBarX = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"() {
    init_getBoundingClientRect();
    init_getDocumentElement();
    init_getWindowScroll();
    __name(getWindowScrollBarX, "getWindowScrollBarX");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js
function getViewportRect(element, strategy) {
  var win = getWindow(element);
  var html = getDocumentElement(element);
  var visualViewport = win.visualViewport;
  var width = html.clientWidth;
  var height = html.clientHeight;
  var x = 0;
  var y = 0;
  if (visualViewport) {
    width = visualViewport.width;
    height = visualViewport.height;
    var layoutViewport = isLayoutViewport();
    if (layoutViewport || !layoutViewport && strategy === "fixed") {
      x = visualViewport.offsetLeft;
      y = visualViewport.offsetTop;
    }
  }
  return {
    width,
    height,
    x: x + getWindowScrollBarX(element),
    y
  };
}
var init_getViewportRect = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js"() {
    init_getWindow();
    init_getDocumentElement();
    init_getWindowScrollBarX();
    init_isLayoutViewport();
    __name(getViewportRect, "getViewportRect");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js
function getDocumentRect(element) {
  var _element$ownerDocumen;
  var html = getDocumentElement(element);
  var winScroll = getWindowScroll(element);
  var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
  var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
  var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
  var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
  var y = -winScroll.scrollTop;
  if (getComputedStyle2(body || html).direction === "rtl") {
    x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
  }
  return {
    width,
    height,
    x,
    y
  };
}
var init_getDocumentRect = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js"() {
    init_getDocumentElement();
    init_getComputedStyle();
    init_getWindowScrollBarX();
    init_getWindowScroll();
    init_math();
    __name(getDocumentRect, "getDocumentRect");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js
function isScrollParent(element) {
  var _getComputedStyle = getComputedStyle2(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY;
  return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
}
var init_isScrollParent = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"() {
    init_getComputedStyle();
    __name(isScrollParent, "isScrollParent");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js
function getScrollParent(node2) {
  if (["html", "body", "#document"].indexOf(getNodeName(node2)) >= 0) {
    return node2.ownerDocument.body;
  }
  if (isHTMLElement(node2) && isScrollParent(node2)) {
    return node2;
  }
  return getScrollParent(getParentNode(node2));
}
var init_getScrollParent = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js"() {
    init_getParentNode();
    init_isScrollParent();
    init_getNodeName();
    init_instanceOf();
    __name(getScrollParent, "getScrollParent");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js
function listScrollParents(element, list) {
  var _element$ownerDocumen;
  if (list === void 0) {
    list = [];
  }
  var scrollParent = getScrollParent(element);
  var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
  var win = getWindow(scrollParent);
  var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
  var updatedList = list.concat(target);
  return isBody ? updatedList : (
    // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
    updatedList.concat(listScrollParents(getParentNode(target)))
  );
}
var init_listScrollParents = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js"() {
    init_getScrollParent();
    init_getParentNode();
    init_getWindow();
    init_isScrollParent();
    __name(listScrollParents, "listScrollParents");
  }
});

// ../node_modules/@popperjs/core/lib/utils/rectToClientRect.js
function rectToClientRect(rect) {
  return Object.assign({}, rect, {
    left: rect.x,
    top: rect.y,
    right: rect.x + rect.width,
    bottom: rect.y + rect.height
  });
}
var init_rectToClientRect = __esm({
  "../node_modules/@popperjs/core/lib/utils/rectToClientRect.js"() {
    __name(rectToClientRect, "rectToClientRect");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js
function getInnerBoundingClientRect(element, strategy) {
  var rect = getBoundingClientRect(element, false, strategy === "fixed");
  rect.top = rect.top + element.clientTop;
  rect.left = rect.left + element.clientLeft;
  rect.bottom = rect.top + element.clientHeight;
  rect.right = rect.left + element.clientWidth;
  rect.width = element.clientWidth;
  rect.height = element.clientHeight;
  rect.x = rect.left;
  rect.y = rect.top;
  return rect;
}
function getClientRectFromMixedType(element, clippingParent, strategy) {
  return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
}
function getClippingParents(element) {
  var clippingParents2 = listScrollParents(getParentNode(element));
  var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle2(element).position) >= 0;
  var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
  if (!isElement(clipperElement)) {
    return [];
  }
  return clippingParents2.filter(function(clippingParent) {
    return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body";
  });
}
function getClippingRect(element, boundary, rootBoundary, strategy) {
  var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element) : [].concat(boundary);
  var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]);
  var firstClippingParent = clippingParents2[0];
  var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) {
    var rect = getClientRectFromMixedType(element, clippingParent, strategy);
    accRect.top = max(rect.top, accRect.top);
    accRect.right = min(rect.right, accRect.right);
    accRect.bottom = min(rect.bottom, accRect.bottom);
    accRect.left = max(rect.left, accRect.left);
    return accRect;
  }, getClientRectFromMixedType(element, firstClippingParent, strategy));
  clippingRect.width = clippingRect.right - clippingRect.left;
  clippingRect.height = clippingRect.bottom - clippingRect.top;
  clippingRect.x = clippingRect.left;
  clippingRect.y = clippingRect.top;
  return clippingRect;
}
var init_getClippingRect = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js"() {
    init_enums();
    init_getViewportRect();
    init_getDocumentRect();
    init_listScrollParents();
    init_getOffsetParent();
    init_getDocumentElement();
    init_getComputedStyle();
    init_instanceOf();
    init_getBoundingClientRect();
    init_getParentNode();
    init_contains();
    init_getNodeName();
    init_rectToClientRect();
    init_math();
    __name(getInnerBoundingClientRect, "getInnerBoundingClientRect");
    __name(getClientRectFromMixedType, "getClientRectFromMixedType");
    __name(getClippingParents, "getClippingParents");
    __name(getClippingRect, "getClippingRect");
  }
});

// ../node_modules/@popperjs/core/lib/utils/computeOffsets.js
function computeOffsets(_ref) {
  var reference2 = _ref.reference, element = _ref.element, placement = _ref.placement;
  var basePlacement = placement ? getBasePlacement(placement) : null;
  var variation = placement ? getVariation(placement) : null;
  var commonX = reference2.x + reference2.width / 2 - element.width / 2;
  var commonY = reference2.y + reference2.height / 2 - element.height / 2;
  var offsets;
  switch (basePlacement) {
    case top:
      offsets = {
        x: commonX,
        y: reference2.y - element.height
      };
      break;
    case bottom:
      offsets = {
        x: commonX,
        y: reference2.y + reference2.height
      };
      break;
    case right:
      offsets = {
        x: reference2.x + reference2.width,
        y: commonY
      };
      break;
    case left:
      offsets = {
        x: reference2.x - element.width,
        y: commonY
      };
      break;
    default:
      offsets = {
        x: reference2.x,
        y: reference2.y
      };
  }
  var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
  if (mainAxis != null) {
    var len = mainAxis === "y" ? "height" : "width";
    switch (variation) {
      case start:
        offsets[mainAxis] = offsets[mainAxis] - (reference2[len] / 2 - element[len] / 2);
        break;
      case end:
        offsets[mainAxis] = offsets[mainAxis] + (reference2[len] / 2 - element[len] / 2);
        break;
      default:
    }
  }
  return offsets;
}
var init_computeOffsets = __esm({
  "../node_modules/@popperjs/core/lib/utils/computeOffsets.js"() {
    init_getBasePlacement();
    init_getVariation();
    init_getMainAxisFromPlacement();
    init_enums();
    __name(computeOffsets, "computeOffsets");
  }
});

// ../node_modules/@popperjs/core/lib/utils/detectOverflow.js
function detectOverflow(state3, options) {
  if (options === void 0) {
    options = {};
  }
  var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state3.placement : _options$placement, _options$strategy = _options.strategy, strategy = _options$strategy === void 0 ? state3.strategy : _options$strategy, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding;
  var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements));
  var altContext = elementContext === popper ? reference : popper;
  var popperRect = state3.rects.popper;
  var element = state3.elements[altBoundary ? altContext : elementContext];
  var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state3.elements.popper), boundary, rootBoundary, strategy);
  var referenceClientRect = getBoundingClientRect(state3.elements.reference);
  var popperOffsets2 = computeOffsets({
    reference: referenceClientRect,
    element: popperRect,
    strategy: "absolute",
    placement
  });
  var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets2));
  var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect;
  var overflowOffsets = {
    top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
    bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
    left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
    right: elementClientRect.right - clippingClientRect.right + paddingObject.right
  };
  var offsetData = state3.modifiersData.offset;
  if (elementContext === popper && offsetData) {
    var offset3 = offsetData[placement];
    Object.keys(overflowOffsets).forEach(function(key) {
      var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;
      var axis = [top, bottom].indexOf(key) >= 0 ? "y" : "x";
      overflowOffsets[key] += offset3[axis] * multiply;
    });
  }
  return overflowOffsets;
}
var init_detectOverflow = __esm({
  "../node_modules/@popperjs/core/lib/utils/detectOverflow.js"() {
    init_getClippingRect();
    init_getDocumentElement();
    init_getBoundingClientRect();
    init_computeOffsets();
    init_rectToClientRect();
    init_enums();
    init_instanceOf();
    init_mergePaddingObject();
    init_expandToHashMap();
    __name(detectOverflow, "detectOverflow");
  }
});

// ../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js
function computeAutoPlacement(state3, options) {
  if (options === void 0) {
    options = {};
  }
  var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;
  var variation = getVariation(placement);
  var placements2 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) {
    return getVariation(placement2) === variation;
  }) : basePlacements;
  var allowedPlacements = placements2.filter(function(placement2) {
    return allowedAutoPlacements.indexOf(placement2) >= 0;
  });
  if (allowedPlacements.length === 0) {
    allowedPlacements = placements2;
  }
  var overflows = allowedPlacements.reduce(function(acc, placement2) {
    acc[placement2] = detectOverflow(state3, {
      placement: placement2,
      boundary,
      rootBoundary,
      padding
    })[getBasePlacement(placement2)];
    return acc;
  }, {});
  return Object.keys(overflows).sort(function(a2, b) {
    return overflows[a2] - overflows[b];
  });
}
var init_computeAutoPlacement = __esm({
  "../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js"() {
    init_getVariation();
    init_enums();
    init_detectOverflow();
    init_getBasePlacement();
    __name(computeAutoPlacement, "computeAutoPlacement");
  }
});

// ../node_modules/@popperjs/core/lib/modifiers/flip.js
function getExpandedFallbackPlacements(placement) {
  if (getBasePlacement(placement) === auto) {
    return [];
  }
  var oppositePlacement = getOppositePlacement(placement);
  return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
}
function flip(_ref) {
  var state3 = _ref.state, options = _ref.options, name = _ref.name;
  if (state3.modifiersData[name]._skip) {
    return;
  }
  var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements;
  var preferredPlacement = state3.options.placement;
  var basePlacement = getBasePlacement(preferredPlacement);
  var isBasePlacement = basePlacement === preferredPlacement;
  var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
  var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) {
    return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state3, {
      placement: placement2,
      boundary,
      rootBoundary,
      padding,
      flipVariations,
      allowedAutoPlacements
    }) : placement2);
  }, []);
  var referenceRect = state3.rects.reference;
  var popperRect = state3.rects.popper;
  var checksMap = /* @__PURE__ */ new Map();
  var makeFallbackChecks = true;
  var firstFittingPlacement = placements2[0];
  for (var i2 = 0; i2 < placements2.length; i2++) {
    var placement = placements2[i2];
    var _basePlacement = getBasePlacement(placement);
    var isStartVariation = getVariation(placement) === start;
    var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;
    var len = isVertical ? "width" : "height";
    var overflow = detectOverflow(state3, {
      placement,
      boundary,
      rootBoundary,
      altBoundary,
      padding
    });
    var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;
    if (referenceRect[len] > popperRect[len]) {
      mainVariationSide = getOppositePlacement(mainVariationSide);
    }
    var altVariationSide = getOppositePlacement(mainVariationSide);
    var checks = [];
    if (checkMainAxis) {
      checks.push(overflow[_basePlacement] <= 0);
    }
    if (checkAltAxis) {
      checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
    }
    if (checks.every(function(check) {
      return check;
    })) {
      firstFittingPlacement = placement;
      makeFallbackChecks = false;
      break;
    }
    checksMap.set(placement, checks);
  }
  if (makeFallbackChecks) {
    var numberOfChecks = flipVariations ? 3 : 1;
    var _loop = /* @__PURE__ */ __name(function _loop2(_i2) {
      var fittingPlacement = placements2.find(function(placement2) {
        var checks2 = checksMap.get(placement2);
        if (checks2) {
          return checks2.slice(0, _i2).every(function(check) {
            return check;
          });
        }
      });
      if (fittingPlacement) {
        firstFittingPlacement = fittingPlacement;
        return "break";
      }
    }, "_loop");
    for (var _i = numberOfChecks; _i > 0; _i--) {
      var _ret = _loop(_i);
      if (_ret === "break") break;
    }
  }
  if (state3.placement !== firstFittingPlacement) {
    state3.modifiersData[name]._skip = true;
    state3.placement = firstFittingPlacement;
    state3.reset = true;
  }
}
var flip_default;
var init_flip = __esm({
  "../node_modules/@popperjs/core/lib/modifiers/flip.js"() {
    init_getOppositePlacement();
    init_getBasePlacement();
    init_getOppositeVariationPlacement();
    init_detectOverflow();
    init_computeAutoPlacement();
    init_enums();
    init_getVariation();
    __name(getExpandedFallbackPlacements, "getExpandedFallbackPlacements");
    __name(flip, "flip");
    flip_default = {
      name: "flip",
      enabled: true,
      phase: "main",
      fn: flip,
      requiresIfExists: ["offset"],
      data: {
        _skip: false
      }
    };
  }
});

// ../node_modules/@popperjs/core/lib/modifiers/hide.js
function getSideOffsets(overflow, rect, preventedOffsets) {
  if (preventedOffsets === void 0) {
    preventedOffsets = {
      x: 0,
      y: 0
    };
  }
  return {
    top: overflow.top - rect.height - preventedOffsets.y,
    right: overflow.right - rect.width + preventedOffsets.x,
    bottom: overflow.bottom - rect.height + preventedOffsets.y,
    left: overflow.left - rect.width - preventedOffsets.x
  };
}
function isAnySideFullyClipped(overflow) {
  return [top, right, bottom, left].some(function(side) {
    return overflow[side] >= 0;
  });
}
function hide(_ref) {
  var state3 = _ref.state, name = _ref.name;
  var referenceRect = state3.rects.reference;
  var popperRect = state3.rects.popper;
  var preventedOffsets = state3.modifiersData.preventOverflow;
  var referenceOverflow = detectOverflow(state3, {
    elementContext: "reference"
  });
  var popperAltOverflow = detectOverflow(state3, {
    altBoundary: true
  });
  var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
  var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
  var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
  var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
  state3.modifiersData[name] = {
    referenceClippingOffsets,
    popperEscapeOffsets,
    isReferenceHidden,
    hasPopperEscaped
  };
  state3.attributes.popper = Object.assign({}, state3.attributes.popper, {
    "data-popper-reference-hidden": isReferenceHidden,
    "data-popper-escaped": hasPopperEscaped
  });
}
var hide_default;
var init_hide = __esm({
  "../node_modules/@popperjs/core/lib/modifiers/hide.js"() {
    init_enums();
    init_detectOverflow();
    __name(getSideOffsets, "getSideOffsets");
    __name(isAnySideFullyClipped, "isAnySideFullyClipped");
    __name(hide, "hide");
    hide_default = {
      name: "hide",
      enabled: true,
      phase: "main",
      requiresIfExists: ["preventOverflow"],
      fn: hide
    };
  }
});

// ../node_modules/@popperjs/core/lib/modifiers/offset.js
function distanceAndSkiddingToXY(placement, rects, offset3) {
  var basePlacement = getBasePlacement(placement);
  var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
  var _ref = typeof offset3 === "function" ? offset3(Object.assign({}, rects, {
    placement
  })) : offset3, skidding = _ref[0], distance = _ref[1];
  skidding = skidding || 0;
  distance = (distance || 0) * invertDistance;
  return [left, right].indexOf(basePlacement) >= 0 ? {
    x: distance,
    y: skidding
  } : {
    x: skidding,
    y: distance
  };
}
function offset(_ref2) {
  var state3 = _ref2.state, options = _ref2.options, name = _ref2.name;
  var _options$offset = options.offset, offset3 = _options$offset === void 0 ? [0, 0] : _options$offset;
  var data = placements.reduce(function(acc, placement) {
    acc[placement] = distanceAndSkiddingToXY(placement, state3.rects, offset3);
    return acc;
  }, {});
  var _data$state$placement = data[state3.placement], x = _data$state$placement.x, y = _data$state$placement.y;
  if (state3.modifiersData.popperOffsets != null) {
    state3.modifiersData.popperOffsets.x += x;
    state3.modifiersData.popperOffsets.y += y;
  }
  state3.modifiersData[name] = data;
}
var offset_default;
var init_offset = __esm({
  "../node_modules/@popperjs/core/lib/modifiers/offset.js"() {
    init_getBasePlacement();
    init_enums();
    __name(distanceAndSkiddingToXY, "distanceAndSkiddingToXY");
    __name(offset, "offset");
    offset_default = {
      name: "offset",
      enabled: true,
      phase: "main",
      requires: ["popperOffsets"],
      fn: offset
    };
  }
});

// ../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js
function popperOffsets(_ref) {
  var state3 = _ref.state, name = _ref.name;
  state3.modifiersData[name] = computeOffsets({
    reference: state3.rects.reference,
    element: state3.rects.popper,
    strategy: "absolute",
    placement: state3.placement
  });
}
var popperOffsets_default;
var init_popperOffsets = __esm({
  "../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"() {
    init_computeOffsets();
    __name(popperOffsets, "popperOffsets");
    popperOffsets_default = {
      name: "popperOffsets",
      enabled: true,
      phase: "read",
      fn: popperOffsets,
      data: {}
    };
  }
});

// ../node_modules/@popperjs/core/lib/utils/getAltAxis.js
function getAltAxis(axis) {
  return axis === "x" ? "y" : "x";
}
var init_getAltAxis = __esm({
  "../node_modules/@popperjs/core/lib/utils/getAltAxis.js"() {
    __name(getAltAxis, "getAltAxis");
  }
});

// ../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js
function preventOverflow(_ref) {
  var state3 = _ref.state, options = _ref.options, name = _ref.name;
  var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, padding = options.padding, _options$tether = options.tether, tether = _options$tether === void 0 ? true : _options$tether, _options$tetherOffset = options.tetherOffset, tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;
  var overflow = detectOverflow(state3, {
    boundary,
    rootBoundary,
    padding,
    altBoundary
  });
  var basePlacement = getBasePlacement(state3.placement);
  var variation = getVariation(state3.placement);
  var isBasePlacement = !variation;
  var mainAxis = getMainAxisFromPlacement(basePlacement);
  var altAxis = getAltAxis(mainAxis);
  var popperOffsets2 = state3.modifiersData.popperOffsets;
  var referenceRect = state3.rects.reference;
  var popperRect = state3.rects.popper;
  var tetherOffsetValue = typeof tetherOffset === "function" ? tetherOffset(Object.assign({}, state3.rects, {
    placement: state3.placement
  })) : tetherOffset;
  var normalizedTetherOffsetValue = typeof tetherOffsetValue === "number" ? {
    mainAxis: tetherOffsetValue,
    altAxis: tetherOffsetValue
  } : Object.assign({
    mainAxis: 0,
    altAxis: 0
  }, tetherOffsetValue);
  var offsetModifierState = state3.modifiersData.offset ? state3.modifiersData.offset[state3.placement] : null;
  var data = {
    x: 0,
    y: 0
  };
  if (!popperOffsets2) {
    return;
  }
  if (checkMainAxis) {
    var _offsetModifierState$;
    var mainSide = mainAxis === "y" ? top : left;
    var altSide = mainAxis === "y" ? bottom : right;
    var len = mainAxis === "y" ? "height" : "width";
    var offset3 = popperOffsets2[mainAxis];
    var min2 = offset3 + overflow[mainSide];
    var max2 = offset3 - overflow[altSide];
    var additive = tether ? -popperRect[len] / 2 : 0;
    var minLen = variation === start ? referenceRect[len] : popperRect[len];
    var maxLen = variation === start ? -popperRect[len] : -referenceRect[len];
    var arrowElement = state3.elements.arrow;
    var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {
      width: 0,
      height: 0
    };
    var arrowPaddingObject = state3.modifiersData["arrow#persistent"] ? state3.modifiersData["arrow#persistent"].padding : getFreshSideObject();
    var arrowPaddingMin = arrowPaddingObject[mainSide];
    var arrowPaddingMax = arrowPaddingObject[altSide];
    var arrowLen = within(0, referenceRect[len], arrowRect[len]);
    var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
    var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
    var arrowOffsetParent = state3.elements.arrow && getOffsetParent(state3.elements.arrow);
    var clientOffset = arrowOffsetParent ? mainAxis === "y" ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
    var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
    var tetherMin = offset3 + minOffset - offsetModifierValue - clientOffset;
    var tetherMax = offset3 + maxOffset - offsetModifierValue;
    var preventedOffset = within(tether ? min(min2, tetherMin) : min2, offset3, tether ? max(max2, tetherMax) : max2);
    popperOffsets2[mainAxis] = preventedOffset;
    data[mainAxis] = preventedOffset - offset3;
  }
  if (checkAltAxis) {
    var _offsetModifierState$2;
    var _mainSide = mainAxis === "x" ? top : left;
    var _altSide = mainAxis === "x" ? bottom : right;
    var _offset = popperOffsets2[altAxis];
    var _len = altAxis === "y" ? "height" : "width";
    var _min = _offset + overflow[_mainSide];
    var _max = _offset - overflow[_altSide];
    var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
    var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
    var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
    var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
    var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
    popperOffsets2[altAxis] = _preventedOffset;
    data[altAxis] = _preventedOffset - _offset;
  }
  state3.modifiersData[name] = data;
}
var preventOverflow_default;
var init_preventOverflow = __esm({
  "../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js"() {
    init_enums();
    init_getBasePlacement();
    init_getMainAxisFromPlacement();
    init_getAltAxis();
    init_within();
    init_getLayoutRect();
    init_getOffsetParent();
    init_detectOverflow();
    init_getVariation();
    init_getFreshSideObject();
    init_math();
    __name(preventOverflow, "preventOverflow");
    preventOverflow_default = {
      name: "preventOverflow",
      enabled: true,
      phase: "main",
      fn: preventOverflow,
      requiresIfExists: ["offset"]
    };
  }
});

// ../node_modules/@popperjs/core/lib/modifiers/index.js
var init_modifiers = __esm({
  "../node_modules/@popperjs/core/lib/modifiers/index.js"() {
    init_applyStyles();
    init_arrow();
    init_computeStyles();
    init_eventListeners();
    init_flip();
    init_hide();
    init_offset();
    init_popperOffsets();
    init_preventOverflow();
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js
function getHTMLElementScroll(element) {
  return {
    scrollLeft: element.scrollLeft,
    scrollTop: element.scrollTop
  };
}
var init_getHTMLElementScroll = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js"() {
    __name(getHTMLElementScroll, "getHTMLElementScroll");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js
function getNodeScroll(node2) {
  if (node2 === getWindow(node2) || !isHTMLElement(node2)) {
    return getWindowScroll(node2);
  } else {
    return getHTMLElementScroll(node2);
  }
}
var init_getNodeScroll = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js"() {
    init_getWindowScroll();
    init_getWindow();
    init_instanceOf();
    init_getHTMLElementScroll();
    __name(getNodeScroll, "getNodeScroll");
  }
});

// ../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js
function isElementScaled(element) {
  var rect = element.getBoundingClientRect();
  var scaleX = round(rect.width) / element.offsetWidth || 1;
  var scaleY = round(rect.height) / element.offsetHeight || 1;
  return scaleX !== 1 || scaleY !== 1;
}
function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
  if (isFixed === void 0) {
    isFixed = false;
  }
  var isOffsetParentAnElement = isHTMLElement(offsetParent);
  var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
  var documentElement = getDocumentElement(offsetParent);
  var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
  var scroll = {
    scrollLeft: 0,
    scrollTop: 0
  };
  var offsets = {
    x: 0,
    y: 0
  };
  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
    if (getNodeName(offsetParent) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
    isScrollParent(documentElement)) {
      scroll = getNodeScroll(offsetParent);
    }
    if (isHTMLElement(offsetParent)) {
      offsets = getBoundingClientRect(offsetParent, true);
      offsets.x += offsetParent.clientLeft;
      offsets.y += offsetParent.clientTop;
    } else if (documentElement) {
      offsets.x = getWindowScrollBarX(documentElement);
    }
  }
  return {
    x: rect.left + scroll.scrollLeft - offsets.x,
    y: rect.top + scroll.scrollTop - offsets.y,
    width: rect.width,
    height: rect.height
  };
}
var init_getCompositeRect = __esm({
  "../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js"() {
    init_getBoundingClientRect();
    init_getNodeScroll();
    init_getNodeName();
    init_instanceOf();
    init_getWindowScrollBarX();
    init_getDocumentElement();
    init_isScrollParent();
    init_math();
    __name(isElementScaled, "isElementScaled");
    __name(getCompositeRect, "getCompositeRect");
  }
});

// ../node_modules/@popperjs/core/lib/utils/orderModifiers.js
function order(modifiers) {
  var map2 = /* @__PURE__ */ new Map();
  var visited = /* @__PURE__ */ new Set();
  var result = [];
  modifiers.forEach(function(modifier) {
    map2.set(modifier.name, modifier);
  });
  function sort(modifier) {
    visited.add(modifier.name);
    var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
    requires.forEach(function(dep) {
      if (!visited.has(dep)) {
        var depModifier = map2.get(dep);
        if (depModifier) {
          sort(depModifier);
        }
      }
    });
    result.push(modifier);
  }
  __name(sort, "sort");
  modifiers.forEach(function(modifier) {
    if (!visited.has(modifier.name)) {
      sort(modifier);
    }
  });
  return result;
}
function orderModifiers(modifiers) {
  var orderedModifiers = order(modifiers);
  return modifierPhases.reduce(function(acc, phase) {
    return acc.concat(orderedModifiers.filter(function(modifier) {
      return modifier.phase === phase;
    }));
  }, []);
}
var init_orderModifiers = __esm({
  "../node_modules/@popperjs/core/lib/utils/orderModifiers.js"() {
    init_enums();
    __name(order, "order");
    __name(orderModifiers, "orderModifiers");
  }
});

// ../node_modules/@popperjs/core/lib/utils/debounce.js
function debounce(fn4) {
  var pending;
  return function() {
    if (!pending) {
      pending = new Promise(function(resolve) {
        Promise.resolve().then(function() {
          pending = void 0;
          resolve(fn4());
        });
      });
    }
    return pending;
  };
}
var init_debounce = __esm({
  "../node_modules/@popperjs/core/lib/utils/debounce.js"() {
    __name(debounce, "debounce");
  }
});

// ../node_modules/@popperjs/core/lib/utils/mergeByName.js
function mergeByName(modifiers) {
  var merged = modifiers.reduce(function(merged2, current) {
    var existing = merged2[current.name];
    merged2[current.name] = existing ? Object.assign({}, existing, current, {
      options: Object.assign({}, existing.options, current.options),
      data: Object.assign({}, existing.data, current.data)
    }) : current;
    return merged2;
  }, {});
  return Object.keys(merged).map(function(key) {
    return merged[key];
  });
}
var init_mergeByName = __esm({
  "../node_modules/@popperjs/core/lib/utils/mergeByName.js"() {
    __name(mergeByName, "mergeByName");
  }
});

// ../node_modules/@popperjs/core/lib/createPopper.js
function areValidElements() {
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
    args[_key] = arguments[_key];
  }
  return !args.some(function(element) {
    return !(element && typeof element.getBoundingClientRect === "function");
  });
}
function popperGenerator(generatorOptions) {
  if (generatorOptions === void 0) {
    generatorOptions = {};
  }
  var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers3 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions2 = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
  return /* @__PURE__ */ __name(function createPopper4(reference2, popper2, options) {
    if (options === void 0) {
      options = defaultOptions2;
    }
    var state3 = {
      placement: "bottom",
      orderedModifiers: [],
      options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions2),
      modifiersData: {},
      elements: {
        reference: reference2,
        popper: popper2
      },
      attributes: {},
      styles: {}
    };
    var effectCleanupFns = [];
    var isDestroyed = false;
    var instance = {
      state: state3,
      setOptions: /* @__PURE__ */ __name(function setOptions(setOptionsAction) {
        var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state3.options) : setOptionsAction;
        cleanupModifierEffects();
        state3.options = Object.assign({}, defaultOptions2, state3.options, options2);
        state3.scrollParents = {
          reference: isElement(reference2) ? listScrollParents(reference2) : reference2.contextElement ? listScrollParents(reference2.contextElement) : [],
          popper: listScrollParents(popper2)
        };
        var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers3, state3.options.modifiers)));
        state3.orderedModifiers = orderedModifiers.filter(function(m3) {
          return m3.enabled;
        });
        runModifierEffects();
        return instance.update();
      }, "setOptions"),
      // Sync update – it will always be executed, even if not necessary. This
      // is useful for low frequency updates where sync behavior simplifies the
      // logic.
      // For high frequency updates (e.g. `resize` and `scroll` events), always
      // prefer the async Popper#update method
      forceUpdate: /* @__PURE__ */ __name(function forceUpdate() {
        if (isDestroyed) {
          return;
        }
        var _state$elements = state3.elements, reference3 = _state$elements.reference, popper3 = _state$elements.popper;
        if (!areValidElements(reference3, popper3)) {
          return;
        }
        state3.rects = {
          reference: getCompositeRect(reference3, getOffsetParent(popper3), state3.options.strategy === "fixed"),
          popper: getLayoutRect(popper3)
        };
        state3.reset = false;
        state3.placement = state3.options.placement;
        state3.orderedModifiers.forEach(function(modifier) {
          return state3.modifiersData[modifier.name] = Object.assign({}, modifier.data);
        });
        for (var index4 = 0; index4 < state3.orderedModifiers.length; index4++) {
          if (state3.reset === true) {
            state3.reset = false;
            index4 = -1;
            continue;
          }
          var _state$orderedModifie = state3.orderedModifiers[index4], fn4 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name;
          if (typeof fn4 === "function") {
            state3 = fn4({
              state: state3,
              options: _options,
              name,
              instance
            }) || state3;
          }
        }
      }, "forceUpdate"),
      // Async and optimistically optimized update – it will not be executed if
      // not necessary (debounced to run at most once-per-tick)
      update: debounce(function() {
        return new Promise(function(resolve) {
          instance.forceUpdate();
          resolve(state3);
        });
      }),
      destroy: /* @__PURE__ */ __name(function destroy2() {
        cleanupModifierEffects();
        isDestroyed = true;
      }, "destroy")
    };
    if (!areValidElements(reference2, popper2)) {
      return instance;
    }
    instance.setOptions(options).then(function(state4) {
      if (!isDestroyed && options.onFirstUpdate) {
        options.onFirstUpdate(state4);
      }
    });
    function runModifierEffects() {
      state3.orderedModifiers.forEach(function(_ref) {
        var name = _ref.name, _ref$options = _ref.options, options2 = _ref$options === void 0 ? {} : _ref$options, effect4 = _ref.effect;
        if (typeof effect4 === "function") {
          var cleanupFn = effect4({
            state: state3,
            name,
            instance,
            options: options2
          });
          var noopFn = /* @__PURE__ */ __name(function noopFn2() {
          }, "noopFn");
          effectCleanupFns.push(cleanupFn || noopFn);
        }
      });
    }
    __name(runModifierEffects, "runModifierEffects");
    function cleanupModifierEffects() {
      effectCleanupFns.forEach(function(fn4) {
        return fn4();
      });
      effectCleanupFns = [];
    }
    __name(cleanupModifierEffects, "cleanupModifierEffects");
    return instance;
  }, "createPopper");
}
var DEFAULT_OPTIONS, createPopper;
var init_createPopper = __esm({
  "../node_modules/@popperjs/core/lib/createPopper.js"() {
    init_getCompositeRect();
    init_getLayoutRect();
    init_listScrollParents();
    init_getOffsetParent();
    init_orderModifiers();
    init_debounce();
    init_mergeByName();
    init_detectOverflow();
    init_instanceOf();
    DEFAULT_OPTIONS = {
      placement: "bottom",
      modifiers: [],
      strategy: "absolute"
    };
    __name(areValidElements, "areValidElements");
    __name(popperGenerator, "popperGenerator");
    createPopper = popperGenerator();
  }
});

// ../node_modules/@popperjs/core/lib/popper-lite.js
var defaultModifiers, createPopper2;
var init_popper_lite = __esm({
  "../node_modules/@popperjs/core/lib/popper-lite.js"() {
    init_createPopper();
    init_eventListeners();
    init_popperOffsets();
    init_computeStyles();
    init_applyStyles();
    defaultModifiers = [eventListeners_default, popperOffsets_default, computeStyles_default, applyStyles_default];
    createPopper2 = popperGenerator({
      defaultModifiers
    });
  }
});

// ../node_modules/@popperjs/core/lib/popper.js
var defaultModifiers2, createPopper3;
var init_popper = __esm({
  "../node_modules/@popperjs/core/lib/popper.js"() {
    init_createPopper();
    init_eventListeners();
    init_popperOffsets();
    init_computeStyles();
    init_applyStyles();
    init_offset();
    init_flip();
    init_preventOverflow();
    init_arrow();
    init_hide();
    init_popper_lite();
    init_modifiers();
    defaultModifiers2 = [eventListeners_default, popperOffsets_default, computeStyles_default, applyStyles_default, offset_default, flip_default, preventOverflow_default, arrow_default, hide_default];
    createPopper3 = popperGenerator({
      defaultModifiers: defaultModifiers2
    });
  }
});

// ../node_modules/@popperjs/core/lib/index.js
var init_lib = __esm({
  "../node_modules/@popperjs/core/lib/index.js"() {
    init_enums();
    init_modifiers();
    init_createPopper();
    init_popper();
    init_popper_lite();
  }
});

// ../node_modules/react-fast-compare/index.js
var require_react_fast_compare = __commonJS({
  "../node_modules/react-fast-compare/index.js"(exports, module2) {
    var hasElementType = typeof Element !== "undefined";
    var hasMap = typeof Map === "function";
    var hasSet = typeof Set === "function";
    var hasArrayBuffer = typeof ArrayBuffer === "function" && !!ArrayBuffer.isView;
    function equal(a2, b) {
      if (a2 === b) return true;
      if (a2 && b && typeof a2 == "object" && typeof b == "object") {
        if (a2.constructor !== b.constructor) return false;
        var length2, i2, keys3;
        if (Array.isArray(a2)) {
          length2 = a2.length;
          if (length2 != b.length) return false;
          for (i2 = length2; i2-- !== 0; )
            if (!equal(a2[i2], b[i2])) return false;
          return true;
        }
        var it;
        if (hasMap && a2 instanceof Map && b instanceof Map) {
          if (a2.size !== b.size) return false;
          it = a2.entries();
          while (!(i2 = it.next()).done)
            if (!b.has(i2.value[0])) return false;
          it = a2.entries();
          while (!(i2 = it.next()).done)
            if (!equal(i2.value[1], b.get(i2.value[0]))) return false;
          return true;
        }
        if (hasSet && a2 instanceof Set && b instanceof Set) {
          if (a2.size !== b.size) return false;
          it = a2.entries();
          while (!(i2 = it.next()).done)
            if (!b.has(i2.value[0])) return false;
          return true;
        }
        if (hasArrayBuffer && ArrayBuffer.isView(a2) && ArrayBuffer.isView(b)) {
          length2 = a2.length;
          if (length2 != b.length) return false;
          for (i2 = length2; i2-- !== 0; )
            if (a2[i2] !== b[i2]) return false;
          return true;
        }
        if (a2.constructor === RegExp) return a2.source === b.source && a2.flags === b.flags;
        if (a2.valueOf !== Object.prototype.valueOf && typeof a2.valueOf === "function" && typeof b.valueOf === "function") return a2.valueOf() === b.valueOf();
        if (a2.toString !== Object.prototype.toString && typeof a2.toString === "function" && typeof b.toString === "function") return a2.toString() === b.toString();
        keys3 = Object.keys(a2);
        length2 = keys3.length;
        if (length2 !== Object.keys(b).length) return false;
        for (i2 = length2; i2-- !== 0; )
          if (!Object.prototype.hasOwnProperty.call(b, keys3[i2])) return false;
        if (hasElementType && a2 instanceof Element) return false;
        for (i2 = length2; i2-- !== 0; ) {
          if ((keys3[i2] === "_owner" || keys3[i2] === "__v" || keys3[i2] === "__o") && a2.$$typeof) {
            continue;
          }
          if (!equal(a2[keys3[i2]], b[keys3[i2]])) return false;
        }
        return true;
      }
      return a2 !== a2 && b !== b;
    }
    __name(equal, "equal");
    module2.exports = /* @__PURE__ */ __name(function isEqual4(a2, b) {
      try {
        return equal(a2, b);
      } catch (error) {
        if ((error.message || "").match(/stack|recursion/i)) {
          console.warn("react-fast-compare cannot handle circular refs");
          return false;
        }
        throw error;
      }
    }, "isEqual");
  }
});

// ../node_modules/react-popper/lib/esm/usePopper.js
var React72, ReactDOM5, import_react_fast_compare, EMPTY_MODIFIERS, usePopper;
var init_usePopper = __esm({
  "../node_modules/react-popper/lib/esm/usePopper.js"() {
    React72 = __toESM(require_react());
    ReactDOM5 = __toESM(require_react_dom());
    init_lib();
    import_react_fast_compare = __toESM(require_react_fast_compare());
    init_utils3();
    EMPTY_MODIFIERS = [];
    usePopper = /* @__PURE__ */ __name(function usePopper2(referenceElement, popperElement, options) {
      if (options === void 0) {
        options = {};
      }
      var prevOptions = React72.useRef(null);
      var optionsWithDefaults = {
        onFirstUpdate: options.onFirstUpdate,
        placement: options.placement || "bottom",
        strategy: options.strategy || "absolute",
        modifiers: options.modifiers || EMPTY_MODIFIERS
      };
      var _React$useState = React72.useState({
        styles: {
          popper: {
            position: optionsWithDefaults.strategy,
            left: "0",
            top: "0"
          },
          arrow: {
            position: "absolute"
          }
        },
        attributes: {}
      }), state3 = _React$useState[0], setState2 = _React$useState[1];
      var updateStateModifier = React72.useMemo(function() {
        return {
          name: "updateState",
          enabled: true,
          phase: "write",
          fn: /* @__PURE__ */ __name(function fn4(_ref) {
            var state4 = _ref.state;
            var elements = Object.keys(state4.elements);
            ReactDOM5.flushSync(function() {
              setState2({
                styles: fromEntries(elements.map(function(element) {
                  return [element, state4.styles[element] || {}];
                })),
                attributes: fromEntries(elements.map(function(element) {
                  return [element, state4.attributes[element]];
                }))
              });
            });
          }, "fn"),
          requires: ["computeStyles"]
        };
      }, []);
      var popperOptions = React72.useMemo(function() {
        var newOptions = {
          onFirstUpdate: optionsWithDefaults.onFirstUpdate,
          placement: optionsWithDefaults.placement,
          strategy: optionsWithDefaults.strategy,
          modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {
            name: "applyStyles",
            enabled: false
          }])
        };
        if ((0, import_react_fast_compare.default)(prevOptions.current, newOptions)) {
          return prevOptions.current || newOptions;
        } else {
          prevOptions.current = newOptions;
          return newOptions;
        }
      }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);
      var popperInstanceRef = React72.useRef();
      useIsomorphicLayoutEffect2(function() {
        if (popperInstanceRef.current) {
          popperInstanceRef.current.setOptions(popperOptions);
        }
      }, [popperOptions]);
      useIsomorphicLayoutEffect2(function() {
        if (referenceElement == null || popperElement == null) {
          return;
        }
        var createPopper4 = options.createPopper || createPopper3;
        var popperInstance = createPopper4(referenceElement, popperElement, popperOptions);
        popperInstanceRef.current = popperInstance;
        return function() {
          popperInstance.destroy();
          popperInstanceRef.current = null;
        };
      }, [referenceElement, popperElement, options.createPopper]);
      return {
        state: popperInstanceRef.current ? popperInstanceRef.current.state : null,
        styles: state3.styles,
        attributes: state3.attributes,
        update: popperInstanceRef.current ? popperInstanceRef.current.update : null,
        forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null
      };
    }, "usePopper");
  }
});

// ../node_modules/react-popper/lib/esm/Popper.js
var React73;
var init_Popper = __esm({
  "../node_modules/react-popper/lib/esm/Popper.js"() {
    React73 = __toESM(require_react());
    init_Manager();
    init_utils3();
    init_usePopper();
  }
});

// ../node_modules/warning/warning.js
var require_warning = __commonJS({
  "../node_modules/warning/warning.js"(exports, module2) {
    "use strict";
    var __DEV__ = false;
    var warning3 = /* @__PURE__ */ __name(function() {
    }, "warning");
    if (__DEV__) {
      printWarning = /* @__PURE__ */ __name(function printWarning2(format4, args) {
        var len = arguments.length;
        args = new Array(len > 1 ? len - 1 : 0);
        for (var key = 1; key < len; key++) {
          args[key - 1] = arguments[key];
        }
        var argIndex = 0;
        var message = "Warning: " + format4.replace(/%s/g, function() {
          return args[argIndex++];
        });
        if (typeof console !== "undefined") {
          console.error(message);
        }
        try {
          throw new Error(message);
        } catch (x) {
        }
      }, "printWarning");
      warning3 = /* @__PURE__ */ __name(function(condition, format4, args) {
        var len = arguments.length;
        args = new Array(len > 2 ? len - 2 : 0);
        for (var key = 2; key < len; key++) {
          args[key - 2] = arguments[key];
        }
        if (format4 === void 0) {
          throw new Error(
            "`warning(condition, format, ...args)` requires a warning message argument"
          );
        }
        if (!condition) {
          printWarning.apply(null, [format4].concat(args));
        }
      }, "warning");
    }
    var printWarning;
    module2.exports = warning3;
  }
});

// ../node_modules/react-popper/lib/esm/Reference.js
var React74, import_warning;
var init_Reference = __esm({
  "../node_modules/react-popper/lib/esm/Reference.js"() {
    React74 = __toESM(require_react());
    import_warning = __toESM(require_warning());
    init_Manager();
    init_utils3();
  }
});

// ../node_modules/react-popper/lib/esm/index.js
var init_esm2 = __esm({
  "../node_modules/react-popper/lib/esm/index.js"() {
    init_Popper();
    init_Manager();
    init_Reference();
    init_usePopper();
  }
});

// ../node_modules/react-popper-tooltip/dist/esm/react-popper-tooltip.js
function useGetLatest(val) {
  var ref = React75.useRef(val);
  ref.current = val;
  return React75.useCallback(function() {
    return ref.current;
  }, []);
}
function useControlledState(_ref) {
  var initial2 = _ref.initial, value = _ref.value, _ref$onChange = _ref.onChange, onChange = _ref$onChange === void 0 ? noop3 : _ref$onChange;
  if (initial2 === void 0 && value === void 0) {
    throw new TypeError('Either "value" or "initial" variable must be set. Now both are undefined');
  }
  var _React$useState = React75.useState(initial2), state3 = _React$useState[0], setState2 = _React$useState[1];
  var getLatest = useGetLatest(state3);
  var set3 = React75.useCallback(function(updater) {
    var state4 = getLatest();
    var updatedState = typeof updater === "function" ? updater(state4) : updater;
    if (typeof updatedState.persist === "function") updatedState.persist();
    setState2(updatedState);
    if (typeof onChange === "function") onChange(updatedState);
  }, [getLatest, onChange]);
  var isControlled = value !== void 0;
  return [isControlled ? value : state3, isControlled ? onChange : set3];
}
function generateBoundingClientRect(x, y) {
  if (x === void 0) {
    x = 0;
  }
  if (y === void 0) {
    y = 0;
  }
  return function() {
    return {
      width: 0,
      height: 0,
      top: y,
      right: x,
      bottom: y,
      left: x,
      x: 0,
      y: 0,
      toJSON: /* @__PURE__ */ __name(function toJSON() {
        return null;
      }, "toJSON")
    };
  };
}
function usePopperTooltip(config4, popperOptions) {
  var _popperProps$state, _popperProps$state$mo, _popperProps$state$mo2;
  if (config4 === void 0) {
    config4 = {};
  }
  if (popperOptions === void 0) {
    popperOptions = {};
  }
  var finalConfig = Object.keys(defaultConfig).reduce(function(config5, key) {
    var _extends22;
    return _extends({}, config5, (_extends22 = {}, _extends22[key] = config5[key] !== void 0 ? config5[key] : defaultConfig[key], _extends22));
  }, config4);
  var defaultModifiers3 = React75.useMemo(
    function() {
      return [{
        name: "offset",
        options: {
          offset: finalConfig.offset
        }
      }];
    },
    // eslint-disable-next-line react-hooks/exhaustive-deps
    Array.isArray(finalConfig.offset) ? finalConfig.offset : []
  );
  var finalPopperOptions = _extends({}, popperOptions, {
    placement: popperOptions.placement || finalConfig.placement,
    modifiers: popperOptions.modifiers || defaultModifiers3
  });
  var _React$useState = React75.useState(null), triggerRef = _React$useState[0], setTriggerRef = _React$useState[1];
  var _React$useState2 = React75.useState(null), tooltipRef = _React$useState2[0], setTooltipRef = _React$useState2[1];
  var _useControlledState = useControlledState({
    initial: finalConfig.defaultVisible,
    value: finalConfig.visible,
    onChange: finalConfig.onVisibleChange
  }), visible = _useControlledState[0], setVisible = _useControlledState[1];
  var timer = React75.useRef();
  React75.useEffect(function() {
    return function() {
      return clearTimeout(timer.current);
    };
  }, []);
  var _usePopper = usePopper(finalConfig.followCursor ? virtualElement : triggerRef, tooltipRef, finalPopperOptions), styles4 = _usePopper.styles, attributes = _usePopper.attributes, popperProps = _objectWithoutPropertiesLoose(_usePopper, _excluded3);
  var update2 = popperProps.update;
  var getLatest = useGetLatest({
    visible,
    triggerRef,
    tooltipRef,
    finalConfig
  });
  var isTriggeredBy = React75.useCallback(
    function(trigger) {
      return Array.isArray(finalConfig.trigger) ? finalConfig.trigger.includes(trigger) : finalConfig.trigger === trigger;
    },
    // eslint-disable-next-line react-hooks/exhaustive-deps
    Array.isArray(finalConfig.trigger) ? finalConfig.trigger : [finalConfig.trigger]
  );
  var hideTooltip = React75.useCallback(function() {
    clearTimeout(timer.current);
    timer.current = window.setTimeout(function() {
      return setVisible(false);
    }, finalConfig.delayHide);
  }, [finalConfig.delayHide, setVisible]);
  var showTooltip = React75.useCallback(function() {
    clearTimeout(timer.current);
    timer.current = window.setTimeout(function() {
      return setVisible(true);
    }, finalConfig.delayShow);
  }, [finalConfig.delayShow, setVisible]);
  var toggleTooltip = React75.useCallback(function() {
    if (getLatest().visible) {
      hideTooltip();
    } else {
      showTooltip();
    }
  }, [getLatest, hideTooltip, showTooltip]);
  React75.useEffect(function() {
    if (!getLatest().finalConfig.closeOnOutsideClick) return;
    var handleClickOutside = /* @__PURE__ */ __name(function handleClickOutside2(event) {
      var _event$composedPath;
      var _getLatest = getLatest(), tooltipRef2 = _getLatest.tooltipRef, triggerRef2 = _getLatest.triggerRef;
      var target = (event.composedPath == null ? void 0 : (_event$composedPath = event.composedPath()) == null ? void 0 : _event$composedPath[0]) || event.target;
      if (target instanceof Node) {
        if (tooltipRef2 != null && triggerRef2 != null && !tooltipRef2.contains(target) && !triggerRef2.contains(target)) {
          hideTooltip();
        }
      }
    }, "handleClickOutside");
    document.addEventListener("mousedown", handleClickOutside);
    return function() {
      return document.removeEventListener("mousedown", handleClickOutside);
    };
  }, [getLatest, hideTooltip]);
  React75.useEffect(function() {
    if (triggerRef == null || !isTriggeredBy("click")) return;
    triggerRef.addEventListener("click", toggleTooltip);
    return function() {
      return triggerRef.removeEventListener("click", toggleTooltip);
    };
  }, [triggerRef, isTriggeredBy, toggleTooltip]);
  React75.useEffect(function() {
    if (triggerRef == null || !isTriggeredBy("double-click")) return;
    triggerRef.addEventListener("dblclick", toggleTooltip);
    return function() {
      return triggerRef.removeEventListener("dblclick", toggleTooltip);
    };
  }, [triggerRef, isTriggeredBy, toggleTooltip]);
  React75.useEffect(function() {
    if (triggerRef == null || !isTriggeredBy("right-click")) return;
    var preventDefaultAndToggle = /* @__PURE__ */ __name(function preventDefaultAndToggle2(event) {
      event.preventDefault();
      toggleTooltip();
    }, "preventDefaultAndToggle");
    triggerRef.addEventListener("contextmenu", preventDefaultAndToggle);
    return function() {
      return triggerRef.removeEventListener("contextmenu", preventDefaultAndToggle);
    };
  }, [triggerRef, isTriggeredBy, toggleTooltip]);
  React75.useEffect(function() {
    if (triggerRef == null || !isTriggeredBy("focus")) return;
    triggerRef.addEventListener("focus", showTooltip);
    triggerRef.addEventListener("blur", hideTooltip);
    return function() {
      triggerRef.removeEventListener("focus", showTooltip);
      triggerRef.removeEventListener("blur", hideTooltip);
    };
  }, [triggerRef, isTriggeredBy, showTooltip, hideTooltip]);
  React75.useEffect(function() {
    if (triggerRef == null || !isTriggeredBy("hover")) return;
    triggerRef.addEventListener("mouseenter", showTooltip);
    triggerRef.addEventListener("mouseleave", hideTooltip);
    return function() {
      triggerRef.removeEventListener("mouseenter", showTooltip);
      triggerRef.removeEventListener("mouseleave", hideTooltip);
    };
  }, [triggerRef, isTriggeredBy, showTooltip, hideTooltip]);
  React75.useEffect(function() {
    if (tooltipRef == null || !isTriggeredBy("hover") || !getLatest().finalConfig.interactive) return;
    tooltipRef.addEventListener("mouseenter", showTooltip);
    tooltipRef.addEventListener("mouseleave", hideTooltip);
    return function() {
      tooltipRef.removeEventListener("mouseenter", showTooltip);
      tooltipRef.removeEventListener("mouseleave", hideTooltip);
    };
  }, [tooltipRef, isTriggeredBy, showTooltip, hideTooltip, getLatest]);
  var isReferenceHidden = popperProps == null ? void 0 : (_popperProps$state = popperProps.state) == null ? void 0 : (_popperProps$state$mo = _popperProps$state.modifiersData) == null ? void 0 : (_popperProps$state$mo2 = _popperProps$state$mo.hide) == null ? void 0 : _popperProps$state$mo2.isReferenceHidden;
  React75.useEffect(function() {
    if (finalConfig.closeOnTriggerHidden && isReferenceHidden) hideTooltip();
  }, [finalConfig.closeOnTriggerHidden, hideTooltip, isReferenceHidden]);
  React75.useEffect(function() {
    if (!finalConfig.followCursor || triggerRef == null) return;
    function setMousePosition(_ref) {
      var clientX = _ref.clientX, clientY = _ref.clientY;
      virtualElement.getBoundingClientRect = generateBoundingClientRect(clientX, clientY);
      update2 == null ? void 0 : update2();
    }
    __name(setMousePosition, "setMousePosition");
    triggerRef.addEventListener("mousemove", setMousePosition);
    return function() {
      return triggerRef.removeEventListener("mousemove", setMousePosition);
    };
  }, [finalConfig.followCursor, triggerRef, update2]);
  React75.useEffect(function() {
    if (tooltipRef == null || update2 == null || finalConfig.mutationObserverOptions == null) return;
    var observer = new MutationObserver(update2);
    observer.observe(tooltipRef, finalConfig.mutationObserverOptions);
    return function() {
      return observer.disconnect();
    };
  }, [finalConfig.mutationObserverOptions, tooltipRef, update2]);
  var getTooltipProps = /* @__PURE__ */ __name(function getTooltipProps2(args) {
    if (args === void 0) {
      args = {};
    }
    return _extends({}, args, {
      style: _extends({}, args.style, styles4.popper)
    }, attributes.popper, {
      "data-popper-interactive": finalConfig.interactive
    });
  }, "getTooltipProps");
  var getArrowProps = /* @__PURE__ */ __name(function getArrowProps2(args) {
    if (args === void 0) {
      args = {};
    }
    return _extends({}, args, attributes.arrow, {
      style: _extends({}, args.style, styles4.arrow),
      "data-popper-arrow": true
    });
  }, "getArrowProps");
  return _extends({
    getArrowProps,
    getTooltipProps,
    setTooltipRef,
    setTriggerRef,
    tooltipRef,
    triggerRef,
    visible
  }, popperProps);
}
var React75, noop3, _excluded3, virtualElement, defaultConfig;
var init_react_popper_tooltip = __esm({
  "../node_modules/react-popper-tooltip/dist/esm/react-popper-tooltip.js"() {
    init_objectWithoutPropertiesLoose();
    init_extends();
    React75 = __toESM(require_react());
    init_esm2();
    __name(useGetLatest, "useGetLatest");
    noop3 = /* @__PURE__ */ __name(function noop4() {
    }, "noop");
    __name(useControlledState, "useControlledState");
    __name(generateBoundingClientRect, "generateBoundingClientRect");
    _excluded3 = ["styles", "attributes"];
    virtualElement = {
      getBoundingClientRect: generateBoundingClientRect()
    };
    defaultConfig = {
      closeOnOutsideClick: true,
      closeOnTriggerHidden: false,
      defaultVisible: false,
      delayHide: 0,
      delayShow: 0,
      followCursor: false,
      interactive: false,
      mutationObserverOptions: {
        attributes: true,
        childList: true,
        subtree: true
      },
      offset: [0, 6],
      trigger: "hover"
    };
    __name(usePopperTooltip, "usePopperTooltip");
  }
});

// src/components/components/tooltip/Tooltip.tsx
var import_react41, import_memoizerific4, match2, ArrowSpacing, Arrow, Wrapper3, Tooltip;
var init_Tooltip = __esm({
  "src/components/components/tooltip/Tooltip.tsx"() {
    "use strict";
    import_react41 = __toESM(require_react(), 1);
    import_memoizerific4 = __toESM(require_memoizerific(), 1);
    init_theming();
    match2 = (0, import_memoizerific4.default)(1e3)(
      (requests, actual, value, fallback = 0) => actual.split("-")[0] === requests ? value : fallback
    );
    ArrowSpacing = 8;
    Arrow = styled.div(
      {
        position: "absolute",
        borderStyle: "solid"
      },
      ({ placement }) => {
        let x = 0;
        let y = 0;
        switch (true) {
          case (placement.startsWith("left") || placement.startsWith("right")): {
            y = 8;
            break;
          }
          case (placement.startsWith("top") || placement.startsWith("bottom")): {
            x = 8;
            break;
          }
          default: {
          }
        }
        const transform = `translate3d(${x}px, ${y}px, 0px)`;
        return { transform };
      },
      ({ theme: theme3, color: color2, placement }) => ({
        bottom: `${match2("top", placement, `${ArrowSpacing * -1}px`, "auto")}`,
        top: `${match2("bottom", placement, `${ArrowSpacing * -1}px`, "auto")}`,
        right: `${match2("left", placement, `${ArrowSpacing * -1}px`, "auto")}`,
        left: `${match2("right", placement, `${ArrowSpacing * -1}px`, "auto")}`,
        borderBottomWidth: `${match2("top", placement, "0", ArrowSpacing)}px`,
        borderTopWidth: `${match2("bottom", placement, "0", ArrowSpacing)}px`,
        borderRightWidth: `${match2("left", placement, "0", ArrowSpacing)}px`,
        borderLeftWidth: `${match2("right", placement, "0", ArrowSpacing)}px`,
        borderTopColor: match2(
          "top",
          placement,
          theme3.color[color2] || color2 || theme3.base === "light" ? lightenColor(theme3.background.app) : theme3.background.app,
          "transparent"
        ),
        borderBottomColor: match2(
          "bottom",
          placement,
          theme3.color[color2] || color2 || theme3.base === "light" ? lightenColor(theme3.background.app) : theme3.background.app,
          "transparent"
        ),
        borderLeftColor: match2(
          "left",
          placement,
          theme3.color[color2] || color2 || theme3.base === "light" ? lightenColor(theme3.background.app) : theme3.background.app,
          "transparent"
        ),
        borderRightColor: match2(
          "right",
          placement,
          theme3.color[color2] || color2 || theme3.base === "light" ? lightenColor(theme3.background.app) : theme3.background.app,
          "transparent"
        )
      })
    );
    Wrapper3 = styled.div(
      ({ hidden }) => ({
        display: hidden ? "none" : "inline-block",
        zIndex: 2147483647,
        colorScheme: "light dark"
      }),
      ({ theme: theme3, color: color2, hasChrome }) => hasChrome ? {
        background: color2 && theme3.color[color2] || color2 || theme3.base === "light" ? lightenColor(theme3.background.app) : theme3.background.app,
        filter: `
            drop-shadow(0px 5px 5px rgba(0,0,0,0.05))
            drop-shadow(0 1px 3px rgba(0,0,0,0.1))
          `,
        borderRadius: theme3.appBorderRadius + 2,
        fontSize: theme3.typography.size.s1
      } : {}
    );
    Tooltip = import_react41.default.forwardRef(
      ({
        placement = "top",
        hasChrome = true,
        children,
        arrowProps = {},
        tooltipRef,
        color: color2,
        withArrows,
        ...props
      }, ref) => {
        return import_react41.default.createElement(Wrapper3, { "data-testid": "tooltip", hasChrome, ref, ...props, color: color2 }, hasChrome && withArrows && import_react41.default.createElement(Arrow, { placement, ...arrowProps, color: color2 }), children);
      }
    );
    Tooltip.displayName = "Tooltip";
  }
});

// src/components/components/tooltip/WithTooltip.tsx
var WithTooltip_exports = {};
__export(WithTooltip_exports, {
  WithToolTipState: () => WithToolTipState,
  WithTooltip: () => WithToolTipState,
  WithTooltipPure: () => WithTooltipPure
});
var import_react42, import_react_dom2, document5, TargetContainer, TargetSvgContainer, WithTooltipPure, WithToolTipState;
var init_WithTooltip = __esm({
  "src/components/components/tooltip/WithTooltip.tsx"() {
    "use strict";
    import_react42 = __toESM(require_react(), 1);
    import_react_dom2 = __toESM(require_react_dom(), 1);
    init_dist();
    init_react_popper_tooltip();
    init_theming();
    init_Tooltip();
    ({ document: document5 } = scope);
    TargetContainer = styled.div`
  display: inline-block;
  cursor: ${(props) => props.trigger === "hover" || props.trigger?.includes("hover") ? "default" : "pointer"};
`;
    TargetSvgContainer = styled.g`
  cursor: ${(props) => props.trigger === "hover" || props.trigger?.includes("hover") ? "default" : "pointer"};
`;
    WithTooltipPure = /* @__PURE__ */ __name(({
      svg = false,
      trigger = "click",
      closeOnOutsideClick = false,
      placement = "top",
      modifiers = [
        {
          name: "preventOverflow",
          options: {
            padding: 8
          }
        },
        {
          name: "offset",
          options: {
            offset: [8, 8]
          }
        },
        {
          name: "arrow",
          options: {
            padding: 8
          }
        }
      ],
      hasChrome = true,
      defaultVisible = false,
      withArrows,
      offset: offset3,
      tooltip,
      children,
      closeOnTriggerHidden,
      mutationObserverOptions,
      delayHide = trigger === "hover" ? 200 : 0,
      visible,
      interactive,
      delayShow = trigger === "hover" ? 400 : 0,
      strategy,
      followCursor,
      onVisibleChange,
      portalContainer,
      ...props
    }) => {
      const Container4 = svg ? TargetSvgContainer : TargetContainer;
      const {
        getArrowProps,
        getTooltipProps,
        setTooltipRef,
        setTriggerRef,
        visible: isVisible2,
        state: state3
      } = usePopperTooltip(
        {
          trigger,
          placement,
          defaultVisible,
          delayHide,
          interactive,
          closeOnOutsideClick,
          closeOnTriggerHidden,
          onVisibleChange,
          delayShow,
          followCursor,
          mutationObserverOptions,
          visible,
          offset: offset3
        },
        {
          modifiers,
          strategy
        }
      );
      const portalTarget = (typeof portalContainer === "string" ? document5.querySelector(portalContainer) : portalContainer) || document5.body;
      const tooltipComponent = isVisible2 ? import_react42.default.createElement(
        Tooltip,
        {
          placement: state3?.placement,
          ref: setTooltipRef,
          hasChrome,
          arrowProps: getArrowProps(),
          withArrows,
          ...getTooltipProps()
        },
        typeof tooltip === "function" ? tooltip({ onHide: /* @__PURE__ */ __name(() => onVisibleChange(false), "onHide") }) : tooltip
      ) : null;
      return import_react42.default.createElement(import_react42.default.Fragment, null, import_react42.default.createElement(Container4, { trigger, ref: setTriggerRef, ...props }, children), isVisible2 && import_react_dom2.default.createPortal(tooltipComponent, portalTarget));
    }, "WithTooltipPure");
    WithToolTipState = /* @__PURE__ */ __name(({
      startOpen = false,
      onVisibleChange: onChange,
      ...rest
    }) => {
      const [tooltipShown, setTooltipShown] = (0, import_react42.useState)(startOpen);
      const onVisibilityChange = (0, import_react42.useCallback)(
        (visibility) => {
          if (onChange && onChange(visibility) === false) {
            return;
          }
          setTooltipShown(visibility);
        },
        [onChange]
      );
      (0, import_react42.useEffect)(() => {
        const hide2 = /* @__PURE__ */ __name(() => onVisibilityChange(false), "hide");
        const handleKeyDown = /* @__PURE__ */ __name((e2) => {
          if (e2.key === "Escape") {
            hide2();
          }
        }, "handleKeyDown");
        document5.addEventListener("keydown", handleKeyDown, false);
        const iframes = Array.from(document5.getElementsByTagName("iframe"));
        const unbinders = [];
        iframes.forEach((iframe) => {
          const bind = /* @__PURE__ */ __name(() => {
            try {
              if (iframe.contentWindow.document) {
                iframe.contentWindow.document.addEventListener("click", hide2);
                unbinders.push(() => {
                  try {
                    iframe.contentWindow.document.removeEventListener("click", hide2);
                  } catch (e2) {
                  }
                });
              }
            } catch (e2) {
            }
          }, "bind");
          bind();
          iframe.addEventListener("load", bind);
          unbinders.push(() => {
            iframe.removeEventListener("load", bind);
          });
        });
        return () => {
          document5.removeEventListener("keydown", handleKeyDown);
          unbinders.forEach((unbind) => {
            unbind();
          });
        };
      });
      return import_react42.default.createElement(WithTooltipPure, { ...rest, visible: tooltipShown, onVisibleChange: onVisibilityChange });
    }, "WithToolTipState");
  }
});

// ../node_modules/@ngard/tiny-isequal/index.js
var require_tiny_isequal = __commonJS({
  "../node_modules/@ngard/tiny-isequal/index.js"(exports) {
    Object.defineProperty(exports, "__esModule", { value: true }), exports.isEqual = /* @__PURE__ */ function() {
      var e2 = Object.prototype.toString, r2 = Object.getPrototypeOf, t2 = Object.getOwnPropertySymbols ? function(e3) {
        return Object.keys(e3).concat(Object.getOwnPropertySymbols(e3));
      } : Object.keys;
      return function(n2, a2) {
        return (/* @__PURE__ */ __name(function n3(a3, c2, u2) {
          var i2, s3, l, o2 = e2.call(a3), f3 = e2.call(c2);
          if (a3 === c2) return true;
          if (null == a3 || null == c2) return false;
          if (u2.indexOf(a3) > -1 && u2.indexOf(c2) > -1) return true;
          if (u2.push(a3, c2), o2 != f3) return false;
          if (i2 = t2(a3), s3 = t2(c2), i2.length != s3.length || i2.some(function(e3) {
            return !n3(a3[e3], c2[e3], u2);
          })) return false;
          switch (o2.slice(8, -1)) {
            case "Symbol":
              return a3.valueOf() == c2.valueOf();
            case "Date":
            case "Number":
              return +a3 == +c2 || +a3 != +a3 && +c2 != +c2;
            case "RegExp":
            case "Function":
            case "String":
            case "Boolean":
              return "" + a3 == "" + c2;
            case "Set":
            case "Map":
              i2 = a3.entries(), s3 = c2.entries();
              do {
                if (!n3((l = i2.next()).value, s3.next().value, u2)) return false;
              } while (!l.done);
              return true;
            case "ArrayBuffer":
              a3 = new Uint8Array(a3), c2 = new Uint8Array(c2);
            case "DataView":
              a3 = new Uint8Array(a3.buffer), c2 = new Uint8Array(c2.buffer);
            case "Float32Array":
            case "Float64Array":
            case "Int8Array":
            case "Int16Array":
            case "Int32Array":
            case "Uint8Array":
            case "Uint16Array":
            case "Uint32Array":
            case "Uint8ClampedArray":
            case "Arguments":
            case "Array":
              if (a3.length != c2.length) return false;
              for (l = 0; l < a3.length; l++) if ((l in a3 || l in c2) && (l in a3 != l in c2 || !n3(a3[l], c2[l], u2))) return false;
              return true;
            case "Object":
              return n3(r2(a3), r2(c2), u2);
            default:
              return false;
          }
        }, "n"))(n2, a2, []);
      };
    }();
  }
});

// ../node_modules/picoquery/lib/string-util.js
var require_string_util = __commonJS({
  "../node_modules/picoquery/lib/string-util.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.encodeString = encodeString;
    var hexTable = Array.from({ length: 256 }, (_, i2) => "%" + ((i2 < 16 ? "0" : "") + i2.toString(16)).toUpperCase());
    var noEscape = new Int8Array([
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      1,
      0,
      0,
      0,
      0,
      0,
      1,
      1,
      1,
      1,
      0,
      0,
      1,
      1,
      0,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      0,
      0,
      0,
      0,
      1,
      0,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      0,
      0,
      0,
      1,
      0
    ]);
    function encodeString(str2) {
      const len = str2.length;
      if (len === 0) {
        return "";
      }
      let out = "";
      let lastPos = 0;
      let i2 = 0;
      outer: for (; i2 < len; i2++) {
        let c2 = str2.charCodeAt(i2);
        while (c2 < 128) {
          if (noEscape[c2] !== 1) {
            if (lastPos < i2)
              out += str2.slice(lastPos, i2);
            lastPos = i2 + 1;
            out += hexTable[c2];
          }
          if (++i2 === len)
            break outer;
          c2 = str2.charCodeAt(i2);
        }
        if (lastPos < i2)
          out += str2.slice(lastPos, i2);
        if (c2 < 2048) {
          lastPos = i2 + 1;
          out += hexTable[192 | c2 >> 6] + hexTable[128 | c2 & 63];
          continue;
        }
        if (c2 < 55296 || c2 >= 57344) {
          lastPos = i2 + 1;
          out += hexTable[224 | c2 >> 12] + hexTable[128 | c2 >> 6 & 63] + hexTable[128 | c2 & 63];
          continue;
        }
        ++i2;
        if (i2 >= len) {
          throw new Error("URI malformed");
        }
        const c22 = str2.charCodeAt(i2) & 1023;
        lastPos = i2 + 1;
        c2 = 65536 + ((c2 & 1023) << 10 | c22);
        out += hexTable[240 | c2 >> 18] + hexTable[128 | c2 >> 12 & 63] + hexTable[128 | c2 >> 6 & 63] + hexTable[128 | c2 & 63];
      }
      if (lastPos === 0)
        return str2;
      if (lastPos < len)
        return out + str2.slice(lastPos);
      return out;
    }
    __name(encodeString, "encodeString");
  }
});

// ../node_modules/picoquery/lib/shared.js
var require_shared = __commonJS({
  "../node_modules/picoquery/lib/shared.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.defaultOptions = exports.defaultShouldSerializeObject = exports.defaultValueSerializer = void 0;
    var string_util_js_1 = require_string_util();
    var defaultValueSerializer = /* @__PURE__ */ __name((value) => {
      switch (typeof value) {
        case "string":
          return (0, string_util_js_1.encodeString)(value);
        case "bigint":
        case "boolean":
          return "" + value;
        case "number":
          if (Number.isFinite(value)) {
            return value < 1e21 ? "" + value : (0, string_util_js_1.encodeString)("" + value);
          }
          break;
      }
      if (value instanceof Date) {
        return (0, string_util_js_1.encodeString)(value.toISOString());
      }
      return "";
    }, "defaultValueSerializer");
    exports.defaultValueSerializer = defaultValueSerializer;
    var defaultShouldSerializeObject = /* @__PURE__ */ __name((val) => {
      return val instanceof Date;
    }, "defaultShouldSerializeObject");
    exports.defaultShouldSerializeObject = defaultShouldSerializeObject;
    var identityFunc = /* @__PURE__ */ __name((v) => v, "identityFunc");
    exports.defaultOptions = {
      nesting: true,
      nestingSyntax: "dot",
      arrayRepeat: false,
      arrayRepeatSyntax: "repeat",
      delimiter: 38,
      valueDeserializer: identityFunc,
      valueSerializer: exports.defaultValueSerializer,
      keyDeserializer: identityFunc,
      shouldSerializeObject: exports.defaultShouldSerializeObject
    };
  }
});

// ../node_modules/picoquery/lib/object-util.js
var require_object_util = __commonJS({
  "../node_modules/picoquery/lib/object-util.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.getDeepObject = getDeepObject;
    exports.stringifyObject = stringifyObject;
    var shared_js_1 = require_shared();
    var string_util_js_1 = require_string_util();
    function isPrototypeKey(value) {
      return value === "__proto__" || value === "constructor" || value === "prototype";
    }
    __name(isPrototypeKey, "isPrototypeKey");
    function getDeepObject(obj, key, nextKey, forceObject, forceArray) {
      if (isPrototypeKey(key))
        return obj;
      const currObj = obj[key];
      if (typeof currObj === "object" && currObj !== null) {
        return currObj;
      }
      if (!forceObject && (forceArray || typeof nextKey === "number" || typeof nextKey === "string" && nextKey * 0 === 0 && nextKey.indexOf(".") === -1)) {
        return obj[key] = [];
      }
      return obj[key] = {};
    }
    __name(getDeepObject, "getDeepObject");
    var MAX_DEPTH = 20;
    var strBracketPair = "[]";
    var strBracketLeft = "[";
    var strBracketRight = "]";
    var strDot = ".";
    function stringifyObject(obj, options, depth = 0, parentKey, isProbableArray) {
      const { nestingSyntax = shared_js_1.defaultOptions.nestingSyntax, arrayRepeat = shared_js_1.defaultOptions.arrayRepeat, arrayRepeatSyntax = shared_js_1.defaultOptions.arrayRepeatSyntax, nesting = shared_js_1.defaultOptions.nesting, delimiter: delimiter2 = shared_js_1.defaultOptions.delimiter, valueSerializer = shared_js_1.defaultOptions.valueSerializer, shouldSerializeObject = shared_js_1.defaultOptions.shouldSerializeObject } = options;
      const strDelimiter = typeof delimiter2 === "number" ? String.fromCharCode(delimiter2) : delimiter2;
      const useArrayRepeatKey = isProbableArray === true && arrayRepeat;
      const shouldUseDot = nestingSyntax === "dot" || nestingSyntax === "js" && !isProbableArray;
      if (depth > MAX_DEPTH) {
        return "";
      }
      let result = "";
      let firstKey = true;
      let valueIsProbableArray = false;
      for (const key in obj) {
        const value = obj[key];
        if (value === void 0) {
          continue;
        }
        let path;
        if (parentKey) {
          path = parentKey;
          if (useArrayRepeatKey) {
            if (arrayRepeatSyntax === "bracket") {
              path += strBracketPair;
            }
          } else if (shouldUseDot) {
            path += strDot;
            path += key;
          } else {
            path += strBracketLeft;
            path += key;
            path += strBracketRight;
          }
        } else {
          path = key;
        }
        if (!firstKey) {
          result += strDelimiter;
        }
        if (typeof value === "object" && value !== null && !shouldSerializeObject(value)) {
          valueIsProbableArray = value.pop !== void 0;
          if (nesting || arrayRepeat && valueIsProbableArray) {
            result += stringifyObject(value, options, depth + 1, path, valueIsProbableArray);
          }
        } else {
          result += (0, string_util_js_1.encodeString)(path);
          result += "=";
          result += valueSerializer(value, key);
        }
        if (firstKey) {
          firstKey = false;
        }
      }
      return result;
    }
    __name(stringifyObject, "stringifyObject");
  }
});

// ../node_modules/picoquery/lib/decode-uri-component.js
var require_decode_uri_component = __commonJS({
  "../node_modules/picoquery/lib/decode-uri-component.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.decodeURIComponent = decodeURIComponent2;
    var UTF8_ACCEPT = 12;
    var UTF8_REJECT = 0;
    var UTF8_DATA = [
      // The first part of the table maps bytes to character to a transition.
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      3,
      4,
      4,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      5,
      6,
      7,
      7,
      7,
      7,
      7,
      7,
      7,
      7,
      7,
      7,
      7,
      7,
      8,
      7,
      7,
      10,
      9,
      9,
      9,
      11,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      4,
      // The second part of the table maps a state to a new state when adding a
      // transition.
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      12,
      0,
      0,
      0,
      0,
      24,
      36,
      48,
      60,
      72,
      84,
      96,
      0,
      12,
      12,
      12,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      24,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      24,
      24,
      24,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      24,
      24,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      48,
      48,
      48,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      48,
      48,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      48,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      // The third part maps the current transition to a mask that needs to apply
      // to the byte.
      127,
      63,
      63,
      63,
      0,
      31,
      15,
      15,
      15,
      7,
      7,
      7
    ];
    function decodeURIComponent2(uri) {
      let percentPosition = uri.indexOf("%");
      if (percentPosition === -1) {
        return uri;
      }
      const length2 = uri.length;
      let decoded = "";
      let last2 = 0;
      let codepoint = 0;
      let startOfOctets = percentPosition;
      let state3 = UTF8_ACCEPT;
      while (percentPosition > -1 && percentPosition < length2) {
        const high = hexCodeToInt(uri[percentPosition + 1], 4);
        const low = hexCodeToInt(uri[percentPosition + 2], 0);
        const byte = high | low;
        const type5 = UTF8_DATA[byte];
        state3 = UTF8_DATA[256 + state3 + type5];
        codepoint = codepoint << 6 | byte & UTF8_DATA[364 + type5];
        if (state3 === UTF8_ACCEPT) {
          decoded += uri.slice(last2, startOfOctets);
          decoded += codepoint <= 65535 ? String.fromCharCode(codepoint) : String.fromCharCode(55232 + (codepoint >> 10), 56320 + (codepoint & 1023));
          codepoint = 0;
          last2 = percentPosition + 3;
          percentPosition = startOfOctets = uri.indexOf("%", last2);
        } else if (state3 === UTF8_REJECT) {
          return null;
        } else {
          percentPosition += 3;
          if (percentPosition < length2 && uri.charCodeAt(percentPosition) === 37)
            continue;
          return null;
        }
      }
      return decoded + uri.slice(last2);
    }
    __name(decodeURIComponent2, "decodeURIComponent");
    var HEX = {
      "0": 0,
      "1": 1,
      "2": 2,
      "3": 3,
      "4": 4,
      "5": 5,
      "6": 6,
      "7": 7,
      "8": 8,
      "9": 9,
      a: 10,
      A: 10,
      b: 11,
      B: 11,
      c: 12,
      C: 12,
      d: 13,
      D: 13,
      e: 14,
      E: 14,
      f: 15,
      F: 15
    };
    function hexCodeToInt(c2, shift) {
      const i2 = HEX[c2];
      return i2 === void 0 ? 255 : i2 << shift;
    }
    __name(hexCodeToInt, "hexCodeToInt");
  }
});

// ../node_modules/picoquery/lib/parse.js
var require_parse = __commonJS({
  "../node_modules/picoquery/lib/parse.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.numberValueDeserializer = exports.numberKeyDeserializer = void 0;
    exports.parse = parse9;
    var object_util_js_1 = require_object_util();
    var shared_js_1 = require_shared();
    var decode_uri_component_js_1 = require_decode_uri_component();
    var numberKeyDeserializer = /* @__PURE__ */ __name((key) => {
      const asNumber = Number(key);
      if (!Number.isNaN(asNumber)) {
        return asNumber;
      }
      return key;
    }, "numberKeyDeserializer");
    exports.numberKeyDeserializer = numberKeyDeserializer;
    var numberValueDeserializer = /* @__PURE__ */ __name((value) => {
      const asNumber = Number(value);
      if (!Number.isNaN(asNumber)) {
        return asNumber;
      }
      return value;
    }, "numberValueDeserializer");
    exports.numberValueDeserializer = numberValueDeserializer;
    var regexPlus = /\+/g;
    var Empty = /* @__PURE__ */ __name(function() {
    }, "Empty");
    Empty.prototype = /* @__PURE__ */ Object.create(null);
    function computeKeySlice(input2, startIndex, endIndex, keyHasPlus, shouldDecodeKey) {
      let chunk2 = input2.substring(startIndex, endIndex);
      if (keyHasPlus) {
        chunk2 = chunk2.replace(regexPlus, " ");
      }
      if (shouldDecodeKey) {
        chunk2 = (0, decode_uri_component_js_1.decodeURIComponent)(chunk2) || chunk2;
      }
      return chunk2;
    }
    __name(computeKeySlice, "computeKeySlice");
    function parse9(input2, options) {
      const { valueDeserializer = shared_js_1.defaultOptions.valueDeserializer, keyDeserializer = shared_js_1.defaultOptions.keyDeserializer, arrayRepeatSyntax = shared_js_1.defaultOptions.arrayRepeatSyntax, nesting = shared_js_1.defaultOptions.nesting, arrayRepeat = shared_js_1.defaultOptions.arrayRepeat, nestingSyntax = shared_js_1.defaultOptions.nestingSyntax, delimiter: delimiter2 = shared_js_1.defaultOptions.delimiter } = options ?? {};
      const charDelimiter = typeof delimiter2 === "string" ? delimiter2.charCodeAt(0) : delimiter2;
      const isJsNestingSyntax = nestingSyntax === "js";
      const result = new Empty();
      if (typeof input2 !== "string") {
        return result;
      }
      const inputLength = input2.length;
      let value = "";
      let startingIndex = -1;
      let equalityIndex = -1;
      let keySeparatorIndex = -1;
      let currentObj = result;
      let lastKey = void 0;
      let currentKey = "";
      let keyChunk = "";
      let shouldDecodeKey = false;
      let shouldDecodeValue = false;
      let keyHasPlus = false;
      let valueHasPlus = false;
      let keyIsDot = false;
      let hasBothKeyValuePair = false;
      let c2 = 0;
      let arrayRepeatBracketIndex = -1;
      let prevIndex = -1;
      let prevChar = -1;
      for (let i2 = 0; i2 < inputLength + 1; i2++) {
        c2 = i2 !== inputLength ? input2.charCodeAt(i2) : charDelimiter;
        if (c2 === charDelimiter) {
          hasBothKeyValuePair = equalityIndex > startingIndex;
          if (!hasBothKeyValuePair) {
            equalityIndex = i2;
          }
          if (keySeparatorIndex !== equalityIndex - 1) {
            keyChunk = computeKeySlice(input2, keySeparatorIndex + 1, arrayRepeatBracketIndex > -1 ? arrayRepeatBracketIndex : equalityIndex, keyHasPlus, shouldDecodeKey);
            currentKey = keyDeserializer(keyChunk);
            if (lastKey !== void 0) {
              currentObj = (0, object_util_js_1.getDeepObject)(currentObj, lastKey, currentKey, isJsNestingSyntax && keyIsDot, void 0);
            }
          }
          if (hasBothKeyValuePair || currentKey !== "") {
            if (hasBothKeyValuePair) {
              value = input2.slice(equalityIndex + 1, i2);
              if (valueHasPlus) {
                value = value.replace(regexPlus, " ");
              }
              if (shouldDecodeValue) {
                value = (0, decode_uri_component_js_1.decodeURIComponent)(value) || value;
              }
            }
            const newValue = valueDeserializer(value, currentKey);
            if (arrayRepeat) {
              const currentValue = currentObj[currentKey];
              if (currentValue === void 0) {
                if (arrayRepeatBracketIndex > -1) {
                  currentObj[currentKey] = [newValue];
                } else {
                  currentObj[currentKey] = newValue;
                }
              } else if (currentValue.pop) {
                currentValue.push(newValue);
              } else {
                currentObj[currentKey] = [currentValue, newValue];
              }
            } else
              currentObj[currentKey] = newValue;
          }
          value = "";
          startingIndex = i2;
          equalityIndex = i2;
          shouldDecodeKey = false;
          shouldDecodeValue = false;
          keyHasPlus = false;
          valueHasPlus = false;
          keyIsDot = false;
          arrayRepeatBracketIndex = -1;
          keySeparatorIndex = i2;
          currentObj = result;
          lastKey = void 0;
          currentKey = "";
        } else if (c2 === 93) {
          if (arrayRepeat && arrayRepeatSyntax === "bracket") {
            if (prevChar === 91) {
              arrayRepeatBracketIndex = prevIndex;
            }
          }
          if (nesting && (nestingSyntax === "index" || isJsNestingSyntax) && equalityIndex <= startingIndex) {
            if (keySeparatorIndex !== prevIndex) {
              keyChunk = computeKeySlice(input2, keySeparatorIndex + 1, i2, keyHasPlus, shouldDecodeKey);
              currentKey = keyDeserializer(keyChunk);
              if (lastKey !== void 0) {
                currentObj = (0, object_util_js_1.getDeepObject)(currentObj, lastKey, currentKey, void 0, void 0);
              }
              lastKey = currentKey;
              keyHasPlus = false;
              shouldDecodeKey = false;
            }
            keySeparatorIndex = i2;
            keyIsDot = false;
          }
        } else if (c2 === 46) {
          if (nesting && (nestingSyntax === "dot" || isJsNestingSyntax) && equalityIndex <= startingIndex) {
            if (keySeparatorIndex !== prevIndex) {
              keyChunk = computeKeySlice(input2, keySeparatorIndex + 1, i2, keyHasPlus, shouldDecodeKey);
              currentKey = keyDeserializer(keyChunk);
              if (lastKey !== void 0) {
                currentObj = (0, object_util_js_1.getDeepObject)(currentObj, lastKey, currentKey, isJsNestingSyntax);
              }
              lastKey = currentKey;
              keyHasPlus = false;
              shouldDecodeKey = false;
            }
            keyIsDot = true;
            keySeparatorIndex = i2;
          }
        } else if (c2 === 91) {
          if (nesting && (nestingSyntax === "index" || isJsNestingSyntax) && equalityIndex <= startingIndex) {
            if (keySeparatorIndex !== prevIndex) {
              keyChunk = computeKeySlice(input2, keySeparatorIndex + 1, i2, keyHasPlus, shouldDecodeKey);
              currentKey = keyDeserializer(keyChunk);
              if (isJsNestingSyntax && lastKey !== void 0) {
                currentObj = (0, object_util_js_1.getDeepObject)(currentObj, lastKey, currentKey, isJsNestingSyntax);
              }
              lastKey = currentKey;
              keyHasPlus = false;
              shouldDecodeKey = false;
              keyIsDot = false;
            }
            keySeparatorIndex = i2;
          }
        } else if (c2 === 61) {
          if (equalityIndex <= startingIndex) {
            equalityIndex = i2;
          } else {
            shouldDecodeValue = true;
          }
        } else if (c2 === 43) {
          if (equalityIndex > startingIndex) {
            valueHasPlus = true;
          } else {
            keyHasPlus = true;
          }
        } else if (c2 === 37) {
          if (equalityIndex > startingIndex) {
            shouldDecodeValue = true;
          } else {
            shouldDecodeKey = true;
          }
        }
        prevIndex = i2;
        prevChar = c2;
      }
      return result;
    }
    __name(parse9, "parse");
  }
});

// ../node_modules/picoquery/lib/stringify.js
var require_stringify = __commonJS({
  "../node_modules/picoquery/lib/stringify.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.stringify = stringify7;
    var object_util_js_1 = require_object_util();
    function stringify7(input2, options) {
      if (input2 === null || typeof input2 !== "object") {
        return "";
      }
      const optionsObj = options ?? {};
      return (0, object_util_js_1.stringifyObject)(input2, optionsObj);
    }
    __name(stringify7, "stringify");
  }
});

// ../node_modules/picoquery/lib/main.js
var require_main = __commonJS({
  "../node_modules/picoquery/lib/main.js"(exports) {
    "use strict";
    var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k, k2) {
      if (k2 === void 0) k2 = k;
      var desc = Object.getOwnPropertyDescriptor(m3, k);
      if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) {
        desc = { enumerable: true, get: /* @__PURE__ */ __name(function() {
          return m3[k];
        }, "get") };
      }
      Object.defineProperty(o2, k2, desc);
    } : function(o2, m3, k, k2) {
      if (k2 === void 0) k2 = k;
      o2[k2] = m3[k];
    });
    var __exportStar = exports && exports.__exportStar || function(m3, exports2) {
      for (var p2 in m3) if (p2 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p2)) __createBinding(exports2, m3, p2);
    };
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.stringify = exports.parse = void 0;
    var parse_js_1 = require_parse();
    Object.defineProperty(exports, "parse", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return parse_js_1.parse;
    }, "get") });
    var stringify_js_1 = require_stringify();
    Object.defineProperty(exports, "stringify", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return stringify_js_1.stringify;
    }, "get") });
    __exportStar(require_shared(), exports);
  }
});

// ../node_modules/entities/lib/maps/entities.json
var require_entities = __commonJS({
  "../node_modules/entities/lib/maps/entities.json"(exports, module2) {
    module2.exports = { Aacute: "\xC1", aacute: "\xE1", Abreve: "\u0102", abreve: "\u0103", ac: "\u223E", acd: "\u223F", acE: "\u223E\u0333", Acirc: "\xC2", acirc: "\xE2", acute: "\xB4", Acy: "\u0410", acy: "\u0430", AElig: "\xC6", aelig: "\xE6", af: "\u2061", Afr: "\u{1D504}", afr: "\u{1D51E}", Agrave: "\xC0", agrave: "\xE0", alefsym: "\u2135", aleph: "\u2135", Alpha: "\u0391", alpha: "\u03B1", Amacr: "\u0100", amacr: "\u0101", amalg: "\u2A3F", amp: "&", AMP: "&", andand: "\u2A55", And: "\u2A53", and: "\u2227", andd: "\u2A5C", andslope: "\u2A58", andv: "\u2A5A", ang: "\u2220", ange: "\u29A4", angle: "\u2220", angmsdaa: "\u29A8", angmsdab: "\u29A9", angmsdac: "\u29AA", angmsdad: "\u29AB", angmsdae: "\u29AC", angmsdaf: "\u29AD", angmsdag: "\u29AE", angmsdah: "\u29AF", angmsd: "\u2221", angrt: "\u221F", angrtvb: "\u22BE", angrtvbd: "\u299D", angsph: "\u2222", angst: "\xC5", angzarr: "\u237C", Aogon: "\u0104", aogon: "\u0105", Aopf: "\u{1D538}", aopf: "\u{1D552}", apacir: "\u2A6F", ap: "\u2248", apE: "\u2A70", ape: "\u224A", apid: "\u224B", apos: "'", ApplyFunction: "\u2061", approx: "\u2248", approxeq: "\u224A", Aring: "\xC5", aring: "\xE5", Ascr: "\u{1D49C}", ascr: "\u{1D4B6}", Assign: "\u2254", ast: "*", asymp: "\u2248", asympeq: "\u224D", Atilde: "\xC3", atilde: "\xE3", Auml: "\xC4", auml: "\xE4", awconint: "\u2233", awint: "\u2A11", backcong: "\u224C", backepsilon: "\u03F6", backprime: "\u2035", backsim: "\u223D", backsimeq: "\u22CD", Backslash: "\u2216", Barv: "\u2AE7", barvee: "\u22BD", barwed: "\u2305", Barwed: "\u2306", barwedge: "\u2305", bbrk: "\u23B5", bbrktbrk: "\u23B6", bcong: "\u224C", Bcy: "\u0411", bcy: "\u0431", bdquo: "\u201E", becaus: "\u2235", because: "\u2235", Because: "\u2235", bemptyv: "\u29B0", bepsi: "\u03F6", bernou: "\u212C", Bernoullis: "\u212C", Beta: "\u0392", beta: "\u03B2", beth: "\u2136", between: "\u226C", Bfr: "\u{1D505}", bfr: "\u{1D51F}", bigcap: "\u22C2", bigcirc: "\u25EF", bigcup: "\u22C3", bigodot: "\u2A00", bigoplus: "\u2A01", bigotimes: "\u2A02", bigsqcup: "\u2A06", bigstar: "\u2605", bigtriangledown: "\u25BD", bigtriangleup: "\u25B3", biguplus: "\u2A04", bigvee: "\u22C1", bigwedge: "\u22C0", bkarow: "\u290D", blacklozenge: "\u29EB", blacksquare: "\u25AA", blacktriangle: "\u25B4", blacktriangledown: "\u25BE", blacktriangleleft: "\u25C2", blacktriangleright: "\u25B8", blank: "\u2423", blk12: "\u2592", blk14: "\u2591", blk34: "\u2593", block: "\u2588", bne: "=\u20E5", bnequiv: "\u2261\u20E5", bNot: "\u2AED", bnot: "\u2310", Bopf: "\u{1D539}", bopf: "\u{1D553}", bot: "\u22A5", bottom: "\u22A5", bowtie: "\u22C8", boxbox: "\u29C9", boxdl: "\u2510", boxdL: "\u2555", boxDl: "\u2556", boxDL: "\u2557", boxdr: "\u250C", boxdR: "\u2552", boxDr: "\u2553", boxDR: "\u2554", boxh: "\u2500", boxH: "\u2550", boxhd: "\u252C", boxHd: "\u2564", boxhD: "\u2565", boxHD: "\u2566", boxhu: "\u2534", boxHu: "\u2567", boxhU: "\u2568", boxHU: "\u2569", boxminus: "\u229F", boxplus: "\u229E", boxtimes: "\u22A0", boxul: "\u2518", boxuL: "\u255B", boxUl: "\u255C", boxUL: "\u255D", boxur: "\u2514", boxuR: "\u2558", boxUr: "\u2559", boxUR: "\u255A", boxv: "\u2502", boxV: "\u2551", boxvh: "\u253C", boxvH: "\u256A", boxVh: "\u256B", boxVH: "\u256C", boxvl: "\u2524", boxvL: "\u2561", boxVl: "\u2562", boxVL: "\u2563", boxvr: "\u251C", boxvR: "\u255E", boxVr: "\u255F", boxVR: "\u2560", bprime: "\u2035", breve: "\u02D8", Breve: "\u02D8", brvbar: "\xA6", bscr: "\u{1D4B7}", Bscr: "\u212C", bsemi: "\u204F", bsim: "\u223D", bsime: "\u22CD", bsolb: "\u29C5", bsol: "\\", bsolhsub: "\u27C8", bull: "\u2022", bullet: "\u2022", bump: "\u224E", bumpE: "\u2AAE", bumpe: "\u224F", Bumpeq: "\u224E", bumpeq: "\u224F", Cacute: "\u0106", cacute: "\u0107", capand: "\u2A44", capbrcup: "\u2A49", capcap: "\u2A4B", cap: "\u2229", Cap: "\u22D2", capcup: "\u2A47", capdot: "\u2A40", CapitalDifferentialD: "\u2145", caps: "\u2229\uFE00", caret: "\u2041", caron: "\u02C7", Cayleys: "\u212D", ccaps: "\u2A4D", Ccaron: "\u010C", ccaron: "\u010D", Ccedil: "\xC7", ccedil: "\xE7", Ccirc: "\u0108", ccirc: "\u0109", Cconint: "\u2230", ccups: "\u2A4C", ccupssm: "\u2A50", Cdot: "\u010A", cdot: "\u010B", cedil: "\xB8", Cedilla: "\xB8", cemptyv: "\u29B2", cent: "\xA2", centerdot: "\xB7", CenterDot: "\xB7", cfr: "\u{1D520}", Cfr: "\u212D", CHcy: "\u0427", chcy: "\u0447", check: "\u2713", checkmark: "\u2713", Chi: "\u03A7", chi: "\u03C7", circ: "\u02C6", circeq: "\u2257", circlearrowleft: "\u21BA", circlearrowright: "\u21BB", circledast: "\u229B", circledcirc: "\u229A", circleddash: "\u229D", CircleDot: "\u2299", circledR: "\xAE", circledS: "\u24C8", CircleMinus: "\u2296", CirclePlus: "\u2295", CircleTimes: "\u2297", cir: "\u25CB", cirE: "\u29C3", cire: "\u2257", cirfnint: "\u2A10", cirmid: "\u2AEF", cirscir: "\u29C2", ClockwiseContourIntegral: "\u2232", CloseCurlyDoubleQuote: "\u201D", CloseCurlyQuote: "\u2019", clubs: "\u2663", clubsuit: "\u2663", colon: ":", Colon: "\u2237", Colone: "\u2A74", colone: "\u2254", coloneq: "\u2254", comma: ",", commat: "@", comp: "\u2201", compfn: "\u2218", complement: "\u2201", complexes: "\u2102", cong: "\u2245", congdot: "\u2A6D", Congruent: "\u2261", conint: "\u222E", Conint: "\u222F", ContourIntegral: "\u222E", copf: "\u{1D554}", Copf: "\u2102", coprod: "\u2210", Coproduct: "\u2210", copy: "\xA9", COPY: "\xA9", copysr: "\u2117", CounterClockwiseContourIntegral: "\u2233", crarr: "\u21B5", cross: "\u2717", Cross: "\u2A2F", Cscr: "\u{1D49E}", cscr: "\u{1D4B8}", csub: "\u2ACF", csube: "\u2AD1", csup: "\u2AD0", csupe: "\u2AD2", ctdot: "\u22EF", cudarrl: "\u2938", cudarrr: "\u2935", cuepr: "\u22DE", cuesc: "\u22DF", cularr: "\u21B6", cularrp: "\u293D", cupbrcap: "\u2A48", cupcap: "\u2A46", CupCap: "\u224D", cup: "\u222A", Cup: "\u22D3", cupcup: "\u2A4A", cupdot: "\u228D", cupor: "\u2A45", cups: "\u222A\uFE00", curarr: "\u21B7", curarrm: "\u293C", curlyeqprec: "\u22DE", curlyeqsucc: "\u22DF", curlyvee: "\u22CE", curlywedge: "\u22CF", curren: "\xA4", curvearrowleft: "\u21B6", curvearrowright: "\u21B7", cuvee: "\u22CE", cuwed: "\u22CF", cwconint: "\u2232", cwint: "\u2231", cylcty: "\u232D", dagger: "\u2020", Dagger: "\u2021", daleth: "\u2138", darr: "\u2193", Darr: "\u21A1", dArr: "\u21D3", dash: "\u2010", Dashv: "\u2AE4", dashv: "\u22A3", dbkarow: "\u290F", dblac: "\u02DD", Dcaron: "\u010E", dcaron: "\u010F", Dcy: "\u0414", dcy: "\u0434", ddagger: "\u2021", ddarr: "\u21CA", DD: "\u2145", dd: "\u2146", DDotrahd: "\u2911", ddotseq: "\u2A77", deg: "\xB0", Del: "\u2207", Delta: "\u0394", delta: "\u03B4", demptyv: "\u29B1", dfisht: "\u297F", Dfr: "\u{1D507}", dfr: "\u{1D521}", dHar: "\u2965", dharl: "\u21C3", dharr: "\u21C2", DiacriticalAcute: "\xB4", DiacriticalDot: "\u02D9", DiacriticalDoubleAcute: "\u02DD", DiacriticalGrave: "`", DiacriticalTilde: "\u02DC", diam: "\u22C4", diamond: "\u22C4", Diamond: "\u22C4", diamondsuit: "\u2666", diams: "\u2666", die: "\xA8", DifferentialD: "\u2146", digamma: "\u03DD", disin: "\u22F2", div: "\xF7", divide: "\xF7", divideontimes: "\u22C7", divonx: "\u22C7", DJcy: "\u0402", djcy: "\u0452", dlcorn: "\u231E", dlcrop: "\u230D", dollar: "$", Dopf: "\u{1D53B}", dopf: "\u{1D555}", Dot: "\xA8", dot: "\u02D9", DotDot: "\u20DC", doteq: "\u2250", doteqdot: "\u2251", DotEqual: "\u2250", dotminus: "\u2238", dotplus: "\u2214", dotsquare: "\u22A1", doublebarwedge: "\u2306", DoubleContourIntegral: "\u222F", DoubleDot: "\xA8", DoubleDownArrow: "\u21D3", DoubleLeftArrow: "\u21D0", DoubleLeftRightArrow: "\u21D4", DoubleLeftTee: "\u2AE4", DoubleLongLeftArrow: "\u27F8", DoubleLongLeftRightArrow: "\u27FA", DoubleLongRightArrow: "\u27F9", DoubleRightArrow: "\u21D2", DoubleRightTee: "\u22A8", DoubleUpArrow: "\u21D1", DoubleUpDownArrow: "\u21D5", DoubleVerticalBar: "\u2225", DownArrowBar: "\u2913", downarrow: "\u2193", DownArrow: "\u2193", Downarrow: "\u21D3", DownArrowUpArrow: "\u21F5", DownBreve: "\u0311", downdownarrows: "\u21CA", downharpoonleft: "\u21C3", downharpoonright: "\u21C2", DownLeftRightVector: "\u2950", DownLeftTeeVector: "\u295E", DownLeftVectorBar: "\u2956", DownLeftVector: "\u21BD", DownRightTeeVector: "\u295F", DownRightVectorBar: "\u2957", DownRightVector: "\u21C1", DownTeeArrow: "\u21A7", DownTee: "\u22A4", drbkarow: "\u2910", drcorn: "\u231F", drcrop: "\u230C", Dscr: "\u{1D49F}", dscr: "\u{1D4B9}", DScy: "\u0405", dscy: "\u0455", dsol: "\u29F6", Dstrok: "\u0110", dstrok: "\u0111", dtdot: "\u22F1", dtri: "\u25BF", dtrif: "\u25BE", duarr: "\u21F5", duhar: "\u296F", dwangle: "\u29A6", DZcy: "\u040F", dzcy: "\u045F", dzigrarr: "\u27FF", Eacute: "\xC9", eacute: "\xE9", easter: "\u2A6E", Ecaron: "\u011A", ecaron: "\u011B", Ecirc: "\xCA", ecirc: "\xEA", ecir: "\u2256", ecolon: "\u2255", Ecy: "\u042D", ecy: "\u044D", eDDot: "\u2A77", Edot: "\u0116", edot: "\u0117", eDot: "\u2251", ee: "\u2147", efDot: "\u2252", Efr: "\u{1D508}", efr: "\u{1D522}", eg: "\u2A9A", Egrave: "\xC8", egrave: "\xE8", egs: "\u2A96", egsdot: "\u2A98", el: "\u2A99", Element: "\u2208", elinters: "\u23E7", ell: "\u2113", els: "\u2A95", elsdot: "\u2A97", Emacr: "\u0112", emacr: "\u0113", empty: "\u2205", emptyset: "\u2205", EmptySmallSquare: "\u25FB", emptyv: "\u2205", EmptyVerySmallSquare: "\u25AB", emsp13: "\u2004", emsp14: "\u2005", emsp: "\u2003", ENG: "\u014A", eng: "\u014B", ensp: "\u2002", Eogon: "\u0118", eogon: "\u0119", Eopf: "\u{1D53C}", eopf: "\u{1D556}", epar: "\u22D5", eparsl: "\u29E3", eplus: "\u2A71", epsi: "\u03B5", Epsilon: "\u0395", epsilon: "\u03B5", epsiv: "\u03F5", eqcirc: "\u2256", eqcolon: "\u2255", eqsim: "\u2242", eqslantgtr: "\u2A96", eqslantless: "\u2A95", Equal: "\u2A75", equals: "=", EqualTilde: "\u2242", equest: "\u225F", Equilibrium: "\u21CC", equiv: "\u2261", equivDD: "\u2A78", eqvparsl: "\u29E5", erarr: "\u2971", erDot: "\u2253", escr: "\u212F", Escr: "\u2130", esdot: "\u2250", Esim: "\u2A73", esim: "\u2242", Eta: "\u0397", eta: "\u03B7", ETH: "\xD0", eth: "\xF0", Euml: "\xCB", euml: "\xEB", euro: "\u20AC", excl: "!", exist: "\u2203", Exists: "\u2203", expectation: "\u2130", exponentiale: "\u2147", ExponentialE: "\u2147", fallingdotseq: "\u2252", Fcy: "\u0424", fcy: "\u0444", female: "\u2640", ffilig: "\uFB03", fflig: "\uFB00", ffllig: "\uFB04", Ffr: "\u{1D509}", ffr: "\u{1D523}", filig: "\uFB01", FilledSmallSquare: "\u25FC", FilledVerySmallSquare: "\u25AA", fjlig: "fj", flat: "\u266D", fllig: "\uFB02", fltns: "\u25B1", fnof: "\u0192", Fopf: "\u{1D53D}", fopf: "\u{1D557}", forall: "\u2200", ForAll: "\u2200", fork: "\u22D4", forkv: "\u2AD9", Fouriertrf: "\u2131", fpartint: "\u2A0D", frac12: "\xBD", frac13: "\u2153", frac14: "\xBC", frac15: "\u2155", frac16: "\u2159", frac18: "\u215B", frac23: "\u2154", frac25: "\u2156", frac34: "\xBE", frac35: "\u2157", frac38: "\u215C", frac45: "\u2158", frac56: "\u215A", frac58: "\u215D", frac78: "\u215E", frasl: "\u2044", frown: "\u2322", fscr: "\u{1D4BB}", Fscr: "\u2131", gacute: "\u01F5", Gamma: "\u0393", gamma: "\u03B3", Gammad: "\u03DC", gammad: "\u03DD", gap: "\u2A86", Gbreve: "\u011E", gbreve: "\u011F", Gcedil: "\u0122", Gcirc: "\u011C", gcirc: "\u011D", Gcy: "\u0413", gcy: "\u0433", Gdot: "\u0120", gdot: "\u0121", ge: "\u2265", gE: "\u2267", gEl: "\u2A8C", gel: "\u22DB", geq: "\u2265", geqq: "\u2267", geqslant: "\u2A7E", gescc: "\u2AA9", ges: "\u2A7E", gesdot: "\u2A80", gesdoto: "\u2A82", gesdotol: "\u2A84", gesl: "\u22DB\uFE00", gesles: "\u2A94", Gfr: "\u{1D50A}", gfr: "\u{1D524}", gg: "\u226B", Gg: "\u22D9", ggg: "\u22D9", gimel: "\u2137", GJcy: "\u0403", gjcy: "\u0453", gla: "\u2AA5", gl: "\u2277", glE: "\u2A92", glj: "\u2AA4", gnap: "\u2A8A", gnapprox: "\u2A8A", gne: "\u2A88", gnE: "\u2269", gneq: "\u2A88", gneqq: "\u2269", gnsim: "\u22E7", Gopf: "\u{1D53E}", gopf: "\u{1D558}", grave: "`", GreaterEqual: "\u2265", GreaterEqualLess: "\u22DB", GreaterFullEqual: "\u2267", GreaterGreater: "\u2AA2", GreaterLess: "\u2277", GreaterSlantEqual: "\u2A7E", GreaterTilde: "\u2273", Gscr: "\u{1D4A2}", gscr: "\u210A", gsim: "\u2273", gsime: "\u2A8E", gsiml: "\u2A90", gtcc: "\u2AA7", gtcir: "\u2A7A", gt: ">", GT: ">", Gt: "\u226B", gtdot: "\u22D7", gtlPar: "\u2995", gtquest: "\u2A7C", gtrapprox: "\u2A86", gtrarr: "\u2978", gtrdot: "\u22D7", gtreqless: "\u22DB", gtreqqless: "\u2A8C", gtrless: "\u2277", gtrsim: "\u2273", gvertneqq: "\u2269\uFE00", gvnE: "\u2269\uFE00", Hacek: "\u02C7", hairsp: "\u200A", half: "\xBD", hamilt: "\u210B", HARDcy: "\u042A", hardcy: "\u044A", harrcir: "\u2948", harr: "\u2194", hArr: "\u21D4", harrw: "\u21AD", Hat: "^", hbar: "\u210F", Hcirc: "\u0124", hcirc: "\u0125", hearts: "\u2665", heartsuit: "\u2665", hellip: "\u2026", hercon: "\u22B9", hfr: "\u{1D525}", Hfr: "\u210C", HilbertSpace: "\u210B", hksearow: "\u2925", hkswarow: "\u2926", hoarr: "\u21FF", homtht: "\u223B", hookleftarrow: "\u21A9", hookrightarrow: "\u21AA", hopf: "\u{1D559}", Hopf: "\u210D", horbar: "\u2015", HorizontalLine: "\u2500", hscr: "\u{1D4BD}", Hscr: "\u210B", hslash: "\u210F", Hstrok: "\u0126", hstrok: "\u0127", HumpDownHump: "\u224E", HumpEqual: "\u224F", hybull: "\u2043", hyphen: "\u2010", Iacute: "\xCD", iacute: "\xED", ic: "\u2063", Icirc: "\xCE", icirc: "\xEE", Icy: "\u0418", icy: "\u0438", Idot: "\u0130", IEcy: "\u0415", iecy: "\u0435", iexcl: "\xA1", iff: "\u21D4", ifr: "\u{1D526}", Ifr: "\u2111", Igrave: "\xCC", igrave: "\xEC", ii: "\u2148", iiiint: "\u2A0C", iiint: "\u222D", iinfin: "\u29DC", iiota: "\u2129", IJlig: "\u0132", ijlig: "\u0133", Imacr: "\u012A", imacr: "\u012B", image: "\u2111", ImaginaryI: "\u2148", imagline: "\u2110", imagpart: "\u2111", imath: "\u0131", Im: "\u2111", imof: "\u22B7", imped: "\u01B5", Implies: "\u21D2", incare: "\u2105", in: "\u2208", infin: "\u221E", infintie: "\u29DD", inodot: "\u0131", intcal: "\u22BA", int: "\u222B", Int: "\u222C", integers: "\u2124", Integral: "\u222B", intercal: "\u22BA", Intersection: "\u22C2", intlarhk: "\u2A17", intprod: "\u2A3C", InvisibleComma: "\u2063", InvisibleTimes: "\u2062", IOcy: "\u0401", iocy: "\u0451", Iogon: "\u012E", iogon: "\u012F", Iopf: "\u{1D540}", iopf: "\u{1D55A}", Iota: "\u0399", iota: "\u03B9", iprod: "\u2A3C", iquest: "\xBF", iscr: "\u{1D4BE}", Iscr: "\u2110", isin: "\u2208", isindot: "\u22F5", isinE: "\u22F9", isins: "\u22F4", isinsv: "\u22F3", isinv: "\u2208", it: "\u2062", Itilde: "\u0128", itilde: "\u0129", Iukcy: "\u0406", iukcy: "\u0456", Iuml: "\xCF", iuml: "\xEF", Jcirc: "\u0134", jcirc: "\u0135", Jcy: "\u0419", jcy: "\u0439", Jfr: "\u{1D50D}", jfr: "\u{1D527}", jmath: "\u0237", Jopf: "\u{1D541}", jopf: "\u{1D55B}", Jscr: "\u{1D4A5}", jscr: "\u{1D4BF}", Jsercy: "\u0408", jsercy: "\u0458", Jukcy: "\u0404", jukcy: "\u0454", Kappa: "\u039A", kappa: "\u03BA", kappav: "\u03F0", Kcedil: "\u0136", kcedil: "\u0137", Kcy: "\u041A", kcy: "\u043A", Kfr: "\u{1D50E}", kfr: "\u{1D528}", kgreen: "\u0138", KHcy: "\u0425", khcy: "\u0445", KJcy: "\u040C", kjcy: "\u045C", Kopf: "\u{1D542}", kopf: "\u{1D55C}", Kscr: "\u{1D4A6}", kscr: "\u{1D4C0}", lAarr: "\u21DA", Lacute: "\u0139", lacute: "\u013A", laemptyv: "\u29B4", lagran: "\u2112", Lambda: "\u039B", lambda: "\u03BB", lang: "\u27E8", Lang: "\u27EA", langd: "\u2991", langle: "\u27E8", lap: "\u2A85", Laplacetrf: "\u2112", laquo: "\xAB", larrb: "\u21E4", larrbfs: "\u291F", larr: "\u2190", Larr: "\u219E", lArr: "\u21D0", larrfs: "\u291D", larrhk: "\u21A9", larrlp: "\u21AB", larrpl: "\u2939", larrsim: "\u2973", larrtl: "\u21A2", latail: "\u2919", lAtail: "\u291B", lat: "\u2AAB", late: "\u2AAD", lates: "\u2AAD\uFE00", lbarr: "\u290C", lBarr: "\u290E", lbbrk: "\u2772", lbrace: "{", lbrack: "[", lbrke: "\u298B", lbrksld: "\u298F", lbrkslu: "\u298D", Lcaron: "\u013D", lcaron: "\u013E", Lcedil: "\u013B", lcedil: "\u013C", lceil: "\u2308", lcub: "{", Lcy: "\u041B", lcy: "\u043B", ldca: "\u2936", ldquo: "\u201C", ldquor: "\u201E", ldrdhar: "\u2967", ldrushar: "\u294B", ldsh: "\u21B2", le: "\u2264", lE: "\u2266", LeftAngleBracket: "\u27E8", LeftArrowBar: "\u21E4", leftarrow: "\u2190", LeftArrow: "\u2190", Leftarrow: "\u21D0", LeftArrowRightArrow: "\u21C6", leftarrowtail: "\u21A2", LeftCeiling: "\u2308", LeftDoubleBracket: "\u27E6", LeftDownTeeVector: "\u2961", LeftDownVectorBar: "\u2959", LeftDownVector: "\u21C3", LeftFloor: "\u230A", leftharpoondown: "\u21BD", leftharpoonup: "\u21BC", leftleftarrows: "\u21C7", leftrightarrow: "\u2194", LeftRightArrow: "\u2194", Leftrightarrow: "\u21D4", leftrightarrows: "\u21C6", leftrightharpoons: "\u21CB", leftrightsquigarrow: "\u21AD", LeftRightVector: "\u294E", LeftTeeArrow: "\u21A4", LeftTee: "\u22A3", LeftTeeVector: "\u295A", leftthreetimes: "\u22CB", LeftTriangleBar: "\u29CF", LeftTriangle: "\u22B2", LeftTriangleEqual: "\u22B4", LeftUpDownVector: "\u2951", LeftUpTeeVector: "\u2960", LeftUpVectorBar: "\u2958", LeftUpVector: "\u21BF", LeftVectorBar: "\u2952", LeftVector: "\u21BC", lEg: "\u2A8B", leg: "\u22DA", leq: "\u2264", leqq: "\u2266", leqslant: "\u2A7D", lescc: "\u2AA8", les: "\u2A7D", lesdot: "\u2A7F", lesdoto: "\u2A81", lesdotor: "\u2A83", lesg: "\u22DA\uFE00", lesges: "\u2A93", lessapprox: "\u2A85", lessdot: "\u22D6", lesseqgtr: "\u22DA", lesseqqgtr: "\u2A8B", LessEqualGreater: "\u22DA", LessFullEqual: "\u2266", LessGreater: "\u2276", lessgtr: "\u2276", LessLess: "\u2AA1", lesssim: "\u2272", LessSlantEqual: "\u2A7D", LessTilde: "\u2272", lfisht: "\u297C", lfloor: "\u230A", Lfr: "\u{1D50F}", lfr: "\u{1D529}", lg: "\u2276", lgE: "\u2A91", lHar: "\u2962", lhard: "\u21BD", lharu: "\u21BC", lharul: "\u296A", lhblk: "\u2584", LJcy: "\u0409", ljcy: "\u0459", llarr: "\u21C7", ll: "\u226A", Ll: "\u22D8", llcorner: "\u231E", Lleftarrow: "\u21DA", llhard: "\u296B", lltri: "\u25FA", Lmidot: "\u013F", lmidot: "\u0140", lmoustache: "\u23B0", lmoust: "\u23B0", lnap: "\u2A89", lnapprox: "\u2A89", lne: "\u2A87", lnE: "\u2268", lneq: "\u2A87", lneqq: "\u2268", lnsim: "\u22E6", loang: "\u27EC", loarr: "\u21FD", lobrk: "\u27E6", longleftarrow: "\u27F5", LongLeftArrow: "\u27F5", Longleftarrow: "\u27F8", longleftrightarrow: "\u27F7", LongLeftRightArrow: "\u27F7", Longleftrightarrow: "\u27FA", longmapsto: "\u27FC", longrightarrow: "\u27F6", LongRightArrow: "\u27F6", Longrightarrow: "\u27F9", looparrowleft: "\u21AB", looparrowright: "\u21AC", lopar: "\u2985", Lopf: "\u{1D543}", lopf: "\u{1D55D}", loplus: "\u2A2D", lotimes: "\u2A34", lowast: "\u2217", lowbar: "_", LowerLeftArrow: "\u2199", LowerRightArrow: "\u2198", loz: "\u25CA", lozenge: "\u25CA", lozf: "\u29EB", lpar: "(", lparlt: "\u2993", lrarr: "\u21C6", lrcorner: "\u231F", lrhar: "\u21CB", lrhard: "\u296D", lrm: "\u200E", lrtri: "\u22BF", lsaquo: "\u2039", lscr: "\u{1D4C1}", Lscr: "\u2112", lsh: "\u21B0", Lsh: "\u21B0", lsim: "\u2272", lsime: "\u2A8D", lsimg: "\u2A8F", lsqb: "[", lsquo: "\u2018", lsquor: "\u201A", Lstrok: "\u0141", lstrok: "\u0142", ltcc: "\u2AA6", ltcir: "\u2A79", lt: "<", LT: "<", Lt: "\u226A", ltdot: "\u22D6", lthree: "\u22CB", ltimes: "\u22C9", ltlarr: "\u2976", ltquest: "\u2A7B", ltri: "\u25C3", ltrie: "\u22B4", ltrif: "\u25C2", ltrPar: "\u2996", lurdshar: "\u294A", luruhar: "\u2966", lvertneqq: "\u2268\uFE00", lvnE: "\u2268\uFE00", macr: "\xAF", male: "\u2642", malt: "\u2720", maltese: "\u2720", Map: "\u2905", map: "\u21A6", mapsto: "\u21A6", mapstodown: "\u21A7", mapstoleft: "\u21A4", mapstoup: "\u21A5", marker: "\u25AE", mcomma: "\u2A29", Mcy: "\u041C", mcy: "\u043C", mdash: "\u2014", mDDot: "\u223A", measuredangle: "\u2221", MediumSpace: "\u205F", Mellintrf: "\u2133", Mfr: "\u{1D510}", mfr: "\u{1D52A}", mho: "\u2127", micro: "\xB5", midast: "*", midcir: "\u2AF0", mid: "\u2223", middot: "\xB7", minusb: "\u229F", minus: "\u2212", minusd: "\u2238", minusdu: "\u2A2A", MinusPlus: "\u2213", mlcp: "\u2ADB", mldr: "\u2026", mnplus: "\u2213", models: "\u22A7", Mopf: "\u{1D544}", mopf: "\u{1D55E}", mp: "\u2213", mscr: "\u{1D4C2}", Mscr: "\u2133", mstpos: "\u223E", Mu: "\u039C", mu: "\u03BC", multimap: "\u22B8", mumap: "\u22B8", nabla: "\u2207", Nacute: "\u0143", nacute: "\u0144", nang: "\u2220\u20D2", nap: "\u2249", napE: "\u2A70\u0338", napid: "\u224B\u0338", napos: "\u0149", napprox: "\u2249", natural: "\u266E", naturals: "\u2115", natur: "\u266E", nbsp: "\xA0", nbump: "\u224E\u0338", nbumpe: "\u224F\u0338", ncap: "\u2A43", Ncaron: "\u0147", ncaron: "\u0148", Ncedil: "\u0145", ncedil: "\u0146", ncong: "\u2247", ncongdot: "\u2A6D\u0338", ncup: "\u2A42", Ncy: "\u041D", ncy: "\u043D", ndash: "\u2013", nearhk: "\u2924", nearr: "\u2197", neArr: "\u21D7", nearrow: "\u2197", ne: "\u2260", nedot: "\u2250\u0338", NegativeMediumSpace: "\u200B", NegativeThickSpace: "\u200B", NegativeThinSpace: "\u200B", NegativeVeryThinSpace: "\u200B", nequiv: "\u2262", nesear: "\u2928", nesim: "\u2242\u0338", NestedGreaterGreater: "\u226B", NestedLessLess: "\u226A", NewLine: "\n", nexist: "\u2204", nexists: "\u2204", Nfr: "\u{1D511}", nfr: "\u{1D52B}", ngE: "\u2267\u0338", nge: "\u2271", ngeq: "\u2271", ngeqq: "\u2267\u0338", ngeqslant: "\u2A7E\u0338", nges: "\u2A7E\u0338", nGg: "\u22D9\u0338", ngsim: "\u2275", nGt: "\u226B\u20D2", ngt: "\u226F", ngtr: "\u226F", nGtv: "\u226B\u0338", nharr: "\u21AE", nhArr: "\u21CE", nhpar: "\u2AF2", ni: "\u220B", nis: "\u22FC", nisd: "\u22FA", niv: "\u220B", NJcy: "\u040A", njcy: "\u045A", nlarr: "\u219A", nlArr: "\u21CD", nldr: "\u2025", nlE: "\u2266\u0338", nle: "\u2270", nleftarrow: "\u219A", nLeftarrow: "\u21CD", nleftrightarrow: "\u21AE", nLeftrightarrow: "\u21CE", nleq: "\u2270", nleqq: "\u2266\u0338", nleqslant: "\u2A7D\u0338", nles: "\u2A7D\u0338", nless: "\u226E", nLl: "\u22D8\u0338", nlsim: "\u2274", nLt: "\u226A\u20D2", nlt: "\u226E", nltri: "\u22EA", nltrie: "\u22EC", nLtv: "\u226A\u0338", nmid: "\u2224", NoBreak: "\u2060", NonBreakingSpace: "\xA0", nopf: "\u{1D55F}", Nopf: "\u2115", Not: "\u2AEC", not: "\xAC", NotCongruent: "\u2262", NotCupCap: "\u226D", NotDoubleVerticalBar: "\u2226", NotElement: "\u2209", NotEqual: "\u2260", NotEqualTilde: "\u2242\u0338", NotExists: "\u2204", NotGreater: "\u226F", NotGreaterEqual: "\u2271", NotGreaterFullEqual: "\u2267\u0338", NotGreaterGreater: "\u226B\u0338", NotGreaterLess: "\u2279", NotGreaterSlantEqual: "\u2A7E\u0338", NotGreaterTilde: "\u2275", NotHumpDownHump: "\u224E\u0338", NotHumpEqual: "\u224F\u0338", notin: "\u2209", notindot: "\u22F5\u0338", notinE: "\u22F9\u0338", notinva: "\u2209", notinvb: "\u22F7", notinvc: "\u22F6", NotLeftTriangleBar: "\u29CF\u0338", NotLeftTriangle: "\u22EA", NotLeftTriangleEqual: "\u22EC", NotLess: "\u226E", NotLessEqual: "\u2270", NotLessGreater: "\u2278", NotLessLess: "\u226A\u0338", NotLessSlantEqual: "\u2A7D\u0338", NotLessTilde: "\u2274", NotNestedGreaterGreater: "\u2AA2\u0338", NotNestedLessLess: "\u2AA1\u0338", notni: "\u220C", notniva: "\u220C", notnivb: "\u22FE", notnivc: "\u22FD", NotPrecedes: "\u2280", NotPrecedesEqual: "\u2AAF\u0338", NotPrecedesSlantEqual: "\u22E0", NotReverseElement: "\u220C", NotRightTriangleBar: "\u29D0\u0338", NotRightTriangle: "\u22EB", NotRightTriangleEqual: "\u22ED", NotSquareSubset: "\u228F\u0338", NotSquareSubsetEqual: "\u22E2", NotSquareSuperset: "\u2290\u0338", NotSquareSupersetEqual: "\u22E3", NotSubset: "\u2282\u20D2", NotSubsetEqual: "\u2288", NotSucceeds: "\u2281", NotSucceedsEqual: "\u2AB0\u0338", NotSucceedsSlantEqual: "\u22E1", NotSucceedsTilde: "\u227F\u0338", NotSuperset: "\u2283\u20D2", NotSupersetEqual: "\u2289", NotTilde: "\u2241", NotTildeEqual: "\u2244", NotTildeFullEqual: "\u2247", NotTildeTilde: "\u2249", NotVerticalBar: "\u2224", nparallel: "\u2226", npar: "\u2226", nparsl: "\u2AFD\u20E5", npart: "\u2202\u0338", npolint: "\u2A14", npr: "\u2280", nprcue: "\u22E0", nprec: "\u2280", npreceq: "\u2AAF\u0338", npre: "\u2AAF\u0338", nrarrc: "\u2933\u0338", nrarr: "\u219B", nrArr: "\u21CF", nrarrw: "\u219D\u0338", nrightarrow: "\u219B", nRightarrow: "\u21CF", nrtri: "\u22EB", nrtrie: "\u22ED", nsc: "\u2281", nsccue: "\u22E1", nsce: "\u2AB0\u0338", Nscr: "\u{1D4A9}", nscr: "\u{1D4C3}", nshortmid: "\u2224", nshortparallel: "\u2226", nsim: "\u2241", nsime: "\u2244", nsimeq: "\u2244", nsmid: "\u2224", nspar: "\u2226", nsqsube: "\u22E2", nsqsupe: "\u22E3", nsub: "\u2284", nsubE: "\u2AC5\u0338", nsube: "\u2288", nsubset: "\u2282\u20D2", nsubseteq: "\u2288", nsubseteqq: "\u2AC5\u0338", nsucc: "\u2281", nsucceq: "\u2AB0\u0338", nsup: "\u2285", nsupE: "\u2AC6\u0338", nsupe: "\u2289", nsupset: "\u2283\u20D2", nsupseteq: "\u2289", nsupseteqq: "\u2AC6\u0338", ntgl: "\u2279", Ntilde: "\xD1", ntilde: "\xF1", ntlg: "\u2278", ntriangleleft: "\u22EA", ntrianglelefteq: "\u22EC", ntriangleright: "\u22EB", ntrianglerighteq: "\u22ED", Nu: "\u039D", nu: "\u03BD", num: "#", numero: "\u2116", numsp: "\u2007", nvap: "\u224D\u20D2", nvdash: "\u22AC", nvDash: "\u22AD", nVdash: "\u22AE", nVDash: "\u22AF", nvge: "\u2265\u20D2", nvgt: ">\u20D2", nvHarr: "\u2904", nvinfin: "\u29DE", nvlArr: "\u2902", nvle: "\u2264\u20D2", nvlt: "<\u20D2", nvltrie: "\u22B4\u20D2", nvrArr: "\u2903", nvrtrie: "\u22B5\u20D2", nvsim: "\u223C\u20D2", nwarhk: "\u2923", nwarr: "\u2196", nwArr: "\u21D6", nwarrow: "\u2196", nwnear: "\u2927", Oacute: "\xD3", oacute: "\xF3", oast: "\u229B", Ocirc: "\xD4", ocirc: "\xF4", ocir: "\u229A", Ocy: "\u041E", ocy: "\u043E", odash: "\u229D", Odblac: "\u0150", odblac: "\u0151", odiv: "\u2A38", odot: "\u2299", odsold: "\u29BC", OElig: "\u0152", oelig: "\u0153", ofcir: "\u29BF", Ofr: "\u{1D512}", ofr: "\u{1D52C}", ogon: "\u02DB", Ograve: "\xD2", ograve: "\xF2", ogt: "\u29C1", ohbar: "\u29B5", ohm: "\u03A9", oint: "\u222E", olarr: "\u21BA", olcir: "\u29BE", olcross: "\u29BB", oline: "\u203E", olt: "\u29C0", Omacr: "\u014C", omacr: "\u014D", Omega: "\u03A9", omega: "\u03C9", Omicron: "\u039F", omicron: "\u03BF", omid: "\u29B6", ominus: "\u2296", Oopf: "\u{1D546}", oopf: "\u{1D560}", opar: "\u29B7", OpenCurlyDoubleQuote: "\u201C", OpenCurlyQuote: "\u2018", operp: "\u29B9", oplus: "\u2295", orarr: "\u21BB", Or: "\u2A54", or: "\u2228", ord: "\u2A5D", order: "\u2134", orderof: "\u2134", ordf: "\xAA", ordm: "\xBA", origof: "\u22B6", oror: "\u2A56", orslope: "\u2A57", orv: "\u2A5B", oS: "\u24C8", Oscr: "\u{1D4AA}", oscr: "\u2134", Oslash: "\xD8", oslash: "\xF8", osol: "\u2298", Otilde: "\xD5", otilde: "\xF5", otimesas: "\u2A36", Otimes: "\u2A37", otimes: "\u2297", Ouml: "\xD6", ouml: "\xF6", ovbar: "\u233D", OverBar: "\u203E", OverBrace: "\u23DE", OverBracket: "\u23B4", OverParenthesis: "\u23DC", para: "\xB6", parallel: "\u2225", par: "\u2225", parsim: "\u2AF3", parsl: "\u2AFD", part: "\u2202", PartialD: "\u2202", Pcy: "\u041F", pcy: "\u043F", percnt: "%", period: ".", permil: "\u2030", perp: "\u22A5", pertenk: "\u2031", Pfr: "\u{1D513}", pfr: "\u{1D52D}", Phi: "\u03A6", phi: "\u03C6", phiv: "\u03D5", phmmat: "\u2133", phone: "\u260E", Pi: "\u03A0", pi: "\u03C0", pitchfork: "\u22D4", piv: "\u03D6", planck: "\u210F", planckh: "\u210E", plankv: "\u210F", plusacir: "\u2A23", plusb: "\u229E", pluscir: "\u2A22", plus: "+", plusdo: "\u2214", plusdu: "\u2A25", pluse: "\u2A72", PlusMinus: "\xB1", plusmn: "\xB1", plussim: "\u2A26", plustwo: "\u2A27", pm: "\xB1", Poincareplane: "\u210C", pointint: "\u2A15", popf: "\u{1D561}", Popf: "\u2119", pound: "\xA3", prap: "\u2AB7", Pr: "\u2ABB", pr: "\u227A", prcue: "\u227C", precapprox: "\u2AB7", prec: "\u227A", preccurlyeq: "\u227C", Precedes: "\u227A", PrecedesEqual: "\u2AAF", PrecedesSlantEqual: "\u227C", PrecedesTilde: "\u227E", preceq: "\u2AAF", precnapprox: "\u2AB9", precneqq: "\u2AB5", precnsim: "\u22E8", pre: "\u2AAF", prE: "\u2AB3", precsim: "\u227E", prime: "\u2032", Prime: "\u2033", primes: "\u2119", prnap: "\u2AB9", prnE: "\u2AB5", prnsim: "\u22E8", prod: "\u220F", Product: "\u220F", profalar: "\u232E", profline: "\u2312", profsurf: "\u2313", prop: "\u221D", Proportional: "\u221D", Proportion: "\u2237", propto: "\u221D", prsim: "\u227E", prurel: "\u22B0", Pscr: "\u{1D4AB}", pscr: "\u{1D4C5}", Psi: "\u03A8", psi: "\u03C8", puncsp: "\u2008", Qfr: "\u{1D514}", qfr: "\u{1D52E}", qint: "\u2A0C", qopf: "\u{1D562}", Qopf: "\u211A", qprime: "\u2057", Qscr: "\u{1D4AC}", qscr: "\u{1D4C6}", quaternions: "\u210D", quatint: "\u2A16", quest: "?", questeq: "\u225F", quot: '"', QUOT: '"', rAarr: "\u21DB", race: "\u223D\u0331", Racute: "\u0154", racute: "\u0155", radic: "\u221A", raemptyv: "\u29B3", rang: "\u27E9", Rang: "\u27EB", rangd: "\u2992", range: "\u29A5", rangle: "\u27E9", raquo: "\xBB", rarrap: "\u2975", rarrb: "\u21E5", rarrbfs: "\u2920", rarrc: "\u2933", rarr: "\u2192", Rarr: "\u21A0", rArr: "\u21D2", rarrfs: "\u291E", rarrhk: "\u21AA", rarrlp: "\u21AC", rarrpl: "\u2945", rarrsim: "\u2974", Rarrtl: "\u2916", rarrtl: "\u21A3", rarrw: "\u219D", ratail: "\u291A", rAtail: "\u291C", ratio: "\u2236", rationals: "\u211A", rbarr: "\u290D", rBarr: "\u290F", RBarr: "\u2910", rbbrk: "\u2773", rbrace: "}", rbrack: "]", rbrke: "\u298C", rbrksld: "\u298E", rbrkslu: "\u2990", Rcaron: "\u0158", rcaron: "\u0159", Rcedil: "\u0156", rcedil: "\u0157", rceil: "\u2309", rcub: "}", Rcy: "\u0420", rcy: "\u0440", rdca: "\u2937", rdldhar: "\u2969", rdquo: "\u201D", rdquor: "\u201D", rdsh: "\u21B3", real: "\u211C", realine: "\u211B", realpart: "\u211C", reals: "\u211D", Re: "\u211C", rect: "\u25AD", reg: "\xAE", REG: "\xAE", ReverseElement: "\u220B", ReverseEquilibrium: "\u21CB", ReverseUpEquilibrium: "\u296F", rfisht: "\u297D", rfloor: "\u230B", rfr: "\u{1D52F}", Rfr: "\u211C", rHar: "\u2964", rhard: "\u21C1", rharu: "\u21C0", rharul: "\u296C", Rho: "\u03A1", rho: "\u03C1", rhov: "\u03F1", RightAngleBracket: "\u27E9", RightArrowBar: "\u21E5", rightarrow: "\u2192", RightArrow: "\u2192", Rightarrow: "\u21D2", RightArrowLeftArrow: "\u21C4", rightarrowtail: "\u21A3", RightCeiling: "\u2309", RightDoubleBracket: "\u27E7", RightDownTeeVector: "\u295D", RightDownVectorBar: "\u2955", RightDownVector: "\u21C2", RightFloor: "\u230B", rightharpoondown: "\u21C1", rightharpoonup: "\u21C0", rightleftarrows: "\u21C4", rightleftharpoons: "\u21CC", rightrightarrows: "\u21C9", rightsquigarrow: "\u219D", RightTeeArrow: "\u21A6", RightTee: "\u22A2", RightTeeVector: "\u295B", rightthreetimes: "\u22CC", RightTriangleBar: "\u29D0", RightTriangle: "\u22B3", RightTriangleEqual: "\u22B5", RightUpDownVector: "\u294F", RightUpTeeVector: "\u295C", RightUpVectorBar: "\u2954", RightUpVector: "\u21BE", RightVectorBar: "\u2953", RightVector: "\u21C0", ring: "\u02DA", risingdotseq: "\u2253", rlarr: "\u21C4", rlhar: "\u21CC", rlm: "\u200F", rmoustache: "\u23B1", rmoust: "\u23B1", rnmid: "\u2AEE", roang: "\u27ED", roarr: "\u21FE", robrk: "\u27E7", ropar: "\u2986", ropf: "\u{1D563}", Ropf: "\u211D", roplus: "\u2A2E", rotimes: "\u2A35", RoundImplies: "\u2970", rpar: ")", rpargt: "\u2994", rppolint: "\u2A12", rrarr: "\u21C9", Rrightarrow: "\u21DB", rsaquo: "\u203A", rscr: "\u{1D4C7}", Rscr: "\u211B", rsh: "\u21B1", Rsh: "\u21B1", rsqb: "]", rsquo: "\u2019", rsquor: "\u2019", rthree: "\u22CC", rtimes: "\u22CA", rtri: "\u25B9", rtrie: "\u22B5", rtrif: "\u25B8", rtriltri: "\u29CE", RuleDelayed: "\u29F4", ruluhar: "\u2968", rx: "\u211E", Sacute: "\u015A", sacute: "\u015B", sbquo: "\u201A", scap: "\u2AB8", Scaron: "\u0160", scaron: "\u0161", Sc: "\u2ABC", sc: "\u227B", sccue: "\u227D", sce: "\u2AB0", scE: "\u2AB4", Scedil: "\u015E", scedil: "\u015F", Scirc: "\u015C", scirc: "\u015D", scnap: "\u2ABA", scnE: "\u2AB6", scnsim: "\u22E9", scpolint: "\u2A13", scsim: "\u227F", Scy: "\u0421", scy: "\u0441", sdotb: "\u22A1", sdot: "\u22C5", sdote: "\u2A66", searhk: "\u2925", searr: "\u2198", seArr: "\u21D8", searrow: "\u2198", sect: "\xA7", semi: ";", seswar: "\u2929", setminus: "\u2216", setmn: "\u2216", sext: "\u2736", Sfr: "\u{1D516}", sfr: "\u{1D530}", sfrown: "\u2322", sharp: "\u266F", SHCHcy: "\u0429", shchcy: "\u0449", SHcy: "\u0428", shcy: "\u0448", ShortDownArrow: "\u2193", ShortLeftArrow: "\u2190", shortmid: "\u2223", shortparallel: "\u2225", ShortRightArrow: "\u2192", ShortUpArrow: "\u2191", shy: "\xAD", Sigma: "\u03A3", sigma: "\u03C3", sigmaf: "\u03C2", sigmav: "\u03C2", sim: "\u223C", simdot: "\u2A6A", sime: "\u2243", simeq: "\u2243", simg: "\u2A9E", simgE: "\u2AA0", siml: "\u2A9D", simlE: "\u2A9F", simne: "\u2246", simplus: "\u2A24", simrarr: "\u2972", slarr: "\u2190", SmallCircle: "\u2218", smallsetminus: "\u2216", smashp: "\u2A33", smeparsl: "\u29E4", smid: "\u2223", smile: "\u2323", smt: "\u2AAA", smte: "\u2AAC", smtes: "\u2AAC\uFE00", SOFTcy: "\u042C", softcy: "\u044C", solbar: "\u233F", solb: "\u29C4", sol: "/", Sopf: "\u{1D54A}", sopf: "\u{1D564}", spades: "\u2660", spadesuit: "\u2660", spar: "\u2225", sqcap: "\u2293", sqcaps: "\u2293\uFE00", sqcup: "\u2294", sqcups: "\u2294\uFE00", Sqrt: "\u221A", sqsub: "\u228F", sqsube: "\u2291", sqsubset: "\u228F", sqsubseteq: "\u2291", sqsup: "\u2290", sqsupe: "\u2292", sqsupset: "\u2290", sqsupseteq: "\u2292", square: "\u25A1", Square: "\u25A1", SquareIntersection: "\u2293", SquareSubset: "\u228F", SquareSubsetEqual: "\u2291", SquareSuperset: "\u2290", SquareSupersetEqual: "\u2292", SquareUnion: "\u2294", squarf: "\u25AA", squ: "\u25A1", squf: "\u25AA", srarr: "\u2192", Sscr: "\u{1D4AE}", sscr: "\u{1D4C8}", ssetmn: "\u2216", ssmile: "\u2323", sstarf: "\u22C6", Star: "\u22C6", star: "\u2606", starf: "\u2605", straightepsilon: "\u03F5", straightphi: "\u03D5", strns: "\xAF", sub: "\u2282", Sub: "\u22D0", subdot: "\u2ABD", subE: "\u2AC5", sube: "\u2286", subedot: "\u2AC3", submult: "\u2AC1", subnE: "\u2ACB", subne: "\u228A", subplus: "\u2ABF", subrarr: "\u2979", subset: "\u2282", Subset: "\u22D0", subseteq: "\u2286", subseteqq: "\u2AC5", SubsetEqual: "\u2286", subsetneq: "\u228A", subsetneqq: "\u2ACB", subsim: "\u2AC7", subsub: "\u2AD5", subsup: "\u2AD3", succapprox: "\u2AB8", succ: "\u227B", succcurlyeq: "\u227D", Succeeds: "\u227B", SucceedsEqual: "\u2AB0", SucceedsSlantEqual: "\u227D", SucceedsTilde: "\u227F", succeq: "\u2AB0", succnapprox: "\u2ABA", succneqq: "\u2AB6", succnsim: "\u22E9", succsim: "\u227F", SuchThat: "\u220B", sum: "\u2211", Sum: "\u2211", sung: "\u266A", sup1: "\xB9", sup2: "\xB2", sup3: "\xB3", sup: "\u2283", Sup: "\u22D1", supdot: "\u2ABE", supdsub: "\u2AD8", supE: "\u2AC6", supe: "\u2287", supedot: "\u2AC4", Superset: "\u2283", SupersetEqual: "\u2287", suphsol: "\u27C9", suphsub: "\u2AD7", suplarr: "\u297B", supmult: "\u2AC2", supnE: "\u2ACC", supne: "\u228B", supplus: "\u2AC0", supset: "\u2283", Supset: "\u22D1", supseteq: "\u2287", supseteqq: "\u2AC6", supsetneq: "\u228B", supsetneqq: "\u2ACC", supsim: "\u2AC8", supsub: "\u2AD4", supsup: "\u2AD6", swarhk: "\u2926", swarr: "\u2199", swArr: "\u21D9", swarrow: "\u2199", swnwar: "\u292A", szlig: "\xDF", Tab: "	", target: "\u2316", Tau: "\u03A4", tau: "\u03C4", tbrk: "\u23B4", Tcaron: "\u0164", tcaron: "\u0165", Tcedil: "\u0162", tcedil: "\u0163", Tcy: "\u0422", tcy: "\u0442", tdot: "\u20DB", telrec: "\u2315", Tfr: "\u{1D517}", tfr: "\u{1D531}", there4: "\u2234", therefore: "\u2234", Therefore: "\u2234", Theta: "\u0398", theta: "\u03B8", thetasym: "\u03D1", thetav: "\u03D1", thickapprox: "\u2248", thicksim: "\u223C", ThickSpace: "\u205F\u200A", ThinSpace: "\u2009", thinsp: "\u2009", thkap: "\u2248", thksim: "\u223C", THORN: "\xDE", thorn: "\xFE", tilde: "\u02DC", Tilde: "\u223C", TildeEqual: "\u2243", TildeFullEqual: "\u2245", TildeTilde: "\u2248", timesbar: "\u2A31", timesb: "\u22A0", times: "\xD7", timesd: "\u2A30", tint: "\u222D", toea: "\u2928", topbot: "\u2336", topcir: "\u2AF1", top: "\u22A4", Topf: "\u{1D54B}", topf: "\u{1D565}", topfork: "\u2ADA", tosa: "\u2929", tprime: "\u2034", trade: "\u2122", TRADE: "\u2122", triangle: "\u25B5", triangledown: "\u25BF", triangleleft: "\u25C3", trianglelefteq: "\u22B4", triangleq: "\u225C", triangleright: "\u25B9", trianglerighteq: "\u22B5", tridot: "\u25EC", trie: "\u225C", triminus: "\u2A3A", TripleDot: "\u20DB", triplus: "\u2A39", trisb: "\u29CD", tritime: "\u2A3B", trpezium: "\u23E2", Tscr: "\u{1D4AF}", tscr: "\u{1D4C9}", TScy: "\u0426", tscy: "\u0446", TSHcy: "\u040B", tshcy: "\u045B", Tstrok: "\u0166", tstrok: "\u0167", twixt: "\u226C", twoheadleftarrow: "\u219E", twoheadrightarrow: "\u21A0", Uacute: "\xDA", uacute: "\xFA", uarr: "\u2191", Uarr: "\u219F", uArr: "\u21D1", Uarrocir: "\u2949", Ubrcy: "\u040E", ubrcy: "\u045E", Ubreve: "\u016C", ubreve: "\u016D", Ucirc: "\xDB", ucirc: "\xFB", Ucy: "\u0423", ucy: "\u0443", udarr: "\u21C5", Udblac: "\u0170", udblac: "\u0171", udhar: "\u296E", ufisht: "\u297E", Ufr: "\u{1D518}", ufr: "\u{1D532}", Ugrave: "\xD9", ugrave: "\xF9", uHar: "\u2963", uharl: "\u21BF", uharr: "\u21BE", uhblk: "\u2580", ulcorn: "\u231C", ulcorner: "\u231C", ulcrop: "\u230F", ultri: "\u25F8", Umacr: "\u016A", umacr: "\u016B", uml: "\xA8", UnderBar: "_", UnderBrace: "\u23DF", UnderBracket: "\u23B5", UnderParenthesis: "\u23DD", Union: "\u22C3", UnionPlus: "\u228E", Uogon: "\u0172", uogon: "\u0173", Uopf: "\u{1D54C}", uopf: "\u{1D566}", UpArrowBar: "\u2912", uparrow: "\u2191", UpArrow: "\u2191", Uparrow: "\u21D1", UpArrowDownArrow: "\u21C5", updownarrow: "\u2195", UpDownArrow: "\u2195", Updownarrow: "\u21D5", UpEquilibrium: "\u296E", upharpoonleft: "\u21BF", upharpoonright: "\u21BE", uplus: "\u228E", UpperLeftArrow: "\u2196", UpperRightArrow: "\u2197", upsi: "\u03C5", Upsi: "\u03D2", upsih: "\u03D2", Upsilon: "\u03A5", upsilon: "\u03C5", UpTeeArrow: "\u21A5", UpTee: "\u22A5", upuparrows: "\u21C8", urcorn: "\u231D", urcorner: "\u231D", urcrop: "\u230E", Uring: "\u016E", uring: "\u016F", urtri: "\u25F9", Uscr: "\u{1D4B0}", uscr: "\u{1D4CA}", utdot: "\u22F0", Utilde: "\u0168", utilde: "\u0169", utri: "\u25B5", utrif: "\u25B4", uuarr: "\u21C8", Uuml: "\xDC", uuml: "\xFC", uwangle: "\u29A7", vangrt: "\u299C", varepsilon: "\u03F5", varkappa: "\u03F0", varnothing: "\u2205", varphi: "\u03D5", varpi: "\u03D6", varpropto: "\u221D", varr: "\u2195", vArr: "\u21D5", varrho: "\u03F1", varsigma: "\u03C2", varsubsetneq: "\u228A\uFE00", varsubsetneqq: "\u2ACB\uFE00", varsupsetneq: "\u228B\uFE00", varsupsetneqq: "\u2ACC\uFE00", vartheta: "\u03D1", vartriangleleft: "\u22B2", vartriangleright: "\u22B3", vBar: "\u2AE8", Vbar: "\u2AEB", vBarv: "\u2AE9", Vcy: "\u0412", vcy: "\u0432", vdash: "\u22A2", vDash: "\u22A8", Vdash: "\u22A9", VDash: "\u22AB", Vdashl: "\u2AE6", veebar: "\u22BB", vee: "\u2228", Vee: "\u22C1", veeeq: "\u225A", vellip: "\u22EE", verbar: "|", Verbar: "\u2016", vert: "|", Vert: "\u2016", VerticalBar: "\u2223", VerticalLine: "|", VerticalSeparator: "\u2758", VerticalTilde: "\u2240", VeryThinSpace: "\u200A", Vfr: "\u{1D519}", vfr: "\u{1D533}", vltri: "\u22B2", vnsub: "\u2282\u20D2", vnsup: "\u2283\u20D2", Vopf: "\u{1D54D}", vopf: "\u{1D567}", vprop: "\u221D", vrtri: "\u22B3", Vscr: "\u{1D4B1}", vscr: "\u{1D4CB}", vsubnE: "\u2ACB\uFE00", vsubne: "\u228A\uFE00", vsupnE: "\u2ACC\uFE00", vsupne: "\u228B\uFE00", Vvdash: "\u22AA", vzigzag: "\u299A", Wcirc: "\u0174", wcirc: "\u0175", wedbar: "\u2A5F", wedge: "\u2227", Wedge: "\u22C0", wedgeq: "\u2259", weierp: "\u2118", Wfr: "\u{1D51A}", wfr: "\u{1D534}", Wopf: "\u{1D54E}", wopf: "\u{1D568}", wp: "\u2118", wr: "\u2240", wreath: "\u2240", Wscr: "\u{1D4B2}", wscr: "\u{1D4CC}", xcap: "\u22C2", xcirc: "\u25EF", xcup: "\u22C3", xdtri: "\u25BD", Xfr: "\u{1D51B}", xfr: "\u{1D535}", xharr: "\u27F7", xhArr: "\u27FA", Xi: "\u039E", xi: "\u03BE", xlarr: "\u27F5", xlArr: "\u27F8", xmap: "\u27FC", xnis: "\u22FB", xodot: "\u2A00", Xopf: "\u{1D54F}", xopf: "\u{1D569}", xoplus: "\u2A01", xotime: "\u2A02", xrarr: "\u27F6", xrArr: "\u27F9", Xscr: "\u{1D4B3}", xscr: "\u{1D4CD}", xsqcup: "\u2A06", xuplus: "\u2A04", xutri: "\u25B3", xvee: "\u22C1", xwedge: "\u22C0", Yacute: "\xDD", yacute: "\xFD", YAcy: "\u042F", yacy: "\u044F", Ycirc: "\u0176", ycirc: "\u0177", Ycy: "\u042B", ycy: "\u044B", yen: "\xA5", Yfr: "\u{1D51C}", yfr: "\u{1D536}", YIcy: "\u0407", yicy: "\u0457", Yopf: "\u{1D550}", yopf: "\u{1D56A}", Yscr: "\u{1D4B4}", yscr: "\u{1D4CE}", YUcy: "\u042E", yucy: "\u044E", yuml: "\xFF", Yuml: "\u0178", Zacute: "\u0179", zacute: "\u017A", Zcaron: "\u017D", zcaron: "\u017E", Zcy: "\u0417", zcy: "\u0437", Zdot: "\u017B", zdot: "\u017C", zeetrf: "\u2128", ZeroWidthSpace: "\u200B", Zeta: "\u0396", zeta: "\u03B6", zfr: "\u{1D537}", Zfr: "\u2128", ZHcy: "\u0416", zhcy: "\u0436", zigrarr: "\u21DD", zopf: "\u{1D56B}", Zopf: "\u2124", Zscr: "\u{1D4B5}", zscr: "\u{1D4CF}", zwj: "\u200D", zwnj: "\u200C" };
  }
});

// ../node_modules/entities/lib/maps/legacy.json
var require_legacy = __commonJS({
  "../node_modules/entities/lib/maps/legacy.json"(exports, module2) {
    module2.exports = { Aacute: "\xC1", aacute: "\xE1", Acirc: "\xC2", acirc: "\xE2", acute: "\xB4", AElig: "\xC6", aelig: "\xE6", Agrave: "\xC0", agrave: "\xE0", amp: "&", AMP: "&", Aring: "\xC5", aring: "\xE5", Atilde: "\xC3", atilde: "\xE3", Auml: "\xC4", auml: "\xE4", brvbar: "\xA6", Ccedil: "\xC7", ccedil: "\xE7", cedil: "\xB8", cent: "\xA2", copy: "\xA9", COPY: "\xA9", curren: "\xA4", deg: "\xB0", divide: "\xF7", Eacute: "\xC9", eacute: "\xE9", Ecirc: "\xCA", ecirc: "\xEA", Egrave: "\xC8", egrave: "\xE8", ETH: "\xD0", eth: "\xF0", Euml: "\xCB", euml: "\xEB", frac12: "\xBD", frac14: "\xBC", frac34: "\xBE", gt: ">", GT: ">", Iacute: "\xCD", iacute: "\xED", Icirc: "\xCE", icirc: "\xEE", iexcl: "\xA1", Igrave: "\xCC", igrave: "\xEC", iquest: "\xBF", Iuml: "\xCF", iuml: "\xEF", laquo: "\xAB", lt: "<", LT: "<", macr: "\xAF", micro: "\xB5", middot: "\xB7", nbsp: "\xA0", not: "\xAC", Ntilde: "\xD1", ntilde: "\xF1", Oacute: "\xD3", oacute: "\xF3", Ocirc: "\xD4", ocirc: "\xF4", Ograve: "\xD2", ograve: "\xF2", ordf: "\xAA", ordm: "\xBA", Oslash: "\xD8", oslash: "\xF8", Otilde: "\xD5", otilde: "\xF5", Ouml: "\xD6", ouml: "\xF6", para: "\xB6", plusmn: "\xB1", pound: "\xA3", quot: '"', QUOT: '"', raquo: "\xBB", reg: "\xAE", REG: "\xAE", sect: "\xA7", shy: "\xAD", sup1: "\xB9", sup2: "\xB2", sup3: "\xB3", szlig: "\xDF", THORN: "\xDE", thorn: "\xFE", times: "\xD7", Uacute: "\xDA", uacute: "\xFA", Ucirc: "\xDB", ucirc: "\xFB", Ugrave: "\xD9", ugrave: "\xF9", uml: "\xA8", Uuml: "\xDC", uuml: "\xFC", Yacute: "\xDD", yacute: "\xFD", yen: "\xA5", yuml: "\xFF" };
  }
});

// ../node_modules/entities/lib/maps/xml.json
var require_xml2 = __commonJS({
  "../node_modules/entities/lib/maps/xml.json"(exports, module2) {
    module2.exports = { amp: "&", apos: "'", gt: ">", lt: "<", quot: '"' };
  }
});

// ../node_modules/entities/lib/maps/decode.json
var require_decode = __commonJS({
  "../node_modules/entities/lib/maps/decode.json"(exports, module2) {
    module2.exports = { "0": 65533, "128": 8364, "130": 8218, "131": 402, "132": 8222, "133": 8230, "134": 8224, "135": 8225, "136": 710, "137": 8240, "138": 352, "139": 8249, "140": 338, "142": 381, "145": 8216, "146": 8217, "147": 8220, "148": 8221, "149": 8226, "150": 8211, "151": 8212, "152": 732, "153": 8482, "154": 353, "155": 8250, "156": 339, "158": 382, "159": 376 };
  }
});

// ../node_modules/entities/lib/decode_codepoint.js
var require_decode_codepoint = __commonJS({
  "../node_modules/entities/lib/decode_codepoint.js"(exports) {
    "use strict";
    var __importDefault = exports && exports.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports, "__esModule", { value: true });
    var decode_json_1 = __importDefault(require_decode());
    var fromCodePoint = (
      // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
      String.fromCodePoint || function(codePoint) {
        var output = "";
        if (codePoint > 65535) {
          codePoint -= 65536;
          output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296);
          codePoint = 56320 | codePoint & 1023;
        }
        output += String.fromCharCode(codePoint);
        return output;
      }
    );
    function decodeCodePoint(codePoint) {
      if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) {
        return "\uFFFD";
      }
      if (codePoint in decode_json_1.default) {
        codePoint = decode_json_1.default[codePoint];
      }
      return fromCodePoint(codePoint);
    }
    __name(decodeCodePoint, "decodeCodePoint");
    exports.default = decodeCodePoint;
  }
});

// ../node_modules/entities/lib/decode.js
var require_decode2 = __commonJS({
  "../node_modules/entities/lib/decode.js"(exports) {
    "use strict";
    var __importDefault = exports && exports.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0;
    var entities_json_1 = __importDefault(require_entities());
    var legacy_json_1 = __importDefault(require_legacy());
    var xml_json_1 = __importDefault(require_xml2());
    var decode_codepoint_1 = __importDefault(require_decode_codepoint());
    var strictEntityRe = /&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;
    exports.decodeXML = getStrictDecoder(xml_json_1.default);
    exports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default);
    function getStrictDecoder(map2) {
      var replace2 = getReplacer(map2);
      return function(str2) {
        return String(str2).replace(strictEntityRe, replace2);
      };
    }
    __name(getStrictDecoder, "getStrictDecoder");
    var sorter = /* @__PURE__ */ __name(function(a2, b) {
      return a2 < b ? 1 : -1;
    }, "sorter");
    exports.decodeHTML = function() {
      var legacy = Object.keys(legacy_json_1.default).sort(sorter);
      var keys3 = Object.keys(entities_json_1.default).sort(sorter);
      for (var i2 = 0, j = 0; i2 < keys3.length; i2++) {
        if (legacy[j] === keys3[i2]) {
          keys3[i2] += ";?";
          j++;
        } else {
          keys3[i2] += ";";
        }
      }
      var re = new RegExp("&(?:" + keys3.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g");
      var replace2 = getReplacer(entities_json_1.default);
      function replacer3(str2) {
        if (str2.substr(-1) !== ";")
          str2 += ";";
        return replace2(str2);
      }
      __name(replacer3, "replacer");
      return function(str2) {
        return String(str2).replace(re, replacer3);
      };
    }();
    function getReplacer(map2) {
      return /* @__PURE__ */ __name(function replace2(str2) {
        if (str2.charAt(1) === "#") {
          var secondChar = str2.charAt(2);
          if (secondChar === "X" || secondChar === "x") {
            return decode_codepoint_1.default(parseInt(str2.substr(3), 16));
          }
          return decode_codepoint_1.default(parseInt(str2.substr(2), 10));
        }
        return map2[str2.slice(1, -1)] || str2;
      }, "replace");
    }
    __name(getReplacer, "getReplacer");
  }
});

// ../node_modules/entities/lib/encode.js
var require_encode = __commonJS({
  "../node_modules/entities/lib/encode.js"(exports) {
    "use strict";
    var __importDefault = exports && exports.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = void 0;
    var xml_json_1 = __importDefault(require_xml2());
    var inverseXML = getInverseObj(xml_json_1.default);
    var xmlReplacer = getInverseReplacer(inverseXML);
    exports.encodeXML = getASCIIEncoder(inverseXML);
    var entities_json_1 = __importDefault(require_entities());
    var inverseHTML = getInverseObj(entities_json_1.default);
    var htmlReplacer = getInverseReplacer(inverseHTML);
    exports.encodeHTML = getInverse(inverseHTML, htmlReplacer);
    exports.encodeNonAsciiHTML = getASCIIEncoder(inverseHTML);
    function getInverseObj(obj) {
      return Object.keys(obj).sort().reduce(function(inverse, name) {
        inverse[obj[name]] = "&" + name + ";";
        return inverse;
      }, {});
    }
    __name(getInverseObj, "getInverseObj");
    function getInverseReplacer(inverse) {
      var single = [];
      var multiple = [];
      for (var _i = 0, _a3 = Object.keys(inverse); _i < _a3.length; _i++) {
        var k = _a3[_i];
        if (k.length === 1) {
          single.push("\\" + k);
        } else {
          multiple.push(k);
        }
      }
      single.sort();
      for (var start2 = 0; start2 < single.length - 1; start2++) {
        var end2 = start2;
        while (end2 < single.length - 1 && single[end2].charCodeAt(1) + 1 === single[end2 + 1].charCodeAt(1)) {
          end2 += 1;
        }
        var count3 = 1 + end2 - start2;
        if (count3 < 3)
          continue;
        single.splice(start2, count3, single[start2] + "-" + single[end2]);
      }
      multiple.unshift("[" + single.join("") + "]");
      return new RegExp(multiple.join("|"), "g");
    }
    __name(getInverseReplacer, "getInverseReplacer");
    var reNonASCII = /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g;
    var getCodePoint = (
      // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
      String.prototype.codePointAt != null ? (
        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
        function(str2) {
          return str2.codePointAt(0);
        }
      ) : (
        // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
        function(c2) {
          return (c2.charCodeAt(0) - 55296) * 1024 + c2.charCodeAt(1) - 56320 + 65536;
        }
      )
    );
    function singleCharReplacer(c2) {
      return "&#x" + (c2.length > 1 ? getCodePoint(c2) : c2.charCodeAt(0)).toString(16).toUpperCase() + ";";
    }
    __name(singleCharReplacer, "singleCharReplacer");
    function getInverse(inverse, re) {
      return function(data) {
        return data.replace(re, function(name) {
          return inverse[name];
        }).replace(reNonASCII, singleCharReplacer);
      };
    }
    __name(getInverse, "getInverse");
    var reEscapeChars = new RegExp(xmlReplacer.source + "|" + reNonASCII.source, "g");
    function escape4(data) {
      return data.replace(reEscapeChars, singleCharReplacer);
    }
    __name(escape4, "escape");
    exports.escape = escape4;
    function escapeUTF8(data) {
      return data.replace(xmlReplacer, singleCharReplacer);
    }
    __name(escapeUTF8, "escapeUTF8");
    exports.escapeUTF8 = escapeUTF8;
    function getASCIIEncoder(obj) {
      return function(data) {
        return data.replace(reEscapeChars, function(c2) {
          return obj[c2] || singleCharReplacer(c2);
        });
      };
    }
    __name(getASCIIEncoder, "getASCIIEncoder");
  }
});

// ../node_modules/entities/lib/index.js
var require_lib = __commonJS({
  "../node_modules/entities/lib/index.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = void 0;
    var decode_1 = require_decode2();
    var encode_1 = require_encode();
    function decode(data, level) {
      return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data);
    }
    __name(decode, "decode");
    exports.decode = decode;
    function decodeStrict(data, level) {
      return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data);
    }
    __name(decodeStrict, "decodeStrict");
    exports.decodeStrict = decodeStrict;
    function encode2(data, level) {
      return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data);
    }
    __name(encode2, "encode");
    exports.encode = encode2;
    var encode_2 = require_encode();
    Object.defineProperty(exports, "encodeXML", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return encode_2.encodeXML;
    }, "get") });
    Object.defineProperty(exports, "encodeHTML", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return encode_2.encodeHTML;
    }, "get") });
    Object.defineProperty(exports, "encodeNonAsciiHTML", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return encode_2.encodeNonAsciiHTML;
    }, "get") });
    Object.defineProperty(exports, "escape", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return encode_2.escape;
    }, "get") });
    Object.defineProperty(exports, "escapeUTF8", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return encode_2.escapeUTF8;
    }, "get") });
    Object.defineProperty(exports, "encodeHTML4", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return encode_2.encodeHTML;
    }, "get") });
    Object.defineProperty(exports, "encodeHTML5", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return encode_2.encodeHTML;
    }, "get") });
    var decode_2 = require_decode2();
    Object.defineProperty(exports, "decodeXML", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return decode_2.decodeXML;
    }, "get") });
    Object.defineProperty(exports, "decodeHTML", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return decode_2.decodeHTML;
    }, "get") });
    Object.defineProperty(exports, "decodeHTMLStrict", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return decode_2.decodeHTMLStrict;
    }, "get") });
    Object.defineProperty(exports, "decodeHTML4", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return decode_2.decodeHTML;
    }, "get") });
    Object.defineProperty(exports, "decodeHTML5", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return decode_2.decodeHTML;
    }, "get") });
    Object.defineProperty(exports, "decodeHTML4Strict", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return decode_2.decodeHTMLStrict;
    }, "get") });
    Object.defineProperty(exports, "decodeHTML5Strict", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return decode_2.decodeHTMLStrict;
    }, "get") });
    Object.defineProperty(exports, "decodeXMLStrict", { enumerable: true, get: /* @__PURE__ */ __name(function() {
      return decode_2.decodeXML;
    }, "get") });
  }
});

// ../node_modules/ansi-to-html/lib/ansi_to_html.js
var require_ansi_to_html = __commonJS({
  "../node_modules/ansi-to-html/lib/ansi_to_html.js"(exports, module2) {
    "use strict";
    function _classCallCheck3(instance, Constructor) {
      if (!(instance instanceof Constructor)) {
        throw new TypeError("Cannot call a class as a function");
      }
    }
    __name(_classCallCheck3, "_classCallCheck");
    function _defineProperties3(target, props) {
      for (var i2 = 0; i2 < props.length; i2++) {
        var descriptor = props[i2];
        descriptor.enumerable = descriptor.enumerable || false;
        descriptor.configurable = true;
        if ("value" in descriptor) descriptor.writable = true;
        Object.defineProperty(target, descriptor.key, descriptor);
      }
    }
    __name(_defineProperties3, "_defineProperties");
    function _createClass3(Constructor, protoProps, staticProps) {
      if (protoProps) _defineProperties3(Constructor.prototype, protoProps);
      if (staticProps) _defineProperties3(Constructor, staticProps);
      return Constructor;
    }
    __name(_createClass3, "_createClass");
    function _createForOfIteratorHelper(o2, allowArrayLike) {
      var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
      if (!it) {
        if (Array.isArray(o2) || (it = _unsupportedIterableToArray2(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
          if (it) o2 = it;
          var i2 = 0;
          var F = /* @__PURE__ */ __name(function F2() {
          }, "F");
          return { s: F, n: /* @__PURE__ */ __name(function n2() {
            if (i2 >= o2.length) return { done: true };
            return { done: false, value: o2[i2++] };
          }, "n"), e: /* @__PURE__ */ __name(function e2(_e2) {
            throw _e2;
          }, "e"), f: F };
        }
        throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
      }
      var normalCompletion = true, didErr = false, err;
      return { s: /* @__PURE__ */ __name(function s3() {
        it = it.call(o2);
      }, "s"), n: /* @__PURE__ */ __name(function n2() {
        var step2 = it.next();
        normalCompletion = step2.done;
        return step2;
      }, "n"), e: /* @__PURE__ */ __name(function e2(_e2) {
        didErr = true;
        err = _e2;
      }, "e"), f: /* @__PURE__ */ __name(function f3() {
        try {
          if (!normalCompletion && it["return"] != null) it["return"]();
        } finally {
          if (didErr) throw err;
        }
      }, "f") };
    }
    __name(_createForOfIteratorHelper, "_createForOfIteratorHelper");
    function _unsupportedIterableToArray2(o2, minLen) {
      if (!o2) return;
      if (typeof o2 === "string") return _arrayLikeToArray2(o2, minLen);
      var n2 = Object.prototype.toString.call(o2).slice(8, -1);
      if (n2 === "Object" && o2.constructor) n2 = o2.constructor.name;
      if (n2 === "Map" || n2 === "Set") return Array.from(o2);
      if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2)) return _arrayLikeToArray2(o2, minLen);
    }
    __name(_unsupportedIterableToArray2, "_unsupportedIterableToArray");
    function _arrayLikeToArray2(arr, len) {
      if (len == null || len > arr.length) len = arr.length;
      for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++) {
        arr2[i2] = arr[i2];
      }
      return arr2;
    }
    __name(_arrayLikeToArray2, "_arrayLikeToArray");
    var entities = require_lib();
    var defaults = {
      fg: "#FFF",
      bg: "#000",
      newline: false,
      escapeXML: false,
      stream: false,
      colors: getDefaultColors()
    };
    function getDefaultColors() {
      var colors3 = {
        0: "#000",
        1: "#A00",
        2: "#0A0",
        3: "#A50",
        4: "#00A",
        5: "#A0A",
        6: "#0AA",
        7: "#AAA",
        8: "#555",
        9: "#F55",
        10: "#5F5",
        11: "#FF5",
        12: "#55F",
        13: "#F5F",
        14: "#5FF",
        15: "#FFF"
      };
      range(0, 5).forEach(function(red) {
        range(0, 5).forEach(function(green) {
          range(0, 5).forEach(function(blue) {
            return setStyleColor(red, green, blue, colors3);
          });
        });
      });
      range(0, 23).forEach(function(gray) {
        var c2 = gray + 232;
        var l = toHexString(gray * 10 + 8);
        colors3[c2] = "#" + l + l + l;
      });
      return colors3;
    }
    __name(getDefaultColors, "getDefaultColors");
    function setStyleColor(red, green, blue, colors3) {
      var c2 = 16 + red * 36 + green * 6 + blue;
      var r2 = red > 0 ? red * 40 + 55 : 0;
      var g2 = green > 0 ? green * 40 + 55 : 0;
      var b = blue > 0 ? blue * 40 + 55 : 0;
      colors3[c2] = toColorHexString([r2, g2, b]);
    }
    __name(setStyleColor, "setStyleColor");
    function toHexString(num) {
      var str2 = num.toString(16);
      while (str2.length < 2) {
        str2 = "0" + str2;
      }
      return str2;
    }
    __name(toHexString, "toHexString");
    function toColorHexString(ref) {
      var results = [];
      var _iterator = _createForOfIteratorHelper(ref), _step;
      try {
        for (_iterator.s(); !(_step = _iterator.n()).done; ) {
          var r2 = _step.value;
          results.push(toHexString(r2));
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }
      return "#" + results.join("");
    }
    __name(toColorHexString, "toColorHexString");
    function generateOutput(stack, token2, data, options) {
      var result;
      if (token2 === "text") {
        result = pushText(data, options);
      } else if (token2 === "display") {
        result = handleDisplay(stack, data, options);
      } else if (token2 === "xterm256Foreground") {
        result = pushForegroundColor(stack, options.colors[data]);
      } else if (token2 === "xterm256Background") {
        result = pushBackgroundColor(stack, options.colors[data]);
      } else if (token2 === "rgb") {
        result = handleRgb(stack, data);
      }
      return result;
    }
    __name(generateOutput, "generateOutput");
    function handleRgb(stack, data) {
      data = data.substring(2).slice(0, -1);
      var operation = +data.substr(0, 2);
      var color2 = data.substring(5).split(";");
      var rgb2 = color2.map(function(value) {
        return ("0" + Number(value).toString(16)).substr(-2);
      }).join("");
      return pushStyle(stack, (operation === 38 ? "color:#" : "background-color:#") + rgb2);
    }
    __name(handleRgb, "handleRgb");
    function handleDisplay(stack, code, options) {
      code = parseInt(code, 10);
      var codeMap = {
        "-1": /* @__PURE__ */ __name(function _() {
          return "<br/>";
        }, "_"),
        0: /* @__PURE__ */ __name(function _() {
          return stack.length && resetStyles(stack);
        }, "_"),
        1: /* @__PURE__ */ __name(function _() {
          return pushTag(stack, "b");
        }, "_"),
        3: /* @__PURE__ */ __name(function _() {
          return pushTag(stack, "i");
        }, "_"),
        4: /* @__PURE__ */ __name(function _() {
          return pushTag(stack, "u");
        }, "_"),
        8: /* @__PURE__ */ __name(function _() {
          return pushStyle(stack, "display:none");
        }, "_"),
        9: /* @__PURE__ */ __name(function _() {
          return pushTag(stack, "strike");
        }, "_"),
        22: /* @__PURE__ */ __name(function _() {
          return pushStyle(stack, "font-weight:normal;text-decoration:none;font-style:normal");
        }, "_"),
        23: /* @__PURE__ */ __name(function _() {
          return closeTag(stack, "i");
        }, "_"),
        24: /* @__PURE__ */ __name(function _() {
          return closeTag(stack, "u");
        }, "_"),
        39: /* @__PURE__ */ __name(function _() {
          return pushForegroundColor(stack, options.fg);
        }, "_"),
        49: /* @__PURE__ */ __name(function _() {
          return pushBackgroundColor(stack, options.bg);
        }, "_"),
        53: /* @__PURE__ */ __name(function _() {
          return pushStyle(stack, "text-decoration:overline");
        }, "_")
      };
      var result;
      if (codeMap[code]) {
        result = codeMap[code]();
      } else if (4 < code && code < 7) {
        result = pushTag(stack, "blink");
      } else if (29 < code && code < 38) {
        result = pushForegroundColor(stack, options.colors[code - 30]);
      } else if (39 < code && code < 48) {
        result = pushBackgroundColor(stack, options.colors[code - 40]);
      } else if (89 < code && code < 98) {
        result = pushForegroundColor(stack, options.colors[8 + (code - 90)]);
      } else if (99 < code && code < 108) {
        result = pushBackgroundColor(stack, options.colors[8 + (code - 100)]);
      }
      return result;
    }
    __name(handleDisplay, "handleDisplay");
    function resetStyles(stack) {
      var stackClone = stack.slice(0);
      stack.length = 0;
      return stackClone.reverse().map(function(tag) {
        return "</" + tag + ">";
      }).join("");
    }
    __name(resetStyles, "resetStyles");
    function range(low, high) {
      var results = [];
      for (var j = low; j <= high; j++) {
        results.push(j);
      }
      return results;
    }
    __name(range, "range");
    function notCategory(category) {
      return function(e2) {
        return (category === null || e2.category !== category) && category !== "all";
      };
    }
    __name(notCategory, "notCategory");
    function categoryForCode(code) {
      code = parseInt(code, 10);
      var result = null;
      if (code === 0) {
        result = "all";
      } else if (code === 1) {
        result = "bold";
      } else if (2 < code && code < 5) {
        result = "underline";
      } else if (4 < code && code < 7) {
        result = "blink";
      } else if (code === 8) {
        result = "hide";
      } else if (code === 9) {
        result = "strike";
      } else if (29 < code && code < 38 || code === 39 || 89 < code && code < 98) {
        result = "foreground-color";
      } else if (39 < code && code < 48 || code === 49 || 99 < code && code < 108) {
        result = "background-color";
      }
      return result;
    }
    __name(categoryForCode, "categoryForCode");
    function pushText(text, options) {
      if (options.escapeXML) {
        return entities.encodeXML(text);
      }
      return text;
    }
    __name(pushText, "pushText");
    function pushTag(stack, tag, style) {
      if (!style) {
        style = "";
      }
      stack.push(tag);
      return "<".concat(tag).concat(style ? ' style="'.concat(style, '"') : "", ">");
    }
    __name(pushTag, "pushTag");
    function pushStyle(stack, style) {
      return pushTag(stack, "span", style);
    }
    __name(pushStyle, "pushStyle");
    function pushForegroundColor(stack, color2) {
      return pushTag(stack, "span", "color:" + color2);
    }
    __name(pushForegroundColor, "pushForegroundColor");
    function pushBackgroundColor(stack, color2) {
      return pushTag(stack, "span", "background-color:" + color2);
    }
    __name(pushBackgroundColor, "pushBackgroundColor");
    function closeTag(stack, style) {
      var last2;
      if (stack.slice(-1)[0] === style) {
        last2 = stack.pop();
      }
      if (last2) {
        return "</" + style + ">";
      }
    }
    __name(closeTag, "closeTag");
    function tokenize2(text, options, callback) {
      var ansiMatch = false;
      var ansiHandler = 3;
      function remove2() {
        return "";
      }
      __name(remove2, "remove");
      function removeXterm256Foreground(m3, g1) {
        callback("xterm256Foreground", g1);
        return "";
      }
      __name(removeXterm256Foreground, "removeXterm256Foreground");
      function removeXterm256Background(m3, g1) {
        callback("xterm256Background", g1);
        return "";
      }
      __name(removeXterm256Background, "removeXterm256Background");
      function newline(m3) {
        if (options.newline) {
          callback("display", -1);
        } else {
          callback("text", m3);
        }
        return "";
      }
      __name(newline, "newline");
      function ansiMess(m3, g1) {
        ansiMatch = true;
        if (g1.trim().length === 0) {
          g1 = "0";
        }
        g1 = g1.trimRight(";").split(";");
        var _iterator2 = _createForOfIteratorHelper(g1), _step2;
        try {
          for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) {
            var g2 = _step2.value;
            callback("display", g2);
          }
        } catch (err) {
          _iterator2.e(err);
        } finally {
          _iterator2.f();
        }
        return "";
      }
      __name(ansiMess, "ansiMess");
      function realText(m3) {
        callback("text", m3);
        return "";
      }
      __name(realText, "realText");
      function rgb2(m3) {
        callback("rgb", m3);
        return "";
      }
      __name(rgb2, "rgb");
      var tokens = [{
        pattern: /^\x08+/,
        sub: remove2
      }, {
        pattern: /^\x1b\[[012]?K/,
        sub: remove2
      }, {
        pattern: /^\x1b\[\(B/,
        sub: remove2
      }, {
        pattern: /^\x1b\[[34]8;2;\d+;\d+;\d+m/,
        sub: rgb2
      }, {
        pattern: /^\x1b\[38;5;(\d+)m/,
        sub: removeXterm256Foreground
      }, {
        pattern: /^\x1b\[48;5;(\d+)m/,
        sub: removeXterm256Background
      }, {
        pattern: /^\n/,
        sub: newline
      }, {
        pattern: /^\r+\n/,
        sub: newline
      }, {
        pattern: /^\r/,
        sub: newline
      }, {
        pattern: /^\x1b\[((?:\d{1,3};?)+|)m/,
        sub: ansiMess
      }, {
        // CSI n J
        // ED - Erase in Display Clears part of the screen.
        // If n is 0 (or missing), clear from cursor to end of screen.
        // If n is 1, clear from cursor to beginning of the screen.
        // If n is 2, clear entire screen (and moves cursor to upper left on DOS ANSI.SYS).
        // If n is 3, clear entire screen and delete all lines saved in the scrollback buffer
        //   (this feature was added for xterm and is supported by other terminal applications).
        pattern: /^\x1b\[\d?J/,
        sub: remove2
      }, {
        // CSI n ; m f
        // HVP - Horizontal Vertical Position Same as CUP
        pattern: /^\x1b\[\d{0,3};\d{0,3}f/,
        sub: remove2
      }, {
        // catch-all for CSI sequences?
        pattern: /^\x1b\[?[\d;]{0,3}/,
        sub: remove2
      }, {
        /**
         * extracts real text - not containing:
         * - `\x1b' - ESC - escape (Ascii 27)
         * - '\x08' - BS - backspace (Ascii 8)
         * - `\n` - Newline - linefeed (LF) (ascii 10)
         * - `\r` - Windows Carriage Return (CR)
         */
        pattern: /^(([^\x1b\x08\r\n])+)/,
        sub: realText
      }];
      function process2(handler2, i3) {
        if (i3 > ansiHandler && ansiMatch) {
          return;
        }
        ansiMatch = false;
        text = text.replace(handler2.pattern, handler2.sub);
      }
      __name(process2, "process");
      var results1 = [];
      var _text = text, length2 = _text.length;
      outer: while (length2 > 0) {
        for (var i2 = 0, o2 = 0, len = tokens.length; o2 < len; i2 = ++o2) {
          var handler = tokens[i2];
          process2(handler, i2);
          if (text.length !== length2) {
            length2 = text.length;
            continue outer;
          }
        }
        if (text.length === length2) {
          break;
        }
        results1.push(0);
        length2 = text.length;
      }
      return results1;
    }
    __name(tokenize2, "tokenize");
    function updateStickyStack(stickyStack, token2, data) {
      if (token2 !== "text") {
        stickyStack = stickyStack.filter(notCategory(categoryForCode(data)));
        stickyStack.push({
          token: token2,
          data,
          category: categoryForCode(data)
        });
      }
      return stickyStack;
    }
    __name(updateStickyStack, "updateStickyStack");
    var Filter = function() {
      function Filter2(options) {
        _classCallCheck3(this, Filter2);
        options = options || {};
        if (options.colors) {
          options.colors = Object.assign({}, defaults.colors, options.colors);
        }
        this.options = Object.assign({}, defaults, options);
        this.stack = [];
        this.stickyStack = [];
      }
      __name(Filter2, "Filter");
      _createClass3(Filter2, [{
        key: "toHtml",
        value: /* @__PURE__ */ __name(function toHtml(input2) {
          var _this = this;
          input2 = typeof input2 === "string" ? [input2] : input2;
          var stack = this.stack, options = this.options;
          var buf = [];
          this.stickyStack.forEach(function(element) {
            var output = generateOutput(stack, element.token, element.data, options);
            if (output) {
              buf.push(output);
            }
          });
          tokenize2(input2.join(""), options, function(token2, data) {
            var output = generateOutput(stack, token2, data, options);
            if (output) {
              buf.push(output);
            }
            if (options.stream) {
              _this.stickyStack = updateStickyStack(_this.stickyStack, token2, data);
            }
          });
          if (stack.length) {
            buf.push(resetStyles(stack));
          }
          return buf.join("");
        }, "toHtml")
      }]);
      return Filter2;
    }();
    module2.exports = Filter;
  }
});

// ../node_modules/jsdoc-type-pratt-parser/dist/index.js
var require_dist = __commonJS({
  "../node_modules/jsdoc-type-pratt-parser/dist/index.js"(exports, module2) {
    (function(global2, factory) {
      typeof exports === "object" && typeof module2 !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.jtpp = {}));
    })(exports, function(exports2) {
      "use strict";
      function tokenToString(token2) {
        if (token2.text !== void 0 && token2.text !== "") {
          return `'${token2.type}' with value '${token2.text}'`;
        } else {
          return `'${token2.type}'`;
        }
      }
      __name(tokenToString, "tokenToString");
      const _NoParsletFoundError = class _NoParsletFoundError extends Error {
        constructor(token2) {
          super(`No parslet found for token: ${tokenToString(token2)}`);
          this.token = token2;
          Object.setPrototypeOf(this, _NoParsletFoundError.prototype);
        }
        getToken() {
          return this.token;
        }
      };
      __name(_NoParsletFoundError, "NoParsletFoundError");
      let NoParsletFoundError = _NoParsletFoundError;
      const _EarlyEndOfParseError = class _EarlyEndOfParseError extends Error {
        constructor(token2) {
          super(`The parsing ended early. The next token was: ${tokenToString(token2)}`);
          this.token = token2;
          Object.setPrototypeOf(this, _EarlyEndOfParseError.prototype);
        }
        getToken() {
          return this.token;
        }
      };
      __name(_EarlyEndOfParseError, "EarlyEndOfParseError");
      let EarlyEndOfParseError = _EarlyEndOfParseError;
      const _UnexpectedTypeError = class _UnexpectedTypeError extends Error {
        constructor(result, message) {
          let error = `Unexpected type: '${result.type}'.`;
          if (message !== void 0) {
            error += ` Message: ${message}`;
          }
          super(error);
          Object.setPrototypeOf(this, _UnexpectedTypeError.prototype);
        }
      };
      __name(_UnexpectedTypeError, "UnexpectedTypeError");
      let UnexpectedTypeError = _UnexpectedTypeError;
      function makePunctuationRule(type5) {
        return (text) => {
          if (text.startsWith(type5)) {
            return { type: type5, text: type5 };
          } else {
            return null;
          }
        };
      }
      __name(makePunctuationRule, "makePunctuationRule");
      function getQuoted(text) {
        let position2 = 0;
        let char2;
        const mark = text[0];
        let escaped = false;
        if (mark !== "'" && mark !== '"') {
          return null;
        }
        while (position2 < text.length) {
          position2++;
          char2 = text[position2];
          if (!escaped && char2 === mark) {
            position2++;
            break;
          }
          escaped = !escaped && char2 === "\\";
        }
        if (char2 !== mark) {
          throw new Error("Unterminated String");
        }
        return text.slice(0, position2);
      }
      __name(getQuoted, "getQuoted");
      const identifierStartRegex = new RegExp("[$_\\p{ID_Start}]|\\\\u\\p{Hex_Digit}{4}|\\\\u\\{0*(?:\\p{Hex_Digit}{1,5}|10\\p{Hex_Digit}{4})\\}", "u");
      const identifierContinueRegex = new RegExp("[$\\-\\p{ID_Continue}\\u200C\\u200D]|\\\\u\\p{Hex_Digit}{4}|\\\\u\\{0*(?:\\p{Hex_Digit}{1,5}|10\\p{Hex_Digit}{4})\\}", "u");
      function getIdentifier(text) {
        let char2 = text[0];
        if (!identifierStartRegex.test(char2)) {
          return null;
        }
        let position2 = 1;
        do {
          char2 = text[position2];
          if (!identifierContinueRegex.test(char2)) {
            break;
          }
          position2++;
        } while (position2 < text.length);
        return text.slice(0, position2);
      }
      __name(getIdentifier, "getIdentifier");
      const numberRegex = /^(NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity))/;
      function getNumber(text) {
        var _a3, _b;
        return (_b = (_a3 = numberRegex.exec(text)) === null || _a3 === void 0 ? void 0 : _a3[0]) !== null && _b !== void 0 ? _b : null;
      }
      __name(getNumber, "getNumber");
      const identifierRule = /* @__PURE__ */ __name((text) => {
        const value = getIdentifier(text);
        if (value == null) {
          return null;
        }
        return {
          type: "Identifier",
          text: value
        };
      }, "identifierRule");
      function makeKeyWordRule(type5) {
        return (text) => {
          if (!text.startsWith(type5)) {
            return null;
          }
          const prepends = text[type5.length];
          if (prepends !== void 0 && identifierContinueRegex.test(prepends)) {
            return null;
          }
          return {
            type: type5,
            text: type5
          };
        };
      }
      __name(makeKeyWordRule, "makeKeyWordRule");
      const stringValueRule = /* @__PURE__ */ __name((text) => {
        const value = getQuoted(text);
        if (value == null) {
          return null;
        }
        return {
          type: "StringValue",
          text: value
        };
      }, "stringValueRule");
      const eofRule = /* @__PURE__ */ __name((text) => {
        if (text.length > 0) {
          return null;
        }
        return {
          type: "EOF",
          text: ""
        };
      }, "eofRule");
      const numberRule = /* @__PURE__ */ __name((text) => {
        const value = getNumber(text);
        if (value === null) {
          return null;
        }
        return {
          type: "Number",
          text: value
        };
      }, "numberRule");
      const rules = [
        eofRule,
        makePunctuationRule("=>"),
        makePunctuationRule("("),
        makePunctuationRule(")"),
        makePunctuationRule("{"),
        makePunctuationRule("}"),
        makePunctuationRule("["),
        makePunctuationRule("]"),
        makePunctuationRule("|"),
        makePunctuationRule("&"),
        makePunctuationRule("<"),
        makePunctuationRule(">"),
        makePunctuationRule(","),
        makePunctuationRule(";"),
        makePunctuationRule("*"),
        makePunctuationRule("?"),
        makePunctuationRule("!"),
        makePunctuationRule("="),
        makePunctuationRule(":"),
        makePunctuationRule("..."),
        makePunctuationRule("."),
        makePunctuationRule("#"),
        makePunctuationRule("~"),
        makePunctuationRule("/"),
        makePunctuationRule("@"),
        makeKeyWordRule("undefined"),
        makeKeyWordRule("null"),
        makeKeyWordRule("function"),
        makeKeyWordRule("this"),
        makeKeyWordRule("new"),
        makeKeyWordRule("module"),
        makeKeyWordRule("event"),
        makeKeyWordRule("extends"),
        makeKeyWordRule("external"),
        makeKeyWordRule("infer"),
        makeKeyWordRule("typeof"),
        makeKeyWordRule("keyof"),
        makeKeyWordRule("readonly"),
        makeKeyWordRule("import"),
        makeKeyWordRule("is"),
        makeKeyWordRule("in"),
        makeKeyWordRule("asserts"),
        numberRule,
        identifierRule,
        stringValueRule
      ];
      const breakingWhitespaceRegex = /^\s*\n\s*/;
      const _Lexer = class _Lexer {
        static create(text) {
          const current = this.read(text);
          text = current.text;
          const next2 = this.read(text);
          text = next2.text;
          return new _Lexer(text, void 0, current.token, next2.token);
        }
        constructor(text, previous, current, next2) {
          this.text = "";
          this.text = text;
          this.previous = previous;
          this.current = current;
          this.next = next2;
        }
        static read(text, startOfLine = false) {
          startOfLine = startOfLine || breakingWhitespaceRegex.test(text);
          text = text.trim();
          for (const rule of rules) {
            const partial = rule(text);
            if (partial !== null) {
              const token2 = Object.assign(Object.assign({}, partial), { startOfLine });
              text = text.slice(token2.text.length);
              return { text, token: token2 };
            }
          }
          throw new Error("Unexpected Token " + text);
        }
        advance() {
          const next2 = _Lexer.read(this.text);
          return new _Lexer(next2.text, this.current, this.next, next2.token);
        }
      };
      __name(_Lexer, "Lexer");
      let Lexer = _Lexer;
      function assertRootResult(result) {
        if (result === void 0) {
          throw new Error("Unexpected undefined");
        }
        if (result.type === "JsdocTypeKeyValue" || result.type === "JsdocTypeParameterList" || result.type === "JsdocTypeProperty" || result.type === "JsdocTypeReadonlyProperty" || result.type === "JsdocTypeObjectField" || result.type === "JsdocTypeJsdocObjectField" || result.type === "JsdocTypeIndexSignature" || result.type === "JsdocTypeMappedType" || result.type === "JsdocTypeTypeParameter") {
          throw new UnexpectedTypeError(result);
        }
        return result;
      }
      __name(assertRootResult, "assertRootResult");
      function assertPlainKeyValueOrRootResult(result) {
        if (result.type === "JsdocTypeKeyValue") {
          return assertPlainKeyValueResult(result);
        }
        return assertRootResult(result);
      }
      __name(assertPlainKeyValueOrRootResult, "assertPlainKeyValueOrRootResult");
      function assertPlainKeyValueOrNameResult(result) {
        if (result.type === "JsdocTypeName") {
          return result;
        }
        return assertPlainKeyValueResult(result);
      }
      __name(assertPlainKeyValueOrNameResult, "assertPlainKeyValueOrNameResult");
      function assertPlainKeyValueResult(result) {
        if (result.type !== "JsdocTypeKeyValue") {
          throw new UnexpectedTypeError(result);
        }
        return result;
      }
      __name(assertPlainKeyValueResult, "assertPlainKeyValueResult");
      function assertNumberOrVariadicNameResult(result) {
        var _a3;
        if (result.type === "JsdocTypeVariadic") {
          if (((_a3 = result.element) === null || _a3 === void 0 ? void 0 : _a3.type) === "JsdocTypeName") {
            return result;
          }
          throw new UnexpectedTypeError(result);
        }
        if (result.type !== "JsdocTypeNumber" && result.type !== "JsdocTypeName") {
          throw new UnexpectedTypeError(result);
        }
        return result;
      }
      __name(assertNumberOrVariadicNameResult, "assertNumberOrVariadicNameResult");
      function assertArrayOrTupleResult(result) {
        if (result.type === "JsdocTypeTuple") {
          return result;
        }
        if (result.type === "JsdocTypeGeneric" && result.meta.brackets === "square") {
          return result;
        }
        throw new UnexpectedTypeError(result);
      }
      __name(assertArrayOrTupleResult, "assertArrayOrTupleResult");
      function isSquaredProperty(result) {
        return result.type === "JsdocTypeIndexSignature" || result.type === "JsdocTypeMappedType";
      }
      __name(isSquaredProperty, "isSquaredProperty");
      var Precedence;
      (function(Precedence2) {
        Precedence2[Precedence2["ALL"] = 0] = "ALL";
        Precedence2[Precedence2["PARAMETER_LIST"] = 1] = "PARAMETER_LIST";
        Precedence2[Precedence2["OBJECT"] = 2] = "OBJECT";
        Precedence2[Precedence2["KEY_VALUE"] = 3] = "KEY_VALUE";
        Precedence2[Precedence2["INDEX_BRACKETS"] = 4] = "INDEX_BRACKETS";
        Precedence2[Precedence2["UNION"] = 5] = "UNION";
        Precedence2[Precedence2["INTERSECTION"] = 6] = "INTERSECTION";
        Precedence2[Precedence2["PREFIX"] = 7] = "PREFIX";
        Precedence2[Precedence2["INFIX"] = 8] = "INFIX";
        Precedence2[Precedence2["TUPLE"] = 9] = "TUPLE";
        Precedence2[Precedence2["SYMBOL"] = 10] = "SYMBOL";
        Precedence2[Precedence2["OPTIONAL"] = 11] = "OPTIONAL";
        Precedence2[Precedence2["NULLABLE"] = 12] = "NULLABLE";
        Precedence2[Precedence2["KEY_OF_TYPE_OF"] = 13] = "KEY_OF_TYPE_OF";
        Precedence2[Precedence2["FUNCTION"] = 14] = "FUNCTION";
        Precedence2[Precedence2["ARROW"] = 15] = "ARROW";
        Precedence2[Precedence2["ARRAY_BRACKETS"] = 16] = "ARRAY_BRACKETS";
        Precedence2[Precedence2["GENERIC"] = 17] = "GENERIC";
        Precedence2[Precedence2["NAME_PATH"] = 18] = "NAME_PATH";
        Precedence2[Precedence2["PARENTHESIS"] = 19] = "PARENTHESIS";
        Precedence2[Precedence2["SPECIAL_TYPES"] = 20] = "SPECIAL_TYPES";
      })(Precedence || (Precedence = {}));
      const _Parser = class _Parser {
        constructor(grammar, textOrLexer, baseParser) {
          this.grammar = grammar;
          if (typeof textOrLexer === "string") {
            this._lexer = Lexer.create(textOrLexer);
          } else {
            this._lexer = textOrLexer;
          }
          this.baseParser = baseParser;
        }
        get lexer() {
          return this._lexer;
        }
        /**
         * Parses a given string and throws an error if the parse ended before the end of the string.
         */
        parse() {
          const result = this.parseType(Precedence.ALL);
          if (this.lexer.current.type !== "EOF") {
            throw new EarlyEndOfParseError(this.lexer.current);
          }
          return result;
        }
        /**
         * Parses with the current lexer and asserts that the result is a {@link RootResult}.
         */
        parseType(precedence) {
          return assertRootResult(this.parseIntermediateType(precedence));
        }
        /**
         * The main parsing function. First it tries to parse the current state in the prefix step, and then it continues
         * to parse the state in the infix step.
         */
        parseIntermediateType(precedence) {
          const result = this.tryParslets(null, precedence);
          if (result === null) {
            throw new NoParsletFoundError(this.lexer.current);
          }
          return this.parseInfixIntermediateType(result, precedence);
        }
        /**
         * In the infix parsing step the parser continues to parse the current state with all parslets until none returns
         * a result.
         */
        parseInfixIntermediateType(left2, precedence) {
          let result = this.tryParslets(left2, precedence);
          while (result !== null) {
            left2 = result;
            result = this.tryParslets(left2, precedence);
          }
          return left2;
        }
        /**
         * Tries to parse the current state with all parslets in the grammar and returns the first non null result.
         */
        tryParslets(left2, precedence) {
          for (const parslet of this.grammar) {
            const result = parslet(this, precedence, left2);
            if (result !== null) {
              return result;
            }
          }
          return null;
        }
        /**
         * If the given type equals the current type of the {@link Lexer} advance the lexer. Return true if the lexer was
         * advanced.
         */
        consume(types) {
          if (!Array.isArray(types)) {
            types = [types];
          }
          if (types.includes(this.lexer.current.type)) {
            this._lexer = this.lexer.advance();
            return true;
          } else {
            return false;
          }
        }
        acceptLexerState(parser) {
          this._lexer = parser.lexer;
        }
      };
      __name(_Parser, "Parser");
      let Parser = _Parser;
      function isQuestionMarkUnknownType(next2) {
        return next2 === "}" || next2 === "EOF" || next2 === "|" || next2 === "," || next2 === ")" || next2 === ">";
      }
      __name(isQuestionMarkUnknownType, "isQuestionMarkUnknownType");
      const nullableParslet = /* @__PURE__ */ __name((parser, precedence, left2) => {
        const type5 = parser.lexer.current.type;
        const next2 = parser.lexer.next.type;
        const accept = left2 == null && type5 === "?" && !isQuestionMarkUnknownType(next2) || left2 != null && type5 === "?";
        if (!accept) {
          return null;
        }
        parser.consume("?");
        if (left2 == null) {
          return {
            type: "JsdocTypeNullable",
            element: parser.parseType(Precedence.NULLABLE),
            meta: {
              position: "prefix"
            }
          };
        } else {
          return {
            type: "JsdocTypeNullable",
            element: assertRootResult(left2),
            meta: {
              position: "suffix"
            }
          };
        }
      }, "nullableParslet");
      function composeParslet(options) {
        const parslet = /* @__PURE__ */ __name((parser, curPrecedence, left2) => {
          const type5 = parser.lexer.current.type;
          const next2 = parser.lexer.next.type;
          if (left2 === null) {
            if ("parsePrefix" in options) {
              if (options.accept(type5, next2)) {
                return options.parsePrefix(parser);
              }
            }
          } else {
            if ("parseInfix" in options) {
              if (options.precedence > curPrecedence && options.accept(type5, next2)) {
                return options.parseInfix(parser, left2);
              }
            }
          }
          return null;
        }, "parslet");
        Object.defineProperty(parslet, "name", {
          value: options.name
        });
        return parslet;
      }
      __name(composeParslet, "composeParslet");
      const optionalParslet = composeParslet({
        name: "optionalParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "=", "accept"),
        precedence: Precedence.OPTIONAL,
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          parser.consume("=");
          return {
            type: "JsdocTypeOptional",
            element: parser.parseType(Precedence.OPTIONAL),
            meta: {
              position: "prefix"
            }
          };
        }, "parsePrefix"),
        parseInfix: /* @__PURE__ */ __name((parser, left2) => {
          parser.consume("=");
          return {
            type: "JsdocTypeOptional",
            element: assertRootResult(left2),
            meta: {
              position: "suffix"
            }
          };
        }, "parseInfix")
      });
      const numberParslet = composeParslet({
        name: "numberParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "Number", "accept"),
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          const value = parseFloat(parser.lexer.current.text);
          parser.consume("Number");
          return {
            type: "JsdocTypeNumber",
            value
          };
        }, "parsePrefix")
      });
      const parenthesisParslet = composeParslet({
        name: "parenthesisParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "(", "accept"),
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          parser.consume("(");
          if (parser.consume(")")) {
            return {
              type: "JsdocTypeParameterList",
              elements: []
            };
          }
          const result = parser.parseIntermediateType(Precedence.ALL);
          if (!parser.consume(")")) {
            throw new Error("Unterminated parenthesis");
          }
          if (result.type === "JsdocTypeParameterList") {
            return result;
          } else if (result.type === "JsdocTypeKeyValue") {
            return {
              type: "JsdocTypeParameterList",
              elements: [result]
            };
          }
          return {
            type: "JsdocTypeParenthesis",
            element: assertRootResult(result)
          };
        }, "parsePrefix")
      });
      const specialTypesParslet = composeParslet({
        name: "specialTypesParslet",
        accept: /* @__PURE__ */ __name((type5, next2) => type5 === "?" && isQuestionMarkUnknownType(next2) || type5 === "null" || type5 === "undefined" || type5 === "*", "accept"),
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          if (parser.consume("null")) {
            return {
              type: "JsdocTypeNull"
            };
          }
          if (parser.consume("undefined")) {
            return {
              type: "JsdocTypeUndefined"
            };
          }
          if (parser.consume("*")) {
            return {
              type: "JsdocTypeAny"
            };
          }
          if (parser.consume("?")) {
            return {
              type: "JsdocTypeUnknown"
            };
          }
          throw new Error("Unacceptable token: " + parser.lexer.current.text);
        }, "parsePrefix")
      });
      const notNullableParslet = composeParslet({
        name: "notNullableParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "!", "accept"),
        precedence: Precedence.NULLABLE,
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          parser.consume("!");
          return {
            type: "JsdocTypeNotNullable",
            element: parser.parseType(Precedence.NULLABLE),
            meta: {
              position: "prefix"
            }
          };
        }, "parsePrefix"),
        parseInfix: /* @__PURE__ */ __name((parser, left2) => {
          parser.consume("!");
          return {
            type: "JsdocTypeNotNullable",
            element: assertRootResult(left2),
            meta: {
              position: "suffix"
            }
          };
        }, "parseInfix")
      });
      function createParameterListParslet({ allowTrailingComma }) {
        return composeParslet({
          name: "parameterListParslet",
          accept: /* @__PURE__ */ __name((type5) => type5 === ",", "accept"),
          precedence: Precedence.PARAMETER_LIST,
          parseInfix: /* @__PURE__ */ __name((parser, left2) => {
            const elements = [
              assertPlainKeyValueOrRootResult(left2)
            ];
            parser.consume(",");
            do {
              try {
                const next2 = parser.parseIntermediateType(Precedence.PARAMETER_LIST);
                elements.push(assertPlainKeyValueOrRootResult(next2));
              } catch (e2) {
                if (e2 instanceof NoParsletFoundError) {
                  break;
                } else {
                  throw e2;
                }
              }
            } while (parser.consume(","));
            if (elements.length > 0 && elements.slice(0, -1).some((e2) => e2.type === "JsdocTypeVariadic")) {
              throw new Error("Only the last parameter may be a rest parameter");
            }
            return {
              type: "JsdocTypeParameterList",
              elements
            };
          }, "parseInfix")
        });
      }
      __name(createParameterListParslet, "createParameterListParslet");
      const genericParslet = composeParslet({
        name: "genericParslet",
        accept: /* @__PURE__ */ __name((type5, next2) => type5 === "<" || type5 === "." && next2 === "<", "accept"),
        precedence: Precedence.GENERIC,
        parseInfix: /* @__PURE__ */ __name((parser, left2) => {
          const dot = parser.consume(".");
          parser.consume("<");
          const objects = [];
          let infer = false;
          if (parser.consume("infer")) {
            infer = true;
            const left3 = parser.parseIntermediateType(Precedence.SYMBOL);
            if (left3.type !== "JsdocTypeName") {
              throw new UnexpectedTypeError(left3, "A typescript asserts always has to have a name on the left side.");
            }
            objects.push(left3);
          } else {
            do {
              objects.push(parser.parseType(Precedence.PARAMETER_LIST));
            } while (parser.consume(","));
          }
          if (!parser.consume(">")) {
            throw new Error("Unterminated generic parameter list");
          }
          return Object.assign(Object.assign({ type: "JsdocTypeGeneric", left: assertRootResult(left2), elements: objects }, infer ? { infer: true } : {}), { meta: {
            brackets: "angle",
            dot
          } });
        }, "parseInfix")
      });
      const unionParslet = composeParslet({
        name: "unionParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "|", "accept"),
        precedence: Precedence.UNION,
        parseInfix: /* @__PURE__ */ __name((parser, left2) => {
          parser.consume("|");
          const elements = [];
          do {
            elements.push(parser.parseType(Precedence.UNION));
          } while (parser.consume("|"));
          return {
            type: "JsdocTypeUnion",
            elements: [assertRootResult(left2), ...elements]
          };
        }, "parseInfix")
      });
      const baseGrammar = [
        nullableParslet,
        optionalParslet,
        numberParslet,
        parenthesisParslet,
        specialTypesParslet,
        notNullableParslet,
        createParameterListParslet({
          allowTrailingComma: true
        }),
        genericParslet,
        unionParslet,
        optionalParslet
      ];
      function createNamePathParslet({ allowSquareBracketsOnAnyType, allowJsdocNamePaths, pathGrammar: pathGrammar2 }) {
        return /* @__PURE__ */ __name(function namePathParslet(parser, precedence, left2) {
          if (left2 == null || precedence >= Precedence.NAME_PATH) {
            return null;
          }
          const type5 = parser.lexer.current.type;
          const next2 = parser.lexer.next.type;
          const accept = type5 === "." && next2 !== "<" || type5 === "[" && (allowSquareBracketsOnAnyType || left2.type === "JsdocTypeName") || allowJsdocNamePaths && (type5 === "~" || type5 === "#");
          if (!accept) {
            return null;
          }
          let pathType;
          let brackets = false;
          if (parser.consume(".")) {
            pathType = "property";
          } else if (parser.consume("[")) {
            pathType = "property-brackets";
            brackets = true;
          } else if (parser.consume("~")) {
            pathType = "inner";
          } else {
            parser.consume("#");
            pathType = "instance";
          }
          const pathParser = pathGrammar2 !== null ? new Parser(pathGrammar2, parser.lexer, parser) : parser;
          const parsed = pathParser.parseIntermediateType(Precedence.NAME_PATH);
          parser.acceptLexerState(pathParser);
          let right2;
          switch (parsed.type) {
            case "JsdocTypeName":
              right2 = {
                type: "JsdocTypeProperty",
                value: parsed.value,
                meta: {
                  quote: void 0
                }
              };
              break;
            case "JsdocTypeNumber":
              right2 = {
                type: "JsdocTypeProperty",
                value: parsed.value.toString(10),
                meta: {
                  quote: void 0
                }
              };
              break;
            case "JsdocTypeStringValue":
              right2 = {
                type: "JsdocTypeProperty",
                value: parsed.value,
                meta: {
                  quote: parsed.meta.quote
                }
              };
              break;
            case "JsdocTypeSpecialNamePath":
              if (parsed.specialType === "event") {
                right2 = parsed;
              } else {
                throw new UnexpectedTypeError(parsed, "Type 'JsdocTypeSpecialNamePath' is only allowed with specialType 'event'");
              }
              break;
            default:
              throw new UnexpectedTypeError(parsed, "Expecting 'JsdocTypeName', 'JsdocTypeNumber', 'JsdocStringValue' or 'JsdocTypeSpecialNamePath'");
          }
          if (brackets && !parser.consume("]")) {
            const token2 = parser.lexer.current;
            throw new Error(`Unterminated square brackets. Next token is '${token2.type}' with text '${token2.text}'`);
          }
          return {
            type: "JsdocTypeNamePath",
            left: assertRootResult(left2),
            right: right2,
            pathType
          };
        }, "namePathParslet");
      }
      __name(createNamePathParslet, "createNamePathParslet");
      function createNameParslet({ allowedAdditionalTokens }) {
        return composeParslet({
          name: "nameParslet",
          accept: /* @__PURE__ */ __name((type5) => type5 === "Identifier" || type5 === "this" || type5 === "new" || allowedAdditionalTokens.includes(type5), "accept"),
          parsePrefix: /* @__PURE__ */ __name((parser) => {
            const { type: type5, text } = parser.lexer.current;
            parser.consume(type5);
            return {
              type: "JsdocTypeName",
              value: text
            };
          }, "parsePrefix")
        });
      }
      __name(createNameParslet, "createNameParslet");
      const stringValueParslet = composeParslet({
        name: "stringValueParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "StringValue", "accept"),
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          const text = parser.lexer.current.text;
          parser.consume("StringValue");
          return {
            type: "JsdocTypeStringValue",
            value: text.slice(1, -1),
            meta: {
              quote: text[0] === "'" ? "single" : "double"
            }
          };
        }, "parsePrefix")
      });
      function createSpecialNamePathParslet({ pathGrammar: pathGrammar2, allowedTypes }) {
        return composeParslet({
          name: "specialNamePathParslet",
          accept: /* @__PURE__ */ __name((type5) => allowedTypes.includes(type5), "accept"),
          parsePrefix: /* @__PURE__ */ __name((parser) => {
            const type5 = parser.lexer.current.type;
            parser.consume(type5);
            if (!parser.consume(":")) {
              return {
                type: "JsdocTypeName",
                value: type5
              };
            }
            let result;
            let token2 = parser.lexer.current;
            if (parser.consume("StringValue")) {
              result = {
                type: "JsdocTypeSpecialNamePath",
                value: token2.text.slice(1, -1),
                specialType: type5,
                meta: {
                  quote: token2.text[0] === "'" ? "single" : "double"
                }
              };
            } else {
              let value = "";
              const allowed = ["Identifier", "@", "/"];
              while (allowed.some((type6) => parser.consume(type6))) {
                value += token2.text;
                token2 = parser.lexer.current;
              }
              result = {
                type: "JsdocTypeSpecialNamePath",
                value,
                specialType: type5,
                meta: {
                  quote: void 0
                }
              };
            }
            const moduleParser = new Parser(pathGrammar2, parser.lexer, parser);
            const moduleResult = moduleParser.parseInfixIntermediateType(result, Precedence.ALL);
            parser.acceptLexerState(moduleParser);
            return assertRootResult(moduleResult);
          }, "parsePrefix")
        });
      }
      __name(createSpecialNamePathParslet, "createSpecialNamePathParslet");
      const basePathGrammar = [
        createNameParslet({
          allowedAdditionalTokens: ["external", "module"]
        }),
        stringValueParslet,
        numberParslet,
        createNamePathParslet({
          allowSquareBracketsOnAnyType: false,
          allowJsdocNamePaths: true,
          pathGrammar: null
        })
      ];
      const pathGrammar = [
        ...basePathGrammar,
        createSpecialNamePathParslet({
          allowedTypes: ["event"],
          pathGrammar: basePathGrammar
        })
      ];
      function getParameters(value) {
        let parameters2;
        if (value.type === "JsdocTypeParameterList") {
          parameters2 = value.elements;
        } else if (value.type === "JsdocTypeParenthesis") {
          parameters2 = [value.element];
        } else {
          throw new UnexpectedTypeError(value);
        }
        return parameters2.map((p2) => assertPlainKeyValueOrRootResult(p2));
      }
      __name(getParameters, "getParameters");
      function getUnnamedParameters(value) {
        const parameters2 = getParameters(value);
        if (parameters2.some((p2) => p2.type === "JsdocTypeKeyValue")) {
          throw new Error("No parameter should be named");
        }
        return parameters2;
      }
      __name(getUnnamedParameters, "getUnnamedParameters");
      function createFunctionParslet({ allowNamedParameters, allowNoReturnType, allowWithoutParenthesis, allowNewAsFunctionKeyword }) {
        return composeParslet({
          name: "functionParslet",
          accept: /* @__PURE__ */ __name((type5, next2) => type5 === "function" || allowNewAsFunctionKeyword && type5 === "new" && next2 === "(", "accept"),
          parsePrefix: /* @__PURE__ */ __name((parser) => {
            const newKeyword = parser.consume("new");
            parser.consume("function");
            const hasParenthesis = parser.lexer.current.type === "(";
            if (!hasParenthesis) {
              if (!allowWithoutParenthesis) {
                throw new Error("function is missing parameter list");
              }
              return {
                type: "JsdocTypeName",
                value: "function"
              };
            }
            let result = {
              type: "JsdocTypeFunction",
              parameters: [],
              arrow: false,
              constructor: newKeyword,
              parenthesis: hasParenthesis
            };
            const value = parser.parseIntermediateType(Precedence.FUNCTION);
            if (allowNamedParameters === void 0) {
              result.parameters = getUnnamedParameters(value);
            } else if (newKeyword && value.type === "JsdocTypeFunction" && value.arrow) {
              result = value;
              result.constructor = true;
              return result;
            } else {
              result.parameters = getParameters(value);
              for (const p2 of result.parameters) {
                if (p2.type === "JsdocTypeKeyValue" && !allowNamedParameters.includes(p2.key)) {
                  throw new Error(`only allowed named parameters are ${allowNamedParameters.join(", ")} but got ${p2.type}`);
                }
              }
            }
            if (parser.consume(":")) {
              result.returnType = parser.parseType(Precedence.PREFIX);
            } else {
              if (!allowNoReturnType) {
                throw new Error("function is missing return type");
              }
            }
            return result;
          }, "parsePrefix")
        });
      }
      __name(createFunctionParslet, "createFunctionParslet");
      function createVariadicParslet({ allowPostfix, allowEnclosingBrackets }) {
        return composeParslet({
          name: "variadicParslet",
          accept: /* @__PURE__ */ __name((type5) => type5 === "...", "accept"),
          precedence: Precedence.PREFIX,
          parsePrefix: /* @__PURE__ */ __name((parser) => {
            parser.consume("...");
            const brackets = allowEnclosingBrackets && parser.consume("[");
            try {
              const element = parser.parseType(Precedence.PREFIX);
              if (brackets && !parser.consume("]")) {
                throw new Error("Unterminated variadic type. Missing ']'");
              }
              return {
                type: "JsdocTypeVariadic",
                element: assertRootResult(element),
                meta: {
                  position: "prefix",
                  squareBrackets: brackets
                }
              };
            } catch (e2) {
              if (e2 instanceof NoParsletFoundError) {
                if (brackets) {
                  throw new Error("Empty square brackets for variadic are not allowed.");
                }
                return {
                  type: "JsdocTypeVariadic",
                  meta: {
                    position: void 0,
                    squareBrackets: false
                  }
                };
              } else {
                throw e2;
              }
            }
          }, "parsePrefix"),
          parseInfix: allowPostfix ? (parser, left2) => {
            parser.consume("...");
            return {
              type: "JsdocTypeVariadic",
              element: assertRootResult(left2),
              meta: {
                position: "suffix",
                squareBrackets: false
              }
            };
          } : void 0
        });
      }
      __name(createVariadicParslet, "createVariadicParslet");
      const symbolParslet = composeParslet({
        name: "symbolParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "(", "accept"),
        precedence: Precedence.SYMBOL,
        parseInfix: /* @__PURE__ */ __name((parser, left2) => {
          if (left2.type !== "JsdocTypeName") {
            throw new Error("Symbol expects a name on the left side. (Reacting on '(')");
          }
          parser.consume("(");
          const result = {
            type: "JsdocTypeSymbol",
            value: left2.value
          };
          if (!parser.consume(")")) {
            const next2 = parser.parseIntermediateType(Precedence.SYMBOL);
            result.element = assertNumberOrVariadicNameResult(next2);
            if (!parser.consume(")")) {
              throw new Error("Symbol does not end after value");
            }
          }
          return result;
        }, "parseInfix")
      });
      const arrayBracketsParslet = composeParslet({
        name: "arrayBracketsParslet",
        precedence: Precedence.ARRAY_BRACKETS,
        accept: /* @__PURE__ */ __name((type5, next2) => type5 === "[" && next2 === "]", "accept"),
        parseInfix: /* @__PURE__ */ __name((parser, left2) => {
          parser.consume("[");
          parser.consume("]");
          return {
            type: "JsdocTypeGeneric",
            left: {
              type: "JsdocTypeName",
              value: "Array"
            },
            elements: [
              assertRootResult(left2)
            ],
            meta: {
              brackets: "square",
              dot: false
            }
          };
        }, "parseInfix")
      });
      function createObjectParslet({ objectFieldGrammar: objectFieldGrammar2, allowKeyTypes }) {
        return composeParslet({
          name: "objectParslet",
          accept: /* @__PURE__ */ __name((type5) => type5 === "{", "accept"),
          parsePrefix: /* @__PURE__ */ __name((parser) => {
            parser.consume("{");
            const result = {
              type: "JsdocTypeObject",
              meta: {
                separator: "comma"
              },
              elements: []
            };
            if (!parser.consume("}")) {
              let separator;
              const fieldParser = new Parser(objectFieldGrammar2, parser.lexer, parser);
              while (true) {
                fieldParser.acceptLexerState(parser);
                let field = fieldParser.parseIntermediateType(Precedence.OBJECT);
                parser.acceptLexerState(fieldParser);
                if (field === void 0 && allowKeyTypes) {
                  field = parser.parseIntermediateType(Precedence.OBJECT);
                }
                let optional = false;
                if (field.type === "JsdocTypeNullable") {
                  optional = true;
                  field = field.element;
                }
                if (field.type === "JsdocTypeNumber" || field.type === "JsdocTypeName" || field.type === "JsdocTypeStringValue") {
                  let quote2;
                  if (field.type === "JsdocTypeStringValue") {
                    quote2 = field.meta.quote;
                  }
                  result.elements.push({
                    type: "JsdocTypeObjectField",
                    key: field.value.toString(),
                    right: void 0,
                    optional,
                    readonly: false,
                    meta: {
                      quote: quote2
                    }
                  });
                } else if (field.type === "JsdocTypeObjectField" || field.type === "JsdocTypeJsdocObjectField") {
                  result.elements.push(field);
                } else {
                  throw new UnexpectedTypeError(field);
                }
                if (parser.lexer.current.startOfLine) {
                  separator = "linebreak";
                  parser.consume(",") || parser.consume(";");
                } else if (parser.consume(",")) {
                  separator = "comma";
                } else if (parser.consume(";")) {
                  separator = "semicolon";
                } else {
                  break;
                }
                const type5 = parser.lexer.current.type;
                if (type5 === "}") {
                  break;
                }
              }
              result.meta.separator = separator !== null && separator !== void 0 ? separator : "comma";
              if (separator === "linebreak") {
                result.meta.propertyIndent = "  ";
              }
              if (!parser.consume("}")) {
                throw new Error("Unterminated record type. Missing '}'");
              }
            }
            return result;
          }, "parsePrefix")
        });
      }
      __name(createObjectParslet, "createObjectParslet");
      function createObjectFieldParslet({ allowSquaredProperties, allowKeyTypes, allowReadonly, allowOptional }) {
        return composeParslet({
          name: "objectFieldParslet",
          precedence: Precedence.KEY_VALUE,
          accept: /* @__PURE__ */ __name((type5) => type5 === ":", "accept"),
          parseInfix: /* @__PURE__ */ __name((parser, left2) => {
            var _a3;
            let optional = false;
            let readonlyProperty = false;
            if (allowOptional && left2.type === "JsdocTypeNullable") {
              optional = true;
              left2 = left2.element;
            }
            if (allowReadonly && left2.type === "JsdocTypeReadonlyProperty") {
              readonlyProperty = true;
              left2 = left2.element;
            }
            const parentParser = (_a3 = parser.baseParser) !== null && _a3 !== void 0 ? _a3 : parser;
            parentParser.acceptLexerState(parser);
            if (left2.type === "JsdocTypeNumber" || left2.type === "JsdocTypeName" || left2.type === "JsdocTypeStringValue" || isSquaredProperty(left2)) {
              if (isSquaredProperty(left2) && !allowSquaredProperties) {
                throw new UnexpectedTypeError(left2);
              }
              parentParser.consume(":");
              let quote2;
              if (left2.type === "JsdocTypeStringValue") {
                quote2 = left2.meta.quote;
              }
              const right2 = parentParser.parseType(Precedence.KEY_VALUE);
              parser.acceptLexerState(parentParser);
              return {
                type: "JsdocTypeObjectField",
                key: isSquaredProperty(left2) ? left2 : left2.value.toString(),
                right: right2,
                optional,
                readonly: readonlyProperty,
                meta: {
                  quote: quote2
                }
              };
            } else {
              if (!allowKeyTypes) {
                throw new UnexpectedTypeError(left2);
              }
              parentParser.consume(":");
              const right2 = parentParser.parseType(Precedence.KEY_VALUE);
              parser.acceptLexerState(parentParser);
              return {
                type: "JsdocTypeJsdocObjectField",
                left: assertRootResult(left2),
                right: right2
              };
            }
          }, "parseInfix")
        });
      }
      __name(createObjectFieldParslet, "createObjectFieldParslet");
      function createKeyValueParslet({ allowOptional, allowVariadic }) {
        return composeParslet({
          name: "keyValueParslet",
          precedence: Precedence.KEY_VALUE,
          accept: /* @__PURE__ */ __name((type5) => type5 === ":", "accept"),
          parseInfix: /* @__PURE__ */ __name((parser, left2) => {
            let optional = false;
            let variadic = false;
            if (allowOptional && left2.type === "JsdocTypeNullable") {
              optional = true;
              left2 = left2.element;
            }
            if (allowVariadic && left2.type === "JsdocTypeVariadic" && left2.element !== void 0) {
              variadic = true;
              left2 = left2.element;
            }
            if (left2.type !== "JsdocTypeName") {
              throw new UnexpectedTypeError(left2);
            }
            parser.consume(":");
            const right2 = parser.parseType(Precedence.KEY_VALUE);
            return {
              type: "JsdocTypeKeyValue",
              key: left2.value,
              right: right2,
              optional,
              variadic
            };
          }, "parseInfix")
        });
      }
      __name(createKeyValueParslet, "createKeyValueParslet");
      const jsdocBaseGrammar = [
        ...baseGrammar,
        createFunctionParslet({
          allowWithoutParenthesis: true,
          allowNamedParameters: ["this", "new"],
          allowNoReturnType: true,
          allowNewAsFunctionKeyword: false
        }),
        stringValueParslet,
        createSpecialNamePathParslet({
          allowedTypes: ["module", "external", "event"],
          pathGrammar
        }),
        createVariadicParslet({
          allowEnclosingBrackets: true,
          allowPostfix: true
        }),
        createNameParslet({
          allowedAdditionalTokens: ["keyof"]
        }),
        symbolParslet,
        arrayBracketsParslet,
        createNamePathParslet({
          allowSquareBracketsOnAnyType: false,
          allowJsdocNamePaths: true,
          pathGrammar
        })
      ];
      const jsdocGrammar = [
        ...jsdocBaseGrammar,
        createObjectParslet({
          // jsdoc syntax allows full types as keys, so we need to pull in the full grammar here
          // we leave out the object type deliberately
          objectFieldGrammar: [
            createNameParslet({
              allowedAdditionalTokens: ["typeof", "module", "in"]
            }),
            createObjectFieldParslet({
              allowSquaredProperties: false,
              allowKeyTypes: true,
              allowOptional: false,
              allowReadonly: false
            }),
            ...jsdocBaseGrammar
          ],
          allowKeyTypes: true
        }),
        createKeyValueParslet({
          allowOptional: true,
          allowVariadic: true
        })
      ];
      const typeOfParslet = composeParslet({
        name: "typeOfParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "typeof", "accept"),
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          parser.consume("typeof");
          return {
            type: "JsdocTypeTypeof",
            element: parser.parseType(Precedence.KEY_OF_TYPE_OF)
          };
        }, "parsePrefix")
      });
      const objectFieldGrammar$1 = [
        createNameParslet({
          allowedAdditionalTokens: ["typeof", "module", "keyof", "event", "external", "in"]
        }),
        nullableParslet,
        optionalParslet,
        stringValueParslet,
        numberParslet,
        createObjectFieldParslet({
          allowSquaredProperties: false,
          allowKeyTypes: false,
          allowOptional: false,
          allowReadonly: false
        })
      ];
      const closureGrammar = [
        ...baseGrammar,
        createObjectParslet({
          allowKeyTypes: false,
          objectFieldGrammar: objectFieldGrammar$1
        }),
        createNameParslet({
          allowedAdditionalTokens: ["event", "external", "in"]
        }),
        typeOfParslet,
        createFunctionParslet({
          allowWithoutParenthesis: false,
          allowNamedParameters: ["this", "new"],
          allowNoReturnType: true,
          allowNewAsFunctionKeyword: false
        }),
        createVariadicParslet({
          allowEnclosingBrackets: false,
          allowPostfix: false
        }),
        // additional name parslet is needed for some special cases
        createNameParslet({
          allowedAdditionalTokens: ["keyof"]
        }),
        createSpecialNamePathParslet({
          allowedTypes: ["module"],
          pathGrammar
        }),
        createNamePathParslet({
          allowSquareBracketsOnAnyType: false,
          allowJsdocNamePaths: true,
          pathGrammar
        }),
        createKeyValueParslet({
          allowOptional: false,
          allowVariadic: false
        }),
        symbolParslet
      ];
      const assertsParslet = composeParslet({
        name: "assertsParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "asserts", "accept"),
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          parser.consume("asserts");
          const left2 = parser.parseIntermediateType(Precedence.SYMBOL);
          if (left2.type !== "JsdocTypeName") {
            throw new UnexpectedTypeError(left2, "A typescript asserts always has to have a name on the left side.");
          }
          if (!parser.consume("is")) {
            return {
              type: "JsdocTypeAssertsPlain",
              element: left2
            };
          }
          return {
            type: "JsdocTypeAsserts",
            left: left2,
            right: assertRootResult(parser.parseIntermediateType(Precedence.INFIX))
          };
        }, "parsePrefix")
      });
      function createTupleParslet({ allowQuestionMark }) {
        return composeParslet({
          name: "tupleParslet",
          accept: /* @__PURE__ */ __name((type5) => type5 === "[", "accept"),
          parsePrefix: /* @__PURE__ */ __name((parser) => {
            parser.consume("[");
            const result = {
              type: "JsdocTypeTuple",
              elements: []
            };
            if (parser.consume("]")) {
              return result;
            }
            const typeList = parser.parseIntermediateType(Precedence.ALL);
            if (typeList.type === "JsdocTypeParameterList") {
              if (typeList.elements[0].type === "JsdocTypeKeyValue") {
                result.elements = typeList.elements.map(assertPlainKeyValueResult);
              } else {
                result.elements = typeList.elements.map(assertRootResult);
              }
            } else {
              if (typeList.type === "JsdocTypeKeyValue") {
                result.elements = [assertPlainKeyValueResult(typeList)];
              } else {
                result.elements = [assertRootResult(typeList)];
              }
            }
            if (!parser.consume("]")) {
              throw new Error("Unterminated '['");
            }
            if (result.elements.some((e2) => e2.type === "JsdocTypeUnknown")) {
              throw new Error("Question mark in tuple not allowed");
            }
            return result;
          }, "parsePrefix")
        });
      }
      __name(createTupleParslet, "createTupleParslet");
      const keyOfParslet = composeParslet({
        name: "keyOfParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "keyof", "accept"),
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          parser.consume("keyof");
          return {
            type: "JsdocTypeKeyof",
            element: assertRootResult(parser.parseType(Precedence.KEY_OF_TYPE_OF))
          };
        }, "parsePrefix")
      });
      const importParslet = composeParslet({
        name: "importParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "import", "accept"),
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          parser.consume("import");
          if (!parser.consume("(")) {
            throw new Error("Missing parenthesis after import keyword");
          }
          const path = parser.parseType(Precedence.PREFIX);
          if (path.type !== "JsdocTypeStringValue") {
            throw new Error("Only string values are allowed as paths for imports");
          }
          if (!parser.consume(")")) {
            throw new Error("Missing closing parenthesis after import keyword");
          }
          return {
            type: "JsdocTypeImport",
            element: path
          };
        }, "parsePrefix")
      });
      const readonlyPropertyParslet = composeParslet({
        name: "readonlyPropertyParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "readonly", "accept"),
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          parser.consume("readonly");
          return {
            type: "JsdocTypeReadonlyProperty",
            element: parser.parseIntermediateType(Precedence.KEY_VALUE)
          };
        }, "parsePrefix")
      });
      const arrowFunctionParslet = composeParslet({
        name: "arrowFunctionParslet",
        precedence: Precedence.ARROW,
        accept: /* @__PURE__ */ __name((type5) => type5 === "=>", "accept"),
        parseInfix: /* @__PURE__ */ __name((parser, left2) => {
          parser.consume("=>");
          return {
            type: "JsdocTypeFunction",
            parameters: getParameters(left2).map(assertPlainKeyValueOrNameResult),
            arrow: true,
            constructor: false,
            parenthesis: true,
            returnType: parser.parseType(Precedence.OBJECT)
          };
        }, "parseInfix")
      });
      const genericArrowFunctionParslet = composeParslet({
        name: "genericArrowFunctionParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "<", "accept"),
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          const typeParameters = [];
          parser.consume("<");
          do {
            let defaultValue;
            let name = parser.parseIntermediateType(Precedence.SYMBOL);
            if (name.type === "JsdocTypeOptional") {
              name = name.element;
              defaultValue = parser.parseType(Precedence.SYMBOL);
            }
            if (name.type !== "JsdocTypeName") {
              throw new UnexpectedTypeError(name);
            }
            let constraint;
            if (parser.consume("extends")) {
              constraint = parser.parseType(Precedence.SYMBOL);
              if (constraint.type === "JsdocTypeOptional") {
                constraint = constraint.element;
                defaultValue = parser.parseType(Precedence.SYMBOL);
              }
            }
            const typeParameter = {
              type: "JsdocTypeTypeParameter",
              name
            };
            if (constraint !== void 0) {
              typeParameter.constraint = constraint;
            }
            if (defaultValue !== void 0) {
              typeParameter.defaultValue = defaultValue;
            }
            typeParameters.push(typeParameter);
            if (parser.consume(">")) {
              break;
            }
          } while (parser.consume(","));
          const functionBase = parser.parseIntermediateType(Precedence.SYMBOL);
          functionBase.typeParameters = typeParameters;
          return functionBase;
        }, "parsePrefix")
      });
      const intersectionParslet = composeParslet({
        name: "intersectionParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "&", "accept"),
        precedence: Precedence.INTERSECTION,
        parseInfix: /* @__PURE__ */ __name((parser, left2) => {
          parser.consume("&");
          const elements = [];
          do {
            elements.push(parser.parseType(Precedence.INTERSECTION));
          } while (parser.consume("&"));
          return {
            type: "JsdocTypeIntersection",
            elements: [assertRootResult(left2), ...elements]
          };
        }, "parseInfix")
      });
      const predicateParslet = composeParslet({
        name: "predicateParslet",
        precedence: Precedence.INFIX,
        accept: /* @__PURE__ */ __name((type5) => type5 === "is", "accept"),
        parseInfix: /* @__PURE__ */ __name((parser, left2) => {
          if (left2.type !== "JsdocTypeName") {
            throw new UnexpectedTypeError(left2, "A typescript predicate always has to have a name on the left side.");
          }
          parser.consume("is");
          return {
            type: "JsdocTypePredicate",
            left: left2,
            right: assertRootResult(parser.parseIntermediateType(Precedence.INFIX))
          };
        }, "parseInfix")
      });
      const objectSquaredPropertyParslet = composeParslet({
        name: "objectSquareBracketPropertyParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "[", "accept"),
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          if (parser.baseParser === void 0) {
            throw new Error("Only allowed inside object grammar");
          }
          parser.consume("[");
          const key = parser.lexer.current.text;
          parser.consume("Identifier");
          let result;
          if (parser.consume(":")) {
            const parentParser = parser.baseParser;
            parentParser.acceptLexerState(parser);
            result = {
              type: "JsdocTypeIndexSignature",
              key,
              right: parentParser.parseType(Precedence.INDEX_BRACKETS)
            };
            parser.acceptLexerState(parentParser);
          } else if (parser.consume("in")) {
            const parentParser = parser.baseParser;
            parentParser.acceptLexerState(parser);
            result = {
              type: "JsdocTypeMappedType",
              key,
              right: parentParser.parseType(Precedence.ARRAY_BRACKETS)
            };
            parser.acceptLexerState(parentParser);
          } else {
            throw new Error("Missing ':' or 'in' inside square bracketed property.");
          }
          if (!parser.consume("]")) {
            throw new Error("Unterminated square brackets");
          }
          return result;
        }, "parsePrefix")
      });
      const readonlyArrayParslet = composeParslet({
        name: "readonlyArrayParslet",
        accept: /* @__PURE__ */ __name((type5) => type5 === "readonly", "accept"),
        parsePrefix: /* @__PURE__ */ __name((parser) => {
          parser.consume("readonly");
          return {
            type: "JsdocTypeReadonlyArray",
            element: assertArrayOrTupleResult(parser.parseIntermediateType(Precedence.ALL))
          };
        }, "parsePrefix")
      });
      const conditionalParslet = composeParslet({
        name: "conditionalParslet",
        precedence: Precedence.INFIX,
        accept: /* @__PURE__ */ __name((type5) => type5 === "extends", "accept"),
        parseInfix: /* @__PURE__ */ __name((parser, left2) => {
          parser.consume("extends");
          const extendsType = parser.parseType(Precedence.KEY_OF_TYPE_OF).element;
          const trueType = parser.parseType(Precedence.INFIX);
          parser.consume(":");
          return {
            type: "JsdocTypeConditional",
            checksType: assertRootResult(left2),
            extendsType,
            trueType,
            falseType: parser.parseType(Precedence.INFIX)
          };
        }, "parseInfix")
      });
      const objectFieldGrammar = [
        readonlyPropertyParslet,
        createNameParslet({
          allowedAdditionalTokens: ["typeof", "module", "keyof", "event", "external", "in"]
        }),
        nullableParslet,
        optionalParslet,
        stringValueParslet,
        numberParslet,
        createObjectFieldParslet({
          allowSquaredProperties: true,
          allowKeyTypes: false,
          allowOptional: true,
          allowReadonly: true
        }),
        objectSquaredPropertyParslet
      ];
      const typescriptGrammar = [
        ...baseGrammar,
        createObjectParslet({
          allowKeyTypes: false,
          objectFieldGrammar
        }),
        readonlyArrayParslet,
        typeOfParslet,
        keyOfParslet,
        importParslet,
        stringValueParslet,
        createFunctionParslet({
          allowWithoutParenthesis: true,
          allowNoReturnType: false,
          allowNamedParameters: ["this", "new", "args"],
          allowNewAsFunctionKeyword: true
        }),
        createTupleParslet({
          allowQuestionMark: false
        }),
        createVariadicParslet({
          allowEnclosingBrackets: false,
          allowPostfix: false
        }),
        assertsParslet,
        conditionalParslet,
        createNameParslet({
          allowedAdditionalTokens: ["event", "external", "in"]
        }),
        createSpecialNamePathParslet({
          allowedTypes: ["module"],
          pathGrammar
        }),
        arrayBracketsParslet,
        arrowFunctionParslet,
        genericArrowFunctionParslet,
        createNamePathParslet({
          allowSquareBracketsOnAnyType: true,
          allowJsdocNamePaths: false,
          pathGrammar
        }),
        intersectionParslet,
        predicateParslet,
        createKeyValueParslet({
          allowVariadic: true,
          allowOptional: true
        })
      ];
      function parse9(expression, mode) {
        switch (mode) {
          case "closure":
            return new Parser(closureGrammar, expression).parse();
          case "jsdoc":
            return new Parser(jsdocGrammar, expression).parse();
          case "typescript":
            return new Parser(typescriptGrammar, expression).parse();
        }
      }
      __name(parse9, "parse");
      function tryParse(expression, modes = ["typescript", "closure", "jsdoc"]) {
        let error;
        for (const mode of modes) {
          try {
            return parse9(expression, mode);
          } catch (e2) {
            error = e2;
          }
        }
        throw error;
      }
      __name(tryParse, "tryParse");
      function transform(rules2, parseResult) {
        const rule = rules2[parseResult.type];
        if (rule === void 0) {
          throw new Error(`In this set of transform rules exists no rule for type ${parseResult.type}.`);
        }
        return rule(parseResult, (aParseResult) => transform(rules2, aParseResult));
      }
      __name(transform, "transform");
      function notAvailableTransform(parseResult) {
        throw new Error("This transform is not available. Are you trying the correct parsing mode?");
      }
      __name(notAvailableTransform, "notAvailableTransform");
      function extractSpecialParams(source) {
        const result = {
          params: []
        };
        for (const param of source.parameters) {
          if (param.type === "JsdocTypeKeyValue") {
            if (param.key === "this") {
              result.this = param.right;
            } else if (param.key === "new") {
              result.new = param.right;
            } else {
              result.params.push(param);
            }
          } else {
            result.params.push(param);
          }
        }
        return result;
      }
      __name(extractSpecialParams, "extractSpecialParams");
      function applyPosition(position2, target, value) {
        return position2 === "prefix" ? value + target : target + value;
      }
      __name(applyPosition, "applyPosition");
      function quote(value, quote2) {
        switch (quote2) {
          case "double":
            return `"${value}"`;
          case "single":
            return `'${value}'`;
          case void 0:
            return value;
        }
      }
      __name(quote, "quote");
      function stringifyRules2() {
        return {
          JsdocTypeParenthesis: /* @__PURE__ */ __name((result, transform2) => `(${result.element !== void 0 ? transform2(result.element) : ""})`, "JsdocTypeParenthesis"),
          JsdocTypeKeyof: /* @__PURE__ */ __name((result, transform2) => `keyof ${transform2(result.element)}`, "JsdocTypeKeyof"),
          JsdocTypeFunction: /* @__PURE__ */ __name((result, transform2) => {
            var _a3;
            if (!result.arrow) {
              let stringified = result.constructor ? "new" : "function";
              if (!result.parenthesis) {
                return stringified;
              }
              stringified += `(${result.parameters.map(transform2).join(", ")})`;
              if (result.returnType !== void 0) {
                stringified += `: ${transform2(result.returnType)}`;
              }
              return stringified;
            } else {
              if (result.returnType === void 0) {
                throw new Error("Arrow function needs a return type.");
              }
              let stringified = `${result.typeParameters !== void 0 ? `<${(_a3 = result.typeParameters.map(transform2).join(", ")) !== null && _a3 !== void 0 ? _a3 : ""}>` : ""}(${result.parameters.map(transform2).join(", ")}) => ${transform2(result.returnType)}`;
              if (result.constructor) {
                stringified = "new " + stringified;
              }
              return stringified;
            }
          }, "JsdocTypeFunction"),
          JsdocTypeName: /* @__PURE__ */ __name((result) => result.value, "JsdocTypeName"),
          JsdocTypeTuple: /* @__PURE__ */ __name((result, transform2) => `[${result.elements.map(transform2).join(", ")}]`, "JsdocTypeTuple"),
          JsdocTypeVariadic: /* @__PURE__ */ __name((result, transform2) => result.meta.position === void 0 ? "..." : applyPosition(result.meta.position, transform2(result.element), "..."), "JsdocTypeVariadic"),
          JsdocTypeNamePath: /* @__PURE__ */ __name((result, transform2) => {
            const left2 = transform2(result.left);
            const right2 = transform2(result.right);
            switch (result.pathType) {
              case "inner":
                return `${left2}~${right2}`;
              case "instance":
                return `${left2}#${right2}`;
              case "property":
                return `${left2}.${right2}`;
              case "property-brackets":
                return `${left2}[${right2}]`;
            }
          }, "JsdocTypeNamePath"),
          JsdocTypeStringValue: /* @__PURE__ */ __name((result) => quote(result.value, result.meta.quote), "JsdocTypeStringValue"),
          JsdocTypeAny: /* @__PURE__ */ __name(() => "*", "JsdocTypeAny"),
          JsdocTypeGeneric: /* @__PURE__ */ __name((result, transform2) => {
            if (result.meta.brackets === "square") {
              const element = result.elements[0];
              const transformed = transform2(element);
              if (element.type === "JsdocTypeUnion" || element.type === "JsdocTypeIntersection") {
                return `(${transformed})[]`;
              } else {
                return `${transformed}[]`;
              }
            } else {
              return `${transform2(result.left)}${result.meta.dot ? "." : ""}<${result.infer === true ? "infer " : ""}${result.elements.map(transform2).join(", ")}>`;
            }
          }, "JsdocTypeGeneric"),
          JsdocTypeImport: /* @__PURE__ */ __name((result, transform2) => `import(${transform2(result.element)})`, "JsdocTypeImport"),
          JsdocTypeObjectField: /* @__PURE__ */ __name((result, transform2) => {
            let text = "";
            if (result.readonly) {
              text += "readonly ";
            }
            if (typeof result.key === "string") {
              text += quote(result.key, result.meta.quote);
            } else {
              text += transform2(result.key);
            }
            if (result.optional) {
              text += "?";
            }
            if (result.right === void 0) {
              return text;
            } else {
              return text + `: ${transform2(result.right)}`;
            }
          }, "JsdocTypeObjectField"),
          JsdocTypeJsdocObjectField: /* @__PURE__ */ __name((result, transform2) => {
            return `${transform2(result.left)}: ${transform2(result.right)}`;
          }, "JsdocTypeJsdocObjectField"),
          JsdocTypeKeyValue: /* @__PURE__ */ __name((result, transform2) => {
            let text = result.key;
            if (result.optional) {
              text += "?";
            }
            if (result.variadic) {
              text = "..." + text;
            }
            if (result.right === void 0) {
              return text;
            } else {
              return text + `: ${transform2(result.right)}`;
            }
          }, "JsdocTypeKeyValue"),
          JsdocTypeSpecialNamePath: /* @__PURE__ */ __name((result) => `${result.specialType}:${quote(result.value, result.meta.quote)}`, "JsdocTypeSpecialNamePath"),
          JsdocTypeNotNullable: /* @__PURE__ */ __name((result, transform2) => applyPosition(result.meta.position, transform2(result.element), "!"), "JsdocTypeNotNullable"),
          JsdocTypeNull: /* @__PURE__ */ __name(() => "null", "JsdocTypeNull"),
          JsdocTypeNullable: /* @__PURE__ */ __name((result, transform2) => applyPosition(result.meta.position, transform2(result.element), "?"), "JsdocTypeNullable"),
          JsdocTypeNumber: /* @__PURE__ */ __name((result) => result.value.toString(), "JsdocTypeNumber"),
          JsdocTypeObject: /* @__PURE__ */ __name((result, transform2) => {
            var _a3, _b;
            return `{${(result.meta.separator === "linebreak" && result.elements.length > 1 ? "\n" + ((_a3 = result.meta.propertyIndent) !== null && _a3 !== void 0 ? _a3 : "") : "") + result.elements.map(transform2).join(result.meta.separator === "comma" ? ", " : result.meta.separator === "linebreak" ? "\n" + ((_b = result.meta.propertyIndent) !== null && _b !== void 0 ? _b : "") : "; ") + (result.meta.separator === "linebreak" && result.elements.length > 1 ? "\n" : "")}}`;
          }, "JsdocTypeObject"),
          JsdocTypeOptional: /* @__PURE__ */ __name((result, transform2) => applyPosition(result.meta.position, transform2(result.element), "="), "JsdocTypeOptional"),
          JsdocTypeSymbol: /* @__PURE__ */ __name((result, transform2) => `${result.value}(${result.element !== void 0 ? transform2(result.element) : ""})`, "JsdocTypeSymbol"),
          JsdocTypeTypeof: /* @__PURE__ */ __name((result, transform2) => `typeof ${transform2(result.element)}`, "JsdocTypeTypeof"),
          JsdocTypeUndefined: /* @__PURE__ */ __name(() => "undefined", "JsdocTypeUndefined"),
          JsdocTypeUnion: /* @__PURE__ */ __name((result, transform2) => result.elements.map(transform2).join(" | "), "JsdocTypeUnion"),
          JsdocTypeUnknown: /* @__PURE__ */ __name(() => "?", "JsdocTypeUnknown"),
          JsdocTypeIntersection: /* @__PURE__ */ __name((result, transform2) => result.elements.map(transform2).join(" & "), "JsdocTypeIntersection"),
          JsdocTypeProperty: /* @__PURE__ */ __name((result) => quote(result.value, result.meta.quote), "JsdocTypeProperty"),
          JsdocTypePredicate: /* @__PURE__ */ __name((result, transform2) => `${transform2(result.left)} is ${transform2(result.right)}`, "JsdocTypePredicate"),
          JsdocTypeIndexSignature: /* @__PURE__ */ __name((result, transform2) => `[${result.key}: ${transform2(result.right)}]`, "JsdocTypeIndexSignature"),
          JsdocTypeMappedType: /* @__PURE__ */ __name((result, transform2) => `[${result.key} in ${transform2(result.right)}]`, "JsdocTypeMappedType"),
          JsdocTypeAsserts: /* @__PURE__ */ __name((result, transform2) => `asserts ${transform2(result.left)} is ${transform2(result.right)}`, "JsdocTypeAsserts"),
          JsdocTypeReadonlyArray: /* @__PURE__ */ __name((result, transform2) => `readonly ${transform2(result.element)}`, "JsdocTypeReadonlyArray"),
          JsdocTypeAssertsPlain: /* @__PURE__ */ __name((result, transform2) => `asserts ${transform2(result.element)}`, "JsdocTypeAssertsPlain"),
          JsdocTypeConditional: /* @__PURE__ */ __name((result, transform2) => `${transform2(result.checksType)} extends ${transform2(result.extendsType)} ? ${transform2(result.trueType)} : ${transform2(result.falseType)}`, "JsdocTypeConditional"),
          JsdocTypeTypeParameter: /* @__PURE__ */ __name((result, transform2) => `${transform2(result.name)}${result.constraint !== void 0 ? ` extends ${transform2(result.constraint)}` : ""}${result.defaultValue !== void 0 ? ` = ${transform2(result.defaultValue)}` : ""}`, "JsdocTypeTypeParameter")
        };
      }
      __name(stringifyRules2, "stringifyRules");
      const storedStringifyRules = stringifyRules2();
      function stringify7(result) {
        return transform(storedStringifyRules, result);
      }
      __name(stringify7, "stringify");
      const reservedWords2 = [
        "null",
        "true",
        "false",
        "break",
        "case",
        "catch",
        "class",
        "const",
        "continue",
        "debugger",
        "default",
        "delete",
        "do",
        "else",
        "export",
        "extends",
        "finally",
        "for",
        "function",
        "if",
        "import",
        "in",
        "instanceof",
        "new",
        "return",
        "super",
        "switch",
        "this",
        "throw",
        "try",
        "typeof",
        "var",
        "void",
        "while",
        "with",
        "yield"
      ];
      function makeName(value) {
        const result = {
          type: "NameExpression",
          name: value
        };
        if (reservedWords2.includes(value)) {
          result.reservedWord = true;
        }
        return result;
      }
      __name(makeName, "makeName");
      const catharsisTransformRules = {
        JsdocTypeOptional: /* @__PURE__ */ __name((result, transform2) => {
          const transformed = transform2(result.element);
          transformed.optional = true;
          return transformed;
        }, "JsdocTypeOptional"),
        JsdocTypeNullable: /* @__PURE__ */ __name((result, transform2) => {
          const transformed = transform2(result.element);
          transformed.nullable = true;
          return transformed;
        }, "JsdocTypeNullable"),
        JsdocTypeNotNullable: /* @__PURE__ */ __name((result, transform2) => {
          const transformed = transform2(result.element);
          transformed.nullable = false;
          return transformed;
        }, "JsdocTypeNotNullable"),
        JsdocTypeVariadic: /* @__PURE__ */ __name((result, transform2) => {
          if (result.element === void 0) {
            throw new Error("dots without value are not allowed in catharsis mode");
          }
          const transformed = transform2(result.element);
          transformed.repeatable = true;
          return transformed;
        }, "JsdocTypeVariadic"),
        JsdocTypeAny: /* @__PURE__ */ __name(() => ({
          type: "AllLiteral"
        }), "JsdocTypeAny"),
        JsdocTypeNull: /* @__PURE__ */ __name(() => ({
          type: "NullLiteral"
        }), "JsdocTypeNull"),
        JsdocTypeStringValue: /* @__PURE__ */ __name((result) => makeName(quote(result.value, result.meta.quote)), "JsdocTypeStringValue"),
        JsdocTypeUndefined: /* @__PURE__ */ __name(() => ({
          type: "UndefinedLiteral"
        }), "JsdocTypeUndefined"),
        JsdocTypeUnknown: /* @__PURE__ */ __name(() => ({
          type: "UnknownLiteral"
        }), "JsdocTypeUnknown"),
        JsdocTypeFunction: /* @__PURE__ */ __name((result, transform2) => {
          const params = extractSpecialParams(result);
          const transformed = {
            type: "FunctionType",
            params: params.params.map(transform2)
          };
          if (params.this !== void 0) {
            transformed.this = transform2(params.this);
          }
          if (params.new !== void 0) {
            transformed.new = transform2(params.new);
          }
          if (result.returnType !== void 0) {
            transformed.result = transform2(result.returnType);
          }
          return transformed;
        }, "JsdocTypeFunction"),
        JsdocTypeGeneric: /* @__PURE__ */ __name((result, transform2) => ({
          type: "TypeApplication",
          applications: result.elements.map((o2) => transform2(o2)),
          expression: transform2(result.left)
        }), "JsdocTypeGeneric"),
        JsdocTypeSpecialNamePath: /* @__PURE__ */ __name((result) => makeName(result.specialType + ":" + quote(result.value, result.meta.quote)), "JsdocTypeSpecialNamePath"),
        JsdocTypeName: /* @__PURE__ */ __name((result) => {
          if (result.value !== "function") {
            return makeName(result.value);
          } else {
            return {
              type: "FunctionType",
              params: []
            };
          }
        }, "JsdocTypeName"),
        JsdocTypeNumber: /* @__PURE__ */ __name((result) => makeName(result.value.toString()), "JsdocTypeNumber"),
        JsdocTypeObject: /* @__PURE__ */ __name((result, transform2) => {
          const transformed = {
            type: "RecordType",
            fields: []
          };
          for (const field of result.elements) {
            if (field.type !== "JsdocTypeObjectField" && field.type !== "JsdocTypeJsdocObjectField") {
              transformed.fields.push({
                type: "FieldType",
                key: transform2(field),
                value: void 0
              });
            } else {
              transformed.fields.push(transform2(field));
            }
          }
          return transformed;
        }, "JsdocTypeObject"),
        JsdocTypeObjectField: /* @__PURE__ */ __name((result, transform2) => {
          if (typeof result.key !== "string") {
            throw new Error("Index signatures and mapped types are not supported");
          }
          return {
            type: "FieldType",
            key: makeName(quote(result.key, result.meta.quote)),
            value: result.right === void 0 ? void 0 : transform2(result.right)
          };
        }, "JsdocTypeObjectField"),
        JsdocTypeJsdocObjectField: /* @__PURE__ */ __name((result, transform2) => ({
          type: "FieldType",
          key: transform2(result.left),
          value: transform2(result.right)
        }), "JsdocTypeJsdocObjectField"),
        JsdocTypeUnion: /* @__PURE__ */ __name((result, transform2) => ({
          type: "TypeUnion",
          elements: result.elements.map((e2) => transform2(e2))
        }), "JsdocTypeUnion"),
        JsdocTypeKeyValue: /* @__PURE__ */ __name((result, transform2) => {
          return {
            type: "FieldType",
            key: makeName(result.key),
            value: result.right === void 0 ? void 0 : transform2(result.right)
          };
        }, "JsdocTypeKeyValue"),
        JsdocTypeNamePath: /* @__PURE__ */ __name((result, transform2) => {
          const leftResult = transform2(result.left);
          let rightValue;
          if (result.right.type === "JsdocTypeSpecialNamePath") {
            rightValue = transform2(result.right).name;
          } else {
            rightValue = quote(result.right.value, result.right.meta.quote);
          }
          const joiner = result.pathType === "inner" ? "~" : result.pathType === "instance" ? "#" : ".";
          return makeName(`${leftResult.name}${joiner}${rightValue}`);
        }, "JsdocTypeNamePath"),
        JsdocTypeSymbol: /* @__PURE__ */ __name((result) => {
          let value = "";
          let element = result.element;
          let trailingDots = false;
          if ((element === null || element === void 0 ? void 0 : element.type) === "JsdocTypeVariadic") {
            if (element.meta.position === "prefix") {
              value = "...";
            } else {
              trailingDots = true;
            }
            element = element.element;
          }
          if ((element === null || element === void 0 ? void 0 : element.type) === "JsdocTypeName") {
            value += element.value;
          } else if ((element === null || element === void 0 ? void 0 : element.type) === "JsdocTypeNumber") {
            value += element.value.toString();
          }
          if (trailingDots) {
            value += "...";
          }
          return makeName(`${result.value}(${value})`);
        }, "JsdocTypeSymbol"),
        JsdocTypeParenthesis: /* @__PURE__ */ __name((result, transform2) => transform2(assertRootResult(result.element)), "JsdocTypeParenthesis"),
        JsdocTypeMappedType: notAvailableTransform,
        JsdocTypeIndexSignature: notAvailableTransform,
        JsdocTypeImport: notAvailableTransform,
        JsdocTypeKeyof: notAvailableTransform,
        JsdocTypeTuple: notAvailableTransform,
        JsdocTypeTypeof: notAvailableTransform,
        JsdocTypeIntersection: notAvailableTransform,
        JsdocTypeProperty: notAvailableTransform,
        JsdocTypePredicate: notAvailableTransform,
        JsdocTypeAsserts: notAvailableTransform,
        JsdocTypeReadonlyArray: notAvailableTransform,
        JsdocTypeAssertsPlain: notAvailableTransform,
        JsdocTypeConditional: notAvailableTransform,
        JsdocTypeTypeParameter: notAvailableTransform
      };
      function catharsisTransform(result) {
        return transform(catharsisTransformRules, result);
      }
      __name(catharsisTransform, "catharsisTransform");
      function getQuoteStyle(quote2) {
        switch (quote2) {
          case void 0:
            return "none";
          case "single":
            return "single";
          case "double":
            return "double";
        }
      }
      __name(getQuoteStyle, "getQuoteStyle");
      function getMemberType(type5) {
        switch (type5) {
          case "inner":
            return "INNER_MEMBER";
          case "instance":
            return "INSTANCE_MEMBER";
          case "property":
            return "MEMBER";
          case "property-brackets":
            return "MEMBER";
        }
      }
      __name(getMemberType, "getMemberType");
      function nestResults(type5, results) {
        if (results.length === 2) {
          return {
            type: type5,
            left: results[0],
            right: results[1]
          };
        } else {
          return {
            type: type5,
            left: results[0],
            right: nestResults(type5, results.slice(1))
          };
        }
      }
      __name(nestResults, "nestResults");
      const jtpRules = {
        JsdocTypeOptional: /* @__PURE__ */ __name((result, transform2) => ({
          type: "OPTIONAL",
          value: transform2(result.element),
          meta: {
            syntax: result.meta.position === "prefix" ? "PREFIX_EQUAL_SIGN" : "SUFFIX_EQUALS_SIGN"
          }
        }), "JsdocTypeOptional"),
        JsdocTypeNullable: /* @__PURE__ */ __name((result, transform2) => ({
          type: "NULLABLE",
          value: transform2(result.element),
          meta: {
            syntax: result.meta.position === "prefix" ? "PREFIX_QUESTION_MARK" : "SUFFIX_QUESTION_MARK"
          }
        }), "JsdocTypeNullable"),
        JsdocTypeNotNullable: /* @__PURE__ */ __name((result, transform2) => ({
          type: "NOT_NULLABLE",
          value: transform2(result.element),
          meta: {
            syntax: result.meta.position === "prefix" ? "PREFIX_BANG" : "SUFFIX_BANG"
          }
        }), "JsdocTypeNotNullable"),
        JsdocTypeVariadic: /* @__PURE__ */ __name((result, transform2) => {
          const transformed = {
            type: "VARIADIC",
            meta: {
              syntax: result.meta.position === "prefix" ? "PREFIX_DOTS" : result.meta.position === "suffix" ? "SUFFIX_DOTS" : "ONLY_DOTS"
            }
          };
          if (result.element !== void 0) {
            transformed.value = transform2(result.element);
          }
          return transformed;
        }, "JsdocTypeVariadic"),
        JsdocTypeName: /* @__PURE__ */ __name((result) => ({
          type: "NAME",
          name: result.value
        }), "JsdocTypeName"),
        JsdocTypeTypeof: /* @__PURE__ */ __name((result, transform2) => ({
          type: "TYPE_QUERY",
          name: transform2(result.element)
        }), "JsdocTypeTypeof"),
        JsdocTypeTuple: /* @__PURE__ */ __name((result, transform2) => ({
          type: "TUPLE",
          entries: result.elements.map(transform2)
        }), "JsdocTypeTuple"),
        JsdocTypeKeyof: /* @__PURE__ */ __name((result, transform2) => ({
          type: "KEY_QUERY",
          value: transform2(result.element)
        }), "JsdocTypeKeyof"),
        JsdocTypeImport: /* @__PURE__ */ __name((result) => ({
          type: "IMPORT",
          path: {
            type: "STRING_VALUE",
            quoteStyle: getQuoteStyle(result.element.meta.quote),
            string: result.element.value
          }
        }), "JsdocTypeImport"),
        JsdocTypeUndefined: /* @__PURE__ */ __name(() => ({
          type: "NAME",
          name: "undefined"
        }), "JsdocTypeUndefined"),
        JsdocTypeAny: /* @__PURE__ */ __name(() => ({
          type: "ANY"
        }), "JsdocTypeAny"),
        JsdocTypeFunction: /* @__PURE__ */ __name((result, transform2) => {
          const specialParams = extractSpecialParams(result);
          const transformed = {
            type: result.arrow ? "ARROW" : "FUNCTION",
            params: specialParams.params.map((param) => {
              if (param.type === "JsdocTypeKeyValue") {
                if (param.right === void 0) {
                  throw new Error("Function parameter without ':' is not expected to be 'KEY_VALUE'");
                }
                return {
                  type: "NAMED_PARAMETER",
                  name: param.key,
                  typeName: transform2(param.right)
                };
              } else {
                return transform2(param);
              }
            }),
            new: null,
            returns: null
          };
          if (specialParams.this !== void 0) {
            transformed.this = transform2(specialParams.this);
          } else if (!result.arrow) {
            transformed.this = null;
          }
          if (specialParams.new !== void 0) {
            transformed.new = transform2(specialParams.new);
          }
          if (result.returnType !== void 0) {
            transformed.returns = transform2(result.returnType);
          }
          return transformed;
        }, "JsdocTypeFunction"),
        JsdocTypeGeneric: /* @__PURE__ */ __name((result, transform2) => {
          const transformed = {
            type: "GENERIC",
            subject: transform2(result.left),
            objects: result.elements.map(transform2),
            meta: {
              syntax: result.meta.brackets === "square" ? "SQUARE_BRACKET" : result.meta.dot ? "ANGLE_BRACKET_WITH_DOT" : "ANGLE_BRACKET"
            }
          };
          if (result.meta.brackets === "square" && result.elements[0].type === "JsdocTypeFunction" && !result.elements[0].parenthesis) {
            transformed.objects[0] = {
              type: "NAME",
              name: "function"
            };
          }
          return transformed;
        }, "JsdocTypeGeneric"),
        JsdocTypeObjectField: /* @__PURE__ */ __name((result, transform2) => {
          if (typeof result.key !== "string") {
            throw new Error("Index signatures and mapped types are not supported");
          }
          if (result.right === void 0) {
            return {
              type: "RECORD_ENTRY",
              key: result.key,
              quoteStyle: getQuoteStyle(result.meta.quote),
              value: null,
              readonly: false
            };
          }
          let right2 = transform2(result.right);
          if (result.optional) {
            right2 = {
              type: "OPTIONAL",
              value: right2,
              meta: {
                syntax: "SUFFIX_KEY_QUESTION_MARK"
              }
            };
          }
          return {
            type: "RECORD_ENTRY",
            key: result.key.toString(),
            quoteStyle: getQuoteStyle(result.meta.quote),
            value: right2,
            readonly: false
          };
        }, "JsdocTypeObjectField"),
        JsdocTypeJsdocObjectField: /* @__PURE__ */ __name(() => {
          throw new Error("Keys may not be typed in jsdoctypeparser.");
        }, "JsdocTypeJsdocObjectField"),
        JsdocTypeKeyValue: /* @__PURE__ */ __name((result, transform2) => {
          if (result.right === void 0) {
            return {
              type: "RECORD_ENTRY",
              key: result.key,
              quoteStyle: "none",
              value: null,
              readonly: false
            };
          }
          let right2 = transform2(result.right);
          if (result.optional) {
            right2 = {
              type: "OPTIONAL",
              value: right2,
              meta: {
                syntax: "SUFFIX_KEY_QUESTION_MARK"
              }
            };
          }
          return {
            type: "RECORD_ENTRY",
            key: result.key,
            quoteStyle: "none",
            value: right2,
            readonly: false
          };
        }, "JsdocTypeKeyValue"),
        JsdocTypeObject: /* @__PURE__ */ __name((result, transform2) => {
          const entries = [];
          for (const field of result.elements) {
            if (field.type === "JsdocTypeObjectField" || field.type === "JsdocTypeJsdocObjectField") {
              entries.push(transform2(field));
            }
          }
          return {
            type: "RECORD",
            entries
          };
        }, "JsdocTypeObject"),
        JsdocTypeSpecialNamePath: /* @__PURE__ */ __name((result) => {
          if (result.specialType !== "module") {
            throw new Error(`jsdoctypeparser does not support type ${result.specialType} at this point.`);
          }
          return {
            type: "MODULE",
            value: {
              type: "FILE_PATH",
              quoteStyle: getQuoteStyle(result.meta.quote),
              path: result.value
            }
          };
        }, "JsdocTypeSpecialNamePath"),
        JsdocTypeNamePath: /* @__PURE__ */ __name((result, transform2) => {
          let hasEventPrefix = false;
          let name;
          let quoteStyle;
          if (result.right.type === "JsdocTypeSpecialNamePath" && result.right.specialType === "event") {
            hasEventPrefix = true;
            name = result.right.value;
            quoteStyle = getQuoteStyle(result.right.meta.quote);
          } else {
            name = result.right.value;
            quoteStyle = getQuoteStyle(result.right.meta.quote);
          }
          const transformed = {
            type: getMemberType(result.pathType),
            owner: transform2(result.left),
            name,
            quoteStyle,
            hasEventPrefix
          };
          if (transformed.owner.type === "MODULE") {
            const tModule = transformed.owner;
            transformed.owner = transformed.owner.value;
            tModule.value = transformed;
            return tModule;
          } else {
            return transformed;
          }
        }, "JsdocTypeNamePath"),
        JsdocTypeUnion: /* @__PURE__ */ __name((result, transform2) => nestResults("UNION", result.elements.map(transform2)), "JsdocTypeUnion"),
        JsdocTypeParenthesis: /* @__PURE__ */ __name((result, transform2) => ({
          type: "PARENTHESIS",
          value: transform2(assertRootResult(result.element))
        }), "JsdocTypeParenthesis"),
        JsdocTypeNull: /* @__PURE__ */ __name(() => ({
          type: "NAME",
          name: "null"
        }), "JsdocTypeNull"),
        JsdocTypeUnknown: /* @__PURE__ */ __name(() => ({
          type: "UNKNOWN"
        }), "JsdocTypeUnknown"),
        JsdocTypeStringValue: /* @__PURE__ */ __name((result) => ({
          type: "STRING_VALUE",
          quoteStyle: getQuoteStyle(result.meta.quote),
          string: result.value
        }), "JsdocTypeStringValue"),
        JsdocTypeIntersection: /* @__PURE__ */ __name((result, transform2) => nestResults("INTERSECTION", result.elements.map(transform2)), "JsdocTypeIntersection"),
        JsdocTypeNumber: /* @__PURE__ */ __name((result) => ({
          type: "NUMBER_VALUE",
          number: result.value.toString()
        }), "JsdocTypeNumber"),
        JsdocTypeSymbol: notAvailableTransform,
        JsdocTypeProperty: notAvailableTransform,
        JsdocTypePredicate: notAvailableTransform,
        JsdocTypeMappedType: notAvailableTransform,
        JsdocTypeIndexSignature: notAvailableTransform,
        JsdocTypeAsserts: notAvailableTransform,
        JsdocTypeReadonlyArray: notAvailableTransform,
        JsdocTypeAssertsPlain: notAvailableTransform,
        JsdocTypeConditional: notAvailableTransform,
        JsdocTypeTypeParameter: notAvailableTransform
      };
      function jtpTransform(result) {
        return transform(jtpRules, result);
      }
      __name(jtpTransform, "jtpTransform");
      function identityTransformRules() {
        return {
          JsdocTypeIntersection: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeIntersection",
            elements: result.elements.map(transform2)
          }), "JsdocTypeIntersection"),
          JsdocTypeGeneric: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeGeneric",
            left: transform2(result.left),
            elements: result.elements.map(transform2),
            meta: {
              dot: result.meta.dot,
              brackets: result.meta.brackets
            }
          }), "JsdocTypeGeneric"),
          JsdocTypeNullable: /* @__PURE__ */ __name((result) => result, "JsdocTypeNullable"),
          JsdocTypeUnion: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeUnion",
            elements: result.elements.map(transform2)
          }), "JsdocTypeUnion"),
          JsdocTypeUnknown: /* @__PURE__ */ __name((result) => result, "JsdocTypeUnknown"),
          JsdocTypeUndefined: /* @__PURE__ */ __name((result) => result, "JsdocTypeUndefined"),
          JsdocTypeTypeof: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeTypeof",
            element: transform2(result.element)
          }), "JsdocTypeTypeof"),
          JsdocTypeSymbol: /* @__PURE__ */ __name((result, transform2) => {
            const transformed = {
              type: "JsdocTypeSymbol",
              value: result.value
            };
            if (result.element !== void 0) {
              transformed.element = transform2(result.element);
            }
            return transformed;
          }, "JsdocTypeSymbol"),
          JsdocTypeOptional: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeOptional",
            element: transform2(result.element),
            meta: {
              position: result.meta.position
            }
          }), "JsdocTypeOptional"),
          JsdocTypeObject: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeObject",
            meta: {
              separator: "comma"
            },
            elements: result.elements.map(transform2)
          }), "JsdocTypeObject"),
          JsdocTypeNumber: /* @__PURE__ */ __name((result) => result, "JsdocTypeNumber"),
          JsdocTypeNull: /* @__PURE__ */ __name((result) => result, "JsdocTypeNull"),
          JsdocTypeNotNullable: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeNotNullable",
            element: transform2(result.element),
            meta: {
              position: result.meta.position
            }
          }), "JsdocTypeNotNullable"),
          JsdocTypeSpecialNamePath: /* @__PURE__ */ __name((result) => result, "JsdocTypeSpecialNamePath"),
          JsdocTypeObjectField: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeObjectField",
            key: result.key,
            right: result.right === void 0 ? void 0 : transform2(result.right),
            optional: result.optional,
            readonly: result.readonly,
            meta: result.meta
          }), "JsdocTypeObjectField"),
          JsdocTypeJsdocObjectField: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeJsdocObjectField",
            left: transform2(result.left),
            right: transform2(result.right)
          }), "JsdocTypeJsdocObjectField"),
          JsdocTypeKeyValue: /* @__PURE__ */ __name((result, transform2) => {
            return {
              type: "JsdocTypeKeyValue",
              key: result.key,
              right: result.right === void 0 ? void 0 : transform2(result.right),
              optional: result.optional,
              variadic: result.variadic
            };
          }, "JsdocTypeKeyValue"),
          JsdocTypeImport: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeImport",
            element: transform2(result.element)
          }), "JsdocTypeImport"),
          JsdocTypeAny: /* @__PURE__ */ __name((result) => result, "JsdocTypeAny"),
          JsdocTypeStringValue: /* @__PURE__ */ __name((result) => result, "JsdocTypeStringValue"),
          JsdocTypeNamePath: /* @__PURE__ */ __name((result) => result, "JsdocTypeNamePath"),
          JsdocTypeVariadic: /* @__PURE__ */ __name((result, transform2) => {
            const transformed = {
              type: "JsdocTypeVariadic",
              meta: {
                position: result.meta.position,
                squareBrackets: result.meta.squareBrackets
              }
            };
            if (result.element !== void 0) {
              transformed.element = transform2(result.element);
            }
            return transformed;
          }, "JsdocTypeVariadic"),
          JsdocTypeTuple: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeTuple",
            elements: result.elements.map(transform2)
          }), "JsdocTypeTuple"),
          JsdocTypeName: /* @__PURE__ */ __name((result) => result, "JsdocTypeName"),
          JsdocTypeFunction: /* @__PURE__ */ __name((result, transform2) => {
            const transformed = {
              type: "JsdocTypeFunction",
              arrow: result.arrow,
              parameters: result.parameters.map(transform2),
              constructor: result.constructor,
              parenthesis: result.parenthesis
            };
            if (result.returnType !== void 0) {
              transformed.returnType = transform2(result.returnType);
            }
            return transformed;
          }, "JsdocTypeFunction"),
          JsdocTypeKeyof: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeKeyof",
            element: transform2(result.element)
          }), "JsdocTypeKeyof"),
          JsdocTypeParenthesis: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeParenthesis",
            element: transform2(result.element)
          }), "JsdocTypeParenthesis"),
          JsdocTypeProperty: /* @__PURE__ */ __name((result) => result, "JsdocTypeProperty"),
          JsdocTypePredicate: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypePredicate",
            left: transform2(result.left),
            right: transform2(result.right)
          }), "JsdocTypePredicate"),
          JsdocTypeIndexSignature: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeIndexSignature",
            key: result.key,
            right: transform2(result.right)
          }), "JsdocTypeIndexSignature"),
          JsdocTypeMappedType: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeMappedType",
            key: result.key,
            right: transform2(result.right)
          }), "JsdocTypeMappedType"),
          JsdocTypeAsserts: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeAsserts",
            left: transform2(result.left),
            right: transform2(result.right)
          }), "JsdocTypeAsserts"),
          JsdocTypeReadonlyArray: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeReadonlyArray",
            element: transform2(result.element)
          }), "JsdocTypeReadonlyArray"),
          JsdocTypeAssertsPlain: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeAssertsPlain",
            element: transform2(result.element)
          }), "JsdocTypeAssertsPlain"),
          JsdocTypeConditional: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeConditional",
            checksType: transform2(result.checksType),
            extendsType: transform2(result.extendsType),
            trueType: transform2(result.trueType),
            falseType: transform2(result.falseType)
          }), "JsdocTypeConditional"),
          JsdocTypeTypeParameter: /* @__PURE__ */ __name((result, transform2) => ({
            type: "JsdocTypeTypeParameter",
            name: transform2(result.name),
            constraint: result.constraint !== void 0 ? transform2(result.constraint) : void 0,
            defaultValue: result.defaultValue !== void 0 ? transform2(result.defaultValue) : void 0
          }), "JsdocTypeTypeParameter")
        };
      }
      __name(identityTransformRules, "identityTransformRules");
      const visitorKeys = {
        JsdocTypeAny: [],
        JsdocTypeFunction: ["parameters", "returnType"],
        JsdocTypeGeneric: ["left", "elements"],
        JsdocTypeImport: [],
        JsdocTypeIndexSignature: ["right"],
        JsdocTypeIntersection: ["elements"],
        JsdocTypeKeyof: ["element"],
        JsdocTypeKeyValue: ["right"],
        JsdocTypeMappedType: ["right"],
        JsdocTypeName: [],
        JsdocTypeNamePath: ["left", "right"],
        JsdocTypeNotNullable: ["element"],
        JsdocTypeNull: [],
        JsdocTypeNullable: ["element"],
        JsdocTypeNumber: [],
        JsdocTypeObject: ["elements"],
        JsdocTypeObjectField: ["right"],
        JsdocTypeJsdocObjectField: ["left", "right"],
        JsdocTypeOptional: ["element"],
        JsdocTypeParenthesis: ["element"],
        JsdocTypeSpecialNamePath: [],
        JsdocTypeStringValue: [],
        JsdocTypeSymbol: ["element"],
        JsdocTypeTuple: ["elements"],
        JsdocTypeTypeof: ["element"],
        JsdocTypeUndefined: [],
        JsdocTypeUnion: ["elements"],
        JsdocTypeUnknown: [],
        JsdocTypeVariadic: ["element"],
        JsdocTypeProperty: [],
        JsdocTypePredicate: ["left", "right"],
        JsdocTypeAsserts: ["left", "right"],
        JsdocTypeReadonlyArray: ["element"],
        JsdocTypeAssertsPlain: ["element"],
        JsdocTypeConditional: ["checksType", "extendsType", "trueType", "falseType"],
        JsdocTypeTypeParameter: ["name", "constraint", "defaultValue"]
      };
      function _traverse(node2, parentNode, property, onEnter, onLeave) {
        onEnter === null || onEnter === void 0 ? void 0 : onEnter(node2, parentNode, property);
        const keysToVisit = visitorKeys[node2.type];
        for (const key of keysToVisit) {
          const value = node2[key];
          if (value !== void 0) {
            if (Array.isArray(value)) {
              for (const element of value) {
                _traverse(element, node2, key, onEnter, onLeave);
              }
            } else {
              _traverse(value, node2, key, onEnter, onLeave);
            }
          }
        }
        onLeave === null || onLeave === void 0 ? void 0 : onLeave(node2, parentNode, property);
      }
      __name(_traverse, "_traverse");
      function traverse(node2, onEnter, onLeave) {
        _traverse(node2, void 0, void 0, onEnter, onLeave);
      }
      __name(traverse, "traverse");
      exports2.catharsisTransform = catharsisTransform;
      exports2.identityTransformRules = identityTransformRules;
      exports2.jtpTransform = jtpTransform;
      exports2.parse = parse9;
      exports2.stringify = stringify7;
      exports2.stringifyRules = stringifyRules2;
      exports2.transform = transform;
      exports2.traverse = traverse;
      exports2.tryParse = tryParse;
      exports2.visitorKeys = visitorKeys;
    });
  }
});

// ../node_modules/min-indent/index.js
var require_min_indent = __commonJS({
  "../node_modules/min-indent/index.js"(exports, module2) {
    "use strict";
    module2.exports = (string) => {
      const match3 = string.match(/^[ \t]*(?=\S)/gm);
      if (!match3) {
        return 0;
      }
      return match3.reduce((r2, a2) => Math.min(r2, a2.length), Infinity);
    };
  }
});

// ../node_modules/strip-indent/index.js
var require_strip_indent = __commonJS({
  "../node_modules/strip-indent/index.js"(exports, module2) {
    "use strict";
    var minIndent = require_min_indent();
    module2.exports = (string) => {
      const indent2 = minIndent(string);
      if (indent2 === 0) {
        return string;
      }
      const regex = new RegExp(`^[ \\t]{${indent2}}`, "gm");
      return string.replace(regex, "");
    };
  }
});

// ../node_modules/indent-string/index.js
var require_indent_string = __commonJS({
  "../node_modules/indent-string/index.js"(exports, module2) {
    "use strict";
    module2.exports = (string, count3 = 1, options) => {
      options = {
        indent: " ",
        includeEmptyLines: false,
        ...options
      };
      if (typeof string !== "string") {
        throw new TypeError(
          `Expected \`input\` to be a \`string\`, got \`${typeof string}\``
        );
      }
      if (typeof count3 !== "number") {
        throw new TypeError(
          `Expected \`count\` to be a \`number\`, got \`${typeof count3}\``
        );
      }
      if (typeof options.indent !== "string") {
        throw new TypeError(
          `Expected \`options.indent\` to be a \`string\`, got \`${typeof options.indent}\``
        );
      }
      if (count3 === 0) {
        return string;
      }
      const regex = options.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm;
      return string.replace(regex, options.indent.repeat(count3));
    };
  }
});

// ../node_modules/redent/index.js
var require_redent = __commonJS({
  "../node_modules/redent/index.js"(exports, module2) {
    "use strict";
    var stripIndent = require_strip_indent();
    var indentString = require_indent_string();
    module2.exports = (string, count3 = 0, options) => indentString(stripIndent(string), count3, options);
  }
});

// ../node_modules/aria-query/lib/util/iteratorProxy.js
var require_iteratorProxy = __commonJS({
  "../node_modules/aria-query/lib/util/iteratorProxy.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    function iteratorProxy() {
      var values = this;
      var index4 = 0;
      var iter = {
        "@@iterator": /* @__PURE__ */ __name(function iterator() {
          return iter;
        }, "iterator"),
        next: /* @__PURE__ */ __name(function next2() {
          if (index4 < values.length) {
            var value = values[index4];
            index4 = index4 + 1;
            return {
              done: false,
              value
            };
          } else {
            return {
              done: true
            };
          }
        }, "next")
      };
      return iter;
    }
    __name(iteratorProxy, "iteratorProxy");
    var _default = exports.default = iteratorProxy;
  }
});

// ../node_modules/aria-query/lib/util/iterationDecorator.js
var require_iterationDecorator = __commonJS({
  "../node_modules/aria-query/lib/util/iterationDecorator.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = iterationDecorator;
    var _iteratorProxy = _interopRequireDefault(require_iteratorProxy());
    function _interopRequireDefault(e2) {
      return e2 && e2.__esModule ? e2 : { default: e2 };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    function _typeof6(o2) {
      "@babel/helpers - typeof";
      return _typeof6 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
        return typeof o3;
      } : function(o3) {
        return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
      }, _typeof6(o2);
    }
    __name(_typeof6, "_typeof");
    function iterationDecorator(collection, entries) {
      if (typeof Symbol === "function" && _typeof6(Symbol.iterator) === "symbol") {
        Object.defineProperty(collection, Symbol.iterator, {
          value: _iteratorProxy.default.bind(entries)
        });
      }
      return collection;
    }
    __name(iterationDecorator, "iterationDecorator");
  }
});

// ../node_modules/aria-query/lib/ariaPropsMap.js
var require_ariaPropsMap = __commonJS({
  "../node_modules/aria-query/lib/ariaPropsMap.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var _iterationDecorator = _interopRequireDefault(require_iterationDecorator());
    function _interopRequireDefault(e2) {
      return e2 && e2.__esModule ? e2 : { default: e2 };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    function _slicedToArray(r2, e2) {
      return _arrayWithHoles(r2) || _iterableToArrayLimit(r2, e2) || _unsupportedIterableToArray2(r2, e2) || _nonIterableRest();
    }
    __name(_slicedToArray, "_slicedToArray");
    function _nonIterableRest() {
      throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    __name(_nonIterableRest, "_nonIterableRest");
    function _unsupportedIterableToArray2(r2, a2) {
      if (r2) {
        if ("string" == typeof r2) return _arrayLikeToArray2(r2, a2);
        var t2 = {}.toString.call(r2).slice(8, -1);
        return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray2(r2, a2) : void 0;
      }
    }
    __name(_unsupportedIterableToArray2, "_unsupportedIterableToArray");
    function _arrayLikeToArray2(r2, a2) {
      (null == a2 || a2 > r2.length) && (a2 = r2.length);
      for (var e2 = 0, n2 = Array(a2); e2 < a2; e2++) n2[e2] = r2[e2];
      return n2;
    }
    __name(_arrayLikeToArray2, "_arrayLikeToArray");
    function _iterableToArrayLimit(r2, l) {
      var t2 = null == r2 ? null : "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"];
      if (null != t2) {
        var e2, n2, i2, u2, a2 = [], f3 = true, o2 = false;
        try {
          if (i2 = (t2 = t2.call(r2)).next, 0 === l) {
            if (Object(t2) !== t2) return;
            f3 = false;
          } else for (; !(f3 = (e2 = i2.call(t2)).done) && (a2.push(e2.value), a2.length !== l); f3 = true) ;
        } catch (r3) {
          o2 = true, n2 = r3;
        } finally {
          try {
            if (!f3 && null != t2.return && (u2 = t2.return(), Object(u2) !== u2)) return;
          } finally {
            if (o2) throw n2;
          }
        }
        return a2;
      }
    }
    __name(_iterableToArrayLimit, "_iterableToArrayLimit");
    function _arrayWithHoles(r2) {
      if (Array.isArray(r2)) return r2;
    }
    __name(_arrayWithHoles, "_arrayWithHoles");
    var properties = [["aria-activedescendant", {
      "type": "id"
    }], ["aria-atomic", {
      "type": "boolean"
    }], ["aria-autocomplete", {
      "type": "token",
      "values": ["inline", "list", "both", "none"]
    }], ["aria-braillelabel", {
      "type": "string"
    }], ["aria-brailleroledescription", {
      "type": "string"
    }], ["aria-busy", {
      "type": "boolean"
    }], ["aria-checked", {
      "type": "tristate"
    }], ["aria-colcount", {
      type: "integer"
    }], ["aria-colindex", {
      type: "integer"
    }], ["aria-colspan", {
      type: "integer"
    }], ["aria-controls", {
      "type": "idlist"
    }], ["aria-current", {
      type: "token",
      values: ["page", "step", "location", "date", "time", true, false]
    }], ["aria-describedby", {
      "type": "idlist"
    }], ["aria-description", {
      "type": "string"
    }], ["aria-details", {
      "type": "id"
    }], ["aria-disabled", {
      "type": "boolean"
    }], ["aria-dropeffect", {
      "type": "tokenlist",
      "values": ["copy", "execute", "link", "move", "none", "popup"]
    }], ["aria-errormessage", {
      "type": "id"
    }], ["aria-expanded", {
      "type": "boolean",
      "allowundefined": true
    }], ["aria-flowto", {
      "type": "idlist"
    }], ["aria-grabbed", {
      "type": "boolean",
      "allowundefined": true
    }], ["aria-haspopup", {
      "type": "token",
      "values": [false, true, "menu", "listbox", "tree", "grid", "dialog"]
    }], ["aria-hidden", {
      "type": "boolean",
      "allowundefined": true
    }], ["aria-invalid", {
      "type": "token",
      "values": ["grammar", false, "spelling", true]
    }], ["aria-keyshortcuts", {
      type: "string"
    }], ["aria-label", {
      "type": "string"
    }], ["aria-labelledby", {
      "type": "idlist"
    }], ["aria-level", {
      "type": "integer"
    }], ["aria-live", {
      "type": "token",
      "values": ["assertive", "off", "polite"]
    }], ["aria-modal", {
      type: "boolean"
    }], ["aria-multiline", {
      "type": "boolean"
    }], ["aria-multiselectable", {
      "type": "boolean"
    }], ["aria-orientation", {
      "type": "token",
      "values": ["vertical", "undefined", "horizontal"]
    }], ["aria-owns", {
      "type": "idlist"
    }], ["aria-placeholder", {
      type: "string"
    }], ["aria-posinset", {
      "type": "integer"
    }], ["aria-pressed", {
      "type": "tristate"
    }], ["aria-readonly", {
      "type": "boolean"
    }], ["aria-relevant", {
      "type": "tokenlist",
      "values": ["additions", "all", "removals", "text"]
    }], ["aria-required", {
      "type": "boolean"
    }], ["aria-roledescription", {
      type: "string"
    }], ["aria-rowcount", {
      type: "integer"
    }], ["aria-rowindex", {
      type: "integer"
    }], ["aria-rowspan", {
      type: "integer"
    }], ["aria-selected", {
      "type": "boolean",
      "allowundefined": true
    }], ["aria-setsize", {
      "type": "integer"
    }], ["aria-sort", {
      "type": "token",
      "values": ["ascending", "descending", "none", "other"]
    }], ["aria-valuemax", {
      "type": "number"
    }], ["aria-valuemin", {
      "type": "number"
    }], ["aria-valuenow", {
      "type": "number"
    }], ["aria-valuetext", {
      "type": "string"
    }]];
    var ariaPropsMap = {
      entries: /* @__PURE__ */ __name(function entries() {
        return properties;
      }, "entries"),
      forEach: /* @__PURE__ */ __name(function forEach(fn4) {
        var thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
        for (var _i = 0, _properties = properties; _i < _properties.length; _i++) {
          var _properties$_i = _slicedToArray(_properties[_i], 2), key = _properties$_i[0], values = _properties$_i[1];
          fn4.call(thisArg, values, key, properties);
        }
      }, "forEach"),
      get: /* @__PURE__ */ __name(function get4(key) {
        var item = properties.filter(function(tuple) {
          return tuple[0] === key ? true : false;
        })[0];
        return item && item[1];
      }, "get"),
      has: /* @__PURE__ */ __name(function has2(key) {
        return !!ariaPropsMap.get(key);
      }, "has"),
      keys: /* @__PURE__ */ __name(function keys3() {
        return properties.map(function(_ref) {
          var _ref2 = _slicedToArray(_ref, 1), key = _ref2[0];
          return key;
        });
      }, "keys"),
      values: /* @__PURE__ */ __name(function values() {
        return properties.map(function(_ref3) {
          var _ref4 = _slicedToArray(_ref3, 2), values2 = _ref4[1];
          return values2;
        });
      }, "values")
    };
    var _default = exports.default = (0, _iterationDecorator.default)(ariaPropsMap, ariaPropsMap.entries());
  }
});

// ../node_modules/aria-query/lib/domMap.js
var require_domMap = __commonJS({
  "../node_modules/aria-query/lib/domMap.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var _iterationDecorator = _interopRequireDefault(require_iterationDecorator());
    function _interopRequireDefault(e2) {
      return e2 && e2.__esModule ? e2 : { default: e2 };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    function _slicedToArray(r2, e2) {
      return _arrayWithHoles(r2) || _iterableToArrayLimit(r2, e2) || _unsupportedIterableToArray2(r2, e2) || _nonIterableRest();
    }
    __name(_slicedToArray, "_slicedToArray");
    function _nonIterableRest() {
      throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    __name(_nonIterableRest, "_nonIterableRest");
    function _unsupportedIterableToArray2(r2, a2) {
      if (r2) {
        if ("string" == typeof r2) return _arrayLikeToArray2(r2, a2);
        var t2 = {}.toString.call(r2).slice(8, -1);
        return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray2(r2, a2) : void 0;
      }
    }
    __name(_unsupportedIterableToArray2, "_unsupportedIterableToArray");
    function _arrayLikeToArray2(r2, a2) {
      (null == a2 || a2 > r2.length) && (a2 = r2.length);
      for (var e2 = 0, n2 = Array(a2); e2 < a2; e2++) n2[e2] = r2[e2];
      return n2;
    }
    __name(_arrayLikeToArray2, "_arrayLikeToArray");
    function _iterableToArrayLimit(r2, l) {
      var t2 = null == r2 ? null : "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"];
      if (null != t2) {
        var e2, n2, i2, u2, a2 = [], f3 = true, o2 = false;
        try {
          if (i2 = (t2 = t2.call(r2)).next, 0 === l) {
            if (Object(t2) !== t2) return;
            f3 = false;
          } else for (; !(f3 = (e2 = i2.call(t2)).done) && (a2.push(e2.value), a2.length !== l); f3 = true) ;
        } catch (r3) {
          o2 = true, n2 = r3;
        } finally {
          try {
            if (!f3 && null != t2.return && (u2 = t2.return(), Object(u2) !== u2)) return;
          } finally {
            if (o2) throw n2;
          }
        }
        return a2;
      }
    }
    __name(_iterableToArrayLimit, "_iterableToArrayLimit");
    function _arrayWithHoles(r2) {
      if (Array.isArray(r2)) return r2;
    }
    __name(_arrayWithHoles, "_arrayWithHoles");
    var dom = [["a", {
      reserved: false
    }], ["abbr", {
      reserved: false
    }], ["acronym", {
      reserved: false
    }], ["address", {
      reserved: false
    }], ["applet", {
      reserved: false
    }], ["area", {
      reserved: false
    }], ["article", {
      reserved: false
    }], ["aside", {
      reserved: false
    }], ["audio", {
      reserved: false
    }], ["b", {
      reserved: false
    }], ["base", {
      reserved: true
    }], ["bdi", {
      reserved: false
    }], ["bdo", {
      reserved: false
    }], ["big", {
      reserved: false
    }], ["blink", {
      reserved: false
    }], ["blockquote", {
      reserved: false
    }], ["body", {
      reserved: false
    }], ["br", {
      reserved: false
    }], ["button", {
      reserved: false
    }], ["canvas", {
      reserved: false
    }], ["caption", {
      reserved: false
    }], ["center", {
      reserved: false
    }], ["cite", {
      reserved: false
    }], ["code", {
      reserved: false
    }], ["col", {
      reserved: true
    }], ["colgroup", {
      reserved: true
    }], ["content", {
      reserved: false
    }], ["data", {
      reserved: false
    }], ["datalist", {
      reserved: false
    }], ["dd", {
      reserved: false
    }], ["del", {
      reserved: false
    }], ["details", {
      reserved: false
    }], ["dfn", {
      reserved: false
    }], ["dialog", {
      reserved: false
    }], ["dir", {
      reserved: false
    }], ["div", {
      reserved: false
    }], ["dl", {
      reserved: false
    }], ["dt", {
      reserved: false
    }], ["em", {
      reserved: false
    }], ["embed", {
      reserved: false
    }], ["fieldset", {
      reserved: false
    }], ["figcaption", {
      reserved: false
    }], ["figure", {
      reserved: false
    }], ["font", {
      reserved: false
    }], ["footer", {
      reserved: false
    }], ["form", {
      reserved: false
    }], ["frame", {
      reserved: false
    }], ["frameset", {
      reserved: false
    }], ["h1", {
      reserved: false
    }], ["h2", {
      reserved: false
    }], ["h3", {
      reserved: false
    }], ["h4", {
      reserved: false
    }], ["h5", {
      reserved: false
    }], ["h6", {
      reserved: false
    }], ["head", {
      reserved: true
    }], ["header", {
      reserved: false
    }], ["hgroup", {
      reserved: false
    }], ["hr", {
      reserved: false
    }], ["html", {
      reserved: true
    }], ["i", {
      reserved: false
    }], ["iframe", {
      reserved: false
    }], ["img", {
      reserved: false
    }], ["input", {
      reserved: false
    }], ["ins", {
      reserved: false
    }], ["kbd", {
      reserved: false
    }], ["keygen", {
      reserved: false
    }], ["label", {
      reserved: false
    }], ["legend", {
      reserved: false
    }], ["li", {
      reserved: false
    }], ["link", {
      reserved: true
    }], ["main", {
      reserved: false
    }], ["map", {
      reserved: false
    }], ["mark", {
      reserved: false
    }], ["marquee", {
      reserved: false
    }], ["menu", {
      reserved: false
    }], ["menuitem", {
      reserved: false
    }], ["meta", {
      reserved: true
    }], ["meter", {
      reserved: false
    }], ["nav", {
      reserved: false
    }], ["noembed", {
      reserved: true
    }], ["noscript", {
      reserved: true
    }], ["object", {
      reserved: false
    }], ["ol", {
      reserved: false
    }], ["optgroup", {
      reserved: false
    }], ["option", {
      reserved: false
    }], ["output", {
      reserved: false
    }], ["p", {
      reserved: false
    }], ["param", {
      reserved: true
    }], ["picture", {
      reserved: true
    }], ["pre", {
      reserved: false
    }], ["progress", {
      reserved: false
    }], ["q", {
      reserved: false
    }], ["rp", {
      reserved: false
    }], ["rt", {
      reserved: false
    }], ["rtc", {
      reserved: false
    }], ["ruby", {
      reserved: false
    }], ["s", {
      reserved: false
    }], ["samp", {
      reserved: false
    }], ["script", {
      reserved: true
    }], ["section", {
      reserved: false
    }], ["select", {
      reserved: false
    }], ["small", {
      reserved: false
    }], ["source", {
      reserved: true
    }], ["spacer", {
      reserved: false
    }], ["span", {
      reserved: false
    }], ["strike", {
      reserved: false
    }], ["strong", {
      reserved: false
    }], ["style", {
      reserved: true
    }], ["sub", {
      reserved: false
    }], ["summary", {
      reserved: false
    }], ["sup", {
      reserved: false
    }], ["table", {
      reserved: false
    }], ["tbody", {
      reserved: false
    }], ["td", {
      reserved: false
    }], ["textarea", {
      reserved: false
    }], ["tfoot", {
      reserved: false
    }], ["th", {
      reserved: false
    }], ["thead", {
      reserved: false
    }], ["time", {
      reserved: false
    }], ["title", {
      reserved: true
    }], ["tr", {
      reserved: false
    }], ["track", {
      reserved: true
    }], ["tt", {
      reserved: false
    }], ["u", {
      reserved: false
    }], ["ul", {
      reserved: false
    }], ["var", {
      reserved: false
    }], ["video", {
      reserved: false
    }], ["wbr", {
      reserved: false
    }], ["xmp", {
      reserved: false
    }]];
    var domMap = {
      entries: /* @__PURE__ */ __name(function entries() {
        return dom;
      }, "entries"),
      forEach: /* @__PURE__ */ __name(function forEach(fn4) {
        var thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
        for (var _i = 0, _dom = dom; _i < _dom.length; _i++) {
          var _dom$_i = _slicedToArray(_dom[_i], 2), key = _dom$_i[0], values = _dom$_i[1];
          fn4.call(thisArg, values, key, dom);
        }
      }, "forEach"),
      get: /* @__PURE__ */ __name(function get4(key) {
        var item = dom.filter(function(tuple) {
          return tuple[0] === key ? true : false;
        })[0];
        return item && item[1];
      }, "get"),
      has: /* @__PURE__ */ __name(function has2(key) {
        return !!domMap.get(key);
      }, "has"),
      keys: /* @__PURE__ */ __name(function keys3() {
        return dom.map(function(_ref) {
          var _ref2 = _slicedToArray(_ref, 1), key = _ref2[0];
          return key;
        });
      }, "keys"),
      values: /* @__PURE__ */ __name(function values() {
        return dom.map(function(_ref3) {
          var _ref4 = _slicedToArray(_ref3, 2), values2 = _ref4[1];
          return values2;
        });
      }, "values")
    };
    var _default = exports.default = (0, _iterationDecorator.default)(domMap, domMap.entries());
  }
});

// ../node_modules/aria-query/lib/etc/roles/abstract/commandRole.js
var require_commandRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/abstract/commandRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var commandRole = {
      abstract: true,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget"]]
    };
    var _default = exports.default = commandRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/abstract/compositeRole.js
var require_compositeRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/abstract/compositeRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var compositeRole = {
      abstract: true,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-activedescendant": null,
        "aria-disabled": null
      },
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget"]]
    };
    var _default = exports.default = compositeRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/abstract/inputRole.js
var require_inputRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/abstract/inputRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var inputRole = {
      abstract: true,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null
      },
      relatedConcepts: [{
        concept: {
          name: "input"
        },
        module: "XForms"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget"]]
    };
    var _default = exports.default = inputRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/abstract/landmarkRole.js
var require_landmarkRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/abstract/landmarkRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var landmarkRole = {
      abstract: true,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = landmarkRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/abstract/rangeRole.js
var require_rangeRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/abstract/rangeRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var rangeRole = {
      abstract: true,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-valuemax": null,
        "aria-valuemin": null,
        "aria-valuenow": null
      },
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure"]]
    };
    var _default = exports.default = rangeRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/abstract/roletypeRole.js
var require_roletypeRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/abstract/roletypeRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var roletypeRole = {
      abstract: true,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: [],
      prohibitedProps: [],
      props: {
        "aria-atomic": null,
        "aria-busy": null,
        "aria-controls": null,
        "aria-current": null,
        "aria-describedby": null,
        "aria-details": null,
        "aria-dropeffect": null,
        "aria-flowto": null,
        "aria-grabbed": null,
        "aria-hidden": null,
        "aria-keyshortcuts": null,
        "aria-label": null,
        "aria-labelledby": null,
        "aria-live": null,
        "aria-owns": null,
        "aria-relevant": null,
        "aria-roledescription": null
      },
      relatedConcepts: [{
        concept: {
          name: "role"
        },
        module: "XHTML"
      }, {
        concept: {
          name: "type"
        },
        module: "Dublin Core"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: []
    };
    var _default = exports.default = roletypeRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/abstract/sectionRole.js
var require_sectionRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/abstract/sectionRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var sectionRole = {
      abstract: true,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: [],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "frontmatter"
        },
        module: "DTB"
      }, {
        concept: {
          name: "level"
        },
        module: "DTB"
      }, {
        concept: {
          name: "level"
        },
        module: "SMIL"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure"]]
    };
    var _default = exports.default = sectionRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/abstract/sectionheadRole.js
var require_sectionheadRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/abstract/sectionheadRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var sectionheadRole = {
      abstract: true,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure"]]
    };
    var _default = exports.default = sectionheadRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/abstract/selectRole.js
var require_selectRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/abstract/selectRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var selectRole = {
      abstract: true,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-orientation": null
      },
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget", "composite"], ["roletype", "structure", "section", "group"]]
    };
    var _default = exports.default = selectRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/abstract/structureRole.js
var require_structureRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/abstract/structureRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var structureRole = {
      abstract: true,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: [],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype"]]
    };
    var _default = exports.default = structureRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/abstract/widgetRole.js
var require_widgetRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/abstract/widgetRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var widgetRole = {
      abstract: true,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: [],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype"]]
    };
    var _default = exports.default = widgetRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/abstract/windowRole.js
var require_windowRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/abstract/windowRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var windowRole = {
      abstract: true,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-modal": null
      },
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype"]]
    };
    var _default = exports.default = windowRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/ariaAbstractRoles.js
var require_ariaAbstractRoles = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/ariaAbstractRoles.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var _commandRole = _interopRequireDefault(require_commandRole());
    var _compositeRole = _interopRequireDefault(require_compositeRole());
    var _inputRole = _interopRequireDefault(require_inputRole());
    var _landmarkRole = _interopRequireDefault(require_landmarkRole());
    var _rangeRole = _interopRequireDefault(require_rangeRole());
    var _roletypeRole = _interopRequireDefault(require_roletypeRole());
    var _sectionRole = _interopRequireDefault(require_sectionRole());
    var _sectionheadRole = _interopRequireDefault(require_sectionheadRole());
    var _selectRole = _interopRequireDefault(require_selectRole());
    var _structureRole = _interopRequireDefault(require_structureRole());
    var _widgetRole = _interopRequireDefault(require_widgetRole());
    var _windowRole = _interopRequireDefault(require_windowRole());
    function _interopRequireDefault(e2) {
      return e2 && e2.__esModule ? e2 : { default: e2 };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    var ariaAbstractRoles = [["command", _commandRole.default], ["composite", _compositeRole.default], ["input", _inputRole.default], ["landmark", _landmarkRole.default], ["range", _rangeRole.default], ["roletype", _roletypeRole.default], ["section", _sectionRole.default], ["sectionhead", _sectionheadRole.default], ["select", _selectRole.default], ["structure", _structureRole.default], ["widget", _widgetRole.default], ["window", _windowRole.default]];
    var _default = exports.default = ariaAbstractRoles;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/alertRole.js
var require_alertRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/alertRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var alertRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-atomic": "true",
        "aria-live": "assertive"
      },
      relatedConcepts: [{
        concept: {
          name: "alert"
        },
        module: "XForms"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = alertRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/alertdialogRole.js
var require_alertdialogRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/alertdialogRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var alertdialogRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "alert"
        },
        module: "XForms"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "alert"], ["roletype", "window", "dialog"]]
    };
    var _default = exports.default = alertdialogRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/applicationRole.js
var require_applicationRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/applicationRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var applicationRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-activedescendant": null,
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "Device Independence Delivery Unit"
        }
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure"]]
    };
    var _default = exports.default = applicationRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/articleRole.js
var require_articleRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/articleRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var articleRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-posinset": null,
        "aria-setsize": null
      },
      relatedConcepts: [{
        concept: {
          name: "article"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "document"]]
    };
    var _default = exports.default = articleRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/bannerRole.js
var require_bannerRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/bannerRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var bannerRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          constraints: ["scoped to the body element"],
          name: "header"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = bannerRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/blockquoteRole.js
var require_blockquoteRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/blockquoteRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var blockquoteRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "blockquote"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = blockquoteRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/buttonRole.js
var require_buttonRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/buttonRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var buttonRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-pressed": null
      },
      relatedConcepts: [{
        concept: {
          attributes: [{
            name: "type",
            value: "button"
          }],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            name: "type",
            value: "image"
          }],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            name: "type",
            value: "reset"
          }],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            name: "type",
            value: "submit"
          }],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          name: "button"
        },
        module: "HTML"
      }, {
        concept: {
          name: "trigger"
        },
        module: "XForms"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget", "command"]]
    };
    var _default = exports.default = buttonRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/captionRole.js
var require_captionRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/captionRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var captionRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: ["aria-label", "aria-labelledby"],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "caption"
        },
        module: "HTML"
      }],
      requireContextRole: ["figure", "grid", "table"],
      requiredContextRole: ["figure", "grid", "table"],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = captionRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/cellRole.js
var require_cellRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/cellRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var cellRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-colindex": null,
        "aria-colspan": null,
        "aria-rowindex": null,
        "aria-rowspan": null
      },
      relatedConcepts: [{
        concept: {
          constraints: ["ancestor table element has table role"],
          name: "td"
        },
        module: "HTML"
      }],
      requireContextRole: ["row"],
      requiredContextRole: ["row"],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = cellRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/checkboxRole.js
var require_checkboxRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/checkboxRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var checkboxRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-checked": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-invalid": null,
        "aria-readonly": null,
        "aria-required": null
      },
      relatedConcepts: [{
        concept: {
          attributes: [{
            name: "type",
            value: "checkbox"
          }],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          name: "option"
        },
        module: "ARIA"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {
        "aria-checked": null
      },
      superClass: [["roletype", "widget", "input"]]
    };
    var _default = exports.default = checkboxRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/codeRole.js
var require_codeRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/codeRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var codeRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: ["aria-label", "aria-labelledby"],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "code"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = codeRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/columnheaderRole.js
var require_columnheaderRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/columnheaderRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var columnheaderRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-sort": null
      },
      relatedConcepts: [{
        concept: {
          name: "th"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            name: "scope",
            value: "col"
          }],
          name: "th"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            name: "scope",
            value: "colgroup"
          }],
          name: "th"
        },
        module: "HTML"
      }],
      requireContextRole: ["row"],
      requiredContextRole: ["row"],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "cell"], ["roletype", "structure", "section", "cell", "gridcell"], ["roletype", "widget", "gridcell"], ["roletype", "structure", "sectionhead"]]
    };
    var _default = exports.default = columnheaderRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/comboboxRole.js
var require_comboboxRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/comboboxRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var comboboxRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-activedescendant": null,
        "aria-autocomplete": null,
        "aria-errormessage": null,
        "aria-invalid": null,
        "aria-readonly": null,
        "aria-required": null,
        "aria-expanded": "false",
        "aria-haspopup": "listbox"
      },
      relatedConcepts: [{
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "list"
          }, {
            name: "type",
            value: "email"
          }],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "list"
          }, {
            name: "type",
            value: "search"
          }],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "list"
          }, {
            name: "type",
            value: "tel"
          }],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "list"
          }, {
            name: "type",
            value: "text"
          }],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "list"
          }, {
            name: "type",
            value: "url"
          }],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "list"
          }, {
            name: "type",
            value: "url"
          }],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["undefined"],
            name: "multiple"
          }, {
            constraints: ["undefined"],
            name: "size"
          }],
          constraints: ["the multiple attribute is not set and the size attribute does not have a value greater than 1"],
          name: "select"
        },
        module: "HTML"
      }, {
        concept: {
          name: "select"
        },
        module: "XForms"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {
        "aria-controls": null,
        "aria-expanded": "false"
      },
      superClass: [["roletype", "widget", "input"]]
    };
    var _default = exports.default = comboboxRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/complementaryRole.js
var require_complementaryRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/complementaryRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var complementaryRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          constraints: ["scoped to the body element", "scoped to the main element"],
          name: "aside"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "aria-label"
          }],
          constraints: ["scoped to a sectioning content element", "scoped to a sectioning root element other than body"],
          name: "aside"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "aria-labelledby"
          }],
          constraints: ["scoped to a sectioning content element", "scoped to a sectioning root element other than body"],
          name: "aside"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = complementaryRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/contentinfoRole.js
var require_contentinfoRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/contentinfoRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var contentinfoRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          constraints: ["scoped to the body element"],
          name: "footer"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = contentinfoRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/definitionRole.js
var require_definitionRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/definitionRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var definitionRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "dd"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = definitionRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/deletionRole.js
var require_deletionRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/deletionRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var deletionRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: ["aria-label", "aria-labelledby"],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "del"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = deletionRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/dialogRole.js
var require_dialogRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/dialogRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var dialogRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "dialog"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "window"]]
    };
    var _default = exports.default = dialogRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/directoryRole.js
var require_directoryRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/directoryRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var directoryRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        module: "DAISY Guide"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "list"]]
    };
    var _default = exports.default = directoryRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/documentRole.js
var require_documentRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/documentRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var documentRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "Device Independence Delivery Unit"
        }
      }, {
        concept: {
          name: "html"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure"]]
    };
    var _default = exports.default = documentRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/emphasisRole.js
var require_emphasisRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/emphasisRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var emphasisRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: ["aria-label", "aria-labelledby"],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "em"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = emphasisRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/feedRole.js
var require_feedRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/feedRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var feedRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["article"]],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "list"]]
    };
    var _default = exports.default = feedRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/figureRole.js
var require_figureRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/figureRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var figureRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "figure"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = figureRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/formRole.js
var require_formRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/formRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var formRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "aria-label"
          }],
          name: "form"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "aria-labelledby"
          }],
          name: "form"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "name"
          }],
          name: "form"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = formRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/genericRole.js
var require_genericRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/genericRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var genericRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: ["aria-label", "aria-labelledby"],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "a"
        },
        module: "HTML"
      }, {
        concept: {
          name: "area"
        },
        module: "HTML"
      }, {
        concept: {
          name: "aside"
        },
        module: "HTML"
      }, {
        concept: {
          name: "b"
        },
        module: "HTML"
      }, {
        concept: {
          name: "bdo"
        },
        module: "HTML"
      }, {
        concept: {
          name: "body"
        },
        module: "HTML"
      }, {
        concept: {
          name: "data"
        },
        module: "HTML"
      }, {
        concept: {
          name: "div"
        },
        module: "HTML"
      }, {
        concept: {
          constraints: ["scoped to the main element", "scoped to a sectioning content element", "scoped to a sectioning root element other than body"],
          name: "footer"
        },
        module: "HTML"
      }, {
        concept: {
          constraints: ["scoped to the main element", "scoped to a sectioning content element", "scoped to a sectioning root element other than body"],
          name: "header"
        },
        module: "HTML"
      }, {
        concept: {
          name: "hgroup"
        },
        module: "HTML"
      }, {
        concept: {
          name: "i"
        },
        module: "HTML"
      }, {
        concept: {
          name: "pre"
        },
        module: "HTML"
      }, {
        concept: {
          name: "q"
        },
        module: "HTML"
      }, {
        concept: {
          name: "samp"
        },
        module: "HTML"
      }, {
        concept: {
          name: "section"
        },
        module: "HTML"
      }, {
        concept: {
          name: "small"
        },
        module: "HTML"
      }, {
        concept: {
          name: "span"
        },
        module: "HTML"
      }, {
        concept: {
          name: "u"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure"]]
    };
    var _default = exports.default = genericRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/gridRole.js
var require_gridRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/gridRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var gridRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-multiselectable": null,
        "aria-readonly": null
      },
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["row"], ["row", "rowgroup"]],
      requiredProps: {},
      superClass: [["roletype", "widget", "composite"], ["roletype", "structure", "section", "table"]]
    };
    var _default = exports.default = gridRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/gridcellRole.js
var require_gridcellRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/gridcellRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var gridcellRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null,
        "aria-readonly": null,
        "aria-required": null,
        "aria-selected": null
      },
      relatedConcepts: [{
        concept: {
          constraints: ["ancestor table element has grid role", "ancestor table element has treegrid role"],
          name: "td"
        },
        module: "HTML"
      }],
      requireContextRole: ["row"],
      requiredContextRole: ["row"],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "cell"], ["roletype", "widget"]]
    };
    var _default = exports.default = gridcellRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/groupRole.js
var require_groupRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/groupRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var groupRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-activedescendant": null,
        "aria-disabled": null
      },
      relatedConcepts: [{
        concept: {
          name: "details"
        },
        module: "HTML"
      }, {
        concept: {
          name: "fieldset"
        },
        module: "HTML"
      }, {
        concept: {
          name: "optgroup"
        },
        module: "HTML"
      }, {
        concept: {
          name: "address"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = groupRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/headingRole.js
var require_headingRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/headingRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var headingRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-level": "2"
      },
      relatedConcepts: [{
        concept: {
          name: "h1"
        },
        module: "HTML"
      }, {
        concept: {
          name: "h2"
        },
        module: "HTML"
      }, {
        concept: {
          name: "h3"
        },
        module: "HTML"
      }, {
        concept: {
          name: "h4"
        },
        module: "HTML"
      }, {
        concept: {
          name: "h5"
        },
        module: "HTML"
      }, {
        concept: {
          name: "h6"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {
        "aria-level": "2"
      },
      superClass: [["roletype", "structure", "sectionhead"]]
    };
    var _default = exports.default = headingRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/imgRole.js
var require_imgRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/imgRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var imgRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "alt"
          }],
          name: "img"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["undefined"],
            name: "alt"
          }],
          name: "img"
        },
        module: "HTML"
      }, {
        concept: {
          name: "imggroup"
        },
        module: "DTB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = imgRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/insertionRole.js
var require_insertionRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/insertionRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var insertionRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: ["aria-label", "aria-labelledby"],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "ins"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = insertionRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/linkRole.js
var require_linkRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/linkRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var linkRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-expanded": null,
        "aria-haspopup": null
      },
      relatedConcepts: [{
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "href"
          }],
          name: "a"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "href"
          }],
          name: "area"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget", "command"]]
    };
    var _default = exports.default = linkRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/listRole.js
var require_listRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/listRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var listRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "menu"
        },
        module: "HTML"
      }, {
        concept: {
          name: "ol"
        },
        module: "HTML"
      }, {
        concept: {
          name: "ul"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["listitem"]],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = listRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/listboxRole.js
var require_listboxRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/listboxRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var listboxRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-invalid": null,
        "aria-multiselectable": null,
        "aria-readonly": null,
        "aria-required": null,
        "aria-orientation": "vertical"
      },
      relatedConcepts: [{
        concept: {
          attributes: [{
            constraints: [">1"],
            name: "size"
          }],
          constraints: ["the size attribute value is greater than 1"],
          name: "select"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            name: "multiple"
          }],
          name: "select"
        },
        module: "HTML"
      }, {
        concept: {
          name: "datalist"
        },
        module: "HTML"
      }, {
        concept: {
          name: "list"
        },
        module: "ARIA"
      }, {
        concept: {
          name: "select"
        },
        module: "XForms"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["option", "group"], ["option"]],
      requiredProps: {},
      superClass: [["roletype", "widget", "composite", "select"], ["roletype", "structure", "section", "group", "select"]]
    };
    var _default = exports.default = listboxRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/listitemRole.js
var require_listitemRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/listitemRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var listitemRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-level": null,
        "aria-posinset": null,
        "aria-setsize": null
      },
      relatedConcepts: [{
        concept: {
          constraints: ["direct descendant of ol", "direct descendant of ul", "direct descendant of menu"],
          name: "li"
        },
        module: "HTML"
      }, {
        concept: {
          name: "item"
        },
        module: "XForms"
      }],
      requireContextRole: ["directory", "list"],
      requiredContextRole: ["directory", "list"],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = listitemRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/logRole.js
var require_logRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/logRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var logRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-live": "polite"
      },
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = logRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/mainRole.js
var require_mainRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/mainRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var mainRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "main"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = mainRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/markRole.js
var require_markRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/markRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var markRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: [],
      props: {
        "aria-braillelabel": null,
        "aria-brailleroledescription": null,
        "aria-description": null
      },
      relatedConcepts: [{
        concept: {
          name: "mark"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = markRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/marqueeRole.js
var require_marqueeRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/marqueeRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var marqueeRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = marqueeRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/mathRole.js
var require_mathRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/mathRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var mathRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "math"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = mathRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/menuRole.js
var require_menuRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/menuRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var menuRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-orientation": "vertical"
      },
      relatedConcepts: [{
        concept: {
          name: "MENU"
        },
        module: "JAPI"
      }, {
        concept: {
          name: "list"
        },
        module: "ARIA"
      }, {
        concept: {
          name: "select"
        },
        module: "XForms"
      }, {
        concept: {
          name: "sidebar"
        },
        module: "DTB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["menuitem", "group"], ["menuitemradio", "group"], ["menuitemcheckbox", "group"], ["menuitem"], ["menuitemcheckbox"], ["menuitemradio"]],
      requiredProps: {},
      superClass: [["roletype", "widget", "composite", "select"], ["roletype", "structure", "section", "group", "select"]]
    };
    var _default = exports.default = menuRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/menubarRole.js
var require_menubarRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/menubarRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var menubarRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-orientation": "horizontal"
      },
      relatedConcepts: [{
        concept: {
          name: "toolbar"
        },
        module: "ARIA"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["menuitem", "group"], ["menuitemradio", "group"], ["menuitemcheckbox", "group"], ["menuitem"], ["menuitemcheckbox"], ["menuitemradio"]],
      requiredProps: {},
      superClass: [["roletype", "widget", "composite", "select", "menu"], ["roletype", "structure", "section", "group", "select", "menu"]]
    };
    var _default = exports.default = menubarRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/menuitemRole.js
var require_menuitemRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/menuitemRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var menuitemRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-posinset": null,
        "aria-setsize": null
      },
      relatedConcepts: [{
        concept: {
          name: "MENU_ITEM"
        },
        module: "JAPI"
      }, {
        concept: {
          name: "listitem"
        },
        module: "ARIA"
      }, {
        concept: {
          name: "option"
        },
        module: "ARIA"
      }],
      requireContextRole: ["group", "menu", "menubar"],
      requiredContextRole: ["group", "menu", "menubar"],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget", "command"]]
    };
    var _default = exports.default = menuitemRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/menuitemcheckboxRole.js
var require_menuitemcheckboxRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/menuitemcheckboxRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var menuitemcheckboxRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "menuitem"
        },
        module: "ARIA"
      }],
      requireContextRole: ["group", "menu", "menubar"],
      requiredContextRole: ["group", "menu", "menubar"],
      requiredOwnedElements: [],
      requiredProps: {
        "aria-checked": null
      },
      superClass: [["roletype", "widget", "input", "checkbox"], ["roletype", "widget", "command", "menuitem"]]
    };
    var _default = exports.default = menuitemcheckboxRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/menuitemradioRole.js
var require_menuitemradioRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/menuitemradioRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var menuitemradioRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "menuitem"
        },
        module: "ARIA"
      }],
      requireContextRole: ["group", "menu", "menubar"],
      requiredContextRole: ["group", "menu", "menubar"],
      requiredOwnedElements: [],
      requiredProps: {
        "aria-checked": null
      },
      superClass: [["roletype", "widget", "input", "checkbox", "menuitemcheckbox"], ["roletype", "widget", "command", "menuitem", "menuitemcheckbox"], ["roletype", "widget", "input", "radio"]]
    };
    var _default = exports.default = menuitemradioRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/meterRole.js
var require_meterRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/meterRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var meterRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-valuetext": null,
        "aria-valuemax": "100",
        "aria-valuemin": "0"
      },
      relatedConcepts: [{
        concept: {
          name: "meter"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {
        "aria-valuenow": null
      },
      superClass: [["roletype", "structure", "range"]]
    };
    var _default = exports.default = meterRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/navigationRole.js
var require_navigationRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/navigationRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var navigationRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "nav"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = navigationRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/noneRole.js
var require_noneRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/noneRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var noneRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: [],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: []
    };
    var _default = exports.default = noneRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/noteRole.js
var require_noteRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/noteRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var noteRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = noteRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/optionRole.js
var require_optionRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/optionRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var optionRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-checked": null,
        "aria-posinset": null,
        "aria-setsize": null,
        "aria-selected": "false"
      },
      relatedConcepts: [{
        concept: {
          name: "item"
        },
        module: "XForms"
      }, {
        concept: {
          name: "listitem"
        },
        module: "ARIA"
      }, {
        concept: {
          name: "option"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {
        "aria-selected": "false"
      },
      superClass: [["roletype", "widget", "input"]]
    };
    var _default = exports.default = optionRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/paragraphRole.js
var require_paragraphRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/paragraphRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var paragraphRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: ["aria-label", "aria-labelledby"],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "p"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = paragraphRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/presentationRole.js
var require_presentationRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/presentationRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var presentationRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: ["aria-label", "aria-labelledby"],
      props: {},
      relatedConcepts: [{
        concept: {
          attributes: [{
            name: "alt",
            value: ""
          }],
          name: "img"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure"]]
    };
    var _default = exports.default = presentationRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/progressbarRole.js
var require_progressbarRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/progressbarRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var progressbarRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-valuetext": null
      },
      relatedConcepts: [{
        concept: {
          name: "progress"
        },
        module: "HTML"
      }, {
        concept: {
          name: "status"
        },
        module: "ARIA"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "range"], ["roletype", "widget"]]
    };
    var _default = exports.default = progressbarRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/radioRole.js
var require_radioRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/radioRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var radioRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-checked": null,
        "aria-posinset": null,
        "aria-setsize": null
      },
      relatedConcepts: [{
        concept: {
          attributes: [{
            name: "type",
            value: "radio"
          }],
          name: "input"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {
        "aria-checked": null
      },
      superClass: [["roletype", "widget", "input"]]
    };
    var _default = exports.default = radioRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/radiogroupRole.js
var require_radiogroupRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/radiogroupRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var radiogroupRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-errormessage": null,
        "aria-invalid": null,
        "aria-readonly": null,
        "aria-required": null
      },
      relatedConcepts: [{
        concept: {
          name: "list"
        },
        module: "ARIA"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["radio"]],
      requiredProps: {},
      superClass: [["roletype", "widget", "composite", "select"], ["roletype", "structure", "section", "group", "select"]]
    };
    var _default = exports.default = radiogroupRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/regionRole.js
var require_regionRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/regionRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var regionRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "aria-label"
          }],
          name: "section"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["set"],
            name: "aria-labelledby"
          }],
          name: "section"
        },
        module: "HTML"
      }, {
        concept: {
          name: "Device Independence Glossart perceivable unit"
        }
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = regionRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/rowRole.js
var require_rowRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/rowRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var rowRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-colindex": null,
        "aria-expanded": null,
        "aria-level": null,
        "aria-posinset": null,
        "aria-rowindex": null,
        "aria-selected": null,
        "aria-setsize": null
      },
      relatedConcepts: [{
        concept: {
          name: "tr"
        },
        module: "HTML"
      }],
      requireContextRole: ["grid", "rowgroup", "table", "treegrid"],
      requiredContextRole: ["grid", "rowgroup", "table", "treegrid"],
      requiredOwnedElements: [["cell"], ["columnheader"], ["gridcell"], ["rowheader"]],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "group"], ["roletype", "widget"]]
    };
    var _default = exports.default = rowRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/rowgroupRole.js
var require_rowgroupRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/rowgroupRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var rowgroupRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "tbody"
        },
        module: "HTML"
      }, {
        concept: {
          name: "tfoot"
        },
        module: "HTML"
      }, {
        concept: {
          name: "thead"
        },
        module: "HTML"
      }],
      requireContextRole: ["grid", "table", "treegrid"],
      requiredContextRole: ["grid", "table", "treegrid"],
      requiredOwnedElements: [["row"]],
      requiredProps: {},
      superClass: [["roletype", "structure"]]
    };
    var _default = exports.default = rowgroupRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/rowheaderRole.js
var require_rowheaderRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/rowheaderRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var rowheaderRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-sort": null
      },
      relatedConcepts: [{
        concept: {
          attributes: [{
            name: "scope",
            value: "row"
          }],
          name: "th"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            name: "scope",
            value: "rowgroup"
          }],
          name: "th"
        },
        module: "HTML"
      }],
      requireContextRole: ["row", "rowgroup"],
      requiredContextRole: ["row", "rowgroup"],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "cell"], ["roletype", "structure", "section", "cell", "gridcell"], ["roletype", "widget", "gridcell"], ["roletype", "structure", "sectionhead"]]
    };
    var _default = exports.default = rowheaderRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/scrollbarRole.js
var require_scrollbarRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/scrollbarRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var scrollbarRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-valuetext": null,
        "aria-orientation": "vertical",
        "aria-valuemax": "100",
        "aria-valuemin": "0"
      },
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {
        "aria-controls": null,
        "aria-valuenow": null
      },
      superClass: [["roletype", "structure", "range"], ["roletype", "widget"]]
    };
    var _default = exports.default = scrollbarRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/searchRole.js
var require_searchRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/searchRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var searchRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = searchRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/searchboxRole.js
var require_searchboxRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/searchboxRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var searchboxRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          attributes: [{
            constraints: ["undefined"],
            name: "list"
          }, {
            name: "type",
            value: "search"
          }],
          constraints: ["the list attribute is not set"],
          name: "input"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget", "input", "textbox"]]
    };
    var _default = exports.default = searchboxRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/separatorRole.js
var require_separatorRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/separatorRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var separatorRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-orientation": "horizontal",
        "aria-valuemax": "100",
        "aria-valuemin": "0",
        "aria-valuenow": null,
        "aria-valuetext": null
      },
      relatedConcepts: [{
        concept: {
          name: "hr"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure"]]
    };
    var _default = exports.default = separatorRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/sliderRole.js
var require_sliderRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/sliderRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var sliderRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-errormessage": null,
        "aria-haspopup": null,
        "aria-invalid": null,
        "aria-readonly": null,
        "aria-valuetext": null,
        "aria-orientation": "horizontal",
        "aria-valuemax": "100",
        "aria-valuemin": "0"
      },
      relatedConcepts: [{
        concept: {
          attributes: [{
            name: "type",
            value: "range"
          }],
          name: "input"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {
        "aria-valuenow": null
      },
      superClass: [["roletype", "widget", "input"], ["roletype", "structure", "range"]]
    };
    var _default = exports.default = sliderRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/spinbuttonRole.js
var require_spinbuttonRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/spinbuttonRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var spinbuttonRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-errormessage": null,
        "aria-invalid": null,
        "aria-readonly": null,
        "aria-required": null,
        "aria-valuetext": null,
        "aria-valuenow": "0"
      },
      relatedConcepts: [{
        concept: {
          attributes: [{
            name: "type",
            value: "number"
          }],
          name: "input"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget", "composite"], ["roletype", "widget", "input"], ["roletype", "structure", "range"]]
    };
    var _default = exports.default = spinbuttonRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/statusRole.js
var require_statusRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/statusRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var statusRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-atomic": "true",
        "aria-live": "polite"
      },
      relatedConcepts: [{
        concept: {
          name: "output"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = statusRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/strongRole.js
var require_strongRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/strongRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var strongRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: ["aria-label", "aria-labelledby"],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "strong"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = strongRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/subscriptRole.js
var require_subscriptRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/subscriptRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var subscriptRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: ["aria-label", "aria-labelledby"],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "sub"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = subscriptRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/superscriptRole.js
var require_superscriptRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/superscriptRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var superscriptRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: ["aria-label", "aria-labelledby"],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "sup"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = superscriptRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/switchRole.js
var require_switchRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/switchRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var switchRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "button"
        },
        module: "ARIA"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {
        "aria-checked": null
      },
      superClass: [["roletype", "widget", "input", "checkbox"]]
    };
    var _default = exports.default = switchRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/tabRole.js
var require_tabRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/tabRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var tabRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-posinset": null,
        "aria-setsize": null,
        "aria-selected": "false"
      },
      relatedConcepts: [],
      requireContextRole: ["tablist"],
      requiredContextRole: ["tablist"],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "sectionhead"], ["roletype", "widget"]]
    };
    var _default = exports.default = tabRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/tableRole.js
var require_tableRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/tableRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var tableRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-colcount": null,
        "aria-rowcount": null
      },
      relatedConcepts: [{
        concept: {
          name: "table"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["row"], ["row", "rowgroup"]],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = tableRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/tablistRole.js
var require_tablistRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/tablistRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var tablistRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-level": null,
        "aria-multiselectable": null,
        "aria-orientation": "horizontal"
      },
      relatedConcepts: [{
        module: "DAISY",
        concept: {
          name: "guide"
        }
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["tab"]],
      requiredProps: {},
      superClass: [["roletype", "widget", "composite"]]
    };
    var _default = exports.default = tablistRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/tabpanelRole.js
var require_tabpanelRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/tabpanelRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var tabpanelRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = tabpanelRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/termRole.js
var require_termRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/termRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var termRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "dfn"
        },
        module: "HTML"
      }, {
        concept: {
          name: "dt"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = termRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/textboxRole.js
var require_textboxRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/textboxRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var textboxRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-activedescendant": null,
        "aria-autocomplete": null,
        "aria-errormessage": null,
        "aria-haspopup": null,
        "aria-invalid": null,
        "aria-multiline": null,
        "aria-placeholder": null,
        "aria-readonly": null,
        "aria-required": null
      },
      relatedConcepts: [{
        concept: {
          attributes: [{
            constraints: ["undefined"],
            name: "type"
          }, {
            constraints: ["undefined"],
            name: "list"
          }],
          constraints: ["the list attribute is not set"],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["undefined"],
            name: "list"
          }, {
            name: "type",
            value: "email"
          }],
          constraints: ["the list attribute is not set"],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["undefined"],
            name: "list"
          }, {
            name: "type",
            value: "tel"
          }],
          constraints: ["the list attribute is not set"],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["undefined"],
            name: "list"
          }, {
            name: "type",
            value: "text"
          }],
          constraints: ["the list attribute is not set"],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          attributes: [{
            constraints: ["undefined"],
            name: "list"
          }, {
            name: "type",
            value: "url"
          }],
          constraints: ["the list attribute is not set"],
          name: "input"
        },
        module: "HTML"
      }, {
        concept: {
          name: "input"
        },
        module: "XForms"
      }, {
        concept: {
          name: "textarea"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget", "input"]]
    };
    var _default = exports.default = textboxRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/timeRole.js
var require_timeRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/timeRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var timeRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "time"
        },
        module: "HTML"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = timeRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/timerRole.js
var require_timerRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/timerRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var timerRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "status"]]
    };
    var _default = exports.default = timerRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/toolbarRole.js
var require_toolbarRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/toolbarRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var toolbarRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-orientation": "horizontal"
      },
      relatedConcepts: [{
        concept: {
          name: "menubar"
        },
        module: "ARIA"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "group"]]
    };
    var _default = exports.default = toolbarRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/tooltipRole.js
var require_tooltipRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/tooltipRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var tooltipRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = tooltipRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/treeRole.js
var require_treeRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/treeRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var treeRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-errormessage": null,
        "aria-invalid": null,
        "aria-multiselectable": null,
        "aria-required": null,
        "aria-orientation": "vertical"
      },
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["treeitem", "group"], ["treeitem"]],
      requiredProps: {},
      superClass: [["roletype", "widget", "composite", "select"], ["roletype", "structure", "section", "group", "select"]]
    };
    var _default = exports.default = treeRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/treegridRole.js
var require_treegridRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/treegridRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var treegridRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["row"], ["row", "rowgroup"]],
      requiredProps: {},
      superClass: [["roletype", "widget", "composite", "grid"], ["roletype", "structure", "section", "table", "grid"], ["roletype", "widget", "composite", "select", "tree"], ["roletype", "structure", "section", "group", "select", "tree"]]
    };
    var _default = exports.default = treegridRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/literal/treeitemRole.js
var require_treeitemRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/literal/treeitemRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var treeitemRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-expanded": null,
        "aria-haspopup": null
      },
      relatedConcepts: [],
      requireContextRole: ["group", "tree"],
      requiredContextRole: ["group", "tree"],
      requiredOwnedElements: [],
      requiredProps: {
        "aria-selected": null
      },
      superClass: [["roletype", "structure", "section", "listitem"], ["roletype", "widget", "input", "option"]]
    };
    var _default = exports.default = treeitemRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/ariaLiteralRoles.js
var require_ariaLiteralRoles = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/ariaLiteralRoles.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var _alertRole = _interopRequireDefault(require_alertRole());
    var _alertdialogRole = _interopRequireDefault(require_alertdialogRole());
    var _applicationRole = _interopRequireDefault(require_applicationRole());
    var _articleRole = _interopRequireDefault(require_articleRole());
    var _bannerRole = _interopRequireDefault(require_bannerRole());
    var _blockquoteRole = _interopRequireDefault(require_blockquoteRole());
    var _buttonRole = _interopRequireDefault(require_buttonRole());
    var _captionRole = _interopRequireDefault(require_captionRole());
    var _cellRole = _interopRequireDefault(require_cellRole());
    var _checkboxRole = _interopRequireDefault(require_checkboxRole());
    var _codeRole = _interopRequireDefault(require_codeRole());
    var _columnheaderRole = _interopRequireDefault(require_columnheaderRole());
    var _comboboxRole = _interopRequireDefault(require_comboboxRole());
    var _complementaryRole = _interopRequireDefault(require_complementaryRole());
    var _contentinfoRole = _interopRequireDefault(require_contentinfoRole());
    var _definitionRole = _interopRequireDefault(require_definitionRole());
    var _deletionRole = _interopRequireDefault(require_deletionRole());
    var _dialogRole = _interopRequireDefault(require_dialogRole());
    var _directoryRole = _interopRequireDefault(require_directoryRole());
    var _documentRole = _interopRequireDefault(require_documentRole());
    var _emphasisRole = _interopRequireDefault(require_emphasisRole());
    var _feedRole = _interopRequireDefault(require_feedRole());
    var _figureRole = _interopRequireDefault(require_figureRole());
    var _formRole = _interopRequireDefault(require_formRole());
    var _genericRole = _interopRequireDefault(require_genericRole());
    var _gridRole = _interopRequireDefault(require_gridRole());
    var _gridcellRole = _interopRequireDefault(require_gridcellRole());
    var _groupRole = _interopRequireDefault(require_groupRole());
    var _headingRole = _interopRequireDefault(require_headingRole());
    var _imgRole = _interopRequireDefault(require_imgRole());
    var _insertionRole = _interopRequireDefault(require_insertionRole());
    var _linkRole = _interopRequireDefault(require_linkRole());
    var _listRole = _interopRequireDefault(require_listRole());
    var _listboxRole = _interopRequireDefault(require_listboxRole());
    var _listitemRole = _interopRequireDefault(require_listitemRole());
    var _logRole = _interopRequireDefault(require_logRole());
    var _mainRole = _interopRequireDefault(require_mainRole());
    var _markRole = _interopRequireDefault(require_markRole());
    var _marqueeRole = _interopRequireDefault(require_marqueeRole());
    var _mathRole = _interopRequireDefault(require_mathRole());
    var _menuRole = _interopRequireDefault(require_menuRole());
    var _menubarRole = _interopRequireDefault(require_menubarRole());
    var _menuitemRole = _interopRequireDefault(require_menuitemRole());
    var _menuitemcheckboxRole = _interopRequireDefault(require_menuitemcheckboxRole());
    var _menuitemradioRole = _interopRequireDefault(require_menuitemradioRole());
    var _meterRole = _interopRequireDefault(require_meterRole());
    var _navigationRole = _interopRequireDefault(require_navigationRole());
    var _noneRole = _interopRequireDefault(require_noneRole());
    var _noteRole = _interopRequireDefault(require_noteRole());
    var _optionRole = _interopRequireDefault(require_optionRole());
    var _paragraphRole = _interopRequireDefault(require_paragraphRole());
    var _presentationRole = _interopRequireDefault(require_presentationRole());
    var _progressbarRole = _interopRequireDefault(require_progressbarRole());
    var _radioRole = _interopRequireDefault(require_radioRole());
    var _radiogroupRole = _interopRequireDefault(require_radiogroupRole());
    var _regionRole = _interopRequireDefault(require_regionRole());
    var _rowRole = _interopRequireDefault(require_rowRole());
    var _rowgroupRole = _interopRequireDefault(require_rowgroupRole());
    var _rowheaderRole = _interopRequireDefault(require_rowheaderRole());
    var _scrollbarRole = _interopRequireDefault(require_scrollbarRole());
    var _searchRole = _interopRequireDefault(require_searchRole());
    var _searchboxRole = _interopRequireDefault(require_searchboxRole());
    var _separatorRole = _interopRequireDefault(require_separatorRole());
    var _sliderRole = _interopRequireDefault(require_sliderRole());
    var _spinbuttonRole = _interopRequireDefault(require_spinbuttonRole());
    var _statusRole = _interopRequireDefault(require_statusRole());
    var _strongRole = _interopRequireDefault(require_strongRole());
    var _subscriptRole = _interopRequireDefault(require_subscriptRole());
    var _superscriptRole = _interopRequireDefault(require_superscriptRole());
    var _switchRole = _interopRequireDefault(require_switchRole());
    var _tabRole = _interopRequireDefault(require_tabRole());
    var _tableRole = _interopRequireDefault(require_tableRole());
    var _tablistRole = _interopRequireDefault(require_tablistRole());
    var _tabpanelRole = _interopRequireDefault(require_tabpanelRole());
    var _termRole = _interopRequireDefault(require_termRole());
    var _textboxRole = _interopRequireDefault(require_textboxRole());
    var _timeRole = _interopRequireDefault(require_timeRole());
    var _timerRole = _interopRequireDefault(require_timerRole());
    var _toolbarRole = _interopRequireDefault(require_toolbarRole());
    var _tooltipRole = _interopRequireDefault(require_tooltipRole());
    var _treeRole = _interopRequireDefault(require_treeRole());
    var _treegridRole = _interopRequireDefault(require_treegridRole());
    var _treeitemRole = _interopRequireDefault(require_treeitemRole());
    function _interopRequireDefault(e2) {
      return e2 && e2.__esModule ? e2 : { default: e2 };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    var ariaLiteralRoles = [["alert", _alertRole.default], ["alertdialog", _alertdialogRole.default], ["application", _applicationRole.default], ["article", _articleRole.default], ["banner", _bannerRole.default], ["blockquote", _blockquoteRole.default], ["button", _buttonRole.default], ["caption", _captionRole.default], ["cell", _cellRole.default], ["checkbox", _checkboxRole.default], ["code", _codeRole.default], ["columnheader", _columnheaderRole.default], ["combobox", _comboboxRole.default], ["complementary", _complementaryRole.default], ["contentinfo", _contentinfoRole.default], ["definition", _definitionRole.default], ["deletion", _deletionRole.default], ["dialog", _dialogRole.default], ["directory", _directoryRole.default], ["document", _documentRole.default], ["emphasis", _emphasisRole.default], ["feed", _feedRole.default], ["figure", _figureRole.default], ["form", _formRole.default], ["generic", _genericRole.default], ["grid", _gridRole.default], ["gridcell", _gridcellRole.default], ["group", _groupRole.default], ["heading", _headingRole.default], ["img", _imgRole.default], ["insertion", _insertionRole.default], ["link", _linkRole.default], ["list", _listRole.default], ["listbox", _listboxRole.default], ["listitem", _listitemRole.default], ["log", _logRole.default], ["main", _mainRole.default], ["mark", _markRole.default], ["marquee", _marqueeRole.default], ["math", _mathRole.default], ["menu", _menuRole.default], ["menubar", _menubarRole.default], ["menuitem", _menuitemRole.default], ["menuitemcheckbox", _menuitemcheckboxRole.default], ["menuitemradio", _menuitemradioRole.default], ["meter", _meterRole.default], ["navigation", _navigationRole.default], ["none", _noneRole.default], ["note", _noteRole.default], ["option", _optionRole.default], ["paragraph", _paragraphRole.default], ["presentation", _presentationRole.default], ["progressbar", _progressbarRole.default], ["radio", _radioRole.default], ["radiogroup", _radiogroupRole.default], ["region", _regionRole.default], ["row", _rowRole.default], ["rowgroup", _rowgroupRole.default], ["rowheader", _rowheaderRole.default], ["scrollbar", _scrollbarRole.default], ["search", _searchRole.default], ["searchbox", _searchboxRole.default], ["separator", _separatorRole.default], ["slider", _sliderRole.default], ["spinbutton", _spinbuttonRole.default], ["status", _statusRole.default], ["strong", _strongRole.default], ["subscript", _subscriptRole.default], ["superscript", _superscriptRole.default], ["switch", _switchRole.default], ["tab", _tabRole.default], ["table", _tableRole.default], ["tablist", _tablistRole.default], ["tabpanel", _tabpanelRole.default], ["term", _termRole.default], ["textbox", _textboxRole.default], ["time", _timeRole.default], ["timer", _timerRole.default], ["toolbar", _toolbarRole.default], ["tooltip", _tooltipRole.default], ["tree", _treeRole.default], ["treegrid", _treegridRole.default], ["treeitem", _treeitemRole.default]];
    var _default = exports.default = ariaLiteralRoles;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docAbstractRole.js
var require_docAbstractRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docAbstractRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docAbstractRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "abstract [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = docAbstractRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docAcknowledgmentsRole.js
var require_docAcknowledgmentsRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docAcknowledgmentsRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docAcknowledgmentsRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "acknowledgments [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docAcknowledgmentsRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docAfterwordRole.js
var require_docAfterwordRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docAfterwordRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docAfterwordRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "afterword [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docAfterwordRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docAppendixRole.js
var require_docAppendixRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docAppendixRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docAppendixRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "appendix [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docAppendixRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docBacklinkRole.js
var require_docBacklinkRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docBacklinkRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docBacklinkRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-errormessage": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "referrer [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget", "command", "link"]]
    };
    var _default = exports.default = docBacklinkRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docBiblioentryRole.js
var require_docBiblioentryRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docBiblioentryRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docBiblioentryRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "EPUB biblioentry [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: ["doc-bibliography"],
      requiredContextRole: ["doc-bibliography"],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "listitem"]]
    };
    var _default = exports.default = docBiblioentryRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docBibliographyRole.js
var require_docBibliographyRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docBibliographyRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docBibliographyRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "bibliography [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["doc-biblioentry"]],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docBibliographyRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docBibliorefRole.js
var require_docBibliorefRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docBibliorefRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docBibliorefRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-errormessage": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "biblioref [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget", "command", "link"]]
    };
    var _default = exports.default = docBibliorefRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docChapterRole.js
var require_docChapterRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docChapterRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docChapterRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "chapter [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docChapterRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docColophonRole.js
var require_docColophonRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docColophonRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docColophonRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "colophon [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = docColophonRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docConclusionRole.js
var require_docConclusionRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docConclusionRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docConclusionRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "conclusion [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docConclusionRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docCoverRole.js
var require_docCoverRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docCoverRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docCoverRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "cover [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "img"]]
    };
    var _default = exports.default = docCoverRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docCreditRole.js
var require_docCreditRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docCreditRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docCreditRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "credit [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = docCreditRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docCreditsRole.js
var require_docCreditsRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docCreditsRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docCreditsRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "credits [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docCreditsRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docDedicationRole.js
var require_docDedicationRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docDedicationRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docDedicationRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "dedication [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = docDedicationRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docEndnoteRole.js
var require_docEndnoteRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docEndnoteRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docEndnoteRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "rearnote [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: ["doc-endnotes"],
      requiredContextRole: ["doc-endnotes"],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "listitem"]]
    };
    var _default = exports.default = docEndnoteRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docEndnotesRole.js
var require_docEndnotesRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docEndnotesRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docEndnotesRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "rearnotes [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["doc-endnote"]],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docEndnotesRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docEpigraphRole.js
var require_docEpigraphRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docEpigraphRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docEpigraphRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "epigraph [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = docEpigraphRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docEpilogueRole.js
var require_docEpilogueRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docEpilogueRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docEpilogueRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "epilogue [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docEpilogueRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docErrataRole.js
var require_docErrataRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docErrataRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docErrataRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "errata [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docErrataRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docExampleRole.js
var require_docExampleRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docExampleRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docExampleRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = docExampleRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docFootnoteRole.js
var require_docFootnoteRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docFootnoteRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docFootnoteRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "footnote [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = docFootnoteRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docForewordRole.js
var require_docForewordRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docForewordRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docForewordRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "foreword [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docForewordRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docGlossaryRole.js
var require_docGlossaryRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docGlossaryRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docGlossaryRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "glossary [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [["definition"], ["term"]],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docGlossaryRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docGlossrefRole.js
var require_docGlossrefRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docGlossrefRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docGlossrefRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-errormessage": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "glossref [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget", "command", "link"]]
    };
    var _default = exports.default = docGlossrefRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docIndexRole.js
var require_docIndexRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docIndexRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docIndexRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "index [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark", "navigation"]]
    };
    var _default = exports.default = docIndexRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docIntroductionRole.js
var require_docIntroductionRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docIntroductionRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docIntroductionRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "introduction [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docIntroductionRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docNoterefRole.js
var require_docNoterefRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docNoterefRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docNoterefRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-errormessage": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "noteref [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "widget", "command", "link"]]
    };
    var _default = exports.default = docNoterefRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docNoticeRole.js
var require_docNoticeRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docNoticeRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docNoticeRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "notice [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "note"]]
    };
    var _default = exports.default = docNoticeRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docPagebreakRole.js
var require_docPagebreakRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docPagebreakRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docPagebreakRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "pagebreak [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "separator"]]
    };
    var _default = exports.default = docPagebreakRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docPagefooterRole.js
var require_docPagefooterRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docPagefooterRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docPagefooterRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: [],
      props: {
        "aria-braillelabel": null,
        "aria-brailleroledescription": null,
        "aria-description": null,
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = docPagefooterRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docPageheaderRole.js
var require_docPageheaderRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docPageheaderRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docPageheaderRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["prohibited"],
      prohibitedProps: [],
      props: {
        "aria-braillelabel": null,
        "aria-brailleroledescription": null,
        "aria-description": null,
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = docPageheaderRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docPagelistRole.js
var require_docPagelistRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docPagelistRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docPagelistRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "page-list [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark", "navigation"]]
    };
    var _default = exports.default = docPagelistRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docPartRole.js
var require_docPartRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docPartRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docPartRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "part [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docPartRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docPrefaceRole.js
var require_docPrefaceRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docPrefaceRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docPrefaceRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "preface [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docPrefaceRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docPrologueRole.js
var require_docPrologueRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docPrologueRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docPrologueRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "prologue [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark"]]
    };
    var _default = exports.default = docPrologueRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docPullquoteRole.js
var require_docPullquoteRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docPullquoteRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docPullquoteRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {},
      relatedConcepts: [{
        concept: {
          name: "pullquote [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["none"]]
    };
    var _default = exports.default = docPullquoteRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docQnaRole.js
var require_docQnaRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docQnaRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docQnaRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "qna [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section"]]
    };
    var _default = exports.default = docQnaRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docSubtitleRole.js
var require_docSubtitleRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docSubtitleRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docSubtitleRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "subtitle [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "sectionhead"]]
    };
    var _default = exports.default = docSubtitleRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docTipRole.js
var require_docTipRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docTipRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docTipRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "help [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "note"]]
    };
    var _default = exports.default = docTipRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/dpub/docTocRole.js
var require_docTocRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/dpub/docTocRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var docTocRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        concept: {
          name: "toc [EPUB-SSV]"
        },
        module: "EPUB"
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "landmark", "navigation"]]
    };
    var _default = exports.default = docTocRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/ariaDpubRoles.js
var require_ariaDpubRoles = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/ariaDpubRoles.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var _docAbstractRole = _interopRequireDefault(require_docAbstractRole());
    var _docAcknowledgmentsRole = _interopRequireDefault(require_docAcknowledgmentsRole());
    var _docAfterwordRole = _interopRequireDefault(require_docAfterwordRole());
    var _docAppendixRole = _interopRequireDefault(require_docAppendixRole());
    var _docBacklinkRole = _interopRequireDefault(require_docBacklinkRole());
    var _docBiblioentryRole = _interopRequireDefault(require_docBiblioentryRole());
    var _docBibliographyRole = _interopRequireDefault(require_docBibliographyRole());
    var _docBibliorefRole = _interopRequireDefault(require_docBibliorefRole());
    var _docChapterRole = _interopRequireDefault(require_docChapterRole());
    var _docColophonRole = _interopRequireDefault(require_docColophonRole());
    var _docConclusionRole = _interopRequireDefault(require_docConclusionRole());
    var _docCoverRole = _interopRequireDefault(require_docCoverRole());
    var _docCreditRole = _interopRequireDefault(require_docCreditRole());
    var _docCreditsRole = _interopRequireDefault(require_docCreditsRole());
    var _docDedicationRole = _interopRequireDefault(require_docDedicationRole());
    var _docEndnoteRole = _interopRequireDefault(require_docEndnoteRole());
    var _docEndnotesRole = _interopRequireDefault(require_docEndnotesRole());
    var _docEpigraphRole = _interopRequireDefault(require_docEpigraphRole());
    var _docEpilogueRole = _interopRequireDefault(require_docEpilogueRole());
    var _docErrataRole = _interopRequireDefault(require_docErrataRole());
    var _docExampleRole = _interopRequireDefault(require_docExampleRole());
    var _docFootnoteRole = _interopRequireDefault(require_docFootnoteRole());
    var _docForewordRole = _interopRequireDefault(require_docForewordRole());
    var _docGlossaryRole = _interopRequireDefault(require_docGlossaryRole());
    var _docGlossrefRole = _interopRequireDefault(require_docGlossrefRole());
    var _docIndexRole = _interopRequireDefault(require_docIndexRole());
    var _docIntroductionRole = _interopRequireDefault(require_docIntroductionRole());
    var _docNoterefRole = _interopRequireDefault(require_docNoterefRole());
    var _docNoticeRole = _interopRequireDefault(require_docNoticeRole());
    var _docPagebreakRole = _interopRequireDefault(require_docPagebreakRole());
    var _docPagefooterRole = _interopRequireDefault(require_docPagefooterRole());
    var _docPageheaderRole = _interopRequireDefault(require_docPageheaderRole());
    var _docPagelistRole = _interopRequireDefault(require_docPagelistRole());
    var _docPartRole = _interopRequireDefault(require_docPartRole());
    var _docPrefaceRole = _interopRequireDefault(require_docPrefaceRole());
    var _docPrologueRole = _interopRequireDefault(require_docPrologueRole());
    var _docPullquoteRole = _interopRequireDefault(require_docPullquoteRole());
    var _docQnaRole = _interopRequireDefault(require_docQnaRole());
    var _docSubtitleRole = _interopRequireDefault(require_docSubtitleRole());
    var _docTipRole = _interopRequireDefault(require_docTipRole());
    var _docTocRole = _interopRequireDefault(require_docTocRole());
    function _interopRequireDefault(e2) {
      return e2 && e2.__esModule ? e2 : { default: e2 };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    var ariaDpubRoles = [["doc-abstract", _docAbstractRole.default], ["doc-acknowledgments", _docAcknowledgmentsRole.default], ["doc-afterword", _docAfterwordRole.default], ["doc-appendix", _docAppendixRole.default], ["doc-backlink", _docBacklinkRole.default], ["doc-biblioentry", _docBiblioentryRole.default], ["doc-bibliography", _docBibliographyRole.default], ["doc-biblioref", _docBibliorefRole.default], ["doc-chapter", _docChapterRole.default], ["doc-colophon", _docColophonRole.default], ["doc-conclusion", _docConclusionRole.default], ["doc-cover", _docCoverRole.default], ["doc-credit", _docCreditRole.default], ["doc-credits", _docCreditsRole.default], ["doc-dedication", _docDedicationRole.default], ["doc-endnote", _docEndnoteRole.default], ["doc-endnotes", _docEndnotesRole.default], ["doc-epigraph", _docEpigraphRole.default], ["doc-epilogue", _docEpilogueRole.default], ["doc-errata", _docErrataRole.default], ["doc-example", _docExampleRole.default], ["doc-footnote", _docFootnoteRole.default], ["doc-foreword", _docForewordRole.default], ["doc-glossary", _docGlossaryRole.default], ["doc-glossref", _docGlossrefRole.default], ["doc-index", _docIndexRole.default], ["doc-introduction", _docIntroductionRole.default], ["doc-noteref", _docNoterefRole.default], ["doc-notice", _docNoticeRole.default], ["doc-pagebreak", _docPagebreakRole.default], ["doc-pagefooter", _docPagefooterRole.default], ["doc-pageheader", _docPageheaderRole.default], ["doc-pagelist", _docPagelistRole.default], ["doc-part", _docPartRole.default], ["doc-preface", _docPrefaceRole.default], ["doc-prologue", _docPrologueRole.default], ["doc-pullquote", _docPullquoteRole.default], ["doc-qna", _docQnaRole.default], ["doc-subtitle", _docSubtitleRole.default], ["doc-tip", _docTipRole.default], ["doc-toc", _docTocRole.default]];
    var _default = exports.default = ariaDpubRoles;
  }
});

// ../node_modules/aria-query/lib/etc/roles/graphics/graphicsDocumentRole.js
var require_graphicsDocumentRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/graphics/graphicsDocumentRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var graphicsDocumentRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        module: "GRAPHICS",
        concept: {
          name: "graphics-object"
        }
      }, {
        module: "ARIA",
        concept: {
          name: "img"
        }
      }, {
        module: "ARIA",
        concept: {
          name: "article"
        }
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "document"]]
    };
    var _default = exports.default = graphicsDocumentRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/graphics/graphicsObjectRole.js
var require_graphicsObjectRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/graphics/graphicsObjectRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var graphicsObjectRole = {
      abstract: false,
      accessibleNameRequired: false,
      baseConcepts: [],
      childrenPresentational: false,
      nameFrom: ["author", "contents"],
      prohibitedProps: [],
      props: {
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [{
        module: "GRAPHICS",
        concept: {
          name: "graphics-document"
        }
      }, {
        module: "ARIA",
        concept: {
          name: "group"
        }
      }, {
        module: "ARIA",
        concept: {
          name: "img"
        }
      }, {
        module: "GRAPHICS",
        concept: {
          name: "graphics-symbol"
        }
      }],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "group"]]
    };
    var _default = exports.default = graphicsObjectRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/graphics/graphicsSymbolRole.js
var require_graphicsSymbolRole = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/graphics/graphicsSymbolRole.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var graphicsSymbolRole = {
      abstract: false,
      accessibleNameRequired: true,
      baseConcepts: [],
      childrenPresentational: true,
      nameFrom: ["author"],
      prohibitedProps: [],
      props: {
        "aria-disabled": null,
        "aria-errormessage": null,
        "aria-expanded": null,
        "aria-haspopup": null,
        "aria-invalid": null
      },
      relatedConcepts: [],
      requireContextRole: [],
      requiredContextRole: [],
      requiredOwnedElements: [],
      requiredProps: {},
      superClass: [["roletype", "structure", "section", "img"]]
    };
    var _default = exports.default = graphicsSymbolRole;
  }
});

// ../node_modules/aria-query/lib/etc/roles/ariaGraphicsRoles.js
var require_ariaGraphicsRoles = __commonJS({
  "../node_modules/aria-query/lib/etc/roles/ariaGraphicsRoles.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var _graphicsDocumentRole = _interopRequireDefault(require_graphicsDocumentRole());
    var _graphicsObjectRole = _interopRequireDefault(require_graphicsObjectRole());
    var _graphicsSymbolRole = _interopRequireDefault(require_graphicsSymbolRole());
    function _interopRequireDefault(e2) {
      return e2 && e2.__esModule ? e2 : { default: e2 };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    var ariaGraphicsRoles = [["graphics-document", _graphicsDocumentRole.default], ["graphics-object", _graphicsObjectRole.default], ["graphics-symbol", _graphicsSymbolRole.default]];
    var _default = exports.default = ariaGraphicsRoles;
  }
});

// ../node_modules/aria-query/lib/rolesMap.js
var require_rolesMap = __commonJS({
  "../node_modules/aria-query/lib/rolesMap.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var _ariaAbstractRoles = _interopRequireDefault(require_ariaAbstractRoles());
    var _ariaLiteralRoles = _interopRequireDefault(require_ariaLiteralRoles());
    var _ariaDpubRoles = _interopRequireDefault(require_ariaDpubRoles());
    var _ariaGraphicsRoles = _interopRequireDefault(require_ariaGraphicsRoles());
    var _iterationDecorator = _interopRequireDefault(require_iterationDecorator());
    function _interopRequireDefault(e2) {
      return e2 && e2.__esModule ? e2 : { default: e2 };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    function _createForOfIteratorHelper(r2, e2) {
      var t2 = "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"];
      if (!t2) {
        if (Array.isArray(r2) || (t2 = _unsupportedIterableToArray2(r2)) || e2 && r2 && "number" == typeof r2.length) {
          t2 && (r2 = t2);
          var _n = 0, F = /* @__PURE__ */ __name(function F2() {
          }, "F");
          return { s: F, n: /* @__PURE__ */ __name(function n2() {
            return _n >= r2.length ? { done: true } : { done: false, value: r2[_n++] };
          }, "n"), e: /* @__PURE__ */ __name(function e3(r3) {
            throw r3;
          }, "e"), f: F };
        }
        throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
      }
      var o2, a2 = true, u2 = false;
      return { s: /* @__PURE__ */ __name(function s3() {
        t2 = t2.call(r2);
      }, "s"), n: /* @__PURE__ */ __name(function n2() {
        var r3 = t2.next();
        return a2 = r3.done, r3;
      }, "n"), e: /* @__PURE__ */ __name(function e3(r3) {
        u2 = true, o2 = r3;
      }, "e"), f: /* @__PURE__ */ __name(function f3() {
        try {
          a2 || null == t2.return || t2.return();
        } finally {
          if (u2) throw o2;
        }
      }, "f") };
    }
    __name(_createForOfIteratorHelper, "_createForOfIteratorHelper");
    function _slicedToArray(r2, e2) {
      return _arrayWithHoles(r2) || _iterableToArrayLimit(r2, e2) || _unsupportedIterableToArray2(r2, e2) || _nonIterableRest();
    }
    __name(_slicedToArray, "_slicedToArray");
    function _nonIterableRest() {
      throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    __name(_nonIterableRest, "_nonIterableRest");
    function _unsupportedIterableToArray2(r2, a2) {
      if (r2) {
        if ("string" == typeof r2) return _arrayLikeToArray2(r2, a2);
        var t2 = {}.toString.call(r2).slice(8, -1);
        return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray2(r2, a2) : void 0;
      }
    }
    __name(_unsupportedIterableToArray2, "_unsupportedIterableToArray");
    function _arrayLikeToArray2(r2, a2) {
      (null == a2 || a2 > r2.length) && (a2 = r2.length);
      for (var e2 = 0, n2 = Array(a2); e2 < a2; e2++) n2[e2] = r2[e2];
      return n2;
    }
    __name(_arrayLikeToArray2, "_arrayLikeToArray");
    function _iterableToArrayLimit(r2, l) {
      var t2 = null == r2 ? null : "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"];
      if (null != t2) {
        var e2, n2, i2, u2, a2 = [], f3 = true, o2 = false;
        try {
          if (i2 = (t2 = t2.call(r2)).next, 0 === l) {
            if (Object(t2) !== t2) return;
            f3 = false;
          } else for (; !(f3 = (e2 = i2.call(t2)).done) && (a2.push(e2.value), a2.length !== l); f3 = true) ;
        } catch (r3) {
          o2 = true, n2 = r3;
        } finally {
          try {
            if (!f3 && null != t2.return && (u2 = t2.return(), Object(u2) !== u2)) return;
          } finally {
            if (o2) throw n2;
          }
        }
        return a2;
      }
    }
    __name(_iterableToArrayLimit, "_iterableToArrayLimit");
    function _arrayWithHoles(r2) {
      if (Array.isArray(r2)) return r2;
    }
    __name(_arrayWithHoles, "_arrayWithHoles");
    var roles3 = [].concat(_ariaAbstractRoles.default, _ariaLiteralRoles.default, _ariaDpubRoles.default, _ariaGraphicsRoles.default);
    roles3.forEach(function(_ref) {
      var _ref2 = _slicedToArray(_ref, 2), roleDefinition = _ref2[1];
      var _iterator = _createForOfIteratorHelper(roleDefinition.superClass), _step;
      try {
        for (_iterator.s(); !(_step = _iterator.n()).done; ) {
          var superClassIter = _step.value;
          var _iterator2 = _createForOfIteratorHelper(superClassIter), _step2;
          try {
            var _loop = /* @__PURE__ */ __name(function _loop2() {
              var superClassName = _step2.value;
              var superClassRoleTuple = roles3.filter(function(_ref3) {
                var _ref4 = _slicedToArray(_ref3, 1), name = _ref4[0];
                return name === superClassName;
              })[0];
              if (superClassRoleTuple) {
                var superClassDefinition = superClassRoleTuple[1];
                for (var _i = 0, _Object$keys = Object.keys(superClassDefinition.props); _i < _Object$keys.length; _i++) {
                  var prop = _Object$keys[_i];
                  if (
                    // $FlowIssue Accessing the hasOwnProperty on the Object prototype is fine.
                    !Object.prototype.hasOwnProperty.call(roleDefinition.props, prop)
                  ) {
                    roleDefinition.props[prop] = superClassDefinition.props[prop];
                  }
                }
              }
            }, "_loop");
            for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) {
              _loop();
            }
          } catch (err) {
            _iterator2.e(err);
          } finally {
            _iterator2.f();
          }
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }
    });
    var rolesMap = {
      entries: /* @__PURE__ */ __name(function entries() {
        return roles3;
      }, "entries"),
      forEach: /* @__PURE__ */ __name(function forEach(fn4) {
        var thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
        var _iterator3 = _createForOfIteratorHelper(roles3), _step3;
        try {
          for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) {
            var _step3$value = _slicedToArray(_step3.value, 2), key = _step3$value[0], values = _step3$value[1];
            fn4.call(thisArg, values, key, roles3);
          }
        } catch (err) {
          _iterator3.e(err);
        } finally {
          _iterator3.f();
        }
      }, "forEach"),
      get: /* @__PURE__ */ __name(function get4(key) {
        var item = roles3.filter(function(tuple) {
          return tuple[0] === key ? true : false;
        })[0];
        return item && item[1];
      }, "get"),
      has: /* @__PURE__ */ __name(function has2(key) {
        return !!rolesMap.get(key);
      }, "has"),
      keys: /* @__PURE__ */ __name(function keys3() {
        return roles3.map(function(_ref5) {
          var _ref6 = _slicedToArray(_ref5, 1), key = _ref6[0];
          return key;
        });
      }, "keys"),
      values: /* @__PURE__ */ __name(function values() {
        return roles3.map(function(_ref7) {
          var _ref8 = _slicedToArray(_ref7, 2), values2 = _ref8[1];
          return values2;
        });
      }, "values")
    };
    var _default = exports.default = (0, _iterationDecorator.default)(rolesMap, rolesMap.entries());
  }
});

// ../node_modules/aria-query/lib/elementRoleMap.js
var require_elementRoleMap = __commonJS({
  "../node_modules/aria-query/lib/elementRoleMap.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var _iterationDecorator = _interopRequireDefault(require_iterationDecorator());
    var _rolesMap = _interopRequireDefault(require_rolesMap());
    function _interopRequireDefault(e2) {
      return e2 && e2.__esModule ? e2 : { default: e2 };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    function _slicedToArray(r2, e2) {
      return _arrayWithHoles(r2) || _iterableToArrayLimit(r2, e2) || _unsupportedIterableToArray2(r2, e2) || _nonIterableRest();
    }
    __name(_slicedToArray, "_slicedToArray");
    function _nonIterableRest() {
      throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    __name(_nonIterableRest, "_nonIterableRest");
    function _unsupportedIterableToArray2(r2, a2) {
      if (r2) {
        if ("string" == typeof r2) return _arrayLikeToArray2(r2, a2);
        var t2 = {}.toString.call(r2).slice(8, -1);
        return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray2(r2, a2) : void 0;
      }
    }
    __name(_unsupportedIterableToArray2, "_unsupportedIterableToArray");
    function _arrayLikeToArray2(r2, a2) {
      (null == a2 || a2 > r2.length) && (a2 = r2.length);
      for (var e2 = 0, n2 = Array(a2); e2 < a2; e2++) n2[e2] = r2[e2];
      return n2;
    }
    __name(_arrayLikeToArray2, "_arrayLikeToArray");
    function _iterableToArrayLimit(r2, l) {
      var t2 = null == r2 ? null : "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"];
      if (null != t2) {
        var e2, n2, i3, u2, a2 = [], f3 = true, o2 = false;
        try {
          if (i3 = (t2 = t2.call(r2)).next, 0 === l) {
            if (Object(t2) !== t2) return;
            f3 = false;
          } else for (; !(f3 = (e2 = i3.call(t2)).done) && (a2.push(e2.value), a2.length !== l); f3 = true) ;
        } catch (r3) {
          o2 = true, n2 = r3;
        } finally {
          try {
            if (!f3 && null != t2.return && (u2 = t2.return(), Object(u2) !== u2)) return;
          } finally {
            if (o2) throw n2;
          }
        }
        return a2;
      }
    }
    __name(_iterableToArrayLimit, "_iterableToArrayLimit");
    function _arrayWithHoles(r2) {
      if (Array.isArray(r2)) return r2;
    }
    __name(_arrayWithHoles, "_arrayWithHoles");
    var elementRoles3 = [];
    var keys3 = _rolesMap.default.keys();
    for (i2 = 0; i2 < keys3.length; i2++) {
      key = keys3[i2];
      role = _rolesMap.default.get(key);
      if (role) {
        concepts = [].concat(role.baseConcepts, role.relatedConcepts);
        _loop = /* @__PURE__ */ __name(function _loop2() {
          var relation = concepts[k];
          if (relation.module === "HTML") {
            var concept = relation.concept;
            if (concept) {
              var elementRoleRelation = elementRoles3.filter(function(relation2) {
                return ariaRoleRelationConceptEquals(relation2[0], concept);
              })[0];
              var roles3;
              if (elementRoleRelation) {
                roles3 = elementRoleRelation[1];
              } else {
                roles3 = [];
              }
              var isUnique = true;
              for (var _i = 0; _i < roles3.length; _i++) {
                if (roles3[_i] === key) {
                  isUnique = false;
                  break;
                }
              }
              if (isUnique) {
                roles3.push(key);
              }
              if (!elementRoleRelation) {
                elementRoles3.push([concept, roles3]);
              }
            }
          }
        }, "_loop");
        for (k = 0; k < concepts.length; k++) {
          _loop();
        }
      }
    }
    var key;
    var role;
    var concepts;
    var _loop;
    var k;
    var i2;
    var elementRoleMap = {
      entries: /* @__PURE__ */ __name(function entries() {
        return elementRoles3;
      }, "entries"),
      forEach: /* @__PURE__ */ __name(function forEach(fn4) {
        var thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
        for (var _i2 = 0, _elementRoles = elementRoles3; _i2 < _elementRoles.length; _i2++) {
          var _elementRoles$_i = _slicedToArray(_elementRoles[_i2], 2), _key = _elementRoles$_i[0], values = _elementRoles$_i[1];
          fn4.call(thisArg, values, _key, elementRoles3);
        }
      }, "forEach"),
      get: /* @__PURE__ */ __name(function get4(key2) {
        var item = elementRoles3.filter(function(tuple) {
          return key2.name === tuple[0].name && ariaRoleRelationConceptAttributeEquals(key2.attributes, tuple[0].attributes);
        })[0];
        return item && item[1];
      }, "get"),
      has: /* @__PURE__ */ __name(function has2(key2) {
        return !!elementRoleMap.get(key2);
      }, "has"),
      keys: /* @__PURE__ */ __name(function keys4() {
        return elementRoles3.map(function(_ref) {
          var _ref2 = _slicedToArray(_ref, 1), key2 = _ref2[0];
          return key2;
        });
      }, "keys"),
      values: /* @__PURE__ */ __name(function values() {
        return elementRoles3.map(function(_ref3) {
          var _ref4 = _slicedToArray(_ref3, 2), values2 = _ref4[1];
          return values2;
        });
      }, "values")
    };
    function ariaRoleRelationConceptEquals(a2, b) {
      return a2.name === b.name && ariaRoleRelationConstraintsEquals(a2.constraints, b.constraints) && ariaRoleRelationConceptAttributeEquals(a2.attributes, b.attributes);
    }
    __name(ariaRoleRelationConceptEquals, "ariaRoleRelationConceptEquals");
    function ariaRoleRelationConstraintsEquals(a2, b) {
      if (a2 === void 0 && b !== void 0) {
        return false;
      }
      if (a2 !== void 0 && b === void 0) {
        return false;
      }
      if (a2 !== void 0 && b !== void 0) {
        if (a2.length !== b.length) {
          return false;
        }
        for (var _i3 = 0; _i3 < a2.length; _i3++) {
          if (a2[_i3] !== b[_i3]) {
            return false;
          }
        }
      }
      return true;
    }
    __name(ariaRoleRelationConstraintsEquals, "ariaRoleRelationConstraintsEquals");
    function ariaRoleRelationConceptAttributeEquals(a2, b) {
      if (a2 === void 0 && b !== void 0) {
        return false;
      }
      if (a2 !== void 0 && b === void 0) {
        return false;
      }
      if (a2 !== void 0 && b !== void 0) {
        if (a2.length !== b.length) {
          return false;
        }
        for (var _i4 = 0; _i4 < a2.length; _i4++) {
          if (a2[_i4].name !== b[_i4].name || a2[_i4].value !== b[_i4].value) {
            return false;
          }
          if (a2[_i4].constraints === void 0 && b[_i4].constraints !== void 0) {
            return false;
          }
          if (a2[_i4].constraints !== void 0 && b[_i4].constraints === void 0) {
            return false;
          }
          if (a2[_i4].constraints !== void 0 && b[_i4].constraints !== void 0) {
            if (a2[_i4].constraints.length !== b[_i4].constraints.length) {
              return false;
            }
            for (var j = 0; j < a2[_i4].constraints.length; j++) {
              if (a2[_i4].constraints[j] !== b[_i4].constraints[j]) {
                return false;
              }
            }
          }
        }
      }
      return true;
    }
    __name(ariaRoleRelationConceptAttributeEquals, "ariaRoleRelationConceptAttributeEquals");
    var _default = exports.default = (0, _iterationDecorator.default)(elementRoleMap, elementRoleMap.entries());
  }
});

// ../node_modules/aria-query/lib/roleElementMap.js
var require_roleElementMap = __commonJS({
  "../node_modules/aria-query/lib/roleElementMap.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;
    var _iterationDecorator = _interopRequireDefault(require_iterationDecorator());
    var _rolesMap = _interopRequireDefault(require_rolesMap());
    function _interopRequireDefault(e2) {
      return e2 && e2.__esModule ? e2 : { default: e2 };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    function _slicedToArray(r2, e2) {
      return _arrayWithHoles(r2) || _iterableToArrayLimit(r2, e2) || _unsupportedIterableToArray2(r2, e2) || _nonIterableRest();
    }
    __name(_slicedToArray, "_slicedToArray");
    function _nonIterableRest() {
      throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    __name(_nonIterableRest, "_nonIterableRest");
    function _unsupportedIterableToArray2(r2, a2) {
      if (r2) {
        if ("string" == typeof r2) return _arrayLikeToArray2(r2, a2);
        var t2 = {}.toString.call(r2).slice(8, -1);
        return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray2(r2, a2) : void 0;
      }
    }
    __name(_unsupportedIterableToArray2, "_unsupportedIterableToArray");
    function _arrayLikeToArray2(r2, a2) {
      (null == a2 || a2 > r2.length) && (a2 = r2.length);
      for (var e2 = 0, n2 = Array(a2); e2 < a2; e2++) n2[e2] = r2[e2];
      return n2;
    }
    __name(_arrayLikeToArray2, "_arrayLikeToArray");
    function _iterableToArrayLimit(r2, l) {
      var t2 = null == r2 ? null : "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"];
      if (null != t2) {
        var e2, n2, i3, u2, a2 = [], f3 = true, o2 = false;
        try {
          if (i3 = (t2 = t2.call(r2)).next, 0 === l) {
            if (Object(t2) !== t2) return;
            f3 = false;
          } else for (; !(f3 = (e2 = i3.call(t2)).done) && (a2.push(e2.value), a2.length !== l); f3 = true) ;
        } catch (r3) {
          o2 = true, n2 = r3;
        } finally {
          try {
            if (!f3 && null != t2.return && (u2 = t2.return(), Object(u2) !== u2)) return;
          } finally {
            if (o2) throw n2;
          }
        }
        return a2;
      }
    }
    __name(_iterableToArrayLimit, "_iterableToArrayLimit");
    function _arrayWithHoles(r2) {
      if (Array.isArray(r2)) return r2;
    }
    __name(_arrayWithHoles, "_arrayWithHoles");
    var roleElement = [];
    var keys3 = _rolesMap.default.keys();
    for (i2 = 0; i2 < keys3.length; i2++) {
      key = keys3[i2];
      role = _rolesMap.default.get(key);
      relationConcepts = [];
      if (role) {
        concepts = [].concat(role.baseConcepts, role.relatedConcepts);
        for (k = 0; k < concepts.length; k++) {
          relation = concepts[k];
          if (relation.module === "HTML") {
            concept = relation.concept;
            if (concept != null) {
              relationConcepts.push(concept);
            }
          }
        }
        if (relationConcepts.length > 0) {
          roleElement.push([key, relationConcepts]);
        }
      }
    }
    var key;
    var role;
    var relationConcepts;
    var concepts;
    var relation;
    var concept;
    var k;
    var i2;
    var roleElementMap = {
      entries: /* @__PURE__ */ __name(function entries() {
        return roleElement;
      }, "entries"),
      forEach: /* @__PURE__ */ __name(function forEach(fn4) {
        var thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
        for (var _i = 0, _roleElement = roleElement; _i < _roleElement.length; _i++) {
          var _roleElement$_i = _slicedToArray(_roleElement[_i], 2), _key = _roleElement$_i[0], values = _roleElement$_i[1];
          fn4.call(thisArg, values, _key, roleElement);
        }
      }, "forEach"),
      get: /* @__PURE__ */ __name(function get4(key2) {
        var item = roleElement.filter(function(tuple) {
          return tuple[0] === key2 ? true : false;
        })[0];
        return item && item[1];
      }, "get"),
      has: /* @__PURE__ */ __name(function has2(key2) {
        return !!roleElementMap.get(key2);
      }, "has"),
      keys: /* @__PURE__ */ __name(function keys4() {
        return roleElement.map(function(_ref) {
          var _ref2 = _slicedToArray(_ref, 1), key2 = _ref2[0];
          return key2;
        });
      }, "keys"),
      values: /* @__PURE__ */ __name(function values() {
        return roleElement.map(function(_ref3) {
          var _ref4 = _slicedToArray(_ref3, 2), values2 = _ref4[1];
          return values2;
        });
      }, "values")
    };
    var _default = exports.default = (0, _iterationDecorator.default)(roleElementMap, roleElementMap.entries());
  }
});

// ../node_modules/aria-query/lib/index.js
var require_lib2 = __commonJS({
  "../node_modules/aria-query/lib/index.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.roles = exports.roleElements = exports.elementRoles = exports.dom = exports.aria = void 0;
    var _ariaPropsMap = _interopRequireDefault(require_ariaPropsMap());
    var _domMap = _interopRequireDefault(require_domMap());
    var _rolesMap = _interopRequireDefault(require_rolesMap());
    var _elementRoleMap = _interopRequireDefault(require_elementRoleMap());
    var _roleElementMap = _interopRequireDefault(require_roleElementMap());
    function _interopRequireDefault(e2) {
      return e2 && e2.__esModule ? e2 : { default: e2 };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    var aria = exports.aria = _ariaPropsMap.default;
    var dom = exports.dom = _domMap.default;
    var roles3 = exports.roles = _rolesMap.default;
    var elementRoles3 = exports.elementRoles = _elementRoleMap.default;
    var roleElements2 = exports.roleElements = _roleElementMap.default;
  }
});

// ../node_modules/picocolors/picocolors.browser.js
var require_picocolors_browser = __commonJS({
  "../node_modules/picocolors/picocolors.browser.js"(exports, module2) {
    var x = String;
    var create3 = /* @__PURE__ */ __name(function() {
      return { isColorSupported: false, reset: x, bold: x, dim: x, italic: x, underline: x, inverse: x, hidden: x, strikethrough: x, black: x, red: x, green: x, yellow: x, blue: x, magenta: x, cyan: x, white: x, gray: x, bgBlack: x, bgRed: x, bgGreen: x, bgYellow: x, bgBlue: x, bgMagenta: x, bgCyan: x, bgWhite: x, blackBright: x, redBright: x, greenBright: x, yellowBright: x, blueBright: x, magentaBright: x, cyanBright: x, whiteBright: x, bgBlackBright: x, bgRedBright: x, bgGreenBright: x, bgYellowBright: x, bgBlueBright: x, bgMagentaBright: x, bgCyanBright: x, bgWhiteBright: x };
    }, "create");
    module2.exports = create3();
    module2.exports.createColors = create3;
  }
});

// ../node_modules/css.escape/css.escape.js
var require_css_escape = __commonJS({
  "../node_modules/css.escape/css.escape.js"(exports, module2) {
    (function(root2, factory) {
      if (typeof exports == "object") {
        module2.exports = factory(root2);
      } else if (typeof define == "function" && define.amd) {
        define([], factory.bind(root2, root2));
      } else {
        factory(root2);
      }
    })(typeof global != "undefined" ? global : exports, function(root2) {
      if (root2.CSS && root2.CSS.escape) {
        return root2.CSS.escape;
      }
      var cssEscape = /* @__PURE__ */ __name(function(value) {
        if (arguments.length == 0) {
          throw new TypeError("`CSS.escape` requires an argument.");
        }
        var string = String(value);
        var length2 = string.length;
        var index4 = -1;
        var codeUnit;
        var result = "";
        var firstCodeUnit = string.charCodeAt(0);
        while (++index4 < length2) {
          codeUnit = string.charCodeAt(index4);
          if (codeUnit == 0) {
            result += "\uFFFD";
            continue;
          }
          if (
            // If the character is in the range [\1-\1F] (U+0001 to U+001F) or is
            // U+007F, […]
            codeUnit >= 1 && codeUnit <= 31 || codeUnit == 127 || // If the character is the first character and is in the range [0-9]
            // (U+0030 to U+0039), […]
            index4 == 0 && codeUnit >= 48 && codeUnit <= 57 || // If the character is the second character and is in the range [0-9]
            // (U+0030 to U+0039) and the first character is a `-` (U+002D), […]
            index4 == 1 && codeUnit >= 48 && codeUnit <= 57 && firstCodeUnit == 45
          ) {
            result += "\\" + codeUnit.toString(16) + " ";
            continue;
          }
          if (
            // If the character is the first character and is a `-` (U+002D), and
            // there is no second character, […]
            index4 == 0 && length2 == 1 && codeUnit == 45
          ) {
            result += "\\" + string.charAt(index4);
            continue;
          }
          if (codeUnit >= 128 || codeUnit == 45 || codeUnit == 95 || codeUnit >= 48 && codeUnit <= 57 || codeUnit >= 65 && codeUnit <= 90 || codeUnit >= 97 && codeUnit <= 122) {
            result += string.charAt(index4);
            continue;
          }
          result += "\\" + string.charAt(index4);
        }
        return result;
      }, "cssEscape");
      if (!root2.CSS) {
        root2.CSS = {};
      }
      root2.CSS.escape = cssEscape;
      return cssEscape;
    });
  }
});

// ../node_modules/pretty-format/node_modules/ansi-styles/index.js
var require_ansi_styles = __commonJS({
  "../node_modules/pretty-format/node_modules/ansi-styles/index.js"(exports, module2) {
    "use strict";
    var ANSI_BACKGROUND_OFFSET = 10;
    var wrapAnsi256 = /* @__PURE__ */ __name((offset3 = 0) => (code) => `\x1B[${38 + offset3};5;${code}m`, "wrapAnsi256");
    var wrapAnsi16m = /* @__PURE__ */ __name((offset3 = 0) => (red, green, blue) => `\x1B[${38 + offset3};2;${red};${green};${blue}m`, "wrapAnsi16m");
    function assembleStyles() {
      const codes = /* @__PURE__ */ new Map();
      const styles4 = {
        modifier: {
          reset: [0, 0],
          // 21 isn't widely supported and 22 does the same thing
          bold: [1, 22],
          dim: [2, 22],
          italic: [3, 23],
          underline: [4, 24],
          overline: [53, 55],
          inverse: [7, 27],
          hidden: [8, 28],
          strikethrough: [9, 29]
        },
        color: {
          black: [30, 39],
          red: [31, 39],
          green: [32, 39],
          yellow: [33, 39],
          blue: [34, 39],
          magenta: [35, 39],
          cyan: [36, 39],
          white: [37, 39],
          // Bright color
          blackBright: [90, 39],
          redBright: [91, 39],
          greenBright: [92, 39],
          yellowBright: [93, 39],
          blueBright: [94, 39],
          magentaBright: [95, 39],
          cyanBright: [96, 39],
          whiteBright: [97, 39]
        },
        bgColor: {
          bgBlack: [40, 49],
          bgRed: [41, 49],
          bgGreen: [42, 49],
          bgYellow: [43, 49],
          bgBlue: [44, 49],
          bgMagenta: [45, 49],
          bgCyan: [46, 49],
          bgWhite: [47, 49],
          // Bright color
          bgBlackBright: [100, 49],
          bgRedBright: [101, 49],
          bgGreenBright: [102, 49],
          bgYellowBright: [103, 49],
          bgBlueBright: [104, 49],
          bgMagentaBright: [105, 49],
          bgCyanBright: [106, 49],
          bgWhiteBright: [107, 49]
        }
      };
      styles4.color.gray = styles4.color.blackBright;
      styles4.bgColor.bgGray = styles4.bgColor.bgBlackBright;
      styles4.color.grey = styles4.color.blackBright;
      styles4.bgColor.bgGrey = styles4.bgColor.bgBlackBright;
      for (const [groupName, group] of Object.entries(styles4)) {
        for (const [styleName, style] of Object.entries(group)) {
          styles4[styleName] = {
            open: `\x1B[${style[0]}m`,
            close: `\x1B[${style[1]}m`
          };
          group[styleName] = styles4[styleName];
          codes.set(style[0], style[1]);
        }
        Object.defineProperty(styles4, groupName, {
          value: group,
          enumerable: false
        });
      }
      Object.defineProperty(styles4, "codes", {
        value: codes,
        enumerable: false
      });
      styles4.color.close = "\x1B[39m";
      styles4.bgColor.close = "\x1B[49m";
      styles4.color.ansi256 = wrapAnsi256();
      styles4.color.ansi16m = wrapAnsi16m();
      styles4.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
      styles4.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
      Object.defineProperties(styles4, {
        rgbToAnsi256: {
          value: /* @__PURE__ */ __name((red, green, blue) => {
            if (red === green && green === blue) {
              if (red < 8) {
                return 16;
              }
              if (red > 248) {
                return 231;
              }
              return Math.round((red - 8) / 247 * 24) + 232;
            }
            return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
          }, "value"),
          enumerable: false
        },
        hexToRgb: {
          value: /* @__PURE__ */ __name((hex3) => {
            const matches4 = /(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(hex3.toString(16));
            if (!matches4) {
              return [0, 0, 0];
            }
            let { colorString } = matches4.groups;
            if (colorString.length === 3) {
              colorString = colorString.split("").map((character2) => character2 + character2).join("");
            }
            const integer = Number.parseInt(colorString, 16);
            return [
              integer >> 16 & 255,
              integer >> 8 & 255,
              integer & 255
            ];
          }, "value"),
          enumerable: false
        },
        hexToAnsi256: {
          value: /* @__PURE__ */ __name((hex3) => styles4.rgbToAnsi256(...styles4.hexToRgb(hex3)), "value"),
          enumerable: false
        }
      });
      return styles4;
    }
    __name(assembleStyles, "assembleStyles");
    Object.defineProperty(module2, "exports", {
      enumerable: true,
      get: assembleStyles
    });
  }
});

// ../node_modules/pretty-format/build/collections.js
var require_collections = __commonJS({
  "../node_modules/pretty-format/build/collections.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.printIteratorEntries = printIteratorEntries2;
    exports.printIteratorValues = printIteratorValues2;
    exports.printListItems = printListItems2;
    exports.printObjectProperties = printObjectProperties2;
    var getKeysOfEnumerableProperties2 = /* @__PURE__ */ __name((object, compareKeys) => {
      const keys3 = Object.keys(object).sort(compareKeys);
      if (Object.getOwnPropertySymbols) {
        Object.getOwnPropertySymbols(object).forEach((symbol) => {
          if (Object.getOwnPropertyDescriptor(object, symbol).enumerable) {
            keys3.push(symbol);
          }
        });
      }
      return keys3;
    }, "getKeysOfEnumerableProperties");
    function printIteratorEntries2(iterator, config4, indentation, depth, refs, printer2, separator = ": ") {
      let result = "";
      let current = iterator.next();
      if (!current.done) {
        result += config4.spacingOuter;
        const indentationNext = indentation + config4.indent;
        while (!current.done) {
          const name = printer2(
            current.value[0],
            config4,
            indentationNext,
            depth,
            refs
          );
          const value = printer2(
            current.value[1],
            config4,
            indentationNext,
            depth,
            refs
          );
          result += indentationNext + name + separator + value;
          current = iterator.next();
          if (!current.done) {
            result += "," + config4.spacingInner;
          } else if (!config4.min) {
            result += ",";
          }
        }
        result += config4.spacingOuter + indentation;
      }
      return result;
    }
    __name(printIteratorEntries2, "printIteratorEntries");
    function printIteratorValues2(iterator, config4, indentation, depth, refs, printer2) {
      let result = "";
      let current = iterator.next();
      if (!current.done) {
        result += config4.spacingOuter;
        const indentationNext = indentation + config4.indent;
        while (!current.done) {
          result += indentationNext + printer2(current.value, config4, indentationNext, depth, refs);
          current = iterator.next();
          if (!current.done) {
            result += "," + config4.spacingInner;
          } else if (!config4.min) {
            result += ",";
          }
        }
        result += config4.spacingOuter + indentation;
      }
      return result;
    }
    __name(printIteratorValues2, "printIteratorValues");
    function printListItems2(list, config4, indentation, depth, refs, printer2) {
      let result = "";
      if (list.length) {
        result += config4.spacingOuter;
        const indentationNext = indentation + config4.indent;
        for (let i2 = 0; i2 < list.length; i2++) {
          result += indentationNext;
          if (i2 in list) {
            result += printer2(list[i2], config4, indentationNext, depth, refs);
          }
          if (i2 < list.length - 1) {
            result += "," + config4.spacingInner;
          } else if (!config4.min) {
            result += ",";
          }
        }
        result += config4.spacingOuter + indentation;
      }
      return result;
    }
    __name(printListItems2, "printListItems");
    function printObjectProperties2(val, config4, indentation, depth, refs, printer2) {
      let result = "";
      const keys3 = getKeysOfEnumerableProperties2(val, config4.compareKeys);
      if (keys3.length) {
        result += config4.spacingOuter;
        const indentationNext = indentation + config4.indent;
        for (let i2 = 0; i2 < keys3.length; i2++) {
          const key = keys3[i2];
          const name = printer2(key, config4, indentationNext, depth, refs);
          const value = printer2(val[key], config4, indentationNext, depth, refs);
          result += indentationNext + name + ": " + value;
          if (i2 < keys3.length - 1) {
            result += "," + config4.spacingInner;
          } else if (!config4.min) {
            result += ",";
          }
        }
        result += config4.spacingOuter + indentation;
      }
      return result;
    }
    __name(printObjectProperties2, "printObjectProperties");
  }
});

// ../node_modules/pretty-format/build/plugins/AsymmetricMatcher.js
var require_AsymmetricMatcher = __commonJS({
  "../node_modules/pretty-format/build/plugins/AsymmetricMatcher.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.test = exports.serialize = exports.default = void 0;
    var _collections = require_collections();
    var global2 = function() {
      if (typeof globalThis !== "undefined") {
        return globalThis;
      } else if (typeof global2 !== "undefined") {
        return global2;
      } else if (typeof self !== "undefined") {
        return self;
      } else if (typeof window !== "undefined") {
        return window;
      } else {
        return Function("return this")();
      }
    }();
    var Symbol3 = global2["jest-symbol-do-not-touch"] || global2.Symbol;
    var asymmetricMatcher2 = typeof Symbol3 === "function" && Symbol3.for ? Symbol3.for("jest.asymmetricMatcher") : 1267621;
    var SPACE2 = " ";
    var serialize3 = /* @__PURE__ */ __name((val, config4, indentation, depth, refs, printer2) => {
      const stringedValue = val.toString();
      if (stringedValue === "ArrayContaining" || stringedValue === "ArrayNotContaining") {
        if (++depth > config4.maxDepth) {
          return "[" + stringedValue + "]";
        }
        return stringedValue + SPACE2 + "[" + (0, _collections.printListItems)(
          val.sample,
          config4,
          indentation,
          depth,
          refs,
          printer2
        ) + "]";
      }
      if (stringedValue === "ObjectContaining" || stringedValue === "ObjectNotContaining") {
        if (++depth > config4.maxDepth) {
          return "[" + stringedValue + "]";
        }
        return stringedValue + SPACE2 + "{" + (0, _collections.printObjectProperties)(
          val.sample,
          config4,
          indentation,
          depth,
          refs,
          printer2
        ) + "}";
      }
      if (stringedValue === "StringMatching" || stringedValue === "StringNotMatching") {
        return stringedValue + SPACE2 + printer2(val.sample, config4, indentation, depth, refs);
      }
      if (stringedValue === "StringContaining" || stringedValue === "StringNotContaining") {
        return stringedValue + SPACE2 + printer2(val.sample, config4, indentation, depth, refs);
      }
      return val.toAsymmetricMatcher();
    }, "serialize");
    exports.serialize = serialize3;
    var test3 = /* @__PURE__ */ __name((val) => val && val.$$typeof === asymmetricMatcher2, "test");
    exports.test = test3;
    var plugin2 = {
      serialize: serialize3,
      test: test3
    };
    var _default = plugin2;
    exports.default = _default;
  }
});

// ../node_modules/pretty-format/node_modules/ansi-regex/index.js
var require_ansi_regex = __commonJS({
  "../node_modules/pretty-format/node_modules/ansi-regex/index.js"(exports, module2) {
    "use strict";
    module2.exports = ({ onlyFirst = false } = {}) => {
      const pattern = [
        "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
        "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"
      ].join("|");
      return new RegExp(pattern, onlyFirst ? void 0 : "g");
    };
  }
});

// ../node_modules/pretty-format/build/plugins/ConvertAnsi.js
var require_ConvertAnsi = __commonJS({
  "../node_modules/pretty-format/build/plugins/ConvertAnsi.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.test = exports.serialize = exports.default = void 0;
    var _ansiRegex = _interopRequireDefault(require_ansi_regex());
    var _ansiStyles = _interopRequireDefault(require_ansi_styles());
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { default: obj };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    var toHumanReadableAnsi = /* @__PURE__ */ __name((text) => text.replace((0, _ansiRegex.default)(), (match3) => {
      switch (match3) {
        case _ansiStyles.default.red.close:
        case _ansiStyles.default.green.close:
        case _ansiStyles.default.cyan.close:
        case _ansiStyles.default.gray.close:
        case _ansiStyles.default.white.close:
        case _ansiStyles.default.yellow.close:
        case _ansiStyles.default.bgRed.close:
        case _ansiStyles.default.bgGreen.close:
        case _ansiStyles.default.bgYellow.close:
        case _ansiStyles.default.inverse.close:
        case _ansiStyles.default.dim.close:
        case _ansiStyles.default.bold.close:
        case _ansiStyles.default.reset.open:
        case _ansiStyles.default.reset.close:
          return "</>";
        case _ansiStyles.default.red.open:
          return "<red>";
        case _ansiStyles.default.green.open:
          return "<green>";
        case _ansiStyles.default.cyan.open:
          return "<cyan>";
        case _ansiStyles.default.gray.open:
          return "<gray>";
        case _ansiStyles.default.white.open:
          return "<white>";
        case _ansiStyles.default.yellow.open:
          return "<yellow>";
        case _ansiStyles.default.bgRed.open:
          return "<bgRed>";
        case _ansiStyles.default.bgGreen.open:
          return "<bgGreen>";
        case _ansiStyles.default.bgYellow.open:
          return "<bgYellow>";
        case _ansiStyles.default.inverse.open:
          return "<inverse>";
        case _ansiStyles.default.dim.open:
          return "<dim>";
        case _ansiStyles.default.bold.open:
          return "<bold>";
        default:
          return "";
      }
    }), "toHumanReadableAnsi");
    var test3 = /* @__PURE__ */ __name((val) => typeof val === "string" && !!val.match((0, _ansiRegex.default)()), "test");
    exports.test = test3;
    var serialize3 = /* @__PURE__ */ __name((val, config4, indentation, depth, refs, printer2) => printer2(toHumanReadableAnsi(val), config4, indentation, depth, refs), "serialize");
    exports.serialize = serialize3;
    var plugin2 = {
      serialize: serialize3,
      test: test3
    };
    var _default = plugin2;
    exports.default = _default;
  }
});

// ../node_modules/pretty-format/build/plugins/DOMCollection.js
var require_DOMCollection = __commonJS({
  "../node_modules/pretty-format/build/plugins/DOMCollection.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.test = exports.serialize = exports.default = void 0;
    var _collections = require_collections();
    var SPACE2 = " ";
    var OBJECT_NAMES2 = ["DOMStringMap", "NamedNodeMap"];
    var ARRAY_REGEXP2 = /^(HTML\w*Collection|NodeList)$/;
    var testName2 = /* @__PURE__ */ __name((name) => OBJECT_NAMES2.indexOf(name) !== -1 || ARRAY_REGEXP2.test(name), "testName");
    var test3 = /* @__PURE__ */ __name((val) => val && val.constructor && !!val.constructor.name && testName2(val.constructor.name), "test");
    exports.test = test3;
    var isNamedNodeMap2 = /* @__PURE__ */ __name((collection) => collection.constructor.name === "NamedNodeMap", "isNamedNodeMap");
    var serialize3 = /* @__PURE__ */ __name((collection, config4, indentation, depth, refs, printer2) => {
      const name = collection.constructor.name;
      if (++depth > config4.maxDepth) {
        return "[" + name + "]";
      }
      return (config4.min ? "" : name + SPACE2) + (OBJECT_NAMES2.indexOf(name) !== -1 ? "{" + (0, _collections.printObjectProperties)(
        isNamedNodeMap2(collection) ? Array.from(collection).reduce((props, attribute) => {
          props[attribute.name] = attribute.value;
          return props;
        }, {}) : { ...collection },
        config4,
        indentation,
        depth,
        refs,
        printer2
      ) + "}" : "[" + (0, _collections.printListItems)(
        Array.from(collection),
        config4,
        indentation,
        depth,
        refs,
        printer2
      ) + "]");
    }, "serialize");
    exports.serialize = serialize3;
    var plugin2 = {
      serialize: serialize3,
      test: test3
    };
    var _default = plugin2;
    exports.default = _default;
  }
});

// ../node_modules/pretty-format/build/plugins/lib/escapeHTML.js
var require_escapeHTML = __commonJS({
  "../node_modules/pretty-format/build/plugins/lib/escapeHTML.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = escapeHTML3;
    function escapeHTML3(str2) {
      return str2.replace(/</g, "&lt;").replace(/>/g, "&gt;");
    }
    __name(escapeHTML3, "escapeHTML");
  }
});

// ../node_modules/pretty-format/build/plugins/lib/markup.js
var require_markup2 = __commonJS({
  "../node_modules/pretty-format/build/plugins/lib/markup.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.printText = exports.printProps = exports.printElementAsLeaf = exports.printElement = exports.printComment = exports.printChildren = void 0;
    var _escapeHTML = _interopRequireDefault(require_escapeHTML());
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { default: obj };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    var printProps3 = /* @__PURE__ */ __name((keys3, props, config4, indentation, depth, refs, printer2) => {
      const indentationNext = indentation + config4.indent;
      const colors3 = config4.colors;
      return keys3.map((key) => {
        const value = props[key];
        let printed = printer2(value, config4, indentationNext, depth, refs);
        if (typeof value !== "string") {
          if (printed.indexOf("\n") !== -1) {
            printed = config4.spacingOuter + indentationNext + printed + config4.spacingOuter + indentation;
          }
          printed = "{" + printed + "}";
        }
        return config4.spacingInner + indentation + colors3.prop.open + key + colors3.prop.close + "=" + colors3.value.open + printed + colors3.value.close;
      }).join("");
    }, "printProps");
    exports.printProps = printProps3;
    var printChildren3 = /* @__PURE__ */ __name((children, config4, indentation, depth, refs, printer2) => children.map(
      (child) => config4.spacingOuter + indentation + (typeof child === "string" ? printText3(child, config4) : printer2(child, config4, indentation, depth, refs))
    ).join(""), "printChildren");
    exports.printChildren = printChildren3;
    var printText3 = /* @__PURE__ */ __name((text, config4) => {
      const contentColor = config4.colors.content;
      return contentColor.open + (0, _escapeHTML.default)(text) + contentColor.close;
    }, "printText");
    exports.printText = printText3;
    var printComment3 = /* @__PURE__ */ __name((comment2, config4) => {
      const commentColor = config4.colors.comment;
      return commentColor.open + "<!--" + (0, _escapeHTML.default)(comment2) + "-->" + commentColor.close;
    }, "printComment");
    exports.printComment = printComment3;
    var printElement3 = /* @__PURE__ */ __name((type5, printedProps, printedChildren, config4, indentation) => {
      const tagColor = config4.colors.tag;
      return tagColor.open + "<" + type5 + (printedProps && tagColor.close + printedProps + config4.spacingOuter + indentation + tagColor.open) + (printedChildren ? ">" + tagColor.close + printedChildren + config4.spacingOuter + indentation + tagColor.open + "</" + type5 : (printedProps && !config4.min ? "" : " ") + "/") + ">" + tagColor.close;
    }, "printElement");
    exports.printElement = printElement3;
    var printElementAsLeaf3 = /* @__PURE__ */ __name((type5, config4) => {
      const tagColor = config4.colors.tag;
      return tagColor.open + "<" + type5 + tagColor.close + " \u2026" + tagColor.open + " />" + tagColor.close;
    }, "printElementAsLeaf");
    exports.printElementAsLeaf = printElementAsLeaf3;
  }
});

// ../node_modules/pretty-format/build/plugins/DOMElement.js
var require_DOMElement = __commonJS({
  "../node_modules/pretty-format/build/plugins/DOMElement.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.test = exports.serialize = exports.default = void 0;
    var _markup = require_markup2();
    var ELEMENT_NODE3 = 1;
    var TEXT_NODE3 = 3;
    var COMMENT_NODE3 = 8;
    var FRAGMENT_NODE3 = 11;
    var ELEMENT_REGEXP3 = /^((HTML|SVG)\w*)?Element$/;
    var testHasAttribute2 = /* @__PURE__ */ __name((val) => {
      try {
        return typeof val.hasAttribute === "function" && val.hasAttribute("is");
      } catch {
        return false;
      }
    }, "testHasAttribute");
    var testNode3 = /* @__PURE__ */ __name((val) => {
      const constructorName = val.constructor.name;
      const { nodeType, tagName } = val;
      const isCustomElement3 = typeof tagName === "string" && tagName.includes("-") || testHasAttribute2(val);
      return nodeType === ELEMENT_NODE3 && (ELEMENT_REGEXP3.test(constructorName) || isCustomElement3) || nodeType === TEXT_NODE3 && constructorName === "Text" || nodeType === COMMENT_NODE3 && constructorName === "Comment" || nodeType === FRAGMENT_NODE3 && constructorName === "DocumentFragment";
    }, "testNode");
    var test3 = /* @__PURE__ */ __name((val) => {
      var _val$constructor;
      return (val === null || val === void 0 ? void 0 : (_val$constructor = val.constructor) === null || _val$constructor === void 0 ? void 0 : _val$constructor.name) && testNode3(val);
    }, "test");
    exports.test = test3;
    function nodeIsText3(node2) {
      return node2.nodeType === TEXT_NODE3;
    }
    __name(nodeIsText3, "nodeIsText");
    function nodeIsComment3(node2) {
      return node2.nodeType === COMMENT_NODE3;
    }
    __name(nodeIsComment3, "nodeIsComment");
    function nodeIsFragment3(node2) {
      return node2.nodeType === FRAGMENT_NODE3;
    }
    __name(nodeIsFragment3, "nodeIsFragment");
    var serialize3 = /* @__PURE__ */ __name((node2, config4, indentation, depth, refs, printer2) => {
      if (nodeIsText3(node2)) {
        return (0, _markup.printText)(node2.data, config4);
      }
      if (nodeIsComment3(node2)) {
        return (0, _markup.printComment)(node2.data, config4);
      }
      const type5 = nodeIsFragment3(node2) ? "DocumentFragment" : node2.tagName.toLowerCase();
      if (++depth > config4.maxDepth) {
        return (0, _markup.printElementAsLeaf)(type5, config4);
      }
      return (0, _markup.printElement)(
        type5,
        (0, _markup.printProps)(
          nodeIsFragment3(node2) ? [] : Array.from(node2.attributes).map((attr) => attr.name).sort(),
          nodeIsFragment3(node2) ? {} : Array.from(node2.attributes).reduce((props, attribute) => {
            props[attribute.name] = attribute.value;
            return props;
          }, {}),
          config4,
          indentation + config4.indent,
          depth,
          refs,
          printer2
        ),
        (0, _markup.printChildren)(
          Array.prototype.slice.call(node2.childNodes || node2.children),
          config4,
          indentation + config4.indent,
          depth,
          refs,
          printer2
        ),
        config4,
        indentation
      );
    }, "serialize");
    exports.serialize = serialize3;
    var plugin2 = {
      serialize: serialize3,
      test: test3
    };
    var _default = plugin2;
    exports.default = _default;
  }
});

// ../node_modules/pretty-format/build/plugins/Immutable.js
var require_Immutable = __commonJS({
  "../node_modules/pretty-format/build/plugins/Immutable.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.test = exports.serialize = exports.default = void 0;
    var _collections = require_collections();
    var IS_ITERABLE_SENTINEL2 = "@@__IMMUTABLE_ITERABLE__@@";
    var IS_LIST_SENTINEL3 = "@@__IMMUTABLE_LIST__@@";
    var IS_KEYED_SENTINEL3 = "@@__IMMUTABLE_KEYED__@@";
    var IS_MAP_SENTINEL2 = "@@__IMMUTABLE_MAP__@@";
    var IS_ORDERED_SENTINEL3 = "@@__IMMUTABLE_ORDERED__@@";
    var IS_RECORD_SENTINEL2 = "@@__IMMUTABLE_RECORD__@@";
    var IS_SEQ_SENTINEL2 = "@@__IMMUTABLE_SEQ__@@";
    var IS_SET_SENTINEL3 = "@@__IMMUTABLE_SET__@@";
    var IS_STACK_SENTINEL2 = "@@__IMMUTABLE_STACK__@@";
    var getImmutableName2 = /* @__PURE__ */ __name((name) => "Immutable." + name, "getImmutableName");
    var printAsLeaf2 = /* @__PURE__ */ __name((name) => "[" + name + "]", "printAsLeaf");
    var SPACE2 = " ";
    var LAZY2 = "\u2026";
    var printImmutableEntries2 = /* @__PURE__ */ __name((val, config4, indentation, depth, refs, printer2, type5) => ++depth > config4.maxDepth ? printAsLeaf2(getImmutableName2(type5)) : getImmutableName2(type5) + SPACE2 + "{" + (0, _collections.printIteratorEntries)(
      val.entries(),
      config4,
      indentation,
      depth,
      refs,
      printer2
    ) + "}", "printImmutableEntries");
    function getRecordEntries2(val) {
      let i2 = 0;
      return {
        next() {
          if (i2 < val._keys.length) {
            const key = val._keys[i2++];
            return {
              done: false,
              value: [key, val.get(key)]
            };
          }
          return {
            done: true,
            value: void 0
          };
        }
      };
    }
    __name(getRecordEntries2, "getRecordEntries");
    var printImmutableRecord2 = /* @__PURE__ */ __name((val, config4, indentation, depth, refs, printer2) => {
      const name = getImmutableName2(val._name || "Record");
      return ++depth > config4.maxDepth ? printAsLeaf2(name) : name + SPACE2 + "{" + (0, _collections.printIteratorEntries)(
        getRecordEntries2(val),
        config4,
        indentation,
        depth,
        refs,
        printer2
      ) + "}";
    }, "printImmutableRecord");
    var printImmutableSeq2 = /* @__PURE__ */ __name((val, config4, indentation, depth, refs, printer2) => {
      const name = getImmutableName2("Seq");
      if (++depth > config4.maxDepth) {
        return printAsLeaf2(name);
      }
      if (val[IS_KEYED_SENTINEL3]) {
        return name + SPACE2 + "{" + // from Immutable collection of entries or from ECMAScript object
        (val._iter || val._object ? (0, _collections.printIteratorEntries)(
          val.entries(),
          config4,
          indentation,
          depth,
          refs,
          printer2
        ) : LAZY2) + "}";
      }
      return name + SPACE2 + "[" + (val._iter || // from Immutable collection of values
      val._array || // from ECMAScript array
      val._collection || // from ECMAScript collection in immutable v4
      val._iterable ? (0, _collections.printIteratorValues)(
        val.values(),
        config4,
        indentation,
        depth,
        refs,
        printer2
      ) : LAZY2) + "]";
    }, "printImmutableSeq");
    var printImmutableValues2 = /* @__PURE__ */ __name((val, config4, indentation, depth, refs, printer2, type5) => ++depth > config4.maxDepth ? printAsLeaf2(getImmutableName2(type5)) : getImmutableName2(type5) + SPACE2 + "[" + (0, _collections.printIteratorValues)(
      val.values(),
      config4,
      indentation,
      depth,
      refs,
      printer2
    ) + "]", "printImmutableValues");
    var serialize3 = /* @__PURE__ */ __name((val, config4, indentation, depth, refs, printer2) => {
      if (val[IS_MAP_SENTINEL2]) {
        return printImmutableEntries2(
          val,
          config4,
          indentation,
          depth,
          refs,
          printer2,
          val[IS_ORDERED_SENTINEL3] ? "OrderedMap" : "Map"
        );
      }
      if (val[IS_LIST_SENTINEL3]) {
        return printImmutableValues2(
          val,
          config4,
          indentation,
          depth,
          refs,
          printer2,
          "List"
        );
      }
      if (val[IS_SET_SENTINEL3]) {
        return printImmutableValues2(
          val,
          config4,
          indentation,
          depth,
          refs,
          printer2,
          val[IS_ORDERED_SENTINEL3] ? "OrderedSet" : "Set"
        );
      }
      if (val[IS_STACK_SENTINEL2]) {
        return printImmutableValues2(
          val,
          config4,
          indentation,
          depth,
          refs,
          printer2,
          "Stack"
        );
      }
      if (val[IS_SEQ_SENTINEL2]) {
        return printImmutableSeq2(val, config4, indentation, depth, refs, printer2);
      }
      return printImmutableRecord2(val, config4, indentation, depth, refs, printer2);
    }, "serialize");
    exports.serialize = serialize3;
    var test3 = /* @__PURE__ */ __name((val) => val && (val[IS_ITERABLE_SENTINEL2] === true || val[IS_RECORD_SENTINEL2] === true), "test");
    exports.test = test3;
    var plugin2 = {
      serialize: serialize3,
      test: test3
    };
    var _default = plugin2;
    exports.default = _default;
  }
});

// ../node_modules/pretty-format/node_modules/react-is/cjs/react-is.production.min.js
var require_react_is_production_min2 = __commonJS({
  "../node_modules/pretty-format/node_modules/react-is/cjs/react-is.production.min.js"(exports) {
    "use strict";
    var b = 60103;
    var c2 = 60106;
    var d = 60107;
    var e2 = 60108;
    var f3 = 60114;
    var g2 = 60109;
    var h2 = 60110;
    var k = 60112;
    var l = 60113;
    var m3 = 60120;
    var n2 = 60115;
    var p2 = 60116;
    var q = 60121;
    var r2 = 60122;
    var u2 = 60117;
    var v = 60129;
    var w = 60131;
    if ("function" === typeof Symbol && Symbol.for) {
      x = Symbol.for;
      b = x("react.element");
      c2 = x("react.portal");
      d = x("react.fragment");
      e2 = x("react.strict_mode");
      f3 = x("react.profiler");
      g2 = x("react.provider");
      h2 = x("react.context");
      k = x("react.forward_ref");
      l = x("react.suspense");
      m3 = x("react.suspense_list");
      n2 = x("react.memo");
      p2 = x("react.lazy");
      q = x("react.block");
      r2 = x("react.server.block");
      u2 = x("react.fundamental");
      v = x("react.debug_trace_mode");
      w = x("react.legacy_hidden");
    }
    var x;
    function y(a2) {
      if ("object" === typeof a2 && null !== a2) {
        var t2 = a2.$$typeof;
        switch (t2) {
          case b:
            switch (a2 = a2.type, a2) {
              case d:
              case f3:
              case e2:
              case l:
              case m3:
                return a2;
              default:
                switch (a2 = a2 && a2.$$typeof, a2) {
                  case h2:
                  case k:
                  case p2:
                  case n2:
                  case g2:
                    return a2;
                  default:
                    return t2;
                }
            }
          case c2:
            return t2;
        }
      }
    }
    __name(y, "y");
    var z = g2;
    var A3 = b;
    var B2 = k;
    var C2 = d;
    var D = p2;
    var E = n2;
    var F = c2;
    var G = f3;
    var H = e2;
    var I = l;
    exports.ContextConsumer = h2;
    exports.ContextProvider = z;
    exports.Element = A3;
    exports.ForwardRef = B2;
    exports.Fragment = C2;
    exports.Lazy = D;
    exports.Memo = E;
    exports.Portal = F;
    exports.Profiler = G;
    exports.StrictMode = H;
    exports.Suspense = I;
    exports.isAsyncMode = function() {
      return false;
    };
    exports.isConcurrentMode = function() {
      return false;
    };
    exports.isContextConsumer = function(a2) {
      return y(a2) === h2;
    };
    exports.isContextProvider = function(a2) {
      return y(a2) === g2;
    };
    exports.isElement = function(a2) {
      return "object" === typeof a2 && null !== a2 && a2.$$typeof === b;
    };
    exports.isForwardRef = function(a2) {
      return y(a2) === k;
    };
    exports.isFragment = function(a2) {
      return y(a2) === d;
    };
    exports.isLazy = function(a2) {
      return y(a2) === p2;
    };
    exports.isMemo = function(a2) {
      return y(a2) === n2;
    };
    exports.isPortal = function(a2) {
      return y(a2) === c2;
    };
    exports.isProfiler = function(a2) {
      return y(a2) === f3;
    };
    exports.isStrictMode = function(a2) {
      return y(a2) === e2;
    };
    exports.isSuspense = function(a2) {
      return y(a2) === l;
    };
    exports.isValidElementType = function(a2) {
      return "string" === typeof a2 || "function" === typeof a2 || a2 === d || a2 === f3 || a2 === v || a2 === e2 || a2 === l || a2 === m3 || a2 === w || "object" === typeof a2 && null !== a2 && (a2.$$typeof === p2 || a2.$$typeof === n2 || a2.$$typeof === g2 || a2.$$typeof === h2 || a2.$$typeof === k || a2.$$typeof === u2 || a2.$$typeof === q || a2[0] === r2) ? true : false;
    };
    exports.typeOf = y;
  }
});

// ../node_modules/pretty-format/node_modules/react-is/index.js
var require_react_is2 = __commonJS({
  "../node_modules/pretty-format/node_modules/react-is/index.js"(exports, module2) {
    "use strict";
    if (true) {
      module2.exports = require_react_is_production_min2();
    } else {
      module2.exports = null;
    }
  }
});

// ../node_modules/pretty-format/build/plugins/ReactElement.js
var require_ReactElement = __commonJS({
  "../node_modules/pretty-format/build/plugins/ReactElement.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.test = exports.serialize = exports.default = void 0;
    var ReactIs2 = _interopRequireWildcard(require_react_is2());
    var _markup = require_markup2();
    function _getRequireWildcardCache(nodeInterop) {
      if (typeof WeakMap !== "function") return null;
      var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
      var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
      return (_getRequireWildcardCache = /* @__PURE__ */ __name(function(nodeInterop2) {
        return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
      }, "_getRequireWildcardCache"))(nodeInterop);
    }
    __name(_getRequireWildcardCache, "_getRequireWildcardCache");
    function _interopRequireWildcard(obj, nodeInterop) {
      if (!nodeInterop && obj && obj.__esModule) {
        return obj;
      }
      if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
        return { default: obj };
      }
      var cache = _getRequireWildcardCache(nodeInterop);
      if (cache && cache.has(obj)) {
        return cache.get(obj);
      }
      var newObj = {};
      var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
      for (var key in obj) {
        if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
          var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
          if (desc && (desc.get || desc.set)) {
            Object.defineProperty(newObj, key, desc);
          } else {
            newObj[key] = obj[key];
          }
        }
      }
      newObj.default = obj;
      if (cache) {
        cache.set(obj, newObj);
      }
      return newObj;
    }
    __name(_interopRequireWildcard, "_interopRequireWildcard");
    var getChildren2 = /* @__PURE__ */ __name((arg, children = []) => {
      if (Array.isArray(arg)) {
        arg.forEach((item) => {
          getChildren2(item, children);
        });
      } else if (arg != null && arg !== false) {
        children.push(arg);
      }
      return children;
    }, "getChildren");
    var getType4 = /* @__PURE__ */ __name((element) => {
      const type5 = element.type;
      if (typeof type5 === "string") {
        return type5;
      }
      if (typeof type5 === "function") {
        return type5.displayName || type5.name || "Unknown";
      }
      if (ReactIs2.isFragment(element)) {
        return "React.Fragment";
      }
      if (ReactIs2.isSuspense(element)) {
        return "React.Suspense";
      }
      if (typeof type5 === "object" && type5 !== null) {
        if (ReactIs2.isContextProvider(element)) {
          return "Context.Provider";
        }
        if (ReactIs2.isContextConsumer(element)) {
          return "Context.Consumer";
        }
        if (ReactIs2.isForwardRef(element)) {
          if (type5.displayName) {
            return type5.displayName;
          }
          const functionName = type5.render.displayName || type5.render.name || "";
          return functionName !== "" ? "ForwardRef(" + functionName + ")" : "ForwardRef";
        }
        if (ReactIs2.isMemo(element)) {
          const functionName = type5.displayName || type5.type.displayName || type5.type.name || "";
          return functionName !== "" ? "Memo(" + functionName + ")" : "Memo";
        }
      }
      return "UNDEFINED";
    }, "getType");
    var getPropKeys2 = /* @__PURE__ */ __name((element) => {
      const { props } = element;
      return Object.keys(props).filter((key) => key !== "children" && props[key] !== void 0).sort();
    }, "getPropKeys");
    var serialize3 = /* @__PURE__ */ __name((element, config4, indentation, depth, refs, printer2) => ++depth > config4.maxDepth ? (0, _markup.printElementAsLeaf)(getType4(element), config4) : (0, _markup.printElement)(
      getType4(element),
      (0, _markup.printProps)(
        getPropKeys2(element),
        element.props,
        config4,
        indentation + config4.indent,
        depth,
        refs,
        printer2
      ),
      (0, _markup.printChildren)(
        getChildren2(element.props.children),
        config4,
        indentation + config4.indent,
        depth,
        refs,
        printer2
      ),
      config4,
      indentation
    ), "serialize");
    exports.serialize = serialize3;
    var test3 = /* @__PURE__ */ __name((val) => val != null && ReactIs2.isElement(val), "test");
    exports.test = test3;
    var plugin2 = {
      serialize: serialize3,
      test: test3
    };
    var _default = plugin2;
    exports.default = _default;
  }
});

// ../node_modules/pretty-format/build/plugins/ReactTestComponent.js
var require_ReactTestComponent = __commonJS({
  "../node_modules/pretty-format/build/plugins/ReactTestComponent.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.test = exports.serialize = exports.default = void 0;
    var _markup = require_markup2();
    var global2 = function() {
      if (typeof globalThis !== "undefined") {
        return globalThis;
      } else if (typeof global2 !== "undefined") {
        return global2;
      } else if (typeof self !== "undefined") {
        return self;
      } else if (typeof window !== "undefined") {
        return window;
      } else {
        return Function("return this")();
      }
    }();
    var Symbol3 = global2["jest-symbol-do-not-touch"] || global2.Symbol;
    var testSymbol2 = typeof Symbol3 === "function" && Symbol3.for ? Symbol3.for("react.test.json") : 245830487;
    var getPropKeys2 = /* @__PURE__ */ __name((object) => {
      const { props } = object;
      return props ? Object.keys(props).filter((key) => props[key] !== void 0).sort() : [];
    }, "getPropKeys");
    var serialize3 = /* @__PURE__ */ __name((object, config4, indentation, depth, refs, printer2) => ++depth > config4.maxDepth ? (0, _markup.printElementAsLeaf)(object.type, config4) : (0, _markup.printElement)(
      object.type,
      object.props ? (0, _markup.printProps)(
        getPropKeys2(object),
        object.props,
        config4,
        indentation + config4.indent,
        depth,
        refs,
        printer2
      ) : "",
      object.children ? (0, _markup.printChildren)(
        object.children,
        config4,
        indentation + config4.indent,
        depth,
        refs,
        printer2
      ) : "",
      config4,
      indentation
    ), "serialize");
    exports.serialize = serialize3;
    var test3 = /* @__PURE__ */ __name((val) => val && val.$$typeof === testSymbol2, "test");
    exports.test = test3;
    var plugin2 = {
      serialize: serialize3,
      test: test3
    };
    var _default = plugin2;
    exports.default = _default;
  }
});

// ../node_modules/pretty-format/build/index.js
var require_build = __commonJS({
  "../node_modules/pretty-format/build/index.js"(exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = exports.DEFAULT_OPTIONS = void 0;
    exports.format = format4;
    exports.plugins = void 0;
    var _ansiStyles = _interopRequireDefault(require_ansi_styles());
    var _collections = require_collections();
    var _AsymmetricMatcher2 = _interopRequireDefault(
      require_AsymmetricMatcher()
    );
    var _ConvertAnsi = _interopRequireDefault(require_ConvertAnsi());
    var _DOMCollection = _interopRequireDefault(require_DOMCollection());
    var _DOMElement = _interopRequireDefault(require_DOMElement());
    var _Immutable = _interopRequireDefault(require_Immutable());
    var _ReactElement = _interopRequireDefault(require_ReactElement());
    var _ReactTestComponent = _interopRequireDefault(
      require_ReactTestComponent()
    );
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { default: obj };
    }
    __name(_interopRequireDefault, "_interopRequireDefault");
    var toString5 = Object.prototype.toString;
    var toISOString2 = Date.prototype.toISOString;
    var errorToString2 = Error.prototype.toString;
    var regExpToString2 = RegExp.prototype.toString;
    var getConstructorName3 = /* @__PURE__ */ __name((val) => typeof val.constructor === "function" && val.constructor.name || "Object", "getConstructorName");
    var isWindow2 = /* @__PURE__ */ __name((val) => typeof window !== "undefined" && val === window, "isWindow");
    var SYMBOL_REGEXP2 = /^Symbol\((.*)\)(.*)$/;
    var NEWLINE_REGEXP2 = /\n/gi;
    var _PrettyFormatPluginError2 = class _PrettyFormatPluginError2 extends Error {
      constructor(message, stack) {
        super(message);
        this.stack = stack;
        this.name = this.constructor.name;
      }
    };
    __name(_PrettyFormatPluginError2, "PrettyFormatPluginError");
    var PrettyFormatPluginError2 = _PrettyFormatPluginError2;
    function isToStringedArrayType2(toStringed) {
      return toStringed === "[object Array]" || toStringed === "[object ArrayBuffer]" || toStringed === "[object DataView]" || toStringed === "[object Float32Array]" || toStringed === "[object Float64Array]" || toStringed === "[object Int8Array]" || toStringed === "[object Int16Array]" || toStringed === "[object Int32Array]" || toStringed === "[object Uint8Array]" || toStringed === "[object Uint8ClampedArray]" || toStringed === "[object Uint16Array]" || toStringed === "[object Uint32Array]";
    }
    __name(isToStringedArrayType2, "isToStringedArrayType");
    function printNumber2(val) {
      return Object.is(val, -0) ? "-0" : String(val);
    }
    __name(printNumber2, "printNumber");
    function printBigInt2(val) {
      return String(`${val}n`);
    }
    __name(printBigInt2, "printBigInt");
    function printFunction2(val, printFunctionName) {
      if (!printFunctionName) {
        return "[Function]";
      }
      return "[Function " + (val.name || "anonymous") + "]";
    }
    __name(printFunction2, "printFunction");
    function printSymbol2(val) {
      return String(val).replace(SYMBOL_REGEXP2, "Symbol($1)");
    }
    __name(printSymbol2, "printSymbol");
    function printError2(val) {
      return "[" + errorToString2.call(val) + "]";
    }
    __name(printError2, "printError");
    function printBasicValue2(val, printFunctionName, escapeRegex, escapeString) {
      if (val === true || val === false) {
        return "" + val;
      }
      if (val === void 0) {
        return "undefined";
      }
      if (val === null) {
        return "null";
      }
      const typeOf = typeof val;
      if (typeOf === "number") {
        return printNumber2(val);
      }
      if (typeOf === "bigint") {
        return printBigInt2(val);
      }
      if (typeOf === "string") {
        if (escapeString) {
          return '"' + val.replace(/"|\\/g, "\\$&") + '"';
        }
        return '"' + val + '"';
      }
      if (typeOf === "function") {
        return printFunction2(val, printFunctionName);
      }
      if (typeOf === "symbol") {
        return printSymbol2(val);
      }
      const toStringed = toString5.call(val);
      if (toStringed === "[object WeakMap]") {
        return "WeakMap {}";
      }
      if (toStringed === "[object WeakSet]") {
        return "WeakSet {}";
      }
      if (toStringed === "[object Function]" || toStringed === "[object GeneratorFunction]") {
        return printFunction2(val, printFunctionName);
      }
      if (toStringed === "[object Symbol]") {
        return printSymbol2(val);
      }
      if (toStringed === "[object Date]") {
        return isNaN(+val) ? "Date { NaN }" : toISOString2.call(val);
      }
      if (toStringed === "[object Error]") {
        return printError2(val);
      }
      if (toStringed === "[object RegExp]") {
        if (escapeRegex) {
          return regExpToString2.call(val).replace(/[\\^$*+?.()|[\]{}]/g, "\\$&");
        }
        return regExpToString2.call(val);
      }
      if (val instanceof Error) {
        return printError2(val);
      }
      return null;
    }
    __name(printBasicValue2, "printBasicValue");
    function printComplexValue2(val, config4, indentation, depth, refs, hasCalledToJSON) {
      if (refs.indexOf(val) !== -1) {
        return "[Circular]";
      }
      refs = refs.slice();
      refs.push(val);
      const hitMaxDepth = ++depth > config4.maxDepth;
      const min2 = config4.min;
      if (config4.callToJSON && !hitMaxDepth && val.toJSON && typeof val.toJSON === "function" && !hasCalledToJSON) {
        return printer2(val.toJSON(), config4, indentation, depth, refs, true);
      }
      const toStringed = toString5.call(val);
      if (toStringed === "[object Arguments]") {
        return hitMaxDepth ? "[Arguments]" : (min2 ? "" : "Arguments ") + "[" + (0, _collections.printListItems)(
          val,
          config4,
          indentation,
          depth,
          refs,
          printer2
        ) + "]";
      }
      if (isToStringedArrayType2(toStringed)) {
        return hitMaxDepth ? "[" + val.constructor.name + "]" : (min2 ? "" : !config4.printBasicPrototype && val.constructor.name === "Array" ? "" : val.constructor.name + " ") + "[" + (0, _collections.printListItems)(
          val,
          config4,
          indentation,
          depth,
          refs,
          printer2
        ) + "]";
      }
      if (toStringed === "[object Map]") {
        return hitMaxDepth ? "[Map]" : "Map {" + (0, _collections.printIteratorEntries)(
          val.entries(),
          config4,
          indentation,
          depth,
          refs,
          printer2,
          " => "
        ) + "}";
      }
      if (toStringed === "[object Set]") {
        return hitMaxDepth ? "[Set]" : "Set {" + (0, _collections.printIteratorValues)(
          val.values(),
          config4,
          indentation,
          depth,
          refs,
          printer2
        ) + "}";
      }
      return hitMaxDepth || isWindow2(val) ? "[" + getConstructorName3(val) + "]" : (min2 ? "" : !config4.printBasicPrototype && getConstructorName3(val) === "Object" ? "" : getConstructorName3(val) + " ") + "{" + (0, _collections.printObjectProperties)(
        val,
        config4,
        indentation,
        depth,
        refs,
        printer2
      ) + "}";
    }
    __name(printComplexValue2, "printComplexValue");
    function isNewPlugin2(plugin2) {
      return plugin2.serialize != null;
    }
    __name(isNewPlugin2, "isNewPlugin");
    function printPlugin2(plugin2, val, config4, indentation, depth, refs) {
      let printed;
      try {
        printed = isNewPlugin2(plugin2) ? plugin2.serialize(val, config4, indentation, depth, refs, printer2) : plugin2.print(
          val,
          (valChild) => printer2(valChild, config4, indentation, depth, refs),
          (str2) => {
            const indentationNext = indentation + config4.indent;
            return indentationNext + str2.replace(NEWLINE_REGEXP2, "\n" + indentationNext);
          },
          {
            edgeSpacing: config4.spacingOuter,
            min: config4.min,
            spacing: config4.spacingInner
          },
          config4.colors
        );
      } catch (error) {
        throw new PrettyFormatPluginError2(error.message, error.stack);
      }
      if (typeof printed !== "string") {
        throw new Error(
          `pretty-format: Plugin must return type "string" but instead returned "${typeof printed}".`
        );
      }
      return printed;
    }
    __name(printPlugin2, "printPlugin");
    function findPlugin2(plugins4, val) {
      for (let p2 = 0; p2 < plugins4.length; p2++) {
        try {
          if (plugins4[p2].test(val)) {
            return plugins4[p2];
          }
        } catch (error) {
          throw new PrettyFormatPluginError2(error.message, error.stack);
        }
      }
      return null;
    }
    __name(findPlugin2, "findPlugin");
    function printer2(val, config4, indentation, depth, refs, hasCalledToJSON) {
      const plugin2 = findPlugin2(config4.plugins, val);
      if (plugin2 !== null) {
        return printPlugin2(plugin2, val, config4, indentation, depth, refs);
      }
      const basicResult = printBasicValue2(
        val,
        config4.printFunctionName,
        config4.escapeRegex,
        config4.escapeString
      );
      if (basicResult !== null) {
        return basicResult;
      }
      return printComplexValue2(
        val,
        config4,
        indentation,
        depth,
        refs,
        hasCalledToJSON
      );
    }
    __name(printer2, "printer");
    var DEFAULT_THEME2 = {
      comment: "gray",
      content: "reset",
      prop: "yellow",
      tag: "cyan",
      value: "green"
    };
    var DEFAULT_THEME_KEYS2 = Object.keys(DEFAULT_THEME2);
    var DEFAULT_OPTIONS3 = {
      callToJSON: true,
      compareKeys: void 0,
      escapeRegex: false,
      escapeString: true,
      highlight: false,
      indent: 2,
      maxDepth: Infinity,
      min: false,
      plugins: [],
      printBasicPrototype: true,
      printFunctionName: true,
      theme: DEFAULT_THEME2
    };
    exports.DEFAULT_OPTIONS = DEFAULT_OPTIONS3;
    function validateOptions3(options) {
      Object.keys(options).forEach((key) => {
        if (!DEFAULT_OPTIONS3.hasOwnProperty(key)) {
          throw new Error(`pretty-format: Unknown option "${key}".`);
        }
      });
      if (options.min && options.indent !== void 0 && options.indent !== 0) {
        throw new Error(
          'pretty-format: Options "min" and "indent" cannot be used together.'
        );
      }
      if (options.theme !== void 0) {
        if (options.theme === null) {
          throw new Error('pretty-format: Option "theme" must not be null.');
        }
        if (typeof options.theme !== "object") {
          throw new Error(
            `pretty-format: Option "theme" must be of type "object" but instead received "${typeof options.theme}".`
          );
        }
      }
    }
    __name(validateOptions3, "validateOptions");
    var getColorsHighlight2 = /* @__PURE__ */ __name((options) => DEFAULT_THEME_KEYS2.reduce((colors3, key) => {
      const value = options.theme && options.theme[key] !== void 0 ? options.theme[key] : DEFAULT_THEME2[key];
      const color2 = value && _ansiStyles.default[value];
      if (color2 && typeof color2.close === "string" && typeof color2.open === "string") {
        colors3[key] = color2;
      } else {
        throw new Error(
          `pretty-format: Option "theme" has a key "${key}" whose value "${value}" is undefined in ansi-styles.`
        );
      }
      return colors3;
    }, /* @__PURE__ */ Object.create(null)), "getColorsHighlight");
    var getColorsEmpty2 = /* @__PURE__ */ __name(() => DEFAULT_THEME_KEYS2.reduce((colors3, key) => {
      colors3[key] = {
        close: "",
        open: ""
      };
      return colors3;
    }, /* @__PURE__ */ Object.create(null)), "getColorsEmpty");
    var getPrintFunctionName2 = /* @__PURE__ */ __name((options) => options && options.printFunctionName !== void 0 ? options.printFunctionName : DEFAULT_OPTIONS3.printFunctionName, "getPrintFunctionName");
    var getEscapeRegex2 = /* @__PURE__ */ __name((options) => options && options.escapeRegex !== void 0 ? options.escapeRegex : DEFAULT_OPTIONS3.escapeRegex, "getEscapeRegex");
    var getEscapeString2 = /* @__PURE__ */ __name((options) => options && options.escapeString !== void 0 ? options.escapeString : DEFAULT_OPTIONS3.escapeString, "getEscapeString");
    var getConfig4 = /* @__PURE__ */ __name((options) => {
      var _options$printBasicPr;
      return {
        callToJSON: options && options.callToJSON !== void 0 ? options.callToJSON : DEFAULT_OPTIONS3.callToJSON,
        colors: options && options.highlight ? getColorsHighlight2(options) : getColorsEmpty2(),
        compareKeys: options && typeof options.compareKeys === "function" ? options.compareKeys : DEFAULT_OPTIONS3.compareKeys,
        escapeRegex: getEscapeRegex2(options),
        escapeString: getEscapeString2(options),
        indent: options && options.min ? "" : createIndent2(
          options && options.indent !== void 0 ? options.indent : DEFAULT_OPTIONS3.indent
        ),
        maxDepth: options && options.maxDepth !== void 0 ? options.maxDepth : DEFAULT_OPTIONS3.maxDepth,
        min: options && options.min !== void 0 ? options.min : DEFAULT_OPTIONS3.min,
        plugins: options && options.plugins !== void 0 ? options.plugins : DEFAULT_OPTIONS3.plugins,
        printBasicPrototype: (_options$printBasicPr = options === null || options === void 0 ? void 0 : options.printBasicPrototype) !== null && _options$printBasicPr !== void 0 ? _options$printBasicPr : true,
        printFunctionName: getPrintFunctionName2(options),
        spacingInner: options && options.min ? " " : "\n",
        spacingOuter: options && options.min ? "" : "\n"
      };
    }, "getConfig");
    function createIndent2(indent2) {
      return new Array(indent2 + 1).join(" ");
    }
    __name(createIndent2, "createIndent");
    function format4(val, options) {
      if (options) {
        validateOptions3(options);
        if (options.plugins) {
          const plugin2 = findPlugin2(options.plugins, val);
          if (plugin2 !== null) {
            return printPlugin2(plugin2, val, getConfig4(options), "", 0, []);
          }
        }
      }
      const basicResult = printBasicValue2(
        val,
        getPrintFunctionName2(options),
        getEscapeRegex2(options),
        getEscapeString2(options)
      );
      if (basicResult !== null) {
        return basicResult;
      }
      return printComplexValue2(val, getConfig4(options), "", 0, []);
    }
    __name(format4, "format");
    var plugins3 = {
      AsymmetricMatcher: _AsymmetricMatcher2.default,
      ConvertAnsi: _ConvertAnsi.default,
      DOMCollection: _DOMCollection.default,
      DOMElement: _DOMElement.default,
      Immutable: _Immutable.default,
      ReactElement: _ReactElement.default,
      ReactTestComponent: _ReactTestComponent.default
    };
    exports.plugins = plugins3;
    var _default = format4;
    exports.default = _default;
  }
});

// ../node_modules/lz-string/libs/lz-string.js
var require_lz_string = __commonJS({
  "../node_modules/lz-string/libs/lz-string.js"(exports, module2) {
    var LZString = function() {
      var f3 = String.fromCharCode;
      var keyStrBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
      var keyStrUriSafe = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$";
      var baseReverseDic = {};
      function getBaseValue(alphabet, character2) {
        if (!baseReverseDic[alphabet]) {
          baseReverseDic[alphabet] = {};
          for (var i2 = 0; i2 < alphabet.length; i2++) {
            baseReverseDic[alphabet][alphabet.charAt(i2)] = i2;
          }
        }
        return baseReverseDic[alphabet][character2];
      }
      __name(getBaseValue, "getBaseValue");
      var LZString2 = {
        compressToBase64: /* @__PURE__ */ __name(function(input2) {
          if (input2 == null) return "";
          var res = LZString2._compress(input2, 6, function(a2) {
            return keyStrBase64.charAt(a2);
          });
          switch (res.length % 4) {
            // To produce valid Base64
            default:
            // When could this happen ?
            case 0:
              return res;
            case 1:
              return res + "===";
            case 2:
              return res + "==";
            case 3:
              return res + "=";
          }
        }, "compressToBase64"),
        decompressFromBase64: /* @__PURE__ */ __name(function(input2) {
          if (input2 == null) return "";
          if (input2 == "") return null;
          return LZString2._decompress(input2.length, 32, function(index4) {
            return getBaseValue(keyStrBase64, input2.charAt(index4));
          });
        }, "decompressFromBase64"),
        compressToUTF16: /* @__PURE__ */ __name(function(input2) {
          if (input2 == null) return "";
          return LZString2._compress(input2, 15, function(a2) {
            return f3(a2 + 32);
          }) + " ";
        }, "compressToUTF16"),
        decompressFromUTF16: /* @__PURE__ */ __name(function(compressed) {
          if (compressed == null) return "";
          if (compressed == "") return null;
          return LZString2._decompress(compressed.length, 16384, function(index4) {
            return compressed.charCodeAt(index4) - 32;
          });
        }, "decompressFromUTF16"),
        //compress into uint8array (UCS-2 big endian format)
        compressToUint8Array: /* @__PURE__ */ __name(function(uncompressed) {
          var compressed = LZString2.compress(uncompressed);
          var buf = new Uint8Array(compressed.length * 2);
          for (var i2 = 0, TotalLen = compressed.length; i2 < TotalLen; i2++) {
            var current_value = compressed.charCodeAt(i2);
            buf[i2 * 2] = current_value >>> 8;
            buf[i2 * 2 + 1] = current_value % 256;
          }
          return buf;
        }, "compressToUint8Array"),
        //decompress from uint8array (UCS-2 big endian format)
        decompressFromUint8Array: /* @__PURE__ */ __name(function(compressed) {
          if (compressed === null || compressed === void 0) {
            return LZString2.decompress(compressed);
          } else {
            var buf = new Array(compressed.length / 2);
            for (var i2 = 0, TotalLen = buf.length; i2 < TotalLen; i2++) {
              buf[i2] = compressed[i2 * 2] * 256 + compressed[i2 * 2 + 1];
            }
            var result = [];
            buf.forEach(function(c2) {
              result.push(f3(c2));
            });
            return LZString2.decompress(result.join(""));
          }
        }, "decompressFromUint8Array"),
        //compress into a string that is already URI encoded
        compressToEncodedURIComponent: /* @__PURE__ */ __name(function(input2) {
          if (input2 == null) return "";
          return LZString2._compress(input2, 6, function(a2) {
            return keyStrUriSafe.charAt(a2);
          });
        }, "compressToEncodedURIComponent"),
        //decompress from an output of compressToEncodedURIComponent
        decompressFromEncodedURIComponent: /* @__PURE__ */ __name(function(input2) {
          if (input2 == null) return "";
          if (input2 == "") return null;
          input2 = input2.replace(/ /g, "+");
          return LZString2._decompress(input2.length, 32, function(index4) {
            return getBaseValue(keyStrUriSafe, input2.charAt(index4));
          });
        }, "decompressFromEncodedURIComponent"),
        compress: /* @__PURE__ */ __name(function(uncompressed) {
          return LZString2._compress(uncompressed, 16, function(a2) {
            return f3(a2);
          });
        }, "compress"),
        _compress: /* @__PURE__ */ __name(function(uncompressed, bitsPerChar, getCharFromInt) {
          if (uncompressed == null) return "";
          var i2, value, context_dictionary = {}, context_dictionaryToCreate = {}, context_c = "", context_wc = "", context_w = "", context_enlargeIn = 2, context_dictSize = 3, context_numBits = 2, context_data = [], context_data_val = 0, context_data_position = 0, ii;
          for (ii = 0; ii < uncompressed.length; ii += 1) {
            context_c = uncompressed.charAt(ii);
            if (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) {
              context_dictionary[context_c] = context_dictSize++;
              context_dictionaryToCreate[context_c] = true;
            }
            context_wc = context_w + context_c;
            if (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) {
              context_w = context_wc;
            } else {
              if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {
                if (context_w.charCodeAt(0) < 256) {
                  for (i2 = 0; i2 < context_numBits; i2++) {
                    context_data_val = context_data_val << 1;
                    if (context_data_position == bitsPerChar - 1) {
                      context_data_position = 0;
                      context_data.push(getCharFromInt(context_data_val));
                      context_data_val = 0;
                    } else {
                      context_data_position++;
                    }
                  }
                  value = context_w.charCodeAt(0);
                  for (i2 = 0; i2 < 8; i2++) {
                    context_data_val = context_data_val << 1 | value & 1;
                    if (context_data_position == bitsPerChar - 1) {
                      context_data_position = 0;
                      context_data.push(getCharFromInt(context_data_val));
                      context_data_val = 0;
                    } else {
                      context_data_position++;
                    }
                    value = value >> 1;
                  }
                } else {
                  value = 1;
                  for (i2 = 0; i2 < context_numBits; i2++) {
                    context_data_val = context_data_val << 1 | value;
                    if (context_data_position == bitsPerChar - 1) {
                      context_data_position = 0;
                      context_data.push(getCharFromInt(context_data_val));
                      context_data_val = 0;
                    } else {
                      context_data_position++;
                    }
                    value = 0;
                  }
                  value = context_w.charCodeAt(0);
                  for (i2 = 0; i2 < 16; i2++) {
                    context_data_val = context_data_val << 1 | value & 1;
                    if (context_data_position == bitsPerChar - 1) {
                      context_data_position = 0;
                      context_data.push(getCharFromInt(context_data_val));
                      context_data_val = 0;
                    } else {
                      context_data_position++;
                    }
                    value = value >> 1;
                  }
                }
                context_enlargeIn--;
                if (context_enlargeIn == 0) {
                  context_enlargeIn = Math.pow(2, context_numBits);
                  context_numBits++;
                }
                delete context_dictionaryToCreate[context_w];
              } else {
                value = context_dictionary[context_w];
                for (i2 = 0; i2 < context_numBits; i2++) {
                  context_data_val = context_data_val << 1 | value & 1;
                  if (context_data_position == bitsPerChar - 1) {
                    context_data_position = 0;
                    context_data.push(getCharFromInt(context_data_val));
                    context_data_val = 0;
                  } else {
                    context_data_position++;
                  }
                  value = value >> 1;
                }
              }
              context_enlargeIn--;
              if (context_enlargeIn == 0) {
                context_enlargeIn = Math.pow(2, context_numBits);
                context_numBits++;
              }
              context_dictionary[context_wc] = context_dictSize++;
              context_w = String(context_c);
            }
          }
          if (context_w !== "") {
            if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {
              if (context_w.charCodeAt(0) < 256) {
                for (i2 = 0; i2 < context_numBits; i2++) {
                  context_data_val = context_data_val << 1;
                  if (context_data_position == bitsPerChar - 1) {
                    context_data_position = 0;
                    context_data.push(getCharFromInt(context_data_val));
                    context_data_val = 0;
                  } else {
                    context_data_position++;
                  }
                }
                value = context_w.charCodeAt(0);
                for (i2 = 0; i2 < 8; i2++) {
                  context_data_val = context_data_val << 1 | value & 1;
                  if (context_data_position == bitsPerChar - 1) {
                    context_data_position = 0;
                    context_data.push(getCharFromInt(context_data_val));
                    context_data_val = 0;
                  } else {
                    context_data_position++;
                  }
                  value = value >> 1;
                }
              } else {
                value = 1;
                for (i2 = 0; i2 < context_numBits; i2++) {
                  context_data_val = context_data_val << 1 | value;
                  if (context_data_position == bitsPerChar - 1) {
                    context_data_position = 0;
                    context_data.push(getCharFromInt(context_data_val));
                    context_data_val = 0;
                  } else {
                    context_data_position++;
                  }
                  value = 0;
                }
                value = context_w.charCodeAt(0);
                for (i2 = 0; i2 < 16; i2++) {
                  context_data_val = context_data_val << 1 | value & 1;
                  if (context_data_position == bitsPerChar - 1) {
                    context_data_position = 0;
                    context_data.push(getCharFromInt(context_data_val));
                    context_data_val = 0;
                  } else {
                    context_data_position++;
                  }
                  value = value >> 1;
                }
              }
              context_enlargeIn--;
              if (context_enlargeIn == 0) {
                context_enlargeIn = Math.pow(2, context_numBits);
                context_numBits++;
              }
              delete context_dictionaryToCreate[context_w];
            } else {
              value = context_dictionary[context_w];
              for (i2 = 0; i2 < context_numBits; i2++) {
                context_data_val = context_data_val << 1 | value & 1;
                if (context_data_position == bitsPerChar - 1) {
                  context_data_position = 0;
                  context_data.push(getCharFromInt(context_data_val));
                  context_data_val = 0;
                } else {
                  context_data_position++;
                }
                value = value >> 1;
              }
            }
            context_enlargeIn--;
            if (context_enlargeIn == 0) {
              context_enlargeIn = Math.pow(2, context_numBits);
              context_numBits++;
            }
          }
          value = 2;
          for (i2 = 0; i2 < context_numBits; i2++) {
            context_data_val = context_data_val << 1 | value & 1;
            if (context_data_position == bitsPerChar - 1) {
              context_data_position = 0;
              context_data.push(getCharFromInt(context_data_val));
              context_data_val = 0;
            } else {
              context_data_position++;
            }
            value = value >> 1;
          }
          while (true) {
            context_data_val = context_data_val << 1;
            if (context_data_position == bitsPerChar - 1) {
              context_data.push(getCharFromInt(context_data_val));
              break;
            } else context_data_position++;
          }
          return context_data.join("");
        }, "_compress"),
        decompress: /* @__PURE__ */ __name(function(compressed) {
          if (compressed == null) return "";
          if (compressed == "") return null;
          return LZString2._decompress(compressed.length, 32768, function(index4) {
            return compressed.charCodeAt(index4);
          });
        }, "decompress"),
        _decompress: /* @__PURE__ */ __name(function(length2, resetValue, getNextValue) {
          var dictionary = [], next2, enlargeIn = 4, dictSize = 4, numBits = 3, entry = "", result = [], i2, w, bits, resb, maxpower, power, c2, data = { val: getNextValue(0), position: resetValue, index: 1 };
          for (i2 = 0; i2 < 3; i2 += 1) {
            dictionary[i2] = i2;
          }
          bits = 0;
          maxpower = Math.pow(2, 2);
          power = 1;
          while (power != maxpower) {
            resb = data.val & data.position;
            data.position >>= 1;
            if (data.position == 0) {
              data.position = resetValue;
              data.val = getNextValue(data.index++);
            }
            bits |= (resb > 0 ? 1 : 0) * power;
            power <<= 1;
          }
          switch (next2 = bits) {
            case 0:
              bits = 0;
              maxpower = Math.pow(2, 8);
              power = 1;
              while (power != maxpower) {
                resb = data.val & data.position;
                data.position >>= 1;
                if (data.position == 0) {
                  data.position = resetValue;
                  data.val = getNextValue(data.index++);
                }
                bits |= (resb > 0 ? 1 : 0) * power;
                power <<= 1;
              }
              c2 = f3(bits);
              break;
            case 1:
              bits = 0;
              maxpower = Math.pow(2, 16);
              power = 1;
              while (power != maxpower) {
                resb = data.val & data.position;
                data.position >>= 1;
                if (data.position == 0) {
                  data.position = resetValue;
                  data.val = getNextValue(data.index++);
                }
                bits |= (resb > 0 ? 1 : 0) * power;
                power <<= 1;
              }
              c2 = f3(bits);
              break;
            case 2:
              return "";
          }
          dictionary[3] = c2;
          w = c2;
          result.push(c2);
          while (true) {
            if (data.index > length2) {
              return "";
            }
            bits = 0;
            maxpower = Math.pow(2, numBits);
            power = 1;
            while (power != maxpower) {
              resb = data.val & data.position;
              data.position >>= 1;
              if (data.position == 0) {
                data.position = resetValue;
                data.val = getNextValue(data.index++);
              }
              bits |= (resb > 0 ? 1 : 0) * power;
              power <<= 1;
            }
            switch (c2 = bits) {
              case 0:
                bits = 0;
                maxpower = Math.pow(2, 8);
                power = 1;
                while (power != maxpower) {
                  resb = data.val & data.position;
                  data.position >>= 1;
                  if (data.position == 0) {
                    data.position = resetValue;
                    data.val = getNextValue(data.index++);
                  }
                  bits |= (resb > 0 ? 1 : 0) * power;
                  power <<= 1;
                }
                dictionary[dictSize++] = f3(bits);
                c2 = dictSize - 1;
                enlargeIn--;
                break;
              case 1:
                bits = 0;
                maxpower = Math.pow(2, 16);
                power = 1;
                while (power != maxpower) {
                  resb = data.val & data.position;
                  data.position >>= 1;
                  if (data.position == 0) {
                    data.position = resetValue;
                    data.val = getNextValue(data.index++);
                  }
                  bits |= (resb > 0 ? 1 : 0) * power;
                  power <<= 1;
                }
                dictionary[dictSize++] = f3(bits);
                c2 = dictSize - 1;
                enlargeIn--;
                break;
              case 2:
                return result.join("");
            }
            if (enlargeIn == 0) {
              enlargeIn = Math.pow(2, numBits);
              numBits++;
            }
            if (dictionary[c2]) {
              entry = dictionary[c2];
            } else {
              if (c2 === dictSize) {
                entry = w + w.charAt(0);
              } else {
                return null;
              }
            }
            result.push(entry);
            dictionary[dictSize++] = w + entry.charAt(0);
            enlargeIn--;
            w = entry;
            if (enlargeIn == 0) {
              enlargeIn = Math.pow(2, numBits);
              numBits++;
            }
          }
        }, "_decompress")
      };
      return LZString2;
    }();
    if (typeof define === "function" && define.amd) {
      define(function() {
        return LZString;
      });
    } else if (typeof module2 !== "undefined" && module2 != null) {
      module2.exports = LZString;
    } else if (typeof angular !== "undefined" && angular != null) {
      angular.module("LZString", []).factory("LZString", function() {
        return LZString;
      });
    }
  }
});

// ../node_modules/toggle-selection/index.js
var require_toggle_selection = __commonJS({
  "../node_modules/toggle-selection/index.js"(exports, module2) {
    module2.exports = function() {
      var selection = document.getSelection();
      if (!selection.rangeCount) {
        return function() {
        };
      }
      var active = document.activeElement;
      var ranges = [];
      for (var i2 = 0; i2 < selection.rangeCount; i2++) {
        ranges.push(selection.getRangeAt(i2));
      }
      switch (active.tagName.toUpperCase()) {
        // .toUpperCase handles XHTML
        case "INPUT":
        case "TEXTAREA":
          active.blur();
          break;
        default:
          active = null;
          break;
      }
      selection.removeAllRanges();
      return function() {
        selection.type === "Caret" && selection.removeAllRanges();
        if (!selection.rangeCount) {
          ranges.forEach(function(range) {
            selection.addRange(range);
          });
        }
        active && active.focus();
      };
    };
  }
});

// ../node_modules/copy-to-clipboard/index.js
var require_copy_to_clipboard = __commonJS({
  "../node_modules/copy-to-clipboard/index.js"(exports, module2) {
    "use strict";
    var deselectCurrent = require_toggle_selection();
    var clipboardToIE11Formatting = {
      "text/plain": "Text",
      "text/html": "Url",
      "default": "Text"
    };
    var defaultMessage = "Copy to clipboard: #{key}, Enter";
    function format4(message) {
      var copyKey = (/mac os x/i.test(navigator.userAgent) ? "\u2318" : "Ctrl") + "+C";
      return message.replace(/#{\s*key\s*}/g, copyKey);
    }
    __name(format4, "format");
    function copy5(text, options) {
      var debug2, message, reselectPrevious, range, selection, mark, success = false;
      if (!options) {
        options = {};
      }
      debug2 = options.debug || false;
      try {
        reselectPrevious = deselectCurrent();
        range = document.createRange();
        selection = document.getSelection();
        mark = document.createElement("span");
        mark.textContent = text;
        mark.ariaHidden = "true";
        mark.style.all = "unset";
        mark.style.position = "fixed";
        mark.style.top = 0;
        mark.style.clip = "rect(0, 0, 0, 0)";
        mark.style.whiteSpace = "pre";
        mark.style.webkitUserSelect = "text";
        mark.style.MozUserSelect = "text";
        mark.style.msUserSelect = "text";
        mark.style.userSelect = "text";
        mark.addEventListener("copy", function(e2) {
          e2.stopPropagation();
          if (options.format) {
            e2.preventDefault();
            if (typeof e2.clipboardData === "undefined") {
              debug2 && console.warn("unable to use e.clipboardData");
              debug2 && console.warn("trying IE specific stuff");
              window.clipboardData.clearData();
              var format5 = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting["default"];
              window.clipboardData.setData(format5, text);
            } else {
              e2.clipboardData.clearData();
              e2.clipboardData.setData(options.format, text);
            }
          }
          if (options.onCopy) {
            e2.preventDefault();
            options.onCopy(e2.clipboardData);
          }
        });
        document.body.appendChild(mark);
        range.selectNodeContents(mark);
        selection.addRange(range);
        var successful = document.execCommand("copy");
        if (!successful) {
          throw new Error("copy command was unsuccessful");
        }
        success = true;
      } catch (err) {
        debug2 && console.error("unable to copy using execCommand: ", err);
        debug2 && console.warn("trying IE specific stuff");
        try {
          window.clipboardData.setData(options.format || "text", text);
          options.onCopy && options.onCopy(window.clipboardData);
          success = true;
        } catch (err2) {
          debug2 && console.error("unable to copy using clipboardData: ", err2);
          debug2 && console.error("falling back to prompt");
          message = format4("message" in options ? options.message : defaultMessage);
          window.prompt(message, text);
        }
      } finally {
        if (selection) {
          if (typeof selection.removeRange == "function") {
            selection.removeRange(range);
          } else {
            selection.removeAllRanges();
          }
        }
        if (mark) {
          document.body.removeChild(mark);
        }
        reselectPrevious();
      }
      return success;
    }
    __name(copy5, "copy");
    module2.exports = copy5;
  }
});

// ../node_modules/semver/internal/constants.js
var require_constants = __commonJS({
  "../node_modules/semver/internal/constants.js"(exports, module2) {
    "use strict";
    var SEMVER_SPEC_VERSION = "2.0.0";
    var MAX_LENGTH = 256;
    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
    9007199254740991;
    var MAX_SAFE_COMPONENT_LENGTH = 16;
    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
    var RELEASE_TYPES = [
      "major",
      "premajor",
      "minor",
      "preminor",
      "patch",
      "prepatch",
      "prerelease"
    ];
    module2.exports = {
      MAX_LENGTH,
      MAX_SAFE_COMPONENT_LENGTH,
      MAX_SAFE_BUILD_LENGTH,
      MAX_SAFE_INTEGER,
      RELEASE_TYPES,
      SEMVER_SPEC_VERSION,
      FLAG_INCLUDE_PRERELEASE: 1,
      FLAG_LOOSE: 2
    };
  }
});

// ../node_modules/semver/internal/debug.js
var require_debug = __commonJS({
  "../node_modules/semver/internal/debug.js"(exports, module2) {
    "use strict";
    var debug2 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
    };
    module2.exports = debug2;
  }
});

// ../node_modules/semver/internal/re.js
var require_re = __commonJS({
  "../node_modules/semver/internal/re.js"(exports, module2) {
    "use strict";
    var {
      MAX_SAFE_COMPONENT_LENGTH,
      MAX_SAFE_BUILD_LENGTH,
      MAX_LENGTH
    } = require_constants();
    var debug2 = require_debug();
    exports = module2.exports = {};
    var re = exports.re = [];
    var safeRe = exports.safeRe = [];
    var src = exports.src = [];
    var safeSrc = exports.safeSrc = [];
    var t2 = exports.t = {};
    var R = 0;
    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
    var safeRegexReplacements = [
      ["\\s", 1],
      ["\\d", MAX_LENGTH],
      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
    ];
    var makeSafeRegex = /* @__PURE__ */ __name((value) => {
      for (const [token2, max2] of safeRegexReplacements) {
        value = value.split(`${token2}*`).join(`${token2}{0,${max2}}`).split(`${token2}+`).join(`${token2}{1,${max2}}`);
      }
      return value;
    }, "makeSafeRegex");
    var createToken = /* @__PURE__ */ __name((name, value, isGlobal) => {
      const safe2 = makeSafeRegex(value);
      const index4 = R++;
      debug2(name, index4, value);
      t2[name] = index4;
      src[index4] = value;
      safeSrc[index4] = safe2;
      re[index4] = new RegExp(value, isGlobal ? "g" : void 0);
      safeRe[index4] = new RegExp(safe2, isGlobal ? "g" : void 0);
    }, "createToken");
    createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
    createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
    createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
    createToken("MAINVERSION", `(${src[t2.NUMERICIDENTIFIER]})\\.(${src[t2.NUMERICIDENTIFIER]})\\.(${src[t2.NUMERICIDENTIFIER]})`);
    createToken("MAINVERSIONLOOSE", `(${src[t2.NUMERICIDENTIFIERLOOSE]})\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})`);
    createToken("PRERELEASEIDENTIFIER", `(?:${src[t2.NONNUMERICIDENTIFIER]}|${src[t2.NUMERICIDENTIFIER]})`);
    createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t2.NONNUMERICIDENTIFIER]}|${src[t2.NUMERICIDENTIFIERLOOSE]})`);
    createToken("PRERELEASE", `(?:-(${src[t2.PRERELEASEIDENTIFIER]}(?:\\.${src[t2.PRERELEASEIDENTIFIER]})*))`);
    createToken("PRERELEASELOOSE", `(?:-?(${src[t2.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t2.PRERELEASEIDENTIFIERLOOSE]})*))`);
    createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
    createToken("BUILD", `(?:\\+(${src[t2.BUILDIDENTIFIER]}(?:\\.${src[t2.BUILDIDENTIFIER]})*))`);
    createToken("FULLPLAIN", `v?${src[t2.MAINVERSION]}${src[t2.PRERELEASE]}?${src[t2.BUILD]}?`);
    createToken("FULL", `^${src[t2.FULLPLAIN]}$`);
    createToken("LOOSEPLAIN", `[v=\\s]*${src[t2.MAINVERSIONLOOSE]}${src[t2.PRERELEASELOOSE]}?${src[t2.BUILD]}?`);
    createToken("LOOSE", `^${src[t2.LOOSEPLAIN]}$`);
    createToken("GTLT", "((?:<|>)?=?)");
    createToken("XRANGEIDENTIFIERLOOSE", `${src[t2.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
    createToken("XRANGEIDENTIFIER", `${src[t2.NUMERICIDENTIFIER]}|x|X|\\*`);
    createToken("XRANGEPLAIN", `[v=\\s]*(${src[t2.XRANGEIDENTIFIER]})(?:\\.(${src[t2.XRANGEIDENTIFIER]})(?:\\.(${src[t2.XRANGEIDENTIFIER]})(?:${src[t2.PRERELEASE]})?${src[t2.BUILD]}?)?)?`);
    createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:${src[t2.PRERELEASELOOSE]})?${src[t2.BUILD]}?)?)?`);
    createToken("XRANGE", `^${src[t2.GTLT]}\\s*${src[t2.XRANGEPLAIN]}$`);
    createToken("XRANGELOOSE", `^${src[t2.GTLT]}\\s*${src[t2.XRANGEPLAINLOOSE]}$`);
    createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
    createToken("COERCE", `${src[t2.COERCEPLAIN]}(?:$|[^\\d])`);
    createToken("COERCEFULL", src[t2.COERCEPLAIN] + `(?:${src[t2.PRERELEASE]})?(?:${src[t2.BUILD]})?(?:$|[^\\d])`);
    createToken("COERCERTL", src[t2.COERCE], true);
    createToken("COERCERTLFULL", src[t2.COERCEFULL], true);
    createToken("LONETILDE", "(?:~>?)");
    createToken("TILDETRIM", `(\\s*)${src[t2.LONETILDE]}\\s+`, true);
    exports.tildeTrimReplace = "$1~";
    createToken("TILDE", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAIN]}$`);
    createToken("TILDELOOSE", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAINLOOSE]}$`);
    createToken("LONECARET", "(?:\\^)");
    createToken("CARETTRIM", `(\\s*)${src[t2.LONECARET]}\\s+`, true);
    exports.caretTrimReplace = "$1^";
    createToken("CARET", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAIN]}$`);
    createToken("CARETLOOSE", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAINLOOSE]}$`);
    createToken("COMPARATORLOOSE", `^${src[t2.GTLT]}\\s*(${src[t2.LOOSEPLAIN]})$|^$`);
    createToken("COMPARATOR", `^${src[t2.GTLT]}\\s*(${src[t2.FULLPLAIN]})$|^$`);
    createToken("COMPARATORTRIM", `(\\s*)${src[t2.GTLT]}\\s*(${src[t2.LOOSEPLAIN]}|${src[t2.XRANGEPLAIN]})`, true);
    exports.comparatorTrimReplace = "$1$2$3";
    createToken("HYPHENRANGE", `^\\s*(${src[t2.XRANGEPLAIN]})\\s+-\\s+(${src[t2.XRANGEPLAIN]})\\s*$`);
    createToken("HYPHENRANGELOOSE", `^\\s*(${src[t2.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t2.XRANGEPLAINLOOSE]})\\s*$`);
    createToken("STAR", "(<|>)?=?\\s*\\*");
    createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
    createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
  }
});

// ../node_modules/semver/internal/parse-options.js
var require_parse_options = __commonJS({
  "../node_modules/semver/internal/parse-options.js"(exports, module2) {
    "use strict";
    var looseOption = Object.freeze({ loose: true });
    var emptyOpts = Object.freeze({});
    var parseOptions = /* @__PURE__ */ __name((options) => {
      if (!options) {
        return emptyOpts;
      }
      if (typeof options !== "object") {
        return looseOption;
      }
      return options;
    }, "parseOptions");
    module2.exports = parseOptions;
  }
});

// ../node_modules/semver/internal/identifiers.js
var require_identifiers = __commonJS({
  "../node_modules/semver/internal/identifiers.js"(exports, module2) {
    "use strict";
    var numeric = /^[0-9]+$/;
    var compareIdentifiers = /* @__PURE__ */ __name((a2, b) => {
      const anum = numeric.test(a2);
      const bnum = numeric.test(b);
      if (anum && bnum) {
        a2 = +a2;
        b = +b;
      }
      return a2 === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b ? -1 : 1;
    }, "compareIdentifiers");
    var rcompareIdentifiers = /* @__PURE__ */ __name((a2, b) => compareIdentifiers(b, a2), "rcompareIdentifiers");
    module2.exports = {
      compareIdentifiers,
      rcompareIdentifiers
    };
  }
});

// ../node_modules/semver/classes/semver.js
var require_semver = __commonJS({
  "../node_modules/semver/classes/semver.js"(exports, module2) {
    "use strict";
    var debug2 = require_debug();
    var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
    var { safeRe: re, t: t2 } = require_re();
    var parseOptions = require_parse_options();
    var { compareIdentifiers } = require_identifiers();
    var _SemVer = class _SemVer {
      constructor(version2, options) {
        options = parseOptions(options);
        if (version2 instanceof _SemVer) {
          if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) {
            return version2;
          } else {
            version2 = version2.version;
          }
        } else if (typeof version2 !== "string") {
          throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version2}".`);
        }
        if (version2.length > MAX_LENGTH) {
          throw new TypeError(
            `version is longer than ${MAX_LENGTH} characters`
          );
        }
        debug2("SemVer", version2, options);
        this.options = options;
        this.loose = !!options.loose;
        this.includePrerelease = !!options.includePrerelease;
        const m3 = version2.trim().match(options.loose ? re[t2.LOOSE] : re[t2.FULL]);
        if (!m3) {
          throw new TypeError(`Invalid Version: ${version2}`);
        }
        this.raw = version2;
        this.major = +m3[1];
        this.minor = +m3[2];
        this.patch = +m3[3];
        if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
          throw new TypeError("Invalid major version");
        }
        if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
          throw new TypeError("Invalid minor version");
        }
        if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
          throw new TypeError("Invalid patch version");
        }
        if (!m3[4]) {
          this.prerelease = [];
        } else {
          this.prerelease = m3[4].split(".").map((id) => {
            if (/^[0-9]+$/.test(id)) {
              const num = +id;
              if (num >= 0 && num < MAX_SAFE_INTEGER) {
                return num;
              }
            }
            return id;
          });
        }
        this.build = m3[5] ? m3[5].split(".") : [];
        this.format();
      }
      format() {
        this.version = `${this.major}.${this.minor}.${this.patch}`;
        if (this.prerelease.length) {
          this.version += `-${this.prerelease.join(".")}`;
        }
        return this.version;
      }
      toString() {
        return this.version;
      }
      compare(other) {
        debug2("SemVer.compare", this.version, this.options, other);
        if (!(other instanceof _SemVer)) {
          if (typeof other === "string" && other === this.version) {
            return 0;
          }
          other = new _SemVer(other, this.options);
        }
        if (other.version === this.version) {
          return 0;
        }
        return this.compareMain(other) || this.comparePre(other);
      }
      compareMain(other) {
        if (!(other instanceof _SemVer)) {
          other = new _SemVer(other, this.options);
        }
        return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
      }
      comparePre(other) {
        if (!(other instanceof _SemVer)) {
          other = new _SemVer(other, this.options);
        }
        if (this.prerelease.length && !other.prerelease.length) {
          return -1;
        } else if (!this.prerelease.length && other.prerelease.length) {
          return 1;
        } else if (!this.prerelease.length && !other.prerelease.length) {
          return 0;
        }
        let i2 = 0;
        do {
          const a2 = this.prerelease[i2];
          const b = other.prerelease[i2];
          debug2("prerelease compare", i2, a2, b);
          if (a2 === void 0 && b === void 0) {
            return 0;
          } else if (b === void 0) {
            return 1;
          } else if (a2 === void 0) {
            return -1;
          } else if (a2 === b) {
            continue;
          } else {
            return compareIdentifiers(a2, b);
          }
        } while (++i2);
      }
      compareBuild(other) {
        if (!(other instanceof _SemVer)) {
          other = new _SemVer(other, this.options);
        }
        let i2 = 0;
        do {
          const a2 = this.build[i2];
          const b = other.build[i2];
          debug2("build compare", i2, a2, b);
          if (a2 === void 0 && b === void 0) {
            return 0;
          } else if (b === void 0) {
            return 1;
          } else if (a2 === void 0) {
            return -1;
          } else if (a2 === b) {
            continue;
          } else {
            return compareIdentifiers(a2, b);
          }
        } while (++i2);
      }
      // preminor will bump the version up to the next minor release, and immediately
      // down to pre-release. premajor and prepatch work the same way.
      inc(release, identifier2, identifierBase) {
        if (release.startsWith("pre")) {
          if (!identifier2 && identifierBase === false) {
            throw new Error("invalid increment argument: identifier is empty");
          }
          if (identifier2) {
            const match3 = `-${identifier2}`.match(this.options.loose ? re[t2.PRERELEASELOOSE] : re[t2.PRERELEASE]);
            if (!match3 || match3[1] !== identifier2) {
              throw new Error(`invalid identifier: ${identifier2}`);
            }
          }
        }
        switch (release) {
          case "premajor":
            this.prerelease.length = 0;
            this.patch = 0;
            this.minor = 0;
            this.major++;
            this.inc("pre", identifier2, identifierBase);
            break;
          case "preminor":
            this.prerelease.length = 0;
            this.patch = 0;
            this.minor++;
            this.inc("pre", identifier2, identifierBase);
            break;
          case "prepatch":
            this.prerelease.length = 0;
            this.inc("patch", identifier2, identifierBase);
            this.inc("pre", identifier2, identifierBase);
            break;
          // If the input is a non-prerelease version, this acts the same as
          // prepatch.
          case "prerelease":
            if (this.prerelease.length === 0) {
              this.inc("patch", identifier2, identifierBase);
            }
            this.inc("pre", identifier2, identifierBase);
            break;
          case "release":
            if (this.prerelease.length === 0) {
              throw new Error(`version ${this.raw} is not a prerelease`);
            }
            this.prerelease.length = 0;
            break;
          case "major":
            if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
              this.major++;
            }
            this.minor = 0;
            this.patch = 0;
            this.prerelease = [];
            break;
          case "minor":
            if (this.patch !== 0 || this.prerelease.length === 0) {
              this.minor++;
            }
            this.patch = 0;
            this.prerelease = [];
            break;
          case "patch":
            if (this.prerelease.length === 0) {
              this.patch++;
            }
            this.prerelease = [];
            break;
          // This probably shouldn't be used publicly.
          // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
          case "pre": {
            const base = Number(identifierBase) ? 1 : 0;
            if (this.prerelease.length === 0) {
              this.prerelease = [base];
            } else {
              let i2 = this.prerelease.length;
              while (--i2 >= 0) {
                if (typeof this.prerelease[i2] === "number") {
                  this.prerelease[i2]++;
                  i2 = -2;
                }
              }
              if (i2 === -1) {
                if (identifier2 === this.prerelease.join(".") && identifierBase === false) {
                  throw new Error("invalid increment argument: identifier already exists");
                }
                this.prerelease.push(base);
              }
            }
            if (identifier2) {
              let prerelease = [identifier2, base];
              if (identifierBase === false) {
                prerelease = [identifier2];
              }
              if (compareIdentifiers(this.prerelease[0], identifier2) === 0) {
                if (isNaN(this.prerelease[1])) {
                  this.prerelease = prerelease;
                }
              } else {
                this.prerelease = prerelease;
              }
            }
            break;
          }
          default:
            throw new Error(`invalid increment argument: ${release}`);
        }
        this.raw = this.format();
        if (this.build.length) {
          this.raw += `+${this.build.join(".")}`;
        }
        return this;
      }
    };
    __name(_SemVer, "SemVer");
    var SemVer = _SemVer;
    module2.exports = SemVer;
  }
});

// ../node_modules/semver/functions/parse.js
var require_parse2 = __commonJS({
  "../node_modules/semver/functions/parse.js"(exports, module2) {
    "use strict";
    var SemVer = require_semver();
    var parse9 = /* @__PURE__ */ __name((version2, options, throwErrors = false) => {
      if (version2 instanceof SemVer) {
        return version2;
      }
      try {
        return new SemVer(version2, options);
      } catch (er) {
        if (!throwErrors) {
          return null;
        }
        throw er;
      }
    }, "parse");
    module2.exports = parse9;
  }
});

// ../node_modules/semver/functions/valid.js
var require_valid = __commonJS({
  "../node_modules/semver/functions/valid.js"(exports, module2) {
    "use strict";
    var parse9 = require_parse2();
    var valid = /* @__PURE__ */ __name((version2, options) => {
      const v = parse9(version2, options);
      return v ? v.version : null;
    }, "valid");
    module2.exports = valid;
  }
});

// ../node_modules/semver/functions/clean.js
var require_clean = __commonJS({
  "../node_modules/semver/functions/clean.js"(exports, module2) {
    "use strict";
    var parse9 = require_parse2();
    var clean = /* @__PURE__ */ __name((version2, options) => {
      const s3 = parse9(version2.trim().replace(/^[=v]+/, ""), options);
      return s3 ? s3.version : null;
    }, "clean");
    module2.exports = clean;
  }
});

// ../node_modules/semver/functions/inc.js
var require_inc = __commonJS({
  "../node_modules/semver/functions/inc.js"(exports, module2) {
    "use strict";
    var SemVer = require_semver();
    var inc = /* @__PURE__ */ __name((version2, release, options, identifier2, identifierBase) => {
      if (typeof options === "string") {
        identifierBase = identifier2;
        identifier2 = options;
        options = void 0;
      }
      try {
        return new SemVer(
          version2 instanceof SemVer ? version2.version : version2,
          options
        ).inc(release, identifier2, identifierBase).version;
      } catch (er) {
        return null;
      }
    }, "inc");
    module2.exports = inc;
  }
});

// ../node_modules/semver/functions/diff.js
var require_diff = __commonJS({
  "../node_modules/semver/functions/diff.js"(exports, module2) {
    "use strict";
    var parse9 = require_parse2();
    var diff2 = /* @__PURE__ */ __name((version1, version2) => {
      const v1 = parse9(version1, null, true);
      const v2 = parse9(version2, null, true);
      const comparison = v1.compare(v2);
      if (comparison === 0) {
        return null;
      }
      const v1Higher = comparison > 0;
      const highVersion = v1Higher ? v1 : v2;
      const lowVersion = v1Higher ? v2 : v1;
      const highHasPre = !!highVersion.prerelease.length;
      const lowHasPre = !!lowVersion.prerelease.length;
      if (lowHasPre && !highHasPre) {
        if (!lowVersion.patch && !lowVersion.minor) {
          return "major";
        }
        if (lowVersion.compareMain(highVersion) === 0) {
          if (lowVersion.minor && !lowVersion.patch) {
            return "minor";
          }
          return "patch";
        }
      }
      const prefix4 = highHasPre ? "pre" : "";
      if (v1.major !== v2.major) {
        return prefix4 + "major";
      }
      if (v1.minor !== v2.minor) {
        return prefix4 + "minor";
      }
      if (v1.patch !== v2.patch) {
        return prefix4 + "patch";
      }
      return "prerelease";
    }, "diff");
    module2.exports = diff2;
  }
});

// ../node_modules/semver/functions/major.js
var require_major = __commonJS({
  "../node_modules/semver/functions/major.js"(exports, module2) {
    "use strict";
    var SemVer = require_semver();
    var major = /* @__PURE__ */ __name((a2, loose) => new SemVer(a2, loose).major, "major");
    module2.exports = major;
  }
});

// ../node_modules/semver/functions/minor.js
var require_minor = __commonJS({
  "../node_modules/semver/functions/minor.js"(exports, module2) {
    "use strict";
    var SemVer = require_semver();
    var minor = /* @__PURE__ */ __name((a2, loose) => new SemVer(a2, loose).minor, "minor");
    module2.exports = minor;
  }
});

// ../node_modules/semver/functions/patch.js
var require_patch = __commonJS({
  "../node_modules/semver/functions/patch.js"(exports, module2) {
    "use strict";
    var SemVer = require_semver();
    var patch = /* @__PURE__ */ __name((a2, loose) => new SemVer(a2, loose).patch, "patch");
    module2.exports = patch;
  }
});

// ../node_modules/semver/functions/prerelease.js
var require_prerelease = __commonJS({
  "../node_modules/semver/functions/prerelease.js"(exports, module2) {
    "use strict";
    var parse9 = require_parse2();
    var prerelease = /* @__PURE__ */ __name((version2, options) => {
      const parsed = parse9(version2, options);
      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
    }, "prerelease");
    module2.exports = prerelease;
  }
});

// ../node_modules/semver/functions/compare.js
var require_compare = __commonJS({
  "../node_modules/semver/functions/compare.js"(exports, module2) {
    "use strict";
    var SemVer = require_semver();
    var compare = /* @__PURE__ */ __name((a2, b, loose) => new SemVer(a2, loose).compare(new SemVer(b, loose)), "compare");
    module2.exports = compare;
  }
});

// ../node_modules/semver/functions/rcompare.js
var require_rcompare = __commonJS({
  "../node_modules/semver/functions/rcompare.js"(exports, module2) {
    "use strict";
    var compare = require_compare();
    var rcompare = /* @__PURE__ */ __name((a2, b, loose) => compare(b, a2, loose), "rcompare");
    module2.exports = rcompare;
  }
});

// ../node_modules/semver/functions/compare-loose.js
var require_compare_loose = __commonJS({
  "../node_modules/semver/functions/compare-loose.js"(exports, module2) {
    "use strict";
    var compare = require_compare();
    var compareLoose = /* @__PURE__ */ __name((a2, b) => compare(a2, b, true), "compareLoose");
    module2.exports = compareLoose;
  }
});

// ../node_modules/semver/functions/compare-build.js
var require_compare_build = __commonJS({
  "../node_modules/semver/functions/compare-build.js"(exports, module2) {
    "use strict";
    var SemVer = require_semver();
    var compareBuild = /* @__PURE__ */ __name((a2, b, loose) => {
      const versionA = new SemVer(a2, loose);
      const versionB = new SemVer(b, loose);
      return versionA.compare(versionB) || versionA.compareBuild(versionB);
    }, "compareBuild");
    module2.exports = compareBuild;
  }
});

// ../node_modules/semver/functions/sort.js
var require_sort = __commonJS({
  "../node_modules/semver/functions/sort.js"(exports, module2) {
    "use strict";
    var compareBuild = require_compare_build();
    var sort = /* @__PURE__ */ __name((list, loose) => list.sort((a2, b) => compareBuild(a2, b, loose)), "sort");
    module2.exports = sort;
  }
});

// ../node_modules/semver/functions/rsort.js
var require_rsort = __commonJS({
  "../node_modules/semver/functions/rsort.js"(exports, module2) {
    "use strict";
    var compareBuild = require_compare_build();
    var rsort = /* @__PURE__ */ __name((list, loose) => list.sort((a2, b) => compareBuild(b, a2, loose)), "rsort");
    module2.exports = rsort;
  }
});

// ../node_modules/semver/functions/gt.js
var require_gt = __commonJS({
  "../node_modules/semver/functions/gt.js"(exports, module2) {
    "use strict";
    var compare = require_compare();
    var gt = /* @__PURE__ */ __name((a2, b, loose) => compare(a2, b, loose) > 0, "gt");
    module2.exports = gt;
  }
});

// ../node_modules/semver/functions/lt.js
var require_lt = __commonJS({
  "../node_modules/semver/functions/lt.js"(exports, module2) {
    "use strict";
    var compare = require_compare();
    var lt = /* @__PURE__ */ __name((a2, b, loose) => compare(a2, b, loose) < 0, "lt");
    module2.exports = lt;
  }
});

// ../node_modules/semver/functions/eq.js
var require_eq = __commonJS({
  "../node_modules/semver/functions/eq.js"(exports, module2) {
    "use strict";
    var compare = require_compare();
    var eq4 = /* @__PURE__ */ __name((a2, b, loose) => compare(a2, b, loose) === 0, "eq");
    module2.exports = eq4;
  }
});

// ../node_modules/semver/functions/neq.js
var require_neq = __commonJS({
  "../node_modules/semver/functions/neq.js"(exports, module2) {
    "use strict";
    var compare = require_compare();
    var neq = /* @__PURE__ */ __name((a2, b, loose) => compare(a2, b, loose) !== 0, "neq");
    module2.exports = neq;
  }
});

// ../node_modules/semver/functions/gte.js
var require_gte = __commonJS({
  "../node_modules/semver/functions/gte.js"(exports, module2) {
    "use strict";
    var compare = require_compare();
    var gte = /* @__PURE__ */ __name((a2, b, loose) => compare(a2, b, loose) >= 0, "gte");
    module2.exports = gte;
  }
});

// ../node_modules/semver/functions/lte.js
var require_lte = __commonJS({
  "../node_modules/semver/functions/lte.js"(exports, module2) {
    "use strict";
    var compare = require_compare();
    var lte = /* @__PURE__ */ __name((a2, b, loose) => compare(a2, b, loose) <= 0, "lte");
    module2.exports = lte;
  }
});

// ../node_modules/semver/functions/cmp.js
var require_cmp = __commonJS({
  "../node_modules/semver/functions/cmp.js"(exports, module2) {
    "use strict";
    var eq4 = require_eq();
    var neq = require_neq();
    var gt = require_gt();
    var gte = require_gte();
    var lt = require_lt();
    var lte = require_lte();
    var cmp = /* @__PURE__ */ __name((a2, op, b, loose) => {
      switch (op) {
        case "===":
          if (typeof a2 === "object") {
            a2 = a2.version;
          }
          if (typeof b === "object") {
            b = b.version;
          }
          return a2 === b;
        case "!==":
          if (typeof a2 === "object") {
            a2 = a2.version;
          }
          if (typeof b === "object") {
            b = b.version;
          }
          return a2 !== b;
        case "":
        case "=":
        case "==":
          return eq4(a2, b, loose);
        case "!=":
          return neq(a2, b, loose);
        case ">":
          return gt(a2, b, loose);
        case ">=":
          return gte(a2, b, loose);
        case "<":
          return lt(a2, b, loose);
        case "<=":
          return lte(a2, b, loose);
        default:
          throw new TypeError(`Invalid operator: ${op}`);
      }
    }, "cmp");
    module2.exports = cmp;
  }
});

// ../node_modules/semver/functions/coerce.js
var require_coerce = __commonJS({
  "../node_modules/semver/functions/coerce.js"(exports, module2) {
    "use strict";
    var SemVer = require_semver();
    var parse9 = require_parse2();
    var { safeRe: re, t: t2 } = require_re();
    var coerce = /* @__PURE__ */ __name((version2, options) => {
      if (version2 instanceof SemVer) {
        return version2;
      }
      if (typeof version2 === "number") {
        version2 = String(version2);
      }
      if (typeof version2 !== "string") {
        return null;
      }
      options = options || {};
      let match3 = null;
      if (!options.rtl) {
        match3 = version2.match(options.includePrerelease ? re[t2.COERCEFULL] : re[t2.COERCE]);
      } else {
        const coerceRtlRegex = options.includePrerelease ? re[t2.COERCERTLFULL] : re[t2.COERCERTL];
        let next2;
        while ((next2 = coerceRtlRegex.exec(version2)) && (!match3 || match3.index + match3[0].length !== version2.length)) {
          if (!match3 || next2.index + next2[0].length !== match3.index + match3[0].length) {
            match3 = next2;
          }
          coerceRtlRegex.lastIndex = next2.index + next2[1].length + next2[2].length;
        }
        coerceRtlRegex.lastIndex = -1;
      }
      if (match3 === null) {
        return null;
      }
      const major = match3[2];
      const minor = match3[3] || "0";
      const patch = match3[4] || "0";
      const prerelease = options.includePrerelease && match3[5] ? `-${match3[5]}` : "";
      const build3 = options.includePrerelease && match3[6] ? `+${match3[6]}` : "";
      return parse9(`${major}.${minor}.${patch}${prerelease}${build3}`, options);
    }, "coerce");
    module2.exports = coerce;
  }
});

// ../node_modules/semver/internal/lrucache.js
var require_lrucache = __commonJS({
  "../node_modules/semver/internal/lrucache.js"(exports, module2) {
    "use strict";
    var _LRUCache = class _LRUCache {
      constructor() {
        this.max = 1e3;
        this.map = /* @__PURE__ */ new Map();
      }
      get(key) {
        const value = this.map.get(key);
        if (value === void 0) {
          return void 0;
        } else {
          this.map.delete(key);
          this.map.set(key, value);
          return value;
        }
      }
      delete(key) {
        return this.map.delete(key);
      }
      set(key, value) {
        const deleted = this.delete(key);
        if (!deleted && value !== void 0) {
          if (this.map.size >= this.max) {
            const firstKey = this.map.keys().next().value;
            this.delete(firstKey);
          }
          this.map.set(key, value);
        }
        return this;
      }
    };
    __name(_LRUCache, "LRUCache");
    var LRUCache = _LRUCache;
    module2.exports = LRUCache;
  }
});

// ../node_modules/semver/classes/range.js
var require_range2 = __commonJS({
  "../node_modules/semver/classes/range.js"(exports, module2) {
    "use strict";
    var SPACE_CHARACTERS = /\s+/g;
    var _Range = class _Range {
      constructor(range, options) {
        options = parseOptions(options);
        if (range instanceof _Range) {
          if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
            return range;
          } else {
            return new _Range(range.raw, options);
          }
        }
        if (range instanceof Comparator) {
          this.raw = range.value;
          this.set = [[range]];
          this.formatted = void 0;
          return this;
        }
        this.options = options;
        this.loose = !!options.loose;
        this.includePrerelease = !!options.includePrerelease;
        this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
        this.set = this.raw.split("||").map((r2) => this.parseRange(r2.trim())).filter((c2) => c2.length);
        if (!this.set.length) {
          throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
        }
        if (this.set.length > 1) {
          const first = this.set[0];
          this.set = this.set.filter((c2) => !isNullSet(c2[0]));
          if (this.set.length === 0) {
            this.set = [first];
          } else if (this.set.length > 1) {
            for (const c2 of this.set) {
              if (c2.length === 1 && isAny(c2[0])) {
                this.set = [c2];
                break;
              }
            }
          }
        }
        this.formatted = void 0;
      }
      get range() {
        if (this.formatted === void 0) {
          this.formatted = "";
          for (let i2 = 0; i2 < this.set.length; i2++) {
            if (i2 > 0) {
              this.formatted += "||";
            }
            const comps = this.set[i2];
            for (let k = 0; k < comps.length; k++) {
              if (k > 0) {
                this.formatted += " ";
              }
              this.formatted += comps[k].toString().trim();
            }
          }
        }
        return this.formatted;
      }
      format() {
        return this.range;
      }
      toString() {
        return this.range;
      }
      parseRange(range) {
        const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
        const memoKey = memoOpts + ":" + range;
        const cached = cache.get(memoKey);
        if (cached) {
          return cached;
        }
        const loose = this.options.loose;
        const hr = loose ? re[t2.HYPHENRANGELOOSE] : re[t2.HYPHENRANGE];
        range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
        debug2("hyphen replace", range);
        range = range.replace(re[t2.COMPARATORTRIM], comparatorTrimReplace);
        debug2("comparator trim", range);
        range = range.replace(re[t2.TILDETRIM], tildeTrimReplace);
        debug2("tilde trim", range);
        range = range.replace(re[t2.CARETTRIM], caretTrimReplace);
        debug2("caret trim", range);
        let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
        if (loose) {
          rangeList = rangeList.filter((comp) => {
            debug2("loose invalid filter", comp, this.options);
            return !!comp.match(re[t2.COMPARATORLOOSE]);
          });
        }
        debug2("range list", rangeList);
        const rangeMap = /* @__PURE__ */ new Map();
        const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
        for (const comp of comparators) {
          if (isNullSet(comp)) {
            return [comp];
          }
          rangeMap.set(comp.value, comp);
        }
        if (rangeMap.size > 1 && rangeMap.has("")) {
          rangeMap.delete("");
        }
        const result = [...rangeMap.values()];
        cache.set(memoKey, result);
        return result;
      }
      intersects(range, options) {
        if (!(range instanceof _Range)) {
          throw new TypeError("a Range is required");
        }
        return this.set.some((thisComparators) => {
          return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
            return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
              return rangeComparators.every((rangeComparator) => {
                return thisComparator.intersects(rangeComparator, options);
              });
            });
          });
        });
      }
      // if ANY of the sets match ALL of its comparators, then pass
      test(version2) {
        if (!version2) {
          return false;
        }
        if (typeof version2 === "string") {
          try {
            version2 = new SemVer(version2, this.options);
          } catch (er) {
            return false;
          }
        }
        for (let i2 = 0; i2 < this.set.length; i2++) {
          if (testSet(this.set[i2], version2, this.options)) {
            return true;
          }
        }
        return false;
      }
    };
    __name(_Range, "Range");
    var Range = _Range;
    module2.exports = Range;
    var LRU = require_lrucache();
    var cache = new LRU();
    var parseOptions = require_parse_options();
    var Comparator = require_comparator();
    var debug2 = require_debug();
    var SemVer = require_semver();
    var {
      safeRe: re,
      t: t2,
      comparatorTrimReplace,
      tildeTrimReplace,
      caretTrimReplace
    } = require_re();
    var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants();
    var isNullSet = /* @__PURE__ */ __name((c2) => c2.value === "<0.0.0-0", "isNullSet");
    var isAny = /* @__PURE__ */ __name((c2) => c2.value === "", "isAny");
    var isSatisfiable = /* @__PURE__ */ __name((comparators, options) => {
      let result = true;
      const remainingComparators = comparators.slice();
      let testComparator = remainingComparators.pop();
      while (result && remainingComparators.length) {
        result = remainingComparators.every((otherComparator) => {
          return testComparator.intersects(otherComparator, options);
        });
        testComparator = remainingComparators.pop();
      }
      return result;
    }, "isSatisfiable");
    var parseComparator = /* @__PURE__ */ __name((comp, options) => {
      debug2("comp", comp, options);
      comp = replaceCarets(comp, options);
      debug2("caret", comp);
      comp = replaceTildes(comp, options);
      debug2("tildes", comp);
      comp = replaceXRanges(comp, options);
      debug2("xrange", comp);
      comp = replaceStars(comp, options);
      debug2("stars", comp);
      return comp;
    }, "parseComparator");
    var isX = /* @__PURE__ */ __name((id) => !id || id.toLowerCase() === "x" || id === "*", "isX");
    var replaceTildes = /* @__PURE__ */ __name((comp, options) => {
      return comp.trim().split(/\s+/).map((c2) => replaceTilde(c2, options)).join(" ");
    }, "replaceTildes");
    var replaceTilde = /* @__PURE__ */ __name((comp, options) => {
      const r2 = options.loose ? re[t2.TILDELOOSE] : re[t2.TILDE];
      return comp.replace(r2, (_, M, m3, p2, pr) => {
        debug2("tilde", comp, _, M, m3, p2, pr);
        let ret;
        if (isX(M)) {
          ret = "";
        } else if (isX(m3)) {
          ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
        } else if (isX(p2)) {
          ret = `>=${M}.${m3}.0 <${M}.${+m3 + 1}.0-0`;
        } else if (pr) {
          debug2("replaceTilde pr", pr);
          ret = `>=${M}.${m3}.${p2}-${pr} <${M}.${+m3 + 1}.0-0`;
        } else {
          ret = `>=${M}.${m3}.${p2} <${M}.${+m3 + 1}.0-0`;
        }
        debug2("tilde return", ret);
        return ret;
      });
    }, "replaceTilde");
    var replaceCarets = /* @__PURE__ */ __name((comp, options) => {
      return comp.trim().split(/\s+/).map((c2) => replaceCaret(c2, options)).join(" ");
    }, "replaceCarets");
    var replaceCaret = /* @__PURE__ */ __name((comp, options) => {
      debug2("caret", comp, options);
      const r2 = options.loose ? re[t2.CARETLOOSE] : re[t2.CARET];
      const z = options.includePrerelease ? "-0" : "";
      return comp.replace(r2, (_, M, m3, p2, pr) => {
        debug2("caret", comp, _, M, m3, p2, pr);
        let ret;
        if (isX(M)) {
          ret = "";
        } else if (isX(m3)) {
          ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
        } else if (isX(p2)) {
          if (M === "0") {
            ret = `>=${M}.${m3}.0${z} <${M}.${+m3 + 1}.0-0`;
          } else {
            ret = `>=${M}.${m3}.0${z} <${+M + 1}.0.0-0`;
          }
        } else if (pr) {
          debug2("replaceCaret pr", pr);
          if (M === "0") {
            if (m3 === "0") {
              ret = `>=${M}.${m3}.${p2}-${pr} <${M}.${m3}.${+p2 + 1}-0`;
            } else {
              ret = `>=${M}.${m3}.${p2}-${pr} <${M}.${+m3 + 1}.0-0`;
            }
          } else {
            ret = `>=${M}.${m3}.${p2}-${pr} <${+M + 1}.0.0-0`;
          }
        } else {
          debug2("no pr");
          if (M === "0") {
            if (m3 === "0") {
              ret = `>=${M}.${m3}.${p2}${z} <${M}.${m3}.${+p2 + 1}-0`;
            } else {
              ret = `>=${M}.${m3}.${p2}${z} <${M}.${+m3 + 1}.0-0`;
            }
          } else {
            ret = `>=${M}.${m3}.${p2} <${+M + 1}.0.0-0`;
          }
        }
        debug2("caret return", ret);
        return ret;
      });
    }, "replaceCaret");
    var replaceXRanges = /* @__PURE__ */ __name((comp, options) => {
      debug2("replaceXRanges", comp, options);
      return comp.split(/\s+/).map((c2) => replaceXRange(c2, options)).join(" ");
    }, "replaceXRanges");
    var replaceXRange = /* @__PURE__ */ __name((comp, options) => {
      comp = comp.trim();
      const r2 = options.loose ? re[t2.XRANGELOOSE] : re[t2.XRANGE];
      return comp.replace(r2, (ret, gtlt, M, m3, p2, pr) => {
        debug2("xRange", comp, ret, gtlt, M, m3, p2, pr);
        const xM = isX(M);
        const xm = xM || isX(m3);
        const xp = xm || isX(p2);
        const anyX = xp;
        if (gtlt === "=" && anyX) {
          gtlt = "";
        }
        pr = options.includePrerelease ? "-0" : "";
        if (xM) {
          if (gtlt === ">" || gtlt === "<") {
            ret = "<0.0.0-0";
          } else {
            ret = "*";
          }
        } else if (gtlt && anyX) {
          if (xm) {
            m3 = 0;
          }
          p2 = 0;
          if (gtlt === ">") {
            gtlt = ">=";
            if (xm) {
              M = +M + 1;
              m3 = 0;
              p2 = 0;
            } else {
              m3 = +m3 + 1;
              p2 = 0;
            }
          } else if (gtlt === "<=") {
            gtlt = "<";
            if (xm) {
              M = +M + 1;
            } else {
              m3 = +m3 + 1;
            }
          }
          if (gtlt === "<") {
            pr = "-0";
          }
          ret = `${gtlt + M}.${m3}.${p2}${pr}`;
        } else if (xm) {
          ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
        } else if (xp) {
          ret = `>=${M}.${m3}.0${pr} <${M}.${+m3 + 1}.0-0`;
        }
        debug2("xRange return", ret);
        return ret;
      });
    }, "replaceXRange");
    var replaceStars = /* @__PURE__ */ __name((comp, options) => {
      debug2("replaceStars", comp, options);
      return comp.trim().replace(re[t2.STAR], "");
    }, "replaceStars");
    var replaceGTE0 = /* @__PURE__ */ __name((comp, options) => {
      debug2("replaceGTE0", comp, options);
      return comp.trim().replace(re[options.includePrerelease ? t2.GTE0PRE : t2.GTE0], "");
    }, "replaceGTE0");
    var hyphenReplace = /* @__PURE__ */ __name((incPr) => ($0, from2, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
      if (isX(fM)) {
        from2 = "";
      } else if (isX(fm)) {
        from2 = `>=${fM}.0.0${incPr ? "-0" : ""}`;
      } else if (isX(fp)) {
        from2 = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
      } else if (fpr) {
        from2 = `>=${from2}`;
      } else {
        from2 = `>=${from2}${incPr ? "-0" : ""}`;
      }
      if (isX(tM)) {
        to = "";
      } else if (isX(tm)) {
        to = `<${+tM + 1}.0.0-0`;
      } else if (isX(tp)) {
        to = `<${tM}.${+tm + 1}.0-0`;
      } else if (tpr) {
        to = `<=${tM}.${tm}.${tp}-${tpr}`;
      } else if (incPr) {
        to = `<${tM}.${tm}.${+tp + 1}-0`;
      } else {
        to = `<=${to}`;
      }
      return `${from2} ${to}`.trim();
    }, "hyphenReplace");
    var testSet = /* @__PURE__ */ __name((set3, version2, options) => {
      for (let i2 = 0; i2 < set3.length; i2++) {
        if (!set3[i2].test(version2)) {
          return false;
        }
      }
      if (version2.prerelease.length && !options.includePrerelease) {
        for (let i2 = 0; i2 < set3.length; i2++) {
          debug2(set3[i2].semver);
          if (set3[i2].semver === Comparator.ANY) {
            continue;
          }
          if (set3[i2].semver.prerelease.length > 0) {
            const allowed = set3[i2].semver;
            if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) {
              return true;
            }
          }
        }
        return false;
      }
      return true;
    }, "testSet");
  }
});

// ../node_modules/semver/classes/comparator.js
var require_comparator = __commonJS({
  "../node_modules/semver/classes/comparator.js"(exports, module2) {
    "use strict";
    var ANY = Symbol("SemVer ANY");
    var _Comparator = class _Comparator {
      static get ANY() {
        return ANY;
      }
      constructor(comp, options) {
        options = parseOptions(options);
        if (comp instanceof _Comparator) {
          if (comp.loose === !!options.loose) {
            return comp;
          } else {
            comp = comp.value;
          }
        }
        comp = comp.trim().split(/\s+/).join(" ");
        debug2("comparator", comp, options);
        this.options = options;
        this.loose = !!options.loose;
        this.parse(comp);
        if (this.semver === ANY) {
          this.value = "";
        } else {
          this.value = this.operator + this.semver.version;
        }
        debug2("comp", this);
      }
      parse(comp) {
        const r2 = this.options.loose ? re[t2.COMPARATORLOOSE] : re[t2.COMPARATOR];
        const m3 = comp.match(r2);
        if (!m3) {
          throw new TypeError(`Invalid comparator: ${comp}`);
        }
        this.operator = m3[1] !== void 0 ? m3[1] : "";
        if (this.operator === "=") {
          this.operator = "";
        }
        if (!m3[2]) {
          this.semver = ANY;
        } else {
          this.semver = new SemVer(m3[2], this.options.loose);
        }
      }
      toString() {
        return this.value;
      }
      test(version2) {
        debug2("Comparator.test", version2, this.options.loose);
        if (this.semver === ANY || version2 === ANY) {
          return true;
        }
        if (typeof version2 === "string") {
          try {
            version2 = new SemVer(version2, this.options);
          } catch (er) {
            return false;
          }
        }
        return cmp(version2, this.operator, this.semver, this.options);
      }
      intersects(comp, options) {
        if (!(comp instanceof _Comparator)) {
          throw new TypeError("a Comparator is required");
        }
        if (this.operator === "") {
          if (this.value === "") {
            return true;
          }
          return new Range(comp.value, options).test(this.value);
        } else if (comp.operator === "") {
          if (comp.value === "") {
            return true;
          }
          return new Range(this.value, options).test(comp.semver);
        }
        options = parseOptions(options);
        if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
          return false;
        }
        if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
          return false;
        }
        if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
          return true;
        }
        if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
          return true;
        }
        if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
          return true;
        }
        if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
          return true;
        }
        if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
          return true;
        }
        return false;
      }
    };
    __name(_Comparator, "Comparator");
    var Comparator = _Comparator;
    module2.exports = Comparator;
    var parseOptions = require_parse_options();
    var { safeRe: re, t: t2 } = require_re();
    var cmp = require_cmp();
    var debug2 = require_debug();
    var SemVer = require_semver();
    var Range = require_range2();
  }
});

// ../node_modules/semver/functions/satisfies.js
var require_satisfies = __commonJS({
  "../node_modules/semver/functions/satisfies.js"(exports, module2) {
    "use strict";
    var Range = require_range2();
    var satisfies = /* @__PURE__ */ __name((version2, range, options) => {
      try {
        range = new Range(range, options);
      } catch (er) {
        return false;
      }
      return range.test(version2);
    }, "satisfies");
    module2.exports = satisfies;
  }
});

// ../node_modules/semver/ranges/to-comparators.js
var require_to_comparators = __commonJS({
  "../node_modules/semver/ranges/to-comparators.js"(exports, module2) {
    "use strict";
    var Range = require_range2();
    var toComparators = /* @__PURE__ */ __name((range, options) => new Range(range, options).set.map((comp) => comp.map((c2) => c2.value).join(" ").trim().split(" ")), "toComparators");
    module2.exports = toComparators;
  }
});

// ../node_modules/semver/ranges/max-satisfying.js
var require_max_satisfying = __commonJS({
  "../node_modules/semver/ranges/max-satisfying.js"(exports, module2) {
    "use strict";
    var SemVer = require_semver();
    var Range = require_range2();
    var maxSatisfying = /* @__PURE__ */ __name((versions, range, options) => {
      let max2 = null;
      let maxSV = null;
      let rangeObj = null;
      try {
        rangeObj = new Range(range, options);
      } catch (er) {
        return null;
      }
      versions.forEach((v) => {
        if (rangeObj.test(v)) {
          if (!max2 || maxSV.compare(v) === -1) {
            max2 = v;
            maxSV = new SemVer(max2, options);
          }
        }
      });
      return max2;
    }, "maxSatisfying");
    module2.exports = maxSatisfying;
  }
});

// ../node_modules/semver/ranges/min-satisfying.js
var require_min_satisfying = __commonJS({
  "../node_modules/semver/ranges/min-satisfying.js"(exports, module2) {
    "use strict";
    var SemVer = require_semver();
    var Range = require_range2();
    var minSatisfying = /* @__PURE__ */ __name((versions, range, options) => {
      let min2 = null;
      let minSV = null;
      let rangeObj = null;
      try {
        rangeObj = new Range(range, options);
      } catch (er) {
        return null;
      }
      versions.forEach((v) => {
        if (rangeObj.test(v)) {
          if (!min2 || minSV.compare(v) === 1) {
            min2 = v;
            minSV = new SemVer(min2, options);
          }
        }
      });
      return min2;
    }, "minSatisfying");
    module2.exports = minSatisfying;
  }
});

// ../node_modules/semver/ranges/min-version.js
var require_min_version = __commonJS({
  "../node_modules/semver/ranges/min-version.js"(exports, module2) {
    "use strict";
    var SemVer = require_semver();
    var Range = require_range2();
    var gt = require_gt();
    var minVersion = /* @__PURE__ */ __name((range, loose) => {
      range = new Range(range, loose);
      let minver = new SemVer("0.0.0");
      if (range.test(minver)) {
        return minver;
      }
      minver = new SemVer("0.0.0-0");
      if (range.test(minver)) {
        return minver;
      }
      minver = null;
      for (let i2 = 0; i2 < range.set.length; ++i2) {
        const comparators = range.set[i2];
        let setMin = null;
        comparators.forEach((comparator) => {
          const compver = new SemVer(comparator.semver.version);
          switch (comparator.operator) {
            case ">":
              if (compver.prerelease.length === 0) {
                compver.patch++;
              } else {
                compver.prerelease.push(0);
              }
              compver.raw = compver.format();
            /* fallthrough */
            case "":
            case ">=":
              if (!setMin || gt(compver, setMin)) {
                setMin = compver;
              }
              break;
            case "<":
            case "<=":
              break;
            /* istanbul ignore next */
            default:
              throw new Error(`Unexpected operation: ${comparator.operator}`);
          }
        });
        if (setMin && (!minver || gt(minver, setMin))) {
          minver = setMin;
        }
      }
      if (minver && range.test(minver)) {
        return minver;
      }
      return null;
    }, "minVersion");
    module2.exports = minVersion;
  }
});

// ../node_modules/semver/ranges/valid.js
var require_valid2 = __commonJS({
  "../node_modules/semver/ranges/valid.js"(exports, module2) {
    "use strict";
    var Range = require_range2();
    var validRange = /* @__PURE__ */ __name((range, options) => {
      try {
        return new Range(range, options).range || "*";
      } catch (er) {
        return null;
      }
    }, "validRange");
    module2.exports = validRange;
  }
});

// ../node_modules/semver/ranges/outside.js
var require_outside = __commonJS({
  "../node_modules/semver/ranges/outside.js"(exports, module2) {
    "use strict";
    var SemVer = require_semver();
    var Comparator = require_comparator();
    var { ANY } = Comparator;
    var Range = require_range2();
    var satisfies = require_satisfies();
    var gt = require_gt();
    var lt = require_lt();
    var lte = require_lte();
    var gte = require_gte();
    var outside = /* @__PURE__ */ __name((version2, range, hilo, options) => {
      version2 = new SemVer(version2, options);
      range = new Range(range, options);
      let gtfn, ltefn, ltfn, comp, ecomp;
      switch (hilo) {
        case ">":
          gtfn = gt;
          ltefn = lte;
          ltfn = lt;
          comp = ">";
          ecomp = ">=";
          break;
        case "<":
          gtfn = lt;
          ltefn = gte;
          ltfn = gt;
          comp = "<";
          ecomp = "<=";
          break;
        default:
          throw new TypeError('Must provide a hilo val of "<" or ">"');
      }
      if (satisfies(version2, range, options)) {
        return false;
      }
      for (let i2 = 0; i2 < range.set.length; ++i2) {
        const comparators = range.set[i2];
        let high = null;
        let low = null;
        comparators.forEach((comparator) => {
          if (comparator.semver === ANY) {
            comparator = new Comparator(">=0.0.0");
          }
          high = high || comparator;
          low = low || comparator;
          if (gtfn(comparator.semver, high.semver, options)) {
            high = comparator;
          } else if (ltfn(comparator.semver, low.semver, options)) {
            low = comparator;
          }
        });
        if (high.operator === comp || high.operator === ecomp) {
          return false;
        }
        if ((!low.operator || low.operator === comp) && ltefn(version2, low.semver)) {
          return false;
        } else if (low.operator === ecomp && ltfn(version2, low.semver)) {
          return false;
        }
      }
      return true;
    }, "outside");
    module2.exports = outside;
  }
});

// ../node_modules/semver/ranges/gtr.js
var require_gtr = __commonJS({
  "../node_modules/semver/ranges/gtr.js"(exports, module2) {
    "use strict";
    var outside = require_outside();
    var gtr = /* @__PURE__ */ __name((version2, range, options) => outside(version2, range, ">", options), "gtr");
    module2.exports = gtr;
  }
});

// ../node_modules/semver/ranges/ltr.js
var require_ltr = __commonJS({
  "../node_modules/semver/ranges/ltr.js"(exports, module2) {
    "use strict";
    var outside = require_outside();
    var ltr = /* @__PURE__ */ __name((version2, range, options) => outside(version2, range, "<", options), "ltr");
    module2.exports = ltr;
  }
});

// ../node_modules/semver/ranges/intersects.js
var require_intersects = __commonJS({
  "../node_modules/semver/ranges/intersects.js"(exports, module2) {
    "use strict";
    var Range = require_range2();
    var intersects = /* @__PURE__ */ __name((r1, r2, options) => {
      r1 = new Range(r1, options);
      r2 = new Range(r2, options);
      return r1.intersects(r2, options);
    }, "intersects");
    module2.exports = intersects;
  }
});

// ../node_modules/semver/ranges/simplify.js
var require_simplify = __commonJS({
  "../node_modules/semver/ranges/simplify.js"(exports, module2) {
    "use strict";
    var satisfies = require_satisfies();
    var compare = require_compare();
    module2.exports = (versions, range, options) => {
      const set3 = [];
      let first = null;
      let prev2 = null;
      const v = versions.sort((a2, b) => compare(a2, b, options));
      for (const version2 of v) {
        const included = satisfies(version2, range, options);
        if (included) {
          prev2 = version2;
          if (!first) {
            first = version2;
          }
        } else {
          if (prev2) {
            set3.push([first, prev2]);
          }
          prev2 = null;
          first = null;
        }
      }
      if (first) {
        set3.push([first, null]);
      }
      const ranges = [];
      for (const [min2, max2] of set3) {
        if (min2 === max2) {
          ranges.push(min2);
        } else if (!max2 && min2 === v[0]) {
          ranges.push("*");
        } else if (!max2) {
          ranges.push(`>=${min2}`);
        } else if (min2 === v[0]) {
          ranges.push(`<=${max2}`);
        } else {
          ranges.push(`${min2} - ${max2}`);
        }
      }
      const simplified = ranges.join(" || ");
      const original = typeof range.raw === "string" ? range.raw : String(range);
      return simplified.length < original.length ? simplified : range;
    };
  }
});

// ../node_modules/semver/ranges/subset.js
var require_subset = __commonJS({
  "../node_modules/semver/ranges/subset.js"(exports, module2) {
    "use strict";
    var Range = require_range2();
    var Comparator = require_comparator();
    var { ANY } = Comparator;
    var satisfies = require_satisfies();
    var compare = require_compare();
    var subset = /* @__PURE__ */ __name((sub, dom, options = {}) => {
      if (sub === dom) {
        return true;
      }
      sub = new Range(sub, options);
      dom = new Range(dom, options);
      let sawNonNull = false;
      OUTER: for (const simpleSub of sub.set) {
        for (const simpleDom of dom.set) {
          const isSub = simpleSubset(simpleSub, simpleDom, options);
          sawNonNull = sawNonNull || isSub !== null;
          if (isSub) {
            continue OUTER;
          }
        }
        if (sawNonNull) {
          return false;
        }
      }
      return true;
    }, "subset");
    var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
    var minimumVersion = [new Comparator(">=0.0.0")];
    var simpleSubset = /* @__PURE__ */ __name((sub, dom, options) => {
      if (sub === dom) {
        return true;
      }
      if (sub.length === 1 && sub[0].semver === ANY) {
        if (dom.length === 1 && dom[0].semver === ANY) {
          return true;
        } else if (options.includePrerelease) {
          sub = minimumVersionWithPreRelease;
        } else {
          sub = minimumVersion;
        }
      }
      if (dom.length === 1 && dom[0].semver === ANY) {
        if (options.includePrerelease) {
          return true;
        } else {
          dom = minimumVersion;
        }
      }
      const eqSet = /* @__PURE__ */ new Set();
      let gt, lt;
      for (const c2 of sub) {
        if (c2.operator === ">" || c2.operator === ">=") {
          gt = higherGT(gt, c2, options);
        } else if (c2.operator === "<" || c2.operator === "<=") {
          lt = lowerLT(lt, c2, options);
        } else {
          eqSet.add(c2.semver);
        }
      }
      if (eqSet.size > 1) {
        return null;
      }
      let gtltComp;
      if (gt && lt) {
        gtltComp = compare(gt.semver, lt.semver, options);
        if (gtltComp > 0) {
          return null;
        } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
          return null;
        }
      }
      for (const eq4 of eqSet) {
        if (gt && !satisfies(eq4, String(gt), options)) {
          return null;
        }
        if (lt && !satisfies(eq4, String(lt), options)) {
          return null;
        }
        for (const c2 of dom) {
          if (!satisfies(eq4, String(c2), options)) {
            return false;
          }
        }
        return true;
      }
      let higher, lower;
      let hasDomLT, hasDomGT;
      let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
      let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
      if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
        needDomLTPre = false;
      }
      for (const c2 of dom) {
        hasDomGT = hasDomGT || c2.operator === ">" || c2.operator === ">=";
        hasDomLT = hasDomLT || c2.operator === "<" || c2.operator === "<=";
        if (gt) {
          if (needDomGTPre) {
            if (c2.semver.prerelease && c2.semver.prerelease.length && c2.semver.major === needDomGTPre.major && c2.semver.minor === needDomGTPre.minor && c2.semver.patch === needDomGTPre.patch) {
              needDomGTPre = false;
            }
          }
          if (c2.operator === ">" || c2.operator === ">=") {
            higher = higherGT(gt, c2, options);
            if (higher === c2 && higher !== gt) {
              return false;
            }
          } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c2), options)) {
            return false;
          }
        }
        if (lt) {
          if (needDomLTPre) {
            if (c2.semver.prerelease && c2.semver.prerelease.length && c2.semver.major === needDomLTPre.major && c2.semver.minor === needDomLTPre.minor && c2.semver.patch === needDomLTPre.patch) {
              needDomLTPre = false;
            }
          }
          if (c2.operator === "<" || c2.operator === "<=") {
            lower = lowerLT(lt, c2, options);
            if (lower === c2 && lower !== lt) {
              return false;
            }
          } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c2), options)) {
            return false;
          }
        }
        if (!c2.operator && (lt || gt) && gtltComp !== 0) {
          return false;
        }
      }
      if (gt && hasDomLT && !lt && gtltComp !== 0) {
        return false;
      }
      if (lt && hasDomGT && !gt && gtltComp !== 0) {
        return false;
      }
      if (needDomGTPre || needDomLTPre) {
        return false;
      }
      return true;
    }, "simpleSubset");
    var higherGT = /* @__PURE__ */ __name((a2, b, options) => {
      if (!a2) {
        return b;
      }
      const comp = compare(a2.semver, b.semver, options);
      return comp > 0 ? a2 : comp < 0 ? b : b.operator === ">" && a2.operator === ">=" ? b : a2;
    }, "higherGT");
    var lowerLT = /* @__PURE__ */ __name((a2, b, options) => {
      if (!a2) {
        return b;
      }
      const comp = compare(a2.semver, b.semver, options);
      return comp < 0 ? a2 : comp > 0 ? b : b.operator === "<" && a2.operator === "<=" ? b : a2;
    }, "lowerLT");
    module2.exports = subset;
  }
});

// ../node_modules/semver/index.js
var require_semver2 = __commonJS({
  "../node_modules/semver/index.js"(exports, module2) {
    "use strict";
    var internalRe = require_re();
    var constants = require_constants();
    var SemVer = require_semver();
    var identifiers = require_identifiers();
    var parse9 = require_parse2();
    var valid = require_valid();
    var clean = require_clean();
    var inc = require_inc();
    var diff2 = require_diff();
    var major = require_major();
    var minor = require_minor();
    var patch = require_patch();
    var prerelease = require_prerelease();
    var compare = require_compare();
    var rcompare = require_rcompare();
    var compareLoose = require_compare_loose();
    var compareBuild = require_compare_build();
    var sort = require_sort();
    var rsort = require_rsort();
    var gt = require_gt();
    var lt = require_lt();
    var eq4 = require_eq();
    var neq = require_neq();
    var gte = require_gte();
    var lte = require_lte();
    var cmp = require_cmp();
    var coerce = require_coerce();
    var Comparator = require_comparator();
    var Range = require_range2();
    var satisfies = require_satisfies();
    var toComparators = require_to_comparators();
    var maxSatisfying = require_max_satisfying();
    var minSatisfying = require_min_satisfying();
    var minVersion = require_min_version();
    var validRange = require_valid2();
    var outside = require_outside();
    var gtr = require_gtr();
    var ltr = require_ltr();
    var intersects = require_intersects();
    var simplifyRange = require_simplify();
    var subset = require_subset();
    module2.exports = {
      parse: parse9,
      valid,
      clean,
      inc,
      diff: diff2,
      major,
      minor,
      patch,
      prerelease,
      compare,
      rcompare,
      compareLoose,
      compareBuild,
      sort,
      rsort,
      gt,
      lt,
      eq: eq4,
      neq,
      gte,
      lte,
      cmp,
      coerce,
      Comparator,
      Range,
      satisfies,
      toComparators,
      maxSatisfying,
      minSatisfying,
      minVersion,
      validRange,
      outside,
      gtr,
      ltr,
      intersects,
      simplifyRange,
      subset,
      SemVer,
      re: internalRe.re,
      src: internalRe.src,
      tokens: internalRe.t,
      SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
      RELEASE_TYPES: constants.RELEASE_TYPES,
      compareIdentifiers: identifiers.compareIdentifiers,
      rcompareIdentifiers: identifiers.rcompareIdentifiers
    };
  }
});

// ../node_modules/store2/dist/store2.js
var require_store2 = __commonJS({
  "../node_modules/store2/dist/store2.js"(exports, module2) {
    (function(window2, define3) {
      var _ = {
        version: "2.14.4",
        areas: {},
        apis: {},
        nsdelim: ".",
        // utilities
        inherit: /* @__PURE__ */ __name(function(api, o2) {
          for (var p2 in api) {
            if (!o2.hasOwnProperty(p2)) {
              Object.defineProperty(o2, p2, Object.getOwnPropertyDescriptor(api, p2));
            }
          }
          return o2;
        }, "inherit"),
        stringify: /* @__PURE__ */ __name(function(d, fn4) {
          return d === void 0 || typeof d === "function" ? d + "" : JSON.stringify(d, fn4 || _.replace);
        }, "stringify"),
        parse: /* @__PURE__ */ __name(function(s3, fn4) {
          try {
            return JSON.parse(s3, fn4 || _.revive);
          } catch (e2) {
            return s3;
          }
        }, "parse"),
        // extension hooks
        fn: /* @__PURE__ */ __name(function(name, fn4) {
          _.storeAPI[name] = fn4;
          for (var api in _.apis) {
            _.apis[api][name] = fn4;
          }
        }, "fn"),
        get: /* @__PURE__ */ __name(function(area, key) {
          return area.getItem(key);
        }, "get"),
        set: /* @__PURE__ */ __name(function(area, key, string) {
          area.setItem(key, string);
        }, "set"),
        remove: /* @__PURE__ */ __name(function(area, key) {
          area.removeItem(key);
        }, "remove"),
        key: /* @__PURE__ */ __name(function(area, i2) {
          return area.key(i2);
        }, "key"),
        length: /* @__PURE__ */ __name(function(area) {
          return area.length;
        }, "length"),
        clear: /* @__PURE__ */ __name(function(area) {
          area.clear();
        }, "clear"),
        // core functions
        Store: /* @__PURE__ */ __name(function(id, area, namespace) {
          var store3 = _.inherit(_.storeAPI, function(key, data, overwrite) {
            if (arguments.length === 0) {
              return store3.getAll();
            }
            if (typeof data === "function") {
              return store3.transact(key, data, overwrite);
            }
            if (data !== void 0) {
              return store3.set(key, data, overwrite);
            }
            if (typeof key === "string" || typeof key === "number") {
              return store3.get(key);
            }
            if (typeof key === "function") {
              return store3.each(key);
            }
            if (!key) {
              return store3.clear();
            }
            return store3.setAll(key, data);
          });
          store3._id = id;
          try {
            var testKey = "__store2_test";
            area.setItem(testKey, "ok");
            store3._area = area;
            area.removeItem(testKey);
          } catch (e2) {
            store3._area = _.storage("fake");
          }
          store3._ns = namespace || "";
          if (!_.areas[id]) {
            _.areas[id] = store3._area;
          }
          if (!_.apis[store3._ns + store3._id]) {
            _.apis[store3._ns + store3._id] = store3;
          }
          return store3;
        }, "Store"),
        storeAPI: {
          // admin functions
          area: /* @__PURE__ */ __name(function(id, area) {
            var store3 = this[id];
            if (!store3 || !store3.area) {
              store3 = _.Store(id, area, this._ns);
              if (!this[id]) {
                this[id] = store3;
              }
            }
            return store3;
          }, "area"),
          namespace: /* @__PURE__ */ __name(function(namespace, singleArea, delim) {
            delim = delim || this._delim || _.nsdelim;
            if (!namespace) {
              return this._ns ? this._ns.substring(0, this._ns.length - delim.length) : "";
            }
            var ns = namespace, store3 = this[ns];
            if (!store3 || !store3.namespace) {
              store3 = _.Store(this._id, this._area, this._ns + ns + delim);
              store3._delim = delim;
              if (!this[ns]) {
                this[ns] = store3;
              }
              if (!singleArea) {
                for (var name in _.areas) {
                  store3.area(name, _.areas[name]);
                }
              }
            }
            return store3;
          }, "namespace"),
          isFake: /* @__PURE__ */ __name(function(force) {
            if (force) {
              this._real = this._area;
              this._area = _.storage("fake");
            } else if (force === false) {
              this._area = this._real || this._area;
            }
            return this._area.name === "fake";
          }, "isFake"),
          toString: /* @__PURE__ */ __name(function() {
            return "store" + (this._ns ? "." + this.namespace() : "") + "[" + this._id + "]";
          }, "toString"),
          // storage functions
          has: /* @__PURE__ */ __name(function(key) {
            if (this._area.has) {
              return this._area.has(this._in(key));
            }
            return !!(this._in(key) in this._area);
          }, "has"),
          size: /* @__PURE__ */ __name(function() {
            return this.keys().length;
          }, "size"),
          each: /* @__PURE__ */ __name(function(fn4, fill2) {
            for (var i2 = 0, m3 = _.length(this._area); i2 < m3; i2++) {
              var key = this._out(_.key(this._area, i2));
              if (key !== void 0) {
                if (fn4.call(this, key, this.get(key), fill2) === false) {
                  break;
                }
              }
              if (m3 > _.length(this._area)) {
                m3--;
                i2--;
              }
            }
            return fill2 || this;
          }, "each"),
          keys: /* @__PURE__ */ __name(function(fillList) {
            return this.each(function(k, v, list) {
              list.push(k);
            }, fillList || []);
          }, "keys"),
          get: /* @__PURE__ */ __name(function(key, alt) {
            var s3 = _.get(this._area, this._in(key)), fn4;
            if (typeof alt === "function") {
              fn4 = alt;
              alt = null;
            }
            return s3 !== null ? _.parse(s3, fn4) : alt != null ? alt : s3;
          }, "get"),
          getAll: /* @__PURE__ */ __name(function(fillObj) {
            return this.each(function(k, v, all) {
              all[k] = v;
            }, fillObj || {});
          }, "getAll"),
          transact: /* @__PURE__ */ __name(function(key, fn4, alt) {
            var val = this.get(key, alt), ret = fn4(val);
            this.set(key, ret === void 0 ? val : ret);
            return this;
          }, "transact"),
          set: /* @__PURE__ */ __name(function(key, data, overwrite) {
            var d = this.get(key), replacer3;
            if (d != null && overwrite === false) {
              return data;
            }
            if (typeof overwrite === "function") {
              replacer3 = overwrite;
              overwrite = void 0;
            }
            return _.set(this._area, this._in(key), _.stringify(data, replacer3), overwrite) || d;
          }, "set"),
          setAll: /* @__PURE__ */ __name(function(data, overwrite) {
            var changed, val;
            for (var key in data) {
              val = data[key];
              if (this.set(key, val, overwrite) !== val) {
                changed = true;
              }
            }
            return changed;
          }, "setAll"),
          add: /* @__PURE__ */ __name(function(key, data, replacer3) {
            var d = this.get(key);
            if (d instanceof Array) {
              data = d.concat(data);
            } else if (d !== null) {
              var type5 = typeof d;
              if (type5 === typeof data && type5 === "object") {
                for (var k in data) {
                  d[k] = data[k];
                }
                data = d;
              } else {
                data = d + data;
              }
            }
            _.set(this._area, this._in(key), _.stringify(data, replacer3));
            return data;
          }, "add"),
          remove: /* @__PURE__ */ __name(function(key, alt) {
            var d = this.get(key, alt);
            _.remove(this._area, this._in(key));
            return d;
          }, "remove"),
          clear: /* @__PURE__ */ __name(function() {
            if (!this._ns) {
              _.clear(this._area);
            } else {
              this.each(function(k) {
                _.remove(this._area, this._in(k));
              }, 1);
            }
            return this;
          }, "clear"),
          clearAll: /* @__PURE__ */ __name(function() {
            var area = this._area;
            for (var id in _.areas) {
              if (_.areas.hasOwnProperty(id)) {
                this._area = _.areas[id];
                this.clear();
              }
            }
            this._area = area;
            return this;
          }, "clearAll"),
          // internal use functions
          _in: /* @__PURE__ */ __name(function(k) {
            if (typeof k !== "string") {
              k = _.stringify(k);
            }
            return this._ns ? this._ns + k : k;
          }, "_in"),
          _out: /* @__PURE__ */ __name(function(k) {
            return this._ns ? k && k.indexOf(this._ns) === 0 ? k.substring(this._ns.length) : void 0 : (
              // so each() knows to skip it
              k
            );
          }, "_out")
        },
        // end _.storeAPI
        storage: /* @__PURE__ */ __name(function(name) {
          return _.inherit(_.storageAPI, { items: {}, name });
        }, "storage"),
        storageAPI: {
          length: 0,
          has: /* @__PURE__ */ __name(function(k) {
            return this.items.hasOwnProperty(k);
          }, "has"),
          key: /* @__PURE__ */ __name(function(i2) {
            var c2 = 0;
            for (var k in this.items) {
              if (this.has(k) && i2 === c2++) {
                return k;
              }
            }
          }, "key"),
          setItem: /* @__PURE__ */ __name(function(k, v) {
            if (!this.has(k)) {
              this.length++;
            }
            this.items[k] = v;
          }, "setItem"),
          removeItem: /* @__PURE__ */ __name(function(k) {
            if (this.has(k)) {
              delete this.items[k];
              this.length--;
            }
          }, "removeItem"),
          getItem: /* @__PURE__ */ __name(function(k) {
            return this.has(k) ? this.items[k] : null;
          }, "getItem"),
          clear: /* @__PURE__ */ __name(function() {
            for (var k in this.items) {
              this.removeItem(k);
            }
          }, "clear")
        }
        // end _.storageAPI
      };
      var store2 = (
        // safely set this up (throws error in IE10/32bit mode for local files)
        _.Store("local", function() {
          try {
            return localStorage;
          } catch (e2) {
          }
        }())
      );
      store2.local = store2;
      store2._ = _;
      store2.area("session", function() {
        try {
          return sessionStorage;
        } catch (e2) {
        }
      }());
      store2.area("page", _.storage("page"));
      if (typeof define3 === "function" && define3.amd !== void 0) {
        define3("store2", [], function() {
          return store2;
        });
      } else if (typeof module2 !== "undefined" && module2.exports) {
        module2.exports = store2;
      } else {
        if (window2.store) {
          _.conflict = window2.store;
        }
        window2.store = store2;
      }
    })(exports, exports && exports.define);
  }
});

// ../node_modules/browser-dtector/browser-dtector.umd.min.js
var require_browser_dtector_umd_min = __commonJS({
  "../node_modules/browser-dtector/browser-dtector.umd.min.js"(exports, module2) {
    !function(e2, o2) {
      "object" == typeof exports && "undefined" != typeof module2 ? module2.exports = o2() : "function" == typeof define && define.amd ? define(o2) : (e2 = "undefined" != typeof globalThis ? globalThis : e2 || self).BrowserDetector = o2();
    }(exports, function() {
      "use strict";
      function e2(e3, o3) {
        for (var r3 = 0; r3 < o3.length; r3++) {
          var n3 = o3[r3];
          n3.enumerable = n3.enumerable || false, n3.configurable = true, "value" in n3 && (n3.writable = true), Object.defineProperty(e3, (i3 = n3.key, t3 = void 0, "symbol" == typeof (t3 = function(e4, o4) {
            if ("object" != typeof e4 || null === e4) return e4;
            var r4 = e4[Symbol.toPrimitive];
            if (void 0 !== r4) {
              var n4 = r4.call(e4, o4 || "default");
              if ("object" != typeof n4) return n4;
              throw new TypeError("@@toPrimitive must return a primitive value.");
            }
            return ("string" === o4 ? String : Number)(e4);
          }(i3, "string")) ? t3 : String(t3)), n3);
        }
        var i3, t3;
      }
      __name(e2, "e");
      var o2 = { chrome: "Google Chrome", brave: "Brave", crios: "Google Chrome", edge: "Microsoft Edge", edg: "Microsoft Edge", edgios: "Microsoft Edge", fennec: "Mozilla Firefox", jsdom: "JsDOM", mozilla: "Mozilla Firefox", fxios: "Mozilla Firefox", msie: "Microsoft Internet Explorer", opera: "Opera", opios: "Opera", opr: "Opera", opt: "Opera", rv: "Microsoft Internet Explorer", safari: "Safari", samsungbrowser: "Samsung Browser", electron: "Electron" }, r2 = { android: "Android", androidTablet: "Android Tablet", cros: "Chrome OS", fennec: "Android Tablet", ipad: "IPad", iphone: "IPhone", jsdom: "JsDOM", linux: "Linux", mac: "Macintosh", tablet: "Android Tablet", win: "Windows", "windows phone": "Windows Phone", xbox: "Microsoft Xbox" }, n2 = /* @__PURE__ */ __name(function(e3) {
        var o3 = new RegExp("^-?\\d+(?:.\\d{0,".concat(arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1, "})?")), r3 = Number(e3).toString().match(o3);
        return r3 ? r3[0] : null;
      }, "n"), i2 = /* @__PURE__ */ __name(function() {
        return "undefined" != typeof window ? window.navigator : null;
      }, "i"), t2 = function() {
        function t3(e3) {
          var o3;
          !function(e4, o4) {
            if (!(e4 instanceof o4)) throw new TypeError("Cannot call a class as a function");
          }(this, t3), this.userAgent = e3 || (null === (o3 = i2()) || void 0 === o3 ? void 0 : o3.userAgent) || null;
        }
        __name(t3, "t");
        var a2, l, s3;
        return a2 = t3, l = [{ key: "parseUserAgent", value: /* @__PURE__ */ __name(function(e3) {
          var t4, a3, l2, s4 = {}, c2 = e3 || this.userAgent || "", d = c2.toLowerCase().replace(/\s\s+/g, " "), u2 = /(edge)\/([\w.]+)/.exec(d) || /(edg)[/]([\w.]+)/.exec(d) || /(opr)[/]([\w.]+)/.exec(d) || /(opt)[/]([\w.]+)/.exec(d) || /(fxios)[/]([\w.]+)/.exec(d) || /(edgios)[/]([\w.]+)/.exec(d) || /(jsdom)[/]([\w.]+)/.exec(d) || /(samsungbrowser)[/]([\w.]+)/.exec(d) || /(electron)[/]([\w.]+)/.exec(d) || /(chrome)[/]([\w.]+)/.exec(d) || /(crios)[/]([\w.]+)/.exec(d) || /(opios)[/]([\w.]+)/.exec(d) || /(version)(applewebkit)[/]([\w.]+).*(safari)[/]([\w.]+)/.exec(d) || /(webkit)[/]([\w.]+).*(version)[/]([\w.]+).*(safari)[/]([\w.]+)/.exec(d) || /(applewebkit)[/]([\w.]+).*(safari)[/]([\w.]+)/.exec(d) || /(webkit)[/]([\w.]+)/.exec(d) || /(opera)(?:.*version|)[/]([\w.]+)/.exec(d) || /(msie) ([\w.]+)/.exec(d) || /(fennec)[/]([\w.]+)/.exec(d) || d.indexOf("trident") >= 0 && /(rv)(?::| )([\w.]+)/.exec(d) || d.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(d) || [], f3 = /(ipad)/.exec(d) || /(ipod)/.exec(d) || /(iphone)/.exec(d) || /(jsdom)/.exec(d) || /(windows phone)/.exec(d) || /(xbox)/.exec(d) || /(win)/.exec(d) || /(tablet)/.exec(d) || /(android)/.test(d) && false === /(mobile)/.test(d) && ["androidTablet"] || /(android)/.exec(d) || /(mac)/.exec(d) || /(linux)/.exec(d) || /(cros)/.exec(d) || [], p2 = u2[5] || u2[3] || u2[1] || null, w = f3[0] || null, x = u2[4] || u2[2] || null, b = i2();
          "chrome" === p2 && "function" == typeof (null == b || null === (t4 = b.brave) || void 0 === t4 ? void 0 : t4.isBrave) && (p2 = "brave"), p2 && (s4[p2] = true), w && (s4[w] = true);
          var v = Boolean(s4.tablet || s4.android || s4.androidTablet), m3 = Boolean(s4.ipad || s4.tablet || s4.androidTablet), g2 = Boolean(s4.android || s4.androidTablet || s4.tablet || s4.ipad || s4.ipod || s4.iphone || s4["windows phone"]), h2 = Boolean(s4.cros || s4.mac || s4.linux || s4.win), y = Boolean(s4.brave || s4.chrome || s4.crios || s4.opr || s4.safari || s4.edg || s4.electron), A3 = Boolean(s4.msie || s4.rv);
          return { name: null !== (a3 = o2[p2]) && void 0 !== a3 ? a3 : null, platform: null !== (l2 = r2[w]) && void 0 !== l2 ? l2 : null, userAgent: c2, version: x, shortVersion: x ? n2(parseFloat(x), 2) : null, isAndroid: v, isTablet: m3, isMobile: g2, isDesktop: h2, isWebkit: y, isIE: A3 };
        }, "value") }, { key: "getBrowserInfo", value: /* @__PURE__ */ __name(function() {
          var e3 = this.parseUserAgent();
          return { name: e3.name, platform: e3.platform, userAgent: e3.userAgent, version: e3.version, shortVersion: e3.shortVersion };
        }, "value") }], s3 = [{ key: "VERSION", get: /* @__PURE__ */ __name(function() {
          return "3.4.0";
        }, "get") }], l && e2(a2.prototype, l), s3 && e2(a2, s3), Object.defineProperty(a2, "prototype", { writable: false }), t3;
      }();
      return t2;
    });
  }
});

// src/core-events/index.ts
var core_events_exports = {};
__export(core_events_exports, {
  ARGTYPES_INFO_REQUEST: () => ARGTYPES_INFO_REQUEST,
  ARGTYPES_INFO_RESPONSE: () => ARGTYPES_INFO_RESPONSE,
  CHANNEL_CREATED: () => CHANNEL_CREATED,
  CHANNEL_WS_DISCONNECT: () => CHANNEL_WS_DISCONNECT,
  CONFIG_ERROR: () => CONFIG_ERROR,
  CREATE_NEW_STORYFILE_REQUEST: () => CREATE_NEW_STORYFILE_REQUEST,
  CREATE_NEW_STORYFILE_RESPONSE: () => CREATE_NEW_STORYFILE_RESPONSE,
  CURRENT_STORY_WAS_SET: () => CURRENT_STORY_WAS_SET,
  DOCS_PREPARED: () => DOCS_PREPARED,
  DOCS_RENDERED: () => DOCS_RENDERED,
  FILE_COMPONENT_SEARCH_REQUEST: () => FILE_COMPONENT_SEARCH_REQUEST,
  FILE_COMPONENT_SEARCH_RESPONSE: () => FILE_COMPONENT_SEARCH_RESPONSE,
  FORCE_REMOUNT: () => FORCE_REMOUNT,
  FORCE_RE_RENDER: () => FORCE_RE_RENDER,
  GLOBALS_UPDATED: () => GLOBALS_UPDATED,
  NAVIGATE_URL: () => NAVIGATE_URL,
  OPEN_IN_EDITOR_REQUEST: () => OPEN_IN_EDITOR_REQUEST,
  OPEN_IN_EDITOR_RESPONSE: () => OPEN_IN_EDITOR_RESPONSE,
  PLAY_FUNCTION_THREW_EXCEPTION: () => PLAY_FUNCTION_THREW_EXCEPTION,
  PRELOAD_ENTRIES: () => PRELOAD_ENTRIES,
  PREVIEW_BUILDER_PROGRESS: () => PREVIEW_BUILDER_PROGRESS,
  PREVIEW_INITIALIZED: () => PREVIEW_INITIALIZED,
  PREVIEW_KEYDOWN: () => PREVIEW_KEYDOWN,
  REGISTER_SUBSCRIPTION: () => REGISTER_SUBSCRIPTION,
  REQUEST_WHATS_NEW_DATA: () => REQUEST_WHATS_NEW_DATA,
  RESET_STORY_ARGS: () => RESET_STORY_ARGS,
  RESULT_WHATS_NEW_DATA: () => RESULT_WHATS_NEW_DATA,
  SAVE_STORY_REQUEST: () => SAVE_STORY_REQUEST,
  SAVE_STORY_RESPONSE: () => SAVE_STORY_RESPONSE,
  SELECT_STORY: () => SELECT_STORY,
  SET_CONFIG: () => SET_CONFIG,
  SET_CURRENT_STORY: () => SET_CURRENT_STORY,
  SET_FILTER: () => SET_FILTER,
  SET_GLOBALS: () => SET_GLOBALS,
  SET_INDEX: () => SET_INDEX,
  SET_STORIES: () => SET_STORIES,
  SET_WHATS_NEW_CACHE: () => SET_WHATS_NEW_CACHE,
  SHARED_STATE_CHANGED: () => SHARED_STATE_CHANGED,
  SHARED_STATE_SET: () => SHARED_STATE_SET,
  STORIES_COLLAPSE_ALL: () => STORIES_COLLAPSE_ALL,
  STORIES_EXPAND_ALL: () => STORIES_EXPAND_ALL,
  STORY_ARGS_UPDATED: () => STORY_ARGS_UPDATED,
  STORY_CHANGED: () => STORY_CHANGED,
  STORY_ERRORED: () => STORY_ERRORED,
  STORY_FINISHED: () => STORY_FINISHED,
  STORY_HOT_UPDATED: () => STORY_HOT_UPDATED,
  STORY_INDEX_INVALIDATED: () => STORY_INDEX_INVALIDATED,
  STORY_MISSING: () => STORY_MISSING,
  STORY_PREPARED: () => STORY_PREPARED,
  STORY_RENDERED: () => STORY_RENDERED,
  STORY_RENDER_PHASE_CHANGED: () => STORY_RENDER_PHASE_CHANGED,
  STORY_SPECIFIED: () => STORY_SPECIFIED,
  STORY_THREW_EXCEPTION: () => STORY_THREW_EXCEPTION,
  STORY_UNCHANGED: () => STORY_UNCHANGED,
  TELEMETRY_ERROR: () => TELEMETRY_ERROR,
  TOGGLE_WHATS_NEW_NOTIFICATIONS: () => TOGGLE_WHATS_NEW_NOTIFICATIONS,
  UNHANDLED_ERRORS_WHILE_PLAYING: () => UNHANDLED_ERRORS_WHILE_PLAYING,
  UPDATE_GLOBALS: () => UPDATE_GLOBALS,
  UPDATE_QUERY_PARAMS: () => UPDATE_QUERY_PARAMS,
  UPDATE_STORY_ARGS: () => UPDATE_STORY_ARGS,
  default: () => core_events_default
});
var events = /* @__PURE__ */ ((events2) => {
  events2["CHANNEL_WS_DISCONNECT"] = "channelWSDisconnect";
  events2["CHANNEL_CREATED"] = "channelCreated";
  events2["CONFIG_ERROR"] = "configError";
  events2["STORY_INDEX_INVALIDATED"] = "storyIndexInvalidated";
  events2["STORY_SPECIFIED"] = "storySpecified";
  events2["SET_CONFIG"] = "setConfig";
  events2["SET_STORIES"] = "setStories";
  events2["SET_INDEX"] = "setIndex";
  events2["SET_CURRENT_STORY"] = "setCurrentStory";
  events2["CURRENT_STORY_WAS_SET"] = "currentStoryWasSet";
  events2["FORCE_RE_RENDER"] = "forceReRender";
  events2["FORCE_REMOUNT"] = "forceRemount";
  events2["PRELOAD_ENTRIES"] = "preloadStories";
  events2["STORY_PREPARED"] = "storyPrepared";
  events2["DOCS_PREPARED"] = "docsPrepared";
  events2["STORY_CHANGED"] = "storyChanged";
  events2["STORY_UNCHANGED"] = "storyUnchanged";
  events2["STORY_RENDERED"] = "storyRendered";
  events2["STORY_FINISHED"] = "storyFinished";
  events2["STORY_MISSING"] = "storyMissing";
  events2["STORY_ERRORED"] = "storyErrored";
  events2["STORY_THREW_EXCEPTION"] = "storyThrewException";
  events2["STORY_RENDER_PHASE_CHANGED"] = "storyRenderPhaseChanged";
  events2["STORY_HOT_UPDATED"] = "storyHotUpdated";
  events2["PLAY_FUNCTION_THREW_EXCEPTION"] = "playFunctionThrewException";
  events2["UNHANDLED_ERRORS_WHILE_PLAYING"] = "unhandledErrorsWhilePlaying";
  events2["UPDATE_STORY_ARGS"] = "updateStoryArgs";
  events2["STORY_ARGS_UPDATED"] = "storyArgsUpdated";
  events2["RESET_STORY_ARGS"] = "resetStoryArgs";
  events2["SET_FILTER"] = "setFilter";
  events2["SET_GLOBALS"] = "setGlobals";
  events2["UPDATE_GLOBALS"] = "updateGlobals";
  events2["GLOBALS_UPDATED"] = "globalsUpdated";
  events2["REGISTER_SUBSCRIPTION"] = "registerSubscription";
  events2["PREVIEW_INITIALIZED"] = "previewInitialized";
  events2["PREVIEW_KEYDOWN"] = "previewKeydown";
  events2["PREVIEW_BUILDER_PROGRESS"] = "preview_builder_progress";
  events2["SELECT_STORY"] = "selectStory";
  events2["STORIES_COLLAPSE_ALL"] = "storiesCollapseAll";
  events2["STORIES_EXPAND_ALL"] = "storiesExpandAll";
  events2["DOCS_RENDERED"] = "docsRendered";
  events2["SHARED_STATE_CHANGED"] = "sharedStateChanged";
  events2["SHARED_STATE_SET"] = "sharedStateSet";
  events2["NAVIGATE_URL"] = "navigateUrl";
  events2["UPDATE_QUERY_PARAMS"] = "updateQueryParams";
  events2["REQUEST_WHATS_NEW_DATA"] = "requestWhatsNewData";
  events2["RESULT_WHATS_NEW_DATA"] = "resultWhatsNewData";
  events2["SET_WHATS_NEW_CACHE"] = "setWhatsNewCache";
  events2["TOGGLE_WHATS_NEW_NOTIFICATIONS"] = "toggleWhatsNewNotifications";
  events2["TELEMETRY_ERROR"] = "telemetryError";
  events2["FILE_COMPONENT_SEARCH_REQUEST"] = "fileComponentSearchRequest";
  events2["FILE_COMPONENT_SEARCH_RESPONSE"] = "fileComponentSearchResponse";
  events2["SAVE_STORY_REQUEST"] = "saveStoryRequest";
  events2["SAVE_STORY_RESPONSE"] = "saveStoryResponse";
  events2["ARGTYPES_INFO_REQUEST"] = "argtypesInfoRequest";
  events2["ARGTYPES_INFO_RESPONSE"] = "argtypesInfoResponse";
  events2["CREATE_NEW_STORYFILE_REQUEST"] = "createNewStoryfileRequest";
  events2["CREATE_NEW_STORYFILE_RESPONSE"] = "createNewStoryfileResponse";
  events2["OPEN_IN_EDITOR_REQUEST"] = "openInEditorRequest";
  events2["OPEN_IN_EDITOR_RESPONSE"] = "openInEditorResponse";
  return events2;
})(events || {});
var core_events_default = events;
var {
  CHANNEL_WS_DISCONNECT,
  CHANNEL_CREATED,
  CONFIG_ERROR,
  CREATE_NEW_STORYFILE_REQUEST,
  CREATE_NEW_STORYFILE_RESPONSE,
  CURRENT_STORY_WAS_SET,
  DOCS_PREPARED,
  DOCS_RENDERED,
  FILE_COMPONENT_SEARCH_REQUEST,
  FILE_COMPONENT_SEARCH_RESPONSE,
  FORCE_RE_RENDER,
  FORCE_REMOUNT,
  GLOBALS_UPDATED,
  NAVIGATE_URL,
  PLAY_FUNCTION_THREW_EXCEPTION,
  UNHANDLED_ERRORS_WHILE_PLAYING,
  PRELOAD_ENTRIES,
  PREVIEW_INITIALIZED,
  PREVIEW_BUILDER_PROGRESS,
  PREVIEW_KEYDOWN,
  REGISTER_SUBSCRIPTION,
  RESET_STORY_ARGS,
  SELECT_STORY,
  SET_CONFIG,
  SET_CURRENT_STORY,
  SET_FILTER,
  SET_GLOBALS,
  SET_INDEX,
  SET_STORIES,
  SHARED_STATE_CHANGED,
  SHARED_STATE_SET,
  STORIES_COLLAPSE_ALL,
  STORIES_EXPAND_ALL,
  STORY_ARGS_UPDATED,
  STORY_CHANGED,
  STORY_ERRORED,
  STORY_INDEX_INVALIDATED,
  STORY_MISSING,
  STORY_PREPARED,
  STORY_RENDER_PHASE_CHANGED,
  STORY_RENDERED,
  STORY_FINISHED,
  STORY_SPECIFIED,
  STORY_THREW_EXCEPTION,
  STORY_UNCHANGED,
  STORY_HOT_UPDATED,
  UPDATE_GLOBALS,
  UPDATE_QUERY_PARAMS,
  UPDATE_STORY_ARGS,
  REQUEST_WHATS_NEW_DATA,
  RESULT_WHATS_NEW_DATA,
  SET_WHATS_NEW_CACHE,
  TOGGLE_WHATS_NEW_NOTIFICATIONS,
  TELEMETRY_ERROR,
  SAVE_STORY_REQUEST,
  SAVE_STORY_RESPONSE,
  ARGTYPES_INFO_REQUEST,
  ARGTYPES_INFO_RESPONSE,
  OPEN_IN_EDITOR_REQUEST,
  OPEN_IN_EDITOR_RESPONSE
} = events;

// src/manager/globals/globals.ts
var globalsNameReferenceMap = {
  react: "__REACT__",
  "react-dom": "__REACT_DOM__",
  "react-dom/client": "__REACT_DOM_CLIENT__",
  "@storybook/icons": "__STORYBOOK_ICONS__",
  "storybook/manager-api": "__STORYBOOK_API__",
  "storybook/test": "__STORYBOOK_TEST__",
  "storybook/theming": "__STORYBOOK_THEMING__",
  "storybook/theming/create": "__STORYBOOK_THEMING_CREATE__",
  "storybook/internal/channels": "__STORYBOOK_CHANNELS__",
  "storybook/internal/client-logger": "__STORYBOOK_CLIENT_LOGGER__",
  "storybook/internal/components": "__STORYBOOK_COMPONENTS__",
  "storybook/internal/core-events": "__STORYBOOK_CORE_EVENTS__",
  "storybook/internal/manager-errors": "__STORYBOOK_CORE_EVENTS_MANAGER_ERRORS__",
  "storybook/internal/router": "__STORYBOOK_ROUTER__",
  "storybook/internal/types": "__STORYBOOK_TYPES__"
};
var globalPackages = Object.keys(globalsNameReferenceMap);

// src/manager/globals/runtime.ts
var REACT = __toESM(require_react(), 1);
var REACT_DOM = __toESM(require_react_dom(), 1);
var REACT_DOM_CLIENT = __toESM(require_client(), 1);

// src/channels/index.ts
var channels_exports = {};
__export(channels_exports, {
  Channel: () => Channel,
  HEARTBEAT_INTERVAL: () => HEARTBEAT_INTERVAL,
  HEARTBEAT_MAX_LATENCY: () => HEARTBEAT_MAX_LATENCY,
  PostMessageTransport: () => PostMessageTransport,
  WebsocketTransport: () => WebsocketTransport,
  createBrowserChannel: () => createBrowserChannel,
  default: () => channels_default
});
init_dist();

// src/shared/universal-store/index.ts
init_esm();

// src/shared/universal-store/instances.ts
var instances = /* @__PURE__ */ new Map();

// src/shared/universal-store/index.ts
var CHANNEL_EVENT_PREFIX = "UNIVERSAL_STORE:";
var ProgressState = {
  PENDING: "PENDING",
  RESOLVED: "RESOLVED",
  REJECTED: "REJECTED"
};
var _UniversalStore = class _UniversalStore {
  constructor(options, environmentOverrides) {
    /** Enable debug logs for this store */
    this.debugging = false;
    // TODO: narrow type of listeners based on event type
    this.listeners = /* @__PURE__ */ new Map([["*", /* @__PURE__ */ new Set()]]);
    /** Gets the current state */
    this.getState = /* @__PURE__ */ __name(() => {
      this.debug("getState", { state: this.state });
      return this.state;
    }, "getState");
    /**
     * Subscribes to store events
     *
     * @returns A function to unsubscribe
     */
    this.subscribe = /* @__PURE__ */ __name((eventTypeOrListener, maybeListener) => {
      const subscribesToAllEvents = typeof eventTypeOrListener === "function";
      const eventType = subscribesToAllEvents ? "*" : eventTypeOrListener;
      const listener = subscribesToAllEvents ? eventTypeOrListener : maybeListener;
      this.debug("subscribe", { eventType, listener });
      if (!listener) {
        throw new TypeError(
          `Missing first subscribe argument, or second if first is the event type, when subscribing to a UniversalStore with id '${this.id}'`
        );
      }
      if (!this.listeners.has(eventType)) {
        this.listeners.set(eventType, /* @__PURE__ */ new Set());
      }
      this.listeners.get(eventType).add(listener);
      return () => {
        this.debug("unsubscribe", { eventType, listener });
        if (!this.listeners.has(eventType)) {
          return;
        }
        this.listeners.get(eventType).delete(listener);
        if (this.listeners.get(eventType)?.size === 0) {
          this.listeners.delete(eventType);
        }
      };
    }, "subscribe");
    /** Sends a custom event to the other stores */
    this.send = /* @__PURE__ */ __name((event) => {
      this.debug("send", { event });
      if (this.status !== _UniversalStore.Status.READY) {
        throw new TypeError(
          dedent`Cannot send event before store is ready. You can get the current status with store.status,
        or await store.readyPromise to wait for the store to be ready before sending events.
        ${JSON.stringify(
            {
              event,
              id: this.id,
              actor: this.actor,
              environment: this.environment
            },
            null,
            2
          )}`
        );
      }
      this.emitToListeners(event, { actor: this.actor });
      this.emitToChannel(event, { actor: this.actor });
    }, "send");
    this.debugging = options.debug ?? false;
    if (!_UniversalStore.isInternalConstructing) {
      throw new TypeError(
        "UniversalStore is not constructable - use UniversalStore.create() instead"
      );
    }
    _UniversalStore.isInternalConstructing = false;
    this.id = options.id;
    this.actorId = Date.now().toString(36) + Math.random().toString(36).substring(2);
    this.actorType = options.leader ? _UniversalStore.ActorType.LEADER : _UniversalStore.ActorType.FOLLOWER;
    this.state = options.initialState;
    this.channelEventName = `${CHANNEL_EVENT_PREFIX}${this.id}`;
    this.debug("constructor", {
      options,
      environmentOverrides,
      channelEventName: this.channelEventName
    });
    if (this.actor.type === _UniversalStore.ActorType.LEADER) {
      this.syncing = {
        state: ProgressState.RESOLVED,
        promise: Promise.resolve()
      };
    } else {
      let syncingResolve;
      let syncingReject;
      const syncingPromise = new Promise((resolve, reject) => {
        syncingResolve = /* @__PURE__ */ __name(() => {
          if (this.syncing.state !== ProgressState.PENDING) {
            return;
          }
          this.syncing.state = ProgressState.RESOLVED;
          resolve();
        }, "syncingResolve");
        syncingReject = /* @__PURE__ */ __name((reason) => {
          if (this.syncing.state !== ProgressState.PENDING) {
            return;
          }
          this.syncing.state = ProgressState.REJECTED;
          reject(reason);
        }, "syncingReject");
      });
      this.syncing = {
        state: ProgressState.PENDING,
        promise: syncingPromise,
        resolve: syncingResolve,
        reject: syncingReject
      };
    }
    this.getState = this.getState.bind(this);
    this.setState = this.setState.bind(this);
    this.subscribe = this.subscribe.bind(this);
    this.onStateChange = this.onStateChange.bind(this);
    this.send = this.send.bind(this);
    this.emitToChannel = this.emitToChannel.bind(this);
    this.prepareThis = this.prepareThis.bind(this);
    this.emitToListeners = this.emitToListeners.bind(this);
    this.handleChannelEvents = this.handleChannelEvents.bind(this);
    this.debug = this.debug.bind(this);
    this.channel = environmentOverrides?.channel ?? _UniversalStore.preparation.channel;
    this.environment = environmentOverrides?.environment ?? _UniversalStore.preparation.environment;
    if (this.channel && this.environment) {
      _UniversalStore.preparation.resolve({ channel: this.channel, environment: this.environment });
      this.prepareThis({ channel: this.channel, environment: this.environment });
    } else {
      _UniversalStore.preparation.promise.then(this.prepareThis);
    }
  }
  static setupPreparationPromise() {
    let resolveRef;
    let rejectRef;
    const promise = new Promise(
      (resolve, reject) => {
        resolveRef = /* @__PURE__ */ __name((args) => {
          resolve(args);
        }, "resolveRef");
        rejectRef = /* @__PURE__ */ __name((...args) => {
          reject(args);
        }, "rejectRef");
      }
    );
    _UniversalStore.preparation = {
      resolve: resolveRef,
      reject: rejectRef,
      promise
    };
  }
  /** The actor object representing the store instance with a unique ID and a type */
  get actor() {
    return Object.freeze({
      id: this.actorId,
      type: this.actorType,
      environment: this.environment ?? _UniversalStore.Environment.UNKNOWN
    });
  }
  /**
   * The current state of the store, that signals both if the store is prepared by Storybook and
   * also - in the case of a follower - if the state has been synced with the leader's state.
   */
  get status() {
    if (!this.channel || !this.environment) {
      return _UniversalStore.Status.UNPREPARED;
    }
    switch (this.syncing?.state) {
      case ProgressState.PENDING:
      case void 0:
        return _UniversalStore.Status.SYNCING;
      case ProgressState.REJECTED:
        return _UniversalStore.Status.ERROR;
      case ProgressState.RESOLVED:
      default:
        return _UniversalStore.Status.READY;
    }
  }
  /**
   * A promise that resolves when the store is fully ready. A leader will be ready when the store
   * has been prepared by Storybook, which is almost instantly.
   *
   * A follower will be ready when the state has been synced with the leader's state, within a few
   * hundred milliseconds.
   */
  untilReady() {
    return Promise.all([_UniversalStore.preparation.promise, this.syncing?.promise]);
  }
  /** Creates a new instance of UniversalStore */
  static create(options) {
    if (!options || typeof options?.id !== "string") {
      throw new TypeError("id is required and must be a string, when creating a UniversalStore");
    }
    if (options.debug) {
      console.debug(
        dedent`[UniversalStore]
        create`,
        { options }
      );
    }
    const existing = instances.get(options.id);
    if (existing) {
      console.warn(dedent`UniversalStore with id "${options.id}" already exists in this environment, re-using existing.
        You should reuse the existing instance instead of trying to create a new one.`);
      return existing;
    }
    _UniversalStore.isInternalConstructing = true;
    const store2 = new _UniversalStore(options);
    instances.set(options.id, store2);
    return store2;
  }
  /**
   * Used by Storybook to set the channel for all instances of UniversalStore in the given
   * environment.
   *
   * @internal
   */
  static __prepare(channel, environment) {
    _UniversalStore.preparation.channel = channel;
    _UniversalStore.preparation.environment = environment;
    _UniversalStore.preparation.resolve({ channel, environment });
  }
  /**
   * Updates the store's state
   *
   * Either a new state or a state updater function can be passed to the method.
   */
  setState(updater) {
    const previousState = this.state;
    const newState = typeof updater === "function" ? updater(previousState) : updater;
    this.debug("setState", { newState, previousState, updater });
    if (this.status !== _UniversalStore.Status.READY) {
      throw new TypeError(
        dedent`Cannot set state before store is ready. You can get the current status with store.status,
        or await store.readyPromise to wait for the store to be ready before sending events.
        ${JSON.stringify(
          {
            newState,
            id: this.id,
            actor: this.actor,
            environment: this.environment
          },
          null,
          2
        )}`
      );
    }
    this.state = newState;
    const event = {
      type: _UniversalStore.InternalEventType.SET_STATE,
      payload: {
        state: newState,
        previousState
      }
    };
    this.emitToChannel(event, { actor: this.actor });
    this.emitToListeners(event, { actor: this.actor });
  }
  /**
   * Subscribes to state changes
   *
   * @returns Unsubscribe function
   */
  onStateChange(listener) {
    this.debug("onStateChange", { listener });
    return this.subscribe(
      _UniversalStore.InternalEventType.SET_STATE,
      ({ payload }, eventInfo) => {
        listener(payload.state, payload.previousState, eventInfo);
      }
    );
  }
  emitToChannel(event, eventInfo) {
    this.debug("emitToChannel", { event, eventInfo, channel: !!this.channel });
    this.channel?.emit(this.channelEventName, {
      event,
      eventInfo
    });
  }
  prepareThis({
    channel,
    environment
  }) {
    this.channel = channel;
    this.environment = environment;
    this.debug("prepared", { channel: !!channel, environment });
    this.channel.on(this.channelEventName, this.handleChannelEvents);
    if (this.actor.type === _UniversalStore.ActorType.LEADER) {
      this.emitToChannel(
        { type: _UniversalStore.InternalEventType.LEADER_CREATED },
        { actor: this.actor }
      );
    } else {
      this.emitToChannel(
        { type: _UniversalStore.InternalEventType.FOLLOWER_CREATED },
        { actor: this.actor }
      );
      this.emitToChannel(
        { type: _UniversalStore.InternalEventType.EXISTING_STATE_REQUEST },
        { actor: this.actor }
      );
      setTimeout(() => {
        this.syncing.reject(
          new TypeError(
            `No existing state found for follower with id: '${this.id}'. Make sure a leader with the same id exists before creating a follower.`
          )
        );
      }, 1e3);
    }
  }
  emitToListeners(event, eventInfo) {
    const eventTypeListeners = this.listeners.get(event.type);
    const everythingListeners = this.listeners.get("*");
    this.debug("emitToListeners", {
      event,
      eventInfo,
      eventTypeListeners,
      everythingListeners
    });
    [...eventTypeListeners ?? [], ...everythingListeners ?? []].forEach(
      (listener) => listener(event, eventInfo)
    );
  }
  handleChannelEvents(channelEvent) {
    const { event, eventInfo } = channelEvent;
    if ([eventInfo.actor.id, eventInfo.forwardingActor?.id].includes(this.actor.id)) {
      this.debug("handleChannelEvents: Ignoring event from self", { channelEvent });
      return;
    } else if (this.syncing?.state === ProgressState.PENDING && event.type !== _UniversalStore.InternalEventType.EXISTING_STATE_RESPONSE) {
      this.debug("handleChannelEvents: Ignoring event while syncing", { channelEvent });
      return;
    }
    this.debug("handleChannelEvents", { channelEvent });
    if (this.actor.type === _UniversalStore.ActorType.LEADER) {
      let shouldForwardEvent = true;
      switch (event.type) {
        case _UniversalStore.InternalEventType.EXISTING_STATE_REQUEST:
          shouldForwardEvent = false;
          const responseEvent = {
            type: _UniversalStore.InternalEventType.EXISTING_STATE_RESPONSE,
            payload: this.state
          };
          this.debug("handleChannelEvents: responding to existing state request", {
            responseEvent
          });
          this.emitToChannel(responseEvent, { actor: this.actor });
          this.emitToListeners(responseEvent, { actor: this.actor });
          break;
        case _UniversalStore.InternalEventType.LEADER_CREATED:
          shouldForwardEvent = false;
          this.syncing.state = ProgressState.REJECTED;
          this.debug("handleChannelEvents: erroring due to second leader being created", {
            event
          });
          console.error(
            dedent`Detected multiple UniversalStore leaders created with the same id "${this.id}".
            Only one leader can exists at a time, your stores are now in an invalid state.
            Leaders detected:
            this: ${JSON.stringify(this.actor, null, 2)}
            other: ${JSON.stringify(eventInfo.actor, null, 2)}`
          );
          break;
      }
      if (shouldForwardEvent) {
        this.debug("handleChannelEvents: forwarding event", { channelEvent });
        this.emitToChannel(event, { actor: eventInfo.actor, forwardingActor: this.actor });
      }
    }
    if (this.actor.type === _UniversalStore.ActorType.FOLLOWER) {
      switch (event.type) {
        case _UniversalStore.InternalEventType.EXISTING_STATE_RESPONSE:
          this.debug("handleChannelEvents: Setting state from leader's existing state response", {
            event
          });
          if (this.syncing?.state !== ProgressState.PENDING) {
            break;
          }
          this.syncing.resolve?.();
          const setStateEvent = {
            type: _UniversalStore.InternalEventType.SET_STATE,
            payload: {
              state: event.payload,
              previousState: this.state
            }
          };
          this.state = event.payload;
          this.emitToListeners(setStateEvent, eventInfo);
          break;
      }
    }
    switch (event.type) {
      case _UniversalStore.InternalEventType.SET_STATE:
        this.debug("handleChannelEvents: Setting state", { event });
        this.state = event.payload.state;
        break;
    }
    this.emitToListeners(event, { actor: eventInfo.actor });
  }
  debug(message, data) {
    if (this.debugging) {
      console.debug(
        dedent`[UniversalStore::${this.id}::${this.environment ?? _UniversalStore.Environment.UNKNOWN}]
        ${message}`,
        JSON.stringify(
          {
            data,
            actor: this.actor,
            state: this.state,
            status: this.status
          },
          null,
          2
        )
      );
    }
  }
  /**
   * Used to reset the static fields of the UniversalStore class when cleaning up tests
   *
   * @internal
   */
  static __reset() {
    _UniversalStore.preparation.reject(new Error("reset"));
    _UniversalStore.setupPreparationPromise();
    _UniversalStore.isInternalConstructing = false;
  }
};
__name(_UniversalStore, "UniversalStore");
/**
 * Defines the possible actor types in the store system
 *
 * @readonly
 */
_UniversalStore.ActorType = {
  LEADER: "LEADER",
  FOLLOWER: "FOLLOWER"
};
/**
 * Defines the possible environments the store can run in
 *
 * @readonly
 */
_UniversalStore.Environment = {
  SERVER: "SERVER",
  MANAGER: "MANAGER",
  PREVIEW: "PREVIEW",
  UNKNOWN: "UNKNOWN",
  MOCK: "MOCK"
};
/**
 * Internal event types used for store synchronization
 *
 * @readonly
 */
_UniversalStore.InternalEventType = {
  EXISTING_STATE_REQUEST: "__EXISTING_STATE_REQUEST",
  EXISTING_STATE_RESPONSE: "__EXISTING_STATE_RESPONSE",
  SET_STATE: "__SET_STATE",
  LEADER_CREATED: "__LEADER_CREATED",
  FOLLOWER_CREATED: "__FOLLOWER_CREATED"
};
_UniversalStore.Status = {
  UNPREPARED: "UNPREPARED",
  SYNCING: "SYNCING",
  READY: "READY",
  ERROR: "ERROR"
};
// This is used to check if constructor was called from the static factory create()
_UniversalStore.isInternalConstructing = false;
_UniversalStore.setupPreparationPromise();
var UniversalStore = _UniversalStore;

// src/channels/main.ts
var isMulti = /* @__PURE__ */ __name((args) => {
  return args.transports !== void 0;
}, "isMulti");
var generateRandomId = /* @__PURE__ */ __name(() => {
  return Math.random().toString(16).slice(2);
}, "generateRandomId");
var _Channel = class _Channel {
  constructor(input2 = {}) {
    this.sender = generateRandomId();
    this.events = {};
    this.data = {};
    this.transports = [];
    this.isAsync = input2.async || false;
    if (isMulti(input2)) {
      this.transports = input2.transports || [];
      this.transports.forEach((t2) => {
        t2.setHandler((event) => this.handleEvent(event));
      });
    } else {
      this.transports = input2.transport ? [input2.transport] : [];
    }
    this.transports.forEach((t2) => {
      t2.setHandler((event) => this.handleEvent(event));
    });
  }
  get hasTransport() {
    return this.transports.length > 0;
  }
  addListener(eventName, listener) {
    this.events[eventName] = this.events[eventName] || [];
    this.events[eventName].push(listener);
  }
  emit(eventName, ...args) {
    const event = { type: eventName, args, from: this.sender };
    let options = {};
    if (args.length >= 1 && args[0] && args[0].options) {
      options = args[0].options;
    }
    const handler = /* @__PURE__ */ __name(() => {
      this.transports.forEach((t2) => {
        t2.send(event, options);
      });
      this.handleEvent(event);
    }, "handler");
    if (this.isAsync) {
      setImmediate(handler);
    } else {
      handler();
    }
  }
  last(eventName) {
    return this.data[eventName];
  }
  eventNames() {
    return Object.keys(this.events);
  }
  listenerCount(eventName) {
    const listeners3 = this.listeners(eventName);
    return listeners3 ? listeners3.length : 0;
  }
  listeners(eventName) {
    const listeners3 = this.events[eventName];
    return listeners3 || void 0;
  }
  once(eventName, listener) {
    const onceListener = this.onceListener(eventName, listener);
    this.addListener(eventName, onceListener);
  }
  removeAllListeners(eventName) {
    if (!eventName) {
      this.events = {};
    } else if (this.events[eventName]) {
      delete this.events[eventName];
    }
  }
  removeListener(eventName, listener) {
    const listeners3 = this.listeners(eventName);
    if (listeners3) {
      this.events[eventName] = listeners3.filter((l) => l !== listener);
    }
  }
  on(eventName, listener) {
    this.addListener(eventName, listener);
  }
  off(eventName, listener) {
    this.removeListener(eventName, listener);
  }
  handleEvent(event) {
    const listeners3 = this.listeners(event.type);
    if (listeners3 && listeners3.length) {
      listeners3.forEach((fn4) => {
        fn4.apply(event, event.args);
      });
    }
    this.data[event.type] = event.args;
  }
  onceListener(eventName, listener) {
    const onceListener = /* @__PURE__ */ __name((...args) => {
      this.removeListener(eventName, onceListener);
      return listener(...args);
    }, "onceListener");
    return onceListener;
  }
};
__name(_Channel, "Channel");
var Channel = _Channel;

// src/channels/postmessage/index.ts
init_client_logger();
init_dist();

// ../node_modules/telejson/dist/chunk-EAFQLD22.mjs
var __create2 = Object.create;
var __defProp2 = Object.defineProperty;
var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
var __getOwnPropNames2 = Object.getOwnPropertyNames;
var __getProtoOf2 = Object.getPrototypeOf;
var __hasOwnProp2 = Object.prototype.hasOwnProperty;
var __commonJS2 = /* @__PURE__ */ __name((cb, mod) => /* @__PURE__ */ __name(function __require2() {
  return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
}, "__require"), "__commonJS");
var __copyProps2 = /* @__PURE__ */ __name((to, from2, except, desc) => {
  if (from2 && typeof from2 === "object" || typeof from2 === "function") {
    for (let key of __getOwnPropNames2(from2))
      if (!__hasOwnProp2.call(to, key) && key !== except)
        __defProp2(to, key, { get: /* @__PURE__ */ __name(() => from2[key], "get"), enumerable: !(desc = __getOwnPropDesc2(from2, key)) || desc.enumerable });
  }
  return to;
}, "__copyProps");
var __toESM2 = /* @__PURE__ */ __name((mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
  // If the importer is in node compatibility mode or this is not an ESM
  // file that has been converted to a CommonJS file using a Babel-
  // compatible transform (i.e. "__esModule" has not been set), then set
  // "default" to the CommonJS "module.exports" for node compatibility.
  isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target,
  mod
)), "__toESM");
var eventProperties = [
  "bubbles",
  "cancelBubble",
  "cancelable",
  "composed",
  "currentTarget",
  "defaultPrevented",
  "eventPhase",
  "isTrusted",
  "returnValue",
  "srcElement",
  "target",
  "timeStamp",
  "type"
];
var customEventSpecificProperties = ["detail"];
function extractEventHiddenProperties(event) {
  const rebuildEvent = eventProperties.filter((value) => event[value] !== void 0).reduce((acc, value) => {
    acc[value] = event[value];
    return acc;
  }, {});
  if (event instanceof CustomEvent) {
    for (const value of customEventSpecificProperties.filter(
      (value2) => event[value2] !== void 0
    )) {
      rebuildEvent[value] = event[value];
    }
  }
  return rebuildEvent;
}
__name(extractEventHiddenProperties, "extractEventHiddenProperties");

// ../node_modules/telejson/dist/index.mjs
var require_es_object_atoms = __commonJS2({
  "node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js"(exports, module2) {
    "use strict";
    module2.exports = Object;
  }
});
var require_es_errors = __commonJS2({
  "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js"(exports, module2) {
    "use strict";
    module2.exports = Error;
  }
});
var require_eval = __commonJS2({
  "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js"(exports, module2) {
    "use strict";
    module2.exports = EvalError;
  }
});
var require_range = __commonJS2({
  "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js"(exports, module2) {
    "use strict";
    module2.exports = RangeError;
  }
});
var require_ref = __commonJS2({
  "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js"(exports, module2) {
    "use strict";
    module2.exports = ReferenceError;
  }
});
var require_syntax = __commonJS2({
  "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js"(exports, module2) {
    "use strict";
    module2.exports = SyntaxError;
  }
});
var require_type = __commonJS2({
  "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js"(exports, module2) {
    "use strict";
    module2.exports = TypeError;
  }
});
var require_uri = __commonJS2({
  "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js"(exports, module2) {
    "use strict";
    module2.exports = URIError;
  }
});
var require_abs = __commonJS2({
  "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js"(exports, module2) {
    "use strict";
    module2.exports = Math.abs;
  }
});
var require_floor = __commonJS2({
  "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js"(exports, module2) {
    "use strict";
    module2.exports = Math.floor;
  }
});
var require_max = __commonJS2({
  "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js"(exports, module2) {
    "use strict";
    module2.exports = Math.max;
  }
});
var require_min = __commonJS2({
  "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js"(exports, module2) {
    "use strict";
    module2.exports = Math.min;
  }
});
var require_pow = __commonJS2({
  "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js"(exports, module2) {
    "use strict";
    module2.exports = Math.pow;
  }
});
var require_round = __commonJS2({
  "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js"(exports, module2) {
    "use strict";
    module2.exports = Math.round;
  }
});
var require_isNaN = __commonJS2({
  "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js"(exports, module2) {
    "use strict";
    module2.exports = Number.isNaN || /* @__PURE__ */ __name(function isNaN23(a2) {
      return a2 !== a2;
    }, "isNaN2");
  }
});
var require_sign = __commonJS2({
  "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js"(exports, module2) {
    "use strict";
    var $isNaN = require_isNaN();
    module2.exports = /* @__PURE__ */ __name(function sign(number) {
      if ($isNaN(number) || number === 0) {
        return number;
      }
      return number < 0 ? -1 : 1;
    }, "sign");
  }
});
var require_gOPD = __commonJS2({
  "node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js"(exports, module2) {
    "use strict";
    module2.exports = Object.getOwnPropertyDescriptor;
  }
});
var require_gopd = __commonJS2({
  "node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js"(exports, module2) {
    "use strict";
    var $gOPD = require_gOPD();
    if ($gOPD) {
      try {
        $gOPD([], "length");
      } catch (e2) {
        $gOPD = null;
      }
    }
    module2.exports = $gOPD;
  }
});
var require_es_define_property = __commonJS2({
  "node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js"(exports, module2) {
    "use strict";
    var $defineProperty = Object.defineProperty || false;
    if ($defineProperty) {
      try {
        $defineProperty({}, "a", { value: 1 });
      } catch (e2) {
        $defineProperty = false;
      }
    }
    module2.exports = $defineProperty;
  }
});
var require_shams = __commonJS2({
  "node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js"(exports, module2) {
    "use strict";
    module2.exports = /* @__PURE__ */ __name(function hasSymbols() {
      if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") {
        return false;
      }
      if (typeof Symbol.iterator === "symbol") {
        return true;
      }
      var obj = {};
      var sym = Symbol("test");
      var symObj = Object(sym);
      if (typeof sym === "string") {
        return false;
      }
      if (Object.prototype.toString.call(sym) !== "[object Symbol]") {
        return false;
      }
      if (Object.prototype.toString.call(symObj) !== "[object Symbol]") {
        return false;
      }
      var symVal = 42;
      obj[sym] = symVal;
      for (var _ in obj) {
        return false;
      }
      if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) {
        return false;
      }
      if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) {
        return false;
      }
      var syms = Object.getOwnPropertySymbols(obj);
      if (syms.length !== 1 || syms[0] !== sym) {
        return false;
      }
      if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {
        return false;
      }
      if (typeof Object.getOwnPropertyDescriptor === "function") {
        var descriptor = (
          /** @type {PropertyDescriptor} */
          Object.getOwnPropertyDescriptor(obj, sym)
        );
        if (descriptor.value !== symVal || descriptor.enumerable !== true) {
          return false;
        }
      }
      return true;
    }, "hasSymbols");
  }
});
var require_has_symbols = __commonJS2({
  "node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js"(exports, module2) {
    "use strict";
    var origSymbol = typeof Symbol !== "undefined" && Symbol;
    var hasSymbolSham = require_shams();
    module2.exports = /* @__PURE__ */ __name(function hasNativeSymbols() {
      if (typeof origSymbol !== "function") {
        return false;
      }
      if (typeof Symbol !== "function") {
        return false;
      }
      if (typeof origSymbol("foo") !== "symbol") {
        return false;
      }
      if (typeof Symbol("bar") !== "symbol") {
        return false;
      }
      return hasSymbolSham();
    }, "hasNativeSymbols");
  }
});
var require_Reflect_getPrototypeOf = __commonJS2({
  "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js"(exports, module2) {
    "use strict";
    module2.exports = typeof Reflect !== "undefined" && Reflect.getPrototypeOf || null;
  }
});
var require_Object_getPrototypeOf = __commonJS2({
  "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js"(exports, module2) {
    "use strict";
    var $Object = require_es_object_atoms();
    module2.exports = $Object.getPrototypeOf || null;
  }
});
var require_implementation = __commonJS2({
  "node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js"(exports, module2) {
    "use strict";
    var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
    var toStr3 = Object.prototype.toString;
    var max2 = Math.max;
    var funcType = "[object Function]";
    var concatty = /* @__PURE__ */ __name(function concatty2(a2, b) {
      var arr = [];
      for (var i2 = 0; i2 < a2.length; i2 += 1) {
        arr[i2] = a2[i2];
      }
      for (var j = 0; j < b.length; j += 1) {
        arr[j + a2.length] = b[j];
      }
      return arr;
    }, "concatty2");
    var slicy = /* @__PURE__ */ __name(function slicy2(arrLike, offset3) {
      var arr = [];
      for (var i2 = offset3 || 0, j = 0; i2 < arrLike.length; i2 += 1, j += 1) {
        arr[j] = arrLike[i2];
      }
      return arr;
    }, "slicy2");
    var joiny = /* @__PURE__ */ __name(function(arr, joiner) {
      var str2 = "";
      for (var i2 = 0; i2 < arr.length; i2 += 1) {
        str2 += arr[i2];
        if (i2 + 1 < arr.length) {
          str2 += joiner;
        }
      }
      return str2;
    }, "joiny");
    module2.exports = /* @__PURE__ */ __name(function bind(that) {
      var target = this;
      if (typeof target !== "function" || toStr3.apply(target) !== funcType) {
        throw new TypeError(ERROR_MESSAGE + target);
      }
      var args = slicy(arguments, 1);
      var bound;
      var binder = /* @__PURE__ */ __name(function() {
        if (this instanceof bound) {
          var result = target.apply(
            this,
            concatty(args, arguments)
          );
          if (Object(result) === result) {
            return result;
          }
          return this;
        }
        return target.apply(
          that,
          concatty(args, arguments)
        );
      }, "binder");
      var boundLength = max2(0, target.length - args.length);
      var boundArgs = [];
      for (var i2 = 0; i2 < boundLength; i2++) {
        boundArgs[i2] = "$" + i2;
      }
      bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder);
      if (target.prototype) {
        var Empty = /* @__PURE__ */ __name(function Empty2() {
        }, "Empty2");
        Empty.prototype = target.prototype;
        bound.prototype = new Empty();
        Empty.prototype = null;
      }
      return bound;
    }, "bind");
  }
});
var require_function_bind = __commonJS2({
  "node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js"(exports, module2) {
    "use strict";
    var implementation = require_implementation();
    module2.exports = Function.prototype.bind || implementation;
  }
});
var require_functionCall = __commonJS2({
  "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js"(exports, module2) {
    "use strict";
    module2.exports = Function.prototype.call;
  }
});
var require_functionApply = __commonJS2({
  "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js"(exports, module2) {
    "use strict";
    module2.exports = Function.prototype.apply;
  }
});
var require_reflectApply = __commonJS2({
  "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js"(exports, module2) {
    "use strict";
    module2.exports = typeof Reflect !== "undefined" && Reflect && Reflect.apply;
  }
});
var require_actualApply = __commonJS2({
  "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js"(exports, module2) {
    "use strict";
    var bind = require_function_bind();
    var $apply = require_functionApply();
    var $call = require_functionCall();
    var $reflectApply = require_reflectApply();
    module2.exports = $reflectApply || bind.call($call, $apply);
  }
});
var require_call_bind_apply_helpers = __commonJS2({
  "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js"(exports, module2) {
    "use strict";
    var bind = require_function_bind();
    var $TypeError = require_type();
    var $call = require_functionCall();
    var $actualApply = require_actualApply();
    module2.exports = /* @__PURE__ */ __name(function callBindBasic(args) {
      if (args.length < 1 || typeof args[0] !== "function") {
        throw new $TypeError("a function is required");
      }
      return $actualApply(bind, $call, args);
    }, "callBindBasic");
  }
});
var require_get = __commonJS2({
  "node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js"(exports, module2) {
    "use strict";
    var callBind = require_call_bind_apply_helpers();
    var gOPD = require_gopd();
    var hasProtoAccessor;
    try {
      hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */
      [].__proto__ === Array.prototype;
    } catch (e2) {
      if (!e2 || typeof e2 !== "object" || !("code" in e2) || e2.code !== "ERR_PROTO_ACCESS") {
        throw e2;
      }
    }
    var desc = !!hasProtoAccessor && gOPD && gOPD(
      Object.prototype,
      /** @type {keyof typeof Object.prototype} */
      "__proto__"
    );
    var $Object = Object;
    var $getPrototypeOf = $Object.getPrototypeOf;
    module2.exports = desc && typeof desc.get === "function" ? callBind([desc.get]) : typeof $getPrototypeOf === "function" ? (
      /** @type {import('./get')} */
      /* @__PURE__ */ __name(function getDunder(value) {
        return $getPrototypeOf(value == null ? value : $Object(value));
      }, "getDunder")
    ) : false;
  }
});
var require_get_proto = __commonJS2({
  "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js"(exports, module2) {
    "use strict";
    var reflectGetProto = require_Reflect_getPrototypeOf();
    var originalGetProto = require_Object_getPrototypeOf();
    var getDunderProto = require_get();
    module2.exports = reflectGetProto ? /* @__PURE__ */ __name(function getProto(O) {
      return reflectGetProto(O);
    }, "getProto") : originalGetProto ? /* @__PURE__ */ __name(function getProto(O) {
      if (!O || typeof O !== "object" && typeof O !== "function") {
        throw new TypeError("getProto: not an object");
      }
      return originalGetProto(O);
    }, "getProto") : getDunderProto ? /* @__PURE__ */ __name(function getProto(O) {
      return getDunderProto(O);
    }, "getProto") : null;
  }
});
var require_hasown = __commonJS2({
  "node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js"(exports, module2) {
    "use strict";
    var call2 = Function.prototype.call;
    var $hasOwn = Object.prototype.hasOwnProperty;
    var bind = require_function_bind();
    module2.exports = bind.call(call2, $hasOwn);
  }
});
var require_get_intrinsic = __commonJS2({
  "node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js"(exports, module2) {
    "use strict";
    var undefined2;
    var $Object = require_es_object_atoms();
    var $Error = require_es_errors();
    var $EvalError = require_eval();
    var $RangeError = require_range();
    var $ReferenceError = require_ref();
    var $SyntaxError = require_syntax();
    var $TypeError = require_type();
    var $URIError = require_uri();
    var abs2 = require_abs();
    var floor = require_floor();
    var max2 = require_max();
    var min2 = require_min();
    var pow = require_pow();
    var round3 = require_round();
    var sign = require_sign();
    var $Function = Function;
    var getEvalledConstructor = /* @__PURE__ */ __name(function(expressionSyntax) {
      try {
        return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")();
      } catch (e2) {
      }
    }, "getEvalledConstructor");
    var $gOPD = require_gopd();
    var $defineProperty = require_es_define_property();
    var throwTypeError = /* @__PURE__ */ __name(function() {
      throw new $TypeError();
    }, "throwTypeError");
    var ThrowTypeError = $gOPD ? function() {
      try {
        arguments.callee;
        return throwTypeError;
      } catch (calleeThrows) {
        try {
          return $gOPD(arguments, "callee").get;
        } catch (gOPDthrows) {
          return throwTypeError;
        }
      }
    }() : throwTypeError;
    var hasSymbols = require_has_symbols()();
    var getProto = require_get_proto();
    var $ObjectGPO = require_Object_getPrototypeOf();
    var $ReflectGPO = require_Reflect_getPrototypeOf();
    var $apply = require_functionApply();
    var $call = require_functionCall();
    var needsEval = {};
    var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined2 : getProto(Uint8Array);
    var INTRINSICS = {
      __proto__: null,
      "%AggregateError%": typeof AggregateError === "undefined" ? undefined2 : AggregateError,
      "%Array%": Array,
      "%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined2 : ArrayBuffer,
      "%ArrayIteratorPrototype%": hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined2,
      "%AsyncFromSyncIteratorPrototype%": undefined2,
      "%AsyncFunction%": needsEval,
      "%AsyncGenerator%": needsEval,
      "%AsyncGeneratorFunction%": needsEval,
      "%AsyncIteratorPrototype%": needsEval,
      "%Atomics%": typeof Atomics === "undefined" ? undefined2 : Atomics,
      "%BigInt%": typeof BigInt === "undefined" ? undefined2 : BigInt,
      "%BigInt64Array%": typeof BigInt64Array === "undefined" ? undefined2 : BigInt64Array,
      "%BigUint64Array%": typeof BigUint64Array === "undefined" ? undefined2 : BigUint64Array,
      "%Boolean%": Boolean,
      "%DataView%": typeof DataView === "undefined" ? undefined2 : DataView,
      "%Date%": Date,
      "%decodeURI%": decodeURI,
      "%decodeURIComponent%": decodeURIComponent,
      "%encodeURI%": encodeURI,
      "%encodeURIComponent%": encodeURIComponent,
      "%Error%": $Error,
      "%eval%": eval,
      // eslint-disable-line no-eval
      "%EvalError%": $EvalError,
      "%Float16Array%": typeof Float16Array === "undefined" ? undefined2 : Float16Array,
      "%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array,
      "%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array,
      "%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry,
      "%Function%": $Function,
      "%GeneratorFunction%": needsEval,
      "%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array,
      "%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array,
      "%Int32Array%": typeof Int32Array === "undefined" ? undefined2 : Int32Array,
      "%isFinite%": isFinite,
      "%isNaN%": isNaN,
      "%IteratorPrototype%": hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined2,
      "%JSON%": typeof JSON === "object" ? JSON : undefined2,
      "%Map%": typeof Map === "undefined" ? undefined2 : Map,
      "%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()),
      "%Math%": Math,
      "%Number%": Number,
      "%Object%": $Object,
      "%Object.getOwnPropertyDescriptor%": $gOPD,
      "%parseFloat%": parseFloat,
      "%parseInt%": parseInt,
      "%Promise%": typeof Promise === "undefined" ? undefined2 : Promise,
      "%Proxy%": typeof Proxy === "undefined" ? undefined2 : Proxy,
      "%RangeError%": $RangeError,
      "%ReferenceError%": $ReferenceError,
      "%Reflect%": typeof Reflect === "undefined" ? undefined2 : Reflect,
      "%RegExp%": RegExp,
      "%Set%": typeof Set === "undefined" ? undefined2 : Set,
      "%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()),
      "%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined2 : SharedArrayBuffer,
      "%String%": String,
      "%StringIteratorPrototype%": hasSymbols && getProto ? getProto(""[Symbol.iterator]()) : undefined2,
      "%Symbol%": hasSymbols ? Symbol : undefined2,
      "%SyntaxError%": $SyntaxError,
      "%ThrowTypeError%": ThrowTypeError,
      "%TypedArray%": TypedArray,
      "%TypeError%": $TypeError,
      "%Uint8Array%": typeof Uint8Array === "undefined" ? undefined2 : Uint8Array,
      "%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined2 : Uint8ClampedArray,
      "%Uint16Array%": typeof Uint16Array === "undefined" ? undefined2 : Uint16Array,
      "%Uint32Array%": typeof Uint32Array === "undefined" ? undefined2 : Uint32Array,
      "%URIError%": $URIError,
      "%WeakMap%": typeof WeakMap === "undefined" ? undefined2 : WeakMap,
      "%WeakRef%": typeof WeakRef === "undefined" ? undefined2 : WeakRef,
      "%WeakSet%": typeof WeakSet === "undefined" ? undefined2 : WeakSet,
      "%Function.prototype.call%": $call,
      "%Function.prototype.apply%": $apply,
      "%Object.defineProperty%": $defineProperty,
      "%Object.getPrototypeOf%": $ObjectGPO,
      "%Math.abs%": abs2,
      "%Math.floor%": floor,
      "%Math.max%": max2,
      "%Math.min%": min2,
      "%Math.pow%": pow,
      "%Math.round%": round3,
      "%Math.sign%": sign,
      "%Reflect.getPrototypeOf%": $ReflectGPO
    };
    if (getProto) {
      try {
        null.error;
      } catch (e2) {
        errorProto = getProto(getProto(e2));
        INTRINSICS["%Error.prototype%"] = errorProto;
      }
    }
    var errorProto;
    var doEval = /* @__PURE__ */ __name(function doEval2(name) {
      var value;
      if (name === "%AsyncFunction%") {
        value = getEvalledConstructor("async function () {}");
      } else if (name === "%GeneratorFunction%") {
        value = getEvalledConstructor("function* () {}");
      } else if (name === "%AsyncGeneratorFunction%") {
        value = getEvalledConstructor("async function* () {}");
      } else if (name === "%AsyncGenerator%") {
        var fn4 = doEval2("%AsyncGeneratorFunction%");
        if (fn4) {
          value = fn4.prototype;
        }
      } else if (name === "%AsyncIteratorPrototype%") {
        var gen = doEval2("%AsyncGenerator%");
        if (gen && getProto) {
          value = getProto(gen.prototype);
        }
      }
      INTRINSICS[name] = value;
      return value;
    }, "doEval2");
    var LEGACY_ALIASES = {
      __proto__: null,
      "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
      "%ArrayPrototype%": ["Array", "prototype"],
      "%ArrayProto_entries%": ["Array", "prototype", "entries"],
      "%ArrayProto_forEach%": ["Array", "prototype", "forEach"],
      "%ArrayProto_keys%": ["Array", "prototype", "keys"],
      "%ArrayProto_values%": ["Array", "prototype", "values"],
      "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
      "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
      "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"],
      "%BooleanPrototype%": ["Boolean", "prototype"],
      "%DataViewPrototype%": ["DataView", "prototype"],
      "%DatePrototype%": ["Date", "prototype"],
      "%ErrorPrototype%": ["Error", "prototype"],
      "%EvalErrorPrototype%": ["EvalError", "prototype"],
      "%Float32ArrayPrototype%": ["Float32Array", "prototype"],
      "%Float64ArrayPrototype%": ["Float64Array", "prototype"],
      "%FunctionPrototype%": ["Function", "prototype"],
      "%Generator%": ["GeneratorFunction", "prototype"],
      "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"],
      "%Int8ArrayPrototype%": ["Int8Array", "prototype"],
      "%Int16ArrayPrototype%": ["Int16Array", "prototype"],
      "%Int32ArrayPrototype%": ["Int32Array", "prototype"],
      "%JSONParse%": ["JSON", "parse"],
      "%JSONStringify%": ["JSON", "stringify"],
      "%MapPrototype%": ["Map", "prototype"],
      "%NumberPrototype%": ["Number", "prototype"],
      "%ObjectPrototype%": ["Object", "prototype"],
      "%ObjProto_toString%": ["Object", "prototype", "toString"],
      "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"],
      "%PromisePrototype%": ["Promise", "prototype"],
      "%PromiseProto_then%": ["Promise", "prototype", "then"],
      "%Promise_all%": ["Promise", "all"],
      "%Promise_reject%": ["Promise", "reject"],
      "%Promise_resolve%": ["Promise", "resolve"],
      "%RangeErrorPrototype%": ["RangeError", "prototype"],
      "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
      "%RegExpPrototype%": ["RegExp", "prototype"],
      "%SetPrototype%": ["Set", "prototype"],
      "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
      "%StringPrototype%": ["String", "prototype"],
      "%SymbolPrototype%": ["Symbol", "prototype"],
      "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
      "%TypedArrayPrototype%": ["TypedArray", "prototype"],
      "%TypeErrorPrototype%": ["TypeError", "prototype"],
      "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
      "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
      "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
      "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
      "%URIErrorPrototype%": ["URIError", "prototype"],
      "%WeakMapPrototype%": ["WeakMap", "prototype"],
      "%WeakSetPrototype%": ["WeakSet", "prototype"]
    };
    var bind = require_function_bind();
    var hasOwn2 = require_hasown();
    var $concat = bind.call($call, Array.prototype.concat);
    var $spliceApply = bind.call($apply, Array.prototype.splice);
    var $replace = bind.call($call, String.prototype.replace);
    var $strSlice = bind.call($call, String.prototype.slice);
    var $exec = bind.call($call, RegExp.prototype.exec);
    var rePropName2 = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
    var reEscapeChar2 = /\\(\\)?/g;
    var stringToPath2 = /* @__PURE__ */ __name(function stringToPath3(string) {
      var first = $strSlice(string, 0, 1);
      var last2 = $strSlice(string, -1);
      if (first === "%" && last2 !== "%") {
        throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");
      } else if (last2 === "%" && first !== "%") {
        throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");
      }
      var result = [];
      $replace(string, rePropName2, function(match3, number, quote, subString) {
        result[result.length] = quote ? $replace(subString, reEscapeChar2, "$1") : number || match3;
      });
      return result;
    }, "stringToPath3");
    var getBaseIntrinsic = /* @__PURE__ */ __name(function getBaseIntrinsic2(name, allowMissing) {
      var intrinsicName = name;
      var alias;
      if (hasOwn2(LEGACY_ALIASES, intrinsicName)) {
        alias = LEGACY_ALIASES[intrinsicName];
        intrinsicName = "%" + alias[0] + "%";
      }
      if (hasOwn2(INTRINSICS, intrinsicName)) {
        var value = INTRINSICS[intrinsicName];
        if (value === needsEval) {
          value = doEval(intrinsicName);
        }
        if (typeof value === "undefined" && !allowMissing) {
          throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!");
        }
        return {
          alias,
          name: intrinsicName,
          value
        };
      }
      throw new $SyntaxError("intrinsic " + name + " does not exist!");
    }, "getBaseIntrinsic2");
    module2.exports = /* @__PURE__ */ __name(function GetIntrinsic(name, allowMissing) {
      if (typeof name !== "string" || name.length === 0) {
        throw new $TypeError("intrinsic name must be a non-empty string");
      }
      if (arguments.length > 1 && typeof allowMissing !== "boolean") {
        throw new $TypeError('"allowMissing" argument must be a boolean');
      }
      if ($exec(/^%?[^%]*%?$/, name) === null) {
        throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
      }
      var parts = stringToPath2(name);
      var intrinsicBaseName = parts.length > 0 ? parts[0] : "";
      var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing);
      var intrinsicRealName = intrinsic.name;
      var value = intrinsic.value;
      var skipFurtherCaching = false;
      var alias = intrinsic.alias;
      if (alias) {
        intrinsicBaseName = alias[0];
        $spliceApply(parts, $concat([0, 1], alias));
      }
      for (var i2 = 1, isOwn = true; i2 < parts.length; i2 += 1) {
        var part = parts[i2];
        var first = $strSlice(part, 0, 1);
        var last2 = $strSlice(part, -1);
        if ((first === '"' || first === "'" || first === "`" || (last2 === '"' || last2 === "'" || last2 === "`")) && first !== last2) {
          throw new $SyntaxError("property names with quotes must have matching quotes");
        }
        if (part === "constructor" || !isOwn) {
          skipFurtherCaching = true;
        }
        intrinsicBaseName += "." + part;
        intrinsicRealName = "%" + intrinsicBaseName + "%";
        if (hasOwn2(INTRINSICS, intrinsicRealName)) {
          value = INTRINSICS[intrinsicRealName];
        } else if (value != null) {
          if (!(part in value)) {
            if (!allowMissing) {
              throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available.");
            }
            return void 0;
          }
          if ($gOPD && i2 + 1 >= parts.length) {
            var desc = $gOPD(value, part);
            isOwn = !!desc;
            if (isOwn && "get" in desc && !("originalValue" in desc.get)) {
              value = desc.get;
            } else {
              value = value[part];
            }
          } else {
            isOwn = hasOwn2(value, part);
            value = value[part];
          }
          if (isOwn && !skipFurtherCaching) {
            INTRINSICS[intrinsicRealName] = value;
          }
        }
      }
      return value;
    }, "GetIntrinsic");
  }
});
var require_call_bound = __commonJS2({
  "node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js"(exports, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var callBindBasic = require_call_bind_apply_helpers();
    var $indexOf = callBindBasic([GetIntrinsic("%String.prototype.indexOf%")]);
    module2.exports = /* @__PURE__ */ __name(function callBoundIntrinsic(name, allowMissing) {
      var intrinsic = (
        /** @type {(this: unknown, ...args: unknown[]) => unknown} */
        GetIntrinsic(name, !!allowMissing)
      );
      if (typeof intrinsic === "function" && $indexOf(name, ".prototype.") > -1) {
        return callBindBasic(
          /** @type {const} */
          [intrinsic]
        );
      }
      return intrinsic;
    }, "callBoundIntrinsic");
  }
});
var require_shams2 = __commonJS2({
  "node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js"(exports, module2) {
    "use strict";
    var hasSymbols = require_shams();
    module2.exports = /* @__PURE__ */ __name(function hasToStringTagShams() {
      return hasSymbols() && !!Symbol.toStringTag;
    }, "hasToStringTagShams");
  }
});
var require_is_regex = __commonJS2({
  "node_modules/.pnpm/is-regex@1.2.1/node_modules/is-regex/index.js"(exports, module2) {
    "use strict";
    var callBound = require_call_bound();
    var hasToStringTag = require_shams2()();
    var hasOwn2 = require_hasown();
    var gOPD = require_gopd();
    var fn4;
    if (hasToStringTag) {
      $exec = callBound("RegExp.prototype.exec");
      isRegexMarker = {};
      throwRegexMarker = /* @__PURE__ */ __name(function() {
        throw isRegexMarker;
      }, "throwRegexMarker");
      badStringifier = {
        toString: throwRegexMarker,
        valueOf: throwRegexMarker
      };
      if (typeof Symbol.toPrimitive === "symbol") {
        badStringifier[Symbol.toPrimitive] = throwRegexMarker;
      }
      fn4 = /* @__PURE__ */ __name(function isRegex(value) {
        if (!value || typeof value !== "object") {
          return false;
        }
        var descriptor = (
          /** @type {NonNullable<typeof gOPD>} */
          gOPD(
            /** @type {{ lastIndex?: unknown }} */
            value,
            "lastIndex"
          )
        );
        var hasLastIndexDataProperty = descriptor && hasOwn2(descriptor, "value");
        if (!hasLastIndexDataProperty) {
          return false;
        }
        try {
          $exec(
            value,
            /** @type {string} */
            /** @type {unknown} */
            badStringifier
          );
        } catch (e2) {
          return e2 === isRegexMarker;
        }
      }, "isRegex");
    } else {
      $toString = callBound("Object.prototype.toString");
      regexClass = "[object RegExp]";
      fn4 = /* @__PURE__ */ __name(function isRegex(value) {
        if (!value || typeof value !== "object" && typeof value !== "function") {
          return false;
        }
        return $toString(value) === regexClass;
      }, "isRegex");
    }
    var $exec;
    var isRegexMarker;
    var throwRegexMarker;
    var badStringifier;
    var $toString;
    var regexClass;
    module2.exports = fn4;
  }
});
var require_is_function = __commonJS2({
  "node_modules/.pnpm/is-function@1.0.2/node_modules/is-function/index.js"(exports, module2) {
    module2.exports = isFunction32;
    var toString22 = Object.prototype.toString;
    function isFunction32(fn4) {
      if (!fn4) {
        return false;
      }
      var string = toString22.call(fn4);
      return string === "[object Function]" || typeof fn4 === "function" && string !== "[object RegExp]" || typeof window !== "undefined" && // IE8 and below
      (fn4 === window.setTimeout || fn4 === window.alert || fn4 === window.confirm || fn4 === window.prompt);
    }
    __name(isFunction32, "isFunction3");
  }
});
var require_safe_regex_test = __commonJS2({
  "node_modules/.pnpm/safe-regex-test@1.1.0/node_modules/safe-regex-test/index.js"(exports, module2) {
    "use strict";
    var callBound = require_call_bound();
    var isRegex = require_is_regex();
    var $exec = callBound("RegExp.prototype.exec");
    var $TypeError = require_type();
    module2.exports = /* @__PURE__ */ __name(function regexTester(regex) {
      if (!isRegex(regex)) {
        throw new $TypeError("`regex` must be a RegExp");
      }
      return /* @__PURE__ */ __name(function test3(s3) {
        return $exec(regex, s3) !== null;
      }, "test");
    }, "regexTester");
  }
});
var require_is_symbol = __commonJS2({
  "node_modules/.pnpm/is-symbol@1.1.1/node_modules/is-symbol/index.js"(exports, module2) {
    "use strict";
    var callBound = require_call_bound();
    var $toString = callBound("Object.prototype.toString");
    var hasSymbols = require_has_symbols()();
    var safeRegexTest = require_safe_regex_test();
    if (hasSymbols) {
      $symToStr = callBound("Symbol.prototype.toString");
      isSymString = safeRegexTest(/^Symbol\(.*\)$/);
      isSymbolObject = /* @__PURE__ */ __name(function isRealSymbolObject(value) {
        if (typeof value.valueOf() !== "symbol") {
          return false;
        }
        return isSymString($symToStr(value));
      }, "isRealSymbolObject");
      module2.exports = /* @__PURE__ */ __name(function isSymbol32(value) {
        if (typeof value === "symbol") {
          return true;
        }
        if (!value || typeof value !== "object" || $toString(value) !== "[object Symbol]") {
          return false;
        }
        try {
          return isSymbolObject(value);
        } catch (e2) {
          return false;
        }
      }, "isSymbol3");
    } else {
      module2.exports = /* @__PURE__ */ __name(function isSymbol32(value) {
        return false;
      }, "isSymbol3");
    }
    var $symToStr;
    var isSymString;
    var isSymbolObject;
  }
});
var import_is_regex = __toESM2(require_is_regex());
var import_is_function = __toESM2(require_is_function());
var import_is_symbol = __toESM2(require_is_symbol());
function isObject(val) {
  return val != null && typeof val === "object" && Array.isArray(val) === false;
}
__name(isObject, "isObject");
var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
var freeGlobal_default = freeGlobal;
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
var root = freeGlobal_default || freeSelf || Function("return this")();
var root_default = root;
var Symbol2 = root_default.Symbol;
var Symbol_default = Symbol2;
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
var nativeObjectToString = objectProto.toString;
var symToStringTag = Symbol_default ? Symbol_default.toStringTag : void 0;
function getRawTag(value) {
  var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
  try {
    value[symToStringTag] = void 0;
    var unmasked = true;
  } catch (e2) {
  }
  var result = nativeObjectToString.call(value);
  if (unmasked) {
    if (isOwn) {
      value[symToStringTag] = tag;
    } else {
      delete value[symToStringTag];
    }
  }
  return result;
}
__name(getRawTag, "getRawTag");
var getRawTag_default = getRawTag;
var objectProto2 = Object.prototype;
var nativeObjectToString2 = objectProto2.toString;
function objectToString(value) {
  return nativeObjectToString2.call(value);
}
__name(objectToString, "objectToString");
var objectToString_default = objectToString;
var nullTag = "[object Null]";
var undefinedTag = "[object Undefined]";
var symToStringTag2 = Symbol_default ? Symbol_default.toStringTag : void 0;
function baseGetTag(value) {
  if (value == null) {
    return value === void 0 ? undefinedTag : nullTag;
  }
  return symToStringTag2 && symToStringTag2 in Object(value) ? getRawTag_default(value) : objectToString_default(value);
}
__name(baseGetTag, "baseGetTag");
var baseGetTag_default = baseGetTag;
function isObjectLike(value) {
  return value != null && typeof value == "object";
}
__name(isObjectLike, "isObjectLike");
var isObjectLike_default = isObjectLike;
var symbolTag = "[object Symbol]";
function isSymbol(value) {
  return typeof value == "symbol" || isObjectLike_default(value) && baseGetTag_default(value) == symbolTag;
}
__name(isSymbol, "isSymbol");
var isSymbol_default = isSymbol;
function arrayMap(array, iteratee) {
  var index4 = -1, length2 = array == null ? 0 : array.length, result = Array(length2);
  while (++index4 < length2) {
    result[index4] = iteratee(array[index4], index4, array);
  }
  return result;
}
__name(arrayMap, "arrayMap");
var arrayMap_default = arrayMap;
var isArray = Array.isArray;
var isArray_default = isArray;
var INFINITY = 1 / 0;
var symbolProto = Symbol_default ? Symbol_default.prototype : void 0;
var symbolToString = symbolProto ? symbolProto.toString : void 0;
function baseToString(value) {
  if (typeof value == "string") {
    return value;
  }
  if (isArray_default(value)) {
    return arrayMap_default(value, baseToString) + "";
  }
  if (isSymbol_default(value)) {
    return symbolToString ? symbolToString.call(value) : "";
  }
  var result = value + "";
  return result == "0" && 1 / value == -INFINITY ? "-0" : result;
}
__name(baseToString, "baseToString");
var baseToString_default = baseToString;
function isObject2(value) {
  var type5 = typeof value;
  return value != null && (type5 == "object" || type5 == "function");
}
__name(isObject2, "isObject2");
var isObject_default = isObject2;
var asyncTag = "[object AsyncFunction]";
var funcTag = "[object Function]";
var genTag = "[object GeneratorFunction]";
var proxyTag = "[object Proxy]";
function isFunction(value) {
  if (!isObject_default(value)) {
    return false;
  }
  var tag = baseGetTag_default(value);
  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
}
__name(isFunction, "isFunction");
var isFunction_default = isFunction;
var coreJsData = root_default["__core-js_shared__"];
var coreJsData_default = coreJsData;
var maskSrcKey = function() {
  var uid = /[^.]+$/.exec(coreJsData_default && coreJsData_default.keys && coreJsData_default.keys.IE_PROTO || "");
  return uid ? "Symbol(src)_1." + uid : "";
}();
function isMasked(func) {
  return !!maskSrcKey && maskSrcKey in func;
}
__name(isMasked, "isMasked");
var isMasked_default = isMasked;
var funcProto = Function.prototype;
var funcToString = funcProto.toString;
function toSource(func) {
  if (func != null) {
    try {
      return funcToString.call(func);
    } catch (e2) {
    }
    try {
      return func + "";
    } catch (e2) {
    }
  }
  return "";
}
__name(toSource, "toSource");
var toSource_default = toSource;
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
var reIsHostCtor = /^\[object .+?Constructor\]$/;
var funcProto2 = Function.prototype;
var objectProto3 = Object.prototype;
var funcToString2 = funcProto2.toString;
var hasOwnProperty2 = objectProto3.hasOwnProperty;
var reIsNative = RegExp(
  "^" + funcToString2.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function baseIsNative(value) {
  if (!isObject_default(value) || isMasked_default(value)) {
    return false;
  }
  var pattern = isFunction_default(value) ? reIsNative : reIsHostCtor;
  return pattern.test(toSource_default(value));
}
__name(baseIsNative, "baseIsNative");
var baseIsNative_default = baseIsNative;
function getValue(object, key) {
  return object == null ? void 0 : object[key];
}
__name(getValue, "getValue");
var getValue_default = getValue;
function getNative(object, key) {
  var value = getValue_default(object, key);
  return baseIsNative_default(value) ? value : void 0;
}
__name(getNative, "getNative");
var getNative_default = getNative;
function eq(value, other) {
  return value === other || value !== value && other !== other;
}
__name(eq, "eq");
var eq_default = eq;
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
var reIsPlainProp = /^\w*$/;
function isKey(value, object) {
  if (isArray_default(value)) {
    return false;
  }
  var type5 = typeof value;
  if (type5 == "number" || type5 == "symbol" || type5 == "boolean" || value == null || isSymbol_default(value)) {
    return true;
  }
  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
}
__name(isKey, "isKey");
var isKey_default = isKey;
var nativeCreate = getNative_default(Object, "create");
var nativeCreate_default = nativeCreate;
function hashClear() {
  this.__data__ = nativeCreate_default ? nativeCreate_default(null) : {};
  this.size = 0;
}
__name(hashClear, "hashClear");
var hashClear_default = hashClear;
function hashDelete(key) {
  var result = this.has(key) && delete this.__data__[key];
  this.size -= result ? 1 : 0;
  return result;
}
__name(hashDelete, "hashDelete");
var hashDelete_default = hashDelete;
var HASH_UNDEFINED = "__lodash_hash_undefined__";
var objectProto4 = Object.prototype;
var hasOwnProperty3 = objectProto4.hasOwnProperty;
function hashGet(key) {
  var data = this.__data__;
  if (nativeCreate_default) {
    var result = data[key];
    return result === HASH_UNDEFINED ? void 0 : result;
  }
  return hasOwnProperty3.call(data, key) ? data[key] : void 0;
}
__name(hashGet, "hashGet");
var hashGet_default = hashGet;
var objectProto5 = Object.prototype;
var hasOwnProperty4 = objectProto5.hasOwnProperty;
function hashHas(key) {
  var data = this.__data__;
  return nativeCreate_default ? data[key] !== void 0 : hasOwnProperty4.call(data, key);
}
__name(hashHas, "hashHas");
var hashHas_default = hashHas;
var HASH_UNDEFINED2 = "__lodash_hash_undefined__";
function hashSet(key, value) {
  var data = this.__data__;
  this.size += this.has(key) ? 0 : 1;
  data[key] = nativeCreate_default && value === void 0 ? HASH_UNDEFINED2 : value;
  return this;
}
__name(hashSet, "hashSet");
var hashSet_default = hashSet;
function Hash(entries) {
  var index4 = -1, length2 = entries == null ? 0 : entries.length;
  this.clear();
  while (++index4 < length2) {
    var entry = entries[index4];
    this.set(entry[0], entry[1]);
  }
}
__name(Hash, "Hash");
Hash.prototype.clear = hashClear_default;
Hash.prototype["delete"] = hashDelete_default;
Hash.prototype.get = hashGet_default;
Hash.prototype.has = hashHas_default;
Hash.prototype.set = hashSet_default;
var Hash_default = Hash;
function listCacheClear() {
  this.__data__ = [];
  this.size = 0;
}
__name(listCacheClear, "listCacheClear");
var listCacheClear_default = listCacheClear;
function assocIndexOf(array, key) {
  var length2 = array.length;
  while (length2--) {
    if (eq_default(array[length2][0], key)) {
      return length2;
    }
  }
  return -1;
}
__name(assocIndexOf, "assocIndexOf");
var assocIndexOf_default = assocIndexOf;
var arrayProto = Array.prototype;
var splice = arrayProto.splice;
function listCacheDelete(key) {
  var data = this.__data__, index4 = assocIndexOf_default(data, key);
  if (index4 < 0) {
    return false;
  }
  var lastIndex = data.length - 1;
  if (index4 == lastIndex) {
    data.pop();
  } else {
    splice.call(data, index4, 1);
  }
  --this.size;
  return true;
}
__name(listCacheDelete, "listCacheDelete");
var listCacheDelete_default = listCacheDelete;
function listCacheGet(key) {
  var data = this.__data__, index4 = assocIndexOf_default(data, key);
  return index4 < 0 ? void 0 : data[index4][1];
}
__name(listCacheGet, "listCacheGet");
var listCacheGet_default = listCacheGet;
function listCacheHas(key) {
  return assocIndexOf_default(this.__data__, key) > -1;
}
__name(listCacheHas, "listCacheHas");
var listCacheHas_default = listCacheHas;
function listCacheSet(key, value) {
  var data = this.__data__, index4 = assocIndexOf_default(data, key);
  if (index4 < 0) {
    ++this.size;
    data.push([key, value]);
  } else {
    data[index4][1] = value;
  }
  return this;
}
__name(listCacheSet, "listCacheSet");
var listCacheSet_default = listCacheSet;
function ListCache(entries) {
  var index4 = -1, length2 = entries == null ? 0 : entries.length;
  this.clear();
  while (++index4 < length2) {
    var entry = entries[index4];
    this.set(entry[0], entry[1]);
  }
}
__name(ListCache, "ListCache");
ListCache.prototype.clear = listCacheClear_default;
ListCache.prototype["delete"] = listCacheDelete_default;
ListCache.prototype.get = listCacheGet_default;
ListCache.prototype.has = listCacheHas_default;
ListCache.prototype.set = listCacheSet_default;
var ListCache_default = ListCache;
var Map2 = getNative_default(root_default, "Map");
var Map_default = Map2;
function mapCacheClear() {
  this.size = 0;
  this.__data__ = {
    "hash": new Hash_default(),
    "map": new (Map_default || ListCache_default)(),
    "string": new Hash_default()
  };
}
__name(mapCacheClear, "mapCacheClear");
var mapCacheClear_default = mapCacheClear;
function isKeyable(value) {
  var type5 = typeof value;
  return type5 == "string" || type5 == "number" || type5 == "symbol" || type5 == "boolean" ? value !== "__proto__" : value === null;
}
__name(isKeyable, "isKeyable");
var isKeyable_default = isKeyable;
function getMapData(map2, key) {
  var data = map2.__data__;
  return isKeyable_default(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
}
__name(getMapData, "getMapData");
var getMapData_default = getMapData;
function mapCacheDelete(key) {
  var result = getMapData_default(this, key)["delete"](key);
  this.size -= result ? 1 : 0;
  return result;
}
__name(mapCacheDelete, "mapCacheDelete");
var mapCacheDelete_default = mapCacheDelete;
function mapCacheGet(key) {
  return getMapData_default(this, key).get(key);
}
__name(mapCacheGet, "mapCacheGet");
var mapCacheGet_default = mapCacheGet;
function mapCacheHas(key) {
  return getMapData_default(this, key).has(key);
}
__name(mapCacheHas, "mapCacheHas");
var mapCacheHas_default = mapCacheHas;
function mapCacheSet(key, value) {
  var data = getMapData_default(this, key), size = data.size;
  data.set(key, value);
  this.size += data.size == size ? 0 : 1;
  return this;
}
__name(mapCacheSet, "mapCacheSet");
var mapCacheSet_default = mapCacheSet;
function MapCache(entries) {
  var index4 = -1, length2 = entries == null ? 0 : entries.length;
  this.clear();
  while (++index4 < length2) {
    var entry = entries[index4];
    this.set(entry[0], entry[1]);
  }
}
__name(MapCache, "MapCache");
MapCache.prototype.clear = mapCacheClear_default;
MapCache.prototype["delete"] = mapCacheDelete_default;
MapCache.prototype.get = mapCacheGet_default;
MapCache.prototype.has = mapCacheHas_default;
MapCache.prototype.set = mapCacheSet_default;
var MapCache_default = MapCache;
var FUNC_ERROR_TEXT = "Expected a function";
function memoize(func, resolver) {
  if (typeof func != "function" || resolver != null && typeof resolver != "function") {
    throw new TypeError(FUNC_ERROR_TEXT);
  }
  var memoized = /* @__PURE__ */ __name(function() {
    var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
    if (cache.has(key)) {
      return cache.get(key);
    }
    var result = func.apply(this, args);
    memoized.cache = cache.set(key, result) || cache;
    return result;
  }, "memoized");
  memoized.cache = new (memoize.Cache || MapCache_default)();
  return memoized;
}
__name(memoize, "memoize");
memoize.Cache = MapCache_default;
var memoize_default = memoize;
var MAX_MEMOIZE_SIZE = 500;
function memoizeCapped(func) {
  var result = memoize_default(func, function(key) {
    if (cache.size === MAX_MEMOIZE_SIZE) {
      cache.clear();
    }
    return key;
  });
  var cache = result.cache;
  return result;
}
__name(memoizeCapped, "memoizeCapped");
var memoizeCapped_default = memoizeCapped;
var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
var reEscapeChar = /\\(\\)?/g;
var stringToPath = memoizeCapped_default(function(string) {
  var result = [];
  if (string.charCodeAt(0) === 46) {
    result.push("");
  }
  string.replace(rePropName, function(match3, number, quote, subString) {
    result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match3);
  });
  return result;
});
var stringToPath_default = stringToPath;
function toString(value) {
  return value == null ? "" : baseToString_default(value);
}
__name(toString, "toString");
var toString_default = toString;
function castPath(value, object) {
  if (isArray_default(value)) {
    return value;
  }
  return isKey_default(value, object) ? [value] : stringToPath_default(toString_default(value));
}
__name(castPath, "castPath");
var castPath_default = castPath;
var INFINITY2 = 1 / 0;
function toKey(value) {
  if (typeof value == "string" || isSymbol_default(value)) {
    return value;
  }
  var result = value + "";
  return result == "0" && 1 / value == -INFINITY2 ? "-0" : result;
}
__name(toKey, "toKey");
var toKey_default = toKey;
function baseGet(object, path) {
  path = castPath_default(path, object);
  var index4 = 0, length2 = path.length;
  while (object != null && index4 < length2) {
    object = object[toKey_default(path[index4++])];
  }
  return index4 && index4 == length2 ? object : void 0;
}
__name(baseGet, "baseGet");
var baseGet_default = baseGet;
function get(object, path, defaultValue) {
  var result = object == null ? void 0 : baseGet_default(object, path);
  return result === void 0 ? defaultValue : result;
}
__name(get, "get");
var get_default = get;
var isObject3 = isObject;
var dateFormat = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$/;
var isJSON = /* @__PURE__ */ __name((input2) => input2.match(/^[\[\{\"\}].*[\]\}\"]$/), "isJSON");
function convertUnconventionalData(data) {
  if (!isObject3(data)) {
    return data;
  }
  let result = data;
  let wasMutated = false;
  if (typeof Event !== "undefined" && data instanceof Event) {
    result = extractEventHiddenProperties(result);
    wasMutated = true;
  }
  result = Object.keys(result).reduce((acc, key) => {
    try {
      if (result[key]) {
        result[key].toJSON;
      }
      acc[key] = result[key];
    } catch (_err) {
      wasMutated = true;
    }
    return acc;
  }, {});
  return wasMutated ? result : data;
}
__name(convertUnconventionalData, "convertUnconventionalData");
var replacer = /* @__PURE__ */ __name(function replacer2(options) {
  let objects;
  let map2;
  let stack;
  let keys3;
  return /* @__PURE__ */ __name(function replace2(key, value) {
    try {
      if (key === "") {
        keys3 = [];
        objects = /* @__PURE__ */ new Map([[value, "[]"]]);
        map2 = /* @__PURE__ */ new Map();
        stack = [];
        return value;
      }
      const origin = map2.get(this) || this;
      while (stack.length && origin !== stack[0]) {
        stack.shift();
        keys3.pop();
      }
      if (typeof value === "boolean") {
        return value;
      }
      if (value === void 0) {
        if (!options.allowUndefined) {
          return void 0;
        }
        return "_undefined_";
      }
      if (value === null) {
        return null;
      }
      if (typeof value === "number") {
        if (value === Number.NEGATIVE_INFINITY) {
          return "_-Infinity_";
        }
        if (value === Number.POSITIVE_INFINITY) {
          return "_Infinity_";
        }
        if (Number.isNaN(value)) {
          return "_NaN_";
        }
        return value;
      }
      if (typeof value === "bigint") {
        return `_bigint_${value.toString()}`;
      }
      if (typeof value === "string") {
        if (dateFormat.test(value)) {
          if (!options.allowDate) {
            return void 0;
          }
          return `_date_${value}`;
        }
        return value;
      }
      if ((0, import_is_regex.default)(value)) {
        if (!options.allowRegExp) {
          return void 0;
        }
        return `_regexp_${value.flags}|${value.source}`;
      }
      if ((0, import_is_function.default)(value)) {
        return void 0;
      }
      if ((0, import_is_symbol.default)(value)) {
        if (!options.allowSymbol) {
          return void 0;
        }
        const globalRegistryKey = Symbol.keyFor(value);
        if (globalRegistryKey !== void 0) {
          return `_gsymbol_${globalRegistryKey}`;
        }
        return `_symbol_${value.toString().slice(7, -1)}`;
      }
      if (stack.length >= options.maxDepth) {
        if (Array.isArray(value)) {
          return `[Array(${value.length})]`;
        }
        return "[Object]";
      }
      if (value === this) {
        return `_duplicate_${JSON.stringify(keys3)}`;
      }
      if (value instanceof Error && options.allowError) {
        return {
          __isConvertedError__: true,
          errorProperties: {
            // @ts-expect-error cause is not defined in the current tsconfig target(es2020)
            ...value.cause ? { cause: value.cause } : {},
            ...value,
            name: value.name,
            message: value.message,
            stack: value.stack,
            "_constructor-name_": value.constructor.name
          }
        };
      }
      if (value?.constructor?.name && value.constructor.name !== "Object" && !Array.isArray(value)) {
        const found2 = objects.get(value);
        if (!found2) {
          const plainObject = {
            __isClassInstance__: true,
            __className__: value.constructor.name,
            ...Object.getOwnPropertyNames(value).reduce(
              (acc, prop) => {
                try {
                  acc[prop] = value[prop];
                } catch (_err) {
                }
                return acc;
              },
              {}
            )
          };
          keys3.push(key);
          stack.unshift(plainObject);
          objects.set(value, JSON.stringify(keys3));
          if (value !== plainObject) {
            map2.set(value, plainObject);
          }
          return plainObject;
        }
        return `_duplicate_${found2}`;
      }
      const found = objects.get(value);
      if (!found) {
        const converted = Array.isArray(value) ? value : convertUnconventionalData(value);
        keys3.push(key);
        stack.unshift(converted);
        objects.set(value, JSON.stringify(keys3));
        if (value !== converted) {
          map2.set(value, converted);
        }
        return converted;
      }
      return `_duplicate_${found}`;
    } catch (_e2) {
      return void 0;
    }
  }, "replace");
}, "replacer2");
var reviver = /* @__PURE__ */ __name(function reviver2(options) {
  const refs = [];
  let root2;
  return /* @__PURE__ */ __name(function revive(key, value) {
    if (key === "") {
      root2 = value;
      refs.forEach(({ target, container, replacement }) => {
        const replacementArr = isJSON(replacement) ? JSON.parse(replacement) : replacement.split(".");
        if (replacementArr.length === 0) {
          container[target] = root2;
        } else {
          container[target] = get_default(root2, replacementArr);
        }
      });
    }
    if (key === "_constructor-name_") {
      return value;
    }
    if (isObject3(value) && value.__isConvertedError__) {
      const { message, ...properties } = value.errorProperties;
      const error = new Error(message);
      Object.assign(error, properties);
      return error;
    }
    if (typeof value === "string" && value.startsWith("_regexp_") && options.allowRegExp) {
      const [, flags, source] = value.match(/_regexp_([^|]*)\|(.*)/) || [];
      return new RegExp(source, flags);
    }
    if (typeof value === "string" && value.startsWith("_date_") && options.allowDate) {
      return new Date(value.replace("_date_", ""));
    }
    if (typeof value === "string" && value.startsWith("_duplicate_")) {
      refs.push({ target: key, container: this, replacement: value.replace(/^_duplicate_/, "") });
      return null;
    }
    if (typeof value === "string" && value.startsWith("_symbol_") && options.allowSymbol) {
      return Symbol(value.replace("_symbol_", ""));
    }
    if (typeof value === "string" && value.startsWith("_gsymbol_") && options.allowSymbol) {
      return Symbol.for(value.replace("_gsymbol_", ""));
    }
    if (typeof value === "string" && value === "_-Infinity_") {
      return Number.NEGATIVE_INFINITY;
    }
    if (typeof value === "string" && value === "_Infinity_") {
      return Number.POSITIVE_INFINITY;
    }
    if (typeof value === "string" && value === "_NaN_") {
      return Number.NaN;
    }
    if (typeof value === "string" && value.startsWith("_bigint_") && typeof BigInt === "function") {
      return BigInt(value.replace("_bigint_", ""));
    }
    return value;
  }, "revive");
}, "reviver2");
var defaultOptions = {
  maxDepth: 10,
  space: void 0,
  allowRegExp: true,
  allowDate: true,
  allowError: true,
  allowUndefined: true,
  allowSymbol: true
};
var stringify = /* @__PURE__ */ __name((data, options = {}) => {
  const mergedOptions = { ...defaultOptions, ...options };
  return JSON.stringify(convertUnconventionalData(data), replacer(mergedOptions), options.space);
}, "stringify");
var mutator = /* @__PURE__ */ __name(() => {
  const mutated = /* @__PURE__ */ new Map();
  return /* @__PURE__ */ __name(function mutateUndefined(value) {
    if (isObject3(value)) {
      Object.entries(value).forEach(([k, v]) => {
        if (v === "_undefined_") {
          value[k] = void 0;
        } else if (!mutated.get(v)) {
          mutated.set(v, true);
          mutateUndefined(v);
        }
      });
    }
    if (Array.isArray(value)) {
      value.forEach((v, index4) => {
        if (v === "_undefined_") {
          mutated.set(v, true);
          value[index4] = void 0;
        } else if (!mutated.get(v)) {
          mutated.set(v, true);
          mutateUndefined(v);
        }
      });
    }
  }, "mutateUndefined");
}, "mutator");
var parse = /* @__PURE__ */ __name((data, options = {}) => {
  const mergedOptions = { ...defaultOptions, ...options };
  const result = JSON.parse(data, reviver(mergedOptions));
  mutator()(result);
  return result;
}, "parse");

// ../node_modules/tiny-invariant/dist/esm/tiny-invariant.js
var isProduction = true;
var prefix = "Invariant failed";
function invariant(condition, message) {
  if (condition) {
    return;
  }
  if (isProduction) {
    throw new Error(prefix);
  }
  var provided = typeof message === "function" ? message() : message;
  var value = provided ? "".concat(prefix, ": ").concat(provided) : prefix;
  throw new Error(value);
}
__name(invariant, "invariant");

// src/channels/postmessage/getEventSourceUrl.ts
init_client_logger();
var getEventSourceUrl = /* @__PURE__ */ __name((event) => {
  const frames = Array.from(
    document.querySelectorAll("iframe[data-is-storybook]")
  );
  const [frame, ...remainder] = frames.filter((element) => {
    try {
      return element.contentWindow?.location.origin === event.source.location.origin && element.contentWindow?.location.pathname === event.source.location.pathname;
    } catch (err) {
    }
    try {
      return element.contentWindow === event.source;
    } catch (err) {
    }
    const src2 = element.getAttribute("src");
    let origin;
    try {
      if (!src2) {
        return false;
      }
      ({ origin } = new URL(src2, document.location.toString()));
    } catch (err) {
      return false;
    }
    return origin === event.origin;
  });
  const src = frame?.getAttribute("src");
  if (src && remainder.length === 0) {
    const { protocol, host, pathname } = new URL(src, document.location.toString());
    return `${protocol}//${host}${pathname}`;
  }
  if (remainder.length > 0) {
    logger.error("found multiple candidates for event source");
  }
  return null;
}, "getEventSourceUrl");

// src/channels/postmessage/index.ts
var { document: document2, location } = scope;
var KEY = "storybook-channel";
var defaultEventOptions = { maxDepth: 25 };
var _PostMessageTransport = class _PostMessageTransport {
  constructor(config4) {
    this.config = config4;
    this.connected = false;
    this.buffer = [];
    if (typeof scope?.addEventListener === "function") {
      scope.addEventListener("message", this.handleEvent.bind(this), false);
    }
    if (config4.page !== "manager" && config4.page !== "preview") {
      throw new Error(`postmsg-channel: "config.page" cannot be "${config4.page}"`);
    }
  }
  setHandler(handler) {
    this.handler = (...args) => {
      handler.apply(this, args);
      if (!this.connected && this.getLocalFrame().length) {
        this.flush();
        this.connected = true;
      }
    };
  }
  /**
   * Sends `event` to the associated window. If the window does not yet exist the event will be
   * stored in a buffer and sent when the window exists.
   *
   * @param event
   */
  send(event, options) {
    const {
      target,
      // telejson options
      allowRegExp,
      allowSymbol,
      allowDate,
      allowError,
      allowUndefined,
      maxDepth,
      space
    } = options || {};
    const eventOptions = Object.fromEntries(
      Object.entries({
        allowRegExp,
        allowSymbol,
        allowDate,
        allowError,
        allowUndefined,
        maxDepth,
        space
      }).filter(([k, v]) => typeof v !== "undefined")
    );
    const stringifyOptions = {
      ...defaultEventOptions,
      ...scope.CHANNEL_OPTIONS || {},
      ...eventOptions
    };
    const frames = this.getFrames(target);
    const query = new URLSearchParams(location?.search || "");
    const data = stringify(
      {
        key: KEY,
        event,
        refId: query.get("refId")
      },
      stringifyOptions
    );
    if (!frames.length) {
      return new Promise((resolve, reject) => {
        this.buffer.push({ event, resolve, reject });
      });
    }
    if (this.buffer.length) {
      this.flush();
    }
    frames.forEach((f3) => {
      try {
        f3.postMessage(data, "*");
      } catch (e2) {
        logger.error("sending over postmessage fail");
      }
    });
    return Promise.resolve(null);
  }
  flush() {
    const { buffer } = this;
    this.buffer = [];
    buffer.forEach((item) => {
      this.send(item.event).then(item.resolve).catch(item.reject);
    });
  }
  getFrames(target) {
    if (this.config.page === "manager") {
      const nodes = Array.from(
        document2.querySelectorAll("iframe[data-is-storybook][data-is-loaded]")
      );
      const list = nodes.flatMap((e2) => {
        try {
          if (!!e2.contentWindow && e2.dataset.isStorybook !== void 0 && e2.id === target) {
            return [e2.contentWindow];
          }
          return [];
        } catch (er) {
          return [];
        }
      });
      return list?.length ? list : this.getCurrentFrames();
    }
    if (scope && scope.parent && scope.parent !== scope.self) {
      return [scope.parent];
    }
    return [];
  }
  getCurrentFrames() {
    if (this.config.page === "manager") {
      const list = Array.from(
        document2.querySelectorAll('[data-is-storybook="true"]')
      );
      return list.flatMap((e2) => e2.contentWindow ? [e2.contentWindow] : []);
    }
    if (scope && scope.parent) {
      return [scope.parent];
    }
    return [];
  }
  getLocalFrame() {
    if (this.config.page === "manager") {
      const list = Array.from(
        document2.querySelectorAll("#storybook-preview-iframe")
      );
      return list.flatMap((e2) => e2.contentWindow ? [e2.contentWindow] : []);
    }
    if (scope && scope.parent) {
      return [scope.parent];
    }
    return [];
  }
  handleEvent(rawEvent) {
    try {
      const { data } = rawEvent;
      const { key, event, refId } = typeof data === "string" && isJSON(data) ? parse(data, scope.CHANNEL_OPTIONS || {}) : data;
      if (key === KEY) {
        const pageString = this.config.page === "manager" ? `<span style="color: #37D5D3; background: black"> manager </span>` : `<span style="color: #1EA7FD; background: black"> preview </span>`;
        const eventString = Object.values(core_events_exports).includes(event.type) ? `<span style="color: #FF4785">${event.type}</span>` : `<span style="color: #FFAE00">${event.type}</span>`;
        if (refId) {
          event.refId = refId;
        }
        event.source = this.config.page === "preview" ? rawEvent.origin : getEventSourceUrl(rawEvent);
        if (!event.source) {
          pretty.error(
            `${pageString} received ${eventString} but was unable to determine the source of the event`
          );
          return;
        }
        const message = `${pageString} received ${eventString} (${data.length})`;
        pretty.debug(
          location.origin !== event.source ? message : `${message} <span style="color: gray">(on ${location.origin} from ${event.source})</span>`,
          ...event.args
        );
        invariant(this.handler, "ChannelHandler should be set");
        this.handler(event);
      }
    } catch (error) {
      logger.error(error);
    }
  }
};
__name(_PostMessageTransport, "PostMessageTransport");
var PostMessageTransport = _PostMessageTransport;

// src/channels/websocket/index.ts
init_dist();
var { WebSocket } = scope;
var HEARTBEAT_INTERVAL = 15e3;
var HEARTBEAT_MAX_LATENCY = 5e3;
var _WebsocketTransport = class _WebsocketTransport {
  constructor({ url, onError, page }) {
    this.buffer = [];
    this.isReady = false;
    this.isClosed = false;
    this.pingTimeout = 0;
    this.socket = new WebSocket(url);
    this.socket.onopen = () => {
      this.isReady = true;
      this.heartbeat();
      this.flush();
    };
    this.socket.onmessage = ({ data }) => {
      const event = typeof data === "string" && isJSON(data) ? parse(data) : data;
      invariant(this.handler, "WebsocketTransport handler should be set");
      this.handler(event);
      if (event.type === "ping") {
        this.heartbeat();
        this.send({ type: "pong" });
      }
    };
    this.socket.onerror = (e2) => {
      if (onError) {
        onError(e2);
      }
    };
    this.socket.onclose = (ev) => {
      invariant(this.handler, "WebsocketTransport handler should be set");
      this.handler({
        type: CHANNEL_WS_DISCONNECT,
        args: [{ reason: ev.reason, code: ev.code }],
        from: page || "preview"
      });
      this.isClosed = true;
      clearTimeout(this.pingTimeout);
    };
  }
  heartbeat() {
    clearTimeout(this.pingTimeout);
    this.pingTimeout = setTimeout(() => {
      this.socket.close(3008, "timeout");
    }, HEARTBEAT_INTERVAL + HEARTBEAT_MAX_LATENCY);
  }
  setHandler(handler) {
    this.handler = handler;
  }
  send(event) {
    if (!this.isClosed) {
      if (!this.isReady) {
        this.sendLater(event);
      } else {
        this.sendNow(event);
      }
    }
  }
  sendLater(event) {
    this.buffer.push(event);
  }
  sendNow(event) {
    const data = stringify(event, {
      maxDepth: 15,
      ...scope.CHANNEL_OPTIONS
    });
    this.socket.send(data);
  }
  flush() {
    const { buffer } = this;
    this.buffer = [];
    buffer.forEach((event) => this.send(event));
  }
};
__name(_WebsocketTransport, "WebsocketTransport");
var WebsocketTransport = _WebsocketTransport;

// src/channels/index.ts
var { CONFIG_TYPE } = scope;
var channels_default = Channel;
function createBrowserChannel({ page, extraTransports = [] }) {
  const transports = [new PostMessageTransport({ page }), ...extraTransports];
  if (CONFIG_TYPE === "DEVELOPMENT") {
    const protocol = window.location.protocol === "http:" ? "ws" : "wss";
    const { hostname, port } = window.location;
    const channelUrl = `${protocol}://${hostname}:${port}/storybook-server-channel`;
    transports.push(new WebsocketTransport({ url: channelUrl, onError: /* @__PURE__ */ __name(() => {
    }, "onError"), page }));
  }
  const channel = new Channel({ transports });
  UniversalStore.__prepare(
    channel,
    page === "manager" ? UniversalStore.Environment.MANAGER : UniversalStore.Environment.PREVIEW
  );
  return channel;
}
__name(createBrowserChannel, "createBrowserChannel");

// src/manager/globals/runtime.ts
init_client_logger();

// src/components/index.ts
var components_exports = {};
__export(components_exports, {
  A: () => A,
  ActionBar: () => ActionBar,
  AddonPanel: () => AddonPanel,
  Badge: () => Badge,
  Bar: () => Bar,
  Blockquote: () => Blockquote,
  Button: () => Button,
  ClipboardCode: () => ClipboardCode,
  Code: () => Code2,
  DL: () => DL,
  Div: () => Div,
  DocumentWrapper: () => DocumentWrapper,
  EmptyTabContent: () => EmptyTabContent,
  ErrorFormatter: () => ErrorFormatter,
  FlexBar: () => FlexBar,
  Form: () => Form,
  H1: () => H1,
  H2: () => H2,
  H3: () => H3,
  H4: () => H4,
  H5: () => H5,
  H6: () => H6,
  HR: () => HR,
  IconButton: () => IconButton,
  Img: () => Img,
  LI: () => LI,
  Link: () => Link2,
  ListItem: () => ListItem_default,
  Loader: () => Loader,
  Modal: () => Modal,
  OL: () => OL,
  P: () => P,
  Placeholder: () => Placeholder,
  Pre: () => Pre2,
  ProgressSpinner: () => ProgressSpinner,
  ResetWrapper: () => ResetWrapper,
  ScrollArea: () => ScrollArea2,
  Separator: () => Separator,
  Spaced: () => Spaced,
  Span: () => Span,
  StorybookIcon: () => StorybookIcon2,
  StorybookLogo: () => StorybookLogo,
  SyntaxHighlighter: () => SyntaxHighlighter3,
  TT: () => TT,
  TabBar: () => TabBar,
  TabButton: () => TabButton,
  TabWrapper: () => TabWrapper,
  Table: () => Table,
  Tabs: () => Tabs,
  TabsState: () => TabsState,
  TooltipLinkList: () => TooltipLinkList,
  TooltipMessage: () => TooltipMessage,
  TooltipNote: () => TooltipNote,
  UL: () => UL,
  WithTooltip: () => WithTooltip,
  WithTooltipPure: () => WithTooltipPure2,
  Zoom: () => Zoom,
  codeCommon: () => codeCommon,
  components: () => components2,
  createCopyToClipboardFunction: () => createCopyToClipboardFunction,
  getStoryHref: () => getStoryHref,
  interleaveSeparators: () => interleaveSeparators,
  nameSpaceClassNames: () => nameSpaceClassNames,
  resetComponents: () => resetComponents,
  withReset: () => withReset
});
var import_react61 = __toESM(require_react(), 1);

// src/components/components/typography/components.tsx
var import_react15 = __toESM(require_react(), 1);

// src/components/components/typography/DocumentFormatting.tsx
var nameSpaceClassNames = /* @__PURE__ */ __name(({ ...props }, key) => {
  const classes = [props.class, props.className];
  delete props.class;
  props.className = ["sbdocs", `sbdocs-${key}`, ...classes].filter(Boolean).join(" ");
  return props;
}, "nameSpaceClassNames");

// src/components/components/typography/ResetWrapper.tsx
init_theming();

// src/components/components/typography/lib/common.tsx
init_polished_esm();
var headerCommon = /* @__PURE__ */ __name(({ theme: theme3 }) => ({
  margin: "20px 0 8px",
  padding: 0,
  cursor: "text",
  position: "relative",
  color: theme3.color.defaultText,
  "&:first-of-type": {
    marginTop: 0,
    paddingTop: 0
  },
  "&:hover a.anchor": {
    textDecoration: "none"
  },
  "& tt, & code": {
    fontSize: "inherit"
  }
}), "headerCommon");
var codeCommon = /* @__PURE__ */ __name(({ theme: theme3 }) => ({
  lineHeight: 1,
  margin: "0 2px",
  padding: "3px 5px",
  whiteSpace: "nowrap",
  borderRadius: 3,
  fontSize: theme3.typography.size.s2 - 1,
  border: theme3.base === "light" ? `1px solid ${theme3.color.mediumlight}` : `1px solid ${theme3.color.darker}`,
  color: theme3.base === "light" ? curriedTransparentize$1(0.1, theme3.color.defaultText) : curriedTransparentize$1(0.3, theme3.color.defaultText),
  backgroundColor: theme3.base === "light" ? theme3.color.lighter : theme3.color.border
}), "codeCommon");
var withReset = /* @__PURE__ */ __name(({ theme: theme3 }) => ({
  fontFamily: theme3.typography.fonts.base,
  fontSize: theme3.typography.size.s3,
  margin: 0,
  WebkitFontSmoothing: "antialiased",
  MozOsxFontSmoothing: "grayscale",
  WebkitTapHighlightColor: "rgba(0, 0, 0, 0)",
  WebkitOverflowScrolling: "touch"
}), "withReset");
var withMargin = {
  margin: "16px 0"
};

// src/components/components/typography/ResetWrapper.tsx
var ResetWrapper = styled.div(withReset);

// src/components/components/typography/elements/A.tsx
init_theming();

// src/components/components/typography/elements/Link.tsx
var import_react7 = __toESM(require_react(), 1);
var Link = /* @__PURE__ */ __name(({
  href: input2 = "",
  ...props
}) => {
  const isStorybookPath = /^\//.test(input2);
  const href = isStorybookPath ? `./?path=${input2}` : input2;
  const isAnchorUrl = /^#.*/.test(input2);
  const target = isAnchorUrl ? "_self" : "_top";
  return import_react7.default.createElement("a", { href, target, ...props });
}, "Link");

// src/components/components/typography/elements/A.tsx
var A = styled(Link)(withReset, ({ theme: theme3 }) => ({
  fontSize: "inherit",
  lineHeight: "24px",
  color: theme3.color.secondary,
  textDecoration: "none",
  "&.absent": {
    color: "#cc0000"
  },
  "&.anchor": {
    display: "block",
    paddingLeft: 30,
    marginLeft: -30,
    cursor: "pointer",
    position: "absolute",
    top: 0,
    left: 0,
    bottom: 0
  }
}));

// src/components/components/typography/elements/Blockquote.tsx
init_theming();
var Blockquote = styled.blockquote(withReset, withMargin, ({ theme: theme3 }) => ({
  borderLeft: `4px solid ${theme3.color.medium}`,
  padding: "0 15px",
  color: theme3.color.dark,
  "& > :first-of-type": {
    marginTop: 0
  },
  "& > :last-child": {
    marginBottom: 0
  }
}));

// src/components/components/typography/elements/Code.tsx
var import_react14 = __toESM(require_react(), 1);
init_theming();

// src/components/components/syntaxhighlighter/lazy-syntaxhighlighter.tsx
var import_react13 = __toESM(require_react(), 1);
var languages = [];
var Comp = null;
var LazySyntaxHighlighter = (0, import_react13.lazy)(async () => {
  const { SyntaxHighlighter: SyntaxHighlighter4 } = await Promise.resolve().then(() => (init_syntaxhighlighter(), syntaxhighlighter_exports));
  if (languages.length > 0) {
    languages.forEach((args) => {
      SyntaxHighlighter4.registerLanguage(...args);
    });
    languages = [];
  }
  if (Comp === null) {
    Comp = SyntaxHighlighter4;
  }
  return {
    default: /* @__PURE__ */ __name((props) => import_react13.default.createElement(SyntaxHighlighter4, { ...props }), "default")
  };
});
var LazySyntaxHighlighterWithFormatter = (0, import_react13.lazy)(async () => {
  const [{ SyntaxHighlighter: SyntaxHighlighter4 }, { formatter: formatter2 }] = await Promise.all([
    Promise.resolve().then(() => (init_syntaxhighlighter(), syntaxhighlighter_exports)),
    Promise.resolve().then(() => (init_formatter(), formatter_exports))
  ]);
  if (languages.length > 0) {
    languages.forEach((args) => {
      SyntaxHighlighter4.registerLanguage(...args);
    });
    languages = [];
  }
  if (Comp === null) {
    Comp = SyntaxHighlighter4;
  }
  return {
    default: /* @__PURE__ */ __name((props) => import_react13.default.createElement(SyntaxHighlighter4, { ...props, formatter: formatter2 }), "default")
  };
});
var SyntaxHighlighter3 = /* @__PURE__ */ __name((props) => import_react13.default.createElement(import_react13.Suspense, { fallback: import_react13.default.createElement("div", null) }, props.format !== false ? import_react13.default.createElement(LazySyntaxHighlighterWithFormatter, { ...props }) : import_react13.default.createElement(LazySyntaxHighlighter, { ...props })), "SyntaxHighlighter");
SyntaxHighlighter3.registerLanguage = (...args) => {
  if (Comp !== null) {
    Comp.registerLanguage(...args);
    return;
  }
  languages.push(args);
};

// src/components/components/typography/lib/isReactChildString.tsx
var isReactChildString = /* @__PURE__ */ __name((child) => typeof child === "string", "isReactChildString");

// src/components/components/typography/elements/Code.tsx
var isInlineCodeRegex = /[\n\r]/g;
var DefaultCodeBlock = styled.code(
  ({ theme: theme3 }) => ({
    // from reset
    fontFamily: theme3.typography.fonts.mono,
    WebkitFontSmoothing: "antialiased",
    MozOsxFontSmoothing: "grayscale",
    display: "inline-block",
    paddingLeft: 2,
    paddingRight: 2,
    verticalAlign: "baseline",
    color: "inherit"
  }),
  codeCommon
);
var StyledSyntaxHighlighter = styled(SyntaxHighlighter3)(({ theme: theme3 }) => ({
  // DocBlocks-specific styling and overrides
  fontFamily: theme3.typography.fonts.mono,
  fontSize: `${theme3.typography.size.s2 - 1}px`,
  lineHeight: "19px",
  margin: "25px 0 40px",
  borderRadius: theme3.appBorderRadius,
  boxShadow: theme3.base === "light" ? "rgba(0, 0, 0, 0.10) 0 1px 3px 0" : "rgba(0, 0, 0, 0.20) 0 2px 5px 0",
  "pre.prismjs": {
    padding: 20,
    background: "inherit"
  }
}));
var Code2 = /* @__PURE__ */ __name(({
  className,
  children,
  ...props
}) => {
  const language = (className || "").match(/lang-(\S+)/);
  const childrenArray = import_react14.Children.toArray(children);
  const isInlineCode = !childrenArray.filter(isReactChildString).some((child) => child.match(isInlineCodeRegex));
  if (isInlineCode) {
    return import_react14.default.createElement(DefaultCodeBlock, { ...props, className }, childrenArray);
  }
  return import_react14.default.createElement(
    StyledSyntaxHighlighter,
    {
      bordered: true,
      copyable: true,
      language: language?.[1] ?? "text",
      format: false,
      ...props
    },
    children
  );
}, "Code");

// src/components/components/typography/elements/DL.tsx
init_theming();
var DL = styled.dl(withReset, withMargin, {
  padding: 0,
  "& dt": {
    fontSize: "14px",
    fontWeight: "bold",
    fontStyle: "italic",
    padding: 0,
    margin: "16px 0 4px"
  },
  "& dt:first-of-type": {
    padding: 0
  },
  "& dt > :first-of-type": {
    marginTop: 0
  },
  "& dt > :last-child": {
    marginBottom: 0
  },
  "& dd": {
    margin: "0 0 16px",
    padding: "0 15px"
  },
  "& dd > :first-of-type": {
    marginTop: 0
  },
  "& dd > :last-child": {
    marginBottom: 0
  }
});

// src/components/components/typography/elements/Div.tsx
init_theming();
var Div = styled.div(withReset);

// src/components/components/typography/elements/H1.tsx
init_theming();
var H1 = styled.h1(withReset, headerCommon, ({ theme: theme3 }) => ({
  fontSize: `${theme3.typography.size.l1}px`,
  fontWeight: theme3.typography.weight.bold
}));

// src/components/components/typography/elements/H2.tsx
init_theming();
var H2 = styled.h2(withReset, headerCommon, ({ theme: theme3 }) => ({
  fontSize: `${theme3.typography.size.m2}px`,
  paddingBottom: 4,
  borderBottom: `1px solid ${theme3.appBorderColor}`
}));

// src/components/components/typography/elements/H3.tsx
init_theming();
var H3 = styled.h3(withReset, headerCommon, ({ theme: theme3 }) => ({
  fontSize: `${theme3.typography.size.m1}px`
}));

// src/components/components/typography/elements/H4.tsx
init_theming();
var H4 = styled.h4(withReset, headerCommon, ({ theme: theme3 }) => ({
  fontSize: `${theme3.typography.size.s3}px`
}));

// src/components/components/typography/elements/H5.tsx
init_theming();
var H5 = styled.h5(withReset, headerCommon, ({ theme: theme3 }) => ({
  fontSize: `${theme3.typography.size.s2}px`
}));

// src/components/components/typography/elements/H6.tsx
init_theming();
var H6 = styled.h6(withReset, headerCommon, ({ theme: theme3 }) => ({
  fontSize: `${theme3.typography.size.s2}px`,
  color: theme3.color.dark
}));

// src/components/components/typography/elements/HR.tsx
init_theming();
var HR = styled.hr(({ theme: theme3 }) => ({
  border: "0 none",
  borderTop: `1px solid ${theme3.appBorderColor}`,
  height: 4,
  padding: 0
}));

// src/components/components/typography/elements/Img.tsx
init_theming();
var Img = styled.img({
  maxWidth: "100%"
});

// src/components/components/typography/elements/LI.tsx
init_theming();
var LI = styled.li(withReset, ({ theme: theme3 }) => ({
  fontSize: theme3.typography.size.s2,
  color: theme3.color.defaultText,
  lineHeight: "24px",
  "& + li": {
    marginTop: ".25em"
  },
  "& ul, & ol": {
    marginTop: ".25em",
    marginBottom: 0
  },
  "& code": codeCommon({ theme: theme3 })
}));

// src/components/components/typography/elements/OL.tsx
init_theming();
var listCommon = {
  paddingLeft: 30,
  "& :first-of-type": {
    marginTop: 0
  },
  "& :last-child": {
    marginBottom: 0
  }
};
var OL = styled.ol(withReset, withMargin, listCommon, {
  listStyle: "decimal"
});

// src/components/components/typography/elements/P.tsx
init_theming();
var P = styled.p(withReset, withMargin, ({ theme: theme3 }) => ({
  fontSize: theme3.typography.size.s2,
  lineHeight: "24px",
  color: theme3.color.defaultText,
  "& code": codeCommon({ theme: theme3 })
}));

// src/components/components/typography/elements/Pre.tsx
init_theming();
var Pre2 = styled.pre(withReset, withMargin, ({ theme: theme3 }) => ({
  // reset
  fontFamily: theme3.typography.fonts.mono,
  WebkitFontSmoothing: "antialiased",
  MozOsxFontSmoothing: "grayscale",
  lineHeight: "18px",
  padding: "11px 1rem",
  whiteSpace: "pre-wrap",
  color: "inherit",
  borderRadius: 3,
  margin: "1rem 0",
  "&:not(.prismjs)": {
    background: "transparent",
    border: "none",
    borderRadius: 0,
    padding: 0,
    margin: 0
  },
  "& pre, &.prismjs": {
    padding: 15,
    margin: 0,
    whiteSpace: "pre-wrap",
    color: "inherit",
    fontSize: "13px",
    lineHeight: "19px",
    code: {
      color: "inherit",
      fontSize: "inherit"
    }
  },
  "& code": {
    whiteSpace: "pre"
  },
  "& code, & tt": {
    border: "none"
  }
}));

// src/components/components/typography/elements/Span.tsx
init_theming();
var Span = styled.span(withReset, ({ theme: theme3 }) => ({
  "&.frame": {
    display: "block",
    overflow: "hidden",
    "& > span": {
      border: `1px solid ${theme3.color.medium}`,
      display: "block",
      float: "left",
      overflow: "hidden",
      margin: "13px 0 0",
      padding: 7,
      width: "auto"
    },
    "& span img": {
      display: "block",
      float: "left"
    },
    "& span span": {
      clear: "both",
      color: theme3.color.darkest,
      display: "block",
      padding: "5px 0 0"
    }
  },
  "&.align-center": {
    display: "block",
    overflow: "hidden",
    clear: "both",
    "& > span": {
      display: "block",
      overflow: "hidden",
      margin: "13px auto 0",
      textAlign: "center"
    },
    "& span img": {
      margin: "0 auto",
      textAlign: "center"
    }
  },
  "&.align-right": {
    display: "block",
    overflow: "hidden",
    clear: "both",
    "& > span": {
      display: "block",
      overflow: "hidden",
      margin: "13px 0 0",
      textAlign: "right"
    },
    "& span img": {
      margin: 0,
      textAlign: "right"
    }
  },
  "&.float-left": {
    display: "block",
    marginRight: 13,
    overflow: "hidden",
    float: "left",
    "& span": {
      margin: "13px 0 0"
    }
  },
  "&.float-right": {
    display: "block",
    marginLeft: 13,
    overflow: "hidden",
    float: "right",
    "& > span": {
      display: "block",
      overflow: "hidden",
      margin: "13px auto 0",
      textAlign: "right"
    }
  }
}));

// src/components/components/typography/elements/TT.tsx
init_theming();
var TT = styled.title(codeCommon);

// src/components/components/typography/elements/Table.tsx
init_theming();
var Table = styled.table(withReset, withMargin, ({ theme: theme3 }) => ({
  fontSize: theme3.typography.size.s2,
  lineHeight: "24px",
  padding: 0,
  borderCollapse: "collapse",
  "& tr": {
    borderTop: `1px solid ${theme3.appBorderColor}`,
    backgroundColor: theme3.appContentBg,
    margin: 0,
    padding: 0
  },
  "& tr:nth-of-type(2n)": {
    backgroundColor: theme3.base === "dark" ? theme3.color.darker : theme3.color.lighter
  },
  "& tr th": {
    fontWeight: "bold",
    color: theme3.color.defaultText,
    border: `1px solid ${theme3.appBorderColor}`,
    margin: 0,
    padding: "6px 13px"
  },
  "& tr td": {
    border: `1px solid ${theme3.appBorderColor}`,
    color: theme3.color.defaultText,
    margin: 0,
    padding: "6px 13px"
  },
  "& tr th :first-of-type, & tr td :first-of-type": {
    marginTop: 0
  },
  "& tr th :last-child, & tr td :last-child": {
    marginBottom: 0
  }
}));

// src/components/components/typography/elements/UL.tsx
init_theming();
var listCommon2 = {
  paddingLeft: 30,
  "& :first-of-type": {
    marginTop: 0
  },
  "& :last-child": {
    marginBottom: 0
  }
};
var UL = styled.ul(withReset, withMargin, listCommon2, { listStyle: "disc" });

// src/components/components/typography/components.tsx
var components = {
  h1: /* @__PURE__ */ __name((props) => import_react15.default.createElement(H1, { ...nameSpaceClassNames(props, "h1") }), "h1"),
  h2: /* @__PURE__ */ __name((props) => import_react15.default.createElement(H2, { ...nameSpaceClassNames(props, "h2") }), "h2"),
  h3: /* @__PURE__ */ __name((props) => import_react15.default.createElement(H3, { ...nameSpaceClassNames(props, "h3") }), "h3"),
  h4: /* @__PURE__ */ __name((props) => import_react15.default.createElement(H4, { ...nameSpaceClassNames(props, "h4") }), "h4"),
  h5: /* @__PURE__ */ __name((props) => import_react15.default.createElement(H5, { ...nameSpaceClassNames(props, "h5") }), "h5"),
  h6: /* @__PURE__ */ __name((props) => import_react15.default.createElement(H6, { ...nameSpaceClassNames(props, "h6") }), "h6"),
  pre: /* @__PURE__ */ __name((props) => import_react15.default.createElement(Pre2, { ...nameSpaceClassNames(props, "pre") }), "pre"),
  a: /* @__PURE__ */ __name((props) => import_react15.default.createElement(A, { ...nameSpaceClassNames(props, "a") }), "a"),
  hr: /* @__PURE__ */ __name((props) => import_react15.default.createElement(HR, { ...nameSpaceClassNames(props, "hr") }), "hr"),
  dl: /* @__PURE__ */ __name((props) => import_react15.default.createElement(DL, { ...nameSpaceClassNames(props, "dl") }), "dl"),
  blockquote: /* @__PURE__ */ __name((props) => import_react15.default.createElement(Blockquote, { ...nameSpaceClassNames(props, "blockquote") }), "blockquote"),
  table: /* @__PURE__ */ __name((props) => import_react15.default.createElement(Table, { ...nameSpaceClassNames(props, "table") }), "table"),
  img: /* @__PURE__ */ __name((props) => import_react15.default.createElement(Img, { ...nameSpaceClassNames(props, "img") }), "img"),
  div: /* @__PURE__ */ __name((props) => import_react15.default.createElement(Div, { ...nameSpaceClassNames(props, "div") }), "div"),
  span: /* @__PURE__ */ __name((props) => import_react15.default.createElement(Span, { ...nameSpaceClassNames(props, "span") }), "span"),
  li: /* @__PURE__ */ __name((props) => import_react15.default.createElement(LI, { ...nameSpaceClassNames(props, "li") }), "li"),
  ul: /* @__PURE__ */ __name((props) => import_react15.default.createElement(UL, { ...nameSpaceClassNames(props, "ul") }), "ul"),
  ol: /* @__PURE__ */ __name((props) => import_react15.default.createElement(OL, { ...nameSpaceClassNames(props, "ol") }), "ol"),
  p: /* @__PURE__ */ __name((props) => import_react15.default.createElement(P, { ...nameSpaceClassNames(props, "p") }), "p"),
  code: /* @__PURE__ */ __name((props) => import_react15.default.createElement(Code2, { ...nameSpaceClassNames(props, "code") }), "code"),
  tt: /* @__PURE__ */ __name((props) => import_react15.default.createElement(TT, { ...nameSpaceClassNames(props, "tt") }), "tt"),
  resetwrapper: /* @__PURE__ */ __name((props) => import_react15.default.createElement(ResetWrapper, { ...nameSpaceClassNames(props, "resetwrapper") }), "resetwrapper")
};

// src/components/components/Badge/Badge.tsx
var import_react16 = __toESM(require_react(), 1);
init_polished_esm();
init_theming();
var BadgeWrapper = styled.div(
  ({ theme: theme3, compact: compact2 }) => ({
    display: "inline-flex",
    alignItems: "center",
    justifyContent: "center",
    fontSize: theme3.typography.size.s1,
    fontWeight: theme3.typography.weight.bold,
    lineHeight: "12px",
    minWidth: 20,
    borderRadius: 20,
    padding: compact2 ? "4px 7px" : "4px 10px"
  }),
  {
    svg: {
      height: 12,
      width: 12,
      marginRight: 4,
      marginTop: -2,
      path: {
        fill: "currentColor"
      }
    }
  },
  ({ theme: theme3, status }) => {
    switch (status) {
      case "critical": {
        return {
          color: theme3.color.critical,
          background: theme3.background.critical
        };
      }
      case "negative": {
        return {
          color: theme3.color.negativeText,
          background: theme3.background.negative,
          boxShadow: theme3.base === "light" ? `inset 0 0 0 1px ${curriedTransparentize$1(0.9, theme3.color.negativeText)}` : "none"
        };
      }
      case "warning": {
        return {
          color: theme3.color.warningText,
          background: theme3.background.warning,
          boxShadow: theme3.base === "light" ? `inset 0 0 0 1px ${curriedTransparentize$1(0.9, theme3.color.warningText)}` : "none"
        };
      }
      case "neutral": {
        return {
          color: theme3.textMutedColor,
          background: theme3.base === "light" ? theme3.background.app : theme3.barBg,
          boxShadow: `inset 0 0 0 1px ${curriedTransparentize$1(0.8, theme3.textMutedColor)}`
        };
      }
      case "positive": {
        return {
          color: theme3.color.positiveText,
          background: theme3.background.positive,
          boxShadow: theme3.base === "light" ? `inset 0 0 0 1px ${curriedTransparentize$1(0.9, theme3.color.positiveText)}` : "none"
        };
      }
      case "active": {
        return {
          color: theme3.color.secondary,
          background: theme3.background.hoverable,
          boxShadow: `inset 0 0 0 1px ${curriedTransparentize$1(0.9, theme3.color.secondary)}`
        };
      }
      default: {
        return {};
      }
    }
  }
);
var Badge = /* @__PURE__ */ __name(({ ...props }) => {
  return import_react16.default.createElement(BadgeWrapper, { ...props });
}, "Badge");

// src/components/components/typography/link/link.tsx
var import_react17 = __toESM(require_react(), 1);

// ../node_modules/@storybook/icons/dist/index.mjs
var dist_exports2 = {};
__export(dist_exports2, {
  AccessibilityAltIcon: () => AccessibilityAltIcon,
  AccessibilityIcon: () => AccessibilityIcon,
  AccessibilityIgnoredIcon: () => AccessibilityIgnoredIcon,
  AddIcon: () => AddIcon,
  AdminIcon: () => AdminIcon,
  AlertAltIcon: () => AlertAltIcon,
  AlertIcon: () => AlertIcon,
  AlignLeftIcon: () => AlignLeftIcon,
  AlignRightIcon: () => AlignRightIcon,
  AppleIcon: () => AppleIcon,
  ArrowBottomLeftIcon: () => ArrowBottomLeftIcon,
  ArrowBottomRightIcon: () => ArrowBottomRightIcon,
  ArrowDownIcon: () => ArrowDownIcon,
  ArrowLeftIcon: () => ArrowLeftIcon,
  ArrowRightIcon: () => ArrowRightIcon,
  ArrowSolidDownIcon: () => ArrowSolidDownIcon,
  ArrowSolidLeftIcon: () => ArrowSolidLeftIcon,
  ArrowSolidRightIcon: () => ArrowSolidRightIcon,
  ArrowSolidUpIcon: () => ArrowSolidUpIcon,
  ArrowTopLeftIcon: () => ArrowTopLeftIcon,
  ArrowTopRightIcon: () => ArrowTopRightIcon,
  ArrowUpIcon: () => ArrowUpIcon,
  AzureDevOpsIcon: () => AzureDevOpsIcon,
  BackIcon: () => BackIcon,
  BasketIcon: () => BasketIcon,
  BatchAcceptIcon: () => BatchAcceptIcon,
  BatchDenyIcon: () => BatchDenyIcon,
  BeakerIcon: () => BeakerIcon,
  BellIcon: () => BellIcon,
  BitbucketIcon: () => BitbucketIcon,
  BoldIcon: () => BoldIcon,
  BookIcon: () => BookIcon,
  BookmarkHollowIcon: () => BookmarkHollowIcon,
  BookmarkIcon: () => BookmarkIcon,
  BottomBarIcon: () => BottomBarIcon,
  BottomBarToggleIcon: () => BottomBarToggleIcon,
  BoxIcon: () => BoxIcon,
  BranchIcon: () => BranchIcon,
  BrowserIcon: () => BrowserIcon,
  BugIcon: () => BugIcon,
  ButtonIcon: () => ButtonIcon,
  CPUIcon: () => CPUIcon,
  CalendarIcon: () => CalendarIcon,
  CameraIcon: () => CameraIcon,
  CameraStabilizeIcon: () => CameraStabilizeIcon,
  CategoryIcon: () => CategoryIcon,
  CertificateIcon: () => CertificateIcon,
  ChangedIcon: () => ChangedIcon,
  ChatIcon: () => ChatIcon,
  CheckIcon: () => CheckIcon,
  ChevronDownIcon: () => ChevronDownIcon,
  ChevronLeftIcon: () => ChevronLeftIcon,
  ChevronRightIcon: () => ChevronRightIcon,
  ChevronSmallDownIcon: () => ChevronSmallDownIcon,
  ChevronSmallLeftIcon: () => ChevronSmallLeftIcon,
  ChevronSmallRightIcon: () => ChevronSmallRightIcon,
  ChevronSmallUpIcon: () => ChevronSmallUpIcon,
  ChevronUpIcon: () => ChevronUpIcon,
  ChromaticIcon: () => ChromaticIcon,
  ChromeIcon: () => ChromeIcon,
  CircleHollowIcon: () => CircleHollowIcon,
  CircleIcon: () => CircleIcon,
  ClearIcon: () => ClearIcon,
  CloseAltIcon: () => CloseAltIcon,
  CloseIcon: () => CloseIcon,
  CloudHollowIcon: () => CloudHollowIcon,
  CloudIcon: () => CloudIcon,
  CogIcon: () => CogIcon,
  CollapseIcon: () => CollapseIcon,
  CommandIcon: () => CommandIcon,
  CommentAddIcon: () => CommentAddIcon,
  CommentIcon: () => CommentIcon,
  CommentsIcon: () => CommentsIcon,
  CommitIcon: () => CommitIcon,
  CompassIcon: () => CompassIcon,
  ComponentDrivenIcon: () => ComponentDrivenIcon,
  ComponentIcon: () => ComponentIcon,
  ContrastIcon: () => ContrastIcon,
  ContrastIgnoredIcon: () => ContrastIgnoredIcon,
  ControlsIcon: () => ControlsIcon,
  CopyIcon: () => CopyIcon,
  CreditIcon: () => CreditIcon,
  CrossIcon: () => CrossIcon,
  DashboardIcon: () => DashboardIcon,
  DatabaseIcon: () => DatabaseIcon,
  DeleteIcon: () => DeleteIcon,
  DiamondIcon: () => DiamondIcon,
  DirectionIcon: () => DirectionIcon,
  DiscordIcon: () => DiscordIcon,
  DocChartIcon: () => DocChartIcon,
  DocListIcon: () => DocListIcon,
  DocumentIcon: () => DocumentIcon,
  DownloadIcon: () => DownloadIcon,
  DragIcon: () => DragIcon,
  EditIcon: () => EditIcon,
  EditorIcon: () => EditorIcon,
  EllipsisIcon: () => EllipsisIcon,
  EmailIcon: () => EmailIcon,
  ExpandAltIcon: () => ExpandAltIcon,
  ExpandIcon: () => ExpandIcon,
  EyeCloseIcon: () => EyeCloseIcon,
  EyeIcon: () => EyeIcon,
  FaceHappyIcon: () => FaceHappyIcon,
  FaceNeutralIcon: () => FaceNeutralIcon,
  FaceSadIcon: () => FaceSadIcon,
  FacebookIcon: () => FacebookIcon,
  FailedIcon: () => FailedIcon,
  FastForwardIcon: () => FastForwardIcon,
  FigmaIcon: () => FigmaIcon,
  FilterIcon: () => FilterIcon,
  FlagIcon: () => FlagIcon,
  FolderIcon: () => FolderIcon,
  FormIcon: () => FormIcon,
  GDriveIcon: () => GDriveIcon,
  GiftIcon: () => GiftIcon,
  GithubIcon: () => GithubIcon,
  GitlabIcon: () => GitlabIcon,
  GlobeIcon: () => GlobeIcon,
  GoogleIcon: () => GoogleIcon,
  GraphBarIcon: () => GraphBarIcon,
  GraphLineIcon: () => GraphLineIcon,
  GraphqlIcon: () => GraphqlIcon,
  GridAltIcon: () => GridAltIcon,
  GridIcon: () => GridIcon,
  GrowIcon: () => GrowIcon,
  HeartHollowIcon: () => HeartHollowIcon,
  HeartIcon: () => HeartIcon,
  HomeIcon: () => HomeIcon,
  HourglassIcon: () => HourglassIcon,
  InfoIcon: () => InfoIcon,
  ItalicIcon: () => ItalicIcon,
  JumpToIcon: () => JumpToIcon,
  KeyIcon: () => KeyIcon,
  LightningIcon: () => LightningIcon,
  LightningOffIcon: () => LightningOffIcon,
  LinkBrokenIcon: () => LinkBrokenIcon,
  LinkIcon: () => LinkIcon,
  LinkedinIcon: () => LinkedinIcon,
  LinuxIcon: () => LinuxIcon,
  ListOrderedIcon: () => ListOrderedIcon,
  ListUnorderedIcon: () => ListUnorderedIcon,
  LocationIcon: () => LocationIcon,
  LockIcon: () => LockIcon,
  MarkdownIcon: () => MarkdownIcon,
  MarkupIcon: () => MarkupIcon,
  MediumIcon: () => MediumIcon,
  MemoryIcon: () => MemoryIcon,
  MenuIcon: () => MenuIcon,
  MergeIcon: () => MergeIcon,
  MirrorIcon: () => MirrorIcon,
  MobileIcon: () => MobileIcon,
  MoonIcon: () => MoonIcon,
  NutIcon: () => NutIcon,
  OutboxIcon: () => OutboxIcon,
  OutlineIcon: () => OutlineIcon,
  PaintBrushAltIcon: () => PaintBrushAltIcon,
  PaintBrushIcon: () => PaintBrushIcon,
  PaperClipIcon: () => PaperClipIcon,
  ParagraphIcon: () => ParagraphIcon,
  PassedIcon: () => PassedIcon,
  PhoneIcon: () => PhoneIcon,
  PhotoDragIcon: () => PhotoDragIcon,
  PhotoIcon: () => PhotoIcon,
  PhotoStabilizeIcon: () => PhotoStabilizeIcon,
  PinAltIcon: () => PinAltIcon,
  PinIcon: () => PinIcon,
  PlayAllHollowIcon: () => PlayAllHollowIcon,
  PlayBackIcon: () => PlayBackIcon,
  PlayHollowIcon: () => PlayHollowIcon,
  PlayIcon: () => PlayIcon,
  PlayNextIcon: () => PlayNextIcon,
  PlusIcon: () => PlusIcon,
  PointerDefaultIcon: () => PointerDefaultIcon,
  PointerHandIcon: () => PointerHandIcon,
  PowerIcon: () => PowerIcon,
  PrintIcon: () => PrintIcon,
  ProceedIcon: () => ProceedIcon,
  ProfileIcon: () => ProfileIcon,
  PullRequestIcon: () => PullRequestIcon,
  QuestionIcon: () => QuestionIcon,
  RSSIcon: () => RSSIcon,
  RedirectIcon: () => RedirectIcon,
  ReduxIcon: () => ReduxIcon,
  RefreshIcon: () => RefreshIcon,
  ReplyIcon: () => ReplyIcon,
  RepoIcon: () => RepoIcon,
  RequestChangeIcon: () => RequestChangeIcon,
  RewindIcon: () => RewindIcon,
  RulerIcon: () => RulerIcon,
  SaveIcon: () => SaveIcon,
  SearchIcon: () => SearchIcon,
  ShareAltIcon: () => ShareAltIcon,
  ShareIcon: () => ShareIcon,
  ShieldIcon: () => ShieldIcon,
  SideBySideIcon: () => SideBySideIcon,
  SidebarAltIcon: () => SidebarAltIcon,
  SidebarAltToggleIcon: () => SidebarAltToggleIcon,
  SidebarIcon: () => SidebarIcon,
  SidebarToggleIcon: () => SidebarToggleIcon,
  SortDownIcon: () => SortDownIcon,
  SortUpIcon: () => SortUpIcon,
  SpeakerIcon: () => SpeakerIcon,
  StackedIcon: () => StackedIcon,
  StarHollowIcon: () => StarHollowIcon,
  StarIcon: () => StarIcon,
  StatusFailIcon: () => StatusFailIcon,
  StatusIcon: () => StatusIcon,
  StatusPassIcon: () => StatusPassIcon,
  StatusWarnIcon: () => StatusWarnIcon,
  StickerIcon: () => StickerIcon,
  StopAltHollowIcon: () => StopAltHollowIcon,
  StopAltIcon: () => StopAltIcon,
  StopIcon: () => StopIcon,
  StorybookIcon: () => StorybookIcon,
  StructureIcon: () => StructureIcon,
  SubtractIcon: () => SubtractIcon,
  SunIcon: () => SunIcon,
  SupportIcon: () => SupportIcon,
  SweepIcon: () => SweepIcon,
  SwitchAltIcon: () => SwitchAltIcon,
  SyncIcon: () => SyncIcon,
  TabletIcon: () => TabletIcon,
  ThumbsUpIcon: () => ThumbsUpIcon,
  TimeIcon: () => TimeIcon,
  TimerIcon: () => TimerIcon,
  TransferIcon: () => TransferIcon,
  TrashIcon: () => TrashIcon,
  TwitterIcon: () => TwitterIcon,
  TypeIcon: () => TypeIcon,
  UbuntuIcon: () => UbuntuIcon,
  UndoIcon: () => UndoIcon,
  UnfoldIcon: () => UnfoldIcon,
  UnlockIcon: () => UnlockIcon,
  UnpinIcon: () => UnpinIcon,
  UploadIcon: () => UploadIcon,
  UserAddIcon: () => UserAddIcon,
  UserAltIcon: () => UserAltIcon,
  UserIcon: () => UserIcon,
  UsersIcon: () => UsersIcon,
  VSCodeIcon: () => VSCodeIcon,
  VerifiedIcon: () => VerifiedIcon,
  VideoIcon: () => VideoIcon,
  WandIcon: () => WandIcon,
  WatchIcon: () => WatchIcon,
  WindowsIcon: () => WindowsIcon,
  WrenchIcon: () => WrenchIcon,
  XIcon: () => XIcon,
  YoutubeIcon: () => YoutubeIcon,
  ZoomIcon: () => ZoomIcon,
  ZoomOutIcon: () => ZoomOutIcon,
  ZoomResetIcon: () => ZoomResetIcon,
  iconList: () => iconList
});
var React251 = __toESM(require_react(), 1);
var iconList = [
  {
    name: "Images",
    icons: [
      "PhotoIcon",
      "ComponentIcon",
      "GridIcon",
      "OutlineIcon",
      "PhotoDragIcon",
      "PhotoStabilizeIcon",
      "CameraStabilizeIcon",
      "GridAltIcon",
      "SearchIcon",
      "ZoomIcon",
      "ZoomOutIcon",
      "ZoomResetIcon",
      "EyeIcon",
      "EyeCloseIcon",
      "LightningIcon",
      "LightningOffIcon",
      "MirrorIcon",
      "GrowIcon",
      "ContrastIcon",
      "SwitchAltIcon",
      "ContrastIgnoredIcon",
      "PaintBrushIcon",
      "PaintBrushAltIcon",
      "RulerIcon",
      "CameraIcon",
      "VideoIcon",
      "SpeakerIcon",
      "PlayIcon",
      "PlayBackIcon",
      "PlayNextIcon",
      "RewindIcon",
      "FastForwardIcon",
      "StopAltIcon",
      "SunIcon",
      "MoonIcon",
      "StopAltHollowIcon",
      "PlayHollowIcon",
      "PlayAllHollowIcon",
      "StopIcon",
      "SideBySideIcon",
      "StackedIcon"
    ]
  },
  {
    name: "Documents",
    icons: [
      "BookIcon",
      "DocumentIcon",
      "CopyIcon",
      "CategoryIcon",
      "FolderIcon",
      "PrintIcon",
      "GraphLineIcon",
      "CalendarIcon",
      "GraphBarIcon",
      "AlignLeftIcon",
      "AlignRightIcon",
      "FilterIcon",
      "DocChartIcon",
      "DocListIcon",
      "DragIcon",
      "MenuIcon"
    ]
  },
  {
    name: "Editing",
    icons: [
      "MarkupIcon",
      "BoldIcon",
      "ItalicIcon",
      "PaperClipIcon",
      "ListOrderedIcon",
      "ListUnorderedIcon",
      "ParagraphIcon",
      "MarkdownIcon"
    ]
  },
  {
    name: "Git",
    icons: [
      "RepoIcon",
      "CommitIcon",
      "BranchIcon",
      "PullRequestIcon",
      "MergeIcon"
    ]
  },
  {
    name: "OS",
    icons: [
      "AppleIcon",
      "LinuxIcon",
      "UbuntuIcon",
      "WindowsIcon",
      "ChromeIcon"
    ]
  },
  {
    name: "Logos",
    icons: [
      "StorybookIcon",
      "AzureDevOpsIcon",
      "BitbucketIcon",
      "ChromaticIcon",
      "ComponentDrivenIcon",
      "DiscordIcon",
      "FacebookIcon",
      "FigmaIcon",
      "GDriveIcon",
      "GithubIcon",
      "GitlabIcon",
      "GoogleIcon",
      "GraphqlIcon",
      "MediumIcon",
      "ReduxIcon",
      "TwitterIcon",
      "YoutubeIcon",
      "VSCodeIcon",
      "LinkedinIcon",
      "XIcon"
    ]
  },
  {
    name: "Devices",
    icons: [
      "BrowserIcon",
      "TabletIcon",
      "MobileIcon",
      "WatchIcon",
      "SidebarIcon",
      "SidebarAltIcon",
      "SidebarAltToggleIcon",
      "SidebarToggleIcon",
      "BottomBarIcon",
      "BottomBarToggleIcon",
      "CPUIcon",
      "DatabaseIcon",
      "MemoryIcon",
      "StructureIcon",
      "BoxIcon",
      "PowerIcon"
    ]
  },
  {
    name: "CRUD",
    icons: [
      "EditIcon",
      "CogIcon",
      "NutIcon",
      "WrenchIcon",
      "EllipsisIcon",
      "WandIcon",
      "SweepIcon",
      "CheckIcon",
      "FormIcon",
      "BatchDenyIcon",
      "BatchAcceptIcon",
      "ControlsIcon",
      "PlusIcon",
      "CloseAltIcon",
      "CrossIcon",
      "TrashIcon",
      "PinAltIcon",
      "UnpinIcon",
      "AddIcon",
      "SubtractIcon",
      "CloseIcon",
      "DeleteIcon",
      "PassedIcon",
      "ChangedIcon",
      "FailedIcon",
      "ClearIcon",
      "CommentIcon",
      "CommentAddIcon",
      "RequestChangeIcon",
      "CommentsIcon",
      "ChatIcon",
      "LockIcon",
      "UnlockIcon",
      "KeyIcon",
      "OutboxIcon",
      "CreditIcon",
      "ButtonIcon",
      "TypeIcon",
      "PointerDefaultIcon",
      "PointerHandIcon",
      "CommandIcon",
      "SaveIcon",
      "SortDownIcon",
      "SortUpIcon",
      "BugIcon",
      "EditorIcon"
    ]
  },
  {
    name: "Communicate",
    icons: [
      "InfoIcon",
      "QuestionIcon",
      "SupportIcon",
      "AlertIcon",
      "AlertAltIcon",
      "EmailIcon",
      "PhoneIcon",
      "LinkIcon",
      "LinkBrokenIcon",
      "BellIcon",
      "RSSIcon",
      "ShareAltIcon",
      "ShareIcon",
      "JumpToIcon",
      "CircleHollowIcon",
      "CircleIcon",
      "BookmarkHollowIcon",
      "BookmarkIcon",
      "DiamondIcon",
      "HeartHollowIcon",
      "HeartIcon",
      "StarHollowIcon",
      "StarIcon",
      "CertificateIcon",
      "VerifiedIcon",
      "ThumbsUpIcon",
      "ShieldIcon",
      "BasketIcon",
      "BeakerIcon",
      "HourglassIcon",
      "FlagIcon",
      "CloudHollowIcon",
      "CloudIcon",
      "StickerIcon",
      "StatusFailIcon",
      "StatusIcon",
      "StatusWarnIcon",
      "StatusPassIcon",
      "GiftIcon"
    ]
  },
  {
    name: "Wayfinding",
    icons: [
      "ChevronUpIcon",
      "ChevronDownIcon",
      "ChevronLeftIcon",
      "ChevronRightIcon",
      "ChevronSmallUpIcon",
      "ChevronSmallDownIcon",
      "ChevronSmallLeftIcon",
      "ChevronSmallRightIcon",
      "ArrowUpIcon",
      "ArrowDownIcon",
      "ArrowLeftIcon",
      "ArrowRightIcon",
      "ArrowTopLeftIcon",
      "ArrowTopRightIcon",
      "ArrowBottomLeftIcon",
      "ArrowBottomRightIcon",
      "ArrowSolidUpIcon",
      "ArrowSolidDownIcon",
      "ArrowSolidLeftIcon",
      "ArrowSolidRightIcon",
      "ExpandAltIcon",
      "CollapseIcon",
      "ExpandIcon",
      "UnfoldIcon",
      "TransferIcon",
      "RedirectIcon",
      "UndoIcon",
      "ReplyIcon",
      "SyncIcon",
      "UploadIcon",
      "DownloadIcon",
      "BackIcon",
      "ProceedIcon",
      "RefreshIcon",
      "GlobeIcon",
      "CompassIcon",
      "LocationIcon",
      "PinIcon",
      "TimeIcon",
      "DashboardIcon",
      "TimerIcon",
      "HomeIcon",
      "AdminIcon",
      "DirectionIcon"
    ]
  },
  {
    name: "People",
    icons: [
      "UserIcon",
      "UserAltIcon",
      "UserAddIcon",
      "UsersIcon",
      "ProfileIcon",
      "FaceHappyIcon",
      "FaceNeutralIcon",
      "FaceSadIcon",
      "AccessibilityIcon",
      "AccessibilityAltIcon",
      "AccessibilityIgnoredIcon"
    ]
  }
];
var PhotoIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M6.25 4.254a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0zm-.5 0a.75.75 0 11-1.5 0 .75.75 0 011.5 0z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M13 1.504v11a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11a.5.5 0 01.5-.5h11a.5.5 0 01.5.5zM2 9.297V2.004h10v5.293L9.854 5.15a.5.5 0 00-.708 0L6.5 7.797 5.354 6.65a.5.5 0 00-.708 0L2 9.297zM9.5 6.21l2.5 2.5v3.293H2V10.71l3-3 3.146 3.146a.5.5 0 00.708-.707L7.207 8.504 9.5 6.21z",
        fill: color2
      }
    )
  );
});
var ComponentIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3.5 1.004a2.5 2.5 0 00-2.5 2.5v7a2.5 2.5 0 002.5 2.5h7a2.5 2.5 0 002.5-2.5v-7a2.5 2.5 0 00-2.5-2.5h-7zm8.5 5.5H7.5v-4.5h3a1.5 1.5 0 011.5 1.5v3zm0 1v3a1.5 1.5 0 01-1.5 1.5h-3v-4.5H12zm-5.5 4.5v-4.5H2v3a1.5 1.5 0 001.5 1.5h3zM2 6.504h4.5v-4.5h-3a1.5 1.5 0 00-1.5 1.5v3z",
        fill: color2
      }
    )
  );
});
var GridIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1 1.504a.5.5 0 01.5-.5H6a.5.5 0 01.5.5v4.5a.5.5 0 01-.5.5H1.5a.5.5 0 01-.5-.5v-4.5zm1 4v-3.5h3.5v3.5H2zM7.5 1.504a.5.5 0 01.5-.5h4.5a.5.5 0 01.5.5v4.5a.5.5 0 01-.5.5H8a.5.5 0 01-.5-.5v-4.5zm1 4v-3.5H12v3.5H8.5zM1.5 7.504a.5.5 0 00-.5.5v4.5a.5.5 0 00.5.5H6a.5.5 0 00.5-.5v-4.5a.5.5 0 00-.5-.5H1.5zm.5 1v3.5h3.5v-3.5H2zM7.5 8.004a.5.5 0 01.5-.5h4.5a.5.5 0 01.5.5v4.5a.5.5 0 01-.5.5H8a.5.5 0 01-.5-.5v-4.5zm1 4v-3.5H12v3.5H8.5z",
        fill: color2
      }
    )
  );
});
var OutlineIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M2 2.004v2H1v-2.5a.5.5 0 01.5-.5H4v1H2zM1 9.004v-4h1v4H1zM1 10.004v2.5a.5.5 0 00.5.5H4v-1H2v-2H1zM10 13.004h2.5a.5.5 0 00.5-.5v-2.5h-1v2h-2v1zM12 4.004h1v-2.5a.5.5 0 00-.5-.5H10v1h2v2zM9 12.004v1H5v-1h4zM9 1.004v1H5v-1h4zM13 9.004h-1v-4h1v4zM7 8.004a1 1 0 100-2 1 1 0 000 2z",
        fill: color2
      }
    )
  );
});
var PhotoDragIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M8.25 3.254a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0zm-.5 0a.75.75 0 11-1.5 0 .75.75 0 011.5 0z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7.003v-6.5a.5.5 0 00-.5-.5h-10a.5.5 0 00-.5.5v2.5H.5a.5.5 0 00-.5.5v2.5h1v-2h2v6.5a.5.5 0 00.5.5H10v2H8v1h2.5a.5.5 0 00.5-.5v-2.5h2.5a.5.5 0 00.5-.5v-3.5zm-10-6v5.794L5.646 5.15a.5.5 0 01.708 0L7.5 6.297l2.646-2.647a.5.5 0 01.708 0L13 5.797V1.004H4zm9 6.208l-2.5-2.5-2.293 2.293L9.354 8.15a.5.5 0 11-.708.707L6 6.211l-2 2v1.793h9V7.21z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M0 10.004v-3h1v3H0zM0 13.504v-2.5h1v2h2v1H.5a.5.5 0 01-.5-.5zM7 14.004H4v-1h3v1z",
        fill: color2
      }
    )
  );
});
var PhotoStabilizeIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M6 4a1.25 1.25 0 110 2.5A1.25 1.25 0 016 4zm0 .5A.75.75 0 106 6a.75.75 0 000-1.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M11.5 2a.5.5 0 01.5.5v9a.5.5 0 01-.5.5h-9a.5.5 0 01-.5-.5v-9a.5.5 0 01.5-.5h9zM7.207 9l.647.646a.5.5 0 01-.708.707L5 8.207l-2 2V11h8V8.207l-1.5-1.5L7.207 9zM3 8.793l1.646-1.647.079-.064a.5.5 0 01.629.064L6.5 8.293l2.646-2.647.079-.064a.5.5 0 01.629.064L11 6.793V3H3v5.793z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M0 3.5v-1A2.5 2.5 0 012.5 0h1a.5.5 0 010 1h-1A1.5 1.5 0 001 2.5v1a.5.5 0 01-1 0zM10.5 0h1A2.5 2.5 0 0114 2.5v1a.5.5 0 01-1 0v-1A1.5 1.5 0 0011.5 1h-1a.5.5 0 010-1zM0 10.5v1A2.5 2.5 0 002.5 14h1a.5.5 0 000-1h-1A1.5 1.5 0 011 11.5v-1a.5.5 0 00-1 0zM10.5 14h1a2.5 2.5 0 002.5-2.5v-1a.5.5 0 00-1 0v1a1.5 1.5 0 01-1.5 1.5h-1a.5.5 0 000 1z",
        fill: color2
      }
    )
  );
});
var CameraStabilizeIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("g", { clipPath: "url(#prefix__clip0_2484_400)", fill: color2 }, React251.createElement("path", { d: "M2.5 1A1.5 1.5 0 001 2.5v1a.5.5 0 01-1 0v-1A2.5 2.5 0 012.5 0h1a.5.5 0 010 1h-1zM8 7a1 1 0 11-2 0 1 1 0 012 0z" }), React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M5.852 2.223A.5.5 0 016.268 2h1.464a.5.5 0 01.416.223L9.333 4H11.5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-9a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5h2.167l1.185-1.777zM9 7a2 2 0 11-4 0 2 2 0 014 0z"
      }
    ), React251.createElement("path", { d: "M11.5 1A1.5 1.5 0 0113 2.5v1a.5.5 0 001 0v-1A2.5 2.5 0 0011.5 0h-1a.5.5 0 000 1h1zM2.5 13A1.5 1.5 0 011 11.5v-1a.5.5 0 00-1 0v1A2.5 2.5 0 002.5 14h1a.5.5 0 000-1h-1zM11.5 13a1.5 1.5 0 001.5-1.5v-1a.5.5 0 011 0v1a2.5 2.5 0 01-2.5 2.5h-1a.5.5 0 010-1h1z" })),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_2484_400" }, React251.createElement("path", { fill: "#fff", d: "M0 0h14v14H0z" })))
  );
});
var GridAltIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M4 3V1h1v2H4zM4 6v2h1V6H4zM4 11v2h1v-2H4zM9 11v2h1v-2H9zM9 8V6h1v2H9zM9 1v2h1V1H9zM13 5h-2V4h2v1zM11 10h2V9h-2v1zM3 10H1V9h2v1zM1 5h2V4H1v1zM8 5H6V4h2v1zM6 10h2V9H6v1zM4 4h1v1H4V4zM10 4H9v1h1V4zM9 9h1v1H9V9zM5 9H4v1h1V9z",
        fill: color2
      }
    )
  );
});
var SearchIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M9.544 10.206a5.5 5.5 0 11.662-.662.5.5 0 01.148.102l3 3a.5.5 0 01-.708.708l-3-3a.5.5 0 01-.102-.148zM10.5 6a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0z",
        fill: color2
      }
    )
  );
});
var ZoomIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M6 3.5a.5.5 0 01.5.5v1.5H8a.5.5 0 010 1H6.5V8a.5.5 0 01-1 0V6.5H4a.5.5 0 010-1h1.5V4a.5.5 0 01.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M9.544 10.206a5.5 5.5 0 11.662-.662.5.5 0 01.148.102l3 3a.5.5 0 01-.708.708l-3-3a.5.5 0 01-.102-.148zM10.5 6a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0z",
        fill: color2
      }
    )
  );
});
var ZoomOutIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("path", { d: "M4 5.5a.5.5 0 000 1h4a.5.5 0 000-1H4z", fill: color2 }),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M6 11.5c1.35 0 2.587-.487 3.544-1.294a.5.5 0 00.102.148l3 3a.5.5 0 00.708-.708l-3-3a.5.5 0 00-.148-.102A5.5 5.5 0 106 11.5zm0-1a4.5 4.5 0 100-9 4.5 4.5 0 000 9z",
        fill: color2
      }
    )
  );
});
var ZoomResetIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.5 2.837V1.5a.5.5 0 00-1 0V4a.5.5 0 00.5.5h2.5a.5.5 0 000-1H2.258a4.5 4.5 0 11-.496 4.016.5.5 0 10-.942.337 5.502 5.502 0 008.724 2.353.5.5 0 00.102.148l3 3a.5.5 0 00.708-.708l-3-3a.5.5 0 00-.148-.102A5.5 5.5 0 101.5 2.837z",
        fill: color2
      }
    )
  );
});
var EyeIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("path", { d: "M7 9.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z", fill: color2 }),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7l-.21.293C13.669 7.465 10.739 11.5 7 11.5S.332 7.465.21 7.293L0 7l.21-.293C.331 6.536 3.261 2.5 7 2.5s6.668 4.036 6.79 4.207L14 7zM2.896 5.302A12.725 12.725 0 001.245 7c.296.37.874 1.04 1.65 1.698C4.043 9.67 5.482 10.5 7 10.5c1.518 0 2.958-.83 4.104-1.802A12.72 12.72 0 0012.755 7c-.297-.37-.875-1.04-1.65-1.698C9.957 4.33 8.517 3.5 7 3.5c-1.519 0-2.958.83-4.104 1.802z",
        fill: color2
      }
    )
  );
});
var EyeCloseIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.854 1.146a.5.5 0 10-.708.708l11 11a.5.5 0 00.708-.708l-11-11zM11.104 8.698c-.177.15-.362.298-.553.439l.714.714a13.25 13.25 0 002.526-2.558L14 7l-.21-.293C13.669 6.536 10.739 2.5 7 2.5c-.89 0-1.735.229-2.506.58l.764.763A4.859 4.859 0 017 3.5c1.518 0 2.958.83 4.104 1.802A12.724 12.724 0 0112.755 7a12.72 12.72 0 01-1.65 1.698zM.21 6.707c.069-.096 1.03-1.42 2.525-2.558l.714.714c-.191.141-.376.288-.553.439A12.725 12.725 0 001.245 7c.296.37.874 1.04 1.65 1.698C4.043 9.67 5.482 10.5 7 10.5a4.86 4.86 0 001.742-.344l.764.764c-.772.351-1.616.58-2.506.58C3.262 11.5.332 7.465.21 7.293L0 7l.21-.293z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M4.5 7c0-.322.061-.63.172-.914l3.242 3.242A2.5 2.5 0 014.5 7zM9.328 7.914L6.086 4.672a2.5 2.5 0 013.241 3.241z",
        fill: color2
      }
    )
  );
});
var LightningIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M2.522 6.6a.566.566 0 00-.176.544.534.534 0 00.382.41l2.781.721-1.493 5.013a.563.563 0 00.216.627.496.496 0 00.63-.06l6.637-6.453a.568.568 0 00.151-.54.534.534 0 00-.377-.396l-2.705-.708 2.22-4.976a.568.568 0 00-.15-.666.497.497 0 00-.648.008L2.522 6.6zm7.72.63l-3.067-.804L9.02 2.29 3.814 6.803l2.95.764-1.277 4.285 4.754-4.622zM4.51 13.435l.037.011-.037-.011z",
        fill: color2
      }
    )
  );
});
var LightningOffIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M10.139 8.725l1.36-1.323a.568.568 0 00.151-.54.534.534 0 00-.377-.396l-2.705-.708 2.22-4.976a.568.568 0 00-.15-.666.497.497 0 00-.648.008L5.464 4.05l.708.71 2.848-2.47-1.64 3.677.697.697 2.164.567-.81.787.708.708zM2.523 6.6a.566.566 0 00-.177.544.534.534 0 00.382.41l2.782.721-1.494 5.013a.563.563 0 00.217.627.496.496 0 00.629-.06l3.843-3.736-.708-.707-2.51 2.44 1.137-3.814-.685-.685-2.125-.55.844-.731-.71-.71L2.524 6.6zM1.854 1.146a.5.5 0 10-.708.708l11 11a.5.5 0 00.708-.708l-11-11z",
        fill: color2
      }
    )
  );
});
var MirrorIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1 1.504a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v11a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11zm1 10.5h10v-10l-10 10z",
        fill: color2
      }
    )
  );
});
var GrowIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.5 1.004a.5.5 0 100 1H12v10.5a.5.5 0 001 0v-10.5a1 1 0 00-1-1H1.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M1 3.504a.5.5 0 01.5-.5H10a1 1 0 011 1v8.5a.5.5 0 01-1 0v-8.5H1.5a.5.5 0 01-.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1.5 5.004a.5.5 0 00-.5.5v7a.5.5 0 00.5.5h7a.5.5 0 00.5-.5v-7a.5.5 0 00-.5-.5h-7zm.5 1v6h6v-6H2z",
        fill: color2
      }
    )
  );
});
var ContrastIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3 3.004H.5a.5.5 0 00-.5.5v10a.5.5 0 00.5.5h10a.5.5 0 00.5-.5v-2.5h2.5a.5.5 0 00.5-.5v-10a.5.5 0 00-.5-.5h-10a.5.5 0 00-.5.5v2.5zm1 1v2.293l2.293-2.293H4zm-1 0v6.5a.499.499 0 00.497.5H10v2H1v-9h2zm1-1h6.5a.499.499 0 01.5.5v6.5h2v-9H4v2zm6 7V7.71l-2.293 2.293H10zm0-3.707V4.71l-5.293 5.293h1.586L10 6.297zm-.707-2.293H7.707L4 7.71v1.586l5.293-5.293z",
        fill: color2
      }
    )
  );
});
var SwitchAltIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3 3.004v-2.5a.5.5 0 01.5-.5h10a.5.5 0 01.5.5v10a.5.5 0 01-.5.5H11v2.5a.5.5 0 01-.5.5H.5a.5.5 0 01-.5-.5v-10a.5.5 0 01.5-.5H3zm1 0v-2h9v9h-2v-6.5a.5.5 0 00-.5-.5H4zm6 8v2H1v-9h2v6.5a.5.5 0 00.5.5H10zm0-1H4v-6h6v6z",
        fill: color2
      }
    )
  );
});
var ContrastIgnoredIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "g",
      {
        clipPath: "url(#prefix__clip0_2359_559)",
        fillRule: "evenodd",
        clipRule: "evenodd",
        fill: color2
      },
      React251.createElement("path", { d: "M3 3.004H.5a.5.5 0 00-.5.5v10a.5.5 0 00.5.5h7.176a4.526 4.526 0 01-.916-1H1v-9h2v6.5a.499.499 0 00.497.5h2.531a4.548 4.548 0 01-.001-1h-1.32l2.16-2.16c.274-.374.603-.703.977-.977L10 4.711v1.316a4.552 4.552 0 011 0V3.504a.48.48 0 00-.038-.191.5.5 0 00-.462-.31H4v-2h9v5.755c.378.253.715.561 1 .913V.504a.5.5 0 00-.5-.5h-10a.5.5 0 00-.5.5v2.5zm1 1v2.293l2.293-2.293H4zm5.293 0H7.707L4 7.71v1.586l5.293-5.293z" }),
      React251.createElement("path", { d: "M14 10.5a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm-5.5 0A.5.5 0 019 10h3a.5.5 0 010 1H9a.5.5 0 01-.5-.5z" })
    ),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_2359_559" }, React251.createElement("path", { fill: "#fff", d: "M0 0h14v14H0z" })))
  );
});
var PaintBrushIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M11.854.146a.5.5 0 00-.708 0L2.983 8.31a2.24 2.24 0 00-1.074.6C.677 10.14.24 11.902.085 12.997 0 13.6 0 14 0 14s.4 0 1.002-.085c1.095-.155 2.857-.592 4.089-1.824a2.24 2.24 0 00.6-1.074l8.163-8.163a.5.5 0 000-.708l-2-2zM5.6 9.692l.942-.942L5.25 7.457l-.942.943A2.242 2.242 0 015.6 9.692zm1.649-1.65L12.793 2.5 11.5 1.207 5.957 6.75 7.25 8.043zM4.384 9.617a1.25 1.25 0 010 1.768c-.767.766-1.832 1.185-2.78 1.403-.17.04-.335.072-.49.098.027-.154.06-.318.099-.49.219-.947.637-2.012 1.403-2.779a1.25 1.25 0 011.768 0z",
        fill: color2
      }
    )
  );
});
var PaintBrushAltIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M10.027.271a.752.752 0 01.947 0l.057.052 2.646 2.647.052.056a.752.752 0 010 .948l-.052.056-4.47 4.47 1.147 1.146.293-.293a.5.5 0 01.707 0l2.293 2.293a.5.5 0 010 .707l-1.293 1.293-.078.065a.502.502 0 01-.55 0l-.08-.065-2.292-2.293a.5.5 0 010-.707l.293-.293L8.324 9.03a.75.75 0 010-1.06l4.47-4.47L10.5 1.207l-.647.646.086.086a1.5 1.5 0 010 2.122L4.5 9.5l-.177.183C2.592 11.53 4 12.03 4 13a1 1 0 01-2 0c0-1 1.464-1.537 0-3l.003-.004-.063-.057-.879-.879a1.5 1.5 0 01-.103-2.006l.103-.115L6.94 1.061a1.5 1.5 0 012.121 0l.086.085.823-.823.057-.052zM10.415 11L12 12.586l.585-.586-1.585-1.586-.586.586zM8.354 1.768a.5.5 0 00-.629-.064l-.078.064L2.32 7.094c.782.138 2.263-.097 3.52-.349l3.393-3.392.063-.078a.501.501 0 000-.55l-.063-.079-.879-.878z",
        fill: color2
      }
    )
  );
});
var RulerIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.5 1.004a.5.5 0 01.5.5v.5h10v-.5a.5.5 0 011 0v2a.5.5 0 01-1 0v-.5H2v.5a.5.5 0 01-1 0v-2a.5.5 0 01.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1.5 6a.5.5 0 00-.5.5v6a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-6a.5.5 0 00-.5-.5h-11zM2 7v5h10V7h-1v2.5a.5.5 0 01-1 0V7h-.75v1a.5.5 0 01-1 0V7H7.5v2.5a.5.5 0 01-1 0V7h-.75v1a.5.5 0 01-1 0V7H4v2.5a.5.5 0 01-1 0V7H2z",
        fill: color2
      }
    )
  );
});
var CameraIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M10 7a3 3 0 11-6 0 3 3 0 016 0zM9 7a2 2 0 11-4 0 2 2 0 014 0z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M2.5 1a.5.5 0 00-.5.5v.504H.5a.5.5 0 00-.5.5v9a.5.5 0 00.5.5h13a.5.5 0 00.5-.5v-9a.5.5 0 00-.5-.5H6V1.5a.5.5 0 00-.5-.5h-3zM1 3.004v8h12v-8H1z",
        fill: color2
      }
    )
  );
});
var VideoIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("path", { d: "M2.5 10a.5.5 0 100-1 .5.5 0 000 1z", fill: color2 }),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M0 4a2 2 0 012-2h6a2 2 0 012 2v.5l3.189-2.391A.5.5 0 0114 2.5v9a.5.5 0 01-.804.397L10 9.5v.5a2 2 0 01-2 2H2a2 2 0 01-2-2V4zm9 0v1.5a.5.5 0 00.8.4L13 3.5v7L9.8 8.1a.5.5 0 00-.8.4V10a1 1 0 01-1 1H2a1 1 0 01-1-1V4a1 1 0 011-1h6a1 1 0 011 1z",
        fill: color2
      }
    )
  );
});
var SpeakerIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1 4.5v5a.5.5 0 00.5.5H4l3.17 2.775a.5.5 0 00.83-.377V1.602a.5.5 0 00-.83-.376L4 4H1.5a.5.5 0 00-.5.5zM4 9V5H2v4h2zm.998.545A.504.504 0 005 9.5v-5c0-.015 0-.03-.002-.044L7 2.704v8.592L4.998 9.545z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M10.15 1.752a.5.5 0 00-.3.954 4.502 4.502 0 010 8.588.5.5 0 00.3.954 5.502 5.502 0 000-10.496z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M10.25 3.969a.5.5 0 00-.5.865 2.499 2.499 0 010 4.332.5.5 0 10.5.866 3.499 3.499 0 000-6.063z",
        fill: color2
      }
    )
  );
});
var PlayIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M12.813 7.425l-9.05 5.603A.5.5 0 013 12.603V1.398a.5.5 0 01.763-.425l9.05 5.602a.5.5 0 010 .85z",
        fill: color2
      }
    )
  );
});
var PlayBackIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M11.24 12.035L3.697 7.427A.494.494 0 013.5 7.2v4.05a.75.75 0 01-1.5 0v-8.5a.75.75 0 011.5 0V6.8a.494.494 0 01.198-.227l7.541-4.608A.5.5 0 0112 2.39v9.217a.5.5 0 01-.76.427z",
        fill: color2
      }
    )
  );
});
var PlayNextIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M2.76 12.035l7.542-4.608A.495.495 0 0010.5 7.2v4.05a.75.75 0 001.5 0v-8.5a.75.75 0 00-1.5 0V6.8a.495.495 0 00-.198-.227L2.76 1.965A.5.5 0 002 2.39v9.217a.5.5 0 00.76.427z",
        fill: color2
      }
    )
  );
});
var RewindIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M9 2.42v2.315l4.228-2.736a.5.5 0 01.772.42v9.162a.5.5 0 01-.772.42L9 9.263v2.317a.5.5 0 01-.772.42L1.5 7.647v3.603a.75.75 0 01-1.5 0v-8.5a.75.75 0 011.5 0v3.603L8.228 2A.5.5 0 019 2.42z",
        fill: color2
      }
    )
  );
});
var FastForwardIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5 2.42v2.315L.772 1.999a.5.5 0 00-.772.42v9.162a.5.5 0 00.772.42L5 9.263v2.317a.5.5 0 00.772.42L12.5 7.647v3.603a.75.75 0 001.5 0v-8.5a.75.75 0 00-1.5 0v3.603L5.772 2A.5.5 0 005 2.42z",
        fill: color2
      }
    )
  );
});
var StopAltIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1 1.504a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v11a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11z",
        fill: color2
      }
    )
  );
});
var SunIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("g", { clipPath: "url(#prefix__clip0_1107_3492)", fill: color2 }, React251.createElement("path", { d: "M7.5.5a.5.5 0 00-1 0V2a.5.5 0 001 0V.5z" }), React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 10a3 3 0 100-6 3 3 0 000 6zm0-1a2 2 0 100-4 2 2 0 000 4z"
      }
    ), React251.createElement("path", { d: "M7 11.5a.5.5 0 01.5.5v1.5a.5.5 0 01-1 0V12a.5.5 0 01.5-.5zM11.5 7a.5.5 0 01.5-.5h1.5a.5.5 0 010 1H12a.5.5 0 01-.5-.5zM.5 6.5a.5.5 0 000 1H2a.5.5 0 000-1H.5zM3.818 10.182a.5.5 0 010 .707l-1.06 1.06a.5.5 0 11-.708-.706l1.06-1.06a.5.5 0 01.708 0zM11.95 2.757a.5.5 0 10-.707-.707l-1.061 1.061a.5.5 0 10.707.707l1.06-1.06zM10.182 10.182a.5.5 0 01.707 0l1.06 1.06a.5.5 0 11-.706.708l-1.061-1.06a.5.5 0 010-.708zM2.757 2.05a.5.5 0 10-.707.707l1.06 1.061a.5.5 0 00.708-.707l-1.06-1.06z" })),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_1107_3492" }, React251.createElement("path", { fill: "#fff", d: "M0 0h14v14H0z" })))
  );
});
var MoonIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 15 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("g", { clipPath: "url(#prefix__clip0_1107_3493)" }, React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M8.335.047l-.15-.015a7.499 7.499 0 106.14 10.577c.103-.229-.156-.447-.386-.346a5.393 5.393 0 01-.771.27A5.356 5.356 0 019.153.691C9.37.568 9.352.23 9.106.175a7.545 7.545 0 00-.77-.128zM6.977 1.092a6.427 6.427 0 005.336 10.671A6.427 6.427 0 116.977 1.092z",
        fill: color2
      }
    )),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_1107_3493" }, React251.createElement(
      "path",
      {
        fill: "#fff",
        transform: "scale(1.07124)",
        d: "M0 0h14.001v14.002H0z"
      }
    )))
  );
});
var StopAltHollowIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M2.2 2.204v9.6h9.6v-9.6H2.2zm-.7-1.2a.5.5 0 00-.5.5v11a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-11a.5.5 0 00-.5-.5h-11z",
        fill: color2
      }
    )
  );
});
var PlayHollowIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M4.2 10.88L10.668 7 4.2 3.12v7.76zM3 2.414v9.174a.8.8 0 001.212.686l7.645-4.587a.8.8 0 000-1.372L4.212 1.727A.8.8 0 003 2.413z",
        fill: color2
      }
    )
  );
});
var PlayAllHollowIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M5.2 10.88L11.668 7 5.2 3.12v7.76zM4 2.414v9.174a.8.8 0 001.212.686l7.645-4.587a.8.8 0 000-1.372L5.212 1.727A.8.8 0 004 2.413zM1.5 1.6a.6.6 0 01.6.6v9.6a.6.6 0 11-1.2 0V2.2a.6.6 0 01.6-.6z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M.963 1.932a.6.6 0 01.805-.268l1 .5a.6.6 0 01-.536 1.073l-1-.5a.6.6 0 01-.269-.805zM3.037 11.132a.6.6 0 01-.269.805l-1 .5a.6.6 0 01-.536-1.073l1-.5a.6.6 0 01.805.268z",
        fill: color2
      }
    )
  );
});
var StopIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M4.5 4a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h5a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5h-5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 110 7a7 7 0 0114 0zm-1 0A6 6 0 111 7a6 6 0 0112 0z",
        fill: color2
      }
    )
  );
});
var SideBySideIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1 1.504a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v11a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11zm1 10.5v-10h5v10H2z",
        fill: color2
      }
    )
  );
});
var StackedIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M12.5 1.004a.5.5 0 01.5.5v11a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11a.5.5 0 01.5-.5h11zm-10.5 1h10v5H2v-5z",
        fill: color2
      }
    )
  );
});
var BookIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M13 2a2 2 0 00-2-2H1.5a.5.5 0 00-.5.5v13a.5.5 0 00.5.5H11a2 2 0 002-2V2zM3 13h8a1 1 0 001-1V2a1 1 0 00-1-1H7v6.004a.5.5 0 01-.856.352l-.002-.002L5.5 6.71l-.645.647A.5.5 0 014 7.009V1H3v12zM5 1v4.793l.146-.146a.5.5 0 01.743.039l.111.11V1H5z",
        fill: color2
      }
    )
  );
});
var DocumentIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M4 5.5a.5.5 0 01.5-.5h5a.5.5 0 010 1h-5a.5.5 0 01-.5-.5zM4.5 7.5a.5.5 0 000 1h5a.5.5 0 000-1h-5zM4 10.5a.5.5 0 01.5-.5h5a.5.5 0 010 1h-5a.5.5 0 01-.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1.5 0a.5.5 0 00-.5.5v13a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V3.207a.5.5 0 00-.146-.353L10.146.146A.5.5 0 009.793 0H1.5zM2 1h7.5v2a.5.5 0 00.5.5h2V13H2V1z",
        fill: color2
      }
    )
  );
});
var CopyIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M11.746.07A.5.5 0 0011.5.003h-6a.5.5 0 00-.5.5v2.5H.5a.5.5 0 00-.5.5v10a.5.5 0 00.5.5h8a.5.5 0 00.5-.5v-2.5h4.5a.5.5 0 00.5-.5v-8a.498.498 0 00-.15-.357L11.857.154a.506.506 0 00-.11-.085zM9 10.003h4v-7h-1.5a.5.5 0 01-.5-.5v-1.5H6v2h.5a.5.5 0 01.357.15L8.85 5.147c.093.09.15.217.15.357v4.5zm-8-6v9h7v-7H6.5a.5.5 0 01-.5-.5v-1.5H1z",
        fill: color2
      }
    )
  );
});
var CategoryIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M3 1.5a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7a.5.5 0 01-.5-.5zM2 3.504a.5.5 0 01.5-.5h9a.5.5 0 010 1h-9a.5.5 0 01-.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1 5.5a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v7a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-7zM2 12V6h10v6H2z",
        fill: color2
      }
    )
  );
});
var FolderIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M6.586 3.504l-1.5-1.5H1v9h12v-7.5H6.586zm.414-1L5.793 1.297a1 1 0 00-.707-.293H.5a.5.5 0 00-.5.5v10a.5.5 0 00.5.5h13a.5.5 0 00.5-.5v-8.5a.5.5 0 00-.5-.5H7z",
        fill: color2
      }
    )
  );
});
var PrintIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M4.5 8.004a.5.5 0 100 1h5a.5.5 0 000-1h-5zM4.5 10.004a.5.5 0 000 1h5a.5.5 0 000-1h-5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M2 1.504a.5.5 0 01.5-.5h8a.498.498 0 01.357.15l.993.993c.093.09.15.217.15.357v1.5h1.5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5H12v2.5a.5.5 0 01-.5.5h-9a.5.5 0 01-.5-.5v-2.5H.5a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5H2v-2.5zm11 7.5h-1v-2.5a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v2.5H1v-4h12v4zm-2-6v1H3v-2h7v.5a.5.5 0 00.5.5h.5zm-8 9h8v-5H3v5z",
        fill: color2
      }
    )
  );
});
var GraphLineIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5.146 6.15a.5.5 0 01.708 0L7 7.297 9.146 5.15a.5.5 0 01.708 0l1 1a.5.5 0 01-.708.707L9.5 6.211 7.354 8.357a.5.5 0 01-.708 0L5.5 7.211 3.854 8.857a.5.5 0 11-.708-.707l2-2z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1.5 1.004a.5.5 0 00-.5.5v11a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-11a.5.5 0 00-.5-.5h-11zm.5 1v10h10v-10H2z",
        fill: color2
      }
    )
  );
});
var CalendarIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3.5 0a.5.5 0 01.5.5V1h6V.5a.5.5 0 011 0V1h1.5a.5.5 0 01.5.5v11a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11a.5.5 0 01.5-.5H3V.5a.5.5 0 01.5-.5zM2 4v2.3h3V4H2zm0 5.2V6.8h3v2.4H2zm0 .5V12h3V9.7H2zm3.5 0V12h3V9.7h-3zm3.5 0V12h3V9.7H9zm3-.5H9V6.8h3v2.4zm-3.5 0h-3V6.8h3v2.4zM9 4v2.3h3V4H9zM5.5 6.3h3V4h-3v2.3z",
        fill: color2
      }
    )
  );
});
var GraphBarIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M12 2.5a.5.5 0 00-1 0v10a.5.5 0 001 0v-10zM9 4.5a.5.5 0 00-1 0v8a.5.5 0 001 0v-8zM5.5 7a.5.5 0 01.5.5v5a.5.5 0 01-1 0v-5a.5.5 0 01.5-.5zM3 10.5a.5.5 0 00-1 0v2a.5.5 0 001 0v-2z",
        fill: color2
      }
    )
  );
});
var AlignLeftIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M13 2a.5.5 0 010 1H1a.5.5 0 010-1h12zM10 5a.5.5 0 010 1H1a.5.5 0 010-1h9zM11.5 8.5A.5.5 0 0011 8H1a.5.5 0 000 1h10a.5.5 0 00.5-.5zM7.5 11a.5.5 0 010 1H1a.5.5 0 010-1h6.5z",
        fill: color2
      }
    )
  );
});
var AlignRightIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1 2a.5.5 0 000 1h12a.5.5 0 000-1H1zM4 5a.5.5 0 000 1h9a.5.5 0 000-1H4zM2.5 8.5A.5.5 0 013 8h10a.5.5 0 010 1H3a.5.5 0 01-.5-.5zM6.5 11a.5.5 0 000 1H13a.5.5 0 000-1H6.5z",
        fill: color2
      }
    )
  );
});
var FilterIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1 2a.5.5 0 000 1h12a.5.5 0 000-1H1zM3 5a.5.5 0 000 1h8a.5.5 0 000-1H3zM4.5 8.5A.5.5 0 015 8h4a.5.5 0 010 1H5a.5.5 0 01-.5-.5zM6.5 11a.5.5 0 000 1h1a.5.5 0 000-1h-1z",
        fill: color2
      }
    )
  );
});
var DocChartIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1 1.5a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v11a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11zM2 4v2.3h3V4H2zm0 5.2V6.8h3v2.4H2zm0 .5V12h3V9.7H2zm3.5 0V12h3V9.7h-3zm3.5 0V12h3V9.7H9zm3-.5H9V6.8h3v2.4zm-3.5 0h-3V6.8h3v2.4zM9 6.3h3V4H9v2.3zm-3.5 0h3V4h-3v2.3z",
        fill: color2
      }
    )
  );
});
var DocListIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M3.5 6.5A.5.5 0 014 6h6a.5.5 0 010 1H4a.5.5 0 01-.5-.5zM4 9a.5.5 0 000 1h6a.5.5 0 000-1H4z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1 1.5a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v11a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11zM2 4v8h10V4H2z",
        fill: color2
      }
    )
  );
});
var DragIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M13 4a.5.5 0 010 1H1a.5.5 0 010-1h12zM13.5 9.5A.5.5 0 0013 9H1a.5.5 0 000 1h12a.5.5 0 00.5-.5z",
        fill: color2
      }
    )
  );
});
var MenuIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M13 3.5a.5.5 0 010 1H1a.5.5 0 010-1h12zM13.5 10a.5.5 0 00-.5-.5H1a.5.5 0 000 1h12a.5.5 0 00.5-.5zM13 6.5a.5.5 0 010 1H1a.5.5 0 010-1h12z",
        fill: color2
      }
    )
  );
});
var MarkupIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M8.982 1.632a.5.5 0 00-.964-.263l-3 11a.5.5 0 10.964.263l3-11zM3.32 3.616a.5.5 0 01.064.704L1.151 7l2.233 2.68a.5.5 0 11-.768.64l-2.5-3a.5.5 0 010-.64l2.5-3a.5.5 0 01.704-.064zM10.68 3.616a.5.5 0 00-.064.704L12.849 7l-2.233 2.68a.5.5 0 00.768.64l2.5-3a.5.5 0 000-.64l-2.5-3a.5.5 0 00-.704-.064z",
        fill: color2
      }
    )
  );
});
var BoldIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3 2v1.5h1v7H3V12h5a3 3 0 001.791-5.407A2.75 2.75 0 008 2.011V2H3zm5 5.5H5.5v3H8a1.5 1.5 0 100-3zm-.25-4H5.5V6h2.25a1.25 1.25 0 100-2.5z",
        fill: color2
      }
    )
  );
});
var ItalicIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("path", { d: "M5 2h6v1H8.5l-2 8H9v1H3v-1h2.5l2-8H5V2z", fill: color2 })
  );
});
var PaperClipIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M10.553 2.268a1.5 1.5 0 00-2.12 0L2.774 7.925a2.5 2.5 0 003.536 3.535l3.535-3.535a.5.5 0 11.707.707l-3.535 3.536-.002.002a3.5 3.5 0 01-4.959-4.941l.011-.011L7.725 1.56l.007-.008a2.5 2.5 0 013.53 3.541l-.002.002-5.656 5.657-.003.003a1.5 1.5 0 01-2.119-2.124l3.536-3.536a.5.5 0 11.707.707L4.189 9.34a.5.5 0 00.707.707l5.657-5.657a1.5 1.5 0 000-2.121z",
        fill: color2
      }
    )
  );
});
var ListOrderedIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5 2.5a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7a.5.5 0 01-.5-.5zM5 7a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7A.5.5 0 015 7zM5.5 11a.5.5 0 000 1h7a.5.5 0 000-1h-7zM2.5 2H1v1h1v3h1V2.5a.5.5 0 00-.5-.5zM3 8.5v1a.5.5 0 01-1 0V9h-.5a.5.5 0 010-1h1a.5.5 0 01.5.5zM2 10.5a.5.5 0 00-1 0V12h2v-1H2v-.5z",
        fill: color2
      }
    )
  );
});
var ListUnorderedIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M2.75 2.5a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM5.5 2a.5.5 0 000 1h7a.5.5 0 000-1h-7zM5.5 11a.5.5 0 000 1h7a.5.5 0 000-1h-7zM2 12.25a.75.75 0 100-1.5.75.75 0 000 1.5zM5 7a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7A.5.5 0 015 7zM2 7.75a.75.75 0 100-1.5.75.75 0 000 1.5z",
        fill: color2
      }
    )
  );
});
var ParagraphIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M6 7a3 3 0 110-6h5.5a.5.5 0 010 1H10v10.5a.5.5 0 01-1 0V2H7v10.5a.5.5 0 01-1 0V7z",
        fill: color2
      }
    )
  );
});
var MarkdownIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M2 4.5h1.5L5 6.375 6.5 4.5H8v5H6.5V7L5 8.875 3.5 7v2.5H2v-5zM9.75 4.5h1.5V7h1.25l-2 2.5-2-2.5h1.25V4.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M.5 2a.5.5 0 00-.5.5v9a.5.5 0 00.5.5h13a.5.5 0 00.5-.5v-9a.5.5 0 00-.5-.5H.5zM1 3v8h12V3H1z",
        fill: color2
      }
    )
  );
});
var RepoIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5 2.5a.5.5 0 11-1 0 .5.5 0 011 0zM4.5 5a.5.5 0 100-1 .5.5 0 000 1zM5 6.5a.5.5 0 11-1 0 .5.5 0 011 0z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M11 0a2 2 0 012 2v10a2 2 0 01-2 2H1.5a.5.5 0 01-.5-.5V.5a.5.5 0 01.5-.5H11zm0 1H3v12h8a1 1 0 001-1V2a1 1 0 00-1-1z",
        fill: color2
      }
    )
  );
});
var CommitIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3.031 7.5a4 4 0 007.938 0H13.5a.5.5 0 000-1h-2.53a4 4 0 00-7.94 0H.501a.5.5 0 000 1h2.531zM7 10a3 3 0 100-6 3 3 0 000 6z",
        fill: color2
      }
    )
  );
});
var BranchIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M6 2.5a1.5 1.5 0 01-1 1.415v4.053C5.554 7.4 6.367 7 7.5 7c.89 0 1.453-.252 1.812-.557.218-.184.374-.4.482-.62a1.5 1.5 0 111.026.143c-.155.423-.425.87-.86 1.24C9.394 7.685 8.59 8 7.5 8c-1.037 0-1.637.42-1.994.917a2.81 2.81 0 00-.472 1.18A1.5 1.5 0 114 10.086v-6.17A1.5 1.5 0 116 2.5zm-2 9a.5.5 0 111 0 .5.5 0 01-1 0zm1-9a.5.5 0 11-1 0 .5.5 0 011 0zm6 2a.5.5 0 11-1 0 .5.5 0 011 0z",
        fill: color2
      }
    )
  );
});
var PullRequestIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M8.354 1.354L7.707 2H8.5A2.5 2.5 0 0111 4.5v5.585a1.5 1.5 0 11-1 0V4.5A1.5 1.5 0 008.5 3h-.793l.647.646a.5.5 0 11-.708.708l-1.5-1.5a.5.5 0 010-.708l1.5-1.5a.5.5 0 11.708.708zM11 11.5a.5.5 0 11-1 0 .5.5 0 011 0zM4 3.915a1.5 1.5 0 10-1 0v6.17a1.5 1.5 0 101 0v-6.17zM3.5 11a.5.5 0 100 1 .5.5 0 000-1zm0-8a.5.5 0 100-1 .5.5 0 000 1z",
        fill: color2
      }
    )
  );
});
var MergeIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M4.108 3.872A1.5 1.5 0 103 3.915v6.17a1.5 1.5 0 101 0V6.41c.263.41.573.77.926 1.083 1.108.98 2.579 1.433 4.156 1.5A1.5 1.5 0 109.09 7.99c-1.405-.065-2.62-.468-3.5-1.248-.723-.64-1.262-1.569-1.481-2.871zM3.5 11a.5.5 0 100 1 .5.5 0 000-1zM4 2.5a.5.5 0 11-1 0 .5.5 0 011 0zm7 6a.5.5 0 11-1 0 .5.5 0 011 0z",
        fill: color2
      }
    )
  );
});
var AppleIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M11.03 8.103a3.044 3.044 0 01-.202-1.744 2.697 2.697 0 011.4-1.935c-.749-1.18-1.967-1.363-2.35-1.403-.835-.086-2.01.56-2.648.57h-.016c-.639-.01-1.814-.656-2.649-.57-.415.044-1.741.319-2.541 1.593-.281.447-.498 1.018-.586 1.744a6.361 6.361 0 00-.044.85c.005.305.028.604.07.895.09.62.259 1.207.477 1.744.242.595.543 1.13.865 1.585.712 1.008 1.517 1.59 1.971 1.6.934.021 1.746-.61 2.416-.594.006.002.014.003.02.002h.017c.007 0 .014 0 .021-.002.67-.017 1.481.615 2.416.595.453-.011 1.26-.593 1.971-1.6a7.95 7.95 0 00.97-1.856c-.697-.217-1.27-.762-1.578-1.474zm-2.168-5.97c.717-.848.69-2.07.624-2.125-.065-.055-1.25.163-1.985.984-.735.82-.69 2.071-.624 2.125.064.055 1.268-.135 1.985-.984z",
        fill: color2
      }
    )
  );
});
var LinuxIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 0a3 3 0 013 3v1.24c.129.132.25.27.362.415.113.111.283.247.515.433l.194.155c.325.261.711.582 1.095.966.765.765 1.545 1.806 1.823 3.186a.501.501 0 01-.338.581 3.395 3.395 0 01-1.338.134 2.886 2.886 0 01-1.049-.304 5.535 5.535 0 01-.17.519 2 2 0 11-2.892 2.55A5.507 5.507 0 017 13c-.439 0-.838-.044-1.201-.125a2 2 0 11-2.892-2.55 5.553 5.553 0 01-.171-.519c-.349.182-.714.27-1.05.304A3.395 3.395 0 01.35 9.977a.497.497 0 01-.338-.582c.278-1.38 1.058-2.42 1.823-3.186.384-.384.77-.705 1.095-.966l.194-.155c.232-.186.402-.322.515-.433.112-.145.233-.283.362-.414V3a3 3 0 013-3zm1.003 11.895a2 2 0 012.141-1.89c.246-.618.356-1.322.356-2.005 0-.514-.101-1.07-.301-1.599l-.027-.017a6.387 6.387 0 00-.857-.42 6.715 6.715 0 00-1.013-.315l-.852.638a.75.75 0 01-.9 0l-.852-.638a6.716 6.716 0 00-1.693.634 4.342 4.342 0 00-.177.101l-.027.017A4.6 4.6 0 003.501 8c0 .683.109 1.387.355 2.005a2 2 0 012.142 1.89c.295.067.627.105 1.002.105s.707-.038 1.003-.105zM5 12a1 1 0 11-2 0 1 1 0 012 0zm6 0a1 1 0 11-2 0 1 1 0 012 0zM6.1 4.3a1.5 1.5 0 011.8 0l.267.2L7 5.375 5.833 4.5l.267-.2zM8.5 2a.5.5 0 01.5.5V3a.5.5 0 01-1 0v-.5a.5.5 0 01.5-.5zM6 2.5a.5.5 0 00-1 0V3a.5.5 0 001 0v-.5z",
        fill: color2
      }
    )
  );
});
var UbuntuIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("g", { clipPath: "url(#prefix__clip0_1107_3497)", fill: color2 }, React251.createElement("path", { d: "M12.261 2.067c0 1.142-.89 2.068-1.988 2.068-1.099 0-1.99-.926-1.99-2.068C8.283.926 9.174 0 10.273 0c1.098 0 1.989.926 1.989 2.067zM3.978 6.6c0 1.142-.89 2.068-1.989 2.068C.891 8.668 0 7.742 0 6.601c0-1.142.89-2.068 1.989-2.068 1.099 0 1.989.926 1.989 2.068zM6.475 11.921A4.761 4.761 0 014.539 11a4.993 4.993 0 01-1.367-1.696 2.765 2.765 0 01-1.701.217 6.725 6.725 0 001.844 2.635 6.379 6.379 0 004.23 1.577 3.033 3.033 0 01-.582-1.728 4.767 4.767 0 01-.488-.083zM11.813 11.933c0 1.141-.89 2.067-1.989 2.067-1.098 0-1.989-.926-1.989-2.067 0-1.142.891-2.068 1.99-2.068 1.098 0 1.989.926 1.989 2.068zM12.592 11.173a6.926 6.926 0 001.402-3.913 6.964 6.964 0 00-1.076-4.023A2.952 2.952 0 0111.8 4.6c.398.78.592 1.656.564 2.539a5.213 5.213 0 01-.724 2.495c.466.396.8.935.952 1.54zM1.987 3.631c-.05 0-.101.002-.151.004C3.073 1.365 5.504.024 8.005.23a3.07 3.07 0 00-.603 1.676 4.707 4.707 0 00-2.206.596 4.919 4.919 0 00-1.7 1.576 2.79 2.79 0 00-1.509-.447z" })),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_1107_3497" }, React251.createElement("path", { fill: "#fff", d: "M0 0h14v14H0z" })))
  );
});
var WindowsIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M6.5 1H1v5.5h5.5V1zM13 1H7.5v5.5H13V1zM7.5 7.5H13V13H7.5V7.5zM6.5 7.5H1V13h5.5V7.5z",
        fill: color2
      }
    )
  );
});
var ChromeIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("g", { clipPath: "url(#prefix__clip0_1107_3496)" }, React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M13.023 3.431a.115.115 0 01-.099.174H7.296A3.408 3.408 0 003.7 6.148a.115.115 0 01-.21.028l-1.97-3.413a.115.115 0 01.01-.129A6.97 6.97 0 017 0a6.995 6.995 0 016.023 3.431zM7 9.615A2.619 2.619 0 014.384 7 2.62 2.62 0 017 4.383 2.619 2.619 0 019.616 7 2.619 2.619 0 017 9.615zm1.034.71a.115.115 0 00-.121-.041 3.4 3.4 0 01-.913.124 3.426 3.426 0 01-3.091-1.973L1.098 3.567a.115.115 0 00-.2.001 7.004 7.004 0 005.058 10.354l.017.001c.04 0 .078-.021.099-.057l1.971-3.414a.115.115 0 00-.009-.128zm1.43-5.954h3.947c.047 0 .09.028.107.072.32.815.481 1.675.481 2.557a6.957 6.957 0 01-2.024 4.923A6.957 6.957 0 017.08 14h-.001a.115.115 0 01-.1-.172L9.794 8.95A3.384 3.384 0 0010.408 7c0-.921-.364-1.785-1.024-2.433a.115.115 0 01.08-.196z",
        fill: color2
      }
    )),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_1107_3496" }, React251.createElement("path", { fill: "#fff", d: "M0 0h14v14H0z" })))
  );
});
var StorybookIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M2.042.616a.704.704 0 00-.66.729L1.816 12.9c.014.367.306.66.672.677l9.395.422h.032a.704.704 0 00.704-.703V.704c0-.015 0-.03-.002-.044a.704.704 0 00-.746-.659l-.773.049.057 1.615a.105.105 0 01-.17.086l-.52-.41-.617.468a.105.105 0 01-.168-.088L9.746.134 2.042.616zm8.003 4.747c-.247.192-2.092.324-2.092.05.04-1.045-.429-1.091-.689-1.091-.247 0-.662.075-.662.634 0 .57.607.893 1.32 1.27 1.014.538 2.24 1.188 2.24 2.823 0 1.568-1.273 2.433-2.898 2.433-1.676 0-3.141-.678-2.976-3.03.065-.275 2.197-.21 2.197 0-.026.971.195 1.256.753 1.256.43 0 .624-.236.624-.634 0-.602-.633-.958-1.361-1.367-.987-.554-2.148-1.205-2.148-2.7 0-1.494 1.027-2.489 2.86-2.489 1.832 0 2.832.98 2.832 2.845z",
        fill: color2
      }
    )
  );
});
var AzureDevOpsIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("g", { clipPath: "url(#prefix__clip0_1107_3503)" }, React251.createElement(
      "path",
      {
        d: "M0 5.176l1.31-1.73 4.902-1.994V.014l4.299 3.144-8.78 1.706v4.8L0 9.162V5.176zm14-2.595v8.548l-3.355 2.857-5.425-1.783v1.783L1.73 9.661l8.784 1.047v-7.55L14 2.581z",
        fill: color2
      }
    )),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_1107_3503" }, React251.createElement("path", { fill: "#fff", d: "M0 0h14v14H0z" })))
  );
});
var BitbucketIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1 1.522a.411.411 0 00-.412.476l1.746 10.597a.56.56 0 00.547.466h8.373a.411.411 0 00.412-.345l1.017-6.248h-3.87L8.35 9.18H5.677l-.724-3.781h7.904L13.412 2A.411.411 0 0013 1.524L1 1.522z",
        fill: color2
      }
    )
  );
});
var ChromaticIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M0 7a7 7 0 1014 0A7 7 0 000 7zm5.215-3.869a1.967 1.967 0 013.747.834v1.283l-3.346-1.93a2.486 2.486 0 00-.401-.187zm3.484 2.58l-3.346-1.93a1.968 1.968 0 00-2.685.72 1.954 1.954 0 00.09 2.106 2.45 2.45 0 01.362-.254l1.514-.873a.27.27 0 01.268 0l2.1 1.21 1.697-.978zm-.323 4.972L6.86 9.81a.268.268 0 01-.134-.231V7.155l-1.698-.98v3.86a1.968 1.968 0 003.747.835 2.488 2.488 0 01-.4-.187zm.268-.464a1.967 1.967 0 002.685-.719 1.952 1.952 0 00-.09-2.106c-.112.094-.233.18-.361.253L7.53 9.577l1.113.642zm-4.106.257a1.974 1.974 0 01-1.87-.975A1.95 1.95 0 012.47 8.01c.136-.507.461-.93.916-1.193L4.5 6.175v3.86c0 .148.013.295.039.44zM11.329 4.5a1.973 1.973 0 00-1.87-.976c.025.145.039.292.039.44v1.747a.268.268 0 01-.135.232l-2.1 1.211v1.96l3.346-1.931a1.966 1.966 0 00.72-2.683z",
        fill: color2
      }
    )
  );
});
var ComponentDrivenIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M10.847 2.181L8.867.201a.685.685 0 00-.97 0l-4.81 4.81a.685.685 0 000 .969l2.466 2.465-2.405 2.404a.685.685 0 000 .97l1.98 1.98a.685.685 0 00.97 0l4.81-4.81a.685.685 0 000-.969L8.441 5.555l2.405-2.404a.685.685 0 000-.97z",
        fill: color2
      }
    )
  );
});
var DiscordIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M11.852 2.885c-.893-.41-1.85-.712-2.85-.884a.043.043 0 00-.046.021c-.123.22-.26.505-.355.73a10.658 10.658 0 00-3.2 0 7.377 7.377 0 00-.36-.73.045.045 0 00-.046-.021c-1 .172-1.957.474-2.85.884a.04.04 0 00-.019.016C.311 5.612-.186 8.257.058 10.869a.048.048 0 00.018.033 11.608 11.608 0 003.496 1.767.045.045 0 00.049-.016c.27-.368.51-.755.715-1.163a.044.044 0 00-.024-.062 7.661 7.661 0 01-1.092-.52.045.045 0 01-.005-.075c.074-.055.147-.112.217-.17a.043.043 0 01.046-.006c2.29 1.046 4.771 1.046 7.035 0a.043.043 0 01.046.006c.07.057.144.115.218.17a.045.045 0 01-.004.075 7.186 7.186 0 01-1.093.52.045.045 0 00-.024.062c.21.407.45.795.715 1.162.011.016.03.023.05.017a11.57 11.57 0 003.5-1.767.045.045 0 00.019-.032c.292-3.02-.49-5.643-2.07-7.969a.036.036 0 00-.018-.016zM4.678 9.279c-.69 0-1.258-.634-1.258-1.411 0-.778.558-1.411 1.258-1.411.707 0 1.27.639 1.259 1.41 0 .778-.558 1.412-1.259 1.412zm4.652 0c-.69 0-1.258-.634-1.258-1.411 0-.778.557-1.411 1.258-1.411.707 0 1.27.639 1.258 1.41 0 .778-.551 1.412-1.258 1.412z",
        fill: color2
      }
    )
  );
});
var FacebookIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7.399 14H5.06V7H3.5V4.588l1.56-.001-.002-1.421C5.058 1.197 5.533 0 7.6 0h1.721v2.413H8.246c-.805 0-.844.337-.844.966l-.003 1.208h1.934l-.228 2.412L7.401 7l-.002 7z",
        fill: color2
      }
    )
  );
});
var FigmaIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M9.2 0H4.803A2.603 2.603 0 003.41 4.802a2.603 2.603 0 000 4.396 2.602 2.602 0 103.998 2.199v-2.51a2.603 2.603 0 103.187-4.085A2.604 2.604 0 009.2 0zM7.407 7a1.793 1.793 0 103.586 0 1.793 1.793 0 00-3.586 0zm-.81 2.603H4.803a1.793 1.793 0 101.794 1.794V9.603zM4.803 4.397h1.794V.81H4.803a1.793 1.793 0 000 3.587zm0 .81a1.793 1.793 0 000 3.586h1.794V5.207H4.803zm4.397-.81H7.407V.81H9.2a1.794 1.794 0 010 3.587z",
        fill: color2
      }
    )
  );
});
var GDriveIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M6.37 8.768l-2.042 3.537h6.755l2.042-3.537H6.37zm6.177-1.003l-3.505-6.07H4.96l3.504 6.07h4.084zM4.378 2.7L.875 8.77l2.042 3.536L6.42 6.236 4.378 2.7z",
        fill: color2
      }
    )
  );
});
var GithubIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 0C3.132 0 0 3.132 0 7a6.996 6.996 0 004.786 6.641c.35.062.482-.149.482-.332 0-.166-.01-.718-.01-1.304-1.758.324-2.213-.429-2.353-.823-.079-.2-.42-.822-.717-.988-.246-.132-.596-.455-.01-.464.552-.009.946.508 1.077.717.63 1.06 1.636.762 2.039.578.061-.455.245-.761.446-.936-1.558-.175-3.185-.779-3.185-3.457 0-.76.271-1.39.717-1.88-.07-.176-.314-.893.07-1.856 0 0 .587-.183 1.925.718a6.495 6.495 0 011.75-.236c.595 0 1.19.078 1.75.236 1.34-.91 1.926-.718 1.926-.718.385.963.14 1.68.07 1.855.446.49.717 1.111.717 1.881 0 2.687-1.636 3.282-3.194 3.457.254.218.473.638.473 1.295 0 .936-.009 1.688-.009 1.925 0 .184.131.402.481.332A7.012 7.012 0 0014 7c0-3.868-3.133-7-7-7z",
        fill: color2
      }
    )
  );
});
var GitlabIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1.068 5.583l1.487-4.557a.256.256 0 01.487 0L4.53 5.583H1.068L7 13.15 4.53 5.583h4.941l-2.47 7.565 5.931-7.565H9.471l1.488-4.557a.256.256 0 01.486 0l1.488 4.557.75 2.3a.508.508 0 01-.185.568L7 13.148v.001H7L.503 8.452a.508.508 0 01-.186-.57l.75-2.299z",
        fill: color2
      }
    )
  );
});
var GoogleIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M10.925 1.094H7.262c-1.643 0-3.189 1.244-3.189 2.685 0 1.473 1.12 2.661 2.791 2.661.116 0 .23-.002.34-.01a1.49 1.49 0 00-.186.684c0 .41.22.741.498 1.012-.21 0-.413.006-.635.006-2.034 0-3.6 1.296-3.6 2.64 0 1.323 1.717 2.15 3.75 2.15 2.32 0 3.6-1.315 3.6-2.639 0-1.06-.313-1.696-1.28-2.38-.331-.235-.965-.805-.965-1.14 0-.392.112-.586.703-1.047.606-.474 1.035-1.14 1.035-1.914 0-.92-.41-1.819-1.18-2.115h1.161l.82-.593zm-1.335 8.96c.03.124.045.25.045.378 0 1.07-.688 1.905-2.665 1.905-1.406 0-2.421-.89-2.421-1.96 0-1.047 1.259-1.92 2.665-1.904.328.004.634.057.911.146.764.531 1.311.832 1.465 1.436zM7.34 6.068c-.944-.028-1.841-1.055-2.005-2.295-.162-1.24.47-2.188 1.415-2.16.943.029 1.84 1.023 2.003 2.262.163 1.24-.47 2.222-1.414 2.193z",
        fill: color2
      }
    )
  );
});
var GraphqlIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7.873 11.608a1.167 1.167 0 00-1.707-.027L3.46 10.018l.01-.04h7.072l.022.076-2.69 1.554zM6.166 2.42l.031.03-3.535 6.124a1.265 1.265 0 00-.043-.012V5.438a1.166 1.166 0 00.84-1.456L6.167 2.42zm4.387 1.562a1.165 1.165 0 00.84 1.456v3.124l-.043.012-3.536-6.123a1.2 1.2 0 00.033-.032l2.706 1.563zM3.473 9.42a1.168 1.168 0 00-.327-.568L6.68 2.73a1.17 1.17 0 00.652 0l3.536 6.123a1.169 1.169 0 00-.327.567H3.473zm8.79-.736a1.169 1.169 0 00-.311-.124V5.44a1.17 1.17 0 10-1.122-1.942L8.13 1.938a1.168 1.168 0 00-1.122-1.5 1.17 1.17 0 00-1.121 1.5l-2.702 1.56a1.168 1.168 0 00-1.86.22 1.17 1.17 0 00.739 1.722v3.12a1.168 1.168 0 00-.74 1.721 1.17 1.17 0 001.861.221l2.701 1.56a1.169 1.169 0 102.233-.035l2.687-1.552a1.168 1.168 0 101.457-1.791z",
        fill: color2
      }
    )
  );
});
var MediumIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M0 0v14h14V0H0zm11.63 3.317l-.75.72a.22.22 0 00-.083.212v-.001 5.289a.22.22 0 00.083.21l.733.72v.159H7.925v-.158l.76-.738c.074-.074.074-.096.074-.21V5.244l-2.112 5.364h-.285l-2.46-5.364V8.84a.494.494 0 00.136.413h.001l.988 1.198v.158H2.226v-.158l.988-1.198a.477.477 0 00.126-.416v.003-4.157a.363.363 0 00-.118-.307l-.878-1.058v-.158h2.727l2.107 4.622L9.031 3.16h2.6v.158z",
        fill: color2
      }
    )
  );
});
var ReduxIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M4.06 9.689c.016.49.423.88.912.88h.032a.911.911 0 00.88-.945.916.916 0 00-.912-.88h-.033c-.033 0-.08 0-.113.016-.669-1.108-.946-2.314-.848-3.618.065-.978.391-1.825.961-2.526.473-.603 1.386-.896 2.005-.913 1.728-.032 2.461 2.119 2.51 2.983.212.049.57.163.815.244C10.073 2.29 8.444.92 6.88.92c-1.467 0-2.82 1.06-3.357 2.625-.75 2.086-.261 4.09.651 5.671a.74.74 0 00-.114.473zm8.279-2.298c-1.239-1.45-3.064-2.249-5.15-2.249h-.261a.896.896 0 00-.798-.489h-.033A.912.912 0 006.13 6.48h.031a.919.919 0 00.8-.554h.293c1.239 0 2.412.358 3.472 1.059.814.538 1.401 1.238 1.727 2.086.277.684.261 1.353-.033 1.923-.456.864-1.222 1.337-2.232 1.337a4.16 4.16 0 01-1.597-.343 9.58 9.58 0 01-.734.587c.7.326 1.418.505 2.102.505 1.565 0 2.722-.863 3.162-1.727.473-.946.44-2.575-.782-3.961zm-7.433 5.51a4.005 4.005 0 01-.977.113c-1.206 0-2.298-.505-2.836-1.32C.376 10.603.13 8.289 2.494 6.577c.05.261.147.62.212.832-.31.228-.798.685-1.108 1.303-.44.864-.391 1.729.13 2.527.359.537.93.864 1.663.962.896.114 1.793-.05 2.657-.505 1.271-.669 2.119-1.467 2.672-2.56a.944.944 0 01-.26-.603.913.913 0 01.88-.945h.033a.915.915 0 01.098 1.825c-.897 1.842-2.478 3.08-4.565 3.488z",
        fill: color2
      }
    )
  );
});
var TwitterIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 2.547a5.632 5.632 0 01-1.65.464 2.946 2.946 0 001.263-1.63 5.67 5.67 0 01-1.823.715 2.837 2.837 0 00-2.097-.93c-1.586 0-2.872 1.319-2.872 2.946 0 .23.025.456.074.67C4.508 4.66 2.392 3.488.975 1.706c-.247.435-.389.941-.389 1.481 0 1.022.507 1.923 1.278 2.452a2.806 2.806 0 01-1.3-.368l-.001.037c0 1.427.99 2.617 2.303 2.888a2.82 2.82 0 01-1.297.05c.366 1.17 1.427 2.022 2.683 2.045A5.671 5.671 0 010 11.51a7.985 7.985 0 004.403 1.323c5.283 0 8.172-4.488 8.172-8.38 0-.128-.003-.255-.009-.38A5.926 5.926 0 0014 2.546z",
        fill: color2
      }
    )
  );
});
var YoutubeIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M13.99 8.172c.005-.281.007-.672.007-1.172 0-.5-.002-.89-.007-1.172a14.952 14.952 0 00-.066-1.066 9.638 9.638 0 00-.169-1.153c-.083-.38-.264-.7-.542-.96a1.667 1.667 0 00-.972-.454C11.084 2.065 9.337 2 6.999 2s-4.085.065-5.241.195a1.65 1.65 0 00-.969.453c-.276.26-.455.58-.539.961a8.648 8.648 0 00-.176 1.153c-.039.43-.061.785-.066 1.066C.002 6.11 0 6.5 0 7c0 .5.002.89.008 1.172.005.281.027.637.066 1.067.04.43.095.813.168 1.152.084.38.265.7.543.96.279.261.603.412.973.453 1.156.13 2.902.196 5.24.196 2.34 0 4.087-.065 5.243-.196a1.65 1.65 0 00.967-.453c.276-.26.456-.58.54-.96.077-.339.136-.722.175-1.152.04-.43.062-.786.067-1.067zM9.762 6.578A.45.45 0 019.997 7a.45.45 0 01-.235.422l-3.998 2.5a.442.442 0 01-.266.078.538.538 0 01-.242-.063.465.465 0 01-.258-.437v-5c0-.197.086-.343.258-.437a.471.471 0 01.508.016l3.998 2.5z",
        fill: color2
      }
    )
  );
});
var VSCodeIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M10.243.04a.87.87 0 01.38.087l2.881 1.386a.874.874 0 01.496.79V11.713a.875.875 0 01-.496.775l-2.882 1.386a.872.872 0 01-.994-.17L4.11 8.674l-2.404 1.823a.583.583 0 01-.744-.034l-.771-.7a.583.583 0 010-.862L2.274 7 .19 5.1a.583.583 0 010-.862l.772-.701a.583.583 0 01.744-.033L4.11 5.327 9.628.296a.871.871 0 01.615-.255zm.259 3.784L6.315 7l4.187 3.176V3.824z",
        fill: color2
      }
    )
  );
});
var LinkedinIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M11.667 13H2.333A1.333 1.333 0 011 11.667V2.333C1 1.597 1.597 1 2.333 1h9.334C12.403 1 13 1.597 13 2.333v9.334c0 .736-.597 1.333-1.333 1.333zm-2.114-1.667h1.78V7.675c0-1.548-.877-2.296-2.102-2.296-1.226 0-1.742.955-1.742.955v-.778H5.773v5.777h1.716V8.3c0-.812.374-1.296 1.09-1.296.658 0 .974.465.974 1.296v3.033zm-6.886-7.6c0 .589.474 1.066 1.058 1.066.585 0 1.058-.477 1.058-1.066 0-.589-.473-1.066-1.058-1.066-.584 0-1.058.477-1.058 1.066zm1.962 7.6h-1.79V5.556h1.79v5.777z",
        fill: color2
      }
    )
  );
});
var XIcon = React251.forwardRef(
  ({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
    return React251.createElement(
      "svg",
      {
        width: size,
        height: size,
        viewBox: "0 0 14 14",
        fill: "none",
        xmlns: "http://www.w3.org/2000/svg",
        ref: forwardedRef,
        ...props
      },
      React251.createElement(
        "path",
        {
          d: "M11.02.446h2.137L8.49 5.816l5.51 7.28H9.67L6.298 8.683l-3.88 4.413H.282l5.004-5.735L0 .446h4.442l3.064 4.048L11.02.446zm-.759 11.357h1.18L3.796 1.655H2.502l7.759 10.148z",
          fill: color2
        }
      )
    );
  }
);
var BrowserIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M.5 13.004a.5.5 0 01-.5-.5v-11a.5.5 0 01.5-.5h13a.5.5 0 01.5.5v11a.5.5 0 01-.5.5H.5zm.5-1v-8h12v8H1zm1-9.5a.5.5 0 11-1 0 .5.5 0 011 0zm2 0a.5.5 0 11-1 0 .5.5 0 011 0zm2 0a.5.5 0 11-1 0 .5.5 0 011 0z",
        fill: color2
      }
    )
  );
});
var TabletIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3.5.004a1.5 1.5 0 00-1.5 1.5v11a1.5 1.5 0 001.5 1.5h7a1.5 1.5 0 001.5-1.5v-11a1.5 1.5 0 00-1.5-1.5h-7zm0 1h7a.5.5 0 01.5.5v9.5H3v-9.5a.5.5 0 01.5-.5zm2.5 11a.5.5 0 000 1h2a.5.5 0 000-1H6z",
        fill: color2
      }
    )
  );
});
var MobileIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3 1.504a1.5 1.5 0 011.5-1.5h5a1.5 1.5 0 011.5 1.5v11a1.5 1.5 0 01-1.5 1.5h-5a1.5 1.5 0 01-1.5-1.5v-11zm1 10.5v-10h6v10H4z",
        fill: color2
      }
    )
  );
});
var WatchIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M4 .504a.5.5 0 01.5-.5h5a.5.5 0 010 1h-5a.5.5 0 01-.5-.5zm5.5 2.5h-5a.5.5 0 00-.5.5v7a.5.5 0 00.5.5h5a.5.5 0 00.5-.5v-7a.5.5 0 00-.5-.5zm-5-1a1.5 1.5 0 00-1.5 1.5v7a1.5 1.5 0 001.5 1.5h5a1.5 1.5 0 001.5-1.5v-7a1.5 1.5 0 00-1.5-1.5h-5zm2.5 2a.5.5 0 01.5.5v2h1a.5.5 0 110 1H7a.5.5 0 01-.5-.5v-2.5a.5.5 0 01.5-.5zm-2.5 9a.5.5 0 000 1h5a.5.5 0 000-1h-5z",
        fill: color2
      }
    )
  );
});
var SidebarIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M2.5 4.504a.5.5 0 01.5-.5h1a.5.5 0 110 1H3a.5.5 0 01-.5-.5zM3 6.004a.5.5 0 100 1h1a.5.5 0 000-1H3zM2.5 8.504a.5.5 0 01.5-.5h1a.5.5 0 110 1H3a.5.5 0 01-.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1.5 13.004a.5.5 0 01-.5-.5v-11a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v11a.5.5 0 01-.5.5h-11zm.5-1v-10h3v10H2zm4-10h6v10H6v-10z",
        fill: color2
      }
    )
  );
});
var SidebarAltIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M9.5 4.504a.5.5 0 01.5-.5h1a.5.5 0 010 1h-1a.5.5 0 01-.5-.5zM10 6.004a.5.5 0 100 1h1a.5.5 0 000-1h-1zM9.5 8.504a.5.5 0 01.5-.5h1a.5.5 0 010 1h-1a.5.5 0 01-.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1.5 13.004a.5.5 0 01-.5-.5v-11a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v11a.5.5 0 01-.5.5h-11zm.5-1v-10h6v10H2zm7-10h3v10H9v-10z",
        fill: color2
      }
    )
  );
});
var SidebarAltToggleIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M11.5 4.504a.5.5 0 00-.5-.5h-1a.5.5 0 100 1h1a.5.5 0 00.5-.5zM11 6.004a.5.5 0 010 1h-1a.5.5 0 010-1h1zM11.5 8.504a.5.5 0 00-.5-.5h-1a.5.5 0 100 1h1a.5.5 0 00.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1.5 13.004a.5.5 0 01-.5-.5v-11a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v11a.5.5 0 01-.5.5h-11zm7.5-1h3v-10H9v10zm-1 0H2v-10h6v4.5H5.207l.65-.65a.5.5 0 10-.707-.708L3.646 6.65a.5.5 0 000 .707l1.497 1.497a.5.5 0 10.707-.708l-.643-.642H8v4.5z",
        fill: color2
      }
    )
  );
});
var SidebarToggleIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.5 4.504a.5.5 0 01.5-.5h1a.5.5 0 110 1H2a.5.5 0 01-.5-.5zM2 6.004a.5.5 0 100 1h1a.5.5 0 000-1H2zM1.5 8.504a.5.5 0 01.5-.5h1a.5.5 0 110 1H2a.5.5 0 01-.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M.5 13.004a.5.5 0 01-.5-.5v-11a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v11a.5.5 0 01-.5.5H.5zm.5-1v-10h3v10H1zm4 0v-4.5h2.793l-.643.642a.5.5 0 10.707.708l1.497-1.497a.5.5 0 000-.707L7.85 5.146a.5.5 0 10-.707.708l.65.65H5v-4.5h6v10H5z",
        fill: color2
      }
    )
  );
});
var BottomBarIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M3 10.504a.5.5 0 01.5-.5h1a.5.5 0 010 1h-1a.5.5 0 01-.5-.5zM6.5 10.004a.5.5 0 000 1h1a.5.5 0 000-1h-1zM9 10.504a.5.5 0 01.5-.5h1a.5.5 0 010 1h-1a.5.5 0 01-.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1 1.504a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v11a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11zm1 6.5v-6h10v6H2zm10 1v3H2v-3h10z",
        fill: color2
      }
    )
  );
});
var BottomBarToggleIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M3.5 10.004a.5.5 0 000 1h1a.5.5 0 000-1h-1zM6 10.504a.5.5 0 01.5-.5h1a.5.5 0 010 1h-1a.5.5 0 01-.5-.5zM9.5 10.004a.5.5 0 000 1h1a.5.5 0 000-1h-1z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1 12.504v-11a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v11a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5zm1-.5v-3h10v3H2zm4.5-4H2v-6h10v6H7.5V5.21l.646.646a.5.5 0 10.708-.707l-1.5-1.5a.5.5 0 00-.708 0l-1.5 1.5a.5.5 0 10.708.707l.646-.646v2.793z",
        fill: color2
      }
    )
  );
});
var CPUIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M5 5.504a.5.5 0 01.5-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5v-3zm1 2.5v-2h2v2H6z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M5.5.004a.5.5 0 01.5.5v1.5h2v-1.5a.5.5 0 011 0v1.5h2.5a.5.5 0 01.5.5v2.5h1.5a.5.5 0 010 1H12v2h1.5a.5.5 0 010 1H12v2.5a.5.5 0 01-.5.5H9v1.5a.5.5 0 01-1 0v-1.5H6v1.5a.5.5 0 01-1 0v-1.5H2.5a.5.5 0 01-.5-.5v-2.5H.5a.5.5 0 010-1H2v-2H.5a.5.5 0 010-1H2v-2.5a.5.5 0 01.5-.5H5v-1.5a.5.5 0 01.5-.5zm5.5 3H3v8h8v-8z",
        fill: color2
      }
    )
  );
});
var DatabaseIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M12 3c0-1.105-2.239-2-5-2s-5 .895-5 2v8c0 .426.26.752.544.977.29.228.68.413 1.116.558.878.293 2.059.465 3.34.465 1.281 0 2.462-.172 3.34-.465.436-.145.825-.33 1.116-.558.285-.225.544-.551.544-.977V3zm-1.03 0a.787.787 0 00-.05-.052c-.13-.123-.373-.28-.756-.434C9.404 2.21 8.286 2 7 2c-1.286 0-2.404.21-3.164.514-.383.153-.625.31-.756.434A.756.756 0 003.03 3a.756.756 0 00.05.052c.13.123.373.28.756.434C4.596 3.79 5.714 4 7 4c1.286 0 2.404-.21 3.164-.514.383-.153.625-.31.756-.434A.787.787 0 0010.97 3zM11 5.75V4.2c-.912.486-2.364.8-4 .8-1.636 0-3.088-.314-4-.8v1.55l.002.008a.147.147 0 00.016.033.618.618 0 00.145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.62.62 0 00.146-.15.149.149 0 00.015-.033A.03.03 0 0011 5.75zM3 7.013c.2.103.423.193.66.272.878.293 2.059.465 3.34.465 1.281 0 2.462-.172 3.34-.465.237-.079.46-.17.66-.272V8.5l-.002.008a.149.149 0 01-.015.033.62.62 0 01-.146.15c-.165.13-.435.27-.813.395-.751.25-1.82.414-3.024.414s-2.273-.163-3.024-.414c-.378-.126-.648-.265-.813-.395a.618.618 0 01-.145-.15.147.147 0 01-.016-.033A.027.027 0 013 8.5V7.013zm0 2.75V11l.002.008a.147.147 0 00.016.033.617.617 0 00.145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.619.619 0 00.146-.15.148.148 0 00.015-.033L11 11V9.763c-.2.103-.423.193-.66.272-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465A4.767 4.767 0 013 9.763z",
        fill: color2
      }
    )
  );
});
var MemoryIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5 3a.5.5 0 00-1 0v3a.5.5 0 001 0V3zM7 2.5a.5.5 0 01.5.5v3a.5.5 0 01-1 0V3a.5.5 0 01.5-.5zM10 4.504a.5.5 0 10-1 0V6a.5.5 0 001 0V4.504z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M12 3.54l-.001-.002a.499.499 0 00-.145-.388l-3-3a.499.499 0 00-.388-.145L8.464.004H2.5a.5.5 0 00-.5.5v13a.5.5 0 00.5.5h9a.5.5 0 00.5-.5V3.54zM3 1.004h5.293L11 3.71v5.293H3v-8zm0 9v3h8v-3H3z",
        fill: color2
      }
    )
  );
});
var StructureIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M8.164 3.446a1.5 1.5 0 10-2.328 0L1.81 10.032A1.503 1.503 0 000 11.5a1.5 1.5 0 002.915.5h8.17a1.5 1.5 0 101.104-1.968L8.164 3.446zm-1.475.522a1.506 1.506 0 00.622 0l4.025 6.586a1.495 1.495 0 00-.25.446H2.914a1.497 1.497 0 00-.25-.446l4.024-6.586z",
        fill: color2
      }
    )
  );
});
var BoxIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7.21.046l6.485 2.994A.5.5 0 0114 3.51v6.977a.495.495 0 01-.23.432.481.481 0 01-.071.038L7.23 13.944a.499.499 0 01-.46 0L.3 10.958a.498.498 0 01-.3-.47V3.511a.497.497 0 01.308-.473L6.78.051a.499.499 0 01.43-.005zM1 4.282v5.898l5.5 2.538V6.82L1 4.282zm6.5 8.436L13 10.18V4.282L7.5 6.82v5.898zM12.307 3.5L7 5.95 1.693 3.5 7 1.05l5.307 2.45z",
        fill: color2
      }
    )
  );
});
var PowerIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("path", { d: "M7.5.5a.5.5 0 00-1 0v6a.5.5 0 001 0v-6z", fill: color2 }),
    React251.createElement(
      "path",
      {
        d: "M4.273 2.808a.5.5 0 00-.546-.837 6 6 0 106.546 0 .5.5 0 00-.546.837 5 5 0 11-5.454 0z",
        fill: color2
      }
    )
  );
});
var EditIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M13.854 2.146l-2-2a.5.5 0 00-.708 0l-1.5 1.5-8.995 8.995a.499.499 0 00-.143.268L.012 13.39a.495.495 0 00.135.463.5.5 0 00.462.134l2.482-.496a.495.495 0 00.267-.143l8.995-8.995 1.5-1.5a.5.5 0 000-.708zM12 3.293l.793-.793L11.5 1.207 10.707 2 12 3.293zm-2-.586L1.707 11 3 12.293 11.293 4 10 2.707zM1.137 12.863l.17-.849.679.679-.849.17z",
        fill: color2
      }
    )
  );
});
var CogIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5.586 5.586A2 2 0 018.862 7.73a.5.5 0 10.931.365 3 3 0 10-1.697 1.697.5.5 0 10-.365-.93 2 2 0 01-2.145-3.277z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M.939 6.527c.127.128.19.297.185.464a.635.635 0 01-.185.465L0 8.395a7.099 7.099 0 001.067 2.572h1.32c.182 0 .345.076.46.197a.635.635 0 01.198.46v1.317A7.097 7.097 0 005.602 14l.94-.94a.634.634 0 01.45-.186H7.021c.163 0 .326.061.45.186l.939.938a7.098 7.098 0 002.547-1.057V11.61c0-.181.075-.344.197-.46a.634.634 0 01.46-.197h1.33c.507-.76.871-1.622 1.056-2.55l-.946-.946a.635.635 0 01-.186-.465.635.635 0 01.186-.464l.943-.944a7.099 7.099 0 00-1.044-2.522h-1.34a.635.635 0 01-.46-.197.635.635 0 01-.196-.46V1.057A7.096 7.096 0 008.413.002l-.942.942a.634.634 0 01-.45.186H6.992a.634.634 0 01-.45-.186L5.598 0a7.097 7.097 0 00-2.553 1.058v1.33c0 .182-.076.345-.197.46a.635.635 0 01-.46.198h-1.33A7.098 7.098 0 00.003 5.591l.936.936zm.707 1.636c.324-.324.482-.752.479-1.172a1.634 1.634 0 00-.48-1.171l-.538-.539c.126-.433.299-.847.513-1.235h.768c.459 0 .873-.19 1.167-.49.3-.295.49-.708.49-1.167v-.77c.39-.215.807-.388 1.243-.515l.547.547c.32.32.742.48 1.157.48l.015-.001h.014c.415 0 .836-.158 1.157-.479l.545-.544c.433.126.846.299 1.234.512v.784c0 .46.19.874.49 1.168.294.3.708.49 1.167.49h.776c.209.382.378.788.502 1.213l-.545.546a1.635 1.635 0 00-.48 1.17c-.003.421.155.849.48 1.173l.549.55c-.126.434-.3.85-.513 1.239h-.77c-.458 0-.872.19-1.166.49-.3.294-.49.708-.49 1.167v.77a6.09 6.09 0 01-1.238.514l-.54-.54a1.636 1.636 0 00-1.158-.48H6.992c-.415 0-.837.159-1.157.48l-.543.543a6.091 6.091 0 01-1.247-.516v-.756c0-.459-.19-.873-.49-1.167-.294-.3-.708-.49-1.167-.49h-.761a6.094 6.094 0 01-.523-1.262l.542-.542z",
        fill: color2
      }
    )
  );
});
var NutIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5.585 8.414a2 2 0 113.277-.683.5.5 0 10.931.365 3 3 0 10-1.697 1.697.5.5 0 00-.365-.93 2 2 0 01-2.146-.449z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M6.5.289a1 1 0 011 0l5.062 2.922a1 1 0 01.5.866v5.846a1 1 0 01-.5.866L7.5 13.71a1 1 0 01-1 0L1.437 10.79a1 1 0 01-.5-.866V4.077a1 1 0 01.5-.866L6.5.29zm.5.866l5.062 2.922v5.846L7 12.845 1.937 9.923V4.077L7 1.155z",
        fill: color2
      }
    )
  );
});
var WrenchIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M10.5 1c.441 0 .564.521.252.833l-.806.807a.51.51 0 000 .72l.694.694a.51.51 0 00.72 0l.807-.806c.312-.312.833-.19.833.252a2.5 2.5 0 01-3.414 2.328l-6.879 6.88a1 1 0 01-1.414-1.415l6.88-6.88A2.5 2.5 0 0110.5 1zM2 12.5a.5.5 0 100-1 .5.5 0 000 1z",
        fill: color2
      }
    )
  );
});
var EllipsisIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M4 7a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM13 7a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM7 8.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z",
        fill: color2
      }
    )
  );
});
var WandIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5.903.112a.107.107 0 01.194 0l.233.505.552.066c.091.01.128.123.06.185l-.408.377.109.546a.107.107 0 01-.158.114L6 1.633l-.486.272a.107.107 0 01-.157-.114l.108-.546-.408-.377a.107.107 0 01.06-.185L5.67.617l.233-.505zM2.194.224a.214.214 0 00-.389 0l-.466 1.01-1.104.13a.214.214 0 00-.12.371l.816.755-.217 1.091a.214.214 0 00.315.23L2 3.266l.971.543c.16.09.35-.05.315-.229l-.217-1.09.817-.756a.214.214 0 00-.12-.37L2.66 1.234 2.194.224zM12.194 8.224a.214.214 0 00-.389 0l-.466 1.01-1.104.13a.214.214 0 00-.12.371l.816.755-.217 1.091a.214.214 0 00.315.23l.97-.544.971.543c.16.09.35-.05.315-.229l-.217-1.09.817-.756a.214.214 0 00-.12-.37l-1.105-.131-.466-1.01z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M.147 11.857a.5.5 0 010-.707l11-11a.5.5 0 01.706 0l2 2a.5.5 0 010 .708l-11 11a.5.5 0 01-.706 0l-2-2zm2.353.94l-1.293-1.293 6.758-6.758L9.258 6.04 2.5 12.797zm7.465-7.465l2.828-2.828L11.5 1.211 8.672 4.039l1.293 1.293z",
        fill: color2
      }
    )
  );
});
var SweepIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M9.621 3.914l.379.379 3.146-3.147a.5.5 0 01.708.708L10.707 5l.379.379a3 3 0 010 4.242l-.707.707-.005.005-.008.008-.012.013-1.733 1.732a3 3 0 01-4.242 0L.146 7.854a.5.5 0 01.708-.707.915.915 0 001.292 0L4.64 4.654a.52.52 0 01.007-.008l.733-.732a3 3 0 014.242 0zm-4.26 1.432l.139-.139 3.146 3.147a.5.5 0 10.708-.707L6.212 4.505a2 2 0 012.702.116l.731.731.001.002h.002l.73.732a2 2 0 010 2.828l-.706.707-.012.013a.503.503 0 00-.014.013l-1.732 1.732a2 2 0 01-2.828 0L3.354 9.647a2.489 2.489 0 001.414-.708l1.086-1.085a.5.5 0 10-.708-.707L4.061 8.232a1.5 1.5 0 01-2.01.102c.294-.088.57-.248.803-.48l2.5-2.5a.475.475 0 00.007-.008z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M2 5.004a1 1 0 11-2 0 1 1 0 012 0zM4 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0z",
        fill: color2
      }
    )
  );
});
var CheckIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M13.854 3.354a.5.5 0 00-.708-.708L5 10.793.854 6.646a.5.5 0 10-.708.708l4.5 4.5a.5.5 0 00.708 0l8.5-8.5z",
        fill: color2
      }
    )
  );
});
var FormIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M2 1.004a1 1 0 00-1 1v10a1 1 0 001 1h10a1 1 0 001-1V6.393a.5.5 0 00-1 0v5.61H2v-10h7.5a.5.5 0 000-1H2z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M6.354 9.857l7.5-7.5a.5.5 0 00-.708-.707L6 8.797 3.854 6.65a.5.5 0 10-.708.707l2.5 2.5a.5.5 0 00.708 0z",
        fill: color2
      }
    )
  );
});
var BatchDenyIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M11.5 2a.5.5 0 000 1h2a.5.5 0 000-1h-2zM8.854 2.646a.5.5 0 010 .708L5.207 7l3.647 3.646a.5.5 0 01-.708.708L4.5 7.707.854 11.354a.5.5 0 01-.708-.708L3.793 7 .146 3.354a.5.5 0 11.708-.708L4.5 6.293l3.646-3.647a.5.5 0 01.708 0zM11 7a.5.5 0 01.5-.5h2a.5.5 0 010 1h-2A.5.5 0 0111 7zM11.5 11a.5.5 0 000 1h2a.5.5 0 000-1h-2z",
        fill: color2
      }
    )
  );
});
var BatchAcceptIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M11.5 2a.5.5 0 000 1h2a.5.5 0 000-1h-2zM9.3 2.6a.5.5 0 01.1.7l-5.995 7.993a.505.505 0 01-.37.206.5.5 0 01-.395-.152L.146 8.854a.5.5 0 11.708-.708l2.092 2.093L8.6 2.7a.5.5 0 01.7-.1zM11 7a.5.5 0 01.5-.5h2a.5.5 0 010 1h-2A.5.5 0 0111 7zM11.5 11a.5.5 0 000 1h2a.5.5 0 000-1h-2z",
        fill: color2
      }
    )
  );
});
var ControlsIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M10.5 1a.5.5 0 01.5.5V2h1.5a.5.5 0 010 1H11v.5a.5.5 0 01-1 0V3H1.5a.5.5 0 010-1H10v-.5a.5.5 0 01.5-.5zM1.5 11a.5.5 0 000 1H10v.5a.5.5 0 001 0V12h1.5a.5.5 0 000-1H11v-.5a.5.5 0 00-1 0v.5H1.5zM1 7a.5.5 0 01.5-.5H3V6a.5.5 0 011 0v.5h8.5a.5.5 0 010 1H4V8a.5.5 0 01-1 0v-.5H1.5A.5.5 0 011 7z",
        fill: color2
      }
    )
  );
});
var PlusIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7.5.5a.5.5 0 00-1 0v6h-6a.5.5 0 000 1h6v6a.5.5 0 001 0v-6h6a.5.5 0 000-1h-6v-6z",
        fill: color2
      }
    )
  );
});
var CloseAltIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M2.03.97A.75.75 0 00.97 2.03L5.94 7 .97 11.97a.75.75 0 101.06 1.06L7 8.06l4.97 4.97a.75.75 0 101.06-1.06L8.06 7l4.97-4.97A.75.75 0 0011.97.97L7 5.94 2.03.97z",
        fill: color2
      }
    )
  );
});
var CrossIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.854 1.146a.5.5 0 10-.708.708L6.293 7l-5.147 5.146a.5.5 0 00.708.708L7 7.707l5.146 5.147a.5.5 0 00.708-.708L7.707 7l5.147-5.146a.5.5 0 00-.708-.708L7 6.293 1.854 1.146z",
        fill: color2
      }
    )
  );
});
var TrashIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5.5 4.5A.5.5 0 016 5v5a.5.5 0 01-1 0V5a.5.5 0 01.5-.5zM9 5a.5.5 0 00-1 0v5a.5.5 0 001 0V5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M4.5.5A.5.5 0 015 0h4a.5.5 0 01.5.5V2h3a.5.5 0 010 1H12v8a2 2 0 01-2 2H4a2 2 0 01-2-2V3h-.5a.5.5 0 010-1h3V.5zM3 3v8a1 1 0 001 1h6a1 1 0 001-1V3H3zm2.5-2h3v1h-3V1z",
        fill: color2
      }
    )
  );
});
var PinAltIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("g", { clipPath: "url(#prefix__clip0_1107_3502)" }, React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M13.44 4.44L9.56.56a1.5 1.5 0 00-2.12 0L7 1a1.415 1.415 0 000 2L5 5H3.657A4 4 0 00.828 6.17l-.474.475a.5.5 0 000 .707l2.793 2.793-3 3a.5.5 0 00.707.708l3-3 2.792 2.792a.5.5 0 00.708 0l.474-.475A4 4 0 009 10.343V9l2-2a1.414 1.414 0 002 0l.44-.44a1.5 1.5 0 000-2.12zM11 5.585l-3 3v1.757a3 3 0 01-.879 2.121L7 12.586 1.414 7l.122-.122A3 3 0 013.656 6h1.758l3-3-.707-.707a.414.414 0 010-.586l.44-.44a.5.5 0 01.707 0l3.878 3.88a.5.5 0 010 .706l-.44.44a.414.414 0 01-.585 0L11 5.586z",
        fill: color2
      }
    )),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_1107_3502" }, React251.createElement("path", { fill: "#fff", d: "M0 0h14v14H0z" })))
  );
});
var UnpinIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("g", { clipPath: "url(#prefix__clip0_1107_3501)", fill: color2 }, React251.createElement("path", { d: "M13.44 4.44L9.56.56a1.5 1.5 0 00-2.12 0L7 1a1.415 1.415 0 000 2L5.707 4.293 6.414 5l2-2-.707-.707a.414.414 0 010-.586l.44-.44a.5.5 0 01.707 0l3.878 3.88a.5.5 0 010 .706l-.44.44a.414.414 0 01-.585 0L11 5.586l-2 2 .707.707L11 7a1.414 1.414 0 002 0l.44-.44a1.5 1.5 0 000-2.12zM.828 6.171a4 4 0 012.758-1.17l1 .999h-.93a3 3 0 00-2.12.878L1.414 7 7 12.586l.121-.122A3 3 0 008 10.343v-.929l1 1a4 4 0 01-1.172 2.757l-.474.475a.5.5 0 01-.708 0l-2.792-2.792-3 3a.5.5 0 01-.708-.708l3-3L.355 7.353a.5.5 0 010-.707l.474-.475zM1.854 1.146a.5.5 0 10-.708.708l11 11a.5.5 0 00.708-.708l-11-11z" })),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_1107_3501" }, React251.createElement("path", { fill: "#fff", d: "M0 0h14v14H0z" })))
  );
});
var AddIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7 3a.5.5 0 01.5.5v3h3a.5.5 0 010 1h-3v3a.5.5 0 01-1 0v-3h-3a.5.5 0 010-1h3v-3A.5.5 0 017 3z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 14A7 7 0 107 0a7 7 0 000 14zm0-1A6 6 0 107 1a6 6 0 000 12z",
        fill: color2
      }
    )
  );
});
var SubtractIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("path", { d: "M3.5 6.5a.5.5 0 000 1h7a.5.5 0 000-1h-7z", fill: color2 }),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 110 7a7 7 0 0114 0zm-1 0A6 6 0 111 7a6 6 0 0112 0z",
        fill: color2
      }
    )
  );
});
var CloseIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M9.854 4.146a.5.5 0 010 .708L7.707 7l2.147 2.146a.5.5 0 01-.708.708L7 7.707 4.854 9.854a.5.5 0 01-.708-.708L6.293 7 4.146 4.854a.5.5 0 11.708-.708L7 6.293l2.146-2.147a.5.5 0 01.708 0z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 14A7 7 0 107 0a7 7 0 000 14zm0-1A6 6 0 107 1a6 6 0 000 12z",
        fill: color2
      }
    )
  );
});
var DeleteIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 110 7a7 7 0 0114 0zm-1 0a6 6 0 01-9.874 4.582l8.456-8.456A5.976 5.976 0 0113 7zM2.418 10.874l8.456-8.456a6 6 0 00-8.456 8.456z",
        fill: color2
      }
    )
  );
});
var PassedIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 14A7 7 0 107 0a7 7 0 000 14zm3.854-9.354a.5.5 0 010 .708l-4.5 4.5a.5.5 0 01-.708 0l-2.5-2.5a.5.5 0 11.708-.708L6 8.793l4.146-4.147a.5.5 0 01.708 0z",
        fill: color2
      }
    )
  );
});
var ChangedIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 14A7 7 0 107 0a7 7 0 000 14zM3.5 6.5a.5.5 0 000 1h7a.5.5 0 000-1h-7z",
        fill: color2
      }
    )
  );
});
var FailedIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 14A7 7 0 107 0a7 7 0 000 14zm2.854-9.854a.5.5 0 010 .708L7.707 7l2.147 2.146a.5.5 0 01-.708.708L7 7.707 4.854 9.854a.5.5 0 01-.708-.708L6.293 7 4.146 4.854a.5.5 0 11.708-.708L7 6.293l2.146-2.147a.5.5 0 01.708 0z",
        fill: color2
      }
    )
  );
});
var ClearIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M5 2h7a2 2 0 012 2v6a2 2 0 01-2 2H5a1.994 1.994 0 01-1.414-.586l-3-3a2 2 0 010-2.828l3-3A1.994 1.994 0 015 2zm1.146 3.146a.5.5 0 01.708 0L8 6.293l1.146-1.147a.5.5 0 11.708.708L8.707 7l1.147 1.146a.5.5 0 01-.708.708L8 7.707 6.854 8.854a.5.5 0 11-.708-.708L7.293 7 6.146 5.854a.5.5 0 010-.708z",
        fill: color2
      }
    )
  );
});
var CommentIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M3.5 5.004a.5.5 0 100 1h7a.5.5 0 000-1h-7zM3 8.504a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7a.5.5 0 01-.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M12.5 12.004H5.707l-1.853 1.854a.5.5 0 01-.351.146h-.006a.499.499 0 01-.497-.5v-1.5H1.5a.5.5 0 01-.5-.5v-9a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v9a.5.5 0 01-.5.5zm-10.5-1v-8h10v8H2z",
        fill: color2
      }
    )
  );
});
var CommentAddIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7.5 5.004a.5.5 0 10-1 0v1.5H5a.5.5 0 100 1h1.5v1.5a.5.5 0 001 0v-1.5H9a.5.5 0 000-1H7.5v-1.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3.691 13.966a.498.498 0 01-.188.038h-.006a.499.499 0 01-.497-.5v-1.5H1.5a.5.5 0 01-.5-.5v-9a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v9a.5.5 0 01-.5.5H5.707l-1.853 1.854a.5.5 0 01-.163.108zM2 3.004v8h10v-8H2z",
        fill: color2
      }
    )
  );
});
var RequestChangeIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M9.854 6.65a.5.5 0 010 .707l-2 2a.5.5 0 11-.708-.707l1.15-1.15-3.796.004a.5.5 0 010-1L8.29 6.5 7.145 5.357a.5.5 0 11.708-.707l2 2z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3.691 13.966a.498.498 0 01-.188.038h-.006a.499.499 0 01-.497-.5v-1.5H1.5a.5.5 0 01-.5-.5v-9a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v9a.5.5 0 01-.5.5H5.707l-1.853 1.854a.5.5 0 01-.163.108zM2 3.004v8h10v-8H2z",
        fill: color2
      }
    )
  );
});
var CommentsIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M8.5 7.004a.5.5 0 000-1h-5a.5.5 0 100 1h5zM9 8.504a.5.5 0 01-.5.5h-5a.5.5 0 010-1h5a.5.5 0 01.5.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M12 11.504v-1.5h1.5a.5.5 0 00.5-.5v-8a.5.5 0 00-.5-.5h-11a.5.5 0 00-.5.5v1.5H.5a.5.5 0 00-.5.5v8a.5.5 0 00.5.5H2v1.5a.499.499 0 00.497.5h.006a.498.498 0 00.35-.146l1.854-1.854H11.5a.5.5 0 00.5-.5zm-9-8.5v-1h10v7h-1v-5.5a.5.5 0 00-.5-.5H3zm-2 8v-7h10v7H1z",
        fill: color2
      }
    )
  );
});
var ChatIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1 2a2 2 0 012-2h8a2 2 0 012 2v8a2 2 0 01-2 2H6.986a.444.444 0 01-.124.103l-3.219 1.84A.43.43 0 013 13.569V12a2 2 0 01-2-2V2zm3.42 4.78a.921.921 0 110-1.843.921.921 0 010 1.842zm1.658-.922a.921.921 0 101.843 0 .921.921 0 00-1.843 0zm2.58 0a.921.921 0 101.842 0 .921.921 0 00-1.843 0z",
        fill: color2
      }
    )
  );
});
var LockIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M8 8.004a1 1 0 01-.5.866v1.634a.5.5 0 01-1 0V8.87A1 1 0 118 8.004z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3 4.004a4 4 0 118 0v1h1.5a.5.5 0 01.5.5v8a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-8a.5.5 0 01.5-.5H3v-1zm7 1v-1a3 3 0 10-6 0v1h6zm2 1H2v7h10v-7z",
        fill: color2
      }
    )
  );
});
var UnlockIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("g", { clipPath: "url(#prefix__clip0_1107_3614)", fill: color2 }, React251.createElement("path", { d: "M6.5 8.87a1 1 0 111 0v1.634a.5.5 0 01-1 0V8.87z" }), React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 1a3 3 0 00-3 3v1.004h8.5a.5.5 0 01.5.5v8a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-8a.5.5 0 01.5-.5H3V4a4 4 0 017.755-1.381.5.5 0 01-.939.345A3.001 3.001 0 007 1zM2 6.004h10v7H2v-7z"
      }
    )),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_1107_3614" }, React251.createElement("path", { fill: "#fff", d: "M0 0h14v14H0z" })))
  );
});
var KeyIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("path", { d: "M11 4a1 1 0 11-2 0 1 1 0 012 0z", fill: color2 }),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7.5 8.532V9.5a.5.5 0 01-.5.5H5.5v1.5a.5.5 0 01-.5.5H3.5v1.5a.5.5 0 01-.5.5H.5a.5.5 0 01-.5-.5v-2a.5.5 0 01.155-.362l5.11-5.11A4.5 4.5 0 117.5 8.532zM6 4.5a3.5 3.5 0 111.5 2.873c-.29-.203-1-.373-1 .481V9H5a.5.5 0 00-.5.5V11H3a.5.5 0 00-.5.5V13H1v-1.293l5.193-5.193a.552.552 0 00.099-.613A3.473 3.473 0 016 4.5z",
        fill: color2
      }
    )
  );
});
var OutboxIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7.354.15a.5.5 0 00-.708 0l-2 2a.5.5 0 10.708.707L6.5 1.711v6.793a.5.5 0 001 0V1.71l1.146 1.146a.5.5 0 10.708-.707l-2-2z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M2 7.504a.5.5 0 10-1 0v5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-5a.5.5 0 00-1 0v4.5H2v-4.5z",
        fill: color2
      }
    )
  );
});
var CreditIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("path", { d: "M2.5 8.004a.5.5 0 100 1h3a.5.5 0 000-1h-3z", fill: color2 }),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M0 11.504a.5.5 0 00.5.5h13a.5.5 0 00.5-.5v-9a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v9zm1-8.5v1h12v-1H1zm0 8h12v-5H1v5z",
        fill: color2
      }
    )
  );
});
var ButtonIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1 3.004a1 1 0 00-1 1v5a1 1 0 001 1h3.5a.5.5 0 100-1H1v-5h12v5h-1a.5.5 0 000 1h1a1 1 0 001-1v-5a1 1 0 00-1-1H1z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M6.45 7.006a.498.498 0 01.31.07L10.225 9.1a.5.5 0 01-.002.873l-1.074.621.75 1.3a.75.75 0 01-1.3.75l-.75-1.3-1.074.62a.497.497 0 01-.663-.135.498.498 0 01-.095-.3L6 7.515a.497.497 0 01.45-.509z",
        fill: color2
      }
    )
  );
});
var TypeIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M4 1.504a.5.5 0 01.5-.5h5a.5.5 0 110 1h-2v10h2a.5.5 0 010 1h-5a.5.5 0 010-1h2v-10h-2a.5.5 0 01-.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M0 4.504a.5.5 0 01.5-.5h4a.5.5 0 110 1H1v4h3.5a.5.5 0 110 1h-4a.5.5 0 01-.5-.5v-5zM9.5 4.004a.5.5 0 100 1H13v4H9.5a.5.5 0 100 1h4a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5h-4z",
        fill: color2
      }
    )
  );
});
var PointerDefaultIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M5.943 12.457a.27.27 0 00.248-.149L7.77 9.151l2.54 2.54a.257.257 0 00.188.073c.082 0 .158-.03.21-.077l.788-.79a.27.27 0 000-.392L8.891 7.9l3.416-1.708a.29.29 0 00.117-.106.222.222 0 00.033-.134.332.332 0 00-.053-.161.174.174 0 00-.092-.072l-.02-.007-10.377-4.15a.274.274 0 00-.355.354l4.15 10.372a.275.275 0 00.233.169zm-.036 1l-.02-.002c-.462-.03-.912-.31-1.106-.796L.632 2.287A1.274 1.274 0 012.286.633l10.358 4.143c.516.182.782.657.81 1.114a1.25 1.25 0 01-.7 1.197L10.58 8.174l1.624 1.624a1.27 1.27 0 010 1.807l-.8.801-.008.007c-.491.46-1.298.48-1.792-.014l-1.56-1.56-.957 1.916a1.27 1.27 0 01-1.142.702h-.037z",
        fill: color2
      }
    )
  );
});
var PointerHandIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M11.87 6.008a.505.505 0 00-.003-.028v-.002c-.026-.27-.225-.48-.467-.498a.5.5 0 00-.53.5v1.41c0 .25-.22.47-.47.47a.48.48 0 01-.47-.47V5.17a.6.6 0 00-.002-.05c-.023-.268-.223-.49-.468-.5a.5.5 0 00-.52.5v1.65a.486.486 0 01-.47.47.48.48 0 01-.47-.47V4.62a.602.602 0 00-.002-.05v-.002c-.023-.266-.224-.48-.468-.498a.5.5 0 00-.53.5v2.2c0 .25-.22.47-.47.47a.49.49 0 01-.47-.47V1.8c0-.017 0-.034-.002-.05-.022-.268-.214-.49-.468-.5a.5.5 0 00-.52.5v6.78c0 .25-.22.47-.47.47a.48.48 0 01-.47-.47l.001-.1c.001-.053.002-.104 0-.155a.775.775 0 00-.06-.315.65.65 0 00-.16-.22 29.67 29.67 0 01-.21-.189c-.2-.182-.4-.365-.617-.532l-.003-.003A6.366 6.366 0 003.06 7l-.01-.007c-.433-.331-.621-.243-.69-.193-.26.14-.29.5-.13.74l1.73 2.6v.01h-.016l-.035.023.05-.023s1.21 2.6 3.57 2.6c3.54 0 4.2-1.9 4.31-4.42.039-.591.036-1.189.032-1.783l-.002-.507v-.032zm.969 2.376c-.057 1.285-.254 2.667-1.082 3.72-.88 1.118-2.283 1.646-4.227 1.646-1.574 0-2.714-.87-3.406-1.623a6.958 6.958 0 01-1.046-1.504l-.006-.012-1.674-2.516a1.593 1.593 0 01-.25-1.107 1.44 1.44 0 01.69-1.041c.195-.124.485-.232.856-.186.357.044.681.219.976.446.137.106.272.22.4.331V1.75A1.5 1.5 0 015.63.25c.93.036 1.431.856 1.431 1.55v1.335a1.5 1.5 0 01.53-.063h.017c.512.04.915.326 1.153.71a1.5 1.5 0 01.74-.161c.659.025 1.115.458 1.316.964a1.493 1.493 0 01.644-.103h.017c.856.067 1.393.814 1.393 1.558l.002.48c.004.596.007 1.237-.033 1.864z",
        fill: color2
      }
    )
  );
});
var CommandIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3.5 6A2.5 2.5 0 116 3.5V5h2V3.5A2.5 2.5 0 1110.5 6H9v2h1.5A2.5 2.5 0 118 10.5V9H6v1.5A2.5 2.5 0 113.5 8H5V6H3.5zM2 3.5a1.5 1.5 0 113 0V5H3.5A1.5 1.5 0 012 3.5zM6 6v2h2V6H6zm3-1h1.5A1.5 1.5 0 109 3.5V5zM3.5 9H5v1.5A1.5 1.5 0 113.5 9zM9 9v1.5A1.5 1.5 0 1010.5 9H9z",
        fill: color2
      }
    )
  );
});
var SaveIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M2.917 1.25A1.667 1.667 0 001.25 2.917v8.166a1.666 1.666 0 001.667 1.667h8.166a1.666 1.666 0 001.667-1.667V4.667a.5.5 0 00-.146-.354L9.687 1.396a.5.5 0 00-.354-.146H2.917zm0 1a.667.667 0 00-.667.667v8.166a.667.667 0 00.667.667h.666V7.583a.5.5 0 01.5-.5h5.834a.5.5 0 01.5.5v4.167h.666a.666.666 0 00.667-.667v-6.21L9.126 2.25H4.583v1.917H8.75a.5.5 0 110 1H4.083a.5.5 0 01-.5-.5V2.25h-.666zm1.666 9.5h4.834V8.084H4.583v3.666z",
        fill: color2
      }
    )
  );
});
var SortDownIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M4.5 2a.5.5 0 01.5.5v8.293l2.146-2.147a.5.5 0 11.708.708L4.86 12.346l-.007.008a.499.499 0 01-.351.146h-.006a.5.5 0 01-.35-.146l-3-3a.5.5 0 11.707-.708L4 10.793V2.5a.5.5 0 01.5-.5zM7 2.5a.5.5 0 01.5-.5h5a.5.5 0 010 1h-5a.5.5 0 01-.5-.5zM7 5.5a.5.5 0 01.5-.5h5a.5.5 0 010 1h-5a.5.5 0 01-.5-.5zM10.5 8a.5.5 0 000 1h2a.5.5 0 000-1h-2zM8 11.5a.5.5 0 01.5-.5h4a.5.5 0 010 1h-4a.5.5 0 01-.5-.5z",
        fill: color2
      }
    )
  );
});
var SortUpIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M4.308 1.538a.496.496 0 00-.162.108l-3 3a.5.5 0 10.708.707L4 3.207V11.5a.5.5 0 001 0V3.207l2.146 2.147a.5.5 0 10.708-.708l-3-3a.5.5 0 00-.546-.108zM8 2.5a.5.5 0 01.5-.5h4a.5.5 0 010 1h-4a.5.5 0 01-.5-.5zM10.5 5a.5.5 0 000 1h2a.5.5 0 000-1h-2zM13 8.5a.5.5 0 01-.5.5h-5a.5.5 0 010-1h5a.5.5 0 01.5.5zM7 11.5a.5.5 0 01.5-.5h5a.5.5 0 010 1h-5a.5.5 0 01-.5-.5z",
        fill: color2
      }
    )
  );
});
var BugIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M11 0a.5.5 0 010 1 2 2 0 00-1.987 1.78C9.618 3.33 10 4.12 10 5a3 3 0 003-3 .5.5 0 011 0 4.002 4.002 0 01-3 3.874V7h2.5a.5.5 0 010 1H11v.626c1.725.444 3 2.01 3 3.874a.5.5 0 01-1 0 3 3 0 00-2.055-2.846 4 4 0 01-7.891 0A3 3 0 001 12.5a.5.5 0 01-1 0 4.002 4.002 0 013-3.874V8H.5a.5.5 0 010-1H3V5.874A4.002 4.002 0 010 2a.5.5 0 011 0 3 3 0 003 3c0-.88.382-1.67.986-2.22A1.999 1.999 0 003 1a.5.5 0 010-1c1.384 0 2.545.938 2.892 2.213a2.99 2.99 0 012.215 0A2.999 2.999 0 0111 0zM4 9a3 3 0 002.5 2.958V6H4v3zm3.5 2.958A3 3 0 0010 9V6H7.5v5.958zM7 3a2 2 0 00-2 2h4a2 2 0 00-2-2z",
        fill: color2
      }
    )
  );
});
var EditorIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7.536 5.314a.5.5 0 01.928.372l-2 5a.5.5 0 01-.928-.371l2-5zM3.646 6.146a.5.5 0 01.708.708L3.207 8l1.147 1.146a.5.5 0 01-.708.708l-1.5-1.5a.5.5 0 01-.063-.63l.063-.078 1.5-1.5zM9.646 6.146a.5.5 0 01.707 0l1.5 1.5.065.079a.497.497 0 01-.064.629l-1.5 1.5a.5.5 0 01-.708-.708L10.793 8 9.646 6.854a.5.5 0 010-.708z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M13.5 1.004a.5.5 0 01.5.5v11l-.01.1a.501.501 0 01-.39.39l-.1.01H.5l-.1-.01a.501.501 0 01-.39-.39l-.01-.1v-11a.5.5 0 01.5-.5h13zm-12.5 11h12v-8H1v8zm.5-10a.5.5 0 100 1 .5.5 0 000-1zm2 0a.5.5 0 100 1 .5.5 0 000-1zm2 0a.5.5 0 100 1 .5.5 0 000-1z",
        fill: color2
      }
    )
  );
});
var InfoIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 13A6 6 0 107 1a6 6 0 000 12zm0 1A7 7 0 107 0a7 7 0 000 14z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 5.5a.5.5 0 01.5.5v4.5a.5.5 0 01-1 0V6a.5.5 0 01.5-.5z",
        fill: color2
      }
    ),
    React251.createElement("path", { d: "M7.75 3.75a.75.75 0 11-1.5 0 .75.75 0 011.5 0z", fill: color2 })
  );
});
var QuestionIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5.25 5.25A1.75 1.75 0 117 7a.5.5 0 00-.5.5V9a.5.5 0 001 0V7.955A2.75 2.75 0 104.25 5.25a.5.5 0 001 0zM7 11.5A.75.75 0 107 10a.75.75 0 000 1.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 110 7a7 7 0 0114 0zm-1 0A6 6 0 111 7a6 6 0 0112 0z",
        fill: color2
      }
    )
  );
});
var SupportIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 110 7a7 7 0 0114 0zm-3.524 4.89A5.972 5.972 0 017 13a5.972 5.972 0 01-3.477-1.11l1.445-1.444C5.564 10.798 6.258 11 7 11s1.436-.202 2.032-.554l1.444 1.445zm-.03-2.858l1.445 1.444A5.972 5.972 0 0013 7c0-1.296-.41-2.496-1.11-3.477l-1.444 1.445C10.798 5.564 11 6.258 11 7s-.202 1.436-.554 2.032zM9.032 3.554l1.444-1.445A5.972 5.972 0 007 1c-1.296 0-2.496.41-3.477 1.11l1.445 1.444A3.981 3.981 0 017 3c.742 0 1.436.202 2.032.554zM3.554 4.968L2.109 3.523A5.973 5.973 0 001 7c0 1.296.41 2.496 1.11 3.476l1.444-1.444A3.981 3.981 0 013 7c0-.742.202-1.436.554-2.032zM10 7a3 3 0 11-6 0 3 3 0 016 0z",
        fill: color2
      }
    )
  );
});
var AlertIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7 4.5a.5.5 0 01.5.5v3.5a.5.5 0 11-1 0V5a.5.5 0 01.5-.5zM7.75 10.5a.75.75 0 11-1.5 0 .75.75 0 011.5 0z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7.206 1.045a.498.498 0 01.23.209l6.494 10.992a.5.5 0 01-.438.754H.508a.497.497 0 01-.506-.452.498.498 0 01.072-.31l6.49-10.984a.497.497 0 01.642-.21zM7 2.483L1.376 12h11.248L7 2.483z",
        fill: color2
      }
    )
  );
});
var AlertAltIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 110 7a7 7 0 0114 0zM6.5 8a.5.5 0 001 0V4a.5.5 0 00-1 0v4zm-.25 2.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0z",
        fill: color2
      }
    )
  );
});
var EmailIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M0 2.504a.5.5 0 01.5-.5h13a.5.5 0 01.5.5v9a.5.5 0 01-.5.5H.5a.5.5 0 01-.5-.5v-9zm1 1.012v7.488h12V3.519L7.313 7.894a.496.496 0 01-.526.062.497.497 0 01-.1-.062L1 3.516zm11.03-.512H1.974L7 6.874l5.03-3.87z",
        fill: color2
      }
    )
  );
});
var PhoneIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7.76 8.134l-.05.05a.2.2 0 01-.28.03 6.76 6.76 0 01-1.63-1.65.21.21 0 01.04-.27l.05-.05c.23-.2.54-.47.71-.96.17-.47-.02-1.04-.66-1.94-.26-.38-.72-.96-1.22-1.46-.68-.69-1.2-1-1.65-1a.98.98 0 00-.51.13A3.23 3.23 0 00.9 3.424c-.13 1.1.26 2.37 1.17 3.78a16.679 16.679 0 004.55 4.6 6.57 6.57 0 003.53 1.32 3.2 3.2 0 002.85-1.66c.14-.24.24-.64-.07-1.18a7.803 7.803 0 00-1.73-1.81c-.64-.5-1.52-1.11-2.13-1.11a.97.97 0 00-.34.06c-.472.164-.74.458-.947.685l-.023.025zm4.32 2.678a6.801 6.801 0 00-1.482-1.54l-.007-.005-.006-.005a8.418 8.418 0 00-.957-.662 2.7 2.7 0 00-.4-.193.683.683 0 00-.157-.043l-.004.002-.009.003c-.224.078-.343.202-.56.44l-.014.016-.046.045a1.2 1.2 0 01-1.602.149A7.76 7.76 0 014.98 7.134l-.013-.019-.013-.02a1.21 1.21 0 01.195-1.522l.06-.06.026-.024c.219-.19.345-.312.422-.533l.003-.01v-.008a.518.518 0 00-.032-.142c-.06-.178-.203-.453-.502-.872l-.005-.008-.005-.007A10.18 10.18 0 004.013 2.59l-.005-.005c-.31-.314-.543-.5-.716-.605-.147-.088-.214-.096-.222-.097h-.016l-.006.003-.01.006a2.23 2.23 0 00-1.145 1.656c-.09.776.175 1.806 1.014 3.108a15.68 15.68 0 004.274 4.32l.022.014.022.016a5.57 5.57 0 002.964 1.117 2.2 2.2 0 001.935-1.141l.006-.012.004-.007a.182.182 0 00-.007-.038.574.574 0 00-.047-.114z",
        fill: color2
      }
    )
  );
});
var LinkIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M11.841 2.159a2.25 2.25 0 00-3.182 0l-2.5 2.5a2.25 2.25 0 000 3.182.5.5 0 01-.707.707 3.25 3.25 0 010-4.596l2.5-2.5a3.25 3.25 0 014.596 4.596l-2.063 2.063a4.27 4.27 0 00-.094-1.32l1.45-1.45a2.25 2.25 0 000-3.182z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M3.61 7.21c-.1-.434-.132-.88-.095-1.321L1.452 7.952a3.25 3.25 0 104.596 4.596l2.5-2.5a3.25 3.25 0 000-4.596.5.5 0 00-.707.707 2.25 2.25 0 010 3.182l-2.5 2.5A2.25 2.25 0 112.159 8.66l1.45-1.45z",
        fill: color2
      }
    )
  );
});
var LinkBrokenIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.452 7.952l1.305-1.305.708.707-1.306 1.305a2.25 2.25 0 103.182 3.182l1.306-1.305.707.707-1.306 1.305a3.25 3.25 0 01-4.596-4.596zM12.548 6.048l-1.305 1.306-.707-.708 1.305-1.305a2.25 2.25 0 10-3.182-3.182L7.354 3.464l-.708-.707 1.306-1.305a3.25 3.25 0 014.596 4.596zM1.854 1.146a.5.5 0 10-.708.708l11 11a.5.5 0 00.707-.707l-11-11z",
        fill: color2
      }
    )
  );
});
var BellIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7.994 1.11a1 1 0 10-1.988 0A4.502 4.502 0 002.5 5.5v3.882l-.943 1.885a.497.497 0 00-.053.295.5.5 0 00.506.438h3.575a1.5 1.5 0 102.83 0h3.575a.5.5 0 00.453-.733L11.5 9.382V5.5a4.502 4.502 0 00-3.506-4.39zM2.81 11h8.382l-.5-1H3.31l-.5 1zM10.5 9V5.5a3.5 3.5 0 10-7 0V9h7zm-4 3.5a.5.5 0 111 0 .5.5 0 01-1 0z",
        fill: color2
      }
    )
  );
});
var RSSIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.5.5A.5.5 0 012 0c6.627 0 12 5.373 12 12a.5.5 0 01-1 0C13 5.925 8.075 1 2 1a.5.5 0 01-.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M1.5 4.5A.5.5 0 012 4a8 8 0 018 8 .5.5 0 01-1 0 7 7 0 00-7-7 .5.5 0 01-.5-.5z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M5 11a2 2 0 11-4 0 2 2 0 014 0zm-1 0a1 1 0 11-2 0 1 1 0 012 0z",
        fill: color2
      }
    )
  );
});
var ShareAltIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M2 1.004a1 1 0 00-1 1v10a1 1 0 001 1h10a1 1 0 001-1v-4.5a.5.5 0 00-1 0v4.5H2v-10h4.5a.5.5 0 000-1H2z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M7.354 7.357L12 2.711v1.793a.5.5 0 001 0v-3a.5.5 0 00-.5-.5h-3a.5.5 0 100 1h1.793L6.646 6.65a.5.5 0 10.708.707z",
        fill: color2
      }
    )
  );
});
var ShareIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M6.646.15a.5.5 0 01.708 0l2 2a.5.5 0 11-.708.707L7.5 1.711v6.793a.5.5 0 01-1 0V1.71L5.354 2.857a.5.5 0 11-.708-.707l2-2z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M2 4.004a1 1 0 00-1 1v7a1 1 0 001 1h10a1 1 0 001-1v-7a1 1 0 00-1-1H9.5a.5.5 0 100 1H12v7H2v-7h2.5a.5.5 0 000-1H2z",
        fill: color2
      }
    )
  );
});
var JumpToIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M13.854 6.646a.5.5 0 010 .708l-2 2a.5.5 0 01-.708-.708L12.293 7.5H5.5a.5.5 0 010-1h6.793l-1.147-1.146a.5.5 0 01.708-.708l2 2z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M10 2a1 1 0 00-1-1H2a1 1 0 00-1 1v10a1 1 0 001 1h7a1 1 0 001-1V9.5a.5.5 0 00-1 0V12H2V2h7v2.5a.5.5 0 001 0V2z",
        fill: color2
      }
    )
  );
});
var CircleHollowIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 13A6 6 0 107 1a6 6 0 000 12zm0 1A7 7 0 107 0a7 7 0 000 14z",
        fill: color2
      }
    )
  );
});
var CircleIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("path", { d: "M14 7A7 7 0 110 7a7 7 0 0114 0z", fill: color2 })
  );
});
var BookmarkHollowIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3.5 0h7a.5.5 0 01.5.5v13a.5.5 0 01-.454.498.462.462 0 01-.371-.118L7 11.159l-3.175 2.72a.46.46 0 01-.379.118A.5.5 0 013 13.5V.5a.5.5 0 01.5-.5zM4 12.413l2.664-2.284a.454.454 0 01.377-.128.498.498 0 01.284.12L10 12.412V1H4v11.413z",
        fill: color2
      }
    )
  );
});
var BookmarkIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 15",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3.5 0h7a.5.5 0 01.5.5v13a.5.5 0 01-.454.498.462.462 0 01-.371-.118L7 11.159l-3.175 2.72a.46.46 0 01-.379.118A.5.5 0 013 13.5V.5a.5.5 0 01.5-.5z",
        fill: color2
      }
    )
  );
});
var DiamondIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("g", { clipPath: "url(#prefix__clip0_1449_588)" }, React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M8.414 1.586a2 2 0 00-2.828 0l-4 4a2 2 0 000 2.828l4 4a2 2 0 002.828 0l4-4a2 2 0 000-2.828l-4-4zm.707-.707a3 3 0 00-4.242 0l-4 4a3 3 0 000 4.242l4 4a3 3 0 004.242 0l4-4a3 3 0 000-4.242l-4-4z",
        fill: color2
      }
    )),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_1449_588" }, React251.createElement("path", { fill: "#fff", d: "M0 0h14v14H0z" })))
  );
});
var HeartHollowIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M12.814 1.846c.06.05.116.101.171.154l.001.002a3.254 3.254 0 01.755 1.168c.171.461.259.974.259 1.538 0 .332-.046.656-.143.976a4.546 4.546 0 01-.397.937c-.169.302-.36.589-.58.864a7.627 7.627 0 01-.674.746l-4.78 4.596a.585.585 0 01-.427.173.669.669 0 01-.44-.173L1.78 8.217a7.838 7.838 0 01-.677-.748 6.124 6.124 0 01-.572-.855 4.975 4.975 0 01-.388-.931A3.432 3.432 0 010 4.708C0 4.144.09 3.63.265 3.17c.176-.459.429-.85.757-1.168a3.432 3.432 0 011.193-.74c.467-.176.99-.262 1.57-.262.304 0 .608.044.907.137.301.092.586.215.855.367.27.148.526.321.771.512.244.193.471.386.682.584.202-.198.427-.391.678-.584.248-.19.507-.364.78-.512a4.65 4.65 0 01.845-.367c.294-.093.594-.137.9-.137.585 0 1.115.086 1.585.262.392.146.734.34 1.026.584zM1.2 3.526c.128-.333.304-.598.52-.806.218-.212.497-.389.849-.522m-1.37 1.328A3.324 3.324 0 001 4.708c0 .225.032.452.101.686.082.265.183.513.307.737.135.246.294.484.479.716.188.237.386.454.59.652l.001.002 4.514 4.355 4.519-4.344c.2-.193.398-.41.585-.648l.003-.003c.184-.23.345-.472.486-.726l.004-.007c.131-.23.232-.474.31-.732v-.002c.068-.224.101-.45.101-.686 0-.457-.07-.849-.195-1.185a2.177 2.177 0 00-.515-.802l.007-.012-.008.009a2.383 2.383 0 00-.85-.518l-.003-.001C11.1 2.072 10.692 2 10.203 2c-.21 0-.406.03-.597.09h-.001c-.22.07-.443.167-.663.289l-.007.003c-.22.12-.434.262-.647.426-.226.174-.42.341-.588.505l-.684.672-.7-.656a9.967 9.967 0 00-.615-.527 4.82 4.82 0 00-.635-.422l-.01-.005a3.289 3.289 0 00-.656-.281l-.008-.003A2.014 2.014 0 003.785 2c-.481 0-.881.071-1.217.198",
        fill: color2
      }
    )
  );
});
var HeartIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M12.814 1.846c.06.05.116.101.171.154l.001.002a3.254 3.254 0 01.755 1.168c.171.461.259.974.259 1.538 0 .332-.046.656-.143.976a4.546 4.546 0 01-.397.937c-.169.302-.36.589-.58.864a7.627 7.627 0 01-.674.746l-4.78 4.596a.585.585 0 01-.427.173.669.669 0 01-.44-.173L1.78 8.217a7.838 7.838 0 01-.677-.748 6.124 6.124 0 01-.572-.855 4.975 4.975 0 01-.388-.931A3.432 3.432 0 010 4.708C0 4.144.09 3.63.265 3.17c.176-.459.429-.85.757-1.168a3.432 3.432 0 011.193-.74c.467-.176.99-.262 1.57-.262.304 0 .608.044.907.137.301.092.586.215.855.367.27.148.526.321.771.512.244.193.471.386.682.584.202-.198.427-.391.678-.584.248-.19.507-.364.78-.512a4.65 4.65 0 01.845-.367c.294-.093.594-.137.9-.137.585 0 1.115.086 1.585.262.392.146.734.34 1.026.584z",
        fill: color2
      }
    )
  );
});
var StarHollowIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M6.319.783a.75.75 0 011.362 0l1.63 3.535 3.867.458a.75.75 0 01.42 1.296L10.74 8.715l.76 3.819a.75.75 0 01-1.103.8L7 11.434l-3.398 1.902a.75.75 0 01-1.101-.801l.758-3.819L.401 6.072a.75.75 0 01.42-1.296l3.867-.458L6.318.783zm.68.91l-1.461 3.17a.75.75 0 01-.593.431l-3.467.412 2.563 2.37a.75.75 0 01.226.697l-.68 3.424 3.046-1.705a.75.75 0 01.733 0l3.047 1.705-.68-3.424a.75.75 0 01.226-.697l2.563-2.37-3.467-.412a.75.75 0 01-.593-.43L7 1.694z",
        fill: color2
      }
    )
  );
});
var StarIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7.68.783a.75.75 0 00-1.361 0l-1.63 3.535-3.867.458A.75.75 0 00.4 6.072l2.858 2.643-.758 3.819a.75.75 0 001.101.8L7 11.434l3.397 1.902a.75.75 0 001.102-.801l-.759-3.819L13.6 6.072a.75.75 0 00-.421-1.296l-3.866-.458L7.68.783z",
        fill: color2
      }
    )
  );
});
var CertificateIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M10 7.854a4.5 4.5 0 10-6 0V13a.5.5 0 00.497.5h.006c.127 0 .254-.05.35-.146L7 11.207l2.146 2.147A.5.5 0 0010 13V7.854zM7 8a3.5 3.5 0 100-7 3.5 3.5 0 000 7zm-.354 2.146a.5.5 0 01.708 0L9 11.793v-3.26C8.398 8.831 7.718 9 7 9a4.481 4.481 0 01-2-.468v3.26l1.646-1.646z",
        fill: color2
      }
    )
  );
});
var VerifiedIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M6.565 13.123a.991.991 0 01.87 0l.987.482a.991.991 0 001.31-.426l.515-.97a.991.991 0 01.704-.511l1.082-.19a.99.99 0 00.81-1.115l-.154-1.087a.991.991 0 01.269-.828l.763-.789a.991.991 0 000-1.378l-.763-.79a.991.991 0 01-.27-.827l.155-1.087a.99.99 0 00-.81-1.115l-1.082-.19a.991.991 0 01-.704-.511L9.732.82a.99.99 0 00-1.31-.426l-.987.482a.991.991 0 01-.87 0L5.578.395a.99.99 0 00-1.31.426l-.515.97a.99.99 0 01-.704.511l-1.082.19a.99.99 0 00-.81 1.115l.154 1.087a.99.99 0 01-.269.828L.28 6.31a.99.99 0 000 1.378l.763.79a.99.99 0 01.27.827l-.155 1.087a.99.99 0 00.81 1.115l1.082.19a.99.99 0 01.704.511l.515.97c.25.473.83.661 1.31.426l.987-.482zm4.289-8.477a.5.5 0 010 .708l-4.5 4.5a.5.5 0 01-.708 0l-2.5-2.5a.5.5 0 11.708-.708L6 8.793l4.146-4.147a.5.5 0 01.708 0z",
        fill: color2
      }
    )
  );
});
var ThumbsUpIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M11 12.02c-.4.37-.91.56-1.56.56h-.88a5.493 5.493 0 01-1.3-.16c-.42-.1-.91-.25-1.47-.45a5.056 5.056 0 00-.95-.27H2.88a.84.84 0 01-.62-.26.84.84 0 01-.26-.61V6.45c0-.24.09-.45.26-.62a.84.84 0 01.62-.25h1.87c.16-.11.47-.47.93-1.06.27-.35.51-.64.74-.88.1-.11.19-.3.24-.58.05-.28.12-.57.2-.87.1-.3.24-.55.43-.74a.87.87 0 01.62-.25c.38 0 .72.07 1.03.22.3.15.54.38.7.7.15.31.23.73.23 1.27a3 3 0 01-.32 1.31h1.2c.47 0 .88.17 1.23.52s.52.8.52 1.22c0 .29-.04.66-.34 1.12.05.15.07.3.07.47 0 .35-.09.68-.26.98a2.05 2.05 0 01-.4 1.51 1.9 1.9 0 01-.57 1.5zm.473-5.33a.965.965 0 00.027-.25.742.742 0 00-.227-.513.683.683 0 00-.523-.227H7.927l.73-1.45a2 2 0 00.213-.867c0-.444-.068-.695-.127-.822a.53.53 0 00-.245-.244 1.296 1.296 0 00-.539-.116.989.989 0 00-.141.28 9.544 9.544 0 00-.174.755c-.069.387-.213.779-.484 1.077l-.009.01-.009.01c-.195.202-.41.46-.67.798l-.003.004c-.235.3-.44.555-.613.753-.151.173-.343.381-.54.516l-.255.176H5v4.133l.018.003c.384.07.76.176 1.122.318.532.189.98.325 1.352.413l.007.002a4.5 4.5 0 001.063.131h.878c.429 0 .683-.115.871-.285a.9.9 0 00.262-.702l-.028-.377.229-.3a1.05 1.05 0 00.205-.774l-.044-.333.165-.292a.969.969 0 00.13-.487.457.457 0 00-.019-.154l-.152-.458.263-.404a1.08 1.08 0 00.152-.325zM3.5 10.8a.5.5 0 100-1 .5.5 0 000 1z",
        fill: color2
      }
    )
  );
});
var ShieldIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M11.765 2.076A.5.5 0 0112 2.5v6.009a.497.497 0 01-.17.366L7.337 12.87a.497.497 0 01-.674 0L2.17 8.875l-.009-.007a.498.498 0 01-.16-.358L2 8.5v-6a.5.5 0 01.235-.424l.018-.011c.016-.01.037-.024.065-.04.056-.032.136-.077.24-.128a6.97 6.97 0 01.909-.371C4.265 1.26 5.443 1 7 1s2.735.26 3.533.526c.399.133.702.267.91.37a4.263 4.263 0 01.304.169l.018.01zM3 2.793v5.482l1.068.95 6.588-6.588a6.752 6.752 0 00-.44-.163C9.517 2.24 8.444 2 7 2c-1.443 0-2.515.24-3.217.474-.351.117-.61.233-.778.317L3 2.793zm4 9.038l-2.183-1.94L11 3.706v4.568l-4 3.556z",
        fill: color2
      }
    )
  );
});
var BasketIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M10.354 2.854a.5.5 0 10-.708-.708l-3 3a.5.5 0 10.708.708l3-3z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M2.09 6H4.5a.5.5 0 000-1H1.795a.75.75 0 00-.74.873l.813 4.874A1.5 1.5 0 003.348 12h7.305a1.5 1.5 0 001.48-1.253l.812-4.874a.75.75 0 00-.74-.873H10a.5.5 0 000 1h1.91l-.764 4.582a.5.5 0 01-.493.418H3.347a.5.5 0 01-.493-.418L2.09 6z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M4.5 7a.5.5 0 01.5.5v2a.5.5 0 01-1 0v-2a.5.5 0 01.5-.5zM10 7.5a.5.5 0 00-1 0v2a.5.5 0 001 0v-2zM6.5 9.5v-2a.5.5 0 011 0v2a.5.5 0 01-1 0z",
        fill: color2
      }
    )
  );
});
var BeakerIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M4.5 2h.75v3.866l-3.034 5.26A1.25 1.25 0 003.299 13H10.7a1.25 1.25 0 001.083-1.875L8.75 5.866V2h.75a.5.5 0 100-1h-5a.5.5 0 000 1zm1.75 4V2h1.5v4.134l.067.116L8.827 8H5.173l1.01-1.75.067-.116V6zM4.597 9l-1.515 2.625A.25.25 0 003.3 12H10.7a.25.25 0 00.217-.375L9.404 9H4.597z",
        fill: color2
      }
    )
  );
});
var HourglassIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("path", { d: "M7.5 10.5a.5.5 0 11-1 0 .5.5 0 011 0z", fill: color2 }),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3.5 1a.5.5 0 00-.5.5c0 1.063.137 1.892.678 2.974.346.692.858 1.489 1.598 2.526-.89 1.247-1.455 2.152-1.798 2.956-.377.886-.477 1.631-.478 2.537v.007a.5.5 0 00.5.5h7c.017 0 .034 0 .051-.003A.5.5 0 0011 12.5v-.007c0-.906-.1-1.65-.478-2.537-.343-.804-.909-1.709-1.798-2.956.74-1.037 1.252-1.834 1.598-2.526C10.863 3.392 11 2.563 11 1.5a.5.5 0 00-.5-.5h-7zm6.487 11a4.675 4.675 0 00-.385-1.652c-.277-.648-.735-1.407-1.499-2.494-.216.294-.448.606-.696.937a.497.497 0 01-.195.162.5.5 0 01-.619-.162c-.248-.331-.48-.643-.696-.937-.764 1.087-1.222 1.846-1.499 2.494A4.675 4.675 0 004.013 12h5.974zM6.304 6.716c.212.293.443.609.696.948a90.058 90.058 0 00.709-.965c.48-.664.86-1.218 1.163-1.699H5.128a32.672 32.672 0 001.176 1.716zM4.559 4h4.882c.364-.735.505-1.312.546-2H4.013c.04.688.182 1.265.546 2z",
        fill: color2
      }
    )
  );
});
var FlagIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M11.5 1h-9a.5.5 0 00-.5.5v11a.5.5 0 001 0V8h8.5a.5.5 0 00.354-.854L9.207 4.5l2.647-2.646A.499.499 0 0011.5 1zM8.146 4.146L10.293 2H3v5h7.293L8.146 4.854a.5.5 0 010-.708z",
        fill: color2
      }
    )
  );
});
var CloudHollowIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M10 7V6a3 3 0 00-5.91-.736l-.17.676-.692.075A2.5 2.5 0 003.5 11h3c.063 0 .125-.002.187-.007l.076-.005.076.006c.053.004.106.006.161.006h4a2 2 0 100-4h-1zM3.12 5.02A3.5 3.5 0 003.5 12h3c.087 0 .174-.003.26-.01.079.007.16.01.24.01h4a3 3 0 100-6 4 4 0 00-7.88-.98z",
        fill: color2
      }
    )
  );
});
var CloudIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7 2a4 4 0 014 4 3 3 0 110 6H7c-.08 0-.161-.003-.24-.01-.086.007-.173.01-.26.01h-3a3.5 3.5 0 01-.38-6.98A4.002 4.002 0 017 2z",
        fill: color2
      }
    )
  );
});
var StickerIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M11 7a4 4 0 11-8 0 4 4 0 018 0zm-1 0a3 3 0 11-6 0 3 3 0 016 0z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M4.268 13.18c.25.472.83.66 1.31.425l.987-.482a.991.991 0 01.87 0l.987.482a.991.991 0 001.31-.426l.515-.97a.991.991 0 01.704-.511l1.082-.19a.99.99 0 00.81-1.115l-.154-1.087a.991.991 0 01.269-.828l.763-.789a.991.991 0 000-1.378l-.763-.79a.991.991 0 01-.27-.827l.155-1.087a.99.99 0 00-.81-1.115l-1.082-.19a.991.991 0 01-.704-.511L9.732.82a.99.99 0 00-1.31-.426l-.987.482a.991.991 0 01-.87 0L5.578.395a.99.99 0 00-1.31.426l-.515.97a.99.99 0 01-.704.511l-1.082.19a.99.99 0 00-.81 1.115l.154 1.087a.99.99 0 01-.269.828L.28 6.31a.99.99 0 000 1.378l.763.79a.99.99 0 01.27.827l-.155 1.087a.99.99 0 00.81 1.115l1.082.19a.99.99 0 01.704.511l.515.97zm5.096-1.44l-.511.963-.979-.478a1.99 1.99 0 00-1.748 0l-.979.478-.51-.962a1.991 1.991 0 00-1.415-1.028l-1.073-.188.152-1.079a1.991 1.991 0 00-.54-1.663L1.004 7l.757-.783a1.991 1.991 0 00.54-1.663L2.15 3.475l1.073-.188A1.991 1.991 0 004.636 2.26l.511-.962.979.478a1.99 1.99 0 001.748 0l.979-.478.51.962c.288.543.81.922 1.415 1.028l1.073.188-.152 1.079a1.99 1.99 0 00.54 1.663l.757.783-.757.783a1.99 1.99 0 00-.54 1.663l.152 1.079-1.073.188a1.991 1.991 0 00-1.414 1.028z",
        fill: color2
      }
    )
  );
});
var StatusFailIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 4a3 3 0 100 6 3 3 0 000-6zM3 7a4 4 0 118 0 4 4 0 01-8 0z",
        fill: color2
      }
    )
  );
});
var StatusIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("circle", { cx: 7, cy: 7, r: 3, fill: color2 })
  );
});
var StatusWarnIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7.206 3.044a.498.498 0 01.23.212l3.492 5.985a.494.494 0 01.006.507.497.497 0 01-.443.252H3.51a.499.499 0 01-.437-.76l3.492-5.984a.497.497 0 01.642-.212zM7 4.492L4.37 9h5.26L7 4.492z",
        fill: color2
      }
    )
  );
});
var StatusPassIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M10.854 4.146a.5.5 0 010 .708l-5 5a.5.5 0 01-.708 0l-2-2a.5.5 0 11.708-.708L5.5 8.793l4.646-4.647a.5.5 0 01.708 0z",
        fill: color2
      }
    )
  );
});
var GiftIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M9 0a2.5 2.5 0 011.997 4H12.5A1.5 1.5 0 0114 5.5v1c0 .653-.418 1.206-1 1.412V11.5a1.5 1.5 0 01-1.5 1.5h-9A1.5 1.5 0 011 11.5V7.912c-.582-.206-1-.76-1-1.412v-1A1.5 1.5 0 011.5 4h1.883A2.234 2.234 0 013 2.75c0-.6.208-1.142.597-1.535.39-.394.93-.607 1.533-.607.637 0 1.197.349 1.602.843A2.498 2.498 0 019 0zM7.5 12h4a.5.5 0 00.5-.5V8H7.5v4zM2 11.5a.5.5 0 00.5.5h4V8H2v3.5zM7.5 7h5a.5.5 0 00.5-.5v-1a.5.5 0 00-.5-.5h-5v2zm-6-2a.5.5 0 00-.5.5v1a.5.5 0 00.5.5h5V5h-5zm3.63-3.392c-.363 0-.639.125-.822.31-.184.187-.308.466-.308.832C4 3.44 4.56 4 5.25 4H6.5v-.25c0-.648-.197-1.203-.477-1.585-.283-.388-.616-.557-.893-.557zM9 1a1.5 1.5 0 00-1.5 1.5V4H9a1.5 1.5 0 100-3z",
        fill: color2
      }
    )
  );
});
var ChevronUpIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7.354 3.896l5.5 5.5a.5.5 0 01-.708.708L7 4.957l-5.146 5.147a.5.5 0 01-.708-.708l5.5-5.5a.5.5 0 01.708 0z",
        fill: color2
      }
    )
  );
});
var ChevronDownIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.146 4.604l5.5 5.5a.5.5 0 00.708 0l5.5-5.5a.5.5 0 00-.708-.708L7 9.043 1.854 3.896a.5.5 0 10-.708.708z",
        fill: color2
      }
    )
  );
});
var ChevronLeftIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M2.76 7.096a.498.498 0 00.136.258l5.5 5.5a.5.5 0 00.707-.708L3.958 7l5.147-5.146a.5.5 0 10-.708-.708l-5.5 5.5a.5.5 0 00-.137.45z",
        fill: color2
      }
    )
  );
});
var ChevronRightIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M11.104 7.354l-5.5 5.5a.5.5 0 01-.708-.708L10.043 7 4.896 1.854a.5.5 0 11.708-.708l5.5 5.5a.5.5 0 010 .708z",
        fill: color2
      }
    )
  );
});
var ChevronSmallUpIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M3.854 9.104a.5.5 0 11-.708-.708l3.5-3.5a.5.5 0 01.708 0l3.5 3.5a.5.5 0 01-.708.708L7 5.957 3.854 9.104z",
        fill: color2
      }
    )
  );
});
var ChevronSmallDownIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M3.854 4.896a.5.5 0 10-.708.708l3.5 3.5a.5.5 0 00.708 0l3.5-3.5a.5.5 0 00-.708-.708L7 8.043 3.854 4.896z",
        fill: color2
      }
    )
  );
});
var ChevronSmallLeftIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M9.104 10.146a.5.5 0 01-.708.708l-3.5-3.5a.5.5 0 010-.708l3.5-3.5a.5.5 0 11.708.708L5.957 7l3.147 3.146z",
        fill: color2
      }
    )
  );
});
var ChevronSmallRightIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M4.896 10.146a.5.5 0 00.708.708l3.5-3.5a.5.5 0 000-.708l-3.5-3.5a.5.5 0 10-.708.708L8.043 7l-3.147 3.146z",
        fill: color2
      }
    )
  );
});
var ArrowUpIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M11.854 4.646l-4.5-4.5a.5.5 0 00-.708 0l-4.5 4.5a.5.5 0 10.708.708L6.5 1.707V13.5a.5.5 0 001 0V1.707l3.646 3.647a.5.5 0 00.708-.708z",
        fill: color2
      }
    )
  );
});
var ArrowDownIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7.5.5a.5.5 0 00-1 0v11.793L2.854 8.646a.5.5 0 10-.708.708l4.5 4.5a.5.5 0 00.351.146h.006c.127 0 .254-.05.35-.146l4.5-4.5a.5.5 0 00-.707-.708L7.5 12.293V.5z",
        fill: color2
      }
    )
  );
});
var ArrowLeftIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5.354 2.146a.5.5 0 010 .708L1.707 6.5H13.5a.5.5 0 010 1H1.707l3.647 3.646a.5.5 0 01-.708.708l-4.5-4.5a.5.5 0 010-.708l4.5-4.5a.5.5 0 01.708 0z",
        fill: color2
      }
    )
  );
});
var ArrowRightIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M8.646 2.146a.5.5 0 01.708 0l4.5 4.5a.5.5 0 010 .708l-4.5 4.5a.5.5 0 01-.708-.708L12.293 7.5H.5a.5.5 0 010-1h11.793L8.646 2.854a.5.5 0 010-.708z",
        fill: color2
      }
    )
  );
});
var ArrowTopLeftIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.904 8.768V2.404a.5.5 0 01.5-.5h6.364a.5.5 0 110 1H3.61l8.339 8.339a.5.5 0 01-.707.707l-8.34-8.34v5.158a.5.5 0 01-1 0z",
        fill: color2
      }
    )
  );
});
var ArrowTopRightIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M12.096 8.768V2.404a.5.5 0 00-.5-.5H5.232a.5.5 0 100 1h5.157L2.05 11.243a.5.5 0 10.707.707l8.34-8.34v5.158a.5.5 0 101 0z",
        fill: color2
      }
    )
  );
});
var ArrowBottomLeftIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.904 5.232v6.364a.5.5 0 00.5.5h6.364a.5.5 0 000-1H3.61l8.339-8.339a.5.5 0 00-.707-.707l-8.34 8.34V5.231a.5.5 0 00-1 0z",
        fill: color2
      }
    )
  );
});
var ArrowBottomRightIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M12.096 5.232v6.364a.5.5 0 01-.5.5H5.232a.5.5 0 010-1h5.157L2.05 2.757a.5.5 0 01.707-.707l8.34 8.34V5.231a.5.5 0 111 0z",
        fill: color2
      }
    )
  );
});
var ArrowSolidUpIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M6.772 3.59c.126-.12.33-.12.456 0l5.677 5.387c.203.193.06.523-.228.523H1.323c-.287 0-.431-.33-.228-.523L6.772 3.59z",
        fill: color2
      }
    )
  );
});
var ArrowSolidDownIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7.228 10.41a.335.335 0 01-.456 0L1.095 5.023c-.203-.193-.06-.523.228-.523h11.354c.287 0 .431.33.228.523L7.228 10.41z",
        fill: color2
      }
    )
  );
});
var ArrowSolidLeftIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M3.712 7.212a.3.3 0 010-.424l5.276-5.276a.3.3 0 01.512.212v10.552a.3.3 0 01-.512.212L3.712 7.212z",
        fill: color2
      }
    )
  );
});
var ArrowSolidRightIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M10.288 7.212a.3.3 0 000-.424L5.012 1.512a.3.3 0 00-.512.212v10.552a.3.3 0 00.512.212l5.276-5.276z",
        fill: color2
      }
    )
  );
});
var ExpandAltIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7.354.146l4 4a.5.5 0 01-.708.708L7 1.207 3.354 4.854a.5.5 0 11-.708-.708l4-4a.5.5 0 01.708 0zM11.354 9.146a.5.5 0 010 .708l-4 4a.5.5 0 01-.708 0l-4-4a.5.5 0 11.708-.708L7 12.793l3.646-3.647a.5.5 0 01.708 0z",
        fill: color2
      }
    )
  );
});
var CollapseIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M3.354.146a.5.5 0 10-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 00-.708-.708L7 3.793 3.354.146zM6.646 9.146a.5.5 0 01.708 0l4 4a.5.5 0 01-.708.708L7 10.207l-3.646 3.647a.5.5 0 01-.708-.708l4-4z",
        fill: color2
      }
    )
  );
});
var ExpandIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.5 1h2a.5.5 0 010 1h-.793l3.147 3.146a.5.5 0 11-.708.708L2 2.707V3.5a.5.5 0 01-1 0v-2a.5.5 0 01.5-.5zM10 1.5a.5.5 0 01.5-.5h2a.5.5 0 01.5.5v2a.5.5 0 01-1 0v-.793L8.854 5.854a.5.5 0 11-.708-.708L11.293 2H10.5a.5.5 0 01-.5-.5zM12.5 10a.5.5 0 01.5.5v2a.5.5 0 01-.5.5h-2a.5.5 0 010-1h.793L8.146 8.854a.5.5 0 11.708-.708L12 11.293V10.5a.5.5 0 01.5-.5zM2 11.293V10.5a.5.5 0 00-1 0v2a.5.5 0 00.5.5h2a.5.5 0 000-1h-.793l3.147-3.146a.5.5 0 10-.708-.708L2 11.293z",
        fill: color2
      }
    )
  );
});
var UnfoldIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M6.646.147l-1.5 1.5a.5.5 0 10.708.707l.646-.647V5a.5.5 0 001 0V1.707l.646.647a.5.5 0 10.708-.707l-1.5-1.5a.5.5 0 00-.708 0z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M1.309 4.038a.498.498 0 00-.16.106l-.005.005a.498.498 0 00.002.705L3.293 7 1.146 9.146A.498.498 0 001.5 10h3a.5.5 0 000-1H2.707l1.5-1.5h5.586l2.353 2.354a.5.5 0 00.708-.708L10.707 7l2.146-2.146.11-.545-.107.542A.499.499 0 0013 4.503v-.006a.5.5 0 00-.144-.348l-.005-.005A.498.498 0 0012.5 4h-3a.5.5 0 000 1h1.793l-1.5 1.5H4.207L2.707 5H4.5a.5.5 0 000-1h-3a.498.498 0 00-.191.038z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M7 8.5a.5.5 0 01.5.5v3.293l.646-.647a.5.5 0 01.708.708l-1.5 1.5a.5.5 0 01-.708 0l-1.5-1.5a.5.5 0 01.708-.708l.646.647V9a.5.5 0 01.5-.5zM9 9.5a.5.5 0 01.5-.5h3a.5.5 0 010 1h-3a.5.5 0 01-.5-.5z",
        fill: color2
      }
    )
  );
});
var TransferIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M10.646 2.646a.5.5 0 01.708 0l1.5 1.5a.5.5 0 010 .708l-1.5 1.5a.5.5 0 01-.708-.708L11.293 5H1.5a.5.5 0 010-1h9.793l-.647-.646a.5.5 0 010-.708zM3.354 8.354L2.707 9H12.5a.5.5 0 010 1H2.707l.647.646a.5.5 0 01-.708.708l-1.5-1.5a.5.5 0 010-.708l1.5-1.5a.5.5 0 11.708.708z",
        fill: color2
      }
    )
  );
});
var RedirectIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.5 1a.5.5 0 01.5.5V10a2 2 0 004 0V4a3 3 0 016 0v7.793l1.146-1.147a.5.5 0 01.708.708l-2 2a.5.5 0 01-.708 0l-2-2a.5.5 0 01.708-.708L11 11.793V4a2 2 0 10-4 0v6.002a3 3 0 01-6 0V1.5a.5.5 0 01.5-.5z",
        fill: color2
      }
    )
  );
});
var UndoIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.146 3.854a.5.5 0 010-.708l2-2a.5.5 0 11.708.708L2.707 3h6.295A4 4 0 019 11H3a.5.5 0 010-1h6a3 3 0 100-6H2.707l1.147 1.146a.5.5 0 11-.708.708l-2-2z",
        fill: color2
      }
    )
  );
});
var ReplyIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M4.354 2.146a.5.5 0 010 .708L1.707 5.5H9.5A4.5 4.5 0 0114 10v1.5a.5.5 0 01-1 0V10a3.5 3.5 0 00-3.5-3.5H1.707l2.647 2.646a.5.5 0 11-.708.708l-3.5-3.5a.5.5 0 010-.708l3.5-3.5a.5.5 0 01.708 0z",
        fill: color2
      }
    )
  );
});
var SyncIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5.5 1A.5.5 0 005 .5H2a.5.5 0 000 1h1.535a6.502 6.502 0 002.383 11.91.5.5 0 10.165-.986A5.502 5.502 0 014.5 2.1V4a.5.5 0 001 0V1.353a.5.5 0 000-.023V1zM7.507 1a.5.5 0 01.576-.41 6.502 6.502 0 012.383 11.91H12a.5.5 0 010 1H9a.5.5 0 01-.5-.5v-3a.5.5 0 011 0v1.9A5.5 5.5 0 007.917 1.576.5.5 0 017.507 1z",
        fill: color2
      }
    )
  );
});
var UploadIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M8.646 5.854L7.5 4.707V10.5a.5.5 0 01-1 0V4.707L5.354 5.854a.5.5 0 11-.708-.708l2-2a.5.5 0 01.708 0l2 2a.5.5 0 11-.708.708z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 110 7a7 7 0 0114 0zm-1 0A6 6 0 111 7a6 6 0 0112 0z",
        fill: color2
      }
    )
  );
});
var DownloadIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5.354 8.146L6.5 9.293V3.5a.5.5 0 011 0v5.793l1.146-1.147a.5.5 0 11.708.708l-2 2a.5.5 0 01-.708 0l-2-2a.5.5 0 11.708-.708z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M0 7a7 7 0 1114 0A7 7 0 010 7zm1 0a6 6 0 1112 0A6 6 0 011 7z",
        fill: color2
      }
    )
  );
});
var BackIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M5.854 5.354L4.707 6.5H10.5a.5.5 0 010 1H4.707l1.147 1.146a.5.5 0 11-.708.708l-2-2a.5.5 0 010-.708l2-2a.5.5 0 11.708.708z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 0a7 7 0 110 14A7 7 0 017 0zm0 1a6 6 0 110 12A6 6 0 017 1z",
        fill: color2
      }
    )
  );
});
var ProceedIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M3.5 6.5h5.793L8.146 5.354a.5.5 0 11.708-.708l2 2a.5.5 0 010 .708l-2 2a.5.5 0 11-.708-.708L9.293 7.5H3.5a.5.5 0 010-1z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 14A7 7 0 117 0a7 7 0 010 14zm0-1A6 6 0 117 1a6 6 0 010 12z",
        fill: color2
      }
    )
  );
});
var RefreshIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7.092.5H7a6.5 6.5 0 106.41 7.583.5.5 0 10-.986-.166A5.495 5.495 0 017 12.5a5.5 5.5 0 010-11h.006a5.5 5.5 0 014.894 3H10a.5.5 0 000 1h3a.5.5 0 00.5-.5V2a.5.5 0 00-1 0v1.535A6.495 6.495 0 007.092.5z",
        fill: color2
      }
    )
  );
});
var GlobeIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 100 7a7 7 0 0014 0zm-6.535 5.738c-.233.23-.389.262-.465.262-.076 0-.232-.032-.465-.262-.238-.234-.497-.623-.737-1.182-.434-1.012-.738-2.433-.79-4.056h3.984c-.052 1.623-.356 3.043-.79 4.056-.24.56-.5.948-.737 1.182zM8.992 6.5H5.008c.052-1.623.356-3.044.79-4.056.24-.56.5-.948.737-1.182C6.768 1.032 6.924 1 7 1c.076 0 .232.032.465.262.238.234.497.623.737 1.182.434 1.012.738 2.433.79 4.056zm1 1c-.065 2.176-.558 4.078-1.282 5.253A6.005 6.005 0 0012.98 7.5H9.992zm2.987-1H9.992c-.065-2.176-.558-4.078-1.282-5.253A6.005 6.005 0 0112.98 6.5zm-8.971 0c.065-2.176.558-4.078 1.282-5.253A6.005 6.005 0 001.02 6.5h2.988zm-2.987 1a6.005 6.005 0 004.27 5.253C4.565 11.578 4.072 9.676 4.007 7.5H1.02z",
        fill: color2
      }
    )
  );
});
var CompassIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M10.087 3.397L5.95 5.793a.374.374 0 00-.109.095.377.377 0 00-.036.052l-2.407 4.147a.374.374 0 00-.004.384c.104.179.334.24.513.136l4.142-2.404a.373.373 0 00.148-.143l2.406-4.146a.373.373 0 00-.037-.443.373.373 0 00-.478-.074zM4.75 9.25l2.847-1.652-1.195-1.195L4.75 9.25z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 110 7a7 7 0 0114 0zm-1 0A6 6 0 111 7a6 6 0 0112 0z",
        fill: color2
      }
    )
  );
});
var LocationIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M0 7a7 7 0 1114 0A7 7 0 010 7zm6.5 3.5v2.48A6.001 6.001 0 011.02 7.5H3.5a.5.5 0 000-1H1.02A6.001 6.001 0 016.5 1.02V3.5a.5.5 0 001 0V1.02a6.001 6.001 0 015.48 5.48H10.5a.5.5 0 000 1h2.48a6.002 6.002 0 01-5.48 5.48V10.5a.5.5 0 00-1 0z",
        fill: color2
      }
    )
  );
});
var PinIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M9 5a2 2 0 11-4 0 2 2 0 014 0zM8 5a1 1 0 11-2 0 1 1 0 012 0z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M12 5A5 5 0 002 5c0 2.633 2.273 6.154 4.65 8.643.192.2.508.2.7 0C9.726 11.153 12 7.633 12 5zM7 1a4 4 0 014 4c0 1.062-.471 2.42-1.303 3.88-.729 1.282-1.69 2.562-2.697 3.67-1.008-1.108-1.968-2.388-2.697-3.67C3.47 7.42 3 6.063 3 5a4 4 0 014-4z",
        fill: color2
      }
    )
  );
});
var TimeIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7 2a.5.5 0 01.5.5v4H10a.5.5 0 010 1H7a.5.5 0 01-.5-.5V2.5A.5.5 0 017 2z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 14A7 7 0 107 0a7 7 0 000 14zm0-1A6 6 0 107 1a6 6 0 000 12z",
        fill: color2
      }
    )
  );
});
var DashboardIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M9.79 4.093a.5.5 0 01.117.698L7.91 7.586a1 1 0 11-.814-.581l1.997-2.796a.5.5 0 01.698-.116z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M2.069 12.968a7 7 0 119.863 0A12.962 12.962 0 007 12c-1.746 0-3.41.344-4.931.968zm9.582-1.177a6 6 0 10-9.301 0A13.98 13.98 0 017 11c1.629 0 3.194.279 4.65.791z",
        fill: color2
      }
    )
  );
});
var TimerIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("path", { d: "M7.5 4.5a.5.5 0 00-1 0v2.634a1 1 0 101 0V4.5z", fill: color2 }),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M5.5.5A.5.5 0 016 0h2a.5.5 0 010 1h-.5v1.02a5.973 5.973 0 013.374 1.398l.772-.772a.5.5 0 01.708.708l-.772.772A6 6 0 116.5 2.02V1H6a.5.5 0 01-.5-.5zM7 3a5 5 0 100 10A5 5 0 007 3z",
        fill: color2
      }
    )
  );
});
var HomeIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7.354 1.146l5.5 5.5a.5.5 0 01-.708.708L12 7.207V12.5a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V9H6v3.5a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V7.207l-.146.147a.5.5 0 11-.708-.708l1-1 4.5-4.5a.5.5 0 01.708 0zM3 6.207V12h2V8.5a.5.5 0 01.5-.5h3a.5.5 0 01.5.5V12h2V6.207l-4-4-4 4z",
        fill: color2
      }
    )
  );
});
var AdminIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1.213 4.094a.5.5 0 01.056-.034l5.484-2.995a.498.498 0 01.494 0L12.73 4.06a.507.507 0 01.266.389.498.498 0 01-.507.555H1.51a.5.5 0 01-.297-.91zm2.246-.09h7.082L7 2.07 3.459 4.004z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M4 6a.5.5 0 00-1 0v5a.5.5 0 001 0V6zM11 6a.5.5 0 00-1 0v5a.5.5 0 001 0V6zM5.75 5.5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V6a.5.5 0 01.5-.5zM8.75 6a.5.5 0 00-1 0v5a.5.5 0 001 0V6zM1.5 12.504a.5.5 0 01.5-.5h10a.5.5 0 010 1H2a.5.5 0 01-.5-.5z",
        fill: color2
      }
    )
  );
});
var DirectionIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("g", { clipPath: "url(#prefix__clip0_1107_3594)" }, React251.createElement(
      "path",
      {
        d: "M11.451.537l.01 12.922L7.61 8.946a1.078 1.078 0 00-.731-.374L.965 8.087 11.45.537z",
        stroke: color2,
        strokeWidth: 1.077
      }
    )),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_1107_3594" }, React251.createElement("path", { fill: "#fff", d: "M0 0h14v14H0z" })))
  );
});
var UserIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 110 7a7 7 0 0114 0zM2.671 11.155c.696-1.006 2.602-1.816 3.194-1.91.226-.036.232-.658.232-.658s-.665-.658-.81-1.544c-.39 0-.63-.94-.241-1.272a2.578 2.578 0 00-.012-.13c-.066-.607-.28-2.606 1.965-2.606 2.246 0 2.031 2 1.966 2.606l-.012.13c.39.331.149 1.272-.24 1.272-.146.886-.81 1.544-.81 1.544s.004.622.23.658c.593.094 2.5.904 3.195 1.91a6 6 0 10-8.657 0z",
        fill: color2
      }
    )
  );
});
var UserAltIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M7.275 13.16a11.388 11.388 0 005.175-1.232v-.25c0-1.566-3.237-2.994-4.104-3.132-.27-.043-.276-.783-.276-.783s.791-.783.964-1.836c.463 0 .75-1.119.286-1.513C9.34 4 9.916 1.16 6.997 1.16c-2.92 0-2.343 2.84-2.324 3.254-.463.394-.177 1.513.287 1.513.172 1.053.963 1.836.963 1.836s-.006.74-.275.783c-.858.136-4.036 1.536-4.103 3.082a11.388 11.388 0 005.73 1.532z",
        fill: color2
      }
    )
  );
});
var UserAddIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M1.183 11.906a10.645 10.645 0 01-1.181-.589c.062-1.439 3.02-2.74 3.818-2.868.25-.04.256-.728.256-.728s-.736-.729-.896-1.709c-.432 0-.698-1.041-.267-1.408A2.853 2.853 0 002.9 4.46c-.072-.672-.31-2.884 2.175-2.884 2.486 0 2.248 2.212 2.176 2.884-.007.062-.012.112-.014.144.432.367.165 1.408-.266 1.408-.16.98-.896 1.709-.896 1.709s.005.688.256.728c.807.129 3.82 1.457 3.82 2.915v.233a10.598 10.598 0 01-4.816 1.146c-1.441 0-2.838-.282-4.152-.837zM11.5 2.16a.5.5 0 01.5.5v1.5h1.5a.5.5 0 010 1H12v1.5a.5.5 0 01-1 0v-1.5H9.5a.5.5 0 110-1H11v-1.5a.5.5 0 01.5-.5z",
        fill: color2
      }
    )
  );
});
var UsersIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M9.21 11.623a10.586 10.586 0 01-4.031.787A10.585 10.585 0 010 11.07c.06-1.354 2.933-2.578 3.708-2.697.243-.038.249-.685.249-.685s-.715-.685-.87-1.607c-.42 0-.679-.979-.26-1.323a2.589 2.589 0 00-.013-.136c-.07-.632-.3-2.712 2.113-2.712 2.414 0 2.183 2.08 2.113 2.712-.007.059-.012.105-.013.136.419.344.16 1.323-.259 1.323-.156.922-.87 1.607-.87 1.607s.005.647.248.685c.784.12 3.71 1.37 3.71 2.74v.22c-.212.103-.427.2-.646.29z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        d: "M8.81 8.417a9.643 9.643 0 00-.736-.398c.61-.42 1.396-.71 1.7-.757.167-.026.171-.471.171-.471s-.491-.471-.598-1.104c-.288 0-.466-.674-.178-.91-.001-.022-.005-.053-.01-.094-.048-.434-.206-1.864 1.453-1.864 1.66 0 1.5 1.43 1.453 1.864l-.01.094c.289.236.11.91-.178.91-.107.633-.598 1.104-.598 1.104s.004.445.171.47c.539.084 2.55.942 2.55 1.884v.628a10.604 10.604 0 01-3.302.553 2.974 2.974 0 00-.576-.879c-.375-.408-.853-.754-1.312-1.03z",
        fill: color2
      }
    )
  );
});
var ProfileIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M9.106 7.354c-.627.265-1.295.4-1.983.4a5.062 5.062 0 01-2.547-.681c.03-.688 1.443-1.31 1.824-1.37.12-.02.122-.348.122-.348s-.351-.348-.428-.816c-.206 0-.333-.498-.127-.673 0-.016-.003-.04-.007-.07C5.926 3.477 5.812 2.42 7 2.42c1.187 0 1.073 1.057 1.039 1.378l-.007.069c.207.175.08.673-.127.673-.076.468-.428.816-.428.816s.003.329.122.348c.386.06 1.825.696 1.825 1.392v.111c-.104.053-.21.102-.318.148zM3.75 11.25A.25.25 0 014 11h6a.25.25 0 110 .5H4a.25.25 0 01-.25-.25zM4 9a.25.25 0 000 .5h6a.25.25 0 100-.5H4z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M1 .5a.5.5 0 01.5-.5h11a.5.5 0 01.5.5v13a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5V.5zM2 13V1h10v12H2z",
        fill: color2
      }
    )
  );
});
var FaceHappyIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M3.968 8.75a.5.5 0 00-.866.5A4.498 4.498 0 007 11.5c1.666 0 3.12-.906 3.898-2.25a.5.5 0 10-.866-.5A3.498 3.498 0 017 10.5a3.498 3.498 0 01-3.032-1.75zM5.5 5a1 1 0 11-2 0 1 1 0 012 0zM9.5 6a1 1 0 100-2 1 1 0 000 2z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 110 7a7 7 0 0114 0zm-1 0A6 6 0 111 7a6 6 0 0112 0z",
        fill: color2
      }
    )
  );
});
var FaceNeutralIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M4.5 9a.5.5 0 000 1h5a.5.5 0 000-1h-5zM5.5 5a1 1 0 11-2 0 1 1 0 012 0zM9.5 6a1 1 0 100-2 1 1 0 000 2z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 110 7a7 7 0 0114 0zm-1 0A6 6 0 111 7a6 6 0 0112 0z",
        fill: color2
      }
    )
  );
});
var FaceSadIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M3.968 10.25a.5.5 0 01-.866-.5A4.498 4.498 0 017 7.5c1.666 0 3.12.906 3.898 2.25a.5.5 0 11-.866.5A3.498 3.498 0 007 8.5a3.498 3.498 0 00-3.032 1.75zM5.5 5a1 1 0 11-2 0 1 1 0 012 0zM9.5 6a1 1 0 100-2 1 1 0 000 2z",
        fill: color2
      }
    ),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 7A7 7 0 110 7a7 7 0 0114 0zm-1 0A6 6 0 111 7a6 6 0 0112 0z",
        fill: color2
      }
    )
  );
});
var AccessibilityIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        d: "M3.526 4.842a.5.5 0 01.632-.316l2.051.684a2.5 2.5 0 001.582 0l2.05-.684a.5.5 0 01.317.948l-2.453.818a.3.3 0 00-.205.285v.243a4.5 4.5 0 00.475 2.012l.972 1.944a.5.5 0 11-.894.448L7 9.118l-1.053 2.106a.5.5 0 11-.894-.447l.972-1.945A4.5 4.5 0 006.5 6.82v-.243a.3.3 0 00-.205-.285l-2.453-.818a.5.5 0 01-.316-.632z",
        fill: color2
      }
    ),
    React251.createElement("path", { d: "M7 4.5a1 1 0 100-2 1 1 0 000 2z", fill: color2 }),
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 14A7 7 0 107 0a7 7 0 000 14zm0-1A6 6 0 107 1a6 6 0 000 12z",
        fill: color2
      }
    )
  );
});
var AccessibilityAltIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M7 14A7 7 0 107 0a7 7 0 000 14zM8 3.5a1 1 0 11-2 0 1 1 0 012 0zM3.526 4.842a.5.5 0 01.632-.316l2.051.684a2.5 2.5 0 001.582 0l2.05-.684a.5.5 0 01.317.948l-2.453.818a.3.3 0 00-.205.285v.243a4.5 4.5 0 00.475 2.012l.972 1.944a.5.5 0 11-.894.448L7 9.118l-1.053 2.106a.5.5 0 11-.894-.447l.972-1.945A4.5 4.5 0 006.5 6.82v-.243a.3.3 0 00-.205-.285l-2.453-.818a.5.5 0 01-.316-.632z",
        fill: color2
      }
    )
  );
});
var AccessibilityIgnoredIcon = React251.forwardRef(({ color: color2 = "currentColor", size = 14, ...props }, forwardedRef) => {
  return React251.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg",
      ref: forwardedRef,
      ...props
    },
    React251.createElement("g", { clipPath: "url(#prefix__clip0_2359_558)", fill: color2 }, React251.createElement("path", { d: "M7.636 13.972a7 7 0 116.335-6.335c-.28-.34-.609-.637-.976-.883a6 6 0 10-6.24 6.241c.245.367.542.696.881.977z" }), React251.createElement("path", { d: "M7.511 7.136a4.489 4.489 0 00-1.478 3.915l-.086.173a.5.5 0 11-.894-.447l.972-1.945A4.5 4.5 0 006.5 6.82v-.243a.3.3 0 00-.205-.285l-2.453-.818a.5.5 0 01.316-.948l2.051.684a2.5 2.5 0 001.582 0l2.05-.684a.5.5 0 01.317.948l-2.453.818a.3.3 0 00-.205.285v.243c0 .105.004.21.011.316z" }), React251.createElement("path", { d: "M8 3.5a1 1 0 11-2 0 1 1 0 012 0z" }), React251.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M14 10.5a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm-5.5 0A.5.5 0 019 10h3a.5.5 0 010 1H9a.5.5 0 01-.5-.5z"
      }
    )),
    React251.createElement("defs", null, React251.createElement("clipPath", { id: "prefix__clip0_2359_558" }, React251.createElement("path", { fill: "#fff", d: "M0 0h14v14H0z" })))
  );
});

// src/components/components/typography/link/link.tsx
init_polished_esm();
init_theming();
var LEFT_BUTTON = 0;
var isPlainLeftClick = /* @__PURE__ */ __name((e2) => e2.button === LEFT_BUTTON && !e2.altKey && !e2.ctrlKey && !e2.metaKey && !e2.shiftKey, "isPlainLeftClick");
var cancelled = /* @__PURE__ */ __name((e2, cb) => {
  if (isPlainLeftClick(e2)) {
    e2.preventDefault();
    cb(e2);
  }
}, "cancelled");
var LinkInner = styled.span(
  ({ withArrow }) => withArrow ? {
    "> svg:last-of-type": {
      height: "0.7em",
      width: "0.7em",
      marginRight: 0,
      marginLeft: "0.25em",
      bottom: "auto",
      verticalAlign: "inherit"
    }
  } : {},
  ({ containsIcon }) => containsIcon ? {
    svg: {
      height: "1em",
      width: "1em",
      verticalAlign: "middle",
      position: "relative",
      bottom: 0,
      marginRight: 0
    }
  } : {}
);
var A2 = styled.a(
  ({ theme: theme3 }) => ({
    display: "inline-block",
    transition: "all 150ms ease-out",
    textDecoration: "none",
    color: theme3.color.secondary,
    "&:hover, &:focus": {
      cursor: "pointer",
      color: curriedDarken$1(0.07, theme3.color.secondary),
      "svg path:not([fill])": {
        fill: curriedDarken$1(0.07, theme3.color.secondary)
      }
    },
    "&:active": {
      color: curriedDarken$1(0.1, theme3.color.secondary),
      "svg path:not([fill])": {
        fill: curriedDarken$1(0.1, theme3.color.secondary)
      }
    },
    svg: {
      display: "inline-block",
      height: "1em",
      width: "1em",
      verticalAlign: "text-top",
      position: "relative",
      bottom: "-0.125em",
      marginRight: "0.4em",
      "& path": {
        fill: theme3.color.secondary
      }
    }
  }),
  ({ theme: theme3, secondary, tertiary }) => {
    let colors3;
    if (secondary) {
      colors3 = [theme3.textMutedColor, theme3.color.dark, theme3.color.darker];
    }
    if (tertiary) {
      colors3 = [theme3.color.dark, theme3.color.darkest, theme3.textMutedColor];
    }
    return colors3 ? {
      color: colors3[0],
      "svg path:not([fill])": {
        fill: colors3[0]
      },
      "&:hover": {
        color: colors3[1],
        "svg path:not([fill])": {
          fill: colors3[1]
        }
      },
      "&:active": {
        color: colors3[2],
        "svg path:not([fill])": {
          fill: colors3[2]
        }
      }
    } : {};
  },
  ({ nochrome }) => nochrome ? {
    color: "inherit",
    "&:hover, &:active": {
      color: "inherit",
      textDecoration: "underline"
    }
  } : {},
  ({ theme: theme3, inverse }) => inverse ? {
    color: theme3.color.lightest,
    ":not([fill])": {
      fill: theme3.color.lightest
    },
    "&:hover": {
      color: theme3.color.lighter,
      "svg path:not([fill])": {
        fill: theme3.color.lighter
      }
    },
    "&:active": {
      color: theme3.color.light,
      "svg path:not([fill])": {
        fill: theme3.color.light
      }
    }
  } : {},
  ({ isButton: isButton2 }) => isButton2 ? {
    border: 0,
    borderRadius: 0,
    background: "none",
    padding: 0,
    fontSize: "inherit"
  } : {}
);
var Link2 = /* @__PURE__ */ __name(({
  cancel = true,
  children,
  onClick = void 0,
  withArrow = false,
  containsIcon = false,
  className = void 0,
  style = void 0,
  ...rest
}) => import_react17.default.createElement(
  A2,
  {
    ...rest,
    onClick: onClick && cancel ? (e2) => cancelled(e2, onClick) : onClick,
    className
  },
  import_react17.default.createElement(LinkInner, { withArrow, containsIcon }, children, withArrow && import_react17.default.createElement(ChevronRightIcon, null))
), "Link");

// src/components/components/typography/DocumentWrapper.tsx
init_theming();
var DocumentWrapper = styled.div(({ theme: theme3 }) => ({
  fontSize: `${theme3.typography.size.s2}px`,
  lineHeight: "1.6",
  h1: {
    fontSize: `${theme3.typography.size.l1}px`,
    fontWeight: theme3.typography.weight.bold
  },
  h2: {
    fontSize: `${theme3.typography.size.m2}px`,
    borderBottom: `1px solid ${theme3.appBorderColor}`
  },
  h3: {
    fontSize: `${theme3.typography.size.m1}px`
  },
  h4: {
    fontSize: `${theme3.typography.size.s3}px`
  },
  h5: {
    fontSize: `${theme3.typography.size.s2}px`
  },
  h6: {
    fontSize: `${theme3.typography.size.s2}px`,
    color: theme3.color.dark
  },
  "pre:not(.prismjs)": {
    background: "transparent",
    border: "none",
    borderRadius: 0,
    padding: 0,
    margin: 0
  },
  "pre pre, pre.prismjs": {
    padding: 15,
    margin: 0,
    whiteSpace: "pre-wrap",
    color: "inherit",
    fontSize: "13px",
    lineHeight: "19px"
  },
  "pre pre code, pre.prismjs code": {
    color: "inherit",
    fontSize: "inherit"
  },
  "pre code": {
    margin: 0,
    padding: 0,
    whiteSpace: "pre",
    border: "none",
    background: "transparent"
  },
  "pre code, pre tt": {
    backgroundColor: "transparent",
    border: "none"
  },
  /* GitHub inspired Markdown styles loosely from https://gist.github.com/tuzz/3331384 */
  "body > *:first-of-type": {
    marginTop: "0 !important"
  },
  "body > *:last-child": {
    marginBottom: "0 !important"
  },
  a: {
    color: theme3.color.secondary,
    textDecoration: "none"
  },
  "a.absent": {
    color: "#cc0000"
  },
  "a.anchor": {
    display: "block",
    paddingLeft: 30,
    marginLeft: -30,
    cursor: "pointer",
    position: "absolute",
    top: 0,
    left: 0,
    bottom: 0
  },
  "h1, h2, h3, h4, h5, h6": {
    margin: "20px 0 10px",
    padding: 0,
    cursor: "text",
    position: "relative",
    "&:first-of-type": {
      marginTop: 0,
      paddingTop: 0
    },
    "&:hover a.anchor": {
      textDecoration: "none"
    },
    "& tt, & code": {
      fontSize: "inherit"
    }
  },
  "h1:first-of-type + h2": {
    marginTop: 0,
    paddingTop: 0
  },
  "p, blockquote, ul, ol, dl, li, table, pre": {
    margin: "15px 0"
  },
  hr: {
    border: "0 none",
    borderTop: `1px solid ${theme3.appBorderColor}`,
    height: 4,
    padding: 0
  },
  "body > h1:first-of-type, body > h2:first-of-type, body > h3:first-of-type, body > h4:first-of-type, body > h5:first-of-type, body > h6:first-of-type": {
    marginTop: 0,
    paddingTop: 0
  },
  "body > h1:first-of-type + h2": {
    marginTop: 0,
    paddingTop: 0
  },
  "a:first-of-type h1, a:first-of-type h2, a:first-of-type h3, a:first-of-type h4, a:first-of-type h5, a:first-of-type h6": {
    marginTop: 0,
    paddingTop: 0
  },
  "h1 p, h2 p, h3 p, h4 p, h5 p, h6 p": {
    marginTop: 0
  },
  "li p.first": {
    display: "inline-block"
  },
  "ul, ol": {
    paddingLeft: 30,
    "& :first-of-type": {
      marginTop: 0
    },
    "& :last-child": {
      marginBottom: 0
    }
  },
  dl: {
    padding: 0
  },
  "dl dt": {
    fontSize: "14px",
    fontWeight: "bold",
    fontStyle: "italic",
    margin: "0 0 15px",
    padding: "0 15px",
    "&:first-of-type": {
      padding: 0
    },
    "& > :first-of-type": {
      marginTop: 0
    },
    "& > :last-child": {
      marginBottom: 0
    }
  },
  blockquote: {
    borderLeft: `4px solid ${theme3.color.medium}`,
    padding: "0 15px",
    color: theme3.color.dark,
    "& > :first-of-type": {
      marginTop: 0
    },
    "& > :last-child": {
      marginBottom: 0
    }
  },
  table: {
    padding: 0,
    borderCollapse: "collapse",
    "& tr": {
      borderTop: `1px solid ${theme3.appBorderColor}`,
      backgroundColor: "white",
      margin: 0,
      padding: 0,
      "& th": {
        fontWeight: "bold",
        border: `1px solid ${theme3.appBorderColor}`,
        textAlign: "left",
        margin: 0,
        padding: "6px 13px"
      },
      "& td": {
        border: `1px solid ${theme3.appBorderColor}`,
        textAlign: "left",
        margin: 0,
        padding: "6px 13px"
      },
      "&:nth-of-type(2n)": {
        backgroundColor: theme3.color.lighter
      },
      "& th :first-of-type, & td :first-of-type": {
        marginTop: 0
      },
      "& th :last-child, & td :last-child": {
        marginBottom: 0
      }
    }
  },
  img: {
    maxWidth: "100%"
  },
  "span.frame": {
    display: "block",
    overflow: "hidden",
    "& > span": {
      border: `1px solid ${theme3.color.medium}`,
      display: "block",
      float: "left",
      overflow: "hidden",
      margin: "13px 0 0",
      padding: 7,
      width: "auto"
    },
    "& span img": {
      display: "block",
      float: "left"
    },
    "& span span": {
      clear: "both",
      color: theme3.color.darkest,
      display: "block",
      padding: "5px 0 0"
    }
  },
  "span.align-center": {
    display: "block",
    overflow: "hidden",
    clear: "both",
    "& > span": {
      display: "block",
      overflow: "hidden",
      margin: "13px auto 0",
      textAlign: "center"
    },
    "& span img": {
      margin: "0 auto",
      textAlign: "center"
    }
  },
  "span.align-right": {
    display: "block",
    overflow: "hidden",
    clear: "both",
    "& > span": {
      display: "block",
      overflow: "hidden",
      margin: "13px 0 0",
      textAlign: "right"
    },
    "& span img": {
      margin: 0,
      textAlign: "right"
    }
  },
  "span.float-left": {
    display: "block",
    marginRight: 13,
    overflow: "hidden",
    float: "left",
    "& span": {
      margin: "13px 0 0"
    }
  },
  "span.float-right": {
    display: "block",
    marginLeft: 13,
    overflow: "hidden",
    float: "right",
    "& > span": {
      display: "block",
      overflow: "hidden",
      margin: "13px auto 0",
      textAlign: "right"
    }
  },
  "code, tt": {
    margin: "0 2px",
    padding: "0 5px",
    whiteSpace: "nowrap",
    border: `1px solid ${theme3.color.mediumlight}`,
    backgroundColor: theme3.color.lighter,
    borderRadius: 3,
    color: theme3.base === "dark" ? theme3.color.darkest : theme3.color.dark
  }
}));

// src/components/index.ts
init_clipboard();
init_ActionBar();

// src/components/components/Modal/Modal.tsx
var import_react24 = __toESM(require_react(), 1);

// ../node_modules/@radix-ui/react-dialog/dist/index.mjs
var dist_exports3 = {};
__export(dist_exports3, {
  Close: () => Close,
  Content: () => Content,
  Description: () => Description,
  Dialog: () => Dialog,
  DialogClose: () => DialogClose,
  DialogContent: () => DialogContent,
  DialogDescription: () => DialogDescription,
  DialogOverlay: () => DialogOverlay,
  DialogPortal: () => DialogPortal,
  DialogTitle: () => DialogTitle,
  DialogTrigger: () => DialogTrigger,
  Overlay: () => Overlay,
  Portal: () => Portal2,
  Root: () => Root2,
  Title: () => Title,
  Trigger: () => Trigger,
  WarningProvider: () => WarningProvider,
  createDialogScope: () => createDialogScope
});
var React51 = __toESM(require_react(), 1);

// ../node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/primitive/dist/index.mjs
var canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
function composeEventHandlers2(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
  return /* @__PURE__ */ __name(function handleEvent(event) {
    originalEventHandler?.(event);
    if (checkForDefaultPrevented === false || !event.defaultPrevented) {
      return ourEventHandler?.(event);
    }
  }, "handleEvent");
}
__name(composeEventHandlers2, "composeEventHandlers");

// ../node_modules/@radix-ui/react-compose-refs/dist/index.mjs
var React27 = __toESM(require_react(), 1);
function setRef2(ref, value) {
  if (typeof ref === "function") {
    return ref(value);
  } else if (ref !== null && ref !== void 0) {
    ref.current = value;
  }
}
__name(setRef2, "setRef");
function composeRefs2(...refs) {
  return (node2) => {
    let hasCleanup = false;
    const cleanups = refs.map((ref) => {
      const cleanup = setRef2(ref, node2);
      if (!hasCleanup && typeof cleanup == "function") {
        hasCleanup = true;
      }
      return cleanup;
    });
    if (hasCleanup) {
      return () => {
        for (let i2 = 0; i2 < cleanups.length; i2++) {
          const cleanup = cleanups[i2];
          if (typeof cleanup == "function") {
            cleanup();
          } else {
            setRef2(refs[i2], null);
          }
        }
      };
    }
  };
}
__name(composeRefs2, "composeRefs");
function useComposedRefs2(...refs) {
  return React27.useCallback(composeRefs2(...refs), refs);
}
__name(useComposedRefs2, "useComposedRefs");

// ../node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-context/dist/index.mjs
var React28 = __toESM(require_react(), 1);
var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
function createContext22(rootComponentName, defaultContext) {
  const Context = React28.createContext(defaultContext);
  const Provider = /* @__PURE__ */ __name((props) => {
    const { children, ...context } = props;
    const value = React28.useMemo(() => context, Object.values(context));
    return (0, import_jsx_runtime6.jsx)(Context.Provider, { value, children });
  }, "Provider");
  Provider.displayName = rootComponentName + "Provider";
  function useContext22(consumerName) {
    const context = React28.useContext(Context);
    if (context) return context;
    if (defaultContext !== void 0) return defaultContext;
    throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
  }
  __name(useContext22, "useContext2");
  return [Provider, useContext22];
}
__name(createContext22, "createContext2");
function createContextScope2(scopeName, createContextScopeDeps = []) {
  let defaultContexts = [];
  function createContext32(rootComponentName, defaultContext) {
    const BaseContext = React28.createContext(defaultContext);
    const index4 = defaultContexts.length;
    defaultContexts = [...defaultContexts, defaultContext];
    const Provider = /* @__PURE__ */ __name((props) => {
      const { scope: scope2, children, ...context } = props;
      const Context = scope2?.[scopeName]?.[index4] || BaseContext;
      const value = React28.useMemo(() => context, Object.values(context));
      return (0, import_jsx_runtime6.jsx)(Context.Provider, { value, children });
    }, "Provider");
    Provider.displayName = rootComponentName + "Provider";
    function useContext22(consumerName, scope2) {
      const Context = scope2?.[scopeName]?.[index4] || BaseContext;
      const context = React28.useContext(Context);
      if (context) return context;
      if (defaultContext !== void 0) return defaultContext;
      throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
    }
    __name(useContext22, "useContext2");
    return [Provider, useContext22];
  }
  __name(createContext32, "createContext3");
  const createScope = /* @__PURE__ */ __name(() => {
    const scopeContexts = defaultContexts.map((defaultContext) => {
      return React28.createContext(defaultContext);
    });
    return /* @__PURE__ */ __name(function useScope(scope2) {
      const contexts = scope2?.[scopeName] || scopeContexts;
      return React28.useMemo(
        () => ({ [`__scope${scopeName}`]: { ...scope2, [scopeName]: contexts } }),
        [scope2, contexts]
      );
    }, "useScope");
  }, "createScope");
  createScope.scopeName = scopeName;
  return [createContext32, composeContextScopes2(createScope, ...createContextScopeDeps)];
}
__name(createContextScope2, "createContextScope");
function composeContextScopes2(...scopes) {
  const baseScope = scopes[0];
  if (scopes.length === 1) return baseScope;
  const createScope = /* @__PURE__ */ __name(() => {
    const scopeHooks = scopes.map((createScope2) => ({
      useScope: createScope2(),
      scopeName: createScope2.scopeName
    }));
    return /* @__PURE__ */ __name(function useComposedScopes(overrideScopes) {
      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
        const scopeProps = useScope(overrideScopes);
        const currentScope = scopeProps[`__scope${scopeName}`];
        return { ...nextScopes2, ...currentScope };
      }, {});
      return React28.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
    }, "useComposedScopes");
  }, "createScope");
  createScope.scopeName = baseScope.scopeName;
  return createScope;
}
__name(composeContextScopes2, "composeContextScopes");

// ../node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-id/dist/index.mjs
var React30 = __toESM(require_react(), 1);

// ../node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs
var React29 = __toESM(require_react(), 1);
var useLayoutEffect23 = globalThis?.document ? React29.useLayoutEffect : () => {
};

// ../node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-id/dist/index.mjs
var useReactId = React30[" useId ".trim().toString()] || (() => void 0);
var count = 0;
function useId(deterministicId) {
  const [id, setId] = React30.useState(useReactId());
  useLayoutEffect23(() => {
    if (!deterministicId) setId((reactId) => reactId ?? String(count++));
  }, [deterministicId]);
  return deterministicId || (id ? `radix-${id}` : "");
}
__name(useId, "useId");

// ../node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs
var React32 = __toESM(require_react(), 1);
var React210 = __toESM(require_react(), 1);

// ../node_modules/@radix-ui/react-use-effect-event/dist/index.mjs
var React31 = __toESM(require_react(), 1);
var useReactEffectEvent = React31[" useEffectEvent ".trim().toString()];
var useReactInsertionEffect = React31[" useInsertionEffect ".trim().toString()];

// ../node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs
var useInsertionEffect3 = React32[" useInsertionEffect ".trim().toString()] || useLayoutEffect23;
function useControllableState({
  prop,
  defaultProp,
  onChange = /* @__PURE__ */ __name(() => {
  }, "onChange"),
  caller
}) {
  const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({
    defaultProp,
    onChange
  });
  const isControlled = prop !== void 0;
  const value = isControlled ? prop : uncontrolledProp;
  if (true) {
    const isControlledRef = React32.useRef(prop !== void 0);
    React32.useEffect(() => {
      const wasControlled = isControlledRef.current;
      if (wasControlled !== isControlled) {
        const from2 = wasControlled ? "controlled" : "uncontrolled";
        const to = isControlled ? "controlled" : "uncontrolled";
        console.warn(
          `${caller} is changing from ${from2} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`
        );
      }
      isControlledRef.current = isControlled;
    }, [isControlled, caller]);
  }
  const setValue = React32.useCallback(
    (nextValue) => {
      if (isControlled) {
        const value2 = isFunction2(nextValue) ? nextValue(prop) : nextValue;
        if (value2 !== prop) {
          onChangeRef.current?.(value2);
        }
      } else {
        setUncontrolledProp(nextValue);
      }
    },
    [isControlled, prop, setUncontrolledProp, onChangeRef]
  );
  return [value, setValue];
}
__name(useControllableState, "useControllableState");
function useUncontrolledState({
  defaultProp,
  onChange
}) {
  const [value, setValue] = React32.useState(defaultProp);
  const prevValueRef = React32.useRef(value);
  const onChangeRef = React32.useRef(onChange);
  useInsertionEffect3(() => {
    onChangeRef.current = onChange;
  }, [onChange]);
  React32.useEffect(() => {
    if (prevValueRef.current !== value) {
      onChangeRef.current?.(value);
      prevValueRef.current = value;
    }
  }, [value, prevValueRef]);
  return [value, setValue, onChangeRef];
}
__name(useUncontrolledState, "useUncontrolledState");
function isFunction2(value) {
  return typeof value === "function";
}
__name(isFunction2, "isFunction");
var SYNC_STATE = Symbol("RADIX:SYNC_STATE");

// ../node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
var React37 = __toESM(require_react(), 1);

// ../node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/primitive/dist/index.mjs
var canUseDOM2 = !!(typeof window !== "undefined" && window.document && window.document.createElement);
function composeEventHandlers3(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
  return /* @__PURE__ */ __name(function handleEvent(event) {
    originalEventHandler?.(event);
    if (checkForDefaultPrevented === false || !event.defaultPrevented) {
      return ourEventHandler?.(event);
    }
  }, "handleEvent");
}
__name(composeEventHandlers3, "composeEventHandlers");

// ../node_modules/@radix-ui/react-primitive/dist/index.mjs
var React34 = __toESM(require_react(), 1);
var ReactDOM3 = __toESM(require_react_dom(), 1);

// ../node_modules/@radix-ui/react-slot/dist/index.mjs
var React33 = __toESM(require_react(), 1);
var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);
function createSlot(ownerName) {
  const SlotClone2 = createSlotClone(ownerName);
  const Slot22 = React33.forwardRef((props, forwardedRef) => {
    const { children, ...slotProps } = props;
    const childrenArray = React33.Children.toArray(children);
    const slottable = childrenArray.find(isSlottable2);
    if (slottable) {
      const newElement = slottable.props.children;
      const newChildren = childrenArray.map((child) => {
        if (child === slottable) {
          if (React33.Children.count(newElement) > 1) return React33.Children.only(null);
          return React33.isValidElement(newElement) ? newElement.props.children : null;
        } else {
          return child;
        }
      });
      return (0, import_jsx_runtime7.jsx)(SlotClone2, { ...slotProps, ref: forwardedRef, children: React33.isValidElement(newElement) ? React33.cloneElement(newElement, void 0, newChildren) : null });
    }
    return (0, import_jsx_runtime7.jsx)(SlotClone2, { ...slotProps, ref: forwardedRef, children });
  });
  Slot22.displayName = `${ownerName}.Slot`;
  return Slot22;
}
__name(createSlot, "createSlot");
var Slot2 = createSlot("Slot");
function createSlotClone(ownerName) {
  const SlotClone2 = React33.forwardRef((props, forwardedRef) => {
    const { children, ...slotProps } = props;
    if (React33.isValidElement(children)) {
      const childrenRef = getElementRef3(children);
      const props2 = mergeProps2(slotProps, children.props);
      if (children.type !== React33.Fragment) {
        props2.ref = forwardedRef ? composeRefs2(forwardedRef, childrenRef) : childrenRef;
      }
      return React33.cloneElement(children, props2);
    }
    return React33.Children.count(children) > 1 ? React33.Children.only(null) : null;
  });
  SlotClone2.displayName = `${ownerName}.SlotClone`;
  return SlotClone2;
}
__name(createSlotClone, "createSlotClone");
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
function createSlottable(ownerName) {
  const Slottable22 = /* @__PURE__ */ __name(({ children }) => {
    return (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children });
  }, "Slottable2");
  Slottable22.displayName = `${ownerName}.Slottable`;
  Slottable22.__radixId = SLOTTABLE_IDENTIFIER;
  return Slottable22;
}
__name(createSlottable, "createSlottable");
var Slottable2 = createSlottable("Slottable");
function isSlottable2(child) {
  return React33.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
}
__name(isSlottable2, "isSlottable");
function mergeProps2(slotProps, childProps) {
  const overrideProps = { ...childProps };
  for (const propName in childProps) {
    const slotPropValue = slotProps[propName];
    const childPropValue = childProps[propName];
    const isHandler = /^on[A-Z]/.test(propName);
    if (isHandler) {
      if (slotPropValue && childPropValue) {
        overrideProps[propName] = (...args) => {
          const result = childPropValue(...args);
          slotPropValue(...args);
          return result;
        };
      } else if (slotPropValue) {
        overrideProps[propName] = slotPropValue;
      }
    } else if (propName === "style") {
      overrideProps[propName] = { ...slotPropValue, ...childPropValue };
    } else if (propName === "className") {
      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
    }
  }
  return { ...slotProps, ...overrideProps };
}
__name(mergeProps2, "mergeProps");
function getElementRef3(element) {
  let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
  let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
  if (mayWarn) {
    return element.ref;
  }
  getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
  mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
  if (mayWarn) {
    return element.props.ref;
  }
  return element.props.ref || element.ref;
}
__name(getElementRef3, "getElementRef");

// ../node_modules/@radix-ui/react-primitive/dist/index.mjs
var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);
var NODES2 = [
  "a",
  "button",
  "div",
  "form",
  "h2",
  "h3",
  "img",
  "input",
  "label",
  "li",
  "nav",
  "ol",
  "p",
  "select",
  "span",
  "svg",
  "ul"
];
var Primitive2 = NODES2.reduce((primitive, node2) => {
  const Slot4 = createSlot(`Primitive.${node2}`);
  const Node2 = React34.forwardRef((props, forwardedRef) => {
    const { asChild, ...primitiveProps } = props;
    const Comp2 = asChild ? Slot4 : node2;
    if (typeof window !== "undefined") {
      window[Symbol.for("radix-ui")] = true;
    }
    return (0, import_jsx_runtime8.jsx)(Comp2, { ...primitiveProps, ref: forwardedRef });
  });
  Node2.displayName = `Primitive.${node2}`;
  return { ...primitive, [node2]: Node2 };
}, {});
function dispatchDiscreteCustomEvent(target, event) {
  if (target) ReactDOM3.flushSync(() => target.dispatchEvent(event));
}
__name(dispatchDiscreteCustomEvent, "dispatchDiscreteCustomEvent");

// ../node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs
var React35 = __toESM(require_react(), 1);
function useCallbackRef2(callback) {
  const callbackRef = React35.useRef(callback);
  React35.useEffect(() => {
    callbackRef.current = callback;
  });
  return React35.useMemo(() => (...args) => callbackRef.current?.(...args), []);
}
__name(useCallbackRef2, "useCallbackRef");

// ../node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs
var React36 = __toESM(require_react(), 1);
function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {
  const onEscapeKeyDown = useCallbackRef2(onEscapeKeyDownProp);
  React36.useEffect(() => {
    const handleKeyDown = /* @__PURE__ */ __name((event) => {
      if (event.key === "Escape") {
        onEscapeKeyDown(event);
      }
    }, "handleKeyDown");
    ownerDocument.addEventListener("keydown", handleKeyDown, { capture: true });
    return () => ownerDocument.removeEventListener("keydown", handleKeyDown, { capture: true });
  }, [onEscapeKeyDown, ownerDocument]);
}
__name(useEscapeKeydown, "useEscapeKeydown");

// ../node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);
var DISMISSABLE_LAYER_NAME = "DismissableLayer";
var CONTEXT_UPDATE = "dismissableLayer.update";
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
var FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
var originalBodyPointerEvents;
var DismissableLayerContext = React37.createContext({
  layers: /* @__PURE__ */ new Set(),
  layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
  branches: /* @__PURE__ */ new Set()
});
var DismissableLayer = React37.forwardRef(
  (props, forwardedRef) => {
    const {
      disableOutsidePointerEvents = false,
      onEscapeKeyDown,
      onPointerDownOutside,
      onFocusOutside,
      onInteractOutside,
      onDismiss,
      ...layerProps
    } = props;
    const context = React37.useContext(DismissableLayerContext);
    const [node2, setNode] = React37.useState(null);
    const ownerDocument = node2?.ownerDocument ?? globalThis?.document;
    const [, force] = React37.useState({});
    const composedRefs = useComposedRefs2(forwardedRef, (node22) => setNode(node22));
    const layers = Array.from(context.layers);
    const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);
    const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);
    const index4 = node2 ? layers.indexOf(node2) : -1;
    const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
    const isPointerEventsEnabled = index4 >= highestLayerWithOutsidePointerEventsDisabledIndex;
    const pointerDownOutside = usePointerDownOutside((event) => {
      const target = event.target;
      const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));
      if (!isPointerEventsEnabled || isPointerDownOnBranch) return;
      onPointerDownOutside?.(event);
      onInteractOutside?.(event);
      if (!event.defaultPrevented) onDismiss?.();
    }, ownerDocument);
    const focusOutside = useFocusOutside((event) => {
      const target = event.target;
      const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));
      if (isFocusInBranch) return;
      onFocusOutside?.(event);
      onInteractOutside?.(event);
      if (!event.defaultPrevented) onDismiss?.();
    }, ownerDocument);
    useEscapeKeydown((event) => {
      const isHighestLayer = index4 === context.layers.size - 1;
      if (!isHighestLayer) return;
      onEscapeKeyDown?.(event);
      if (!event.defaultPrevented && onDismiss) {
        event.preventDefault();
        onDismiss();
      }
    }, ownerDocument);
    React37.useEffect(() => {
      if (!node2) return;
      if (disableOutsidePointerEvents) {
        if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
          originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;
          ownerDocument.body.style.pointerEvents = "none";
        }
        context.layersWithOutsidePointerEventsDisabled.add(node2);
      }
      context.layers.add(node2);
      dispatchUpdate();
      return () => {
        if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {
          ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;
        }
      };
    }, [node2, ownerDocument, disableOutsidePointerEvents, context]);
    React37.useEffect(() => {
      return () => {
        if (!node2) return;
        context.layers.delete(node2);
        context.layersWithOutsidePointerEventsDisabled.delete(node2);
        dispatchUpdate();
      };
    }, [node2, context]);
    React37.useEffect(() => {
      const handleUpdate = /* @__PURE__ */ __name(() => force({}), "handleUpdate");
      document.addEventListener(CONTEXT_UPDATE, handleUpdate);
      return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
    }, []);
    return (0, import_jsx_runtime9.jsx)(
      Primitive2.div,
      {
        ...layerProps,
        ref: composedRefs,
        style: {
          pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0,
          ...props.style
        },
        onFocusCapture: composeEventHandlers3(props.onFocusCapture, focusOutside.onFocusCapture),
        onBlurCapture: composeEventHandlers3(props.onBlurCapture, focusOutside.onBlurCapture),
        onPointerDownCapture: composeEventHandlers3(
          props.onPointerDownCapture,
          pointerDownOutside.onPointerDownCapture
        )
      }
    );
  }
);
DismissableLayer.displayName = DISMISSABLE_LAYER_NAME;
var BRANCH_NAME = "DismissableLayerBranch";
var DismissableLayerBranch = React37.forwardRef((props, forwardedRef) => {
  const context = React37.useContext(DismissableLayerContext);
  const ref = React37.useRef(null);
  const composedRefs = useComposedRefs2(forwardedRef, ref);
  React37.useEffect(() => {
    const node2 = ref.current;
    if (node2) {
      context.branches.add(node2);
      return () => {
        context.branches.delete(node2);
      };
    }
  }, [context.branches]);
  return (0, import_jsx_runtime9.jsx)(Primitive2.div, { ...props, ref: composedRefs });
});
DismissableLayerBranch.displayName = BRANCH_NAME;
function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
  const handlePointerDownOutside = useCallbackRef2(onPointerDownOutside);
  const isPointerInsideReactTreeRef = React37.useRef(false);
  const handleClickRef = React37.useRef(() => {
  });
  React37.useEffect(() => {
    const handlePointerDown = /* @__PURE__ */ __name((event) => {
      if (event.target && !isPointerInsideReactTreeRef.current) {
        let handleAndDispatchPointerDownOutsideEvent2 = /* @__PURE__ */ __name(function() {
          handleAndDispatchCustomEvent(
            POINTER_DOWN_OUTSIDE,
            handlePointerDownOutside,
            eventDetail,
            { discrete: true }
          );
        }, "handleAndDispatchPointerDownOutsideEvent2");
        var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;
        const eventDetail = { originalEvent: event };
        if (event.pointerType === "touch") {
          ownerDocument.removeEventListener("click", handleClickRef.current);
          handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;
          ownerDocument.addEventListener("click", handleClickRef.current, { once: true });
        } else {
          handleAndDispatchPointerDownOutsideEvent2();
        }
      } else {
        ownerDocument.removeEventListener("click", handleClickRef.current);
      }
      isPointerInsideReactTreeRef.current = false;
    }, "handlePointerDown");
    const timerId = window.setTimeout(() => {
      ownerDocument.addEventListener("pointerdown", handlePointerDown);
    }, 0);
    return () => {
      window.clearTimeout(timerId);
      ownerDocument.removeEventListener("pointerdown", handlePointerDown);
      ownerDocument.removeEventListener("click", handleClickRef.current);
    };
  }, [ownerDocument, handlePointerDownOutside]);
  return {
    // ensures we check React component tree (not just DOM tree)
    onPointerDownCapture: /* @__PURE__ */ __name(() => isPointerInsideReactTreeRef.current = true, "onPointerDownCapture")
  };
}
__name(usePointerDownOutside, "usePointerDownOutside");
function useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {
  const handleFocusOutside = useCallbackRef2(onFocusOutside);
  const isFocusInsideReactTreeRef = React37.useRef(false);
  React37.useEffect(() => {
    const handleFocus = /* @__PURE__ */ __name((event) => {
      if (event.target && !isFocusInsideReactTreeRef.current) {
        const eventDetail = { originalEvent: event };
        handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {
          discrete: false
        });
      }
    }, "handleFocus");
    ownerDocument.addEventListener("focusin", handleFocus);
    return () => ownerDocument.removeEventListener("focusin", handleFocus);
  }, [ownerDocument, handleFocusOutside]);
  return {
    onFocusCapture: /* @__PURE__ */ __name(() => isFocusInsideReactTreeRef.current = true, "onFocusCapture"),
    onBlurCapture: /* @__PURE__ */ __name(() => isFocusInsideReactTreeRef.current = false, "onBlurCapture")
  };
}
__name(useFocusOutside, "useFocusOutside");
function dispatchUpdate() {
  const event = new CustomEvent(CONTEXT_UPDATE);
  document.dispatchEvent(event);
}
__name(dispatchUpdate, "dispatchUpdate");
function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
  const target = detail.originalEvent.target;
  const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });
  if (handler) target.addEventListener(name, handler, { once: true });
  if (discrete) {
    dispatchDiscreteCustomEvent(target, event);
  } else {
    target.dispatchEvent(event);
  }
}
__name(handleAndDispatchCustomEvent, "handleAndDispatchCustomEvent");

// ../node_modules/@radix-ui/react-focus-scope/dist/index.mjs
var React38 = __toESM(require_react(), 1);
var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);
var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
var FOCUS_SCOPE_NAME = "FocusScope";
var FocusScope = React38.forwardRef((props, forwardedRef) => {
  const {
    loop = false,
    trapped = false,
    onMountAutoFocus: onMountAutoFocusProp,
    onUnmountAutoFocus: onUnmountAutoFocusProp,
    ...scopeProps
  } = props;
  const [container, setContainer] = React38.useState(null);
  const onMountAutoFocus = useCallbackRef2(onMountAutoFocusProp);
  const onUnmountAutoFocus = useCallbackRef2(onUnmountAutoFocusProp);
  const lastFocusedElementRef = React38.useRef(null);
  const composedRefs = useComposedRefs2(forwardedRef, (node2) => setContainer(node2));
  const focusScope = React38.useRef({
    paused: false,
    pause() {
      this.paused = true;
    },
    resume() {
      this.paused = false;
    }
  }).current;
  React38.useEffect(() => {
    if (trapped) {
      let handleFocusIn2 = /* @__PURE__ */ __name(function(event) {
        if (focusScope.paused || !container) return;
        const target = event.target;
        if (container.contains(target)) {
          lastFocusedElementRef.current = target;
        } else {
          focus(lastFocusedElementRef.current, { select: true });
        }
      }, "handleFocusIn2"), handleFocusOut2 = /* @__PURE__ */ __name(function(event) {
        if (focusScope.paused || !container) return;
        const relatedTarget = event.relatedTarget;
        if (relatedTarget === null) return;
        if (!container.contains(relatedTarget)) {
          focus(lastFocusedElementRef.current, { select: true });
        }
      }, "handleFocusOut2"), handleMutations2 = /* @__PURE__ */ __name(function(mutations) {
        const focusedElement = document.activeElement;
        if (focusedElement !== document.body) return;
        for (const mutation of mutations) {
          if (mutation.removedNodes.length > 0) focus(container);
        }
      }, "handleMutations2");
      var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;
      document.addEventListener("focusin", handleFocusIn2);
      document.addEventListener("focusout", handleFocusOut2);
      const mutationObserver = new MutationObserver(handleMutations2);
      if (container) mutationObserver.observe(container, { childList: true, subtree: true });
      return () => {
        document.removeEventListener("focusin", handleFocusIn2);
        document.removeEventListener("focusout", handleFocusOut2);
        mutationObserver.disconnect();
      };
    }
  }, [trapped, container, focusScope.paused]);
  React38.useEffect(() => {
    if (container) {
      focusScopesStack.add(focusScope);
      const previouslyFocusedElement = document.activeElement;
      const hasFocusedCandidate = container.contains(previouslyFocusedElement);
      if (!hasFocusedCandidate) {
        const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);
        container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);
        container.dispatchEvent(mountEvent);
        if (!mountEvent.defaultPrevented) {
          focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });
          if (document.activeElement === previouslyFocusedElement) {
            focus(container);
          }
        }
      }
      return () => {
        container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);
        setTimeout(() => {
          const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);
          container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
          container.dispatchEvent(unmountEvent);
          if (!unmountEvent.defaultPrevented) {
            focus(previouslyFocusedElement ?? document.body, { select: true });
          }
          container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
          focusScopesStack.remove(focusScope);
        }, 0);
      };
    }
  }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);
  const handleKeyDown = React38.useCallback(
    (event) => {
      if (!loop && !trapped) return;
      if (focusScope.paused) return;
      const isTabKey = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey;
      const focusedElement = document.activeElement;
      if (isTabKey && focusedElement) {
        const container2 = event.currentTarget;
        const [first, last2] = getTabbableEdges(container2);
        const hasTabbableElementsInside = first && last2;
        if (!hasTabbableElementsInside) {
          if (focusedElement === container2) event.preventDefault();
        } else {
          if (!event.shiftKey && focusedElement === last2) {
            event.preventDefault();
            if (loop) focus(first, { select: true });
          } else if (event.shiftKey && focusedElement === first) {
            event.preventDefault();
            if (loop) focus(last2, { select: true });
          }
        }
      }
    },
    [loop, trapped, focusScope.paused]
  );
  return (0, import_jsx_runtime10.jsx)(Primitive2.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });
});
FocusScope.displayName = FOCUS_SCOPE_NAME;
function focusFirst(candidates, { select = false } = {}) {
  const previouslyFocusedElement = document.activeElement;
  for (const candidate of candidates) {
    focus(candidate, { select });
    if (document.activeElement !== previouslyFocusedElement) return;
  }
}
__name(focusFirst, "focusFirst");
function getTabbableEdges(container) {
  const candidates = getTabbableCandidates(container);
  const first = findVisible(candidates, container);
  const last2 = findVisible(candidates.reverse(), container);
  return [first, last2];
}
__name(getTabbableEdges, "getTabbableEdges");
function getTabbableCandidates(container) {
  const nodes = [];
  const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
    acceptNode: /* @__PURE__ */ __name((node2) => {
      const isHiddenInput = node2.tagName === "INPUT" && node2.type === "hidden";
      if (node2.disabled || node2.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;
      return node2.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
    }, "acceptNode")
  });
  while (walker.nextNode()) nodes.push(walker.currentNode);
  return nodes;
}
__name(getTabbableCandidates, "getTabbableCandidates");
function findVisible(elements, container) {
  for (const element of elements) {
    if (!isHidden(element, { upTo: container })) return element;
  }
}
__name(findVisible, "findVisible");
function isHidden(node2, { upTo }) {
  if (getComputedStyle(node2).visibility === "hidden") return true;
  while (node2) {
    if (upTo !== void 0 && node2 === upTo) return false;
    if (getComputedStyle(node2).display === "none") return true;
    node2 = node2.parentElement;
  }
  return false;
}
__name(isHidden, "isHidden");
function isSelectableInput(element) {
  return element instanceof HTMLInputElement && "select" in element;
}
__name(isSelectableInput, "isSelectableInput");
function focus(element, { select = false } = {}) {
  if (element && element.focus) {
    const previouslyFocusedElement = document.activeElement;
    element.focus({ preventScroll: true });
    if (element !== previouslyFocusedElement && isSelectableInput(element) && select)
      element.select();
  }
}
__name(focus, "focus");
var focusScopesStack = createFocusScopesStack();
function createFocusScopesStack() {
  let stack = [];
  return {
    add(focusScope) {
      const activeFocusScope = stack[0];
      if (focusScope !== activeFocusScope) {
        activeFocusScope?.pause();
      }
      stack = arrayRemove(stack, focusScope);
      stack.unshift(focusScope);
    },
    remove(focusScope) {
      stack = arrayRemove(stack, focusScope);
      stack[0]?.resume();
    }
  };
}
__name(createFocusScopesStack, "createFocusScopesStack");
function arrayRemove(array, item) {
  const updatedArray = [...array];
  const index4 = updatedArray.indexOf(item);
  if (index4 !== -1) {
    updatedArray.splice(index4, 1);
  }
  return updatedArray;
}
__name(arrayRemove, "arrayRemove");
function removeLinks(items) {
  return items.filter((item) => item.tagName !== "A");
}
__name(removeLinks, "removeLinks");

// ../node_modules/@radix-ui/react-portal/dist/index.mjs
var React39 = __toESM(require_react(), 1);
var import_react_dom = __toESM(require_react_dom(), 1);
var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);
var PORTAL_NAME = "Portal";
var Portal = React39.forwardRef((props, forwardedRef) => {
  const { container: containerProp, ...portalProps } = props;
  const [mounted, setMounted] = React39.useState(false);
  useLayoutEffect23(() => setMounted(true), []);
  const container = containerProp || mounted && globalThis?.document?.body;
  return container ? import_react_dom.default.createPortal((0, import_jsx_runtime11.jsx)(Primitive2.div, { ...portalProps, ref: forwardedRef }), container) : null;
});
Portal.displayName = PORTAL_NAME;

// ../node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-presence/dist/index.mjs
var React211 = __toESM(require_react(), 1);
var React40 = __toESM(require_react(), 1);
function useStateMachine3(initialState, machine) {
  return React40.useReducer((state3, event) => {
    const nextState = machine[state3][event];
    return nextState ?? state3;
  }, initialState);
}
__name(useStateMachine3, "useStateMachine");
var Presence2 = /* @__PURE__ */ __name((props) => {
  const { present, children } = props;
  const presence = usePresence2(present);
  const child = typeof children === "function" ? children({ present: presence.isPresent }) : React211.Children.only(children);
  const ref = useComposedRefs2(presence.ref, getElementRef4(child));
  const forceMount = typeof children === "function";
  return forceMount || presence.isPresent ? React211.cloneElement(child, { ref }) : null;
}, "Presence");
Presence2.displayName = "Presence";
function usePresence2(present) {
  const [node2, setNode] = React211.useState();
  const stylesRef = React211.useRef(null);
  const prevPresentRef = React211.useRef(present);
  const prevAnimationNameRef = React211.useRef("none");
  const initialState = present ? "mounted" : "unmounted";
  const [state3, send] = useStateMachine3(initialState, {
    mounted: {
      UNMOUNT: "unmounted",
      ANIMATION_OUT: "unmountSuspended"
    },
    unmountSuspended: {
      MOUNT: "mounted",
      ANIMATION_END: "unmounted"
    },
    unmounted: {
      MOUNT: "mounted"
    }
  });
  React211.useEffect(() => {
    const currentAnimationName = getAnimationName2(stylesRef.current);
    prevAnimationNameRef.current = state3 === "mounted" ? currentAnimationName : "none";
  }, [state3]);
  useLayoutEffect23(() => {
    const styles4 = stylesRef.current;
    const wasPresent = prevPresentRef.current;
    const hasPresentChanged = wasPresent !== present;
    if (hasPresentChanged) {
      const prevAnimationName = prevAnimationNameRef.current;
      const currentAnimationName = getAnimationName2(styles4);
      if (present) {
        send("MOUNT");
      } else if (currentAnimationName === "none" || styles4?.display === "none") {
        send("UNMOUNT");
      } else {
        const isAnimating = prevAnimationName !== currentAnimationName;
        if (wasPresent && isAnimating) {
          send("ANIMATION_OUT");
        } else {
          send("UNMOUNT");
        }
      }
      prevPresentRef.current = present;
    }
  }, [present, send]);
  useLayoutEffect23(() => {
    if (node2) {
      let timeoutId;
      const ownerWindow = node2.ownerDocument.defaultView ?? window;
      const handleAnimationEnd = /* @__PURE__ */ __name((event) => {
        const currentAnimationName = getAnimationName2(stylesRef.current);
        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));
        if (event.target === node2 && isCurrentAnimation) {
          send("ANIMATION_END");
          if (!prevPresentRef.current) {
            const currentFillMode = node2.style.animationFillMode;
            node2.style.animationFillMode = "forwards";
            timeoutId = ownerWindow.setTimeout(() => {
              if (node2.style.animationFillMode === "forwards") {
                node2.style.animationFillMode = currentFillMode;
              }
            });
          }
        }
      }, "handleAnimationEnd");
      const handleAnimationStart = /* @__PURE__ */ __name((event) => {
        if (event.target === node2) {
          prevAnimationNameRef.current = getAnimationName2(stylesRef.current);
        }
      }, "handleAnimationStart");
      node2.addEventListener("animationstart", handleAnimationStart);
      node2.addEventListener("animationcancel", handleAnimationEnd);
      node2.addEventListener("animationend", handleAnimationEnd);
      return () => {
        ownerWindow.clearTimeout(timeoutId);
        node2.removeEventListener("animationstart", handleAnimationStart);
        node2.removeEventListener("animationcancel", handleAnimationEnd);
        node2.removeEventListener("animationend", handleAnimationEnd);
      };
    } else {
      send("ANIMATION_END");
    }
  }, [node2, send]);
  return {
    isPresent: ["mounted", "unmountSuspended"].includes(state3),
    ref: React211.useCallback((node22) => {
      stylesRef.current = node22 ? getComputedStyle(node22) : null;
      setNode(node22);
    }, [])
  };
}
__name(usePresence2, "usePresence");
function getAnimationName2(styles4) {
  return styles4?.animationName || "none";
}
__name(getAnimationName2, "getAnimationName");
function getElementRef4(element) {
  let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
  let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
  if (mayWarn) {
    return element.ref;
  }
  getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
  mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
  if (mayWarn) {
    return element.props.ref;
  }
  return element.props.ref || element.ref;
}
__name(getElementRef4, "getElementRef");

// ../node_modules/@radix-ui/react-focus-guards/dist/index.mjs
var React41 = __toESM(require_react(), 1);
var count2 = 0;
function useFocusGuards() {
  React41.useEffect(() => {
    const edgeGuards = document.querySelectorAll("[data-radix-focus-guard]");
    document.body.insertAdjacentElement("afterbegin", edgeGuards[0] ?? createFocusGuard());
    document.body.insertAdjacentElement("beforeend", edgeGuards[1] ?? createFocusGuard());
    count2++;
    return () => {
      if (count2 === 1) {
        document.querySelectorAll("[data-radix-focus-guard]").forEach((node2) => node2.remove());
      }
      count2--;
    };
  }, []);
}
__name(useFocusGuards, "useFocusGuards");
function createFocusGuard() {
  const element = document.createElement("span");
  element.setAttribute("data-radix-focus-guard", "");
  element.tabIndex = 0;
  element.style.outline = "none";
  element.style.opacity = "0";
  element.style.position = "fixed";
  element.style.pointerEvents = "none";
  return element;
}
__name(createFocusGuard, "createFocusGuard");

// ../node_modules/tslib/tslib.es6.mjs
var __assign = /* @__PURE__ */ __name(function() {
  __assign = Object.assign || /* @__PURE__ */ __name(function __assign2(t2) {
    for (var s3, i2 = 1, n2 = arguments.length; i2 < n2; i2++) {
      s3 = arguments[i2];
      for (var p2 in s3) if (Object.prototype.hasOwnProperty.call(s3, p2)) t2[p2] = s3[p2];
    }
    return t2;
  }, "__assign");
  return __assign.apply(this, arguments);
}, "__assign");
function __rest(s3, e2) {
  var t2 = {};
  for (var p2 in s3) if (Object.prototype.hasOwnProperty.call(s3, p2) && e2.indexOf(p2) < 0)
    t2[p2] = s3[p2];
  if (s3 != null && typeof Object.getOwnPropertySymbols === "function")
    for (var i2 = 0, p2 = Object.getOwnPropertySymbols(s3); i2 < p2.length; i2++) {
      if (e2.indexOf(p2[i2]) < 0 && Object.prototype.propertyIsEnumerable.call(s3, p2[i2]))
        t2[p2[i2]] = s3[p2[i2]];
    }
  return t2;
}
__name(__rest, "__rest");
function __spreadArray(to, from2, pack) {
  if (pack || arguments.length === 2) for (var i2 = 0, l = from2.length, ar; i2 < l; i2++) {
    if (ar || !(i2 in from2)) {
      if (!ar) ar = Array.prototype.slice.call(from2, 0, i2);
      ar[i2] = from2[i2];
    }
  }
  return to.concat(ar || Array.prototype.slice.call(from2));
}
__name(__spreadArray, "__spreadArray");

// ../node_modules/react-remove-scroll/dist/es2015/Combination.js
var React50 = __toESM(require_react());

// ../node_modules/react-remove-scroll/dist/es2015/UI.js
var React46 = __toESM(require_react());

// ../node_modules/react-remove-scroll-bar/dist/es2015/constants.js
var zeroRightClassName = "right-scroll-bar-position";
var fullWidthClassName = "width-before-scroll-bar";
var noScrollbarsClassName = "with-scroll-bars-hidden";
var removedBarSizeVariable = "--removed-body-scroll-bar-size";

// ../node_modules/use-callback-ref/dist/es2015/assignRef.js
function assignRef(ref, value) {
  if (typeof ref === "function") {
    ref(value);
  } else if (ref) {
    ref.current = value;
  }
  return ref;
}
__name(assignRef, "assignRef");

// ../node_modules/use-callback-ref/dist/es2015/useRef.js
var import_react18 = __toESM(require_react());
function useCallbackRef3(initialValue2, callback) {
  var ref = (0, import_react18.useState)(function() {
    return {
      // value
      value: initialValue2,
      // last callback
      callback,
      // "memoized" public interface
      facade: {
        get current() {
          return ref.value;
        },
        set current(value) {
          var last2 = ref.value;
          if (last2 !== value) {
            ref.value = value;
            ref.callback(value, last2);
          }
        }
      }
    };
  })[0];
  ref.callback = callback;
  return ref.facade;
}
__name(useCallbackRef3, "useCallbackRef");

// ../node_modules/use-callback-ref/dist/es2015/useMergeRef.js
var React42 = __toESM(require_react());
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React42.useLayoutEffect : React42.useEffect;
var currentValues = /* @__PURE__ */ new WeakMap();
function useMergeRefs(refs, defaultValue) {
  var callbackRef = useCallbackRef3(defaultValue || null, function(newValue) {
    return refs.forEach(function(ref) {
      return assignRef(ref, newValue);
    });
  });
  useIsomorphicLayoutEffect(function() {
    var oldValue = currentValues.get(callbackRef);
    if (oldValue) {
      var prevRefs_1 = new Set(oldValue);
      var nextRefs_1 = new Set(refs);
      var current_1 = callbackRef.current;
      prevRefs_1.forEach(function(ref) {
        if (!nextRefs_1.has(ref)) {
          assignRef(ref, null);
        }
      });
      nextRefs_1.forEach(function(ref) {
        if (!prevRefs_1.has(ref)) {
          assignRef(ref, current_1);
        }
      });
    }
    currentValues.set(callbackRef, refs);
  }, [refs]);
  return callbackRef;
}
__name(useMergeRefs, "useMergeRefs");

// ../node_modules/use-sidecar/dist/es2015/hoc.js
var React43 = __toESM(require_react());

// ../node_modules/use-sidecar/dist/es2015/hook.js
var import_react19 = __toESM(require_react());

// ../node_modules/use-sidecar/dist/es2015/medium.js
function ItoI(a2) {
  return a2;
}
__name(ItoI, "ItoI");
function innerCreateMedium(defaults, middleware2) {
  if (middleware2 === void 0) {
    middleware2 = ItoI;
  }
  var buffer = [];
  var assigned = false;
  var medium = {
    read: /* @__PURE__ */ __name(function() {
      if (assigned) {
        throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");
      }
      if (buffer.length) {
        return buffer[buffer.length - 1];
      }
      return defaults;
    }, "read"),
    useMedium: /* @__PURE__ */ __name(function(data) {
      var item = middleware2(data, assigned);
      buffer.push(item);
      return function() {
        buffer = buffer.filter(function(x) {
          return x !== item;
        });
      };
    }, "useMedium"),
    assignSyncMedium: /* @__PURE__ */ __name(function(cb) {
      assigned = true;
      while (buffer.length) {
        var cbs = buffer;
        buffer = [];
        cbs.forEach(cb);
      }
      buffer = {
        push: /* @__PURE__ */ __name(function(x) {
          return cb(x);
        }, "push"),
        filter: /* @__PURE__ */ __name(function() {
          return buffer;
        }, "filter")
      };
    }, "assignSyncMedium"),
    assignMedium: /* @__PURE__ */ __name(function(cb) {
      assigned = true;
      var pendingQueue = [];
      if (buffer.length) {
        var cbs = buffer;
        buffer = [];
        cbs.forEach(cb);
        pendingQueue = buffer;
      }
      var executeQueue = /* @__PURE__ */ __name(function() {
        var cbs2 = pendingQueue;
        pendingQueue = [];
        cbs2.forEach(cb);
      }, "executeQueue");
      var cycle = /* @__PURE__ */ __name(function() {
        return Promise.resolve().then(executeQueue);
      }, "cycle");
      cycle();
      buffer = {
        push: /* @__PURE__ */ __name(function(x) {
          pendingQueue.push(x);
          cycle();
        }, "push"),
        filter: /* @__PURE__ */ __name(function(filter) {
          pendingQueue = pendingQueue.filter(filter);
          return buffer;
        }, "filter")
      };
    }, "assignMedium")
  };
  return medium;
}
__name(innerCreateMedium, "innerCreateMedium");
function createSidecarMedium(options) {
  if (options === void 0) {
    options = {};
  }
  var medium = innerCreateMedium(null);
  medium.options = __assign({ async: true, ssr: false }, options);
  return medium;
}
__name(createSidecarMedium, "createSidecarMedium");

// ../node_modules/use-sidecar/dist/es2015/renderProp.js
var React44 = __toESM(require_react());
var import_react20 = __toESM(require_react());

// ../node_modules/use-sidecar/dist/es2015/exports.js
var React45 = __toESM(require_react());
var SideCar = /* @__PURE__ */ __name(function(_a3) {
  var sideCar = _a3.sideCar, rest = __rest(_a3, ["sideCar"]);
  if (!sideCar) {
    throw new Error("Sidecar: please provide `sideCar` property to import the right car");
  }
  var Target = sideCar.read();
  if (!Target) {
    throw new Error("Sidecar medium not found");
  }
  return React45.createElement(Target, __assign({}, rest));
}, "SideCar");
SideCar.isSideCarExport = true;
function exportSidecar(medium, exported) {
  medium.useMedium(exported);
  return SideCar;
}
__name(exportSidecar, "exportSidecar");

// ../node_modules/react-remove-scroll/dist/es2015/medium.js
var effectCar = createSidecarMedium();

// ../node_modules/react-remove-scroll/dist/es2015/UI.js
var nothing = /* @__PURE__ */ __name(function() {
  return;
}, "nothing");
var RemoveScroll = React46.forwardRef(function(props, parentRef) {
  var ref = React46.useRef(null);
  var _a3 = React46.useState({
    onScrollCapture: nothing,
    onWheelCapture: nothing,
    onTouchMoveCapture: nothing
  }), callbacks = _a3[0], setCallbacks = _a3[1];
  var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noRelative = props.noRelative, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container4 = _b === void 0 ? "div" : _b, gapMode = props.gapMode, rest = __rest(props, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]);
  var SideCar2 = sideCar;
  var containerRef = useMergeRefs([ref, parentRef]);
  var containerProps = __assign(__assign({}, rest), callbacks);
  return React46.createElement(
    React46.Fragment,
    null,
    enabled && React46.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noRelative, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }),
    forwardProps ? React46.cloneElement(React46.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React46.createElement(Container4, __assign({}, containerProps, { className, ref: containerRef }), children)
  );
});
RemoveScroll.defaultProps = {
  enabled: true,
  removeScrollBar: true,
  inert: false
};
RemoveScroll.classNames = {
  fullWidth: fullWidthClassName,
  zeroRight: zeroRightClassName
};

// ../node_modules/react-remove-scroll/dist/es2015/SideEffect.js
var React49 = __toESM(require_react());

// ../node_modules/react-remove-scroll-bar/dist/es2015/component.js
var React48 = __toESM(require_react());

// ../node_modules/react-style-singleton/dist/es2015/hook.js
var React47 = __toESM(require_react());

// ../node_modules/get-nonce/dist/es2015/index.js
var currentNonce;
var getNonce = /* @__PURE__ */ __name(function() {
  if (currentNonce) {
    return currentNonce;
  }
  if (typeof __webpack_nonce__ !== "undefined") {
    return __webpack_nonce__;
  }
  return void 0;
}, "getNonce");

// ../node_modules/react-style-singleton/dist/es2015/singleton.js
function makeStyleTag() {
  if (!document)
    return null;
  var tag = document.createElement("style");
  tag.type = "text/css";
  var nonce = getNonce();
  if (nonce) {
    tag.setAttribute("nonce", nonce);
  }
  return tag;
}
__name(makeStyleTag, "makeStyleTag");
function injectStyles(tag, css3) {
  if (tag.styleSheet) {
    tag.styleSheet.cssText = css3;
  } else {
    tag.appendChild(document.createTextNode(css3));
  }
}
__name(injectStyles, "injectStyles");
function insertStyleTag(tag) {
  var head2 = document.head || document.getElementsByTagName("head")[0];
  head2.appendChild(tag);
}
__name(insertStyleTag, "insertStyleTag");
var stylesheetSingleton = /* @__PURE__ */ __name(function() {
  var counter = 0;
  var stylesheet = null;
  return {
    add: /* @__PURE__ */ __name(function(style) {
      if (counter == 0) {
        if (stylesheet = makeStyleTag()) {
          injectStyles(stylesheet, style);
          insertStyleTag(stylesheet);
        }
      }
      counter++;
    }, "add"),
    remove: /* @__PURE__ */ __name(function() {
      counter--;
      if (!counter && stylesheet) {
        stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);
        stylesheet = null;
      }
    }, "remove")
  };
}, "stylesheetSingleton");

// ../node_modules/react-style-singleton/dist/es2015/hook.js
var styleHookSingleton = /* @__PURE__ */ __name(function() {
  var sheet = stylesheetSingleton();
  return function(styles4, isDynamic) {
    React47.useEffect(function() {
      sheet.add(styles4);
      return function() {
        sheet.remove();
      };
    }, [styles4 && isDynamic]);
  };
}, "styleHookSingleton");

// ../node_modules/react-style-singleton/dist/es2015/component.js
var styleSingleton = /* @__PURE__ */ __name(function() {
  var useStyle = styleHookSingleton();
  var Sheet = /* @__PURE__ */ __name(function(_a3) {
    var styles4 = _a3.styles, dynamic = _a3.dynamic;
    useStyle(styles4, dynamic);
    return null;
  }, "Sheet");
  return Sheet;
}, "styleSingleton");

// ../node_modules/react-remove-scroll-bar/dist/es2015/utils.js
var zeroGap = {
  left: 0,
  top: 0,
  right: 0,
  gap: 0
};
var parse3 = /* @__PURE__ */ __name(function(x) {
  return parseInt(x || "", 10) || 0;
}, "parse");
var getOffset = /* @__PURE__ */ __name(function(gapMode) {
  var cs = window.getComputedStyle(document.body);
  var left2 = cs[gapMode === "padding" ? "paddingLeft" : "marginLeft"];
  var top2 = cs[gapMode === "padding" ? "paddingTop" : "marginTop"];
  var right2 = cs[gapMode === "padding" ? "paddingRight" : "marginRight"];
  return [parse3(left2), parse3(top2), parse3(right2)];
}, "getOffset");
var getGapWidth = /* @__PURE__ */ __name(function(gapMode) {
  if (gapMode === void 0) {
    gapMode = "margin";
  }
  if (typeof window === "undefined") {
    return zeroGap;
  }
  var offsets = getOffset(gapMode);
  var documentWidth = document.documentElement.clientWidth;
  var windowWidth = window.innerWidth;
  return {
    left: offsets[0],
    top: offsets[1],
    right: offsets[2],
    gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0])
  };
}, "getGapWidth");

// ../node_modules/react-remove-scroll-bar/dist/es2015/component.js
var Style = styleSingleton();
var lockAttribute = "data-scroll-locked";
var getStyles = /* @__PURE__ */ __name(function(_a3, allowRelative, gapMode, important) {
  var left2 = _a3.left, top2 = _a3.top, right2 = _a3.right, gap = _a3.gap;
  if (gapMode === void 0) {
    gapMode = "margin";
  }
  return "\n  .".concat(noScrollbarsClassName, " {\n   overflow: hidden ").concat(important, ";\n   padding-right: ").concat(gap, "px ").concat(important, ";\n  }\n  body[").concat(lockAttribute, "] {\n    overflow: hidden ").concat(important, ";\n    overscroll-behavior: contain;\n    ").concat([
    allowRelative && "position: relative ".concat(important, ";"),
    gapMode === "margin" && "\n    padding-left: ".concat(left2, "px;\n    padding-top: ").concat(top2, "px;\n    padding-right: ").concat(right2, "px;\n    margin-left:0;\n    margin-top:0;\n    margin-right: ").concat(gap, "px ").concat(important, ";\n    "),
    gapMode === "padding" && "padding-right: ".concat(gap, "px ").concat(important, ";")
  ].filter(Boolean).join(""), "\n  }\n  \n  .").concat(zeroRightClassName, " {\n    right: ").concat(gap, "px ").concat(important, ";\n  }\n  \n  .").concat(fullWidthClassName, " {\n    margin-right: ").concat(gap, "px ").concat(important, ";\n  }\n  \n  .").concat(zeroRightClassName, " .").concat(zeroRightClassName, " {\n    right: 0 ").concat(important, ";\n  }\n  \n  .").concat(fullWidthClassName, " .").concat(fullWidthClassName, " {\n    margin-right: 0 ").concat(important, ";\n  }\n  \n  body[").concat(lockAttribute, "] {\n    ").concat(removedBarSizeVariable, ": ").concat(gap, "px;\n  }\n");
}, "getStyles");
var getCurrentUseCounter = /* @__PURE__ */ __name(function() {
  var counter = parseInt(document.body.getAttribute(lockAttribute) || "0", 10);
  return isFinite(counter) ? counter : 0;
}, "getCurrentUseCounter");
var useLockAttribute = /* @__PURE__ */ __name(function() {
  React48.useEffect(function() {
    document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());
    return function() {
      var newCounter = getCurrentUseCounter() - 1;
      if (newCounter <= 0) {
        document.body.removeAttribute(lockAttribute);
      } else {
        document.body.setAttribute(lockAttribute, newCounter.toString());
      }
    };
  }, []);
}, "useLockAttribute");
var RemoveScrollBar = /* @__PURE__ */ __name(function(_a3) {
  var noRelative = _a3.noRelative, noImportant = _a3.noImportant, _b = _a3.gapMode, gapMode = _b === void 0 ? "margin" : _b;
  useLockAttribute();
  var gap = React48.useMemo(function() {
    return getGapWidth(gapMode);
  }, [gapMode]);
  return React48.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? "!important" : "") });
}, "RemoveScrollBar");

// ../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js
var passiveSupported = false;
if (typeof window !== "undefined") {
  try {
    options = Object.defineProperty({}, "passive", {
      get: /* @__PURE__ */ __name(function() {
        passiveSupported = true;
        return true;
      }, "get")
    });
    window.addEventListener("test", options, options);
    window.removeEventListener("test", options, options);
  } catch (err) {
    passiveSupported = false;
  }
}
var options;
var nonPassive = passiveSupported ? { passive: false } : false;

// ../node_modules/react-remove-scroll/dist/es2015/handleScroll.js
var alwaysContainsScroll = /* @__PURE__ */ __name(function(node2) {
  return node2.tagName === "TEXTAREA";
}, "alwaysContainsScroll");
var elementCanBeScrolled = /* @__PURE__ */ __name(function(node2, overflow) {
  if (!(node2 instanceof Element)) {
    return false;
  }
  var styles4 = window.getComputedStyle(node2);
  return (
    // not-not-scrollable
    styles4[overflow] !== "hidden" && // contains scroll inside self
    !(styles4.overflowY === styles4.overflowX && !alwaysContainsScroll(node2) && styles4[overflow] === "visible")
  );
}, "elementCanBeScrolled");
var elementCouldBeVScrolled = /* @__PURE__ */ __name(function(node2) {
  return elementCanBeScrolled(node2, "overflowY");
}, "elementCouldBeVScrolled");
var elementCouldBeHScrolled = /* @__PURE__ */ __name(function(node2) {
  return elementCanBeScrolled(node2, "overflowX");
}, "elementCouldBeHScrolled");
var locationCouldBeScrolled = /* @__PURE__ */ __name(function(axis, node2) {
  var ownerDocument = node2.ownerDocument;
  var current = node2;
  do {
    if (typeof ShadowRoot !== "undefined" && current instanceof ShadowRoot) {
      current = current.host;
    }
    var isScrollable = elementCouldBeScrolled(axis, current);
    if (isScrollable) {
      var _a3 = getScrollVariables(axis, current), scrollHeight = _a3[1], clientHeight = _a3[2];
      if (scrollHeight > clientHeight) {
        return true;
      }
    }
    current = current.parentNode;
  } while (current && current !== ownerDocument.body);
  return false;
}, "locationCouldBeScrolled");
var getVScrollVariables = /* @__PURE__ */ __name(function(_a3) {
  var scrollTop = _a3.scrollTop, scrollHeight = _a3.scrollHeight, clientHeight = _a3.clientHeight;
  return [
    scrollTop,
    scrollHeight,
    clientHeight
  ];
}, "getVScrollVariables");
var getHScrollVariables = /* @__PURE__ */ __name(function(_a3) {
  var scrollLeft = _a3.scrollLeft, scrollWidth = _a3.scrollWidth, clientWidth = _a3.clientWidth;
  return [
    scrollLeft,
    scrollWidth,
    clientWidth
  ];
}, "getHScrollVariables");
var elementCouldBeScrolled = /* @__PURE__ */ __name(function(axis, node2) {
  return axis === "v" ? elementCouldBeVScrolled(node2) : elementCouldBeHScrolled(node2);
}, "elementCouldBeScrolled");
var getScrollVariables = /* @__PURE__ */ __name(function(axis, node2) {
  return axis === "v" ? getVScrollVariables(node2) : getHScrollVariables(node2);
}, "getScrollVariables");
var getDirectionFactor = /* @__PURE__ */ __name(function(axis, direction) {
  return axis === "h" && direction === "rtl" ? -1 : 1;
}, "getDirectionFactor");
var handleScroll = /* @__PURE__ */ __name(function(axis, endTarget, event, sourceDelta, noOverscroll) {
  var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);
  var delta = directionFactor * sourceDelta;
  var target = event.target;
  var targetInLock = endTarget.contains(target);
  var shouldCancelScroll = false;
  var isDeltaPositive = delta > 0;
  var availableScroll = 0;
  var availableScrollTop = 0;
  do {
    if (!target) {
      break;
    }
    var _a3 = getScrollVariables(axis, target), position2 = _a3[0], scroll_1 = _a3[1], capacity = _a3[2];
    var elementScroll = scroll_1 - capacity - directionFactor * position2;
    if (position2 || elementScroll) {
      if (elementCouldBeScrolled(axis, target)) {
        availableScroll += elementScroll;
        availableScrollTop += position2;
      }
    }
    var parent_1 = target.parentNode;
    target = parent_1 && parent_1.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? parent_1.host : parent_1;
  } while (
    // portaled content
    !targetInLock && target !== document.body || // self content
    targetInLock && (endTarget.contains(target) || endTarget === target)
  );
  if (isDeltaPositive && (noOverscroll && Math.abs(availableScroll) < 1 || !noOverscroll && delta > availableScroll)) {
    shouldCancelScroll = true;
  } else if (!isDeltaPositive && (noOverscroll && Math.abs(availableScrollTop) < 1 || !noOverscroll && -delta > availableScrollTop)) {
    shouldCancelScroll = true;
  }
  return shouldCancelScroll;
}, "handleScroll");

// ../node_modules/react-remove-scroll/dist/es2015/SideEffect.js
var getTouchXY = /* @__PURE__ */ __name(function(event) {
  return "changedTouches" in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];
}, "getTouchXY");
var getDeltaXY = /* @__PURE__ */ __name(function(event) {
  return [event.deltaX, event.deltaY];
}, "getDeltaXY");
var extractRef = /* @__PURE__ */ __name(function(ref) {
  return ref && "current" in ref ? ref.current : ref;
}, "extractRef");
var deltaCompare = /* @__PURE__ */ __name(function(x, y) {
  return x[0] === y[0] && x[1] === y[1];
}, "deltaCompare");
var generateStyle = /* @__PURE__ */ __name(function(id) {
  return "\n  .block-interactivity-".concat(id, " {pointer-events: none;}\n  .allow-interactivity-").concat(id, " {pointer-events: all;}\n");
}, "generateStyle");
var idCounter = 0;
var lockStack = [];
function RemoveScrollSideCar(props) {
  var shouldPreventQueue = React49.useRef([]);
  var touchStartRef = React49.useRef([0, 0]);
  var activeAxis = React49.useRef();
  var id = React49.useState(idCounter++)[0];
  var Style2 = React49.useState(styleSingleton)[0];
  var lastProps = React49.useRef(props);
  React49.useEffect(function() {
    lastProps.current = props;
  }, [props]);
  React49.useEffect(function() {
    if (props.inert) {
      document.body.classList.add("block-interactivity-".concat(id));
      var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);
      allow_1.forEach(function(el) {
        return el.classList.add("allow-interactivity-".concat(id));
      });
      return function() {
        document.body.classList.remove("block-interactivity-".concat(id));
        allow_1.forEach(function(el) {
          return el.classList.remove("allow-interactivity-".concat(id));
        });
      };
    }
    return;
  }, [props.inert, props.lockRef.current, props.shards]);
  var shouldCancelEvent = React49.useCallback(function(event, parent) {
    if ("touches" in event && event.touches.length === 2 || event.type === "wheel" && event.ctrlKey) {
      return !lastProps.current.allowPinchZoom;
    }
    var touch = getTouchXY(event);
    var touchStart = touchStartRef.current;
    var deltaX = "deltaX" in event ? event.deltaX : touchStart[0] - touch[0];
    var deltaY = "deltaY" in event ? event.deltaY : touchStart[1] - touch[1];
    var currentAxis;
    var target = event.target;
    var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? "h" : "v";
    if ("touches" in event && moveDirection === "h" && target.type === "range") {
      return false;
    }
    var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);
    if (!canBeScrolledInMainDirection) {
      return true;
    }
    if (canBeScrolledInMainDirection) {
      currentAxis = moveDirection;
    } else {
      currentAxis = moveDirection === "v" ? "h" : "v";
      canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);
    }
    if (!canBeScrolledInMainDirection) {
      return false;
    }
    if (!activeAxis.current && "changedTouches" in event && (deltaX || deltaY)) {
      activeAxis.current = currentAxis;
    }
    if (!currentAxis) {
      return true;
    }
    var cancelingAxis = activeAxis.current || currentAxis;
    return handleScroll(cancelingAxis, parent, event, cancelingAxis === "h" ? deltaX : deltaY, true);
  }, []);
  var shouldPrevent = React49.useCallback(function(_event) {
    var event = _event;
    if (!lockStack.length || lockStack[lockStack.length - 1] !== Style2) {
      return;
    }
    var delta = "deltaY" in event ? getDeltaXY(event) : getTouchXY(event);
    var sourceEvent = shouldPreventQueue.current.filter(function(e2) {
      return e2.name === event.type && (e2.target === event.target || event.target === e2.shadowParent) && deltaCompare(e2.delta, delta);
    })[0];
    if (sourceEvent && sourceEvent.should) {
      if (event.cancelable) {
        event.preventDefault();
      }
      return;
    }
    if (!sourceEvent) {
      var shardNodes = (lastProps.current.shards || []).map(extractRef).filter(Boolean).filter(function(node2) {
        return node2.contains(event.target);
      });
      var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;
      if (shouldStop) {
        if (event.cancelable) {
          event.preventDefault();
        }
      }
    }
  }, []);
  var shouldCancel = React49.useCallback(function(name, delta, target, should2) {
    var event = { name, delta, target, should: should2, shadowParent: getOutermostShadowParent(target) };
    shouldPreventQueue.current.push(event);
    setTimeout(function() {
      shouldPreventQueue.current = shouldPreventQueue.current.filter(function(e2) {
        return e2 !== event;
      });
    }, 1);
  }, []);
  var scrollTouchStart = React49.useCallback(function(event) {
    touchStartRef.current = getTouchXY(event);
    activeAxis.current = void 0;
  }, []);
  var scrollWheel = React49.useCallback(function(event) {
    shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));
  }, []);
  var scrollTouchMove = React49.useCallback(function(event) {
    shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));
  }, []);
  React49.useEffect(function() {
    lockStack.push(Style2);
    props.setCallbacks({
      onScrollCapture: scrollWheel,
      onWheelCapture: scrollWheel,
      onTouchMoveCapture: scrollTouchMove
    });
    document.addEventListener("wheel", shouldPrevent, nonPassive);
    document.addEventListener("touchmove", shouldPrevent, nonPassive);
    document.addEventListener("touchstart", scrollTouchStart, nonPassive);
    return function() {
      lockStack = lockStack.filter(function(inst) {
        return inst !== Style2;
      });
      document.removeEventListener("wheel", shouldPrevent, nonPassive);
      document.removeEventListener("touchmove", shouldPrevent, nonPassive);
      document.removeEventListener("touchstart", scrollTouchStart, nonPassive);
    };
  }, []);
  var removeScrollBar = props.removeScrollBar, inert = props.inert;
  return React49.createElement(
    React49.Fragment,
    null,
    inert ? React49.createElement(Style2, { styles: generateStyle(id) }) : null,
    removeScrollBar ? React49.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null
  );
}
__name(RemoveScrollSideCar, "RemoveScrollSideCar");
function getOutermostShadowParent(node2) {
  var shadowParent = null;
  while (node2 !== null) {
    if (node2 instanceof ShadowRoot) {
      shadowParent = node2.host;
      node2 = node2.host;
    }
    node2 = node2.parentNode;
  }
  return shadowParent;
}
__name(getOutermostShadowParent, "getOutermostShadowParent");

// ../node_modules/react-remove-scroll/dist/es2015/sidecar.js
var sidecar_default = exportSidecar(effectCar, RemoveScrollSideCar);

// ../node_modules/react-remove-scroll/dist/es2015/Combination.js
var ReactRemoveScroll = React50.forwardRef(function(props, ref) {
  return React50.createElement(RemoveScroll, __assign({}, props, { ref, sideCar: sidecar_default }));
});
ReactRemoveScroll.classNames = RemoveScroll.classNames;
var Combination_default = ReactRemoveScroll;

// ../node_modules/aria-hidden/dist/es2015/index.js
var getDefaultParent = /* @__PURE__ */ __name(function(originalTarget) {
  if (typeof document === "undefined") {
    return null;
  }
  var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;
  return sampleTarget.ownerDocument.body;
}, "getDefaultParent");
var counterMap = /* @__PURE__ */ new WeakMap();
var uncontrolledNodes = /* @__PURE__ */ new WeakMap();
var markerMap = {};
var lockCount = 0;
var unwrapHost = /* @__PURE__ */ __name(function(node2) {
  return node2 && (node2.host || unwrapHost(node2.parentNode));
}, "unwrapHost");
var correctTargets = /* @__PURE__ */ __name(function(parent, targets) {
  return targets.map(function(target) {
    if (parent.contains(target)) {
      return target;
    }
    var correctedTarget = unwrapHost(target);
    if (correctedTarget && parent.contains(correctedTarget)) {
      return correctedTarget;
    }
    console.error("aria-hidden", target, "in not contained inside", parent, ". Doing nothing");
    return null;
  }).filter(function(x) {
    return Boolean(x);
  });
}, "correctTargets");
var applyAttributeToOthers = /* @__PURE__ */ __name(function(originalTarget, parentNode, markerName, controlAttribute) {
  var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
  if (!markerMap[markerName]) {
    markerMap[markerName] = /* @__PURE__ */ new WeakMap();
  }
  var markerCounter = markerMap[markerName];
  var hiddenNodes = [];
  var elementsToKeep = /* @__PURE__ */ new Set();
  var elementsToStop = new Set(targets);
  var keep = /* @__PURE__ */ __name(function(el) {
    if (!el || elementsToKeep.has(el)) {
      return;
    }
    elementsToKeep.add(el);
    keep(el.parentNode);
  }, "keep");
  targets.forEach(keep);
  var deep = /* @__PURE__ */ __name(function(parent) {
    if (!parent || elementsToStop.has(parent)) {
      return;
    }
    Array.prototype.forEach.call(parent.children, function(node2) {
      if (elementsToKeep.has(node2)) {
        deep(node2);
      } else {
        try {
          var attr = node2.getAttribute(controlAttribute);
          var alreadyHidden = attr !== null && attr !== "false";
          var counterValue = (counterMap.get(node2) || 0) + 1;
          var markerValue = (markerCounter.get(node2) || 0) + 1;
          counterMap.set(node2, counterValue);
          markerCounter.set(node2, markerValue);
          hiddenNodes.push(node2);
          if (counterValue === 1 && alreadyHidden) {
            uncontrolledNodes.set(node2, true);
          }
          if (markerValue === 1) {
            node2.setAttribute(markerName, "true");
          }
          if (!alreadyHidden) {
            node2.setAttribute(controlAttribute, "true");
          }
        } catch (e2) {
          console.error("aria-hidden: cannot operate on ", node2, e2);
        }
      }
    });
  }, "deep");
  deep(parentNode);
  elementsToKeep.clear();
  lockCount++;
  return function() {
    hiddenNodes.forEach(function(node2) {
      var counterValue = counterMap.get(node2) - 1;
      var markerValue = markerCounter.get(node2) - 1;
      counterMap.set(node2, counterValue);
      markerCounter.set(node2, markerValue);
      if (!counterValue) {
        if (!uncontrolledNodes.has(node2)) {
          node2.removeAttribute(controlAttribute);
        }
        uncontrolledNodes.delete(node2);
      }
      if (!markerValue) {
        node2.removeAttribute(markerName);
      }
    });
    lockCount--;
    if (!lockCount) {
      counterMap = /* @__PURE__ */ new WeakMap();
      counterMap = /* @__PURE__ */ new WeakMap();
      uncontrolledNodes = /* @__PURE__ */ new WeakMap();
      markerMap = {};
    }
  };
}, "applyAttributeToOthers");
var hideOthers = /* @__PURE__ */ __name(function(originalTarget, parentNode, markerName) {
  if (markerName === void 0) {
    markerName = "data-aria-hidden";
  }
  var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
  var activeParentNode = parentNode || getDefaultParent(originalTarget);
  if (!activeParentNode) {
    return function() {
      return null;
    };
  }
  targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll("[aria-live], script")));
  return applyAttributeToOthers(targets, activeParentNode, markerName, "aria-hidden");
}, "hideOthers");

// ../node_modules/@radix-ui/react-dialog/dist/index.mjs
var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);
var DIALOG_NAME = "Dialog";
var [createDialogContext, createDialogScope] = createContextScope2(DIALOG_NAME);
var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
var Dialog = /* @__PURE__ */ __name((props) => {
  const {
    __scopeDialog,
    children,
    open: openProp,
    defaultOpen,
    onOpenChange,
    modal = true
  } = props;
  const triggerRef = React51.useRef(null);
  const contentRef = React51.useRef(null);
  const [open, setOpen] = useControllableState({
    prop: openProp,
    defaultProp: defaultOpen ?? false,
    onChange: onOpenChange,
    caller: DIALOG_NAME
  });
  return (0, import_jsx_runtime12.jsx)(
    DialogProvider,
    {
      scope: __scopeDialog,
      triggerRef,
      contentRef,
      contentId: useId(),
      titleId: useId(),
      descriptionId: useId(),
      open,
      onOpenChange: setOpen,
      onOpenToggle: React51.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
      modal,
      children
    }
  );
}, "Dialog");
Dialog.displayName = DIALOG_NAME;
var TRIGGER_NAME = "DialogTrigger";
var DialogTrigger = React51.forwardRef(
  (props, forwardedRef) => {
    const { __scopeDialog, ...triggerProps } = props;
    const context = useDialogContext(TRIGGER_NAME, __scopeDialog);
    const composedTriggerRef = useComposedRefs2(forwardedRef, context.triggerRef);
    return (0, import_jsx_runtime12.jsx)(
      Primitive2.button,
      {
        type: "button",
        "aria-haspopup": "dialog",
        "aria-expanded": context.open,
        "aria-controls": context.contentId,
        "data-state": getState(context.open),
        ...triggerProps,
        ref: composedTriggerRef,
        onClick: composeEventHandlers2(props.onClick, context.onOpenToggle)
      }
    );
  }
);
DialogTrigger.displayName = TRIGGER_NAME;
var PORTAL_NAME2 = "DialogPortal";
var [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME2, {
  forceMount: void 0
});
var DialogPortal = /* @__PURE__ */ __name((props) => {
  const { __scopeDialog, forceMount, children, container } = props;
  const context = useDialogContext(PORTAL_NAME2, __scopeDialog);
  return (0, import_jsx_runtime12.jsx)(PortalProvider, { scope: __scopeDialog, forceMount, children: React51.Children.map(children, (child) => (0, import_jsx_runtime12.jsx)(Presence2, { present: forceMount || context.open, children: (0, import_jsx_runtime12.jsx)(Portal, { asChild: true, container, children: child }) })) });
}, "DialogPortal");
DialogPortal.displayName = PORTAL_NAME2;
var OVERLAY_NAME = "DialogOverlay";
var DialogOverlay = React51.forwardRef(
  (props, forwardedRef) => {
    const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);
    const { forceMount = portalContext.forceMount, ...overlayProps } = props;
    const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);
    return context.modal ? (0, import_jsx_runtime12.jsx)(Presence2, { present: forceMount || context.open, children: (0, import_jsx_runtime12.jsx)(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;
  }
);
DialogOverlay.displayName = OVERLAY_NAME;
var Slot3 = createSlot("DialogOverlay.RemoveScroll");
var DialogOverlayImpl = React51.forwardRef(
  (props, forwardedRef) => {
    const { __scopeDialog, ...overlayProps } = props;
    const context = useDialogContext(OVERLAY_NAME, __scopeDialog);
    return (
      // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
      // ie. when `Overlay` and `Content` are siblings
      (0, import_jsx_runtime12.jsx)(Combination_default, { as: Slot3, allowPinchZoom: true, shards: [context.contentRef], children: (0, import_jsx_runtime12.jsx)(
        Primitive2.div,
        {
          "data-state": getState(context.open),
          ...overlayProps,
          ref: forwardedRef,
          style: { pointerEvents: "auto", ...overlayProps.style }
        }
      ) })
    );
  }
);
var CONTENT_NAME = "DialogContent";
var DialogContent = React51.forwardRef(
  (props, forwardedRef) => {
    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);
    const { forceMount = portalContext.forceMount, ...contentProps } = props;
    const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
    return (0, import_jsx_runtime12.jsx)(Presence2, { present: forceMount || context.open, children: context.modal ? (0, import_jsx_runtime12.jsx)(DialogContentModal, { ...contentProps, ref: forwardedRef }) : (0, import_jsx_runtime12.jsx)(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });
  }
);
DialogContent.displayName = CONTENT_NAME;
var DialogContentModal = React51.forwardRef(
  (props, forwardedRef) => {
    const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
    const contentRef = React51.useRef(null);
    const composedRefs = useComposedRefs2(forwardedRef, context.contentRef, contentRef);
    React51.useEffect(() => {
      const content = contentRef.current;
      if (content) return hideOthers(content);
    }, []);
    return (0, import_jsx_runtime12.jsx)(
      DialogContentImpl,
      {
        ...props,
        ref: composedRefs,
        trapFocus: context.open,
        disableOutsidePointerEvents: true,
        onCloseAutoFocus: composeEventHandlers2(props.onCloseAutoFocus, (event) => {
          event.preventDefault();
          context.triggerRef.current?.focus();
        }),
        onPointerDownOutside: composeEventHandlers2(props.onPointerDownOutside, (event) => {
          const originalEvent = event.detail.originalEvent;
          const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
          const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
          if (isRightClick) event.preventDefault();
        }),
        onFocusOutside: composeEventHandlers2(
          props.onFocusOutside,
          (event) => event.preventDefault()
        )
      }
    );
  }
);
var DialogContentNonModal = React51.forwardRef(
  (props, forwardedRef) => {
    const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
    const hasInteractedOutsideRef = React51.useRef(false);
    const hasPointerDownOutsideRef = React51.useRef(false);
    return (0, import_jsx_runtime12.jsx)(
      DialogContentImpl,
      {
        ...props,
        ref: forwardedRef,
        trapFocus: false,
        disableOutsidePointerEvents: false,
        onCloseAutoFocus: /* @__PURE__ */ __name((event) => {
          props.onCloseAutoFocus?.(event);
          if (!event.defaultPrevented) {
            if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
            event.preventDefault();
          }
          hasInteractedOutsideRef.current = false;
          hasPointerDownOutsideRef.current = false;
        }, "onCloseAutoFocus"),
        onInteractOutside: /* @__PURE__ */ __name((event) => {
          props.onInteractOutside?.(event);
          if (!event.defaultPrevented) {
            hasInteractedOutsideRef.current = true;
            if (event.detail.originalEvent.type === "pointerdown") {
              hasPointerDownOutsideRef.current = true;
            }
          }
          const target = event.target;
          const targetIsTrigger = context.triggerRef.current?.contains(target);
          if (targetIsTrigger) event.preventDefault();
          if (event.detail.originalEvent.type === "focusin" && hasPointerDownOutsideRef.current) {
            event.preventDefault();
          }
        }, "onInteractOutside")
      }
    );
  }
);
var DialogContentImpl = React51.forwardRef(
  (props, forwardedRef) => {
    const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;
    const context = useDialogContext(CONTENT_NAME, __scopeDialog);
    const contentRef = React51.useRef(null);
    const composedRefs = useComposedRefs2(forwardedRef, contentRef);
    useFocusGuards();
    return (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
      (0, import_jsx_runtime12.jsx)(
        FocusScope,
        {
          asChild: true,
          loop: true,
          trapped: trapFocus,
          onMountAutoFocus: onOpenAutoFocus,
          onUnmountAutoFocus: onCloseAutoFocus,
          children: (0, import_jsx_runtime12.jsx)(
            DismissableLayer,
            {
              role: "dialog",
              id: context.contentId,
              "aria-describedby": context.descriptionId,
              "aria-labelledby": context.titleId,
              "data-state": getState(context.open),
              ...contentProps,
              ref: composedRefs,
              onDismiss: /* @__PURE__ */ __name(() => context.onOpenChange(false), "onDismiss")
            }
          )
        }
      ),
      (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
        (0, import_jsx_runtime12.jsx)(TitleWarning, { titleId: context.titleId }),
        (0, import_jsx_runtime12.jsx)(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
      ] })
    ] });
  }
);
var TITLE_NAME = "DialogTitle";
var DialogTitle = React51.forwardRef(
  (props, forwardedRef) => {
    const { __scopeDialog, ...titleProps } = props;
    const context = useDialogContext(TITLE_NAME, __scopeDialog);
    return (0, import_jsx_runtime12.jsx)(Primitive2.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });
  }
);
DialogTitle.displayName = TITLE_NAME;
var DESCRIPTION_NAME = "DialogDescription";
var DialogDescription = React51.forwardRef(
  (props, forwardedRef) => {
    const { __scopeDialog, ...descriptionProps } = props;
    const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
    return (0, import_jsx_runtime12.jsx)(Primitive2.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });
  }
);
DialogDescription.displayName = DESCRIPTION_NAME;
var CLOSE_NAME = "DialogClose";
var DialogClose = React51.forwardRef(
  (props, forwardedRef) => {
    const { __scopeDialog, ...closeProps } = props;
    const context = useDialogContext(CLOSE_NAME, __scopeDialog);
    return (0, import_jsx_runtime12.jsx)(
      Primitive2.button,
      {
        type: "button",
        ...closeProps,
        ref: forwardedRef,
        onClick: composeEventHandlers2(props.onClick, () => context.onOpenChange(false))
      }
    );
  }
);
DialogClose.displayName = CLOSE_NAME;
function getState(open) {
  return open ? "open" : "closed";
}
__name(getState, "getState");
var TITLE_WARNING_NAME = "DialogTitleWarning";
var [WarningProvider, useWarningContext] = createContext22(TITLE_WARNING_NAME, {
  contentName: CONTENT_NAME,
  titleName: TITLE_NAME,
  docsSlug: "dialog"
});
var TitleWarning = /* @__PURE__ */ __name(({ titleId }) => {
  const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);
  const MESSAGE = `\`${titleWarningContext.contentName}\` requires a \`${titleWarningContext.titleName}\` for the component to be accessible for screen reader users.

If you want to hide the \`${titleWarningContext.titleName}\`, you can wrap it with our VisuallyHidden component.

For more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;
  React51.useEffect(() => {
    if (titleId) {
      const hasTitle = document.getElementById(titleId);
      if (!hasTitle) console.error(MESSAGE);
    }
  }, [MESSAGE, titleId]);
  return null;
}, "TitleWarning");
var DESCRIPTION_WARNING_NAME = "DialogDescriptionWarning";
var DescriptionWarning = /* @__PURE__ */ __name(({ contentRef, descriptionId }) => {
  const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);
  const MESSAGE = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${descriptionWarningContext.contentName}}.`;
  React51.useEffect(() => {
    const describedById = contentRef.current?.getAttribute("aria-describedby");
    if (descriptionId && describedById) {
      const hasDescription = document.getElementById(descriptionId);
      if (!hasDescription) console.warn(MESSAGE);
    }
  }, [MESSAGE, contentRef, descriptionId]);
  return null;
}, "DescriptionWarning");
var Root2 = Dialog;
var Trigger = DialogTrigger;
var Portal2 = DialogPortal;
var Overlay = DialogOverlay;
var Content = DialogContent;
var Title = DialogTitle;
var Description = DialogDescription;
var Close = DialogClose;

// src/components/components/Modal/Modal.styled.tsx
var Modal_styled_exports = {};
__export(Modal_styled_exports, {
  Actions: () => Actions,
  CloseButton: () => CloseButton,
  Col: () => Col,
  Container: () => Container2,
  Content: () => Content2,
  Description: () => Description2,
  Error: () => Error2,
  ErrorWrapper: () => ErrorWrapper,
  Header: () => Header,
  Overlay: () => Overlay2,
  Row: () => Row,
  Title: () => Title2
});
var import_react23 = __toESM(require_react(), 1);
init_theming();

// src/components/components/IconButton/IconButton.tsx
var import_react22 = __toESM(require_react(), 1);

// src/components/components/Button/Button.tsx
var import_react21 = __toESM(require_react(), 1);
init_polished_esm();
init_theming();
var Button = (0, import_react21.forwardRef)(
  ({
    asChild = false,
    animation: animation2 = "none",
    size = "small",
    variant = "outline",
    padding = "medium",
    disabled = false,
    active = false,
    onClick,
    ...props
  }, ref) => {
    let Comp2 = "button";
    if (asChild) {
      Comp2 = Slot2;
    }
    const [isAnimating, setIsAnimating] = (0, import_react21.useState)(false);
    const handleClick = /* @__PURE__ */ __name((event) => {
      if (onClick) {
        onClick(event);
      }
      if (animation2 === "none") {
        return;
      }
      setIsAnimating(true);
    }, "handleClick");
    (0, import_react21.useEffect)(() => {
      const timer = setTimeout(() => {
        if (isAnimating) {
          setIsAnimating(false);
        }
      }, 1e3);
      return () => clearTimeout(timer);
    }, [isAnimating]);
    return import_react21.default.createElement(
      StyledButton,
      {
        as: Comp2,
        ref,
        variant,
        size,
        padding,
        disabled,
        active,
        animating: isAnimating,
        animation: animation2,
        onClick: handleClick,
        ...props
      }
    );
  }
);
Button.displayName = "Button";
var StyledButton = styled("button", {
  shouldForwardProp: /* @__PURE__ */ __name((prop) => isPropValid(prop), "shouldForwardProp")
})(({ theme: theme3, variant, size, disabled, active, animating, animation: animation2 = "none", padding }) => ({
  border: 0,
  cursor: disabled ? "not-allowed" : "pointer",
  display: "inline-flex",
  gap: "6px",
  alignItems: "center",
  justifyContent: "center",
  overflow: "hidden",
  padding: (() => {
    if (padding === "none") {
      return 0;
    }
    if (padding === "small" && size === "small") {
      return "0 7px";
    }
    if (padding === "small" && size === "medium") {
      return "0 9px";
    }
    if (size === "small") {
      return "0 10px";
    }
    if (size === "medium") {
      return "0 12px";
    }
    return 0;
  })(),
  height: size === "small" ? "28px" : "32px",
  position: "relative",
  textAlign: "center",
  textDecoration: "none",
  transitionProperty: "background, box-shadow",
  transitionDuration: "150ms",
  transitionTimingFunction: "ease-out",
  verticalAlign: "top",
  whiteSpace: "nowrap",
  userSelect: "none",
  opacity: disabled ? 0.5 : 1,
  margin: 0,
  fontSize: `${theme3.typography.size.s1}px`,
  fontWeight: theme3.typography.weight.bold,
  lineHeight: "1",
  background: (() => {
    if (variant === "solid") {
      return theme3.color.secondary;
    }
    if (variant === "outline") {
      return theme3.button.background;
    }
    if (variant === "ghost" && active) {
      return theme3.background.hoverable;
    }
    return "transparent";
  })(),
  ...variant === "ghost" ? {
    // This is a hack to apply bar styles to the button as soon as it is part of a bar
    // It is a temporary solution until we have implemented Theming 2.0.
    ".sb-bar &": {
      background: (() => {
        if (active) {
          return curriedTransparentize$1(0.9, theme3.barTextColor);
        }
        return "transparent";
      })(),
      color: (() => {
        if (active) {
          return theme3.barSelectedColor;
        }
        return theme3.barTextColor;
      })(),
      "&:hover": {
        color: theme3.barHoverColor,
        background: curriedTransparentize$1(0.86, theme3.barHoverColor)
      },
      "&:active": {
        color: theme3.barSelectedColor,
        background: curriedTransparentize$1(0.9, theme3.barSelectedColor)
      },
      "&:focus": {
        boxShadow: `${rgba(theme3.barHoverColor, 1)} 0 0 0 1px inset`,
        outline: "none"
      }
    }
  } : {},
  color: (() => {
    if (variant === "solid") {
      return theme3.color.lightest;
    }
    if (variant === "outline") {
      return theme3.input.color;
    }
    if (variant === "ghost" && active) {
      return theme3.color.secondary;
    }
    if (variant === "ghost") {
      return theme3.color.mediumdark;
    }
    return theme3.input.color;
  })(),
  boxShadow: variant === "outline" ? `${theme3.button.border} 0 0 0 1px inset` : "none",
  borderRadius: theme3.input.borderRadius,
  // Making sure that the button never shrinks below its minimum size
  flexShrink: 0,
  "&:hover": {
    color: variant === "ghost" ? theme3.color.secondary : void 0,
    background: (() => {
      let bgColor = theme3.color.secondary;
      if (variant === "solid") {
        bgColor = theme3.color.secondary;
      }
      if (variant === "outline") {
        bgColor = theme3.button.background;
      }
      if (variant === "ghost") {
        return curriedTransparentize$1(0.86, theme3.color.secondary);
      }
      return theme3.base === "light" ? curriedDarken$1(0.02, bgColor) : curriedLighten$1(0.03, bgColor);
    })()
  },
  "&:active": {
    color: variant === "ghost" ? theme3.color.secondary : void 0,
    background: (() => {
      let bgColor = theme3.color.secondary;
      if (variant === "solid") {
        bgColor = theme3.color.secondary;
      }
      if (variant === "outline") {
        bgColor = theme3.button.background;
      }
      if (variant === "ghost") {
        return theme3.background.hoverable;
      }
      return theme3.base === "light" ? curriedDarken$1(0.02, bgColor) : curriedLighten$1(0.03, bgColor);
    })()
  },
  "&:focus": {
    boxShadow: `${rgba(theme3.color.secondary, 1)} 0 0 0 1px inset`,
    outline: "none"
  },
  "> svg": {
    animation: animating && animation2 !== "none" ? `${theme3.animation[animation2]} 1000ms ease-out` : ""
  }
}));

// src/components/components/IconButton/IconButton.tsx
var IconButton = (0, import_react22.forwardRef)(
  ({ padding = "small", variant = "ghost", ...props }, ref) => {
    return import_react22.default.createElement(Button, { padding, variant, ref, ...props });
  }
);
IconButton.displayName = "IconButton";

// src/components/components/Modal/Modal.styled.tsx
var fadeIn = keyframes({
  from: { opacity: 0 },
  to: { opacity: 1 }
});
var expand = keyframes({
  from: { maxHeight: 0 },
  to: {}
});
var zoomIn = keyframes({
  from: {
    opacity: 0,
    transform: "translate(-50%, -50%) scale(0.9)"
  },
  to: {
    opacity: 1,
    transform: "translate(-50%, -50%) scale(1)"
  }
});
var Overlay2 = styled.div({
  backdropFilter: "blur(24px)",
  position: "fixed",
  inset: 0,
  width: "100%",
  height: "100%",
  zIndex: 10,
  animation: `${fadeIn} 200ms`
});
var Container2 = styled.div(
  ({ theme: theme3, width, height }) => ({
    backgroundColor: theme3.background.bar,
    borderRadius: 6,
    boxShadow: "0px 4px 67px 0px #00000040",
    position: "fixed",
    top: "50%",
    left: "50%",
    transform: "translate(-50%, -50%)",
    width: width ?? 740,
    height: height ?? "auto",
    maxWidth: "calc(100% - 40px)",
    maxHeight: "85vh",
    overflow: "auto",
    zIndex: 11,
    animation: `${zoomIn} 200ms`,
    "&:focus-visible": {
      outline: "none"
    }
  })
);
var CloseButton = /* @__PURE__ */ __name((props) => import_react23.default.createElement(Close, { asChild: true }, import_react23.default.createElement(IconButton, { "aria-label": "Close", ...props }, import_react23.default.createElement(CrossIcon, null))), "CloseButton");
var Content2 = styled.div({
  display: "flex",
  flexDirection: "column",
  margin: 16,
  gap: 16
});
var Row = styled.div({
  display: "flex",
  justifyContent: "space-between",
  gap: 16
});
var Col = styled.div({
  display: "flex",
  flexDirection: "column",
  gap: 4
});
var Header = /* @__PURE__ */ __name((props) => import_react23.default.createElement(Row, null, import_react23.default.createElement(Col, { ...props }), import_react23.default.createElement(CloseButton, null)), "Header");
var Title2 = styled(Title)(({ theme: theme3 }) => ({
  margin: 0,
  fontSize: theme3.typography.size.s3,
  fontWeight: theme3.typography.weight.bold
}));
var Description2 = styled(Description)(({ theme: theme3 }) => ({
  position: "relative",
  zIndex: 1,
  margin: 0,
  fontSize: theme3.typography.size.s2
}));
var Actions = styled.div({
  display: "flex",
  flexDirection: "row-reverse",
  gap: 8
});
var ErrorWrapper = styled.div(({ theme: theme3 }) => ({
  maxHeight: 100,
  overflow: "auto",
  animation: `${expand} 300ms, ${fadeIn} 300ms`,
  backgroundColor: theme3.background.critical,
  color: theme3.color.lightest,
  fontSize: theme3.typography.size.s2,
  "& > div": {
    position: "relative",
    padding: "8px 16px"
  }
}));
var Error2 = /* @__PURE__ */ __name(({
  children,
  ...props
}) => import_react23.default.createElement(ErrorWrapper, { ...props }, import_react23.default.createElement("div", null, children)), "Error");

// src/components/components/Modal/Modal.tsx
function BaseModal({
  children,
  width,
  height,
  onEscapeKeyDown,
  onInteractOutside = /* @__PURE__ */ __name((ev) => ev.preventDefault(), "onInteractOutside"),
  className,
  container,
  portalSelector,
  ...rootProps
}) {
  const containerElement = container ?? (portalSelector ? document.querySelector(portalSelector) : null) ?? document.body;
  return import_react24.default.createElement(Root2, { ...rootProps }, import_react24.default.createElement(Portal2, { container: containerElement }, import_react24.default.createElement(Overlay, { asChild: true }, import_react24.default.createElement(Overlay2, null)), import_react24.default.createElement(
    Content,
    {
      asChild: true,
      onInteractOutside,
      onEscapeKeyDown
    },
    import_react24.default.createElement(Container2, { className, width, height }, children)
  )));
}
__name(BaseModal, "BaseModal");
var Modal = Object.assign(BaseModal, Modal_styled_exports, { Dialog: dist_exports3 });

// src/components/components/spaced/Spaced.tsx
var import_react25 = __toESM(require_react(), 1);
init_theming();
var toNumber = /* @__PURE__ */ __name((input2) => typeof input2 === "number" ? input2 : Number(input2), "toNumber");
var Container3 = styled.div(
  ({ theme: theme3, col, row = 1 }) => col ? {
    display: "inline-block",
    verticalAlign: "inherit",
    "& > *": {
      marginLeft: col * theme3.layoutMargin,
      verticalAlign: "inherit"
    },
    [`& > *:first-child${ignoreSsrWarning}`]: {
      marginLeft: 0
    }
  } : {
    "& > *": {
      marginTop: row * theme3.layoutMargin
    },
    [`& > *:first-child${ignoreSsrWarning}`]: {
      marginTop: 0
    }
  },
  ({ theme: theme3, outer, col, row }) => {
    switch (true) {
      case !!(outer && col): {
        return {
          marginLeft: outer * theme3.layoutMargin,
          marginRight: outer * theme3.layoutMargin
        };
      }
      case !!(outer && row): {
        return {
          marginTop: outer * theme3.layoutMargin,
          marginBottom: outer * theme3.layoutMargin
        };
      }
      default: {
        return {};
      }
    }
  }
);
var Spaced = /* @__PURE__ */ __name(({ col, row, outer, children, ...rest }) => {
  const outerAmount = toNumber(typeof outer === "number" || !outer ? outer : col || row);
  return import_react25.default.createElement(Container3, { col, row, outer: outerAmount, ...rest }, children);
}, "Spaced");

// src/components/components/placeholder/placeholder.tsx
var import_react26 = __toESM(require_react(), 1);
init_theming();
var Title3 = styled.div(({ theme: theme3 }) => ({
  fontWeight: theme3.typography.weight.bold
}));
var Desc = styled.div();
var Message = styled.div(({ theme: theme3 }) => ({
  padding: 30,
  textAlign: "center",
  color: theme3.color.defaultText,
  fontSize: theme3.typography.size.s2 - 1
}));
var Placeholder = /* @__PURE__ */ __name(({ children, ...props }) => {
  const [title, desc] = import_react26.Children.toArray(children);
  return import_react26.default.createElement(Message, { ...props }, import_react26.default.createElement(Title3, null, title), desc && import_react26.default.createElement(Desc, null, desc));
}, "Placeholder");

// src/components/index.ts
init_ScrollArea();

// src/components/components/Zoom/ZoomElement.tsx
var import_react28 = __toESM(require_react(), 1);
init_theming();

// ../node_modules/use-resize-observer/dist/bundle.esm.js
var import_react27 = __toESM(require_react());
function useResolvedElement(subscriber, refOrElement) {
  var lastReportRef = (0, import_react27.useRef)(null);
  var refOrElementRef = (0, import_react27.useRef)(null);
  refOrElementRef.current = refOrElement;
  var cbElementRef = (0, import_react27.useRef)(null);
  (0, import_react27.useEffect)(function() {
    evaluateSubscription();
  });
  var evaluateSubscription = (0, import_react27.useCallback)(function() {
    var cbElement = cbElementRef.current;
    var refOrElement2 = refOrElementRef.current;
    var element = cbElement ? cbElement : refOrElement2 ? refOrElement2 instanceof Element ? refOrElement2 : refOrElement2.current : null;
    if (lastReportRef.current && lastReportRef.current.element === element && lastReportRef.current.subscriber === subscriber) {
      return;
    }
    if (lastReportRef.current && lastReportRef.current.cleanup) {
      lastReportRef.current.cleanup();
    }
    lastReportRef.current = {
      element,
      subscriber,
      // Only calling the subscriber, if there's an actual element to report.
      // Setting cleanup to undefined unless a subscriber returns one, as an existing cleanup function would've been just called.
      cleanup: element ? subscriber(element) : void 0
    };
  }, [subscriber]);
  (0, import_react27.useEffect)(function() {
    return function() {
      if (lastReportRef.current && lastReportRef.current.cleanup) {
        lastReportRef.current.cleanup();
        lastReportRef.current = null;
      }
    };
  }, []);
  return (0, import_react27.useCallback)(function(element) {
    cbElementRef.current = element;
    evaluateSubscription();
  }, [evaluateSubscription]);
}
__name(useResolvedElement, "useResolvedElement");
function extractSize(entry, boxProp, sizeType) {
  if (!entry[boxProp]) {
    if (boxProp === "contentBoxSize") {
      return entry.contentRect[sizeType === "inlineSize" ? "width" : "height"];
    }
    return void 0;
  }
  return entry[boxProp][0] ? entry[boxProp][0][sizeType] : (
    // TS complains about this, because the RO entry type follows the spec and does not reflect Firefox's current
    // behaviour of returning objects instead of arrays for `borderBoxSize` and `contentBoxSize`.
    // @ts-ignore
    entry[boxProp][sizeType]
  );
}
__name(extractSize, "extractSize");
function useResizeObserver2(opts) {
  if (opts === void 0) {
    opts = {};
  }
  var onResize = opts.onResize;
  var onResizeRef = (0, import_react27.useRef)(void 0);
  onResizeRef.current = onResize;
  var round3 = opts.round || Math.round;
  var resizeObserverRef = (0, import_react27.useRef)();
  var _useState = (0, import_react27.useState)({
    width: void 0,
    height: void 0
  }), size = _useState[0], setSize = _useState[1];
  var didUnmount = (0, import_react27.useRef)(false);
  (0, import_react27.useEffect)(function() {
    didUnmount.current = false;
    return function() {
      didUnmount.current = true;
    };
  }, []);
  var previous = (0, import_react27.useRef)({
    width: void 0,
    height: void 0
  });
  var refCallback = useResolvedElement((0, import_react27.useCallback)(function(element) {
    if (!resizeObserverRef.current || resizeObserverRef.current.box !== opts.box || resizeObserverRef.current.round !== round3) {
      resizeObserverRef.current = {
        box: opts.box,
        round: round3,
        instance: new ResizeObserver(function(entries) {
          var entry = entries[0];
          var boxProp = opts.box === "border-box" ? "borderBoxSize" : opts.box === "device-pixel-content-box" ? "devicePixelContentBoxSize" : "contentBoxSize";
          var reportedWidth = extractSize(entry, boxProp, "inlineSize");
          var reportedHeight = extractSize(entry, boxProp, "blockSize");
          var newWidth = reportedWidth ? round3(reportedWidth) : void 0;
          var newHeight = reportedHeight ? round3(reportedHeight) : void 0;
          if (previous.current.width !== newWidth || previous.current.height !== newHeight) {
            var newSize = {
              width: newWidth,
              height: newHeight
            };
            previous.current.width = newWidth;
            previous.current.height = newHeight;
            if (onResizeRef.current) {
              onResizeRef.current(newSize);
            } else {
              if (!didUnmount.current) {
                setSize(newSize);
              }
            }
          }
        })
      };
    }
    resizeObserverRef.current.instance.observe(element, {
      box: opts.box
    });
    return function() {
      if (resizeObserverRef.current) {
        resizeObserverRef.current.instance.unobserve(element);
      }
    };
  }, [opts.box, round3]), opts.ref);
  return (0, import_react27.useMemo)(function() {
    return {
      ref: refCallback,
      width: size.width,
      height: size.height
    };
  }, [refCallback, size.width, size.height]);
}
__name(useResizeObserver2, "useResizeObserver");

// src/components/components/Zoom/ZoomElement.tsx
var ZoomElementWrapper = styled.div(
  ({ centered = false, scale = 1, elementHeight }) => ({
    height: elementHeight || "auto",
    transformOrigin: centered ? "center top" : "left top",
    transform: `scale(${1 / scale})`
  })
);
function ZoomElement({ centered, scale, children }) {
  const componentWrapperRef = (0, import_react28.useRef)(null);
  const [elementHeight, setElementHeight] = (0, import_react28.useState)(0);
  const onResize = (0, import_react28.useCallback)(
    ({ height }) => {
      if (height) {
        setElementHeight(height / scale);
      }
    },
    [scale]
  );
  (0, import_react28.useEffect)(() => {
    if (componentWrapperRef.current) {
      setElementHeight(componentWrapperRef.current.getBoundingClientRect().height);
    }
  }, [scale]);
  useResizeObserver2({
    ref: componentWrapperRef,
    onResize
  });
  return import_react28.default.createElement(ZoomElementWrapper, { centered, scale, elementHeight }, import_react28.default.createElement("div", { ref: componentWrapperRef, className: "innerZoomElementWrapper" }, children));
}
__name(ZoomElement, "ZoomElement");

// src/components/components/Zoom/ZoomIFrame.tsx
var import_react29 = __toESM(require_react(), 1);
var _ZoomIFrame = class _ZoomIFrame extends import_react29.Component {
  constructor() {
    super(...arguments);
    // @ts-expect-error (non strict)
    this.iframe = null;
  }
  componentDidMount() {
    const { iFrameRef } = this.props;
    this.iframe = iFrameRef.current;
  }
  shouldComponentUpdate(nextProps) {
    const { scale, active } = this.props;
    if (scale !== nextProps.scale) {
      this.setIframeInnerZoom(nextProps.scale);
    }
    if (active !== nextProps.active) {
      this.iframe.setAttribute("data-is-storybook", nextProps.active ? "true" : "false");
    }
    return nextProps.children.props.src !== this.props.children.props.src;
  }
  setIframeInnerZoom(scale) {
    try {
      Object.assign(this.iframe.contentDocument.body.style, {
        width: `${scale * 100}%`,
        height: `${scale * 100}%`,
        transform: `scale(${1 / scale})`,
        transformOrigin: "top left"
      });
    } catch (e2) {
      this.setIframeZoom(scale);
    }
  }
  setIframeZoom(scale) {
    Object.assign(this.iframe.style, {
      width: `${scale * 100}%`,
      height: `${scale * 100}%`,
      transform: `scale(${1 / scale})`,
      transformOrigin: "top left"
    });
  }
  render() {
    const { children } = this.props;
    return import_react29.default.createElement(import_react29.default.Fragment, null, children);
  }
};
__name(_ZoomIFrame, "ZoomIFrame");
var ZoomIFrame = _ZoomIFrame;

// src/components/components/Zoom/Zoom.tsx
var Zoom = {
  Element: ZoomElement,
  IFrame: ZoomIFrame
};

// src/components/components/ErrorFormatter/ErrorFormatter.tsx
var import_react30 = __toESM(require_react(), 1);
init_dist();
init_theming();
var { document: document4 } = scope;
var ErrorName = styled.strong(({ theme: theme3 }) => ({
  color: theme3.color.orange
}));
var ErrorImportant = styled.strong(({ theme: theme3 }) => ({
  color: theme3.color.ancillary,
  textDecoration: "underline"
}));
var ErrorDetail = styled.em(({ theme: theme3 }) => ({
  color: theme3.textMutedColor
}));
var firstLineRegex = /(Error): (.*)\n/;
var linesRegexChromium = /at (?:(.*) )?\(?(.+)\)?/;
var linesRegexFirefox = /([^@]+)?(?:\/<)?@(.+)?/;
var linesRegexSafari = /([^@]+)?@(.+)?/;
var ErrorFormatter = /* @__PURE__ */ __name(({ error }) => {
  if (!error) {
    return import_react30.default.createElement(import_react30.Fragment, null, "This error has no stack or message");
  }
  if (!error.stack) {
    return import_react30.default.createElement(import_react30.Fragment, null, error.message || "This error has no stack or message");
  }
  let input2 = error.stack.toString();
  if (input2 && error.message && !input2.includes(error.message)) {
    input2 = `Error: ${error.message}

${input2}`;
  }
  const match3 = input2.match(firstLineRegex);
  if (!match3) {
    return import_react30.default.createElement(import_react30.Fragment, null, input2);
  }
  const [, type5, name] = match3;
  const rawLines = input2.split(/\n/).slice(1);
  const [, ...lines] = rawLines.map((line2) => {
    const result = line2.match(linesRegexChromium) || line2.match(linesRegexFirefox) || line2.match(linesRegexSafari);
    if (result) {
      return {
        name: (result[1] || "").replace("/<", ""),
        location: result[2].replace(document4.location.origin, "")
      };
    }
    return null;
  }).filter(Boolean);
  return import_react30.default.createElement(import_react30.Fragment, null, import_react30.default.createElement("span", null, type5), ": ", import_react30.default.createElement(ErrorName, null, name), import_react30.default.createElement("br", null), lines.map(
    (l, i2) => l?.name ? import_react30.default.createElement(import_react30.Fragment, { key: i2 }, "  ", "at ", import_react30.default.createElement(ErrorImportant, null, l.name), " (", import_react30.default.createElement(ErrorDetail, null, l.location), ")", import_react30.default.createElement("br", null)) : import_react30.default.createElement(import_react30.Fragment, { key: i2 }, "  ", "at ", import_react30.default.createElement(ErrorDetail, null, l?.location), import_react30.default.createElement("br", null))
  ));
}, "ErrorFormatter");

// src/components/components/Form/Form.tsx
init_theming();

// src/components/components/Form/Checkbox.tsx
var import_react31 = __toESM(require_react(), 1);
init_theming();
var Input = styled.input({
  appearance: "none",
  display: "grid",
  placeContent: "center",
  width: 14,
  height: 14,
  flexShrink: 0,
  margin: 0,
  border: `1px solid ${color.border}`,
  borderRadius: 2,
  backgroundColor: "white",
  transition: "background-color 0.1s",
  "&:enabled": {
    cursor: "pointer"
  },
  "&:disabled": {
    backgroundColor: color.medium
  },
  "&:disabled:checked, &:disabled:indeterminate": {
    backgroundColor: color.mediumdark
  },
  "&:checked, &:indeterminate": {
    backgroundColor: color.secondary
  },
  "&:checked::before": {
    content: '""',
    width: 14,
    height: 14,
    background: `no-repeat center url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='m3 7 2.5 2.5L11 4'/%3E%3C/svg%3E")`
  },
  "&:indeterminate::before": {
    content: '""',
    width: 8,
    height: 2,
    background: "white"
  },
  "&:enabled:focus-visible": {
    outline: `1px solid ${color.secondary}`,
    outlineOffset: 1
  }
});
var Checkbox = /* @__PURE__ */ __name((props) => {
  return import_react31.default.createElement(Input, { ...props, type: "checkbox" });
}, "Checkbox");

// src/components/components/Form/Field.tsx
var import_react32 = __toESM(require_react(), 1);
init_theming();
var Wrapper2 = styled.label(({ theme: theme3 }) => ({
  display: "flex",
  borderBottom: `1px solid ${theme3.appBorderColor}`,
  margin: "0 15px",
  padding: "8px 0",
  "&:last-child": {
    marginBottom: "3rem"
  }
}));
var Label = styled.span(({ theme: theme3 }) => ({
  minWidth: 100,
  fontWeight: theme3.typography.weight.bold,
  marginRight: 15,
  display: "flex",
  justifyContent: "flex-start",
  alignItems: "center",
  lineHeight: "16px"
}));
var Field = /* @__PURE__ */ __name(({ label, children, ...props }) => import_react32.default.createElement(Wrapper2, { ...props }, label ? import_react32.default.createElement(Label, null, import_react32.default.createElement("span", null, label)) : null, children), "Field");

// src/components/components/Form/Input.tsx
var import_react33 = __toESM(require_react(), 1);
var import_react34 = __toESM(require_react(), 1);
init_theming();

// src/components/components/Form/styles.ts
var sizes = /* @__PURE__ */ __name(({ size }) => {
  switch (size) {
    case "100%": {
      return { width: "100%" };
    }
    case "flex": {
      return { flex: 1 };
    }
    case "auto":
    default: {
      return { display: "inline" };
    }
  }
}, "sizes");
var alignment = /* @__PURE__ */ __name(({
  align: align2
}) => {
  switch (align2) {
    case "end": {
      return { textAlign: "right" };
    }
    case "center": {
      return { textAlign: "center" };
    }
    case "start":
    default: {
      return { textAlign: "left" };
    }
  }
}, "alignment");
var validation = /* @__PURE__ */ __name(({
  valid,
  theme: theme3
}) => {
  switch (valid) {
    case "valid": {
      return { boxShadow: `${theme3.color.positive} 0 0 0 1px inset !important` };
    }
    case "error": {
      return { boxShadow: `${theme3.color.negative} 0 0 0 1px inset !important` };
    }
    case "warn": {
      return {
        boxShadow: `${theme3.color.warning} 0 0 0 1px inset`
      };
    }
    case void 0:
    case null:
    default: {
      return {};
    }
  }
}, "validation");
var styleResets = {
  // resets
  appearance: "none",
  border: "0 none",
  boxSizing: "inherit",
  display: " block",
  margin: " 0",
  background: "transparent",
  padding: 0,
  fontSize: "inherit",
  position: "relative"
};
var styles = /* @__PURE__ */ __name(({ theme: theme3 }) => ({
  ...styleResets,
  transition: "box-shadow 200ms ease-out, opacity 200ms ease-out",
  color: theme3.input.color || "inherit",
  background: theme3.input.background,
  boxShadow: `${theme3.input.border} 0 0 0 1px inset`,
  borderRadius: theme3.input.borderRadius,
  fontSize: theme3.typography.size.s2 - 1,
  lineHeight: "20px",
  padding: "6px 10px",
  // 32
  boxSizing: "border-box",
  height: 32,
  '&[type="file"]': {
    height: "auto"
  },
  "&:focus": {
    boxShadow: `${theme3.color.secondary} 0 0 0 1px inset`,
    outline: "none",
    "@media (forced-colors: active)": {
      outline: "1px solid highlight"
    }
  },
  "&[disabled]": {
    cursor: "not-allowed",
    opacity: 0.5
  },
  "&:-webkit-autofill": { WebkitBoxShadow: `0 0 0 3em ${theme3.color.lightest} inset` },
  "&::placeholder": {
    color: theme3.textMutedColor,
    opacity: 1
  }
}), "styles");

// src/components/components/Form/Input.tsx
var Input2 = Object.assign(
  styled(
    (0, import_react34.forwardRef)(/* @__PURE__ */ __name(function Input3({ size, valid, align: align2, ...props }, ref) {
      return import_react33.default.createElement("input", { ...props, ref });
    }, "Input"))
  )(styles, sizes, alignment, validation, {
    minHeight: 32
  }),
  {
    displayName: "Input"
  }
);

// src/components/components/Form/Radio.tsx
var import_react35 = __toESM(require_react(), 1);
init_theming();
var Input4 = styled.input({
  appearance: "none",
  display: "grid",
  placeContent: "center",
  width: 16,
  height: 16,
  flexShrink: 0,
  margin: -1,
  border: `1px solid ${color.border}`,
  borderRadius: 8,
  backgroundColor: "white",
  transition: "background-color 0.1s",
  "&:enabled": {
    cursor: "pointer"
  },
  "&:disabled": {
    backgroundColor: color.medium
  },
  "&:disabled:checked": {
    backgroundColor: color.mediumdark
  },
  "&:checked": {
    backgroundColor: color.secondary,
    boxShadow: `inset 0 0 0 2px white`
  },
  "&:enabled:focus-visible": {
    outline: `1px solid ${color.secondary}`,
    outlineOffset: 1
  }
});
var Radio = /* @__PURE__ */ __name((props) => {
  return import_react35.default.createElement(Input4, { ...props, type: "radio" });
}, "Radio");

// src/components/components/Form/Select.tsx
var import_react36 = __toESM(require_react(), 1);
init_theming();

// src/preview-api/modules/preview-web/render/animation-utils.ts
function isTestEnvironment() {
  try {
    return (
      // @ts-expect-error This property exists in Vitest browser mode
      !!globalThis.__vitest_browser__ || !!globalThis.window?.navigator?.userAgent?.match(/StorybookTestRunner/)
    );
  } catch {
    return false;
  }
}
__name(isTestEnvironment, "isTestEnvironment");

// src/components/components/Form/Select.tsx
var BaseSelect = styled.select(sizes, ({ theme: theme3 }) => ({
  appearance: "none",
  background: `calc(100% - 12px) center no-repeat url("data:image/svg+xml,%3Csvg width='8' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.30303 0.196815C1.13566 0.0294472 0.864304 0.0294472 0.696937 0.196815C0.529569 0.364182 0.529569 0.635539 0.696937 0.802906L3.69694 3.80291C3.8643 3.97027 4.13566 3.97027 4.30303 3.80291L7.30303 0.802906C7.4704 0.635539 7.4704 0.364182 7.30303 0.196815C7.13566 0.0294473 6.8643 0.0294473 6.69694 0.196815L3.99998 2.89377L1.30303 0.196815Z' fill='%2373828C'/%3E%3C/svg%3E%0A")`,
  backgroundSize: 10,
  padding: "6px 30px 6px 10px",
  "@supports (appearance: base-select)": {
    appearance: "base-select",
    background: theme3.input.background,
    padding: "6px 10px"
  },
  transition: "box-shadow 200ms ease-out, opacity 200ms ease-out",
  color: theme3.input.color || "inherit",
  boxShadow: `${theme3.input.border} 0 0 0 1px inset`,
  borderRadius: theme3.input.borderRadius,
  fontSize: theme3.typography.size.s2 - 1,
  lineHeight: "20px",
  boxSizing: "border-box",
  border: "none",
  cursor: "pointer",
  "& > button": {
    display: "flex",
    alignItems: "center",
    justifyContent: "space-between",
    width: "100%",
    gap: 8,
    "& > svg": {
      width: 14,
      height: 14,
      color: theme3.color.mediumdark
    }
  },
  "&:has(option:not([hidden]):checked)": {
    color: theme3.color.defaultText
  },
  "&:focus-visible, &:focus-within": {
    outline: "none",
    boxShadow: `${theme3.color.secondary} 0 0 0 1px inset`
  },
  "&::picker-icon": {
    display: "none"
  },
  "&::picker(select)": {
    appearance: "base-select",
    border: "1px solid #e4e4e7",
    padding: 4,
    marginTop: 4,
    background: theme3.base === "light" ? lightenColor(theme3.background.app) : theme3.background.app,
    filter: `
      drop-shadow(0 5px 5px rgba(0,0,0,0.05))
      drop-shadow(0 0 3px rgba(0,0,0,0.1))
    `,
    borderRadius: theme3.appBorderRadius + 2,
    fontSize: theme3.typography.size.s1,
    cursor: "default",
    transition: "opacity 100ms ease-in-out, transform 100ms ease-in-out",
    transformOrigin: "top",
    transform: "translateY(0)",
    opacity: 1,
    "@starting-style": {
      transform: "translateY(-0.25rem) scale(0.95)",
      opacity: 0
    }
  },
  "& optgroup label": {
    display: "block",
    padding: "3px 6px"
  },
  "& option": {
    lineHeight: "18px",
    padding: "7px 10px",
    borderRadius: 4,
    outline: "none",
    cursor: "pointer",
    color: theme3.color.defaultText,
    "&::checkmark": {
      display: "none"
    },
    "&:hover, &:focus-visible": {
      backgroundColor: theme3.background.hoverable
    },
    "&:checked": {
      color: theme3.color.secondary,
      fontWeight: theme3.typography.weight.bold
    },
    "&:disabled": {
      backgroundColor: "transparent",
      cursor: "default",
      color: theme3.color.defaultText
    }
  }
}));
var Select = /* @__PURE__ */ __name(({ children, ...props }) => {
  return (
    // @ts-expect-error Weird props mismatch
    import_react36.default.createElement(BaseSelect, { ...props }, !isTestEnvironment() && import_react36.default.createElement("button", null, import_react36.default.createElement("selectedcontent", null), import_react36.default.createElement(
      "svg",
      {
        xmlns: "http://www.w3.org/2000/svg",
        viewBox: "0 0 24 24",
        fill: "none",
        stroke: "currentColor",
        strokeWidth: "2",
        strokeLinecap: "round",
        strokeLinejoin: "round",
        "aria-hidden": "true"
      },
      import_react36.default.createElement("path", { d: "m6 9 6 6 6-6" })
    )), import_react36.default.createElement("optgroup", null, children))
  );
}, "Select");

// src/components/components/Form/Textarea.tsx
var import_react40 = __toESM(require_react(), 1);

// ../node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js
init_extends();
init_objectWithoutPropertiesLoose();
var React68 = __toESM(require_react());

// ../node_modules/use-latest/dist/use-latest.esm.js
var import_react38 = __toESM(require_react());

// ../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js
var import_react37 = __toESM(require_react());
var index = import_react37.useLayoutEffect;

// ../node_modules/use-latest/dist/use-latest.esm.js
var useLatest = /* @__PURE__ */ __name(function useLatest2(value) {
  var ref = import_react38.default.useRef(value);
  index(function() {
    ref.current = value;
  });
  return ref;
}, "useLatest");

// ../node_modules/use-composed-ref/dist/use-composed-ref.esm.js
var import_react39 = __toESM(require_react());
var updateRef = /* @__PURE__ */ __name(function updateRef2(ref, value) {
  if (typeof ref === "function") {
    ref(value);
    return;
  }
  ref.current = value;
}, "updateRef");
var useComposedRef = /* @__PURE__ */ __name(function useComposedRef2(libRef, userRef) {
  var prevUserRef = import_react39.default.useRef();
  return import_react39.default.useCallback(function(instance) {
    libRef.current = instance;
    if (prevUserRef.current) {
      updateRef(prevUserRef.current, null);
    }
    prevUserRef.current = userRef;
    if (!userRef) {
      return;
    }
    updateRef(userRef, instance);
  }, [userRef]);
}, "useComposedRef");

// ../node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js
var HIDDEN_TEXTAREA_STYLE = {
  "min-height": "0",
  "max-height": "none",
  height: "0",
  visibility: "hidden",
  overflow: "hidden",
  position: "absolute",
  "z-index": "-1000",
  top: "0",
  right: "0",
  display: "block"
};
var forceHiddenStyles = /* @__PURE__ */ __name(function forceHiddenStyles2(node2) {
  Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function(key) {
    node2.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], "important");
  });
}, "forceHiddenStyles");
var forceHiddenStyles$1 = forceHiddenStyles;
var hiddenTextarea = null;
var getHeight = /* @__PURE__ */ __name(function getHeight2(node2, sizingData) {
  var height = node2.scrollHeight;
  if (sizingData.sizingStyle.boxSizing === "border-box") {
    return height + sizingData.borderSize;
  }
  return height - sizingData.paddingSize;
}, "getHeight");
function calculateNodeHeight(sizingData, value, minRows, maxRows) {
  if (minRows === void 0) {
    minRows = 1;
  }
  if (maxRows === void 0) {
    maxRows = Infinity;
  }
  if (!hiddenTextarea) {
    hiddenTextarea = document.createElement("textarea");
    hiddenTextarea.setAttribute("tabindex", "-1");
    hiddenTextarea.setAttribute("aria-hidden", "true");
    forceHiddenStyles$1(hiddenTextarea);
  }
  if (hiddenTextarea.parentNode === null) {
    document.body.appendChild(hiddenTextarea);
  }
  var paddingSize = sizingData.paddingSize, borderSize = sizingData.borderSize, sizingStyle = sizingData.sizingStyle;
  var boxSizing = sizingStyle.boxSizing;
  Object.keys(sizingStyle).forEach(function(_key) {
    var key = _key;
    hiddenTextarea.style[key] = sizingStyle[key];
  });
  forceHiddenStyles$1(hiddenTextarea);
  hiddenTextarea.value = value;
  var height = getHeight(hiddenTextarea, sizingData);
  hiddenTextarea.value = value;
  height = getHeight(hiddenTextarea, sizingData);
  hiddenTextarea.value = "x";
  var rowHeight = hiddenTextarea.scrollHeight - paddingSize;
  var minHeight = rowHeight * minRows;
  if (boxSizing === "border-box") {
    minHeight = minHeight + paddingSize + borderSize;
  }
  height = Math.max(minHeight, height);
  var maxHeight = rowHeight * maxRows;
  if (boxSizing === "border-box") {
    maxHeight = maxHeight + paddingSize + borderSize;
  }
  height = Math.min(maxHeight, height);
  return [height, rowHeight];
}
__name(calculateNodeHeight, "calculateNodeHeight");
var noop = /* @__PURE__ */ __name(function noop2() {
}, "noop");
var pick = /* @__PURE__ */ __name(function pick2(props, obj) {
  return props.reduce(function(acc, prop) {
    acc[prop] = obj[prop];
    return acc;
  }, {});
}, "pick");
var SIZING_STYLE = [
  "borderBottomWidth",
  "borderLeftWidth",
  "borderRightWidth",
  "borderTopWidth",
  "boxSizing",
  "fontFamily",
  "fontSize",
  "fontStyle",
  "fontWeight",
  "letterSpacing",
  "lineHeight",
  "paddingBottom",
  "paddingLeft",
  "paddingRight",
  "paddingTop",
  // non-standard
  "tabSize",
  "textIndent",
  // non-standard
  "textRendering",
  "textTransform",
  "width",
  "wordBreak",
  "wordSpacing",
  "scrollbarGutter"
];
var isIE = !!document.documentElement.currentStyle;
var getSizingData = /* @__PURE__ */ __name(function getSizingData2(node2) {
  var style = window.getComputedStyle(node2);
  if (style === null) {
    return null;
  }
  var sizingStyle = pick(SIZING_STYLE, style);
  var boxSizing = sizingStyle.boxSizing;
  if (boxSizing === "") {
    return null;
  }
  if (isIE && boxSizing === "border-box") {
    sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(sizingStyle.borderRightWidth) + parseFloat(sizingStyle.borderLeftWidth) + parseFloat(sizingStyle.paddingRight) + parseFloat(sizingStyle.paddingLeft) + "px";
  }
  var paddingSize = parseFloat(sizingStyle.paddingBottom) + parseFloat(sizingStyle.paddingTop);
  var borderSize = parseFloat(sizingStyle.borderBottomWidth) + parseFloat(sizingStyle.borderTopWidth);
  return {
    sizingStyle,
    paddingSize,
    borderSize
  };
}, "getSizingData");
var getSizingData$1 = getSizingData;
function useListener(target, type5, listener) {
  var latestListener = useLatest(listener);
  React68.useLayoutEffect(function() {
    var handler = /* @__PURE__ */ __name(function handler2(ev) {
      return latestListener.current(ev);
    }, "handler");
    if (!target) {
      return;
    }
    target.addEventListener(type5, handler);
    return function() {
      return target.removeEventListener(type5, handler);
    };
  }, []);
}
__name(useListener, "useListener");
var useFormResetListener = /* @__PURE__ */ __name(function useFormResetListener2(libRef, listener) {
  useListener(document.body, "reset", function(ev) {
    if (libRef.current.form === ev.target) {
      listener(ev);
    }
  });
}, "useFormResetListener");
var useWindowResizeListener = /* @__PURE__ */ __name(function useWindowResizeListener2(listener) {
  useListener(window, "resize", listener);
}, "useWindowResizeListener");
var useFontsLoadedListener = /* @__PURE__ */ __name(function useFontsLoadedListener2(listener) {
  useListener(document.fonts, "loadingdone", listener);
}, "useFontsLoadedListener");
var _excluded2 = ["cacheMeasurements", "maxRows", "minRows", "onChange", "onHeightChange"];
var TextareaAutosize = /* @__PURE__ */ __name(function TextareaAutosize2(_ref, userRef) {
  var cacheMeasurements = _ref.cacheMeasurements, maxRows = _ref.maxRows, minRows = _ref.minRows, _ref$onChange = _ref.onChange, onChange = _ref$onChange === void 0 ? noop : _ref$onChange, _ref$onHeightChange = _ref.onHeightChange, onHeightChange = _ref$onHeightChange === void 0 ? noop : _ref$onHeightChange, props = _objectWithoutPropertiesLoose(_ref, _excluded2);
  var isControlled = props.value !== void 0;
  var libRef = React68.useRef(null);
  var ref = useComposedRef(libRef, userRef);
  var heightRef = React68.useRef(0);
  var measurementsCacheRef = React68.useRef();
  var resizeTextarea = /* @__PURE__ */ __name(function resizeTextarea2() {
    var node2 = libRef.current;
    var nodeSizingData = cacheMeasurements && measurementsCacheRef.current ? measurementsCacheRef.current : getSizingData$1(node2);
    if (!nodeSizingData) {
      return;
    }
    measurementsCacheRef.current = nodeSizingData;
    var _calculateNodeHeight = calculateNodeHeight(nodeSizingData, node2.value || node2.placeholder || "x", minRows, maxRows), height = _calculateNodeHeight[0], rowHeight = _calculateNodeHeight[1];
    if (heightRef.current !== height) {
      heightRef.current = height;
      node2.style.setProperty("height", height + "px", "important");
      onHeightChange(height, {
        rowHeight
      });
    }
  }, "resizeTextarea");
  var handleChange = /* @__PURE__ */ __name(function handleChange2(event) {
    if (!isControlled) {
      resizeTextarea();
    }
    onChange(event);
  }, "handleChange");
  {
    React68.useLayoutEffect(resizeTextarea);
    useFormResetListener(libRef, function() {
      if (!isControlled) {
        var currentValue = libRef.current.value;
        requestAnimationFrame(function() {
          var node2 = libRef.current;
          if (node2 && currentValue !== node2.value) {
            resizeTextarea();
          }
        });
      }
    });
    useWindowResizeListener(resizeTextarea);
    useFontsLoadedListener(resizeTextarea);
    return React68.createElement("textarea", _extends({}, props, {
      onChange: handleChange,
      ref
    }));
  }
}, "TextareaAutosize");
var index2 = React68.forwardRef(TextareaAutosize);

// src/components/components/Form/Textarea.tsx
init_theming();
var Textarea = Object.assign(
  styled(
    (0, import_react40.forwardRef)(/* @__PURE__ */ __name(function Textarea2({ size, valid, align: align2, ...props }, ref) {
      return import_react40.default.createElement(index2, { ...props, ref });
    }, "Textarea"))
  )(styles, sizes, alignment, validation, ({ height = 400 }) => ({
    overflow: "visible",
    maxHeight: height
  })),
  {
    displayName: "Textarea"
  }
);

// src/components/components/Form/Form.tsx
var Form = Object.assign(
  styled.form({
    boxSizing: "border-box",
    width: "100%"
  }),
  {
    Field,
    Input: Input2,
    Select,
    Textarea,
    Button,
    Checkbox,
    Radio
  }
);

// src/components/components/tooltip/lazy-WithTooltip.tsx
var import_react43 = __toESM(require_react(), 1);
var LazyWithTooltip = (0, import_react43.lazy)(
  () => Promise.resolve().then(() => (init_WithTooltip(), WithTooltip_exports)).then((mod) => ({ default: mod.WithTooltip }))
);
var WithTooltip = /* @__PURE__ */ __name((props) => import_react43.default.createElement(import_react43.Suspense, { fallback: import_react43.default.createElement("div", null) }, import_react43.default.createElement(LazyWithTooltip, { ...props })), "WithTooltip");
var LazyWithTooltipPure = (0, import_react43.lazy)(
  () => Promise.resolve().then(() => (init_WithTooltip(), WithTooltip_exports)).then((mod) => ({ default: mod.WithTooltipPure }))
);
var WithTooltipPure2 = /* @__PURE__ */ __name((props) => import_react43.default.createElement(import_react43.Suspense, { fallback: import_react43.default.createElement("div", null) }, import_react43.default.createElement(LazyWithTooltipPure, { ...props })), "WithTooltipPure");

// src/components/components/tooltip/TooltipMessage.tsx
var import_react44 = __toESM(require_react(), 1);
init_theming();
var Title4 = styled.div(({ theme: theme3 }) => ({
  fontWeight: theme3.typography.weight.bold
}));
var Desc2 = styled.span();
var Links = styled.div(({ theme: theme3 }) => ({
  marginTop: 8,
  textAlign: "center",
  "> *": {
    margin: "0 8px",
    fontWeight: theme3.typography.weight.bold
  }
}));
var Message2 = styled.div(({ theme: theme3 }) => ({
  color: theme3.color.defaultText,
  lineHeight: "18px"
}));
var MessageWrapper = styled.div({
  padding: 15,
  width: 280,
  boxSizing: "border-box"
});
var TooltipMessage = /* @__PURE__ */ __name(({ title, desc, links }) => {
  return import_react44.default.createElement(MessageWrapper, null, import_react44.default.createElement(Message2, null, title && import_react44.default.createElement(Title4, null, title), desc && import_react44.default.createElement(Desc2, null, desc)), links && import_react44.default.createElement(Links, null, links.map(({ title: linkTitle, ...other }) => import_react44.default.createElement(Link2, { ...other, key: linkTitle }, linkTitle))));
}, "TooltipMessage");

// src/components/components/tooltip/TooltipNote.tsx
var import_react45 = __toESM(require_react(), 1);
init_theming();
var Note = styled.div(({ theme: theme3 }) => ({
  padding: "2px 6px",
  lineHeight: "16px",
  fontSize: 10,
  fontWeight: theme3.typography.weight.bold,
  color: theme3.color.lightest,
  boxShadow: "0 0 5px 0 rgba(0, 0, 0, 0.3)",
  borderRadius: 4,
  whiteSpace: "nowrap",
  pointerEvents: "none",
  zIndex: -1,
  background: theme3.base === "light" ? "rgba(60, 60, 60, 0.9)" : "rgba(0, 0, 0, 0.95)",
  margin: 6
}));
var TooltipNote = /* @__PURE__ */ __name(({ note, ...props }) => {
  return import_react45.default.createElement(Note, { ...props }, note);
}, "TooltipNote");

// src/components/components/tooltip/TooltipLinkList.tsx
var import_react47 = __toESM(require_react(), 1);
init_theming();

// src/components/components/tooltip/ListItem.tsx
var import_react46 = __toESM(require_react(), 1);
var import_memoizerific5 = __toESM(require_memoizerific(), 1);
init_theming();
var Title5 = styled(({ active, loading, disabled, ...rest }) => import_react46.default.createElement("span", { ...rest }))(
  ({ theme: theme3 }) => ({
    color: theme3.color.defaultText,
    // Previously was theme.typography.weight.normal but this weight does not exists in Theme
    fontWeight: theme3.typography.weight.regular
  }),
  ({ active, theme: theme3 }) => active ? {
    color: theme3.color.secondary,
    fontWeight: theme3.typography.weight.bold
  } : {},
  ({ loading, theme: theme3 }) => loading ? {
    display: "inline-block",
    flex: "none",
    ...theme3.animation.inlineGlow
  } : {},
  ({ disabled, theme: theme3 }) => disabled ? {
    color: theme3.textMutedColor
  } : {}
);
var Right = styled.span({
  display: "flex",
  "& svg": {
    height: 12,
    width: 12,
    margin: "3px 0",
    verticalAlign: "top"
  }
});
var Center = styled.span(
  {
    flex: 1,
    textAlign: "left",
    display: "flex",
    flexDirection: "column",
    minWidth: 0
    // required for overflow
  },
  ({ isIndented }) => isIndented ? { marginLeft: 24 } : {}
);
var CenterText = styled.span(
  ({ theme: theme3 }) => ({
    fontSize: "11px",
    lineHeight: "14px"
  }),
  ({ active, theme: theme3 }) => active ? {
    color: theme3.color.secondary
  } : {},
  ({ theme: theme3, disabled }) => disabled ? {
    color: theme3.textMutedColor
  } : {}
);
var Left = styled.span(
  ({ active, theme: theme3 }) => active ? {
    color: theme3.color.secondary
  } : {},
  () => ({
    display: "flex",
    maxWidth: 14
  })
);
var Item = styled.div(
  ({ theme: theme3 }) => ({
    width: "100%",
    minWidth: 0,
    // required for overflow
    border: "none",
    borderRadius: theme3.appBorderRadius,
    background: "none",
    fontSize: theme3.typography.size.s1,
    transition: "all 150ms ease-out",
    color: theme3.color.dark,
    textDecoration: "none",
    justifyContent: "space-between",
    lineHeight: "18px",
    padding: "7px 10px",
    display: "flex",
    alignItems: "center",
    "& > * + *": {
      paddingLeft: 10
    }
  }),
  ({ theme: theme3, href, onClick }) => (href || onClick) && {
    cursor: "pointer",
    "&:hover": {
      background: theme3.background.hoverable
    },
    "&:hover svg": {
      opacity: 1
    }
  },
  ({ theme: theme3, as }) => as === "label" && {
    "&:has(input:not(:disabled))": {
      cursor: "pointer",
      "&:hover": {
        background: theme3.background.hoverable
      }
    }
  },
  ({ disabled }) => disabled && { cursor: "not-allowed" }
);
var getItemProps = (0, import_memoizerific5.default)(100)(({ onClick, input: input2, href, LinkWrapper }) => ({
  ...onClick && {
    as: "button",
    onClick
  },
  ...input2 && {
    as: "label"
  },
  ...href && {
    as: "a",
    href,
    ...LinkWrapper && {
      as: LinkWrapper,
      to: href
    }
  }
}));
var ListItem = /* @__PURE__ */ __name((props) => {
  const {
    loading = false,
    title = import_react46.default.createElement("span", null, "Loading state"),
    center = null,
    right: right2 = null,
    active = false,
    disabled = false,
    isIndented = false,
    href = void 0,
    onClick = void 0,
    icon,
    input: input2,
    LinkWrapper = void 0,
    ...rest
  } = props;
  const commonProps = { active, disabled };
  const itemProps = getItemProps(props);
  const left2 = icon || input2;
  return import_react46.default.createElement(Item, { ...rest, ...commonProps, ...itemProps }, import_react46.default.createElement(import_react46.default.Fragment, null, left2 && import_react46.default.createElement(Left, { ...commonProps }, left2), title || center ? import_react46.default.createElement(Center, { isIndented: isIndented && !left2 }, title && import_react46.default.createElement(Title5, { ...commonProps, loading }, title), center && import_react46.default.createElement(CenterText, { ...commonProps }, center)) : null, right2 && import_react46.default.createElement(Right, { ...commonProps }, right2)));
}, "ListItem");
var ListItem_default = ListItem;

// src/components/components/tooltip/TooltipLinkList.tsx
var List = styled.div(
  {
    minWidth: 180,
    overflow: "hidden",
    overflowY: "auto",
    maxHeight: 15.5 * 32 + 8
    // 15.5 items at 32px each + 8px padding
  },
  ({ theme: theme3 }) => ({
    borderRadius: theme3.appBorderRadius + 2
  }),
  ({ theme: theme3 }) => theme3.base === "dark" ? { background: theme3.background.content } : {}
);
var Group = styled.div(({ theme: theme3 }) => ({
  padding: 4,
  "& + &": {
    borderTop: `1px solid ${theme3.appBorderColor}`
  }
}));
var Item2 = /* @__PURE__ */ __name(({ id, onClick, ...rest }) => {
  const { active, disabled, title, href } = rest;
  const handleClick = (0, import_react47.useCallback)(
    (event) => onClick?.(event, { id, active, disabled, title, href }),
    [onClick, id, active, disabled, title, href]
  );
  return import_react47.default.createElement(ListItem_default, { id: `list-item-${id}`, ...rest, ...onClick && { onClick: handleClick } });
}, "Item");
var TooltipLinkList = /* @__PURE__ */ __name(({ links, LinkWrapper, ...props }) => {
  const groups = Array.isArray(links[0]) ? links : [links];
  const isIndented = groups.some(
    (group) => group.some((link) => "icon" in link && link.icon || "input" in link && link.input)
  );
  return import_react47.default.createElement(List, { ...props }, groups.filter((group) => group.length).map((group, index4) => {
    return import_react47.default.createElement(Group, { key: group.map((link) => link.id).join(`~${index4}~`) }, group.map((link) => {
      if ("content" in link) {
        return import_react47.default.createElement(import_react47.Fragment, { key: link.id }, link.content);
      }
      return import_react47.default.createElement(Item2, { key: link.id, isIndented, LinkWrapper, ...link });
    }));
  }));
}, "TooltipLinkList");

// src/components/components/tabs/tabs.tsx
var import_react53 = __toESM(require_react(), 1);

// src/csf/includeConditionalArg.ts
var import_tiny_isequal = __toESM(require_tiny_isequal(), 1);

// src/preview-api/modules/addons/main.ts
init_dist();

// src/preview-api/modules/addons/storybook-channel-mock.ts
function mockChannel() {
  const transport = {
    setHandler: /* @__PURE__ */ __name(() => {
    }, "setHandler"),
    send: /* @__PURE__ */ __name(() => {
    }, "send")
  };
  return new Channel({ transport });
}
__name(mockChannel, "mockChannel");

// src/preview-api/modules/addons/main.ts
var _AddonStore = class _AddonStore {
  constructor() {
    this.getChannel = /* @__PURE__ */ __name(() => {
      if (!this.channel) {
        const channel = mockChannel();
        this.setChannel(channel);
        return channel;
      }
      return this.channel;
    }, "getChannel");
    this.ready = /* @__PURE__ */ __name(() => this.promise, "ready");
    this.hasChannel = /* @__PURE__ */ __name(() => !!this.channel, "hasChannel");
    this.setChannel = /* @__PURE__ */ __name((channel) => {
      this.channel = channel;
      this.resolve();
    }, "setChannel");
    this.promise = new Promise((res) => {
      this.resolve = () => res(this.getChannel());
    });
  }
};
__name(_AddonStore, "AddonStore");
var AddonStore = _AddonStore;
var KEY2 = "__STORYBOOK_ADDONS_PREVIEW";
function getAddonsStore() {
  if (!scope[KEY2]) {
    scope[KEY2] = new AddonStore();
  }
  return scope[KEY2];
}
__name(getAddonsStore, "getAddonsStore");
var addons = getAddonsStore();

// src/preview-api/modules/addons/hooks.ts
init_client_logger();
init_dist();
var areDepsEqual = /* @__PURE__ */ __name((deps, nextDeps) => deps.length === nextDeps.length && deps.every((dep, i2) => dep === nextDeps[i2]), "areDepsEqual");
var invalidHooksError = /* @__PURE__ */ __name(() => new Error("Storybook preview hooks can only be called inside decorators and story functions."), "invalidHooksError");
function getHooksContextOrNull() {
  return scope.STORYBOOK_HOOKS_CONTEXT || null;
}
__name(getHooksContextOrNull, "getHooksContextOrNull");
function getHooksContextOrThrow() {
  const hooks = getHooksContextOrNull();
  if (hooks == null) {
    throw invalidHooksError();
  }
  return hooks;
}
__name(getHooksContextOrThrow, "getHooksContextOrThrow");
function useHook(name, callback, deps) {
  const hooks = getHooksContextOrThrow();
  if (hooks.currentPhase === "MOUNT") {
    if (deps != null && !Array.isArray(deps)) {
      logger.warn(
        `${name} received a final argument that is not an array (instead, received ${deps}). When specified, the final argument must be an array.`
      );
    }
    const hook = { name, deps };
    hooks.currentHooks.push(hook);
    callback(hook);
    return hook;
  }
  if (hooks.currentPhase === "UPDATE") {
    const hook = hooks.getNextHook();
    if (hook == null) {
      throw new Error("Rendered more hooks than during the previous render.");
    }
    if (hook.name !== name) {
      logger.warn(
        `Storybook has detected a change in the order of Hooks${hooks.currentDecoratorName ? ` called by ${hooks.currentDecoratorName}` : ""}. This will lead to bugs and errors if not fixed.`
      );
    }
    if (deps != null && hook.deps == null) {
      logger.warn(
        `${name} received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.`
      );
    }
    if (deps != null && hook.deps != null && deps.length !== hook.deps.length) {
      logger.warn(`The final argument passed to ${name} changed size between renders. The order and size of this array must remain constant.
Previous: ${hook.deps}
Incoming: ${deps}`);
    }
    if (deps == null || hook.deps == null || !areDepsEqual(deps, hook.deps)) {
      callback(hook);
      hook.deps = deps;
    }
    return hook;
  }
  throw invalidHooksError();
}
__name(useHook, "useHook");
function useMemoLike(name, nextCreate, deps) {
  const { memoizedState } = useHook(
    name,
    (hook) => {
      hook.memoizedState = nextCreate();
    },
    deps
  );
  return memoizedState;
}
__name(useMemoLike, "useMemoLike");
function useMemo12(nextCreate, deps) {
  return useMemoLike("useMemo", nextCreate, deps);
}
__name(useMemo12, "useMemo");
function useEffect29(create3, deps) {
  const hooks = getHooksContextOrThrow();
  const effect4 = useMemoLike("useEffect", () => ({ create: create3 }), deps);
  if (!hooks.currentEffects.includes(effect4)) {
    hooks.currentEffects.push(effect4);
  }
}
__name(useEffect29, "useEffect");

// src/preview-errors.ts
init_esm();

// src/storybook-error.ts
function parseErrorCode({
  code,
  category
}) {
  const paddedCode = String(code).padStart(4, "0");
  return `SB_${category}_${paddedCode}`;
}
__name(parseErrorCode, "parseErrorCode");
function appendErrorRef(url) {
  if (/^(?!.*storybook\.js\.org)|[?&]ref=error\b/.test(url)) {
    return url;
  }
  try {
    const urlObj = new URL(url);
    urlObj.searchParams.set("ref", "error");
    return urlObj.toString();
  } catch {
    return url;
  }
}
__name(appendErrorRef, "appendErrorRef");
var _StorybookError = class _StorybookError extends Error {
  constructor(props) {
    super(_StorybookError.getFullMessage(props));
    /**
     * Data associated with the error. Used to provide additional information in the error message or
     * to be passed to telemetry.
     */
    this.data = {};
    /** Flag used to easily determine if the error originates from Storybook. */
    this.fromStorybook = true;
    this.category = props.category;
    this.documentation = props.documentation ?? false;
    this.code = props.code;
  }
  get fullErrorCode() {
    return parseErrorCode({ code: this.code, category: this.category });
  }
  /** Overrides the default `Error.name` property in the format: SB_<CATEGORY>_<CODE>. */
  get name() {
    const errorName = this.constructor.name;
    return `${this.fullErrorCode} (${errorName})`;
  }
  /** Generates the error message along with additional documentation link (if applicable). */
  static getFullMessage({
    documentation,
    code,
    category,
    message
  }) {
    let page;
    if (documentation === true) {
      page = `https://storybook.js.org/error/${parseErrorCode({ code, category })}?ref=error`;
    } else if (typeof documentation === "string") {
      page = appendErrorRef(documentation);
    } else if (Array.isArray(documentation)) {
      page = `
${documentation.map((doc) => `	- ${appendErrorRef(doc)}`).join("\n")}`;
    }
    return `${message}${page != null ? `

More info: ${page}
` : ""}`;
  }
};
__name(_StorybookError, "StorybookError");
var StorybookError = _StorybookError;

// src/preview-errors.ts
var _StatusTypeIdMismatchError = class _StatusTypeIdMismatchError extends StorybookError {
  constructor(data) {
    super({
      category: "PREVIEW_API" /* PREVIEW_API */,
      code: 16,
      message: `Status has typeId "${data.status.typeId}" but was added to store with typeId "${data.typeId}". Full status: ${JSON.stringify(
        data.status,
        null,
        2
      )}`
    });
    this.data = data;
  }
};
__name(_StatusTypeIdMismatchError, "StatusTypeIdMismatchError");
var StatusTypeIdMismatchError = _StatusTypeIdMismatchError;

// ../node_modules/es-toolkit/dist/predicate/isPrimitive.mjs
function isPrimitive(value) {
  return value == null || typeof value !== "object" && typeof value !== "function";
}
__name(isPrimitive, "isPrimitive");

// ../node_modules/es-toolkit/dist/predicate/isTypedArray.mjs
function isTypedArray(x) {
  return ArrayBuffer.isView(x) && !(x instanceof DataView);
}
__name(isTypedArray, "isTypedArray");

// ../node_modules/es-toolkit/dist/compat/_internal/getSymbols.mjs
function getSymbols(object) {
  return Object.getOwnPropertySymbols(object).filter((symbol) => Object.prototype.propertyIsEnumerable.call(object, symbol));
}
__name(getSymbols, "getSymbols");

// ../node_modules/es-toolkit/dist/compat/_internal/getTag.mjs
function getTag(value) {
  if (value == null) {
    return value === void 0 ? "[object Undefined]" : "[object Null]";
  }
  return Object.prototype.toString.call(value);
}
__name(getTag, "getTag");

// ../node_modules/es-toolkit/dist/compat/_internal/tags.mjs
var regexpTag = "[object RegExp]";
var stringTag = "[object String]";
var numberTag = "[object Number]";
var booleanTag = "[object Boolean]";
var argumentsTag = "[object Arguments]";
var symbolTag2 = "[object Symbol]";
var dateTag = "[object Date]";
var mapTag = "[object Map]";
var setTag = "[object Set]";
var arrayTag = "[object Array]";
var functionTag = "[object Function]";
var arrayBufferTag = "[object ArrayBuffer]";
var objectTag = "[object Object]";
var errorTag = "[object Error]";
var dataViewTag = "[object DataView]";
var uint8ArrayTag = "[object Uint8Array]";
var uint8ClampedArrayTag = "[object Uint8ClampedArray]";
var uint16ArrayTag = "[object Uint16Array]";
var uint32ArrayTag = "[object Uint32Array]";
var bigUint64ArrayTag = "[object BigUint64Array]";
var int8ArrayTag = "[object Int8Array]";
var int16ArrayTag = "[object Int16Array]";
var int32ArrayTag = "[object Int32Array]";
var bigInt64ArrayTag = "[object BigInt64Array]";
var float32ArrayTag = "[object Float32Array]";
var float64ArrayTag = "[object Float64Array]";

// ../node_modules/es-toolkit/dist/object/cloneDeepWith.mjs
function cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = /* @__PURE__ */ new Map(), cloneValue = void 0) {
  const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);
  if (cloned !== void 0) {
    return cloned;
  }
  if (isPrimitive(valueToClone)) {
    return valueToClone;
  }
  if (stack.has(valueToClone)) {
    return stack.get(valueToClone);
  }
  if (Array.isArray(valueToClone)) {
    const result = new Array(valueToClone.length);
    stack.set(valueToClone, result);
    for (let i2 = 0; i2 < valueToClone.length; i2++) {
      result[i2] = cloneDeepWithImpl(valueToClone[i2], i2, objectToClone, stack, cloneValue);
    }
    if (Object.hasOwn(valueToClone, "index")) {
      result.index = valueToClone.index;
    }
    if (Object.hasOwn(valueToClone, "input")) {
      result.input = valueToClone.input;
    }
    return result;
  }
  if (valueToClone instanceof Date) {
    return new Date(valueToClone.getTime());
  }
  if (valueToClone instanceof RegExp) {
    const result = new RegExp(valueToClone.source, valueToClone.flags);
    result.lastIndex = valueToClone.lastIndex;
    return result;
  }
  if (valueToClone instanceof Map) {
    const result = /* @__PURE__ */ new Map();
    stack.set(valueToClone, result);
    for (const [key, value] of valueToClone) {
      result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));
    }
    return result;
  }
  if (valueToClone instanceof Set) {
    const result = /* @__PURE__ */ new Set();
    stack.set(valueToClone, result);
    for (const value of valueToClone) {
      result.add(cloneDeepWithImpl(value, void 0, objectToClone, stack, cloneValue));
    }
    return result;
  }
  if (typeof Buffer !== "undefined" && Buffer.isBuffer(valueToClone)) {
    return valueToClone.subarray();
  }
  if (isTypedArray(valueToClone)) {
    const result = new (Object.getPrototypeOf(valueToClone)).constructor(valueToClone.length);
    stack.set(valueToClone, result);
    for (let i2 = 0; i2 < valueToClone.length; i2++) {
      result[i2] = cloneDeepWithImpl(valueToClone[i2], i2, objectToClone, stack, cloneValue);
    }
    return result;
  }
  if (valueToClone instanceof ArrayBuffer || typeof SharedArrayBuffer !== "undefined" && valueToClone instanceof SharedArrayBuffer) {
    return valueToClone.slice(0);
  }
  if (valueToClone instanceof DataView) {
    const result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);
    stack.set(valueToClone, result);
    copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
    return result;
  }
  if (typeof File !== "undefined" && valueToClone instanceof File) {
    const result = new File([valueToClone], valueToClone.name, {
      type: valueToClone.type
    });
    stack.set(valueToClone, result);
    copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
    return result;
  }
  if (valueToClone instanceof Blob) {
    const result = new Blob([valueToClone], { type: valueToClone.type });
    stack.set(valueToClone, result);
    copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
    return result;
  }
  if (valueToClone instanceof Error) {
    const result = new valueToClone.constructor();
    stack.set(valueToClone, result);
    result.message = valueToClone.message;
    result.name = valueToClone.name;
    result.stack = valueToClone.stack;
    result.cause = valueToClone.cause;
    copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
    return result;
  }
  if (typeof valueToClone === "object" && isCloneableObject(valueToClone)) {
    const result = Object.create(Object.getPrototypeOf(valueToClone));
    stack.set(valueToClone, result);
    copyProperties(result, valueToClone, objectToClone, stack, cloneValue);
    return result;
  }
  return valueToClone;
}
__name(cloneDeepWithImpl, "cloneDeepWithImpl");
function copyProperties(target, source, objectToClone = target, stack, cloneValue) {
  const keys3 = [...Object.keys(source), ...getSymbols(source)];
  for (let i2 = 0; i2 < keys3.length; i2++) {
    const key = keys3[i2];
    const descriptor = Object.getOwnPropertyDescriptor(target, key);
    if (descriptor == null || descriptor.writable) {
      target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);
    }
  }
}
__name(copyProperties, "copyProperties");
function isCloneableObject(object) {
  switch (getTag(object)) {
    case argumentsTag:
    case arrayTag:
    case arrayBufferTag:
    case dataViewTag:
    case booleanTag:
    case dateTag:
    case float32ArrayTag:
    case float64ArrayTag:
    case int8ArrayTag:
    case int16ArrayTag:
    case int32ArrayTag:
    case mapTag:
    case numberTag:
    case objectTag:
    case regexpTag:
    case setTag:
    case stringTag:
    case symbolTag2:
    case uint8ArrayTag:
    case uint8ClampedArrayTag:
    case uint16ArrayTag:
    case uint32ArrayTag: {
      return true;
    }
    default: {
      return false;
    }
  }
}
__name(isCloneableObject, "isCloneableObject");

// ../node_modules/es-toolkit/dist/object/cloneDeep.mjs
function cloneDeep(obj) {
  return cloneDeepWithImpl(obj, void 0, obj, /* @__PURE__ */ new Map(), void 0);
}
__name(cloneDeep, "cloneDeep");

// ../node_modules/es-toolkit/dist/predicate/isPlainObject.mjs
function isPlainObject(value) {
  if (!value || typeof value !== "object") {
    return false;
  }
  const proto = Object.getPrototypeOf(value);
  const hasObjectPrototype = proto === null || proto === Object.prototype || Object.getPrototypeOf(proto) === null;
  if (!hasObjectPrototype) {
    return false;
  }
  return Object.prototype.toString.call(value) === "[object Object]";
}
__name(isPlainObject, "isPlainObject");

// ../node_modules/es-toolkit/dist/object/mapValues.mjs
function mapValues(object, getNewValue) {
  const result = {};
  const keys3 = Object.keys(object);
  for (let i2 = 0; i2 < keys3.length; i2++) {
    const key = keys3[i2];
    const value = object[key];
    result[key] = getNewValue(value, key, object);
  }
  return result;
}
__name(mapValues, "mapValues");

// ../node_modules/es-toolkit/dist/_internal/isUnsafeProperty.mjs
function isUnsafeProperty(key) {
  return key === "__proto__";
}
__name(isUnsafeProperty, "isUnsafeProperty");

// ../node_modules/es-toolkit/dist/object/merge.mjs
function merge2(target, source) {
  const sourceKeys = Object.keys(source);
  for (let i2 = 0; i2 < sourceKeys.length; i2++) {
    const key = sourceKeys[i2];
    if (isUnsafeProperty(key)) {
      continue;
    }
    const sourceValue = source[key];
    const targetValue = target[key];
    if (Array.isArray(sourceValue)) {
      if (Array.isArray(targetValue)) {
        target[key] = merge2(targetValue, sourceValue);
      } else {
        target[key] = merge2([], sourceValue);
      }
    } else if (isPlainObject(sourceValue)) {
      if (isPlainObject(targetValue)) {
        target[key] = merge2(targetValue, sourceValue);
      } else {
        target[key] = merge2({}, sourceValue);
      }
    } else if (targetValue === void 0 || sourceValue !== void 0) {
      target[key] = sourceValue;
    }
  }
  return target;
}
__name(merge2, "merge");

// ../node_modules/es-toolkit/dist/compat/predicate/isObjectLike.mjs
function isObjectLike2(value) {
  return typeof value === "object" && value !== null;
}
__name(isObjectLike2, "isObjectLike");

// ../node_modules/es-toolkit/dist/object/mergeWith.mjs
function mergeWith(target, source, merge3) {
  const sourceKeys = Object.keys(source);
  for (let i2 = 0; i2 < sourceKeys.length; i2++) {
    const key = sourceKeys[i2];
    if (isUnsafeProperty(key)) {
      continue;
    }
    const sourceValue = source[key];
    const targetValue = target[key];
    const merged = merge3(targetValue, sourceValue, key, target, source);
    if (merged !== void 0) {
      target[key] = merged;
    } else if (Array.isArray(sourceValue)) {
      target[key] = mergeWith(targetValue ?? [], sourceValue, merge3);
    } else if (isObjectLike2(targetValue) && isObjectLike2(sourceValue)) {
      target[key] = mergeWith(targetValue ?? {}, sourceValue, merge3);
    } else if (targetValue === void 0 || sourceValue !== void 0) {
      target[key] = sourceValue;
    }
  }
  return target;
}
__name(mergeWith, "mergeWith");

// ../node_modules/es-toolkit/dist/object/pick.mjs
function pick3(obj, keys3) {
  const result = {};
  for (let i2 = 0; i2 < keys3.length; i2++) {
    const key = keys3[i2];
    if (Object.hasOwn(obj, key)) {
      result[key] = obj[key];
    }
  }
  return result;
}
__name(pick3, "pick");

// ../node_modules/es-toolkit/dist/object/pickBy.mjs
function pickBy(obj, shouldPick) {
  const result = {};
  const keys3 = Object.keys(obj);
  for (let i2 = 0; i2 < keys3.length; i2++) {
    const key = keys3[i2];
    const value = obj[key];
    if (shouldPick(value, key)) {
      result[key] = value;
    }
  }
  return result;
}
__name(pickBy, "pickBy");

// ../node_modules/es-toolkit/dist/string/words.mjs
var CASE_SPLIT_PATTERN = new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+", "gu");

// ../node_modules/es-toolkit/dist/object/toMerged.mjs
function toMerged(target, source) {
  return merge2(cloneDeep(target), source);
}
__name(toMerged, "toMerged");

// src/preview-api/modules/store/StoryStore.ts
var import_memoizerific7 = __toESM(require_memoizerific(), 1);

// src/preview-api/modules/store/args.ts
init_client_logger();

// ../node_modules/es-toolkit/dist/compat/util/eq.mjs
function eq2(value, other) {
  return value === other || Number.isNaN(value) && Number.isNaN(other);
}
__name(eq2, "eq");

// ../node_modules/es-toolkit/dist/predicate/isEqualWith.mjs
function isEqualWith(a2, b, areValuesEqual) {
  return isEqualWithImpl(a2, b, void 0, void 0, void 0, void 0, areValuesEqual);
}
__name(isEqualWith, "isEqualWith");
function isEqualWithImpl(a2, b, property, aParent, bParent, stack, areValuesEqual) {
  const result = areValuesEqual(a2, b, property, aParent, bParent, stack);
  if (result !== void 0) {
    return result;
  }
  if (typeof a2 === typeof b) {
    switch (typeof a2) {
      case "bigint":
      case "string":
      case "boolean":
      case "symbol":
      case "undefined": {
        return a2 === b;
      }
      case "number": {
        return a2 === b || Object.is(a2, b);
      }
      case "function": {
        return a2 === b;
      }
      case "object": {
        return areObjectsEqual(a2, b, stack, areValuesEqual);
      }
    }
  }
  return areObjectsEqual(a2, b, stack, areValuesEqual);
}
__name(isEqualWithImpl, "isEqualWithImpl");
function areObjectsEqual(a2, b, stack, areValuesEqual) {
  if (Object.is(a2, b)) {
    return true;
  }
  let aTag = getTag(a2);
  let bTag = getTag(b);
  if (aTag === argumentsTag) {
    aTag = objectTag;
  }
  if (bTag === argumentsTag) {
    bTag = objectTag;
  }
  if (aTag !== bTag) {
    return false;
  }
  switch (aTag) {
    case stringTag:
      return a2.toString() === b.toString();
    case numberTag: {
      const x = a2.valueOf();
      const y = b.valueOf();
      return eq2(x, y);
    }
    case booleanTag:
    case dateTag:
    case symbolTag2:
      return Object.is(a2.valueOf(), b.valueOf());
    case regexpTag: {
      return a2.source === b.source && a2.flags === b.flags;
    }
    case functionTag: {
      return a2 === b;
    }
  }
  stack = stack ?? /* @__PURE__ */ new Map();
  const aStack = stack.get(a2);
  const bStack = stack.get(b);
  if (aStack != null && bStack != null) {
    return aStack === b;
  }
  stack.set(a2, b);
  stack.set(b, a2);
  try {
    switch (aTag) {
      case mapTag: {
        if (a2.size !== b.size) {
          return false;
        }
        for (const [key, value] of a2.entries()) {
          if (!b.has(key) || !isEqualWithImpl(value, b.get(key), key, a2, b, stack, areValuesEqual)) {
            return false;
          }
        }
        return true;
      }
      case setTag: {
        if (a2.size !== b.size) {
          return false;
        }
        const aValues = Array.from(a2.values());
        const bValues = Array.from(b.values());
        for (let i2 = 0; i2 < aValues.length; i2++) {
          const aValue = aValues[i2];
          const index4 = bValues.findIndex((bValue) => {
            return isEqualWithImpl(aValue, bValue, void 0, a2, b, stack, areValuesEqual);
          });
          if (index4 === -1) {
            return false;
          }
          bValues.splice(index4, 1);
        }
        return true;
      }
      case arrayTag:
      case uint8ArrayTag:
      case uint8ClampedArrayTag:
      case uint16ArrayTag:
      case uint32ArrayTag:
      case bigUint64ArrayTag:
      case int8ArrayTag:
      case int16ArrayTag:
      case int32ArrayTag:
      case bigInt64ArrayTag:
      case float32ArrayTag:
      case float64ArrayTag: {
        if (typeof Buffer !== "undefined" && Buffer.isBuffer(a2) !== Buffer.isBuffer(b)) {
          return false;
        }
        if (a2.length !== b.length) {
          return false;
        }
        for (let i2 = 0; i2 < a2.length; i2++) {
          if (!isEqualWithImpl(a2[i2], b[i2], i2, a2, b, stack, areValuesEqual)) {
            return false;
          }
        }
        return true;
      }
      case arrayBufferTag: {
        if (a2.byteLength !== b.byteLength) {
          return false;
        }
        return areObjectsEqual(new Uint8Array(a2), new Uint8Array(b), stack, areValuesEqual);
      }
      case dataViewTag: {
        if (a2.byteLength !== b.byteLength || a2.byteOffset !== b.byteOffset) {
          return false;
        }
        return areObjectsEqual(new Uint8Array(a2), new Uint8Array(b), stack, areValuesEqual);
      }
      case errorTag: {
        return a2.name === b.name && a2.message === b.message;
      }
      case objectTag: {
        const areEqualInstances = areObjectsEqual(a2.constructor, b.constructor, stack, areValuesEqual) || isPlainObject(a2) && isPlainObject(b);
        if (!areEqualInstances) {
          return false;
        }
        const aKeys = [...Object.keys(a2), ...getSymbols(a2)];
        const bKeys = [...Object.keys(b), ...getSymbols(b)];
        if (aKeys.length !== bKeys.length) {
          return false;
        }
        for (let i2 = 0; i2 < aKeys.length; i2++) {
          const propKey = aKeys[i2];
          const aProp = a2[propKey];
          if (!Object.hasOwn(b, propKey)) {
            return false;
          }
          const bProp = b[propKey];
          if (!isEqualWithImpl(aProp, bProp, propKey, a2, b, stack, areValuesEqual)) {
            return false;
          }
        }
        return true;
      }
      default: {
        return false;
      }
    }
  } finally {
    stack.delete(a2);
    stack.delete(b);
  }
}
__name(areObjectsEqual, "areObjectsEqual");

// ../node_modules/es-toolkit/dist/function/noop.mjs
function noop5() {
}
__name(noop5, "noop");

// ../node_modules/es-toolkit/dist/predicate/isEqual.mjs
function isEqual3(a2, b) {
  return isEqualWith(a2, b, noop5);
}
__name(isEqual3, "isEqual");

// src/preview-api/modules/store/args.ts
init_esm();
var INCOMPATIBLE = Symbol("incompatible");
var DEEPLY_EQUAL = Symbol("Deeply equal");

// src/preview-api/modules/store/GlobalsStore.ts
init_client_logger();

// src/preview-api/modules/store/StoryIndexStore.ts
var import_memoizerific6 = __toESM(require_memoizerific(), 1);
var getImportPathMap = (0, import_memoizerific6.default)(1)(
  (entries) => Object.values(entries).reduce(
    (acc, entry) => {
      acc[entry.importPath] = acc[entry.importPath] || entry;
      return acc;
    },
    {}
  )
);

// src/preview-api/modules/store/csf/normalizeStory.ts
init_client_logger();
init_esm();
var deprecatedStoryAnnotation = dedent`
CSF .story annotations deprecated; annotate story functions directly:
- StoryFn.story.name => StoryFn.storyName
- StoryFn.story.(parameters|decorators) => StoryFn.(parameters|decorators)
See https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#hoisted-csf-annotations for details and codemod.
`;

// src/preview-api/modules/store/csf/processCSFFile.ts
init_client_logger();

// src/preview-api/modules/store/csf/prepareStory.ts
init_dist();
init_dist();

// src/preview-api/modules/store/parameters.ts
var combineParameters = /* @__PURE__ */ __name((...parameterSets) => {
  const mergeKeys = {};
  const definedParametersSets = parameterSets.filter(Boolean);
  const combined = definedParametersSets.reduce((acc, parameters2) => {
    Object.entries(parameters2).forEach(([key, value]) => {
      const existing = acc[key];
      if (Array.isArray(value) || typeof existing === "undefined") {
        acc[key] = value;
      } else if (isPlainObject(value) && isPlainObject(existing)) {
        mergeKeys[key] = true;
      } else if (typeof value !== "undefined") {
        acc[key] = value;
      }
    });
    return acc;
  }, {});
  Object.keys(mergeKeys).forEach((key) => {
    const mergeValues = definedParametersSets.filter(Boolean).map((p2) => p2[key]).filter((value) => typeof value !== "undefined");
    if (mergeValues.every((value) => isPlainObject(value))) {
      combined[key] = combineParameters(...mergeValues);
    } else {
      combined[key] = mergeValues[mergeValues.length - 1];
    }
  });
  return combined;
}, "combineParameters");

// src/preview-api/modules/store/inferArgTypes.ts
init_client_logger();
init_esm();
var inferType = /* @__PURE__ */ __name((value, name, visited) => {
  const type5 = typeof value;
  switch (type5) {
    case "boolean":
    case "string":
    case "number":
    case "function":
    case "symbol":
      return { name: type5 };
    default:
      break;
  }
  if (value) {
    if (visited.has(value)) {
      logger.warn(dedent`
        We've detected a cycle in arg '${name}'. Args should be JSON-serializable.

        Consider using the mapping feature or fully custom args:
        - Mapping: https://storybook.js.org/docs/writing-stories/args#mapping-to-complex-arg-values
        - Custom args: https://storybook.js.org/docs/essentials/controls#fully-custom-args
      `);
      return { name: "other", value: "cyclic object" };
    }
    visited.add(value);
    if (Array.isArray(value)) {
      const childType = value.length > 0 ? inferType(value[0], name, new Set(visited)) : { name: "other", value: "unknown" };
      return { name: "array", value: childType };
    }
    const fieldTypes = mapValues(value, (field) => inferType(field, name, new Set(visited)));
    return { name: "object", value: fieldTypes };
  }
  return { name: "object", value: {} };
}, "inferType");
var inferArgTypes = /* @__PURE__ */ __name((context) => {
  const { id, argTypes: userArgTypes = {}, initialArgs = {} } = context;
  const argTypes = mapValues(initialArgs, (arg, key) => ({
    name: key,
    type: inferType(arg, `${id}.${key}`, /* @__PURE__ */ new Set())
  }));
  const userArgTypesNames = mapValues(userArgTypes, (argType, key) => ({
    name: key
  }));
  return combineParameters(argTypes, userArgTypesNames, userArgTypes);
}, "inferArgTypes");
inferArgTypes.secondPass = true;

// src/preview-api/modules/store/inferControls.ts
init_client_logger();

// src/preview-api/modules/store/filterArgTypes.ts
var matches = /* @__PURE__ */ __name((name, descriptor) => Array.isArray(descriptor) ? descriptor.includes(name) : name.match(descriptor), "matches");
var filterArgTypes = /* @__PURE__ */ __name((argTypes, include2, exclude) => {
  if (!include2 && !exclude) {
    return argTypes;
  }
  return argTypes && pickBy(argTypes, (argType, key) => {
    const name = argType.name || key.toString();
    return !!(!include2 || matches(name, include2)) && (!exclude || !matches(name, exclude));
  });
}, "filterArgTypes");

// src/preview-api/modules/store/inferControls.ts
var inferControl = /* @__PURE__ */ __name((argType, name, matchers) => {
  const { type: type5, options } = argType;
  if (!type5) {
    return void 0;
  }
  if (matchers.color && matchers.color.test(name)) {
    const controlType = type5.name;
    if (controlType === "string") {
      return { control: { type: "color" } };
    }
    if (controlType !== "enum") {
      logger.warn(
        `Addon controls: Control of type color only supports string, received "${controlType}" instead`
      );
    }
  }
  if (matchers.date && matchers.date.test(name)) {
    return { control: { type: "date" } };
  }
  switch (type5.name) {
    case "array":
      return { control: { type: "object" } };
    case "boolean":
      return { control: { type: "boolean" } };
    case "string":
      return { control: { type: "text" } };
    case "number":
      return { control: { type: "number" } };
    case "enum": {
      const { value } = type5;
      return { control: { type: value?.length <= 5 ? "radio" : "select" }, options: value };
    }
    case "function":
    case "symbol":
      return null;
    default:
      return { control: { type: options ? "select" : "object" } };
  }
}, "inferControl");
var inferControls = /* @__PURE__ */ __name((context) => {
  const {
    argTypes,
    parameters: { __isArgsStory, controls: { include: include2 = null, exclude = null, matchers = {} } = {} }
  } = context;
  if (!__isArgsStory) {
    return argTypes;
  }
  const filteredArgTypes = filterArgTypes(argTypes, include2, exclude);
  const withControls = mapValues(filteredArgTypes, (argType, name) => {
    return argType?.type && inferControl(argType, name.toString(), matchers);
  });
  return combineParameters(withControls, filteredArgTypes);
}, "inferControls");
inferControls.secondPass = true;

// src/preview-api/modules/store/csf/composeConfigs.ts
init_dist();

// src/preview-api/modules/store/csf/portable-stories.ts
init_esm();

// src/preview-api/modules/store/autoTitle.ts
init_client_logger();
init_esm();

// src/preview-api/modules/store/sortStories.ts
init_esm();

// src/preview-api/modules/preview-web/Preview.tsx
init_client_logger();
init_dist();

// src/preview-api/modules/preview-web/render/Render.ts
var PREPARE_ABORTED = new Error("prepareAborted");

// src/preview-api/modules/preview-web/render/StoryRender.ts
var { AbortController: AbortController2 } = globalThis;

// src/preview-api/modules/preview-web/Preview.tsx
var { fetch } = scope;

// src/preview-api/modules/preview-web/PreviewWeb.tsx
init_dist();

// src/preview-api/modules/preview-web/PreviewWithSelection.tsx
init_client_logger();

// src/preview-api/modules/preview-web/docs-context/DocsContext.ts
init_esm();

// src/preview-api/modules/preview-web/UrlStore.ts
init_dist();
var import_picoquery2 = __toESM(require_main(), 1);

// src/preview-api/modules/preview-web/parseArgsParam.ts
init_client_logger();
var import_picoquery = __toESM(require_main(), 1);
init_esm();

// src/preview-api/modules/preview-web/UrlStore.ts
var { history, document: document6 } = scope;

// src/preview-api/modules/preview-web/WebView.ts
init_client_logger();
init_dist();
var import_ansi_to_html = __toESM(require_ansi_to_html(), 1);
var import_picoquery3 = __toESM(require_main(), 1);
init_esm();
var { document: document7 } = scope;
var ansiConverter = new import_ansi_to_html.default({
  escapeXML: true
});

// src/preview-api/modules/preview-web/simulate-pageload.ts
init_dist();
var { document: document8 } = scope;

// ../node_modules/comment-parser/es6/primitives.js
var Markers;
(function(Markers2) {
  Markers2["start"] = "/**";
  Markers2["nostart"] = "/***";
  Markers2["delim"] = "*";
  Markers2["end"] = "*/";
})(Markers = Markers || (Markers = {}));

// ../node_modules/comment-parser/es6/stringifier/index.js
function join(tokens) {
  return tokens.start + tokens.delimiter + tokens.postDelimiter + tokens.tag + tokens.postTag + tokens.type + tokens.postType + tokens.name + tokens.postName + tokens.description + tokens.end + tokens.lineEnd;
}
__name(join, "join");
function getStringifier() {
  return (block) => block.source.map(({ tokens }) => join(tokens)).join("\n");
}
__name(getStringifier, "getStringifier");

// ../node_modules/comment-parser/es6/stringifier/inspect.js
var zeroWidth = {
  line: 0,
  start: 0,
  delimiter: 0,
  postDelimiter: 0,
  tag: 0,
  postTag: 0,
  name: 0,
  postName: 0,
  type: 0,
  postType: 0,
  description: 0,
  end: 0,
  lineEnd: 0
};
var fields = Object.keys(zeroWidth);

// ../node_modules/comment-parser/es6/index.js
var stringify4 = getStringifier();

// src/docs-tools/argTypes/jsdocParser.ts
var import_jsdoc_type_pratt_parser = __toESM(require_dist(), 1);
var jsdocStringifyRules = (0, import_jsdoc_type_pratt_parser.stringifyRules)();
var originalJsdocStringifyObject = jsdocStringifyRules.JsdocTypeObject;
jsdocStringifyRules.JsdocTypeAny = () => "any";
jsdocStringifyRules.JsdocTypeObject = (result, transform) => `(${originalJsdocStringifyObject(result, transform)})`;
jsdocStringifyRules.JsdocTypeOptional = (result, transform) => transform(result.element);
jsdocStringifyRules.JsdocTypeNullable = (result, transform) => transform(result.element);
jsdocStringifyRules.JsdocTypeNotNullable = (result, transform) => transform(result.element);
jsdocStringifyRules.JsdocTypeUnion = (result, transform) => result.elements.map(transform).join("|");

// src/docs-tools/shared.ts
var ADDON_ID = "storybook/docs";
var PANEL_ID = `${ADDON_ID}/panel`;
var SNIPPET_RENDERED = `${ADDON_ID}/snippet-rendered`;

// src/actions/runtime/action.ts
init_dist();

// src/actions/constants.ts
var ADDON_ID2 = "storybook/actions";
var PANEL_ID2 = `${ADDON_ID2}/panel`;
var EVENT_ID = `${ADDON_ID2}/action-event`;
var CLEAR_ID = `${ADDON_ID2}/action-clear`;

// src/test/index.ts
var test_exports = {};
__export(test_exports, {
  buildQueries: () => buildQueries2,
  clearAllMocks: () => clearAllMocks,
  configure: () => configure2,
  createEvent: () => createEvent3,
  expect: () => expect3,
  findAllByAltText: () => findAllByAltText2,
  findAllByDisplayValue: () => findAllByDisplayValue2,
  findAllByLabelText: () => findAllByLabelText2,
  findAllByPlaceholderText: () => findAllByPlaceholderText2,
  findAllByRole: () => findAllByRole2,
  findAllByTestId: () => findAllByTestId2,
  findAllByText: () => findAllByText2,
  findAllByTitle: () => findAllByTitle2,
  findByAltText: () => findByAltText2,
  findByDisplayValue: () => findByDisplayValue2,
  findByLabelText: () => findByLabelText2,
  findByPlaceholderText: () => findByPlaceholderText2,
  findByRole: () => findByRole2,
  findByTestId: () => findByTestId2,
  findByText: () => findByText2,
  findByTitle: () => findByTitle2,
  fireEvent: () => fireEvent2,
  fn: () => fn3,
  getAllByAltText: () => getAllByAltText2,
  getAllByDisplayValue: () => getAllByDisplayValue2,
  getAllByLabelText: () => getAllByLabelText2,
  getAllByPlaceholderText: () => getAllByPlaceholderText2,
  getAllByRole: () => getAllByRole2,
  getAllByTestId: () => getAllByTestId2,
  getAllByText: () => getAllByText2,
  getAllByTitle: () => getAllByTitle2,
  getByAltText: () => getByAltText2,
  getByDisplayValue: () => getByDisplayValue2,
  getByLabelText: () => getByLabelText2,
  getByPlaceholderText: () => getByPlaceholderText2,
  getByRole: () => getByRole2,
  getByTestId: () => getByTestId2,
  getByText: () => getByText2,
  getByTitle: () => getByTitle2,
  getConfig: () => getConfig3,
  getDefaultNormalizer: () => getDefaultNormalizer2,
  getElementError: () => getElementError2,
  getNodeText: () => getNodeText2,
  getQueriesForElement: () => getQueriesForElement2,
  getRoles: () => getRoles2,
  getSuggestedQuery: () => getSuggestedQuery2,
  isInaccessible: () => isInaccessible2,
  isMockFunction: () => isMockFunction2,
  logDOM: () => logDOM2,
  logRoles: () => logRoles2,
  mocked: () => mocked,
  mocks: () => mocks,
  onMockCall: () => onMockCall,
  prettyDOM: () => prettyDOM2,
  prettyFormat: () => prettyFormat2,
  queries: () => queries2,
  queryAllByAltText: () => queryAllByAltText2,
  queryAllByAttribute: () => queryAllByAttribute2,
  queryAllByDisplayValue: () => queryAllByDisplayValue2,
  queryAllByLabelText: () => queryAllByLabelText2,
  queryAllByPlaceholderText: () => queryAllByPlaceholderText2,
  queryAllByRole: () => queryAllByRole2,
  queryAllByTestId: () => queryAllByTestId2,
  queryAllByText: () => queryAllByText2,
  queryAllByTitle: () => queryAllByTitle2,
  queryByAltText: () => queryByAltText2,
  queryByAttribute: () => queryByAttribute2,
  queryByDisplayValue: () => queryByDisplayValue2,
  queryByLabelText: () => queryByLabelText2,
  queryByPlaceholderText: () => queryByPlaceholderText2,
  queryByRole: () => queryByRole2,
  queryByTestId: () => queryByTestId2,
  queryByText: () => queryByText2,
  queryByTitle: () => queryByTitle2,
  queryHelpers: () => queryHelpers2,
  resetAllMocks: () => resetAllMocks,
  restoreAllMocks: () => restoreAllMocks,
  sb: () => sb,
  screen: () => screen2,
  spyOn: () => spyOn2,
  uninstrumentedUserEvent: () => uninstrumentedUserEvent,
  userEvent: () => userEvent2,
  waitFor: () => waitFor2,
  waitForElementToBeRemoved: () => waitForElementToBeRemoved2,
  within: () => within2
});

// src/instrumenter/instrumenter.ts
init_client_logger();
init_dist();

// ../node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js
var f = {
  reset: [0, 0],
  bold: [1, 22, "\x1B[22m\x1B[1m"],
  dim: [2, 22, "\x1B[22m\x1B[2m"],
  italic: [3, 23],
  underline: [4, 24],
  inverse: [7, 27],
  hidden: [8, 28],
  strikethrough: [9, 29],
  black: [30, 39],
  red: [31, 39],
  green: [32, 39],
  yellow: [33, 39],
  blue: [34, 39],
  magenta: [35, 39],
  cyan: [36, 39],
  white: [37, 39],
  gray: [90, 39],
  bgBlack: [40, 49],
  bgRed: [41, 49],
  bgGreen: [42, 49],
  bgYellow: [43, 49],
  bgBlue: [44, 49],
  bgMagenta: [45, 49],
  bgCyan: [46, 49],
  bgWhite: [47, 49],
  blackBright: [90, 39],
  redBright: [91, 39],
  greenBright: [92, 39],
  yellowBright: [93, 39],
  blueBright: [94, 39],
  magentaBright: [95, 39],
  cyanBright: [96, 39],
  whiteBright: [97, 39],
  bgBlackBright: [100, 49],
  bgRedBright: [101, 49],
  bgGreenBright: [102, 49],
  bgYellowBright: [103, 49],
  bgBlueBright: [104, 49],
  bgMagentaBright: [105, 49],
  bgCyanBright: [106, 49],
  bgWhiteBright: [107, 49]
};
var h = Object.entries(f);
function a(n2) {
  return String(n2);
}
__name(a, "a");
a.open = "";
a.close = "";
var B = h.reduce(
  (n2, [e2]) => (n2[e2] = a, n2),
  { isColorSupported: false }
);
function C(n2 = false) {
  let e2 = typeof process != "undefined" ? process : void 0, i2 = (e2 == null ? void 0 : e2.env) || {}, g2 = (e2 == null ? void 0 : e2.argv) || [];
  return !("NO_COLOR" in i2 || g2.includes("--no-color")) && ("FORCE_COLOR" in i2 || g2.includes("--color") || (e2 == null ? void 0 : e2.platform) === "win32" || n2 && i2.TERM !== "dumb" || "CI" in i2) || typeof window != "undefined" && !!window.chrome;
}
__name(C, "C");
function p(n2 = false) {
  let e2 = C(n2), i2 = /* @__PURE__ */ __name((r2, t2, c2, o2) => {
    let l = "", s3 = 0;
    do
      l += r2.substring(s3, o2) + c2, s3 = o2 + t2.length, o2 = r2.indexOf(t2, s3);
    while (~o2);
    return l + r2.substring(s3);
  }, "i"), g2 = /* @__PURE__ */ __name((r2, t2, c2 = r2) => {
    let o2 = /* @__PURE__ */ __name((l) => {
      let s3 = String(l), b = s3.indexOf(t2, r2.length);
      return ~b ? r2 + i2(s3, t2, c2, b) + t2 : r2 + s3 + t2;
    }, "o");
    return o2.open = r2, o2.close = t2, o2;
  }, "g"), u2 = {
    isColorSupported: e2
  }, d = /* @__PURE__ */ __name((r2) => `\x1B[${r2}m`, "d");
  for (let [r2, t2] of h)
    u2[r2] = e2 ? g2(
      d(t2[0]),
      d(t2[1]),
      t2[2]
    ) : a;
  return u2;
}
__name(p, "p");

// ../node_modules/tinyrainbow/dist/browser.js
var s = p();

// ../node_modules/@vitest/pretty-format/dist/index.js
function _mergeNamespaces(n2, m3) {
  m3.forEach(function(e2) {
    e2 && typeof e2 !== "string" && !Array.isArray(e2) && Object.keys(e2).forEach(function(k) {
      if (k !== "default" && !(k in n2)) {
        var d = Object.getOwnPropertyDescriptor(e2, k);
        Object.defineProperty(n2, k, d.get ? d : {
          enumerable: true,
          get: /* @__PURE__ */ __name(function() {
            return e2[k];
          }, "get")
        });
      }
    });
  });
  return Object.freeze(n2);
}
__name(_mergeNamespaces, "_mergeNamespaces");
function getKeysOfEnumerableProperties(object, compareKeys) {
  const rawKeys = Object.keys(object);
  const keys3 = compareKeys === null ? rawKeys : rawKeys.sort(compareKeys);
  if (Object.getOwnPropertySymbols) {
    for (const symbol of Object.getOwnPropertySymbols(object)) {
      if (Object.getOwnPropertyDescriptor(object, symbol).enumerable) {
        keys3.push(symbol);
      }
    }
  }
  return keys3;
}
__name(getKeysOfEnumerableProperties, "getKeysOfEnumerableProperties");
function printIteratorEntries(iterator, config4, indentation, depth, refs, printer2, separator = ": ") {
  let result = "";
  let width = 0;
  let current = iterator.next();
  if (!current.done) {
    result += config4.spacingOuter;
    const indentationNext = indentation + config4.indent;
    while (!current.done) {
      result += indentationNext;
      if (width++ === config4.maxWidth) {
        result += "\u2026";
        break;
      }
      const name = printer2(current.value[0], config4, indentationNext, depth, refs);
      const value = printer2(current.value[1], config4, indentationNext, depth, refs);
      result += name + separator + value;
      current = iterator.next();
      if (!current.done) {
        result += `,${config4.spacingInner}`;
      } else if (!config4.min) {
        result += ",";
      }
    }
    result += config4.spacingOuter + indentation;
  }
  return result;
}
__name(printIteratorEntries, "printIteratorEntries");
function printIteratorValues(iterator, config4, indentation, depth, refs, printer2) {
  let result = "";
  let width = 0;
  let current = iterator.next();
  if (!current.done) {
    result += config4.spacingOuter;
    const indentationNext = indentation + config4.indent;
    while (!current.done) {
      result += indentationNext;
      if (width++ === config4.maxWidth) {
        result += "\u2026";
        break;
      }
      result += printer2(current.value, config4, indentationNext, depth, refs);
      current = iterator.next();
      if (!current.done) {
        result += `,${config4.spacingInner}`;
      } else if (!config4.min) {
        result += ",";
      }
    }
    result += config4.spacingOuter + indentation;
  }
  return result;
}
__name(printIteratorValues, "printIteratorValues");
function printListItems(list, config4, indentation, depth, refs, printer2) {
  let result = "";
  list = list instanceof ArrayBuffer ? new DataView(list) : list;
  const isDataView = /* @__PURE__ */ __name((l) => l instanceof DataView, "isDataView");
  const length2 = isDataView(list) ? list.byteLength : list.length;
  if (length2 > 0) {
    result += config4.spacingOuter;
    const indentationNext = indentation + config4.indent;
    for (let i2 = 0; i2 < length2; i2++) {
      result += indentationNext;
      if (i2 === config4.maxWidth) {
        result += "\u2026";
        break;
      }
      if (isDataView(list) || i2 in list) {
        result += printer2(isDataView(list) ? list.getInt8(i2) : list[i2], config4, indentationNext, depth, refs);
      }
      if (i2 < length2 - 1) {
        result += `,${config4.spacingInner}`;
      } else if (!config4.min) {
        result += ",";
      }
    }
    result += config4.spacingOuter + indentation;
  }
  return result;
}
__name(printListItems, "printListItems");
function printObjectProperties(val, config4, indentation, depth, refs, printer2) {
  let result = "";
  const keys3 = getKeysOfEnumerableProperties(val, config4.compareKeys);
  if (keys3.length > 0) {
    result += config4.spacingOuter;
    const indentationNext = indentation + config4.indent;
    for (let i2 = 0; i2 < keys3.length; i2++) {
      const key = keys3[i2];
      const name = printer2(key, config4, indentationNext, depth, refs);
      const value = printer2(val[key], config4, indentationNext, depth, refs);
      result += `${indentationNext + name}: ${value}`;
      if (i2 < keys3.length - 1) {
        result += `,${config4.spacingInner}`;
      } else if (!config4.min) {
        result += ",";
      }
    }
    result += config4.spacingOuter + indentation;
  }
  return result;
}
__name(printObjectProperties, "printObjectProperties");
var asymmetricMatcher = typeof Symbol === "function" && Symbol.for ? Symbol.for("jest.asymmetricMatcher") : 1267621;
var SPACE$2 = " ";
var serialize$5 = /* @__PURE__ */ __name((val, config4, indentation, depth, refs, printer2) => {
  const stringedValue = val.toString();
  if (stringedValue === "ArrayContaining" || stringedValue === "ArrayNotContaining") {
    if (++depth > config4.maxDepth) {
      return `[${stringedValue}]`;
    }
    return `${stringedValue + SPACE$2}[${printListItems(val.sample, config4, indentation, depth, refs, printer2)}]`;
  }
  if (stringedValue === "ObjectContaining" || stringedValue === "ObjectNotContaining") {
    if (++depth > config4.maxDepth) {
      return `[${stringedValue}]`;
    }
    return `${stringedValue + SPACE$2}{${printObjectProperties(val.sample, config4, indentation, depth, refs, printer2)}}`;
  }
  if (stringedValue === "StringMatching" || stringedValue === "StringNotMatching") {
    return stringedValue + SPACE$2 + printer2(val.sample, config4, indentation, depth, refs);
  }
  if (stringedValue === "StringContaining" || stringedValue === "StringNotContaining") {
    return stringedValue + SPACE$2 + printer2(val.sample, config4, indentation, depth, refs);
  }
  if (typeof val.toAsymmetricMatcher !== "function") {
    throw new TypeError(`Asymmetric matcher ${val.constructor.name} does not implement toAsymmetricMatcher()`);
  }
  return val.toAsymmetricMatcher();
}, "serialize$5");
var test$5 = /* @__PURE__ */ __name((val) => val && val.$$typeof === asymmetricMatcher, "test$5");
var plugin$5 = {
  serialize: serialize$5,
  test: test$5
};
var SPACE$1 = " ";
var OBJECT_NAMES = /* @__PURE__ */ new Set(["DOMStringMap", "NamedNodeMap"]);
var ARRAY_REGEXP = /^(?:HTML\w*Collection|NodeList)$/;
function testName(name) {
  return OBJECT_NAMES.has(name) || ARRAY_REGEXP.test(name);
}
__name(testName, "testName");
var test$4 = /* @__PURE__ */ __name((val) => val && val.constructor && !!val.constructor.name && testName(val.constructor.name), "test$4");
function isNamedNodeMap(collection) {
  return collection.constructor.name === "NamedNodeMap";
}
__name(isNamedNodeMap, "isNamedNodeMap");
var serialize$4 = /* @__PURE__ */ __name((collection, config4, indentation, depth, refs, printer2) => {
  const name = collection.constructor.name;
  if (++depth > config4.maxDepth) {
    return `[${name}]`;
  }
  return (config4.min ? "" : name + SPACE$1) + (OBJECT_NAMES.has(name) ? `{${printObjectProperties(isNamedNodeMap(collection) ? [...collection].reduce((props, attribute) => {
    props[attribute.name] = attribute.value;
    return props;
  }, {}) : { ...collection }, config4, indentation, depth, refs, printer2)}}` : `[${printListItems([...collection], config4, indentation, depth, refs, printer2)}]`);
}, "serialize$4");
var plugin$4 = {
  serialize: serialize$4,
  test: test$4
};
function escapeHTML(str2) {
  return str2.replaceAll("<", "&lt;").replaceAll(">", "&gt;");
}
__name(escapeHTML, "escapeHTML");
function printProps(keys3, props, config4, indentation, depth, refs, printer2) {
  const indentationNext = indentation + config4.indent;
  const colors3 = config4.colors;
  return keys3.map((key) => {
    const value = props[key];
    let printed = printer2(value, config4, indentationNext, depth, refs);
    if (typeof value !== "string") {
      if (printed.includes("\n")) {
        printed = config4.spacingOuter + indentationNext + printed + config4.spacingOuter + indentation;
      }
      printed = `{${printed}}`;
    }
    return `${config4.spacingInner + indentation + colors3.prop.open + key + colors3.prop.close}=${colors3.value.open}${printed}${colors3.value.close}`;
  }).join("");
}
__name(printProps, "printProps");
function printChildren(children, config4, indentation, depth, refs, printer2) {
  return children.map((child) => config4.spacingOuter + indentation + (typeof child === "string" ? printText(child, config4) : printer2(child, config4, indentation, depth, refs))).join("");
}
__name(printChildren, "printChildren");
function printText(text, config4) {
  const contentColor = config4.colors.content;
  return contentColor.open + escapeHTML(text) + contentColor.close;
}
__name(printText, "printText");
function printComment(comment2, config4) {
  const commentColor = config4.colors.comment;
  return `${commentColor.open}<!--${escapeHTML(comment2)}-->${commentColor.close}`;
}
__name(printComment, "printComment");
function printElement(type5, printedProps, printedChildren, config4, indentation) {
  const tagColor = config4.colors.tag;
  return `${tagColor.open}<${type5}${printedProps && tagColor.close + printedProps + config4.spacingOuter + indentation + tagColor.open}${printedChildren ? `>${tagColor.close}${printedChildren}${config4.spacingOuter}${indentation}${tagColor.open}</${type5}` : `${printedProps && !config4.min ? "" : " "}/`}>${tagColor.close}`;
}
__name(printElement, "printElement");
function printElementAsLeaf(type5, config4) {
  const tagColor = config4.colors.tag;
  return `${tagColor.open}<${type5}${tagColor.close} \u2026${tagColor.open} />${tagColor.close}`;
}
__name(printElementAsLeaf, "printElementAsLeaf");
var ELEMENT_NODE = 1;
var TEXT_NODE = 3;
var COMMENT_NODE = 8;
var FRAGMENT_NODE = 11;
var ELEMENT_REGEXP = /^(?:(?:HTML|SVG)\w*)?Element$/;
function testHasAttribute(val) {
  try {
    return typeof val.hasAttribute === "function" && val.hasAttribute("is");
  } catch {
    return false;
  }
}
__name(testHasAttribute, "testHasAttribute");
function testNode(val) {
  const constructorName = val.constructor.name;
  const { nodeType, tagName } = val;
  const isCustomElement3 = typeof tagName === "string" && tagName.includes("-") || testHasAttribute(val);
  return nodeType === ELEMENT_NODE && (ELEMENT_REGEXP.test(constructorName) || isCustomElement3) || nodeType === TEXT_NODE && constructorName === "Text" || nodeType === COMMENT_NODE && constructorName === "Comment" || nodeType === FRAGMENT_NODE && constructorName === "DocumentFragment";
}
__name(testNode, "testNode");
var test$3 = /* @__PURE__ */ __name((val) => {
  var _val$constructor;
  return (val === null || val === void 0 || (_val$constructor = val.constructor) === null || _val$constructor === void 0 ? void 0 : _val$constructor.name) && testNode(val);
}, "test$3");
function nodeIsText(node2) {
  return node2.nodeType === TEXT_NODE;
}
__name(nodeIsText, "nodeIsText");
function nodeIsComment(node2) {
  return node2.nodeType === COMMENT_NODE;
}
__name(nodeIsComment, "nodeIsComment");
function nodeIsFragment(node2) {
  return node2.nodeType === FRAGMENT_NODE;
}
__name(nodeIsFragment, "nodeIsFragment");
var serialize$3 = /* @__PURE__ */ __name((node2, config4, indentation, depth, refs, printer2) => {
  if (nodeIsText(node2)) {
    return printText(node2.data, config4);
  }
  if (nodeIsComment(node2)) {
    return printComment(node2.data, config4);
  }
  const type5 = nodeIsFragment(node2) ? "DocumentFragment" : node2.tagName.toLowerCase();
  if (++depth > config4.maxDepth) {
    return printElementAsLeaf(type5, config4);
  }
  return printElement(type5, printProps(nodeIsFragment(node2) ? [] : Array.from(node2.attributes, (attr) => attr.name).sort(), nodeIsFragment(node2) ? {} : [...node2.attributes].reduce((props, attribute) => {
    props[attribute.name] = attribute.value;
    return props;
  }, {}), config4, indentation + config4.indent, depth, refs, printer2), printChildren(Array.prototype.slice.call(node2.childNodes || node2.children), config4, indentation + config4.indent, depth, refs, printer2), config4, indentation);
}, "serialize$3");
var plugin$3 = {
  serialize: serialize$3,
  test: test$3
};
var IS_ITERABLE_SENTINEL = "@@__IMMUTABLE_ITERABLE__@@";
var IS_LIST_SENTINEL = "@@__IMMUTABLE_LIST__@@";
var IS_KEYED_SENTINEL = "@@__IMMUTABLE_KEYED__@@";
var IS_MAP_SENTINEL = "@@__IMMUTABLE_MAP__@@";
var IS_ORDERED_SENTINEL = "@@__IMMUTABLE_ORDERED__@@";
var IS_RECORD_SENTINEL = "@@__IMMUTABLE_RECORD__@@";
var IS_SEQ_SENTINEL = "@@__IMMUTABLE_SEQ__@@";
var IS_SET_SENTINEL = "@@__IMMUTABLE_SET__@@";
var IS_STACK_SENTINEL = "@@__IMMUTABLE_STACK__@@";
var getImmutableName = /* @__PURE__ */ __name((name) => `Immutable.${name}`, "getImmutableName");
var printAsLeaf = /* @__PURE__ */ __name((name) => `[${name}]`, "printAsLeaf");
var SPACE = " ";
var LAZY = "\u2026";
function printImmutableEntries(val, config4, indentation, depth, refs, printer2, type5) {
  return ++depth > config4.maxDepth ? printAsLeaf(getImmutableName(type5)) : `${getImmutableName(type5) + SPACE}{${printIteratorEntries(val.entries(), config4, indentation, depth, refs, printer2)}}`;
}
__name(printImmutableEntries, "printImmutableEntries");
function getRecordEntries(val) {
  let i2 = 0;
  return { next() {
    if (i2 < val._keys.length) {
      const key = val._keys[i2++];
      return {
        done: false,
        value: [key, val.get(key)]
      };
    }
    return {
      done: true,
      value: void 0
    };
  } };
}
__name(getRecordEntries, "getRecordEntries");
function printImmutableRecord(val, config4, indentation, depth, refs, printer2) {
  const name = getImmutableName(val._name || "Record");
  return ++depth > config4.maxDepth ? printAsLeaf(name) : `${name + SPACE}{${printIteratorEntries(getRecordEntries(val), config4, indentation, depth, refs, printer2)}}`;
}
__name(printImmutableRecord, "printImmutableRecord");
function printImmutableSeq(val, config4, indentation, depth, refs, printer2) {
  const name = getImmutableName("Seq");
  if (++depth > config4.maxDepth) {
    return printAsLeaf(name);
  }
  if (val[IS_KEYED_SENTINEL]) {
    return `${name + SPACE}{${val._iter || val._object ? printIteratorEntries(val.entries(), config4, indentation, depth, refs, printer2) : LAZY}}`;
  }
  return `${name + SPACE}[${val._iter || val._array || val._collection || val._iterable ? printIteratorValues(val.values(), config4, indentation, depth, refs, printer2) : LAZY}]`;
}
__name(printImmutableSeq, "printImmutableSeq");
function printImmutableValues(val, config4, indentation, depth, refs, printer2, type5) {
  return ++depth > config4.maxDepth ? printAsLeaf(getImmutableName(type5)) : `${getImmutableName(type5) + SPACE}[${printIteratorValues(val.values(), config4, indentation, depth, refs, printer2)}]`;
}
__name(printImmutableValues, "printImmutableValues");
var serialize$2 = /* @__PURE__ */ __name((val, config4, indentation, depth, refs, printer2) => {
  if (val[IS_MAP_SENTINEL]) {
    return printImmutableEntries(val, config4, indentation, depth, refs, printer2, val[IS_ORDERED_SENTINEL] ? "OrderedMap" : "Map");
  }
  if (val[IS_LIST_SENTINEL]) {
    return printImmutableValues(val, config4, indentation, depth, refs, printer2, "List");
  }
  if (val[IS_SET_SENTINEL]) {
    return printImmutableValues(val, config4, indentation, depth, refs, printer2, val[IS_ORDERED_SENTINEL] ? "OrderedSet" : "Set");
  }
  if (val[IS_STACK_SENTINEL]) {
    return printImmutableValues(val, config4, indentation, depth, refs, printer2, "Stack");
  }
  if (val[IS_SEQ_SENTINEL]) {
    return printImmutableSeq(val, config4, indentation, depth, refs, printer2);
  }
  return printImmutableRecord(val, config4, indentation, depth, refs, printer2);
}, "serialize$2");
var test$2 = /* @__PURE__ */ __name((val) => val && (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true), "test$2");
var plugin$2 = {
  serialize: serialize$2,
  test: test$2
};
function getDefaultExportFromCjs(x) {
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
}
__name(getDefaultExportFromCjs, "getDefaultExportFromCjs");
var reactIs$1 = { exports: {} };
var reactIs_production = {};
var hasRequiredReactIs_production;
function requireReactIs_production() {
  if (hasRequiredReactIs_production) return reactIs_production;
  hasRequiredReactIs_production = 1;
  var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler");
  var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_VIEW_TRANSITION_TYPE = Symbol.for("react.view_transition"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference");
  function typeOf(object) {
    if ("object" === typeof object && null !== object) {
      var $$typeof = object.$$typeof;
      switch ($$typeof) {
        case REACT_ELEMENT_TYPE:
          switch (object = object.type, object) {
            case REACT_FRAGMENT_TYPE:
            case REACT_PROFILER_TYPE:
            case REACT_STRICT_MODE_TYPE:
            case REACT_SUSPENSE_TYPE:
            case REACT_SUSPENSE_LIST_TYPE:
            case REACT_VIEW_TRANSITION_TYPE:
              return object;
            default:
              switch (object = object && object.$$typeof, object) {
                case REACT_CONTEXT_TYPE:
                case REACT_FORWARD_REF_TYPE:
                case REACT_LAZY_TYPE:
                case REACT_MEMO_TYPE:
                  return object;
                case REACT_CONSUMER_TYPE:
                  return object;
                default:
                  return $$typeof;
              }
          }
        case REACT_PORTAL_TYPE:
          return $$typeof;
      }
    }
  }
  __name(typeOf, "typeOf");
  reactIs_production.ContextConsumer = REACT_CONSUMER_TYPE;
  reactIs_production.ContextProvider = REACT_CONTEXT_TYPE;
  reactIs_production.Element = REACT_ELEMENT_TYPE;
  reactIs_production.ForwardRef = REACT_FORWARD_REF_TYPE;
  reactIs_production.Fragment = REACT_FRAGMENT_TYPE;
  reactIs_production.Lazy = REACT_LAZY_TYPE;
  reactIs_production.Memo = REACT_MEMO_TYPE;
  reactIs_production.Portal = REACT_PORTAL_TYPE;
  reactIs_production.Profiler = REACT_PROFILER_TYPE;
  reactIs_production.StrictMode = REACT_STRICT_MODE_TYPE;
  reactIs_production.Suspense = REACT_SUSPENSE_TYPE;
  reactIs_production.SuspenseList = REACT_SUSPENSE_LIST_TYPE;
  reactIs_production.isContextConsumer = function(object) {
    return typeOf(object) === REACT_CONSUMER_TYPE;
  };
  reactIs_production.isContextProvider = function(object) {
    return typeOf(object) === REACT_CONTEXT_TYPE;
  };
  reactIs_production.isElement = function(object) {
    return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
  };
  reactIs_production.isForwardRef = function(object) {
    return typeOf(object) === REACT_FORWARD_REF_TYPE;
  };
  reactIs_production.isFragment = function(object) {
    return typeOf(object) === REACT_FRAGMENT_TYPE;
  };
  reactIs_production.isLazy = function(object) {
    return typeOf(object) === REACT_LAZY_TYPE;
  };
  reactIs_production.isMemo = function(object) {
    return typeOf(object) === REACT_MEMO_TYPE;
  };
  reactIs_production.isPortal = function(object) {
    return typeOf(object) === REACT_PORTAL_TYPE;
  };
  reactIs_production.isProfiler = function(object) {
    return typeOf(object) === REACT_PROFILER_TYPE;
  };
  reactIs_production.isStrictMode = function(object) {
    return typeOf(object) === REACT_STRICT_MODE_TYPE;
  };
  reactIs_production.isSuspense = function(object) {
    return typeOf(object) === REACT_SUSPENSE_TYPE;
  };
  reactIs_production.isSuspenseList = function(object) {
    return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
  };
  reactIs_production.isValidElementType = function(type5) {
    return "string" === typeof type5 || "function" === typeof type5 || type5 === REACT_FRAGMENT_TYPE || type5 === REACT_PROFILER_TYPE || type5 === REACT_STRICT_MODE_TYPE || type5 === REACT_SUSPENSE_TYPE || type5 === REACT_SUSPENSE_LIST_TYPE || "object" === typeof type5 && null !== type5 && (type5.$$typeof === REACT_LAZY_TYPE || type5.$$typeof === REACT_MEMO_TYPE || type5.$$typeof === REACT_CONTEXT_TYPE || type5.$$typeof === REACT_CONSUMER_TYPE || type5.$$typeof === REACT_FORWARD_REF_TYPE || type5.$$typeof === REACT_CLIENT_REFERENCE || void 0 !== type5.getModuleId) ? true : false;
  };
  reactIs_production.typeOf = typeOf;
  return reactIs_production;
}
__name(requireReactIs_production, "requireReactIs_production");
var hasRequiredReactIs$1;
function requireReactIs$1() {
  if (hasRequiredReactIs$1) return reactIs$1.exports;
  hasRequiredReactIs$1 = 1;
  if (true) {
    reactIs$1.exports = requireReactIs_production();
  } else {
    reactIs$1.exports = requireReactIs_development$1();
  }
  return reactIs$1.exports;
}
__name(requireReactIs$1, "requireReactIs$1");
var reactIsExports$1 = requireReactIs$1();
var index$1 = getDefaultExportFromCjs(reactIsExports$1);
var ReactIs19 = _mergeNamespaces({
  __proto__: null,
  default: index$1
}, [reactIsExports$1]);
var reactIs = { exports: {} };
var reactIs_production_min = {};
var hasRequiredReactIs_production_min;
function requireReactIs_production_min() {
  if (hasRequiredReactIs_production_min) return reactIs_production_min;
  hasRequiredReactIs_production_min = 1;
  var b = Symbol.for("react.element"), c2 = Symbol.for("react.portal"), d = Symbol.for("react.fragment"), e2 = Symbol.for("react.strict_mode"), f3 = Symbol.for("react.profiler"), g2 = Symbol.for("react.provider"), h2 = Symbol.for("react.context"), k = Symbol.for("react.server_context"), l = Symbol.for("react.forward_ref"), m3 = Symbol.for("react.suspense"), n2 = Symbol.for("react.suspense_list"), p2 = Symbol.for("react.memo"), q = Symbol.for("react.lazy"), t2 = Symbol.for("react.offscreen"), u2;
  u2 = Symbol.for("react.module.reference");
  function v(a2) {
    if ("object" === typeof a2 && null !== a2) {
      var r2 = a2.$$typeof;
      switch (r2) {
        case b:
          switch (a2 = a2.type, a2) {
            case d:
            case f3:
            case e2:
            case m3:
            case n2:
              return a2;
            default:
              switch (a2 = a2 && a2.$$typeof, a2) {
                case k:
                case h2:
                case l:
                case q:
                case p2:
                case g2:
                  return a2;
                default:
                  return r2;
              }
          }
        case c2:
          return r2;
      }
    }
  }
  __name(v, "v");
  reactIs_production_min.ContextConsumer = h2;
  reactIs_production_min.ContextProvider = g2;
  reactIs_production_min.Element = b;
  reactIs_production_min.ForwardRef = l;
  reactIs_production_min.Fragment = d;
  reactIs_production_min.Lazy = q;
  reactIs_production_min.Memo = p2;
  reactIs_production_min.Portal = c2;
  reactIs_production_min.Profiler = f3;
  reactIs_production_min.StrictMode = e2;
  reactIs_production_min.Suspense = m3;
  reactIs_production_min.SuspenseList = n2;
  reactIs_production_min.isAsyncMode = function() {
    return false;
  };
  reactIs_production_min.isConcurrentMode = function() {
    return false;
  };
  reactIs_production_min.isContextConsumer = function(a2) {
    return v(a2) === h2;
  };
  reactIs_production_min.isContextProvider = function(a2) {
    return v(a2) === g2;
  };
  reactIs_production_min.isElement = function(a2) {
    return "object" === typeof a2 && null !== a2 && a2.$$typeof === b;
  };
  reactIs_production_min.isForwardRef = function(a2) {
    return v(a2) === l;
  };
  reactIs_production_min.isFragment = function(a2) {
    return v(a2) === d;
  };
  reactIs_production_min.isLazy = function(a2) {
    return v(a2) === q;
  };
  reactIs_production_min.isMemo = function(a2) {
    return v(a2) === p2;
  };
  reactIs_production_min.isPortal = function(a2) {
    return v(a2) === c2;
  };
  reactIs_production_min.isProfiler = function(a2) {
    return v(a2) === f3;
  };
  reactIs_production_min.isStrictMode = function(a2) {
    return v(a2) === e2;
  };
  reactIs_production_min.isSuspense = function(a2) {
    return v(a2) === m3;
  };
  reactIs_production_min.isSuspenseList = function(a2) {
    return v(a2) === n2;
  };
  reactIs_production_min.isValidElementType = function(a2) {
    return "string" === typeof a2 || "function" === typeof a2 || a2 === d || a2 === f3 || a2 === e2 || a2 === m3 || a2 === n2 || a2 === t2 || "object" === typeof a2 && null !== a2 && (a2.$$typeof === q || a2.$$typeof === p2 || a2.$$typeof === g2 || a2.$$typeof === h2 || a2.$$typeof === l || a2.$$typeof === u2 || void 0 !== a2.getModuleId) ? true : false;
  };
  reactIs_production_min.typeOf = v;
  return reactIs_production_min;
}
__name(requireReactIs_production_min, "requireReactIs_production_min");
var hasRequiredReactIs;
function requireReactIs() {
  if (hasRequiredReactIs) return reactIs.exports;
  hasRequiredReactIs = 1;
  if (true) {
    reactIs.exports = requireReactIs_production_min();
  } else {
    reactIs.exports = requireReactIs_development();
  }
  return reactIs.exports;
}
__name(requireReactIs, "requireReactIs");
var reactIsExports = requireReactIs();
var index3 = getDefaultExportFromCjs(reactIsExports);
var ReactIs18 = _mergeNamespaces({
  __proto__: null,
  default: index3
}, [reactIsExports]);
var reactIsMethods = [
  "isAsyncMode",
  "isConcurrentMode",
  "isContextConsumer",
  "isContextProvider",
  "isElement",
  "isForwardRef",
  "isFragment",
  "isLazy",
  "isMemo",
  "isPortal",
  "isProfiler",
  "isStrictMode",
  "isSuspense",
  "isSuspenseList",
  "isValidElementType"
];
var ReactIs = Object.fromEntries(reactIsMethods.map((m3) => [m3, (v) => ReactIs18[m3](v) || ReactIs19[m3](v)]));
function getChildren(arg, children = []) {
  if (Array.isArray(arg)) {
    for (const item of arg) {
      getChildren(item, children);
    }
  } else if (arg != null && arg !== false && arg !== "") {
    children.push(arg);
  }
  return children;
}
__name(getChildren, "getChildren");
function getType(element) {
  const type5 = element.type;
  if (typeof type5 === "string") {
    return type5;
  }
  if (typeof type5 === "function") {
    return type5.displayName || type5.name || "Unknown";
  }
  if (ReactIs.isFragment(element)) {
    return "React.Fragment";
  }
  if (ReactIs.isSuspense(element)) {
    return "React.Suspense";
  }
  if (typeof type5 === "object" && type5 !== null) {
    if (ReactIs.isContextProvider(element)) {
      return "Context.Provider";
    }
    if (ReactIs.isContextConsumer(element)) {
      return "Context.Consumer";
    }
    if (ReactIs.isForwardRef(element)) {
      if (type5.displayName) {
        return type5.displayName;
      }
      const functionName = type5.render.displayName || type5.render.name || "";
      return functionName === "" ? "ForwardRef" : `ForwardRef(${functionName})`;
    }
    if (ReactIs.isMemo(element)) {
      const functionName = type5.displayName || type5.type.displayName || type5.type.name || "";
      return functionName === "" ? "Memo" : `Memo(${functionName})`;
    }
  }
  return "UNDEFINED";
}
__name(getType, "getType");
function getPropKeys$1(element) {
  const { props } = element;
  return Object.keys(props).filter((key) => key !== "children" && props[key] !== void 0).sort();
}
__name(getPropKeys$1, "getPropKeys$1");
var serialize$1 = /* @__PURE__ */ __name((element, config4, indentation, depth, refs, printer2) => ++depth > config4.maxDepth ? printElementAsLeaf(getType(element), config4) : printElement(getType(element), printProps(getPropKeys$1(element), element.props, config4, indentation + config4.indent, depth, refs, printer2), printChildren(getChildren(element.props.children), config4, indentation + config4.indent, depth, refs, printer2), config4, indentation), "serialize$1");
var test$1 = /* @__PURE__ */ __name((val) => val != null && ReactIs.isElement(val), "test$1");
var plugin$1 = {
  serialize: serialize$1,
  test: test$1
};
var testSymbol = typeof Symbol === "function" && Symbol.for ? Symbol.for("react.test.json") : 245830487;
function getPropKeys(object) {
  const { props } = object;
  return props ? Object.keys(props).filter((key) => props[key] !== void 0).sort() : [];
}
__name(getPropKeys, "getPropKeys");
var serialize2 = /* @__PURE__ */ __name((object, config4, indentation, depth, refs, printer2) => ++depth > config4.maxDepth ? printElementAsLeaf(object.type, config4) : printElement(object.type, object.props ? printProps(getPropKeys(object), object.props, config4, indentation + config4.indent, depth, refs, printer2) : "", object.children ? printChildren(object.children, config4, indentation + config4.indent, depth, refs, printer2) : "", config4, indentation), "serialize");
var test = /* @__PURE__ */ __name((val) => val && val.$$typeof === testSymbol, "test");
var plugin = {
  serialize: serialize2,
  test
};
var toString2 = Object.prototype.toString;
var toISOString = Date.prototype.toISOString;
var errorToString = Error.prototype.toString;
var regExpToString = RegExp.prototype.toString;
function getConstructorName(val) {
  return typeof val.constructor === "function" && val.constructor.name || "Object";
}
__name(getConstructorName, "getConstructorName");
function isWindow(val) {
  return typeof window !== "undefined" && val === window;
}
__name(isWindow, "isWindow");
var SYMBOL_REGEXP = /^Symbol\((.*)\)(.*)$/;
var NEWLINE_REGEXP = /\n/g;
var _PrettyFormatPluginError = class _PrettyFormatPluginError extends Error {
  constructor(message, stack) {
    super(message);
    this.stack = stack;
    this.name = this.constructor.name;
  }
};
__name(_PrettyFormatPluginError, "PrettyFormatPluginError");
var PrettyFormatPluginError = _PrettyFormatPluginError;
function isToStringedArrayType(toStringed) {
  return toStringed === "[object Array]" || toStringed === "[object ArrayBuffer]" || toStringed === "[object DataView]" || toStringed === "[object Float32Array]" || toStringed === "[object Float64Array]" || toStringed === "[object Int8Array]" || toStringed === "[object Int16Array]" || toStringed === "[object Int32Array]" || toStringed === "[object Uint8Array]" || toStringed === "[object Uint8ClampedArray]" || toStringed === "[object Uint16Array]" || toStringed === "[object Uint32Array]";
}
__name(isToStringedArrayType, "isToStringedArrayType");
function printNumber(val) {
  return Object.is(val, -0) ? "-0" : String(val);
}
__name(printNumber, "printNumber");
function printBigInt(val) {
  return String(`${val}n`);
}
__name(printBigInt, "printBigInt");
function printFunction(val, printFunctionName) {
  if (!printFunctionName) {
    return "[Function]";
  }
  return `[Function ${val.name || "anonymous"}]`;
}
__name(printFunction, "printFunction");
function printSymbol(val) {
  return String(val).replace(SYMBOL_REGEXP, "Symbol($1)");
}
__name(printSymbol, "printSymbol");
function printError(val) {
  return `[${errorToString.call(val)}]`;
}
__name(printError, "printError");
function printBasicValue(val, printFunctionName, escapeRegex, escapeString) {
  if (val === true || val === false) {
    return `${val}`;
  }
  if (val === void 0) {
    return "undefined";
  }
  if (val === null) {
    return "null";
  }
  const typeOf = typeof val;
  if (typeOf === "number") {
    return printNumber(val);
  }
  if (typeOf === "bigint") {
    return printBigInt(val);
  }
  if (typeOf === "string") {
    if (escapeString) {
      return `"${val.replaceAll(/"|\\/g, "\\$&")}"`;
    }
    return `"${val}"`;
  }
  if (typeOf === "function") {
    return printFunction(val, printFunctionName);
  }
  if (typeOf === "symbol") {
    return printSymbol(val);
  }
  const toStringed = toString2.call(val);
  if (toStringed === "[object WeakMap]") {
    return "WeakMap {}";
  }
  if (toStringed === "[object WeakSet]") {
    return "WeakSet {}";
  }
  if (toStringed === "[object Function]" || toStringed === "[object GeneratorFunction]") {
    return printFunction(val, printFunctionName);
  }
  if (toStringed === "[object Symbol]") {
    return printSymbol(val);
  }
  if (toStringed === "[object Date]") {
    return Number.isNaN(+val) ? "Date { NaN }" : toISOString.call(val);
  }
  if (toStringed === "[object Error]") {
    return printError(val);
  }
  if (toStringed === "[object RegExp]") {
    if (escapeRegex) {
      return regExpToString.call(val).replaceAll(/[$()*+.?[\\\]^{|}]/g, "\\$&");
    }
    return regExpToString.call(val);
  }
  if (val instanceof Error) {
    return printError(val);
  }
  return null;
}
__name(printBasicValue, "printBasicValue");
function printComplexValue(val, config4, indentation, depth, refs, hasCalledToJSON) {
  if (refs.includes(val)) {
    return "[Circular]";
  }
  refs = [...refs];
  refs.push(val);
  const hitMaxDepth = ++depth > config4.maxDepth;
  const min2 = config4.min;
  if (config4.callToJSON && !hitMaxDepth && val.toJSON && typeof val.toJSON === "function" && !hasCalledToJSON) {
    return printer(val.toJSON(), config4, indentation, depth, refs, true);
  }
  const toStringed = toString2.call(val);
  if (toStringed === "[object Arguments]") {
    return hitMaxDepth ? "[Arguments]" : `${min2 ? "" : "Arguments "}[${printListItems(val, config4, indentation, depth, refs, printer)}]`;
  }
  if (isToStringedArrayType(toStringed)) {
    return hitMaxDepth ? `[${val.constructor.name}]` : `${min2 ? "" : !config4.printBasicPrototype && val.constructor.name === "Array" ? "" : `${val.constructor.name} `}[${printListItems(val, config4, indentation, depth, refs, printer)}]`;
  }
  if (toStringed === "[object Map]") {
    return hitMaxDepth ? "[Map]" : `Map {${printIteratorEntries(val.entries(), config4, indentation, depth, refs, printer, " => ")}}`;
  }
  if (toStringed === "[object Set]") {
    return hitMaxDepth ? "[Set]" : `Set {${printIteratorValues(val.values(), config4, indentation, depth, refs, printer)}}`;
  }
  return hitMaxDepth || isWindow(val) ? `[${getConstructorName(val)}]` : `${min2 ? "" : !config4.printBasicPrototype && getConstructorName(val) === "Object" ? "" : `${getConstructorName(val)} `}{${printObjectProperties(val, config4, indentation, depth, refs, printer)}}`;
}
__name(printComplexValue, "printComplexValue");
var ErrorPlugin = {
  test: /* @__PURE__ */ __name((val) => val && val instanceof Error, "test"),
  serialize(val, config4, indentation, depth, refs, printer2) {
    if (refs.includes(val)) {
      return "[Circular]";
    }
    refs = [...refs, val];
    const hitMaxDepth = ++depth > config4.maxDepth;
    const { message, cause, ...rest } = val;
    const entries = {
      message,
      ...typeof cause !== "undefined" ? { cause } : {},
      ...val instanceof AggregateError ? { errors: val.errors } : {},
      ...rest
    };
    const name = val.name !== "Error" ? val.name : getConstructorName(val);
    return hitMaxDepth ? `[${name}]` : `${name} {${printIteratorEntries(Object.entries(entries).values(), config4, indentation, depth, refs, printer2)}}`;
  }
};
function isNewPlugin(plugin2) {
  return plugin2.serialize != null;
}
__name(isNewPlugin, "isNewPlugin");
function printPlugin(plugin2, val, config4, indentation, depth, refs) {
  let printed;
  try {
    printed = isNewPlugin(plugin2) ? plugin2.serialize(val, config4, indentation, depth, refs, printer) : plugin2.print(val, (valChild) => printer(valChild, config4, indentation, depth, refs), (str2) => {
      const indentationNext = indentation + config4.indent;
      return indentationNext + str2.replaceAll(NEWLINE_REGEXP, `
${indentationNext}`);
    }, {
      edgeSpacing: config4.spacingOuter,
      min: config4.min,
      spacing: config4.spacingInner
    }, config4.colors);
  } catch (error) {
    throw new PrettyFormatPluginError(error.message, error.stack);
  }
  if (typeof printed !== "string") {
    throw new TypeError(`pretty-format: Plugin must return type "string" but instead returned "${typeof printed}".`);
  }
  return printed;
}
__name(printPlugin, "printPlugin");
function findPlugin(plugins3, val) {
  for (const plugin2 of plugins3) {
    try {
      if (plugin2.test(val)) {
        return plugin2;
      }
    } catch (error) {
      throw new PrettyFormatPluginError(error.message, error.stack);
    }
  }
  return null;
}
__name(findPlugin, "findPlugin");
function printer(val, config4, indentation, depth, refs, hasCalledToJSON) {
  const plugin2 = findPlugin(config4.plugins, val);
  if (plugin2 !== null) {
    return printPlugin(plugin2, val, config4, indentation, depth, refs);
  }
  const basicResult = printBasicValue(val, config4.printFunctionName, config4.escapeRegex, config4.escapeString);
  if (basicResult !== null) {
    return basicResult;
  }
  return printComplexValue(val, config4, indentation, depth, refs, hasCalledToJSON);
}
__name(printer, "printer");
var DEFAULT_THEME = {
  comment: "gray",
  content: "reset",
  prop: "yellow",
  tag: "cyan",
  value: "green"
};
var DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME);
var DEFAULT_OPTIONS2 = {
  callToJSON: true,
  compareKeys: void 0,
  escapeRegex: false,
  escapeString: true,
  highlight: false,
  indent: 2,
  maxDepth: Number.POSITIVE_INFINITY,
  maxWidth: Number.POSITIVE_INFINITY,
  min: false,
  plugins: [],
  printBasicPrototype: true,
  printFunctionName: true,
  theme: DEFAULT_THEME
};
function validateOptions2(options) {
  for (const key of Object.keys(options)) {
    if (!Object.prototype.hasOwnProperty.call(DEFAULT_OPTIONS2, key)) {
      throw new Error(`pretty-format: Unknown option "${key}".`);
    }
  }
  if (options.min && options.indent !== void 0 && options.indent !== 0) {
    throw new Error('pretty-format: Options "min" and "indent" cannot be used together.');
  }
}
__name(validateOptions2, "validateOptions");
function getColorsHighlight() {
  return DEFAULT_THEME_KEYS.reduce((colors3, key) => {
    const value = DEFAULT_THEME[key];
    const color2 = value && s[value];
    if (color2 && typeof color2.close === "string" && typeof color2.open === "string") {
      colors3[key] = color2;
    } else {
      throw new Error(`pretty-format: Option "theme" has a key "${key}" whose value "${value}" is undefined in ansi-styles.`);
    }
    return colors3;
  }, /* @__PURE__ */ Object.create(null));
}
__name(getColorsHighlight, "getColorsHighlight");
function getColorsEmpty() {
  return DEFAULT_THEME_KEYS.reduce((colors3, key) => {
    colors3[key] = {
      close: "",
      open: ""
    };
    return colors3;
  }, /* @__PURE__ */ Object.create(null));
}
__name(getColorsEmpty, "getColorsEmpty");
function getPrintFunctionName(options) {
  return (options === null || options === void 0 ? void 0 : options.printFunctionName) ?? DEFAULT_OPTIONS2.printFunctionName;
}
__name(getPrintFunctionName, "getPrintFunctionName");
function getEscapeRegex(options) {
  return (options === null || options === void 0 ? void 0 : options.escapeRegex) ?? DEFAULT_OPTIONS2.escapeRegex;
}
__name(getEscapeRegex, "getEscapeRegex");
function getEscapeString(options) {
  return (options === null || options === void 0 ? void 0 : options.escapeString) ?? DEFAULT_OPTIONS2.escapeString;
}
__name(getEscapeString, "getEscapeString");
function getConfig(options) {
  return {
    callToJSON: (options === null || options === void 0 ? void 0 : options.callToJSON) ?? DEFAULT_OPTIONS2.callToJSON,
    colors: (options === null || options === void 0 ? void 0 : options.highlight) ? getColorsHighlight() : getColorsEmpty(),
    compareKeys: typeof (options === null || options === void 0 ? void 0 : options.compareKeys) === "function" || (options === null || options === void 0 ? void 0 : options.compareKeys) === null ? options.compareKeys : DEFAULT_OPTIONS2.compareKeys,
    escapeRegex: getEscapeRegex(options),
    escapeString: getEscapeString(options),
    indent: (options === null || options === void 0 ? void 0 : options.min) ? "" : createIndent((options === null || options === void 0 ? void 0 : options.indent) ?? DEFAULT_OPTIONS2.indent),
    maxDepth: (options === null || options === void 0 ? void 0 : options.maxDepth) ?? DEFAULT_OPTIONS2.maxDepth,
    maxWidth: (options === null || options === void 0 ? void 0 : options.maxWidth) ?? DEFAULT_OPTIONS2.maxWidth,
    min: (options === null || options === void 0 ? void 0 : options.min) ?? DEFAULT_OPTIONS2.min,
    plugins: (options === null || options === void 0 ? void 0 : options.plugins) ?? DEFAULT_OPTIONS2.plugins,
    printBasicPrototype: (options === null || options === void 0 ? void 0 : options.printBasicPrototype) ?? true,
    printFunctionName: getPrintFunctionName(options),
    spacingInner: (options === null || options === void 0 ? void 0 : options.min) ? " " : "\n",
    spacingOuter: (options === null || options === void 0 ? void 0 : options.min) ? "" : "\n"
  };
}
__name(getConfig, "getConfig");
function createIndent(indent2) {
  return Array.from({ length: indent2 + 1 }).join(" ");
}
__name(createIndent, "createIndent");
function format(val, options) {
  if (options) {
    validateOptions2(options);
    if (options.plugins) {
      const plugin2 = findPlugin(options.plugins, val);
      if (plugin2 !== null) {
        return printPlugin(plugin2, val, getConfig(options), "", 0, []);
      }
    }
  }
  const basicResult = printBasicValue(val, getPrintFunctionName(options), getEscapeRegex(options), getEscapeString(options));
  if (basicResult !== null) {
    return basicResult;
  }
  return printComplexValue(val, getConfig(options), "", 0, []);
}
__name(format, "format");
var plugins = {
  AsymmetricMatcher: plugin$5,
  DOMCollection: plugin$4,
  DOMElement: plugin$3,
  Immutable: plugin$2,
  ReactElement: plugin$1,
  ReactTestComponent: plugin,
  Error: ErrorPlugin
};

// ../node_modules/loupe/lib/helpers.js
var ansiColors = {
  bold: ["1", "22"],
  dim: ["2", "22"],
  italic: ["3", "23"],
  underline: ["4", "24"],
  // 5 & 6 are blinking
  inverse: ["7", "27"],
  hidden: ["8", "28"],
  strike: ["9", "29"],
  // 10-20 are fonts
  // 21-29 are resets for 1-9
  black: ["30", "39"],
  red: ["31", "39"],
  green: ["32", "39"],
  yellow: ["33", "39"],
  blue: ["34", "39"],
  magenta: ["35", "39"],
  cyan: ["36", "39"],
  white: ["37", "39"],
  brightblack: ["30;1", "39"],
  brightred: ["31;1", "39"],
  brightgreen: ["32;1", "39"],
  brightyellow: ["33;1", "39"],
  brightblue: ["34;1", "39"],
  brightmagenta: ["35;1", "39"],
  brightcyan: ["36;1", "39"],
  brightwhite: ["37;1", "39"],
  grey: ["90", "39"]
};
var styles2 = {
  special: "cyan",
  number: "yellow",
  bigint: "yellow",
  boolean: "yellow",
  undefined: "grey",
  null: "bold",
  string: "green",
  symbol: "green",
  date: "magenta",
  regexp: "red"
};
var truncator = "\u2026";
function colorise(value, styleType) {
  const color2 = ansiColors[styles2[styleType]] || ansiColors[styleType] || "";
  if (!color2) {
    return String(value);
  }
  return `\x1B[${color2[0]}m${String(value)}\x1B[${color2[1]}m`;
}
__name(colorise, "colorise");
function normaliseOptions({
  showHidden = false,
  depth = 2,
  colors: colors3 = false,
  customInspect = true,
  showProxy = false,
  maxArrayLength = Infinity,
  breakLength = Infinity,
  seen = [],
  // eslint-disable-next-line no-shadow
  truncate: truncate3 = Infinity,
  stylize = String
} = {}, inspect5) {
  const options = {
    showHidden: Boolean(showHidden),
    depth: Number(depth),
    colors: Boolean(colors3),
    customInspect: Boolean(customInspect),
    showProxy: Boolean(showProxy),
    maxArrayLength: Number(maxArrayLength),
    breakLength: Number(breakLength),
    truncate: Number(truncate3),
    seen,
    inspect: inspect5,
    stylize
  };
  if (options.colors) {
    options.stylize = colorise;
  }
  return options;
}
__name(normaliseOptions, "normaliseOptions");
function isHighSurrogate(char2) {
  return char2 >= "\uD800" && char2 <= "\uDBFF";
}
__name(isHighSurrogate, "isHighSurrogate");
function truncate(string, length2, tail2 = truncator) {
  string = String(string);
  const tailLength = tail2.length;
  const stringLength = string.length;
  if (tailLength > length2 && stringLength > tailLength) {
    return tail2;
  }
  if (stringLength > length2 && stringLength > tailLength) {
    let end2 = length2 - tailLength;
    if (end2 > 0 && isHighSurrogate(string[end2 - 1])) {
      end2 = end2 - 1;
    }
    return `${string.slice(0, end2)}${tail2}`;
  }
  return string;
}
__name(truncate, "truncate");
function inspectList(list, options, inspectItem, separator = ", ") {
  inspectItem = inspectItem || options.inspect;
  const size = list.length;
  if (size === 0)
    return "";
  const originalLength = options.truncate;
  let output = "";
  let peek2 = "";
  let truncated = "";
  for (let i2 = 0; i2 < size; i2 += 1) {
    const last2 = i2 + 1 === list.length;
    const secondToLast = i2 + 2 === list.length;
    truncated = `${truncator}(${list.length - i2})`;
    const value = list[i2];
    options.truncate = originalLength - output.length - (last2 ? 0 : separator.length);
    const string = peek2 || inspectItem(value, options) + (last2 ? "" : separator);
    const nextLength = output.length + string.length;
    const truncatedLength = nextLength + truncated.length;
    if (last2 && nextLength > originalLength && output.length + truncated.length <= originalLength) {
      break;
    }
    if (!last2 && !secondToLast && truncatedLength > originalLength) {
      break;
    }
    peek2 = last2 ? "" : inspectItem(list[i2 + 1], options) + (secondToLast ? "" : separator);
    if (!last2 && secondToLast && truncatedLength > originalLength && nextLength + peek2.length > originalLength) {
      break;
    }
    output += string;
    if (!last2 && !secondToLast && nextLength + peek2.length >= originalLength) {
      truncated = `${truncator}(${list.length - i2 - 1})`;
      break;
    }
    truncated = "";
  }
  return `${output}${truncated}`;
}
__name(inspectList, "inspectList");
function quoteComplexKey(key) {
  if (key.match(/^[a-zA-Z_][a-zA-Z_0-9]*$/)) {
    return key;
  }
  return JSON.stringify(key).replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'");
}
__name(quoteComplexKey, "quoteComplexKey");
function inspectProperty([key, value], options) {
  options.truncate -= 2;
  if (typeof key === "string") {
    key = quoteComplexKey(key);
  } else if (typeof key !== "number") {
    key = `[${options.inspect(key, options)}]`;
  }
  options.truncate -= key.length;
  value = options.inspect(value, options);
  return `${key}: ${value}`;
}
__name(inspectProperty, "inspectProperty");

// ../node_modules/loupe/lib/array.js
function inspectArray(array, options) {
  const nonIndexProperties = Object.keys(array).slice(array.length);
  if (!array.length && !nonIndexProperties.length)
    return "[]";
  options.truncate -= 4;
  const listContents = inspectList(array, options);
  options.truncate -= listContents.length;
  let propertyContents = "";
  if (nonIndexProperties.length) {
    propertyContents = inspectList(nonIndexProperties.map((key) => [key, array[key]]), options, inspectProperty);
  }
  return `[ ${listContents}${propertyContents ? `, ${propertyContents}` : ""} ]`;
}
__name(inspectArray, "inspectArray");

// ../node_modules/loupe/lib/typedarray.js
var getArrayName = /* @__PURE__ */ __name((array) => {
  if (typeof Buffer === "function" && array instanceof Buffer) {
    return "Buffer";
  }
  if (array[Symbol.toStringTag]) {
    return array[Symbol.toStringTag];
  }
  return array.constructor.name;
}, "getArrayName");
function inspectTypedArray(array, options) {
  const name = getArrayName(array);
  options.truncate -= name.length + 4;
  const nonIndexProperties = Object.keys(array).slice(array.length);
  if (!array.length && !nonIndexProperties.length)
    return `${name}[]`;
  let output = "";
  for (let i2 = 0; i2 < array.length; i2++) {
    const string = `${options.stylize(truncate(array[i2], options.truncate), "number")}${i2 === array.length - 1 ? "" : ", "}`;
    options.truncate -= string.length;
    if (array[i2] !== array.length && options.truncate <= 3) {
      output += `${truncator}(${array.length - array[i2] + 1})`;
      break;
    }
    output += string;
  }
  let propertyContents = "";
  if (nonIndexProperties.length) {
    propertyContents = inspectList(nonIndexProperties.map((key) => [key, array[key]]), options, inspectProperty);
  }
  return `${name}[ ${output}${propertyContents ? `, ${propertyContents}` : ""} ]`;
}
__name(inspectTypedArray, "inspectTypedArray");

// ../node_modules/loupe/lib/date.js
function inspectDate(dateObject, options) {
  const stringRepresentation = dateObject.toJSON();
  if (stringRepresentation === null) {
    return "Invalid Date";
  }
  const split = stringRepresentation.split("T");
  const date = split[0];
  return options.stylize(`${date}T${truncate(split[1], options.truncate - date.length - 1)}`, "date");
}
__name(inspectDate, "inspectDate");

// ../node_modules/loupe/lib/function.js
function inspectFunction(func, options) {
  const functionType = func[Symbol.toStringTag] || "Function";
  const name = func.name;
  if (!name) {
    return options.stylize(`[${functionType}]`, "special");
  }
  return options.stylize(`[${functionType} ${truncate(name, options.truncate - 11)}]`, "special");
}
__name(inspectFunction, "inspectFunction");

// ../node_modules/loupe/lib/map.js
function inspectMapEntry([key, value], options) {
  options.truncate -= 4;
  key = options.inspect(key, options);
  options.truncate -= key.length;
  value = options.inspect(value, options);
  return `${key} => ${value}`;
}
__name(inspectMapEntry, "inspectMapEntry");
function mapToEntries(map2) {
  const entries = [];
  map2.forEach((value, key) => {
    entries.push([key, value]);
  });
  return entries;
}
__name(mapToEntries, "mapToEntries");
function inspectMap(map2, options) {
  if (map2.size === 0)
    return "Map{}";
  options.truncate -= 7;
  return `Map{ ${inspectList(mapToEntries(map2), options, inspectMapEntry)} }`;
}
__name(inspectMap, "inspectMap");

// ../node_modules/loupe/lib/number.js
var isNaN2 = Number.isNaN || ((i2) => i2 !== i2);
function inspectNumber(number, options) {
  if (isNaN2(number)) {
    return options.stylize("NaN", "number");
  }
  if (number === Infinity) {
    return options.stylize("Infinity", "number");
  }
  if (number === -Infinity) {
    return options.stylize("-Infinity", "number");
  }
  if (number === 0) {
    return options.stylize(1 / number === Infinity ? "+0" : "-0", "number");
  }
  return options.stylize(truncate(String(number), options.truncate), "number");
}
__name(inspectNumber, "inspectNumber");

// ../node_modules/loupe/lib/bigint.js
function inspectBigInt(number, options) {
  let nums = truncate(number.toString(), options.truncate - 1);
  if (nums !== truncator)
    nums += "n";
  return options.stylize(nums, "bigint");
}
__name(inspectBigInt, "inspectBigInt");

// ../node_modules/loupe/lib/regexp.js
function inspectRegExp(value, options) {
  const flags = value.toString().split("/")[2];
  const sourceLength = options.truncate - (2 + flags.length);
  const source = value.source;
  return options.stylize(`/${truncate(source, sourceLength)}/${flags}`, "regexp");
}
__name(inspectRegExp, "inspectRegExp");

// ../node_modules/loupe/lib/set.js
function arrayFromSet(set3) {
  const values = [];
  set3.forEach((value) => {
    values.push(value);
  });
  return values;
}
__name(arrayFromSet, "arrayFromSet");
function inspectSet(set3, options) {
  if (set3.size === 0)
    return "Set{}";
  options.truncate -= 7;
  return `Set{ ${inspectList(arrayFromSet(set3), options)} }`;
}
__name(inspectSet, "inspectSet");

// ../node_modules/loupe/lib/string.js
var stringEscapeChars = new RegExp("['\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]", "g");
var escapeCharacters = {
  "\b": "\\b",
  "	": "\\t",
  "\n": "\\n",
  "\f": "\\f",
  "\r": "\\r",
  "'": "\\'",
  "\\": "\\\\"
};
var hex = 16;
var unicodeLength = 4;
function escape(char2) {
  return escapeCharacters[char2] || `\\u${`0000${char2.charCodeAt(0).toString(hex)}`.slice(-unicodeLength)}`;
}
__name(escape, "escape");
function inspectString(string, options) {
  if (stringEscapeChars.test(string)) {
    string = string.replace(stringEscapeChars, escape);
  }
  return options.stylize(`'${truncate(string, options.truncate - 2)}'`, "string");
}
__name(inspectString, "inspectString");

// ../node_modules/loupe/lib/symbol.js
function inspectSymbol(value) {
  if ("description" in Symbol.prototype) {
    return value.description ? `Symbol(${value.description})` : "Symbol()";
  }
  return value.toString();
}
__name(inspectSymbol, "inspectSymbol");

// ../node_modules/loupe/lib/promise.js
var getPromiseValue = /* @__PURE__ */ __name(() => "Promise{\u2026}", "getPromiseValue");
var promise_default = getPromiseValue;

// ../node_modules/loupe/lib/object.js
function inspectObject(object, options) {
  const properties = Object.getOwnPropertyNames(object);
  const symbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : [];
  if (properties.length === 0 && symbols.length === 0) {
    return "{}";
  }
  options.truncate -= 4;
  options.seen = options.seen || [];
  if (options.seen.includes(object)) {
    return "[Circular]";
  }
  options.seen.push(object);
  const propertyContents = inspectList(properties.map((key) => [key, object[key]]), options, inspectProperty);
  const symbolContents = inspectList(symbols.map((key) => [key, object[key]]), options, inspectProperty);
  options.seen.pop();
  let sep = "";
  if (propertyContents && symbolContents) {
    sep = ", ";
  }
  return `{ ${propertyContents}${sep}${symbolContents} }`;
}
__name(inspectObject, "inspectObject");

// ../node_modules/loupe/lib/class.js
var toStringTag = typeof Symbol !== "undefined" && Symbol.toStringTag ? Symbol.toStringTag : false;
function inspectClass(value, options) {
  let name = "";
  if (toStringTag && toStringTag in value) {
    name = value[toStringTag];
  }
  name = name || value.constructor.name;
  if (!name || name === "_class") {
    name = "<Anonymous Class>";
  }
  options.truncate -= name.length;
  return `${name}${inspectObject(value, options)}`;
}
__name(inspectClass, "inspectClass");

// ../node_modules/loupe/lib/arguments.js
function inspectArguments(args, options) {
  if (args.length === 0)
    return "Arguments[]";
  options.truncate -= 13;
  return `Arguments[ ${inspectList(args, options)} ]`;
}
__name(inspectArguments, "inspectArguments");

// ../node_modules/loupe/lib/error.js
var errorKeys = [
  "stack",
  "line",
  "column",
  "name",
  "message",
  "fileName",
  "lineNumber",
  "columnNumber",
  "number",
  "description",
  "cause"
];
function inspectObject2(error, options) {
  const properties = Object.getOwnPropertyNames(error).filter((key) => errorKeys.indexOf(key) === -1);
  const name = error.name;
  options.truncate -= name.length;
  let message = "";
  if (typeof error.message === "string") {
    message = truncate(error.message, options.truncate);
  } else {
    properties.unshift("message");
  }
  message = message ? `: ${message}` : "";
  options.truncate -= message.length + 5;
  options.seen = options.seen || [];
  if (options.seen.includes(error)) {
    return "[Circular]";
  }
  options.seen.push(error);
  const propertyContents = inspectList(properties.map((key) => [key, error[key]]), options, inspectProperty);
  return `${name}${message}${propertyContents ? ` { ${propertyContents} }` : ""}`;
}
__name(inspectObject2, "inspectObject");

// ../node_modules/loupe/lib/html.js
function inspectAttribute([key, value], options) {
  options.truncate -= 3;
  if (!value) {
    return `${options.stylize(String(key), "yellow")}`;
  }
  return `${options.stylize(String(key), "yellow")}=${options.stylize(`"${value}"`, "string")}`;
}
__name(inspectAttribute, "inspectAttribute");
function inspectNodeCollection(collection, options) {
  return inspectList(collection, options, inspectNode, "\n");
}
__name(inspectNodeCollection, "inspectNodeCollection");
function inspectNode(node2, options) {
  switch (node2.nodeType) {
    case 1:
      return inspectHTML(node2, options);
    case 3:
      return options.inspect(node2.data, options);
    default:
      return options.inspect(node2, options);
  }
}
__name(inspectNode, "inspectNode");
function inspectHTML(element, options) {
  const properties = element.getAttributeNames();
  const name = element.tagName.toLowerCase();
  const head2 = options.stylize(`<${name}`, "special");
  const headClose = options.stylize(`>`, "special");
  const tail2 = options.stylize(`</${name}>`, "special");
  options.truncate -= name.length * 2 + 5;
  let propertyContents = "";
  if (properties.length > 0) {
    propertyContents += " ";
    propertyContents += inspectList(properties.map((key) => [key, element.getAttribute(key)]), options, inspectAttribute, " ");
  }
  options.truncate -= propertyContents.length;
  const truncate3 = options.truncate;
  let children = inspectNodeCollection(element.children, options);
  if (children && children.length > truncate3) {
    children = `${truncator}(${element.children.length})`;
  }
  return `${head2}${propertyContents}${headClose}${children}${tail2}`;
}
__name(inspectHTML, "inspectHTML");

// ../node_modules/loupe/lib/index.js
var symbolsSupported = typeof Symbol === "function" && typeof Symbol.for === "function";
var chaiInspect = symbolsSupported ? Symbol.for("chai/inspect") : "@@chai/inspect";
var nodeInspect = Symbol.for("nodejs.util.inspect.custom");
var constructorMap = /* @__PURE__ */ new WeakMap();
var stringTagMap = {};
var baseTypesMap = {
  undefined: /* @__PURE__ */ __name((value, options) => options.stylize("undefined", "undefined"), "undefined"),
  null: /* @__PURE__ */ __name((value, options) => options.stylize("null", "null"), "null"),
  boolean: /* @__PURE__ */ __name((value, options) => options.stylize(String(value), "boolean"), "boolean"),
  Boolean: /* @__PURE__ */ __name((value, options) => options.stylize(String(value), "boolean"), "Boolean"),
  number: inspectNumber,
  Number: inspectNumber,
  bigint: inspectBigInt,
  BigInt: inspectBigInt,
  string: inspectString,
  String: inspectString,
  function: inspectFunction,
  Function: inspectFunction,
  symbol: inspectSymbol,
  // A Symbol polyfill will return `Symbol` not `symbol` from typedetect
  Symbol: inspectSymbol,
  Array: inspectArray,
  Date: inspectDate,
  Map: inspectMap,
  Set: inspectSet,
  RegExp: inspectRegExp,
  Promise: promise_default,
  // WeakSet, WeakMap are totally opaque to us
  WeakSet: /* @__PURE__ */ __name((value, options) => options.stylize("WeakSet{\u2026}", "special"), "WeakSet"),
  WeakMap: /* @__PURE__ */ __name((value, options) => options.stylize("WeakMap{\u2026}", "special"), "WeakMap"),
  Arguments: inspectArguments,
  Int8Array: inspectTypedArray,
  Uint8Array: inspectTypedArray,
  Uint8ClampedArray: inspectTypedArray,
  Int16Array: inspectTypedArray,
  Uint16Array: inspectTypedArray,
  Int32Array: inspectTypedArray,
  Uint32Array: inspectTypedArray,
  Float32Array: inspectTypedArray,
  Float64Array: inspectTypedArray,
  Generator: /* @__PURE__ */ __name(() => "", "Generator"),
  DataView: /* @__PURE__ */ __name(() => "", "DataView"),
  ArrayBuffer: /* @__PURE__ */ __name(() => "", "ArrayBuffer"),
  Error: inspectObject2,
  HTMLCollection: inspectNodeCollection,
  NodeList: inspectNodeCollection
};
var inspectCustom = /* @__PURE__ */ __name((value, options, type5, inspectFn) => {
  if (chaiInspect in value && typeof value[chaiInspect] === "function") {
    return value[chaiInspect](options);
  }
  if (nodeInspect in value && typeof value[nodeInspect] === "function") {
    return value[nodeInspect](options.depth, options, inspectFn);
  }
  if ("inspect" in value && typeof value.inspect === "function") {
    return value.inspect(options.depth, options);
  }
  if ("constructor" in value && constructorMap.has(value.constructor)) {
    return constructorMap.get(value.constructor)(value, options);
  }
  if (stringTagMap[type5]) {
    return stringTagMap[type5](value, options);
  }
  return "";
}, "inspectCustom");
var toString3 = Object.prototype.toString;
function inspect2(value, opts = {}) {
  const options = normaliseOptions(opts, inspect2);
  const { customInspect } = options;
  let type5 = value === null ? "null" : typeof value;
  if (type5 === "object") {
    type5 = toString3.call(value).slice(8, -1);
  }
  if (type5 in baseTypesMap) {
    return baseTypesMap[type5](value, options);
  }
  if (customInspect && value) {
    const output = inspectCustom(value, options, type5, inspect2);
    if (output) {
      if (typeof output === "string")
        return output;
      return inspect2(output, options);
    }
  }
  const proto = value ? Object.getPrototypeOf(value) : false;
  if (proto === Object.prototype || proto === null) {
    return inspectObject(value, options);
  }
  if (value && typeof HTMLElement === "function" && value instanceof HTMLElement) {
    return inspectHTML(value, options);
  }
  if ("constructor" in value) {
    if (value.constructor !== Object) {
      return inspectClass(value, options);
    }
    return inspectObject(value, options);
  }
  if (value === Object(value)) {
    return inspectObject(value, options);
  }
  return options.stylize(String(value), type5);
}
__name(inspect2, "inspect");

// ../node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.js
var { AsymmetricMatcher, DOMCollection, DOMElement, Immutable, ReactElement, ReactTestComponent } = plugins;
var PLUGINS = [
  ReactTestComponent,
  ReactElement,
  DOMElement,
  DOMCollection,
  Immutable,
  AsymmetricMatcher
];
function stringify5(object, maxDepth = 10, { maxLength, ...options } = {}) {
  const MAX_LENGTH = maxLength ?? 1e4;
  let result;
  try {
    result = format(object, {
      maxDepth,
      escapeString: false,
      plugins: PLUGINS,
      ...options
    });
  } catch {
    result = format(object, {
      callToJSON: false,
      maxDepth,
      escapeString: false,
      plugins: PLUGINS,
      ...options
    });
  }
  return result.length >= MAX_LENGTH && maxDepth > 1 ? stringify5(object, Math.floor(Math.min(maxDepth, Number.MAX_SAFE_INTEGER) / 2), {
    maxLength,
    ...options
  }) : result;
}
__name(stringify5, "stringify");
var formatRegExp = /%[sdjifoOc%]/g;
function format2(...args) {
  if (typeof args[0] !== "string") {
    const objects = [];
    for (let i3 = 0; i3 < args.length; i3++) {
      objects.push(inspect3(args[i3], {
        depth: 0,
        colors: false
      }));
    }
    return objects.join(" ");
  }
  const len = args.length;
  let i2 = 1;
  const template = args[0];
  let str2 = String(template).replace(formatRegExp, (x) => {
    if (x === "%%") {
      return "%";
    }
    if (i2 >= len) {
      return x;
    }
    switch (x) {
      case "%s": {
        const value = args[i2++];
        if (typeof value === "bigint") {
          return `${value.toString()}n`;
        }
        if (typeof value === "number" && value === 0 && 1 / value < 0) {
          return "-0";
        }
        if (typeof value === "object" && value !== null) {
          if (typeof value.toString === "function" && value.toString !== Object.prototype.toString) {
            return value.toString();
          }
          return inspect3(value, {
            depth: 0,
            colors: false
          });
        }
        return String(value);
      }
      case "%d": {
        const value = args[i2++];
        if (typeof value === "bigint") {
          return `${value.toString()}n`;
        }
        return Number(value).toString();
      }
      case "%i": {
        const value = args[i2++];
        if (typeof value === "bigint") {
          return `${value.toString()}n`;
        }
        return Number.parseInt(String(value)).toString();
      }
      case "%f":
        return Number.parseFloat(String(args[i2++])).toString();
      case "%o":
        return inspect3(args[i2++], {
          showHidden: true,
          showProxy: true
        });
      case "%O":
        return inspect3(args[i2++]);
      case "%c": {
        i2++;
        return "";
      }
      case "%j":
        try {
          return JSON.stringify(args[i2++]);
        } catch (err) {
          const m3 = err.message;
          if (m3.includes("circular structure") || m3.includes("cyclic structures") || m3.includes("cyclic object")) {
            return "[Circular]";
          }
          throw err;
        }
      default:
        return x;
    }
  });
  for (let x = args[i2]; i2 < len; x = args[++i2]) {
    if (x === null || typeof x !== "object") {
      str2 += ` ${x}`;
    } else {
      str2 += ` ${inspect3(x)}`;
    }
  }
  return str2;
}
__name(format2, "format");
function inspect3(obj, options = {}) {
  if (options.truncate === 0) {
    options.truncate = Number.POSITIVE_INFINITY;
  }
  return inspect2(obj, options);
}
__name(inspect3, "inspect");
function getDefaultExportFromCjs2(x) {
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
}
__name(getDefaultExportFromCjs2, "getDefaultExportFromCjs");

// ../node_modules/@vitest/utils/dist/helpers.js
function assertTypes(value, name, types) {
  const receivedType = typeof value;
  const pass = types.includes(receivedType);
  if (!pass) {
    throw new TypeError(`${name} value must be ${types.join(" or ")}, received "${receivedType}"`);
  }
}
__name(assertTypes, "assertTypes");
function isObject5(item) {
  return item != null && typeof item === "object" && !Array.isArray(item);
}
__name(isObject5, "isObject");
function isFinalObj(obj) {
  return obj === Object.prototype || obj === Function.prototype || obj === RegExp.prototype;
}
__name(isFinalObj, "isFinalObj");
function getType2(value) {
  return Object.prototype.toString.apply(value).slice(8, -1);
}
__name(getType2, "getType");
function collectOwnProperties(obj, collector) {
  const collect = typeof collector === "function" ? collector : (key) => collector.add(key);
  Object.getOwnPropertyNames(obj).forEach(collect);
  Object.getOwnPropertySymbols(obj).forEach(collect);
}
__name(collectOwnProperties, "collectOwnProperties");
function getOwnProperties(obj) {
  const ownProps = /* @__PURE__ */ new Set();
  if (isFinalObj(obj)) {
    return [];
  }
  collectOwnProperties(obj, ownProps);
  return Array.from(ownProps);
}
__name(getOwnProperties, "getOwnProperties");
var defaultCloneOptions = { forceWritable: false };
function deepClone(val, options = defaultCloneOptions) {
  const seen = /* @__PURE__ */ new WeakMap();
  return clone2(val, seen, options);
}
__name(deepClone, "deepClone");
function clone2(val, seen, options = defaultCloneOptions) {
  let k, out;
  if (seen.has(val)) {
    return seen.get(val);
  }
  if (Array.isArray(val)) {
    out = Array.from({ length: k = val.length });
    seen.set(val, out);
    while (k--) {
      out[k] = clone2(val[k], seen, options);
    }
    return out;
  }
  if (Object.prototype.toString.call(val) === "[object Object]") {
    out = Object.create(Object.getPrototypeOf(val));
    seen.set(val, out);
    const props = getOwnProperties(val);
    for (const k2 of props) {
      const descriptor = Object.getOwnPropertyDescriptor(val, k2);
      if (!descriptor) {
        continue;
      }
      const cloned = clone2(val[k2], seen, options);
      if (options.forceWritable) {
        Object.defineProperty(out, k2, {
          enumerable: descriptor.enumerable,
          configurable: true,
          writable: true,
          value: cloned
        });
      } else if ("get" in descriptor) {
        Object.defineProperty(out, k2, {
          ...descriptor,
          get() {
            return cloned;
          }
        });
      } else {
        Object.defineProperty(out, k2, {
          ...descriptor,
          value: cloned
        });
      }
    }
    return out;
  }
  return val;
}
__name(clone2, "clone");
function noop6() {
}
__name(noop6, "noop");

// ../node_modules/@vitest/utils/dist/diff.js
var DIFF_DELETE = -1;
var DIFF_INSERT = 1;
var DIFF_EQUAL = 0;
var _Diff = class _Diff {
  0;
  1;
  constructor(op, text) {
    this[0] = op;
    this[1] = text;
  }
};
__name(_Diff, "Diff");
var Diff = _Diff;
function diff_commonPrefix(text1, text2) {
  if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) {
    return 0;
  }
  let pointermin = 0;
  let pointermax = Math.min(text1.length, text2.length);
  let pointermid = pointermax;
  let pointerstart = 0;
  while (pointermin < pointermid) {
    if (text1.substring(pointerstart, pointermid) === text2.substring(pointerstart, pointermid)) {
      pointermin = pointermid;
      pointerstart = pointermin;
    } else {
      pointermax = pointermid;
    }
    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
  }
  return pointermid;
}
__name(diff_commonPrefix, "diff_commonPrefix");
function diff_commonSuffix(text1, text2) {
  if (!text1 || !text2 || text1.charAt(text1.length - 1) !== text2.charAt(text2.length - 1)) {
    return 0;
  }
  let pointermin = 0;
  let pointermax = Math.min(text1.length, text2.length);
  let pointermid = pointermax;
  let pointerend = 0;
  while (pointermin < pointermid) {
    if (text1.substring(text1.length - pointermid, text1.length - pointerend) === text2.substring(text2.length - pointermid, text2.length - pointerend)) {
      pointermin = pointermid;
      pointerend = pointermin;
    } else {
      pointermax = pointermid;
    }
    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
  }
  return pointermid;
}
__name(diff_commonSuffix, "diff_commonSuffix");
function diff_commonOverlap_(text1, text2) {
  const text1_length = text1.length;
  const text2_length = text2.length;
  if (text1_length === 0 || text2_length === 0) {
    return 0;
  }
  if (text1_length > text2_length) {
    text1 = text1.substring(text1_length - text2_length);
  } else if (text1_length < text2_length) {
    text2 = text2.substring(0, text1_length);
  }
  const text_length = Math.min(text1_length, text2_length);
  if (text1 === text2) {
    return text_length;
  }
  let best = 0;
  let length2 = 1;
  while (true) {
    const pattern = text1.substring(text_length - length2);
    const found = text2.indexOf(pattern);
    if (found === -1) {
      return best;
    }
    length2 += found;
    if (found === 0 || text1.substring(text_length - length2) === text2.substring(0, length2)) {
      best = length2;
      length2++;
    }
  }
}
__name(diff_commonOverlap_, "diff_commonOverlap_");
function diff_cleanupSemantic(diffs) {
  let changes = false;
  const equalities = [];
  let equalitiesLength = 0;
  let lastEquality = null;
  let pointer4 = 0;
  let length_insertions1 = 0;
  let length_deletions1 = 0;
  let length_insertions2 = 0;
  let length_deletions2 = 0;
  while (pointer4 < diffs.length) {
    if (diffs[pointer4][0] === DIFF_EQUAL) {
      equalities[equalitiesLength++] = pointer4;
      length_insertions1 = length_insertions2;
      length_deletions1 = length_deletions2;
      length_insertions2 = 0;
      length_deletions2 = 0;
      lastEquality = diffs[pointer4][1];
    } else {
      if (diffs[pointer4][0] === DIFF_INSERT) {
        length_insertions2 += diffs[pointer4][1].length;
      } else {
        length_deletions2 += diffs[pointer4][1].length;
      }
      if (lastEquality && lastEquality.length <= Math.max(length_insertions1, length_deletions1) && lastEquality.length <= Math.max(length_insertions2, length_deletions2)) {
        diffs.splice(equalities[equalitiesLength - 1], 0, new Diff(DIFF_DELETE, lastEquality));
        diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;
        equalitiesLength--;
        equalitiesLength--;
        pointer4 = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1;
        length_insertions1 = 0;
        length_deletions1 = 0;
        length_insertions2 = 0;
        length_deletions2 = 0;
        lastEquality = null;
        changes = true;
      }
    }
    pointer4++;
  }
  if (changes) {
    diff_cleanupMerge(diffs);
  }
  diff_cleanupSemanticLossless(diffs);
  pointer4 = 1;
  while (pointer4 < diffs.length) {
    if (diffs[pointer4 - 1][0] === DIFF_DELETE && diffs[pointer4][0] === DIFF_INSERT) {
      const deletion = diffs[pointer4 - 1][1];
      const insertion = diffs[pointer4][1];
      const overlap_length1 = diff_commonOverlap_(deletion, insertion);
      const overlap_length2 = diff_commonOverlap_(insertion, deletion);
      if (overlap_length1 >= overlap_length2) {
        if (overlap_length1 >= deletion.length / 2 || overlap_length1 >= insertion.length / 2) {
          diffs.splice(pointer4, 0, new Diff(DIFF_EQUAL, insertion.substring(0, overlap_length1)));
          diffs[pointer4 - 1][1] = deletion.substring(0, deletion.length - overlap_length1);
          diffs[pointer4 + 1][1] = insertion.substring(overlap_length1);
          pointer4++;
        }
      } else {
        if (overlap_length2 >= deletion.length / 2 || overlap_length2 >= insertion.length / 2) {
          diffs.splice(pointer4, 0, new Diff(DIFF_EQUAL, deletion.substring(0, overlap_length2)));
          diffs[pointer4 - 1][0] = DIFF_INSERT;
          diffs[pointer4 - 1][1] = insertion.substring(0, insertion.length - overlap_length2);
          diffs[pointer4 + 1][0] = DIFF_DELETE;
          diffs[pointer4 + 1][1] = deletion.substring(overlap_length2);
          pointer4++;
        }
      }
      pointer4++;
    }
    pointer4++;
  }
}
__name(diff_cleanupSemantic, "diff_cleanupSemantic");
var nonAlphaNumericRegex_ = /[^a-z0-9]/i;
var whitespaceRegex_ = /\s/;
var linebreakRegex_ = /[\r\n]/;
var blanklineEndRegex_ = /\n\r?\n$/;
var blanklineStartRegex_ = /^\r?\n\r?\n/;
function diff_cleanupSemanticLossless(diffs) {
  let pointer4 = 1;
  while (pointer4 < diffs.length - 1) {
    if (diffs[pointer4 - 1][0] === DIFF_EQUAL && diffs[pointer4 + 1][0] === DIFF_EQUAL) {
      let equality1 = diffs[pointer4 - 1][1];
      let edit = diffs[pointer4][1];
      let equality2 = diffs[pointer4 + 1][1];
      const commonOffset = diff_commonSuffix(equality1, edit);
      if (commonOffset) {
        const commonString = edit.substring(edit.length - commonOffset);
        equality1 = equality1.substring(0, equality1.length - commonOffset);
        edit = commonString + edit.substring(0, edit.length - commonOffset);
        equality2 = commonString + equality2;
      }
      let bestEquality1 = equality1;
      let bestEdit = edit;
      let bestEquality2 = equality2;
      let bestScore = diff_cleanupSemanticScore_(equality1, edit) + diff_cleanupSemanticScore_(edit, equality2);
      while (edit.charAt(0) === equality2.charAt(0)) {
        equality1 += edit.charAt(0);
        edit = edit.substring(1) + equality2.charAt(0);
        equality2 = equality2.substring(1);
        const score = diff_cleanupSemanticScore_(equality1, edit) + diff_cleanupSemanticScore_(edit, equality2);
        if (score >= bestScore) {
          bestScore = score;
          bestEquality1 = equality1;
          bestEdit = edit;
          bestEquality2 = equality2;
        }
      }
      if (diffs[pointer4 - 1][1] !== bestEquality1) {
        if (bestEquality1) {
          diffs[pointer4 - 1][1] = bestEquality1;
        } else {
          diffs.splice(pointer4 - 1, 1);
          pointer4--;
        }
        diffs[pointer4][1] = bestEdit;
        if (bestEquality2) {
          diffs[pointer4 + 1][1] = bestEquality2;
        } else {
          diffs.splice(pointer4 + 1, 1);
          pointer4--;
        }
      }
    }
    pointer4++;
  }
}
__name(diff_cleanupSemanticLossless, "diff_cleanupSemanticLossless");
function diff_cleanupMerge(diffs) {
  diffs.push(new Diff(DIFF_EQUAL, ""));
  let pointer4 = 0;
  let count_delete = 0;
  let count_insert = 0;
  let text_delete = "";
  let text_insert = "";
  let commonlength;
  while (pointer4 < diffs.length) {
    switch (diffs[pointer4][0]) {
      case DIFF_INSERT:
        count_insert++;
        text_insert += diffs[pointer4][1];
        pointer4++;
        break;
      case DIFF_DELETE:
        count_delete++;
        text_delete += diffs[pointer4][1];
        pointer4++;
        break;
      case DIFF_EQUAL:
        if (count_delete + count_insert > 1) {
          if (count_delete !== 0 && count_insert !== 0) {
            commonlength = diff_commonPrefix(text_insert, text_delete);
            if (commonlength !== 0) {
              if (pointer4 - count_delete - count_insert > 0 && diffs[pointer4 - count_delete - count_insert - 1][0] === DIFF_EQUAL) {
                diffs[pointer4 - count_delete - count_insert - 1][1] += text_insert.substring(0, commonlength);
              } else {
                diffs.splice(0, 0, new Diff(DIFF_EQUAL, text_insert.substring(0, commonlength)));
                pointer4++;
              }
              text_insert = text_insert.substring(commonlength);
              text_delete = text_delete.substring(commonlength);
            }
            commonlength = diff_commonSuffix(text_insert, text_delete);
            if (commonlength !== 0) {
              diffs[pointer4][1] = text_insert.substring(text_insert.length - commonlength) + diffs[pointer4][1];
              text_insert = text_insert.substring(0, text_insert.length - commonlength);
              text_delete = text_delete.substring(0, text_delete.length - commonlength);
            }
          }
          pointer4 -= count_delete + count_insert;
          diffs.splice(pointer4, count_delete + count_insert);
          if (text_delete.length) {
            diffs.splice(pointer4, 0, new Diff(DIFF_DELETE, text_delete));
            pointer4++;
          }
          if (text_insert.length) {
            diffs.splice(pointer4, 0, new Diff(DIFF_INSERT, text_insert));
            pointer4++;
          }
          pointer4++;
        } else if (pointer4 !== 0 && diffs[pointer4 - 1][0] === DIFF_EQUAL) {
          diffs[pointer4 - 1][1] += diffs[pointer4][1];
          diffs.splice(pointer4, 1);
        } else {
          pointer4++;
        }
        count_insert = 0;
        count_delete = 0;
        text_delete = "";
        text_insert = "";
        break;
    }
  }
  if (diffs[diffs.length - 1][1] === "") {
    diffs.pop();
  }
  let changes = false;
  pointer4 = 1;
  while (pointer4 < diffs.length - 1) {
    if (diffs[pointer4 - 1][0] === DIFF_EQUAL && diffs[pointer4 + 1][0] === DIFF_EQUAL) {
      if (diffs[pointer4][1].substring(diffs[pointer4][1].length - diffs[pointer4 - 1][1].length) === diffs[pointer4 - 1][1]) {
        diffs[pointer4][1] = diffs[pointer4 - 1][1] + diffs[pointer4][1].substring(0, diffs[pointer4][1].length - diffs[pointer4 - 1][1].length);
        diffs[pointer4 + 1][1] = diffs[pointer4 - 1][1] + diffs[pointer4 + 1][1];
        diffs.splice(pointer4 - 1, 1);
        changes = true;
      } else if (diffs[pointer4][1].substring(0, diffs[pointer4 + 1][1].length) === diffs[pointer4 + 1][1]) {
        diffs[pointer4 - 1][1] += diffs[pointer4 + 1][1];
        diffs[pointer4][1] = diffs[pointer4][1].substring(diffs[pointer4 + 1][1].length) + diffs[pointer4 + 1][1];
        diffs.splice(pointer4 + 1, 1);
        changes = true;
      }
    }
    pointer4++;
  }
  if (changes) {
    diff_cleanupMerge(diffs);
  }
}
__name(diff_cleanupMerge, "diff_cleanupMerge");
function diff_cleanupSemanticScore_(one, two) {
  if (!one || !two) {
    return 6;
  }
  const char1 = one.charAt(one.length - 1);
  const char2 = two.charAt(0);
  const nonAlphaNumeric1 = char1.match(nonAlphaNumericRegex_);
  const nonAlphaNumeric2 = char2.match(nonAlphaNumericRegex_);
  const whitespace1 = nonAlphaNumeric1 && char1.match(whitespaceRegex_);
  const whitespace2 = nonAlphaNumeric2 && char2.match(whitespaceRegex_);
  const lineBreak1 = whitespace1 && char1.match(linebreakRegex_);
  const lineBreak2 = whitespace2 && char2.match(linebreakRegex_);
  const blankLine1 = lineBreak1 && one.match(blanklineEndRegex_);
  const blankLine2 = lineBreak2 && two.match(blanklineStartRegex_);
  if (blankLine1 || blankLine2) {
    return 5;
  } else if (lineBreak1 || lineBreak2) {
    return 4;
  } else if (nonAlphaNumeric1 && !whitespace1 && whitespace2) {
    return 3;
  } else if (whitespace1 || whitespace2) {
    return 2;
  } else if (nonAlphaNumeric1 || nonAlphaNumeric2) {
    return 1;
  }
  return 0;
}
__name(diff_cleanupSemanticScore_, "diff_cleanupSemanticScore_");
var NO_DIFF_MESSAGE = "Compared values have no visual difference.";
var SIMILAR_MESSAGE = "Compared values serialize to the same structure.\nPrinting internal object structure without calling `toJSON` instead.";
var build = {};
var hasRequiredBuild;
function requireBuild() {
  if (hasRequiredBuild) return build;
  hasRequiredBuild = 1;
  Object.defineProperty(build, "__esModule", {
    value: true
  });
  build.default = diffSequence;
  const pkg = "diff-sequences";
  const NOT_YET_SET = 0;
  const countCommonItemsF = /* @__PURE__ */ __name((aIndex, aEnd, bIndex, bEnd, isCommon) => {
    let nCommon = 0;
    while (aIndex < aEnd && bIndex < bEnd && isCommon(aIndex, bIndex)) {
      aIndex += 1;
      bIndex += 1;
      nCommon += 1;
    }
    return nCommon;
  }, "countCommonItemsF");
  const countCommonItemsR = /* @__PURE__ */ __name((aStart, aIndex, bStart, bIndex, isCommon) => {
    let nCommon = 0;
    while (aStart <= aIndex && bStart <= bIndex && isCommon(aIndex, bIndex)) {
      aIndex -= 1;
      bIndex -= 1;
      nCommon += 1;
    }
    return nCommon;
  }, "countCommonItemsR");
  const extendPathsF = /* @__PURE__ */ __name((d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF) => {
    let iF = 0;
    let kF = -d;
    let aFirst = aIndexesF[iF];
    let aIndexPrev1 = aFirst;
    aIndexesF[iF] += countCommonItemsF(
      aFirst + 1,
      aEnd,
      bF + aFirst - kF + 1,
      bEnd,
      isCommon
    );
    const nF = d < iMaxF ? d : iMaxF;
    for (iF += 1, kF += 2; iF <= nF; iF += 1, kF += 2) {
      if (iF !== d && aIndexPrev1 < aIndexesF[iF]) {
        aFirst = aIndexesF[iF];
      } else {
        aFirst = aIndexPrev1 + 1;
        if (aEnd <= aFirst) {
          return iF - 1;
        }
      }
      aIndexPrev1 = aIndexesF[iF];
      aIndexesF[iF] = aFirst + countCommonItemsF(aFirst + 1, aEnd, bF + aFirst - kF + 1, bEnd, isCommon);
    }
    return iMaxF;
  }, "extendPathsF");
  const extendPathsR = /* @__PURE__ */ __name((d, aStart, bStart, bR, isCommon, aIndexesR, iMaxR) => {
    let iR = 0;
    let kR = d;
    let aFirst = aIndexesR[iR];
    let aIndexPrev1 = aFirst;
    aIndexesR[iR] -= countCommonItemsR(
      aStart,
      aFirst - 1,
      bStart,
      bR + aFirst - kR - 1,
      isCommon
    );
    const nR = d < iMaxR ? d : iMaxR;
    for (iR += 1, kR -= 2; iR <= nR; iR += 1, kR -= 2) {
      if (iR !== d && aIndexesR[iR] < aIndexPrev1) {
        aFirst = aIndexesR[iR];
      } else {
        aFirst = aIndexPrev1 - 1;
        if (aFirst < aStart) {
          return iR - 1;
        }
      }
      aIndexPrev1 = aIndexesR[iR];
      aIndexesR[iR] = aFirst - countCommonItemsR(
        aStart,
        aFirst - 1,
        bStart,
        bR + aFirst - kR - 1,
        isCommon
      );
    }
    return iMaxR;
  }, "extendPathsR");
  const extendOverlappablePathsF = /* @__PURE__ */ __name((d, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, iMaxF, aIndexesR, iMaxR, division) => {
    const bF = bStart - aStart;
    const aLength = aEnd - aStart;
    const bLength = bEnd - bStart;
    const baDeltaLength = bLength - aLength;
    const kMinOverlapF = -baDeltaLength - (d - 1);
    const kMaxOverlapF = -baDeltaLength + (d - 1);
    let aIndexPrev1 = NOT_YET_SET;
    const nF = d < iMaxF ? d : iMaxF;
    for (let iF = 0, kF = -d; iF <= nF; iF += 1, kF += 2) {
      const insert = iF === 0 || iF !== d && aIndexPrev1 < aIndexesF[iF];
      const aLastPrev = insert ? aIndexesF[iF] : aIndexPrev1;
      const aFirst = insert ? aLastPrev : aLastPrev + 1;
      const bFirst = bF + aFirst - kF;
      const nCommonF = countCommonItemsF(
        aFirst + 1,
        aEnd,
        bFirst + 1,
        bEnd,
        isCommon
      );
      const aLast = aFirst + nCommonF;
      aIndexPrev1 = aIndexesF[iF];
      aIndexesF[iF] = aLast;
      if (kMinOverlapF <= kF && kF <= kMaxOverlapF) {
        const iR = (d - 1 - (kF + baDeltaLength)) / 2;
        if (iR <= iMaxR && aIndexesR[iR] - 1 <= aLast) {
          const bLastPrev = bF + aLastPrev - (insert ? kF + 1 : kF - 1);
          const nCommonR = countCommonItemsR(
            aStart,
            aLastPrev,
            bStart,
            bLastPrev,
            isCommon
          );
          const aIndexPrevFirst = aLastPrev - nCommonR;
          const bIndexPrevFirst = bLastPrev - nCommonR;
          const aEndPreceding = aIndexPrevFirst + 1;
          const bEndPreceding = bIndexPrevFirst + 1;
          division.nChangePreceding = d - 1;
          if (d - 1 === aEndPreceding + bEndPreceding - aStart - bStart) {
            division.aEndPreceding = aStart;
            division.bEndPreceding = bStart;
          } else {
            division.aEndPreceding = aEndPreceding;
            division.bEndPreceding = bEndPreceding;
          }
          division.nCommonPreceding = nCommonR;
          if (nCommonR !== 0) {
            division.aCommonPreceding = aEndPreceding;
            division.bCommonPreceding = bEndPreceding;
          }
          division.nCommonFollowing = nCommonF;
          if (nCommonF !== 0) {
            division.aCommonFollowing = aFirst + 1;
            division.bCommonFollowing = bFirst + 1;
          }
          const aStartFollowing = aLast + 1;
          const bStartFollowing = bFirst + nCommonF + 1;
          division.nChangeFollowing = d - 1;
          if (d - 1 === aEnd + bEnd - aStartFollowing - bStartFollowing) {
            division.aStartFollowing = aEnd;
            division.bStartFollowing = bEnd;
          } else {
            division.aStartFollowing = aStartFollowing;
            division.bStartFollowing = bStartFollowing;
          }
          return true;
        }
      }
    }
    return false;
  }, "extendOverlappablePathsF");
  const extendOverlappablePathsR = /* @__PURE__ */ __name((d, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, iMaxF, aIndexesR, iMaxR, division) => {
    const bR = bEnd - aEnd;
    const aLength = aEnd - aStart;
    const bLength = bEnd - bStart;
    const baDeltaLength = bLength - aLength;
    const kMinOverlapR = baDeltaLength - d;
    const kMaxOverlapR = baDeltaLength + d;
    let aIndexPrev1 = NOT_YET_SET;
    const nR = d < iMaxR ? d : iMaxR;
    for (let iR = 0, kR = d; iR <= nR; iR += 1, kR -= 2) {
      const insert = iR === 0 || iR !== d && aIndexesR[iR] < aIndexPrev1;
      const aLastPrev = insert ? aIndexesR[iR] : aIndexPrev1;
      const aFirst = insert ? aLastPrev : aLastPrev - 1;
      const bFirst = bR + aFirst - kR;
      const nCommonR = countCommonItemsR(
        aStart,
        aFirst - 1,
        bStart,
        bFirst - 1,
        isCommon
      );
      const aLast = aFirst - nCommonR;
      aIndexPrev1 = aIndexesR[iR];
      aIndexesR[iR] = aLast;
      if (kMinOverlapR <= kR && kR <= kMaxOverlapR) {
        const iF = (d + (kR - baDeltaLength)) / 2;
        if (iF <= iMaxF && aLast - 1 <= aIndexesF[iF]) {
          const bLast = bFirst - nCommonR;
          division.nChangePreceding = d;
          if (d === aLast + bLast - aStart - bStart) {
            division.aEndPreceding = aStart;
            division.bEndPreceding = bStart;
          } else {
            division.aEndPreceding = aLast;
            division.bEndPreceding = bLast;
          }
          division.nCommonPreceding = nCommonR;
          if (nCommonR !== 0) {
            division.aCommonPreceding = aLast;
            division.bCommonPreceding = bLast;
          }
          division.nChangeFollowing = d - 1;
          if (d === 1) {
            division.nCommonFollowing = 0;
            division.aStartFollowing = aEnd;
            division.bStartFollowing = bEnd;
          } else {
            const bLastPrev = bR + aLastPrev - (insert ? kR - 1 : kR + 1);
            const nCommonF = countCommonItemsF(
              aLastPrev,
              aEnd,
              bLastPrev,
              bEnd,
              isCommon
            );
            division.nCommonFollowing = nCommonF;
            if (nCommonF !== 0) {
              division.aCommonFollowing = aLastPrev;
              division.bCommonFollowing = bLastPrev;
            }
            const aStartFollowing = aLastPrev + nCommonF;
            const bStartFollowing = bLastPrev + nCommonF;
            if (d - 1 === aEnd + bEnd - aStartFollowing - bStartFollowing) {
              division.aStartFollowing = aEnd;
              division.bStartFollowing = bEnd;
            } else {
              division.aStartFollowing = aStartFollowing;
              division.bStartFollowing = bStartFollowing;
            }
          }
          return true;
        }
      }
    }
    return false;
  }, "extendOverlappablePathsR");
  const divide = /* @__PURE__ */ __name((nChange, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, aIndexesR, division) => {
    const bF = bStart - aStart;
    const bR = bEnd - aEnd;
    const aLength = aEnd - aStart;
    const bLength = bEnd - bStart;
    const baDeltaLength = bLength - aLength;
    let iMaxF = aLength;
    let iMaxR = aLength;
    aIndexesF[0] = aStart - 1;
    aIndexesR[0] = aEnd;
    if (baDeltaLength % 2 === 0) {
      const dMin = (nChange || baDeltaLength) / 2;
      const dMax = (aLength + bLength) / 2;
      for (let d = 1; d <= dMax; d += 1) {
        iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF);
        if (d < dMin) {
          iMaxR = extendPathsR(d, aStart, bStart, bR, isCommon, aIndexesR, iMaxR);
        } else if (
          // If a reverse path overlaps a forward path in the same diagonal,
          // return a division of the index intervals at the middle change.
          extendOverlappablePathsR(
            d,
            aStart,
            aEnd,
            bStart,
            bEnd,
            isCommon,
            aIndexesF,
            iMaxF,
            aIndexesR,
            iMaxR,
            division
          )
        ) {
          return;
        }
      }
    } else {
      const dMin = ((nChange || baDeltaLength) + 1) / 2;
      const dMax = (aLength + bLength + 1) / 2;
      let d = 1;
      iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF);
      for (d += 1; d <= dMax; d += 1) {
        iMaxR = extendPathsR(
          d - 1,
          aStart,
          bStart,
          bR,
          isCommon,
          aIndexesR,
          iMaxR
        );
        if (d < dMin) {
          iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF);
        } else if (
          // If a forward path overlaps a reverse path in the same diagonal,
          // return a division of the index intervals at the middle change.
          extendOverlappablePathsF(
            d,
            aStart,
            aEnd,
            bStart,
            bEnd,
            isCommon,
            aIndexesF,
            iMaxF,
            aIndexesR,
            iMaxR,
            division
          )
        ) {
          return;
        }
      }
    }
    throw new Error(
      `${pkg}: no overlap aStart=${aStart} aEnd=${aEnd} bStart=${bStart} bEnd=${bEnd}`
    );
  }, "divide");
  const findSubsequences = /* @__PURE__ */ __name((nChange, aStart, aEnd, bStart, bEnd, transposed, callbacks, aIndexesF, aIndexesR, division) => {
    if (bEnd - bStart < aEnd - aStart) {
      transposed = !transposed;
      if (transposed && callbacks.length === 1) {
        const { foundSubsequence: foundSubsequence2, isCommon: isCommon2 } = callbacks[0];
        callbacks[1] = {
          foundSubsequence: /* @__PURE__ */ __name((nCommon, bCommon, aCommon) => {
            foundSubsequence2(nCommon, aCommon, bCommon);
          }, "foundSubsequence"),
          isCommon: /* @__PURE__ */ __name((bIndex, aIndex) => isCommon2(aIndex, bIndex), "isCommon")
        };
      }
      const tStart = aStart;
      const tEnd = aEnd;
      aStart = bStart;
      aEnd = bEnd;
      bStart = tStart;
      bEnd = tEnd;
    }
    const { foundSubsequence, isCommon } = callbacks[transposed ? 1 : 0];
    divide(
      nChange,
      aStart,
      aEnd,
      bStart,
      bEnd,
      isCommon,
      aIndexesF,
      aIndexesR,
      division
    );
    const {
      nChangePreceding,
      aEndPreceding,
      bEndPreceding,
      nCommonPreceding,
      aCommonPreceding,
      bCommonPreceding,
      nCommonFollowing,
      aCommonFollowing,
      bCommonFollowing,
      nChangeFollowing,
      aStartFollowing,
      bStartFollowing
    } = division;
    if (aStart < aEndPreceding && bStart < bEndPreceding) {
      findSubsequences(
        nChangePreceding,
        aStart,
        aEndPreceding,
        bStart,
        bEndPreceding,
        transposed,
        callbacks,
        aIndexesF,
        aIndexesR,
        division
      );
    }
    if (nCommonPreceding !== 0) {
      foundSubsequence(nCommonPreceding, aCommonPreceding, bCommonPreceding);
    }
    if (nCommonFollowing !== 0) {
      foundSubsequence(nCommonFollowing, aCommonFollowing, bCommonFollowing);
    }
    if (aStartFollowing < aEnd && bStartFollowing < bEnd) {
      findSubsequences(
        nChangeFollowing,
        aStartFollowing,
        aEnd,
        bStartFollowing,
        bEnd,
        transposed,
        callbacks,
        aIndexesF,
        aIndexesR,
        division
      );
    }
  }, "findSubsequences");
  const validateLength = /* @__PURE__ */ __name((name, arg) => {
    if (typeof arg !== "number") {
      throw new TypeError(`${pkg}: ${name} typeof ${typeof arg} is not a number`);
    }
    if (!Number.isSafeInteger(arg)) {
      throw new RangeError(`${pkg}: ${name} value ${arg} is not a safe integer`);
    }
    if (arg < 0) {
      throw new RangeError(`${pkg}: ${name} value ${arg} is a negative integer`);
    }
  }, "validateLength");
  const validateCallback = /* @__PURE__ */ __name((name, arg) => {
    const type5 = typeof arg;
    if (type5 !== "function") {
      throw new TypeError(`${pkg}: ${name} typeof ${type5} is not a function`);
    }
  }, "validateCallback");
  function diffSequence(aLength, bLength, isCommon, foundSubsequence) {
    validateLength("aLength", aLength);
    validateLength("bLength", bLength);
    validateCallback("isCommon", isCommon);
    validateCallback("foundSubsequence", foundSubsequence);
    const nCommonF = countCommonItemsF(0, aLength, 0, bLength, isCommon);
    if (nCommonF !== 0) {
      foundSubsequence(nCommonF, 0, 0);
    }
    if (aLength !== nCommonF || bLength !== nCommonF) {
      const aStart = nCommonF;
      const bStart = nCommonF;
      const nCommonR = countCommonItemsR(
        aStart,
        aLength - 1,
        bStart,
        bLength - 1,
        isCommon
      );
      const aEnd = aLength - nCommonR;
      const bEnd = bLength - nCommonR;
      const nCommonFR = nCommonF + nCommonR;
      if (aLength !== nCommonFR && bLength !== nCommonFR) {
        const nChange = 0;
        const transposed = false;
        const callbacks = [
          {
            foundSubsequence,
            isCommon
          }
        ];
        const aIndexesF = [NOT_YET_SET];
        const aIndexesR = [NOT_YET_SET];
        const division = {
          aCommonFollowing: NOT_YET_SET,
          aCommonPreceding: NOT_YET_SET,
          aEndPreceding: NOT_YET_SET,
          aStartFollowing: NOT_YET_SET,
          bCommonFollowing: NOT_YET_SET,
          bCommonPreceding: NOT_YET_SET,
          bEndPreceding: NOT_YET_SET,
          bStartFollowing: NOT_YET_SET,
          nChangeFollowing: NOT_YET_SET,
          nChangePreceding: NOT_YET_SET,
          nCommonFollowing: NOT_YET_SET,
          nCommonPreceding: NOT_YET_SET
        };
        findSubsequences(
          nChange,
          aStart,
          aEnd,
          bStart,
          bEnd,
          transposed,
          callbacks,
          aIndexesF,
          aIndexesR,
          division
        );
      }
      if (nCommonR !== 0) {
        foundSubsequence(nCommonR, aEnd, bEnd);
      }
    }
  }
  __name(diffSequence, "diffSequence");
  return build;
}
__name(requireBuild, "requireBuild");
var buildExports = requireBuild();
var diffSequences = getDefaultExportFromCjs2(buildExports);
function formatTrailingSpaces(line2, trailingSpaceFormatter) {
  return line2.replace(/\s+$/, (match3) => trailingSpaceFormatter(match3));
}
__name(formatTrailingSpaces, "formatTrailingSpaces");
function printDiffLine(line2, isFirstOrLast, color2, indicator, trailingSpaceFormatter, emptyFirstOrLastLinePlaceholder) {
  return line2.length !== 0 ? color2(`${indicator} ${formatTrailingSpaces(line2, trailingSpaceFormatter)}`) : indicator !== " " ? color2(indicator) : isFirstOrLast && emptyFirstOrLastLinePlaceholder.length !== 0 ? color2(`${indicator} ${emptyFirstOrLastLinePlaceholder}`) : "";
}
__name(printDiffLine, "printDiffLine");
function printDeleteLine(line2, isFirstOrLast, { aColor, aIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder }) {
  return printDiffLine(line2, isFirstOrLast, aColor, aIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder);
}
__name(printDeleteLine, "printDeleteLine");
function printInsertLine(line2, isFirstOrLast, { bColor, bIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder }) {
  return printDiffLine(line2, isFirstOrLast, bColor, bIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder);
}
__name(printInsertLine, "printInsertLine");
function printCommonLine(line2, isFirstOrLast, { commonColor, commonIndicator, commonLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder }) {
  return printDiffLine(line2, isFirstOrLast, commonColor, commonIndicator, commonLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder);
}
__name(printCommonLine, "printCommonLine");
function createPatchMark(aStart, aEnd, bStart, bEnd, { patchColor }) {
  return patchColor(`@@ -${aStart + 1},${aEnd - aStart} +${bStart + 1},${bEnd - bStart} @@`);
}
__name(createPatchMark, "createPatchMark");
function joinAlignedDiffsNoExpand(diffs, options) {
  const iLength = diffs.length;
  const nContextLines = options.contextLines;
  const nContextLines2 = nContextLines + nContextLines;
  let jLength = iLength;
  let hasExcessAtStartOrEnd = false;
  let nExcessesBetweenChanges = 0;
  let i2 = 0;
  while (i2 !== iLength) {
    const iStart = i2;
    while (i2 !== iLength && diffs[i2][0] === DIFF_EQUAL) {
      i2 += 1;
    }
    if (iStart !== i2) {
      if (iStart === 0) {
        if (i2 > nContextLines) {
          jLength -= i2 - nContextLines;
          hasExcessAtStartOrEnd = true;
        }
      } else if (i2 === iLength) {
        const n2 = i2 - iStart;
        if (n2 > nContextLines) {
          jLength -= n2 - nContextLines;
          hasExcessAtStartOrEnd = true;
        }
      } else {
        const n2 = i2 - iStart;
        if (n2 > nContextLines2) {
          jLength -= n2 - nContextLines2;
          nExcessesBetweenChanges += 1;
        }
      }
    }
    while (i2 !== iLength && diffs[i2][0] !== DIFF_EQUAL) {
      i2 += 1;
    }
  }
  const hasPatch = nExcessesBetweenChanges !== 0 || hasExcessAtStartOrEnd;
  if (nExcessesBetweenChanges !== 0) {
    jLength += nExcessesBetweenChanges + 1;
  } else if (hasExcessAtStartOrEnd) {
    jLength += 1;
  }
  const jLast = jLength - 1;
  const lines = [];
  let jPatchMark = 0;
  if (hasPatch) {
    lines.push("");
  }
  let aStart = 0;
  let bStart = 0;
  let aEnd = 0;
  let bEnd = 0;
  const pushCommonLine = /* @__PURE__ */ __name((line2) => {
    const j = lines.length;
    lines.push(printCommonLine(line2, j === 0 || j === jLast, options));
    aEnd += 1;
    bEnd += 1;
  }, "pushCommonLine");
  const pushDeleteLine = /* @__PURE__ */ __name((line2) => {
    const j = lines.length;
    lines.push(printDeleteLine(line2, j === 0 || j === jLast, options));
    aEnd += 1;
  }, "pushDeleteLine");
  const pushInsertLine = /* @__PURE__ */ __name((line2) => {
    const j = lines.length;
    lines.push(printInsertLine(line2, j === 0 || j === jLast, options));
    bEnd += 1;
  }, "pushInsertLine");
  i2 = 0;
  while (i2 !== iLength) {
    let iStart = i2;
    while (i2 !== iLength && diffs[i2][0] === DIFF_EQUAL) {
      i2 += 1;
    }
    if (iStart !== i2) {
      if (iStart === 0) {
        if (i2 > nContextLines) {
          iStart = i2 - nContextLines;
          aStart = iStart;
          bStart = iStart;
          aEnd = aStart;
          bEnd = bStart;
        }
        for (let iCommon = iStart; iCommon !== i2; iCommon += 1) {
          pushCommonLine(diffs[iCommon][1]);
        }
      } else if (i2 === iLength) {
        const iEnd = i2 - iStart > nContextLines ? iStart + nContextLines : i2;
        for (let iCommon = iStart; iCommon !== iEnd; iCommon += 1) {
          pushCommonLine(diffs[iCommon][1]);
        }
      } else {
        const nCommon = i2 - iStart;
        if (nCommon > nContextLines2) {
          const iEnd = iStart + nContextLines;
          for (let iCommon = iStart; iCommon !== iEnd; iCommon += 1) {
            pushCommonLine(diffs[iCommon][1]);
          }
          lines[jPatchMark] = createPatchMark(aStart, aEnd, bStart, bEnd, options);
          jPatchMark = lines.length;
          lines.push("");
          const nOmit = nCommon - nContextLines2;
          aStart = aEnd + nOmit;
          bStart = bEnd + nOmit;
          aEnd = aStart;
          bEnd = bStart;
          for (let iCommon = i2 - nContextLines; iCommon !== i2; iCommon += 1) {
            pushCommonLine(diffs[iCommon][1]);
          }
        } else {
          for (let iCommon = iStart; iCommon !== i2; iCommon += 1) {
            pushCommonLine(diffs[iCommon][1]);
          }
        }
      }
    }
    while (i2 !== iLength && diffs[i2][0] === DIFF_DELETE) {
      pushDeleteLine(diffs[i2][1]);
      i2 += 1;
    }
    while (i2 !== iLength && diffs[i2][0] === DIFF_INSERT) {
      pushInsertLine(diffs[i2][1]);
      i2 += 1;
    }
  }
  if (hasPatch) {
    lines[jPatchMark] = createPatchMark(aStart, aEnd, bStart, bEnd, options);
  }
  return lines.join("\n");
}
__name(joinAlignedDiffsNoExpand, "joinAlignedDiffsNoExpand");
function joinAlignedDiffsExpand(diffs, options) {
  return diffs.map((diff2, i2, diffs2) => {
    const line2 = diff2[1];
    const isFirstOrLast = i2 === 0 || i2 === diffs2.length - 1;
    switch (diff2[0]) {
      case DIFF_DELETE:
        return printDeleteLine(line2, isFirstOrLast, options);
      case DIFF_INSERT:
        return printInsertLine(line2, isFirstOrLast, options);
      default:
        return printCommonLine(line2, isFirstOrLast, options);
    }
  }).join("\n");
}
__name(joinAlignedDiffsExpand, "joinAlignedDiffsExpand");
var noColor = /* @__PURE__ */ __name((string) => string, "noColor");
var DIFF_CONTEXT_DEFAULT = 5;
var DIFF_TRUNCATE_THRESHOLD_DEFAULT = 0;
function getDefaultOptions() {
  return {
    aAnnotation: "Expected",
    aColor: s.green,
    aIndicator: "-",
    bAnnotation: "Received",
    bColor: s.red,
    bIndicator: "+",
    changeColor: s.inverse,
    changeLineTrailingSpaceColor: noColor,
    commonColor: s.dim,
    commonIndicator: " ",
    commonLineTrailingSpaceColor: noColor,
    compareKeys: void 0,
    contextLines: DIFF_CONTEXT_DEFAULT,
    emptyFirstOrLastLinePlaceholder: "",
    expand: false,
    includeChangeCounts: false,
    omitAnnotationLines: false,
    patchColor: s.yellow,
    printBasicPrototype: false,
    truncateThreshold: DIFF_TRUNCATE_THRESHOLD_DEFAULT,
    truncateAnnotation: "... Diff result is truncated",
    truncateAnnotationColor: noColor
  };
}
__name(getDefaultOptions, "getDefaultOptions");
function getCompareKeys(compareKeys) {
  return compareKeys && typeof compareKeys === "function" ? compareKeys : void 0;
}
__name(getCompareKeys, "getCompareKeys");
function getContextLines(contextLines) {
  return typeof contextLines === "number" && Number.isSafeInteger(contextLines) && contextLines >= 0 ? contextLines : DIFF_CONTEXT_DEFAULT;
}
__name(getContextLines, "getContextLines");
function normalizeDiffOptions(options = {}) {
  return {
    ...getDefaultOptions(),
    ...options,
    compareKeys: getCompareKeys(options.compareKeys),
    contextLines: getContextLines(options.contextLines)
  };
}
__name(normalizeDiffOptions, "normalizeDiffOptions");
function isEmptyString(lines) {
  return lines.length === 1 && lines[0].length === 0;
}
__name(isEmptyString, "isEmptyString");
function countChanges(diffs) {
  let a2 = 0;
  let b = 0;
  diffs.forEach((diff2) => {
    switch (diff2[0]) {
      case DIFF_DELETE:
        a2 += 1;
        break;
      case DIFF_INSERT:
        b += 1;
        break;
    }
  });
  return {
    a: a2,
    b
  };
}
__name(countChanges, "countChanges");
function printAnnotation({ aAnnotation, aColor, aIndicator, bAnnotation, bColor, bIndicator, includeChangeCounts, omitAnnotationLines }, changeCounts) {
  if (omitAnnotationLines) {
    return "";
  }
  let aRest = "";
  let bRest = "";
  if (includeChangeCounts) {
    const aCount = String(changeCounts.a);
    const bCount = String(changeCounts.b);
    const baAnnotationLengthDiff = bAnnotation.length - aAnnotation.length;
    const aAnnotationPadding = " ".repeat(Math.max(0, baAnnotationLengthDiff));
    const bAnnotationPadding = " ".repeat(Math.max(0, -baAnnotationLengthDiff));
    const baCountLengthDiff = bCount.length - aCount.length;
    const aCountPadding = " ".repeat(Math.max(0, baCountLengthDiff));
    const bCountPadding = " ".repeat(Math.max(0, -baCountLengthDiff));
    aRest = `${aAnnotationPadding}  ${aIndicator} ${aCountPadding}${aCount}`;
    bRest = `${bAnnotationPadding}  ${bIndicator} ${bCountPadding}${bCount}`;
  }
  const a2 = `${aIndicator} ${aAnnotation}${aRest}`;
  const b = `${bIndicator} ${bAnnotation}${bRest}`;
  return `${aColor(a2)}
${bColor(b)}

`;
}
__name(printAnnotation, "printAnnotation");
function printDiffLines(diffs, truncated, options) {
  return printAnnotation(options, countChanges(diffs)) + (options.expand ? joinAlignedDiffsExpand(diffs, options) : joinAlignedDiffsNoExpand(diffs, options)) + (truncated ? options.truncateAnnotationColor(`
${options.truncateAnnotation}`) : "");
}
__name(printDiffLines, "printDiffLines");
function diffLinesUnified(aLines, bLines, options) {
  const normalizedOptions = normalizeDiffOptions(options);
  const [diffs, truncated] = diffLinesRaw(isEmptyString(aLines) ? [] : aLines, isEmptyString(bLines) ? [] : bLines, normalizedOptions);
  return printDiffLines(diffs, truncated, normalizedOptions);
}
__name(diffLinesUnified, "diffLinesUnified");
function diffLinesUnified2(aLinesDisplay, bLinesDisplay, aLinesCompare, bLinesCompare, options) {
  if (isEmptyString(aLinesDisplay) && isEmptyString(aLinesCompare)) {
    aLinesDisplay = [];
    aLinesCompare = [];
  }
  if (isEmptyString(bLinesDisplay) && isEmptyString(bLinesCompare)) {
    bLinesDisplay = [];
    bLinesCompare = [];
  }
  if (aLinesDisplay.length !== aLinesCompare.length || bLinesDisplay.length !== bLinesCompare.length) {
    return diffLinesUnified(aLinesDisplay, bLinesDisplay, options);
  }
  const [diffs, truncated] = diffLinesRaw(aLinesCompare, bLinesCompare, options);
  let aIndex = 0;
  let bIndex = 0;
  diffs.forEach((diff2) => {
    switch (diff2[0]) {
      case DIFF_DELETE:
        diff2[1] = aLinesDisplay[aIndex];
        aIndex += 1;
        break;
      case DIFF_INSERT:
        diff2[1] = bLinesDisplay[bIndex];
        bIndex += 1;
        break;
      default:
        diff2[1] = bLinesDisplay[bIndex];
        aIndex += 1;
        bIndex += 1;
    }
  });
  return printDiffLines(diffs, truncated, normalizeDiffOptions(options));
}
__name(diffLinesUnified2, "diffLinesUnified2");
function diffLinesRaw(aLines, bLines, options) {
  const truncate3 = (options === null || options === void 0 ? void 0 : options.truncateThreshold) ?? false;
  const truncateThreshold = Math.max(Math.floor((options === null || options === void 0 ? void 0 : options.truncateThreshold) ?? 0), 0);
  const aLength = truncate3 ? Math.min(aLines.length, truncateThreshold) : aLines.length;
  const bLength = truncate3 ? Math.min(bLines.length, truncateThreshold) : bLines.length;
  const truncated = aLength !== aLines.length || bLength !== bLines.length;
  const isCommon = /* @__PURE__ */ __name((aIndex2, bIndex2) => aLines[aIndex2] === bLines[bIndex2], "isCommon");
  const diffs = [];
  let aIndex = 0;
  let bIndex = 0;
  const foundSubsequence = /* @__PURE__ */ __name((nCommon, aCommon, bCommon) => {
    for (; aIndex !== aCommon; aIndex += 1) {
      diffs.push(new Diff(DIFF_DELETE, aLines[aIndex]));
    }
    for (; bIndex !== bCommon; bIndex += 1) {
      diffs.push(new Diff(DIFF_INSERT, bLines[bIndex]));
    }
    for (; nCommon !== 0; nCommon -= 1, aIndex += 1, bIndex += 1) {
      diffs.push(new Diff(DIFF_EQUAL, bLines[bIndex]));
    }
  }, "foundSubsequence");
  diffSequences(aLength, bLength, isCommon, foundSubsequence);
  for (; aIndex !== aLength; aIndex += 1) {
    diffs.push(new Diff(DIFF_DELETE, aLines[aIndex]));
  }
  for (; bIndex !== bLength; bIndex += 1) {
    diffs.push(new Diff(DIFF_INSERT, bLines[bIndex]));
  }
  return [diffs, truncated];
}
__name(diffLinesRaw, "diffLinesRaw");
function getType3(value) {
  if (value === void 0) {
    return "undefined";
  } else if (value === null) {
    return "null";
  } else if (Array.isArray(value)) {
    return "array";
  } else if (typeof value === "boolean") {
    return "boolean";
  } else if (typeof value === "function") {
    return "function";
  } else if (typeof value === "number") {
    return "number";
  } else if (typeof value === "string") {
    return "string";
  } else if (typeof value === "bigint") {
    return "bigint";
  } else if (typeof value === "object") {
    if (value != null) {
      if (value.constructor === RegExp) {
        return "regexp";
      } else if (value.constructor === Map) {
        return "map";
      } else if (value.constructor === Set) {
        return "set";
      } else if (value.constructor === Date) {
        return "date";
      }
    }
    return "object";
  } else if (typeof value === "symbol") {
    return "symbol";
  }
  throw new Error(`value of unknown type: ${value}`);
}
__name(getType3, "getType");
function getNewLineSymbol(string) {
  return string.includes("\r\n") ? "\r\n" : "\n";
}
__name(getNewLineSymbol, "getNewLineSymbol");
function diffStrings(a2, b, options) {
  const truncate3 = (options === null || options === void 0 ? void 0 : options.truncateThreshold) ?? false;
  const truncateThreshold = Math.max(Math.floor((options === null || options === void 0 ? void 0 : options.truncateThreshold) ?? 0), 0);
  let aLength = a2.length;
  let bLength = b.length;
  if (truncate3) {
    const aMultipleLines = a2.includes("\n");
    const bMultipleLines = b.includes("\n");
    const aNewLineSymbol = getNewLineSymbol(a2);
    const bNewLineSymbol = getNewLineSymbol(b);
    const _a3 = aMultipleLines ? `${a2.split(aNewLineSymbol, truncateThreshold).join(aNewLineSymbol)}
` : a2;
    const _b = bMultipleLines ? `${b.split(bNewLineSymbol, truncateThreshold).join(bNewLineSymbol)}
` : b;
    aLength = _a3.length;
    bLength = _b.length;
  }
  const truncated = aLength !== a2.length || bLength !== b.length;
  const isCommon = /* @__PURE__ */ __name((aIndex2, bIndex2) => a2[aIndex2] === b[bIndex2], "isCommon");
  let aIndex = 0;
  let bIndex = 0;
  const diffs = [];
  const foundSubsequence = /* @__PURE__ */ __name((nCommon, aCommon, bCommon) => {
    if (aIndex !== aCommon) {
      diffs.push(new Diff(DIFF_DELETE, a2.slice(aIndex, aCommon)));
    }
    if (bIndex !== bCommon) {
      diffs.push(new Diff(DIFF_INSERT, b.slice(bIndex, bCommon)));
    }
    aIndex = aCommon + nCommon;
    bIndex = bCommon + nCommon;
    diffs.push(new Diff(DIFF_EQUAL, b.slice(bCommon, bIndex)));
  }, "foundSubsequence");
  diffSequences(aLength, bLength, isCommon, foundSubsequence);
  if (aIndex !== aLength) {
    diffs.push(new Diff(DIFF_DELETE, a2.slice(aIndex)));
  }
  if (bIndex !== bLength) {
    diffs.push(new Diff(DIFF_INSERT, b.slice(bIndex)));
  }
  return [diffs, truncated];
}
__name(diffStrings, "diffStrings");
function concatenateRelevantDiffs(op, diffs, changeColor) {
  return diffs.reduce((reduced, diff2) => reduced + (diff2[0] === DIFF_EQUAL ? diff2[1] : diff2[0] === op && diff2[1].length !== 0 ? changeColor(diff2[1]) : ""), "");
}
__name(concatenateRelevantDiffs, "concatenateRelevantDiffs");
var _ChangeBuffer = class _ChangeBuffer {
  op;
  line;
  lines;
  changeColor;
  constructor(op, changeColor) {
    this.op = op;
    this.line = [];
    this.lines = [];
    this.changeColor = changeColor;
  }
  pushSubstring(substring) {
    this.pushDiff(new Diff(this.op, substring));
  }
  pushLine() {
    this.lines.push(this.line.length !== 1 ? new Diff(this.op, concatenateRelevantDiffs(this.op, this.line, this.changeColor)) : this.line[0][0] === this.op ? this.line[0] : new Diff(this.op, this.line[0][1]));
    this.line.length = 0;
  }
  isLineEmpty() {
    return this.line.length === 0;
  }
  // Minor input to buffer.
  pushDiff(diff2) {
    this.line.push(diff2);
  }
  // Main input to buffer.
  align(diff2) {
    const string = diff2[1];
    if (string.includes("\n")) {
      const substrings = string.split("\n");
      const iLast = substrings.length - 1;
      substrings.forEach((substring, i2) => {
        if (i2 < iLast) {
          this.pushSubstring(substring);
          this.pushLine();
        } else if (substring.length !== 0) {
          this.pushSubstring(substring);
        }
      });
    } else {
      this.pushDiff(diff2);
    }
  }
  // Output from buffer.
  moveLinesTo(lines) {
    if (!this.isLineEmpty()) {
      this.pushLine();
    }
    lines.push(...this.lines);
    this.lines.length = 0;
  }
};
__name(_ChangeBuffer, "ChangeBuffer");
var ChangeBuffer = _ChangeBuffer;
var _CommonBuffer = class _CommonBuffer {
  deleteBuffer;
  insertBuffer;
  lines;
  constructor(deleteBuffer, insertBuffer) {
    this.deleteBuffer = deleteBuffer;
    this.insertBuffer = insertBuffer;
    this.lines = [];
  }
  pushDiffCommonLine(diff2) {
    this.lines.push(diff2);
  }
  pushDiffChangeLines(diff2) {
    const isDiffEmpty = diff2[1].length === 0;
    if (!isDiffEmpty || this.deleteBuffer.isLineEmpty()) {
      this.deleteBuffer.pushDiff(diff2);
    }
    if (!isDiffEmpty || this.insertBuffer.isLineEmpty()) {
      this.insertBuffer.pushDiff(diff2);
    }
  }
  flushChangeLines() {
    this.deleteBuffer.moveLinesTo(this.lines);
    this.insertBuffer.moveLinesTo(this.lines);
  }
  // Input to buffer.
  align(diff2) {
    const op = diff2[0];
    const string = diff2[1];
    if (string.includes("\n")) {
      const substrings = string.split("\n");
      const iLast = substrings.length - 1;
      substrings.forEach((substring, i2) => {
        if (i2 === 0) {
          const subdiff = new Diff(op, substring);
          if (this.deleteBuffer.isLineEmpty() && this.insertBuffer.isLineEmpty()) {
            this.flushChangeLines();
            this.pushDiffCommonLine(subdiff);
          } else {
            this.pushDiffChangeLines(subdiff);
            this.flushChangeLines();
          }
        } else if (i2 < iLast) {
          this.pushDiffCommonLine(new Diff(op, substring));
        } else if (substring.length !== 0) {
          this.pushDiffChangeLines(new Diff(op, substring));
        }
      });
    } else {
      this.pushDiffChangeLines(diff2);
    }
  }
  // Output from buffer.
  getLines() {
    this.flushChangeLines();
    return this.lines;
  }
};
__name(_CommonBuffer, "CommonBuffer");
var CommonBuffer = _CommonBuffer;
function getAlignedDiffs(diffs, changeColor) {
  const deleteBuffer = new ChangeBuffer(DIFF_DELETE, changeColor);
  const insertBuffer = new ChangeBuffer(DIFF_INSERT, changeColor);
  const commonBuffer = new CommonBuffer(deleteBuffer, insertBuffer);
  diffs.forEach((diff2) => {
    switch (diff2[0]) {
      case DIFF_DELETE:
        deleteBuffer.align(diff2);
        break;
      case DIFF_INSERT:
        insertBuffer.align(diff2);
        break;
      default:
        commonBuffer.align(diff2);
    }
  });
  return commonBuffer.getLines();
}
__name(getAlignedDiffs, "getAlignedDiffs");
function hasCommonDiff(diffs, isMultiline) {
  if (isMultiline) {
    const iLast = diffs.length - 1;
    return diffs.some((diff2, i2) => diff2[0] === DIFF_EQUAL && (i2 !== iLast || diff2[1] !== "\n"));
  }
  return diffs.some((diff2) => diff2[0] === DIFF_EQUAL);
}
__name(hasCommonDiff, "hasCommonDiff");
function diffStringsUnified(a2, b, options) {
  if (a2 !== b && a2.length !== 0 && b.length !== 0) {
    const isMultiline = a2.includes("\n") || b.includes("\n");
    const [diffs, truncated] = diffStringsRaw(isMultiline ? `${a2}
` : a2, isMultiline ? `${b}
` : b, true, options);
    if (hasCommonDiff(diffs, isMultiline)) {
      const optionsNormalized = normalizeDiffOptions(options);
      const lines = getAlignedDiffs(diffs, optionsNormalized.changeColor);
      return printDiffLines(lines, truncated, optionsNormalized);
    }
  }
  return diffLinesUnified(a2.split("\n"), b.split("\n"), options);
}
__name(diffStringsUnified, "diffStringsUnified");
function diffStringsRaw(a2, b, cleanup, options) {
  const [diffs, truncated] = diffStrings(a2, b, options);
  if (cleanup) {
    diff_cleanupSemantic(diffs);
  }
  return [diffs, truncated];
}
__name(diffStringsRaw, "diffStringsRaw");
function getCommonMessage(message, options) {
  const { commonColor } = normalizeDiffOptions(options);
  return commonColor(message);
}
__name(getCommonMessage, "getCommonMessage");
var { AsymmetricMatcher: AsymmetricMatcher2, DOMCollection: DOMCollection2, DOMElement: DOMElement2, Immutable: Immutable2, ReactElement: ReactElement2, ReactTestComponent: ReactTestComponent2 } = plugins;
var PLUGINS2 = [
  ReactTestComponent2,
  ReactElement2,
  DOMElement2,
  DOMCollection2,
  Immutable2,
  AsymmetricMatcher2,
  plugins.Error
];
var FORMAT_OPTIONS = {
  maxDepth: 20,
  plugins: PLUGINS2
};
var FALLBACK_FORMAT_OPTIONS = {
  callToJSON: false,
  maxDepth: 8,
  plugins: PLUGINS2
};
function diff(a2, b, options) {
  if (Object.is(a2, b)) {
    return "";
  }
  const aType = getType3(a2);
  let expectedType = aType;
  let omitDifference = false;
  if (aType === "object" && typeof a2.asymmetricMatch === "function") {
    if (a2.$$typeof !== Symbol.for("jest.asymmetricMatcher")) {
      return void 0;
    }
    if (typeof a2.getExpectedType !== "function") {
      return void 0;
    }
    expectedType = a2.getExpectedType();
    omitDifference = expectedType === "string";
  }
  if (expectedType !== getType3(b)) {
    let truncate3 = function(s3) {
      return s3.length <= MAX_LENGTH ? s3 : `${s3.slice(0, MAX_LENGTH)}...`;
    };
    __name(truncate3, "truncate");
    const { aAnnotation, aColor, aIndicator, bAnnotation, bColor, bIndicator } = normalizeDiffOptions(options);
    const formatOptions = getFormatOptions(FALLBACK_FORMAT_OPTIONS, options);
    let aDisplay = format(a2, formatOptions);
    let bDisplay = format(b, formatOptions);
    const MAX_LENGTH = 1e5;
    aDisplay = truncate3(aDisplay);
    bDisplay = truncate3(bDisplay);
    const aDiff = `${aColor(`${aIndicator} ${aAnnotation}:`)} 
${aDisplay}`;
    const bDiff = `${bColor(`${bIndicator} ${bAnnotation}:`)} 
${bDisplay}`;
    return `${aDiff}

${bDiff}`;
  }
  if (omitDifference) {
    return void 0;
  }
  switch (aType) {
    case "string":
      return diffLinesUnified(a2.split("\n"), b.split("\n"), options);
    case "boolean":
    case "number":
      return comparePrimitive(a2, b, options);
    case "map":
      return compareObjects(sortMap(a2), sortMap(b), options);
    case "set":
      return compareObjects(sortSet(a2), sortSet(b), options);
    default:
      return compareObjects(a2, b, options);
  }
}
__name(diff, "diff");
function comparePrimitive(a2, b, options) {
  const aFormat = format(a2, FORMAT_OPTIONS);
  const bFormat = format(b, FORMAT_OPTIONS);
  return aFormat === bFormat ? "" : diffLinesUnified(aFormat.split("\n"), bFormat.split("\n"), options);
}
__name(comparePrimitive, "comparePrimitive");
function sortMap(map2) {
  return new Map(Array.from(map2.entries()).sort());
}
__name(sortMap, "sortMap");
function sortSet(set3) {
  return new Set(Array.from(set3.values()).sort());
}
__name(sortSet, "sortSet");
function compareObjects(a2, b, options) {
  let difference2;
  let hasThrown = false;
  try {
    const formatOptions = getFormatOptions(FORMAT_OPTIONS, options);
    difference2 = getObjectsDifference(a2, b, formatOptions, options);
  } catch {
    hasThrown = true;
  }
  const noDiffMessage = getCommonMessage(NO_DIFF_MESSAGE, options);
  if (difference2 === void 0 || difference2 === noDiffMessage) {
    const formatOptions = getFormatOptions(FALLBACK_FORMAT_OPTIONS, options);
    difference2 = getObjectsDifference(a2, b, formatOptions, options);
    if (difference2 !== noDiffMessage && !hasThrown) {
      difference2 = `${getCommonMessage(SIMILAR_MESSAGE, options)}

${difference2}`;
    }
  }
  return difference2;
}
__name(compareObjects, "compareObjects");
function getFormatOptions(formatOptions, options) {
  const { compareKeys, printBasicPrototype, maxDepth } = normalizeDiffOptions(options);
  return {
    ...formatOptions,
    compareKeys,
    printBasicPrototype,
    maxDepth: maxDepth ?? formatOptions.maxDepth
  };
}
__name(getFormatOptions, "getFormatOptions");
function getObjectsDifference(a2, b, formatOptions, options) {
  const formatOptionsZeroIndent = {
    ...formatOptions,
    indent: 0
  };
  const aCompare = format(a2, formatOptionsZeroIndent);
  const bCompare = format(b, formatOptionsZeroIndent);
  if (aCompare === bCompare) {
    return getCommonMessage(NO_DIFF_MESSAGE, options);
  } else {
    const aDisplay = format(a2, formatOptions);
    const bDisplay = format(b, formatOptions);
    return diffLinesUnified2(aDisplay.split("\n"), bDisplay.split("\n"), aCompare.split("\n"), bCompare.split("\n"), options);
  }
}
__name(getObjectsDifference, "getObjectsDifference");
var MAX_DIFF_STRING_LENGTH = 2e4;
function isAsymmetricMatcher(data) {
  const type5 = getType2(data);
  return type5 === "Object" && typeof data.asymmetricMatch === "function";
}
__name(isAsymmetricMatcher, "isAsymmetricMatcher");
function isReplaceable(obj1, obj2) {
  const obj1Type = getType2(obj1);
  const obj2Type = getType2(obj2);
  return obj1Type === obj2Type && (obj1Type === "Object" || obj1Type === "Array");
}
__name(isReplaceable, "isReplaceable");
function printDiffOrStringify(received, expected, options) {
  const { aAnnotation, bAnnotation } = normalizeDiffOptions(options);
  if (typeof expected === "string" && typeof received === "string" && expected.length > 0 && received.length > 0 && expected.length <= MAX_DIFF_STRING_LENGTH && received.length <= MAX_DIFF_STRING_LENGTH && expected !== received) {
    if (expected.includes("\n") || received.includes("\n")) {
      return diffStringsUnified(expected, received, options);
    }
    const [diffs] = diffStringsRaw(expected, received, true);
    const hasCommonDiff2 = diffs.some((diff2) => diff2[0] === DIFF_EQUAL);
    const printLabel = getLabelPrinter(aAnnotation, bAnnotation);
    const expectedLine = printLabel(aAnnotation) + printExpected(getCommonAndChangedSubstrings(diffs, DIFF_DELETE, hasCommonDiff2));
    const receivedLine = printLabel(bAnnotation) + printReceived(getCommonAndChangedSubstrings(diffs, DIFF_INSERT, hasCommonDiff2));
    return `${expectedLine}
${receivedLine}`;
  }
  const clonedExpected = deepClone(expected, { forceWritable: true });
  const clonedReceived = deepClone(received, { forceWritable: true });
  const { replacedExpected, replacedActual } = replaceAsymmetricMatcher(clonedReceived, clonedExpected);
  const difference2 = diff(replacedExpected, replacedActual, options);
  return difference2;
}
__name(printDiffOrStringify, "printDiffOrStringify");
function replaceAsymmetricMatcher(actual, expected, actualReplaced = /* @__PURE__ */ new WeakSet(), expectedReplaced = /* @__PURE__ */ new WeakSet()) {
  if (actual instanceof Error && expected instanceof Error && typeof actual.cause !== "undefined" && typeof expected.cause === "undefined") {
    delete actual.cause;
    return {
      replacedActual: actual,
      replacedExpected: expected
    };
  }
  if (!isReplaceable(actual, expected)) {
    return {
      replacedActual: actual,
      replacedExpected: expected
    };
  }
  if (actualReplaced.has(actual) || expectedReplaced.has(expected)) {
    return {
      replacedActual: actual,
      replacedExpected: expected
    };
  }
  actualReplaced.add(actual);
  expectedReplaced.add(expected);
  getOwnProperties(expected).forEach((key) => {
    const expectedValue = expected[key];
    const actualValue = actual[key];
    if (isAsymmetricMatcher(expectedValue)) {
      if (expectedValue.asymmetricMatch(actualValue)) {
        actual[key] = expectedValue;
      }
    } else if (isAsymmetricMatcher(actualValue)) {
      if (actualValue.asymmetricMatch(expectedValue)) {
        expected[key] = actualValue;
      }
    } else if (isReplaceable(actualValue, expectedValue)) {
      const replaced = replaceAsymmetricMatcher(actualValue, expectedValue, actualReplaced, expectedReplaced);
      actual[key] = replaced.replacedActual;
      expected[key] = replaced.replacedExpected;
    }
  });
  return {
    replacedActual: actual,
    replacedExpected: expected
  };
}
__name(replaceAsymmetricMatcher, "replaceAsymmetricMatcher");
function getLabelPrinter(...strings) {
  const maxLength = strings.reduce((max2, string) => string.length > max2 ? string.length : max2, 0);
  return (string) => `${string}: ${" ".repeat(maxLength - string.length)}`;
}
__name(getLabelPrinter, "getLabelPrinter");
var SPACE_SYMBOL = "\xB7";
function replaceTrailingSpaces(text) {
  return text.replace(/\s+$/gm, (spaces) => SPACE_SYMBOL.repeat(spaces.length));
}
__name(replaceTrailingSpaces, "replaceTrailingSpaces");
function printReceived(object) {
  return s.red(replaceTrailingSpaces(stringify5(object)));
}
__name(printReceived, "printReceived");
function printExpected(value) {
  return s.green(replaceTrailingSpaces(stringify5(value)));
}
__name(printExpected, "printExpected");
function getCommonAndChangedSubstrings(diffs, op, hasCommonDiff2) {
  return diffs.reduce((reduced, diff2) => reduced + (diff2[0] === DIFF_EQUAL ? diff2[1] : diff2[0] === op ? hasCommonDiff2 ? s.inverse(diff2[1]) : diff2[1] : ""), "");
}
__name(getCommonAndChangedSubstrings, "getCommonAndChangedSubstrings");

// ../node_modules/@vitest/utils/dist/error.js
var IS_RECORD_SYMBOL = "@@__IMMUTABLE_RECORD__@@";
var IS_COLLECTION_SYMBOL = "@@__IMMUTABLE_ITERABLE__@@";
function isImmutable(v) {
  return v && (v[IS_COLLECTION_SYMBOL] || v[IS_RECORD_SYMBOL]);
}
__name(isImmutable, "isImmutable");
var OBJECT_PROTO = Object.getPrototypeOf({});
function getUnserializableMessage(err) {
  if (err instanceof Error) {
    return `<unserializable>: ${err.message}`;
  }
  if (typeof err === "string") {
    return `<unserializable>: ${err}`;
  }
  return "<unserializable>";
}
__name(getUnserializableMessage, "getUnserializableMessage");
function serializeValue(val, seen = /* @__PURE__ */ new WeakMap()) {
  if (!val || typeof val === "string") {
    return val;
  }
  if (val instanceof Error && "toJSON" in val && typeof val.toJSON === "function") {
    const jsonValue = val.toJSON();
    if (jsonValue && jsonValue !== val && typeof jsonValue === "object") {
      if (typeof val.message === "string") {
        safe(() => jsonValue.message ?? (jsonValue.message = val.message));
      }
      if (typeof val.stack === "string") {
        safe(() => jsonValue.stack ?? (jsonValue.stack = val.stack));
      }
      if (typeof val.name === "string") {
        safe(() => jsonValue.name ?? (jsonValue.name = val.name));
      }
      if (val.cause != null) {
        safe(() => jsonValue.cause ?? (jsonValue.cause = serializeValue(val.cause, seen)));
      }
    }
    return serializeValue(jsonValue, seen);
  }
  if (typeof val === "function") {
    return `Function<${val.name || "anonymous"}>`;
  }
  if (typeof val === "symbol") {
    return val.toString();
  }
  if (typeof val !== "object") {
    return val;
  }
  if (typeof Buffer !== "undefined" && val instanceof Buffer) {
    return `<Buffer(${val.length}) ...>`;
  }
  if (typeof Uint8Array !== "undefined" && val instanceof Uint8Array) {
    return `<Uint8Array(${val.length}) ...>`;
  }
  if (isImmutable(val)) {
    return serializeValue(val.toJSON(), seen);
  }
  if (val instanceof Promise || val.constructor && val.constructor.prototype === "AsyncFunction") {
    return "Promise";
  }
  if (typeof Element !== "undefined" && val instanceof Element) {
    return val.tagName;
  }
  if (typeof val.asymmetricMatch === "function") {
    return `${val.toString()} ${format2(val.sample)}`;
  }
  if (typeof val.toJSON === "function") {
    return serializeValue(val.toJSON(), seen);
  }
  if (seen.has(val)) {
    return seen.get(val);
  }
  if (Array.isArray(val)) {
    const clone3 = new Array(val.length);
    seen.set(val, clone3);
    val.forEach((e2, i2) => {
      try {
        clone3[i2] = serializeValue(e2, seen);
      } catch (err) {
        clone3[i2] = getUnserializableMessage(err);
      }
    });
    return clone3;
  } else {
    const clone3 = /* @__PURE__ */ Object.create(null);
    seen.set(val, clone3);
    let obj = val;
    while (obj && obj !== OBJECT_PROTO) {
      Object.getOwnPropertyNames(obj).forEach((key) => {
        if (key in clone3) {
          return;
        }
        try {
          clone3[key] = serializeValue(val[key], seen);
        } catch (err) {
          delete clone3[key];
          clone3[key] = getUnserializableMessage(err);
        }
      });
      obj = Object.getPrototypeOf(obj);
    }
    return clone3;
  }
}
__name(serializeValue, "serializeValue");
function safe(fn4) {
  try {
    return fn4();
  } catch {
  }
}
__name(safe, "safe");
function normalizeErrorMessage(message) {
  return message.replace(/__(vite_ssr_import|vi_import)_\d+__\./g, "");
}
__name(normalizeErrorMessage, "normalizeErrorMessage");
function processError(_err, diffOptions, seen = /* @__PURE__ */ new WeakSet()) {
  if (!_err || typeof _err !== "object") {
    return { message: String(_err) };
  }
  const err = _err;
  if (err.showDiff || err.showDiff === void 0 && err.expected !== void 0 && err.actual !== void 0) {
    err.diff = printDiffOrStringify(err.actual, err.expected, {
      ...diffOptions,
      ...err.diffOptions
    });
  }
  if ("expected" in err && typeof err.expected !== "string") {
    err.expected = stringify5(err.expected, 10);
  }
  if ("actual" in err && typeof err.actual !== "string") {
    err.actual = stringify5(err.actual, 10);
  }
  try {
    if (typeof err.message === "string") {
      err.message = normalizeErrorMessage(err.message);
    }
  } catch {
  }
  try {
    if (!seen.has(err) && typeof err.cause === "object") {
      seen.add(err);
      err.cause = processError(err.cause, diffOptions, seen);
    }
  } catch {
  }
  try {
    return serializeValue(err);
  } catch (e2) {
    return serializeValue(new Error(`Failed to fully serialize error: ${e2 === null || e2 === void 0 ? void 0 : e2.message}
Inner error message: ${err === null || err === void 0 ? void 0 : err.message}`));
  }
}
__name(processError, "processError");

// src/instrumenter/EVENTS.ts
var EVENTS = {
  CALL: "storybook/instrumenter/call",
  SYNC: "storybook/instrumenter/sync",
  START: "storybook/instrumenter/start",
  BACK: "storybook/instrumenter/back",
  GOTO: "storybook/instrumenter/goto",
  NEXT: "storybook/instrumenter/next",
  END: "storybook/instrumenter/end"
};

// src/instrumenter/preview-api.ts
var addons2 = globalThis.__STORYBOOK_ADDONS_PREVIEW;

// src/instrumenter/instrumenter.ts
var alreadyCompletedException = new Error(
  `This function ran after the play function completed. Did you forget to \`await\` it?`
);
var isObject6 = /* @__PURE__ */ __name((o2) => Object.prototype.toString.call(o2) === "[object Object]", "isObject");
var isModule = /* @__PURE__ */ __name((o2) => Object.prototype.toString.call(o2) === "[object Module]", "isModule");
var isInstrumentable = /* @__PURE__ */ __name((o2) => {
  if (!isObject6(o2) && !isModule(o2)) {
    return false;
  }
  if (o2.constructor === void 0) {
    return true;
  }
  const proto = o2.constructor.prototype;
  if (!isObject6(proto)) {
    return false;
  }
  return true;
}, "isInstrumentable");
var construct = /* @__PURE__ */ __name((obj) => {
  try {
    return new obj.constructor();
  } catch {
    return {};
  }
}, "construct");
var getInitialState = /* @__PURE__ */ __name(() => ({
  renderPhase: "preparing",
  isDebugging: false,
  isPlaying: false,
  isLocked: false,
  cursor: 0,
  calls: [],
  shadowCalls: [],
  callRefsByResult: /* @__PURE__ */ new Map(),
  chainedCallIds: /* @__PURE__ */ new Set(),
  ancestors: [],
  playUntil: void 0,
  resolvers: {},
  syncTimeout: void 0
}), "getInitialState");
var getRetainedState = /* @__PURE__ */ __name((state3, isDebugging = false) => {
  const calls = (isDebugging ? state3.shadowCalls : state3.calls).filter((call2) => call2.retain);
  if (!calls.length) {
    return void 0;
  }
  const callRefsByResult = new Map(
    Array.from(state3.callRefsByResult.entries()).filter(([, ref]) => ref.retain)
  );
  return { cursor: calls.length, calls, callRefsByResult };
}, "getRetainedState");
var _Instrumenter = class _Instrumenter {
  constructor() {
    this.detached = false;
    this.initialized = false;
    // State is tracked per story to deal with multiple stories on the same canvas (i.e. docs mode)
    this.state = {};
    this.loadParentWindowState = /* @__PURE__ */ __name(() => {
      try {
        this.state = scope.window?.parent?.__STORYBOOK_ADDON_INTERACTIONS_INSTRUMENTER_STATE__ || {};
      } catch {
        this.detached = true;
      }
    }, "loadParentWindowState");
    this.updateParentWindowState = /* @__PURE__ */ __name(() => {
      try {
        scope.window.parent.__STORYBOOK_ADDON_INTERACTIONS_INSTRUMENTER_STATE__ = this.state;
      } catch {
        this.detached = true;
      }
    }, "updateParentWindowState");
    this.loadParentWindowState();
    const resetState = /* @__PURE__ */ __name(({
      storyId,
      renderPhase,
      isPlaying = true,
      isDebugging = false
    }) => {
      const state3 = this.getState(storyId);
      this.setState(storyId, {
        ...getInitialState(),
        ...getRetainedState(state3, isDebugging),
        renderPhase: renderPhase || state3.renderPhase,
        shadowCalls: isDebugging ? state3.shadowCalls : [],
        chainedCallIds: isDebugging ? state3.chainedCallIds : /* @__PURE__ */ new Set(),
        playUntil: isDebugging ? state3.playUntil : void 0,
        isPlaying,
        isDebugging
      });
      this.sync(storyId);
    }, "resetState");
    const start2 = /* @__PURE__ */ __name((channel) => ({ storyId, playUntil }) => {
      if (!this.getState(storyId).isDebugging) {
        this.setState(storyId, ({ calls }) => ({
          calls: [],
          shadowCalls: calls.map((call2) => ({ ...call2, status: "waiting" /* WAITING */ })),
          isDebugging: true
        }));
      }
      const log = this.getLog(storyId);
      this.setState(storyId, ({ shadowCalls }) => {
        if (playUntil || !log.length) {
          return { playUntil };
        }
        const firstRowIndex = shadowCalls.findIndex((call2) => call2.id === log[0].callId);
        return {
          playUntil: shadowCalls.slice(0, firstRowIndex).filter((call2) => call2.interceptable && !call2.ancestors?.length).slice(-1)[0]?.id
        };
      });
      channel.emit(FORCE_REMOUNT, { storyId, isDebugging: true });
    }, "start");
    const back = /* @__PURE__ */ __name((channel) => ({ storyId }) => {
      const log = this.getLog(storyId).filter((call2) => !call2.ancestors?.length);
      const last2 = log.reduceRight((res, item, index4) => {
        if (res >= 0 || item.status === "waiting" /* WAITING */) {
          return res;
        }
        return index4;
      }, -1);
      start2(channel)({ storyId, playUntil: log[last2 - 1]?.callId });
    }, "back");
    const goto = /* @__PURE__ */ __name((channel) => ({ storyId, callId }) => {
      const { calls, shadowCalls, resolvers } = this.getState(storyId);
      const call2 = calls.find(({ id }) => id === callId);
      const shadowCall = shadowCalls.find(({ id }) => id === callId);
      if (!call2 && shadowCall && Object.values(resolvers).length > 0) {
        const nextId = this.getLog(storyId).find((c2) => c2.status === "waiting" /* WAITING */)?.callId;
        if (shadowCall.id !== nextId) {
          this.setState(storyId, { playUntil: shadowCall.id });
        }
        Object.values(resolvers).forEach((resolve) => resolve());
      } else {
        start2(channel)({ storyId, playUntil: callId });
      }
    }, "goto");
    const next2 = /* @__PURE__ */ __name((channel) => ({ storyId }) => {
      const { resolvers } = this.getState(storyId);
      if (Object.values(resolvers).length > 0) {
        Object.values(resolvers).forEach((resolve) => resolve());
      } else {
        const nextId = this.getLog(storyId).find((c2) => c2.status === "waiting" /* WAITING */)?.callId;
        if (nextId) {
          start2(channel)({ storyId, playUntil: nextId });
        } else {
          end2({ storyId });
        }
      }
    }, "next");
    const end2 = /* @__PURE__ */ __name(({ storyId }) => {
      this.setState(storyId, { playUntil: void 0, isDebugging: false });
      Object.values(this.getState(storyId).resolvers).forEach((resolve) => resolve());
    }, "end");
    const renderPhaseChanged = /* @__PURE__ */ __name(({
      storyId,
      newPhase
    }) => {
      const { isDebugging } = this.getState(storyId);
      if (newPhase === "preparing" && isDebugging) {
        return resetState({ storyId, renderPhase: newPhase, isDebugging });
      } else if (newPhase === "playing") {
        return resetState({ storyId, renderPhase: newPhase, isDebugging });
      }
      if (newPhase === "played") {
        this.setState(storyId, {
          renderPhase: newPhase,
          isLocked: false,
          isPlaying: false,
          isDebugging: false
        });
      } else if (newPhase === "errored") {
        this.setState(storyId, {
          renderPhase: newPhase,
          isLocked: false,
          isPlaying: false
        });
      } else if (newPhase === "aborted") {
        this.setState(storyId, {
          renderPhase: newPhase,
          isLocked: true,
          isPlaying: false
        });
      } else {
        this.setState(storyId, {
          renderPhase: newPhase
        });
      }
      this.sync(storyId);
    }, "renderPhaseChanged");
    if (addons2) {
      addons2.ready().then(() => {
        this.channel = addons2.getChannel();
        this.channel.on(FORCE_REMOUNT, resetState);
        this.channel.on(STORY_RENDER_PHASE_CHANGED, renderPhaseChanged);
        this.channel.on(SET_CURRENT_STORY, () => {
          if (this.initialized) {
            this.cleanup();
          } else {
            this.initialized = true;
          }
        });
        this.channel.on(EVENTS.START, start2(this.channel));
        this.channel.on(EVENTS.BACK, back(this.channel));
        this.channel.on(EVENTS.GOTO, goto(this.channel));
        this.channel.on(EVENTS.NEXT, next2(this.channel));
        this.channel.on(EVENTS.END, end2);
      });
    }
  }
  getState(storyId) {
    return this.state[storyId] || getInitialState();
  }
  setState(storyId, update2) {
    if (storyId) {
      const state3 = this.getState(storyId);
      const patch = typeof update2 === "function" ? update2(state3) : update2;
      this.state = { ...this.state, [storyId]: { ...state3, ...patch } };
      this.updateParentWindowState();
    }
  }
  cleanup() {
    this.state = Object.entries(this.state).reduce(
      (acc, [storyId, state3]) => {
        const retainedState = getRetainedState(state3);
        if (!retainedState) {
          return acc;
        }
        acc[storyId] = Object.assign(getInitialState(), retainedState);
        return acc;
      },
      {}
    );
    const controlStates = {
      detached: this.detached,
      start: false,
      back: false,
      goto: false,
      next: false,
      end: false
    };
    const payload = { controlStates, logItems: [] };
    this.channel?.emit(EVENTS.SYNC, payload);
    this.updateParentWindowState();
  }
  getLog(storyId) {
    const { calls, shadowCalls } = this.getState(storyId);
    const merged = [...shadowCalls];
    calls.forEach((call2, index4) => {
      merged[index4] = call2;
    });
    const seen = /* @__PURE__ */ new Set();
    return merged.reduceRight((acc, call2) => {
      call2.args.forEach((arg) => {
        if (arg?.__callId__) {
          seen.add(arg.__callId__);
        }
      });
      call2.path.forEach((node2) => {
        if (node2.__callId__) {
          seen.add(node2.__callId__);
        }
      });
      if ((call2.interceptable || call2.exception) && !seen.has(call2.id)) {
        acc.unshift({ callId: call2.id, status: call2.status, ancestors: call2.ancestors });
        seen.add(call2.id);
      }
      return acc;
    }, []);
  }
  // Traverses the object structure to recursively patch all function properties.
  // Returns the original object, or a new object with the same constructor,
  // depending on whether it should mutate.
  instrument(obj, options, depth = 0) {
    if (!isInstrumentable(obj)) {
      return obj;
    }
    const { mutate = false, path = [] } = options;
    const keys3 = options.getKeys ? options.getKeys(obj, depth) : Object.keys(obj);
    depth += 1;
    return keys3.reduce(
      (acc, key) => {
        const descriptor = getPropertyDescriptor(obj, key);
        if (typeof descriptor?.get === "function") {
          if (descriptor.configurable) {
            const getter = /* @__PURE__ */ __name(() => descriptor?.get?.bind(obj)?.(), "getter");
            Object.defineProperty(acc, key, {
              get: /* @__PURE__ */ __name(() => {
                return this.instrument(getter(), { ...options, path: path.concat(key) }, depth);
              }, "get")
            });
          }
          return acc;
        }
        const value = obj[key];
        if (typeof value !== "function") {
          acc[key] = this.instrument(value, { ...options, path: path.concat(key) }, depth);
          return acc;
        }
        if ("__originalFn__" in value && typeof value.__originalFn__ === "function") {
          acc[key] = value;
          return acc;
        }
        acc[key] = (...args) => this.track(key, value, obj, args, options);
        acc[key].__originalFn__ = value;
        Object.defineProperty(acc[key], "name", { value: key, writable: false });
        if (Object.keys(value).length > 0) {
          Object.assign(
            acc[key],
            this.instrument({ ...value }, { ...options, path: path.concat(key) }, depth)
          );
        }
        return acc;
      },
      mutate ? obj : construct(obj)
    );
  }
  // Monkey patch an object method to record calls.
  // Returns a function that invokes the original function, records the invocation ("call") and
  // returns the original result.
  track(method, fn4, object, args, options) {
    const storyId = args?.[0]?.__storyId__ || scope.__STORYBOOK_PREVIEW__?.selectionStore?.selection?.storyId;
    const { cursor: cursor2, ancestors } = this.getState(storyId);
    this.setState(storyId, { cursor: cursor2 + 1 });
    const id = `${ancestors.slice(-1)[0] || storyId} [${cursor2}] ${method}`;
    const { path = [], intercept = false, retain = false } = options;
    const interceptable = typeof intercept === "function" ? intercept(method, path) : intercept;
    const call2 = { id, cursor: cursor2, storyId, ancestors, path, method, args, interceptable, retain };
    const interceptOrInvoke = interceptable && !ancestors.length ? this.intercept : this.invoke;
    const result = interceptOrInvoke.call(this, fn4, object, call2, options);
    return this.instrument(result, { ...options, mutate: true, path: [{ __callId__: call2.id }] });
  }
  intercept(fn4, object, call2, options) {
    const { chainedCallIds, isDebugging, playUntil } = this.getState(call2.storyId);
    const isChainedUpon = chainedCallIds.has(call2.id);
    if (!isDebugging || isChainedUpon || playUntil) {
      if (playUntil === call2.id) {
        this.setState(call2.storyId, { playUntil: void 0 });
      }
      return this.invoke(fn4, object, call2, options);
    }
    return new Promise((resolve) => {
      this.setState(call2.storyId, ({ resolvers }) => ({
        isLocked: false,
        resolvers: { ...resolvers, [call2.id]: resolve }
      }));
    }).then(() => {
      this.setState(call2.storyId, (state3) => {
        const { [call2.id]: _, ...resolvers } = state3.resolvers;
        return { isLocked: true, resolvers };
      });
      return this.invoke(fn4, object, call2, options);
    });
  }
  invoke(fn4, object, call2, options) {
    const { callRefsByResult, renderPhase } = this.getState(call2.storyId);
    const maximumDepth = 25;
    const serializeValues = /* @__PURE__ */ __name((value, depth, seen) => {
      if (seen.includes(value)) {
        return "[Circular]";
      }
      seen = [...seen, value];
      if (depth > maximumDepth) {
        return "...";
      }
      if (callRefsByResult.has(value)) {
        return callRefsByResult.get(value);
      }
      if (value instanceof Array) {
        return value.map((it) => serializeValues(it, ++depth, seen));
      }
      if (value instanceof Date) {
        return { __date__: { value: value.toISOString() } };
      }
      if (value instanceof Error) {
        const { name, message, stack } = value;
        return { __error__: { name, message, stack } };
      }
      if (value instanceof RegExp) {
        const { flags, source } = value;
        return { __regexp__: { flags, source } };
      }
      if (value instanceof scope.window?.HTMLElement) {
        const { prefix: prefix4, localName, id, classList, innerText } = value;
        const classNames = Array.from(classList);
        return { __element__: { prefix: prefix4, localName, id, classNames, innerText } };
      }
      if (typeof value === "function") {
        return {
          __function__: { name: "getMockName" in value ? value.getMockName() : value.name }
        };
      }
      if (typeof value === "symbol") {
        return { __symbol__: { description: value.description } };
      }
      if (typeof value === "object" && value?.constructor?.name && value?.constructor?.name !== "Object") {
        return { __class__: { name: value.constructor.name } };
      }
      if (Object.prototype.toString.call(value) === "[object Object]") {
        return Object.fromEntries(
          Object.entries(value).map(([key, val]) => [key, serializeValues(val, ++depth, seen)])
        );
      }
      return value;
    }, "serializeValues");
    const info = {
      ...call2,
      args: call2.args.map((arg) => serializeValues(arg, 0, []))
    };
    call2.path.forEach((ref) => {
      if (ref?.__callId__) {
        this.setState(call2.storyId, ({ chainedCallIds }) => ({
          chainedCallIds: new Set(Array.from(chainedCallIds).concat(ref.__callId__))
        }));
      }
    });
    const handleException = /* @__PURE__ */ __name((e2) => {
      if (e2 instanceof Error) {
        const { name, message, stack, callId = call2.id } = e2;
        const {
          showDiff = void 0,
          diff: diff2 = void 0,
          actual = void 0,
          expected = void 0
        } = e2.name === "AssertionError" ? processError(e2) : e2;
        const exception = { name, message, stack, callId, showDiff, diff: diff2, actual, expected };
        this.update({ ...info, status: "error" /* ERROR */, exception });
        this.setState(call2.storyId, (state3) => ({
          callRefsByResult: new Map([
            ...Array.from(state3.callRefsByResult.entries()),
            [e2, { __callId__: call2.id, retain: call2.retain }]
          ])
        }));
        if (call2.ancestors?.length) {
          if (!Object.prototype.hasOwnProperty.call(e2, "callId")) {
            Object.defineProperty(e2, "callId", { value: call2.id });
          }
          throw e2;
        }
      }
      throw e2;
    }, "handleException");
    try {
      if (renderPhase === "played" && !call2.retain) {
        throw alreadyCompletedException;
      }
      const actualArgs = options.getArgs ? options.getArgs(call2, this.getState(call2.storyId)) : call2.args;
      const finalArgs = actualArgs.map((arg) => {
        if (typeof arg !== "function" || isClass(arg) || Object.keys(arg).length) {
          return arg;
        }
        return (...args) => {
          const { cursor: cursor2, ancestors } = this.getState(call2.storyId);
          this.setState(call2.storyId, { cursor: 0, ancestors: [...ancestors, call2.id] });
          const restore = /* @__PURE__ */ __name(() => this.setState(call2.storyId, { cursor: cursor2, ancestors }), "restore");
          let willRestore = false;
          try {
            const res = arg(...args);
            if (res instanceof Promise) {
              willRestore = true;
              return res.finally(restore);
            }
            return res;
          } finally {
            if (!willRestore) {
              restore();
            }
          }
        };
      });
      const result = fn4.apply(object, finalArgs);
      if (result && ["object", "function", "symbol"].includes(typeof result)) {
        this.setState(call2.storyId, (state3) => ({
          callRefsByResult: new Map([
            ...Array.from(state3.callRefsByResult.entries()),
            [result, { __callId__: call2.id, retain: call2.retain }]
          ])
        }));
      }
      this.update({
        ...info,
        status: result instanceof Promise ? "active" /* ACTIVE */ : "done" /* DONE */
      });
      if (result instanceof Promise) {
        return result.then((value) => {
          this.update({ ...info, status: "done" /* DONE */ });
          return value;
        }, handleException);
      }
      return result;
    } catch (e2) {
      return handleException(e2);
    }
  }
  // Sends the call info to the manager and synchronizes the log.
  update(call2) {
    this.channel?.emit(EVENTS.CALL, call2);
    this.setState(call2.storyId, ({ calls }) => {
      const callsById = calls.concat(call2).reduce((a2, c2) => Object.assign(a2, { [c2.id]: c2 }), {});
      return {
        // Calls are sorted to ensure parent calls always come before calls in their callback.
        calls: Object.values(callsById).sort(
          (a2, b) => a2.id.localeCompare(b.id, void 0, { numeric: true })
        )
      };
    });
    this.sync(call2.storyId);
  }
  // Builds a log of interceptable calls and control states and sends it to the manager.
  // Uses a 0ms debounce because this might get called many times in one tick.
  sync(storyId) {
    const synchronize = /* @__PURE__ */ __name(() => {
      const { isLocked, isPlaying } = this.getState(storyId);
      const logItems = this.getLog(storyId);
      const pausedAt = logItems.filter(({ ancestors }) => !ancestors.length).find((item) => item.status === "waiting" /* WAITING */)?.callId;
      const hasActive = logItems.some((item) => item.status === "active" /* ACTIVE */);
      if (this.detached || isLocked || hasActive || logItems.length === 0) {
        const controlStates2 = {
          detached: this.detached,
          start: false,
          back: false,
          goto: false,
          next: false,
          end: false
        };
        const payload2 = { controlStates: controlStates2, logItems };
        this.channel?.emit(EVENTS.SYNC, payload2);
        return;
      }
      const hasPrevious = logItems.some(
        (item) => item.status === "done" /* DONE */ || item.status === "error" /* ERROR */
      );
      const controlStates = {
        detached: this.detached,
        start: hasPrevious,
        back: hasPrevious,
        goto: true,
        next: isPlaying,
        end: isPlaying
      };
      const payload = { controlStates, logItems, pausedAt };
      this.channel?.emit(EVENTS.SYNC, payload);
    }, "synchronize");
    this.setState(storyId, ({ syncTimeout }) => {
      clearTimeout(syncTimeout);
      return { syncTimeout: setTimeout(synchronize, 0) };
    });
  }
};
__name(_Instrumenter, "Instrumenter");
var Instrumenter = _Instrumenter;
function instrument(obj, options = {}) {
  try {
    let forceInstrument = false;
    let skipInstrument = false;
    if (scope.window?.location?.search?.includes("instrument=true")) {
      forceInstrument = true;
    } else if (scope.window?.location?.search?.includes("instrument=false")) {
      skipInstrument = true;
    }
    if (scope.window?.parent === scope.window && !forceInstrument || skipInstrument) {
      return obj;
    }
    if (scope.window && !scope.window.__STORYBOOK_ADDON_INTERACTIONS_INSTRUMENTER__) {
      scope.window.__STORYBOOK_ADDON_INTERACTIONS_INSTRUMENTER__ = new Instrumenter();
    }
    const instrumenter = scope.window?.__STORYBOOK_ADDON_INTERACTIONS_INSTRUMENTER__;
    return instrumenter.instrument(obj, options);
  } catch (e2) {
    once.warn(e2);
    return obj;
  }
}
__name(instrument, "instrument");
function getPropertyDescriptor(obj, propName) {
  let target = obj;
  while (target != null) {
    const descriptor = Object.getOwnPropertyDescriptor(target, propName);
    if (descriptor) {
      return descriptor;
    }
    target = Object.getPrototypeOf(target);
  }
  return void 0;
}
__name(getPropertyDescriptor, "getPropertyDescriptor");
function isClass(obj) {
  if (typeof obj !== "function") {
    return false;
  }
  const descriptor = Object.getOwnPropertyDescriptor(obj, "prototype");
  if (!descriptor) {
    return false;
  }
  return !descriptor.writable;
}
__name(isClass, "isClass");

// ../node_modules/chai/index.js
var __defProp3 = Object.defineProperty;
var __name2 = /* @__PURE__ */ __name((target, value) => __defProp3(target, "name", { value, configurable: true }), "__name");
var __export2 = /* @__PURE__ */ __name((target, all) => {
  for (var name in all)
    __defProp3(target, name, { get: all[name], enumerable: true });
}, "__export");
var utils_exports = {};
__export2(utils_exports, {
  addChainableMethod: /* @__PURE__ */ __name(() => addChainableMethod, "addChainableMethod"),
  addLengthGuard: /* @__PURE__ */ __name(() => addLengthGuard, "addLengthGuard"),
  addMethod: /* @__PURE__ */ __name(() => addMethod, "addMethod"),
  addProperty: /* @__PURE__ */ __name(() => addProperty, "addProperty"),
  checkError: /* @__PURE__ */ __name(() => check_error_exports, "checkError"),
  compareByInspect: /* @__PURE__ */ __name(() => compareByInspect, "compareByInspect"),
  eql: /* @__PURE__ */ __name(() => deep_eql_default, "eql"),
  expectTypes: /* @__PURE__ */ __name(() => expectTypes, "expectTypes"),
  flag: /* @__PURE__ */ __name(() => flag, "flag"),
  getActual: /* @__PURE__ */ __name(() => getActual, "getActual"),
  getMessage: /* @__PURE__ */ __name(() => getMessage2, "getMessage"),
  getName: /* @__PURE__ */ __name(() => getName, "getName"),
  getOperator: /* @__PURE__ */ __name(() => getOperator, "getOperator"),
  getOwnEnumerableProperties: /* @__PURE__ */ __name(() => getOwnEnumerableProperties, "getOwnEnumerableProperties"),
  getOwnEnumerablePropertySymbols: /* @__PURE__ */ __name(() => getOwnEnumerablePropertySymbols, "getOwnEnumerablePropertySymbols"),
  getPathInfo: /* @__PURE__ */ __name(() => getPathInfo, "getPathInfo"),
  hasProperty: /* @__PURE__ */ __name(() => hasProperty, "hasProperty"),
  inspect: /* @__PURE__ */ __name(() => inspect22, "inspect"),
  isNaN: /* @__PURE__ */ __name(() => isNaN22, "isNaN"),
  isNumeric: /* @__PURE__ */ __name(() => isNumeric, "isNumeric"),
  isProxyEnabled: /* @__PURE__ */ __name(() => isProxyEnabled, "isProxyEnabled"),
  isRegExp: /* @__PURE__ */ __name(() => isRegExp22, "isRegExp"),
  objDisplay: /* @__PURE__ */ __name(() => objDisplay, "objDisplay"),
  overwriteChainableMethod: /* @__PURE__ */ __name(() => overwriteChainableMethod, "overwriteChainableMethod"),
  overwriteMethod: /* @__PURE__ */ __name(() => overwriteMethod, "overwriteMethod"),
  overwriteProperty: /* @__PURE__ */ __name(() => overwriteProperty, "overwriteProperty"),
  proxify: /* @__PURE__ */ __name(() => proxify, "proxify"),
  test: /* @__PURE__ */ __name(() => test2, "test"),
  transferFlags: /* @__PURE__ */ __name(() => transferFlags, "transferFlags"),
  type: /* @__PURE__ */ __name(() => type, "type")
});
var check_error_exports = {};
__export2(check_error_exports, {
  compatibleConstructor: /* @__PURE__ */ __name(() => compatibleConstructor, "compatibleConstructor"),
  compatibleInstance: /* @__PURE__ */ __name(() => compatibleInstance, "compatibleInstance"),
  compatibleMessage: /* @__PURE__ */ __name(() => compatibleMessage, "compatibleMessage"),
  getConstructorName: /* @__PURE__ */ __name(() => getConstructorName2, "getConstructorName"),
  getMessage: /* @__PURE__ */ __name(() => getMessage, "getMessage")
});
function isErrorInstance(obj) {
  return obj instanceof Error || Object.prototype.toString.call(obj) === "[object Error]";
}
__name(isErrorInstance, "isErrorInstance");
__name2(isErrorInstance, "isErrorInstance");
function isRegExp2(obj) {
  return Object.prototype.toString.call(obj) === "[object RegExp]";
}
__name(isRegExp2, "isRegExp");
__name2(isRegExp2, "isRegExp");
function compatibleInstance(thrown, errorLike) {
  return isErrorInstance(errorLike) && thrown === errorLike;
}
__name(compatibleInstance, "compatibleInstance");
__name2(compatibleInstance, "compatibleInstance");
function compatibleConstructor(thrown, errorLike) {
  if (isErrorInstance(errorLike)) {
    return thrown.constructor === errorLike.constructor || thrown instanceof errorLike.constructor;
  } else if ((typeof errorLike === "object" || typeof errorLike === "function") && errorLike.prototype) {
    return thrown.constructor === errorLike || thrown instanceof errorLike;
  }
  return false;
}
__name(compatibleConstructor, "compatibleConstructor");
__name2(compatibleConstructor, "compatibleConstructor");
function compatibleMessage(thrown, errMatcher) {
  const comparisonString = typeof thrown === "string" ? thrown : thrown.message;
  if (isRegExp2(errMatcher)) {
    return errMatcher.test(comparisonString);
  } else if (typeof errMatcher === "string") {
    return comparisonString.indexOf(errMatcher) !== -1;
  }
  return false;
}
__name(compatibleMessage, "compatibleMessage");
__name2(compatibleMessage, "compatibleMessage");
function getConstructorName2(errorLike) {
  let constructorName = errorLike;
  if (isErrorInstance(errorLike)) {
    constructorName = errorLike.constructor.name;
  } else if (typeof errorLike === "function") {
    constructorName = errorLike.name;
    if (constructorName === "") {
      const newConstructorName = new errorLike().name;
      constructorName = newConstructorName || constructorName;
    }
  }
  return constructorName;
}
__name(getConstructorName2, "getConstructorName");
__name2(getConstructorName2, "getConstructorName");
function getMessage(errorLike) {
  let msg = "";
  if (errorLike && errorLike.message) {
    msg = errorLike.message;
  } else if (typeof errorLike === "string") {
    msg = errorLike;
  }
  return msg;
}
__name(getMessage, "getMessage");
__name2(getMessage, "getMessage");
function flag(obj, key, value) {
  let flags = obj.__flags || (obj.__flags = /* @__PURE__ */ Object.create(null));
  if (arguments.length === 3) {
    flags[key] = value;
  } else {
    return flags[key];
  }
}
__name(flag, "flag");
__name2(flag, "flag");
function test2(obj, args) {
  let negate = flag(obj, "negate"), expr = args[0];
  return negate ? !expr : expr;
}
__name(test2, "test");
__name2(test2, "test");
function type(obj) {
  if (typeof obj === "undefined") {
    return "undefined";
  }
  if (obj === null) {
    return "null";
  }
  const stringTag2 = obj[Symbol.toStringTag];
  if (typeof stringTag2 === "string") {
    return stringTag2;
  }
  const type32 = Object.prototype.toString.call(obj).slice(8, -1);
  return type32;
}
__name(type, "type");
__name2(type, "type");
var canElideFrames = "captureStackTrace" in Error;
var _a;
var AssertionError = (_a = class extends Error {
  message;
  get name() {
    return "AssertionError";
  }
  get ok() {
    return false;
  }
  constructor(message = "Unspecified AssertionError", props, ssf) {
    super(message);
    this.message = message;
    if (canElideFrames) {
      Error.captureStackTrace(this, ssf || _a);
    }
    for (const key in props) {
      if (!(key in this)) {
        this[key] = props[key];
      }
    }
  }
  toJSON(stack) {
    return {
      ...this,
      name: this.name,
      message: this.message,
      ok: false,
      stack: stack !== false ? this.stack : void 0
    };
  }
}, __name(_a, "_AssertionError"), __name2(_a, "AssertionError"), _a);
function expectTypes(obj, types) {
  let flagMsg = flag(obj, "message");
  let ssfi = flag(obj, "ssfi");
  flagMsg = flagMsg ? flagMsg + ": " : "";
  obj = flag(obj, "object");
  types = types.map(function(t2) {
    return t2.toLowerCase();
  });
  types.sort();
  let str2 = types.map(function(t2, index4) {
    let art = ~["a", "e", "i", "o", "u"].indexOf(t2.charAt(0)) ? "an" : "a";
    let or = types.length > 1 && index4 === types.length - 1 ? "or " : "";
    return or + art + " " + t2;
  }).join(", ");
  let objType = type(obj).toLowerCase();
  if (!types.some(function(expected) {
    return objType === expected;
  })) {
    throw new AssertionError(
      flagMsg + "object tested must be " + str2 + ", but " + objType + " given",
      void 0,
      ssfi
    );
  }
}
__name(expectTypes, "expectTypes");
__name2(expectTypes, "expectTypes");
function getActual(obj, args) {
  return args.length > 4 ? args[4] : obj._obj;
}
__name(getActual, "getActual");
__name2(getActual, "getActual");
var ansiColors2 = {
  bold: ["1", "22"],
  dim: ["2", "22"],
  italic: ["3", "23"],
  underline: ["4", "24"],
  // 5 & 6 are blinking
  inverse: ["7", "27"],
  hidden: ["8", "28"],
  strike: ["9", "29"],
  // 10-20 are fonts
  // 21-29 are resets for 1-9
  black: ["30", "39"],
  red: ["31", "39"],
  green: ["32", "39"],
  yellow: ["33", "39"],
  blue: ["34", "39"],
  magenta: ["35", "39"],
  cyan: ["36", "39"],
  white: ["37", "39"],
  brightblack: ["30;1", "39"],
  brightred: ["31;1", "39"],
  brightgreen: ["32;1", "39"],
  brightyellow: ["33;1", "39"],
  brightblue: ["34;1", "39"],
  brightmagenta: ["35;1", "39"],
  brightcyan: ["36;1", "39"],
  brightwhite: ["37;1", "39"],
  grey: ["90", "39"]
};
var styles3 = {
  special: "cyan",
  number: "yellow",
  bigint: "yellow",
  boolean: "yellow",
  undefined: "grey",
  null: "bold",
  string: "green",
  symbol: "green",
  date: "magenta",
  regexp: "red"
};
var truncator2 = "\u2026";
function colorise2(value, styleType) {
  const color2 = ansiColors2[styles3[styleType]] || ansiColors2[styleType] || "";
  if (!color2) {
    return String(value);
  }
  return `\x1B[${color2[0]}m${String(value)}\x1B[${color2[1]}m`;
}
__name(colorise2, "colorise");
__name2(colorise2, "colorise");
function normaliseOptions2({
  showHidden = false,
  depth = 2,
  colors: colors3 = false,
  customInspect = true,
  showProxy = false,
  maxArrayLength = Infinity,
  breakLength = Infinity,
  seen = [],
  // eslint-disable-next-line no-shadow
  truncate: truncate22 = Infinity,
  stylize = String
} = {}, inspect32) {
  const options = {
    showHidden: Boolean(showHidden),
    depth: Number(depth),
    colors: Boolean(colors3),
    customInspect: Boolean(customInspect),
    showProxy: Boolean(showProxy),
    maxArrayLength: Number(maxArrayLength),
    breakLength: Number(breakLength),
    truncate: Number(truncate22),
    seen,
    inspect: inspect32,
    stylize
  };
  if (options.colors) {
    options.stylize = colorise2;
  }
  return options;
}
__name(normaliseOptions2, "normaliseOptions");
__name2(normaliseOptions2, "normaliseOptions");
function isHighSurrogate2(char2) {
  return char2 >= "\uD800" && char2 <= "\uDBFF";
}
__name(isHighSurrogate2, "isHighSurrogate");
__name2(isHighSurrogate2, "isHighSurrogate");
function truncate2(string, length2, tail2 = truncator2) {
  string = String(string);
  const tailLength = tail2.length;
  const stringLength = string.length;
  if (tailLength > length2 && stringLength > tailLength) {
    return tail2;
  }
  if (stringLength > length2 && stringLength > tailLength) {
    let end2 = length2 - tailLength;
    if (end2 > 0 && isHighSurrogate2(string[end2 - 1])) {
      end2 = end2 - 1;
    }
    return `${string.slice(0, end2)}${tail2}`;
  }
  return string;
}
__name(truncate2, "truncate");
__name2(truncate2, "truncate");
function inspectList2(list, options, inspectItem, separator = ", ") {
  inspectItem = inspectItem || options.inspect;
  const size = list.length;
  if (size === 0)
    return "";
  const originalLength = options.truncate;
  let output = "";
  let peek2 = "";
  let truncated = "";
  for (let i2 = 0; i2 < size; i2 += 1) {
    const last2 = i2 + 1 === list.length;
    const secondToLast = i2 + 2 === list.length;
    truncated = `${truncator2}(${list.length - i2})`;
    const value = list[i2];
    options.truncate = originalLength - output.length - (last2 ? 0 : separator.length);
    const string = peek2 || inspectItem(value, options) + (last2 ? "" : separator);
    const nextLength = output.length + string.length;
    const truncatedLength = nextLength + truncated.length;
    if (last2 && nextLength > originalLength && output.length + truncated.length <= originalLength) {
      break;
    }
    if (!last2 && !secondToLast && truncatedLength > originalLength) {
      break;
    }
    peek2 = last2 ? "" : inspectItem(list[i2 + 1], options) + (secondToLast ? "" : separator);
    if (!last2 && secondToLast && truncatedLength > originalLength && nextLength + peek2.length > originalLength) {
      break;
    }
    output += string;
    if (!last2 && !secondToLast && nextLength + peek2.length >= originalLength) {
      truncated = `${truncator2}(${list.length - i2 - 1})`;
      break;
    }
    truncated = "";
  }
  return `${output}${truncated}`;
}
__name(inspectList2, "inspectList");
__name2(inspectList2, "inspectList");
function quoteComplexKey2(key) {
  if (key.match(/^[a-zA-Z_][a-zA-Z_0-9]*$/)) {
    return key;
  }
  return JSON.stringify(key).replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'");
}
__name(quoteComplexKey2, "quoteComplexKey");
__name2(quoteComplexKey2, "quoteComplexKey");
function inspectProperty2([key, value], options) {
  options.truncate -= 2;
  if (typeof key === "string") {
    key = quoteComplexKey2(key);
  } else if (typeof key !== "number") {
    key = `[${options.inspect(key, options)}]`;
  }
  options.truncate -= key.length;
  value = options.inspect(value, options);
  return `${key}: ${value}`;
}
__name(inspectProperty2, "inspectProperty");
__name2(inspectProperty2, "inspectProperty");
function inspectArray2(array, options) {
  const nonIndexProperties = Object.keys(array).slice(array.length);
  if (!array.length && !nonIndexProperties.length)
    return "[]";
  options.truncate -= 4;
  const listContents = inspectList2(array, options);
  options.truncate -= listContents.length;
  let propertyContents = "";
  if (nonIndexProperties.length) {
    propertyContents = inspectList2(nonIndexProperties.map((key) => [key, array[key]]), options, inspectProperty2);
  }
  return `[ ${listContents}${propertyContents ? `, ${propertyContents}` : ""} ]`;
}
__name(inspectArray2, "inspectArray");
__name2(inspectArray2, "inspectArray");
var getArrayName2 = __name2((array) => {
  if (typeof Buffer === "function" && array instanceof Buffer) {
    return "Buffer";
  }
  if (array[Symbol.toStringTag]) {
    return array[Symbol.toStringTag];
  }
  return array.constructor.name;
}, "getArrayName");
function inspectTypedArray2(array, options) {
  const name = getArrayName2(array);
  options.truncate -= name.length + 4;
  const nonIndexProperties = Object.keys(array).slice(array.length);
  if (!array.length && !nonIndexProperties.length)
    return `${name}[]`;
  let output = "";
  for (let i2 = 0; i2 < array.length; i2++) {
    const string = `${options.stylize(truncate2(array[i2], options.truncate), "number")}${i2 === array.length - 1 ? "" : ", "}`;
    options.truncate -= string.length;
    if (array[i2] !== array.length && options.truncate <= 3) {
      output += `${truncator2}(${array.length - array[i2] + 1})`;
      break;
    }
    output += string;
  }
  let propertyContents = "";
  if (nonIndexProperties.length) {
    propertyContents = inspectList2(nonIndexProperties.map((key) => [key, array[key]]), options, inspectProperty2);
  }
  return `${name}[ ${output}${propertyContents ? `, ${propertyContents}` : ""} ]`;
}
__name(inspectTypedArray2, "inspectTypedArray");
__name2(inspectTypedArray2, "inspectTypedArray");
function inspectDate2(dateObject, options) {
  const stringRepresentation = dateObject.toJSON();
  if (stringRepresentation === null) {
    return "Invalid Date";
  }
  const split = stringRepresentation.split("T");
  const date = split[0];
  return options.stylize(`${date}T${truncate2(split[1], options.truncate - date.length - 1)}`, "date");
}
__name(inspectDate2, "inspectDate");
__name2(inspectDate2, "inspectDate");
function inspectFunction2(func, options) {
  const functionType = func[Symbol.toStringTag] || "Function";
  const name = func.name;
  if (!name) {
    return options.stylize(`[${functionType}]`, "special");
  }
  return options.stylize(`[${functionType} ${truncate2(name, options.truncate - 11)}]`, "special");
}
__name(inspectFunction2, "inspectFunction");
__name2(inspectFunction2, "inspectFunction");
function inspectMapEntry2([key, value], options) {
  options.truncate -= 4;
  key = options.inspect(key, options);
  options.truncate -= key.length;
  value = options.inspect(value, options);
  return `${key} => ${value}`;
}
__name(inspectMapEntry2, "inspectMapEntry");
__name2(inspectMapEntry2, "inspectMapEntry");
function mapToEntries2(map2) {
  const entries = [];
  map2.forEach((value, key) => {
    entries.push([key, value]);
  });
  return entries;
}
__name(mapToEntries2, "mapToEntries");
__name2(mapToEntries2, "mapToEntries");
function inspectMap2(map2, options) {
  if (map2.size === 0)
    return "Map{}";
  options.truncate -= 7;
  return `Map{ ${inspectList2(mapToEntries2(map2), options, inspectMapEntry2)} }`;
}
__name(inspectMap2, "inspectMap");
__name2(inspectMap2, "inspectMap");
var isNaN3 = Number.isNaN || ((i2) => i2 !== i2);
function inspectNumber2(number, options) {
  if (isNaN3(number)) {
    return options.stylize("NaN", "number");
  }
  if (number === Infinity) {
    return options.stylize("Infinity", "number");
  }
  if (number === -Infinity) {
    return options.stylize("-Infinity", "number");
  }
  if (number === 0) {
    return options.stylize(1 / number === Infinity ? "+0" : "-0", "number");
  }
  return options.stylize(truncate2(String(number), options.truncate), "number");
}
__name(inspectNumber2, "inspectNumber");
__name2(inspectNumber2, "inspectNumber");
function inspectBigInt2(number, options) {
  let nums = truncate2(number.toString(), options.truncate - 1);
  if (nums !== truncator2)
    nums += "n";
  return options.stylize(nums, "bigint");
}
__name(inspectBigInt2, "inspectBigInt");
__name2(inspectBigInt2, "inspectBigInt");
function inspectRegExp2(value, options) {
  const flags = value.toString().split("/")[2];
  const sourceLength = options.truncate - (2 + flags.length);
  const source = value.source;
  return options.stylize(`/${truncate2(source, sourceLength)}/${flags}`, "regexp");
}
__name(inspectRegExp2, "inspectRegExp");
__name2(inspectRegExp2, "inspectRegExp");
function arrayFromSet2(set22) {
  const values = [];
  set22.forEach((value) => {
    values.push(value);
  });
  return values;
}
__name(arrayFromSet2, "arrayFromSet");
__name2(arrayFromSet2, "arrayFromSet");
function inspectSet2(set22, options) {
  if (set22.size === 0)
    return "Set{}";
  options.truncate -= 7;
  return `Set{ ${inspectList2(arrayFromSet2(set22), options)} }`;
}
__name(inspectSet2, "inspectSet");
__name2(inspectSet2, "inspectSet");
var stringEscapeChars2 = new RegExp("['\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]", "g");
var escapeCharacters2 = {
  "\b": "\\b",
  "	": "\\t",
  "\n": "\\n",
  "\f": "\\f",
  "\r": "\\r",
  "'": "\\'",
  "\\": "\\\\"
};
var hex2 = 16;
var unicodeLength2 = 4;
function escape2(char2) {
  return escapeCharacters2[char2] || `\\u${`0000${char2.charCodeAt(0).toString(hex2)}`.slice(-unicodeLength2)}`;
}
__name(escape2, "escape");
__name2(escape2, "escape");
function inspectString2(string, options) {
  if (stringEscapeChars2.test(string)) {
    string = string.replace(stringEscapeChars2, escape2);
  }
  return options.stylize(`'${truncate2(string, options.truncate - 2)}'`, "string");
}
__name(inspectString2, "inspectString");
__name2(inspectString2, "inspectString");
function inspectSymbol2(value) {
  if ("description" in Symbol.prototype) {
    return value.description ? `Symbol(${value.description})` : "Symbol()";
  }
  return value.toString();
}
__name(inspectSymbol2, "inspectSymbol");
__name2(inspectSymbol2, "inspectSymbol");
var getPromiseValue2 = __name2(() => "Promise{\u2026}", "getPromiseValue");
var promise_default2 = getPromiseValue2;
function inspectObject3(object, options) {
  const properties = Object.getOwnPropertyNames(object);
  const symbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : [];
  if (properties.length === 0 && symbols.length === 0) {
    return "{}";
  }
  options.truncate -= 4;
  options.seen = options.seen || [];
  if (options.seen.includes(object)) {
    return "[Circular]";
  }
  options.seen.push(object);
  const propertyContents = inspectList2(properties.map((key) => [key, object[key]]), options, inspectProperty2);
  const symbolContents = inspectList2(symbols.map((key) => [key, object[key]]), options, inspectProperty2);
  options.seen.pop();
  let sep = "";
  if (propertyContents && symbolContents) {
    sep = ", ";
  }
  return `{ ${propertyContents}${sep}${symbolContents} }`;
}
__name(inspectObject3, "inspectObject");
__name2(inspectObject3, "inspectObject");
var toStringTag2 = typeof Symbol !== "undefined" && Symbol.toStringTag ? Symbol.toStringTag : false;
function inspectClass2(value, options) {
  let name = "";
  if (toStringTag2 && toStringTag2 in value) {
    name = value[toStringTag2];
  }
  name = name || value.constructor.name;
  if (!name || name === "_class") {
    name = "<Anonymous Class>";
  }
  options.truncate -= name.length;
  return `${name}${inspectObject3(value, options)}`;
}
__name(inspectClass2, "inspectClass");
__name2(inspectClass2, "inspectClass");
function inspectArguments2(args, options) {
  if (args.length === 0)
    return "Arguments[]";
  options.truncate -= 13;
  return `Arguments[ ${inspectList2(args, options)} ]`;
}
__name(inspectArguments2, "inspectArguments");
__name2(inspectArguments2, "inspectArguments");
var errorKeys2 = [
  "stack",
  "line",
  "column",
  "name",
  "message",
  "fileName",
  "lineNumber",
  "columnNumber",
  "number",
  "description",
  "cause"
];
function inspectObject22(error, options) {
  const properties = Object.getOwnPropertyNames(error).filter((key) => errorKeys2.indexOf(key) === -1);
  const name = error.name;
  options.truncate -= name.length;
  let message = "";
  if (typeof error.message === "string") {
    message = truncate2(error.message, options.truncate);
  } else {
    properties.unshift("message");
  }
  message = message ? `: ${message}` : "";
  options.truncate -= message.length + 5;
  options.seen = options.seen || [];
  if (options.seen.includes(error)) {
    return "[Circular]";
  }
  options.seen.push(error);
  const propertyContents = inspectList2(properties.map((key) => [key, error[key]]), options, inspectProperty2);
  return `${name}${message}${propertyContents ? ` { ${propertyContents} }` : ""}`;
}
__name(inspectObject22, "inspectObject2");
__name2(inspectObject22, "inspectObject");
function inspectAttribute2([key, value], options) {
  options.truncate -= 3;
  if (!value) {
    return `${options.stylize(String(key), "yellow")}`;
  }
  return `${options.stylize(String(key), "yellow")}=${options.stylize(`"${value}"`, "string")}`;
}
__name(inspectAttribute2, "inspectAttribute");
__name2(inspectAttribute2, "inspectAttribute");
function inspectNodeCollection2(collection, options) {
  return inspectList2(collection, options, inspectNode2, "\n");
}
__name(inspectNodeCollection2, "inspectNodeCollection");
__name2(inspectNodeCollection2, "inspectNodeCollection");
function inspectNode2(node2, options) {
  switch (node2.nodeType) {
    case 1:
      return inspectHTML2(node2, options);
    case 3:
      return options.inspect(node2.data, options);
    default:
      return options.inspect(node2, options);
  }
}
__name(inspectNode2, "inspectNode");
__name2(inspectNode2, "inspectNode");
function inspectHTML2(element, options) {
  const properties = element.getAttributeNames();
  const name = element.tagName.toLowerCase();
  const head2 = options.stylize(`<${name}`, "special");
  const headClose = options.stylize(`>`, "special");
  const tail2 = options.stylize(`</${name}>`, "special");
  options.truncate -= name.length * 2 + 5;
  let propertyContents = "";
  if (properties.length > 0) {
    propertyContents += " ";
    propertyContents += inspectList2(properties.map((key) => [key, element.getAttribute(key)]), options, inspectAttribute2, " ");
  }
  options.truncate -= propertyContents.length;
  const truncate22 = options.truncate;
  let children = inspectNodeCollection2(element.children, options);
  if (children && children.length > truncate22) {
    children = `${truncator2}(${element.children.length})`;
  }
  return `${head2}${propertyContents}${headClose}${children}${tail2}`;
}
__name(inspectHTML2, "inspectHTML");
__name2(inspectHTML2, "inspectHTML");
var symbolsSupported2 = typeof Symbol === "function" && typeof Symbol.for === "function";
var chaiInspect2 = symbolsSupported2 ? Symbol.for("chai/inspect") : "@@chai/inspect";
var nodeInspect2 = Symbol.for("nodejs.util.inspect.custom");
var constructorMap2 = /* @__PURE__ */ new WeakMap();
var stringTagMap2 = {};
var baseTypesMap2 = {
  undefined: __name2((value, options) => options.stylize("undefined", "undefined"), "undefined"),
  null: __name2((value, options) => options.stylize("null", "null"), "null"),
  boolean: __name2((value, options) => options.stylize(String(value), "boolean"), "boolean"),
  Boolean: __name2((value, options) => options.stylize(String(value), "boolean"), "Boolean"),
  number: inspectNumber2,
  Number: inspectNumber2,
  bigint: inspectBigInt2,
  BigInt: inspectBigInt2,
  string: inspectString2,
  String: inspectString2,
  function: inspectFunction2,
  Function: inspectFunction2,
  symbol: inspectSymbol2,
  // A Symbol polyfill will return `Symbol` not `symbol` from typedetect
  Symbol: inspectSymbol2,
  Array: inspectArray2,
  Date: inspectDate2,
  Map: inspectMap2,
  Set: inspectSet2,
  RegExp: inspectRegExp2,
  Promise: promise_default2,
  // WeakSet, WeakMap are totally opaque to us
  WeakSet: __name2((value, options) => options.stylize("WeakSet{\u2026}", "special"), "WeakSet"),
  WeakMap: __name2((value, options) => options.stylize("WeakMap{\u2026}", "special"), "WeakMap"),
  Arguments: inspectArguments2,
  Int8Array: inspectTypedArray2,
  Uint8Array: inspectTypedArray2,
  Uint8ClampedArray: inspectTypedArray2,
  Int16Array: inspectTypedArray2,
  Uint16Array: inspectTypedArray2,
  Int32Array: inspectTypedArray2,
  Uint32Array: inspectTypedArray2,
  Float32Array: inspectTypedArray2,
  Float64Array: inspectTypedArray2,
  Generator: __name2(() => "", "Generator"),
  DataView: __name2(() => "", "DataView"),
  ArrayBuffer: __name2(() => "", "ArrayBuffer"),
  Error: inspectObject22,
  HTMLCollection: inspectNodeCollection2,
  NodeList: inspectNodeCollection2
};
var inspectCustom2 = __name2((value, options, type32) => {
  if (chaiInspect2 in value && typeof value[chaiInspect2] === "function") {
    return value[chaiInspect2](options);
  }
  if (nodeInspect2 in value && typeof value[nodeInspect2] === "function") {
    return value[nodeInspect2](options.depth, options);
  }
  if ("inspect" in value && typeof value.inspect === "function") {
    return value.inspect(options.depth, options);
  }
  if ("constructor" in value && constructorMap2.has(value.constructor)) {
    return constructorMap2.get(value.constructor)(value, options);
  }
  if (stringTagMap2[type32]) {
    return stringTagMap2[type32](value, options);
  }
  return "";
}, "inspectCustom");
var toString4 = Object.prototype.toString;
function inspect4(value, opts = {}) {
  const options = normaliseOptions2(opts, inspect4);
  const { customInspect } = options;
  let type32 = value === null ? "null" : typeof value;
  if (type32 === "object") {
    type32 = toString4.call(value).slice(8, -1);
  }
  if (type32 in baseTypesMap2) {
    return baseTypesMap2[type32](value, options);
  }
  if (customInspect && value) {
    const output = inspectCustom2(value, options, type32);
    if (output) {
      if (typeof output === "string")
        return output;
      return inspect4(output, options);
    }
  }
  const proto = value ? Object.getPrototypeOf(value) : false;
  if (proto === Object.prototype || proto === null) {
    return inspectObject3(value, options);
  }
  if (value && typeof HTMLElement === "function" && value instanceof HTMLElement) {
    return inspectHTML2(value, options);
  }
  if ("constructor" in value) {
    if (value.constructor !== Object) {
      return inspectClass2(value, options);
    }
    return inspectObject3(value, options);
  }
  if (value === Object(value)) {
    return inspectObject3(value, options);
  }
  return options.stylize(String(value), type32);
}
__name(inspect4, "inspect");
__name2(inspect4, "inspect");
var config2 = {
  /**
   * ### config.includeStack
   *
   * User configurable property, influences whether stack trace
   * is included in Assertion error message. Default of false
   * suppresses stack trace in the error message.
   *
   *     chai.config.includeStack = true;  // enable stack on error
   *
   * @param {boolean}
   * @public
   */
  includeStack: false,
  /**
   * ### config.showDiff
   *
   * User configurable property, influences whether or not
   * the `showDiff` flag should be included in the thrown
   * AssertionErrors. `false` will always be `false`; `true`
   * will be true when the assertion has requested a diff
   * be shown.
   *
   * @param {boolean}
   * @public
   */
  showDiff: true,
  /**
   * ### config.truncateThreshold
   *
   * User configurable property, sets length threshold for actual and
   * expected values in assertion errors. If this threshold is exceeded, for
   * example for large data structures, the value is replaced with something
   * like `[ Array(3) ]` or `{ Object (prop1, prop2) }`.
   *
   * Set it to zero if you want to disable truncating altogether.
   *
   * This is especially userful when doing assertions on arrays: having this
   * set to a reasonable large value makes the failure messages readily
   * inspectable.
   *
   *     chai.config.truncateThreshold = 0;  // disable truncating
   *
   * @param {number}
   * @public
   */
  truncateThreshold: 40,
  /**
   * ### config.useProxy
   *
   * User configurable property, defines if chai will use a Proxy to throw
   * an error when a non-existent property is read, which protects users
   * from typos when using property-based assertions.
   *
   * Set it to false if you want to disable this feature.
   *
   *     chai.config.useProxy = false;  // disable use of Proxy
   *
   * This feature is automatically disabled regardless of this config value
   * in environments that don't support proxies.
   *
   * @param {boolean}
   * @public
   */
  useProxy: true,
  /**
   * ### config.proxyExcludedKeys
   *
   * User configurable property, defines which properties should be ignored
   * instead of throwing an error if they do not exist on the assertion.
   * This is only applied if the environment Chai is running in supports proxies and
   * if the `useProxy` configuration setting is enabled.
   * By default, `then` and `inspect` will not throw an error if they do not exist on the
   * assertion object because the `.inspect` property is read by `util.inspect` (for example, when
   * using `console.log` on the assertion object) and `.then` is necessary for promise type-checking.
   *
   *     // By default these keys will not throw an error if they do not exist on the assertion object
   *     chai.config.proxyExcludedKeys = ['then', 'inspect'];
   *
   * @param {Array}
   * @public
   */
  proxyExcludedKeys: ["then", "catch", "inspect", "toJSON"],
  /**
   * ### config.deepEqual
   *
   * User configurable property, defines which a custom function to use for deepEqual
   * comparisons.
   * By default, the function used is the one from the `deep-eql` package without custom comparator.
   *
   *     // use a custom comparator
   *     chai.config.deepEqual = (expected, actual) => {
   *         return chai.util.eql(expected, actual, {
   *             comparator: (expected, actual) => {
   *                 // for non number comparison, use the default behavior
   *                 if(typeof expected !== 'number') return null;
   *                 // allow a difference of 10 between compared numbers
   *                 return typeof actual === 'number' && Math.abs(actual - expected) < 10
   *             }
   *         })
   *     };
   *
   * @param {Function}
   * @public
   */
  deepEqual: null
};
function inspect22(obj, showHidden, depth, colors3) {
  let options = {
    colors: colors3,
    depth: typeof depth === "undefined" ? 2 : depth,
    showHidden,
    truncate: config2.truncateThreshold ? config2.truncateThreshold : Infinity
  };
  return inspect4(obj, options);
}
__name(inspect22, "inspect2");
__name2(inspect22, "inspect");
function objDisplay(obj) {
  let str2 = inspect22(obj), type32 = Object.prototype.toString.call(obj);
  if (config2.truncateThreshold && str2.length >= config2.truncateThreshold) {
    if (type32 === "[object Function]") {
      return !obj.name || obj.name === "" ? "[Function]" : "[Function: " + obj.name + "]";
    } else if (type32 === "[object Array]") {
      return "[ Array(" + obj.length + ") ]";
    } else if (type32 === "[object Object]") {
      let keys3 = Object.keys(obj), kstr = keys3.length > 2 ? keys3.splice(0, 2).join(", ") + ", ..." : keys3.join(", ");
      return "{ Object (" + kstr + ") }";
    } else {
      return str2;
    }
  } else {
    return str2;
  }
}
__name(objDisplay, "objDisplay");
__name2(objDisplay, "objDisplay");
function getMessage2(obj, args) {
  let negate = flag(obj, "negate");
  let val = flag(obj, "object");
  let expected = args[3];
  let actual = getActual(obj, args);
  let msg = negate ? args[2] : args[1];
  let flagMsg = flag(obj, "message");
  if (typeof msg === "function") msg = msg();
  msg = msg || "";
  msg = msg.replace(/#\{this\}/g, function() {
    return objDisplay(val);
  }).replace(/#\{act\}/g, function() {
    return objDisplay(actual);
  }).replace(/#\{exp\}/g, function() {
    return objDisplay(expected);
  });
  return flagMsg ? flagMsg + ": " + msg : msg;
}
__name(getMessage2, "getMessage2");
__name2(getMessage2, "getMessage");
function transferFlags(assertion, object, includeAll) {
  let flags = assertion.__flags || (assertion.__flags = /* @__PURE__ */ Object.create(null));
  if (!object.__flags) {
    object.__flags = /* @__PURE__ */ Object.create(null);
  }
  includeAll = arguments.length === 3 ? includeAll : true;
  for (let flag3 in flags) {
    if (includeAll || flag3 !== "object" && flag3 !== "ssfi" && flag3 !== "lockSsfi" && flag3 != "message") {
      object.__flags[flag3] = flags[flag3];
    }
  }
}
__name(transferFlags, "transferFlags");
__name2(transferFlags, "transferFlags");
function type2(obj) {
  if (typeof obj === "undefined") {
    return "undefined";
  }
  if (obj === null) {
    return "null";
  }
  const stringTag2 = obj[Symbol.toStringTag];
  if (typeof stringTag2 === "string") {
    return stringTag2;
  }
  const sliceStart = 8;
  const sliceEnd = -1;
  return Object.prototype.toString.call(obj).slice(sliceStart, sliceEnd);
}
__name(type2, "type2");
__name2(type2, "type");
function FakeMap() {
  this._key = "chai/deep-eql__" + Math.random() + Date.now();
}
__name(FakeMap, "FakeMap");
__name2(FakeMap, "FakeMap");
FakeMap.prototype = {
  get: __name2(/* @__PURE__ */ __name(function get2(key) {
    return key[this._key];
  }, "get"), "get"),
  set: __name2(/* @__PURE__ */ __name(function set(key, value) {
    if (Object.isExtensible(key)) {
      Object.defineProperty(key, this._key, {
        value,
        configurable: true
      });
    }
  }, "set"), "set")
};
var MemoizeMap = typeof WeakMap === "function" ? WeakMap : FakeMap;
function memoizeCompare(leftHandOperand, rightHandOperand, memoizeMap) {
  if (!memoizeMap || isPrimitive2(leftHandOperand) || isPrimitive2(rightHandOperand)) {
    return null;
  }
  var leftHandMap = memoizeMap.get(leftHandOperand);
  if (leftHandMap) {
    var result = leftHandMap.get(rightHandOperand);
    if (typeof result === "boolean") {
      return result;
    }
  }
  return null;
}
__name(memoizeCompare, "memoizeCompare");
__name2(memoizeCompare, "memoizeCompare");
function memoizeSet(leftHandOperand, rightHandOperand, memoizeMap, result) {
  if (!memoizeMap || isPrimitive2(leftHandOperand) || isPrimitive2(rightHandOperand)) {
    return;
  }
  var leftHandMap = memoizeMap.get(leftHandOperand);
  if (leftHandMap) {
    leftHandMap.set(rightHandOperand, result);
  } else {
    leftHandMap = new MemoizeMap();
    leftHandMap.set(rightHandOperand, result);
    memoizeMap.set(leftHandOperand, leftHandMap);
  }
}
__name(memoizeSet, "memoizeSet");
__name2(memoizeSet, "memoizeSet");
var deep_eql_default = deepEqual;
function deepEqual(leftHandOperand, rightHandOperand, options) {
  if (options && options.comparator) {
    return extensiveDeepEqual(leftHandOperand, rightHandOperand, options);
  }
  var simpleResult = simpleEqual(leftHandOperand, rightHandOperand);
  if (simpleResult !== null) {
    return simpleResult;
  }
  return extensiveDeepEqual(leftHandOperand, rightHandOperand, options);
}
__name(deepEqual, "deepEqual");
__name2(deepEqual, "deepEqual");
function simpleEqual(leftHandOperand, rightHandOperand) {
  if (leftHandOperand === rightHandOperand) {
    return leftHandOperand !== 0 || 1 / leftHandOperand === 1 / rightHandOperand;
  }
  if (leftHandOperand !== leftHandOperand && // eslint-disable-line no-self-compare
  rightHandOperand !== rightHandOperand) {
    return true;
  }
  if (isPrimitive2(leftHandOperand) || isPrimitive2(rightHandOperand)) {
    return false;
  }
  return null;
}
__name(simpleEqual, "simpleEqual");
__name2(simpleEqual, "simpleEqual");
function extensiveDeepEqual(leftHandOperand, rightHandOperand, options) {
  options = options || {};
  options.memoize = options.memoize === false ? false : options.memoize || new MemoizeMap();
  var comparator = options && options.comparator;
  var memoizeResultLeft = memoizeCompare(leftHandOperand, rightHandOperand, options.memoize);
  if (memoizeResultLeft !== null) {
    return memoizeResultLeft;
  }
  var memoizeResultRight = memoizeCompare(rightHandOperand, leftHandOperand, options.memoize);
  if (memoizeResultRight !== null) {
    return memoizeResultRight;
  }
  if (comparator) {
    var comparatorResult = comparator(leftHandOperand, rightHandOperand);
    if (comparatorResult === false || comparatorResult === true) {
      memoizeSet(leftHandOperand, rightHandOperand, options.memoize, comparatorResult);
      return comparatorResult;
    }
    var simpleResult = simpleEqual(leftHandOperand, rightHandOperand);
    if (simpleResult !== null) {
      return simpleResult;
    }
  }
  var leftHandType = type2(leftHandOperand);
  if (leftHandType !== type2(rightHandOperand)) {
    memoizeSet(leftHandOperand, rightHandOperand, options.memoize, false);
    return false;
  }
  memoizeSet(leftHandOperand, rightHandOperand, options.memoize, true);
  var result = extensiveDeepEqualByType(leftHandOperand, rightHandOperand, leftHandType, options);
  memoizeSet(leftHandOperand, rightHandOperand, options.memoize, result);
  return result;
}
__name(extensiveDeepEqual, "extensiveDeepEqual");
__name2(extensiveDeepEqual, "extensiveDeepEqual");
function extensiveDeepEqualByType(leftHandOperand, rightHandOperand, leftHandType, options) {
  switch (leftHandType) {
    case "String":
    case "Number":
    case "Boolean":
    case "Date":
      return deepEqual(leftHandOperand.valueOf(), rightHandOperand.valueOf());
    case "Promise":
    case "Symbol":
    case "function":
    case "WeakMap":
    case "WeakSet":
      return leftHandOperand === rightHandOperand;
    case "Error":
      return keysEqual(leftHandOperand, rightHandOperand, ["name", "message", "code"], options);
    case "Arguments":
    case "Int8Array":
    case "Uint8Array":
    case "Uint8ClampedArray":
    case "Int16Array":
    case "Uint16Array":
    case "Int32Array":
    case "Uint32Array":
    case "Float32Array":
    case "Float64Array":
    case "Array":
      return iterableEqual(leftHandOperand, rightHandOperand, options);
    case "RegExp":
      return regexpEqual(leftHandOperand, rightHandOperand);
    case "Generator":
      return generatorEqual(leftHandOperand, rightHandOperand, options);
    case "DataView":
      return iterableEqual(new Uint8Array(leftHandOperand.buffer), new Uint8Array(rightHandOperand.buffer), options);
    case "ArrayBuffer":
      return iterableEqual(new Uint8Array(leftHandOperand), new Uint8Array(rightHandOperand), options);
    case "Set":
      return entriesEqual(leftHandOperand, rightHandOperand, options);
    case "Map":
      return entriesEqual(leftHandOperand, rightHandOperand, options);
    case "Temporal.PlainDate":
    case "Temporal.PlainTime":
    case "Temporal.PlainDateTime":
    case "Temporal.Instant":
    case "Temporal.ZonedDateTime":
    case "Temporal.PlainYearMonth":
    case "Temporal.PlainMonthDay":
      return leftHandOperand.equals(rightHandOperand);
    case "Temporal.Duration":
      return leftHandOperand.total("nanoseconds") === rightHandOperand.total("nanoseconds");
    case "Temporal.TimeZone":
    case "Temporal.Calendar":
      return leftHandOperand.toString() === rightHandOperand.toString();
    default:
      return objectEqual(leftHandOperand, rightHandOperand, options);
  }
}
__name(extensiveDeepEqualByType, "extensiveDeepEqualByType");
__name2(extensiveDeepEqualByType, "extensiveDeepEqualByType");
function regexpEqual(leftHandOperand, rightHandOperand) {
  return leftHandOperand.toString() === rightHandOperand.toString();
}
__name(regexpEqual, "regexpEqual");
__name2(regexpEqual, "regexpEqual");
function entriesEqual(leftHandOperand, rightHandOperand, options) {
  try {
    if (leftHandOperand.size !== rightHandOperand.size) {
      return false;
    }
    if (leftHandOperand.size === 0) {
      return true;
    }
  } catch (sizeError) {
    return false;
  }
  var leftHandItems = [];
  var rightHandItems = [];
  leftHandOperand.forEach(__name2(/* @__PURE__ */ __name(function gatherEntries(key, value) {
    leftHandItems.push([key, value]);
  }, "gatherEntries"), "gatherEntries"));
  rightHandOperand.forEach(__name2(/* @__PURE__ */ __name(function gatherEntries(key, value) {
    rightHandItems.push([key, value]);
  }, "gatherEntries"), "gatherEntries"));
  return iterableEqual(leftHandItems.sort(), rightHandItems.sort(), options);
}
__name(entriesEqual, "entriesEqual");
__name2(entriesEqual, "entriesEqual");
function iterableEqual(leftHandOperand, rightHandOperand, options) {
  var length2 = leftHandOperand.length;
  if (length2 !== rightHandOperand.length) {
    return false;
  }
  if (length2 === 0) {
    return true;
  }
  var index4 = -1;
  while (++index4 < length2) {
    if (deepEqual(leftHandOperand[index4], rightHandOperand[index4], options) === false) {
      return false;
    }
  }
  return true;
}
__name(iterableEqual, "iterableEqual");
__name2(iterableEqual, "iterableEqual");
function generatorEqual(leftHandOperand, rightHandOperand, options) {
  return iterableEqual(getGeneratorEntries(leftHandOperand), getGeneratorEntries(rightHandOperand), options);
}
__name(generatorEqual, "generatorEqual");
__name2(generatorEqual, "generatorEqual");
function hasIteratorFunction(target) {
  return typeof Symbol !== "undefined" && typeof target === "object" && typeof Symbol.iterator !== "undefined" && typeof target[Symbol.iterator] === "function";
}
__name(hasIteratorFunction, "hasIteratorFunction");
__name2(hasIteratorFunction, "hasIteratorFunction");
function getIteratorEntries(target) {
  if (hasIteratorFunction(target)) {
    try {
      return getGeneratorEntries(target[Symbol.iterator]());
    } catch (iteratorError) {
      return [];
    }
  }
  return [];
}
__name(getIteratorEntries, "getIteratorEntries");
__name2(getIteratorEntries, "getIteratorEntries");
function getGeneratorEntries(generator) {
  var generatorResult = generator.next();
  var accumulator = [generatorResult.value];
  while (generatorResult.done === false) {
    generatorResult = generator.next();
    accumulator.push(generatorResult.value);
  }
  return accumulator;
}
__name(getGeneratorEntries, "getGeneratorEntries");
__name2(getGeneratorEntries, "getGeneratorEntries");
function getEnumerableKeys(target) {
  var keys3 = [];
  for (var key in target) {
    keys3.push(key);
  }
  return keys3;
}
__name(getEnumerableKeys, "getEnumerableKeys");
__name2(getEnumerableKeys, "getEnumerableKeys");
function getEnumerableSymbols(target) {
  var keys3 = [];
  var allKeys = Object.getOwnPropertySymbols(target);
  for (var i2 = 0; i2 < allKeys.length; i2 += 1) {
    var key = allKeys[i2];
    if (Object.getOwnPropertyDescriptor(target, key).enumerable) {
      keys3.push(key);
    }
  }
  return keys3;
}
__name(getEnumerableSymbols, "getEnumerableSymbols");
__name2(getEnumerableSymbols, "getEnumerableSymbols");
function keysEqual(leftHandOperand, rightHandOperand, keys3, options) {
  var length2 = keys3.length;
  if (length2 === 0) {
    return true;
  }
  for (var i2 = 0; i2 < length2; i2 += 1) {
    if (deepEqual(leftHandOperand[keys3[i2]], rightHandOperand[keys3[i2]], options) === false) {
      return false;
    }
  }
  return true;
}
__name(keysEqual, "keysEqual");
__name2(keysEqual, "keysEqual");
function objectEqual(leftHandOperand, rightHandOperand, options) {
  var leftHandKeys = getEnumerableKeys(leftHandOperand);
  var rightHandKeys = getEnumerableKeys(rightHandOperand);
  var leftHandSymbols = getEnumerableSymbols(leftHandOperand);
  var rightHandSymbols = getEnumerableSymbols(rightHandOperand);
  leftHandKeys = leftHandKeys.concat(leftHandSymbols);
  rightHandKeys = rightHandKeys.concat(rightHandSymbols);
  if (leftHandKeys.length && leftHandKeys.length === rightHandKeys.length) {
    if (iterableEqual(mapSymbols(leftHandKeys).sort(), mapSymbols(rightHandKeys).sort()) === false) {
      return false;
    }
    return keysEqual(leftHandOperand, rightHandOperand, leftHandKeys, options);
  }
  var leftHandEntries = getIteratorEntries(leftHandOperand);
  var rightHandEntries = getIteratorEntries(rightHandOperand);
  if (leftHandEntries.length && leftHandEntries.length === rightHandEntries.length) {
    leftHandEntries.sort();
    rightHandEntries.sort();
    return iterableEqual(leftHandEntries, rightHandEntries, options);
  }
  if (leftHandKeys.length === 0 && leftHandEntries.length === 0 && rightHandKeys.length === 0 && rightHandEntries.length === 0) {
    return true;
  }
  return false;
}
__name(objectEqual, "objectEqual");
__name2(objectEqual, "objectEqual");
function isPrimitive2(value) {
  return value === null || typeof value !== "object";
}
__name(isPrimitive2, "isPrimitive");
__name2(isPrimitive2, "isPrimitive");
function mapSymbols(arr) {
  return arr.map(__name2(/* @__PURE__ */ __name(function mapSymbol(entry) {
    if (typeof entry === "symbol") {
      return entry.toString();
    }
    return entry;
  }, "mapSymbol"), "mapSymbol"));
}
__name(mapSymbols, "mapSymbols");
__name2(mapSymbols, "mapSymbols");
function hasProperty(obj, name) {
  if (typeof obj === "undefined" || obj === null) {
    return false;
  }
  return name in Object(obj);
}
__name(hasProperty, "hasProperty");
__name2(hasProperty, "hasProperty");
function parsePath(path) {
  const str2 = path.replace(/([^\\])\[/g, "$1.[");
  const parts = str2.match(/(\\\.|[^.]+?)+/g);
  return parts.map((value) => {
    if (value === "constructor" || value === "__proto__" || value === "prototype") {
      return {};
    }
    const regexp = /^\[(\d+)\]$/;
    const mArr = regexp.exec(value);
    let parsed = null;
    if (mArr) {
      parsed = { i: parseFloat(mArr[1]) };
    } else {
      parsed = { p: value.replace(/\\([.[\]])/g, "$1") };
    }
    return parsed;
  });
}
__name(parsePath, "parsePath");
__name2(parsePath, "parsePath");
function internalGetPathValue(obj, parsed, pathDepth) {
  let temporaryValue = obj;
  let res = null;
  pathDepth = typeof pathDepth === "undefined" ? parsed.length : pathDepth;
  for (let i2 = 0; i2 < pathDepth; i2++) {
    const part = parsed[i2];
    if (temporaryValue) {
      if (typeof part.p === "undefined") {
        temporaryValue = temporaryValue[part.i];
      } else {
        temporaryValue = temporaryValue[part.p];
      }
      if (i2 === pathDepth - 1) {
        res = temporaryValue;
      }
    }
  }
  return res;
}
__name(internalGetPathValue, "internalGetPathValue");
__name2(internalGetPathValue, "internalGetPathValue");
function getPathInfo(obj, path) {
  const parsed = parsePath(path);
  const last2 = parsed[parsed.length - 1];
  const info = {
    parent: parsed.length > 1 ? internalGetPathValue(obj, parsed, parsed.length - 1) : obj,
    name: last2.p || last2.i,
    value: internalGetPathValue(obj, parsed)
  };
  info.exists = hasProperty(info.parent, info.name);
  return info;
}
__name(getPathInfo, "getPathInfo");
__name2(getPathInfo, "getPathInfo");
var _a2;
var Assertion = (_a2 = class {
  /** @type {{}} */
  __flags = {};
  /**
   * Creates object for chaining.
   * `Assertion` objects contain metadata in the form of flags. Three flags can
   * be assigned during instantiation by passing arguments to this constructor:
   *
   * - `object`: This flag contains the target of the assertion. For example, in
   * the assertion `expect(numKittens).to.equal(7);`, the `object` flag will
   * contain `numKittens` so that the `equal` assertion can reference it when
   * needed.
   *
   * - `message`: This flag contains an optional custom error message to be
   * prepended to the error message that's generated by the assertion when it
   * fails.
   *
   * - `ssfi`: This flag stands for "start stack function indicator". It
   * contains a function reference that serves as the starting point for
   * removing frames from the stack trace of the error that's created by the
   * assertion when it fails. The goal is to provide a cleaner stack trace to
   * end users by removing Chai's internal functions. Note that it only works
   * in environments that support `Error.captureStackTrace`, and only when
   * `Chai.config.includeStack` hasn't been set to `false`.
   *
   * - `lockSsfi`: This flag controls whether or not the given `ssfi` flag
   * should retain its current value, even as assertions are chained off of
   * this object. This is usually set to `true` when creating a new assertion
   * from within another assertion. It's also temporarily set to `true` before
   * an overwritten assertion gets called by the overwriting assertion.
   *
   * - `eql`: This flag contains the deepEqual function to be used by the assertion.
   *
   * @param {unknown} obj target of the assertion
   * @param {string} [msg] (optional) custom error message
   * @param {Function} [ssfi] (optional) starting point for removing stack frames
   * @param {boolean} [lockSsfi] (optional) whether or not the ssfi flag is locked
   */
  constructor(obj, msg, ssfi, lockSsfi) {
    flag(this, "ssfi", ssfi || _a2);
    flag(this, "lockSsfi", lockSsfi);
    flag(this, "object", obj);
    flag(this, "message", msg);
    flag(this, "eql", config2.deepEqual || deep_eql_default);
    return proxify(this);
  }
  /** @returns {boolean} */
  static get includeStack() {
    console.warn(
      "Assertion.includeStack is deprecated, use chai.config.includeStack instead."
    );
    return config2.includeStack;
  }
  /** @param {boolean} value */
  static set includeStack(value) {
    console.warn(
      "Assertion.includeStack is deprecated, use chai.config.includeStack instead."
    );
    config2.includeStack = value;
  }
  /** @returns {boolean} */
  static get showDiff() {
    console.warn(
      "Assertion.showDiff is deprecated, use chai.config.showDiff instead."
    );
    return config2.showDiff;
  }
  /** @param {boolean} value */
  static set showDiff(value) {
    console.warn(
      "Assertion.showDiff is deprecated, use chai.config.showDiff instead."
    );
    config2.showDiff = value;
  }
  /**
   * @param {string} name
   * @param {Function} fn
   */
  static addProperty(name, fn4) {
    addProperty(this.prototype, name, fn4);
  }
  /**
   * @param {string} name
   * @param {Function} fn
   */
  static addMethod(name, fn4) {
    addMethod(this.prototype, name, fn4);
  }
  /**
   * @param {string} name
   * @param {Function} fn
   * @param {Function} chainingBehavior
   */
  static addChainableMethod(name, fn4, chainingBehavior) {
    addChainableMethod(this.prototype, name, fn4, chainingBehavior);
  }
  /**
   * @param {string} name
   * @param {Function} fn
   */
  static overwriteProperty(name, fn4) {
    overwriteProperty(this.prototype, name, fn4);
  }
  /**
   * @param {string} name
   * @param {Function} fn
   */
  static overwriteMethod(name, fn4) {
    overwriteMethod(this.prototype, name, fn4);
  }
  /**
   * @param {string} name
   * @param {Function} fn
   * @param {Function} chainingBehavior
   */
  static overwriteChainableMethod(name, fn4, chainingBehavior) {
    overwriteChainableMethod(this.prototype, name, fn4, chainingBehavior);
  }
  /**
   * ### .assert(expression, message, negateMessage, expected, actual, showDiff)
   *
   * Executes an expression and check expectations. Throws AssertionError for reporting if test doesn't pass.
   *
   * @name assert
   * @param {unknown} _expr to be tested
   * @param {string | Function} msg or function that returns message to display if expression fails
   * @param {string | Function} _negateMsg or function that returns negatedMessage to display if negated expression fails
   * @param {unknown} expected value (remember to check for negation)
   * @param {unknown} _actual (optional) will default to `this.obj`
   * @param {boolean} showDiff (optional) when set to `true`, assert will display a diff in addition to the message if expression fails
   * @returns {void}
   */
  assert(_expr, msg, _negateMsg, expected, _actual, showDiff) {
    const ok = test2(this, arguments);
    if (false !== showDiff) showDiff = true;
    if (void 0 === expected && void 0 === _actual) showDiff = false;
    if (true !== config2.showDiff) showDiff = false;
    if (!ok) {
      msg = getMessage2(this, arguments);
      const actual = getActual(this, arguments);
      const assertionErrorObjectProperties = {
        actual,
        expected,
        showDiff
      };
      const operator = getOperator(this, arguments);
      if (operator) {
        assertionErrorObjectProperties.operator = operator;
      }
      throw new AssertionError(
        msg,
        assertionErrorObjectProperties,
        // @ts-expect-error Not sure what to do about these types yet
        config2.includeStack ? this.assert : flag(this, "ssfi")
      );
    }
  }
  /**
   * Quick reference to stored `actual` value for plugin developers.
   *
   * @returns {unknown}
   */
  get _obj() {
    return flag(this, "object");
  }
  /**
   * Quick reference to stored `actual` value for plugin developers.
   *
   * @param {unknown} val
   */
  set _obj(val) {
    flag(this, "object", val);
  }
}, __name(_a2, "_Assertion"), __name2(_a2, "Assertion"), _a2);
function isProxyEnabled() {
  return config2.useProxy && typeof Proxy !== "undefined" && typeof Reflect !== "undefined";
}
__name(isProxyEnabled, "isProxyEnabled");
__name2(isProxyEnabled, "isProxyEnabled");
function addProperty(ctx, name, getter) {
  getter = getter === void 0 ? function() {
  } : getter;
  Object.defineProperty(ctx, name, {
    get: __name2(/* @__PURE__ */ __name(function propertyGetter() {
      if (!isProxyEnabled() && !flag(this, "lockSsfi")) {
        flag(this, "ssfi", propertyGetter);
      }
      let result = getter.call(this);
      if (result !== void 0) return result;
      let newAssertion = new Assertion();
      transferFlags(this, newAssertion);
      return newAssertion;
    }, "propertyGetter"), "propertyGetter"),
    configurable: true
  });
}
__name(addProperty, "addProperty");
__name2(addProperty, "addProperty");
var fnLengthDesc = Object.getOwnPropertyDescriptor(function() {
}, "length");
function addLengthGuard(fn4, assertionName, isChainable) {
  if (!fnLengthDesc.configurable) return fn4;
  Object.defineProperty(fn4, "length", {
    get: __name2(function() {
      if (isChainable) {
        throw Error(
          "Invalid Chai property: " + assertionName + '.length. Due to a compatibility issue, "length" cannot directly follow "' + assertionName + '". Use "' + assertionName + '.lengthOf" instead.'
        );
      }
      throw Error(
        "Invalid Chai property: " + assertionName + '.length. See docs for proper usage of "' + assertionName + '".'
      );
    }, "get")
  });
  return fn4;
}
__name(addLengthGuard, "addLengthGuard");
__name2(addLengthGuard, "addLengthGuard");
function getProperties(object) {
  let result = Object.getOwnPropertyNames(object);
  function addProperty2(property) {
    if (result.indexOf(property) === -1) {
      result.push(property);
    }
  }
  __name(addProperty2, "addProperty2");
  __name2(addProperty2, "addProperty");
  let proto = Object.getPrototypeOf(object);
  while (proto !== null) {
    Object.getOwnPropertyNames(proto).forEach(addProperty2);
    proto = Object.getPrototypeOf(proto);
  }
  return result;
}
__name(getProperties, "getProperties");
__name2(getProperties, "getProperties");
var builtins = ["__flags", "__methods", "_obj", "assert"];
function proxify(obj, nonChainableMethodName) {
  if (!isProxyEnabled()) return obj;
  return new Proxy(obj, {
    get: __name2(/* @__PURE__ */ __name(function proxyGetter(target, property) {
      if (typeof property === "string" && config2.proxyExcludedKeys.indexOf(property) === -1 && !Reflect.has(target, property)) {
        if (nonChainableMethodName) {
          throw Error(
            "Invalid Chai property: " + nonChainableMethodName + "." + property + '. See docs for proper usage of "' + nonChainableMethodName + '".'
          );
        }
        let suggestion = null;
        let suggestionDistance = 4;
        getProperties(target).forEach(function(prop) {
          if (
            // we actually mean to check `Object.prototype` here
            // eslint-disable-next-line no-prototype-builtins
            !Object.prototype.hasOwnProperty(prop) && builtins.indexOf(prop) === -1
          ) {
            let dist = stringDistanceCapped(property, prop, suggestionDistance);
            if (dist < suggestionDistance) {
              suggestion = prop;
              suggestionDistance = dist;
            }
          }
        });
        if (suggestion !== null) {
          throw Error(
            "Invalid Chai property: " + property + '. Did you mean "' + suggestion + '"?'
          );
        } else {
          throw Error("Invalid Chai property: " + property);
        }
      }
      if (builtins.indexOf(property) === -1 && !flag(target, "lockSsfi")) {
        flag(target, "ssfi", proxyGetter);
      }
      return Reflect.get(target, property);
    }, "proxyGetter"), "proxyGetter")
  });
}
__name(proxify, "proxify");
__name2(proxify, "proxify");
function stringDistanceCapped(strA, strB, cap) {
  if (Math.abs(strA.length - strB.length) >= cap) {
    return cap;
  }
  let memo3 = [];
  for (let i2 = 0; i2 <= strA.length; i2++) {
    memo3[i2] = Array(strB.length + 1).fill(0);
    memo3[i2][0] = i2;
  }
  for (let j = 0; j < strB.length; j++) {
    memo3[0][j] = j;
  }
  for (let i2 = 1; i2 <= strA.length; i2++) {
    let ch = strA.charCodeAt(i2 - 1);
    for (let j = 1; j <= strB.length; j++) {
      if (Math.abs(i2 - j) >= cap) {
        memo3[i2][j] = cap;
        continue;
      }
      memo3[i2][j] = Math.min(
        memo3[i2 - 1][j] + 1,
        memo3[i2][j - 1] + 1,
        memo3[i2 - 1][j - 1] + (ch === strB.charCodeAt(j - 1) ? 0 : 1)
      );
    }
  }
  return memo3[strA.length][strB.length];
}
__name(stringDistanceCapped, "stringDistanceCapped");
__name2(stringDistanceCapped, "stringDistanceCapped");
function addMethod(ctx, name, method) {
  let methodWrapper = __name2(function() {
    if (!flag(this, "lockSsfi")) {
      flag(this, "ssfi", methodWrapper);
    }
    let result = method.apply(this, arguments);
    if (result !== void 0) return result;
    let newAssertion = new Assertion();
    transferFlags(this, newAssertion);
    return newAssertion;
  }, "methodWrapper");
  addLengthGuard(methodWrapper, name, false);
  ctx[name] = proxify(methodWrapper, name);
}
__name(addMethod, "addMethod");
__name2(addMethod, "addMethod");
function overwriteProperty(ctx, name, getter) {
  let _get = Object.getOwnPropertyDescriptor(ctx, name), _super = __name2(function() {
  }, "_super");
  if (_get && "function" === typeof _get.get) _super = _get.get;
  Object.defineProperty(ctx, name, {
    get: __name2(/* @__PURE__ */ __name(function overwritingPropertyGetter() {
      if (!isProxyEnabled() && !flag(this, "lockSsfi")) {
        flag(this, "ssfi", overwritingPropertyGetter);
      }
      let origLockSsfi = flag(this, "lockSsfi");
      flag(this, "lockSsfi", true);
      let result = getter(_super).call(this);
      flag(this, "lockSsfi", origLockSsfi);
      if (result !== void 0) {
        return result;
      }
      let newAssertion = new Assertion();
      transferFlags(this, newAssertion);
      return newAssertion;
    }, "overwritingPropertyGetter"), "overwritingPropertyGetter"),
    configurable: true
  });
}
__name(overwriteProperty, "overwriteProperty");
__name2(overwriteProperty, "overwriteProperty");
function overwriteMethod(ctx, name, method) {
  let _method = ctx[name], _super = __name2(function() {
    throw new Error(name + " is not a function");
  }, "_super");
  if (_method && "function" === typeof _method) _super = _method;
  let overwritingMethodWrapper = __name2(function() {
    if (!flag(this, "lockSsfi")) {
      flag(this, "ssfi", overwritingMethodWrapper);
    }
    let origLockSsfi = flag(this, "lockSsfi");
    flag(this, "lockSsfi", true);
    let result = method(_super).apply(this, arguments);
    flag(this, "lockSsfi", origLockSsfi);
    if (result !== void 0) {
      return result;
    }
    let newAssertion = new Assertion();
    transferFlags(this, newAssertion);
    return newAssertion;
  }, "overwritingMethodWrapper");
  addLengthGuard(overwritingMethodWrapper, name, false);
  ctx[name] = proxify(overwritingMethodWrapper, name);
}
__name(overwriteMethod, "overwriteMethod");
__name2(overwriteMethod, "overwriteMethod");
var canSetPrototype = typeof Object.setPrototypeOf === "function";
var testFn = __name2(function() {
}, "testFn");
var excludeNames = Object.getOwnPropertyNames(testFn).filter(function(name) {
  let propDesc = Object.getOwnPropertyDescriptor(testFn, name);
  if (typeof propDesc !== "object") return true;
  return !propDesc.configurable;
});
var call = Function.prototype.call;
var apply = Function.prototype.apply;
function addChainableMethod(ctx, name, method, chainingBehavior) {
  if (typeof chainingBehavior !== "function") {
    chainingBehavior = __name2(function() {
    }, "chainingBehavior");
  }
  let chainableBehavior = {
    method,
    chainingBehavior
  };
  if (!ctx.__methods) {
    ctx.__methods = {};
  }
  ctx.__methods[name] = chainableBehavior;
  Object.defineProperty(ctx, name, {
    get: __name2(/* @__PURE__ */ __name(function chainableMethodGetter() {
      chainableBehavior.chainingBehavior.call(this);
      let chainableMethodWrapper = __name2(function() {
        if (!flag(this, "lockSsfi")) {
          flag(this, "ssfi", chainableMethodWrapper);
        }
        let result = chainableBehavior.method.apply(this, arguments);
        if (result !== void 0) {
          return result;
        }
        let newAssertion = new Assertion();
        transferFlags(this, newAssertion);
        return newAssertion;
      }, "chainableMethodWrapper");
      addLengthGuard(chainableMethodWrapper, name, true);
      if (canSetPrototype) {
        let prototype = Object.create(this);
        prototype.call = call;
        prototype.apply = apply;
        Object.setPrototypeOf(chainableMethodWrapper, prototype);
      } else {
        let asserterNames = Object.getOwnPropertyNames(ctx);
        asserterNames.forEach(function(asserterName) {
          if (excludeNames.indexOf(asserterName) !== -1) {
            return;
          }
          let pd = Object.getOwnPropertyDescriptor(ctx, asserterName);
          Object.defineProperty(chainableMethodWrapper, asserterName, pd);
        });
      }
      transferFlags(this, chainableMethodWrapper);
      return proxify(chainableMethodWrapper);
    }, "chainableMethodGetter"), "chainableMethodGetter"),
    configurable: true
  });
}
__name(addChainableMethod, "addChainableMethod");
__name2(addChainableMethod, "addChainableMethod");
function overwriteChainableMethod(ctx, name, method, chainingBehavior) {
  let chainableBehavior = ctx.__methods[name];
  let _chainingBehavior = chainableBehavior.chainingBehavior;
  chainableBehavior.chainingBehavior = __name2(/* @__PURE__ */ __name(function overwritingChainableMethodGetter() {
    let result = chainingBehavior(_chainingBehavior).call(this);
    if (result !== void 0) {
      return result;
    }
    let newAssertion = new Assertion();
    transferFlags(this, newAssertion);
    return newAssertion;
  }, "overwritingChainableMethodGetter"), "overwritingChainableMethodGetter");
  let _method = chainableBehavior.method;
  chainableBehavior.method = __name2(/* @__PURE__ */ __name(function overwritingChainableMethodWrapper() {
    let result = method(_method).apply(this, arguments);
    if (result !== void 0) {
      return result;
    }
    let newAssertion = new Assertion();
    transferFlags(this, newAssertion);
    return newAssertion;
  }, "overwritingChainableMethodWrapper"), "overwritingChainableMethodWrapper");
}
__name(overwriteChainableMethod, "overwriteChainableMethod");
__name2(overwriteChainableMethod, "overwriteChainableMethod");
function compareByInspect(a2, b) {
  return inspect22(a2) < inspect22(b) ? -1 : 1;
}
__name(compareByInspect, "compareByInspect");
__name2(compareByInspect, "compareByInspect");
function getOwnEnumerablePropertySymbols(obj) {
  if (typeof Object.getOwnPropertySymbols !== "function") return [];
  return Object.getOwnPropertySymbols(obj).filter(function(sym) {
    return Object.getOwnPropertyDescriptor(obj, sym).enumerable;
  });
}
__name(getOwnEnumerablePropertySymbols, "getOwnEnumerablePropertySymbols");
__name2(getOwnEnumerablePropertySymbols, "getOwnEnumerablePropertySymbols");
function getOwnEnumerableProperties(obj) {
  return Object.keys(obj).concat(getOwnEnumerablePropertySymbols(obj));
}
__name(getOwnEnumerableProperties, "getOwnEnumerableProperties");
__name2(getOwnEnumerableProperties, "getOwnEnumerableProperties");
var isNaN22 = Number.isNaN;
function isObjectType(obj) {
  let objectType = type(obj);
  let objectTypes = ["Array", "Object", "Function"];
  return objectTypes.indexOf(objectType) !== -1;
}
__name(isObjectType, "isObjectType");
__name2(isObjectType, "isObjectType");
function getOperator(obj, args) {
  let operator = flag(obj, "operator");
  let negate = flag(obj, "negate");
  let expected = args[3];
  let msg = negate ? args[2] : args[1];
  if (operator) {
    return operator;
  }
  if (typeof msg === "function") msg = msg();
  msg = msg || "";
  if (!msg) {
    return void 0;
  }
  if (/\shave\s/.test(msg)) {
    return void 0;
  }
  let isObject7 = isObjectType(expected);
  if (/\snot\s/.test(msg)) {
    return isObject7 ? "notDeepStrictEqual" : "notStrictEqual";
  }
  return isObject7 ? "deepStrictEqual" : "strictEqual";
}
__name(getOperator, "getOperator");
__name2(getOperator, "getOperator");
function getName(fn4) {
  return fn4.name;
}
__name(getName, "getName");
__name2(getName, "getName");
function isRegExp22(obj) {
  return Object.prototype.toString.call(obj) === "[object RegExp]";
}
__name(isRegExp22, "isRegExp2");
__name2(isRegExp22, "isRegExp");
function isNumeric(obj) {
  return ["Number", "BigInt"].includes(type(obj));
}
__name(isNumeric, "isNumeric");
__name2(isNumeric, "isNumeric");
var { flag: flag2 } = utils_exports;
[
  "to",
  "be",
  "been",
  "is",
  "and",
  "has",
  "have",
  "with",
  "that",
  "which",
  "at",
  "of",
  "same",
  "but",
  "does",
  "still",
  "also"
].forEach(function(chain) {
  Assertion.addProperty(chain);
});
Assertion.addProperty("not", function() {
  flag2(this, "negate", true);
});
Assertion.addProperty("deep", function() {
  flag2(this, "deep", true);
});
Assertion.addProperty("nested", function() {
  flag2(this, "nested", true);
});
Assertion.addProperty("own", function() {
  flag2(this, "own", true);
});
Assertion.addProperty("ordered", function() {
  flag2(this, "ordered", true);
});
Assertion.addProperty("any", function() {
  flag2(this, "any", true);
  flag2(this, "all", false);
});
Assertion.addProperty("all", function() {
  flag2(this, "all", true);
  flag2(this, "any", false);
});
var functionTypes = {
  function: [
    "function",
    "asyncfunction",
    "generatorfunction",
    "asyncgeneratorfunction"
  ],
  asyncfunction: ["asyncfunction", "asyncgeneratorfunction"],
  generatorfunction: ["generatorfunction", "asyncgeneratorfunction"],
  asyncgeneratorfunction: ["asyncgeneratorfunction"]
};
function an(type32, msg) {
  if (msg) flag2(this, "message", msg);
  type32 = type32.toLowerCase();
  let obj = flag2(this, "object"), article = ~["a", "e", "i", "o", "u"].indexOf(type32.charAt(0)) ? "an " : "a ";
  const detectedType = type(obj).toLowerCase();
  if (functionTypes["function"].includes(type32)) {
    this.assert(
      functionTypes[type32].includes(detectedType),
      "expected #{this} to be " + article + type32,
      "expected #{this} not to be " + article + type32
    );
  } else {
    this.assert(
      type32 === detectedType,
      "expected #{this} to be " + article + type32,
      "expected #{this} not to be " + article + type32
    );
  }
}
__name(an, "an");
__name2(an, "an");
Assertion.addChainableMethod("an", an);
Assertion.addChainableMethod("a", an);
function SameValueZero(a2, b) {
  return isNaN22(a2) && isNaN22(b) || a2 === b;
}
__name(SameValueZero, "SameValueZero");
__name2(SameValueZero, "SameValueZero");
function includeChainingBehavior() {
  flag2(this, "contains", true);
}
__name(includeChainingBehavior, "includeChainingBehavior");
__name2(includeChainingBehavior, "includeChainingBehavior");
function include(val, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object"), objType = type(obj).toLowerCase(), flagMsg = flag2(this, "message"), negate = flag2(this, "negate"), ssfi = flag2(this, "ssfi"), isDeep = flag2(this, "deep"), descriptor = isDeep ? "deep " : "", isEql = isDeep ? flag2(this, "eql") : SameValueZero;
  flagMsg = flagMsg ? flagMsg + ": " : "";
  let included = false;
  switch (objType) {
    case "string":
      included = obj.indexOf(val) !== -1;
      break;
    case "weakset":
      if (isDeep) {
        throw new AssertionError(
          flagMsg + "unable to use .deep.include with WeakSet",
          void 0,
          ssfi
        );
      }
      included = obj.has(val);
      break;
    case "map":
      obj.forEach(function(item) {
        included = included || isEql(item, val);
      });
      break;
    case "set":
      if (isDeep) {
        obj.forEach(function(item) {
          included = included || isEql(item, val);
        });
      } else {
        included = obj.has(val);
      }
      break;
    case "array":
      if (isDeep) {
        included = obj.some(function(item) {
          return isEql(item, val);
        });
      } else {
        included = obj.indexOf(val) !== -1;
      }
      break;
    default: {
      if (val !== Object(val)) {
        throw new AssertionError(
          flagMsg + "the given combination of arguments (" + objType + " and " + type(val).toLowerCase() + ") is invalid for this assertion. You can use an array, a map, an object, a set, a string, or a weakset instead of a " + type(val).toLowerCase(),
          void 0,
          ssfi
        );
      }
      let props = Object.keys(val);
      let firstErr = null;
      let numErrs = 0;
      props.forEach(function(prop) {
        let propAssertion = new Assertion(obj);
        transferFlags(this, propAssertion, true);
        flag2(propAssertion, "lockSsfi", true);
        if (!negate || props.length === 1) {
          propAssertion.property(prop, val[prop]);
          return;
        }
        try {
          propAssertion.property(prop, val[prop]);
        } catch (err) {
          if (!check_error_exports.compatibleConstructor(err, AssertionError)) {
            throw err;
          }
          if (firstErr === null) firstErr = err;
          numErrs++;
        }
      }, this);
      if (negate && props.length > 1 && numErrs === props.length) {
        throw firstErr;
      }
      return;
    }
  }
  this.assert(
    included,
    "expected #{this} to " + descriptor + "include " + inspect22(val),
    "expected #{this} to not " + descriptor + "include " + inspect22(val)
  );
}
__name(include, "include");
__name2(include, "include");
Assertion.addChainableMethod("include", include, includeChainingBehavior);
Assertion.addChainableMethod("contain", include, includeChainingBehavior);
Assertion.addChainableMethod("contains", include, includeChainingBehavior);
Assertion.addChainableMethod("includes", include, includeChainingBehavior);
Assertion.addProperty("ok", function() {
  this.assert(
    flag2(this, "object"),
    "expected #{this} to be truthy",
    "expected #{this} to be falsy"
  );
});
Assertion.addProperty("true", function() {
  this.assert(
    true === flag2(this, "object"),
    "expected #{this} to be true",
    "expected #{this} to be false",
    flag2(this, "negate") ? false : true
  );
});
Assertion.addProperty("numeric", function() {
  const object = flag2(this, "object");
  this.assert(
    ["Number", "BigInt"].includes(type(object)),
    "expected #{this} to be numeric",
    "expected #{this} to not be numeric",
    flag2(this, "negate") ? false : true
  );
});
Assertion.addProperty("callable", function() {
  const val = flag2(this, "object");
  const ssfi = flag2(this, "ssfi");
  const message = flag2(this, "message");
  const msg = message ? `${message}: ` : "";
  const negate = flag2(this, "negate");
  const assertionMessage = negate ? `${msg}expected ${inspect22(val)} not to be a callable function` : `${msg}expected ${inspect22(val)} to be a callable function`;
  const isCallable3 = [
    "Function",
    "AsyncFunction",
    "GeneratorFunction",
    "AsyncGeneratorFunction"
  ].includes(type(val));
  if (isCallable3 && negate || !isCallable3 && !negate) {
    throw new AssertionError(assertionMessage, void 0, ssfi);
  }
});
Assertion.addProperty("false", function() {
  this.assert(
    false === flag2(this, "object"),
    "expected #{this} to be false",
    "expected #{this} to be true",
    flag2(this, "negate") ? true : false
  );
});
Assertion.addProperty("null", function() {
  this.assert(
    null === flag2(this, "object"),
    "expected #{this} to be null",
    "expected #{this} not to be null"
  );
});
Assertion.addProperty("undefined", function() {
  this.assert(
    void 0 === flag2(this, "object"),
    "expected #{this} to be undefined",
    "expected #{this} not to be undefined"
  );
});
Assertion.addProperty("NaN", function() {
  this.assert(
    isNaN22(flag2(this, "object")),
    "expected #{this} to be NaN",
    "expected #{this} not to be NaN"
  );
});
function assertExist() {
  let val = flag2(this, "object");
  this.assert(
    val !== null && val !== void 0,
    "expected #{this} to exist",
    "expected #{this} to not exist"
  );
}
__name(assertExist, "assertExist");
__name2(assertExist, "assertExist");
Assertion.addProperty("exist", assertExist);
Assertion.addProperty("exists", assertExist);
Assertion.addProperty("empty", function() {
  let val = flag2(this, "object"), ssfi = flag2(this, "ssfi"), flagMsg = flag2(this, "message"), itemsCount;
  flagMsg = flagMsg ? flagMsg + ": " : "";
  switch (type(val).toLowerCase()) {
    case "array":
    case "string":
      itemsCount = val.length;
      break;
    case "map":
    case "set":
      itemsCount = val.size;
      break;
    case "weakmap":
    case "weakset":
      throw new AssertionError(
        flagMsg + ".empty was passed a weak collection",
        void 0,
        ssfi
      );
    case "function": {
      const msg = flagMsg + ".empty was passed a function " + getName(val);
      throw new AssertionError(msg.trim(), void 0, ssfi);
    }
    default:
      if (val !== Object(val)) {
        throw new AssertionError(
          flagMsg + ".empty was passed non-string primitive " + inspect22(val),
          void 0,
          ssfi
        );
      }
      itemsCount = Object.keys(val).length;
  }
  this.assert(
    0 === itemsCount,
    "expected #{this} to be empty",
    "expected #{this} not to be empty"
  );
});
function checkArguments() {
  let obj = flag2(this, "object"), type32 = type(obj);
  this.assert(
    "Arguments" === type32,
    "expected #{this} to be arguments but got " + type32,
    "expected #{this} to not be arguments"
  );
}
__name(checkArguments, "checkArguments");
__name2(checkArguments, "checkArguments");
Assertion.addProperty("arguments", checkArguments);
Assertion.addProperty("Arguments", checkArguments);
function assertEqual(val, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object");
  if (flag2(this, "deep")) {
    let prevLockSsfi = flag2(this, "lockSsfi");
    flag2(this, "lockSsfi", true);
    this.eql(val);
    flag2(this, "lockSsfi", prevLockSsfi);
  } else {
    this.assert(
      val === obj,
      "expected #{this} to equal #{exp}",
      "expected #{this} to not equal #{exp}",
      val,
      this._obj,
      true
    );
  }
}
__name(assertEqual, "assertEqual");
__name2(assertEqual, "assertEqual");
Assertion.addMethod("equal", assertEqual);
Assertion.addMethod("equals", assertEqual);
Assertion.addMethod("eq", assertEqual);
function assertEql(obj, msg) {
  if (msg) flag2(this, "message", msg);
  let eql = flag2(this, "eql");
  this.assert(
    eql(obj, flag2(this, "object")),
    "expected #{this} to deeply equal #{exp}",
    "expected #{this} to not deeply equal #{exp}",
    obj,
    this._obj,
    true
  );
}
__name(assertEql, "assertEql");
__name2(assertEql, "assertEql");
Assertion.addMethod("eql", assertEql);
Assertion.addMethod("eqls", assertEql);
function assertAbove(n2, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), nType = type(n2).toLowerCase();
  if (doLength && objType !== "map" && objType !== "set") {
    new Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
  }
  if (!doLength && objType === "date" && nType !== "date") {
    throw new AssertionError(
      msgPrefix + "the argument to above must be a date",
      void 0,
      ssfi
    );
  } else if (!isNumeric(n2) && (doLength || isNumeric(obj))) {
    throw new AssertionError(
      msgPrefix + "the argument to above must be a number",
      void 0,
      ssfi
    );
  } else if (!doLength && objType !== "date" && !isNumeric(obj)) {
    let printObj = objType === "string" ? "'" + obj + "'" : obj;
    throw new AssertionError(
      msgPrefix + "expected " + printObj + " to be a number or a date",
      void 0,
      ssfi
    );
  }
  if (doLength) {
    let descriptor = "length", itemsCount;
    if (objType === "map" || objType === "set") {
      descriptor = "size";
      itemsCount = obj.size;
    } else {
      itemsCount = obj.length;
    }
    this.assert(
      itemsCount > n2,
      "expected #{this} to have a " + descriptor + " above #{exp} but got #{act}",
      "expected #{this} to not have a " + descriptor + " above #{exp}",
      n2,
      itemsCount
    );
  } else {
    this.assert(
      obj > n2,
      "expected #{this} to be above #{exp}",
      "expected #{this} to be at most #{exp}",
      n2
    );
  }
}
__name(assertAbove, "assertAbove");
__name2(assertAbove, "assertAbove");
Assertion.addMethod("above", assertAbove);
Assertion.addMethod("gt", assertAbove);
Assertion.addMethod("greaterThan", assertAbove);
function assertLeast(n2, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), nType = type(n2).toLowerCase(), errorMessage, shouldThrow = true;
  if (doLength && objType !== "map" && objType !== "set") {
    new Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
  }
  if (!doLength && objType === "date" && nType !== "date") {
    errorMessage = msgPrefix + "the argument to least must be a date";
  } else if (!isNumeric(n2) && (doLength || isNumeric(obj))) {
    errorMessage = msgPrefix + "the argument to least must be a number";
  } else if (!doLength && objType !== "date" && !isNumeric(obj)) {
    let printObj = objType === "string" ? "'" + obj + "'" : obj;
    errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
  } else {
    shouldThrow = false;
  }
  if (shouldThrow) {
    throw new AssertionError(errorMessage, void 0, ssfi);
  }
  if (doLength) {
    let descriptor = "length", itemsCount;
    if (objType === "map" || objType === "set") {
      descriptor = "size";
      itemsCount = obj.size;
    } else {
      itemsCount = obj.length;
    }
    this.assert(
      itemsCount >= n2,
      "expected #{this} to have a " + descriptor + " at least #{exp} but got #{act}",
      "expected #{this} to have a " + descriptor + " below #{exp}",
      n2,
      itemsCount
    );
  } else {
    this.assert(
      obj >= n2,
      "expected #{this} to be at least #{exp}",
      "expected #{this} to be below #{exp}",
      n2
    );
  }
}
__name(assertLeast, "assertLeast");
__name2(assertLeast, "assertLeast");
Assertion.addMethod("least", assertLeast);
Assertion.addMethod("gte", assertLeast);
Assertion.addMethod("greaterThanOrEqual", assertLeast);
function assertBelow(n2, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), nType = type(n2).toLowerCase(), errorMessage, shouldThrow = true;
  if (doLength && objType !== "map" && objType !== "set") {
    new Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
  }
  if (!doLength && objType === "date" && nType !== "date") {
    errorMessage = msgPrefix + "the argument to below must be a date";
  } else if (!isNumeric(n2) && (doLength || isNumeric(obj))) {
    errorMessage = msgPrefix + "the argument to below must be a number";
  } else if (!doLength && objType !== "date" && !isNumeric(obj)) {
    let printObj = objType === "string" ? "'" + obj + "'" : obj;
    errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
  } else {
    shouldThrow = false;
  }
  if (shouldThrow) {
    throw new AssertionError(errorMessage, void 0, ssfi);
  }
  if (doLength) {
    let descriptor = "length", itemsCount;
    if (objType === "map" || objType === "set") {
      descriptor = "size";
      itemsCount = obj.size;
    } else {
      itemsCount = obj.length;
    }
    this.assert(
      itemsCount < n2,
      "expected #{this} to have a " + descriptor + " below #{exp} but got #{act}",
      "expected #{this} to not have a " + descriptor + " below #{exp}",
      n2,
      itemsCount
    );
  } else {
    this.assert(
      obj < n2,
      "expected #{this} to be below #{exp}",
      "expected #{this} to be at least #{exp}",
      n2
    );
  }
}
__name(assertBelow, "assertBelow");
__name2(assertBelow, "assertBelow");
Assertion.addMethod("below", assertBelow);
Assertion.addMethod("lt", assertBelow);
Assertion.addMethod("lessThan", assertBelow);
function assertMost(n2, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), nType = type(n2).toLowerCase(), errorMessage, shouldThrow = true;
  if (doLength && objType !== "map" && objType !== "set") {
    new Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
  }
  if (!doLength && objType === "date" && nType !== "date") {
    errorMessage = msgPrefix + "the argument to most must be a date";
  } else if (!isNumeric(n2) && (doLength || isNumeric(obj))) {
    errorMessage = msgPrefix + "the argument to most must be a number";
  } else if (!doLength && objType !== "date" && !isNumeric(obj)) {
    let printObj = objType === "string" ? "'" + obj + "'" : obj;
    errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
  } else {
    shouldThrow = false;
  }
  if (shouldThrow) {
    throw new AssertionError(errorMessage, void 0, ssfi);
  }
  if (doLength) {
    let descriptor = "length", itemsCount;
    if (objType === "map" || objType === "set") {
      descriptor = "size";
      itemsCount = obj.size;
    } else {
      itemsCount = obj.length;
    }
    this.assert(
      itemsCount <= n2,
      "expected #{this} to have a " + descriptor + " at most #{exp} but got #{act}",
      "expected #{this} to have a " + descriptor + " above #{exp}",
      n2,
      itemsCount
    );
  } else {
    this.assert(
      obj <= n2,
      "expected #{this} to be at most #{exp}",
      "expected #{this} to be above #{exp}",
      n2
    );
  }
}
__name(assertMost, "assertMost");
__name2(assertMost, "assertMost");
Assertion.addMethod("most", assertMost);
Assertion.addMethod("lte", assertMost);
Assertion.addMethod("lessThanOrEqual", assertMost);
Assertion.addMethod("within", function(start2, finish, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), startType = type(start2).toLowerCase(), finishType = type(finish).toLowerCase(), errorMessage, shouldThrow = true, range = startType === "date" && finishType === "date" ? start2.toISOString() + ".." + finish.toISOString() : start2 + ".." + finish;
  if (doLength && objType !== "map" && objType !== "set") {
    new Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
  }
  if (!doLength && objType === "date" && (startType !== "date" || finishType !== "date")) {
    errorMessage = msgPrefix + "the arguments to within must be dates";
  } else if ((!isNumeric(start2) || !isNumeric(finish)) && (doLength || isNumeric(obj))) {
    errorMessage = msgPrefix + "the arguments to within must be numbers";
  } else if (!doLength && objType !== "date" && !isNumeric(obj)) {
    let printObj = objType === "string" ? "'" + obj + "'" : obj;
    errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
  } else {
    shouldThrow = false;
  }
  if (shouldThrow) {
    throw new AssertionError(errorMessage, void 0, ssfi);
  }
  if (doLength) {
    let descriptor = "length", itemsCount;
    if (objType === "map" || objType === "set") {
      descriptor = "size";
      itemsCount = obj.size;
    } else {
      itemsCount = obj.length;
    }
    this.assert(
      itemsCount >= start2 && itemsCount <= finish,
      "expected #{this} to have a " + descriptor + " within " + range,
      "expected #{this} to not have a " + descriptor + " within " + range
    );
  } else {
    this.assert(
      obj >= start2 && obj <= finish,
      "expected #{this} to be within " + range,
      "expected #{this} to not be within " + range
    );
  }
});
function assertInstanceOf(constructor, msg) {
  if (msg) flag2(this, "message", msg);
  let target = flag2(this, "object");
  let ssfi = flag2(this, "ssfi");
  let flagMsg = flag2(this, "message");
  let isInstanceOf;
  try {
    isInstanceOf = target instanceof constructor;
  } catch (err) {
    if (err instanceof TypeError) {
      flagMsg = flagMsg ? flagMsg + ": " : "";
      throw new AssertionError(
        flagMsg + "The instanceof assertion needs a constructor but " + type(constructor) + " was given.",
        void 0,
        ssfi
      );
    }
    throw err;
  }
  let name = getName(constructor);
  if (name == null) {
    name = "an unnamed constructor";
  }
  this.assert(
    isInstanceOf,
    "expected #{this} to be an instance of " + name,
    "expected #{this} to not be an instance of " + name
  );
}
__name(assertInstanceOf, "assertInstanceOf");
__name2(assertInstanceOf, "assertInstanceOf");
Assertion.addMethod("instanceof", assertInstanceOf);
Assertion.addMethod("instanceOf", assertInstanceOf);
function assertProperty(name, val, msg) {
  if (msg) flag2(this, "message", msg);
  let isNested = flag2(this, "nested"), isOwn = flag2(this, "own"), flagMsg = flag2(this, "message"), obj = flag2(this, "object"), ssfi = flag2(this, "ssfi"), nameType = typeof name;
  flagMsg = flagMsg ? flagMsg + ": " : "";
  if (isNested) {
    if (nameType !== "string") {
      throw new AssertionError(
        flagMsg + "the argument to property must be a string when using nested syntax",
        void 0,
        ssfi
      );
    }
  } else {
    if (nameType !== "string" && nameType !== "number" && nameType !== "symbol") {
      throw new AssertionError(
        flagMsg + "the argument to property must be a string, number, or symbol",
        void 0,
        ssfi
      );
    }
  }
  if (isNested && isOwn) {
    throw new AssertionError(
      flagMsg + 'The "nested" and "own" flags cannot be combined.',
      void 0,
      ssfi
    );
  }
  if (obj === null || obj === void 0) {
    throw new AssertionError(
      flagMsg + "Target cannot be null or undefined.",
      void 0,
      ssfi
    );
  }
  let isDeep = flag2(this, "deep"), negate = flag2(this, "negate"), pathInfo = isNested ? getPathInfo(obj, name) : null, value = isNested ? pathInfo.value : obj[name], isEql = isDeep ? flag2(this, "eql") : (val1, val2) => val1 === val2;
  let descriptor = "";
  if (isDeep) descriptor += "deep ";
  if (isOwn) descriptor += "own ";
  if (isNested) descriptor += "nested ";
  descriptor += "property ";
  let hasProperty2;
  if (isOwn) hasProperty2 = Object.prototype.hasOwnProperty.call(obj, name);
  else if (isNested) hasProperty2 = pathInfo.exists;
  else hasProperty2 = hasProperty(obj, name);
  if (!negate || arguments.length === 1) {
    this.assert(
      hasProperty2,
      "expected #{this} to have " + descriptor + inspect22(name),
      "expected #{this} to not have " + descriptor + inspect22(name)
    );
  }
  if (arguments.length > 1) {
    this.assert(
      hasProperty2 && isEql(val, value),
      "expected #{this} to have " + descriptor + inspect22(name) + " of #{exp}, but got #{act}",
      "expected #{this} to not have " + descriptor + inspect22(name) + " of #{act}",
      val,
      value
    );
  }
  flag2(this, "object", value);
}
__name(assertProperty, "assertProperty");
__name2(assertProperty, "assertProperty");
Assertion.addMethod("property", assertProperty);
function assertOwnProperty(_name, _value, _msg) {
  flag2(this, "own", true);
  assertProperty.apply(this, arguments);
}
__name(assertOwnProperty, "assertOwnProperty");
__name2(assertOwnProperty, "assertOwnProperty");
Assertion.addMethod("ownProperty", assertOwnProperty);
Assertion.addMethod("haveOwnProperty", assertOwnProperty);
function assertOwnPropertyDescriptor(name, descriptor, msg) {
  if (typeof descriptor === "string") {
    msg = descriptor;
    descriptor = null;
  }
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object");
  let actualDescriptor = Object.getOwnPropertyDescriptor(Object(obj), name);
  let eql = flag2(this, "eql");
  if (actualDescriptor && descriptor) {
    this.assert(
      eql(descriptor, actualDescriptor),
      "expected the own property descriptor for " + inspect22(name) + " on #{this} to match " + inspect22(descriptor) + ", got " + inspect22(actualDescriptor),
      "expected the own property descriptor for " + inspect22(name) + " on #{this} to not match " + inspect22(descriptor),
      descriptor,
      actualDescriptor,
      true
    );
  } else {
    this.assert(
      actualDescriptor,
      "expected #{this} to have an own property descriptor for " + inspect22(name),
      "expected #{this} to not have an own property descriptor for " + inspect22(name)
    );
  }
  flag2(this, "object", actualDescriptor);
}
__name(assertOwnPropertyDescriptor, "assertOwnPropertyDescriptor");
__name2(assertOwnPropertyDescriptor, "assertOwnPropertyDescriptor");
Assertion.addMethod("ownPropertyDescriptor", assertOwnPropertyDescriptor);
Assertion.addMethod("haveOwnPropertyDescriptor", assertOwnPropertyDescriptor);
function assertLengthChain() {
  flag2(this, "doLength", true);
}
__name(assertLengthChain, "assertLengthChain");
__name2(assertLengthChain, "assertLengthChain");
function assertLength(n2, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object"), objType = type(obj).toLowerCase(), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi"), descriptor = "length", itemsCount;
  switch (objType) {
    case "map":
    case "set":
      descriptor = "size";
      itemsCount = obj.size;
      break;
    default:
      new Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
      itemsCount = obj.length;
  }
  this.assert(
    itemsCount == n2,
    "expected #{this} to have a " + descriptor + " of #{exp} but got #{act}",
    "expected #{this} to not have a " + descriptor + " of #{act}",
    n2,
    itemsCount
  );
}
__name(assertLength, "assertLength");
__name2(assertLength, "assertLength");
Assertion.addChainableMethod("length", assertLength, assertLengthChain);
Assertion.addChainableMethod("lengthOf", assertLength, assertLengthChain);
function assertMatch(re, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object");
  this.assert(
    re.exec(obj),
    "expected #{this} to match " + re,
    "expected #{this} not to match " + re
  );
}
__name(assertMatch, "assertMatch");
__name2(assertMatch, "assertMatch");
Assertion.addMethod("match", assertMatch);
Assertion.addMethod("matches", assertMatch);
Assertion.addMethod("string", function(str2, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi");
  new Assertion(obj, flagMsg, ssfi, true).is.a("string");
  this.assert(
    ~obj.indexOf(str2),
    "expected #{this} to contain " + inspect22(str2),
    "expected #{this} to not contain " + inspect22(str2)
  );
});
function assertKeys(keys3) {
  let obj = flag2(this, "object"), objType = type(obj), keysType = type(keys3), ssfi = flag2(this, "ssfi"), isDeep = flag2(this, "deep"), str2, deepStr = "", actual, ok = true, flagMsg = flag2(this, "message");
  flagMsg = flagMsg ? flagMsg + ": " : "";
  let mixedArgsMsg = flagMsg + "when testing keys against an object or an array you must give a single Array|Object|String argument or multiple String arguments";
  if (objType === "Map" || objType === "Set") {
    deepStr = isDeep ? "deeply " : "";
    actual = [];
    obj.forEach(function(val, key) {
      actual.push(key);
    });
    if (keysType !== "Array") {
      keys3 = Array.prototype.slice.call(arguments);
    }
  } else {
    actual = getOwnEnumerableProperties(obj);
    switch (keysType) {
      case "Array":
        if (arguments.length > 1) {
          throw new AssertionError(mixedArgsMsg, void 0, ssfi);
        }
        break;
      case "Object":
        if (arguments.length > 1) {
          throw new AssertionError(mixedArgsMsg, void 0, ssfi);
        }
        keys3 = Object.keys(keys3);
        break;
      default:
        keys3 = Array.prototype.slice.call(arguments);
    }
    keys3 = keys3.map(function(val) {
      return typeof val === "symbol" ? val : String(val);
    });
  }
  if (!keys3.length) {
    throw new AssertionError(flagMsg + "keys required", void 0, ssfi);
  }
  let len = keys3.length, any = flag2(this, "any"), all = flag2(this, "all"), expected = keys3, isEql = isDeep ? flag2(this, "eql") : (val1, val2) => val1 === val2;
  if (!any && !all) {
    all = true;
  }
  if (any) {
    ok = expected.some(function(expectedKey) {
      return actual.some(function(actualKey) {
        return isEql(expectedKey, actualKey);
      });
    });
  }
  if (all) {
    ok = expected.every(function(expectedKey) {
      return actual.some(function(actualKey) {
        return isEql(expectedKey, actualKey);
      });
    });
    if (!flag2(this, "contains")) {
      ok = ok && keys3.length == actual.length;
    }
  }
  if (len > 1) {
    keys3 = keys3.map(function(key) {
      return inspect22(key);
    });
    let last2 = keys3.pop();
    if (all) {
      str2 = keys3.join(", ") + ", and " + last2;
    }
    if (any) {
      str2 = keys3.join(", ") + ", or " + last2;
    }
  } else {
    str2 = inspect22(keys3[0]);
  }
  str2 = (len > 1 ? "keys " : "key ") + str2;
  str2 = (flag2(this, "contains") ? "contain " : "have ") + str2;
  this.assert(
    ok,
    "expected #{this} to " + deepStr + str2,
    "expected #{this} to not " + deepStr + str2,
    expected.slice(0).sort(compareByInspect),
    actual.sort(compareByInspect),
    true
  );
}
__name(assertKeys, "assertKeys");
__name2(assertKeys, "assertKeys");
Assertion.addMethod("keys", assertKeys);
Assertion.addMethod("key", assertKeys);
function assertThrows(errorLike, errMsgMatcher, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object"), ssfi = flag2(this, "ssfi"), flagMsg = flag2(this, "message"), negate = flag2(this, "negate") || false;
  new Assertion(obj, flagMsg, ssfi, true).is.a("function");
  if (isRegExp22(errorLike) || typeof errorLike === "string") {
    errMsgMatcher = errorLike;
    errorLike = null;
  }
  let caughtErr;
  let errorWasThrown = false;
  try {
    obj();
  } catch (err) {
    errorWasThrown = true;
    caughtErr = err;
  }
  let everyArgIsUndefined = errorLike === void 0 && errMsgMatcher === void 0;
  let everyArgIsDefined = Boolean(errorLike && errMsgMatcher);
  let errorLikeFail = false;
  let errMsgMatcherFail = false;
  if (everyArgIsUndefined || !everyArgIsUndefined && !negate) {
    let errorLikeString = "an error";
    if (errorLike instanceof Error) {
      errorLikeString = "#{exp}";
    } else if (errorLike) {
      errorLikeString = check_error_exports.getConstructorName(errorLike);
    }
    let actual = caughtErr;
    if (caughtErr instanceof Error) {
      actual = caughtErr.toString();
    } else if (typeof caughtErr === "string") {
      actual = caughtErr;
    } else if (caughtErr && (typeof caughtErr === "object" || typeof caughtErr === "function")) {
      try {
        actual = check_error_exports.getConstructorName(caughtErr);
      } catch (_err) {
      }
    }
    this.assert(
      errorWasThrown,
      "expected #{this} to throw " + errorLikeString,
      "expected #{this} to not throw an error but #{act} was thrown",
      errorLike && errorLike.toString(),
      actual
    );
  }
  if (errorLike && caughtErr) {
    if (errorLike instanceof Error) {
      let isCompatibleInstance = check_error_exports.compatibleInstance(
        caughtErr,
        errorLike
      );
      if (isCompatibleInstance === negate) {
        if (everyArgIsDefined && negate) {
          errorLikeFail = true;
        } else {
          this.assert(
            negate,
            "expected #{this} to throw #{exp} but #{act} was thrown",
            "expected #{this} to not throw #{exp}" + (caughtErr && !negate ? " but #{act} was thrown" : ""),
            errorLike.toString(),
            caughtErr.toString()
          );
        }
      }
    }
    let isCompatibleConstructor = check_error_exports.compatibleConstructor(
      caughtErr,
      errorLike
    );
    if (isCompatibleConstructor === negate) {
      if (everyArgIsDefined && negate) {
        errorLikeFail = true;
      } else {
        this.assert(
          negate,
          "expected #{this} to throw #{exp} but #{act} was thrown",
          "expected #{this} to not throw #{exp}" + (caughtErr ? " but #{act} was thrown" : ""),
          errorLike instanceof Error ? errorLike.toString() : errorLike && check_error_exports.getConstructorName(errorLike),
          caughtErr instanceof Error ? caughtErr.toString() : caughtErr && check_error_exports.getConstructorName(caughtErr)
        );
      }
    }
  }
  if (caughtErr && errMsgMatcher !== void 0 && errMsgMatcher !== null) {
    let placeholder = "including";
    if (isRegExp22(errMsgMatcher)) {
      placeholder = "matching";
    }
    let isCompatibleMessage = check_error_exports.compatibleMessage(
      caughtErr,
      errMsgMatcher
    );
    if (isCompatibleMessage === negate) {
      if (everyArgIsDefined && negate) {
        errMsgMatcherFail = true;
      } else {
        this.assert(
          negate,
          "expected #{this} to throw error " + placeholder + " #{exp} but got #{act}",
          "expected #{this} to throw error not " + placeholder + " #{exp}",
          errMsgMatcher,
          check_error_exports.getMessage(caughtErr)
        );
      }
    }
  }
  if (errorLikeFail && errMsgMatcherFail) {
    this.assert(
      negate,
      "expected #{this} to throw #{exp} but #{act} was thrown",
      "expected #{this} to not throw #{exp}" + (caughtErr ? " but #{act} was thrown" : ""),
      errorLike instanceof Error ? errorLike.toString() : errorLike && check_error_exports.getConstructorName(errorLike),
      caughtErr instanceof Error ? caughtErr.toString() : caughtErr && check_error_exports.getConstructorName(caughtErr)
    );
  }
  flag2(this, "object", caughtErr);
}
__name(assertThrows, "assertThrows");
__name2(assertThrows, "assertThrows");
Assertion.addMethod("throw", assertThrows);
Assertion.addMethod("throws", assertThrows);
Assertion.addMethod("Throw", assertThrows);
function respondTo(method, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object"), itself = flag2(this, "itself"), context = "function" === typeof obj && !itself ? obj.prototype[method] : obj[method];
  this.assert(
    "function" === typeof context,
    "expected #{this} to respond to " + inspect22(method),
    "expected #{this} to not respond to " + inspect22(method)
  );
}
__name(respondTo, "respondTo");
__name2(respondTo, "respondTo");
Assertion.addMethod("respondTo", respondTo);
Assertion.addMethod("respondsTo", respondTo);
Assertion.addProperty("itself", function() {
  flag2(this, "itself", true);
});
function satisfy(matcher, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object");
  let result = matcher(obj);
  this.assert(
    result,
    "expected #{this} to satisfy " + objDisplay(matcher),
    "expected #{this} to not satisfy" + objDisplay(matcher),
    flag2(this, "negate") ? false : true,
    result
  );
}
__name(satisfy, "satisfy");
__name2(satisfy, "satisfy");
Assertion.addMethod("satisfy", satisfy);
Assertion.addMethod("satisfies", satisfy);
function closeTo(expected, delta, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi");
  new Assertion(obj, flagMsg, ssfi, true).is.numeric;
  let message = "A `delta` value is required for `closeTo`";
  if (delta == void 0) {
    throw new AssertionError(
      flagMsg ? `${flagMsg}: ${message}` : message,
      void 0,
      ssfi
    );
  }
  new Assertion(delta, flagMsg, ssfi, true).is.numeric;
  message = "A `expected` value is required for `closeTo`";
  if (expected == void 0) {
    throw new AssertionError(
      flagMsg ? `${flagMsg}: ${message}` : message,
      void 0,
      ssfi
    );
  }
  new Assertion(expected, flagMsg, ssfi, true).is.numeric;
  const abs2 = __name2((x) => x < 0n ? -x : x, "abs");
  const strip = __name2((number) => parseFloat(parseFloat(number).toPrecision(12)), "strip");
  this.assert(
    strip(abs2(obj - expected)) <= delta,
    "expected #{this} to be close to " + expected + " +/- " + delta,
    "expected #{this} not to be close to " + expected + " +/- " + delta
  );
}
__name(closeTo, "closeTo");
__name2(closeTo, "closeTo");
Assertion.addMethod("closeTo", closeTo);
Assertion.addMethod("approximately", closeTo);
function isSubsetOf(_subset, _superset, cmp, contains2, ordered) {
  let superset = Array.from(_superset);
  let subset = Array.from(_subset);
  if (!contains2) {
    if (subset.length !== superset.length) return false;
    superset = superset.slice();
  }
  return subset.every(function(elem, idx) {
    if (ordered) return cmp ? cmp(elem, superset[idx]) : elem === superset[idx];
    if (!cmp) {
      let matchIdx = superset.indexOf(elem);
      if (matchIdx === -1) return false;
      if (!contains2) superset.splice(matchIdx, 1);
      return true;
    }
    return superset.some(function(elem2, matchIdx) {
      if (!cmp(elem, elem2)) return false;
      if (!contains2) superset.splice(matchIdx, 1);
      return true;
    });
  });
}
__name(isSubsetOf, "isSubsetOf");
__name2(isSubsetOf, "isSubsetOf");
Assertion.addMethod("members", function(subset, msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi");
  new Assertion(obj, flagMsg, ssfi, true).to.be.iterable;
  new Assertion(subset, flagMsg, ssfi, true).to.be.iterable;
  let contains2 = flag2(this, "contains");
  let ordered = flag2(this, "ordered");
  let subject, failMsg, failNegateMsg;
  if (contains2) {
    subject = ordered ? "an ordered superset" : "a superset";
    failMsg = "expected #{this} to be " + subject + " of #{exp}";
    failNegateMsg = "expected #{this} to not be " + subject + " of #{exp}";
  } else {
    subject = ordered ? "ordered members" : "members";
    failMsg = "expected #{this} to have the same " + subject + " as #{exp}";
    failNegateMsg = "expected #{this} to not have the same " + subject + " as #{exp}";
  }
  let cmp = flag2(this, "deep") ? flag2(this, "eql") : void 0;
  this.assert(
    isSubsetOf(subset, obj, cmp, contains2, ordered),
    failMsg,
    failNegateMsg,
    subset,
    obj,
    true
  );
});
Assertion.addProperty("iterable", function(msg) {
  if (msg) flag2(this, "message", msg);
  let obj = flag2(this, "object");
  this.assert(
    obj != void 0 && obj[Symbol.iterator],
    "expected #{this} to be an iterable",
    "expected #{this} to not be an iterable",
    obj
  );
});
function oneOf(list, msg) {
  if (msg) flag2(this, "message", msg);
  let expected = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi"), contains2 = flag2(this, "contains"), isDeep = flag2(this, "deep"), eql = flag2(this, "eql");
  new Assertion(list, flagMsg, ssfi, true).to.be.an("array");
  if (contains2) {
    this.assert(
      list.some(function(possibility) {
        return expected.indexOf(possibility) > -1;
      }),
      "expected #{this} to contain one of #{exp}",
      "expected #{this} to not contain one of #{exp}",
      list,
      expected
    );
  } else {
    if (isDeep) {
      this.assert(
        list.some(function(possibility) {
          return eql(expected, possibility);
        }),
        "expected #{this} to deeply equal one of #{exp}",
        "expected #{this} to deeply equal one of #{exp}",
        list,
        expected
      );
    } else {
      this.assert(
        list.indexOf(expected) > -1,
        "expected #{this} to be one of #{exp}",
        "expected #{this} to not be one of #{exp}",
        list,
        expected
      );
    }
  }
}
__name(oneOf, "oneOf");
__name2(oneOf, "oneOf");
Assertion.addMethod("oneOf", oneOf);
function assertChanges(subject, prop, msg) {
  if (msg) flag2(this, "message", msg);
  let fn4 = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi");
  new Assertion(fn4, flagMsg, ssfi, true).is.a("function");
  let initial2;
  if (!prop) {
    new Assertion(subject, flagMsg, ssfi, true).is.a("function");
    initial2 = subject();
  } else {
    new Assertion(subject, flagMsg, ssfi, true).to.have.property(prop);
    initial2 = subject[prop];
  }
  fn4();
  let final = prop === void 0 || prop === null ? subject() : subject[prop];
  let msgObj = prop === void 0 || prop === null ? initial2 : "." + prop;
  flag2(this, "deltaMsgObj", msgObj);
  flag2(this, "initialDeltaValue", initial2);
  flag2(this, "finalDeltaValue", final);
  flag2(this, "deltaBehavior", "change");
  flag2(this, "realDelta", final !== initial2);
  this.assert(
    initial2 !== final,
    "expected " + msgObj + " to change",
    "expected " + msgObj + " to not change"
  );
}
__name(assertChanges, "assertChanges");
__name2(assertChanges, "assertChanges");
Assertion.addMethod("change", assertChanges);
Assertion.addMethod("changes", assertChanges);
function assertIncreases(subject, prop, msg) {
  if (msg) flag2(this, "message", msg);
  let fn4 = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi");
  new Assertion(fn4, flagMsg, ssfi, true).is.a("function");
  let initial2;
  if (!prop) {
    new Assertion(subject, flagMsg, ssfi, true).is.a("function");
    initial2 = subject();
  } else {
    new Assertion(subject, flagMsg, ssfi, true).to.have.property(prop);
    initial2 = subject[prop];
  }
  new Assertion(initial2, flagMsg, ssfi, true).is.a("number");
  fn4();
  let final = prop === void 0 || prop === null ? subject() : subject[prop];
  let msgObj = prop === void 0 || prop === null ? initial2 : "." + prop;
  flag2(this, "deltaMsgObj", msgObj);
  flag2(this, "initialDeltaValue", initial2);
  flag2(this, "finalDeltaValue", final);
  flag2(this, "deltaBehavior", "increase");
  flag2(this, "realDelta", final - initial2);
  this.assert(
    final - initial2 > 0,
    "expected " + msgObj + " to increase",
    "expected " + msgObj + " to not increase"
  );
}
__name(assertIncreases, "assertIncreases");
__name2(assertIncreases, "assertIncreases");
Assertion.addMethod("increase", assertIncreases);
Assertion.addMethod("increases", assertIncreases);
function assertDecreases(subject, prop, msg) {
  if (msg) flag2(this, "message", msg);
  let fn4 = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi");
  new Assertion(fn4, flagMsg, ssfi, true).is.a("function");
  let initial2;
  if (!prop) {
    new Assertion(subject, flagMsg, ssfi, true).is.a("function");
    initial2 = subject();
  } else {
    new Assertion(subject, flagMsg, ssfi, true).to.have.property(prop);
    initial2 = subject[prop];
  }
  new Assertion(initial2, flagMsg, ssfi, true).is.a("number");
  fn4();
  let final = prop === void 0 || prop === null ? subject() : subject[prop];
  let msgObj = prop === void 0 || prop === null ? initial2 : "." + prop;
  flag2(this, "deltaMsgObj", msgObj);
  flag2(this, "initialDeltaValue", initial2);
  flag2(this, "finalDeltaValue", final);
  flag2(this, "deltaBehavior", "decrease");
  flag2(this, "realDelta", initial2 - final);
  this.assert(
    final - initial2 < 0,
    "expected " + msgObj + " to decrease",
    "expected " + msgObj + " to not decrease"
  );
}
__name(assertDecreases, "assertDecreases");
__name2(assertDecreases, "assertDecreases");
Assertion.addMethod("decrease", assertDecreases);
Assertion.addMethod("decreases", assertDecreases);
function assertDelta(delta, msg) {
  if (msg) flag2(this, "message", msg);
  let msgObj = flag2(this, "deltaMsgObj");
  let initial2 = flag2(this, "initialDeltaValue");
  let final = flag2(this, "finalDeltaValue");
  let behavior2 = flag2(this, "deltaBehavior");
  let realDelta = flag2(this, "realDelta");
  let expression;
  if (behavior2 === "change") {
    expression = Math.abs(final - initial2) === Math.abs(delta);
  } else {
    expression = realDelta === Math.abs(delta);
  }
  this.assert(
    expression,
    "expected " + msgObj + " to " + behavior2 + " by " + delta,
    "expected " + msgObj + " to not " + behavior2 + " by " + delta
  );
}
__name(assertDelta, "assertDelta");
__name2(assertDelta, "assertDelta");
Assertion.addMethod("by", assertDelta);
Assertion.addProperty("extensible", function() {
  let obj = flag2(this, "object");
  let isExtensible = obj === Object(obj) && Object.isExtensible(obj);
  this.assert(
    isExtensible,
    "expected #{this} to be extensible",
    "expected #{this} to not be extensible"
  );
});
Assertion.addProperty("sealed", function() {
  let obj = flag2(this, "object");
  let isSealed = obj === Object(obj) ? Object.isSealed(obj) : true;
  this.assert(
    isSealed,
    "expected #{this} to be sealed",
    "expected #{this} to not be sealed"
  );
});
Assertion.addProperty("frozen", function() {
  let obj = flag2(this, "object");
  let isFrozen = obj === Object(obj) ? Object.isFrozen(obj) : true;
  this.assert(
    isFrozen,
    "expected #{this} to be frozen",
    "expected #{this} to not be frozen"
  );
});
Assertion.addProperty("finite", function(_msg) {
  let obj = flag2(this, "object");
  this.assert(
    typeof obj === "number" && isFinite(obj),
    "expected #{this} to be a finite number",
    "expected #{this} to not be a finite number"
  );
});
function compareSubset(expected, actual) {
  if (expected === actual) {
    return true;
  }
  if (typeof actual !== typeof expected) {
    return false;
  }
  if (typeof expected !== "object" || expected === null) {
    return expected === actual;
  }
  if (!actual) {
    return false;
  }
  if (Array.isArray(expected)) {
    if (!Array.isArray(actual)) {
      return false;
    }
    return expected.every(function(exp) {
      return actual.some(function(act) {
        return compareSubset(exp, act);
      });
    });
  }
  if (expected instanceof Date) {
    if (actual instanceof Date) {
      return expected.getTime() === actual.getTime();
    } else {
      return false;
    }
  }
  return Object.keys(expected).every(function(key) {
    let expectedValue = expected[key];
    let actualValue = actual[key];
    if (typeof expectedValue === "object" && expectedValue !== null && actualValue !== null) {
      return compareSubset(expectedValue, actualValue);
    }
    if (typeof expectedValue === "function") {
      return expectedValue(actualValue);
    }
    return actualValue === expectedValue;
  });
}
__name(compareSubset, "compareSubset");
__name2(compareSubset, "compareSubset");
Assertion.addMethod("containSubset", function(expected) {
  const actual = flag(this, "object");
  const showDiff = config2.showDiff;
  this.assert(
    compareSubset(expected, actual),
    "expected #{act} to contain subset #{exp}",
    "expected #{act} to not contain subset #{exp}",
    expected,
    actual,
    showDiff
  );
});
function expect(val, message) {
  return new Assertion(val, message);
}
__name(expect, "expect");
__name2(expect, "expect");
expect.fail = function(actual, expected, message, operator) {
  if (arguments.length < 2) {
    message = actual;
    actual = void 0;
  }
  message = message || "expect.fail()";
  throw new AssertionError(
    message,
    {
      actual,
      expected,
      operator
    },
    expect.fail
  );
};
var should_exports = {};
__export2(should_exports, {
  Should: /* @__PURE__ */ __name(() => Should, "Should"),
  should: /* @__PURE__ */ __name(() => should, "should")
});
function loadShould() {
  function shouldGetter() {
    if (this instanceof String || this instanceof Number || this instanceof Boolean || typeof Symbol === "function" && this instanceof Symbol || typeof BigInt === "function" && this instanceof BigInt) {
      return new Assertion(this.valueOf(), null, shouldGetter);
    }
    return new Assertion(this, null, shouldGetter);
  }
  __name(shouldGetter, "shouldGetter");
  __name2(shouldGetter, "shouldGetter");
  function shouldSetter(value) {
    Object.defineProperty(this, "should", {
      value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  }
  __name(shouldSetter, "shouldSetter");
  __name2(shouldSetter, "shouldSetter");
  Object.defineProperty(Object.prototype, "should", {
    set: shouldSetter,
    get: shouldGetter,
    configurable: true
  });
  let should2 = {};
  should2.fail = function(actual, expected, message, operator) {
    if (arguments.length < 2) {
      message = actual;
      actual = void 0;
    }
    message = message || "should.fail()";
    throw new AssertionError(
      message,
      {
        actual,
        expected,
        operator
      },
      should2.fail
    );
  };
  should2.equal = function(actual, expected, message) {
    new Assertion(actual, message).to.equal(expected);
  };
  should2.Throw = function(fn4, errt, errs, msg) {
    new Assertion(fn4, msg).to.Throw(errt, errs);
  };
  should2.exist = function(val, msg) {
    new Assertion(val, msg).to.exist;
  };
  should2.not = {};
  should2.not.equal = function(actual, expected, msg) {
    new Assertion(actual, msg).to.not.equal(expected);
  };
  should2.not.Throw = function(fn4, errt, errs, msg) {
    new Assertion(fn4, msg).to.not.Throw(errt, errs);
  };
  should2.not.exist = function(val, msg) {
    new Assertion(val, msg).to.not.exist;
  };
  should2["throw"] = should2["Throw"];
  should2.not["throw"] = should2.not["Throw"];
  return should2;
}
__name(loadShould, "loadShould");
__name2(loadShould, "loadShould");
var should = loadShould;
var Should = loadShould;
function assert(express, errmsg) {
  let test22 = new Assertion(null, null, assert, true);
  test22.assert(express, errmsg, "[ negation message unavailable ]");
}
__name(assert, "assert");
__name2(assert, "assert");
assert.fail = function(actual, expected, message, operator) {
  if (arguments.length < 2) {
    message = actual;
    actual = void 0;
  }
  message = message || "assert.fail()";
  throw new AssertionError(
    message,
    {
      actual,
      expected,
      operator
    },
    assert.fail
  );
};
assert.isOk = function(val, msg) {
  new Assertion(val, msg, assert.isOk, true).is.ok;
};
assert.isNotOk = function(val, msg) {
  new Assertion(val, msg, assert.isNotOk, true).is.not.ok;
};
assert.equal = function(act, exp, msg) {
  let test22 = new Assertion(act, msg, assert.equal, true);
  test22.assert(
    exp == flag(test22, "object"),
    "expected #{this} to equal #{exp}",
    "expected #{this} to not equal #{act}",
    exp,
    act,
    true
  );
};
assert.notEqual = function(act, exp, msg) {
  let test22 = new Assertion(act, msg, assert.notEqual, true);
  test22.assert(
    exp != flag(test22, "object"),
    "expected #{this} to not equal #{exp}",
    "expected #{this} to equal #{act}",
    exp,
    act,
    true
  );
};
assert.strictEqual = function(act, exp, msg) {
  new Assertion(act, msg, assert.strictEqual, true).to.equal(exp);
};
assert.notStrictEqual = function(act, exp, msg) {
  new Assertion(act, msg, assert.notStrictEqual, true).to.not.equal(exp);
};
assert.deepEqual = assert.deepStrictEqual = function(act, exp, msg) {
  new Assertion(act, msg, assert.deepEqual, true).to.eql(exp);
};
assert.notDeepEqual = function(act, exp, msg) {
  new Assertion(act, msg, assert.notDeepEqual, true).to.not.eql(exp);
};
assert.isAbove = function(val, abv, msg) {
  new Assertion(val, msg, assert.isAbove, true).to.be.above(abv);
};
assert.isAtLeast = function(val, atlst, msg) {
  new Assertion(val, msg, assert.isAtLeast, true).to.be.least(atlst);
};
assert.isBelow = function(val, blw, msg) {
  new Assertion(val, msg, assert.isBelow, true).to.be.below(blw);
};
assert.isAtMost = function(val, atmst, msg) {
  new Assertion(val, msg, assert.isAtMost, true).to.be.most(atmst);
};
assert.isTrue = function(val, msg) {
  new Assertion(val, msg, assert.isTrue, true).is["true"];
};
assert.isNotTrue = function(val, msg) {
  new Assertion(val, msg, assert.isNotTrue, true).to.not.equal(true);
};
assert.isFalse = function(val, msg) {
  new Assertion(val, msg, assert.isFalse, true).is["false"];
};
assert.isNotFalse = function(val, msg) {
  new Assertion(val, msg, assert.isNotFalse, true).to.not.equal(false);
};
assert.isNull = function(val, msg) {
  new Assertion(val, msg, assert.isNull, true).to.equal(null);
};
assert.isNotNull = function(val, msg) {
  new Assertion(val, msg, assert.isNotNull, true).to.not.equal(null);
};
assert.isNaN = function(val, msg) {
  new Assertion(val, msg, assert.isNaN, true).to.be.NaN;
};
assert.isNotNaN = function(value, message) {
  new Assertion(value, message, assert.isNotNaN, true).not.to.be.NaN;
};
assert.exists = function(val, msg) {
  new Assertion(val, msg, assert.exists, true).to.exist;
};
assert.notExists = function(val, msg) {
  new Assertion(val, msg, assert.notExists, true).to.not.exist;
};
assert.isUndefined = function(val, msg) {
  new Assertion(val, msg, assert.isUndefined, true).to.equal(void 0);
};
assert.isDefined = function(val, msg) {
  new Assertion(val, msg, assert.isDefined, true).to.not.equal(void 0);
};
assert.isCallable = function(value, message) {
  new Assertion(value, message, assert.isCallable, true).is.callable;
};
assert.isNotCallable = function(value, message) {
  new Assertion(value, message, assert.isNotCallable, true).is.not.callable;
};
assert.isObject = function(val, msg) {
  new Assertion(val, msg, assert.isObject, true).to.be.a("object");
};
assert.isNotObject = function(val, msg) {
  new Assertion(val, msg, assert.isNotObject, true).to.not.be.a("object");
};
assert.isArray = function(val, msg) {
  new Assertion(val, msg, assert.isArray, true).to.be.an("array");
};
assert.isNotArray = function(val, msg) {
  new Assertion(val, msg, assert.isNotArray, true).to.not.be.an("array");
};
assert.isString = function(val, msg) {
  new Assertion(val, msg, assert.isString, true).to.be.a("string");
};
assert.isNotString = function(val, msg) {
  new Assertion(val, msg, assert.isNotString, true).to.not.be.a("string");
};
assert.isNumber = function(val, msg) {
  new Assertion(val, msg, assert.isNumber, true).to.be.a("number");
};
assert.isNotNumber = function(val, msg) {
  new Assertion(val, msg, assert.isNotNumber, true).to.not.be.a("number");
};
assert.isNumeric = function(val, msg) {
  new Assertion(val, msg, assert.isNumeric, true).is.numeric;
};
assert.isNotNumeric = function(val, msg) {
  new Assertion(val, msg, assert.isNotNumeric, true).is.not.numeric;
};
assert.isFinite = function(val, msg) {
  new Assertion(val, msg, assert.isFinite, true).to.be.finite;
};
assert.isBoolean = function(val, msg) {
  new Assertion(val, msg, assert.isBoolean, true).to.be.a("boolean");
};
assert.isNotBoolean = function(val, msg) {
  new Assertion(val, msg, assert.isNotBoolean, true).to.not.be.a("boolean");
};
assert.typeOf = function(val, type32, msg) {
  new Assertion(val, msg, assert.typeOf, true).to.be.a(type32);
};
assert.notTypeOf = function(value, type32, message) {
  new Assertion(value, message, assert.notTypeOf, true).to.not.be.a(type32);
};
assert.instanceOf = function(val, type32, msg) {
  new Assertion(val, msg, assert.instanceOf, true).to.be.instanceOf(type32);
};
assert.notInstanceOf = function(val, type32, msg) {
  new Assertion(val, msg, assert.notInstanceOf, true).to.not.be.instanceOf(
    type32
  );
};
assert.include = function(exp, inc, msg) {
  new Assertion(exp, msg, assert.include, true).include(inc);
};
assert.notInclude = function(exp, inc, msg) {
  new Assertion(exp, msg, assert.notInclude, true).not.include(inc);
};
assert.deepInclude = function(exp, inc, msg) {
  new Assertion(exp, msg, assert.deepInclude, true).deep.include(inc);
};
assert.notDeepInclude = function(exp, inc, msg) {
  new Assertion(exp, msg, assert.notDeepInclude, true).not.deep.include(inc);
};
assert.nestedInclude = function(exp, inc, msg) {
  new Assertion(exp, msg, assert.nestedInclude, true).nested.include(inc);
};
assert.notNestedInclude = function(exp, inc, msg) {
  new Assertion(exp, msg, assert.notNestedInclude, true).not.nested.include(
    inc
  );
};
assert.deepNestedInclude = function(exp, inc, msg) {
  new Assertion(exp, msg, assert.deepNestedInclude, true).deep.nested.include(
    inc
  );
};
assert.notDeepNestedInclude = function(exp, inc, msg) {
  new Assertion(
    exp,
    msg,
    assert.notDeepNestedInclude,
    true
  ).not.deep.nested.include(inc);
};
assert.ownInclude = function(exp, inc, msg) {
  new Assertion(exp, msg, assert.ownInclude, true).own.include(inc);
};
assert.notOwnInclude = function(exp, inc, msg) {
  new Assertion(exp, msg, assert.notOwnInclude, true).not.own.include(inc);
};
assert.deepOwnInclude = function(exp, inc, msg) {
  new Assertion(exp, msg, assert.deepOwnInclude, true).deep.own.include(inc);
};
assert.notDeepOwnInclude = function(exp, inc, msg) {
  new Assertion(exp, msg, assert.notDeepOwnInclude, true).not.deep.own.include(
    inc
  );
};
assert.match = function(exp, re, msg) {
  new Assertion(exp, msg, assert.match, true).to.match(re);
};
assert.notMatch = function(exp, re, msg) {
  new Assertion(exp, msg, assert.notMatch, true).to.not.match(re);
};
assert.property = function(obj, prop, msg) {
  new Assertion(obj, msg, assert.property, true).to.have.property(prop);
};
assert.notProperty = function(obj, prop, msg) {
  new Assertion(obj, msg, assert.notProperty, true).to.not.have.property(prop);
};
assert.propertyVal = function(obj, prop, val, msg) {
  new Assertion(obj, msg, assert.propertyVal, true).to.have.property(prop, val);
};
assert.notPropertyVal = function(obj, prop, val, msg) {
  new Assertion(obj, msg, assert.notPropertyVal, true).to.not.have.property(
    prop,
    val
  );
};
assert.deepPropertyVal = function(obj, prop, val, msg) {
  new Assertion(obj, msg, assert.deepPropertyVal, true).to.have.deep.property(
    prop,
    val
  );
};
assert.notDeepPropertyVal = function(obj, prop, val, msg) {
  new Assertion(
    obj,
    msg,
    assert.notDeepPropertyVal,
    true
  ).to.not.have.deep.property(prop, val);
};
assert.ownProperty = function(obj, prop, msg) {
  new Assertion(obj, msg, assert.ownProperty, true).to.have.own.property(prop);
};
assert.notOwnProperty = function(obj, prop, msg) {
  new Assertion(obj, msg, assert.notOwnProperty, true).to.not.have.own.property(
    prop
  );
};
assert.ownPropertyVal = function(obj, prop, value, msg) {
  new Assertion(obj, msg, assert.ownPropertyVal, true).to.have.own.property(
    prop,
    value
  );
};
assert.notOwnPropertyVal = function(obj, prop, value, msg) {
  new Assertion(
    obj,
    msg,
    assert.notOwnPropertyVal,
    true
  ).to.not.have.own.property(prop, value);
};
assert.deepOwnPropertyVal = function(obj, prop, value, msg) {
  new Assertion(
    obj,
    msg,
    assert.deepOwnPropertyVal,
    true
  ).to.have.deep.own.property(prop, value);
};
assert.notDeepOwnPropertyVal = function(obj, prop, value, msg) {
  new Assertion(
    obj,
    msg,
    assert.notDeepOwnPropertyVal,
    true
  ).to.not.have.deep.own.property(prop, value);
};
assert.nestedProperty = function(obj, prop, msg) {
  new Assertion(obj, msg, assert.nestedProperty, true).to.have.nested.property(
    prop
  );
};
assert.notNestedProperty = function(obj, prop, msg) {
  new Assertion(
    obj,
    msg,
    assert.notNestedProperty,
    true
  ).to.not.have.nested.property(prop);
};
assert.nestedPropertyVal = function(obj, prop, val, msg) {
  new Assertion(
    obj,
    msg,
    assert.nestedPropertyVal,
    true
  ).to.have.nested.property(prop, val);
};
assert.notNestedPropertyVal = function(obj, prop, val, msg) {
  new Assertion(
    obj,
    msg,
    assert.notNestedPropertyVal,
    true
  ).to.not.have.nested.property(prop, val);
};
assert.deepNestedPropertyVal = function(obj, prop, val, msg) {
  new Assertion(
    obj,
    msg,
    assert.deepNestedPropertyVal,
    true
  ).to.have.deep.nested.property(prop, val);
};
assert.notDeepNestedPropertyVal = function(obj, prop, val, msg) {
  new Assertion(
    obj,
    msg,
    assert.notDeepNestedPropertyVal,
    true
  ).to.not.have.deep.nested.property(prop, val);
};
assert.lengthOf = function(exp, len, msg) {
  new Assertion(exp, msg, assert.lengthOf, true).to.have.lengthOf(len);
};
assert.hasAnyKeys = function(obj, keys3, msg) {
  new Assertion(obj, msg, assert.hasAnyKeys, true).to.have.any.keys(keys3);
};
assert.hasAllKeys = function(obj, keys3, msg) {
  new Assertion(obj, msg, assert.hasAllKeys, true).to.have.all.keys(keys3);
};
assert.containsAllKeys = function(obj, keys3, msg) {
  new Assertion(obj, msg, assert.containsAllKeys, true).to.contain.all.keys(
    keys3
  );
};
assert.doesNotHaveAnyKeys = function(obj, keys3, msg) {
  new Assertion(obj, msg, assert.doesNotHaveAnyKeys, true).to.not.have.any.keys(
    keys3
  );
};
assert.doesNotHaveAllKeys = function(obj, keys3, msg) {
  new Assertion(obj, msg, assert.doesNotHaveAllKeys, true).to.not.have.all.keys(
    keys3
  );
};
assert.hasAnyDeepKeys = function(obj, keys3, msg) {
  new Assertion(obj, msg, assert.hasAnyDeepKeys, true).to.have.any.deep.keys(
    keys3
  );
};
assert.hasAllDeepKeys = function(obj, keys3, msg) {
  new Assertion(obj, msg, assert.hasAllDeepKeys, true).to.have.all.deep.keys(
    keys3
  );
};
assert.containsAllDeepKeys = function(obj, keys3, msg) {
  new Assertion(
    obj,
    msg,
    assert.containsAllDeepKeys,
    true
  ).to.contain.all.deep.keys(keys3);
};
assert.doesNotHaveAnyDeepKeys = function(obj, keys3, msg) {
  new Assertion(
    obj,
    msg,
    assert.doesNotHaveAnyDeepKeys,
    true
  ).to.not.have.any.deep.keys(keys3);
};
assert.doesNotHaveAllDeepKeys = function(obj, keys3, msg) {
  new Assertion(
    obj,
    msg,
    assert.doesNotHaveAllDeepKeys,
    true
  ).to.not.have.all.deep.keys(keys3);
};
assert.throws = function(fn4, errorLike, errMsgMatcher, msg) {
  if ("string" === typeof errorLike || errorLike instanceof RegExp) {
    errMsgMatcher = errorLike;
    errorLike = null;
  }
  let assertErr = new Assertion(fn4, msg, assert.throws, true).to.throw(
    errorLike,
    errMsgMatcher
  );
  return flag(assertErr, "object");
};
assert.doesNotThrow = function(fn4, errorLike, errMsgMatcher, message) {
  if ("string" === typeof errorLike || errorLike instanceof RegExp) {
    errMsgMatcher = errorLike;
    errorLike = null;
  }
  new Assertion(fn4, message, assert.doesNotThrow, true).to.not.throw(
    errorLike,
    errMsgMatcher
  );
};
assert.operator = function(val, operator, val2, msg) {
  let ok;
  switch (operator) {
    case "==":
      ok = val == val2;
      break;
    case "===":
      ok = val === val2;
      break;
    case ">":
      ok = val > val2;
      break;
    case ">=":
      ok = val >= val2;
      break;
    case "<":
      ok = val < val2;
      break;
    case "<=":
      ok = val <= val2;
      break;
    case "!=":
      ok = val != val2;
      break;
    case "!==":
      ok = val !== val2;
      break;
    default:
      msg = msg ? msg + ": " : msg;
      throw new AssertionError(
        msg + 'Invalid operator "' + operator + '"',
        void 0,
        assert.operator
      );
  }
  let test22 = new Assertion(ok, msg, assert.operator, true);
  test22.assert(
    true === flag(test22, "object"),
    "expected " + inspect22(val) + " to be " + operator + " " + inspect22(val2),
    "expected " + inspect22(val) + " to not be " + operator + " " + inspect22(val2)
  );
};
assert.closeTo = function(act, exp, delta, msg) {
  new Assertion(act, msg, assert.closeTo, true).to.be.closeTo(exp, delta);
};
assert.approximately = function(act, exp, delta, msg) {
  new Assertion(act, msg, assert.approximately, true).to.be.approximately(
    exp,
    delta
  );
};
assert.sameMembers = function(set1, set22, msg) {
  new Assertion(set1, msg, assert.sameMembers, true).to.have.same.members(set22);
};
assert.notSameMembers = function(set1, set22, msg) {
  new Assertion(
    set1,
    msg,
    assert.notSameMembers,
    true
  ).to.not.have.same.members(set22);
};
assert.sameDeepMembers = function(set1, set22, msg) {
  new Assertion(
    set1,
    msg,
    assert.sameDeepMembers,
    true
  ).to.have.same.deep.members(set22);
};
assert.notSameDeepMembers = function(set1, set22, msg) {
  new Assertion(
    set1,
    msg,
    assert.notSameDeepMembers,
    true
  ).to.not.have.same.deep.members(set22);
};
assert.sameOrderedMembers = function(set1, set22, msg) {
  new Assertion(
    set1,
    msg,
    assert.sameOrderedMembers,
    true
  ).to.have.same.ordered.members(set22);
};
assert.notSameOrderedMembers = function(set1, set22, msg) {
  new Assertion(
    set1,
    msg,
    assert.notSameOrderedMembers,
    true
  ).to.not.have.same.ordered.members(set22);
};
assert.sameDeepOrderedMembers = function(set1, set22, msg) {
  new Assertion(
    set1,
    msg,
    assert.sameDeepOrderedMembers,
    true
  ).to.have.same.deep.ordered.members(set22);
};
assert.notSameDeepOrderedMembers = function(set1, set22, msg) {
  new Assertion(
    set1,
    msg,
    assert.notSameDeepOrderedMembers,
    true
  ).to.not.have.same.deep.ordered.members(set22);
};
assert.includeMembers = function(superset, subset, msg) {
  new Assertion(superset, msg, assert.includeMembers, true).to.include.members(
    subset
  );
};
assert.notIncludeMembers = function(superset, subset, msg) {
  new Assertion(
    superset,
    msg,
    assert.notIncludeMembers,
    true
  ).to.not.include.members(subset);
};
assert.includeDeepMembers = function(superset, subset, msg) {
  new Assertion(
    superset,
    msg,
    assert.includeDeepMembers,
    true
  ).to.include.deep.members(subset);
};
assert.notIncludeDeepMembers = function(superset, subset, msg) {
  new Assertion(
    superset,
    msg,
    assert.notIncludeDeepMembers,
    true
  ).to.not.include.deep.members(subset);
};
assert.includeOrderedMembers = function(superset, subset, msg) {
  new Assertion(
    superset,
    msg,
    assert.includeOrderedMembers,
    true
  ).to.include.ordered.members(subset);
};
assert.notIncludeOrderedMembers = function(superset, subset, msg) {
  new Assertion(
    superset,
    msg,
    assert.notIncludeOrderedMembers,
    true
  ).to.not.include.ordered.members(subset);
};
assert.includeDeepOrderedMembers = function(superset, subset, msg) {
  new Assertion(
    superset,
    msg,
    assert.includeDeepOrderedMembers,
    true
  ).to.include.deep.ordered.members(subset);
};
assert.notIncludeDeepOrderedMembers = function(superset, subset, msg) {
  new Assertion(
    superset,
    msg,
    assert.notIncludeDeepOrderedMembers,
    true
  ).to.not.include.deep.ordered.members(subset);
};
assert.oneOf = function(inList, list, msg) {
  new Assertion(inList, msg, assert.oneOf, true).to.be.oneOf(list);
};
assert.isIterable = function(obj, msg) {
  if (obj == void 0 || !obj[Symbol.iterator]) {
    msg = msg ? `${msg} expected ${inspect22(obj)} to be an iterable` : `expected ${inspect22(obj)} to be an iterable`;
    throw new AssertionError(msg, void 0, assert.isIterable);
  }
};
assert.changes = function(fn4, obj, prop, msg) {
  if (arguments.length === 3 && typeof obj === "function") {
    msg = prop;
    prop = null;
  }
  new Assertion(fn4, msg, assert.changes, true).to.change(obj, prop);
};
assert.changesBy = function(fn4, obj, prop, delta, msg) {
  if (arguments.length === 4 && typeof obj === "function") {
    let tmpMsg = delta;
    delta = prop;
    msg = tmpMsg;
  } else if (arguments.length === 3) {
    delta = prop;
    prop = null;
  }
  new Assertion(fn4, msg, assert.changesBy, true).to.change(obj, prop).by(delta);
};
assert.doesNotChange = function(fn4, obj, prop, msg) {
  if (arguments.length === 3 && typeof obj === "function") {
    msg = prop;
    prop = null;
  }
  return new Assertion(fn4, msg, assert.doesNotChange, true).to.not.change(
    obj,
    prop
  );
};
assert.changesButNotBy = function(fn4, obj, prop, delta, msg) {
  if (arguments.length === 4 && typeof obj === "function") {
    let tmpMsg = delta;
    delta = prop;
    msg = tmpMsg;
  } else if (arguments.length === 3) {
    delta = prop;
    prop = null;
  }
  new Assertion(fn4, msg, assert.changesButNotBy, true).to.change(obj, prop).but.not.by(delta);
};
assert.increases = function(fn4, obj, prop, msg) {
  if (arguments.length === 3 && typeof obj === "function") {
    msg = prop;
    prop = null;
  }
  return new Assertion(fn4, msg, assert.increases, true).to.increase(obj, prop);
};
assert.increasesBy = function(fn4, obj, prop, delta, msg) {
  if (arguments.length === 4 && typeof obj === "function") {
    let tmpMsg = delta;
    delta = prop;
    msg = tmpMsg;
  } else if (arguments.length === 3) {
    delta = prop;
    prop = null;
  }
  new Assertion(fn4, msg, assert.increasesBy, true).to.increase(obj, prop).by(delta);
};
assert.doesNotIncrease = function(fn4, obj, prop, msg) {
  if (arguments.length === 3 && typeof obj === "function") {
    msg = prop;
    prop = null;
  }
  return new Assertion(fn4, msg, assert.doesNotIncrease, true).to.not.increase(
    obj,
    prop
  );
};
assert.increasesButNotBy = function(fn4, obj, prop, delta, msg) {
  if (arguments.length === 4 && typeof obj === "function") {
    let tmpMsg = delta;
    delta = prop;
    msg = tmpMsg;
  } else if (arguments.length === 3) {
    delta = prop;
    prop = null;
  }
  new Assertion(fn4, msg, assert.increasesButNotBy, true).to.increase(obj, prop).but.not.by(delta);
};
assert.decreases = function(fn4, obj, prop, msg) {
  if (arguments.length === 3 && typeof obj === "function") {
    msg = prop;
    prop = null;
  }
  return new Assertion(fn4, msg, assert.decreases, true).to.decrease(obj, prop);
};
assert.decreasesBy = function(fn4, obj, prop, delta, msg) {
  if (arguments.length === 4 && typeof obj === "function") {
    let tmpMsg = delta;
    delta = prop;
    msg = tmpMsg;
  } else if (arguments.length === 3) {
    delta = prop;
    prop = null;
  }
  new Assertion(fn4, msg, assert.decreasesBy, true).to.decrease(obj, prop).by(delta);
};
assert.doesNotDecrease = function(fn4, obj, prop, msg) {
  if (arguments.length === 3 && typeof obj === "function") {
    msg = prop;
    prop = null;
  }
  return new Assertion(fn4, msg, assert.doesNotDecrease, true).to.not.decrease(
    obj,
    prop
  );
};
assert.doesNotDecreaseBy = function(fn4, obj, prop, delta, msg) {
  if (arguments.length === 4 && typeof obj === "function") {
    let tmpMsg = delta;
    delta = prop;
    msg = tmpMsg;
  } else if (arguments.length === 3) {
    delta = prop;
    prop = null;
  }
  return new Assertion(fn4, msg, assert.doesNotDecreaseBy, true).to.not.decrease(obj, prop).by(delta);
};
assert.decreasesButNotBy = function(fn4, obj, prop, delta, msg) {
  if (arguments.length === 4 && typeof obj === "function") {
    let tmpMsg = delta;
    delta = prop;
    msg = tmpMsg;
  } else if (arguments.length === 3) {
    delta = prop;
    prop = null;
  }
  new Assertion(fn4, msg, assert.decreasesButNotBy, true).to.decrease(obj, prop).but.not.by(delta);
};
assert.ifError = function(val) {
  if (val) {
    throw val;
  }
};
assert.isExtensible = function(obj, msg) {
  new Assertion(obj, msg, assert.isExtensible, true).to.be.extensible;
};
assert.isNotExtensible = function(obj, msg) {
  new Assertion(obj, msg, assert.isNotExtensible, true).to.not.be.extensible;
};
assert.isSealed = function(obj, msg) {
  new Assertion(obj, msg, assert.isSealed, true).to.be.sealed;
};
assert.isNotSealed = function(obj, msg) {
  new Assertion(obj, msg, assert.isNotSealed, true).to.not.be.sealed;
};
assert.isFrozen = function(obj, msg) {
  new Assertion(obj, msg, assert.isFrozen, true).to.be.frozen;
};
assert.isNotFrozen = function(obj, msg) {
  new Assertion(obj, msg, assert.isNotFrozen, true).to.not.be.frozen;
};
assert.isEmpty = function(val, msg) {
  new Assertion(val, msg, assert.isEmpty, true).to.be.empty;
};
assert.isNotEmpty = function(val, msg) {
  new Assertion(val, msg, assert.isNotEmpty, true).to.not.be.empty;
};
assert.containsSubset = function(val, exp, msg) {
  new Assertion(val, msg).to.containSubset(exp);
};
assert.doesNotContainSubset = function(val, exp, msg) {
  new Assertion(val, msg).to.not.containSubset(exp);
};
var aliases = [
  ["isOk", "ok"],
  ["isNotOk", "notOk"],
  ["throws", "throw"],
  ["throws", "Throw"],
  ["isExtensible", "extensible"],
  ["isNotExtensible", "notExtensible"],
  ["isSealed", "sealed"],
  ["isNotSealed", "notSealed"],
  ["isFrozen", "frozen"],
  ["isNotFrozen", "notFrozen"],
  ["isEmpty", "empty"],
  ["isNotEmpty", "notEmpty"],
  ["isCallable", "isFunction"],
  ["isNotCallable", "isNotFunction"],
  ["containsSubset", "containSubset"]
];
for (const [name, as] of aliases) {
  assert[as] = assert[name];
}
var used = [];
function use(fn4) {
  const exports = {
    use,
    AssertionError,
    util: utils_exports,
    config: config2,
    expect,
    assert,
    Assertion,
    ...should_exports
  };
  if (!~used.indexOf(fn4)) {
    fn4(exports, utils_exports);
    used.push(fn4);
  }
  return exports;
}
__name(use, "use");
__name2(use, "use");

// ../node_modules/@testing-library/jest-dom/dist/matchers.mjs
var matchers_exports = {};
__export(matchers_exports, {
  toBeChecked: () => toBeChecked,
  toBeDisabled: () => toBeDisabled,
  toBeEmpty: () => toBeEmpty,
  toBeEmptyDOMElement: () => toBeEmptyDOMElement,
  toBeEnabled: () => toBeEnabled,
  toBeInTheDOM: () => toBeInTheDOM,
  toBeInTheDocument: () => toBeInTheDocument,
  toBeInvalid: () => toBeInvalid,
  toBePartiallyChecked: () => toBePartiallyChecked,
  toBePartiallyPressed: () => toBePartiallyPressed,
  toBePressed: () => toBePressed,
  toBeRequired: () => toBeRequired,
  toBeValid: () => toBeValid,
  toBeVisible: () => toBeVisible,
  toContainElement: () => toContainElement,
  toContainHTML: () => toContainHTML,
  toHaveAccessibleDescription: () => toHaveAccessibleDescription,
  toHaveAccessibleErrorMessage: () => toHaveAccessibleErrorMessage,
  toHaveAccessibleName: () => toHaveAccessibleName,
  toHaveAttribute: () => toHaveAttribute,
  toHaveClass: () => toHaveClass,
  toHaveDescription: () => toHaveDescription,
  toHaveDisplayValue: () => toHaveDisplayValue,
  toHaveErrorMessage: () => toHaveErrorMessage,
  toHaveFocus: () => toHaveFocus,
  toHaveFormValues: () => toHaveFormValues,
  toHaveRole: () => toHaveRole,
  toHaveSelection: () => toHaveSelection,
  toHaveStyle: () => toHaveStyle,
  toHaveTextContent: () => toHaveTextContent,
  toHaveValue: () => toHaveValue
});

// ../node_modules/@testing-library/jest-dom/dist/matchers-8f81fc78.mjs
var import_redent = __toESM(require_redent(), 1);

// ../node_modules/@adobe/css-tools/dist/esm/adobe-css-tools.mjs
var _t = class _t extends Error {
  reason;
  filename;
  line;
  column;
  source;
  constructor(t2, e2, i2, s3, n2) {
    super(`${t2}:${i2}:${s3}: ${e2}`), this.reason = e2, this.filename = t2, this.line = i2, this.column = s3, this.source = n2;
  }
};
__name(_t, "t");
var t = _t;
var _e = class _e {
  start;
  end;
  source;
  constructor(t2, e2, i2) {
    this.start = t2, this.end = e2, this.source = i2;
  }
};
__name(_e, "e");
var e = _e;
var i;
!function(t2) {
  t2.stylesheet = "stylesheet", t2.rule = "rule", t2.declaration = "declaration", t2.comment = "comment", t2.container = "container", t2.charset = "charset", t2.document = "document", t2.customMedia = "custom-media", t2.fontFace = "font-face", t2.host = "host", t2.import = "import", t2.keyframes = "keyframes", t2.keyframe = "keyframe", t2.layer = "layer", t2.media = "media", t2.namespace = "namespace", t2.page = "page", t2.startingStyle = "starting-style", t2.supports = "supports";
}(i || (i = {}));
var s2 = /* @__PURE__ */ __name((t2, e2, i2) => {
  let s3 = i2, n2 = 1e4;
  do {
    const i3 = e2.map((e3) => t2.indexOf(e3, s3));
    i3.push(t2.indexOf("\\", s3));
    const r2 = i3.filter((t3) => -1 !== t3);
    if (0 === r2.length) return -1;
    const o2 = Math.min(...r2);
    if ("\\" !== t2[o2]) return o2;
    s3 = o2 + 2, n2--;
  } while (n2 > 0);
  throw new Error("Too many escaping");
}, "s");
var n = /* @__PURE__ */ __name((t2, e2, i2) => {
  let r2 = i2, o2 = 1e4;
  do {
    const i3 = e2.map((e3) => t2.indexOf(e3, r2));
    i3.push(t2.indexOf("(", r2)), i3.push(t2.indexOf('"', r2)), i3.push(t2.indexOf("'", r2)), i3.push(t2.indexOf("\\", r2));
    const c2 = i3.filter((t3) => -1 !== t3);
    if (0 === c2.length) return -1;
    const a2 = Math.min(...c2);
    switch (t2[a2]) {
      case "\\":
        r2 = a2 + 2;
        break;
      case "(":
        {
          const e3 = n(t2, [")"], a2 + 1);
          if (-1 === e3) return -1;
          r2 = e3 + 1;
        }
        break;
      case '"':
        {
          const e3 = s2(t2, ['"'], a2 + 1);
          if (-1 === e3) return -1;
          r2 = e3 + 1;
        }
        break;
      case "'":
        {
          const e3 = s2(t2, ["'"], a2 + 1);
          if (-1 === e3) return -1;
          r2 = e3 + 1;
        }
        break;
      default:
        return a2;
    }
    o2--;
  } while (o2 > 0);
  throw new Error("Too many escaping");
}, "n");
var r = /\/\*[^]*?(?:\*\/|$)/g;
function o(t2) {
  return t2 ? t2.trim() : "";
}
__name(o, "o");
function c(t2, e2) {
  const i2 = t2 && "string" == typeof t2.type, s3 = i2 ? t2 : e2;
  for (const e3 in t2) {
    const i3 = t2[e3];
    Array.isArray(i3) ? i3.forEach((t3) => {
      c(t3, s3);
    }) : i3 && "object" == typeof i3 && c(i3, s3);
  }
  return i2 && Object.defineProperty(t2, "parent", { configurable: true, writable: true, enumerable: false, value: e2 || null }), t2;
}
__name(c, "c");
var m2 = /* @__PURE__ */ __name((s3, a2) => {
  a2 = a2 || {};
  let m3 = 1, h2 = 1;
  function u2() {
    const t2 = { line: m3, column: h2 };
    return (i2) => (i2.position = new e(t2, { line: m3, column: h2 }, a2?.source || ""), $(), i2);
  }
  __name(u2, "u");
  const p2 = [];
  function l(e2) {
    const i2 = new t(a2?.source || "", e2, m3, h2, s3);
    if (!a2?.silent) throw i2;
    p2.push(i2);
  }
  __name(l, "l");
  function f3() {
    const t2 = /^{\s*/.exec(s3);
    return !!t2 && (g2(t2), true);
  }
  __name(f3, "f");
  function d() {
    const t2 = /^}/.exec(s3);
    return !!t2 && (g2(t2), true);
  }
  __name(d, "d");
  function y() {
    let t2;
    const e2 = [];
    for ($(), x(e2); s3.length && "}" !== s3.charAt(0) && (t2 = A3() || S(), t2); ) e2.push(t2), x(e2);
    return e2;
  }
  __name(y, "y");
  function g2(t2) {
    const e2 = t2[0];
    return function(t3) {
      const e3 = t3.match(/\n/g);
      e3 && (m3 += e3.length);
      const i2 = t3.lastIndexOf("\n");
      h2 = ~i2 ? t3.length - i2 : h2 + t3.length;
    }(e2), s3 = s3.slice(e2.length), t2;
  }
  __name(g2, "g");
  function $() {
    const t2 = /^\s*/.exec(s3);
    t2 && g2(t2);
  }
  __name($, "$");
  function x(t2) {
    t2 = t2 || [];
    let e2 = V();
    for (; e2; ) t2.push(e2), e2 = V();
    return t2;
  }
  __name(x, "x");
  function V() {
    const t2 = u2();
    if ("/" !== s3.charAt(0) || "*" !== s3.charAt(1)) return;
    const e2 = /^\/\*[^]*?\*\//.exec(s3);
    return e2 ? (g2(e2), t2({ type: i.comment, comment: e2[0].slice(2, -2) })) : l("End of comment missing");
  }
  __name(V, "V");
  function k() {
    const t2 = /^([^{]+)/.exec(s3);
    if (!t2) return;
    g2(t2);
    return ((t3, e2) => {
      const i2 = [];
      let s4 = 0;
      for (; s4 < t3.length; ) {
        const r2 = n(t3, e2, s4);
        if (-1 === r2) return i2.push(t3.substring(s4)), i2;
        i2.push(t3.substring(s4, r2)), s4 = r2 + 1;
      }
      return i2;
    })(o(t2[0]).replace(r, ""), [","]).map((t3) => o(t3));
  }
  __name(k, "k");
  function v() {
    const t2 = u2(), e2 = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/.exec(s3);
    if (!e2) return;
    g2(e2);
    const c2 = o(e2[0]), a3 = /^:\s*/.exec(s3);
    if (!a3) return l("property missing ':'");
    g2(a3);
    let m4 = "";
    const h3 = n(s3, [";", "}"]);
    if (-1 !== h3) {
      m4 = s3.substring(0, h3);
      g2([m4]), m4 = o(m4).replace(r, "");
    }
    const p3 = t2({ type: i.declaration, property: c2.replace(r, ""), value: m4 }), f4 = /^[;\s]*/.exec(s3);
    return f4 && g2(f4), p3;
  }
  __name(v, "v");
  function w() {
    const t2 = [];
    if (!f3()) return l("missing '{'");
    x(t2);
    let e2 = v();
    for (; e2; ) t2.push(e2), x(t2), e2 = v();
    return d() ? t2 : l("missing '}'");
  }
  __name(w, "w");
  function b() {
    const t2 = [], e2 = u2();
    let n2 = /^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/.exec(s3);
    for (; n2; ) {
      const e3 = g2(n2);
      t2.push(e3[1]);
      const i2 = /^,\s*/.exec(s3);
      i2 && g2(i2), n2 = /^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/.exec(s3);
    }
    if (t2.length) return e2({ type: i.keyframe, values: t2, declarations: w() || [] });
  }
  __name(b, "b");
  const j = M("import"), O = M("charset"), E = M("namespace");
  function M(t2) {
    const e2 = new RegExp("^@" + t2 + `\\s*((?::?[^;'"]|"(?:\\\\"|[^"])*?"|'(?:\\\\'|[^'])*?')+)(?:;|$)`);
    return () => {
      const i2 = u2(), n2 = e2.exec(s3);
      if (!n2) return;
      const r2 = g2(n2), o2 = { type: t2 };
      return o2[t2] = r2[1].trim(), i2(o2);
    };
  }
  __name(M, "M");
  function A3() {
    if ("@" === s3[0]) return function() {
      const t2 = u2(), e2 = /^@([-\w]+)?keyframes\s*/.exec(s3);
      if (!e2) return;
      const n2 = g2(e2)[1], r2 = /^([-\w]+)\s*/.exec(s3);
      if (!r2) return l("@keyframes missing name");
      const o2 = g2(r2)[1];
      if (!f3()) return l("@keyframes missing '{'");
      let c2 = x(), a3 = b();
      for (; a3; ) c2.push(a3), c2 = c2.concat(x()), a3 = b();
      return d() ? t2({ type: i.keyframes, name: o2, vendor: n2, keyframes: c2 }) : l("@keyframes missing '}'");
    }() || function() {
      const t2 = u2(), e2 = /^@media *([^{]+)/.exec(s3);
      if (!e2) return;
      const n2 = o(g2(e2)[1]);
      if (!f3()) return l("@media missing '{'");
      const r2 = x().concat(y());
      return d() ? t2({ type: i.media, media: n2, rules: r2 }) : l("@media missing '}'");
    }() || function() {
      const t2 = u2(), e2 = /^@custom-media\s+(--\S+)\s+([^{;\s][^{;]*);/.exec(s3);
      if (!e2) return;
      const n2 = g2(e2);
      return t2({ type: i.customMedia, name: o(n2[1]), media: o(n2[2]) });
    }() || function() {
      const t2 = u2(), e2 = /^@supports *([^{]+)/.exec(s3);
      if (!e2) return;
      const n2 = o(g2(e2)[1]);
      if (!f3()) return l("@supports missing '{'");
      const r2 = x().concat(y());
      return d() ? t2({ type: i.supports, supports: n2, rules: r2 }) : l("@supports missing '}'");
    }() || j() || O() || E() || function() {
      const t2 = u2(), e2 = /^@([-\w]+)?document *([^{]+)/.exec(s3);
      if (!e2) return;
      const n2 = g2(e2), r2 = o(n2[1]), c2 = o(n2[2]);
      if (!f3()) return l("@document missing '{'");
      const a3 = x().concat(y());
      return d() ? t2({ type: i.document, document: c2, vendor: r2, rules: a3 }) : l("@document missing '}'");
    }() || function() {
      const t2 = u2(), e2 = /^@page */.exec(s3);
      if (!e2) return;
      g2(e2);
      const n2 = k() || [];
      if (!f3()) return l("@page missing '{'");
      let r2 = x(), o2 = v();
      for (; o2; ) r2.push(o2), r2 = r2.concat(x()), o2 = v();
      return d() ? t2({ type: i.page, selectors: n2, declarations: r2 }) : l("@page missing '}'");
    }() || function() {
      const t2 = u2(), e2 = /^@host\s*/.exec(s3);
      if (!e2) return;
      if (g2(e2), !f3()) return l("@host missing '{'");
      const n2 = x().concat(y());
      return d() ? t2({ type: i.host, rules: n2 }) : l("@host missing '}'");
    }() || function() {
      const t2 = u2(), e2 = /^@font-face\s*/.exec(s3);
      if (!e2) return;
      if (g2(e2), !f3()) return l("@font-face missing '{'");
      let n2 = x(), r2 = v();
      for (; r2; ) n2.push(r2), n2 = n2.concat(x()), r2 = v();
      return d() ? t2({ type: i.fontFace, declarations: n2 }) : l("@font-face missing '}'");
    }() || function() {
      const t2 = u2(), e2 = /^@container *([^{]+)/.exec(s3);
      if (!e2) return;
      const n2 = o(g2(e2)[1]);
      if (!f3()) return l("@container missing '{'");
      const r2 = x().concat(y());
      return d() ? t2({ type: i.container, container: n2, rules: r2 }) : l("@container missing '}'");
    }() || function() {
      const t2 = u2(), e2 = /^@starting-style\s*/.exec(s3);
      if (!e2) return;
      if (g2(e2), !f3()) return l("@starting-style missing '{'");
      const n2 = x().concat(y());
      return d() ? t2({ type: i.startingStyle, rules: n2 }) : l("@starting-style missing '}'");
    }() || function() {
      const t2 = u2(), e2 = /^@layer *([^{;@]+)/.exec(s3);
      if (!e2) return;
      const n2 = o(g2(e2)[1]);
      if (!f3()) {
        const e3 = /^[;\s]*/.exec(s3);
        return e3 && g2(e3), t2({ type: i.layer, layer: n2 });
      }
      const r2 = x().concat(y());
      return d() ? t2({ type: i.layer, layer: n2, rules: r2 }) : l("@layer missing '}'");
    }();
  }
  __name(A3, "A");
  function S() {
    const t2 = u2(), e2 = k();
    return e2 ? (x(), t2({ type: i.rule, selectors: e2, declarations: w() || [] })) : l("selector missing");
  }
  __name(S, "S");
  return c(function() {
    const t2 = y();
    return { type: i.stylesheet, stylesheet: { source: a2?.source, rules: t2, parsingErrors: p2 } };
  }());
}, "m");

// ../node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api/dist/polyfills/array.from.mjs
var toStr = Object.prototype.toString;
function isCallable(fn4) {
  return typeof fn4 === "function" || toStr.call(fn4) === "[object Function]";
}
__name(isCallable, "isCallable");
function toInteger(value) {
  var number = Number(value);
  if (isNaN(number)) {
    return 0;
  }
  if (number === 0 || !isFinite(number)) {
    return number;
  }
  return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));
}
__name(toInteger, "toInteger");
var maxSafeInteger = Math.pow(2, 53) - 1;
function toLength(value) {
  var len = toInteger(value);
  return Math.min(Math.max(len, 0), maxSafeInteger);
}
__name(toLength, "toLength");
function arrayFrom(arrayLike, mapFn) {
  var C2 = Array;
  var items = Object(arrayLike);
  if (arrayLike == null) {
    throw new TypeError("Array.from requires an array-like object - not null or undefined");
  }
  if (typeof mapFn !== "undefined") {
    if (!isCallable(mapFn)) {
      throw new TypeError("Array.from: when provided, the second argument must be a function");
    }
  }
  var len = toLength(items.length);
  var A3 = isCallable(C2) ? Object(new C2(len)) : new Array(len);
  var k = 0;
  var kValue;
  while (k < len) {
    kValue = items[k];
    if (mapFn) {
      A3[k] = mapFn(kValue, k);
    } else {
      A3[k] = kValue;
    }
    k += 1;
  }
  A3.length = len;
  return A3;
}
__name(arrayFrom, "arrayFrom");

// ../node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api/dist/polyfills/SetLike.mjs
function _typeof2(o2) {
  "@babel/helpers - typeof";
  return _typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof2(o2);
}
__name(_typeof2, "_typeof");
function _classCallCheck(instance, Constructor) {
  if (!(instance instanceof Constructor)) {
    throw new TypeError("Cannot call a class as a function");
  }
}
__name(_classCallCheck, "_classCallCheck");
function _defineProperties(target, props) {
  for (var i2 = 0; i2 < props.length; i2++) {
    var descriptor = props[i2];
    descriptor.enumerable = descriptor.enumerable || false;
    descriptor.configurable = true;
    if ("value" in descriptor) descriptor.writable = true;
    Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
  }
}
__name(_defineProperties, "_defineProperties");
function _createClass(Constructor, protoProps, staticProps) {
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
  if (staticProps) _defineProperties(Constructor, staticProps);
  Object.defineProperty(Constructor, "prototype", { writable: false });
  return Constructor;
}
__name(_createClass, "_createClass");
function _defineProperty2(obj, key, value) {
  key = _toPropertyKey(key);
  if (key in obj) {
    Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_defineProperty2, "_defineProperty");
function _toPropertyKey(arg) {
  var key = _toPrimitive(arg, "string");
  return _typeof2(key) === "symbol" ? key : String(key);
}
__name(_toPropertyKey, "_toPropertyKey");
function _toPrimitive(input2, hint) {
  if (_typeof2(input2) !== "object" || input2 === null) return input2;
  var prim = input2[Symbol.toPrimitive];
  if (prim !== void 0) {
    var res = prim.call(input2, hint || "default");
    if (_typeof2(res) !== "object") return res;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return (hint === "string" ? String : Number)(input2);
}
__name(_toPrimitive, "_toPrimitive");
var SetLike = function() {
  function SetLike3() {
    var items = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
    _classCallCheck(this, SetLike3);
    _defineProperty2(this, "items", void 0);
    this.items = items;
  }
  __name(SetLike3, "SetLike");
  _createClass(SetLike3, [{
    key: "add",
    value: /* @__PURE__ */ __name(function add(value) {
      if (this.has(value) === false) {
        this.items.push(value);
      }
      return this;
    }, "add")
  }, {
    key: "clear",
    value: /* @__PURE__ */ __name(function clear4() {
      this.items = [];
    }, "clear")
  }, {
    key: "delete",
    value: /* @__PURE__ */ __name(function _delete(value) {
      var previousLength = this.items.length;
      this.items = this.items.filter(function(item) {
        return item !== value;
      });
      return previousLength !== this.items.length;
    }, "_delete")
  }, {
    key: "forEach",
    value: /* @__PURE__ */ __name(function forEach(callbackfn) {
      var _this = this;
      this.items.forEach(function(item) {
        callbackfn(item, item, _this);
      });
    }, "forEach")
  }, {
    key: "has",
    value: /* @__PURE__ */ __name(function has2(value) {
      return this.items.indexOf(value) !== -1;
    }, "has")
  }, {
    key: "size",
    get: /* @__PURE__ */ __name(function get4() {
      return this.items.length;
    }, "get")
  }]);
  return SetLike3;
}();
var SetLike_default = typeof Set === "undefined" ? Set : SetLike;

// ../node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api/dist/getRole.mjs
function getLocalName(element) {
  var _element$localName;
  return (
    // eslint-disable-next-line no-restricted-properties -- actual guard for environments without localName
    (_element$localName = element.localName) !== null && _element$localName !== void 0 ? _element$localName : (
      // eslint-disable-next-line no-restricted-properties -- required for the fallback
      element.tagName.toLowerCase()
    )
  );
}
__name(getLocalName, "getLocalName");
var localNameToRoleMappings = {
  article: "article",
  aside: "complementary",
  button: "button",
  datalist: "listbox",
  dd: "definition",
  details: "group",
  dialog: "dialog",
  dt: "term",
  fieldset: "group",
  figure: "figure",
  // WARNING: Only with an accessible name
  form: "form",
  footer: "contentinfo",
  h1: "heading",
  h2: "heading",
  h3: "heading",
  h4: "heading",
  h5: "heading",
  h6: "heading",
  header: "banner",
  hr: "separator",
  html: "document",
  legend: "legend",
  li: "listitem",
  math: "math",
  main: "main",
  menu: "list",
  nav: "navigation",
  ol: "list",
  optgroup: "group",
  // WARNING: Only in certain context
  option: "option",
  output: "status",
  progress: "progressbar",
  // WARNING: Only with an accessible name
  section: "region",
  summary: "button",
  table: "table",
  tbody: "rowgroup",
  textarea: "textbox",
  tfoot: "rowgroup",
  // WARNING: Only in certain context
  td: "cell",
  th: "columnheader",
  thead: "rowgroup",
  tr: "row",
  ul: "list"
};
var prohibitedAttributes = {
  caption: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  code: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  deletion: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  emphasis: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  generic: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby", "aria-roledescription"]),
  insertion: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  none: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  paragraph: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  presentation: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  strong: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  subscript: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  superscript: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"])
};
function hasGlobalAriaAttributes(element, role) {
  return [
    "aria-atomic",
    "aria-busy",
    "aria-controls",
    "aria-current",
    "aria-description",
    "aria-describedby",
    "aria-details",
    // "disabled",
    "aria-dropeffect",
    // "errormessage",
    "aria-flowto",
    "aria-grabbed",
    // "haspopup",
    "aria-hidden",
    // "invalid",
    "aria-keyshortcuts",
    "aria-label",
    "aria-labelledby",
    "aria-live",
    "aria-owns",
    "aria-relevant",
    "aria-roledescription"
  ].some(function(attributeName) {
    var _prohibitedAttributes;
    return element.hasAttribute(attributeName) && !((_prohibitedAttributes = prohibitedAttributes[role]) !== null && _prohibitedAttributes !== void 0 && _prohibitedAttributes.has(attributeName));
  });
}
__name(hasGlobalAriaAttributes, "hasGlobalAriaAttributes");
function ignorePresentationalRole(element, implicitRole) {
  return hasGlobalAriaAttributes(element, implicitRole);
}
__name(ignorePresentationalRole, "ignorePresentationalRole");
function getRole(element) {
  var explicitRole = getExplicitRole(element);
  if (explicitRole === null || presentationRoles.indexOf(explicitRole) !== -1) {
    var implicitRole = getImplicitRole(element);
    if (presentationRoles.indexOf(explicitRole || "") === -1 || ignorePresentationalRole(element, implicitRole || "")) {
      return implicitRole;
    }
  }
  return explicitRole;
}
__name(getRole, "getRole");
function getImplicitRole(element) {
  var mappedByTag = localNameToRoleMappings[getLocalName(element)];
  if (mappedByTag !== void 0) {
    return mappedByTag;
  }
  switch (getLocalName(element)) {
    case "a":
    case "area":
    case "link":
      if (element.hasAttribute("href")) {
        return "link";
      }
      break;
    case "img":
      if (element.getAttribute("alt") === "" && !ignorePresentationalRole(element, "img")) {
        return "presentation";
      }
      return "img";
    case "input": {
      var _ref = element, type5 = _ref.type;
      switch (type5) {
        case "button":
        case "image":
        case "reset":
        case "submit":
          return "button";
        case "checkbox":
        case "radio":
          return type5;
        case "range":
          return "slider";
        case "email":
        case "tel":
        case "text":
        case "url":
          if (element.hasAttribute("list")) {
            return "combobox";
          }
          return "textbox";
        case "search":
          if (element.hasAttribute("list")) {
            return "combobox";
          }
          return "searchbox";
        case "number":
          return "spinbutton";
        default:
          return null;
      }
    }
    case "select":
      if (element.hasAttribute("multiple") || element.size > 1) {
        return "listbox";
      }
      return "combobox";
  }
  return null;
}
__name(getImplicitRole, "getImplicitRole");
function getExplicitRole(element) {
  var role = element.getAttribute("role");
  if (role !== null) {
    var explicitRole = role.trim().split(" ")[0];
    if (explicitRole.length > 0) {
      return explicitRole;
    }
  }
  return null;
}
__name(getExplicitRole, "getExplicitRole");

// ../node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api/dist/util.mjs
var presentationRoles = ["presentation", "none"];
function isElement2(node2) {
  return node2 !== null && node2.nodeType === node2.ELEMENT_NODE;
}
__name(isElement2, "isElement");
function isHTMLTableCaptionElement(node2) {
  return isElement2(node2) && getLocalName(node2) === "caption";
}
__name(isHTMLTableCaptionElement, "isHTMLTableCaptionElement");
function isHTMLInputElement(node2) {
  return isElement2(node2) && getLocalName(node2) === "input";
}
__name(isHTMLInputElement, "isHTMLInputElement");
function isHTMLOptGroupElement(node2) {
  return isElement2(node2) && getLocalName(node2) === "optgroup";
}
__name(isHTMLOptGroupElement, "isHTMLOptGroupElement");
function isHTMLSelectElement(node2) {
  return isElement2(node2) && getLocalName(node2) === "select";
}
__name(isHTMLSelectElement, "isHTMLSelectElement");
function isHTMLTableElement(node2) {
  return isElement2(node2) && getLocalName(node2) === "table";
}
__name(isHTMLTableElement, "isHTMLTableElement");
function isHTMLTextAreaElement(node2) {
  return isElement2(node2) && getLocalName(node2) === "textarea";
}
__name(isHTMLTextAreaElement, "isHTMLTextAreaElement");
function safeWindow(node2) {
  var _ref = node2.ownerDocument === null ? node2 : node2.ownerDocument, defaultView = _ref.defaultView;
  if (defaultView === null) {
    throw new TypeError("no window available");
  }
  return defaultView;
}
__name(safeWindow, "safeWindow");
function isHTMLFieldSetElement(node2) {
  return isElement2(node2) && getLocalName(node2) === "fieldset";
}
__name(isHTMLFieldSetElement, "isHTMLFieldSetElement");
function isHTMLLegendElement(node2) {
  return isElement2(node2) && getLocalName(node2) === "legend";
}
__name(isHTMLLegendElement, "isHTMLLegendElement");
function isHTMLSlotElement(node2) {
  return isElement2(node2) && getLocalName(node2) === "slot";
}
__name(isHTMLSlotElement, "isHTMLSlotElement");
function isSVGElement(node2) {
  return isElement2(node2) && node2.ownerSVGElement !== void 0;
}
__name(isSVGElement, "isSVGElement");
function isSVGSVGElement(node2) {
  return isElement2(node2) && getLocalName(node2) === "svg";
}
__name(isSVGSVGElement, "isSVGSVGElement");
function isSVGTitleElement(node2) {
  return isSVGElement(node2) && getLocalName(node2) === "title";
}
__name(isSVGTitleElement, "isSVGTitleElement");
function queryIdRefs(node2, attributeName) {
  if (isElement2(node2) && node2.hasAttribute(attributeName)) {
    var ids = node2.getAttribute(attributeName).split(" ");
    var root2 = node2.getRootNode ? node2.getRootNode() : node2.ownerDocument;
    return ids.map(function(id) {
      return root2.getElementById(id);
    }).filter(
      function(element) {
        return element !== null;
      }
      // TODO: why does this not narrow?
    );
  }
  return [];
}
__name(queryIdRefs, "queryIdRefs");
function hasAnyConcreteRoles(node2, roles3) {
  if (isElement2(node2)) {
    return roles3.indexOf(getRole(node2)) !== -1;
  }
  return false;
}
__name(hasAnyConcreteRoles, "hasAnyConcreteRoles");

// ../node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api/dist/accessible-name-and-description.mjs
function asFlatString(s3) {
  return s3.trim().replace(/\s\s+/g, " ");
}
__name(asFlatString, "asFlatString");
function isHidden2(node2, getComputedStyleImplementation) {
  if (!isElement2(node2)) {
    return false;
  }
  if (node2.hasAttribute("hidden") || node2.getAttribute("aria-hidden") === "true") {
    return true;
  }
  var style = getComputedStyleImplementation(node2);
  return style.getPropertyValue("display") === "none" || style.getPropertyValue("visibility") === "hidden";
}
__name(isHidden2, "isHidden");
function isControl(node2) {
  return hasAnyConcreteRoles(node2, ["button", "combobox", "listbox", "textbox"]) || hasAbstractRole(node2, "range");
}
__name(isControl, "isControl");
function hasAbstractRole(node2, role) {
  if (!isElement2(node2)) {
    return false;
  }
  switch (role) {
    case "range":
      return hasAnyConcreteRoles(node2, ["meter", "progressbar", "scrollbar", "slider", "spinbutton"]);
    default:
      throw new TypeError("No knowledge about abstract role '".concat(role, "'. This is likely a bug :("));
  }
}
__name(hasAbstractRole, "hasAbstractRole");
function querySelectorAllSubtree(element, selectors) {
  var elements = arrayFrom(element.querySelectorAll(selectors));
  queryIdRefs(element, "aria-owns").forEach(function(root2) {
    elements.push.apply(elements, arrayFrom(root2.querySelectorAll(selectors)));
  });
  return elements;
}
__name(querySelectorAllSubtree, "querySelectorAllSubtree");
function querySelectedOptions(listbox) {
  if (isHTMLSelectElement(listbox)) {
    return listbox.selectedOptions || querySelectorAllSubtree(listbox, "[selected]");
  }
  return querySelectorAllSubtree(listbox, '[aria-selected="true"]');
}
__name(querySelectedOptions, "querySelectedOptions");
function isMarkedPresentational(node2) {
  return hasAnyConcreteRoles(node2, presentationRoles);
}
__name(isMarkedPresentational, "isMarkedPresentational");
function isNativeHostLanguageTextAlternativeElement(node2) {
  return isHTMLTableCaptionElement(node2);
}
__name(isNativeHostLanguageTextAlternativeElement, "isNativeHostLanguageTextAlternativeElement");
function allowsNameFromContent(node2) {
  return hasAnyConcreteRoles(node2, ["button", "cell", "checkbox", "columnheader", "gridcell", "heading", "label", "legend", "link", "menuitem", "menuitemcheckbox", "menuitemradio", "option", "radio", "row", "rowheader", "switch", "tab", "tooltip", "treeitem"]);
}
__name(allowsNameFromContent, "allowsNameFromContent");
function isDescendantOfNativeHostLanguageTextAlternativeElement(node2) {
  return false;
}
__name(isDescendantOfNativeHostLanguageTextAlternativeElement, "isDescendantOfNativeHostLanguageTextAlternativeElement");
function getValueOfTextbox(element) {
  if (isHTMLInputElement(element) || isHTMLTextAreaElement(element)) {
    return element.value;
  }
  return element.textContent || "";
}
__name(getValueOfTextbox, "getValueOfTextbox");
function getTextualContent(declaration2) {
  var content = declaration2.getPropertyValue("content");
  if (/^["'].*["']$/.test(content)) {
    return content.slice(1, -1);
  }
  return "";
}
__name(getTextualContent, "getTextualContent");
function isLabelableElement(element) {
  var localName = getLocalName(element);
  return localName === "button" || localName === "input" && element.getAttribute("type") !== "hidden" || localName === "meter" || localName === "output" || localName === "progress" || localName === "select" || localName === "textarea";
}
__name(isLabelableElement, "isLabelableElement");
function findLabelableElement(element) {
  if (isLabelableElement(element)) {
    return element;
  }
  var labelableElement = null;
  element.childNodes.forEach(function(childNode) {
    if (labelableElement === null && isElement2(childNode)) {
      var descendantLabelableElement = findLabelableElement(childNode);
      if (descendantLabelableElement !== null) {
        labelableElement = descendantLabelableElement;
      }
    }
  });
  return labelableElement;
}
__name(findLabelableElement, "findLabelableElement");
function getControlOfLabel(label) {
  if (label.control !== void 0) {
    return label.control;
  }
  var htmlFor = label.getAttribute("for");
  if (htmlFor !== null) {
    return label.ownerDocument.getElementById(htmlFor);
  }
  return findLabelableElement(label);
}
__name(getControlOfLabel, "getControlOfLabel");
function getLabels(element) {
  var labelsProperty = element.labels;
  if (labelsProperty === null) {
    return labelsProperty;
  }
  if (labelsProperty !== void 0) {
    return arrayFrom(labelsProperty);
  }
  if (!isLabelableElement(element)) {
    return null;
  }
  var document13 = element.ownerDocument;
  return arrayFrom(document13.querySelectorAll("label")).filter(function(label) {
    return getControlOfLabel(label) === element;
  });
}
__name(getLabels, "getLabels");
function getSlotContents(slot) {
  var assignedNodes = slot.assignedNodes();
  if (assignedNodes.length === 0) {
    return arrayFrom(slot.childNodes);
  }
  return assignedNodes;
}
__name(getSlotContents, "getSlotContents");
function computeTextAlternative(root2) {
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  var consultedNodes = new SetLike_default();
  var window2 = safeWindow(root2);
  var _options$compute = options.compute, compute = _options$compute === void 0 ? "name" : _options$compute, _options$computedStyl = options.computedStyleSupportsPseudoElements, computedStyleSupportsPseudoElements = _options$computedStyl === void 0 ? options.getComputedStyle !== void 0 : _options$computedStyl, _options$getComputedS = options.getComputedStyle, getComputedStyle3 = _options$getComputedS === void 0 ? window2.getComputedStyle.bind(window2) : _options$getComputedS, _options$hidden = options.hidden, hidden = _options$hidden === void 0 ? false : _options$hidden;
  function computeMiscTextAlternative(node2, context) {
    var accumulatedText = "";
    if (isElement2(node2) && computedStyleSupportsPseudoElements) {
      var pseudoBefore = getComputedStyle3(node2, "::before");
      var beforeContent = getTextualContent(pseudoBefore);
      accumulatedText = "".concat(beforeContent, " ").concat(accumulatedText);
    }
    var childNodes = isHTMLSlotElement(node2) ? getSlotContents(node2) : arrayFrom(node2.childNodes).concat(queryIdRefs(node2, "aria-owns"));
    childNodes.forEach(function(child) {
      var result = computeTextAlternative3(child, {
        isEmbeddedInLabel: context.isEmbeddedInLabel,
        isReferenced: false,
        recursion: true
      });
      var display2 = isElement2(child) ? getComputedStyle3(child).getPropertyValue("display") : "inline";
      var separator = display2 !== "inline" ? " " : "";
      accumulatedText += "".concat(separator).concat(result).concat(separator);
    });
    if (isElement2(node2) && computedStyleSupportsPseudoElements) {
      var pseudoAfter = getComputedStyle3(node2, "::after");
      var afterContent = getTextualContent(pseudoAfter);
      accumulatedText = "".concat(accumulatedText, " ").concat(afterContent);
    }
    return accumulatedText.trim();
  }
  __name(computeMiscTextAlternative, "computeMiscTextAlternative");
  function useAttribute(element, attributeName) {
    var attribute = element.getAttributeNode(attributeName);
    if (attribute !== null && !consultedNodes.has(attribute) && attribute.value.trim() !== "") {
      consultedNodes.add(attribute);
      return attribute.value;
    }
    return null;
  }
  __name(useAttribute, "useAttribute");
  function computeTooltipAttributeValue(node2) {
    if (!isElement2(node2)) {
      return null;
    }
    return useAttribute(node2, "title");
  }
  __name(computeTooltipAttributeValue, "computeTooltipAttributeValue");
  function computeElementTextAlternative(node2) {
    if (!isElement2(node2)) {
      return null;
    }
    if (isHTMLFieldSetElement(node2)) {
      consultedNodes.add(node2);
      var children = arrayFrom(node2.childNodes);
      for (var i2 = 0; i2 < children.length; i2 += 1) {
        var child = children[i2];
        if (isHTMLLegendElement(child)) {
          return computeTextAlternative3(child, {
            isEmbeddedInLabel: false,
            isReferenced: false,
            recursion: false
          });
        }
      }
    } else if (isHTMLTableElement(node2)) {
      consultedNodes.add(node2);
      var _children = arrayFrom(node2.childNodes);
      for (var _i = 0; _i < _children.length; _i += 1) {
        var _child = _children[_i];
        if (isHTMLTableCaptionElement(_child)) {
          return computeTextAlternative3(_child, {
            isEmbeddedInLabel: false,
            isReferenced: false,
            recursion: false
          });
        }
      }
    } else if (isSVGSVGElement(node2)) {
      consultedNodes.add(node2);
      var _children2 = arrayFrom(node2.childNodes);
      for (var _i2 = 0; _i2 < _children2.length; _i2 += 1) {
        var _child2 = _children2[_i2];
        if (isSVGTitleElement(_child2)) {
          return _child2.textContent;
        }
      }
      return null;
    } else if (getLocalName(node2) === "img" || getLocalName(node2) === "area") {
      var nameFromAlt = useAttribute(node2, "alt");
      if (nameFromAlt !== null) {
        return nameFromAlt;
      }
    } else if (isHTMLOptGroupElement(node2)) {
      var nameFromLabel = useAttribute(node2, "label");
      if (nameFromLabel !== null) {
        return nameFromLabel;
      }
    }
    if (isHTMLInputElement(node2) && (node2.type === "button" || node2.type === "submit" || node2.type === "reset")) {
      var nameFromValue = useAttribute(node2, "value");
      if (nameFromValue !== null) {
        return nameFromValue;
      }
      if (node2.type === "submit") {
        return "Submit";
      }
      if (node2.type === "reset") {
        return "Reset";
      }
    }
    var labels = getLabels(node2);
    if (labels !== null && labels.length !== 0) {
      consultedNodes.add(node2);
      return arrayFrom(labels).map(function(element) {
        return computeTextAlternative3(element, {
          isEmbeddedInLabel: true,
          isReferenced: false,
          recursion: true
        });
      }).filter(function(label) {
        return label.length > 0;
      }).join(" ");
    }
    if (isHTMLInputElement(node2) && node2.type === "image") {
      var _nameFromAlt = useAttribute(node2, "alt");
      if (_nameFromAlt !== null) {
        return _nameFromAlt;
      }
      var nameFromTitle = useAttribute(node2, "title");
      if (nameFromTitle !== null) {
        return nameFromTitle;
      }
      return "Submit Query";
    }
    if (hasAnyConcreteRoles(node2, ["button"])) {
      var nameFromSubTree = computeMiscTextAlternative(node2, {
        isEmbeddedInLabel: false,
        isReferenced: false
      });
      if (nameFromSubTree !== "") {
        return nameFromSubTree;
      }
    }
    return null;
  }
  __name(computeElementTextAlternative, "computeElementTextAlternative");
  function computeTextAlternative3(current, context) {
    if (consultedNodes.has(current)) {
      return "";
    }
    if (!hidden && isHidden2(current, getComputedStyle3) && !context.isReferenced) {
      consultedNodes.add(current);
      return "";
    }
    var labelAttributeNode = isElement2(current) ? current.getAttributeNode("aria-labelledby") : null;
    var labelElements = labelAttributeNode !== null && !consultedNodes.has(labelAttributeNode) ? queryIdRefs(current, "aria-labelledby") : [];
    if (compute === "name" && !context.isReferenced && labelElements.length > 0) {
      consultedNodes.add(labelAttributeNode);
      return labelElements.map(function(element) {
        return computeTextAlternative3(element, {
          isEmbeddedInLabel: context.isEmbeddedInLabel,
          isReferenced: true,
          // this isn't recursion as specified, otherwise we would skip
          // `aria-label` in
          // <input id="myself" aria-label="foo" aria-labelledby="myself"
          recursion: false
        });
      }).join(" ");
    }
    var skipToStep2E = context.recursion && isControl(current) && compute === "name";
    if (!skipToStep2E) {
      var ariaLabel = (isElement2(current) && current.getAttribute("aria-label") || "").trim();
      if (ariaLabel !== "" && compute === "name") {
        consultedNodes.add(current);
        return ariaLabel;
      }
      if (!isMarkedPresentational(current)) {
        var elementTextAlternative = computeElementTextAlternative(current);
        if (elementTextAlternative !== null) {
          consultedNodes.add(current);
          return elementTextAlternative;
        }
      }
    }
    if (hasAnyConcreteRoles(current, ["menu"])) {
      consultedNodes.add(current);
      return "";
    }
    if (skipToStep2E || context.isEmbeddedInLabel || context.isReferenced) {
      if (hasAnyConcreteRoles(current, ["combobox", "listbox"])) {
        consultedNodes.add(current);
        var selectedOptions = querySelectedOptions(current);
        if (selectedOptions.length === 0) {
          return isHTMLInputElement(current) ? current.value : "";
        }
        return arrayFrom(selectedOptions).map(function(selectedOption) {
          return computeTextAlternative3(selectedOption, {
            isEmbeddedInLabel: context.isEmbeddedInLabel,
            isReferenced: false,
            recursion: true
          });
        }).join(" ");
      }
      if (hasAbstractRole(current, "range")) {
        consultedNodes.add(current);
        if (current.hasAttribute("aria-valuetext")) {
          return current.getAttribute("aria-valuetext");
        }
        if (current.hasAttribute("aria-valuenow")) {
          return current.getAttribute("aria-valuenow");
        }
        return current.getAttribute("value") || "";
      }
      if (hasAnyConcreteRoles(current, ["textbox"])) {
        consultedNodes.add(current);
        return getValueOfTextbox(current);
      }
    }
    if (allowsNameFromContent(current) || isElement2(current) && context.isReferenced || isNativeHostLanguageTextAlternativeElement(current) || isDescendantOfNativeHostLanguageTextAlternativeElement(current)) {
      var accumulatedText2F = computeMiscTextAlternative(current, {
        isEmbeddedInLabel: context.isEmbeddedInLabel,
        isReferenced: false
      });
      if (accumulatedText2F !== "") {
        consultedNodes.add(current);
        return accumulatedText2F;
      }
    }
    if (current.nodeType === current.TEXT_NODE) {
      consultedNodes.add(current);
      return current.textContent || "";
    }
    if (context.recursion) {
      consultedNodes.add(current);
      return computeMiscTextAlternative(current, {
        isEmbeddedInLabel: context.isEmbeddedInLabel,
        isReferenced: false
      });
    }
    var tooltipAttributeValue = computeTooltipAttributeValue(current);
    if (tooltipAttributeValue !== null) {
      consultedNodes.add(current);
      return tooltipAttributeValue;
    }
    consultedNodes.add(current);
    return "";
  }
  __name(computeTextAlternative3, "computeTextAlternative");
  return asFlatString(computeTextAlternative3(root2, {
    isEmbeddedInLabel: false,
    // by spec computeAccessibleDescription starts with the referenced elements as roots
    isReferenced: compute === "description",
    recursion: false
  }));
}
__name(computeTextAlternative, "computeTextAlternative");

// ../node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api/dist/accessible-description.mjs
function _typeof3(o2) {
  "@babel/helpers - typeof";
  return _typeof3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) {
    return typeof o3;
  } : function(o3) {
    return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3;
  }, _typeof3(o2);
}
__name(_typeof3, "_typeof");
function ownKeys3(e2, r2) {
  var t2 = Object.keys(e2);
  if (Object.getOwnPropertySymbols) {
    var o2 = Object.getOwnPropertySymbols(e2);
    r2 && (o2 = o2.filter(function(r3) {
      return Object.getOwnPropertyDescriptor(e2, r3).enumerable;
    })), t2.push.apply(t2, o2);
  }
  return t2;
}
__name(ownKeys3, "ownKeys");
function _objectSpread3(e2) {
  for (var r2 = 1; r2 < arguments.length; r2++) {
    var t2 = null != arguments[r2] ? arguments[r2] : {};
    r2 % 2 ? ownKeys3(Object(t2), true).forEach(function(r3) {
      _defineProperty3(e2, r3, t2[r3]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys3(Object(t2)).forEach(function(r3) {
      Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3));
    });
  }
  return e2;
}
__name(_objectSpread3, "_objectSpread");
function _defineProperty3(obj, key, value) {
  key = _toPropertyKey2(key);
  if (key in obj) {
    Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_defineProperty3, "_defineProperty");
function _toPropertyKey2(arg) {
  var key = _toPrimitive2(arg, "string");
  return _typeof3(key) === "symbol" ? key : String(key);
}
__name(_toPropertyKey2, "_toPropertyKey");
function _toPrimitive2(input2, hint) {
  if (_typeof3(input2) !== "object" || input2 === null) return input2;
  var prim = input2[Symbol.toPrimitive];
  if (prim !== void 0) {
    var res = prim.call(input2, hint || "default");
    if (_typeof3(res) !== "object") return res;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return (hint === "string" ? String : Number)(input2);
}
__name(_toPrimitive2, "_toPrimitive");
function computeAccessibleDescription(root2) {
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  var description = queryIdRefs(root2, "aria-describedby").map(function(element) {
    return computeTextAlternative(element, _objectSpread3(_objectSpread3({}, options), {}, {
      compute: "description"
    }));
  }).join(" ");
  if (description === "") {
    var ariaDescription = root2.getAttribute("aria-description");
    description = ariaDescription === null ? "" : ariaDescription;
  }
  if (description === "") {
    var title = root2.getAttribute("title");
    description = title === null ? "" : title;
  }
  return description;
}
__name(computeAccessibleDescription, "computeAccessibleDescription");

// ../node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api/dist/accessible-name.mjs
function prohibitsNaming(node2) {
  return hasAnyConcreteRoles(node2, ["caption", "code", "deletion", "emphasis", "generic", "insertion", "none", "paragraph", "presentation", "strong", "subscript", "superscript"]);
}
__name(prohibitsNaming, "prohibitsNaming");
function computeAccessibleName(root2) {
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  if (prohibitsNaming(root2)) {
    return "";
  }
  return computeTextAlternative(root2, options);
}
__name(computeAccessibleName, "computeAccessibleName");

// ../node_modules/@testing-library/jest-dom/dist/matchers-8f81fc78.mjs
var import_aria_query = __toESM(require_lib2(), 1);
var import_picocolors = __toESM(require_picocolors_browser(), 1);
var import_css3 = __toESM(require_css_escape(), 1);
var _GenericTypeError = class _GenericTypeError extends Error {
  constructor(expectedString, received, matcherFn, context) {
    super();
    if (Error.captureStackTrace) {
      Error.captureStackTrace(this, matcherFn);
    }
    let withType = "";
    try {
      withType = context.utils.printWithType(
        "Received",
        received,
        context.utils.printReceived
      );
    } catch (e2) {
    }
    this.message = [
      context.utils.matcherHint(
        `${context.isNot ? ".not" : ""}.${matcherFn.name}`,
        "received",
        ""
      ),
      "",
      // eslint-disable-next-line new-cap
      `${context.utils.RECEIVED_COLOR(
        "received"
      )} value must ${expectedString}.`,
      withType
    ].join("\n");
  }
};
__name(_GenericTypeError, "GenericTypeError");
var GenericTypeError = _GenericTypeError;
var _HtmlElementTypeError = class _HtmlElementTypeError extends GenericTypeError {
  constructor(...args) {
    super("be an HTMLElement or an SVGElement", ...args);
  }
};
__name(_HtmlElementTypeError, "HtmlElementTypeError");
var HtmlElementTypeError = _HtmlElementTypeError;
var _NodeTypeError = class _NodeTypeError extends GenericTypeError {
  constructor(...args) {
    super("be a Node", ...args);
  }
};
__name(_NodeTypeError, "NodeTypeError");
var NodeTypeError = _NodeTypeError;
function checkHasWindow(htmlElement, ErrorClass, ...args) {
  if (!htmlElement || !htmlElement.ownerDocument || !htmlElement.ownerDocument.defaultView) {
    throw new ErrorClass(htmlElement, ...args);
  }
}
__name(checkHasWindow, "checkHasWindow");
function checkNode(node2, ...args) {
  checkHasWindow(node2, NodeTypeError, ...args);
  const window2 = node2.ownerDocument.defaultView;
  if (!(node2 instanceof window2.Node)) {
    throw new NodeTypeError(node2, ...args);
  }
}
__name(checkNode, "checkNode");
function checkHtmlElement(htmlElement, ...args) {
  checkHasWindow(htmlElement, HtmlElementTypeError, ...args);
  const window2 = htmlElement.ownerDocument.defaultView;
  if (!(htmlElement instanceof window2.HTMLElement) && !(htmlElement instanceof window2.SVGElement)) {
    throw new HtmlElementTypeError(htmlElement, ...args);
  }
}
__name(checkHtmlElement, "checkHtmlElement");
var _InvalidCSSError = class _InvalidCSSError extends Error {
  constructor(received, matcherFn, context) {
    super();
    if (Error.captureStackTrace) {
      Error.captureStackTrace(this, matcherFn);
    }
    this.message = [
      received.message,
      "",
      // eslint-disable-next-line new-cap
      context.utils.RECEIVED_COLOR(`Failing css:`),
      // eslint-disable-next-line new-cap
      context.utils.RECEIVED_COLOR(`${received.css}`)
    ].join("\n");
  }
};
__name(_InvalidCSSError, "InvalidCSSError");
var InvalidCSSError = _InvalidCSSError;
function parseCSS(css3, ...args) {
  const ast = m2(`selector { ${css3} }`, { silent: true }).stylesheet;
  if (ast.parsingErrors && ast.parsingErrors.length > 0) {
    const { reason, line: line2 } = ast.parsingErrors[0];
    throw new InvalidCSSError(
      {
        css: css3,
        message: `Syntax error parsing expected css: ${reason} on line: ${line2}`
      },
      ...args
    );
  }
  const parsedRules = ast.rules[0].declarations.filter((d) => d.type === "declaration").reduce(
    (obj, { property, value }) => Object.assign(obj, { [property]: value }),
    {}
  );
  return parsedRules;
}
__name(parseCSS, "parseCSS");
function display(context, value) {
  return typeof value === "string" ? value : context.utils.stringify(value);
}
__name(display, "display");
function getMessage3(context, matcher, expectedLabel, expectedValue, receivedLabel, receivedValue) {
  return [
    `${matcher}
`,
    // eslint-disable-next-line new-cap
    `${expectedLabel}:
${context.utils.EXPECTED_COLOR(
      (0, import_redent.default)(display(context, expectedValue), 2)
    )}`,
    // eslint-disable-next-line new-cap
    `${receivedLabel}:
${context.utils.RECEIVED_COLOR(
      (0, import_redent.default)(display(context, receivedValue), 2)
    )}`
  ].join("\n");
}
__name(getMessage3, "getMessage");
function matches2(textToMatch, matcher) {
  if (matcher instanceof RegExp) {
    return matcher.test(textToMatch);
  } else {
    return textToMatch.includes(String(matcher));
  }
}
__name(matches2, "matches");
function deprecate2(name, replacementText) {
  console.warn(
    `Warning: ${name} has been deprecated and will be removed in future updates.`,
    replacementText
  );
}
__name(deprecate2, "deprecate");
function normalize(text) {
  return text.replace(/\s+/g, " ").trim();
}
__name(normalize, "normalize");
function getTag2(element) {
  return element.tagName && element.tagName.toLowerCase();
}
__name(getTag2, "getTag");
function getSelectValue({ multiple, options }) {
  const selectedOptions = [...options].filter((option) => option.selected);
  if (multiple) {
    return [...selectedOptions].map((opt) => opt.value);
  }
  if (selectedOptions.length === 0) {
    return void 0;
  }
  return selectedOptions[0].value;
}
__name(getSelectValue, "getSelectValue");
function getInputValue(inputElement) {
  switch (inputElement.type) {
    case "number":
      return inputElement.value === "" ? null : Number(inputElement.value);
    case "checkbox":
      return inputElement.checked;
    default:
      return inputElement.value;
  }
}
__name(getInputValue, "getInputValue");
var rolesSupportingValues = ["meter", "progressbar", "slider", "spinbutton"];
function getAccessibleValue(element) {
  if (!rolesSupportingValues.includes(element.getAttribute("role"))) {
    return void 0;
  }
  return Number(element.getAttribute("aria-valuenow"));
}
__name(getAccessibleValue, "getAccessibleValue");
function getSingleElementValue(element) {
  if (!element) {
    return void 0;
  }
  switch (element.tagName.toLowerCase()) {
    case "input":
      return getInputValue(element);
    case "select":
      return getSelectValue(element);
    default: {
      return element.value ?? getAccessibleValue(element);
    }
  }
}
__name(getSingleElementValue, "getSingleElementValue");
function toSentence(array, { wordConnector = ", ", lastWordConnector = " and " } = {}) {
  return [array.slice(0, -1).join(wordConnector), array[array.length - 1]].join(
    array.length > 1 ? lastWordConnector : ""
  );
}
__name(toSentence, "toSentence");
function compareAsSet(val1, val2) {
  if (Array.isArray(val1) && Array.isArray(val2)) {
    return [...new Set(val1)].every((v) => new Set(val2).has(v));
  }
  return val1 === val2;
}
__name(compareAsSet, "compareAsSet");
function toBeInTheDOM(element, container) {
  deprecate2(
    "toBeInTheDOM",
    "Please use toBeInTheDocument for searching the entire document and toContainElement for searching a specific container."
  );
  if (element) {
    checkHtmlElement(element, toBeInTheDOM, this);
  }
  if (container) {
    checkHtmlElement(container, toBeInTheDOM, this);
  }
  return {
    pass: container ? container.contains(element) : !!element,
    message: /* @__PURE__ */ __name(() => {
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toBeInTheDOM`,
          "element",
          ""
        ),
        "",
        "Received:",
        `  ${this.utils.printReceived(
          element ? element.cloneNode(false) : element
        )}`
      ].join("\n");
    }, "message")
  };
}
__name(toBeInTheDOM, "toBeInTheDOM");
function toBeInTheDocument(element) {
  if (element !== null || !this.isNot) {
    checkHtmlElement(element, toBeInTheDocument, this);
  }
  const pass = element === null ? false : element.ownerDocument === element.getRootNode({ composed: true });
  const errorFound = /* @__PURE__ */ __name(() => {
    return `expected document not to contain element, found ${this.utils.stringify(
      element.cloneNode(true)
    )} instead`;
  }, "errorFound");
  const errorNotFound = /* @__PURE__ */ __name(() => {
    return `element could not be found in the document`;
  }, "errorNotFound");
  return {
    pass,
    message: /* @__PURE__ */ __name(() => {
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toBeInTheDocument`,
          "element",
          ""
        ),
        "",
        // eslint-disable-next-line new-cap
        this.utils.RECEIVED_COLOR(this.isNot ? errorFound() : errorNotFound())
      ].join("\n");
    }, "message")
  };
}
__name(toBeInTheDocument, "toBeInTheDocument");
function toBeEmpty(element) {
  deprecate2(
    "toBeEmpty",
    "Please use instead toBeEmptyDOMElement for finding empty nodes in the DOM."
  );
  checkHtmlElement(element, toBeEmpty, this);
  return {
    pass: element.innerHTML === "",
    message: /* @__PURE__ */ __name(() => {
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toBeEmpty`,
          "element",
          ""
        ),
        "",
        "Received:",
        `  ${this.utils.printReceived(element.innerHTML)}`
      ].join("\n");
    }, "message")
  };
}
__name(toBeEmpty, "toBeEmpty");
function toBeEmptyDOMElement(element) {
  checkHtmlElement(element, toBeEmptyDOMElement, this);
  return {
    pass: isEmptyElement(element),
    message: /* @__PURE__ */ __name(() => {
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toBeEmptyDOMElement`,
          "element",
          ""
        ),
        "",
        "Received:",
        `  ${this.utils.printReceived(element.innerHTML)}`
      ].join("\n");
    }, "message")
  };
}
__name(toBeEmptyDOMElement, "toBeEmptyDOMElement");
function isEmptyElement(element) {
  const nonCommentChildNodes = [...element.childNodes].filter((node2) => node2.nodeType !== 8);
  return nonCommentChildNodes.length === 0;
}
__name(isEmptyElement, "isEmptyElement");
function toContainElement(container, element) {
  checkHtmlElement(container, toContainElement, this);
  if (element !== null) {
    checkHtmlElement(element, toContainElement, this);
  }
  return {
    pass: container.contains(element),
    message: /* @__PURE__ */ __name(() => {
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toContainElement`,
          "element",
          "element"
        ),
        "",
        // eslint-disable-next-line new-cap
        this.utils.RECEIVED_COLOR(`${this.utils.stringify(
          container.cloneNode(false)
        )} ${this.isNot ? "contains:" : "does not contain:"} ${this.utils.stringify(element ? element.cloneNode(false) : element)}
        `)
      ].join("\n");
    }, "message")
  };
}
__name(toContainElement, "toContainElement");
function getNormalizedHtml(container, htmlText) {
  const div = container.ownerDocument.createElement("div");
  div.innerHTML = htmlText;
  return div.innerHTML;
}
__name(getNormalizedHtml, "getNormalizedHtml");
function toContainHTML(container, htmlText) {
  checkHtmlElement(container, toContainHTML, this);
  if (typeof htmlText !== "string") {
    throw new Error(`.toContainHTML() expects a string value, got ${htmlText}`);
  }
  return {
    pass: container.outerHTML.includes(getNormalizedHtml(container, htmlText)),
    message: /* @__PURE__ */ __name(() => {
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toContainHTML`,
          "element",
          ""
        ),
        "Expected:",
        // eslint-disable-next-line new-cap
        `  ${this.utils.EXPECTED_COLOR(htmlText)}`,
        "Received:",
        `  ${this.utils.printReceived(container.cloneNode(true))}`
      ].join("\n");
    }, "message")
  };
}
__name(toContainHTML, "toContainHTML");
function toHaveTextContent(node2, checkWith, options = { normalizeWhitespace: true }) {
  checkNode(node2, toHaveTextContent, this);
  const textContent = options.normalizeWhitespace ? normalize(node2.textContent) : node2.textContent.replace(/\u00a0/g, " ");
  const checkingWithEmptyString = textContent !== "" && checkWith === "";
  return {
    pass: !checkingWithEmptyString && matches2(textContent, checkWith),
    message: /* @__PURE__ */ __name(() => {
      const to = this.isNot ? "not to" : "to";
      return getMessage3(
        this,
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toHaveTextContent`,
          "element",
          ""
        ),
        checkingWithEmptyString ? `Checking with empty string will always match, use .toBeEmptyDOMElement() instead` : `Expected element ${to} have text content`,
        checkWith,
        "Received",
        textContent
      );
    }, "message")
  };
}
__name(toHaveTextContent, "toHaveTextContent");
function toHaveAccessibleDescription(htmlElement, expectedAccessibleDescription) {
  checkHtmlElement(htmlElement, toHaveAccessibleDescription, this);
  const actualAccessibleDescription = computeAccessibleDescription(htmlElement);
  const missingExpectedValue = arguments.length === 1;
  let pass = false;
  if (missingExpectedValue) {
    pass = actualAccessibleDescription !== "";
  } else {
    pass = expectedAccessibleDescription instanceof RegExp ? expectedAccessibleDescription.test(actualAccessibleDescription) : this.equals(
      actualAccessibleDescription,
      expectedAccessibleDescription
    );
  }
  return {
    pass,
    message: /* @__PURE__ */ __name(() => {
      const to = this.isNot ? "not to" : "to";
      return getMessage3(
        this,
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.${toHaveAccessibleDescription.name}`,
          "element",
          ""
        ),
        `Expected element ${to} have accessible description`,
        expectedAccessibleDescription,
        "Received",
        actualAccessibleDescription
      );
    }, "message")
  };
}
__name(toHaveAccessibleDescription, "toHaveAccessibleDescription");
var ariaInvalidName = "aria-invalid";
var validStates = ["false"];
function toHaveAccessibleErrorMessage(htmlElement, expectedAccessibleErrorMessage) {
  checkHtmlElement(htmlElement, toHaveAccessibleErrorMessage, this);
  const to = this.isNot ? "not to" : "to";
  const method = this.isNot ? ".not.toHaveAccessibleErrorMessage" : ".toHaveAccessibleErrorMessage";
  const errormessageId = htmlElement.getAttribute("aria-errormessage");
  const errormessageIdInvalid = !!errormessageId && /\s+/.test(errormessageId);
  if (errormessageIdInvalid) {
    return {
      pass: false,
      message: /* @__PURE__ */ __name(() => {
        return getMessage3(
          this,
          this.utils.matcherHint(method, "element"),
          "Expected element's `aria-errormessage` attribute to be empty or a single, valid ID",
          "",
          "Received",
          `aria-errormessage="${errormessageId}"`
        );
      }, "message")
    };
  }
  const ariaInvalidVal = htmlElement.getAttribute(ariaInvalidName);
  const fieldValid = !htmlElement.hasAttribute(ariaInvalidName) || validStates.includes(ariaInvalidVal);
  if (fieldValid) {
    return {
      pass: false,
      message: /* @__PURE__ */ __name(() => {
        return getMessage3(
          this,
          this.utils.matcherHint(method, "element"),
          "Expected element to be marked as invalid with attribute",
          `${ariaInvalidName}="${String(true)}"`,
          "Received",
          htmlElement.hasAttribute("aria-invalid") ? `${ariaInvalidName}="${htmlElement.getAttribute(ariaInvalidName)}` : null
        );
      }, "message")
    };
  }
  const error = normalize(
    htmlElement.ownerDocument.getElementById(errormessageId)?.textContent ?? ""
  );
  return {
    pass: expectedAccessibleErrorMessage === void 0 ? Boolean(error) : expectedAccessibleErrorMessage instanceof RegExp ? expectedAccessibleErrorMessage.test(error) : this.equals(error, expectedAccessibleErrorMessage),
    message: /* @__PURE__ */ __name(() => {
      return getMessage3(
        this,
        this.utils.matcherHint(method, "element"),
        `Expected element ${to} have accessible error message`,
        expectedAccessibleErrorMessage ?? "",
        "Received",
        error
      );
    }, "message")
  };
}
__name(toHaveAccessibleErrorMessage, "toHaveAccessibleErrorMessage");
var elementRoleList = buildElementRoleList(import_aria_query.elementRoles);
function toHaveRole(htmlElement, expectedRole) {
  checkHtmlElement(htmlElement, toHaveRole, this);
  const actualRoles = getExplicitOrImplicitRoles(htmlElement);
  const pass = actualRoles.some((el) => el === expectedRole);
  return {
    pass,
    message: /* @__PURE__ */ __name(() => {
      const to = this.isNot ? "not to" : "to";
      return getMessage3(
        this,
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.${toHaveRole.name}`,
          "element",
          ""
        ),
        `Expected element ${to} have role`,
        expectedRole,
        "Received",
        actualRoles.join(", ")
      );
    }, "message")
  };
}
__name(toHaveRole, "toHaveRole");
function getExplicitOrImplicitRoles(htmlElement) {
  const hasExplicitRole = htmlElement.hasAttribute("role");
  if (hasExplicitRole) {
    const roleValue = htmlElement.getAttribute("role");
    return roleValue.split(" ").filter(Boolean);
  }
  const implicitRoles = getImplicitAriaRoles(htmlElement);
  return implicitRoles;
}
__name(getExplicitOrImplicitRoles, "getExplicitOrImplicitRoles");
function getImplicitAriaRoles(currentNode) {
  for (const { match: match3, roles: roles3 } of elementRoleList) {
    if (match3(currentNode)) {
      return [...roles3];
    }
  }
  return [];
}
__name(getImplicitAriaRoles, "getImplicitAriaRoles");
function buildElementRoleList(elementRolesMap) {
  function makeElementSelector({ name, attributes }) {
    return `${name}${attributes.map(({ name: attributeName, value, constraints = [] }) => {
      const shouldNotExist = constraints.indexOf("undefined") !== -1;
      if (shouldNotExist) {
        return `:not([${attributeName}])`;
      } else if (value) {
        return `[${attributeName}="${value}"]`;
      } else {
        return `[${attributeName}]`;
      }
    }).join("")}`;
  }
  __name(makeElementSelector, "makeElementSelector");
  function getSelectorSpecificity({ attributes = [] }) {
    return attributes.length;
  }
  __name(getSelectorSpecificity, "getSelectorSpecificity");
  function bySelectorSpecificity({ specificity: leftSpecificity }, { specificity: rightSpecificity }) {
    return rightSpecificity - leftSpecificity;
  }
  __name(bySelectorSpecificity, "bySelectorSpecificity");
  function match3(element) {
    let { attributes = [] } = element;
    const typeTextIndex = attributes.findIndex(
      (attribute) => attribute.value && attribute.name === "type" && attribute.value === "text"
    );
    if (typeTextIndex >= 0) {
      attributes = [
        ...attributes.slice(0, typeTextIndex),
        ...attributes.slice(typeTextIndex + 1)
      ];
    }
    const selector = makeElementSelector({ ...element, attributes });
    return (node2) => {
      if (typeTextIndex >= 0 && node2.type !== "text") {
        return false;
      }
      return node2.matches(selector);
    };
  }
  __name(match3, "match");
  let result = [];
  for (const [element, roles3] of elementRolesMap.entries()) {
    result = [
      ...result,
      {
        match: match3(element),
        roles: Array.from(roles3),
        specificity: getSelectorSpecificity(element)
      }
    ];
  }
  return result.sort(bySelectorSpecificity);
}
__name(buildElementRoleList, "buildElementRoleList");
function toHaveAccessibleName(htmlElement, expectedAccessibleName) {
  checkHtmlElement(htmlElement, toHaveAccessibleName, this);
  const actualAccessibleName = computeAccessibleName(htmlElement);
  const missingExpectedValue = arguments.length === 1;
  let pass = false;
  if (missingExpectedValue) {
    pass = actualAccessibleName !== "";
  } else {
    pass = expectedAccessibleName instanceof RegExp ? expectedAccessibleName.test(actualAccessibleName) : this.equals(actualAccessibleName, expectedAccessibleName);
  }
  return {
    pass,
    message: /* @__PURE__ */ __name(() => {
      const to = this.isNot ? "not to" : "to";
      return getMessage3(
        this,
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.${toHaveAccessibleName.name}`,
          "element",
          ""
        ),
        `Expected element ${to} have accessible name`,
        expectedAccessibleName,
        "Received",
        actualAccessibleName
      );
    }, "message")
  };
}
__name(toHaveAccessibleName, "toHaveAccessibleName");
function printAttribute(stringify7, name, value) {
  return value === void 0 ? name : `${name}=${stringify7(value)}`;
}
__name(printAttribute, "printAttribute");
function getAttributeComment(stringify7, name, value) {
  return value === void 0 ? `element.hasAttribute(${stringify7(name)})` : `element.getAttribute(${stringify7(name)}) === ${stringify7(value)}`;
}
__name(getAttributeComment, "getAttributeComment");
function toHaveAttribute(htmlElement, name, expectedValue) {
  checkHtmlElement(htmlElement, toHaveAttribute, this);
  const isExpectedValuePresent = expectedValue !== void 0;
  const hasAttribute = htmlElement.hasAttribute(name);
  const receivedValue = htmlElement.getAttribute(name);
  return {
    pass: isExpectedValuePresent ? hasAttribute && this.equals(receivedValue, expectedValue) : hasAttribute,
    message: /* @__PURE__ */ __name(() => {
      const to = this.isNot ? "not to" : "to";
      const receivedAttribute = hasAttribute ? printAttribute(this.utils.stringify, name, receivedValue) : null;
      const matcher = this.utils.matcherHint(
        `${this.isNot ? ".not" : ""}.toHaveAttribute`,
        "element",
        this.utils.printExpected(name),
        {
          secondArgument: isExpectedValuePresent ? this.utils.printExpected(expectedValue) : void 0,
          comment: getAttributeComment(
            this.utils.stringify,
            name,
            expectedValue
          )
        }
      );
      return getMessage3(
        this,
        matcher,
        `Expected the element ${to} have attribute`,
        printAttribute(this.utils.stringify, name, expectedValue),
        "Received",
        receivedAttribute
      );
    }, "message")
  };
}
__name(toHaveAttribute, "toHaveAttribute");
function getExpectedClassNamesAndOptions(params) {
  const lastParam = params.pop();
  let expectedClassNames, options;
  if (typeof lastParam === "object" && !(lastParam instanceof RegExp)) {
    expectedClassNames = params;
    options = lastParam;
  } else {
    expectedClassNames = params.concat(lastParam);
    options = { exact: false };
  }
  return { expectedClassNames, options };
}
__name(getExpectedClassNamesAndOptions, "getExpectedClassNamesAndOptions");
function splitClassNames(str2) {
  if (!str2) return [];
  return str2.split(/\s+/).filter((s3) => s3.length > 0);
}
__name(splitClassNames, "splitClassNames");
function isSubset$1(subset, superset) {
  return subset.every(
    (strOrRegexp) => typeof strOrRegexp === "string" ? superset.includes(strOrRegexp) : superset.some((className) => strOrRegexp.test(className))
  );
}
__name(isSubset$1, "isSubset$1");
function toHaveClass(htmlElement, ...params) {
  checkHtmlElement(htmlElement, toHaveClass, this);
  const { expectedClassNames, options } = getExpectedClassNamesAndOptions(params);
  const received = splitClassNames(htmlElement.getAttribute("class"));
  const expected = expectedClassNames.reduce(
    (acc, className) => acc.concat(
      typeof className === "string" || !className ? splitClassNames(className) : className
    ),
    []
  );
  const hasRegExp = expected.some((className) => className instanceof RegExp);
  if (options.exact && hasRegExp) {
    throw new Error("Exact option does not support RegExp expected class names");
  }
  if (options.exact) {
    return {
      pass: isSubset$1(expected, received) && expected.length === received.length,
      message: /* @__PURE__ */ __name(() => {
        const to = this.isNot ? "not to" : "to";
        return getMessage3(
          this,
          this.utils.matcherHint(
            `${this.isNot ? ".not" : ""}.toHaveClass`,
            "element",
            this.utils.printExpected(expected.join(" "))
          ),
          `Expected the element ${to} have EXACTLY defined classes`,
          expected.join(" "),
          "Received",
          received.join(" ")
        );
      }, "message")
    };
  }
  return expected.length > 0 ? {
    pass: isSubset$1(expected, received),
    message: /* @__PURE__ */ __name(() => {
      const to = this.isNot ? "not to" : "to";
      return getMessage3(
        this,
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toHaveClass`,
          "element",
          this.utils.printExpected(expected.join(" "))
        ),
        `Expected the element ${to} have class`,
        expected.join(" "),
        "Received",
        received.join(" ")
      );
    }, "message")
  } : {
    pass: this.isNot ? received.length > 0 : false,
    message: /* @__PURE__ */ __name(() => this.isNot ? getMessage3(
      this,
      this.utils.matcherHint(".not.toHaveClass", "element", ""),
      "Expected the element to have classes",
      "(none)",
      "Received",
      received.join(" ")
    ) : [
      this.utils.matcherHint(`.toHaveClass`, "element"),
      "At least one expected class must be provided."
    ].join("\n"), "message")
  };
}
__name(toHaveClass, "toHaveClass");
function getStyleDeclaration(document13, css3) {
  const styles4 = {};
  const copy5 = document13.createElement("div");
  Object.keys(css3).forEach((property) => {
    copy5.style[property] = css3[property];
    styles4[property] = copy5.style[property];
  });
  return styles4;
}
__name(getStyleDeclaration, "getStyleDeclaration");
function isSubset(styles4, computedStyle) {
  return !!Object.keys(styles4).length && Object.entries(styles4).every(([prop, value]) => {
    const isCustomProperty3 = prop.startsWith("--");
    const spellingVariants = [prop];
    if (!isCustomProperty3) spellingVariants.push(prop.toLowerCase());
    return spellingVariants.some(
      (name) => computedStyle[name] === value || computedStyle.getPropertyValue(name) === value
    );
  });
}
__name(isSubset, "isSubset");
function printoutStyles(styles4) {
  return Object.keys(styles4).sort().map((prop) => `${prop}: ${styles4[prop]};`).join("\n");
}
__name(printoutStyles, "printoutStyles");
function expectedDiff(diffFn, expected, computedStyles) {
  const received = Array.from(computedStyles).filter((prop) => expected[prop] !== void 0).reduce(
    (obj, prop) => Object.assign(obj, { [prop]: computedStyles.getPropertyValue(prop) }),
    {}
  );
  const diffOutput = diffFn(printoutStyles(expected), printoutStyles(received));
  return diffOutput.replace(`${import_picocolors.default.red("+ Received")}
`, "");
}
__name(expectedDiff, "expectedDiff");
function toHaveStyle(htmlElement, css3) {
  checkHtmlElement(htmlElement, toHaveStyle, this);
  const parsedCSS = typeof css3 === "object" ? css3 : parseCSS(css3, toHaveStyle, this);
  const { getComputedStyle: getComputedStyle3 } = htmlElement.ownerDocument.defaultView;
  const expected = getStyleDeclaration(htmlElement.ownerDocument, parsedCSS);
  const received = getComputedStyle3(htmlElement);
  return {
    pass: isSubset(expected, received),
    message: /* @__PURE__ */ __name(() => {
      const matcher = `${this.isNot ? ".not" : ""}.toHaveStyle`;
      return [
        this.utils.matcherHint(matcher, "element", ""),
        expectedDiff(this.utils.diff, expected, received)
      ].join("\n\n");
    }, "message")
  };
}
__name(toHaveStyle, "toHaveStyle");
function toHaveFocus(element) {
  checkHtmlElement(element, toHaveFocus, this);
  return {
    pass: element.ownerDocument.activeElement === element,
    message: /* @__PURE__ */ __name(() => {
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toHaveFocus`,
          "element",
          ""
        ),
        "",
        ...this.isNot ? [
          "Received element is focused:",
          `  ${this.utils.printReceived(element)}`
        ] : [
          "Expected element with focus:",
          `  ${this.utils.printExpected(element)}`,
          "Received element with focus:",
          `  ${this.utils.printReceived(
            element.ownerDocument.activeElement
          )}`
        ]
      ].join("\n");
    }, "message")
  };
}
__name(toHaveFocus, "toHaveFocus");
function getMultiElementValue(elements) {
  const types = [...new Set(elements.map((element) => element.type))];
  if (types.length !== 1) {
    throw new Error(
      "Multiple form elements with the same name must be of the same type"
    );
  }
  switch (types[0]) {
    case "radio": {
      const theChosenOne = elements.find((radio) => radio.checked);
      return theChosenOne ? theChosenOne.value : void 0;
    }
    case "checkbox":
      return elements.filter((checkbox) => checkbox.checked).map((checkbox) => checkbox.value);
    default:
      return elements.map((element) => element.value);
  }
}
__name(getMultiElementValue, "getMultiElementValue");
function getFormValue(container, name) {
  const elements = [...container.querySelectorAll(`[name="${(0, import_css3.default)(name)}"]`)];
  if (elements.length === 0) {
    return void 0;
  }
  switch (elements.length) {
    case 1:
      return getSingleElementValue(elements[0]);
    default:
      return getMultiElementValue(elements);
  }
}
__name(getFormValue, "getFormValue");
function getPureName(name) {
  return /\[\]$/.test(name) ? name.slice(0, -2) : name;
}
__name(getPureName, "getPureName");
function getAllFormValues(container) {
  const names = Array.from(container.elements).map((element) => element.name);
  return names.reduce(
    (obj, name) => ({
      ...obj,
      [getPureName(name)]: getFormValue(container, name)
    }),
    {}
  );
}
__name(getAllFormValues, "getAllFormValues");
function toHaveFormValues(formElement, expectedValues) {
  checkHtmlElement(formElement, toHaveFormValues, this);
  if (!formElement.elements) {
    throw new Error("toHaveFormValues must be called on a form or a fieldset");
  }
  const formValues = getAllFormValues(formElement);
  return {
    pass: Object.entries(expectedValues).every(
      ([name, expectedValue]) => compareAsSet(formValues[name], expectedValue)
    ),
    message: /* @__PURE__ */ __name(() => {
      const to = this.isNot ? "not to" : "to";
      const matcher = `${this.isNot ? ".not" : ""}.toHaveFormValues`;
      const commonKeyValues = Object.keys(formValues).filter((key) => expectedValues.hasOwnProperty(key)).reduce((obj, key) => ({ ...obj, [key]: formValues[key] }), {});
      return [
        this.utils.matcherHint(matcher, "element", ""),
        `Expected the element ${to} have form values`,
        this.utils.diff(expectedValues, commonKeyValues)
      ].join("\n\n");
    }, "message")
  };
}
__name(toHaveFormValues, "toHaveFormValues");
function isStyleVisible(element) {
  const { getComputedStyle: getComputedStyle3 } = element.ownerDocument.defaultView;
  const { display: display2, visibility, opacity } = getComputedStyle3(element);
  return display2 !== "none" && visibility !== "hidden" && visibility !== "collapse" && opacity !== "0" && opacity !== 0;
}
__name(isStyleVisible, "isStyleVisible");
function isAttributeVisible(element, previousElement) {
  let detailsVisibility;
  if (previousElement) {
    detailsVisibility = element.nodeName === "DETAILS" && previousElement.nodeName !== "SUMMARY" ? element.hasAttribute("open") : true;
  } else {
    detailsVisibility = element.nodeName === "DETAILS" ? element.hasAttribute("open") : true;
  }
  return !element.hasAttribute("hidden") && detailsVisibility;
}
__name(isAttributeVisible, "isAttributeVisible");
function isElementVisible(element, previousElement) {
  return isStyleVisible(element) && isAttributeVisible(element, previousElement) && (!element.parentElement || isElementVisible(element.parentElement, element));
}
__name(isElementVisible, "isElementVisible");
function toBeVisible(element) {
  checkHtmlElement(element, toBeVisible, this);
  const isInDocument = element.ownerDocument === element.getRootNode({ composed: true });
  const isVisible2 = isInDocument && isElementVisible(element);
  return {
    pass: isVisible2,
    message: /* @__PURE__ */ __name(() => {
      const is = isVisible2 ? "is" : "is not";
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toBeVisible`,
          "element",
          ""
        ),
        "",
        `Received element ${is} visible${isInDocument ? "" : " (element is not in the document)"}:`,
        `  ${this.utils.printReceived(element.cloneNode(false))}`
      ].join("\n");
    }, "message")
  };
}
__name(toBeVisible, "toBeVisible");
var FORM_TAGS$2 = [
  "fieldset",
  "input",
  "select",
  "optgroup",
  "option",
  "button",
  "textarea"
];
function isFirstLegendChildOfFieldset(element, parent) {
  return getTag2(element) === "legend" && getTag2(parent) === "fieldset" && element.isSameNode(
    Array.from(parent.children).find((child) => getTag2(child) === "legend")
  );
}
__name(isFirstLegendChildOfFieldset, "isFirstLegendChildOfFieldset");
function isElementDisabledByParent(element, parent) {
  return isElementDisabled(parent) && !isFirstLegendChildOfFieldset(element, parent);
}
__name(isElementDisabledByParent, "isElementDisabledByParent");
function isCustomElement(tag) {
  return tag.includes("-");
}
__name(isCustomElement, "isCustomElement");
function canElementBeDisabled(element) {
  const tag = getTag2(element);
  return FORM_TAGS$2.includes(tag) || isCustomElement(tag);
}
__name(canElementBeDisabled, "canElementBeDisabled");
function isElementDisabled(element) {
  return canElementBeDisabled(element) && element.hasAttribute("disabled");
}
__name(isElementDisabled, "isElementDisabled");
function isAncestorDisabled(element) {
  const parent = element.parentElement;
  return Boolean(parent) && (isElementDisabledByParent(element, parent) || isAncestorDisabled(parent));
}
__name(isAncestorDisabled, "isAncestorDisabled");
function isElementOrAncestorDisabled(element) {
  return canElementBeDisabled(element) && (isElementDisabled(element) || isAncestorDisabled(element));
}
__name(isElementOrAncestorDisabled, "isElementOrAncestorDisabled");
function toBeDisabled(element) {
  checkHtmlElement(element, toBeDisabled, this);
  const isDisabled3 = isElementOrAncestorDisabled(element);
  return {
    pass: isDisabled3,
    message: /* @__PURE__ */ __name(() => {
      const is = isDisabled3 ? "is" : "is not";
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toBeDisabled`,
          "element",
          ""
        ),
        "",
        `Received element ${is} disabled:`,
        `  ${this.utils.printReceived(element.cloneNode(false))}`
      ].join("\n");
    }, "message")
  };
}
__name(toBeDisabled, "toBeDisabled");
function toBeEnabled(element) {
  checkHtmlElement(element, toBeEnabled, this);
  const isEnabled = !isElementOrAncestorDisabled(element);
  return {
    pass: isEnabled,
    message: /* @__PURE__ */ __name(() => {
      const is = isEnabled ? "is" : "is not";
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toBeEnabled`,
          "element",
          ""
        ),
        "",
        `Received element ${is} enabled:`,
        `  ${this.utils.printReceived(element.cloneNode(false))}`
      ].join("\n");
    }, "message")
  };
}
__name(toBeEnabled, "toBeEnabled");
var FORM_TAGS$1 = ["select", "textarea"];
var ARIA_FORM_TAGS = ["input", "select", "textarea"];
var UNSUPPORTED_INPUT_TYPES = [
  "color",
  "hidden",
  "range",
  "submit",
  "image",
  "reset"
];
var SUPPORTED_ARIA_ROLES = [
  "checkbox",
  "combobox",
  "gridcell",
  "listbox",
  "radiogroup",
  "spinbutton",
  "textbox",
  "tree"
];
function isRequiredOnFormTagsExceptInput(element) {
  return FORM_TAGS$1.includes(getTag2(element)) && element.hasAttribute("required");
}
__name(isRequiredOnFormTagsExceptInput, "isRequiredOnFormTagsExceptInput");
function isRequiredOnSupportedInput(element) {
  return getTag2(element) === "input" && element.hasAttribute("required") && (element.hasAttribute("type") && !UNSUPPORTED_INPUT_TYPES.includes(element.getAttribute("type")) || !element.hasAttribute("type"));
}
__name(isRequiredOnSupportedInput, "isRequiredOnSupportedInput");
function isElementRequiredByARIA(element) {
  return element.hasAttribute("aria-required") && element.getAttribute("aria-required") === "true" && (ARIA_FORM_TAGS.includes(getTag2(element)) || element.hasAttribute("role") && SUPPORTED_ARIA_ROLES.includes(element.getAttribute("role")));
}
__name(isElementRequiredByARIA, "isElementRequiredByARIA");
function toBeRequired(element) {
  checkHtmlElement(element, toBeRequired, this);
  const isRequired = isRequiredOnFormTagsExceptInput(element) || isRequiredOnSupportedInput(element) || isElementRequiredByARIA(element);
  return {
    pass: isRequired,
    message: /* @__PURE__ */ __name(() => {
      const is = isRequired ? "is" : "is not";
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toBeRequired`,
          "element",
          ""
        ),
        "",
        `Received element ${is} required:`,
        `  ${this.utils.printReceived(element.cloneNode(false))}`
      ].join("\n");
    }, "message")
  };
}
__name(toBeRequired, "toBeRequired");
var FORM_TAGS = ["form", "input", "select", "textarea"];
function isElementHavingAriaInvalid(element) {
  return element.hasAttribute("aria-invalid") && element.getAttribute("aria-invalid") !== "false";
}
__name(isElementHavingAriaInvalid, "isElementHavingAriaInvalid");
function isSupportsValidityMethod(element) {
  return FORM_TAGS.includes(getTag2(element));
}
__name(isSupportsValidityMethod, "isSupportsValidityMethod");
function isElementInvalid(element) {
  const isHaveAriaInvalid = isElementHavingAriaInvalid(element);
  if (isSupportsValidityMethod(element)) {
    return isHaveAriaInvalid || !element.checkValidity();
  } else {
    return isHaveAriaInvalid;
  }
}
__name(isElementInvalid, "isElementInvalid");
function toBeInvalid(element) {
  checkHtmlElement(element, toBeInvalid, this);
  const isInvalid = isElementInvalid(element);
  return {
    pass: isInvalid,
    message: /* @__PURE__ */ __name(() => {
      const is = isInvalid ? "is" : "is not";
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toBeInvalid`,
          "element",
          ""
        ),
        "",
        `Received element ${is} currently invalid:`,
        `  ${this.utils.printReceived(element.cloneNode(false))}`
      ].join("\n");
    }, "message")
  };
}
__name(toBeInvalid, "toBeInvalid");
function toBeValid(element) {
  checkHtmlElement(element, toBeValid, this);
  const isValid = !isElementInvalid(element);
  return {
    pass: isValid,
    message: /* @__PURE__ */ __name(() => {
      const is = isValid ? "is" : "is not";
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toBeValid`,
          "element",
          ""
        ),
        "",
        `Received element ${is} currently valid:`,
        `  ${this.utils.printReceived(element.cloneNode(false))}`
      ].join("\n");
    }, "message")
  };
}
__name(toBeValid, "toBeValid");
function toHaveValue(htmlElement, expectedValue) {
  checkHtmlElement(htmlElement, toHaveValue, this);
  if (htmlElement.tagName.toLowerCase() === "input" && ["checkbox", "radio"].includes(htmlElement.type)) {
    throw new Error(
      "input with type=checkbox or type=radio cannot be used with .toHaveValue(). Use .toBeChecked() for type=checkbox or .toHaveFormValues() instead"
    );
  }
  const receivedValue = getSingleElementValue(htmlElement);
  const expectsValue = expectedValue !== void 0;
  let expectedTypedValue = expectedValue;
  let receivedTypedValue = receivedValue;
  if (expectedValue == receivedValue && expectedValue !== receivedValue) {
    expectedTypedValue = `${expectedValue} (${typeof expectedValue})`;
    receivedTypedValue = `${receivedValue} (${typeof receivedValue})`;
  }
  return {
    pass: expectsValue ? compareAsSet(receivedValue, expectedValue) : Boolean(receivedValue),
    message: /* @__PURE__ */ __name(() => {
      const to = this.isNot ? "not to" : "to";
      const matcher = this.utils.matcherHint(
        `${this.isNot ? ".not" : ""}.toHaveValue`,
        "element",
        expectedValue
      );
      return getMessage3(
        this,
        matcher,
        `Expected the element ${to} have value`,
        expectsValue ? expectedTypedValue : "(any)",
        "Received",
        receivedTypedValue
      );
    }, "message")
  };
}
__name(toHaveValue, "toHaveValue");
function toHaveDisplayValue(htmlElement, expectedValue) {
  checkHtmlElement(htmlElement, toHaveDisplayValue, this);
  const tagName = htmlElement.tagName.toLowerCase();
  if (!["select", "input", "textarea"].includes(tagName)) {
    throw new Error(
      ".toHaveDisplayValue() currently supports only input, textarea or select elements, try with another matcher instead."
    );
  }
  if (tagName === "input" && ["radio", "checkbox"].includes(htmlElement.type)) {
    throw new Error(
      `.toHaveDisplayValue() currently does not support input[type="${htmlElement.type}"], try with another matcher instead.`
    );
  }
  const values = getValues(tagName, htmlElement);
  const expectedValues = getExpectedValues(expectedValue);
  const numberOfMatchesWithValues = expectedValues.filter(
    (expected) => values.some(
      (value) => expected instanceof RegExp ? expected.test(value) : this.equals(value, String(expected))
    )
  ).length;
  const matchedWithAllValues = numberOfMatchesWithValues === values.length;
  const matchedWithAllExpectedValues = numberOfMatchesWithValues === expectedValues.length;
  return {
    pass: matchedWithAllValues && matchedWithAllExpectedValues,
    message: /* @__PURE__ */ __name(() => getMessage3(
      this,
      this.utils.matcherHint(
        `${this.isNot ? ".not" : ""}.toHaveDisplayValue`,
        "element",
        ""
      ),
      `Expected element ${this.isNot ? "not " : ""}to have display value`,
      expectedValue,
      "Received",
      values
    ), "message")
  };
}
__name(toHaveDisplayValue, "toHaveDisplayValue");
function getValues(tagName, htmlElement) {
  return tagName === "select" ? Array.from(htmlElement).filter((option) => option.selected).map((option) => option.textContent) : [htmlElement.value];
}
__name(getValues, "getValues");
function getExpectedValues(expectedValue) {
  return expectedValue instanceof Array ? expectedValue : [expectedValue];
}
__name(getExpectedValues, "getExpectedValues");
function toBeChecked(element) {
  checkHtmlElement(element, toBeChecked, this);
  const isValidInput = /* @__PURE__ */ __name(() => {
    return element.tagName.toLowerCase() === "input" && ["checkbox", "radio"].includes(element.type);
  }, "isValidInput");
  const isValidAriaElement = /* @__PURE__ */ __name(() => {
    return roleSupportsChecked(element.getAttribute("role")) && ["true", "false"].includes(element.getAttribute("aria-checked"));
  }, "isValidAriaElement");
  if (!isValidInput() && !isValidAriaElement()) {
    return {
      pass: false,
      message: /* @__PURE__ */ __name(() => `only inputs with type="checkbox" or type="radio" or elements with ${supportedRolesSentence()} and a valid aria-checked attribute can be used with .toBeChecked(). Use .toHaveValue() instead`, "message")
    };
  }
  const isChecked = /* @__PURE__ */ __name(() => {
    if (isValidInput()) return element.checked;
    return element.getAttribute("aria-checked") === "true";
  }, "isChecked");
  return {
    pass: isChecked(),
    message: /* @__PURE__ */ __name(() => {
      const is = isChecked() ? "is" : "is not";
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toBeChecked`,
          "element",
          ""
        ),
        "",
        `Received element ${is} checked:`,
        `  ${this.utils.printReceived(element.cloneNode(false))}`
      ].join("\n");
    }, "message")
  };
}
__name(toBeChecked, "toBeChecked");
function supportedRolesSentence() {
  return toSentence(
    supportedRoles().map((role) => `role="${role}"`),
    { lastWordConnector: " or " }
  );
}
__name(supportedRolesSentence, "supportedRolesSentence");
function supportedRoles() {
  return import_aria_query.roles.keys().filter(roleSupportsChecked);
}
__name(supportedRoles, "supportedRoles");
function roleSupportsChecked(role) {
  return import_aria_query.roles.get(role)?.props["aria-checked"] !== void 0;
}
__name(roleSupportsChecked, "roleSupportsChecked");
function toBePartiallyChecked(element) {
  checkHtmlElement(element, toBePartiallyChecked, this);
  const isValidInput = /* @__PURE__ */ __name(() => {
    return element.tagName.toLowerCase() === "input" && element.type === "checkbox";
  }, "isValidInput");
  const isValidAriaElement = /* @__PURE__ */ __name(() => {
    return element.getAttribute("role") === "checkbox";
  }, "isValidAriaElement");
  if (!isValidInput() && !isValidAriaElement()) {
    return {
      pass: false,
      message: /* @__PURE__ */ __name(() => 'only inputs with type="checkbox" or elements with role="checkbox" and a valid aria-checked attribute can be used with .toBePartiallyChecked(). Use .toHaveValue() instead', "message")
    };
  }
  const isPartiallyChecked = /* @__PURE__ */ __name(() => {
    const isAriaMixed = element.getAttribute("aria-checked") === "mixed";
    if (isValidInput()) {
      return element.indeterminate || isAriaMixed;
    }
    return isAriaMixed;
  }, "isPartiallyChecked");
  return {
    pass: isPartiallyChecked(),
    message: /* @__PURE__ */ __name(() => {
      const is = isPartiallyChecked() ? "is" : "is not";
      return [
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toBePartiallyChecked`,
          "element",
          ""
        ),
        "",
        `Received element ${is} partially checked:`,
        `  ${this.utils.printReceived(element.cloneNode(false))}`
      ].join("\n");
    }, "message")
  };
}
__name(toBePartiallyChecked, "toBePartiallyChecked");
function toHaveDescription(htmlElement, checkWith) {
  deprecate2(
    "toHaveDescription",
    "Please use toHaveAccessibleDescription."
  );
  checkHtmlElement(htmlElement, toHaveDescription, this);
  const expectsDescription = checkWith !== void 0;
  const descriptionIDRaw = htmlElement.getAttribute("aria-describedby") || "";
  const descriptionIDs = descriptionIDRaw.split(/\s+/).filter(Boolean);
  let description = "";
  if (descriptionIDs.length > 0) {
    const document13 = htmlElement.ownerDocument;
    const descriptionEls = descriptionIDs.map((descriptionID) => document13.getElementById(descriptionID)).filter(Boolean);
    description = normalize(descriptionEls.map((el) => el.textContent).join(" "));
  }
  return {
    pass: expectsDescription ? checkWith instanceof RegExp ? checkWith.test(description) : this.equals(description, checkWith) : Boolean(description),
    message: /* @__PURE__ */ __name(() => {
      const to = this.isNot ? "not to" : "to";
      return getMessage3(
        this,
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toHaveDescription`,
          "element",
          ""
        ),
        `Expected the element ${to} have description`,
        this.utils.printExpected(checkWith),
        "Received",
        this.utils.printReceived(description)
      );
    }, "message")
  };
}
__name(toHaveDescription, "toHaveDescription");
function toHaveErrorMessage(htmlElement, checkWith) {
  deprecate2("toHaveErrorMessage", "Please use toHaveAccessibleErrorMessage.");
  checkHtmlElement(htmlElement, toHaveErrorMessage, this);
  if (!htmlElement.hasAttribute("aria-invalid") || htmlElement.getAttribute("aria-invalid") === "false") {
    const not = this.isNot ? ".not" : "";
    return {
      pass: false,
      message: /* @__PURE__ */ __name(() => {
        return getMessage3(
          this,
          this.utils.matcherHint(`${not}.toHaveErrorMessage`, "element", ""),
          `Expected the element to have invalid state indicated by`,
          'aria-invalid="true"',
          "Received",
          htmlElement.hasAttribute("aria-invalid") ? `aria-invalid="${htmlElement.getAttribute("aria-invalid")}"` : this.utils.printReceived("")
        );
      }, "message")
    };
  }
  const expectsErrorMessage = checkWith !== void 0;
  const errormessageIDRaw = htmlElement.getAttribute("aria-errormessage") || "";
  const errormessageIDs = errormessageIDRaw.split(/\s+/).filter(Boolean);
  let errormessage = "";
  if (errormessageIDs.length > 0) {
    const document13 = htmlElement.ownerDocument;
    const errormessageEls = errormessageIDs.map((errormessageID) => document13.getElementById(errormessageID)).filter(Boolean);
    errormessage = normalize(
      errormessageEls.map((el) => el.textContent).join(" ")
    );
  }
  return {
    pass: expectsErrorMessage ? checkWith instanceof RegExp ? checkWith.test(errormessage) : this.equals(errormessage, checkWith) : Boolean(errormessage),
    message: /* @__PURE__ */ __name(() => {
      const to = this.isNot ? "not to" : "to";
      return getMessage3(
        this,
        this.utils.matcherHint(
          `${this.isNot ? ".not" : ""}.toHaveErrorMessage`,
          "element",
          ""
        ),
        `Expected the element ${to} have error message`,
        this.utils.printExpected(checkWith),
        "Received",
        this.utils.printReceived(errormessage)
      );
    }, "message")
  };
}
__name(toHaveErrorMessage, "toHaveErrorMessage");
function getSelection(element) {
  const selection = element.ownerDocument.getSelection();
  if (["input", "textarea"].includes(element.tagName.toLowerCase())) {
    if (["radio", "checkbox"].includes(element.type)) return "";
    return element.value.toString().substring(element.selectionStart, element.selectionEnd);
  }
  if (selection.anchorNode === null || selection.focusNode === null) {
    return "";
  }
  const originalRange = selection.getRangeAt(0);
  const temporaryRange = element.ownerDocument.createRange();
  if (selection.containsNode(element, false)) {
    temporaryRange.selectNodeContents(element);
    selection.removeAllRanges();
    selection.addRange(temporaryRange);
  } else if (element.contains(selection.anchorNode) && element.contains(selection.focusNode)) ;
  else {
    const selectionStartsWithinElement = element === originalRange.startContainer || element.contains(originalRange.startContainer);
    const selectionEndsWithinElement = element === originalRange.endContainer || element.contains(originalRange.endContainer);
    selection.removeAllRanges();
    if (selectionStartsWithinElement || selectionEndsWithinElement) {
      temporaryRange.selectNodeContents(element);
      if (selectionStartsWithinElement) {
        temporaryRange.setStart(
          originalRange.startContainer,
          originalRange.startOffset
        );
      }
      if (selectionEndsWithinElement) {
        temporaryRange.setEnd(
          originalRange.endContainer,
          originalRange.endOffset
        );
      }
      selection.addRange(temporaryRange);
    }
  }
  const result = selection.toString();
  selection.removeAllRanges();
  selection.addRange(originalRange);
  return result;
}
__name(getSelection, "getSelection");
function toHaveSelection(htmlElement, expectedSelection) {
  checkHtmlElement(htmlElement, toHaveSelection, this);
  const expectsSelection = expectedSelection !== void 0;
  if (expectsSelection && typeof expectedSelection !== "string") {
    throw new Error(`expected selection must be a string or undefined`);
  }
  const receivedSelection = getSelection(htmlElement);
  return {
    pass: expectsSelection ? compareAsSet(receivedSelection, expectedSelection) : Boolean(receivedSelection),
    message: /* @__PURE__ */ __name(() => {
      const to = this.isNot ? "not to" : "to";
      const matcher = this.utils.matcherHint(
        `${this.isNot ? ".not" : ""}.toHaveSelection`,
        "element",
        expectedSelection
      );
      return getMessage3(
        this,
        matcher,
        `Expected the element ${to} have selection`,
        expectsSelection ? expectedSelection : "(any)",
        "Received",
        receivedSelection
      );
    }, "message")
  };
}
__name(toHaveSelection, "toHaveSelection");
function toBePressed(element) {
  checkHtmlElement(element, toBePressed, this);
  const roles3 = (element.getAttribute("role") || "").split(" ").map((role) => role.trim());
  const isButton2 = element.tagName.toLowerCase() === "button" || element.tagName.toLowerCase() === "input" && element.type === "button" || roles3.includes("button");
  const pressedAttribute = element.getAttribute("aria-pressed");
  const isValidAriaElement = pressedAttribute === "true" || pressedAttribute === "false";
  if (!isButton2 || !isValidAriaElement) {
    return {
      pass: false,
      message: /* @__PURE__ */ __name(() => `Only button or input with type="button" or element with role="button" and a valid aria-pressed attribute can be used with .toBePressed()`, "message")
    };
  }
  const isPressed = pressedAttribute === "true";
  return {
    pass: isButton2 && isPressed,
    message: /* @__PURE__ */ __name(() => {
      const matcher = this.utils.matcherHint(
        `${this.isNot ? ".not" : ""}.toBePressed`,
        "element",
        ""
      );
      return getMessage3(
        this,
        matcher,
        `Expected element to have`,
        `aria-pressed="${this.isNot ? "false" : "true"}"`,
        `Received`,
        `aria-pressed="${pressedAttribute}"`
      );
    }, "message")
  };
}
__name(toBePressed, "toBePressed");
function toBePartiallyPressed(element) {
  checkHtmlElement(element, toBePartiallyPressed, this);
  const roles3 = (element.getAttribute("role") || "").split(" ").map((role) => role.trim());
  const isButton2 = element.tagName.toLowerCase() === "button" || element.tagName.toLowerCase() === "input" && element.type === "button" || roles3.includes("button");
  const pressedAttribute = element.getAttribute("aria-pressed");
  const isValidAriaElement = pressedAttribute === "true" || pressedAttribute === "false" || pressedAttribute === "mixed";
  if (!isButton2 || !isValidAriaElement) {
    return {
      pass: false,
      message: /* @__PURE__ */ __name(() => `Only button or input with type="button" or element with role="button" and a valid aria-pressed attribute can be used with .toBePartiallyPressed()`, "message")
    };
  }
  const isPartiallyPressed = pressedAttribute === "mixed";
  return {
    pass: isButton2 && isPartiallyPressed,
    message: /* @__PURE__ */ __name(() => {
      const to = this.isNot ? "not to" : "to";
      const matcher = this.utils.matcherHint(
        `${this.isNot ? ".not" : ""}.toBePartiallyPressed`,
        "element",
        ""
      );
      return getMessage3(
        this,
        matcher,
        `Expected element ${to} have`,
        `aria-pressed="mixed"`,
        `Received`,
        `aria-pressed="${pressedAttribute}"`
      );
    }, "message")
  };
}
__name(toBePartiallyPressed, "toBePartiallyPressed");
var extensions = Object.freeze({
  __proto__: null,
  toBeChecked,
  toBeDisabled,
  toBeEmpty,
  toBeEmptyDOMElement,
  toBeEnabled,
  toBeInTheDOM,
  toBeInTheDocument,
  toBeInvalid,
  toBePartiallyChecked,
  toBePartiallyPressed,
  toBePressed,
  toBeRequired,
  toBeValid,
  toBeVisible,
  toContainElement,
  toContainHTML,
  toHaveAccessibleDescription,
  toHaveAccessibleErrorMessage,
  toHaveAccessibleName,
  toHaveAttribute,
  toHaveClass,
  toHaveDescription,
  toHaveDisplayValue,
  toHaveErrorMessage,
  toHaveFocus,
  toHaveFormValues,
  toHaveRole,
  toHaveSelection,
  toHaveStyle,
  toHaveTextContent,
  toHaveValue
});

// ../node_modules/@testing-library/jest-dom/dist/matchers.mjs
var import_redent2 = __toESM(require_redent(), 1);
var import_aria_query2 = __toESM(require_lib2(), 1);
var import_picocolors2 = __toESM(require_picocolors_browser(), 1);
var import_css4 = __toESM(require_css_escape(), 1);

// ../node_modules/@vitest/utils/dist/index.js
var jsTokens_1;
var hasRequiredJsTokens;
function requireJsTokens() {
  if (hasRequiredJsTokens) return jsTokens_1;
  hasRequiredJsTokens = 1;
  var Identifier, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace;
  RegularExpressionLiteral = /\/(?![*\/])(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\\]).|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/yu;
  Punctuator = /--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y;
  Identifier = /(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/yu;
  StringLiteral = /(['"])(?:(?!\1)[^\\\n\r]|\\(?:\r\n|[^]))*(\1)?/y;
  NumericLiteral = /(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y;
  Template = /[`}](?:[^`\\$]|\\[^]|\$(?!\{))*(`|\$\{)?/y;
  WhiteSpace = /[\t\v\f\ufeff\p{Zs}]+/yu;
  LineTerminatorSequence = /\r?\n|[\r\u2028\u2029]/y;
  MultiLineComment = /\/\*(?:[^*]|\*(?!\/))*(\*\/)?/y;
  SingleLineComment = /\/\/.*/y;
  JSXPunctuator = /[<>.:={}]|\/(?![\/*])/y;
  JSXIdentifier = /[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/yu;
  JSXString = /(['"])(?:(?!\1)[^])*(\1)?/y;
  JSXText = /[^<>{}]+/y;
  TokensPrecedingExpression = /^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/;
  TokensNotPrecedingObjectLiteral = /^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/;
  KeywordsWithExpressionAfter = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/;
  KeywordsWithNoLineTerminatorAfter = /^(?:return|throw|yield)$/;
  Newline = RegExp(LineTerminatorSequence.source);
  jsTokens_1 = /* @__PURE__ */ __name(function* (input2, { jsx: jsx16 = false } = {}) {
    var braces, firstCodePoint, isExpression, lastIndex, lastSignificantToken, length2, match3, mode, nextLastIndex, nextLastSignificantToken, parenNesting, postfixIncDec, punctuator, stack;
    ({ length: length2 } = input2);
    lastIndex = 0;
    lastSignificantToken = "";
    stack = [
      { tag: "JS" }
    ];
    braces = [];
    parenNesting = 0;
    postfixIncDec = false;
    while (lastIndex < length2) {
      mode = stack[stack.length - 1];
      switch (mode.tag) {
        case "JS":
        case "JSNonExpressionParen":
        case "InterpolationInTemplate":
        case "InterpolationInJSX":
          if (input2[lastIndex] === "/" && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) {
            RegularExpressionLiteral.lastIndex = lastIndex;
            if (match3 = RegularExpressionLiteral.exec(input2)) {
              lastIndex = RegularExpressionLiteral.lastIndex;
              lastSignificantToken = match3[0];
              postfixIncDec = true;
              yield {
                type: "RegularExpressionLiteral",
                value: match3[0],
                closed: match3[1] !== void 0 && match3[1] !== "\\"
              };
              continue;
            }
          }
          Punctuator.lastIndex = lastIndex;
          if (match3 = Punctuator.exec(input2)) {
            punctuator = match3[0];
            nextLastIndex = Punctuator.lastIndex;
            nextLastSignificantToken = punctuator;
            switch (punctuator) {
              case "(":
                if (lastSignificantToken === "?NonExpressionParenKeyword") {
                  stack.push({
                    tag: "JSNonExpressionParen",
                    nesting: parenNesting
                  });
                }
                parenNesting++;
                postfixIncDec = false;
                break;
              case ")":
                parenNesting--;
                postfixIncDec = true;
                if (mode.tag === "JSNonExpressionParen" && parenNesting === mode.nesting) {
                  stack.pop();
                  nextLastSignificantToken = "?NonExpressionParenEnd";
                  postfixIncDec = false;
                }
                break;
              case "{":
                Punctuator.lastIndex = 0;
                isExpression = !TokensNotPrecedingObjectLiteral.test(lastSignificantToken) && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken));
                braces.push(isExpression);
                postfixIncDec = false;
                break;
              case "}":
                switch (mode.tag) {
                  case "InterpolationInTemplate":
                    if (braces.length === mode.nesting) {
                      Template.lastIndex = lastIndex;
                      match3 = Template.exec(input2);
                      lastIndex = Template.lastIndex;
                      lastSignificantToken = match3[0];
                      if (match3[1] === "${") {
                        lastSignificantToken = "?InterpolationInTemplate";
                        postfixIncDec = false;
                        yield {
                          type: "TemplateMiddle",
                          value: match3[0]
                        };
                      } else {
                        stack.pop();
                        postfixIncDec = true;
                        yield {
                          type: "TemplateTail",
                          value: match3[0],
                          closed: match3[1] === "`"
                        };
                      }
                      continue;
                    }
                    break;
                  case "InterpolationInJSX":
                    if (braces.length === mode.nesting) {
                      stack.pop();
                      lastIndex += 1;
                      lastSignificantToken = "}";
                      yield {
                        type: "JSXPunctuator",
                        value: "}"
                      };
                      continue;
                    }
                }
                postfixIncDec = braces.pop();
                nextLastSignificantToken = postfixIncDec ? "?ExpressionBraceEnd" : "}";
                break;
              case "]":
                postfixIncDec = true;
                break;
              case "++":
              case "--":
                nextLastSignificantToken = postfixIncDec ? "?PostfixIncDec" : "?UnaryIncDec";
                break;
              case "<":
                if (jsx16 && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) {
                  stack.push({ tag: "JSXTag" });
                  lastIndex += 1;
                  lastSignificantToken = "<";
                  yield {
                    type: "JSXPunctuator",
                    value: punctuator
                  };
                  continue;
                }
                postfixIncDec = false;
                break;
              default:
                postfixIncDec = false;
            }
            lastIndex = nextLastIndex;
            lastSignificantToken = nextLastSignificantToken;
            yield {
              type: "Punctuator",
              value: punctuator
            };
            continue;
          }
          Identifier.lastIndex = lastIndex;
          if (match3 = Identifier.exec(input2)) {
            lastIndex = Identifier.lastIndex;
            nextLastSignificantToken = match3[0];
            switch (match3[0]) {
              case "for":
              case "if":
              case "while":
              case "with":
                if (lastSignificantToken !== "." && lastSignificantToken !== "?.") {
                  nextLastSignificantToken = "?NonExpressionParenKeyword";
                }
            }
            lastSignificantToken = nextLastSignificantToken;
            postfixIncDec = !KeywordsWithExpressionAfter.test(match3[0]);
            yield {
              type: match3[1] === "#" ? "PrivateIdentifier" : "IdentifierName",
              value: match3[0]
            };
            continue;
          }
          StringLiteral.lastIndex = lastIndex;
          if (match3 = StringLiteral.exec(input2)) {
            lastIndex = StringLiteral.lastIndex;
            lastSignificantToken = match3[0];
            postfixIncDec = true;
            yield {
              type: "StringLiteral",
              value: match3[0],
              closed: match3[2] !== void 0
            };
            continue;
          }
          NumericLiteral.lastIndex = lastIndex;
          if (match3 = NumericLiteral.exec(input2)) {
            lastIndex = NumericLiteral.lastIndex;
            lastSignificantToken = match3[0];
            postfixIncDec = true;
            yield {
              type: "NumericLiteral",
              value: match3[0]
            };
            continue;
          }
          Template.lastIndex = lastIndex;
          if (match3 = Template.exec(input2)) {
            lastIndex = Template.lastIndex;
            lastSignificantToken = match3[0];
            if (match3[1] === "${") {
              lastSignificantToken = "?InterpolationInTemplate";
              stack.push({
                tag: "InterpolationInTemplate",
                nesting: braces.length
              });
              postfixIncDec = false;
              yield {
                type: "TemplateHead",
                value: match3[0]
              };
            } else {
              postfixIncDec = true;
              yield {
                type: "NoSubstitutionTemplate",
                value: match3[0],
                closed: match3[1] === "`"
              };
            }
            continue;
          }
          break;
        case "JSXTag":
        case "JSXTagEnd":
          JSXPunctuator.lastIndex = lastIndex;
          if (match3 = JSXPunctuator.exec(input2)) {
            lastIndex = JSXPunctuator.lastIndex;
            nextLastSignificantToken = match3[0];
            switch (match3[0]) {
              case "<":
                stack.push({ tag: "JSXTag" });
                break;
              case ">":
                stack.pop();
                if (lastSignificantToken === "/" || mode.tag === "JSXTagEnd") {
                  nextLastSignificantToken = "?JSX";
                  postfixIncDec = true;
                } else {
                  stack.push({ tag: "JSXChildren" });
                }
                break;
              case "{":
                stack.push({
                  tag: "InterpolationInJSX",
                  nesting: braces.length
                });
                nextLastSignificantToken = "?InterpolationInJSX";
                postfixIncDec = false;
                break;
              case "/":
                if (lastSignificantToken === "<") {
                  stack.pop();
                  if (stack[stack.length - 1].tag === "JSXChildren") {
                    stack.pop();
                  }
                  stack.push({ tag: "JSXTagEnd" });
                }
            }
            lastSignificantToken = nextLastSignificantToken;
            yield {
              type: "JSXPunctuator",
              value: match3[0]
            };
            continue;
          }
          JSXIdentifier.lastIndex = lastIndex;
          if (match3 = JSXIdentifier.exec(input2)) {
            lastIndex = JSXIdentifier.lastIndex;
            lastSignificantToken = match3[0];
            yield {
              type: "JSXIdentifier",
              value: match3[0]
            };
            continue;
          }
          JSXString.lastIndex = lastIndex;
          if (match3 = JSXString.exec(input2)) {
            lastIndex = JSXString.lastIndex;
            lastSignificantToken = match3[0];
            yield {
              type: "JSXString",
              value: match3[0],
              closed: match3[2] !== void 0
            };
            continue;
          }
          break;
        case "JSXChildren":
          JSXText.lastIndex = lastIndex;
          if (match3 = JSXText.exec(input2)) {
            lastIndex = JSXText.lastIndex;
            lastSignificantToken = match3[0];
            yield {
              type: "JSXText",
              value: match3[0]
            };
            continue;
          }
          switch (input2[lastIndex]) {
            case "<":
              stack.push({ tag: "JSXTag" });
              lastIndex++;
              lastSignificantToken = "<";
              yield {
                type: "JSXPunctuator",
                value: "<"
              };
              continue;
            case "{":
              stack.push({
                tag: "InterpolationInJSX",
                nesting: braces.length
              });
              lastIndex++;
              lastSignificantToken = "?InterpolationInJSX";
              postfixIncDec = false;
              yield {
                type: "JSXPunctuator",
                value: "{"
              };
              continue;
          }
      }
      WhiteSpace.lastIndex = lastIndex;
      if (match3 = WhiteSpace.exec(input2)) {
        lastIndex = WhiteSpace.lastIndex;
        yield {
          type: "WhiteSpace",
          value: match3[0]
        };
        continue;
      }
      LineTerminatorSequence.lastIndex = lastIndex;
      if (match3 = LineTerminatorSequence.exec(input2)) {
        lastIndex = LineTerminatorSequence.lastIndex;
        postfixIncDec = false;
        if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {
          lastSignificantToken = "?NoLineTerminatorHere";
        }
        yield {
          type: "LineTerminatorSequence",
          value: match3[0]
        };
        continue;
      }
      MultiLineComment.lastIndex = lastIndex;
      if (match3 = MultiLineComment.exec(input2)) {
        lastIndex = MultiLineComment.lastIndex;
        if (Newline.test(match3[0])) {
          postfixIncDec = false;
          if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {
            lastSignificantToken = "?NoLineTerminatorHere";
          }
        }
        yield {
          type: "MultiLineComment",
          value: match3[0],
          closed: match3[1] !== void 0
        };
        continue;
      }
      SingleLineComment.lastIndex = lastIndex;
      if (match3 = SingleLineComment.exec(input2)) {
        lastIndex = SingleLineComment.lastIndex;
        postfixIncDec = false;
        yield {
          type: "SingleLineComment",
          value: match3[0]
        };
        continue;
      }
      firstCodePoint = String.fromCodePoint(input2.codePointAt(lastIndex));
      lastIndex += firstCodePoint.length;
      lastSignificantToken = firstCodePoint;
      postfixIncDec = false;
      yield {
        type: mode.tag.startsWith("JSX") ? "JSXInvalid" : "Invalid",
        value: firstCodePoint
      };
    }
    return void 0;
  }, "jsTokens_1");
  return jsTokens_1;
}
__name(requireJsTokens, "requireJsTokens");
var jsTokensExports = requireJsTokens();
var jsTokens = getDefaultExportFromCjs2(jsTokensExports);
var reservedWords = {
  keyword: [
    "break",
    "case",
    "catch",
    "continue",
    "debugger",
    "default",
    "do",
    "else",
    "finally",
    "for",
    "function",
    "if",
    "return",
    "switch",
    "throw",
    "try",
    "var",
    "const",
    "while",
    "with",
    "new",
    "this",
    "super",
    "class",
    "extends",
    "export",
    "import",
    "null",
    "true",
    "false",
    "in",
    "instanceof",
    "typeof",
    "void",
    "delete"
  ],
  strict: [
    "implements",
    "interface",
    "let",
    "package",
    "private",
    "protected",
    "public",
    "static",
    "yield"
  ]
};
var keywords = new Set(reservedWords.keyword);
var reservedWordsStrictSet = new Set(reservedWords.strict);
var SAFE_TIMERS_SYMBOL = Symbol("vitest:SAFE_TIMERS");

// ../node_modules/@vitest/spy/node_modules/tinyspy/dist/index.js
function assert2(condition, message) {
  if (!condition)
    throw new Error(message);
}
__name(assert2, "assert");
function isType(type5, value) {
  return typeof value === type5;
}
__name(isType, "isType");
function isPromise2(value) {
  return value instanceof Promise;
}
__name(isPromise2, "isPromise");
function define2(obj, key, descriptor) {
  Object.defineProperty(obj, key, descriptor);
}
__name(define2, "define");
function defineValue(obj, key, value) {
  define2(obj, key, { value, configurable: true, writable: true });
}
__name(defineValue, "defineValue");
var SYMBOL_STATE = Symbol.for("tinyspy:spy");
var spies = /* @__PURE__ */ new Set();
var reset = /* @__PURE__ */ __name((state3) => {
  state3.called = false, state3.callCount = 0, state3.calls = [], state3.results = [], state3.resolves = [], state3.next = [];
}, "reset");
var defineState = /* @__PURE__ */ __name((spy2) => (define2(spy2, SYMBOL_STATE, {
  value: { reset: /* @__PURE__ */ __name(() => reset(spy2[SYMBOL_STATE]), "reset") }
}), spy2[SYMBOL_STATE]), "defineState");
var getInternalState = /* @__PURE__ */ __name((spy2) => spy2[SYMBOL_STATE] || defineState(spy2), "getInternalState");
function createInternalSpy(cb) {
  assert2(
    isType("function", cb) || isType("undefined", cb),
    "cannot spy on a non-function value"
  );
  let fn4 = /* @__PURE__ */ __name(function(...args) {
    let state22 = getInternalState(fn4);
    state22.called = true, state22.callCount++, state22.calls.push(args);
    let next2 = state22.next.shift();
    if (next2) {
      state22.results.push(next2);
      let [type22, result2] = next2;
      if (type22 === "ok")
        return result2;
      throw result2;
    }
    let result, type5 = "ok", resultIndex = state22.results.length;
    if (state22.impl)
      try {
        new.target ? result = Reflect.construct(state22.impl, args, new.target) : result = state22.impl.apply(this, args), type5 = "ok";
      } catch (err) {
        throw result = err, type5 = "error", state22.results.push([type5, err]), err;
      }
    let resultTuple = [type5, result];
    return isPromise2(result) && result.then(
      (r2) => state22.resolves[resultIndex] = ["ok", r2],
      (e2) => state22.resolves[resultIndex] = ["error", e2]
    ), state22.results.push(resultTuple), result;
  }, "fn");
  defineValue(fn4, "_isMockFunction", true), defineValue(fn4, "length", cb ? cb.length : 0), defineValue(fn4, "name", cb && cb.name || "spy");
  let state3 = getInternalState(fn4);
  return state3.reset(), state3.impl = cb, fn4;
}
__name(createInternalSpy, "createInternalSpy");
function isMockFunction(obj) {
  return !!obj && obj._isMockFunction === true;
}
__name(isMockFunction, "isMockFunction");
var getDescriptor = /* @__PURE__ */ __name((obj, method) => {
  let objDescriptor = Object.getOwnPropertyDescriptor(obj, method);
  if (objDescriptor)
    return [obj, objDescriptor];
  let currentProto = Object.getPrototypeOf(obj);
  for (; currentProto !== null; ) {
    let descriptor = Object.getOwnPropertyDescriptor(currentProto, method);
    if (descriptor)
      return [currentProto, descriptor];
    currentProto = Object.getPrototypeOf(currentProto);
  }
}, "getDescriptor");
var setPototype = /* @__PURE__ */ __name((fn4, val) => {
  val != null && typeof val == "function" && val.prototype != null && Object.setPrototypeOf(fn4.prototype, val.prototype);
}, "setPototype");
function internalSpyOn(obj, methodName, mock) {
  assert2(
    !isType("undefined", obj),
    "spyOn could not find an object to spy upon"
  ), assert2(
    isType("object", obj) || isType("function", obj),
    "cannot spyOn on a primitive value"
  );
  let [accessName, accessType] = (() => {
    if (!isType("object", methodName))
      return [methodName, "value"];
    if ("getter" in methodName && "setter" in methodName)
      throw new Error("cannot spy on both getter and setter");
    if ("getter" in methodName)
      return [methodName.getter, "get"];
    if ("setter" in methodName)
      return [methodName.setter, "set"];
    throw new Error("specify getter or setter to spy on");
  })(), [originalDescriptorObject, originalDescriptor] = getDescriptor(obj, accessName) || [];
  assert2(
    originalDescriptor || accessName in obj,
    `${String(accessName)} does not exist`
  );
  let ssr = false;
  accessType === "value" && originalDescriptor && !originalDescriptor.value && originalDescriptor.get && (accessType = "get", ssr = true, mock = originalDescriptor.get());
  let original;
  originalDescriptor ? original = originalDescriptor[accessType] : accessType !== "value" ? original = /* @__PURE__ */ __name(() => obj[accessName], "original") : original = obj[accessName], original && isSpyFunction(original) && (original = original[SYMBOL_STATE].getOriginal());
  let reassign = /* @__PURE__ */ __name((cb) => {
    let { value, ...desc } = originalDescriptor || {
      configurable: true,
      writable: true
    };
    accessType !== "value" && delete desc.writable, desc[accessType] = cb, define2(obj, accessName, desc);
  }, "reassign"), restore = /* @__PURE__ */ __name(() => {
    originalDescriptorObject !== obj ? Reflect.deleteProperty(obj, accessName) : originalDescriptor && !original ? define2(obj, accessName, originalDescriptor) : reassign(original);
  }, "restore");
  mock || (mock = original);
  let spy2 = wrap(createInternalSpy(mock), mock);
  accessType === "value" && setPototype(spy2, original);
  let state3 = spy2[SYMBOL_STATE];
  return defineValue(state3, "restore", restore), defineValue(state3, "getOriginal", () => ssr ? original() : original), defineValue(state3, "willCall", (newCb) => (state3.impl = newCb, spy2)), reassign(
    ssr ? () => (setPototype(spy2, mock), spy2) : spy2
  ), spies.add(spy2), spy2;
}
__name(internalSpyOn, "internalSpyOn");
var ignoreProperties = /* @__PURE__ */ new Set([
  "length",
  "name",
  "prototype"
]);
function getAllProperties(original) {
  let properties = /* @__PURE__ */ new Set(), descriptors2 = {};
  for (; original && original !== Object.prototype && original !== Function.prototype; ) {
    let ownProperties = [
      ...Object.getOwnPropertyNames(original),
      ...Object.getOwnPropertySymbols(original)
    ];
    for (let prop of ownProperties)
      descriptors2[prop] || ignoreProperties.has(prop) || (properties.add(prop), descriptors2[prop] = Object.getOwnPropertyDescriptor(original, prop));
    original = Object.getPrototypeOf(original);
  }
  return {
    properties,
    descriptors: descriptors2
  };
}
__name(getAllProperties, "getAllProperties");
function wrap(mock, original) {
  if (!original || // the original is already a spy, so it has all the properties
  SYMBOL_STATE in original)
    return mock;
  let { properties, descriptors: descriptors2 } = getAllProperties(original);
  for (let key of properties) {
    let descriptor = descriptors2[key];
    getDescriptor(mock, key) || define2(mock, key, descriptor);
  }
  return mock;
}
__name(wrap, "wrap");
function isSpyFunction(obj) {
  return isMockFunction(obj) && "getOriginal" in obj[SYMBOL_STATE];
}
__name(isSpyFunction, "isSpyFunction");

// ../node_modules/@vitest/spy/dist/index.js
var mocks = /* @__PURE__ */ new Set();
function isMockFunction2(fn4) {
  return typeof fn4 === "function" && "_isMockFunction" in fn4 && fn4._isMockFunction;
}
__name(isMockFunction2, "isMockFunction");
function spyOn(obj, method, accessType) {
  const dictionary = {
    get: "getter",
    set: "setter"
  };
  const objMethod = accessType ? { [dictionary[accessType]]: method } : method;
  let state3;
  const descriptor = getDescriptor2(obj, method);
  const fn4 = descriptor && descriptor[accessType || "value"];
  if (isMockFunction2(fn4)) {
    state3 = fn4.mock._state();
  }
  try {
    const stub = internalSpyOn(obj, objMethod);
    const spy = enhanceSpy(stub);
    if (state3) {
      spy.mock._state(state3);
    }
    return spy;
  } catch (error) {
    if (error instanceof TypeError && Symbol.toStringTag && obj[Symbol.toStringTag] === "Module" && (error.message.includes("Cannot redefine property") || error.message.includes("Cannot replace module namespace") || error.message.includes("can't redefine non-configurable property"))) {
      throw new TypeError(`Cannot spy on export "${String(objMethod)}". Module namespace is not configurable in ESM. See: https://vitest.dev/guide/browser/#limitations`, { cause: error });
    }
    throw error;
  }
}
__name(spyOn, "spyOn");
var callOrder = 0;
function enhanceSpy(spy) {
  const stub = spy;
  let implementation;
  let onceImplementations = [];
  let implementationChangedTemporarily = false;
  let instances2 = [];
  let contexts = [];
  let invocations = [];
  const state3 = getInternalState(spy);
  const mockContext = {
    get calls() {
      return state3.calls;
    },
    get contexts() {
      return contexts;
    },
    get instances() {
      return instances2;
    },
    get invocationCallOrder() {
      return invocations;
    },
    get results() {
      return state3.results.map(([callType, value]) => {
        const type5 = callType === "error" ? "throw" : "return";
        return {
          type: type5,
          value
        };
      });
    },
    get settledResults() {
      return state3.resolves.map(([callType, value]) => {
        const type5 = callType === "error" ? "rejected" : "fulfilled";
        return {
          type: type5,
          value
        };
      });
    },
    get lastCall() {
      return state3.calls[state3.calls.length - 1];
    },
    _state(state4) {
      if (state4) {
        implementation = state4.implementation;
        onceImplementations = state4.onceImplementations;
        implementationChangedTemporarily = state4.implementationChangedTemporarily;
      }
      return {
        implementation,
        onceImplementations,
        implementationChangedTemporarily
      };
    }
  };
  function mockCall(...args) {
    instances2.push(this);
    contexts.push(this);
    invocations.push(++callOrder);
    const impl = implementationChangedTemporarily ? implementation : onceImplementations.shift() || implementation || state3.getOriginal() || (() => {
    });
    return impl.apply(this, args);
  }
  __name(mockCall, "mockCall");
  let name = stub.name;
  stub.getMockName = () => name || "vi.fn()";
  stub.mockName = (n2) => {
    name = n2;
    return stub;
  };
  stub.mockClear = () => {
    state3.reset();
    instances2 = [];
    contexts = [];
    invocations = [];
    return stub;
  };
  stub.mockReset = () => {
    stub.mockClear();
    implementation = void 0;
    onceImplementations = [];
    return stub;
  };
  stub.mockRestore = () => {
    stub.mockReset();
    state3.restore();
    return stub;
  };
  if (Symbol.dispose) {
    stub[Symbol.dispose] = () => stub.mockRestore();
  }
  stub.getMockImplementation = () => implementationChangedTemporarily ? implementation : onceImplementations.at(0) || implementation;
  stub.mockImplementation = (fn4) => {
    implementation = fn4;
    state3.willCall(mockCall);
    return stub;
  };
  stub.mockImplementationOnce = (fn4) => {
    onceImplementations.push(fn4);
    return stub;
  };
  function withImplementation(fn4, cb) {
    const originalImplementation = implementation;
    implementation = fn4;
    state3.willCall(mockCall);
    implementationChangedTemporarily = true;
    const reset2 = /* @__PURE__ */ __name(() => {
      implementation = originalImplementation;
      implementationChangedTemporarily = false;
    }, "reset");
    const result = cb();
    if (typeof result === "object" && result && typeof result.then === "function") {
      return result.then(() => {
        reset2();
        return stub;
      });
    }
    reset2();
    return stub;
  }
  __name(withImplementation, "withImplementation");
  stub.withImplementation = withImplementation;
  stub.mockReturnThis = () => stub.mockImplementation(function() {
    return this;
  });
  stub.mockReturnValue = (val) => stub.mockImplementation(() => val);
  stub.mockReturnValueOnce = (val) => stub.mockImplementationOnce(() => val);
  stub.mockResolvedValue = (val) => stub.mockImplementation(() => Promise.resolve(val));
  stub.mockResolvedValueOnce = (val) => stub.mockImplementationOnce(() => Promise.resolve(val));
  stub.mockRejectedValue = (val) => stub.mockImplementation(() => Promise.reject(val));
  stub.mockRejectedValueOnce = (val) => stub.mockImplementationOnce(() => Promise.reject(val));
  Object.defineProperty(stub, "mock", { get: /* @__PURE__ */ __name(() => mockContext, "get") });
  state3.willCall(mockCall);
  mocks.add(stub);
  return stub;
}
__name(enhanceSpy, "enhanceSpy");
function fn2(implementation) {
  const enhancedSpy = enhanceSpy(internalSpyOn({ spy: implementation || function() {
  } }, "spy"));
  if (implementation) {
    enhancedSpy.mockImplementation(implementation);
  }
  return enhancedSpy;
}
__name(fn2, "fn");
function getDescriptor2(obj, method) {
  const objDescriptor = Object.getOwnPropertyDescriptor(obj, method);
  if (objDescriptor) {
    return objDescriptor;
  }
  let currentProto = Object.getPrototypeOf(obj);
  while (currentProto !== null) {
    const descriptor = Object.getOwnPropertyDescriptor(currentProto, method);
    if (descriptor) {
      return descriptor;
    }
    currentProto = Object.getPrototypeOf(currentProto);
  }
}
__name(getDescriptor2, "getDescriptor");

// ../node_modules/@vitest/expect/dist/index.js
var MATCHERS_OBJECT = Symbol.for("matchers-object");
var JEST_MATCHERS_OBJECT = Symbol.for("$$jest-matchers-object-storybook");
var GLOBAL_EXPECT = Symbol.for("expect-global");
var ASYMMETRIC_MATCHERS_OBJECT = Symbol.for("asymmetric-matchers-object");
var customMatchers = {
  toSatisfy(actual, expected, message) {
    const { printReceived: printReceived3, printExpected: printExpected3, matcherHint: matcherHint2 } = this.utils;
    const pass = expected(actual);
    return {
      pass,
      message: /* @__PURE__ */ __name(() => pass ? `${matcherHint2(".not.toSatisfy", "received", "")}

Expected value to not satisfy:
${message || printExpected3(expected)}
Received:
${printReceived3(actual)}` : `${matcherHint2(".toSatisfy", "received", "")}

Expected value to satisfy:
${message || printExpected3(expected)}

Received:
${printReceived3(actual)}`, "message")
    };
  },
  toBeOneOf(actual, expected) {
    const { equals: equals2, customTesters } = this;
    const { printReceived: printReceived3, printExpected: printExpected3, matcherHint: matcherHint2 } = this.utils;
    if (!Array.isArray(expected)) {
      throw new TypeError(`You must provide an array to ${matcherHint2(".toBeOneOf")}, not '${typeof expected}'.`);
    }
    const pass = expected.length === 0 || expected.some((item) => equals2(item, actual, customTesters));
    return {
      pass,
      message: /* @__PURE__ */ __name(() => pass ? `${matcherHint2(".not.toBeOneOf", "received", "")}

Expected value to not be one of:
${printExpected3(expected)}
Received:
${printReceived3(actual)}` : `${matcherHint2(".toBeOneOf", "received", "")}

Expected value to be one of:
${printExpected3(expected)}

Received:
${printReceived3(actual)}`, "message")
    };
  }
};
var EXPECTED_COLOR = s.green;
var RECEIVED_COLOR = s.red;
var INVERTED_COLOR = s.inverse;
var BOLD_WEIGHT = s.bold;
var DIM_COLOR = s.dim;
function matcherHint(matcherName, received = "received", expected = "expected", options = {}) {
  const { comment: comment2 = "", isDirectExpectCall = false, isNot = false, promise = "", secondArgument = "", expectedColor = EXPECTED_COLOR, receivedColor = RECEIVED_COLOR, secondArgumentColor = EXPECTED_COLOR } = options;
  let hint = "";
  let dimString = "expect";
  if (!isDirectExpectCall && received !== "") {
    hint += DIM_COLOR(`${dimString}(`) + receivedColor(received);
    dimString = ")";
  }
  if (promise !== "") {
    hint += DIM_COLOR(`${dimString}.`) + promise;
    dimString = "";
  }
  if (isNot) {
    hint += `${DIM_COLOR(`${dimString}.`)}not`;
    dimString = "";
  }
  if (matcherName.includes(".")) {
    dimString += matcherName;
  } else {
    hint += DIM_COLOR(`${dimString}.`) + matcherName;
    dimString = "";
  }
  if (expected === "") {
    dimString += "()";
  } else {
    hint += DIM_COLOR(`${dimString}(`) + expectedColor(expected);
    if (secondArgument) {
      hint += DIM_COLOR(", ") + secondArgumentColor(secondArgument);
    }
    dimString = ")";
  }
  if (comment2 !== "") {
    dimString += ` // ${comment2}`;
  }
  if (dimString !== "") {
    hint += DIM_COLOR(dimString);
  }
  return hint;
}
__name(matcherHint, "matcherHint");
var SPACE_SYMBOL2 = "\xB7";
function replaceTrailingSpaces2(text) {
  return text.replace(/\s+$/gm, (spaces) => SPACE_SYMBOL2.repeat(spaces.length));
}
__name(replaceTrailingSpaces2, "replaceTrailingSpaces");
function printReceived2(object) {
  return RECEIVED_COLOR(replaceTrailingSpaces2(stringify5(object)));
}
__name(printReceived2, "printReceived");
function printExpected2(value) {
  return EXPECTED_COLOR(replaceTrailingSpaces2(stringify5(value)));
}
__name(printExpected2, "printExpected");
function getMatcherUtils() {
  return {
    EXPECTED_COLOR,
    RECEIVED_COLOR,
    INVERTED_COLOR,
    BOLD_WEIGHT,
    DIM_COLOR,
    diff,
    matcherHint,
    printReceived: printReceived2,
    printExpected: printExpected2,
    printDiffOrStringify,
    printWithType
  };
}
__name(getMatcherUtils, "getMatcherUtils");
function printWithType(name, value, print) {
  const type5 = getType2(value);
  const hasType = type5 !== "null" && type5 !== "undefined" ? `${name} has type:  ${type5}
` : "";
  const hasValue = `${name} has value: ${print(value)}`;
  return hasType + hasValue;
}
__name(printWithType, "printWithType");
function getCustomEqualityTesters() {
  return globalThis[JEST_MATCHERS_OBJECT].customEqualityTesters;
}
__name(getCustomEqualityTesters, "getCustomEqualityTesters");
function equals(a2, b, customTesters, strictCheck) {
  customTesters = customTesters || [];
  return eq3(a2, b, [], [], customTesters, strictCheck ? hasKey : hasDefinedKey);
}
__name(equals, "equals");
var functionToString = Function.prototype.toString;
function isAsymmetric(obj) {
  return !!obj && typeof obj === "object" && "asymmetricMatch" in obj && isA("Function", obj.asymmetricMatch);
}
__name(isAsymmetric, "isAsymmetric");
function asymmetricMatch(a2, b) {
  const asymmetricA = isAsymmetric(a2);
  const asymmetricB = isAsymmetric(b);
  if (asymmetricA && asymmetricB) {
    return void 0;
  }
  if (asymmetricA) {
    return a2.asymmetricMatch(b);
  }
  if (asymmetricB) {
    return b.asymmetricMatch(a2);
  }
}
__name(asymmetricMatch, "asymmetricMatch");
function eq3(a2, b, aStack, bStack, customTesters, hasKey2) {
  let result = true;
  const asymmetricResult = asymmetricMatch(a2, b);
  if (asymmetricResult !== void 0) {
    return asymmetricResult;
  }
  const testerContext = { equals };
  for (let i2 = 0; i2 < customTesters.length; i2++) {
    const customTesterResult = customTesters[i2].call(testerContext, a2, b, customTesters);
    if (customTesterResult !== void 0) {
      return customTesterResult;
    }
  }
  if (typeof URL === "function" && a2 instanceof URL && b instanceof URL) {
    return a2.href === b.href;
  }
  if (Object.is(a2, b)) {
    return true;
  }
  if (a2 === null || b === null) {
    return a2 === b;
  }
  const className = Object.prototype.toString.call(a2);
  if (className !== Object.prototype.toString.call(b)) {
    return false;
  }
  switch (className) {
    case "[object Boolean]":
    case "[object String]":
    case "[object Number]":
      if (typeof a2 !== typeof b) {
        return false;
      } else if (typeof a2 !== "object" && typeof b !== "object") {
        return Object.is(a2, b);
      } else {
        return Object.is(a2.valueOf(), b.valueOf());
      }
    case "[object Date]": {
      const numA = +a2;
      const numB = +b;
      return numA === numB || Number.isNaN(numA) && Number.isNaN(numB);
    }
    case "[object RegExp]":
      return a2.source === b.source && a2.flags === b.flags;
    case "[object Temporal.Instant]":
    case "[object Temporal.ZonedDateTime]":
    case "[object Temporal.PlainDateTime]":
    case "[object Temporal.PlainDate]":
    case "[object Temporal.PlainTime]":
    case "[object Temporal.PlainYearMonth]":
    case "[object Temporal.PlainMonthDay]":
      return a2.equals(b);
    case "[object Temporal.Duration]":
      return a2.toString() === b.toString();
  }
  if (typeof a2 !== "object" || typeof b !== "object") {
    return false;
  }
  if (isDomNode(a2) && isDomNode(b)) {
    return a2.isEqualNode(b);
  }
  let length2 = aStack.length;
  while (length2--) {
    if (aStack[length2] === a2) {
      return bStack[length2] === b;
    } else if (bStack[length2] === b) {
      return false;
    }
  }
  aStack.push(a2);
  bStack.push(b);
  if (className === "[object Array]" && a2.length !== b.length) {
    return false;
  }
  if (a2 instanceof Error && b instanceof Error) {
    try {
      return isErrorEqual(a2, b, aStack, bStack, customTesters, hasKey2);
    } finally {
      aStack.pop();
      bStack.pop();
    }
  }
  const aKeys = keys(a2, hasKey2);
  let key;
  let size = aKeys.length;
  if (keys(b, hasKey2).length !== size) {
    return false;
  }
  while (size--) {
    key = aKeys[size];
    result = hasKey2(b, key) && eq3(a2[key], b[key], aStack, bStack, customTesters, hasKey2);
    if (!result) {
      return false;
    }
  }
  aStack.pop();
  bStack.pop();
  return result;
}
__name(eq3, "eq");
function isErrorEqual(a2, b, aStack, bStack, customTesters, hasKey2) {
  let result = Object.getPrototypeOf(a2) === Object.getPrototypeOf(b) && a2.name === b.name && a2.message === b.message;
  if (typeof b.cause !== "undefined") {
    result && (result = eq3(a2.cause, b.cause, aStack, bStack, customTesters, hasKey2));
  }
  if (a2 instanceof AggregateError && b instanceof AggregateError) {
    result && (result = eq3(a2.errors, b.errors, aStack, bStack, customTesters, hasKey2));
  }
  result && (result = eq3({ ...a2 }, { ...b }, aStack, bStack, customTesters, hasKey2));
  return result;
}
__name(isErrorEqual, "isErrorEqual");
function keys(obj, hasKey2) {
  const keys3 = [];
  for (const key in obj) {
    if (hasKey2(obj, key)) {
      keys3.push(key);
    }
  }
  return keys3.concat(Object.getOwnPropertySymbols(obj).filter((symbol) => Object.getOwnPropertyDescriptor(obj, symbol).enumerable));
}
__name(keys, "keys");
function hasDefinedKey(obj, key) {
  return hasKey(obj, key) && obj[key] !== void 0;
}
__name(hasDefinedKey, "hasDefinedKey");
function hasKey(obj, key) {
  return Object.prototype.hasOwnProperty.call(obj, key);
}
__name(hasKey, "hasKey");
function isA(typeName, value) {
  return Object.prototype.toString.apply(value) === `[object ${typeName}]`;
}
__name(isA, "isA");
function isDomNode(obj) {
  return obj !== null && typeof obj === "object" && "nodeType" in obj && typeof obj.nodeType === "number" && "nodeName" in obj && typeof obj.nodeName === "string" && "isEqualNode" in obj && typeof obj.isEqualNode === "function";
}
__name(isDomNode, "isDomNode");
var IS_KEYED_SENTINEL2 = "@@__IMMUTABLE_KEYED__@@";
var IS_SET_SENTINEL2 = "@@__IMMUTABLE_SET__@@";
var IS_LIST_SENTINEL2 = "@@__IMMUTABLE_LIST__@@";
var IS_ORDERED_SENTINEL2 = "@@__IMMUTABLE_ORDERED__@@";
var IS_RECORD_SYMBOL2 = "@@__IMMUTABLE_RECORD__@@";
function isImmutableUnorderedKeyed(maybeKeyed) {
  return !!(maybeKeyed && maybeKeyed[IS_KEYED_SENTINEL2] && !maybeKeyed[IS_ORDERED_SENTINEL2]);
}
__name(isImmutableUnorderedKeyed, "isImmutableUnorderedKeyed");
function isImmutableUnorderedSet(maybeSet) {
  return !!(maybeSet && maybeSet[IS_SET_SENTINEL2] && !maybeSet[IS_ORDERED_SENTINEL2]);
}
__name(isImmutableUnorderedSet, "isImmutableUnorderedSet");
function isObjectLiteral(source) {
  return source != null && typeof source === "object" && !Array.isArray(source);
}
__name(isObjectLiteral, "isObjectLiteral");
function isImmutableList(source) {
  return Boolean(source && isObjectLiteral(source) && source[IS_LIST_SENTINEL2]);
}
__name(isImmutableList, "isImmutableList");
function isImmutableOrderedKeyed(source) {
  return Boolean(source && isObjectLiteral(source) && source[IS_KEYED_SENTINEL2] && source[IS_ORDERED_SENTINEL2]);
}
__name(isImmutableOrderedKeyed, "isImmutableOrderedKeyed");
function isImmutableOrderedSet(source) {
  return Boolean(source && isObjectLiteral(source) && source[IS_SET_SENTINEL2] && source[IS_ORDERED_SENTINEL2]);
}
__name(isImmutableOrderedSet, "isImmutableOrderedSet");
function isImmutableRecord(source) {
  return Boolean(source && isObjectLiteral(source) && source[IS_RECORD_SYMBOL2]);
}
__name(isImmutableRecord, "isImmutableRecord");
var IteratorSymbol = Symbol.iterator;
function hasIterator(object) {
  return !!(object != null && object[IteratorSymbol]);
}
__name(hasIterator, "hasIterator");
function iterableEquality(a2, b, customTesters = [], aStack = [], bStack = []) {
  if (typeof a2 !== "object" || typeof b !== "object" || Array.isArray(a2) || Array.isArray(b) || !hasIterator(a2) || !hasIterator(b)) {
    return void 0;
  }
  if (a2.constructor !== b.constructor) {
    return false;
  }
  let length2 = aStack.length;
  while (length2--) {
    if (aStack[length2] === a2) {
      return bStack[length2] === b;
    }
  }
  aStack.push(a2);
  bStack.push(b);
  const filteredCustomTesters = [...customTesters.filter((t2) => t2 !== iterableEquality), iterableEqualityWithStack];
  function iterableEqualityWithStack(a3, b2) {
    return iterableEquality(a3, b2, [...customTesters], [...aStack], [...bStack]);
  }
  __name(iterableEqualityWithStack, "iterableEqualityWithStack");
  if (a2.size !== void 0) {
    if (a2.size !== b.size) {
      return false;
    } else if (isA("Set", a2) || isImmutableUnorderedSet(a2)) {
      let allFound = true;
      for (const aValue of a2) {
        if (!b.has(aValue)) {
          let has2 = false;
          for (const bValue of b) {
            const isEqual4 = equals(aValue, bValue, filteredCustomTesters);
            if (isEqual4 === true) {
              has2 = true;
            }
          }
          if (has2 === false) {
            allFound = false;
            break;
          }
        }
      }
      aStack.pop();
      bStack.pop();
      return allFound;
    } else if (isA("Map", a2) || isImmutableUnorderedKeyed(a2)) {
      let allFound = true;
      for (const aEntry of a2) {
        if (!b.has(aEntry[0]) || !equals(aEntry[1], b.get(aEntry[0]), filteredCustomTesters)) {
          let has2 = false;
          for (const bEntry of b) {
            const matchedKey = equals(aEntry[0], bEntry[0], filteredCustomTesters);
            let matchedValue = false;
            if (matchedKey === true) {
              matchedValue = equals(aEntry[1], bEntry[1], filteredCustomTesters);
            }
            if (matchedValue === true) {
              has2 = true;
            }
          }
          if (has2 === false) {
            allFound = false;
            break;
          }
        }
      }
      aStack.pop();
      bStack.pop();
      return allFound;
    }
  }
  const bIterator = b[IteratorSymbol]();
  for (const aValue of a2) {
    const nextB = bIterator.next();
    if (nextB.done || !equals(aValue, nextB.value, filteredCustomTesters)) {
      return false;
    }
  }
  if (!bIterator.next().done) {
    return false;
  }
  if (!isImmutableList(a2) && !isImmutableOrderedKeyed(a2) && !isImmutableOrderedSet(a2) && !isImmutableRecord(a2)) {
    const aEntries = Object.entries(a2);
    const bEntries = Object.entries(b);
    if (!equals(aEntries, bEntries, filteredCustomTesters)) {
      return false;
    }
  }
  aStack.pop();
  bStack.pop();
  return true;
}
__name(iterableEquality, "iterableEquality");
function hasPropertyInObject(object, key) {
  const shouldTerminate = !object || typeof object !== "object" || object === Object.prototype;
  if (shouldTerminate) {
    return false;
  }
  return Object.prototype.hasOwnProperty.call(object, key) || hasPropertyInObject(Object.getPrototypeOf(object), key);
}
__name(hasPropertyInObject, "hasPropertyInObject");
function isObjectWithKeys(a2) {
  return isObject5(a2) && !(a2 instanceof Error) && !Array.isArray(a2) && !(a2 instanceof Date);
}
__name(isObjectWithKeys, "isObjectWithKeys");
function subsetEquality(object, subset, customTesters = []) {
  const filteredCustomTesters = customTesters.filter((t2) => t2 !== subsetEquality);
  const subsetEqualityWithContext = /* @__PURE__ */ __name((seenReferences = /* @__PURE__ */ new WeakMap()) => (object2, subset2) => {
    if (!isObjectWithKeys(subset2)) {
      return void 0;
    }
    return Object.keys(subset2).every((key) => {
      if (subset2[key] != null && typeof subset2[key] === "object") {
        if (seenReferences.has(subset2[key])) {
          return equals(object2[key], subset2[key], filteredCustomTesters);
        }
        seenReferences.set(subset2[key], true);
      }
      const result = object2 != null && hasPropertyInObject(object2, key) && equals(object2[key], subset2[key], [...filteredCustomTesters, subsetEqualityWithContext(seenReferences)]);
      seenReferences.delete(subset2[key]);
      return result;
    });
  }, "subsetEqualityWithContext");
  return subsetEqualityWithContext()(object, subset);
}
__name(subsetEquality, "subsetEquality");
function typeEquality(a2, b) {
  if (a2 == null || b == null || a2.constructor === b.constructor) {
    return void 0;
  }
  return false;
}
__name(typeEquality, "typeEquality");
function arrayBufferEquality(a2, b) {
  let dataViewA = a2;
  let dataViewB = b;
  if (!(a2 instanceof DataView && b instanceof DataView)) {
    if (!(a2 instanceof ArrayBuffer) || !(b instanceof ArrayBuffer)) {
      return void 0;
    }
    try {
      dataViewA = new DataView(a2);
      dataViewB = new DataView(b);
    } catch {
      return void 0;
    }
  }
  if (dataViewA.byteLength !== dataViewB.byteLength) {
    return false;
  }
  for (let i2 = 0; i2 < dataViewA.byteLength; i2++) {
    if (dataViewA.getUint8(i2) !== dataViewB.getUint8(i2)) {
      return false;
    }
  }
  return true;
}
__name(arrayBufferEquality, "arrayBufferEquality");
function sparseArrayEquality(a2, b, customTesters = []) {
  if (!Array.isArray(a2) || !Array.isArray(b)) {
    return void 0;
  }
  const aKeys = Object.keys(a2);
  const bKeys = Object.keys(b);
  const filteredCustomTesters = customTesters.filter((t2) => t2 !== sparseArrayEquality);
  return equals(a2, b, filteredCustomTesters, true) && equals(aKeys, bKeys);
}
__name(sparseArrayEquality, "sparseArrayEquality");
function generateToBeMessage(deepEqualityName, expected = "#{this}", actual = "#{exp}") {
  const toBeMessage = `expected ${expected} to be ${actual} // Object.is equality`;
  if (["toStrictEqual", "toEqual"].includes(deepEqualityName)) {
    return `${toBeMessage}

If it should pass with deep equality, replace "toBe" with "${deepEqualityName}"

Expected: ${expected}
Received: serializes to the same string
`;
  }
  return toBeMessage;
}
__name(generateToBeMessage, "generateToBeMessage");
function pluralize(word, count3) {
  return `${count3} ${word}${count3 === 1 ? "" : "s"}`;
}
__name(pluralize, "pluralize");
function getObjectKeys(object) {
  return [...Object.keys(object), ...Object.getOwnPropertySymbols(object).filter((s3) => {
    var _Object$getOwnPropert;
    return (_Object$getOwnPropert = Object.getOwnPropertyDescriptor(object, s3)) === null || _Object$getOwnPropert === void 0 ? void 0 : _Object$getOwnPropert.enumerable;
  })];
}
__name(getObjectKeys, "getObjectKeys");
function getObjectSubset(object, subset, customTesters) {
  let stripped = 0;
  const getObjectSubsetWithContext = /* @__PURE__ */ __name((seenReferences = /* @__PURE__ */ new WeakMap()) => (object2, subset2) => {
    if (Array.isArray(object2)) {
      if (Array.isArray(subset2) && subset2.length === object2.length) {
        return subset2.map((sub, i2) => getObjectSubsetWithContext(seenReferences)(object2[i2], sub));
      }
    } else if (object2 instanceof Date) {
      return object2;
    } else if (isObject5(object2) && isObject5(subset2)) {
      if (equals(object2, subset2, [
        ...customTesters,
        iterableEquality,
        subsetEquality
      ])) {
        return subset2;
      }
      const trimmed = {};
      seenReferences.set(object2, trimmed);
      if (typeof object2.constructor === "function" && typeof object2.constructor.name === "string") {
        Object.defineProperty(trimmed, "constructor", {
          enumerable: false,
          value: object2.constructor
        });
      }
      for (const key of getObjectKeys(object2)) {
        if (hasPropertyInObject(subset2, key)) {
          trimmed[key] = seenReferences.has(object2[key]) ? seenReferences.get(object2[key]) : getObjectSubsetWithContext(seenReferences)(object2[key], subset2[key]);
        } else {
          if (!seenReferences.has(object2[key])) {
            stripped += 1;
            if (isObject5(object2[key])) {
              stripped += getObjectKeys(object2[key]).length;
            }
            getObjectSubsetWithContext(seenReferences)(object2[key], subset2[key]);
          }
        }
      }
      if (getObjectKeys(trimmed).length > 0) {
        return trimmed;
      }
    }
    return object2;
  }, "getObjectSubsetWithContext");
  return {
    subset: getObjectSubsetWithContext()(object, subset),
    stripped
  };
}
__name(getObjectSubset, "getObjectSubset");
if (!Object.prototype.hasOwnProperty.call(globalThis, MATCHERS_OBJECT)) {
  const globalState = /* @__PURE__ */ new WeakMap();
  Object.defineProperty(globalThis, MATCHERS_OBJECT, { get: /* @__PURE__ */ __name(() => globalState, "get") });
}
if (!Object.prototype.hasOwnProperty.call(globalThis, JEST_MATCHERS_OBJECT)) {
  const matchers = /* @__PURE__ */ Object.create(null);
  const customEqualityTesters = [];
  Object.defineProperty(globalThis, JEST_MATCHERS_OBJECT, {
    configurable: true,
    get: /* @__PURE__ */ __name(() => ({
      state: globalThis[MATCHERS_OBJECT].get(globalThis[GLOBAL_EXPECT]),
      matchers,
      customEqualityTesters
    }), "get")
  });
}
if (!Object.prototype.hasOwnProperty.call(globalThis, ASYMMETRIC_MATCHERS_OBJECT)) {
  const asymmetricMatchers = /* @__PURE__ */ Object.create(null);
  Object.defineProperty(globalThis, ASYMMETRIC_MATCHERS_OBJECT, { get: /* @__PURE__ */ __name(() => asymmetricMatchers, "get") });
}
function getState2(expect4) {
  return globalThis[MATCHERS_OBJECT].get(expect4);
}
__name(getState2, "getState");
function setState(state3, expect4) {
  const map2 = globalThis[MATCHERS_OBJECT];
  const current = map2.get(expect4) || {};
  const results = Object.defineProperties(current, {
    ...Object.getOwnPropertyDescriptors(current),
    ...Object.getOwnPropertyDescriptors(state3)
  });
  map2.set(expect4, results);
}
__name(setState, "setState");
var _AsymmetricMatcher = class _AsymmetricMatcher {
  // should have "jest" to be compatible with its ecosystem
  $$typeof = Symbol.for("jest.asymmetricMatcher");
  constructor(sample2, inverse = false) {
    this.sample = sample2;
    this.inverse = inverse;
  }
  getMatcherContext(expect4) {
    return {
      ...getState2(expect4 || globalThis[GLOBAL_EXPECT]),
      equals,
      isNot: this.inverse,
      customTesters: getCustomEqualityTesters(),
      utils: {
        ...getMatcherUtils(),
        diff,
        stringify: stringify5,
        iterableEquality,
        subsetEquality
      }
    };
  }
};
__name(_AsymmetricMatcher, "AsymmetricMatcher");
var AsymmetricMatcher3 = _AsymmetricMatcher;
AsymmetricMatcher3.prototype[Symbol.for("chai/inspect")] = function(options) {
  const result = stringify5(this, options.depth, { min: true });
  if (result.length <= options.truncate) {
    return result;
  }
  return `${this.toString()}{\u2026}`;
};
var _StringContaining = class _StringContaining extends AsymmetricMatcher3 {
  constructor(sample2, inverse = false) {
    if (!isA("String", sample2)) {
      throw new Error("Expected is not a string");
    }
    super(sample2, inverse);
  }
  asymmetricMatch(other) {
    const result = isA("String", other) && other.includes(this.sample);
    return this.inverse ? !result : result;
  }
  toString() {
    return `String${this.inverse ? "Not" : ""}Containing`;
  }
  getExpectedType() {
    return "string";
  }
};
__name(_StringContaining, "StringContaining");
var StringContaining = _StringContaining;
var _Anything = class _Anything extends AsymmetricMatcher3 {
  asymmetricMatch(other) {
    return other != null;
  }
  toString() {
    return "Anything";
  }
  toAsymmetricMatcher() {
    return "Anything";
  }
};
__name(_Anything, "Anything");
var Anything = _Anything;
var _ObjectContaining = class _ObjectContaining extends AsymmetricMatcher3 {
  constructor(sample2, inverse = false) {
    super(sample2, inverse);
  }
  getPrototype(obj) {
    if (Object.getPrototypeOf) {
      return Object.getPrototypeOf(obj);
    }
    if (obj.constructor.prototype === obj) {
      return null;
    }
    return obj.constructor.prototype;
  }
  hasProperty(obj, property) {
    if (!obj) {
      return false;
    }
    if (Object.prototype.hasOwnProperty.call(obj, property)) {
      return true;
    }
    return this.hasProperty(this.getPrototype(obj), property);
  }
  asymmetricMatch(other) {
    if (typeof this.sample !== "object") {
      throw new TypeError(`You must provide an object to ${this.toString()}, not '${typeof this.sample}'.`);
    }
    let result = true;
    const matcherContext = this.getMatcherContext();
    for (const property in this.sample) {
      if (!this.hasProperty(other, property) || !equals(this.sample[property], other[property], matcherContext.customTesters)) {
        result = false;
        break;
      }
    }
    return this.inverse ? !result : result;
  }
  toString() {
    return `Object${this.inverse ? "Not" : ""}Containing`;
  }
  getExpectedType() {
    return "object";
  }
};
__name(_ObjectContaining, "ObjectContaining");
var ObjectContaining = _ObjectContaining;
var _ArrayContaining = class _ArrayContaining extends AsymmetricMatcher3 {
  constructor(sample2, inverse = false) {
    super(sample2, inverse);
  }
  asymmetricMatch(other) {
    if (!Array.isArray(this.sample)) {
      throw new TypeError(`You must provide an array to ${this.toString()}, not '${typeof this.sample}'.`);
    }
    const matcherContext = this.getMatcherContext();
    const result = this.sample.length === 0 || Array.isArray(other) && this.sample.every((item) => other.some((another) => equals(item, another, matcherContext.customTesters)));
    return this.inverse ? !result : result;
  }
  toString() {
    return `Array${this.inverse ? "Not" : ""}Containing`;
  }
  getExpectedType() {
    return "array";
  }
};
__name(_ArrayContaining, "ArrayContaining");
var ArrayContaining = _ArrayContaining;
var _Any = class _Any extends AsymmetricMatcher3 {
  constructor(sample2) {
    if (typeof sample2 === "undefined") {
      throw new TypeError("any() expects to be passed a constructor function. Please pass one or use anything() to match any object.");
    }
    super(sample2);
  }
  fnNameFor(func) {
    if (func.name) {
      return func.name;
    }
    const functionToString2 = Function.prototype.toString;
    const matches4 = functionToString2.call(func).match(/^(?:async)?\s*function\s*(?:\*\s*)?([\w$]+)\s*\(/);
    return matches4 ? matches4[1] : "<anonymous>";
  }
  asymmetricMatch(other) {
    if (this.sample === String) {
      return typeof other == "string" || other instanceof String;
    }
    if (this.sample === Number) {
      return typeof other == "number" || other instanceof Number;
    }
    if (this.sample === Function) {
      return typeof other == "function" || typeof other === "function";
    }
    if (this.sample === Boolean) {
      return typeof other == "boolean" || other instanceof Boolean;
    }
    if (this.sample === BigInt) {
      return typeof other == "bigint" || other instanceof BigInt;
    }
    if (this.sample === Symbol) {
      return typeof other == "symbol" || other instanceof Symbol;
    }
    if (this.sample === Object) {
      return typeof other == "object";
    }
    return other instanceof this.sample;
  }
  toString() {
    return "Any";
  }
  getExpectedType() {
    if (this.sample === String) {
      return "string";
    }
    if (this.sample === Number) {
      return "number";
    }
    if (this.sample === Function) {
      return "function";
    }
    if (this.sample === Object) {
      return "object";
    }
    if (this.sample === Boolean) {
      return "boolean";
    }
    return this.fnNameFor(this.sample);
  }
  toAsymmetricMatcher() {
    return `Any<${this.fnNameFor(this.sample)}>`;
  }
};
__name(_Any, "Any");
var Any = _Any;
var _StringMatching = class _StringMatching extends AsymmetricMatcher3 {
  constructor(sample2, inverse = false) {
    if (!isA("String", sample2) && !isA("RegExp", sample2)) {
      throw new Error("Expected is not a String or a RegExp");
    }
    super(new RegExp(sample2), inverse);
  }
  asymmetricMatch(other) {
    const result = isA("String", other) && this.sample.test(other);
    return this.inverse ? !result : result;
  }
  toString() {
    return `String${this.inverse ? "Not" : ""}Matching`;
  }
  getExpectedType() {
    return "string";
  }
};
__name(_StringMatching, "StringMatching");
var StringMatching = _StringMatching;
var _CloseTo = class _CloseTo extends AsymmetricMatcher3 {
  precision;
  constructor(sample2, precision = 2, inverse = false) {
    if (!isA("Number", sample2)) {
      throw new Error("Expected is not a Number");
    }
    if (!isA("Number", precision)) {
      throw new Error("Precision is not a Number");
    }
    super(sample2);
    this.inverse = inverse;
    this.precision = precision;
  }
  asymmetricMatch(other) {
    if (!isA("Number", other)) {
      return false;
    }
    let result = false;
    if (other === Number.POSITIVE_INFINITY && this.sample === Number.POSITIVE_INFINITY) {
      result = true;
    } else if (other === Number.NEGATIVE_INFINITY && this.sample === Number.NEGATIVE_INFINITY) {
      result = true;
    } else {
      result = Math.abs(this.sample - other) < 10 ** -this.precision / 2;
    }
    return this.inverse ? !result : result;
  }
  toString() {
    return `Number${this.inverse ? "Not" : ""}CloseTo`;
  }
  getExpectedType() {
    return "number";
  }
  toAsymmetricMatcher() {
    return [
      this.toString(),
      this.sample,
      `(${pluralize("digit", this.precision)})`
    ].join(" ");
  }
};
__name(_CloseTo, "CloseTo");
var CloseTo = _CloseTo;
var JestAsymmetricMatchers = /* @__PURE__ */ __name((chai, utils) => {
  utils.addMethod(chai.expect, "anything", () => new Anything());
  utils.addMethod(chai.expect, "any", (expected) => new Any(expected));
  utils.addMethod(chai.expect, "stringContaining", (expected) => new StringContaining(expected));
  utils.addMethod(chai.expect, "objectContaining", (expected) => new ObjectContaining(expected));
  utils.addMethod(chai.expect, "arrayContaining", (expected) => new ArrayContaining(expected));
  utils.addMethod(chai.expect, "stringMatching", (expected) => new StringMatching(expected));
  utils.addMethod(chai.expect, "closeTo", (expected, precision) => new CloseTo(expected, precision));
  chai.expect.not = {
    stringContaining: /* @__PURE__ */ __name((expected) => new StringContaining(expected, true), "stringContaining"),
    objectContaining: /* @__PURE__ */ __name((expected) => new ObjectContaining(expected, true), "objectContaining"),
    arrayContaining: /* @__PURE__ */ __name((expected) => new ArrayContaining(expected, true), "arrayContaining"),
    stringMatching: /* @__PURE__ */ __name((expected) => new StringMatching(expected, true), "stringMatching"),
    closeTo: /* @__PURE__ */ __name((expected, precision) => new CloseTo(expected, precision, true), "closeTo")
  };
}, "JestAsymmetricMatchers");
function createAssertionMessage(util, assertion, hasArgs) {
  const not = util.flag(assertion, "negate") ? "not." : "";
  const name = `${util.flag(assertion, "_name")}(${hasArgs ? "expected" : ""})`;
  const promiseName = util.flag(assertion, "promise");
  const promise = promiseName ? `.${promiseName}` : "";
  return `expect(actual)${promise}.${not}${name}`;
}
__name(createAssertionMessage, "createAssertionMessage");
function recordAsyncExpect(_test, promise, assertion, error) {
  const test3 = _test;
  if (test3 && promise instanceof Promise) {
    promise = promise.finally(() => {
      if (!test3.promises) {
        return;
      }
      const index4 = test3.promises.indexOf(promise);
      if (index4 !== -1) {
        test3.promises.splice(index4, 1);
      }
    });
    if (!test3.promises) {
      test3.promises = [];
    }
    test3.promises.push(promise);
    let resolved = false;
    test3.onFinished ?? (test3.onFinished = []);
    test3.onFinished.push(() => {
      if (!resolved) {
        var _vitest_worker__;
        const processor = ((_vitest_worker__ = globalThis.__vitest_worker__) === null || _vitest_worker__ === void 0 ? void 0 : _vitest_worker__.onFilterStackTrace) || ((s3) => s3 || "");
        const stack = processor(error.stack);
        console.warn([
          `Promise returned by \`${assertion}\` was not awaited. `,
          "Vitest currently auto-awaits hanging assertions at the end of the test, but this will cause the test to fail in Vitest 3. ",
          "Please remember to await the assertion.\n",
          stack
        ].join(""));
      }
    });
    return {
      then(onFulfilled, onRejected) {
        resolved = true;
        return promise.then(onFulfilled, onRejected);
      },
      catch(onRejected) {
        return promise.catch(onRejected);
      },
      finally(onFinally) {
        return promise.finally(onFinally);
      },
      [Symbol.toStringTag]: "Promise"
    };
  }
  return promise;
}
__name(recordAsyncExpect, "recordAsyncExpect");
function handleTestError(test3, err) {
  var _test$result;
  test3.result || (test3.result = { state: "fail" });
  test3.result.state = "fail";
  (_test$result = test3.result).errors || (_test$result.errors = []);
  test3.result.errors.push(processError(err));
}
__name(handleTestError, "handleTestError");
function wrapAssertion(utils, name, fn4) {
  return function(...args) {
    if (name !== "withTest") {
      utils.flag(this, "_name", name);
    }
    if (!utils.flag(this, "soft")) {
      return fn4.apply(this, args);
    }
    const test3 = utils.flag(this, "vitest-test");
    if (!test3) {
      throw new Error("expect.soft() can only be used inside a test");
    }
    try {
      const result = fn4.apply(this, args);
      if (result && typeof result === "object" && typeof result.then === "function") {
        return result.then(noop6, (err) => {
          handleTestError(test3, err);
        });
      }
      return result;
    } catch (err) {
      handleTestError(test3, err);
    }
  };
}
__name(wrapAssertion, "wrapAssertion");
var JestChaiExpect = /* @__PURE__ */ __name((chai, utils) => {
  const { AssertionError: AssertionError2 } = chai;
  const customTesters = getCustomEqualityTesters();
  function def(name, fn4) {
    const addMethod2 = /* @__PURE__ */ __name((n2) => {
      const softWrapper = wrapAssertion(utils, n2, fn4);
      utils.addMethod(chai.Assertion.prototype, n2, softWrapper);
      utils.addMethod(globalThis[JEST_MATCHERS_OBJECT].matchers, n2, softWrapper);
    }, "addMethod");
    if (Array.isArray(name)) {
      name.forEach((n2) => addMethod2(n2));
    } else {
      addMethod2(name);
    }
  }
  __name(def, "def");
  [
    "throw",
    "throws",
    "Throw"
  ].forEach((m3) => {
    utils.overwriteMethod(chai.Assertion.prototype, m3, (_super) => {
      return function(...args) {
        const promise = utils.flag(this, "promise");
        const object = utils.flag(this, "object");
        const isNot = utils.flag(this, "negate");
        if (promise === "rejects") {
          utils.flag(this, "object", () => {
            throw object;
          });
        } else if (promise === "resolves" && typeof object !== "function") {
          if (!isNot) {
            const message = utils.flag(this, "message") || "expected promise to throw an error, but it didn't";
            const error = { showDiff: false };
            throw new AssertionError2(message, error, utils.flag(this, "ssfi"));
          } else {
            return;
          }
        }
        _super.apply(this, args);
      };
    });
  });
  def("withTest", function(test3) {
    utils.flag(this, "vitest-test", test3);
    return this;
  });
  def("toEqual", function(expected) {
    const actual = utils.flag(this, "object");
    const equal = equals(actual, expected, [...customTesters, iterableEquality]);
    return this.assert(equal, "expected #{this} to deeply equal #{exp}", "expected #{this} to not deeply equal #{exp}", expected, actual);
  });
  def("toStrictEqual", function(expected) {
    const obj = utils.flag(this, "object");
    const equal = equals(obj, expected, [
      ...customTesters,
      iterableEquality,
      typeEquality,
      sparseArrayEquality,
      arrayBufferEquality
    ], true);
    return this.assert(equal, "expected #{this} to strictly equal #{exp}", "expected #{this} to not strictly equal #{exp}", expected, obj);
  });
  def("toBe", function(expected) {
    const actual = this._obj;
    const pass = Object.is(actual, expected);
    let deepEqualityName = "";
    if (!pass) {
      const toStrictEqualPass = equals(actual, expected, [
        ...customTesters,
        iterableEquality,
        typeEquality,
        sparseArrayEquality,
        arrayBufferEquality
      ], true);
      if (toStrictEqualPass) {
        deepEqualityName = "toStrictEqual";
      } else {
        const toEqualPass = equals(actual, expected, [...customTesters, iterableEquality]);
        if (toEqualPass) {
          deepEqualityName = "toEqual";
        }
      }
    }
    return this.assert(pass, generateToBeMessage(deepEqualityName), "expected #{this} not to be #{exp} // Object.is equality", expected, actual);
  });
  def("toMatchObject", function(expected) {
    const actual = this._obj;
    const pass = equals(actual, expected, [
      ...customTesters,
      iterableEquality,
      subsetEquality
    ]);
    const isNot = utils.flag(this, "negate");
    const { subset: actualSubset, stripped } = getObjectSubset(actual, expected, customTesters);
    if (pass && isNot || !pass && !isNot) {
      const msg = utils.getMessage(this, [
        pass,
        "expected #{this} to match object #{exp}",
        "expected #{this} to not match object #{exp}",
        expected,
        actualSubset,
        false
      ]);
      const message = stripped === 0 ? msg : `${msg}
(${stripped} matching ${stripped === 1 ? "property" : "properties"} omitted from actual)`;
      throw new AssertionError2(message, {
        showDiff: true,
        expected,
        actual: actualSubset
      });
    }
  });
  def("toMatch", function(expected) {
    const actual = this._obj;
    if (typeof actual !== "string") {
      throw new TypeError(`.toMatch() expects to receive a string, but got ${typeof actual}`);
    }
    return this.assert(typeof expected === "string" ? actual.includes(expected) : actual.match(expected), `expected #{this} to match #{exp}`, `expected #{this} not to match #{exp}`, expected, actual);
  });
  def("toContain", function(item) {
    const actual = this._obj;
    if (typeof Node !== "undefined" && actual instanceof Node) {
      if (!(item instanceof Node)) {
        throw new TypeError(`toContain() expected a DOM node as the argument, but got ${typeof item}`);
      }
      return this.assert(actual.contains(item), "expected #{this} to contain element #{exp}", "expected #{this} not to contain element #{exp}", item, actual);
    }
    if (typeof DOMTokenList !== "undefined" && actual instanceof DOMTokenList) {
      assertTypes(item, "class name", ["string"]);
      const isNot = utils.flag(this, "negate");
      const expectedClassList = isNot ? actual.value.replace(item, "").trim() : `${actual.value} ${item}`;
      return this.assert(actual.contains(item), `expected "${actual.value}" to contain "${item}"`, `expected "${actual.value}" not to contain "${item}"`, expectedClassList, actual.value);
    }
    if (typeof actual === "string" && typeof item === "string") {
      return this.assert(actual.includes(item), `expected #{this} to contain #{exp}`, `expected #{this} not to contain #{exp}`, item, actual);
    }
    if (actual != null && typeof actual !== "string") {
      utils.flag(this, "object", Array.from(actual));
    }
    return this.contain(item);
  });
  def("toContainEqual", function(expected) {
    const obj = utils.flag(this, "object");
    const index4 = Array.from(obj).findIndex((item) => {
      return equals(item, expected, customTesters);
    });
    this.assert(index4 !== -1, "expected #{this} to deep equally contain #{exp}", "expected #{this} to not deep equally contain #{exp}", expected);
  });
  def("toBeTruthy", function() {
    const obj = utils.flag(this, "object");
    this.assert(Boolean(obj), "expected #{this} to be truthy", "expected #{this} to not be truthy", true, obj);
  });
  def("toBeFalsy", function() {
    const obj = utils.flag(this, "object");
    this.assert(!obj, "expected #{this} to be falsy", "expected #{this} to not be falsy", false, obj);
  });
  def("toBeGreaterThan", function(expected) {
    const actual = this._obj;
    assertTypes(actual, "actual", ["number", "bigint"]);
    assertTypes(expected, "expected", ["number", "bigint"]);
    return this.assert(actual > expected, `expected ${actual} to be greater than ${expected}`, `expected ${actual} to be not greater than ${expected}`, expected, actual, false);
  });
  def("toBeGreaterThanOrEqual", function(expected) {
    const actual = this._obj;
    assertTypes(actual, "actual", ["number", "bigint"]);
    assertTypes(expected, "expected", ["number", "bigint"]);
    return this.assert(actual >= expected, `expected ${actual} to be greater than or equal to ${expected}`, `expected ${actual} to be not greater than or equal to ${expected}`, expected, actual, false);
  });
  def("toBeLessThan", function(expected) {
    const actual = this._obj;
    assertTypes(actual, "actual", ["number", "bigint"]);
    assertTypes(expected, "expected", ["number", "bigint"]);
    return this.assert(actual < expected, `expected ${actual} to be less than ${expected}`, `expected ${actual} to be not less than ${expected}`, expected, actual, false);
  });
  def("toBeLessThanOrEqual", function(expected) {
    const actual = this._obj;
    assertTypes(actual, "actual", ["number", "bigint"]);
    assertTypes(expected, "expected", ["number", "bigint"]);
    return this.assert(actual <= expected, `expected ${actual} to be less than or equal to ${expected}`, `expected ${actual} to be not less than or equal to ${expected}`, expected, actual, false);
  });
  def("toBeNaN", function() {
    const obj = utils.flag(this, "object");
    this.assert(Number.isNaN(obj), "expected #{this} to be NaN", "expected #{this} not to be NaN", Number.NaN, obj);
  });
  def("toBeUndefined", function() {
    const obj = utils.flag(this, "object");
    this.assert(void 0 === obj, "expected #{this} to be undefined", "expected #{this} not to be undefined", void 0, obj);
  });
  def("toBeNull", function() {
    const obj = utils.flag(this, "object");
    this.assert(obj === null, "expected #{this} to be null", "expected #{this} not to be null", null, obj);
  });
  def("toBeDefined", function() {
    const obj = utils.flag(this, "object");
    this.assert(typeof obj !== "undefined", "expected #{this} to be defined", "expected #{this} to be undefined", obj);
  });
  def("toBeTypeOf", function(expected) {
    const actual = typeof this._obj;
    const equal = expected === actual;
    return this.assert(equal, "expected #{this} to be type of #{exp}", "expected #{this} not to be type of #{exp}", expected, actual);
  });
  def("toBeInstanceOf", function(obj) {
    return this.instanceOf(obj);
  });
  def("toHaveLength", function(length2) {
    return this.have.length(length2);
  });
  def("toHaveProperty", function(...args) {
    if (Array.isArray(args[0])) {
      args[0] = args[0].map((key) => String(key).replace(/([.[\]])/g, "\\$1")).join(".");
    }
    const actual = this._obj;
    const [propertyName, expected] = args;
    const getValue2 = /* @__PURE__ */ __name(() => {
      const hasOwn2 = Object.prototype.hasOwnProperty.call(actual, propertyName);
      if (hasOwn2) {
        return {
          value: actual[propertyName],
          exists: true
        };
      }
      return utils.getPathInfo(actual, propertyName);
    }, "getValue");
    const { value, exists } = getValue2();
    const pass = exists && (args.length === 1 || equals(expected, value, customTesters));
    const valueString = args.length === 1 ? "" : ` with value ${utils.objDisplay(expected)}`;
    return this.assert(pass, `expected #{this} to have property "${propertyName}"${valueString}`, `expected #{this} to not have property "${propertyName}"${valueString}`, expected, exists ? value : void 0);
  });
  def("toBeCloseTo", function(received, precision = 2) {
    const expected = this._obj;
    let pass = false;
    let expectedDiff2 = 0;
    let receivedDiff = 0;
    if (received === Number.POSITIVE_INFINITY && expected === Number.POSITIVE_INFINITY) {
      pass = true;
    } else if (received === Number.NEGATIVE_INFINITY && expected === Number.NEGATIVE_INFINITY) {
      pass = true;
    } else {
      expectedDiff2 = 10 ** -precision / 2;
      receivedDiff = Math.abs(expected - received);
      pass = receivedDiff < expectedDiff2;
    }
    return this.assert(pass, `expected #{this} to be close to #{exp}, received difference is ${receivedDiff}, but expected ${expectedDiff2}`, `expected #{this} to not be close to #{exp}, received difference is ${receivedDiff}, but expected ${expectedDiff2}`, received, expected, false);
  });
  function assertIsMock(assertion) {
    if (!isMockFunction2(assertion._obj)) {
      throw new TypeError(`${utils.inspect(assertion._obj)} is not a spy or a call to a spy!`);
    }
  }
  __name(assertIsMock, "assertIsMock");
  function getSpy(assertion) {
    assertIsMock(assertion);
    return assertion._obj;
  }
  __name(getSpy, "getSpy");
  def(["toHaveBeenCalledTimes", "toBeCalledTimes"], function(number) {
    const spy = getSpy(this);
    const spyName = spy.getMockName();
    const callCount = spy.mock.calls.length;
    return this.assert(callCount === number, `expected "${spyName}" to be called #{exp} times, but got ${callCount} times`, `expected "${spyName}" to not be called #{exp} times`, number, callCount, false);
  });
  def("toHaveBeenCalledOnce", function() {
    const spy = getSpy(this);
    const spyName = spy.getMockName();
    const callCount = spy.mock.calls.length;
    return this.assert(callCount === 1, `expected "${spyName}" to be called once, but got ${callCount} times`, `expected "${spyName}" to not be called once`, 1, callCount, false);
  });
  def(["toHaveBeenCalled", "toBeCalled"], function() {
    const spy = getSpy(this);
    const spyName = spy.getMockName();
    const callCount = spy.mock.calls.length;
    const called = callCount > 0;
    const isNot = utils.flag(this, "negate");
    let msg = utils.getMessage(this, [
      called,
      `expected "${spyName}" to be called at least once`,
      `expected "${spyName}" to not be called at all, but actually been called ${callCount} times`,
      true,
      called
    ]);
    if (called && isNot) {
      msg = formatCalls(spy, msg);
    }
    if (called && isNot || !called && !isNot) {
      throw new AssertionError2(msg);
    }
  });
  function equalsArgumentArray(a2, b) {
    return a2.length === b.length && a2.every((aItem, i2) => equals(aItem, b[i2], [...customTesters, iterableEquality]));
  }
  __name(equalsArgumentArray, "equalsArgumentArray");
  def(["toHaveBeenCalledWith", "toBeCalledWith"], function(...args) {
    const spy = getSpy(this);
    const spyName = spy.getMockName();
    const pass = spy.mock.calls.some((callArg) => equalsArgumentArray(callArg, args));
    const isNot = utils.flag(this, "negate");
    const msg = utils.getMessage(this, [
      pass,
      `expected "${spyName}" to be called with arguments: #{exp}`,
      `expected "${spyName}" to not be called with arguments: #{exp}`,
      args
    ]);
    if (pass && isNot || !pass && !isNot) {
      throw new AssertionError2(formatCalls(spy, msg, args));
    }
  });
  def("toHaveBeenCalledExactlyOnceWith", function(...args) {
    const spy = getSpy(this);
    const spyName = spy.getMockName();
    const callCount = spy.mock.calls.length;
    const hasCallWithArgs = spy.mock.calls.some((callArg) => equalsArgumentArray(callArg, args));
    const pass = hasCallWithArgs && callCount === 1;
    const isNot = utils.flag(this, "negate");
    const msg = utils.getMessage(this, [
      pass,
      `expected "${spyName}" to be called once with arguments: #{exp}`,
      `expected "${spyName}" to not be called once with arguments: #{exp}`,
      args
    ]);
    if (pass && isNot || !pass && !isNot) {
      throw new AssertionError2(formatCalls(spy, msg, args));
    }
  });
  def(["toHaveBeenNthCalledWith", "nthCalledWith"], function(times, ...args) {
    const spy = getSpy(this);
    const spyName = spy.getMockName();
    const nthCall = spy.mock.calls[times - 1];
    const callCount = spy.mock.calls.length;
    const isCalled = times <= callCount;
    this.assert(nthCall && equalsArgumentArray(nthCall, args), `expected ${ordinalOf(times)} "${spyName}" call to have been called with #{exp}${isCalled ? `` : `, but called only ${callCount} times`}`, `expected ${ordinalOf(times)} "${spyName}" call to not have been called with #{exp}`, args, nthCall, isCalled);
  });
  def(["toHaveBeenLastCalledWith", "lastCalledWith"], function(...args) {
    const spy = getSpy(this);
    const spyName = spy.getMockName();
    const lastCall = spy.mock.calls[spy.mock.calls.length - 1];
    this.assert(lastCall && equalsArgumentArray(lastCall, args), `expected last "${spyName}" call to have been called with #{exp}`, `expected last "${spyName}" call to not have been called with #{exp}`, args, lastCall);
  });
  function isSpyCalledBeforeAnotherSpy(beforeSpy, afterSpy, failIfNoFirstInvocation) {
    const beforeInvocationCallOrder = beforeSpy.mock.invocationCallOrder;
    const afterInvocationCallOrder = afterSpy.mock.invocationCallOrder;
    if (beforeInvocationCallOrder.length === 0) {
      return !failIfNoFirstInvocation;
    }
    if (afterInvocationCallOrder.length === 0) {
      return false;
    }
    return beforeInvocationCallOrder[0] < afterInvocationCallOrder[0];
  }
  __name(isSpyCalledBeforeAnotherSpy, "isSpyCalledBeforeAnotherSpy");
  def(["toHaveBeenCalledBefore"], function(resultSpy, failIfNoFirstInvocation = true) {
    const expectSpy = getSpy(this);
    if (!isMockFunction2(resultSpy)) {
      throw new TypeError(`${utils.inspect(resultSpy)} is not a spy or a call to a spy`);
    }
    this.assert(isSpyCalledBeforeAnotherSpy(expectSpy, resultSpy, failIfNoFirstInvocation), `expected "${expectSpy.getMockName()}" to have been called before "${resultSpy.getMockName()}"`, `expected "${expectSpy.getMockName()}" to not have been called before "${resultSpy.getMockName()}"`, resultSpy, expectSpy);
  });
  def(["toHaveBeenCalledAfter"], function(resultSpy, failIfNoFirstInvocation = true) {
    const expectSpy = getSpy(this);
    if (!isMockFunction2(resultSpy)) {
      throw new TypeError(`${utils.inspect(resultSpy)} is not a spy or a call to a spy`);
    }
    this.assert(isSpyCalledBeforeAnotherSpy(resultSpy, expectSpy, failIfNoFirstInvocation), `expected "${expectSpy.getMockName()}" to have been called after "${resultSpy.getMockName()}"`, `expected "${expectSpy.getMockName()}" to not have been called after "${resultSpy.getMockName()}"`, resultSpy, expectSpy);
  });
  def(["toThrow", "toThrowError"], function(expected) {
    if (typeof expected === "string" || typeof expected === "undefined" || expected instanceof RegExp) {
      return this.throws(expected === "" ? /^$/ : expected);
    }
    const obj = this._obj;
    const promise = utils.flag(this, "promise");
    const isNot = utils.flag(this, "negate");
    let thrown = null;
    if (promise === "rejects") {
      thrown = obj;
    } else if (promise === "resolves" && typeof obj !== "function") {
      if (!isNot) {
        const message = utils.flag(this, "message") || "expected promise to throw an error, but it didn't";
        const error = { showDiff: false };
        throw new AssertionError2(message, error, utils.flag(this, "ssfi"));
      } else {
        return;
      }
    } else {
      let isThrow = false;
      try {
        obj();
      } catch (err) {
        isThrow = true;
        thrown = err;
      }
      if (!isThrow && !isNot) {
        const message = utils.flag(this, "message") || "expected function to throw an error, but it didn't";
        const error = { showDiff: false };
        throw new AssertionError2(message, error, utils.flag(this, "ssfi"));
      }
    }
    if (typeof expected === "function") {
      const name = expected.name || expected.prototype.constructor.name;
      return this.assert(thrown && thrown instanceof expected, `expected error to be instance of ${name}`, `expected error not to be instance of ${name}`, expected, thrown);
    }
    if (expected instanceof Error) {
      const equal = equals(thrown, expected, [...customTesters, iterableEquality]);
      return this.assert(equal, "expected a thrown error to be #{exp}", "expected a thrown error not to be #{exp}", expected, thrown);
    }
    if (typeof expected === "object" && "asymmetricMatch" in expected && typeof expected.asymmetricMatch === "function") {
      const matcher = expected;
      return this.assert(thrown && matcher.asymmetricMatch(thrown), "expected error to match asymmetric matcher", "expected error not to match asymmetric matcher", matcher, thrown);
    }
    throw new Error(`"toThrow" expects string, RegExp, function, Error instance or asymmetric matcher, got "${typeof expected}"`);
  });
  [{
    name: "toHaveResolved",
    condition: /* @__PURE__ */ __name((spy) => spy.mock.settledResults.length > 0 && spy.mock.settledResults.some(({ type: type5 }) => type5 === "fulfilled"), "condition"),
    action: "resolved"
  }, {
    name: ["toHaveReturned", "toReturn"],
    condition: /* @__PURE__ */ __name((spy) => spy.mock.calls.length > 0 && spy.mock.results.some(({ type: type5 }) => type5 !== "throw"), "condition"),
    action: "called"
  }].forEach(({ name, condition, action: action2 }) => {
    def(name, function() {
      const spy = getSpy(this);
      const spyName = spy.getMockName();
      const pass = condition(spy);
      this.assert(pass, `expected "${spyName}" to be successfully ${action2} at least once`, `expected "${spyName}" to not be successfully ${action2}`, pass, !pass, false);
    });
  });
  [{
    name: "toHaveResolvedTimes",
    condition: /* @__PURE__ */ __name((spy, times) => spy.mock.settledResults.reduce((s3, { type: type5 }) => type5 === "fulfilled" ? ++s3 : s3, 0) === times, "condition"),
    action: "resolved"
  }, {
    name: ["toHaveReturnedTimes", "toReturnTimes"],
    condition: /* @__PURE__ */ __name((spy, times) => spy.mock.results.reduce((s3, { type: type5 }) => type5 === "throw" ? s3 : ++s3, 0) === times, "condition"),
    action: "called"
  }].forEach(({ name, condition, action: action2 }) => {
    def(name, function(times) {
      const spy = getSpy(this);
      const spyName = spy.getMockName();
      const pass = condition(spy, times);
      this.assert(pass, `expected "${spyName}" to be successfully ${action2} ${times} times`, `expected "${spyName}" to not be successfully ${action2} ${times} times`, `expected resolved times: ${times}`, `received resolved times: ${pass}`, false);
    });
  });
  [{
    name: "toHaveResolvedWith",
    condition: /* @__PURE__ */ __name((spy, value) => spy.mock.settledResults.some(({ type: type5, value: result }) => type5 === "fulfilled" && equals(value, result)), "condition"),
    action: "resolve"
  }, {
    name: ["toHaveReturnedWith", "toReturnWith"],
    condition: /* @__PURE__ */ __name((spy, value) => spy.mock.results.some(({ type: type5, value: result }) => type5 === "return" && equals(value, result)), "condition"),
    action: "return"
  }].forEach(({ name, condition, action: action2 }) => {
    def(name, function(value) {
      const spy = getSpy(this);
      const pass = condition(spy, value);
      const isNot = utils.flag(this, "negate");
      if (pass && isNot || !pass && !isNot) {
        const spyName = spy.getMockName();
        const msg = utils.getMessage(this, [
          pass,
          `expected "${spyName}" to ${action2} with: #{exp} at least once`,
          `expected "${spyName}" to not ${action2} with: #{exp}`,
          value
        ]);
        const results = action2 === "return" ? spy.mock.results : spy.mock.settledResults;
        throw new AssertionError2(formatReturns(spy, results, msg, value));
      }
    });
  });
  [{
    name: "toHaveLastResolvedWith",
    condition: /* @__PURE__ */ __name((spy, value) => {
      const result = spy.mock.settledResults[spy.mock.settledResults.length - 1];
      return result && result.type === "fulfilled" && equals(result.value, value);
    }, "condition"),
    action: "resolve"
  }, {
    name: ["toHaveLastReturnedWith", "lastReturnedWith"],
    condition: /* @__PURE__ */ __name((spy, value) => {
      const result = spy.mock.results[spy.mock.results.length - 1];
      return result && result.type === "return" && equals(result.value, value);
    }, "condition"),
    action: "return"
  }].forEach(({ name, condition, action: action2 }) => {
    def(name, function(value) {
      const spy = getSpy(this);
      const results = action2 === "return" ? spy.mock.results : spy.mock.settledResults;
      const result = results[results.length - 1];
      const spyName = spy.getMockName();
      this.assert(condition(spy, value), `expected last "${spyName}" call to ${action2} #{exp}`, `expected last "${spyName}" call to not ${action2} #{exp}`, value, result === null || result === void 0 ? void 0 : result.value);
    });
  });
  [{
    name: "toHaveNthResolvedWith",
    condition: /* @__PURE__ */ __name((spy, index4, value) => {
      const result = spy.mock.settledResults[index4 - 1];
      return result && result.type === "fulfilled" && equals(result.value, value);
    }, "condition"),
    action: "resolve"
  }, {
    name: ["toHaveNthReturnedWith", "nthReturnedWith"],
    condition: /* @__PURE__ */ __name((spy, index4, value) => {
      const result = spy.mock.results[index4 - 1];
      return result && result.type === "return" && equals(result.value, value);
    }, "condition"),
    action: "return"
  }].forEach(({ name, condition, action: action2 }) => {
    def(name, function(nthCall, value) {
      const spy = getSpy(this);
      const spyName = spy.getMockName();
      const results = action2 === "return" ? spy.mock.results : spy.mock.settledResults;
      const result = results[nthCall - 1];
      const ordinalCall = `${ordinalOf(nthCall)} call`;
      this.assert(condition(spy, nthCall, value), `expected ${ordinalCall} "${spyName}" call to ${action2} #{exp}`, `expected ${ordinalCall} "${spyName}" call to not ${action2} #{exp}`, value, result === null || result === void 0 ? void 0 : result.value);
    });
  });
  def("withContext", function(context) {
    for (const key in context) {
      utils.flag(this, key, context[key]);
    }
    return this;
  });
  utils.addProperty(chai.Assertion.prototype, "resolves", /* @__PURE__ */ __name(function __VITEST_RESOLVES__() {
    const error = new Error("resolves");
    utils.flag(this, "promise", "resolves");
    utils.flag(this, "error", error);
    const test3 = utils.flag(this, "vitest-test");
    const obj = utils.flag(this, "object");
    if (utils.flag(this, "poll")) {
      throw new SyntaxError(`expect.poll() is not supported in combination with .resolves`);
    }
    if (typeof (obj === null || obj === void 0 ? void 0 : obj.then) !== "function") {
      throw new TypeError(`You must provide a Promise to expect() when using .resolves, not '${typeof obj}'.`);
    }
    const proxy = new Proxy(this, { get: /* @__PURE__ */ __name((target, key, receiver) => {
      const result = Reflect.get(target, key, receiver);
      if (typeof result !== "function") {
        return result instanceof chai.Assertion ? proxy : result;
      }
      return (...args) => {
        utils.flag(this, "_name", key);
        const promise = obj.then((value) => {
          utils.flag(this, "object", value);
          return result.call(this, ...args);
        }, (err) => {
          const _error = new AssertionError2(`promise rejected "${utils.inspect(err)}" instead of resolving`, { showDiff: false });
          _error.cause = err;
          _error.stack = error.stack.replace(error.message, _error.message);
          throw _error;
        });
        return recordAsyncExpect(test3, promise, createAssertionMessage(utils, this, !!args.length), error);
      };
    }, "get") });
    return proxy;
  }, "__VITEST_RESOLVES__"));
  utils.addProperty(chai.Assertion.prototype, "rejects", /* @__PURE__ */ __name(function __VITEST_REJECTS__() {
    const error = new Error("rejects");
    utils.flag(this, "promise", "rejects");
    utils.flag(this, "error", error);
    const test3 = utils.flag(this, "vitest-test");
    const obj = utils.flag(this, "object");
    const wrapper = typeof obj === "function" ? obj() : obj;
    if (utils.flag(this, "poll")) {
      throw new SyntaxError(`expect.poll() is not supported in combination with .rejects`);
    }
    if (typeof (wrapper === null || wrapper === void 0 ? void 0 : wrapper.then) !== "function") {
      throw new TypeError(`You must provide a Promise to expect() when using .rejects, not '${typeof wrapper}'.`);
    }
    const proxy = new Proxy(this, { get: /* @__PURE__ */ __name((target, key, receiver) => {
      const result = Reflect.get(target, key, receiver);
      if (typeof result !== "function") {
        return result instanceof chai.Assertion ? proxy : result;
      }
      return (...args) => {
        utils.flag(this, "_name", key);
        const promise = wrapper.then((value) => {
          const _error = new AssertionError2(`promise resolved "${utils.inspect(value)}" instead of rejecting`, {
            showDiff: true,
            expected: new Error("rejected promise"),
            actual: value
          });
          _error.stack = error.stack.replace(error.message, _error.message);
          throw _error;
        }, (err) => {
          utils.flag(this, "object", err);
          return result.call(this, ...args);
        });
        return recordAsyncExpect(test3, promise, createAssertionMessage(utils, this, !!args.length), error);
      };
    }, "get") });
    return proxy;
  }, "__VITEST_REJECTS__"));
}, "JestChaiExpect");
function ordinalOf(i2) {
  const j = i2 % 10;
  const k = i2 % 100;
  if (j === 1 && k !== 11) {
    return `${i2}st`;
  }
  if (j === 2 && k !== 12) {
    return `${i2}nd`;
  }
  if (j === 3 && k !== 13) {
    return `${i2}rd`;
  }
  return `${i2}th`;
}
__name(ordinalOf, "ordinalOf");
function formatCalls(spy, msg, showActualCall) {
  if (spy.mock.calls.length) {
    msg += s.gray(`

Received: 

${spy.mock.calls.map((callArg, i2) => {
      let methodCall = s.bold(`  ${ordinalOf(i2 + 1)} ${spy.getMockName()} call:

`);
      if (showActualCall) {
        methodCall += diff(showActualCall, callArg, { omitAnnotationLines: true });
      } else {
        methodCall += stringify5(callArg).split("\n").map((line2) => `    ${line2}`).join("\n");
      }
      methodCall += "\n";
      return methodCall;
    }).join("\n")}`);
  }
  msg += s.gray(`

Number of calls: ${s.bold(spy.mock.calls.length)}
`);
  return msg;
}
__name(formatCalls, "formatCalls");
function formatReturns(spy, results, msg, showActualReturn) {
  if (results.length) {
    msg += s.gray(`

Received: 

${results.map((callReturn, i2) => {
      let methodCall = s.bold(`  ${ordinalOf(i2 + 1)} ${spy.getMockName()} call return:

`);
      if (showActualReturn) {
        methodCall += diff(showActualReturn, callReturn.value, { omitAnnotationLines: true });
      } else {
        methodCall += stringify5(callReturn).split("\n").map((line2) => `    ${line2}`).join("\n");
      }
      methodCall += "\n";
      return methodCall;
    }).join("\n")}`);
  }
  msg += s.gray(`

Number of calls: ${s.bold(spy.mock.calls.length)}
`);
  return msg;
}
__name(formatReturns, "formatReturns");
function getMatcherState(assertion, expect4) {
  const obj = assertion._obj;
  const isNot = utils_exports.flag(assertion, "negate");
  const promise = utils_exports.flag(assertion, "promise") || "";
  const jestUtils = {
    ...getMatcherUtils(),
    diff,
    stringify: stringify5,
    iterableEquality,
    subsetEquality
  };
  const matcherState = {
    ...getState2(expect4),
    customTesters: getCustomEqualityTesters(),
    isNot,
    utils: jestUtils,
    promise,
    equals,
    suppressedErrors: [],
    soft: utils_exports.flag(assertion, "soft"),
    poll: utils_exports.flag(assertion, "poll")
  };
  return {
    state: matcherState,
    isNot,
    obj
  };
}
__name(getMatcherState, "getMatcherState");
var _JestExtendError = class _JestExtendError extends Error {
  constructor(message, actual, expected) {
    super(message);
    this.actual = actual;
    this.expected = expected;
  }
};
__name(_JestExtendError, "JestExtendError");
var JestExtendError = _JestExtendError;
function JestExtendPlugin(c2, expect4, matchers) {
  return (_, utils) => {
    Object.entries(matchers).forEach(([expectAssertionName, expectAssertion]) => {
      function expectWrapper(...args) {
        const { state: state3, isNot, obj } = getMatcherState(this, expect4);
        const result = expectAssertion.call(state3, obj, ...args);
        if (result && typeof result === "object" && typeof result.then === "function") {
          const thenable = result;
          return thenable.then(({ pass: pass2, message: message2, actual: actual2, expected: expected2 }) => {
            if (pass2 && isNot || !pass2 && !isNot) {
              throw new JestExtendError(message2(), actual2, expected2);
            }
          });
        }
        const { pass, message, actual, expected } = result;
        if (pass && isNot || !pass && !isNot) {
          throw new JestExtendError(message(), actual, expected);
        }
      }
      __name(expectWrapper, "expectWrapper");
      const softWrapper = wrapAssertion(utils, expectAssertionName, expectWrapper);
      utils.addMethod(globalThis[JEST_MATCHERS_OBJECT].matchers, expectAssertionName, softWrapper);
      utils.addMethod(c2.Assertion.prototype, expectAssertionName, softWrapper);
      const _CustomMatcher = class _CustomMatcher extends AsymmetricMatcher3 {
        constructor(inverse = false, ...sample2) {
          super(sample2, inverse);
        }
        asymmetricMatch(other) {
          const { pass } = expectAssertion.call(this.getMatcherContext(expect4), other, ...this.sample);
          return this.inverse ? !pass : pass;
        }
        toString() {
          return `${this.inverse ? "not." : ""}${expectAssertionName}`;
        }
        getExpectedType() {
          return "any";
        }
        toAsymmetricMatcher() {
          return `${this.toString()}<${this.sample.map((item) => stringify5(item)).join(", ")}>`;
        }
      };
      __name(_CustomMatcher, "CustomMatcher");
      let CustomMatcher = _CustomMatcher;
      const customMatcher = /* @__PURE__ */ __name((...sample2) => new CustomMatcher(false, ...sample2), "customMatcher");
      Object.defineProperty(expect4, expectAssertionName, {
        configurable: true,
        enumerable: true,
        value: customMatcher,
        writable: true
      });
      Object.defineProperty(expect4.not, expectAssertionName, {
        configurable: true,
        enumerable: true,
        value: /* @__PURE__ */ __name((...sample2) => new CustomMatcher(true, ...sample2), "value"),
        writable: true
      });
      Object.defineProperty(globalThis[ASYMMETRIC_MATCHERS_OBJECT], expectAssertionName, {
        configurable: true,
        enumerable: true,
        value: customMatcher,
        writable: true
      });
    });
  };
}
__name(JestExtendPlugin, "JestExtendPlugin");
var JestExtend = /* @__PURE__ */ __name((chai, utils) => {
  utils.addMethod(chai.expect, "extend", (expect4, expects) => {
    use(JestExtendPlugin(chai, expect4, expects));
  });
}, "JestExtend");

// src/test/expect.ts
function createExpect() {
  use(JestExtend);
  use(JestChaiExpect);
  use(JestAsymmetricMatchers);
  const expect4 = /* @__PURE__ */ __name((value, message) => {
    const { assertionCalls } = getState2(expect4);
    setState({ assertionCalls: assertionCalls + 1, soft: false }, expect4);
    return expect(value, message);
  }, "expect");
  Object.assign(expect4, expect);
  expect4.getState = () => getState2(expect4);
  expect4.setState = (state3) => setState(state3, expect4);
  expect4.extend = (expects) => expect.extend(expect4, expects);
  expect4.soft = (...args) => {
    const assert3 = expect4(...args);
    expect4.setState({
      soft: true
    });
    return assert3;
  };
  expect4.extend(customMatchers);
  expect4.unreachable = (message) => {
    assert.fail(`expected${message ? ` "${message}" ` : " "}not to be reached`);
  };
  function assertions(expected) {
    const errorGen = /* @__PURE__ */ __name(() => new Error(
      `expected number of assertions to be ${expected}, but got ${expect4.getState().assertionCalls}`
    ), "errorGen");
    if ("captureStackTrace" in Error && typeof Error.captureStackTrace === "function") {
      Error.captureStackTrace(errorGen(), assertions);
    }
    expect4.setState({
      expectedAssertionsNumber: expected,
      expectedAssertionsNumberErrorGen: errorGen
    });
  }
  __name(assertions, "assertions");
  function hasAssertions() {
    const error = new Error("expected any number of assertion, but got none");
    if ("captureStackTrace" in Error && typeof Error.captureStackTrace === "function") {
      Error.captureStackTrace(error, hasAssertions);
    }
    expect4.setState({
      isExpectingAssertions: true,
      isExpectingAssertionsError: error
    });
  }
  __name(hasAssertions, "hasAssertions");
  setState(
    {
      // this should also add "snapshotState" that is added conditionally
      assertionCalls: 0,
      isExpectingAssertions: false,
      isExpectingAssertionsError: null,
      expectedAssertionsNumber: null,
      expectedAssertionsNumberErrorGen: null
    },
    expect4
  );
  utils_exports.addMethod(expect4, "assertions", assertions);
  utils_exports.addMethod(expect4, "hasAssertions", hasAssertions);
  expect4.extend(matchers_exports);
  return expect4;
}
__name(createExpect, "createExpect");
var expect2 = createExpect();
Object.defineProperty(globalThis, GLOBAL_EXPECT, {
  value: expect2,
  writable: true,
  configurable: true
});

// ../node_modules/tinyspy/dist/index.js
function f2(e2, t2, n2) {
  Object.defineProperty(e2, t2, n2);
}
__name(f2, "f");
var u = Symbol.for("tinyspy:spy");
var P2 = /* @__PURE__ */ __name((e2) => {
  e2.called = false, e2.callCount = 0, e2.calls = [], e2.results = [], e2.resolves = [], e2.next = [];
}, "P");
var K = /* @__PURE__ */ __name((e2) => (f2(e2, u, { value: { reset: /* @__PURE__ */ __name(() => P2(e2[u]), "reset") } }), e2[u]), "K");
var T = /* @__PURE__ */ __name((e2) => e2[u] || K(e2), "T");

// src/test/spy.ts
var listeners = /* @__PURE__ */ new Set();
function onMockCall(callback) {
  listeners.add(callback);
  return () => void listeners.delete(callback);
}
__name(onMockCall, "onMockCall");
var spyOn2 = /* @__PURE__ */ __name((...args) => {
  const mock = spyOn(...args);
  return reactiveMock(mock);
}, "spyOn");
function fn3(implementation) {
  const mock = implementation ? fn2(implementation) : fn2();
  return reactiveMock(mock);
}
__name(fn3, "fn");
function reactiveMock(mock) {
  const reactive = listenWhenCalled(mock);
  const originalMockImplementation = reactive.mockImplementation.bind(null);
  reactive.mockImplementation = (fn4) => listenWhenCalled(originalMockImplementation(fn4));
  return reactive;
}
__name(reactiveMock, "reactiveMock");
function listenWhenCalled(mock) {
  const state3 = T(mock);
  const impl = state3.impl;
  state3.willCall(function(...args) {
    listeners.forEach((listener) => listener(mock, args));
    return impl?.apply(this, args);
  });
  return mock;
}
__name(listenWhenCalled, "listenWhenCalled");
function clearAllMocks() {
  mocks.forEach((spy) => spy.mockClear());
}
__name(clearAllMocks, "clearAllMocks");
function resetAllMocks() {
  mocks.forEach((spy) => spy.mockReset());
}
__name(resetAllMocks, "resetAllMocks");
function restoreAllMocks() {
  mocks.forEach((spy) => spy.mockRestore());
}
__name(restoreAllMocks, "restoreAllMocks");
function mocked(item, _options = {}) {
  return item;
}
__name(mocked, "mocked");

// ../node_modules/@testing-library/dom/dist/@testing-library/dom.esm.js
var dom_esm_exports = {};
__export(dom_esm_exports, {
  buildQueries: () => buildQueries,
  configure: () => configure,
  createEvent: () => createEvent,
  findAllByAltText: () => findAllByAltText,
  findAllByDisplayValue: () => findAllByDisplayValue,
  findAllByLabelText: () => findAllByLabelText,
  findAllByPlaceholderText: () => findAllByPlaceholderText,
  findAllByRole: () => findAllByRole,
  findAllByTestId: () => findAllByTestId,
  findAllByText: () => findAllByText,
  findAllByTitle: () => findAllByTitle,
  findByAltText: () => findByAltText,
  findByDisplayValue: () => findByDisplayValue,
  findByLabelText: () => findByLabelText,
  findByPlaceholderText: () => findByPlaceholderText,
  findByRole: () => findByRole,
  findByTestId: () => findByTestId,
  findByText: () => findByText,
  findByTitle: () => findByTitle,
  fireEvent: () => fireEvent,
  getAllByAltText: () => getAllByAltText,
  getAllByDisplayValue: () => getAllByDisplayValue,
  getAllByLabelText: () => getAllByLabelTextWithSuggestions,
  getAllByPlaceholderText: () => getAllByPlaceholderText,
  getAllByRole: () => getAllByRole,
  getAllByTestId: () => getAllByTestId,
  getAllByText: () => getAllByText,
  getAllByTitle: () => getAllByTitle,
  getByAltText: () => getByAltText,
  getByDisplayValue: () => getByDisplayValue,
  getByLabelText: () => getByLabelTextWithSuggestions,
  getByPlaceholderText: () => getByPlaceholderText,
  getByRole: () => getByRole,
  getByTestId: () => getByTestId,
  getByText: () => getByText,
  getByTitle: () => getByTitle,
  getConfig: () => getConfig2,
  getDefaultNormalizer: () => getDefaultNormalizer,
  getElementError: () => getElementError,
  getMultipleElementsFoundError: () => getMultipleElementsFoundError,
  getNodeText: () => getNodeText,
  getQueriesForElement: () => getQueriesForElement,
  getRoles: () => getRoles,
  getSuggestedQuery: () => getSuggestedQuery,
  isInaccessible: () => isInaccessible,
  logDOM: () => logDOM,
  logRoles: () => logRoles,
  makeFindQuery: () => makeFindQuery,
  makeGetAllQuery: () => makeGetAllQuery,
  makeSingleQuery: () => makeSingleQuery,
  prettyDOM: () => prettyDOM,
  prettyFormat: () => prettyFormat,
  queries: () => queries,
  queryAllByAltText: () => queryAllByAltTextWithSuggestions,
  queryAllByAttribute: () => queryAllByAttribute,
  queryAllByDisplayValue: () => queryAllByDisplayValueWithSuggestions,
  queryAllByLabelText: () => queryAllByLabelTextWithSuggestions,
  queryAllByPlaceholderText: () => queryAllByPlaceholderTextWithSuggestions,
  queryAllByRole: () => queryAllByRoleWithSuggestions,
  queryAllByTestId: () => queryAllByTestIdWithSuggestions,
  queryAllByText: () => queryAllByTextWithSuggestions,
  queryAllByTitle: () => queryAllByTitleWithSuggestions,
  queryByAltText: () => queryByAltText,
  queryByAttribute: () => queryByAttribute,
  queryByDisplayValue: () => queryByDisplayValue,
  queryByLabelText: () => queryByLabelText,
  queryByPlaceholderText: () => queryByPlaceholderText,
  queryByRole: () => queryByRole,
  queryByTestId: () => queryByTestId,
  queryByText: () => queryByText,
  queryByTitle: () => queryByTitle,
  queryHelpers: () => queryHelpers,
  screen: () => screen,
  waitFor: () => waitForWrapper,
  waitForElementToBeRemoved: () => waitForElementToBeRemoved,
  within: () => getQueriesForElement,
  wrapAllByQueryWithSuggestion: () => wrapAllByQueryWithSuggestion,
  wrapSingleQueryWithSuggestion: () => wrapSingleQueryWithSuggestion
});
var prettyFormat = __toESM(require_build());

// ../node_modules/dom-accessibility-api/dist/polyfills/array.from.mjs
var toStr2 = Object.prototype.toString;
function isCallable2(fn4) {
  return typeof fn4 === "function" || toStr2.call(fn4) === "[object Function]";
}
__name(isCallable2, "isCallable");
function toInteger2(value) {
  var number = Number(value);
  if (isNaN(number)) {
    return 0;
  }
  if (number === 0 || !isFinite(number)) {
    return number;
  }
  return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));
}
__name(toInteger2, "toInteger");
var maxSafeInteger2 = Math.pow(2, 53) - 1;
function toLength2(value) {
  var len = toInteger2(value);
  return Math.min(Math.max(len, 0), maxSafeInteger2);
}
__name(toLength2, "toLength");
function arrayFrom2(arrayLike, mapFn) {
  var C2 = Array;
  var items = Object(arrayLike);
  if (arrayLike == null) {
    throw new TypeError("Array.from requires an array-like object - not null or undefined");
  }
  if (typeof mapFn !== "undefined") {
    if (!isCallable2(mapFn)) {
      throw new TypeError("Array.from: when provided, the second argument must be a function");
    }
  }
  var len = toLength2(items.length);
  var A3 = isCallable2(C2) ? Object(new C2(len)) : new Array(len);
  var k = 0;
  var kValue;
  while (k < len) {
    kValue = items[k];
    if (mapFn) {
      A3[k] = mapFn(kValue, k);
    } else {
      A3[k] = kValue;
    }
    k += 1;
  }
  A3.length = len;
  return A3;
}
__name(arrayFrom2, "arrayFrom");

// ../node_modules/dom-accessibility-api/dist/polyfills/SetLike.mjs
function _typeof4(obj) {
  "@babel/helpers - typeof";
  return _typeof4 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj2) {
    return typeof obj2;
  } : function(obj2) {
    return obj2 && "function" == typeof Symbol && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
  }, _typeof4(obj);
}
__name(_typeof4, "_typeof");
function _classCallCheck2(instance, Constructor) {
  if (!(instance instanceof Constructor)) {
    throw new TypeError("Cannot call a class as a function");
  }
}
__name(_classCallCheck2, "_classCallCheck");
function _defineProperties2(target, props) {
  for (var i2 = 0; i2 < props.length; i2++) {
    var descriptor = props[i2];
    descriptor.enumerable = descriptor.enumerable || false;
    descriptor.configurable = true;
    if ("value" in descriptor) descriptor.writable = true;
    Object.defineProperty(target, _toPropertyKey3(descriptor.key), descriptor);
  }
}
__name(_defineProperties2, "_defineProperties");
function _createClass2(Constructor, protoProps, staticProps) {
  if (protoProps) _defineProperties2(Constructor.prototype, protoProps);
  if (staticProps) _defineProperties2(Constructor, staticProps);
  Object.defineProperty(Constructor, "prototype", { writable: false });
  return Constructor;
}
__name(_createClass2, "_createClass");
function _defineProperty4(obj, key, value) {
  key = _toPropertyKey3(key);
  if (key in obj) {
    Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_defineProperty4, "_defineProperty");
function _toPropertyKey3(arg) {
  var key = _toPrimitive3(arg, "string");
  return _typeof4(key) === "symbol" ? key : String(key);
}
__name(_toPropertyKey3, "_toPropertyKey");
function _toPrimitive3(input2, hint) {
  if (_typeof4(input2) !== "object" || input2 === null) return input2;
  var prim = input2[Symbol.toPrimitive];
  if (prim !== void 0) {
    var res = prim.call(input2, hint || "default");
    if (_typeof4(res) !== "object") return res;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return (hint === "string" ? String : Number)(input2);
}
__name(_toPrimitive3, "_toPrimitive");
var SetLike2 = function() {
  function SetLike3() {
    var items = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
    _classCallCheck2(this, SetLike3);
    _defineProperty4(this, "items", void 0);
    this.items = items;
  }
  __name(SetLike3, "SetLike");
  _createClass2(SetLike3, [{
    key: "add",
    value: /* @__PURE__ */ __name(function add(value) {
      if (this.has(value) === false) {
        this.items.push(value);
      }
      return this;
    }, "add")
  }, {
    key: "clear",
    value: /* @__PURE__ */ __name(function clear4() {
      this.items = [];
    }, "clear")
  }, {
    key: "delete",
    value: /* @__PURE__ */ __name(function _delete(value) {
      var previousLength = this.items.length;
      this.items = this.items.filter(function(item) {
        return item !== value;
      });
      return previousLength !== this.items.length;
    }, "_delete")
  }, {
    key: "forEach",
    value: /* @__PURE__ */ __name(function forEach(callbackfn) {
      var _this = this;
      this.items.forEach(function(item) {
        callbackfn(item, item, _this);
      });
    }, "forEach")
  }, {
    key: "has",
    value: /* @__PURE__ */ __name(function has2(value) {
      return this.items.indexOf(value) !== -1;
    }, "has")
  }, {
    key: "size",
    get: /* @__PURE__ */ __name(function get4() {
      return this.items.length;
    }, "get")
  }]);
  return SetLike3;
}();
var SetLike_default2 = typeof Set === "undefined" ? Set : SetLike2;

// ../node_modules/dom-accessibility-api/dist/getRole.mjs
function getLocalName2(element) {
  var _element$localName;
  return (
    // eslint-disable-next-line no-restricted-properties -- actual guard for environments without localName
    (_element$localName = element.localName) !== null && _element$localName !== void 0 ? _element$localName : (
      // eslint-disable-next-line no-restricted-properties -- required for the fallback
      element.tagName.toLowerCase()
    )
  );
}
__name(getLocalName2, "getLocalName");
var localNameToRoleMappings2 = {
  article: "article",
  aside: "complementary",
  button: "button",
  datalist: "listbox",
  dd: "definition",
  details: "group",
  dialog: "dialog",
  dt: "term",
  fieldset: "group",
  figure: "figure",
  // WARNING: Only with an accessible name
  form: "form",
  footer: "contentinfo",
  h1: "heading",
  h2: "heading",
  h3: "heading",
  h4: "heading",
  h5: "heading",
  h6: "heading",
  header: "banner",
  hr: "separator",
  html: "document",
  legend: "legend",
  li: "listitem",
  math: "math",
  main: "main",
  menu: "list",
  nav: "navigation",
  ol: "list",
  optgroup: "group",
  // WARNING: Only in certain context
  option: "option",
  output: "status",
  progress: "progressbar",
  // WARNING: Only with an accessible name
  section: "region",
  summary: "button",
  table: "table",
  tbody: "rowgroup",
  textarea: "textbox",
  tfoot: "rowgroup",
  // WARNING: Only in certain context
  td: "cell",
  th: "columnheader",
  thead: "rowgroup",
  tr: "row",
  ul: "list"
};
var prohibitedAttributes2 = {
  caption: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  code: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  deletion: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  emphasis: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  generic: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby", "aria-roledescription"]),
  insertion: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  paragraph: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  presentation: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  strong: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  subscript: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"]),
  superscript: /* @__PURE__ */ new Set(["aria-label", "aria-labelledby"])
};
function hasGlobalAriaAttributes2(element, role) {
  return [
    "aria-atomic",
    "aria-busy",
    "aria-controls",
    "aria-current",
    "aria-describedby",
    "aria-details",
    // "disabled",
    "aria-dropeffect",
    // "errormessage",
    "aria-flowto",
    "aria-grabbed",
    // "haspopup",
    "aria-hidden",
    // "invalid",
    "aria-keyshortcuts",
    "aria-label",
    "aria-labelledby",
    "aria-live",
    "aria-owns",
    "aria-relevant",
    "aria-roledescription"
  ].some(function(attributeName) {
    var _prohibitedAttributes;
    return element.hasAttribute(attributeName) && !((_prohibitedAttributes = prohibitedAttributes2[role]) !== null && _prohibitedAttributes !== void 0 && _prohibitedAttributes.has(attributeName));
  });
}
__name(hasGlobalAriaAttributes2, "hasGlobalAriaAttributes");
function ignorePresentationalRole2(element, implicitRole) {
  return hasGlobalAriaAttributes2(element, implicitRole);
}
__name(ignorePresentationalRole2, "ignorePresentationalRole");
function getRole2(element) {
  var explicitRole = getExplicitRole2(element);
  if (explicitRole === null || explicitRole === "presentation") {
    var implicitRole = getImplicitRole2(element);
    if (explicitRole !== "presentation" || ignorePresentationalRole2(element, implicitRole || "")) {
      return implicitRole;
    }
  }
  return explicitRole;
}
__name(getRole2, "getRole");
function getImplicitRole2(element) {
  var mappedByTag = localNameToRoleMappings2[getLocalName2(element)];
  if (mappedByTag !== void 0) {
    return mappedByTag;
  }
  switch (getLocalName2(element)) {
    case "a":
    case "area":
    case "link":
      if (element.hasAttribute("href")) {
        return "link";
      }
      break;
    case "img":
      if (element.getAttribute("alt") === "" && !ignorePresentationalRole2(element, "img")) {
        return "presentation";
      }
      return "img";
    case "input": {
      var _ref = element, type5 = _ref.type;
      switch (type5) {
        case "button":
        case "image":
        case "reset":
        case "submit":
          return "button";
        case "checkbox":
        case "radio":
          return type5;
        case "range":
          return "slider";
        case "email":
        case "tel":
        case "text":
        case "url":
          if (element.hasAttribute("list")) {
            return "combobox";
          }
          return "textbox";
        case "search":
          if (element.hasAttribute("list")) {
            return "combobox";
          }
          return "searchbox";
        case "number":
          return "spinbutton";
        default:
          return null;
      }
    }
    case "select":
      if (element.hasAttribute("multiple") || element.size > 1) {
        return "listbox";
      }
      return "combobox";
  }
  return null;
}
__name(getImplicitRole2, "getImplicitRole");
function getExplicitRole2(element) {
  var role = element.getAttribute("role");
  if (role !== null) {
    var explicitRole = role.trim().split(" ")[0];
    if (explicitRole.length > 0) {
      return explicitRole;
    }
  }
  return null;
}
__name(getExplicitRole2, "getExplicitRole");

// ../node_modules/dom-accessibility-api/dist/util.mjs
function isElement3(node2) {
  return node2 !== null && node2.nodeType === node2.ELEMENT_NODE;
}
__name(isElement3, "isElement");
function isHTMLTableCaptionElement2(node2) {
  return isElement3(node2) && getLocalName2(node2) === "caption";
}
__name(isHTMLTableCaptionElement2, "isHTMLTableCaptionElement");
function isHTMLInputElement2(node2) {
  return isElement3(node2) && getLocalName2(node2) === "input";
}
__name(isHTMLInputElement2, "isHTMLInputElement");
function isHTMLOptGroupElement2(node2) {
  return isElement3(node2) && getLocalName2(node2) === "optgroup";
}
__name(isHTMLOptGroupElement2, "isHTMLOptGroupElement");
function isHTMLSelectElement2(node2) {
  return isElement3(node2) && getLocalName2(node2) === "select";
}
__name(isHTMLSelectElement2, "isHTMLSelectElement");
function isHTMLTableElement2(node2) {
  return isElement3(node2) && getLocalName2(node2) === "table";
}
__name(isHTMLTableElement2, "isHTMLTableElement");
function isHTMLTextAreaElement2(node2) {
  return isElement3(node2) && getLocalName2(node2) === "textarea";
}
__name(isHTMLTextAreaElement2, "isHTMLTextAreaElement");
function safeWindow2(node2) {
  var _ref = node2.ownerDocument === null ? node2 : node2.ownerDocument, defaultView = _ref.defaultView;
  if (defaultView === null) {
    throw new TypeError("no window available");
  }
  return defaultView;
}
__name(safeWindow2, "safeWindow");
function isHTMLFieldSetElement2(node2) {
  return isElement3(node2) && getLocalName2(node2) === "fieldset";
}
__name(isHTMLFieldSetElement2, "isHTMLFieldSetElement");
function isHTMLLegendElement2(node2) {
  return isElement3(node2) && getLocalName2(node2) === "legend";
}
__name(isHTMLLegendElement2, "isHTMLLegendElement");
function isHTMLSlotElement2(node2) {
  return isElement3(node2) && getLocalName2(node2) === "slot";
}
__name(isHTMLSlotElement2, "isHTMLSlotElement");
function isSVGElement2(node2) {
  return isElement3(node2) && node2.ownerSVGElement !== void 0;
}
__name(isSVGElement2, "isSVGElement");
function isSVGSVGElement2(node2) {
  return isElement3(node2) && getLocalName2(node2) === "svg";
}
__name(isSVGSVGElement2, "isSVGSVGElement");
function isSVGTitleElement2(node2) {
  return isSVGElement2(node2) && getLocalName2(node2) === "title";
}
__name(isSVGTitleElement2, "isSVGTitleElement");
function queryIdRefs2(node2, attributeName) {
  if (isElement3(node2) && node2.hasAttribute(attributeName)) {
    var ids = node2.getAttribute(attributeName).split(" ");
    var root2 = node2.getRootNode ? node2.getRootNode() : node2.ownerDocument;
    return ids.map(function(id) {
      return root2.getElementById(id);
    }).filter(
      function(element) {
        return element !== null;
      }
      // TODO: why does this not narrow?
    );
  }
  return [];
}
__name(queryIdRefs2, "queryIdRefs");
function hasAnyConcreteRoles2(node2, roles3) {
  if (isElement3(node2)) {
    return roles3.indexOf(getRole2(node2)) !== -1;
  }
  return false;
}
__name(hasAnyConcreteRoles2, "hasAnyConcreteRoles");

// ../node_modules/dom-accessibility-api/dist/accessible-name-and-description.mjs
function asFlatString2(s3) {
  return s3.trim().replace(/\s\s+/g, " ");
}
__name(asFlatString2, "asFlatString");
function isHidden3(node2, getComputedStyleImplementation) {
  if (!isElement3(node2)) {
    return false;
  }
  if (node2.hasAttribute("hidden") || node2.getAttribute("aria-hidden") === "true") {
    return true;
  }
  var style = getComputedStyleImplementation(node2);
  return style.getPropertyValue("display") === "none" || style.getPropertyValue("visibility") === "hidden";
}
__name(isHidden3, "isHidden");
function isControl2(node2) {
  return hasAnyConcreteRoles2(node2, ["button", "combobox", "listbox", "textbox"]) || hasAbstractRole2(node2, "range");
}
__name(isControl2, "isControl");
function hasAbstractRole2(node2, role) {
  if (!isElement3(node2)) {
    return false;
  }
  switch (role) {
    case "range":
      return hasAnyConcreteRoles2(node2, ["meter", "progressbar", "scrollbar", "slider", "spinbutton"]);
    default:
      throw new TypeError("No knowledge about abstract role '".concat(role, "'. This is likely a bug :("));
  }
}
__name(hasAbstractRole2, "hasAbstractRole");
function querySelectorAllSubtree2(element, selectors) {
  var elements = arrayFrom2(element.querySelectorAll(selectors));
  queryIdRefs2(element, "aria-owns").forEach(function(root2) {
    elements.push.apply(elements, arrayFrom2(root2.querySelectorAll(selectors)));
  });
  return elements;
}
__name(querySelectorAllSubtree2, "querySelectorAllSubtree");
function querySelectedOptions2(listbox) {
  if (isHTMLSelectElement2(listbox)) {
    return listbox.selectedOptions || querySelectorAllSubtree2(listbox, "[selected]");
  }
  return querySelectorAllSubtree2(listbox, '[aria-selected="true"]');
}
__name(querySelectedOptions2, "querySelectedOptions");
function isMarkedPresentational2(node2) {
  return hasAnyConcreteRoles2(node2, ["none", "presentation"]);
}
__name(isMarkedPresentational2, "isMarkedPresentational");
function isNativeHostLanguageTextAlternativeElement2(node2) {
  return isHTMLTableCaptionElement2(node2);
}
__name(isNativeHostLanguageTextAlternativeElement2, "isNativeHostLanguageTextAlternativeElement");
function allowsNameFromContent2(node2) {
  return hasAnyConcreteRoles2(node2, ["button", "cell", "checkbox", "columnheader", "gridcell", "heading", "label", "legend", "link", "menuitem", "menuitemcheckbox", "menuitemradio", "option", "radio", "row", "rowheader", "switch", "tab", "tooltip", "treeitem"]);
}
__name(allowsNameFromContent2, "allowsNameFromContent");
function isDescendantOfNativeHostLanguageTextAlternativeElement2(node2) {
  return false;
}
__name(isDescendantOfNativeHostLanguageTextAlternativeElement2, "isDescendantOfNativeHostLanguageTextAlternativeElement");
function getValueOfTextbox2(element) {
  if (isHTMLInputElement2(element) || isHTMLTextAreaElement2(element)) {
    return element.value;
  }
  return element.textContent || "";
}
__name(getValueOfTextbox2, "getValueOfTextbox");
function getTextualContent2(declaration2) {
  var content = declaration2.getPropertyValue("content");
  if (/^["'].*["']$/.test(content)) {
    return content.slice(1, -1);
  }
  return "";
}
__name(getTextualContent2, "getTextualContent");
function isLabelableElement2(element) {
  var localName = getLocalName2(element);
  return localName === "button" || localName === "input" && element.getAttribute("type") !== "hidden" || localName === "meter" || localName === "output" || localName === "progress" || localName === "select" || localName === "textarea";
}
__name(isLabelableElement2, "isLabelableElement");
function findLabelableElement2(element) {
  if (isLabelableElement2(element)) {
    return element;
  }
  var labelableElement = null;
  element.childNodes.forEach(function(childNode) {
    if (labelableElement === null && isElement3(childNode)) {
      var descendantLabelableElement = findLabelableElement2(childNode);
      if (descendantLabelableElement !== null) {
        labelableElement = descendantLabelableElement;
      }
    }
  });
  return labelableElement;
}
__name(findLabelableElement2, "findLabelableElement");
function getControlOfLabel2(label) {
  if (label.control !== void 0) {
    return label.control;
  }
  var htmlFor = label.getAttribute("for");
  if (htmlFor !== null) {
    return label.ownerDocument.getElementById(htmlFor);
  }
  return findLabelableElement2(label);
}
__name(getControlOfLabel2, "getControlOfLabel");
function getLabels2(element) {
  var labelsProperty = element.labels;
  if (labelsProperty === null) {
    return labelsProperty;
  }
  if (labelsProperty !== void 0) {
    return arrayFrom2(labelsProperty);
  }
  if (!isLabelableElement2(element)) {
    return null;
  }
  var document13 = element.ownerDocument;
  return arrayFrom2(document13.querySelectorAll("label")).filter(function(label) {
    return getControlOfLabel2(label) === element;
  });
}
__name(getLabels2, "getLabels");
function getSlotContents2(slot) {
  var assignedNodes = slot.assignedNodes();
  if (assignedNodes.length === 0) {
    return arrayFrom2(slot.childNodes);
  }
  return assignedNodes;
}
__name(getSlotContents2, "getSlotContents");
function computeTextAlternative2(root2) {
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  var consultedNodes = new SetLike_default2();
  var window2 = safeWindow2(root2);
  var _options$compute = options.compute, compute = _options$compute === void 0 ? "name" : _options$compute, _options$computedStyl = options.computedStyleSupportsPseudoElements, computedStyleSupportsPseudoElements = _options$computedStyl === void 0 ? options.getComputedStyle !== void 0 : _options$computedStyl, _options$getComputedS = options.getComputedStyle, getComputedStyle3 = _options$getComputedS === void 0 ? window2.getComputedStyle.bind(window2) : _options$getComputedS, _options$hidden = options.hidden, hidden = _options$hidden === void 0 ? false : _options$hidden;
  function computeMiscTextAlternative(node2, context) {
    var accumulatedText = "";
    if (isElement3(node2) && computedStyleSupportsPseudoElements) {
      var pseudoBefore = getComputedStyle3(node2, "::before");
      var beforeContent = getTextualContent2(pseudoBefore);
      accumulatedText = "".concat(beforeContent, " ").concat(accumulatedText);
    }
    var childNodes = isHTMLSlotElement2(node2) ? getSlotContents2(node2) : arrayFrom2(node2.childNodes).concat(queryIdRefs2(node2, "aria-owns"));
    childNodes.forEach(function(child) {
      var result = computeTextAlternative3(child, {
        isEmbeddedInLabel: context.isEmbeddedInLabel,
        isReferenced: false,
        recursion: true
      });
      var display2 = isElement3(child) ? getComputedStyle3(child).getPropertyValue("display") : "inline";
      var separator = display2 !== "inline" ? " " : "";
      accumulatedText += "".concat(separator).concat(result).concat(separator);
    });
    if (isElement3(node2) && computedStyleSupportsPseudoElements) {
      var pseudoAfter = getComputedStyle3(node2, "::after");
      var afterContent = getTextualContent2(pseudoAfter);
      accumulatedText = "".concat(accumulatedText, " ").concat(afterContent);
    }
    return accumulatedText.trim();
  }
  __name(computeMiscTextAlternative, "computeMiscTextAlternative");
  function useAttribute(element, attributeName) {
    var attribute = element.getAttributeNode(attributeName);
    if (attribute !== null && !consultedNodes.has(attribute) && attribute.value.trim() !== "") {
      consultedNodes.add(attribute);
      return attribute.value;
    }
    return null;
  }
  __name(useAttribute, "useAttribute");
  function computeTooltipAttributeValue(node2) {
    if (!isElement3(node2)) {
      return null;
    }
    return useAttribute(node2, "title");
  }
  __name(computeTooltipAttributeValue, "computeTooltipAttributeValue");
  function computeElementTextAlternative(node2) {
    if (!isElement3(node2)) {
      return null;
    }
    if (isHTMLFieldSetElement2(node2)) {
      consultedNodes.add(node2);
      var children = arrayFrom2(node2.childNodes);
      for (var i2 = 0; i2 < children.length; i2 += 1) {
        var child = children[i2];
        if (isHTMLLegendElement2(child)) {
          return computeTextAlternative3(child, {
            isEmbeddedInLabel: false,
            isReferenced: false,
            recursion: false
          });
        }
      }
    } else if (isHTMLTableElement2(node2)) {
      consultedNodes.add(node2);
      var _children = arrayFrom2(node2.childNodes);
      for (var _i = 0; _i < _children.length; _i += 1) {
        var _child = _children[_i];
        if (isHTMLTableCaptionElement2(_child)) {
          return computeTextAlternative3(_child, {
            isEmbeddedInLabel: false,
            isReferenced: false,
            recursion: false
          });
        }
      }
    } else if (isSVGSVGElement2(node2)) {
      consultedNodes.add(node2);
      var _children2 = arrayFrom2(node2.childNodes);
      for (var _i2 = 0; _i2 < _children2.length; _i2 += 1) {
        var _child2 = _children2[_i2];
        if (isSVGTitleElement2(_child2)) {
          return _child2.textContent;
        }
      }
      return null;
    } else if (getLocalName2(node2) === "img" || getLocalName2(node2) === "area") {
      var nameFromAlt = useAttribute(node2, "alt");
      if (nameFromAlt !== null) {
        return nameFromAlt;
      }
    } else if (isHTMLOptGroupElement2(node2)) {
      var nameFromLabel = useAttribute(node2, "label");
      if (nameFromLabel !== null) {
        return nameFromLabel;
      }
    }
    if (isHTMLInputElement2(node2) && (node2.type === "button" || node2.type === "submit" || node2.type === "reset")) {
      var nameFromValue = useAttribute(node2, "value");
      if (nameFromValue !== null) {
        return nameFromValue;
      }
      if (node2.type === "submit") {
        return "Submit";
      }
      if (node2.type === "reset") {
        return "Reset";
      }
    }
    var labels = getLabels2(node2);
    if (labels !== null && labels.length !== 0) {
      consultedNodes.add(node2);
      return arrayFrom2(labels).map(function(element) {
        return computeTextAlternative3(element, {
          isEmbeddedInLabel: true,
          isReferenced: false,
          recursion: true
        });
      }).filter(function(label) {
        return label.length > 0;
      }).join(" ");
    }
    if (isHTMLInputElement2(node2) && node2.type === "image") {
      var _nameFromAlt = useAttribute(node2, "alt");
      if (_nameFromAlt !== null) {
        return _nameFromAlt;
      }
      var nameFromTitle = useAttribute(node2, "title");
      if (nameFromTitle !== null) {
        return nameFromTitle;
      }
      return "Submit Query";
    }
    if (hasAnyConcreteRoles2(node2, ["button"])) {
      var nameFromSubTree = computeMiscTextAlternative(node2, {
        isEmbeddedInLabel: false,
        isReferenced: false
      });
      if (nameFromSubTree !== "") {
        return nameFromSubTree;
      }
    }
    return null;
  }
  __name(computeElementTextAlternative, "computeElementTextAlternative");
  function computeTextAlternative3(current, context) {
    if (consultedNodes.has(current)) {
      return "";
    }
    if (!hidden && isHidden3(current, getComputedStyle3) && !context.isReferenced) {
      consultedNodes.add(current);
      return "";
    }
    var labelAttributeNode = isElement3(current) ? current.getAttributeNode("aria-labelledby") : null;
    var labelElements = labelAttributeNode !== null && !consultedNodes.has(labelAttributeNode) ? queryIdRefs2(current, "aria-labelledby") : [];
    if (compute === "name" && !context.isReferenced && labelElements.length > 0) {
      consultedNodes.add(labelAttributeNode);
      return labelElements.map(function(element) {
        return computeTextAlternative3(element, {
          isEmbeddedInLabel: context.isEmbeddedInLabel,
          isReferenced: true,
          // this isn't recursion as specified, otherwise we would skip
          // `aria-label` in
          // <input id="myself" aria-label="foo" aria-labelledby="myself"
          recursion: false
        });
      }).join(" ");
    }
    var skipToStep2E = context.recursion && isControl2(current) && compute === "name";
    if (!skipToStep2E) {
      var ariaLabel = (isElement3(current) && current.getAttribute("aria-label") || "").trim();
      if (ariaLabel !== "" && compute === "name") {
        consultedNodes.add(current);
        return ariaLabel;
      }
      if (!isMarkedPresentational2(current)) {
        var elementTextAlternative = computeElementTextAlternative(current);
        if (elementTextAlternative !== null) {
          consultedNodes.add(current);
          return elementTextAlternative;
        }
      }
    }
    if (hasAnyConcreteRoles2(current, ["menu"])) {
      consultedNodes.add(current);
      return "";
    }
    if (skipToStep2E || context.isEmbeddedInLabel || context.isReferenced) {
      if (hasAnyConcreteRoles2(current, ["combobox", "listbox"])) {
        consultedNodes.add(current);
        var selectedOptions = querySelectedOptions2(current);
        if (selectedOptions.length === 0) {
          return isHTMLInputElement2(current) ? current.value : "";
        }
        return arrayFrom2(selectedOptions).map(function(selectedOption) {
          return computeTextAlternative3(selectedOption, {
            isEmbeddedInLabel: context.isEmbeddedInLabel,
            isReferenced: false,
            recursion: true
          });
        }).join(" ");
      }
      if (hasAbstractRole2(current, "range")) {
        consultedNodes.add(current);
        if (current.hasAttribute("aria-valuetext")) {
          return current.getAttribute("aria-valuetext");
        }
        if (current.hasAttribute("aria-valuenow")) {
          return current.getAttribute("aria-valuenow");
        }
        return current.getAttribute("value") || "";
      }
      if (hasAnyConcreteRoles2(current, ["textbox"])) {
        consultedNodes.add(current);
        return getValueOfTextbox2(current);
      }
    }
    if (allowsNameFromContent2(current) || isElement3(current) && context.isReferenced || isNativeHostLanguageTextAlternativeElement2(current) || isDescendantOfNativeHostLanguageTextAlternativeElement2(current)) {
      var accumulatedText2F = computeMiscTextAlternative(current, {
        isEmbeddedInLabel: context.isEmbeddedInLabel,
        isReferenced: false
      });
      if (accumulatedText2F !== "") {
        consultedNodes.add(current);
        return accumulatedText2F;
      }
    }
    if (current.nodeType === current.TEXT_NODE) {
      consultedNodes.add(current);
      return current.textContent || "";
    }
    if (context.recursion) {
      consultedNodes.add(current);
      return computeMiscTextAlternative(current, {
        isEmbeddedInLabel: context.isEmbeddedInLabel,
        isReferenced: false
      });
    }
    var tooltipAttributeValue = computeTooltipAttributeValue(current);
    if (tooltipAttributeValue !== null) {
      consultedNodes.add(current);
      return tooltipAttributeValue;
    }
    consultedNodes.add(current);
    return "";
  }
  __name(computeTextAlternative3, "computeTextAlternative");
  return asFlatString2(computeTextAlternative3(root2, {
    isEmbeddedInLabel: false,
    // by spec computeAccessibleDescription starts with the referenced elements as roots
    isReferenced: compute === "description",
    recursion: false
  }));
}
__name(computeTextAlternative2, "computeTextAlternative");

// ../node_modules/dom-accessibility-api/dist/accessible-description.mjs
function _typeof5(obj) {
  "@babel/helpers - typeof";
  return _typeof5 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj2) {
    return typeof obj2;
  } : function(obj2) {
    return obj2 && "function" == typeof Symbol && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
  }, _typeof5(obj);
}
__name(_typeof5, "_typeof");
function ownKeys4(object, enumerableOnly) {
  var keys3 = Object.keys(object);
  if (Object.getOwnPropertySymbols) {
    var symbols = Object.getOwnPropertySymbols(object);
    enumerableOnly && (symbols = symbols.filter(function(sym) {
      return Object.getOwnPropertyDescriptor(object, sym).enumerable;
    })), keys3.push.apply(keys3, symbols);
  }
  return keys3;
}
__name(ownKeys4, "ownKeys");
function _objectSpread4(target) {
  for (var i2 = 1; i2 < arguments.length; i2++) {
    var source = null != arguments[i2] ? arguments[i2] : {};
    i2 % 2 ? ownKeys4(Object(source), true).forEach(function(key) {
      _defineProperty5(target, key, source[key]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys4(Object(source)).forEach(function(key) {
      Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
    });
  }
  return target;
}
__name(_objectSpread4, "_objectSpread");
function _defineProperty5(obj, key, value) {
  key = _toPropertyKey4(key);
  if (key in obj) {
    Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_defineProperty5, "_defineProperty");
function _toPropertyKey4(arg) {
  var key = _toPrimitive4(arg, "string");
  return _typeof5(key) === "symbol" ? key : String(key);
}
__name(_toPropertyKey4, "_toPropertyKey");
function _toPrimitive4(input2, hint) {
  if (_typeof5(input2) !== "object" || input2 === null) return input2;
  var prim = input2[Symbol.toPrimitive];
  if (prim !== void 0) {
    var res = prim.call(input2, hint || "default");
    if (_typeof5(res) !== "object") return res;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return (hint === "string" ? String : Number)(input2);
}
__name(_toPrimitive4, "_toPrimitive");
function computeAccessibleDescription2(root2) {
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  var description = queryIdRefs2(root2, "aria-describedby").map(function(element) {
    return computeTextAlternative2(element, _objectSpread4(_objectSpread4({}, options), {}, {
      compute: "description"
    }));
  }).join(" ");
  if (description === "") {
    var title = root2.getAttribute("title");
    description = title === null ? "" : title;
  }
  return description;
}
__name(computeAccessibleDescription2, "computeAccessibleDescription");

// ../node_modules/dom-accessibility-api/dist/accessible-name.mjs
function prohibitsNaming2(node2) {
  return hasAnyConcreteRoles2(node2, ["caption", "code", "deletion", "emphasis", "generic", "insertion", "paragraph", "presentation", "strong", "subscript", "superscript"]);
}
__name(prohibitsNaming2, "prohibitsNaming");
function computeAccessibleName2(root2) {
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
  if (prohibitsNaming2(root2)) {
    return "";
  }
  return computeTextAlternative2(root2, options);
}
__name(computeAccessibleName2, "computeAccessibleName");

// ../node_modules/@testing-library/dom/dist/@testing-library/dom.esm.js
var import_aria_query3 = __toESM(require_lib2());
var import_lz_string = __toESM(require_lz_string());
function escapeHTML2(str2) {
  return str2.replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
__name(escapeHTML2, "escapeHTML");
var printProps2 = /* @__PURE__ */ __name((keys3, props, config4, indentation, depth, refs, printer2) => {
  const indentationNext = indentation + config4.indent;
  const colors3 = config4.colors;
  return keys3.map((key) => {
    const value = props[key];
    let printed = printer2(value, config4, indentationNext, depth, refs);
    if (typeof value !== "string") {
      if (printed.indexOf("\n") !== -1) {
        printed = config4.spacingOuter + indentationNext + printed + config4.spacingOuter + indentation;
      }
      printed = "{" + printed + "}";
    }
    return config4.spacingInner + indentation + colors3.prop.open + key + colors3.prop.close + "=" + colors3.value.open + printed + colors3.value.close;
  }).join("");
}, "printProps");
var NodeTypeTextNode = 3;
var printChildren2 = /* @__PURE__ */ __name((children, config4, indentation, depth, refs, printer2) => children.map((child) => {
  const printedChild = typeof child === "string" ? printText2(child, config4) : printer2(child, config4, indentation, depth, refs);
  if (printedChild === "" && typeof child === "object" && child !== null && child.nodeType !== NodeTypeTextNode) {
    return "";
  }
  return config4.spacingOuter + indentation + printedChild;
}).join(""), "printChildren");
var printText2 = /* @__PURE__ */ __name((text, config4) => {
  const contentColor = config4.colors.content;
  return contentColor.open + escapeHTML2(text) + contentColor.close;
}, "printText");
var printComment2 = /* @__PURE__ */ __name((comment2, config4) => {
  const commentColor = config4.colors.comment;
  return commentColor.open + "<!--" + escapeHTML2(comment2) + "-->" + commentColor.close;
}, "printComment");
var printElement2 = /* @__PURE__ */ __name((type5, printedProps, printedChildren, config4, indentation) => {
  const tagColor = config4.colors.tag;
  return tagColor.open + "<" + type5 + (printedProps && tagColor.close + printedProps + config4.spacingOuter + indentation + tagColor.open) + (printedChildren ? ">" + tagColor.close + printedChildren + config4.spacingOuter + indentation + tagColor.open + "</" + type5 : (printedProps && !config4.min ? "" : " ") + "/") + ">" + tagColor.close;
}, "printElement");
var printElementAsLeaf2 = /* @__PURE__ */ __name((type5, config4) => {
  const tagColor = config4.colors.tag;
  return tagColor.open + "<" + type5 + tagColor.close + " \u2026" + tagColor.open + " />" + tagColor.close;
}, "printElementAsLeaf");
var ELEMENT_NODE$1 = 1;
var TEXT_NODE$1 = 3;
var COMMENT_NODE$1 = 8;
var FRAGMENT_NODE2 = 11;
var ELEMENT_REGEXP2 = /^((HTML|SVG)\w*)?Element$/;
var isCustomElement2 = /* @__PURE__ */ __name((val) => {
  const {
    tagName
  } = val;
  return Boolean(typeof tagName === "string" && tagName.includes("-") || typeof val.hasAttribute === "function" && val.hasAttribute("is"));
}, "isCustomElement");
var testNode2 = /* @__PURE__ */ __name((val) => {
  const constructorName = val.constructor.name;
  const {
    nodeType
  } = val;
  return nodeType === ELEMENT_NODE$1 && (ELEMENT_REGEXP2.test(constructorName) || isCustomElement2(val)) || nodeType === TEXT_NODE$1 && constructorName === "Text" || nodeType === COMMENT_NODE$1 && constructorName === "Comment" || nodeType === FRAGMENT_NODE2 && constructorName === "DocumentFragment";
}, "testNode");
function nodeIsText2(node2) {
  return node2.nodeType === TEXT_NODE$1;
}
__name(nodeIsText2, "nodeIsText");
function nodeIsComment2(node2) {
  return node2.nodeType === COMMENT_NODE$1;
}
__name(nodeIsComment2, "nodeIsComment");
function nodeIsFragment2(node2) {
  return node2.nodeType === FRAGMENT_NODE2;
}
__name(nodeIsFragment2, "nodeIsFragment");
function createDOMElementFilter(filterNode) {
  return {
    test: /* @__PURE__ */ __name((val) => {
      var _val$constructor2;
      return ((val == null || (_val$constructor2 = val.constructor) == null ? void 0 : _val$constructor2.name) || isCustomElement2(val)) && testNode2(val);
    }, "test"),
    serialize: /* @__PURE__ */ __name((node2, config4, indentation, depth, refs, printer2) => {
      if (nodeIsText2(node2)) {
        return printText2(node2.data, config4);
      }
      if (nodeIsComment2(node2)) {
        return printComment2(node2.data, config4);
      }
      const type5 = nodeIsFragment2(node2) ? "DocumentFragment" : node2.tagName.toLowerCase();
      if (++depth > config4.maxDepth) {
        return printElementAsLeaf2(type5, config4);
      }
      return printElement2(type5, printProps2(nodeIsFragment2(node2) ? [] : Array.from(node2.attributes).map((attr) => attr.name).sort(), nodeIsFragment2(node2) ? {} : Array.from(node2.attributes).reduce((props, attribute) => {
        props[attribute.name] = attribute.value;
        return props;
      }, {}), config4, indentation + config4.indent, depth, refs, printer2), printChildren2(Array.prototype.slice.call(node2.childNodes || node2.children).filter(filterNode), config4, indentation + config4.indent, depth, refs, printer2), config4, indentation);
    }, "serialize")
  };
}
__name(createDOMElementFilter, "createDOMElementFilter");
var picocolors = null;
var readFileSync = null;
var codeFrameColumns = null;
try {
  const nodeRequire = module && module.require;
  readFileSync = nodeRequire.call(module, "fs").readFileSync;
  codeFrameColumns = nodeRequire.call(module, "@babel/code-frame").codeFrameColumns;
  picocolors = nodeRequire.call(module, "picocolors");
} catch {
}
function getCodeFrame(frame) {
  const locationStart = frame.indexOf("(") + 1;
  const locationEnd = frame.indexOf(")");
  const frameLocation = frame.slice(locationStart, locationEnd);
  const frameLocationElements = frameLocation.split(":");
  const [filename, line2, column2] = [frameLocationElements[0], parseInt(frameLocationElements[1], 10), parseInt(frameLocationElements[2], 10)];
  let rawFileContents = "";
  try {
    rawFileContents = readFileSync(filename, "utf-8");
  } catch {
    return "";
  }
  const codeFrame = codeFrameColumns(rawFileContents, {
    start: {
      line: line2,
      column: column2
    }
  }, {
    highlightCode: true,
    linesBelow: 0
  });
  return picocolors.dim(frameLocation) + "\n" + codeFrame + "\n";
}
__name(getCodeFrame, "getCodeFrame");
function getUserCodeFrame() {
  if (!readFileSync || !codeFrameColumns) {
    return "";
  }
  const err = new Error();
  const firstClientCodeFrame = err.stack.split("\n").slice(1).find((frame) => !frame.includes("node_modules/"));
  return getCodeFrame(firstClientCodeFrame);
}
__name(getUserCodeFrame, "getUserCodeFrame");
var TEXT_NODE2 = 3;
function jestFakeTimersAreEnabled() {
  if (typeof jest !== "undefined" && jest !== null) {
    return (
      // legacy timers
      setTimeout._isMockFunction === true || // modern timers
      // eslint-disable-next-line prefer-object-has-own -- not supported by our support matrix
      Object.prototype.hasOwnProperty.call(setTimeout, "clock")
    );
  }
  return false;
}
__name(jestFakeTimersAreEnabled, "jestFakeTimersAreEnabled");
function getDocument() {
  if (typeof window === "undefined") {
    throw new Error("Could not find default container");
  }
  return window.document;
}
__name(getDocument, "getDocument");
function getWindowFromNode(node2) {
  if (node2.defaultView) {
    return node2.defaultView;
  } else if (node2.ownerDocument && node2.ownerDocument.defaultView) {
    return node2.ownerDocument.defaultView;
  } else if (node2.window) {
    return node2.window;
  } else if (node2.ownerDocument && node2.ownerDocument.defaultView === null) {
    throw new Error("It looks like the window object is not available for the provided node.");
  } else if (node2.then instanceof Function) {
    throw new Error("It looks like you passed a Promise object instead of a DOM node. Did you do something like `fireEvent.click(screen.findBy...` when you meant to use a `getBy` query `fireEvent.click(screen.getBy...`, or await the findBy query `fireEvent.click(await screen.findBy...`?");
  } else if (Array.isArray(node2)) {
    throw new Error("It looks like you passed an Array instead of a DOM node. Did you do something like `fireEvent.click(screen.getAllBy...` when you meant to use a `getBy` query `fireEvent.click(screen.getBy...`?");
  } else if (typeof node2.debug === "function" && typeof node2.logTestingPlaygroundURL === "function") {
    throw new Error("It looks like you passed a `screen` object. Did you do something like `fireEvent.click(screen, ...` when you meant to use a query, e.g. `fireEvent.click(screen.getBy..., `?");
  } else {
    throw new Error("The given node is not an Element, the node type is: " + typeof node2 + ".");
  }
}
__name(getWindowFromNode, "getWindowFromNode");
function checkContainerType(container) {
  if (!container || !(typeof container.querySelector === "function") || !(typeof container.querySelectorAll === "function")) {
    throw new TypeError("Expected container to be an Element, a Document or a DocumentFragment but got " + getTypeName(container) + ".");
  }
  function getTypeName(object) {
    if (typeof object === "object") {
      return object === null ? "null" : object.constructor.name;
    }
    return typeof object;
  }
  __name(getTypeName, "getTypeName");
}
__name(checkContainerType, "checkContainerType");
var shouldHighlight = /* @__PURE__ */ __name(() => {
  if (typeof process === "undefined") {
    return false;
  }
  let colors3;
  try {
    var _process$env;
    const colorsJSON = (_process$env = process.env) == null ? void 0 : _process$env.COLORS;
    if (colorsJSON) {
      colors3 = JSON.parse(colorsJSON);
    }
  } catch {
  }
  if (typeof colors3 === "boolean") {
    return colors3;
  } else {
    return process.versions !== void 0 && process.versions.node !== void 0;
  }
}, "shouldHighlight");
var {
  DOMCollection: DOMCollection3
} = prettyFormat.plugins;
var ELEMENT_NODE2 = 1;
var COMMENT_NODE2 = 8;
function filterCommentsAndDefaultIgnoreTagsTags(value) {
  return value.nodeType !== COMMENT_NODE2 && (value.nodeType !== ELEMENT_NODE2 || !value.matches(getConfig2().defaultIgnore));
}
__name(filterCommentsAndDefaultIgnoreTagsTags, "filterCommentsAndDefaultIgnoreTagsTags");
function prettyDOM(dom, maxLength, options) {
  if (options === void 0) {
    options = {};
  }
  if (!dom) {
    dom = getDocument().body;
  }
  if (typeof maxLength !== "number") {
    maxLength = typeof process !== "undefined" && typeof process.env !== "undefined" && process.env.DEBUG_PRINT_LIMIT || 7e3;
  }
  if (maxLength === 0) {
    return "";
  }
  if (dom.documentElement) {
    dom = dom.documentElement;
  }
  let domTypeName = typeof dom;
  if (domTypeName === "object") {
    domTypeName = dom.constructor.name;
  } else {
    dom = {};
  }
  if (!("outerHTML" in dom)) {
    throw new TypeError("Expected an element or document but got " + domTypeName);
  }
  const {
    filterNode = filterCommentsAndDefaultIgnoreTagsTags,
    ...prettyFormatOptions
  } = options;
  const debugContent = prettyFormat.format(dom, {
    plugins: [createDOMElementFilter(filterNode), DOMCollection3],
    printFunctionName: false,
    highlight: shouldHighlight(),
    ...prettyFormatOptions
  });
  return maxLength !== void 0 && dom.outerHTML.length > maxLength ? debugContent.slice(0, maxLength) + "..." : debugContent;
}
__name(prettyDOM, "prettyDOM");
var logDOM = /* @__PURE__ */ __name(function() {
  const userCodeFrame = getUserCodeFrame();
  if (userCodeFrame) {
    console.log(prettyDOM(...arguments) + "\n\n" + userCodeFrame);
  } else {
    console.log(prettyDOM(...arguments));
  }
}, "logDOM");
var config3 = {
  testIdAttribute: "data-testid",
  asyncUtilTimeout: 1e3,
  // asyncWrapper and advanceTimersWrapper is to support React's async `act` function.
  // forcing react-testing-library to wrap all async functions would've been
  // a total nightmare (consider wrapping every findBy* query and then also
  // updating `within` so those would be wrapped too. Total nightmare).
  // so we have this config option that's really only intended for
  // react-testing-library to use. For that reason, this feature will remain
  // undocumented.
  asyncWrapper: /* @__PURE__ */ __name((cb) => cb(), "asyncWrapper"),
  unstable_advanceTimersWrapper: /* @__PURE__ */ __name((cb) => cb(), "unstable_advanceTimersWrapper"),
  eventWrapper: /* @__PURE__ */ __name((cb) => cb(), "eventWrapper"),
  // default value for the `hidden` option in `ByRole` queries
  defaultHidden: false,
  // default value for the `ignore` option in `ByText` queries
  defaultIgnore: "script, style",
  // showOriginalStackTrace flag to show the full error stack traces for async errors
  showOriginalStackTrace: false,
  // throw errors w/ suggestions for better queries. Opt in so off by default.
  throwSuggestions: false,
  // called when getBy* queries fail. (message, container) => Error
  getElementError(message, container) {
    const prettifiedDOM = prettyDOM(container);
    const error = new Error([message, "Ignored nodes: comments, " + config3.defaultIgnore + "\n" + prettifiedDOM].filter(Boolean).join("\n\n"));
    error.name = "TestingLibraryElementError";
    return error;
  },
  _disableExpensiveErrorDiagnostics: false,
  computedStyleSupportsPseudoElements: false
};
function runWithExpensiveErrorDiagnosticsDisabled(callback) {
  try {
    config3._disableExpensiveErrorDiagnostics = true;
    return callback();
  } finally {
    config3._disableExpensiveErrorDiagnostics = false;
  }
}
__name(runWithExpensiveErrorDiagnosticsDisabled, "runWithExpensiveErrorDiagnosticsDisabled");
function configure(newConfig) {
  if (typeof newConfig === "function") {
    newConfig = newConfig(config3);
  }
  config3 = {
    ...config3,
    ...newConfig
  };
}
__name(configure, "configure");
function getConfig2() {
  return config3;
}
__name(getConfig2, "getConfig");
var labelledNodeNames = ["button", "meter", "output", "progress", "select", "textarea", "input"];
function getTextContent(node2) {
  if (labelledNodeNames.includes(node2.nodeName.toLowerCase())) {
    return "";
  }
  if (node2.nodeType === TEXT_NODE2) return node2.textContent;
  return Array.from(node2.childNodes).map((childNode) => getTextContent(childNode)).join("");
}
__name(getTextContent, "getTextContent");
function getLabelContent(element) {
  let textContent;
  if (element.tagName.toLowerCase() === "label") {
    textContent = getTextContent(element);
  } else {
    textContent = element.value || element.textContent;
  }
  return textContent;
}
__name(getLabelContent, "getLabelContent");
function getRealLabels(element) {
  if (element.labels !== void 0) {
    var _labels;
    return (_labels = element.labels) != null ? _labels : [];
  }
  if (!isLabelable(element)) return [];
  const labels = element.ownerDocument.querySelectorAll("label");
  return Array.from(labels).filter((label) => label.control === element);
}
__name(getRealLabels, "getRealLabels");
function isLabelable(element) {
  return /BUTTON|METER|OUTPUT|PROGRESS|SELECT|TEXTAREA/.test(element.tagName) || element.tagName === "INPUT" && element.getAttribute("type") !== "hidden";
}
__name(isLabelable, "isLabelable");
function getLabels3(container, element, _temp) {
  let {
    selector = "*"
  } = _temp === void 0 ? {} : _temp;
  const ariaLabelledBy = element.getAttribute("aria-labelledby");
  const labelsId = ariaLabelledBy ? ariaLabelledBy.split(" ") : [];
  return labelsId.length ? labelsId.map((labelId) => {
    const labellingElement = container.querySelector('[id="' + labelId + '"]');
    return labellingElement ? {
      content: getLabelContent(labellingElement),
      formControl: null
    } : {
      content: "",
      formControl: null
    };
  }) : Array.from(getRealLabels(element)).map((label) => {
    const textToMatch = getLabelContent(label);
    const formControlSelector = "button, input, meter, output, progress, select, textarea";
    const labelledFormControl = Array.from(label.querySelectorAll(formControlSelector)).filter((formControlElement) => formControlElement.matches(selector))[0];
    return {
      content: textToMatch,
      formControl: labelledFormControl
    };
  });
}
__name(getLabels3, "getLabels");
function assertNotNullOrUndefined(matcher) {
  if (matcher === null || matcher === void 0) {
    throw new Error(
      // eslint-disable-next-line @typescript-eslint/restrict-template-expressions -- implicitly converting `T` to `string`
      "It looks like " + matcher + " was passed instead of a matcher. Did you do something like getByText(" + matcher + ")?"
    );
  }
}
__name(assertNotNullOrUndefined, "assertNotNullOrUndefined");
function fuzzyMatches(textToMatch, node2, matcher, normalizer) {
  if (typeof textToMatch !== "string") {
    return false;
  }
  assertNotNullOrUndefined(matcher);
  const normalizedText = normalizer(textToMatch);
  if (typeof matcher === "string" || typeof matcher === "number") {
    return normalizedText.toLowerCase().includes(matcher.toString().toLowerCase());
  } else if (typeof matcher === "function") {
    return matcher(normalizedText, node2);
  } else {
    return matchRegExp(matcher, normalizedText);
  }
}
__name(fuzzyMatches, "fuzzyMatches");
function matches3(textToMatch, node2, matcher, normalizer) {
  if (typeof textToMatch !== "string") {
    return false;
  }
  assertNotNullOrUndefined(matcher);
  const normalizedText = normalizer(textToMatch);
  if (matcher instanceof Function) {
    return matcher(normalizedText, node2);
  } else if (matcher instanceof RegExp) {
    return matchRegExp(matcher, normalizedText);
  } else {
    return normalizedText === String(matcher);
  }
}
__name(matches3, "matches");
function getDefaultNormalizer(_temp) {
  let {
    trim: trim2 = true,
    collapseWhitespace = true
  } = _temp === void 0 ? {} : _temp;
  return (text) => {
    let normalizedText = text;
    normalizedText = trim2 ? normalizedText.trim() : normalizedText;
    normalizedText = collapseWhitespace ? normalizedText.replace(/\s+/g, " ") : normalizedText;
    return normalizedText;
  };
}
__name(getDefaultNormalizer, "getDefaultNormalizer");
function makeNormalizer(_ref) {
  let {
    trim: trim2,
    collapseWhitespace,
    normalizer
  } = _ref;
  if (!normalizer) {
    return getDefaultNormalizer({
      trim: trim2,
      collapseWhitespace
    });
  }
  if (typeof trim2 !== "undefined" || typeof collapseWhitespace !== "undefined") {
    throw new Error('trim and collapseWhitespace are not supported with a normalizer. If you want to use the default trim and collapseWhitespace logic in your normalizer, use "getDefaultNormalizer({trim, collapseWhitespace})" and compose that into your normalizer');
  }
  return normalizer;
}
__name(makeNormalizer, "makeNormalizer");
function matchRegExp(matcher, text) {
  const match3 = matcher.test(text);
  if (matcher.global && matcher.lastIndex !== 0) {
    console.warn("To match all elements we had to reset the lastIndex of the RegExp because the global flag is enabled. We encourage to remove the global flag from the RegExp.");
    matcher.lastIndex = 0;
  }
  return match3;
}
__name(matchRegExp, "matchRegExp");
function getNodeText(node2) {
  if (node2.matches("input[type=submit], input[type=button], input[type=reset]")) {
    return node2.value;
  }
  return Array.from(node2.childNodes).filter((child) => child.nodeType === TEXT_NODE2 && Boolean(child.textContent)).map((c2) => c2.textContent).join("");
}
__name(getNodeText, "getNodeText");
var elementRoleList2 = buildElementRoleList2(import_aria_query3.elementRoles);
function isSubtreeInaccessible(element) {
  if (element.hidden === true) {
    return true;
  }
  if (element.getAttribute("aria-hidden") === "true") {
    return true;
  }
  const window2 = element.ownerDocument.defaultView;
  if (window2.getComputedStyle(element).display === "none") {
    return true;
  }
  return false;
}
__name(isSubtreeInaccessible, "isSubtreeInaccessible");
function isInaccessible(element, options) {
  if (options === void 0) {
    options = {};
  }
  const {
    isSubtreeInaccessible: isSubtreeInaccessibleImpl = isSubtreeInaccessible
  } = options;
  const window2 = element.ownerDocument.defaultView;
  if (window2.getComputedStyle(element).visibility === "hidden") {
    return true;
  }
  let currentElement = element;
  while (currentElement) {
    if (isSubtreeInaccessibleImpl(currentElement)) {
      return true;
    }
    currentElement = currentElement.parentElement;
  }
  return false;
}
__name(isInaccessible, "isInaccessible");
function getImplicitAriaRoles2(currentNode) {
  for (const {
    match: match3,
    roles: roles3
  } of elementRoleList2) {
    if (match3(currentNode)) {
      return [...roles3];
    }
  }
  return [];
}
__name(getImplicitAriaRoles2, "getImplicitAriaRoles");
function buildElementRoleList2(elementRolesMap) {
  function makeElementSelector(_ref) {
    let {
      name,
      attributes
    } = _ref;
    return "" + name + attributes.map((_ref2) => {
      let {
        name: attributeName,
        value,
        constraints = []
      } = _ref2;
      const shouldNotExist = constraints.indexOf("undefined") !== -1;
      const shouldBeNonEmpty = constraints.indexOf("set") !== -1;
      const hasExplicitValue = typeof value !== "undefined";
      if (hasExplicitValue) {
        return "[" + attributeName + '="' + value + '"]';
      } else if (shouldNotExist) {
        return ":not([" + attributeName + "])";
      } else if (shouldBeNonEmpty) {
        return "[" + attributeName + "]:not([" + attributeName + '=""])';
      }
      return "[" + attributeName + "]";
    }).join("");
  }
  __name(makeElementSelector, "makeElementSelector");
  function getSelectorSpecificity(_ref3) {
    let {
      attributes = []
    } = _ref3;
    return attributes.length;
  }
  __name(getSelectorSpecificity, "getSelectorSpecificity");
  function bySelectorSpecificity(_ref4, _ref5) {
    let {
      specificity: leftSpecificity
    } = _ref4;
    let {
      specificity: rightSpecificity
    } = _ref5;
    return rightSpecificity - leftSpecificity;
  }
  __name(bySelectorSpecificity, "bySelectorSpecificity");
  function match3(element) {
    let {
      attributes = []
    } = element;
    const typeTextIndex = attributes.findIndex((attribute) => attribute.value && attribute.name === "type" && attribute.value === "text");
    if (typeTextIndex >= 0) {
      attributes = [...attributes.slice(0, typeTextIndex), ...attributes.slice(typeTextIndex + 1)];
    }
    const selector = makeElementSelector({
      ...element,
      attributes
    });
    return (node2) => {
      if (typeTextIndex >= 0 && node2.type !== "text") {
        return false;
      }
      return node2.matches(selector);
    };
  }
  __name(match3, "match");
  let result = [];
  for (const [element, roles3] of elementRolesMap.entries()) {
    result = [...result, {
      match: match3(element),
      roles: Array.from(roles3),
      specificity: getSelectorSpecificity(element)
    }];
  }
  return result.sort(bySelectorSpecificity);
}
__name(buildElementRoleList2, "buildElementRoleList");
function getRoles(container, _temp) {
  let {
    hidden = false
  } = _temp === void 0 ? {} : _temp;
  function flattenDOM(node2) {
    return [node2, ...Array.from(node2.children).reduce((acc, child) => [...acc, ...flattenDOM(child)], [])];
  }
  __name(flattenDOM, "flattenDOM");
  return flattenDOM(container).filter((element) => {
    return hidden === false ? isInaccessible(element) === false : true;
  }).reduce((acc, node2) => {
    let roles3 = [];
    if (node2.hasAttribute("role")) {
      roles3 = node2.getAttribute("role").split(" ").slice(0, 1);
    } else {
      roles3 = getImplicitAriaRoles2(node2);
    }
    return roles3.reduce((rolesAcc, role) => Array.isArray(rolesAcc[role]) ? {
      ...rolesAcc,
      [role]: [...rolesAcc[role], node2]
    } : {
      ...rolesAcc,
      [role]: [node2]
    }, acc);
  }, {});
}
__name(getRoles, "getRoles");
function prettyRoles(dom, _ref6) {
  let {
    hidden,
    includeDescription
  } = _ref6;
  const roles3 = getRoles(dom, {
    hidden
  });
  return Object.entries(roles3).filter((_ref7) => {
    let [role] = _ref7;
    return role !== "generic";
  }).map((_ref8) => {
    let [role, elements] = _ref8;
    const delimiterBar = "-".repeat(50);
    const elementsString = elements.map((el) => {
      const nameString = 'Name "' + computeAccessibleName2(el, {
        computedStyleSupportsPseudoElements: getConfig2().computedStyleSupportsPseudoElements
      }) + '":\n';
      const domString = prettyDOM(el.cloneNode(false));
      if (includeDescription) {
        const descriptionString = 'Description "' + computeAccessibleDescription2(el, {
          computedStyleSupportsPseudoElements: getConfig2().computedStyleSupportsPseudoElements
        }) + '":\n';
        return "" + nameString + descriptionString + domString;
      }
      return "" + nameString + domString;
    }).join("\n\n");
    return role + ":\n\n" + elementsString + "\n\n" + delimiterBar;
  }).join("\n");
}
__name(prettyRoles, "prettyRoles");
var logRoles = /* @__PURE__ */ __name(function(dom, _temp2) {
  let {
    hidden = false
  } = _temp2 === void 0 ? {} : _temp2;
  return console.log(prettyRoles(dom, {
    hidden
  }));
}, "logRoles");
function computeAriaSelected(element) {
  if (element.tagName === "OPTION") {
    return element.selected;
  }
  return checkBooleanAttribute(element, "aria-selected");
}
__name(computeAriaSelected, "computeAriaSelected");
function computeAriaBusy(element) {
  return element.getAttribute("aria-busy") === "true";
}
__name(computeAriaBusy, "computeAriaBusy");
function computeAriaChecked(element) {
  if ("indeterminate" in element && element.indeterminate) {
    return void 0;
  }
  if ("checked" in element) {
    return element.checked;
  }
  return checkBooleanAttribute(element, "aria-checked");
}
__name(computeAriaChecked, "computeAriaChecked");
function computeAriaPressed(element) {
  return checkBooleanAttribute(element, "aria-pressed");
}
__name(computeAriaPressed, "computeAriaPressed");
function computeAriaCurrent(element) {
  var _ref9, _checkBooleanAttribut;
  return (_ref9 = (_checkBooleanAttribut = checkBooleanAttribute(element, "aria-current")) != null ? _checkBooleanAttribut : element.getAttribute("aria-current")) != null ? _ref9 : false;
}
__name(computeAriaCurrent, "computeAriaCurrent");
function computeAriaExpanded(element) {
  return checkBooleanAttribute(element, "aria-expanded");
}
__name(computeAriaExpanded, "computeAriaExpanded");
function checkBooleanAttribute(element, attribute) {
  const attributeValue = element.getAttribute(attribute);
  if (attributeValue === "true") {
    return true;
  }
  if (attributeValue === "false") {
    return false;
  }
  return void 0;
}
__name(checkBooleanAttribute, "checkBooleanAttribute");
function computeHeadingLevel(element) {
  const implicitHeadingLevels = {
    H1: 1,
    H2: 2,
    H3: 3,
    H4: 4,
    H5: 5,
    H6: 6
  };
  const ariaLevelAttribute = element.getAttribute("aria-level") && Number(element.getAttribute("aria-level"));
  return ariaLevelAttribute || implicitHeadingLevels[element.tagName];
}
__name(computeHeadingLevel, "computeHeadingLevel");
function computeAriaValueNow(element) {
  const valueNow = element.getAttribute("aria-valuenow");
  return valueNow === null ? void 0 : +valueNow;
}
__name(computeAriaValueNow, "computeAriaValueNow");
function computeAriaValueMax(element) {
  const valueMax = element.getAttribute("aria-valuemax");
  return valueMax === null ? void 0 : +valueMax;
}
__name(computeAriaValueMax, "computeAriaValueMax");
function computeAriaValueMin(element) {
  const valueMin = element.getAttribute("aria-valuemin");
  return valueMin === null ? void 0 : +valueMin;
}
__name(computeAriaValueMin, "computeAriaValueMin");
function computeAriaValueText(element) {
  const valueText = element.getAttribute("aria-valuetext");
  return valueText === null ? void 0 : valueText;
}
__name(computeAriaValueText, "computeAriaValueText");
var normalize2 = getDefaultNormalizer();
function escapeRegExp(string) {
  return string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&");
}
__name(escapeRegExp, "escapeRegExp");
function getRegExpMatcher(string) {
  return new RegExp(escapeRegExp(string.toLowerCase()), "i");
}
__name(getRegExpMatcher, "getRegExpMatcher");
function makeSuggestion(queryName, element, content, _ref) {
  let {
    variant,
    name
  } = _ref;
  let warning3 = "";
  const queryOptions = {};
  const queryArgs = [["Role", "TestId"].includes(queryName) ? content : getRegExpMatcher(content)];
  if (name) {
    queryOptions.name = getRegExpMatcher(name);
  }
  if (queryName === "Role" && isInaccessible(element)) {
    queryOptions.hidden = true;
    warning3 = "Element is inaccessible. This means that the element and all its children are invisible to screen readers.\n    If you are using the aria-hidden prop, make sure this is the right choice for your case.\n    ";
  }
  if (Object.keys(queryOptions).length > 0) {
    queryArgs.push(queryOptions);
  }
  const queryMethod = variant + "By" + queryName;
  return {
    queryName,
    queryMethod,
    queryArgs,
    variant,
    warning: warning3,
    toString() {
      if (warning3) {
        console.warn(warning3);
      }
      let [text, options] = queryArgs;
      text = typeof text === "string" ? "'" + text + "'" : text;
      options = options ? ", { " + Object.entries(options).map((_ref2) => {
        let [k, v] = _ref2;
        return k + ": " + v;
      }).join(", ") + " }" : "";
      return queryMethod + "(" + text + options + ")";
    }
  };
}
__name(makeSuggestion, "makeSuggestion");
function canSuggest(currentMethod, requestedMethod, data) {
  return data && (!requestedMethod || requestedMethod.toLowerCase() === currentMethod.toLowerCase());
}
__name(canSuggest, "canSuggest");
function getSuggestedQuery(element, variant, method) {
  var _element$getAttribute, _getImplicitAriaRoles;
  if (variant === void 0) {
    variant = "get";
  }
  if (element.matches(getConfig2().defaultIgnore)) {
    return void 0;
  }
  const role = (_element$getAttribute = element.getAttribute("role")) != null ? _element$getAttribute : (_getImplicitAriaRoles = getImplicitAriaRoles2(element)) == null ? void 0 : _getImplicitAriaRoles[0];
  if (role !== "generic" && canSuggest("Role", method, role)) {
    return makeSuggestion("Role", element, role, {
      variant,
      name: computeAccessibleName2(element, {
        computedStyleSupportsPseudoElements: getConfig2().computedStyleSupportsPseudoElements
      })
    });
  }
  const labelText = getLabels3(document, element).map((label) => label.content).join(" ");
  if (canSuggest("LabelText", method, labelText)) {
    return makeSuggestion("LabelText", element, labelText, {
      variant
    });
  }
  const placeholderText = element.getAttribute("placeholder");
  if (canSuggest("PlaceholderText", method, placeholderText)) {
    return makeSuggestion("PlaceholderText", element, placeholderText, {
      variant
    });
  }
  const textContent = normalize2(getNodeText(element));
  if (canSuggest("Text", method, textContent)) {
    return makeSuggestion("Text", element, textContent, {
      variant
    });
  }
  if (canSuggest("DisplayValue", method, element.value)) {
    return makeSuggestion("DisplayValue", element, normalize2(element.value), {
      variant
    });
  }
  const alt = element.getAttribute("alt");
  if (canSuggest("AltText", method, alt)) {
    return makeSuggestion("AltText", element, alt, {
      variant
    });
  }
  const title = element.getAttribute("title");
  if (canSuggest("Title", method, title)) {
    return makeSuggestion("Title", element, title, {
      variant
    });
  }
  const testId = element.getAttribute(getConfig2().testIdAttribute);
  if (canSuggest("TestId", method, testId)) {
    return makeSuggestion("TestId", element, testId, {
      variant
    });
  }
  return void 0;
}
__name(getSuggestedQuery, "getSuggestedQuery");
function copyStackTrace(target, source) {
  target.stack = source.stack.replace(source.message, target.message);
}
__name(copyStackTrace, "copyStackTrace");
function waitFor(callback, _ref) {
  let {
    container = getDocument(),
    timeout = getConfig2().asyncUtilTimeout,
    showOriginalStackTrace = getConfig2().showOriginalStackTrace,
    stackTraceError,
    interval = 50,
    onTimeout = /* @__PURE__ */ __name((error) => {
      Object.defineProperty(error, "message", {
        value: getConfig2().getElementError(error.message, container).message
      });
      return error;
    }, "onTimeout"),
    mutationObserverOptions = {
      subtree: true,
      childList: true,
      attributes: true,
      characterData: true
    }
  } = _ref;
  if (typeof callback !== "function") {
    throw new TypeError("Received `callback` arg must be a function");
  }
  return new Promise(async (resolve, reject) => {
    let lastError, intervalId, observer;
    let finished = false;
    let promiseStatus = "idle";
    const overallTimeoutTimer = setTimeout(handleTimeout, timeout);
    const usingJestFakeTimers = jestFakeTimersAreEnabled();
    if (usingJestFakeTimers) {
      const {
        unstable_advanceTimersWrapper: advanceTimersWrapper
      } = getConfig2();
      checkCallback();
      while (!finished) {
        if (!jestFakeTimersAreEnabled()) {
          const error = new Error("Changed from using fake timers to real timers while using waitFor. This is not allowed and will result in very strange behavior. Please ensure you're awaiting all async things your test is doing before changing to real timers. For more info, please go to https://github.com/testing-library/dom-testing-library/issues/830");
          if (!showOriginalStackTrace) copyStackTrace(error, stackTraceError);
          reject(error);
          return;
        }
        await advanceTimersWrapper(async () => {
          jest.advanceTimersByTime(interval);
        });
        if (finished) {
          break;
        }
        checkCallback();
      }
    } else {
      try {
        checkContainerType(container);
      } catch (e2) {
        reject(e2);
        return;
      }
      intervalId = setInterval(checkRealTimersCallback, interval);
      const {
        MutationObserver: MutationObserver2
      } = getWindowFromNode(container);
      observer = new MutationObserver2(checkRealTimersCallback);
      observer.observe(container, mutationObserverOptions);
      checkCallback();
    }
    function onDone(error, result) {
      finished = true;
      clearTimeout(overallTimeoutTimer);
      if (!usingJestFakeTimers) {
        clearInterval(intervalId);
        observer.disconnect();
      }
      if (error) {
        reject(error);
      } else {
        resolve(result);
      }
    }
    __name(onDone, "onDone");
    function checkRealTimersCallback() {
      if (jestFakeTimersAreEnabled()) {
        const error = new Error("Changed from using real timers to fake timers while using waitFor. This is not allowed and will result in very strange behavior. Please ensure you're awaiting all async things your test is doing before changing to fake timers. For more info, please go to https://github.com/testing-library/dom-testing-library/issues/830");
        if (!showOriginalStackTrace) copyStackTrace(error, stackTraceError);
        return reject(error);
      } else {
        return checkCallback();
      }
    }
    __name(checkRealTimersCallback, "checkRealTimersCallback");
    function checkCallback() {
      if (promiseStatus === "pending") return;
      try {
        const result = runWithExpensiveErrorDiagnosticsDisabled(callback);
        if (typeof (result == null ? void 0 : result.then) === "function") {
          promiseStatus = "pending";
          result.then((resolvedValue) => {
            promiseStatus = "resolved";
            onDone(null, resolvedValue);
          }, (rejectedValue) => {
            promiseStatus = "rejected";
            lastError = rejectedValue;
          });
        } else {
          onDone(null, result);
        }
      } catch (error) {
        lastError = error;
      }
    }
    __name(checkCallback, "checkCallback");
    function handleTimeout() {
      let error;
      if (lastError) {
        error = lastError;
        if (!showOriginalStackTrace && error.name === "TestingLibraryElementError") {
          copyStackTrace(error, stackTraceError);
        }
      } else {
        error = new Error("Timed out in waitFor.");
        if (!showOriginalStackTrace) {
          copyStackTrace(error, stackTraceError);
        }
      }
      onDone(onTimeout(error), null);
    }
    __name(handleTimeout, "handleTimeout");
  });
}
__name(waitFor, "waitFor");
function waitForWrapper(callback, options) {
  const stackTraceError = new Error("STACK_TRACE_MESSAGE");
  return getConfig2().asyncWrapper(() => waitFor(callback, {
    stackTraceError,
    ...options
  }));
}
__name(waitForWrapper, "waitForWrapper");
function getElementError(message, container) {
  return getConfig2().getElementError(message, container);
}
__name(getElementError, "getElementError");
function getMultipleElementsFoundError(message, container) {
  return getElementError(message + "\n\n(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or `findAllByText`)).", container);
}
__name(getMultipleElementsFoundError, "getMultipleElementsFoundError");
function queryAllByAttribute(attribute, container, text, _temp) {
  let {
    exact = true,
    collapseWhitespace,
    trim: trim2,
    normalizer
  } = _temp === void 0 ? {} : _temp;
  const matcher = exact ? matches3 : fuzzyMatches;
  const matchNormalizer = makeNormalizer({
    collapseWhitespace,
    trim: trim2,
    normalizer
  });
  return Array.from(container.querySelectorAll("[" + attribute + "]")).filter((node2) => matcher(node2.getAttribute(attribute), node2, text, matchNormalizer));
}
__name(queryAllByAttribute, "queryAllByAttribute");
function queryByAttribute(attribute, container, text, options) {
  const els = queryAllByAttribute(attribute, container, text, options);
  if (els.length > 1) {
    throw getMultipleElementsFoundError("Found multiple elements by [" + attribute + "=" + text + "]", container);
  }
  return els[0] || null;
}
__name(queryByAttribute, "queryByAttribute");
function makeSingleQuery(allQuery, getMultipleError2) {
  return function(container) {
    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
      args[_key - 1] = arguments[_key];
    }
    const els = allQuery(container, ...args);
    if (els.length > 1) {
      const elementStrings = els.map((element) => getElementError(null, element).message).join("\n\n");
      throw getMultipleElementsFoundError(getMultipleError2(container, ...args) + "\n\nHere are the matching elements:\n\n" + elementStrings, container);
    }
    return els[0] || null;
  };
}
__name(makeSingleQuery, "makeSingleQuery");
function getSuggestionError(suggestion, container) {
  return getConfig2().getElementError("A better query is available, try this:\n" + suggestion.toString() + "\n", container);
}
__name(getSuggestionError, "getSuggestionError");
function makeGetAllQuery(allQuery, getMissingError2) {
  return function(container) {
    for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
      args[_key2 - 1] = arguments[_key2];
    }
    const els = allQuery(container, ...args);
    if (!els.length) {
      throw getConfig2().getElementError(getMissingError2(container, ...args), container);
    }
    return els;
  };
}
__name(makeGetAllQuery, "makeGetAllQuery");
function makeFindQuery(getter) {
  return (container, text, options, waitForOptions) => {
    return waitForWrapper(() => {
      return getter(container, text, options);
    }, {
      container,
      ...waitForOptions
    });
  };
}
__name(makeFindQuery, "makeFindQuery");
var wrapSingleQueryWithSuggestion = /* @__PURE__ */ __name((query, queryAllByName, variant) => function(container) {
  for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
    args[_key3 - 1] = arguments[_key3];
  }
  const element = query(container, ...args);
  const [{
    suggest = getConfig2().throwSuggestions
  } = {}] = args.slice(-1);
  if (element && suggest) {
    const suggestion = getSuggestedQuery(element, variant);
    if (suggestion && !queryAllByName.endsWith(suggestion.queryName)) {
      throw getSuggestionError(suggestion.toString(), container);
    }
  }
  return element;
}, "wrapSingleQueryWithSuggestion");
var wrapAllByQueryWithSuggestion = /* @__PURE__ */ __name((query, queryAllByName, variant) => function(container) {
  for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
    args[_key4 - 1] = arguments[_key4];
  }
  const els = query(container, ...args);
  const [{
    suggest = getConfig2().throwSuggestions
  } = {}] = args.slice(-1);
  if (els.length && suggest) {
    const uniqueSuggestionMessages = [...new Set(els.map((element) => {
      var _getSuggestedQuery;
      return (_getSuggestedQuery = getSuggestedQuery(element, variant)) == null ? void 0 : _getSuggestedQuery.toString();
    }))];
    if (
      // only want to suggest if all the els have the same suggestion.
      uniqueSuggestionMessages.length === 1 && !queryAllByName.endsWith(
        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- TODO: Can this be null at runtime?
        getSuggestedQuery(els[0], variant).queryName
      )
    ) {
      throw getSuggestionError(uniqueSuggestionMessages[0], container);
    }
  }
  return els;
}, "wrapAllByQueryWithSuggestion");
function buildQueries(queryAllBy, getMultipleError2, getMissingError2) {
  const queryBy = wrapSingleQueryWithSuggestion(makeSingleQuery(queryAllBy, getMultipleError2), queryAllBy.name, "query");
  const getAllBy = makeGetAllQuery(queryAllBy, getMissingError2);
  const getBy = makeSingleQuery(getAllBy, getMultipleError2);
  const getByWithSuggestions = wrapSingleQueryWithSuggestion(getBy, queryAllBy.name, "get");
  const getAllWithSuggestions = wrapAllByQueryWithSuggestion(getAllBy, queryAllBy.name.replace("query", "get"), "getAll");
  const findAllBy = makeFindQuery(wrapAllByQueryWithSuggestion(getAllBy, queryAllBy.name, "findAll"));
  const findBy = makeFindQuery(wrapSingleQueryWithSuggestion(getBy, queryAllBy.name, "find"));
  return [queryBy, getAllWithSuggestions, getByWithSuggestions, findAllBy, findBy];
}
__name(buildQueries, "buildQueries");
var queryHelpers = Object.freeze({
  __proto__: null,
  getElementError,
  wrapAllByQueryWithSuggestion,
  wrapSingleQueryWithSuggestion,
  getMultipleElementsFoundError,
  queryAllByAttribute,
  queryByAttribute,
  makeSingleQuery,
  makeGetAllQuery,
  makeFindQuery,
  buildQueries
});
function queryAllLabels(container) {
  return Array.from(container.querySelectorAll("label,input")).map((node2) => {
    return {
      node: node2,
      textToMatch: getLabelContent(node2)
    };
  }).filter((_ref) => {
    let {
      textToMatch
    } = _ref;
    return textToMatch !== null;
  });
}
__name(queryAllLabels, "queryAllLabels");
var queryAllLabelsByText = /* @__PURE__ */ __name(function(container, text, _temp) {
  let {
    exact = true,
    trim: trim2,
    collapseWhitespace,
    normalizer
  } = _temp === void 0 ? {} : _temp;
  const matcher = exact ? matches3 : fuzzyMatches;
  const matchNormalizer = makeNormalizer({
    collapseWhitespace,
    trim: trim2,
    normalizer
  });
  const textToMatchByLabels = queryAllLabels(container);
  return textToMatchByLabels.filter((_ref2) => {
    let {
      node: node2,
      textToMatch
    } = _ref2;
    return matcher(textToMatch, node2, text, matchNormalizer);
  }).map((_ref3) => {
    let {
      node: node2
    } = _ref3;
    return node2;
  });
}, "queryAllLabelsByText");
var queryAllByLabelText = /* @__PURE__ */ __name(function(container, text, _temp2) {
  let {
    selector = "*",
    exact = true,
    collapseWhitespace,
    trim: trim2,
    normalizer
  } = _temp2 === void 0 ? {} : _temp2;
  checkContainerType(container);
  const matcher = exact ? matches3 : fuzzyMatches;
  const matchNormalizer = makeNormalizer({
    collapseWhitespace,
    trim: trim2,
    normalizer
  });
  const matchingLabelledElements = Array.from(container.querySelectorAll("*")).filter((element) => {
    return getRealLabels(element).length || element.hasAttribute("aria-labelledby");
  }).reduce((labelledElements, labelledElement) => {
    const labelList = getLabels3(container, labelledElement, {
      selector
    });
    labelList.filter((label) => Boolean(label.formControl)).forEach((label) => {
      if (matcher(label.content, label.formControl, text, matchNormalizer) && label.formControl) {
        labelledElements.push(label.formControl);
      }
    });
    const labelsValue = labelList.filter((label) => Boolean(label.content)).map((label) => label.content);
    if (matcher(labelsValue.join(" "), labelledElement, text, matchNormalizer)) {
      labelledElements.push(labelledElement);
    }
    if (labelsValue.length > 1) {
      labelsValue.forEach((labelValue, index4) => {
        if (matcher(labelValue, labelledElement, text, matchNormalizer)) {
          labelledElements.push(labelledElement);
        }
        const labelsFiltered = [...labelsValue];
        labelsFiltered.splice(index4, 1);
        if (labelsFiltered.length > 1) {
          if (matcher(labelsFiltered.join(" "), labelledElement, text, matchNormalizer)) {
            labelledElements.push(labelledElement);
          }
        }
      });
    }
    return labelledElements;
  }, []).concat(queryAllByAttribute("aria-label", container, text, {
    exact,
    normalizer: matchNormalizer
  }));
  return Array.from(new Set(matchingLabelledElements)).filter((element) => element.matches(selector));
}, "queryAllByLabelText");
var getAllByLabelText = /* @__PURE__ */ __name(function(container, text) {
  for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
    rest[_key - 2] = arguments[_key];
  }
  const els = queryAllByLabelText(container, text, ...rest);
  if (!els.length) {
    const labels = queryAllLabelsByText(container, text, ...rest);
    if (labels.length) {
      const tagNames = labels.map((label) => getTagNameOfElementAssociatedWithLabelViaFor(container, label)).filter((tagName) => !!tagName);
      if (tagNames.length) {
        throw getConfig2().getElementError(tagNames.map((tagName) => "Found a label with the text of: " + text + ", however the element associated with this label (<" + tagName + " />) is non-labellable [https://html.spec.whatwg.org/multipage/forms.html#category-label]. If you really need to label a <" + tagName + " />, you can use aria-label or aria-labelledby instead.").join("\n\n"), container);
      } else {
        throw getConfig2().getElementError("Found a label with the text of: " + text + `, however no form control was found associated to that label. Make sure you're using the "for" attribute or "aria-labelledby" attribute correctly.`, container);
      }
    } else {
      throw getConfig2().getElementError("Unable to find a label with the text of: " + text, container);
    }
  }
  return els;
}, "getAllByLabelText");
function getTagNameOfElementAssociatedWithLabelViaFor(container, label) {
  const htmlFor = label.getAttribute("for");
  if (!htmlFor) {
    return null;
  }
  const element = container.querySelector('[id="' + htmlFor + '"]');
  return element ? element.tagName.toLowerCase() : null;
}
__name(getTagNameOfElementAssociatedWithLabelViaFor, "getTagNameOfElementAssociatedWithLabelViaFor");
var getMultipleError$7 = /* @__PURE__ */ __name((c2, text) => "Found multiple elements with the text of: " + text, "getMultipleError$7");
var queryByLabelText = wrapSingleQueryWithSuggestion(makeSingleQuery(queryAllByLabelText, getMultipleError$7), queryAllByLabelText.name, "query");
var getByLabelText = makeSingleQuery(getAllByLabelText, getMultipleError$7);
var findAllByLabelText = makeFindQuery(wrapAllByQueryWithSuggestion(getAllByLabelText, getAllByLabelText.name, "findAll"));
var findByLabelText = makeFindQuery(wrapSingleQueryWithSuggestion(getByLabelText, getAllByLabelText.name, "find"));
var getAllByLabelTextWithSuggestions = wrapAllByQueryWithSuggestion(getAllByLabelText, getAllByLabelText.name, "getAll");
var getByLabelTextWithSuggestions = wrapSingleQueryWithSuggestion(getByLabelText, getAllByLabelText.name, "get");
var queryAllByLabelTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByLabelText, queryAllByLabelText.name, "queryAll");
var queryAllByPlaceholderText = /* @__PURE__ */ __name(function() {
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
    args[_key] = arguments[_key];
  }
  checkContainerType(args[0]);
  return queryAllByAttribute("placeholder", ...args);
}, "queryAllByPlaceholderText");
var getMultipleError$6 = /* @__PURE__ */ __name((c2, text) => "Found multiple elements with the placeholder text of: " + text, "getMultipleError$6");
var getMissingError$6 = /* @__PURE__ */ __name((c2, text) => "Unable to find an element with the placeholder text of: " + text, "getMissingError$6");
var queryAllByPlaceholderTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByPlaceholderText, queryAllByPlaceholderText.name, "queryAll");
var [queryByPlaceholderText, getAllByPlaceholderText, getByPlaceholderText, findAllByPlaceholderText, findByPlaceholderText] = buildQueries(queryAllByPlaceholderText, getMultipleError$6, getMissingError$6);
var queryAllByText = /* @__PURE__ */ __name(function(container, text, _temp) {
  let {
    selector = "*",
    exact = true,
    collapseWhitespace,
    trim: trim2,
    ignore = getConfig2().defaultIgnore,
    normalizer
  } = _temp === void 0 ? {} : _temp;
  checkContainerType(container);
  const matcher = exact ? matches3 : fuzzyMatches;
  const matchNormalizer = makeNormalizer({
    collapseWhitespace,
    trim: trim2,
    normalizer
  });
  let baseArray = [];
  if (typeof container.matches === "function" && container.matches(selector)) {
    baseArray = [container];
  }
  return [...baseArray, ...Array.from(container.querySelectorAll(selector))].filter((node2) => !ignore || !node2.matches(ignore)).filter((node2) => matcher(getNodeText(node2), node2, text, matchNormalizer));
}, "queryAllByText");
var getMultipleError$5 = /* @__PURE__ */ __name((c2, text) => "Found multiple elements with the text: " + text, "getMultipleError$5");
var getMissingError$5 = /* @__PURE__ */ __name(function(c2, text, options) {
  if (options === void 0) {
    options = {};
  }
  const {
    collapseWhitespace,
    trim: trim2,
    normalizer,
    selector
  } = options;
  const matchNormalizer = makeNormalizer({
    collapseWhitespace,
    trim: trim2,
    normalizer
  });
  const normalizedText = matchNormalizer(text.toString());
  const isNormalizedDifferent = normalizedText !== text.toString();
  const isCustomSelector = (selector != null ? selector : "*") !== "*";
  return "Unable to find an element with the text: " + (isNormalizedDifferent ? normalizedText + " (normalized from '" + text + "')" : text) + (isCustomSelector ? ", which matches selector '" + selector + "'" : "") + ". This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.";
}, "getMissingError$5");
var queryAllByTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByText, queryAllByText.name, "queryAll");
var [queryByText, getAllByText, getByText, findAllByText, findByText] = buildQueries(queryAllByText, getMultipleError$5, getMissingError$5);
var queryAllByDisplayValue = /* @__PURE__ */ __name(function(container, value, _temp) {
  let {
    exact = true,
    collapseWhitespace,
    trim: trim2,
    normalizer
  } = _temp === void 0 ? {} : _temp;
  checkContainerType(container);
  const matcher = exact ? matches3 : fuzzyMatches;
  const matchNormalizer = makeNormalizer({
    collapseWhitespace,
    trim: trim2,
    normalizer
  });
  return Array.from(container.querySelectorAll("input,textarea,select")).filter((node2) => {
    if (node2.tagName === "SELECT") {
      const selectedOptions = Array.from(node2.options).filter((option) => option.selected);
      return selectedOptions.some((optionNode) => matcher(getNodeText(optionNode), optionNode, value, matchNormalizer));
    } else {
      return matcher(node2.value, node2, value, matchNormalizer);
    }
  });
}, "queryAllByDisplayValue");
var getMultipleError$4 = /* @__PURE__ */ __name((c2, value) => "Found multiple elements with the display value: " + value + ".", "getMultipleError$4");
var getMissingError$4 = /* @__PURE__ */ __name((c2, value) => "Unable to find an element with the display value: " + value + ".", "getMissingError$4");
var queryAllByDisplayValueWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByDisplayValue, queryAllByDisplayValue.name, "queryAll");
var [queryByDisplayValue, getAllByDisplayValue, getByDisplayValue, findAllByDisplayValue, findByDisplayValue] = buildQueries(queryAllByDisplayValue, getMultipleError$4, getMissingError$4);
var VALID_TAG_REGEXP = /^(img|input|area|.+-.+)$/i;
var queryAllByAltText = /* @__PURE__ */ __name(function(container, alt, options) {
  if (options === void 0) {
    options = {};
  }
  checkContainerType(container);
  return queryAllByAttribute("alt", container, alt, options).filter((node2) => VALID_TAG_REGEXP.test(node2.tagName));
}, "queryAllByAltText");
var getMultipleError$3 = /* @__PURE__ */ __name((c2, alt) => "Found multiple elements with the alt text: " + alt, "getMultipleError$3");
var getMissingError$3 = /* @__PURE__ */ __name((c2, alt) => "Unable to find an element with the alt text: " + alt, "getMissingError$3");
var queryAllByAltTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByAltText, queryAllByAltText.name, "queryAll");
var [queryByAltText, getAllByAltText, getByAltText, findAllByAltText, findByAltText] = buildQueries(queryAllByAltText, getMultipleError$3, getMissingError$3);
var isSvgTitle = /* @__PURE__ */ __name((node2) => {
  var _node$parentElement;
  return node2.tagName.toLowerCase() === "title" && ((_node$parentElement = node2.parentElement) == null ? void 0 : _node$parentElement.tagName.toLowerCase()) === "svg";
}, "isSvgTitle");
var queryAllByTitle = /* @__PURE__ */ __name(function(container, text, _temp) {
  let {
    exact = true,
    collapseWhitespace,
    trim: trim2,
    normalizer
  } = _temp === void 0 ? {} : _temp;
  checkContainerType(container);
  const matcher = exact ? matches3 : fuzzyMatches;
  const matchNormalizer = makeNormalizer({
    collapseWhitespace,
    trim: trim2,
    normalizer
  });
  return Array.from(container.querySelectorAll("[title], svg > title")).filter((node2) => matcher(node2.getAttribute("title"), node2, text, matchNormalizer) || isSvgTitle(node2) && matcher(getNodeText(node2), node2, text, matchNormalizer));
}, "queryAllByTitle");
var getMultipleError$2 = /* @__PURE__ */ __name((c2, title) => "Found multiple elements with the title: " + title + ".", "getMultipleError$2");
var getMissingError$2 = /* @__PURE__ */ __name((c2, title) => "Unable to find an element with the title: " + title + ".", "getMissingError$2");
var queryAllByTitleWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByTitle, queryAllByTitle.name, "queryAll");
var [queryByTitle, getAllByTitle, getByTitle, findAllByTitle, findByTitle] = buildQueries(queryAllByTitle, getMultipleError$2, getMissingError$2);
var queryAllByRole = /* @__PURE__ */ __name(function(container, role, _temp) {
  let {
    hidden = getConfig2().defaultHidden,
    name,
    description,
    queryFallbacks = false,
    selected,
    busy,
    checked,
    pressed,
    current,
    level,
    expanded,
    value: {
      now: valueNow,
      min: valueMin,
      max: valueMax,
      text: valueText
    } = {}
  } = _temp === void 0 ? {} : _temp;
  checkContainerType(container);
  if (selected !== void 0) {
    var _allRoles$get;
    if (((_allRoles$get = import_aria_query3.roles.get(role)) == null ? void 0 : _allRoles$get.props["aria-selected"]) === void 0) {
      throw new Error('"aria-selected" is not supported on role "' + role + '".');
    }
  }
  if (busy !== void 0) {
    var _allRoles$get2;
    if (((_allRoles$get2 = import_aria_query3.roles.get(role)) == null ? void 0 : _allRoles$get2.props["aria-busy"]) === void 0) {
      throw new Error('"aria-busy" is not supported on role "' + role + '".');
    }
  }
  if (checked !== void 0) {
    var _allRoles$get3;
    if (((_allRoles$get3 = import_aria_query3.roles.get(role)) == null ? void 0 : _allRoles$get3.props["aria-checked"]) === void 0) {
      throw new Error('"aria-checked" is not supported on role "' + role + '".');
    }
  }
  if (pressed !== void 0) {
    var _allRoles$get4;
    if (((_allRoles$get4 = import_aria_query3.roles.get(role)) == null ? void 0 : _allRoles$get4.props["aria-pressed"]) === void 0) {
      throw new Error('"aria-pressed" is not supported on role "' + role + '".');
    }
  }
  if (current !== void 0) {
    var _allRoles$get5;
    if (((_allRoles$get5 = import_aria_query3.roles.get(role)) == null ? void 0 : _allRoles$get5.props["aria-current"]) === void 0) {
      throw new Error('"aria-current" is not supported on role "' + role + '".');
    }
  }
  if (level !== void 0) {
    if (role !== "heading") {
      throw new Error('Role "' + role + '" cannot have "level" property.');
    }
  }
  if (valueNow !== void 0) {
    var _allRoles$get6;
    if (((_allRoles$get6 = import_aria_query3.roles.get(role)) == null ? void 0 : _allRoles$get6.props["aria-valuenow"]) === void 0) {
      throw new Error('"aria-valuenow" is not supported on role "' + role + '".');
    }
  }
  if (valueMax !== void 0) {
    var _allRoles$get7;
    if (((_allRoles$get7 = import_aria_query3.roles.get(role)) == null ? void 0 : _allRoles$get7.props["aria-valuemax"]) === void 0) {
      throw new Error('"aria-valuemax" is not supported on role "' + role + '".');
    }
  }
  if (valueMin !== void 0) {
    var _allRoles$get8;
    if (((_allRoles$get8 = import_aria_query3.roles.get(role)) == null ? void 0 : _allRoles$get8.props["aria-valuemin"]) === void 0) {
      throw new Error('"aria-valuemin" is not supported on role "' + role + '".');
    }
  }
  if (valueText !== void 0) {
    var _allRoles$get9;
    if (((_allRoles$get9 = import_aria_query3.roles.get(role)) == null ? void 0 : _allRoles$get9.props["aria-valuetext"]) === void 0) {
      throw new Error('"aria-valuetext" is not supported on role "' + role + '".');
    }
  }
  if (expanded !== void 0) {
    var _allRoles$get0;
    if (((_allRoles$get0 = import_aria_query3.roles.get(role)) == null ? void 0 : _allRoles$get0.props["aria-expanded"]) === void 0) {
      throw new Error('"aria-expanded" is not supported on role "' + role + '".');
    }
  }
  const subtreeIsInaccessibleCache = /* @__PURE__ */ new WeakMap();
  function cachedIsSubtreeInaccessible(element) {
    if (!subtreeIsInaccessibleCache.has(element)) {
      subtreeIsInaccessibleCache.set(element, isSubtreeInaccessible(element));
    }
    return subtreeIsInaccessibleCache.get(element);
  }
  __name(cachedIsSubtreeInaccessible, "cachedIsSubtreeInaccessible");
  return Array.from(container.querySelectorAll(
    // Only query elements that can be matched by the following filters
    makeRoleSelector(role)
  )).filter((node2) => {
    const isRoleSpecifiedExplicitly = node2.hasAttribute("role");
    if (isRoleSpecifiedExplicitly) {
      const roleValue = node2.getAttribute("role");
      if (queryFallbacks) {
        return roleValue.split(" ").filter(Boolean).some((roleAttributeToken) => roleAttributeToken === role);
      }
      const [firstRoleAttributeToken] = roleValue.split(" ");
      return firstRoleAttributeToken === role;
    }
    const implicitRoles = getImplicitAriaRoles2(node2);
    return implicitRoles.some((implicitRole) => {
      return implicitRole === role;
    });
  }).filter((element) => {
    if (selected !== void 0) {
      return selected === computeAriaSelected(element);
    }
    if (busy !== void 0) {
      return busy === computeAriaBusy(element);
    }
    if (checked !== void 0) {
      return checked === computeAriaChecked(element);
    }
    if (pressed !== void 0) {
      return pressed === computeAriaPressed(element);
    }
    if (current !== void 0) {
      return current === computeAriaCurrent(element);
    }
    if (expanded !== void 0) {
      return expanded === computeAriaExpanded(element);
    }
    if (level !== void 0) {
      return level === computeHeadingLevel(element);
    }
    if (valueNow !== void 0 || valueMax !== void 0 || valueMin !== void 0 || valueText !== void 0) {
      let valueMatches = true;
      if (valueNow !== void 0) {
        valueMatches && (valueMatches = valueNow === computeAriaValueNow(element));
      }
      if (valueMax !== void 0) {
        valueMatches && (valueMatches = valueMax === computeAriaValueMax(element));
      }
      if (valueMin !== void 0) {
        valueMatches && (valueMatches = valueMin === computeAriaValueMin(element));
      }
      if (valueText !== void 0) {
        var _computeAriaValueText;
        valueMatches && (valueMatches = matches3((_computeAriaValueText = computeAriaValueText(element)) != null ? _computeAriaValueText : null, element, valueText, (text) => text));
      }
      return valueMatches;
    }
    return true;
  }).filter((element) => {
    if (name === void 0) {
      return true;
    }
    return matches3(computeAccessibleName2(element, {
      computedStyleSupportsPseudoElements: getConfig2().computedStyleSupportsPseudoElements
    }), element, name, (text) => text);
  }).filter((element) => {
    if (description === void 0) {
      return true;
    }
    return matches3(computeAccessibleDescription2(element, {
      computedStyleSupportsPseudoElements: getConfig2().computedStyleSupportsPseudoElements
    }), element, description, (text) => text);
  }).filter((element) => {
    return hidden === false ? isInaccessible(element, {
      isSubtreeInaccessible: cachedIsSubtreeInaccessible
    }) === false : true;
  });
}, "queryAllByRole");
function makeRoleSelector(role) {
  var _roleElements$get;
  const explicitRoleSelector = '*[role~="' + role + '"]';
  const roleRelations = (_roleElements$get = import_aria_query3.roleElements.get(role)) != null ? _roleElements$get : /* @__PURE__ */ new Set();
  const implicitRoleSelectors = new Set(Array.from(roleRelations).map((_ref) => {
    let {
      name
    } = _ref;
    return name;
  }));
  return [explicitRoleSelector].concat(Array.from(implicitRoleSelectors)).join(",");
}
__name(makeRoleSelector, "makeRoleSelector");
var getNameHint = /* @__PURE__ */ __name((name) => {
  let nameHint = "";
  if (name === void 0) {
    nameHint = "";
  } else if (typeof name === "string") {
    nameHint = ' and name "' + name + '"';
  } else {
    nameHint = " and name `" + name + "`";
  }
  return nameHint;
}, "getNameHint");
var getMultipleError$1 = /* @__PURE__ */ __name(function(c2, role, _temp2) {
  let {
    name
  } = _temp2 === void 0 ? {} : _temp2;
  return 'Found multiple elements with the role "' + role + '"' + getNameHint(name);
}, "getMultipleError$1");
var getMissingError$1 = /* @__PURE__ */ __name(function(container, role, _temp3) {
  let {
    hidden = getConfig2().defaultHidden,
    name,
    description
  } = _temp3 === void 0 ? {} : _temp3;
  if (getConfig2()._disableExpensiveErrorDiagnostics) {
    return 'Unable to find role="' + role + '"' + getNameHint(name);
  }
  let roles3 = "";
  Array.from(container.children).forEach((childElement) => {
    roles3 += prettyRoles(childElement, {
      hidden,
      includeDescription: description !== void 0
    });
  });
  let roleMessage;
  if (roles3.length === 0) {
    if (hidden === false) {
      roleMessage = "There are no accessible roles. But there might be some inaccessible roles. If you wish to access them, then set the `hidden` option to `true`. Learn more about this here: https://testing-library.com/docs/dom-testing-library/api-queries#byrole";
    } else {
      roleMessage = "There are no available roles.";
    }
  } else {
    roleMessage = ("\nHere are the " + (hidden === false ? "accessible" : "available") + " roles:\n\n  " + roles3.replace(/\n/g, "\n  ").replace(/\n\s\s\n/g, "\n\n") + "\n").trim();
  }
  let nameHint = "";
  if (name === void 0) {
    nameHint = "";
  } else if (typeof name === "string") {
    nameHint = ' and name "' + name + '"';
  } else {
    nameHint = " and name `" + name + "`";
  }
  let descriptionHint = "";
  if (description === void 0) {
    descriptionHint = "";
  } else if (typeof description === "string") {
    descriptionHint = ' and description "' + description + '"';
  } else {
    descriptionHint = " and description `" + description + "`";
  }
  return ("\nUnable to find an " + (hidden === false ? "accessible " : "") + 'element with the role "' + role + '"' + nameHint + descriptionHint + "\n\n" + roleMessage).trim();
}, "getMissingError$1");
var queryAllByRoleWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByRole, queryAllByRole.name, "queryAll");
var [queryByRole, getAllByRole, getByRole, findAllByRole, findByRole] = buildQueries(queryAllByRole, getMultipleError$1, getMissingError$1);
var getTestIdAttribute = /* @__PURE__ */ __name(() => getConfig2().testIdAttribute, "getTestIdAttribute");
var queryAllByTestId = /* @__PURE__ */ __name(function() {
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
    args[_key] = arguments[_key];
  }
  checkContainerType(args[0]);
  return queryAllByAttribute(getTestIdAttribute(), ...args);
}, "queryAllByTestId");
var getMultipleError = /* @__PURE__ */ __name((c2, id) => "Found multiple elements by: [" + getTestIdAttribute() + '="' + id + '"]', "getMultipleError");
var getMissingError = /* @__PURE__ */ __name((c2, id) => "Unable to find an element by: [" + getTestIdAttribute() + '="' + id + '"]', "getMissingError");
var queryAllByTestIdWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByTestId, queryAllByTestId.name, "queryAll");
var [queryByTestId, getAllByTestId, getByTestId, findAllByTestId, findByTestId] = buildQueries(queryAllByTestId, getMultipleError, getMissingError);
var queries = Object.freeze({
  __proto__: null,
  queryAllByLabelText: queryAllByLabelTextWithSuggestions,
  queryByLabelText,
  getAllByLabelText: getAllByLabelTextWithSuggestions,
  getByLabelText: getByLabelTextWithSuggestions,
  findAllByLabelText,
  findByLabelText,
  queryByPlaceholderText,
  queryAllByPlaceholderText: queryAllByPlaceholderTextWithSuggestions,
  getByPlaceholderText,
  getAllByPlaceholderText,
  findAllByPlaceholderText,
  findByPlaceholderText,
  queryByText,
  queryAllByText: queryAllByTextWithSuggestions,
  getByText,
  getAllByText,
  findAllByText,
  findByText,
  queryByDisplayValue,
  queryAllByDisplayValue: queryAllByDisplayValueWithSuggestions,
  getByDisplayValue,
  getAllByDisplayValue,
  findAllByDisplayValue,
  findByDisplayValue,
  queryByAltText,
  queryAllByAltText: queryAllByAltTextWithSuggestions,
  getByAltText,
  getAllByAltText,
  findAllByAltText,
  findByAltText,
  queryByTitle,
  queryAllByTitle: queryAllByTitleWithSuggestions,
  getByTitle,
  getAllByTitle,
  findAllByTitle,
  findByTitle,
  queryByRole,
  queryAllByRole: queryAllByRoleWithSuggestions,
  getAllByRole,
  getByRole,
  findAllByRole,
  findByRole,
  queryByTestId,
  queryAllByTestId: queryAllByTestIdWithSuggestions,
  getByTestId,
  getAllByTestId,
  findAllByTestId,
  findByTestId
});
function getQueriesForElement(element, queries$1, initialValue2) {
  if (queries$1 === void 0) {
    queries$1 = queries;
  }
  if (initialValue2 === void 0) {
    initialValue2 = {};
  }
  return Object.keys(queries$1).reduce((helpers, key) => {
    const fn4 = queries$1[key];
    helpers[key] = fn4.bind(null, element);
    return helpers;
  }, initialValue2);
}
__name(getQueriesForElement, "getQueriesForElement");
var isRemoved = /* @__PURE__ */ __name((result) => !result || Array.isArray(result) && !result.length, "isRemoved");
function initialCheck(elements) {
  if (isRemoved(elements)) {
    throw new Error("The element(s) given to waitForElementToBeRemoved are already removed. waitForElementToBeRemoved requires that the element(s) exist(s) before waiting for removal.");
  }
}
__name(initialCheck, "initialCheck");
async function waitForElementToBeRemoved(callback, options) {
  const timeoutError = new Error("Timed out in waitForElementToBeRemoved.");
  if (typeof callback !== "function") {
    initialCheck(callback);
    const elements = Array.isArray(callback) ? callback : [callback];
    const getRemainingElements = elements.map((element) => {
      let parent = element.parentElement;
      if (parent === null) return () => null;
      while (parent.parentElement) parent = parent.parentElement;
      return () => parent.contains(element) ? element : null;
    });
    callback = /* @__PURE__ */ __name(() => getRemainingElements.map((c2) => c2()).filter(Boolean), "callback");
  }
  initialCheck(callback());
  return waitForWrapper(() => {
    let result;
    try {
      result = callback();
    } catch (error) {
      if (error.name === "TestingLibraryElementError") {
        return void 0;
      }
      throw error;
    }
    if (!isRemoved(result)) {
      throw timeoutError;
    }
    return void 0;
  }, options);
}
__name(waitForElementToBeRemoved, "waitForElementToBeRemoved");
var eventMap = {
  // Clipboard Events
  copy: {
    EventType: "ClipboardEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  cut: {
    EventType: "ClipboardEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  paste: {
    EventType: "ClipboardEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  // Composition Events
  compositionEnd: {
    EventType: "CompositionEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  compositionStart: {
    EventType: "CompositionEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  compositionUpdate: {
    EventType: "CompositionEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  // Keyboard Events
  keyDown: {
    EventType: "KeyboardEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      charCode: 0,
      composed: true
    }
  },
  keyPress: {
    EventType: "KeyboardEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      charCode: 0,
      composed: true
    }
  },
  keyUp: {
    EventType: "KeyboardEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      charCode: 0,
      composed: true
    }
  },
  // Focus Events
  focus: {
    EventType: "FocusEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false,
      composed: true
    }
  },
  blur: {
    EventType: "FocusEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false,
      composed: true
    }
  },
  focusIn: {
    EventType: "FocusEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  focusOut: {
    EventType: "FocusEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  // Form Events
  change: {
    EventType: "Event",
    defaultInit: {
      bubbles: true,
      cancelable: false
    }
  },
  input: {
    EventType: "InputEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  invalid: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: true
    }
  },
  submit: {
    EventType: "Event",
    defaultInit: {
      bubbles: true,
      cancelable: true
    }
  },
  reset: {
    EventType: "Event",
    defaultInit: {
      bubbles: true,
      cancelable: true
    }
  },
  // Mouse Events
  click: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      button: 0,
      composed: true
    }
  },
  contextMenu: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  dblClick: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  drag: {
    EventType: "DragEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  dragEnd: {
    EventType: "DragEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  dragEnter: {
    EventType: "DragEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  dragExit: {
    EventType: "DragEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  dragLeave: {
    EventType: "DragEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  dragOver: {
    EventType: "DragEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  dragStart: {
    EventType: "DragEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  drop: {
    EventType: "DragEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  mouseDown: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  mouseEnter: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false,
      composed: true
    }
  },
  mouseLeave: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false,
      composed: true
    }
  },
  mouseMove: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  mouseOut: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  mouseOver: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  mouseUp: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  // Selection Events
  select: {
    EventType: "Event",
    defaultInit: {
      bubbles: true,
      cancelable: false
    }
  },
  // Touch Events
  touchCancel: {
    EventType: "TouchEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  touchEnd: {
    EventType: "TouchEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  touchMove: {
    EventType: "TouchEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  touchStart: {
    EventType: "TouchEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  // UI Events
  resize: {
    EventType: "UIEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  scroll: {
    EventType: "UIEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  // Wheel Events
  wheel: {
    EventType: "WheelEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  // Media Events
  abort: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  canPlay: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  canPlayThrough: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  durationChange: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  emptied: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  encrypted: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  ended: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  loadedData: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  loadedMetadata: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  loadStart: {
    EventType: "ProgressEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  pause: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  play: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  playing: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  progress: {
    EventType: "ProgressEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  rateChange: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  seeked: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  seeking: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  stalled: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  suspend: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  timeUpdate: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  volumeChange: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  waiting: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  // Events
  load: {
    // TODO: load events can be UIEvent or Event depending on what generated them
    // This is where this abstraction breaks down.
    // But the common targets are <img />, <script /> and window.
    // Neither of these targets receive a UIEvent
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  error: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  // Animation Events
  animationStart: {
    EventType: "AnimationEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false
    }
  },
  animationEnd: {
    EventType: "AnimationEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false
    }
  },
  animationIteration: {
    EventType: "AnimationEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false
    }
  },
  // Transition Events
  transitionCancel: {
    EventType: "TransitionEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false
    }
  },
  transitionEnd: {
    EventType: "TransitionEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true
    }
  },
  transitionRun: {
    EventType: "TransitionEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false
    }
  },
  transitionStart: {
    EventType: "TransitionEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false
    }
  },
  // pointer events
  pointerOver: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  pointerEnter: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  pointerDown: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  pointerMove: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  pointerUp: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  pointerCancel: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  pointerOut: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  pointerLeave: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  gotPointerCapture: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  lostPointerCapture: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  // history events
  popState: {
    EventType: "PopStateEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false
    }
  },
  // window events
  offline: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  online: {
    EventType: "Event",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  pageHide: {
    EventType: "PageTransitionEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true
    }
  },
  pageShow: {
    EventType: "PageTransitionEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true
    }
  }
};
var eventAliasMap = {
  doubleClick: "dblClick"
};
function fireEvent(element, event) {
  return getConfig2().eventWrapper(() => {
    if (!event) {
      throw new Error("Unable to fire an event - please provide an event object.");
    }
    if (!element) {
      throw new Error('Unable to fire a "' + event.type + '" event - please provide a DOM element.');
    }
    return element.dispatchEvent(event);
  });
}
__name(fireEvent, "fireEvent");
function createEvent(eventName, node2, init16, _temp) {
  let {
    EventType = "Event",
    defaultInit = {}
  } = _temp === void 0 ? {} : _temp;
  if (!node2) {
    throw new Error('Unable to fire a "' + eventName + '" event - please provide a DOM element.');
  }
  const eventInit = {
    ...defaultInit,
    ...init16
  };
  const {
    target: {
      value,
      files,
      ...targetProperties
    } = {}
  } = eventInit;
  if (value !== void 0) {
    setNativeValue(node2, value);
  }
  if (files !== void 0) {
    Object.defineProperty(node2, "files", {
      configurable: true,
      enumerable: true,
      writable: true,
      value: files
    });
  }
  Object.assign(node2, targetProperties);
  const window2 = getWindowFromNode(node2);
  const EventConstructor = window2[EventType] || window2.Event;
  let event;
  if (typeof EventConstructor === "function") {
    event = new EventConstructor(eventName, eventInit);
  } else {
    event = window2.document.createEvent(EventType);
    const {
      bubbles,
      cancelable,
      detail,
      ...otherInit
    } = eventInit;
    event.initEvent(eventName, bubbles, cancelable, detail);
    Object.keys(otherInit).forEach((eventKey) => {
      event[eventKey] = otherInit[eventKey];
    });
  }
  const dataTransferProperties = ["dataTransfer", "clipboardData"];
  dataTransferProperties.forEach((dataTransferKey) => {
    const dataTransferValue = eventInit[dataTransferKey];
    if (typeof dataTransferValue === "object") {
      if (typeof window2.DataTransfer === "function") {
        Object.defineProperty(event, dataTransferKey, {
          value: Object.getOwnPropertyNames(dataTransferValue).reduce((acc, propName) => {
            Object.defineProperty(acc, propName, {
              value: dataTransferValue[propName]
            });
            return acc;
          }, new window2.DataTransfer())
        });
      } else {
        Object.defineProperty(event, dataTransferKey, {
          value: dataTransferValue
        });
      }
    }
  });
  return event;
}
__name(createEvent, "createEvent");
Object.keys(eventMap).forEach((key) => {
  const {
    EventType,
    defaultInit
  } = eventMap[key];
  const eventName = key.toLowerCase();
  createEvent[key] = (node2, init16) => createEvent(eventName, node2, init16, {
    EventType,
    defaultInit
  });
  fireEvent[key] = (node2, init16) => fireEvent(node2, createEvent[key](node2, init16));
});
function setNativeValue(element, value) {
  const {
    set: valueSetter
  } = Object.getOwnPropertyDescriptor(element, "value") || {};
  const prototype = Object.getPrototypeOf(element);
  const {
    set: prototypeValueSetter
  } = Object.getOwnPropertyDescriptor(prototype, "value") || {};
  if (prototypeValueSetter && valueSetter !== prototypeValueSetter) {
    prototypeValueSetter.call(element, value);
  } else {
    if (valueSetter) {
      valueSetter.call(element, value);
    } else {
      throw new Error("The given element does not have a value setter");
    }
  }
}
__name(setNativeValue, "setNativeValue");
Object.keys(eventAliasMap).forEach((aliasKey) => {
  const key = eventAliasMap[aliasKey];
  fireEvent[aliasKey] = function() {
    return fireEvent[key](...arguments);
  };
});
function unindent(string) {
  return string.replace(/[ \t]*[\n][ \t]*/g, "\n");
}
__name(unindent, "unindent");
function encode(value) {
  return import_lz_string.default.compressToEncodedURIComponent(unindent(value));
}
__name(encode, "encode");
function getPlaygroundUrl(markup2) {
  return "https://testing-playground.com/#markup=" + encode(markup2);
}
__name(getPlaygroundUrl, "getPlaygroundUrl");
var debug = /* @__PURE__ */ __name((element, maxLength, options) => Array.isArray(element) ? element.forEach((el) => logDOM(el, maxLength, options)) : logDOM(element, maxLength, options), "debug");
var logTestingPlaygroundURL = /* @__PURE__ */ __name(function(element) {
  if (element === void 0) {
    element = getDocument().body;
  }
  if (!element || !("innerHTML" in element)) {
    console.log("The element you're providing isn't a valid DOM element.");
    return;
  }
  if (!element.innerHTML) {
    console.log("The provided element doesn't have any children.");
    return;
  }
  const playgroundUrl = getPlaygroundUrl(element.innerHTML);
  console.log("Open this URL in your browser\n\n" + playgroundUrl);
  return playgroundUrl;
}, "logTestingPlaygroundURL");
var initialValue = {
  debug,
  logTestingPlaygroundURL
};
var screen = typeof document !== "undefined" && document.body ? getQueriesForElement(document.body, queries, initialValue) : Object.keys(queries).reduce((helpers, key) => {
  helpers[key] = () => {
    throw new TypeError("For queries bound to document.body a global document has to be available... Learn more: https://testing-library.com/s/screen-global-error");
  };
  return helpers;
}, initialValue);

// ../node_modules/@testing-library/user-event/dist/esm/utils/misc/isElementType.js
function isElementType(element, tag, props) {
  if (element.namespaceURI && element.namespaceURI !== "http://www.w3.org/1999/xhtml") {
    return false;
  }
  tag = Array.isArray(tag) ? tag : [
    tag
  ];
  if (!tag.includes(element.tagName.toLowerCase())) {
    return false;
  }
  if (props) {
    return Object.entries(props).every(([k, v]) => element[k] === v);
  }
  return true;
}
__name(isElementType, "isElementType");

// ../node_modules/@testing-library/user-event/dist/esm/utils/misc/getWindow.js
function getWindow2(node2) {
  var _node_ownerDocument;
  if (isDocument(node2) && node2.defaultView) {
    return node2.defaultView;
  } else if ((_node_ownerDocument = node2.ownerDocument) === null || _node_ownerDocument === void 0 ? void 0 : _node_ownerDocument.defaultView) {
    return node2.ownerDocument.defaultView;
  }
  throw new Error(`Could not determine window of node. Node was ${describe(node2)}`);
}
__name(getWindow2, "getWindow");
function isDocument(node2) {
  return node2.nodeType === 9;
}
__name(isDocument, "isDocument");
function describe(val) {
  return typeof val === "function" ? `function ${val.name}` : val === null ? "null" : String(val);
}
__name(describe, "describe");

// ../node_modules/@testing-library/user-event/dist/esm/utils/dataTransfer/Blob.js
function readBlobText(blob, FileReader) {
  return new Promise((res, rej) => {
    const fr = new FileReader();
    fr.onerror = rej;
    fr.onabort = rej;
    fr.onload = () => {
      res(String(fr.result));
    };
    fr.readAsText(blob);
  });
}
__name(readBlobText, "readBlobText");

// ../node_modules/@testing-library/user-event/dist/esm/utils/dataTransfer/FileList.js
function createFileList(window2, files) {
  const list = {
    ...files,
    length: files.length,
    item: /* @__PURE__ */ __name((index4) => list[index4], "item"),
    [Symbol.iterator]: /* @__PURE__ */ __name(function* nextFile() {
      for (let i2 = 0; i2 < list.length; i2++) {
        yield list[i2];
      }
    }, "nextFile")
  };
  list.constructor = window2.FileList;
  if (window2.FileList) {
    Object.setPrototypeOf(list, window2.FileList.prototype);
  }
  Object.freeze(list);
  return list;
}
__name(createFileList, "createFileList");

// ../node_modules/@testing-library/user-event/dist/esm/utils/dataTransfer/DataTransfer.js
function _define_property(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_define_property, "_define_property");
var _DataTransferItemStub = class _DataTransferItemStub {
  getAsFile() {
    return this.file;
  }
  getAsString(callback) {
    if (typeof this.data === "string") {
      callback(this.data);
    }
  }
  /* istanbul ignore next */
  webkitGetAsEntry() {
    throw new Error("not implemented");
  }
  constructor(dataOrFile, type5) {
    _define_property(this, "kind", void 0);
    _define_property(this, "type", void 0);
    _define_property(this, "file", null);
    _define_property(this, "data", void 0);
    if (typeof dataOrFile === "string") {
      this.kind = "string";
      this.type = String(type5);
      this.data = dataOrFile;
    } else {
      this.kind = "file";
      this.type = dataOrFile.type;
      this.file = dataOrFile;
    }
  }
};
__name(_DataTransferItemStub, "DataTransferItemStub");
var DataTransferItemStub = _DataTransferItemStub;
var _DataTransferItemListStub = class _DataTransferItemListStub extends Array {
  add(...args) {
    const item = new DataTransferItemStub(args[0], args[1]);
    this.push(item);
    return item;
  }
  clear() {
    this.splice(0, this.length);
  }
  remove(index4) {
    this.splice(index4, 1);
  }
};
__name(_DataTransferItemListStub, "DataTransferItemListStub");
var DataTransferItemListStub = _DataTransferItemListStub;
function getTypeMatcher(type5, exact) {
  const [group, sub] = type5.split("/");
  const isGroup = !sub || sub === "*";
  return (item) => {
    return exact ? item.type === (isGroup ? group : type5) : isGroup ? item.type.startsWith(`${group}/`) : item.type === group;
  };
}
__name(getTypeMatcher, "getTypeMatcher");
function createDataTransferStub(window2) {
  var _a3;
  return new (_a3 = class {
    getData(format4) {
      var _this_items_find;
      const match3 = (_this_items_find = this.items.find(getTypeMatcher(format4, true))) !== null && _this_items_find !== void 0 ? _this_items_find : this.items.find(getTypeMatcher(format4, false));
      let text = "";
      match3 === null || match3 === void 0 ? void 0 : match3.getAsString((t2) => {
        text = t2;
      });
      return text;
    }
    setData(format4, data) {
      const matchIndex = this.items.findIndex(getTypeMatcher(format4, true));
      const item = new DataTransferItemStub(data, format4);
      if (matchIndex >= 0) {
        this.items.splice(matchIndex, 1, item);
      } else {
        this.items.push(item);
      }
    }
    clearData(format4) {
      if (format4) {
        const matchIndex = this.items.findIndex(getTypeMatcher(format4, true));
        if (matchIndex >= 0) {
          this.items.remove(matchIndex);
        }
      } else {
        this.items.clear();
      }
    }
    get types() {
      const t2 = [];
      if (this.files.length) {
        t2.push("Files");
      }
      this.items.forEach((i2) => t2.push(i2.type));
      Object.freeze(t2);
      return t2;
    }
    /* istanbul ignore next */
    setDragImage() {
    }
    constructor() {
      _define_property(this, "dropEffect", "none");
      _define_property(this, "effectAllowed", "uninitialized");
      _define_property(this, "items", new DataTransferItemListStub());
      _define_property(this, "files", createFileList(window2, []));
    }
  }, __name(_a3, "DataTransferStub"), _a3)();
}
__name(createDataTransferStub, "createDataTransferStub");
function createDataTransfer(window2, files = []) {
  const dt = typeof window2.DataTransfer === "undefined" ? createDataTransferStub(window2) : (
    /* istanbul ignore next */
    new window2.DataTransfer()
  );
  Object.defineProperty(dt, "files", {
    get: /* @__PURE__ */ __name(() => createFileList(window2, files), "get")
  });
  return dt;
}
__name(createDataTransfer, "createDataTransfer");
async function getBlobFromDataTransferItem(window2, item) {
  if (item.kind === "file") {
    return item.getAsFile();
  }
  return new window2.Blob([
    await new Promise((r2) => item.getAsString(r2))
  ], {
    type: item.type
  });
}
__name(getBlobFromDataTransferItem, "getBlobFromDataTransferItem");

// ../node_modules/@testing-library/user-event/dist/esm/utils/dataTransfer/Clipboard.js
function _define_property2(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_define_property2, "_define_property");
function createClipboardItem(window2, ...blobs) {
  var _a3;
  const dataMap = Object.fromEntries(blobs.map((b) => [
    typeof b === "string" ? "text/plain" : b.type,
    Promise.resolve(b)
  ]));
  if (typeof window2.ClipboardItem !== "undefined") {
    return new window2.ClipboardItem(dataMap);
  }
  return new (_a3 = class {
    get types() {
      return Array.from(Object.keys(this.data));
    }
    async getType(type5) {
      const value = await this.data[type5];
      if (!value) {
        throw new Error(`${type5} is not one of the available MIME types on this item.`);
      }
      return value instanceof window2.Blob ? value : new window2.Blob([
        value
      ], {
        type: type5
      });
    }
    constructor(d) {
      _define_property2(this, "data", void 0);
      this.data = d;
    }
  }, __name(_a3, "ClipboardItem"), _a3)(dataMap);
}
__name(createClipboardItem, "createClipboardItem");
var ClipboardStubControl = Symbol("Manage ClipboardSub");
function createClipboardStub(window2, control) {
  var _a3;
  return Object.assign(new (_a3 = class extends window2.EventTarget {
    async read() {
      return Array.from(this.items);
    }
    async readText() {
      let text = "";
      for (const item of this.items) {
        const type5 = item.types.includes("text/plain") ? "text/plain" : item.types.find((t2) => t2.startsWith("text/"));
        if (type5) {
          text += await item.getType(type5).then((b) => readBlobText(b, window2.FileReader));
        }
      }
      return text;
    }
    async write(data) {
      this.items = data;
    }
    async writeText(text) {
      this.items = [
        createClipboardItem(window2, text)
      ];
    }
    constructor(...args) {
      super(...args), _define_property2(this, "items", []);
    }
  }, __name(_a3, "Clipboard"), _a3)(), {
    [ClipboardStubControl]: control
  });
}
__name(createClipboardStub, "createClipboardStub");
function isClipboardStub(clipboard) {
  return !!(clipboard === null || clipboard === void 0 ? void 0 : clipboard[ClipboardStubControl]);
}
__name(isClipboardStub, "isClipboardStub");
function attachClipboardStubToView(window2) {
  if (isClipboardStub(window2.navigator.clipboard)) {
    return window2.navigator.clipboard[ClipboardStubControl];
  }
  const realClipboard = Object.getOwnPropertyDescriptor(window2.navigator, "clipboard");
  let stub;
  const control = {
    resetClipboardStub: /* @__PURE__ */ __name(() => {
      stub = createClipboardStub(window2, control);
    }, "resetClipboardStub"),
    detachClipboardStub: /* @__PURE__ */ __name(() => {
      if (realClipboard) {
        Object.defineProperty(window2.navigator, "clipboard", realClipboard);
      } else {
        Object.defineProperty(window2.navigator, "clipboard", {
          value: void 0,
          configurable: true
        });
      }
    }, "detachClipboardStub")
  };
  stub = createClipboardStub(window2, control);
  Object.defineProperty(window2.navigator, "clipboard", {
    get: /* @__PURE__ */ __name(() => stub, "get"),
    configurable: true
  });
  return stub[ClipboardStubControl];
}
__name(attachClipboardStubToView, "attachClipboardStubToView");
function resetClipboardStubOnView(window2) {
  if (isClipboardStub(window2.navigator.clipboard)) {
    window2.navigator.clipboard[ClipboardStubControl].resetClipboardStub();
  }
}
__name(resetClipboardStubOnView, "resetClipboardStubOnView");
function detachClipboardStubFromView(window2) {
  if (isClipboardStub(window2.navigator.clipboard)) {
    window2.navigator.clipboard[ClipboardStubControl].detachClipboardStub();
  }
}
__name(detachClipboardStubFromView, "detachClipboardStubFromView");
async function readDataTransferFromClipboard(document13) {
  const window2 = document13.defaultView;
  const clipboard = window2 === null || window2 === void 0 ? void 0 : window2.navigator.clipboard;
  const items = clipboard && await clipboard.read();
  if (!items) {
    throw new Error("The Clipboard API is unavailable.");
  }
  const dt = createDataTransfer(window2);
  for (const item of items) {
    for (const type5 of item.types) {
      dt.setData(type5, await item.getType(type5).then((b) => readBlobText(b, window2.FileReader)));
    }
  }
  return dt;
}
__name(readDataTransferFromClipboard, "readDataTransferFromClipboard");
async function writeDataTransferToClipboard(document13, clipboardData) {
  const window2 = getWindow2(document13);
  const clipboard = window2.navigator.clipboard;
  const items = [];
  for (let i2 = 0; i2 < clipboardData.items.length; i2++) {
    const dtItem = clipboardData.items[i2];
    const blob = await getBlobFromDataTransferItem(window2, dtItem);
    items.push(createClipboardItem(window2, blob));
  }
  const written = clipboard && await clipboard.write(items).then(
    () => true,
    // Can happen with other implementations that e.g. require permissions
    /* istanbul ignore next */
    () => false
  );
  if (!written) {
    throw new Error("The Clipboard API is unavailable.");
  }
}
__name(writeDataTransferToClipboard, "writeDataTransferToClipboard");
var g = globalThis;
if (typeof g.afterEach === "function") {
  g.afterEach(() => {
    if (typeof globalThis.window !== "undefined") {
      resetClipboardStubOnView(globalThis.window);
    }
  });
}
if (typeof g.afterAll === "function") {
  g.afterAll(() => {
    if (typeof globalThis.window !== "undefined") {
      detachClipboardStubFromView(globalThis.window);
    }
  });
}

// ../node_modules/@testing-library/user-event/dist/esm/utils/focus/selector.js
var FOCUSABLE_SELECTOR = [
  "input:not([type=hidden]):not([disabled])",
  "button:not([disabled])",
  "select:not([disabled])",
  "textarea:not([disabled])",
  '[contenteditable=""]',
  '[contenteditable="true"]',
  "a[href]",
  "[tabindex]:not([disabled])"
].join(", ");

// ../node_modules/@testing-library/user-event/dist/esm/utils/focus/isFocusable.js
function isFocusable(element) {
  return element.matches(FOCUSABLE_SELECTOR);
}
__name(isFocusable, "isFocusable");

// ../node_modules/@testing-library/user-event/dist/esm/utils/misc/cloneEvent.js
function cloneEvent(event) {
  return new event.constructor(event.type, event);
}
__name(cloneEvent, "cloneEvent");

// ../node_modules/@testing-library/user-event/dist/esm/utils/misc/isDisabled.js
function isDisabled2(element) {
  for (let el = element; el; el = el.parentElement) {
    if (isElementType(el, [
      "button",
      "input",
      "select",
      "textarea",
      "optgroup",
      "option"
    ])) {
      if (el.hasAttribute("disabled")) {
        return true;
      }
    } else if (isElementType(el, "fieldset")) {
      var _el_querySelector;
      if (el.hasAttribute("disabled") && !((_el_querySelector = el.querySelector(":scope > legend")) === null || _el_querySelector === void 0 ? void 0 : _el_querySelector.contains(element))) {
        return true;
      }
    } else if (el.tagName.includes("-")) {
      if (el.constructor.formAssociated && el.hasAttribute("disabled")) {
        return true;
      }
    }
  }
  return false;
}
__name(isDisabled2, "isDisabled");

// ../node_modules/@testing-library/user-event/dist/esm/utils/focus/getActiveElement.js
function getActiveElement(document13) {
  const activeElement = document13.activeElement;
  if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.shadowRoot) {
    return getActiveElement(activeElement.shadowRoot);
  } else {
    if (isDisabled2(activeElement)) {
      return document13.ownerDocument ? (
        /* istanbul ignore next */
        document13.ownerDocument.body
      ) : document13.body;
    }
    return activeElement;
  }
}
__name(getActiveElement, "getActiveElement");
function getActiveElementOrBody(document13) {
  var _getActiveElement;
  return (_getActiveElement = getActiveElement(document13)) !== null && _getActiveElement !== void 0 ? _getActiveElement : (
    /* istanbul ignore next */
    document13.body
  );
}
__name(getActiveElementOrBody, "getActiveElementOrBody");

// ../node_modules/@testing-library/user-event/dist/esm/utils/misc/findClosest.js
function findClosest(element, callback) {
  let el = element;
  do {
    if (callback(el)) {
      return el;
    }
    el = el.parentElement;
  } while (el && el !== element.ownerDocument.body);
  return void 0;
}
__name(findClosest, "findClosest");

// ../node_modules/@testing-library/user-event/dist/esm/utils/edit/isContentEditable.js
function isContentEditable(element) {
  return element.hasAttribute("contenteditable") && (element.getAttribute("contenteditable") == "true" || element.getAttribute("contenteditable") == "");
}
__name(isContentEditable, "isContentEditable");
function getContentEditable(node2) {
  const element = getElement(node2);
  return element && (element.closest('[contenteditable=""]') || element.closest('[contenteditable="true"]'));
}
__name(getContentEditable, "getContentEditable");
function getElement(node2) {
  return node2.nodeType === 1 ? node2 : node2.parentElement;
}
__name(getElement, "getElement");

// ../node_modules/@testing-library/user-event/dist/esm/utils/click/isClickableInput.js
var clickableInputTypes = function(clickableInputTypes2) {
  clickableInputTypes2["button"] = "button";
  clickableInputTypes2["color"] = "color";
  clickableInputTypes2["file"] = "file";
  clickableInputTypes2["image"] = "image";
  clickableInputTypes2["reset"] = "reset";
  clickableInputTypes2["submit"] = "submit";
  clickableInputTypes2["checkbox"] = "checkbox";
  clickableInputTypes2["radio"] = "radio";
  return clickableInputTypes2;
}(clickableInputTypes || {});
function isClickableInput(element) {
  return isElementType(element, "button") || isElementType(element, "input") && element.type in clickableInputTypes;
}
__name(isClickableInput, "isClickableInput");

// ../node_modules/@testing-library/user-event/dist/esm/utils/edit/isEditable.js
function isEditable(element) {
  return isEditableInputOrTextArea(element) && !element.readOnly || isContentEditable(element);
}
__name(isEditable, "isEditable");
var editableInputTypes = function(editableInputTypes2) {
  editableInputTypes2["text"] = "text";
  editableInputTypes2["date"] = "date";
  editableInputTypes2["datetime-local"] = "datetime-local";
  editableInputTypes2["email"] = "email";
  editableInputTypes2["month"] = "month";
  editableInputTypes2["number"] = "number";
  editableInputTypes2["password"] = "password";
  editableInputTypes2["search"] = "search";
  editableInputTypes2["tel"] = "tel";
  editableInputTypes2["time"] = "time";
  editableInputTypes2["url"] = "url";
  editableInputTypes2["week"] = "week";
  return editableInputTypes2;
}(editableInputTypes || {});
function isEditableInputOrTextArea(element) {
  return isElementType(element, "textarea") || isElementType(element, "input") && element.type in editableInputTypes;
}
__name(isEditableInputOrTextArea, "isEditableInputOrTextArea");

// ../node_modules/@testing-library/user-event/dist/esm/utils/focus/selection.js
function hasOwnSelection(node2) {
  return isElement4(node2) && isEditableInputOrTextArea(node2);
}
__name(hasOwnSelection, "hasOwnSelection");
function hasNoSelection(node2) {
  return isElement4(node2) && isClickableInput(node2);
}
__name(hasNoSelection, "hasNoSelection");
function isElement4(node2) {
  return node2.nodeType === 1;
}
__name(isElement4, "isElement");

// ../node_modules/@testing-library/user-event/dist/esm/event/selection/updateSelectionOnFocus.js
function updateSelectionOnFocus(element) {
  const selection = element.ownerDocument.getSelection();
  if (!(selection === null || selection === void 0 ? void 0 : selection.focusNode)) {
    return;
  }
  if (hasOwnSelection(element)) {
    const contenteditable = getContentEditable(selection.focusNode);
    if (contenteditable) {
      if (!selection.isCollapsed) {
        var _contenteditable_firstChild;
        const focusNode = ((_contenteditable_firstChild = contenteditable.firstChild) === null || _contenteditable_firstChild === void 0 ? void 0 : _contenteditable_firstChild.nodeType) === 3 ? contenteditable.firstChild : contenteditable;
        selection.setBaseAndExtent(focusNode, 0, focusNode, 0);
      }
    } else {
      selection.setBaseAndExtent(element, 0, element, 0);
    }
  }
}
__name(updateSelectionOnFocus, "updateSelectionOnFocus");

// ../node_modules/@testing-library/user-event/dist/esm/event/wrapEvent.js
function wrapEvent(cb, _element) {
  return getConfig2().eventWrapper(cb);
}
__name(wrapEvent, "wrapEvent");

// ../node_modules/@testing-library/user-event/dist/esm/event/focus.js
function focusElement(element) {
  const target = findClosest(element, isFocusable);
  const activeElement = getActiveElement(element.ownerDocument);
  if ((target !== null && target !== void 0 ? target : element.ownerDocument.body) === activeElement) {
    return;
  } else if (target) {
    wrapEvent(() => target.focus());
  } else {
    wrapEvent(() => activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur());
  }
  updateSelectionOnFocus(target !== null && target !== void 0 ? target : element.ownerDocument.body);
}
__name(focusElement, "focusElement");
function blurElement(element) {
  if (!isFocusable(element)) return;
  const wasActive = getActiveElement(element.ownerDocument) === element;
  if (!wasActive) return;
  wrapEvent(() => element.blur());
}
__name(blurElement, "blurElement");

// ../node_modules/@testing-library/user-event/dist/esm/event/behavior/registry.js
var behavior = {};

// ../node_modules/@testing-library/user-event/dist/esm/event/behavior/click.js
behavior.click = (event, target, instance) => {
  const context = target.closest("button,input,label,select,textarea");
  const control = context && isElementType(context, "label") && context.control;
  if (control && control !== target) {
    return () => {
      if (isFocusable(control)) {
        focusElement(control);
        instance.dispatchEvent(control, cloneEvent(event));
      }
    };
  } else if (isElementType(target, "input", {
    type: "file"
  })) {
    return () => {
      blurElement(target);
      target.dispatchEvent(new (getWindow2(target)).Event("fileDialog"));
      focusElement(target);
    };
  }
};

// ../node_modules/@testing-library/user-event/dist/esm/document/UI.js
var UIValue = Symbol("Displayed value in UI");
var UISelection = Symbol("Displayed selection in UI");
var InitialValue = Symbol("Initial value to compare on blur");
function isUIValue(value) {
  return typeof value === "object" && UIValue in value;
}
__name(isUIValue, "isUIValue");
function isUISelectionStart(start2) {
  return !!start2 && typeof start2 === "object" && UISelection in start2;
}
__name(isUISelectionStart, "isUISelectionStart");
function setUIValue(element, value) {
  if (element[InitialValue] === void 0) {
    element[InitialValue] = element.value;
  }
  element[UIValue] = value;
  element.value = Object.assign(new String(value), {
    [UIValue]: true
  });
}
__name(setUIValue, "setUIValue");
function getUIValue(element) {
  return element[UIValue] === void 0 ? element.value : String(element[UIValue]);
}
__name(getUIValue, "getUIValue");
function setUIValueClean(element) {
  element[UIValue] = void 0;
}
__name(setUIValueClean, "setUIValueClean");
function clearInitialValue(element) {
  element[InitialValue] = void 0;
}
__name(clearInitialValue, "clearInitialValue");
function getInitialValue(element) {
  return element[InitialValue];
}
__name(getInitialValue, "getInitialValue");
function setUISelectionRaw(element, selection) {
  element[UISelection] = selection;
}
__name(setUISelectionRaw, "setUISelectionRaw");
function setUISelection(element, { focusOffset: focusOffsetParam, anchorOffset: anchorOffsetParam = focusOffsetParam }, mode = "replace") {
  const valueLength = getUIValue(element).length;
  const sanitizeOffset = /* @__PURE__ */ __name((o2) => Math.max(0, Math.min(valueLength, o2)), "sanitizeOffset");
  const anchorOffset = mode === "replace" || element[UISelection] === void 0 ? sanitizeOffset(anchorOffsetParam) : element[UISelection].anchorOffset;
  const focusOffset = sanitizeOffset(focusOffsetParam);
  const startOffset = Math.min(anchorOffset, focusOffset);
  const endOffset = Math.max(anchorOffset, focusOffset);
  element[UISelection] = {
    anchorOffset,
    focusOffset
  };
  if (element.selectionStart === startOffset && element.selectionEnd === endOffset) {
    return;
  }
  const startObj = Object.assign(new Number(startOffset), {
    [UISelection]: true
  });
  try {
    element.setSelectionRange(startObj, endOffset);
  } catch {
  }
}
__name(setUISelection, "setUISelection");
function getUISelection(element) {
  var _element_selectionStart, _element_selectionEnd, _element_UISelection;
  const sel = (_element_UISelection = element[UISelection]) !== null && _element_UISelection !== void 0 ? _element_UISelection : {
    anchorOffset: (_element_selectionStart = element.selectionStart) !== null && _element_selectionStart !== void 0 ? _element_selectionStart : 0,
    focusOffset: (_element_selectionEnd = element.selectionEnd) !== null && _element_selectionEnd !== void 0 ? _element_selectionEnd : 0
  };
  return {
    ...sel,
    startOffset: Math.min(sel.anchorOffset, sel.focusOffset),
    endOffset: Math.max(sel.anchorOffset, sel.focusOffset)
  };
}
__name(getUISelection, "getUISelection");
function hasUISelection(element) {
  return !!element[UISelection];
}
__name(hasUISelection, "hasUISelection");
function setUISelectionClean(element) {
  element[UISelection] = void 0;
}
__name(setUISelectionClean, "setUISelectionClean");

// ../node_modules/@testing-library/user-event/dist/esm/utils/edit/timeValue.js
var parseInt2 = globalThis.parseInt;
function buildTimeValue(value) {
  const onlyDigitsValue = value.replace(/\D/g, "");
  if (onlyDigitsValue.length < 2) {
    return value;
  }
  const firstDigit = parseInt2(onlyDigitsValue[0], 10);
  const secondDigit = parseInt2(onlyDigitsValue[1], 10);
  if (firstDigit >= 3 || firstDigit === 2 && secondDigit >= 4) {
    let index4;
    if (firstDigit >= 3) {
      index4 = 1;
    } else {
      index4 = 2;
    }
    return build2(onlyDigitsValue, index4);
  }
  if (value.length === 2) {
    return value;
  }
  return build2(onlyDigitsValue, 2);
}
__name(buildTimeValue, "buildTimeValue");
function build2(onlyDigitsValue, index4) {
  const hours = onlyDigitsValue.slice(0, index4);
  const validHours = Math.min(parseInt2(hours, 10), 23);
  const minuteCharacters = onlyDigitsValue.slice(index4);
  const parsedMinutes = parseInt2(minuteCharacters, 10);
  const validMinutes = Math.min(parsedMinutes, 59);
  return `${validHours.toString().padStart(2, "0")}:${validMinutes.toString().padStart(2, "0")}`;
}
__name(build2, "build");
function isValidDateOrTimeValue(element, value) {
  const clone3 = element.cloneNode();
  clone3.value = value;
  return clone3.value === value;
}
__name(isValidDateOrTimeValue, "isValidDateOrTimeValue");

// ../node_modules/@testing-library/user-event/dist/esm/utils/edit/maxLength.js
var maxLengthSupportedTypes = function(maxLengthSupportedTypes2) {
  maxLengthSupportedTypes2["email"] = "email";
  maxLengthSupportedTypes2["password"] = "password";
  maxLengthSupportedTypes2["search"] = "search";
  maxLengthSupportedTypes2["telephone"] = "telephone";
  maxLengthSupportedTypes2["text"] = "text";
  maxLengthSupportedTypes2["url"] = "url";
  return maxLengthSupportedTypes2;
}(maxLengthSupportedTypes || {});
function getMaxLength(element) {
  var _element_getAttribute;
  const attr = (_element_getAttribute = element.getAttribute("maxlength")) !== null && _element_getAttribute !== void 0 ? _element_getAttribute : "";
  return /^\d+$/.test(attr) && Number(attr) >= 0 ? Number(attr) : void 0;
}
__name(getMaxLength, "getMaxLength");
function supportsMaxLength(element) {
  return isElementType(element, "textarea") || isElementType(element, "input") && element.type in maxLengthSupportedTypes;
}
__name(supportsMaxLength, "supportsMaxLength");

// ../node_modules/@testing-library/user-event/dist/esm/utils/focus/cursor.js
function getNextCursorPosition(node2, offset3, direction, inputType) {
  if (isTextNode(node2) && offset3 + direction >= 0 && offset3 + direction <= node2.nodeValue.length) {
    return {
      node: node2,
      offset: offset3 + direction
    };
  }
  const nextNode = getNextCharacterContentNode(node2, offset3, direction);
  if (nextNode) {
    if (isTextNode(nextNode)) {
      return {
        node: nextNode,
        offset: direction > 0 ? Math.min(1, nextNode.nodeValue.length) : Math.max(nextNode.nodeValue.length - 1, 0)
      };
    } else if (isElementType(nextNode, "br")) {
      const nextPlusOne = getNextCharacterContentNode(nextNode, void 0, direction);
      if (!nextPlusOne) {
        if (direction < 0 && inputType === "deleteContentBackward") {
          return {
            node: nextNode.parentNode,
            offset: getOffset2(nextNode)
          };
        }
        return void 0;
      } else if (isTextNode(nextPlusOne)) {
        return {
          node: nextPlusOne,
          offset: direction > 0 ? 0 : nextPlusOne.nodeValue.length
        };
      } else if (direction < 0 && isElementType(nextPlusOne, "br")) {
        return {
          node: nextNode.parentNode,
          offset: getOffset2(nextNode)
        };
      } else {
        return {
          node: nextPlusOne.parentNode,
          offset: getOffset2(nextPlusOne) + (direction > 0 ? 0 : 1)
        };
      }
    } else {
      return {
        node: nextNode.parentNode,
        offset: getOffset2(nextNode) + (direction > 0 ? 1 : 0)
      };
    }
  }
}
__name(getNextCursorPosition, "getNextCursorPosition");
function getNextCharacterContentNode(node2, offset3, direction) {
  const nextOffset = Number(offset3) + (direction < 0 ? -1 : 0);
  if (offset3 !== void 0 && isElement5(node2) && nextOffset >= 0 && nextOffset < node2.children.length) {
    node2 = node2.children[nextOffset];
  }
  return walkNodes(node2, direction === 1 ? "next" : "previous", isTreatedAsCharacterContent);
}
__name(getNextCharacterContentNode, "getNextCharacterContentNode");
function isTreatedAsCharacterContent(node2) {
  if (isTextNode(node2)) {
    return true;
  }
  if (isElement5(node2)) {
    if (isElementType(node2, [
      "input",
      "textarea"
    ])) {
      return node2.type !== "hidden";
    } else if (isElementType(node2, "br")) {
      return true;
    }
  }
  return false;
}
__name(isTreatedAsCharacterContent, "isTreatedAsCharacterContent");
function getOffset2(node2) {
  let i2 = 0;
  while (node2.previousSibling) {
    i2++;
    node2 = node2.previousSibling;
  }
  return i2;
}
__name(getOffset2, "getOffset");
function isElement5(node2) {
  return node2.nodeType === 1;
}
__name(isElement5, "isElement");
function isTextNode(node2) {
  return node2.nodeType === 3;
}
__name(isTextNode, "isTextNode");
function walkNodes(node2, direction, callback) {
  for (; ; ) {
    var _node_ownerDocument;
    const sibling = node2[`${direction}Sibling`];
    if (sibling) {
      node2 = getDescendant(sibling, direction === "next" ? "first" : "last");
      if (callback(node2)) {
        return node2;
      }
    } else if (node2.parentNode && (!isElement5(node2.parentNode) || !isContentEditable(node2.parentNode) && node2.parentNode !== ((_node_ownerDocument = node2.ownerDocument) === null || _node_ownerDocument === void 0 ? void 0 : _node_ownerDocument.body))) {
      node2 = node2.parentNode;
    } else {
      break;
    }
  }
}
__name(walkNodes, "walkNodes");
function getDescendant(node2, direction) {
  while (node2.hasChildNodes()) {
    node2 = node2[`${direction}Child`];
  }
  return node2;
}
__name(getDescendant, "getDescendant");

// ../node_modules/@testing-library/user-event/dist/esm/document/trackValue.js
var TrackChanges = Symbol("Track programmatic changes for React workaround");
function isReact17Element(element) {
  return Object.getOwnPropertyNames(element).some((k) => k.startsWith("__react")) && getWindow2(element).REACT_VERSION === 17;
}
__name(isReact17Element, "isReact17Element");
function startTrackValue(element) {
  if (!isReact17Element(element)) {
    return;
  }
  element[TrackChanges] = {
    previousValue: String(element.value),
    tracked: []
  };
}
__name(startTrackValue, "startTrackValue");
function trackOrSetValue(element, v) {
  var _element_TrackChanges_tracked, _element_TrackChanges;
  (_element_TrackChanges = element[TrackChanges]) === null || _element_TrackChanges === void 0 ? void 0 : (_element_TrackChanges_tracked = _element_TrackChanges.tracked) === null || _element_TrackChanges_tracked === void 0 ? void 0 : _element_TrackChanges_tracked.push(v);
  if (!element[TrackChanges]) {
    setUIValueClean(element);
    setUISelection(element, {
      focusOffset: v.length
    });
  }
}
__name(trackOrSetValue, "trackOrSetValue");
function commitValueAfterInput(element, cursorOffset) {
  var _changes_tracked;
  const changes = element[TrackChanges];
  element[TrackChanges] = void 0;
  if (!(changes === null || changes === void 0 ? void 0 : (_changes_tracked = changes.tracked) === null || _changes_tracked === void 0 ? void 0 : _changes_tracked.length)) {
    return;
  }
  const isJustReactStateUpdate = changes.tracked.length === 2 && changes.tracked[0] === changes.previousValue && changes.tracked[1] === element.value;
  if (!isJustReactStateUpdate) {
    setUIValueClean(element);
  }
  if (hasUISelection(element)) {
    setUISelection(element, {
      focusOffset: isJustReactStateUpdate ? cursorOffset : element.value.length
    });
  }
}
__name(commitValueAfterInput, "commitValueAfterInput");

// ../node_modules/@testing-library/user-event/dist/esm/event/selection/getTargetTypeAndSelection.js
function getTargetTypeAndSelection(node2) {
  const element = getElement2(node2);
  if (element && hasOwnSelection(element)) {
    return {
      type: "input",
      selection: getUISelection(element)
    };
  }
  const selection = element === null || element === void 0 ? void 0 : element.ownerDocument.getSelection();
  const isCE = getContentEditable(node2) && (selection === null || selection === void 0 ? void 0 : selection.anchorNode) && getContentEditable(selection.anchorNode);
  return {
    type: isCE ? "contenteditable" : "default",
    selection
  };
}
__name(getTargetTypeAndSelection, "getTargetTypeAndSelection");
function getElement2(node2) {
  return node2.nodeType === 1 ? node2 : node2.parentElement;
}
__name(getElement2, "getElement");

// ../node_modules/@testing-library/user-event/dist/esm/event/selection/getInputRange.js
function getInputRange(focusNode) {
  const typeAndSelection = getTargetTypeAndSelection(focusNode);
  if (typeAndSelection.type === "input") {
    return typeAndSelection.selection;
  } else if (typeAndSelection.type === "contenteditable") {
    var _typeAndSelection_selection;
    return (_typeAndSelection_selection = typeAndSelection.selection) === null || _typeAndSelection_selection === void 0 ? void 0 : _typeAndSelection_selection.getRangeAt(0);
  }
}
__name(getInputRange, "getInputRange");

// ../node_modules/@testing-library/user-event/dist/esm/event/selection/setSelection.js
function setSelection({ focusNode, focusOffset, anchorNode = focusNode, anchorOffset = focusOffset }) {
  var _anchorNode_ownerDocument_getSelection, _anchorNode_ownerDocument;
  const typeAndSelection = getTargetTypeAndSelection(focusNode);
  if (typeAndSelection.type === "input") {
    return setUISelection(focusNode, {
      anchorOffset,
      focusOffset
    });
  }
  (_anchorNode_ownerDocument = anchorNode.ownerDocument) === null || _anchorNode_ownerDocument === void 0 ? void 0 : (_anchorNode_ownerDocument_getSelection = _anchorNode_ownerDocument.getSelection()) === null || _anchorNode_ownerDocument_getSelection === void 0 ? void 0 : _anchorNode_ownerDocument_getSelection.setBaseAndExtent(anchorNode, anchorOffset, focusNode, focusOffset);
}
__name(setSelection, "setSelection");

// ../node_modules/@testing-library/user-event/dist/esm/event/input.js
function isDateOrTime(element) {
  return isElementType(element, "input") && [
    "date",
    "time"
  ].includes(element.type);
}
__name(isDateOrTime, "isDateOrTime");
function input(instance, element, data, inputType = "insertText") {
  const inputRange = getInputRange(element);
  if (!inputRange) {
    return;
  }
  if (!isDateOrTime(element)) {
    const unprevented = instance.dispatchUIEvent(element, "beforeinput", {
      inputType,
      data
    });
    if (!unprevented) {
      return;
    }
  }
  if ("startContainer" in inputRange) {
    editContenteditable(instance, element, inputRange, data, inputType);
  } else {
    editInputElement(instance, element, inputRange, data, inputType);
  }
}
__name(input, "input");
function editContenteditable(instance, element, inputRange, data, inputType) {
  let del = false;
  if (!inputRange.collapsed) {
    del = true;
    inputRange.deleteContents();
  } else if ([
    "deleteContentBackward",
    "deleteContentForward"
  ].includes(inputType)) {
    const nextPosition = getNextCursorPosition(inputRange.startContainer, inputRange.startOffset, inputType === "deleteContentBackward" ? -1 : 1, inputType);
    if (nextPosition) {
      del = true;
      const delRange = inputRange.cloneRange();
      if (delRange.comparePoint(nextPosition.node, nextPosition.offset) < 0) {
        delRange.setStart(nextPosition.node, nextPosition.offset);
      } else {
        delRange.setEnd(nextPosition.node, nextPosition.offset);
      }
      delRange.deleteContents();
    }
  }
  if (data) {
    if (inputRange.endContainer.nodeType === 3) {
      const offset3 = inputRange.endOffset;
      inputRange.endContainer.insertData(offset3, data);
      inputRange.setStart(inputRange.endContainer, offset3 + data.length);
      inputRange.setEnd(inputRange.endContainer, offset3 + data.length);
    } else {
      const text = element.ownerDocument.createTextNode(data);
      inputRange.insertNode(text);
      inputRange.setStart(text, data.length);
      inputRange.setEnd(text, data.length);
    }
  }
  if (del || data) {
    instance.dispatchUIEvent(element, "input", {
      inputType
    });
  }
}
__name(editContenteditable, "editContenteditable");
function editInputElement(instance, element, inputRange, data, inputType) {
  let dataToInsert = data;
  if (supportsMaxLength(element)) {
    const maxLength = getMaxLength(element);
    if (maxLength !== void 0 && data.length > 0) {
      const spaceUntilMaxLength = maxLength - element.value.length;
      if (spaceUntilMaxLength > 0) {
        dataToInsert = data.substring(0, spaceUntilMaxLength);
      } else {
        return;
      }
    }
  }
  const { newValue, newOffset, oldValue } = calculateNewValue(dataToInsert, element, inputRange, inputType);
  if (newValue === oldValue && newOffset === inputRange.startOffset && newOffset === inputRange.endOffset) {
    return;
  }
  if (isElementType(element, "input", {
    type: "number"
  }) && !isValidNumberInput(newValue)) {
    return;
  }
  setUIValue(element, newValue);
  setSelection({
    focusNode: element,
    anchorOffset: newOffset,
    focusOffset: newOffset
  });
  if (isDateOrTime(element)) {
    if (isValidDateOrTimeValue(element, newValue)) {
      commitInput(instance, element, newOffset, {});
      instance.dispatchUIEvent(element, "change");
      clearInitialValue(element);
    }
  } else {
    commitInput(instance, element, newOffset, {
      data,
      inputType
    });
  }
}
__name(editInputElement, "editInputElement");
function calculateNewValue(inputData, node2, { startOffset, endOffset }, inputType) {
  const value = getUIValue(node2);
  const prologEnd = Math.max(0, startOffset === endOffset && inputType === "deleteContentBackward" ? startOffset - 1 : startOffset);
  const prolog = value.substring(0, prologEnd);
  const epilogStart = Math.min(value.length, startOffset === endOffset && inputType === "deleteContentForward" ? startOffset + 1 : endOffset);
  const epilog = value.substring(epilogStart, value.length);
  let newValue = `${prolog}${inputData}${epilog}`;
  let newOffset = prologEnd + inputData.length;
  if (isElementType(node2, "input", {
    type: "time"
  })) {
    const builtValue = buildTimeValue(newValue);
    if (builtValue !== "" && isValidDateOrTimeValue(node2, builtValue)) {
      newValue = builtValue;
      newOffset = builtValue.length;
    }
  }
  return {
    oldValue: value,
    newValue,
    newOffset
  };
}
__name(calculateNewValue, "calculateNewValue");
function commitInput(instance, element, newOffset, inputInit) {
  instance.dispatchUIEvent(element, "input", inputInit);
  commitValueAfterInput(element, newOffset);
}
__name(commitInput, "commitInput");
function isValidNumberInput(value) {
  var _value_match, _value_match1;
  const valueParts = value.split("e", 2);
  return !(/[^\d.\-e]/.test(value) || Number((_value_match = value.match(/-/g)) === null || _value_match === void 0 ? void 0 : _value_match.length) > 2 || Number((_value_match1 = value.match(/\./g)) === null || _value_match1 === void 0 ? void 0 : _value_match1.length) > 1 || valueParts[1] && !/^-?\d*$/.test(valueParts[1]));
}
__name(isValidNumberInput, "isValidNumberInput");

// ../node_modules/@testing-library/user-event/dist/esm/event/behavior/cut.js
behavior.cut = (event, target, instance) => {
  return () => {
    if (isEditable(target)) {
      input(instance, target, "", "deleteByCut");
    }
  };
};

// ../node_modules/@testing-library/user-event/dist/esm/document/getValueOrTextContent.js
function getValueOrTextContent(element) {
  if (!element) {
    return null;
  }
  if (isContentEditable(element)) {
    return element.textContent;
  }
  return getUIValue(element);
}
__name(getValueOrTextContent, "getValueOrTextContent");

// ../node_modules/@testing-library/user-event/dist/esm/utils/misc/isVisible.js
function isVisible(element) {
  const window2 = getWindow2(element);
  for (let el = element; el === null || el === void 0 ? void 0 : el.ownerDocument; el = el.parentElement) {
    const { display: display2, visibility } = window2.getComputedStyle(el);
    if (display2 === "none") {
      return false;
    }
    if (visibility === "hidden") {
      return false;
    }
  }
  return true;
}
__name(isVisible, "isVisible");

// ../node_modules/@testing-library/user-event/dist/esm/utils/focus/getTabDestination.js
function getTabDestination(activeElement, shift) {
  const document13 = activeElement.ownerDocument;
  const focusableElements = document13.querySelectorAll(FOCUSABLE_SELECTOR);
  const enabledElements = Array.from(focusableElements).filter((el) => el === activeElement || !(Number(el.getAttribute("tabindex")) < 0 || isDisabled2(el)));
  if (Number(activeElement.getAttribute("tabindex")) >= 0) {
    enabledElements.sort((a2, b) => {
      const i2 = Number(a2.getAttribute("tabindex"));
      const j = Number(b.getAttribute("tabindex"));
      if (i2 === j) {
        return 0;
      } else if (i2 === 0) {
        return 1;
      } else if (j === 0) {
        return -1;
      }
      return i2 - j;
    });
  }
  const checkedRadio = {};
  let prunedElements = [
    document13.body
  ];
  const activeRadioGroup = isElementType(activeElement, "input", {
    type: "radio"
  }) ? activeElement.name : void 0;
  enabledElements.forEach((currentElement) => {
    const el = currentElement;
    if (isElementType(el, "input", {
      type: "radio"
    }) && el.name) {
      if (el === activeElement) {
        prunedElements.push(el);
        return;
      } else if (el.name === activeRadioGroup) {
        return;
      }
      if (el.checked) {
        prunedElements = prunedElements.filter((e2) => !isElementType(e2, "input", {
          type: "radio",
          name: el.name
        }));
        prunedElements.push(el);
        checkedRadio[el.name] = el;
        return;
      }
      if (typeof checkedRadio[el.name] !== "undefined") {
        return;
      }
    }
    prunedElements.push(el);
  });
  for (let index4 = prunedElements.findIndex((el) => el === activeElement); ; ) {
    index4 += shift ? -1 : 1;
    if (index4 === prunedElements.length) {
      index4 = 0;
    } else if (index4 === -1) {
      index4 = prunedElements.length - 1;
    }
    if (prunedElements[index4] === activeElement || prunedElements[index4] === document13.body || isVisible(prunedElements[index4])) {
      return prunedElements[index4];
    }
  }
}
__name(getTabDestination, "getTabDestination");

// ../node_modules/@testing-library/user-event/dist/esm/event/selection/moveSelection.js
function moveSelection(node2, direction) {
  if (hasOwnSelection(node2)) {
    const selection = getUISelection(node2);
    setSelection({
      focusNode: node2,
      focusOffset: selection.startOffset === selection.endOffset ? selection.focusOffset + direction : direction < 0 ? selection.startOffset : selection.endOffset
    });
  } else {
    const selection = node2.ownerDocument.getSelection();
    if (!(selection === null || selection === void 0 ? void 0 : selection.focusNode)) {
      return;
    }
    if (selection.isCollapsed) {
      const nextPosition = getNextCursorPosition(selection.focusNode, selection.focusOffset, direction);
      if (nextPosition) {
        setSelection({
          focusNode: nextPosition.node,
          focusOffset: nextPosition.offset
        });
      }
    } else {
      selection[direction < 0 ? "collapseToStart" : "collapseToEnd"]();
    }
  }
}
__name(moveSelection, "moveSelection");

// ../node_modules/@testing-library/user-event/dist/esm/event/selection/selectAll.js
function selectAll(target) {
  if (hasOwnSelection(target)) {
    return setSelection({
      focusNode: target,
      anchorOffset: 0,
      focusOffset: getUIValue(target).length
    });
  }
  var _getContentEditable;
  const focusNode = (_getContentEditable = getContentEditable(target)) !== null && _getContentEditable !== void 0 ? _getContentEditable : target.ownerDocument.body;
  setSelection({
    focusNode,
    anchorOffset: 0,
    focusOffset: focusNode.childNodes.length
  });
}
__name(selectAll, "selectAll");
function isAllSelected(target) {
  if (hasOwnSelection(target)) {
    return getUISelection(target).startOffset === 0 && getUISelection(target).endOffset === getUIValue(target).length;
  }
  var _getContentEditable;
  const focusNode = (_getContentEditable = getContentEditable(target)) !== null && _getContentEditable !== void 0 ? _getContentEditable : target.ownerDocument.body;
  const selection = target.ownerDocument.getSelection();
  return (selection === null || selection === void 0 ? void 0 : selection.anchorNode) === focusNode && selection.focusNode === focusNode && selection.anchorOffset === 0 && selection.focusOffset === focusNode.childNodes.length;
}
__name(isAllSelected, "isAllSelected");

// ../node_modules/@testing-library/user-event/dist/esm/event/selection/setSelectionRange.js
function setSelectionRange(element, anchorOffset, focusOffset) {
  var _element_firstChild;
  if (hasOwnSelection(element)) {
    return setSelection({
      focusNode: element,
      anchorOffset,
      focusOffset
    });
  }
  if (isContentEditable(element) && ((_element_firstChild = element.firstChild) === null || _element_firstChild === void 0 ? void 0 : _element_firstChild.nodeType) === 3) {
    return setSelection({
      focusNode: element.firstChild,
      anchorOffset,
      focusOffset
    });
  }
  throw new Error("Not implemented. The result of this interaction is unreliable.");
}
__name(setSelectionRange, "setSelectionRange");

// ../node_modules/@testing-library/user-event/dist/esm/event/radio.js
function walkRadio(instance, el, direction) {
  const window2 = getWindow2(el);
  const group = Array.from(el.ownerDocument.querySelectorAll(el.name ? `input[type="radio"][name="${window2.CSS.escape(el.name)}"]` : `input[type="radio"][name=""], input[type="radio"]:not([name])`));
  for (let i2 = group.findIndex((e2) => e2 === el) + direction; ; i2 += direction) {
    if (!group[i2]) {
      i2 = direction > 0 ? 0 : group.length - 1;
    }
    if (group[i2] === el) {
      return;
    }
    if (isDisabled2(group[i2])) {
      continue;
    }
    focusElement(group[i2]);
    instance.dispatchUIEvent(group[i2], "click");
    return;
  }
}
__name(walkRadio, "walkRadio");

// ../node_modules/@testing-library/user-event/dist/esm/event/behavior/keydown.js
behavior.keydown = (event, target, instance) => {
  var _keydownBehavior_event_key;
  var _keydownBehavior_event_key1;
  return (_keydownBehavior_event_key1 = (_keydownBehavior_event_key = keydownBehavior[event.key]) === null || _keydownBehavior_event_key === void 0 ? void 0 : _keydownBehavior_event_key.call(keydownBehavior, event, target, instance)) !== null && _keydownBehavior_event_key1 !== void 0 ? _keydownBehavior_event_key1 : combinationBehavior(event, target, instance);
};
var keydownBehavior = {
  ArrowDown: /* @__PURE__ */ __name((event, target, instance) => {
    if (isElementType(target, "input", {
      type: "radio"
    })) {
      return () => walkRadio(instance, target, 1);
    }
  }, "ArrowDown"),
  ArrowLeft: /* @__PURE__ */ __name((event, target, instance) => {
    if (isElementType(target, "input", {
      type: "radio"
    })) {
      return () => walkRadio(instance, target, -1);
    }
    return () => moveSelection(target, -1);
  }, "ArrowLeft"),
  ArrowRight: /* @__PURE__ */ __name((event, target, instance) => {
    if (isElementType(target, "input", {
      type: "radio"
    })) {
      return () => walkRadio(instance, target, 1);
    }
    return () => moveSelection(target, 1);
  }, "ArrowRight"),
  ArrowUp: /* @__PURE__ */ __name((event, target, instance) => {
    if (isElementType(target, "input", {
      type: "radio"
    })) {
      return () => walkRadio(instance, target, -1);
    }
  }, "ArrowUp"),
  Backspace: /* @__PURE__ */ __name((event, target, instance) => {
    if (isEditable(target)) {
      return () => {
        input(instance, target, "", "deleteContentBackward");
      };
    }
  }, "Backspace"),
  Delete: /* @__PURE__ */ __name((event, target, instance) => {
    if (isEditable(target)) {
      return () => {
        input(instance, target, "", "deleteContentForward");
      };
    }
  }, "Delete"),
  End: /* @__PURE__ */ __name((event, target) => {
    if (isElementType(target, [
      "input",
      "textarea"
    ]) || isContentEditable(target)) {
      return () => {
        var _getValueOrTextContent;
        var _getValueOrTextContent_length;
        const newPos = (_getValueOrTextContent_length = (_getValueOrTextContent = getValueOrTextContent(target)) === null || _getValueOrTextContent === void 0 ? void 0 : _getValueOrTextContent.length) !== null && _getValueOrTextContent_length !== void 0 ? _getValueOrTextContent_length : (
          /* istanbul ignore next */
          0
        );
        setSelectionRange(target, newPos, newPos);
      };
    }
  }, "End"),
  Home: /* @__PURE__ */ __name((event, target) => {
    if (isElementType(target, [
      "input",
      "textarea"
    ]) || isContentEditable(target)) {
      return () => {
        setSelectionRange(target, 0, 0);
      };
    }
  }, "Home"),
  PageDown: /* @__PURE__ */ __name((event, target) => {
    if (isElementType(target, [
      "input"
    ])) {
      return () => {
        const newPos = getUIValue(target).length;
        setSelectionRange(target, newPos, newPos);
      };
    }
  }, "PageDown"),
  PageUp: /* @__PURE__ */ __name((event, target) => {
    if (isElementType(target, [
      "input"
    ])) {
      return () => {
        setSelectionRange(target, 0, 0);
      };
    }
  }, "PageUp"),
  Tab: /* @__PURE__ */ __name((event, target, instance) => {
    return () => {
      const dest = getTabDestination(target, instance.system.keyboard.modifiers.Shift);
      focusElement(dest);
      if (hasOwnSelection(dest)) {
        setUISelection(dest, {
          anchorOffset: 0,
          focusOffset: dest.value.length
        });
      }
    };
  }, "Tab")
};
var combinationBehavior = /* @__PURE__ */ __name((event, target, instance) => {
  if (event.code === "KeyA" && instance.system.keyboard.modifiers.Control) {
    return () => selectAll(target);
  }
}, "combinationBehavior");

// ../node_modules/@testing-library/user-event/dist/esm/event/behavior/keypress.js
behavior.keypress = (event, target, instance) => {
  if (event.key === "Enter") {
    if (isElementType(target, "button") || isElementType(target, "input") && ClickInputOnEnter.includes(target.type) || isElementType(target, "a") && Boolean(target.href)) {
      return () => {
        instance.dispatchUIEvent(target, "click");
      };
    } else if (isElementType(target, "input")) {
      const form = target.form;
      const submit = form === null || form === void 0 ? void 0 : form.querySelector('input[type="submit"], button:not([type]), button[type="submit"]');
      if (submit) {
        return () => instance.dispatchUIEvent(submit, "click");
      } else if (form && SubmitSingleInputOnEnter.includes(target.type) && form.querySelectorAll("input").length === 1) {
        return () => instance.dispatchUIEvent(form, "submit");
      } else {
        return;
      }
    }
  }
  if (isEditable(target)) {
    const inputType = event.key === "Enter" ? isContentEditable(target) && !instance.system.keyboard.modifiers.Shift ? "insertParagraph" : "insertLineBreak" : "insertText";
    const inputData = event.key === "Enter" ? "\n" : event.key;
    return () => input(instance, target, inputData, inputType);
  }
};
var ClickInputOnEnter = [
  "button",
  "color",
  "file",
  "image",
  "reset",
  "submit"
];
var SubmitSingleInputOnEnter = [
  "email",
  "month",
  "password",
  "search",
  "tel",
  "text",
  "url",
  "week"
];

// ../node_modules/@testing-library/user-event/dist/esm/event/behavior/keyup.js
behavior.keyup = (event, target, instance) => {
  var _keyupBehavior_event_key;
  return (_keyupBehavior_event_key = keyupBehavior[event.key]) === null || _keyupBehavior_event_key === void 0 ? void 0 : _keyupBehavior_event_key.call(keyupBehavior, event, target, instance);
};
var keyupBehavior = {
  " ": /* @__PURE__ */ __name((event, target, instance) => {
    if (isClickableInput(target)) {
      return () => instance.dispatchUIEvent(target, "click");
    }
  }, " ")
};

// ../node_modules/@testing-library/user-event/dist/esm/event/behavior/paste.js
behavior.paste = (event, target, instance) => {
  if (isEditable(target)) {
    return () => {
      var _event_clipboardData;
      const insertData = (_event_clipboardData = event.clipboardData) === null || _event_clipboardData === void 0 ? void 0 : _event_clipboardData.getData("text");
      if (insertData) {
        input(instance, target, insertData, "insertFromPaste");
      }
    };
  }
};

// ../node_modules/@testing-library/user-event/dist/esm/event/eventMap.js
var eventMap2 = {
  auxclick: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  beforeinput: {
    EventType: "InputEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  blur: {
    EventType: "FocusEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false,
      composed: true
    }
  },
  click: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  contextmenu: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  copy: {
    EventType: "ClipboardEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  change: {
    EventType: "Event",
    defaultInit: {
      bubbles: true,
      cancelable: false
    }
  },
  cut: {
    EventType: "ClipboardEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  dblclick: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  focus: {
    EventType: "FocusEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false,
      composed: true
    }
  },
  focusin: {
    EventType: "FocusEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  focusout: {
    EventType: "FocusEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  keydown: {
    EventType: "KeyboardEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  keypress: {
    EventType: "KeyboardEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  keyup: {
    EventType: "KeyboardEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  paste: {
    EventType: "ClipboardEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  input: {
    EventType: "InputEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  mousedown: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  mouseenter: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false,
      composed: true
    }
  },
  mouseleave: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false,
      composed: true
    }
  },
  mousemove: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  mouseout: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  mouseover: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  mouseup: {
    EventType: "MouseEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  pointerover: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  pointerenter: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  pointerdown: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  pointermove: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  pointerup: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  pointercancel: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: false,
      composed: true
    }
  },
  pointerout: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: true,
      cancelable: true,
      composed: true
    }
  },
  pointerleave: {
    EventType: "PointerEvent",
    defaultInit: {
      bubbles: false,
      cancelable: false
    }
  },
  submit: {
    EventType: "Event",
    defaultInit: {
      bubbles: true,
      cancelable: true
    }
  }
};
function getEventClass(type5) {
  return eventMap2[type5].EventType;
}
__name(getEventClass, "getEventClass");
var mouseEvents = [
  "MouseEvent",
  "PointerEvent"
];
function isMouseEvent(type5) {
  return mouseEvents.includes(getEventClass(type5));
}
__name(isMouseEvent, "isMouseEvent");
function isKeyboardEvent(type5) {
  return getEventClass(type5) === "KeyboardEvent";
}
__name(isKeyboardEvent, "isKeyboardEvent");

// ../node_modules/@testing-library/user-event/dist/esm/event/createEvent.js
var eventInitializer = {
  ClipboardEvent: [
    initClipboardEvent
  ],
  Event: [],
  FocusEvent: [
    initUIEvent,
    initFocusEvent
  ],
  InputEvent: [
    initUIEvent,
    initInputEvent
  ],
  MouseEvent: [
    initUIEvent,
    initUIEventModifiers,
    initMouseEvent
  ],
  PointerEvent: [
    initUIEvent,
    initUIEventModifiers,
    initMouseEvent,
    initPointerEvent
  ],
  KeyboardEvent: [
    initUIEvent,
    initUIEventModifiers,
    initKeyboardEvent
  ]
};
function createEvent2(type5, target, init16) {
  const window2 = getWindow2(target);
  const { EventType, defaultInit } = eventMap2[type5];
  const event = new (getEventConstructors(window2))[EventType](type5, defaultInit);
  eventInitializer[EventType].forEach((f3) => f3(event, init16 !== null && init16 !== void 0 ? init16 : {}));
  return event;
}
__name(createEvent2, "createEvent");
function getEventConstructors(window2) {
  var _a3, _b, _c, _d, _e2, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
  var _window_Event;
  const Event2 = (_window_Event = window2.Event) !== null && _window_Event !== void 0 ? _window_Event : (_a3 = class {
  }, __name(_a3, "Event"), _a3);
  var _window_AnimationEvent;
  const AnimationEvent = (_window_AnimationEvent = window2.AnimationEvent) !== null && _window_AnimationEvent !== void 0 ? _window_AnimationEvent : (_b = class extends Event2 {
  }, __name(_b, "AnimationEvent"), _b);
  var _window_ClipboardEvent;
  const ClipboardEvent = (_window_ClipboardEvent = window2.ClipboardEvent) !== null && _window_ClipboardEvent !== void 0 ? _window_ClipboardEvent : (_c = class extends Event2 {
  }, __name(_c, "ClipboardEvent"), _c);
  var _window_PopStateEvent;
  const PopStateEvent = (_window_PopStateEvent = window2.PopStateEvent) !== null && _window_PopStateEvent !== void 0 ? _window_PopStateEvent : (_d = class extends Event2 {
  }, __name(_d, "PopStateEvent"), _d);
  var _window_ProgressEvent;
  const ProgressEvent = (_window_ProgressEvent = window2.ProgressEvent) !== null && _window_ProgressEvent !== void 0 ? _window_ProgressEvent : (_e2 = class extends Event2 {
  }, __name(_e2, "ProgressEvent"), _e2);
  var _window_TransitionEvent;
  const TransitionEvent = (_window_TransitionEvent = window2.TransitionEvent) !== null && _window_TransitionEvent !== void 0 ? _window_TransitionEvent : (_f = class extends Event2 {
  }, __name(_f, "TransitionEvent"), _f);
  var _window_UIEvent;
  const UIEvent = (_window_UIEvent = window2.UIEvent) !== null && _window_UIEvent !== void 0 ? _window_UIEvent : (_g = class extends Event2 {
  }, __name(_g, "UIEvent"), _g);
  var _window_CompositionEvent;
  const CompositionEvent = (_window_CompositionEvent = window2.CompositionEvent) !== null && _window_CompositionEvent !== void 0 ? _window_CompositionEvent : (_h = class extends UIEvent {
  }, __name(_h, "CompositionEvent"), _h);
  var _window_FocusEvent;
  const FocusEvent = (_window_FocusEvent = window2.FocusEvent) !== null && _window_FocusEvent !== void 0 ? _window_FocusEvent : (_i = class extends UIEvent {
  }, __name(_i, "FocusEvent"), _i);
  var _window_InputEvent;
  const InputEvent = (_window_InputEvent = window2.InputEvent) !== null && _window_InputEvent !== void 0 ? _window_InputEvent : (_j = class extends UIEvent {
  }, __name(_j, "InputEvent"), _j);
  var _window_KeyboardEvent;
  const KeyboardEvent = (_window_KeyboardEvent = window2.KeyboardEvent) !== null && _window_KeyboardEvent !== void 0 ? _window_KeyboardEvent : (_k = class extends UIEvent {
  }, __name(_k, "KeyboardEvent"), _k);
  var _window_MouseEvent;
  const MouseEvent = (_window_MouseEvent = window2.MouseEvent) !== null && _window_MouseEvent !== void 0 ? _window_MouseEvent : (_l = class extends UIEvent {
  }, __name(_l, "MouseEvent"), _l);
  var _window_DragEvent;
  const DragEvent = (_window_DragEvent = window2.DragEvent) !== null && _window_DragEvent !== void 0 ? _window_DragEvent : (_m = class extends MouseEvent {
  }, __name(_m, "DragEvent"), _m);
  var _window_PointerEvent;
  const PointerEvent = (_window_PointerEvent = window2.PointerEvent) !== null && _window_PointerEvent !== void 0 ? _window_PointerEvent : (_n = class extends MouseEvent {
  }, __name(_n, "PointerEvent"), _n);
  var _window_TouchEvent;
  const TouchEvent = (_window_TouchEvent = window2.TouchEvent) !== null && _window_TouchEvent !== void 0 ? _window_TouchEvent : (_o = class extends UIEvent {
  }, __name(_o, "TouchEvent"), _o);
  return {
    Event: Event2,
    AnimationEvent,
    ClipboardEvent,
    PopStateEvent,
    ProgressEvent,
    TransitionEvent,
    UIEvent,
    CompositionEvent,
    FocusEvent,
    InputEvent,
    KeyboardEvent,
    MouseEvent,
    DragEvent,
    PointerEvent,
    TouchEvent
  };
}
__name(getEventConstructors, "getEventConstructors");
function assignProps(obj, props) {
  for (const [key, value] of Object.entries(props)) {
    Object.defineProperty(obj, key, {
      get: /* @__PURE__ */ __name(() => value !== null && value !== void 0 ? value : null, "get")
    });
  }
}
__name(assignProps, "assignProps");
function sanitizeNumber(n2) {
  return Number(n2 !== null && n2 !== void 0 ? n2 : 0);
}
__name(sanitizeNumber, "sanitizeNumber");
function initClipboardEvent(event, { clipboardData }) {
  assignProps(event, {
    clipboardData
  });
}
__name(initClipboardEvent, "initClipboardEvent");
function initFocusEvent(event, { relatedTarget }) {
  assignProps(event, {
    relatedTarget
  });
}
__name(initFocusEvent, "initFocusEvent");
function initInputEvent(event, { data, inputType, isComposing }) {
  assignProps(event, {
    data,
    isComposing: Boolean(isComposing),
    inputType: String(inputType)
  });
}
__name(initInputEvent, "initInputEvent");
function initUIEvent(event, { view, detail }) {
  assignProps(event, {
    view,
    detail: sanitizeNumber(detail !== null && detail !== void 0 ? detail : 0)
  });
}
__name(initUIEvent, "initUIEvent");
function initUIEventModifiers(event, { altKey, ctrlKey, metaKey, shiftKey, modifierAltGraph, modifierCapsLock, modifierFn, modifierFnLock, modifierNumLock, modifierScrollLock, modifierSymbol, modifierSymbolLock }) {
  assignProps(event, {
    altKey: Boolean(altKey),
    ctrlKey: Boolean(ctrlKey),
    metaKey: Boolean(metaKey),
    shiftKey: Boolean(shiftKey),
    getModifierState(k) {
      return Boolean({
        Alt: altKey,
        AltGraph: modifierAltGraph,
        CapsLock: modifierCapsLock,
        Control: ctrlKey,
        Fn: modifierFn,
        FnLock: modifierFnLock,
        Meta: metaKey,
        NumLock: modifierNumLock,
        ScrollLock: modifierScrollLock,
        Shift: shiftKey,
        Symbol: modifierSymbol,
        SymbolLock: modifierSymbolLock
      }[k]);
    }
  });
}
__name(initUIEventModifiers, "initUIEventModifiers");
function initKeyboardEvent(event, { key, code, location: location3, repeat, isComposing, charCode }) {
  assignProps(event, {
    key: String(key),
    code: String(code),
    location: sanitizeNumber(location3),
    repeat: Boolean(repeat),
    isComposing: Boolean(isComposing),
    charCode
  });
}
__name(initKeyboardEvent, "initKeyboardEvent");
function initMouseEvent(event, { x, y, screenX, screenY, clientX = x, clientY = y, button, buttons, relatedTarget, offsetX, offsetY, pageX, pageY }) {
  assignProps(event, {
    screenX: sanitizeNumber(screenX),
    screenY: sanitizeNumber(screenY),
    clientX: sanitizeNumber(clientX),
    x: sanitizeNumber(clientX),
    clientY: sanitizeNumber(clientY),
    y: sanitizeNumber(clientY),
    button: sanitizeNumber(button),
    buttons: sanitizeNumber(buttons),
    relatedTarget,
    offsetX: sanitizeNumber(offsetX),
    offsetY: sanitizeNumber(offsetY),
    pageX: sanitizeNumber(pageX),
    pageY: sanitizeNumber(pageY)
  });
}
__name(initMouseEvent, "initMouseEvent");
function initPointerEvent(event, { pointerId, width, height, pressure, tangentialPressure, tiltX, tiltY, twist, pointerType, isPrimary }) {
  assignProps(event, {
    pointerId: sanitizeNumber(pointerId),
    width: sanitizeNumber(width !== null && width !== void 0 ? width : 1),
    height: sanitizeNumber(height !== null && height !== void 0 ? height : 1),
    pressure: sanitizeNumber(pressure),
    tangentialPressure: sanitizeNumber(tangentialPressure),
    tiltX: sanitizeNumber(tiltX),
    tiltY: sanitizeNumber(tiltY),
    twist: sanitizeNumber(twist),
    pointerType: String(pointerType),
    isPrimary: Boolean(isPrimary)
  });
}
__name(initPointerEvent, "initPointerEvent");

// ../node_modules/@testing-library/user-event/dist/esm/event/dispatchEvent.js
function dispatchUIEvent(target, type5, init16, preventDefault = false) {
  if (isMouseEvent(type5) || isKeyboardEvent(type5)) {
    init16 = {
      ...init16,
      ...this.system.getUIEventModifiers()
    };
  }
  const event = createEvent2(type5, target, init16);
  return dispatchEvent.call(this, target, event, preventDefault);
}
__name(dispatchUIEvent, "dispatchUIEvent");
function dispatchEvent(target, event, preventDefault = false) {
  var _behavior_type;
  const type5 = event.type;
  const behaviorImplementation = preventDefault ? () => {
  } : (_behavior_type = behavior[type5]) === null || _behavior_type === void 0 ? void 0 : _behavior_type.call(behavior, event, target, this);
  if (behaviorImplementation) {
    event.preventDefault();
    let defaultPrevented = false;
    Object.defineProperty(event, "defaultPrevented", {
      get: /* @__PURE__ */ __name(() => defaultPrevented, "get")
    });
    Object.defineProperty(event, "preventDefault", {
      value: /* @__PURE__ */ __name(() => {
        defaultPrevented = event.cancelable;
      }, "value")
    });
    wrapEvent(() => target.dispatchEvent(event));
    if (!defaultPrevented) {
      behaviorImplementation();
    }
    return !defaultPrevented;
  }
  return wrapEvent(() => target.dispatchEvent(event));
}
__name(dispatchEvent, "dispatchEvent");
function dispatchDOMEvent(target, type5, init16) {
  const event = createEvent2(type5, target, init16);
  wrapEvent(() => target.dispatchEvent(event));
}
__name(dispatchDOMEvent, "dispatchDOMEvent");

// ../node_modules/@testing-library/user-event/dist/esm/document/patchFocus.js
var patched = Symbol("patched focus/blur methods");
function patchFocus(HTMLElement2) {
  if (HTMLElement2.prototype[patched]) {
    return;
  }
  const { focus: focus2, blur } = HTMLElement2.prototype;
  Object.defineProperties(HTMLElement2.prototype, {
    focus: {
      configurable: true,
      get: /* @__PURE__ */ __name(() => patchedFocus, "get")
    },
    blur: {
      configurable: true,
      get: /* @__PURE__ */ __name(() => patchedBlur, "get")
    },
    [patched]: {
      configurable: true,
      get: /* @__PURE__ */ __name(() => ({
        focus: focus2,
        blur
      }), "get")
    }
  });
  let activeCall;
  function patchedFocus(options) {
    if (this.ownerDocument.visibilityState !== "hidden") {
      return focus2.call(this, options);
    }
    const blurred = getActiveTarget(this.ownerDocument);
    if (blurred === this) {
      return;
    }
    const thisCall = Symbol("focus call");
    activeCall = thisCall;
    if (blurred) {
      blur.call(blurred);
      dispatchDOMEvent(blurred, "blur", {
        relatedTarget: this
      });
      dispatchDOMEvent(blurred, "focusout", {
        relatedTarget: activeCall === thisCall ? this : null
      });
    }
    if (activeCall === thisCall) {
      focus2.call(this, options);
      dispatchDOMEvent(this, "focus", {
        relatedTarget: blurred
      });
    }
    if (activeCall === thisCall) {
      dispatchDOMEvent(this, "focusin", {
        relatedTarget: blurred
      });
    }
  }
  __name(patchedFocus, "patchedFocus");
  function patchedBlur() {
    if (this.ownerDocument.visibilityState !== "hidden") {
      return blur.call(this);
    }
    const blurred = getActiveTarget(this.ownerDocument);
    if (blurred !== this) {
      return;
    }
    const thisCall = Symbol("blur call");
    activeCall = thisCall;
    blur.call(this);
    dispatchDOMEvent(blurred, "blur", {
      relatedTarget: null
    });
    dispatchDOMEvent(blurred, "focusout", {
      relatedTarget: null
    });
  }
  __name(patchedBlur, "patchedBlur");
}
__name(patchFocus, "patchFocus");
function getActiveTarget(document13) {
  const active = getActiveElement(document13);
  return (active === null || active === void 0 ? void 0 : active.tagName) === "BODY" ? null : active;
}
__name(getActiveTarget, "getActiveTarget");

// ../node_modules/@testing-library/user-event/dist/esm/document/interceptor.js
var Interceptor = Symbol("Interceptor for programmatical calls");
function prepareInterceptor(element, propName, interceptorImpl) {
  const prototypeDescriptor = Object.getOwnPropertyDescriptor(element.constructor.prototype, propName);
  const objectDescriptor = Object.getOwnPropertyDescriptor(element, propName);
  const target = (prototypeDescriptor === null || prototypeDescriptor === void 0 ? void 0 : prototypeDescriptor.set) ? "set" : "value";
  if (typeof (prototypeDescriptor === null || prototypeDescriptor === void 0 ? void 0 : prototypeDescriptor[target]) !== "function" || prototypeDescriptor[target][Interceptor]) {
    throw new Error(`Element ${element.tagName} does not implement "${String(propName)}".`);
  }
  function intercept(...args) {
    const { applyNative = false, realArgs, then } = interceptorImpl.call(this, ...args);
    const realFunc = (!applyNative && objectDescriptor || prototypeDescriptor)[target];
    if (target === "set") {
      realFunc.call(this, realArgs);
    } else {
      realFunc.call(this, ...realArgs);
    }
    then === null || then === void 0 ? void 0 : then();
  }
  __name(intercept, "intercept");
  intercept[Interceptor] = Interceptor;
  Object.defineProperty(element, propName, {
    ...objectDescriptor !== null && objectDescriptor !== void 0 ? objectDescriptor : prototypeDescriptor,
    [target]: intercept
  });
}
__name(prepareInterceptor, "prepareInterceptor");
function prepareValueInterceptor(element) {
  prepareInterceptor(element, "value", /* @__PURE__ */ __name(function interceptorImpl(v) {
    const isUI = isUIValue(v);
    if (isUI) {
      startTrackValue(this);
    }
    return {
      applyNative: !!isUI,
      realArgs: sanitizeValue(this, v),
      then: isUI ? void 0 : () => trackOrSetValue(this, String(v))
    };
  }, "interceptorImpl"));
}
__name(prepareValueInterceptor, "prepareValueInterceptor");
function sanitizeValue(element, v) {
  if (isElementType(element, "input", {
    type: "number"
  }) && String(v) !== "" && !Number.isNaN(Number(v))) {
    return String(Number(v));
  }
  return String(v);
}
__name(sanitizeValue, "sanitizeValue");
function prepareSelectionInterceptor(element) {
  prepareInterceptor(element, "setSelectionRange", /* @__PURE__ */ __name(function interceptorImpl(start2, ...others) {
    const isUI = isUISelectionStart(start2);
    return {
      applyNative: !!isUI,
      realArgs: [
        Number(start2),
        ...others
      ],
      then: /* @__PURE__ */ __name(() => isUI ? void 0 : setUISelectionClean(element), "then")
    };
  }, "interceptorImpl"));
  prepareInterceptor(element, "selectionStart", /* @__PURE__ */ __name(function interceptorImpl(v) {
    return {
      realArgs: v,
      then: /* @__PURE__ */ __name(() => setUISelectionClean(element), "then")
    };
  }, "interceptorImpl"));
  prepareInterceptor(element, "selectionEnd", /* @__PURE__ */ __name(function interceptorImpl(v) {
    return {
      realArgs: v,
      then: /* @__PURE__ */ __name(() => setUISelectionClean(element), "then")
    };
  }, "interceptorImpl"));
  prepareInterceptor(element, "select", /* @__PURE__ */ __name(function interceptorImpl() {
    return {
      realArgs: [],
      then: /* @__PURE__ */ __name(() => setUISelectionRaw(element, {
        anchorOffset: 0,
        focusOffset: getUIValue(element).length
      }), "then")
    };
  }, "interceptorImpl"));
}
__name(prepareSelectionInterceptor, "prepareSelectionInterceptor");
function prepareRangeTextInterceptor(element) {
  prepareInterceptor(element, "setRangeText", /* @__PURE__ */ __name(function interceptorImpl(...realArgs) {
    return {
      realArgs,
      then: /* @__PURE__ */ __name(() => {
        setUIValueClean(element);
        setUISelectionClean(element);
      }, "then")
    };
  }, "interceptorImpl"));
}
__name(prepareRangeTextInterceptor, "prepareRangeTextInterceptor");

// ../node_modules/@testing-library/user-event/dist/esm/document/prepareDocument.js
var isPrepared = Symbol("Node prepared with document state workarounds");
function prepareDocument(document13) {
  if (document13[isPrepared]) {
    return;
  }
  document13.addEventListener("focus", (e2) => {
    const el = e2.target;
    prepareElement(el);
  }, {
    capture: true,
    passive: true
  });
  if (document13.activeElement) {
    prepareElement(document13.activeElement);
  }
  document13.addEventListener("blur", (e2) => {
    const el = e2.target;
    const initialValue2 = getInitialValue(el);
    if (initialValue2 !== void 0) {
      if (el.value !== initialValue2) {
        dispatchDOMEvent(el, "change");
      }
      clearInitialValue(el);
    }
  }, {
    capture: true,
    passive: true
  });
  document13[isPrepared] = isPrepared;
}
__name(prepareDocument, "prepareDocument");
function prepareElement(el) {
  if (el[isPrepared]) {
    return;
  }
  if (isElementType(el, [
    "input",
    "textarea"
  ])) {
    prepareValueInterceptor(el);
    prepareSelectionInterceptor(el);
    prepareRangeTextInterceptor(el);
  }
  el[isPrepared] = isPrepared;
}
__name(prepareElement, "prepareElement");

// ../node_modules/@testing-library/user-event/dist/esm/utils/misc/getDocumentFromNode.js
function getDocumentFromNode(el) {
  return isDocument2(el) ? el : el.ownerDocument;
}
__name(getDocumentFromNode, "getDocumentFromNode");
function isDocument2(node2) {
  return node2.nodeType === 9;
}
__name(isDocument2, "isDocument");

// ../node_modules/@testing-library/user-event/dist/esm/utils/misc/level.js
var ApiLevel = function(ApiLevel2) {
  ApiLevel2[ApiLevel2["Trigger"] = 2] = "Trigger";
  ApiLevel2[ApiLevel2["Call"] = 1] = "Call";
  return ApiLevel2;
}({});
function setLevelRef(instance, level) {
  instance.levelRefs[level] = {};
}
__name(setLevelRef, "setLevelRef");
function getLevelRef(instance, level) {
  return instance.levelRefs[level];
}
__name(getLevelRef, "getLevelRef");

// ../node_modules/@testing-library/user-event/dist/esm/utils/misc/wait.js
function wait(config4) {
  const delay = config4.delay;
  if (typeof delay !== "number") {
    return;
  }
  return Promise.all([
    new Promise((resolve) => globalThis.setTimeout(() => resolve(), delay)),
    config4.advanceTimers(delay)
  ]);
}
__name(wait, "wait");

// ../node_modules/@testing-library/user-event/dist/esm/options.js
var PointerEventsCheckLevel = function(PointerEventsCheckLevel2) {
  PointerEventsCheckLevel2[PointerEventsCheckLevel2["EachTrigger"] = 4] = "EachTrigger";
  PointerEventsCheckLevel2[PointerEventsCheckLevel2["EachApiCall"] = 2] = "EachApiCall";
  PointerEventsCheckLevel2[PointerEventsCheckLevel2["EachTarget"] = 1] = "EachTarget";
  PointerEventsCheckLevel2[PointerEventsCheckLevel2["Never"] = 0] = "Never";
  return PointerEventsCheckLevel2;
}({});

// ../node_modules/@testing-library/user-event/dist/esm/system/keyboard.js
function _define_property3(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_define_property3, "_define_property");
var DOM_KEY_LOCATION = function(DOM_KEY_LOCATION2) {
  DOM_KEY_LOCATION2[DOM_KEY_LOCATION2["STANDARD"] = 0] = "STANDARD";
  DOM_KEY_LOCATION2[DOM_KEY_LOCATION2["LEFT"] = 1] = "LEFT";
  DOM_KEY_LOCATION2[DOM_KEY_LOCATION2["RIGHT"] = 2] = "RIGHT";
  DOM_KEY_LOCATION2[DOM_KEY_LOCATION2["NUMPAD"] = 3] = "NUMPAD";
  return DOM_KEY_LOCATION2;
}({});
var modifierKeys = [
  "Alt",
  "AltGraph",
  "Control",
  "Fn",
  "Meta",
  "Shift",
  "Symbol"
];
function isModifierKey(key) {
  return modifierKeys.includes(key);
}
__name(isModifierKey, "isModifierKey");
var modifierLocks = [
  "CapsLock",
  "FnLock",
  "NumLock",
  "ScrollLock",
  "SymbolLock"
];
function isModifierLock(key) {
  return modifierLocks.includes(key);
}
__name(isModifierLock, "isModifierLock");
var _KeyboardHost = class _KeyboardHost {
  isKeyPressed(keyDef) {
    return this.pressed.has(String(keyDef.code));
  }
  getPressedKeys() {
    return this.pressed.values().map((p2) => p2.keyDef);
  }
  /** Press a key */
  async keydown(instance, keyDef) {
    const key = String(keyDef.key);
    const code = String(keyDef.code);
    const target = getActiveElementOrBody(instance.config.document);
    this.setKeydownTarget(target);
    this.pressed.add(code, keyDef);
    if (isModifierKey(key)) {
      this.modifiers[key] = true;
    }
    const unprevented = instance.dispatchUIEvent(target, "keydown", {
      key,
      code
    });
    if (isModifierLock(key) && !this.modifiers[key]) {
      this.modifiers[key] = true;
      this.modifierLockStart[key] = true;
    }
    if (unprevented) {
      this.pressed.setUnprevented(code);
    }
    if (unprevented && this.hasKeyPress(key)) {
      instance.dispatchUIEvent(getActiveElementOrBody(instance.config.document), "keypress", {
        key,
        code,
        charCode: keyDef.key === "Enter" ? 13 : String(keyDef.key).charCodeAt(0)
      });
    }
  }
  /** Release a key */
  async keyup(instance, keyDef) {
    const key = String(keyDef.key);
    const code = String(keyDef.code);
    const unprevented = this.pressed.isUnprevented(code);
    this.pressed.delete(code);
    if (isModifierKey(key) && !this.pressed.values().find((p2) => p2.keyDef.key === key)) {
      this.modifiers[key] = false;
    }
    instance.dispatchUIEvent(getActiveElementOrBody(instance.config.document), "keyup", {
      key,
      code
    }, !unprevented);
    if (isModifierLock(key) && this.modifiers[key]) {
      if (this.modifierLockStart[key]) {
        this.modifierLockStart[key] = false;
      } else {
        this.modifiers[key] = false;
      }
    }
  }
  setKeydownTarget(target) {
    if (target !== this.lastKeydownTarget) {
      this.carryChar = "";
    }
    this.lastKeydownTarget = target;
  }
  hasKeyPress(key) {
    return (key.length === 1 || key === "Enter") && !this.modifiers.Control && !this.modifiers.Alt;
  }
  constructor(system) {
    _define_property3(this, "system", void 0);
    _define_property3(this, "modifiers", {
      Alt: false,
      AltGraph: false,
      CapsLock: false,
      Control: false,
      Fn: false,
      FnLock: false,
      Meta: false,
      NumLock: false,
      ScrollLock: false,
      Shift: false,
      Symbol: false,
      SymbolLock: false
    });
    _define_property3(this, "pressed", new class {
      add(code, keyDef) {
        var _this_registry, _code;
        var _;
        (_ = (_this_registry = this.registry)[_code = code]) !== null && _ !== void 0 ? _ : _this_registry[_code] = {
          keyDef,
          unpreventedDefault: false
        };
      }
      has(code) {
        return !!this.registry[code];
      }
      setUnprevented(code) {
        const o2 = this.registry[code];
        if (o2) {
          o2.unpreventedDefault = true;
        }
      }
      isUnprevented(code) {
        var _this_registry_code;
        return !!((_this_registry_code = this.registry[code]) === null || _this_registry_code === void 0 ? void 0 : _this_registry_code.unpreventedDefault);
      }
      delete(code) {
        delete this.registry[code];
      }
      values() {
        return Object.values(this.registry);
      }
      constructor() {
        _define_property3(this, "registry", {});
      }
    }());
    _define_property3(this, "carryChar", "");
    _define_property3(this, "lastKeydownTarget", void 0);
    _define_property3(this, "modifierLockStart", {});
    this.system = system;
  }
};
__name(_KeyboardHost, "KeyboardHost");
var KeyboardHost = _KeyboardHost;

// ../node_modules/@testing-library/user-event/dist/esm/keyboard/keyMap.js
var defaultKeyMap = [
  // alphanumeric block - writing system
  ..."0123456789".split("").map((c2) => ({
    code: `Digit${c2}`,
    key: c2
  })),
  ...")!@#$%^&*(".split("").map((c2, i2) => ({
    code: `Digit${i2}`,
    key: c2,
    shiftKey: true
  })),
  ..."abcdefghijklmnopqrstuvwxyz".split("").map((c2) => ({
    code: `Key${c2.toUpperCase()}`,
    key: c2
  })),
  ..."ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("").map((c2) => ({
    code: `Key${c2}`,
    key: c2,
    shiftKey: true
  })),
  {
    code: "BracketLeft",
    key: "["
  },
  {
    code: "BracketLeft",
    key: "{",
    shiftKey: true
  },
  {
    code: "BracketRight",
    key: "]"
  },
  {
    code: "BracketRight",
    key: "}",
    shiftKey: true
  },
  // alphanumeric block - functional
  {
    code: "Space",
    key: " "
  },
  {
    code: "AltLeft",
    key: "Alt",
    location: DOM_KEY_LOCATION.LEFT
  },
  {
    code: "AltRight",
    key: "Alt",
    location: DOM_KEY_LOCATION.RIGHT
  },
  {
    code: "ShiftLeft",
    key: "Shift",
    location: DOM_KEY_LOCATION.LEFT
  },
  {
    code: "ShiftRight",
    key: "Shift",
    location: DOM_KEY_LOCATION.RIGHT
  },
  {
    code: "ControlLeft",
    key: "Control",
    location: DOM_KEY_LOCATION.LEFT
  },
  {
    code: "ControlRight",
    key: "Control",
    location: DOM_KEY_LOCATION.RIGHT
  },
  {
    code: "MetaLeft",
    key: "Meta",
    location: DOM_KEY_LOCATION.LEFT
  },
  {
    code: "MetaRight",
    key: "Meta",
    location: DOM_KEY_LOCATION.RIGHT
  },
  {
    code: "OSLeft",
    key: "OS",
    location: DOM_KEY_LOCATION.LEFT
  },
  {
    code: "OSRight",
    key: "OS",
    location: DOM_KEY_LOCATION.RIGHT
  },
  {
    code: "ContextMenu",
    key: "ContextMenu"
  },
  {
    code: "Tab",
    key: "Tab"
  },
  {
    code: "CapsLock",
    key: "CapsLock"
  },
  {
    code: "Backspace",
    key: "Backspace"
  },
  {
    code: "Enter",
    key: "Enter"
  },
  // function
  {
    code: "Escape",
    key: "Escape"
  },
  // arrows
  {
    code: "ArrowUp",
    key: "ArrowUp"
  },
  {
    code: "ArrowDown",
    key: "ArrowDown"
  },
  {
    code: "ArrowLeft",
    key: "ArrowLeft"
  },
  {
    code: "ArrowRight",
    key: "ArrowRight"
  },
  // control pad
  {
    code: "Home",
    key: "Home"
  },
  {
    code: "End",
    key: "End"
  },
  {
    code: "Delete",
    key: "Delete"
  },
  {
    code: "PageUp",
    key: "PageUp"
  },
  {
    code: "PageDown",
    key: "PageDown"
  },
  // Special keys that are not part of a default US-layout but included for specific behavior
  {
    code: "Fn",
    key: "Fn"
  },
  {
    code: "Symbol",
    key: "Symbol"
  },
  {
    code: "AltRight",
    key: "AltGraph"
  }
];

// ../node_modules/@testing-library/user-event/dist/esm/pointer/keyMap.js
var defaultKeyMap2 = [
  {
    name: "MouseLeft",
    pointerType: "mouse",
    button: "primary"
  },
  {
    name: "MouseRight",
    pointerType: "mouse",
    button: "secondary"
  },
  {
    name: "MouseMiddle",
    pointerType: "mouse",
    button: "auxiliary"
  },
  {
    name: "TouchA",
    pointerType: "touch"
  },
  {
    name: "TouchB",
    pointerType: "touch"
  },
  {
    name: "TouchC",
    pointerType: "touch"
  }
];

// ../node_modules/@testing-library/user-event/dist/esm/system/pointer/buttons.js
function _define_property4(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_define_property4, "_define_property");
var _Buttons = class _Buttons {
  getButtons() {
    let v = 0;
    for (const button of Object.keys(this.pressed)) {
      v |= 2 ** Number(button);
    }
    return v;
  }
  down(keyDef) {
    const button = getMouseButtonId(keyDef.button);
    if (button in this.pressed) {
      this.pressed[button].push(keyDef);
      return void 0;
    }
    this.pressed[button] = [
      keyDef
    ];
    return button;
  }
  up(keyDef) {
    const button = getMouseButtonId(keyDef.button);
    if (button in this.pressed) {
      this.pressed[button] = this.pressed[button].filter((k) => k.name !== keyDef.name);
      if (this.pressed[button].length === 0) {
        delete this.pressed[button];
        return button;
      }
    }
    return void 0;
  }
  constructor() {
    _define_property4(this, "pressed", {});
  }
};
__name(_Buttons, "Buttons");
var Buttons = _Buttons;
var MouseButton = {
  primary: 0,
  secondary: 1,
  auxiliary: 2,
  back: 3,
  X1: 3,
  forward: 4,
  X2: 4
};
function getMouseButtonId(button = 0) {
  if (button in MouseButton) {
    return MouseButton[button];
  }
  return Number(button);
}
__name(getMouseButtonId, "getMouseButtonId");
var MouseButtonFlip = {
  1: 2,
  2: 1
};
function getMouseEventButton(button) {
  button = getMouseButtonId(button);
  if (button in MouseButtonFlip) {
    return MouseButtonFlip[button];
  }
  return button;
}
__name(getMouseEventButton, "getMouseEventButton");

// ../node_modules/@testing-library/user-event/dist/esm/system/pointer/device.js
function _define_property5(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_define_property5, "_define_property");
var _Device = class _Device {
  get countPressed() {
    return this.pressedKeys.size;
  }
  isPressed(keyDef) {
    return this.pressedKeys.has(keyDef.name);
  }
  addPressed(keyDef) {
    return this.pressedKeys.add(keyDef.name);
  }
  removePressed(keyDef) {
    return this.pressedKeys.delete(keyDef.name);
  }
  constructor() {
    _define_property5(this, "pressedKeys", /* @__PURE__ */ new Set());
  }
};
__name(_Device, "Device");
var Device = _Device;

// ../node_modules/@testing-library/user-event/dist/esm/utils/misc/getTreeDiff.js
function getTreeDiff(a2, b) {
  const treeA = [];
  for (let el = a2; el; el = el.parentElement) {
    treeA.push(el);
  }
  const treeB = [];
  for (let el = b; el; el = el.parentElement) {
    treeB.push(el);
  }
  let i2 = 0;
  for (; ; i2++) {
    if (i2 >= treeA.length || i2 >= treeB.length || treeA[treeA.length - 1 - i2] !== treeB[treeB.length - 1 - i2]) {
      break;
    }
  }
  return [
    treeA.slice(0, treeA.length - i2),
    treeB.slice(0, treeB.length - i2),
    treeB.slice(treeB.length - i2)
  ];
}
__name(getTreeDiff, "getTreeDiff");

// ../node_modules/@testing-library/user-event/dist/esm/event/selection/resolveCaretPosition.js
function resolveCaretPosition({ target, node: node2, offset: offset3 }) {
  if (hasOwnSelection(target)) {
    return {
      node: target,
      offset: offset3 !== null && offset3 !== void 0 ? offset3 : getUIValue(target).length
    };
  } else if (node2) {
    return {
      node: node2,
      offset: offset3 !== null && offset3 !== void 0 ? offset3 : node2.nodeType === 3 ? node2.nodeValue.length : node2.childNodes.length
    };
  }
  return findNodeAtTextOffset(target, offset3);
}
__name(resolveCaretPosition, "resolveCaretPosition");
function findNodeAtTextOffset(node2, offset3, isRoot = true) {
  let i2 = offset3 === void 0 ? node2.childNodes.length - 1 : 0;
  const step2 = offset3 === void 0 ? -1 : 1;
  while (offset3 === void 0 ? i2 >= (isRoot ? Math.max(node2.childNodes.length - 1, 0) : 0) : i2 <= node2.childNodes.length) {
    if (offset3 && i2 === node2.childNodes.length) {
      throw new Error("The given offset is out of bounds.");
    }
    const c2 = node2.childNodes.item(i2);
    const text = String(c2.textContent);
    if (text.length) {
      if (offset3 !== void 0 && text.length < offset3) {
        offset3 -= text.length;
      } else if (c2.nodeType === 1) {
        return findNodeAtTextOffset(c2, offset3, false);
      } else {
        if (c2.nodeType === 3) {
          return {
            node: c2,
            offset: offset3 !== null && offset3 !== void 0 ? offset3 : c2.nodeValue.length
          };
        }
      }
    }
    i2 += step2;
  }
  return {
    node: node2,
    offset: node2.childNodes.length
  };
}
__name(findNodeAtTextOffset, "findNodeAtTextOffset");

// ../node_modules/@testing-library/user-event/dist/esm/event/selection/setSelectionPerMouse.js
function setSelectionPerMouseDown({ document: document13, target, clickCount, node: node2, offset: offset3 }) {
  if (hasNoSelection(target)) {
    return;
  }
  const targetHasOwnSelection = hasOwnSelection(target);
  const text = String(targetHasOwnSelection ? getUIValue(target) : target.textContent);
  const [start2, end2] = node2 ? (
    // which elements might be considered in the same line of text.
    // TODO: support expanding initial range on multiple clicks if node is given
    [
      offset3,
      offset3
    ]
  ) : getTextRange(text, offset3, clickCount);
  if (targetHasOwnSelection) {
    setUISelection(target, {
      anchorOffset: start2 !== null && start2 !== void 0 ? start2 : text.length,
      focusOffset: end2 !== null && end2 !== void 0 ? end2 : text.length
    });
    return {
      node: target,
      start: start2 !== null && start2 !== void 0 ? start2 : 0,
      end: end2 !== null && end2 !== void 0 ? end2 : text.length
    };
  } else {
    const { node: startNode, offset: startOffset } = resolveCaretPosition({
      target,
      node: node2,
      offset: start2
    });
    const { node: endNode, offset: endOffset } = resolveCaretPosition({
      target,
      node: node2,
      offset: end2
    });
    const range = target.ownerDocument.createRange();
    try {
      range.setStart(startNode, startOffset);
      range.setEnd(endNode, endOffset);
    } catch (e2) {
      throw new Error("The given offset is out of bounds.");
    }
    const selection = document13.getSelection();
    selection === null || selection === void 0 ? void 0 : selection.removeAllRanges();
    selection === null || selection === void 0 ? void 0 : selection.addRange(range.cloneRange());
    return range;
  }
}
__name(setSelectionPerMouseDown, "setSelectionPerMouseDown");
function getTextRange(text, pos, clickCount) {
  if (clickCount % 3 === 1 || text.length === 0) {
    return [
      pos,
      pos
    ];
  }
  const textPos = pos !== null && pos !== void 0 ? pos : text.length;
  if (clickCount % 3 === 2) {
    return [
      textPos - text.substr(0, pos).match(/(\w+|\s+|\W)?$/)[0].length,
      pos === void 0 ? pos : pos + text.substr(pos).match(/^(\w+|\s+|\W)?/)[0].length
    ];
  }
  return [
    textPos - text.substr(0, pos).match(/[^\r\n]*$/)[0].length,
    pos === void 0 ? pos : pos + text.substr(pos).match(/^[^\r\n]*/)[0].length
  ];
}
__name(getTextRange, "getTextRange");

// ../node_modules/@testing-library/user-event/dist/esm/event/selection/modifySelectionPerMouse.js
function modifySelectionPerMouseMove(selectionRange, { document: document13, target, node: node2, offset: offset3 }) {
  const selectionFocus = resolveCaretPosition({
    target,
    node: node2,
    offset: offset3
  });
  if ("node" in selectionRange) {
    if (selectionFocus.node === selectionRange.node) {
      const anchorOffset = selectionFocus.offset < selectionRange.start ? selectionRange.end : selectionRange.start;
      const focusOffset = selectionFocus.offset > selectionRange.end || selectionFocus.offset < selectionRange.start ? selectionFocus.offset : selectionRange.end;
      setUISelection(selectionRange.node, {
        anchorOffset,
        focusOffset
      });
    }
  } else {
    const range = selectionRange.cloneRange();
    const cmp = range.comparePoint(selectionFocus.node, selectionFocus.offset);
    if (cmp < 0) {
      range.setStart(selectionFocus.node, selectionFocus.offset);
    } else if (cmp > 0) {
      range.setEnd(selectionFocus.node, selectionFocus.offset);
    }
    const selection = document13.getSelection();
    selection === null || selection === void 0 ? void 0 : selection.removeAllRanges();
    selection === null || selection === void 0 ? void 0 : selection.addRange(range.cloneRange());
  }
}
__name(modifySelectionPerMouseMove, "modifySelectionPerMouseMove");

// ../node_modules/@testing-library/user-event/dist/esm/system/pointer/shared.js
function isDifferentPointerPosition(positionA, positionB) {
  var _positionA_coords, _positionB_coords, _positionA_coords1, _positionB_coords1, _positionA_coords2, _positionB_coords2, _positionA_coords3, _positionB_coords3, _positionA_coords4, _positionB_coords4, _positionA_coords5, _positionB_coords5, _positionA_coords6, _positionB_coords6, _positionA_coords7, _positionB_coords7, _positionA_coords8, _positionB_coords8, _positionA_coords9, _positionB_coords9, _positionA_caret, _positionB_caret, _positionA_caret1, _positionB_caret1;
  return positionA.target !== positionB.target || ((_positionA_coords = positionA.coords) === null || _positionA_coords === void 0 ? void 0 : _positionA_coords.x) !== ((_positionB_coords = positionB.coords) === null || _positionB_coords === void 0 ? void 0 : _positionB_coords.x) || ((_positionA_coords1 = positionA.coords) === null || _positionA_coords1 === void 0 ? void 0 : _positionA_coords1.y) !== ((_positionB_coords1 = positionB.coords) === null || _positionB_coords1 === void 0 ? void 0 : _positionB_coords1.y) || ((_positionA_coords2 = positionA.coords) === null || _positionA_coords2 === void 0 ? void 0 : _positionA_coords2.clientX) !== ((_positionB_coords2 = positionB.coords) === null || _positionB_coords2 === void 0 ? void 0 : _positionB_coords2.clientX) || ((_positionA_coords3 = positionA.coords) === null || _positionA_coords3 === void 0 ? void 0 : _positionA_coords3.clientY) !== ((_positionB_coords3 = positionB.coords) === null || _positionB_coords3 === void 0 ? void 0 : _positionB_coords3.clientY) || ((_positionA_coords4 = positionA.coords) === null || _positionA_coords4 === void 0 ? void 0 : _positionA_coords4.offsetX) !== ((_positionB_coords4 = positionB.coords) === null || _positionB_coords4 === void 0 ? void 0 : _positionB_coords4.offsetX) || ((_positionA_coords5 = positionA.coords) === null || _positionA_coords5 === void 0 ? void 0 : _positionA_coords5.offsetY) !== ((_positionB_coords5 = positionB.coords) === null || _positionB_coords5 === void 0 ? void 0 : _positionB_coords5.offsetY) || ((_positionA_coords6 = positionA.coords) === null || _positionA_coords6 === void 0 ? void 0 : _positionA_coords6.pageX) !== ((_positionB_coords6 = positionB.coords) === null || _positionB_coords6 === void 0 ? void 0 : _positionB_coords6.pageX) || ((_positionA_coords7 = positionA.coords) === null || _positionA_coords7 === void 0 ? void 0 : _positionA_coords7.pageY) !== ((_positionB_coords7 = positionB.coords) === null || _positionB_coords7 === void 0 ? void 0 : _positionB_coords7.pageY) || ((_positionA_coords8 = positionA.coords) === null || _positionA_coords8 === void 0 ? void 0 : _positionA_coords8.screenX) !== ((_positionB_coords8 = positionB.coords) === null || _positionB_coords8 === void 0 ? void 0 : _positionB_coords8.screenX) || ((_positionA_coords9 = positionA.coords) === null || _positionA_coords9 === void 0 ? void 0 : _positionA_coords9.screenY) !== ((_positionB_coords9 = positionB.coords) === null || _positionB_coords9 === void 0 ? void 0 : _positionB_coords9.screenY) || ((_positionA_caret = positionA.caret) === null || _positionA_caret === void 0 ? void 0 : _positionA_caret.node) !== ((_positionB_caret = positionB.caret) === null || _positionB_caret === void 0 ? void 0 : _positionB_caret.node) || ((_positionA_caret1 = positionA.caret) === null || _positionA_caret1 === void 0 ? void 0 : _positionA_caret1.offset) !== ((_positionB_caret1 = positionB.caret) === null || _positionB_caret1 === void 0 ? void 0 : _positionB_caret1.offset);
}
__name(isDifferentPointerPosition, "isDifferentPointerPosition");

// ../node_modules/@testing-library/user-event/dist/esm/system/pointer/mouse.js
function _define_property6(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_define_property6, "_define_property");
var _Mouse = class _Mouse {
  move(instance, position2, isPrevented) {
    const prevPosition = this.position;
    const prevTarget = this.getTarget(instance);
    this.position = position2;
    if (!isDifferentPointerPosition(prevPosition, position2)) {
      return;
    }
    const nextTarget = this.getTarget(instance);
    const init16 = this.getEventInit("mousemove");
    const [leave, enter] = getTreeDiff(prevTarget, nextTarget);
    return {
      leave: /* @__PURE__ */ __name(() => {
        if (prevTarget !== nextTarget) {
          instance.dispatchUIEvent(prevTarget, "mouseout", init16);
          leave.forEach((el) => instance.dispatchUIEvent(el, "mouseleave", init16));
        }
      }, "leave"),
      enter: /* @__PURE__ */ __name(() => {
        if (prevTarget !== nextTarget) {
          instance.dispatchUIEvent(nextTarget, "mouseover", init16);
          enter.forEach((el) => instance.dispatchUIEvent(el, "mouseenter", init16));
        }
      }, "enter"),
      move: /* @__PURE__ */ __name(() => {
        if (isPrevented) {
          return;
        }
        instance.dispatchUIEvent(nextTarget, "mousemove", init16);
        this.modifySelecting(instance);
      }, "move")
    };
  }
  down(instance, keyDef, isPrevented) {
    const button = this.buttons.down(keyDef);
    if (button === void 0) {
      return;
    }
    const target = this.getTarget(instance);
    this.buttonDownTarget[button] = target;
    const init16 = this.getEventInit("mousedown", keyDef.button);
    const disabled = isDisabled2(target);
    if (!isPrevented && (disabled || instance.dispatchUIEvent(target, "mousedown", init16))) {
      this.startSelecting(instance, init16.detail);
      focusElement(target);
    }
    if (!disabled && getMouseEventButton(keyDef.button) === 2) {
      instance.dispatchUIEvent(target, "contextmenu", this.getEventInit("contextmenu", keyDef.button));
    }
  }
  up(instance, keyDef, isPrevented) {
    const button = this.buttons.up(keyDef);
    if (button === void 0) {
      return;
    }
    const target = this.getTarget(instance);
    if (!isDisabled2(target)) {
      if (!isPrevented) {
        const mouseUpInit = this.getEventInit("mouseup", keyDef.button);
        instance.dispatchUIEvent(target, "mouseup", mouseUpInit);
        this.endSelecting();
      }
      const clickTarget = getTreeDiff(this.buttonDownTarget[button], target)[2][0];
      if (clickTarget) {
        const init16 = this.getEventInit("click", keyDef.button);
        if (init16.detail) {
          instance.dispatchUIEvent(clickTarget, init16.button === 0 ? "click" : "auxclick", init16);
          if (init16.button === 0 && init16.detail === 2) {
            instance.dispatchUIEvent(clickTarget, "dblclick", {
              ...this.getEventInit("dblclick", keyDef.button),
              detail: init16.detail
            });
          }
        }
      }
    }
  }
  resetClickCount() {
    this.clickCount.reset();
  }
  getEventInit(type5, button) {
    const init16 = {
      ...this.position.coords
    };
    init16.button = getMouseEventButton(button);
    init16.buttons = this.buttons.getButtons();
    if (type5 === "mousedown") {
      init16.detail = this.clickCount.getOnDown(init16.button);
    } else if (type5 === "mouseup") {
      init16.detail = this.clickCount.getOnUp(init16.button);
    } else if (type5 === "click" || type5 === "auxclick") {
      init16.detail = this.clickCount.incOnClick(init16.button);
    }
    return init16;
  }
  getTarget(instance) {
    var _this_position_target;
    return (_this_position_target = this.position.target) !== null && _this_position_target !== void 0 ? _this_position_target : instance.config.document.body;
  }
  startSelecting(instance, clickCount) {
    var _this_position_caret, _this_position_caret1;
    this.selecting = setSelectionPerMouseDown({
      document: instance.config.document,
      target: this.getTarget(instance),
      node: (_this_position_caret = this.position.caret) === null || _this_position_caret === void 0 ? void 0 : _this_position_caret.node,
      offset: (_this_position_caret1 = this.position.caret) === null || _this_position_caret1 === void 0 ? void 0 : _this_position_caret1.offset,
      clickCount
    });
  }
  modifySelecting(instance) {
    var _this_position_caret, _this_position_caret1;
    if (!this.selecting) {
      return;
    }
    modifySelectionPerMouseMove(this.selecting, {
      document: instance.config.document,
      target: this.getTarget(instance),
      node: (_this_position_caret = this.position.caret) === null || _this_position_caret === void 0 ? void 0 : _this_position_caret.node,
      offset: (_this_position_caret1 = this.position.caret) === null || _this_position_caret1 === void 0 ? void 0 : _this_position_caret1.offset
    });
  }
  endSelecting() {
    this.selecting = void 0;
  }
  constructor() {
    _define_property6(this, "position", {});
    _define_property6(this, "buttons", new Buttons());
    _define_property6(this, "selecting", void 0);
    _define_property6(this, "buttonDownTarget", {});
    _define_property6(this, "clickCount", new class {
      incOnClick(button) {
        const current = this.down[button] === void 0 ? void 0 : Number(this.down[button]) + 1;
        this.count = this.count[button] === void 0 ? {} : {
          [button]: Number(this.count[button]) + 1
        };
        return current;
      }
      getOnDown(button) {
        var _this_count_button;
        this.down = {
          [button]: (_this_count_button = this.count[button]) !== null && _this_count_button !== void 0 ? _this_count_button : 0
        };
        var _this_count_button1;
        this.count = {
          [button]: (_this_count_button1 = this.count[button]) !== null && _this_count_button1 !== void 0 ? _this_count_button1 : 0
        };
        return Number(this.count[button]) + 1;
      }
      getOnUp(button) {
        return this.down[button] === void 0 ? void 0 : Number(this.down[button]) + 1;
      }
      reset() {
        this.count = {};
      }
      constructor() {
        _define_property6(this, "down", {});
        _define_property6(this, "count", {});
      }
    }());
  }
};
__name(_Mouse, "Mouse");
var Mouse = _Mouse;

// ../node_modules/@testing-library/user-event/dist/esm/utils/pointer/cssPointerEvents.js
function hasPointerEvents(instance, element) {
  var _checkPointerEvents;
  return ((_checkPointerEvents = checkPointerEvents(instance, element)) === null || _checkPointerEvents === void 0 ? void 0 : _checkPointerEvents.pointerEvents) !== "none";
}
__name(hasPointerEvents, "hasPointerEvents");
function closestPointerEventsDeclaration(element) {
  const window2 = getWindow2(element);
  for (let el = element, tree = []; el === null || el === void 0 ? void 0 : el.ownerDocument; el = el.parentElement) {
    tree.push(el);
    const pointerEvents = window2.getComputedStyle(el).pointerEvents;
    if (pointerEvents && ![
      "inherit",
      "unset"
    ].includes(pointerEvents)) {
      return {
        pointerEvents,
        tree
      };
    }
  }
  return void 0;
}
__name(closestPointerEventsDeclaration, "closestPointerEventsDeclaration");
var PointerEventsCheck = Symbol("Last check for pointer-events");
function checkPointerEvents(instance, element) {
  const lastCheck = element[PointerEventsCheck];
  const needsCheck = instance.config.pointerEventsCheck !== PointerEventsCheckLevel.Never && (!lastCheck || hasBitFlag(instance.config.pointerEventsCheck, PointerEventsCheckLevel.EachApiCall) && lastCheck[ApiLevel.Call] !== getLevelRef(instance, ApiLevel.Call) || hasBitFlag(instance.config.pointerEventsCheck, PointerEventsCheckLevel.EachTrigger) && lastCheck[ApiLevel.Trigger] !== getLevelRef(instance, ApiLevel.Trigger));
  if (!needsCheck) {
    return lastCheck === null || lastCheck === void 0 ? void 0 : lastCheck.result;
  }
  const declaration2 = closestPointerEventsDeclaration(element);
  element[PointerEventsCheck] = {
    [ApiLevel.Call]: getLevelRef(instance, ApiLevel.Call),
    [ApiLevel.Trigger]: getLevelRef(instance, ApiLevel.Trigger),
    result: declaration2
  };
  return declaration2;
}
__name(checkPointerEvents, "checkPointerEvents");
function assertPointerEvents(instance, element) {
  const declaration2 = checkPointerEvents(instance, element);
  if ((declaration2 === null || declaration2 === void 0 ? void 0 : declaration2.pointerEvents) === "none") {
    throw new Error([
      `Unable to perform pointer interaction as the element ${declaration2.tree.length > 1 ? "inherits" : "has"} \`pointer-events: none\`:`,
      "",
      printTree(declaration2.tree)
    ].join("\n"));
  }
}
__name(assertPointerEvents, "assertPointerEvents");
function printTree(tree) {
  return tree.reverse().map((el, i2) => [
    "".padEnd(i2),
    el.tagName,
    el.id && `#${el.id}`,
    el.hasAttribute("data-testid") && `(testId=${el.getAttribute("data-testid")})`,
    getLabelDescr(el),
    tree.length > 1 && i2 === 0 && "  <-- This element declared `pointer-events: none`",
    tree.length > 1 && i2 === tree.length - 1 && "  <-- Asserted pointer events here"
  ].filter(Boolean).join("")).join("\n");
}
__name(printTree, "printTree");
function getLabelDescr(element) {
  var _element_labels;
  let label;
  if (element.hasAttribute("aria-label")) {
    label = element.getAttribute("aria-label");
  } else if (element.hasAttribute("aria-labelledby")) {
    var _element_ownerDocument_getElementById_textContent, _element_ownerDocument_getElementById;
    label = (_element_ownerDocument_getElementById = element.ownerDocument.getElementById(element.getAttribute("aria-labelledby"))) === null || _element_ownerDocument_getElementById === void 0 ? void 0 : (_element_ownerDocument_getElementById_textContent = _element_ownerDocument_getElementById.textContent) === null || _element_ownerDocument_getElementById_textContent === void 0 ? void 0 : _element_ownerDocument_getElementById_textContent.trim();
  } else if (isElementType(element, [
    "button",
    "input",
    "meter",
    "output",
    "progress",
    "select",
    "textarea"
  ]) && ((_element_labels = element.labels) === null || _element_labels === void 0 ? void 0 : _element_labels.length)) {
    label = Array.from(element.labels).map((el) => {
      var _el_textContent;
      return (_el_textContent = el.textContent) === null || _el_textContent === void 0 ? void 0 : _el_textContent.trim();
    }).join("|");
  } else if (isElementType(element, "button")) {
    var _element_textContent;
    label = (_element_textContent = element.textContent) === null || _element_textContent === void 0 ? void 0 : _element_textContent.trim();
  }
  label = label === null || label === void 0 ? void 0 : label.replace(/\n/g, "  ");
  if (Number(label === null || label === void 0 ? void 0 : label.length) > 30) {
    label = `${label === null || label === void 0 ? void 0 : label.substring(0, 29)}\u2026`;
  }
  return label ? `(label=${label})` : "";
}
__name(getLabelDescr, "getLabelDescr");
function hasBitFlag(conf, flag3) {
  return (conf & flag3) > 0;
}
__name(hasBitFlag, "hasBitFlag");

// ../node_modules/@testing-library/user-event/dist/esm/system/pointer/pointer.js
function _define_property7(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_define_property7, "_define_property");
var _Pointer = class _Pointer {
  init(instance) {
    const target = this.getTarget(instance);
    const [, enter] = getTreeDiff(null, target);
    const init16 = this.getEventInit();
    assertPointerEvents(instance, target);
    instance.dispatchUIEvent(target, "pointerover", init16);
    enter.forEach((el) => instance.dispatchUIEvent(el, "pointerenter", init16));
    return this;
  }
  move(instance, position2) {
    const prevPosition = this.position;
    const prevTarget = this.getTarget(instance);
    this.position = position2;
    if (!isDifferentPointerPosition(prevPosition, position2)) {
      return;
    }
    const nextTarget = this.getTarget(instance);
    const init16 = this.getEventInit(-1);
    const [leave, enter] = getTreeDiff(prevTarget, nextTarget);
    return {
      leave: /* @__PURE__ */ __name(() => {
        if (hasPointerEvents(instance, prevTarget)) {
          if (prevTarget !== nextTarget) {
            instance.dispatchUIEvent(prevTarget, "pointerout", init16);
            leave.forEach((el) => instance.dispatchUIEvent(el, "pointerleave", init16));
          }
        }
      }, "leave"),
      enter: /* @__PURE__ */ __name(() => {
        assertPointerEvents(instance, nextTarget);
        if (prevTarget !== nextTarget) {
          instance.dispatchUIEvent(nextTarget, "pointerover", init16);
          enter.forEach((el) => instance.dispatchUIEvent(el, "pointerenter", init16));
        }
      }, "enter"),
      move: /* @__PURE__ */ __name(() => {
        instance.dispatchUIEvent(nextTarget, "pointermove", init16);
      }, "move")
    };
  }
  down(instance, button = 0) {
    if (this.isDown) {
      return;
    }
    const target = this.getTarget(instance);
    assertPointerEvents(instance, target);
    this.isDown = true;
    this.isPrevented = !instance.dispatchUIEvent(target, "pointerdown", this.getEventInit(button));
  }
  up(instance, button = 0) {
    if (!this.isDown) {
      return;
    }
    const target = this.getTarget(instance);
    assertPointerEvents(instance, target);
    this.isPrevented = false;
    this.isDown = false;
    instance.dispatchUIEvent(target, "pointerup", this.getEventInit(button));
  }
  release(instance) {
    const target = this.getTarget(instance);
    const [leave] = getTreeDiff(target, null);
    const init16 = this.getEventInit();
    if (hasPointerEvents(instance, target)) {
      instance.dispatchUIEvent(target, "pointerout", init16);
      leave.forEach((el) => instance.dispatchUIEvent(el, "pointerleave", init16));
    }
    this.isCancelled = true;
  }
  getTarget(instance) {
    var _this_position_target;
    return (_this_position_target = this.position.target) !== null && _this_position_target !== void 0 ? _this_position_target : instance.config.document.body;
  }
  getEventInit(button) {
    return {
      ...this.position.coords,
      pointerId: this.pointerId,
      pointerType: this.pointerType,
      isPrimary: this.isPrimary,
      button: getMouseEventButton(button),
      buttons: this.buttons.getButtons()
    };
  }
  constructor({ pointerId, pointerType, isPrimary }, buttons) {
    _define_property7(this, "pointerId", void 0);
    _define_property7(this, "pointerType", void 0);
    _define_property7(this, "isPrimary", void 0);
    _define_property7(this, "buttons", void 0);
    _define_property7(this, "isMultitouch", false);
    _define_property7(this, "isCancelled", false);
    _define_property7(this, "isDown", false);
    _define_property7(this, "isPrevented", false);
    _define_property7(this, "position", {});
    this.pointerId = pointerId;
    this.pointerType = pointerType;
    this.isPrimary = isPrimary;
    this.isMultitouch = !isPrimary;
    this.buttons = buttons;
  }
};
__name(_Pointer, "Pointer");
var Pointer = _Pointer;

// ../node_modules/@testing-library/user-event/dist/esm/system/pointer/index.js
function _define_property8(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_define_property8, "_define_property");
var _PointerHost = class _PointerHost {
  isKeyPressed(keyDef) {
    return this.devices.get(keyDef.pointerType).isPressed(keyDef);
  }
  async press(instance, keyDef, position2) {
    this.devices.get(keyDef.pointerType).addPressed(keyDef);
    this.buttons.down(keyDef);
    const pointerName = this.getPointerName(keyDef);
    const pointer4 = keyDef.pointerType === "touch" ? this.pointers.new(pointerName, keyDef.pointerType, this.buttons) : this.pointers.get(pointerName);
    pointer4.position = position2;
    if (pointer4.pointerType !== "touch") {
      this.mouse.position = position2;
    }
    if (pointer4.pointerType === "touch") {
      pointer4.init(instance);
    }
    pointer4.down(instance, keyDef.button);
    if (pointer4.pointerType !== "touch") {
      this.mouse.down(instance, keyDef, pointer4.isPrevented);
    }
  }
  async move(instance, pointerName, position2) {
    const pointer4 = this.pointers.get(pointerName);
    const pointermove = pointer4.move(instance, position2);
    const mousemove = pointer4.pointerType === "touch" ? void 0 : this.mouse.move(instance, position2, pointer4.isPrevented);
    pointermove === null || pointermove === void 0 ? void 0 : pointermove.leave();
    mousemove === null || mousemove === void 0 ? void 0 : mousemove.leave();
    pointermove === null || pointermove === void 0 ? void 0 : pointermove.enter();
    mousemove === null || mousemove === void 0 ? void 0 : mousemove.enter();
    pointermove === null || pointermove === void 0 ? void 0 : pointermove.move();
    mousemove === null || mousemove === void 0 ? void 0 : mousemove.move();
  }
  async release(instance, keyDef, position2) {
    const device = this.devices.get(keyDef.pointerType);
    device.removePressed(keyDef);
    this.buttons.up(keyDef);
    const pointer4 = this.pointers.get(this.getPointerName(keyDef));
    const isPrevented = pointer4.isPrevented;
    pointer4.position = position2;
    if (pointer4.pointerType !== "touch") {
      this.mouse.position = position2;
    }
    if (device.countPressed === 0) {
      pointer4.up(instance, keyDef.button);
    }
    if (pointer4.pointerType === "touch") {
      pointer4.release(instance);
    }
    if (pointer4.pointerType === "touch" && !pointer4.isMultitouch) {
      const mousemove = this.mouse.move(instance, position2, isPrevented);
      mousemove === null || mousemove === void 0 ? void 0 : mousemove.leave();
      mousemove === null || mousemove === void 0 ? void 0 : mousemove.enter();
      mousemove === null || mousemove === void 0 ? void 0 : mousemove.move();
      this.mouse.down(instance, keyDef, isPrevented);
    }
    if (!pointer4.isMultitouch) {
      const mousemove = this.mouse.move(instance, position2, isPrevented);
      mousemove === null || mousemove === void 0 ? void 0 : mousemove.leave();
      mousemove === null || mousemove === void 0 ? void 0 : mousemove.enter();
      mousemove === null || mousemove === void 0 ? void 0 : mousemove.move();
      this.mouse.up(instance, keyDef, isPrevented);
    }
  }
  getPointerName(keyDef) {
    return keyDef.pointerType === "touch" ? keyDef.name : keyDef.pointerType;
  }
  getPreviousPosition(pointerName) {
    return this.pointers.has(pointerName) ? this.pointers.get(pointerName).position : void 0;
  }
  resetClickCount() {
    this.mouse.resetClickCount();
  }
  getMouseTarget(instance) {
    var _this_mouse_position_target;
    return (_this_mouse_position_target = this.mouse.position.target) !== null && _this_mouse_position_target !== void 0 ? _this_mouse_position_target : instance.config.document.body;
  }
  setMousePosition(position2) {
    this.mouse.position = position2;
    this.pointers.get("mouse").position = position2;
  }
  constructor(system) {
    _define_property8(this, "system", void 0);
    _define_property8(this, "mouse", void 0);
    _define_property8(this, "buttons", void 0);
    _define_property8(this, "devices", new class {
      get(k) {
        var _this_registry, _k;
        var _;
        return (_ = (_this_registry = this.registry)[_k = k]) !== null && _ !== void 0 ? _ : _this_registry[_k] = new Device();
      }
      constructor() {
        _define_property8(this, "registry", {});
      }
    }());
    _define_property8(this, "pointers", new class {
      new(pointerName, pointerType, buttons) {
        const isPrimary = pointerType !== "touch" || !Object.values(this.registry).some((p2) => p2.pointerType === "touch" && !p2.isCancelled);
        if (!isPrimary) {
          Object.values(this.registry).forEach((p2) => {
            if (p2.pointerType === pointerType && !p2.isCancelled) {
              p2.isMultitouch = true;
            }
          });
        }
        this.registry[pointerName] = new Pointer({
          pointerId: this.nextId++,
          pointerType,
          isPrimary
        }, buttons);
        return this.registry[pointerName];
      }
      get(pointerName) {
        if (!this.has(pointerName)) {
          throw new Error(`Trying to access pointer "${pointerName}" which does not exist.`);
        }
        return this.registry[pointerName];
      }
      has(pointerName) {
        return pointerName in this.registry;
      }
      constructor() {
        _define_property8(this, "registry", {});
        _define_property8(this, "nextId", 1);
      }
    }());
    this.system = system;
    this.buttons = new Buttons();
    this.mouse = new Mouse();
    this.pointers.new("mouse", "mouse", this.buttons);
  }
};
__name(_PointerHost, "PointerHost");
var PointerHost = _PointerHost;

// ../node_modules/@testing-library/user-event/dist/esm/system/index.js
function _define_property9(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }
  return obj;
}
__name(_define_property9, "_define_property");
var _System = class _System {
  getUIEventModifiers() {
    return {
      altKey: this.keyboard.modifiers.Alt,
      ctrlKey: this.keyboard.modifiers.Control,
      metaKey: this.keyboard.modifiers.Meta,
      shiftKey: this.keyboard.modifiers.Shift,
      modifierAltGraph: this.keyboard.modifiers.AltGraph,
      modifierCapsLock: this.keyboard.modifiers.CapsLock,
      modifierFn: this.keyboard.modifiers.Fn,
      modifierFnLock: this.keyboard.modifiers.FnLock,
      modifierNumLock: this.keyboard.modifiers.NumLock,
      modifierScrollLock: this.keyboard.modifiers.ScrollLock,
      modifierSymbol: this.keyboard.modifiers.Symbol,
      modifierSymbolLock: this.keyboard.modifiers.SymbolLock
    };
  }
  constructor() {
    _define_property9(this, "keyboard", new KeyboardHost(this));
    _define_property9(this, "pointer", new PointerHost(this));
  }
};
__name(_System, "System");
var System = _System;

// ../node_modules/@testing-library/user-event/dist/esm/convenience/click.js
async function click(element) {
  const pointerIn = [];
  if (!this.config.skipHover) {
    pointerIn.push({
      target: element
    });
  }
  pointerIn.push({
    keys: "[MouseLeft]",
    target: element
  });
  return this.pointer(pointerIn);
}
__name(click, "click");
async function dblClick(element) {
  return this.pointer([
    {
      target: element
    },
    "[MouseLeft][MouseLeft]"
  ]);
}
__name(dblClick, "dblClick");
async function tripleClick(element) {
  return this.pointer([
    {
      target: element
    },
    "[MouseLeft][MouseLeft][MouseLeft]"
  ]);
}
__name(tripleClick, "tripleClick");

// ../node_modules/@testing-library/user-event/dist/esm/convenience/hover.js
async function hover(element) {
  return this.pointer({
    target: element
  });
}
__name(hover, "hover");
async function unhover(element) {
  assertPointerEvents(this, this.system.pointer.getMouseTarget(this));
  return this.pointer({
    target: element.ownerDocument.body
  });
}
__name(unhover, "unhover");

// ../node_modules/@testing-library/user-event/dist/esm/convenience/tab.js
async function tab({ shift } = {}) {
  return this.keyboard(shift === true ? "{Shift>}{Tab}{/Shift}" : shift === false ? "[/ShiftLeft][/ShiftRight]{Tab}" : "{Tab}");
}
__name(tab, "tab");

// ../node_modules/@testing-library/user-event/dist/esm/utils/keyDef/readNextDescriptor.js
var bracketDict = function(bracketDict2) {
  bracketDict2["{"] = "}";
  bracketDict2["["] = "]";
  return bracketDict2;
}(bracketDict || {});
function readNextDescriptor(text, context) {
  let pos = 0;
  const startBracket = text[pos] in bracketDict ? text[pos] : "";
  pos += startBracket.length;
  const isEscapedChar = new RegExp(`^\\${startBracket}{2}`).test(text);
  const type5 = isEscapedChar ? "" : startBracket;
  return {
    type: type5,
    ...type5 === "" ? readPrintableChar(text, pos, context) : readTag(text, pos, type5, context)
  };
}
__name(readNextDescriptor, "readNextDescriptor");
function readPrintableChar(text, pos, context) {
  const descriptor = text[pos];
  assertDescriptor(descriptor, text, pos, context);
  pos += descriptor.length;
  return {
    consumedLength: pos,
    descriptor,
    releasePrevious: false,
    releaseSelf: true,
    repeat: 1
  };
}
__name(readPrintableChar, "readPrintableChar");
function readTag(text, pos, startBracket, context) {
  var _text_slice_match, _text_slice_match1;
  const releasePreviousModifier = text[pos] === "/" ? "/" : "";
  pos += releasePreviousModifier.length;
  const escapedDescriptor = startBracket === "{" && text[pos] === "\\";
  pos += Number(escapedDescriptor);
  const descriptor = escapedDescriptor ? text[pos] : (_text_slice_match = text.slice(pos).match(startBracket === "{" ? /^\w+|^[^}>/]/ : /^\w+/)) === null || _text_slice_match === void 0 ? void 0 : _text_slice_match[0];
  assertDescriptor(descriptor, text, pos, context);
  pos += descriptor.length;
  var _text_slice_match_;
  const repeatModifier = (_text_slice_match_ = (_text_slice_match1 = text.slice(pos).match(/^>\d+/)) === null || _text_slice_match1 === void 0 ? void 0 : _text_slice_match1[0]) !== null && _text_slice_match_ !== void 0 ? _text_slice_match_ : "";
  pos += repeatModifier.length;
  const releaseSelfModifier = text[pos] === "/" || !repeatModifier && text[pos] === ">" ? text[pos] : "";
  pos += releaseSelfModifier.length;
  const expectedEndBracket = bracketDict[startBracket];
  const endBracket = text[pos] === expectedEndBracket ? expectedEndBracket : "";
  if (!endBracket) {
    throw new Error(getErrorMessage([
      !repeatModifier && "repeat modifier",
      !releaseSelfModifier && "release modifier",
      `"${expectedEndBracket}"`
    ].filter(Boolean).join(" or "), text[pos], text, context));
  }
  pos += endBracket.length;
  return {
    consumedLength: pos,
    descriptor,
    releasePrevious: !!releasePreviousModifier,
    repeat: repeatModifier ? Math.max(Number(repeatModifier.substr(1)), 1) : 1,
    releaseSelf: hasReleaseSelf(releaseSelfModifier, repeatModifier)
  };
}
__name(readTag, "readTag");
function assertDescriptor(descriptor, text, pos, context) {
  if (!descriptor) {
    throw new Error(getErrorMessage("key descriptor", text[pos], text, context));
  }
}
__name(assertDescriptor, "assertDescriptor");
function hasReleaseSelf(releaseSelfModifier, repeatModifier) {
  if (releaseSelfModifier) {
    return releaseSelfModifier === "/";
  }
  if (repeatModifier) {
    return false;
  }
}
__name(hasReleaseSelf, "hasReleaseSelf");
function getErrorMessage(expected, found, text, context) {
  return `Expected ${expected} but found "${found !== null && found !== void 0 ? found : ""}" in "${text}"
    See ${context === "pointer" ? `https://testing-library.com/docs/user-event/pointer#pressing-a-button-or-touching-the-screen` : `https://testing-library.com/docs/user-event/keyboard`}
    for more information about how userEvent parses your input.`;
}
__name(getErrorMessage, "getErrorMessage");

// ../node_modules/@testing-library/user-event/dist/esm/keyboard/parseKeyDef.js
function parseKeyDef(keyboardMap, text) {
  const defs = [];
  do {
    const { type: type5, descriptor, consumedLength, releasePrevious, releaseSelf = true, repeat } = readNextDescriptor(text, "keyboard");
    var _keyboardMap_find;
    const keyDef = (_keyboardMap_find = keyboardMap.find((def) => {
      if (type5 === "[") {
        var _def_code;
        return ((_def_code = def.code) === null || _def_code === void 0 ? void 0 : _def_code.toLowerCase()) === descriptor.toLowerCase();
      } else if (type5 === "{") {
        var _def_key;
        return ((_def_key = def.key) === null || _def_key === void 0 ? void 0 : _def_key.toLowerCase()) === descriptor.toLowerCase();
      }
      return def.key === descriptor;
    })) !== null && _keyboardMap_find !== void 0 ? _keyboardMap_find : {
      key: "Unknown",
      code: "Unknown",
      [type5 === "[" ? "code" : "key"]: descriptor
    };
    defs.push({
      keyDef,
      releasePrevious,
      releaseSelf,
      repeat
    });
    text = text.slice(consumedLength);
  } while (text);
  return defs;
}
__name(parseKeyDef, "parseKeyDef");

// ../node_modules/@testing-library/user-event/dist/esm/keyboard/index.js
async function keyboard(text) {
  const actions = parseKeyDef(this.config.keyboardMap, text);
  for (let i2 = 0; i2 < actions.length; i2++) {
    await wait(this.config);
    await keyboardAction(this, actions[i2]);
  }
}
__name(keyboard, "keyboard");
async function keyboardAction(instance, { keyDef, releasePrevious, releaseSelf, repeat }) {
  const { system } = instance;
  if (system.keyboard.isKeyPressed(keyDef)) {
    await system.keyboard.keyup(instance, keyDef);
  }
  if (!releasePrevious) {
    for (let i2 = 1; i2 <= repeat; i2++) {
      await system.keyboard.keydown(instance, keyDef);
      if (i2 < repeat) {
        await wait(instance.config);
      }
    }
    if (releaseSelf) {
      await system.keyboard.keyup(instance, keyDef);
    }
  }
}
__name(keyboardAction, "keyboardAction");
async function releaseAllKeys(instance) {
  for (const k of instance.system.keyboard.getPressedKeys()) {
    await instance.system.keyboard.keyup(instance, k);
  }
}
__name(releaseAllKeys, "releaseAllKeys");

// ../node_modules/@testing-library/user-event/dist/esm/document/copySelection.js
function copySelection(target) {
  const data = hasOwnSelection(target) ? {
    "text/plain": readSelectedValueFromInput(target)
  } : {
    "text/plain": String(target.ownerDocument.getSelection())
  };
  const dt = createDataTransfer(getWindow2(target));
  for (const type5 in data) {
    if (data[type5]) {
      dt.setData(type5, data[type5]);
    }
  }
  return dt;
}
__name(copySelection, "copySelection");
function readSelectedValueFromInput(target) {
  const sel = getUISelection(target);
  const val = getUIValue(target);
  return val.substring(sel.startOffset, sel.endOffset);
}
__name(readSelectedValueFromInput, "readSelectedValueFromInput");

// ../node_modules/@testing-library/user-event/dist/esm/clipboard/copy.js
async function copy2() {
  const doc = this.config.document;
  var _doc_activeElement;
  const target = (_doc_activeElement = doc.activeElement) !== null && _doc_activeElement !== void 0 ? _doc_activeElement : (
    /* istanbul ignore next */
    doc.body
  );
  const clipboardData = copySelection(target);
  if (clipboardData.items.length === 0) {
    return;
  }
  if (this.dispatchUIEvent(target, "copy", {
    clipboardData
  }) && this.config.writeToClipboard) {
    await writeDataTransferToClipboard(doc, clipboardData);
  }
  return clipboardData;
}
__name(copy2, "copy");

// ../node_modules/@testing-library/user-event/dist/esm/clipboard/cut.js
async function cut() {
  const doc = this.config.document;
  var _doc_activeElement;
  const target = (_doc_activeElement = doc.activeElement) !== null && _doc_activeElement !== void 0 ? _doc_activeElement : (
    /* istanbul ignore next */
    doc.body
  );
  const clipboardData = copySelection(target);
  if (clipboardData.items.length === 0) {
    return;
  }
  if (this.dispatchUIEvent(target, "cut", {
    clipboardData
  }) && this.config.writeToClipboard) {
    await writeDataTransferToClipboard(target.ownerDocument, clipboardData);
  }
  return clipboardData;
}
__name(cut, "cut");

// ../node_modules/@testing-library/user-event/dist/esm/clipboard/paste.js
async function paste(clipboardData) {
  const doc = this.config.document;
  var _doc_activeElement;
  const target = (_doc_activeElement = doc.activeElement) !== null && _doc_activeElement !== void 0 ? _doc_activeElement : (
    /* istanbul ignore next */
    doc.body
  );
  var _ref;
  const dataTransfer = (_ref = typeof clipboardData === "string" ? getClipboardDataFromString(doc, clipboardData) : clipboardData) !== null && _ref !== void 0 ? _ref : await readDataTransferFromClipboard(doc).catch(() => {
    throw new Error("`userEvent.paste()` without `clipboardData` requires the `ClipboardAPI` to be available.");
  });
  this.dispatchUIEvent(target, "paste", {
    clipboardData: dataTransfer
  });
}
__name(paste, "paste");
function getClipboardDataFromString(doc, text) {
  const dt = createDataTransfer(getWindow2(doc));
  dt.setData("text", text);
  return dt;
}
__name(getClipboardDataFromString, "getClipboardDataFromString");

// ../node_modules/@testing-library/user-event/dist/esm/pointer/parseKeyDef.js
function parseKeyDef2(pointerMap, keys3) {
  const defs = [];
  do {
    const { descriptor, consumedLength, releasePrevious, releaseSelf = true } = readNextDescriptor(keys3, "pointer");
    const keyDef = pointerMap.find((p2) => p2.name === descriptor);
    if (keyDef) {
      defs.push({
        keyDef,
        releasePrevious,
        releaseSelf
      });
    }
    keys3 = keys3.slice(consumedLength);
  } while (keys3);
  return defs;
}
__name(parseKeyDef2, "parseKeyDef");

// ../node_modules/@testing-library/user-event/dist/esm/pointer/index.js
async function pointer(input2) {
  const { pointerMap } = this.config;
  const actions = [];
  (Array.isArray(input2) ? input2 : [
    input2
  ]).forEach((actionInput) => {
    if (typeof actionInput === "string") {
      actions.push(...parseKeyDef2(pointerMap, actionInput));
    } else if ("keys" in actionInput) {
      actions.push(...parseKeyDef2(pointerMap, actionInput.keys).map((i2) => ({
        ...actionInput,
        ...i2
      })));
    } else {
      actions.push(actionInput);
    }
  });
  for (let i2 = 0; i2 < actions.length; i2++) {
    await wait(this.config);
    await pointerAction(this, actions[i2]);
  }
  this.system.pointer.resetClickCount();
}
__name(pointer, "pointer");
async function pointerAction(instance, action2) {
  var _previousPosition_caret, _previousPosition_caret1;
  const pointerName = "pointerName" in action2 && action2.pointerName ? action2.pointerName : "keyDef" in action2 ? instance.system.pointer.getPointerName(action2.keyDef) : "mouse";
  const previousPosition = instance.system.pointer.getPreviousPosition(pointerName);
  var _action_target, _action_coords, _action_node, _action_offset;
  const position2 = {
    target: (_action_target = action2.target) !== null && _action_target !== void 0 ? _action_target : getPrevTarget(instance, previousPosition),
    coords: (_action_coords = action2.coords) !== null && _action_coords !== void 0 ? _action_coords : previousPosition === null || previousPosition === void 0 ? void 0 : previousPosition.coords,
    caret: {
      node: (_action_node = action2.node) !== null && _action_node !== void 0 ? _action_node : hasCaretPosition(action2) ? void 0 : previousPosition === null || previousPosition === void 0 ? void 0 : (_previousPosition_caret = previousPosition.caret) === null || _previousPosition_caret === void 0 ? void 0 : _previousPosition_caret.node,
      offset: (_action_offset = action2.offset) !== null && _action_offset !== void 0 ? _action_offset : hasCaretPosition(action2) ? void 0 : previousPosition === null || previousPosition === void 0 ? void 0 : (_previousPosition_caret1 = previousPosition.caret) === null || _previousPosition_caret1 === void 0 ? void 0 : _previousPosition_caret1.offset
    }
  };
  if ("keyDef" in action2) {
    if (instance.system.pointer.isKeyPressed(action2.keyDef)) {
      setLevelRef(instance, ApiLevel.Trigger);
      await instance.system.pointer.release(instance, action2.keyDef, position2);
    }
    if (!action2.releasePrevious) {
      setLevelRef(instance, ApiLevel.Trigger);
      await instance.system.pointer.press(instance, action2.keyDef, position2);
      if (action2.releaseSelf) {
        setLevelRef(instance, ApiLevel.Trigger);
        await instance.system.pointer.release(instance, action2.keyDef, position2);
      }
    }
  } else {
    setLevelRef(instance, ApiLevel.Trigger);
    await instance.system.pointer.move(instance, pointerName, position2);
  }
}
__name(pointerAction, "pointerAction");
function hasCaretPosition(action2) {
  var _action_target, _ref;
  return !!((_ref = (_action_target = action2.target) !== null && _action_target !== void 0 ? _action_target : action2.node) !== null && _ref !== void 0 ? _ref : action2.offset !== void 0);
}
__name(hasCaretPosition, "hasCaretPosition");
function getPrevTarget(instance, position2) {
  if (!position2) {
    throw new Error("This pointer has no previous position. Provide a target property!");
  }
  var _position_target;
  return (_position_target = position2.target) !== null && _position_target !== void 0 ? _position_target : instance.config.document.body;
}
__name(getPrevTarget, "getPrevTarget");

// ../node_modules/@testing-library/user-event/dist/esm/utility/clear.js
async function clear(element) {
  if (!isEditable(element) || isDisabled2(element)) {
    throw new Error("clear()` is only supported on editable elements.");
  }
  focusElement(element);
  if (element.ownerDocument.activeElement !== element) {
    throw new Error("The element to be cleared could not be focused.");
  }
  selectAll(element);
  if (!isAllSelected(element)) {
    throw new Error("The element content to be cleared could not be selected.");
  }
  input(this, element, "", "deleteContentBackward");
}
__name(clear, "clear");

// ../node_modules/@testing-library/user-event/dist/esm/utility/selectOptions.js
async function selectOptions(select, values) {
  return selectOptionsBase.call(this, true, select, values);
}
__name(selectOptions, "selectOptions");
async function deselectOptions(select, values) {
  return selectOptionsBase.call(this, false, select, values);
}
__name(deselectOptions, "deselectOptions");
async function selectOptionsBase(newValue, select, values) {
  if (!newValue && !select.multiple) {
    throw getConfig2().getElementError(`Unable to deselect an option in a non-multiple select. Use selectOptions to change the selection instead.`, select);
  }
  const valArray = Array.isArray(values) ? values : [
    values
  ];
  const allOptions = Array.from(select.querySelectorAll('option, [role="option"]'));
  const selectedOptions = valArray.map((val) => {
    if (typeof val !== "string" && allOptions.includes(val)) {
      return val;
    } else {
      const matchingOption = allOptions.find((o2) => o2.value === val || o2.innerHTML === val);
      if (matchingOption) {
        return matchingOption;
      } else {
        throw getConfig2().getElementError(`Value "${String(val)}" not found in options`, select);
      }
    }
  }).filter((option) => !isDisabled2(option));
  if (isDisabled2(select) || !selectedOptions.length) return;
  const selectOption = /* @__PURE__ */ __name((option) => {
    option.selected = newValue;
    this.dispatchUIEvent(select, "input", {
      bubbles: true,
      cancelable: false,
      composed: true
    });
    this.dispatchUIEvent(select, "change");
  }, "selectOption");
  if (isElementType(select, "select")) {
    if (select.multiple) {
      for (const option of selectedOptions) {
        const withPointerEvents = this.config.pointerEventsCheck === 0 ? true : hasPointerEvents(this, option);
        if (withPointerEvents) {
          this.dispatchUIEvent(option, "pointerover");
          this.dispatchUIEvent(select, "pointerenter");
          this.dispatchUIEvent(option, "mouseover");
          this.dispatchUIEvent(select, "mouseenter");
          this.dispatchUIEvent(option, "pointermove");
          this.dispatchUIEvent(option, "mousemove");
          this.dispatchUIEvent(option, "pointerdown");
          this.dispatchUIEvent(option, "mousedown");
        }
        focusElement(select);
        if (withPointerEvents) {
          this.dispatchUIEvent(option, "pointerup");
          this.dispatchUIEvent(option, "mouseup");
        }
        selectOption(option);
        if (withPointerEvents) {
          this.dispatchUIEvent(option, "click");
        }
        await wait(this.config);
      }
    } else if (selectedOptions.length === 1) {
      const withPointerEvents = this.config.pointerEventsCheck === 0 ? true : hasPointerEvents(this, select);
      if (withPointerEvents) {
        await this.click(select);
      } else {
        focusElement(select);
      }
      selectOption(selectedOptions[0]);
      if (withPointerEvents) {
        this.dispatchUIEvent(select, "pointerover");
        this.dispatchUIEvent(select, "pointerenter");
        this.dispatchUIEvent(select, "mouseover");
        this.dispatchUIEvent(select, "mouseenter");
        this.dispatchUIEvent(select, "pointerup");
        this.dispatchUIEvent(select, "mouseup");
        this.dispatchUIEvent(select, "click");
      }
      await wait(this.config);
    } else {
      throw getConfig2().getElementError(`Cannot select multiple options on a non-multiple select`, select);
    }
  } else if (select.getAttribute("role") === "listbox") {
    for (const option of selectedOptions) {
      await this.click(option);
      await this.unhover(option);
    }
  } else {
    throw getConfig2().getElementError(`Cannot select options on elements that are neither select nor listbox elements`, select);
  }
}
__name(selectOptionsBase, "selectOptionsBase");

// ../node_modules/@testing-library/user-event/dist/esm/utility/type.js
async function type3(element, text, { skipClick = this.config.skipClick, skipAutoClose = this.config.skipAutoClose, initialSelectionStart, initialSelectionEnd } = {}) {
  if (element.disabled) return;
  if (!skipClick) {
    await this.click(element);
  }
  if (initialSelectionStart !== void 0) {
    setSelectionRange(element, initialSelectionStart, initialSelectionEnd !== null && initialSelectionEnd !== void 0 ? initialSelectionEnd : initialSelectionStart);
  }
  await this.keyboard(text);
  if (!skipAutoClose) {
    await releaseAllKeys(this);
  }
}
__name(type3, "type");

// ../node_modules/@testing-library/user-event/dist/esm/utils/edit/setFiles.js
var fakeFiles = Symbol("files and value properties are mocked");
function restoreProperty(obj, prop, descriptor) {
  if (descriptor) {
    Object.defineProperty(obj, prop, descriptor);
  } else {
    delete obj[prop];
  }
}
__name(restoreProperty, "restoreProperty");
function setFiles(el, files) {
  var _el_fakeFiles;
  (_el_fakeFiles = el[fakeFiles]) === null || _el_fakeFiles === void 0 ? void 0 : _el_fakeFiles.restore();
  const typeDescr = Object.getOwnPropertyDescriptor(el, "type");
  const valueDescr = Object.getOwnPropertyDescriptor(el, "value");
  const filesDescr = Object.getOwnPropertyDescriptor(el, "files");
  function restore() {
    restoreProperty(el, "type", typeDescr);
    restoreProperty(el, "value", valueDescr);
    restoreProperty(el, "files", filesDescr);
  }
  __name(restore, "restore");
  el[fakeFiles] = {
    restore
  };
  Object.defineProperties(el, {
    files: {
      configurable: true,
      get: /* @__PURE__ */ __name(() => files, "get")
    },
    value: {
      configurable: true,
      get: /* @__PURE__ */ __name(() => files.length ? `C:\\fakepath\\${files[0].name}` : "", "get"),
      set(v) {
        if (v === "") {
          restore();
        } else {
          var _valueDescr_set;
          valueDescr === null || valueDescr === void 0 ? void 0 : (_valueDescr_set = valueDescr.set) === null || _valueDescr_set === void 0 ? void 0 : _valueDescr_set.call(el, v);
        }
      }
    },
    type: {
      configurable: true,
      get: /* @__PURE__ */ __name(() => "file", "get"),
      set(v) {
        if (v !== "file") {
          restore();
          el.type = v;
        }
      }
    }
  });
}
__name(setFiles, "setFiles");

// ../node_modules/@testing-library/user-event/dist/esm/utility/upload.js
async function upload(element, fileOrFiles) {
  const input2 = isElementType(element, "label") ? element.control : element;
  if (!input2 || !isElementType(input2, "input", {
    type: "file"
  })) {
    throw new TypeError(`The ${input2 === element ? "given" : "associated"} ${input2 === null || input2 === void 0 ? void 0 : input2.tagName} element does not accept file uploads`);
  }
  if (isDisabled2(element)) return;
  const files = (Array.isArray(fileOrFiles) ? fileOrFiles : [
    fileOrFiles
  ]).filter((file) => !this.config.applyAccept || isAcceptableFile(file, input2.accept)).slice(0, input2.multiple ? void 0 : 1);
  const fileDialog = /* @__PURE__ */ __name(() => {
    var _input_files;
    if (files.length === ((_input_files = input2.files) === null || _input_files === void 0 ? void 0 : _input_files.length) && files.every((f3, i2) => {
      var _input_files2;
      return f3 === ((_input_files2 = input2.files) === null || _input_files2 === void 0 ? void 0 : _input_files2.item(i2));
    })) {
      return;
    }
    setFiles(input2, createFileList(getWindow2(element), files));
    this.dispatchUIEvent(input2, "input");
    this.dispatchUIEvent(input2, "change");
  }, "fileDialog");
  input2.addEventListener("fileDialog", fileDialog);
  await this.click(element);
  input2.removeEventListener("fileDialog", fileDialog);
}
__name(upload, "upload");
function normalize3(nameOrType) {
  return nameOrType.toLowerCase().replace(/(\.|\/)jpg\b/g, "$1jpeg");
}
__name(normalize3, "normalize");
function isAcceptableFile(file, accept) {
  if (!accept) {
    return true;
  }
  const wildcards = [
    "audio/*",
    "image/*",
    "video/*"
  ];
  return normalize3(accept).trim().split(/\s*,\s*/).some((acceptToken) => {
    if (acceptToken.startsWith(".")) {
      return normalize3(file.name).endsWith(acceptToken);
    } else if (wildcards.includes(acceptToken)) {
      return normalize3(file.type).startsWith(acceptToken.replace("*", ""));
    }
    return normalize3(file.type) === acceptToken;
  });
}
__name(isAcceptableFile, "isAcceptableFile");

// ../node_modules/@testing-library/user-event/dist/esm/setup/api.js
var userEventApi = {
  click,
  dblClick,
  tripleClick,
  hover,
  unhover,
  tab,
  keyboard,
  copy: copy2,
  cut,
  paste,
  pointer,
  clear,
  deselectOptions,
  selectOptions,
  type: type3,
  upload
};

// ../node_modules/@testing-library/user-event/dist/esm/setup/wrapAsync.js
function wrapAsync(implementation) {
  return getConfig2().asyncWrapper(implementation);
}
__name(wrapAsync, "wrapAsync");

// ../node_modules/@testing-library/user-event/dist/esm/setup/setup.js
var defaultOptionsDirect = {
  applyAccept: true,
  autoModify: true,
  delay: 0,
  document: globalThis.document,
  keyboardMap: defaultKeyMap,
  pointerMap: defaultKeyMap2,
  pointerEventsCheck: PointerEventsCheckLevel.EachApiCall,
  skipAutoClose: false,
  skipClick: false,
  skipHover: false,
  writeToClipboard: false,
  advanceTimers: /* @__PURE__ */ __name(() => Promise.resolve(), "advanceTimers")
};
var defaultOptionsSetup = {
  ...defaultOptionsDirect,
  writeToClipboard: true
};
function createConfig(options = {}, defaults = defaultOptionsSetup, node2) {
  const document13 = getDocument2(options, node2, defaults);
  return {
    ...defaults,
    ...options,
    document: document13
  };
}
__name(createConfig, "createConfig");
function setupMain(options = {}) {
  const config4 = createConfig(options);
  prepareDocument(config4.document);
  patchFocus(getWindow2(config4.document).HTMLElement);
  var _config_document_defaultView;
  const view = (_config_document_defaultView = config4.document.defaultView) !== null && _config_document_defaultView !== void 0 ? _config_document_defaultView : (
    /* istanbul ignore next */
    globalThis.window
  );
  attachClipboardStubToView(view);
  return createInstance(config4).api;
}
__name(setupMain, "setupMain");
function setupDirect({ keyboardState, pointerState, ...options } = {}, node2) {
  const config4 = createConfig(options, defaultOptionsDirect, node2);
  prepareDocument(config4.document);
  patchFocus(getWindow2(config4.document).HTMLElement);
  var _ref;
  const system = (_ref = pointerState !== null && pointerState !== void 0 ? pointerState : keyboardState) !== null && _ref !== void 0 ? _ref : new System();
  return {
    api: createInstance(config4, system).api,
    system
  };
}
__name(setupDirect, "setupDirect");
function setupSub(options) {
  return createInstance({
    ...this.config,
    ...options
  }, this.system).api;
}
__name(setupSub, "setupSub");
function wrapAndBindImpl(instance, impl) {
  function method(...args) {
    setLevelRef(instance, ApiLevel.Call);
    return wrapAsync(() => impl.apply(instance, args).then(async (ret) => {
      await wait(instance.config);
      return ret;
    }));
  }
  __name(method, "method");
  Object.defineProperty(method, "name", {
    get: /* @__PURE__ */ __name(() => impl.name, "get")
  });
  return method;
}
__name(wrapAndBindImpl, "wrapAndBindImpl");
function createInstance(config4, system = new System()) {
  const instance = {};
  Object.assign(instance, {
    config: config4,
    dispatchEvent: dispatchEvent.bind(instance),
    dispatchUIEvent: dispatchUIEvent.bind(instance),
    system,
    levelRefs: {},
    ...userEventApi
  });
  return {
    instance,
    api: {
      ...Object.fromEntries(Object.entries(userEventApi).map(([name, api]) => [
        name,
        wrapAndBindImpl(instance, api)
      ])),
      setup: setupSub.bind(instance)
    }
  };
}
__name(createInstance, "createInstance");
function getDocument2(options, node2, defaults) {
  var _options_document, _ref;
  return (_ref = (_options_document = options.document) !== null && _options_document !== void 0 ? _options_document : node2 && getDocumentFromNode(node2)) !== null && _ref !== void 0 ? _ref : defaults.document;
}
__name(getDocument2, "getDocument");

// ../node_modules/@testing-library/user-event/dist/esm/setup/directApi.js
var directApi_exports = {};
__export(directApi_exports, {
  clear: () => clear2,
  click: () => click2,
  copy: () => copy3,
  cut: () => cut2,
  dblClick: () => dblClick2,
  deselectOptions: () => deselectOptions2,
  hover: () => hover2,
  keyboard: () => keyboard2,
  paste: () => paste2,
  pointer: () => pointer2,
  selectOptions: () => selectOptions2,
  tab: () => tab2,
  tripleClick: () => tripleClick2,
  type: () => type4,
  unhover: () => unhover2,
  upload: () => upload2
});
function clear2(element) {
  return setupDirect().api.clear(element);
}
__name(clear2, "clear");
function click2(element, options = {}) {
  return setupDirect(options, element).api.click(element);
}
__name(click2, "click");
function copy3(options = {}) {
  return setupDirect(options).api.copy();
}
__name(copy3, "copy");
function cut2(options = {}) {
  return setupDirect(options).api.cut();
}
__name(cut2, "cut");
function dblClick2(element, options = {}) {
  return setupDirect(options).api.dblClick(element);
}
__name(dblClick2, "dblClick");
function deselectOptions2(select, values, options = {}) {
  return setupDirect(options).api.deselectOptions(select, values);
}
__name(deselectOptions2, "deselectOptions");
function hover2(element, options = {}) {
  return setupDirect(options).api.hover(element);
}
__name(hover2, "hover");
async function keyboard2(text, options = {}) {
  const { api, system } = setupDirect(options);
  return api.keyboard(text).then(() => system);
}
__name(keyboard2, "keyboard");
async function pointer2(input2, options = {}) {
  const { api, system } = setupDirect(options);
  return api.pointer(input2).then(() => system);
}
__name(pointer2, "pointer");
function paste2(clipboardData, options) {
  return setupDirect(options).api.paste(clipboardData);
}
__name(paste2, "paste");
function selectOptions2(select, values, options = {}) {
  return setupDirect(options).api.selectOptions(select, values);
}
__name(selectOptions2, "selectOptions");
function tripleClick2(element, options = {}) {
  return setupDirect(options).api.tripleClick(element);
}
__name(tripleClick2, "tripleClick");
function type4(element, text, options = {}) {
  return setupDirect(options, element).api.type(element, text, options);
}
__name(type4, "type");
function unhover2(element, options = {}) {
  const { api, system } = setupDirect(options);
  system.pointer.setMousePosition({
    target: element
  });
  return api.unhover(element);
}
__name(unhover2, "unhover");
function upload2(element, fileOrFiles, options = {}) {
  return setupDirect(options).api.upload(element, fileOrFiles);
}
__name(upload2, "upload");
function tab2(options = {}) {
  return setupDirect().api.tab(options);
}
__name(tab2, "tab");

// ../node_modules/@testing-library/user-event/dist/esm/setup/index.js
var userEvent = {
  ...directApi_exports,
  setup: setupMain
};

// src/test/testing-library.ts
init_client_logger();
init_esm();
var testingLibrary = instrument(
  { ...dom_esm_exports },
  {
    getKeys: /* @__PURE__ */ __name((obj) => Object.keys(obj).filter((key) => key !== "eventWrapper"), "getKeys"),
    intercept: /* @__PURE__ */ __name((method, path) => path[0] === "fireEvent" || method.startsWith("find") || method.startsWith("waitFor"), "intercept")
  }
);
testingLibrary.screen = new Proxy(testingLibrary.screen, {
  get(target, prop, receiver) {
    if (typeof window !== "undefined" && globalThis.location?.href?.includes("viewMode=docs")) {
      once.warn(dedent`
        You are using Testing Library's \`screen\` object while the story is rendered in docs mode. This will likely lead to issues, as multiple stories are rendered in the same page and therefore screen will potentially find multiple elements. Use the \`canvas\` utility from the story context instead, which will scope the queries to each story's canvas.

        More info: https://storybook.js.org/docs/writing-tests/interaction-testing?ref=error#querying-the-canvas
      `);
    }
    return Reflect.get(target, prop, receiver);
  }
});
var {
  buildQueries: buildQueries2,
  configure: configure2,
  createEvent: createEvent3,
  fireEvent: fireEvent2,
  findAllByAltText: findAllByAltText2,
  findAllByDisplayValue: findAllByDisplayValue2,
  findAllByLabelText: findAllByLabelText2,
  findAllByPlaceholderText: findAllByPlaceholderText2,
  findAllByRole: findAllByRole2,
  findAllByTestId: findAllByTestId2,
  findAllByText: findAllByText2,
  findAllByTitle: findAllByTitle2,
  findByAltText: findByAltText2,
  findByDisplayValue: findByDisplayValue2,
  findByLabelText: findByLabelText2,
  findByPlaceholderText: findByPlaceholderText2,
  findByRole: findByRole2,
  findByTestId: findByTestId2,
  findByText: findByText2,
  findByTitle: findByTitle2,
  getAllByAltText: getAllByAltText2,
  getAllByDisplayValue: getAllByDisplayValue2,
  getAllByLabelText: getAllByLabelText2,
  getAllByPlaceholderText: getAllByPlaceholderText2,
  getAllByRole: getAllByRole2,
  getAllByTestId: getAllByTestId2,
  getAllByText: getAllByText2,
  getAllByTitle: getAllByTitle2,
  getByAltText: getByAltText2,
  getByDisplayValue: getByDisplayValue2,
  getByLabelText: getByLabelText2,
  getByPlaceholderText: getByPlaceholderText2,
  getByRole: getByRole2,
  getByTestId: getByTestId2,
  getByText: getByText2,
  getByTitle: getByTitle2,
  getConfig: getConfig3,
  getDefaultNormalizer: getDefaultNormalizer2,
  getElementError: getElementError2,
  getNodeText: getNodeText2,
  getQueriesForElement: getQueriesForElement2,
  getRoles: getRoles2,
  getSuggestedQuery: getSuggestedQuery2,
  isInaccessible: isInaccessible2,
  logDOM: logDOM2,
  logRoles: logRoles2,
  prettyDOM: prettyDOM2,
  queries: queries2,
  queryAllByAltText: queryAllByAltText2,
  queryAllByAttribute: queryAllByAttribute2,
  queryAllByDisplayValue: queryAllByDisplayValue2,
  queryAllByLabelText: queryAllByLabelText2,
  queryAllByPlaceholderText: queryAllByPlaceholderText2,
  queryAllByRole: queryAllByRole2,
  queryAllByTestId: queryAllByTestId2,
  queryAllByText: queryAllByText2,
  queryAllByTitle: queryAllByTitle2,
  queryByAltText: queryByAltText2,
  queryByAttribute: queryByAttribute2,
  queryByDisplayValue: queryByDisplayValue2,
  queryByLabelText: queryByLabelText2,
  queryByPlaceholderText: queryByPlaceholderText2,
  queryByRole: queryByRole2,
  queryByTestId: queryByTestId2,
  queryByText: queryByText2,
  queryByTitle: queryByTitle2,
  queryHelpers: queryHelpers2,
  screen: screen2,
  waitFor: waitFor2,
  waitForElementToBeRemoved: waitForElementToBeRemoved2,
  within: within2,
  prettyFormat: prettyFormat2
} = testingLibrary;
var uninstrumentedUserEvent = userEvent;
var { userEvent: userEvent2 } = instrument(
  { userEvent },
  { intercept: true, getKeys: /* @__PURE__ */ __name((obj) => Object.keys(obj).filter((key) => key !== "eventWrapper"), "getKeys") }
);

// src/test/index.ts
var { expect: expect3 } = instrument(
  { expect: expect2 },
  {
    getKeys: /* @__PURE__ */ __name((obj, depth) => {
      if ("constructor" in obj && obj.constructor === Assertion) {
        const privateApi = ["assert", "__methods", "__flags", "_obj"];
        const keys3 = Object.keys(Object.getPrototypeOf(obj)).filter(
          (it) => !privateApi.includes(it)
        );
        return depth > 2 ? keys3 : [...keys3, "not"];
      }
      if ("any" in obj) {
        return Object.keys(obj).filter((it) => it !== "any");
      }
      return Object.keys(obj);
    }, "getKeys"),
    mutate: true,
    intercept: /* @__PURE__ */ __name((method) => method !== "expect", "intercept")
  }
);
var sb = {
  mock: /* @__PURE__ */ __name(() => {
  }, "mock")
};

// src/backgrounds/constants.ts
var ADDON_ID3 = "storybook/background";
var PARAM_KEY = "backgrounds";
var EVENTS2 = {
  UPDATE: `${ADDON_ID3}/update`
};

// src/backgrounds/defaults.ts
var DEFAULT_BACKGROUNDS = {
  light: { name: "light", value: "#F8F8F8" },
  dark: { name: "dark", value: "#333" }
};

// src/backgrounds/utils.ts
var { document: document9 } = globalThis;
var isReduceMotionEnabled = /* @__PURE__ */ __name(() => {
  if (!globalThis?.matchMedia) {
    return false;
  }
  const prefersReduceMotion = globalThis.matchMedia("(prefers-reduced-motion: reduce)");
  return !!prefersReduceMotion?.matches;
}, "isReduceMotionEnabled");
var clearStyles = /* @__PURE__ */ __name((selector) => {
  const selectors = Array.isArray(selector) ? selector : [selector];
  selectors.forEach(clearStyle);
}, "clearStyles");
var clearStyle = /* @__PURE__ */ __name((selector) => {
  if (!document9) {
    return;
  }
  const element = document9.getElementById(selector);
  if (element && element.parentElement) {
    element.parentElement.removeChild(element);
  }
}, "clearStyle");
var addGridStyle = /* @__PURE__ */ __name((selector, css3) => {
  if (!document9) {
    return;
  }
  const existingStyle = document9.getElementById(selector);
  if (existingStyle) {
    if (existingStyle.innerHTML !== css3) {
      existingStyle.innerHTML = css3;
    }
  } else {
    const style = document9.createElement("style");
    style.setAttribute("id", selector);
    style.innerHTML = css3;
    document9.head.appendChild(style);
  }
}, "addGridStyle");
var addBackgroundStyle = /* @__PURE__ */ __name((selector, css3, storyId) => {
  if (!document9) {
    return;
  }
  const existingStyle = document9.getElementById(selector);
  if (existingStyle) {
    if (existingStyle.innerHTML !== css3) {
      existingStyle.innerHTML = css3;
    }
  } else {
    const style = document9.createElement("style");
    style.setAttribute("id", selector);
    style.innerHTML = css3;
    const gridStyleSelector = `addon-backgrounds-grid${storyId ? `-docs-${storyId}` : ""}`;
    const existingGridStyle = document9.getElementById(gridStyleSelector);
    if (existingGridStyle) {
      existingGridStyle.parentElement?.insertBefore(style, existingGridStyle);
    } else {
      document9.head.appendChild(style);
    }
  }
}, "addBackgroundStyle");

// src/backgrounds/decorator.ts
var defaultGrid = {
  cellSize: 100,
  cellAmount: 10,
  opacity: 0.8
};
var BG_SELECTOR_BASE = `addon-backgrounds`;
var GRID_SELECTOR_BASE = "addon-backgrounds-grid";
var transitionStyle = isReduceMotionEnabled() ? "" : "transition: background-color 0.3s;";
var withBackgroundAndGrid = /* @__PURE__ */ __name((StoryFn, context) => {
  const { globals = {}, parameters: parameters2 = {}, viewMode, id } = context;
  const {
    options = DEFAULT_BACKGROUNDS,
    disable,
    grid = defaultGrid
  } = parameters2[PARAM_KEY] || {};
  const data = globals[PARAM_KEY] || {};
  const backgroundName = typeof data === "string" ? data : data?.value;
  const item = backgroundName ? options[backgroundName] : void 0;
  const value = typeof item === "string" ? item : item?.value || "transparent";
  const showGrid = typeof data === "string" ? false : data.grid || false;
  const shownBackground = !!item && !disable;
  const backgroundSelector = viewMode === "docs" ? `#anchor--${id} .docs-story` : ".sb-show-main";
  const gridSelector = viewMode === "docs" ? `#anchor--${id} .docs-story` : ".sb-show-main";
  const isLayoutPadded = parameters2.layout === void 0 || parameters2.layout === "padded";
  const defaultOffset = viewMode === "docs" ? 20 : isLayoutPadded ? 16 : 0;
  const { cellAmount, cellSize, opacity, offsetX = defaultOffset, offsetY = defaultOffset } = grid;
  const backgroundSelectorId = viewMode === "docs" ? `${BG_SELECTOR_BASE}-docs-${id}` : `${BG_SELECTOR_BASE}-color`;
  const backgroundTarget = viewMode === "docs" ? id : null;
  useEffect29(() => {
    const backgroundStyles = `
    ${backgroundSelector} {
      background: ${value} !important;
      ${transitionStyle}
      }`;
    if (!shownBackground) {
      clearStyles(backgroundSelectorId);
      return;
    }
    addBackgroundStyle(backgroundSelectorId, backgroundStyles, backgroundTarget);
  }, [backgroundSelector, backgroundSelectorId, backgroundTarget, shownBackground, value]);
  const gridSelectorId = viewMode === "docs" ? `${GRID_SELECTOR_BASE}-docs-${id}` : `${GRID_SELECTOR_BASE}`;
  useEffect29(() => {
    if (!showGrid) {
      clearStyles(gridSelectorId);
      return;
    }
    const gridSize = [
      `${cellSize * cellAmount}px ${cellSize * cellAmount}px`,
      `${cellSize * cellAmount}px ${cellSize * cellAmount}px`,
      `${cellSize}px ${cellSize}px`,
      `${cellSize}px ${cellSize}px`
    ].join(", ");
    const gridStyles = `
        ${gridSelector} {
          background-size: ${gridSize} !important;
          background-position: ${offsetX}px ${offsetY}px, ${offsetX}px ${offsetY}px, ${offsetX}px ${offsetY}px, ${offsetX}px ${offsetY}px !important;
          background-blend-mode: difference !important;
          background-image: linear-gradient(rgba(130, 130, 130, ${opacity}) 1px, transparent 1px),
           linear-gradient(90deg, rgba(130, 130, 130, ${opacity}) 1px, transparent 1px),
           linear-gradient(rgba(130, 130, 130, ${opacity / 2}) 1px, transparent 1px),
           linear-gradient(90deg, rgba(130, 130, 130, ${opacity / 2}) 1px, transparent 1px) !important;
        }
      `;
    addGridStyle(gridSelectorId, gridStyles);
  }, [cellAmount, cellSize, gridSelector, gridSelectorId, showGrid, offsetX, offsetY, opacity]);
  return StoryFn();
}, "withBackgroundAndGrid");

// src/backgrounds/preview.ts
var decorators = globalThis.FEATURES?.backgrounds ? [withBackgroundAndGrid] : [];
var parameters = {
  [PARAM_KEY]: {
    grid: {
      cellSize: 20,
      opacity: 0.5,
      cellAmount: 5
    },
    disable: false
  }
};
var initialGlobals = {
  [PARAM_KEY]: { value: void 0, grid: false }
};

// src/component-testing/preview.ts
var { step } = instrument(
  {
    // It seems like the label is unused, but the instrumenter has access to it
    // The context will be bounded later in StoryRender, so that the user can write just:
    // await step("label", (context) => {
    //   // labeled step
    // });
    step: /* @__PURE__ */ __name(async (label, play, context) => play(context), "step")
  },
  { intercept: true }
);

// src/highlight/constants.ts
var ADDON_ID4 = "storybook/highlight";
var HIGHLIGHT = `${ADDON_ID4}/add`;
var REMOVE_HIGHLIGHT = `${ADDON_ID4}/remove`;
var RESET_HIGHLIGHT = `${ADDON_ID4}/reset`;
var SCROLL_INTO_VIEW = `${ADDON_ID4}/scroll-into-view`;
var MAX_Z_INDEX = 2147483647;
var MIN_TOUCH_AREA_SIZE = 28;

// src/highlight/icons.ts
var iconPaths = {
  chevronLeft: [
    "M9.10355 10.1464C9.29882 10.3417 9.29882 10.6583 9.10355 10.8536C8.90829 11.0488 8.59171 11.0488 8.39645 10.8536L4.89645 7.35355C4.70118 7.15829 4.70118 6.84171 4.89645 6.64645L8.39645 3.14645C8.59171 2.95118 8.90829 2.95118 9.10355 3.14645C9.29882 3.34171 9.29882 3.65829 9.10355 3.85355L5.95711 7L9.10355 10.1464Z"
  ],
  chevronRight: [
    "M4.89645 10.1464C4.70118 10.3417 4.70118 10.6583 4.89645 10.8536C5.09171 11.0488 5.40829 11.0488 5.60355 10.8536L9.10355 7.35355C9.29882 7.15829 9.29882 6.84171 9.10355 6.64645L5.60355 3.14645C5.40829 2.95118 5.09171 2.95118 4.89645 3.14645C4.70118 3.34171 4.70118 3.65829 4.89645 3.85355L8.04289 7L4.89645 10.1464Z"
  ],
  info: [
    "M7 5.5a.5.5 0 01.5.5v4a.5.5 0 01-1 0V6a.5.5 0 01.5-.5zM7 4.5A.75.75 0 107 3a.75.75 0 000 1.5z",
    "M7 14A7 7 0 107 0a7 7 0 000 14zm0-1A6 6 0 107 1a6 6 0 000 12z"
  ],
  shareAlt: [
    "M2 1.004a1 1 0 00-1 1v10a1 1 0 001 1h10a1 1 0 001-1v-4.5a.5.5 0 00-1 0v4.5H2v-10h4.5a.5.5 0 000-1H2z",
    "M7.354 7.357L12 2.711v1.793a.5.5 0 001 0v-3a.5.5 0 00-.5-.5h-3a.5.5 0 100 1h1.793L6.646 6.65a.5.5 0 10.708.707z"
  ]
};

// src/highlight/utils.ts
var svgElements = "svg,path,rect,circle,line,polyline,polygon,ellipse,text".split(",");
var createElement15 = /* @__PURE__ */ __name((type5, props = {}, children) => {
  const element = svgElements.includes(type5) ? document.createElementNS("http://www.w3.org/2000/svg", type5) : document.createElement(type5);
  Object.entries(props).forEach(([key, val]) => {
    if (/[A-Z]/.test(key)) {
      if (key === "onClick") {
        element.addEventListener("click", val);
        element.addEventListener("keydown", (e2) => {
          if (e2.key === "Enter" || e2.key === " ") {
            e2.preventDefault();
            val();
          }
        });
      }
      if (key === "onMouseEnter") {
        element.addEventListener("mouseenter", val);
      }
      if (key === "onMouseLeave") {
        element.addEventListener("mouseleave", val);
      }
    } else {
      element.setAttribute(key, val);
    }
  });
  children?.forEach((child) => {
    if (child === null || child === void 0 || child === false) {
      return;
    }
    try {
      element.appendChild(child);
    } catch (e2) {
      element.appendChild(document.createTextNode(String(child)));
    }
  });
  return element;
}, "createElement");
var createIcon = /* @__PURE__ */ __name((name) => iconPaths[name] && createElement15(
  "svg",
  { width: "14", height: "14", viewBox: "0 0 14 14", xmlns: "http://www.w3.org/2000/svg" },
  iconPaths[name].map(
    (d) => createElement15("path", {
      fill: "currentColor",
      "fill-rule": "evenodd",
      "clip-rule": "evenodd",
      d
    })
  )
), "createIcon");
var normalizeOptions = /* @__PURE__ */ __name((options) => {
  if ("elements" in options) {
    const { elements, color: color2, style } = options;
    return {
      id: void 0,
      priority: 0,
      selectors: elements,
      styles: {
        outline: `2px ${style} ${color2}`,
        outlineOffset: "2px",
        boxShadow: "0 0 0 6px rgba(255,255,255,0.6)"
      },
      menu: void 0
    };
  }
  const { menu, ...rest } = options;
  return {
    id: void 0,
    priority: 0,
    styles: {
      outline: "2px dashed #029cfd"
    },
    ...rest,
    menu: Array.isArray(menu) ? menu.every(Array.isArray) ? menu : [menu] : void 0
  };
}, "normalizeOptions");
var isFunction4 = /* @__PURE__ */ __name((obj) => obj instanceof Function, "isFunction");
var state = /* @__PURE__ */ new Map();
var listeners2 = /* @__PURE__ */ new Map();
var teardowns = /* @__PURE__ */ new Map();
var useStore = /* @__PURE__ */ __name((initialValue2) => {
  const key = Symbol();
  listeners2.set(key, []);
  state.set(key, initialValue2);
  const get4 = /* @__PURE__ */ __name(() => state.get(key), "get");
  const set3 = /* @__PURE__ */ __name((update2) => {
    const current = state.get(key);
    const next2 = isFunction4(update2) ? update2(current) : update2;
    if (next2 !== current) {
      state.set(key, next2);
      listeners2.get(key)?.forEach((listener) => {
        teardowns.get(listener)?.();
        teardowns.set(listener, listener(next2));
      });
    }
  }, "set");
  const subscribe = /* @__PURE__ */ __name((listener) => {
    listeners2.get(key)?.push(listener);
    return () => {
      const list = listeners2.get(key);
      if (list) {
        listeners2.set(
          key,
          list.filter((l) => l !== listener)
        );
      }
    };
  }, "subscribe");
  const teardown = /* @__PURE__ */ __name(() => {
    listeners2.get(key)?.forEach((listener) => {
      teardowns.get(listener)?.();
      teardowns.delete(listener);
    });
    listeners2.delete(key);
    state.delete(key);
  }, "teardown");
  return { get: get4, set: set3, subscribe, teardown };
}, "useStore");
var mapElements = /* @__PURE__ */ __name((highlights) => {
  const root2 = document.getElementById("storybook-root");
  const map2 = /* @__PURE__ */ new Map();
  for (const highlight of highlights) {
    const { priority = 0 } = highlight;
    for (const selector of highlight.selectors) {
      const elements = [
        ...document.querySelectorAll(
          // Elements matching the selector, excluding storybook elements and their descendants.
          // Necessary to find portaled elements (e.g. children of `body`).
          `:is(${selector}):not([id^="storybook-"], [id^="storybook-"] *, [class^="sb-"], [class^="sb-"] *)`
        ),
        // Elements matching the selector inside the storybook root, as these were excluded above.
        ...root2?.querySelectorAll(selector) || []
      ];
      for (const element of elements) {
        const existing = map2.get(element);
        if (!existing || existing.priority <= priority) {
          map2.set(element, {
            ...highlight,
            priority,
            selectors: Array.from(new Set((existing?.selectors || []).concat(selector)))
          });
        }
      }
    }
  }
  return map2;
}, "mapElements");
var mapBoxes = /* @__PURE__ */ __name((elements) => Array.from(elements.entries()).map(([element, { selectors, styles: styles4, hoverStyles, focusStyles, menu }]) => {
  const { top: top2, left: left2, width, height } = element.getBoundingClientRect();
  const { position: position2 } = getComputedStyle(element);
  return {
    element,
    selectors,
    styles: styles4,
    hoverStyles,
    focusStyles,
    menu,
    top: position2 === "fixed" ? top2 : top2 + window.scrollY,
    left: position2 === "fixed" ? left2 : left2 + window.scrollX,
    width,
    height
  };
}).sort((a2, b) => b.width * b.height - a2.width * a2.height), "mapBoxes");
var isOverMenu = /* @__PURE__ */ __name((menuElement, coordinates) => {
  const menu = menuElement.getBoundingClientRect();
  const { x, y } = coordinates;
  return menu?.top && menu?.left && x >= menu.left && x <= menu.left + menu.width && y >= menu.top && y <= menu.top + menu.height;
}, "isOverMenu");
var isTargeted = /* @__PURE__ */ __name((box, boxElement, coordinates) => {
  if (!boxElement || !coordinates) {
    return false;
  }
  let { left: left2, top: top2, width, height } = box;
  if (height < MIN_TOUCH_AREA_SIZE) {
    top2 = top2 - Math.round((MIN_TOUCH_AREA_SIZE - height) / 2);
    height = MIN_TOUCH_AREA_SIZE;
  }
  if (width < MIN_TOUCH_AREA_SIZE) {
    left2 = left2 - Math.round((MIN_TOUCH_AREA_SIZE - width) / 2);
    width = MIN_TOUCH_AREA_SIZE;
  }
  if (boxElement.style.position === "fixed") {
    left2 += window.scrollX;
    top2 += window.scrollY;
  }
  const { x, y } = coordinates;
  return x >= left2 && x <= left2 + width && y >= top2 && y <= top2 + height;
}, "isTargeted");
var keepInViewport = /* @__PURE__ */ __name((element, targetCoordinates, options = {}) => {
  const { x, y } = targetCoordinates;
  const { margin = 5, topOffset = 0, centered = false } = options;
  const { scrollX, scrollY, innerHeight: windowHeight, innerWidth: windowWidth } = window;
  const top2 = Math.min(
    element.style.position === "fixed" ? y - scrollY : y,
    windowHeight - element.clientHeight - margin - topOffset + scrollY
  );
  const leftOffset = centered ? element.clientWidth / 2 : 0;
  const left2 = element.style.position === "fixed" ? Math.max(Math.min(x - scrollX, windowWidth - leftOffset - margin), leftOffset + margin) : Math.max(
    Math.min(x, windowWidth - leftOffset - margin + scrollX),
    leftOffset + margin + scrollX
  );
  Object.assign(element.style, {
    ...left2 !== x && { left: `${left2}px` },
    ...top2 !== y && { top: `${top2}px` }
  });
}, "keepInViewport");
var showPopover = /* @__PURE__ */ __name((element) => {
  if (window.HTMLElement.prototype.hasOwnProperty("showPopover")) {
    element.showPopover();
  }
}, "showPopover");
var hidePopover = /* @__PURE__ */ __name((element) => {
  if (window.HTMLElement.prototype.hasOwnProperty("showPopover")) {
    element.hidePopover();
  }
}, "hidePopover");
var getEventDetails = /* @__PURE__ */ __name((target) => ({
  top: target.top,
  left: target.left,
  width: target.width,
  height: target.height,
  selectors: target.selectors,
  element: {
    attributes: Object.fromEntries(
      Array.from(target.element.attributes).map((attr) => [attr.name, attr.value])
    ),
    localName: target.element.localName,
    tagName: target.element.tagName,
    outerHTML: target.element.outerHTML
  }
}), "getEventDetails");

// src/highlight/useHighlights.ts
var menuId = "storybook-highlights-menu";
var rootId = "storybook-highlights-root";
var storybookRootId = "storybook-root";
var useHighlights = /* @__PURE__ */ __name((channel) => {
  if (globalThis.__STORYBOOK_HIGHLIGHT_INITIALIZED) {
    return;
  }
  globalThis.__STORYBOOK_HIGHLIGHT_INITIALIZED = true;
  const { document: document13 } = globalThis;
  const highlights = useStore([]);
  const elements = useStore(/* @__PURE__ */ new Map());
  const boxes = useStore([]);
  const clickCoords = useStore();
  const hoverCoords = useStore();
  const targets = useStore([]);
  const hovered = useStore([]);
  const focused = useStore();
  const selected = useStore();
  let root2 = document13.getElementById(rootId);
  highlights.subscribe(() => {
    if (!root2) {
      root2 = createElement15("div", { id: rootId });
      document13.body.appendChild(root2);
    }
  });
  highlights.subscribe((value) => {
    const storybookRoot = document13.getElementById(storybookRootId);
    if (!storybookRoot) {
      return;
    }
    elements.set(mapElements(value));
    const observer = new MutationObserver(() => elements.set(mapElements(value)));
    observer.observe(storybookRoot, { subtree: true, childList: true });
    return () => {
      observer.disconnect();
    };
  });
  elements.subscribe((value) => {
    const updateBoxes = /* @__PURE__ */ __name(() => requestAnimationFrame(() => boxes.set(mapBoxes(value))), "updateBoxes");
    const observer = new ResizeObserver(updateBoxes);
    observer.observe(document13.body);
    Array.from(value.keys()).forEach((element) => observer.observe(element));
    const scrollers = Array.from(document13.body.querySelectorAll("*")).filter((el) => {
      const { overflow, overflowX, overflowY } = window.getComputedStyle(el);
      return ["auto", "scroll"].some((o2) => [overflow, overflowX, overflowY].includes(o2));
    });
    scrollers.forEach((element) => element.addEventListener("scroll", updateBoxes));
    return () => {
      observer.disconnect();
      scrollers.forEach((element) => element.removeEventListener("scroll", updateBoxes));
    };
  });
  elements.subscribe((value) => {
    const sticky = Array.from(value.keys()).filter(({ style }) => style.position === "sticky");
    const updateBoxes = /* @__PURE__ */ __name(() => requestAnimationFrame(() => {
      boxes.set(
        (current) => current.map((box) => {
          if (sticky.includes(box.element)) {
            const { top: top2, left: left2 } = box.element.getBoundingClientRect();
            return { ...box, top: top2 + window.scrollY, left: left2 + window.scrollX };
          }
          return box;
        })
      );
    }), "updateBoxes");
    document13.addEventListener("scroll", updateBoxes);
    return () => document13.removeEventListener("scroll", updateBoxes);
  });
  elements.subscribe((value) => {
    targets.set((t2) => t2.filter(({ element }) => value.has(element)));
  });
  targets.subscribe((value) => {
    if (value.length) {
      selected.set((s3) => value.some((t2) => t2.element === s3?.element) ? s3 : void 0);
      focused.set((s3) => value.some((t2) => t2.element === s3?.element) ? s3 : void 0);
    } else {
      selected.set(void 0);
      focused.set(void 0);
      clickCoords.set(void 0);
    }
  });
  const styleElementByHighlight = new Map(/* @__PURE__ */ new Map());
  highlights.subscribe((value) => {
    value.forEach(({ keyframes: keyframes2 }) => {
      if (keyframes2) {
        let style = styleElementByHighlight.get(keyframes2);
        if (!style) {
          style = document13.createElement("style");
          style.setAttribute("data-highlight", "keyframes");
          styleElementByHighlight.set(keyframes2, style);
          document13.head.appendChild(style);
        }
        style.innerHTML = keyframes2;
      }
    });
    styleElementByHighlight.forEach((style, keyframes2) => {
      if (!value.some((v) => v.keyframes === keyframes2)) {
        style.remove();
        styleElementByHighlight.delete(keyframes2);
      }
    });
  });
  const boxElementByTargetElement = new Map(/* @__PURE__ */ new Map());
  boxes.subscribe((value) => {
    value.forEach((box) => {
      let boxElement = boxElementByTargetElement.get(box.element);
      if (root2 && !boxElement) {
        const props = {
          popover: "manual",
          "data-highlight-dimensions": `w${box.width.toFixed(0)}h${box.height.toFixed(0)}`,
          "data-highlight-coordinates": `x${box.left.toFixed(0)}y${box.top.toFixed(0)}`
        };
        boxElement = root2.appendChild(
          createElement15("div", props, [createElement15("div")])
        );
        boxElementByTargetElement.set(box.element, boxElement);
      }
    });
    boxElementByTargetElement.forEach((box, element) => {
      if (!value.some(({ element: e2 }) => e2 === element)) {
        box.remove();
        boxElementByTargetElement.delete(element);
      }
    });
  });
  boxes.subscribe((value) => {
    const targetable = value.filter((box) => box.menu);
    if (!targetable.length) {
      return;
    }
    const onClick = /* @__PURE__ */ __name((event) => {
      requestAnimationFrame(() => {
        const menu = document13.getElementById(menuId);
        const coords = { x: event.pageX, y: event.pageY };
        if (menu && !isOverMenu(menu, coords)) {
          const results = targetable.filter((box) => {
            const boxElement = boxElementByTargetElement.get(box.element);
            return isTargeted(box, boxElement, coords);
          });
          clickCoords.set(results.length ? coords : void 0);
          targets.set(results);
        }
      });
    }, "onClick");
    document13.addEventListener("click", onClick);
    return () => document13.removeEventListener("click", onClick);
  });
  const updateHovered = /* @__PURE__ */ __name(() => {
    const menu = document13.getElementById(menuId);
    const coords = hoverCoords.get();
    if (!coords || menu && isOverMenu(menu, coords)) {
      return;
    }
    hovered.set((current) => {
      const update2 = boxes.get().filter((box) => {
        const boxElement = boxElementByTargetElement.get(box.element);
        return isTargeted(box, boxElement, coords);
      });
      const existing = current.filter((box) => update2.includes(box));
      const additions = update2.filter((box) => !current.includes(box));
      const hasRemovals = current.length - existing.length;
      return additions.length || hasRemovals ? [...existing, ...additions] : current;
    });
  }, "updateHovered");
  hoverCoords.subscribe(updateHovered);
  boxes.subscribe(updateHovered);
  const updateBoxStyles = /* @__PURE__ */ __name(() => {
    const selectedElement = selected.get();
    const targetElements = selectedElement ? [selectedElement] : targets.get();
    const focusedElement = targetElements.length === 1 ? targetElements[0] : focused.get();
    const isMenuOpen = clickCoords.get() !== void 0;
    boxes.get().forEach((box) => {
      const boxElement = boxElementByTargetElement.get(box.element);
      if (boxElement) {
        const isFocused = focusedElement === box;
        const isHovered = isMenuOpen ? focusedElement ? isFocused : targetElements.includes(box) : hovered.get()?.includes(box);
        Object.assign(boxElement.style, {
          animation: "none",
          background: "transparent",
          border: "none",
          boxSizing: "border-box",
          outline: "none",
          outlineOffset: "0px",
          ...box.styles,
          ...isHovered ? box.hoverStyles : {},
          ...isFocused ? box.focusStyles : {},
          position: getComputedStyle(box.element).position === "fixed" ? "fixed" : "absolute",
          zIndex: MAX_Z_INDEX - 10,
          top: `${box.top}px`,
          left: `${box.left}px`,
          width: `${box.width}px`,
          height: `${box.height}px`,
          margin: 0,
          padding: 0,
          cursor: box.menu && isHovered ? "pointer" : "default",
          pointerEvents: box.menu ? "auto" : "none",
          display: "flex",
          alignItems: "center",
          justifyContent: "center",
          overflow: "visible"
        });
        Object.assign(boxElement.children[0].style, {
          width: "100%",
          height: "100%",
          minHeight: `${MIN_TOUCH_AREA_SIZE}px`,
          minWidth: `${MIN_TOUCH_AREA_SIZE}px`,
          boxSizing: "content-box",
          padding: boxElement.style.outlineWidth || "0px"
        });
        showPopover(boxElement);
      }
    });
  }, "updateBoxStyles");
  boxes.subscribe(updateBoxStyles);
  targets.subscribe(updateBoxStyles);
  hovered.subscribe(updateBoxStyles);
  focused.subscribe(updateBoxStyles);
  selected.subscribe(updateBoxStyles);
  const renderMenu = /* @__PURE__ */ __name(() => {
    if (!root2) {
      return;
    }
    let menu = document13.getElementById(menuId);
    if (menu) {
      menu.innerHTML = "";
    } else {
      const props = { id: menuId, popover: "manual" };
      menu = root2.appendChild(createElement15("div", props));
      root2.appendChild(
        createElement15("style", {}, [
          `
            #${menuId} {
              position: absolute;
              z-index: ${MAX_Z_INDEX};
              width: 300px;
              padding: 0px;
              margin: 15px 0 0 0;
              transform: translateX(-50%);
              font-family: "Nunito Sans", -apple-system, ".SFNSText-Regular", "San Francisco", BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
              font-size: 12px;
              background: white;
              border: none;
              border-radius: 6px;
              box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.05), 0 5px 15px 0 rgba(0, 0, 0, 0.1);
              color: #2E3438;
            }
            #${menuId} ul {
              list-style: none;
              margin: 0;
              padding: 0;
            }
            #${menuId} > ul {
              max-height: 300px;
              overflow-y: auto;
              padding: 4px 0;
            }
            #${menuId} li {
              padding: 0 4px;
              margin: 0;
            }
            #${menuId} li > :not(ul) {
              display: flex;
              padding: 8px;
              margin: 0;
              align-items: center;
              gap: 8px;
              border-radius: 4px;
            }
            #${menuId} button {
              width: 100%;
              border: 0;
              background: transparent;
              color: inherit;
              text-align: left;
              font-family: inherit;
              font-size: inherit;
            }
            #${menuId} button:focus-visible {
              outline-color: #029CFD;
            }
            #${menuId} button:hover {
              background: rgba(2, 156, 253, 0.07);
              color: #029CFD;
              cursor: pointer;
            }
            #${menuId} li code {
              white-space: nowrap;
              overflow: hidden;
              text-overflow: ellipsis;
              line-height: 16px;
              font-size: 11px;
            }
            #${menuId} li svg {
              flex-shrink: 0;
              margin: 1px;
              color: #73828C;
            }
            #${menuId} li > button:hover svg, #${menuId} li > button:focus-visible svg {
              color: #029CFD;
            }
            #${menuId} .element-list li svg {
              display: none;
            }
            #${menuId} li.selectable svg, #${menuId} li.selected svg {
              display: block;
            }
            #${menuId} .menu-list {
              border-top: 1px solid rgba(38, 85, 115, 0.15);
            }
            #${menuId} .menu-list > li:not(:last-child) {
              padding-bottom: 4px;
              margin-bottom: 4px;
              border-bottom: 1px solid rgba(38, 85, 115, 0.15);
            }
            #${menuId} .menu-items, #${menuId} .menu-items li {
              padding: 0;
            }
            #${menuId} .menu-item {
              display: flex;
            }
            #${menuId} .menu-item-content {
              display: flex;
              flex-direction: column;
              flex-grow: 1;
            }
          `
        ])
      );
    }
    const selectedElement = selected.get();
    const elementList = selectedElement ? [selectedElement] : targets.get();
    if (elementList.length) {
      menu.style.position = getComputedStyle(elementList[0].element).position === "fixed" ? "fixed" : "absolute";
      menu.appendChild(
        createElement15(
          "ul",
          { class: "element-list" },
          elementList.map((target) => {
            const selectable = elementList.length > 1 && !!target.menu?.some(
              (group) => group.some(
                (item) => !item.selectors || item.selectors.some((s3) => target.selectors.includes(s3))
              )
            );
            const props = selectable ? {
              class: "selectable",
              onClick: /* @__PURE__ */ __name(() => selected.set(target), "onClick"),
              onMouseEnter: /* @__PURE__ */ __name(() => focused.set(target), "onMouseEnter"),
              onMouseLeave: /* @__PURE__ */ __name(() => focused.set(void 0), "onMouseLeave")
            } : selectedElement ? { class: "selected", onClick: /* @__PURE__ */ __name(() => selected.set(void 0), "onClick") } : {};
            const asButton = selectable || selectedElement;
            return createElement15("li", props, [
              createElement15(asButton ? "button" : "div", asButton ? { type: "button" } : {}, [
                selectedElement ? createIcon("chevronLeft") : null,
                createElement15("code", {}, [target.element.outerHTML]),
                selectable ? createIcon("chevronRight") : null
              ])
            ]);
          })
        )
      );
    }
    if (selected.get() || targets.get().length === 1) {
      const target = selected.get() || targets.get()[0];
      const menuGroups = target.menu?.filter(
        (group) => group.some(
          (item) => !item.selectors || item.selectors.some((s3) => target.selectors.includes(s3))
        )
      );
      if (menuGroups?.length) {
        menu.appendChild(
          createElement15(
            "ul",
            { class: "menu-list" },
            menuGroups.map(
              (menuItems) => createElement15("li", {}, [
                createElement15(
                  "ul",
                  { class: "menu-items" },
                  menuItems.map(
                    ({ id, title, description, iconLeft, iconRight, clickEvent: event }) => {
                      const onClick = event && (() => channel.emit(event, id, getEventDetails(target)));
                      return createElement15("li", {}, [
                        createElement15(
                          onClick ? "button" : "div",
                          onClick ? { class: "menu-item", type: "button", onClick } : { class: "menu-item" },
                          [
                            iconLeft ? createIcon(iconLeft) : null,
                            createElement15("div", { class: "menu-item-content" }, [
                              createElement15(description ? "strong" : "span", {}, [title]),
                              description && createElement15("span", {}, [description])
                            ]),
                            iconRight ? createIcon(iconRight) : null
                          ]
                        )
                      ]);
                    }
                  )
                )
              ])
            )
          )
        );
      }
    }
    const coords = clickCoords.get();
    if (coords) {
      Object.assign(menu.style, {
        display: "block",
        left: `${menu.style.position === "fixed" ? coords.x - window.scrollX : coords.x}px`,
        top: `${menu.style.position === "fixed" ? coords.y - window.scrollY : coords.y}px`
      });
      showPopover(menu);
      requestAnimationFrame(() => keepInViewport(menu, coords, { topOffset: 15, centered: true }));
    } else {
      hidePopover(menu);
      Object.assign(menu.style, { display: "none" });
    }
  }, "renderMenu");
  targets.subscribe(renderMenu);
  selected.subscribe(renderMenu);
  const addHighlight = /* @__PURE__ */ __name((highlight) => {
    const info = normalizeOptions(highlight);
    highlights.set((value) => {
      const others = info.id ? value.filter((h2) => h2.id !== info.id) : value;
      return info.selectors?.length ? [...others, info] : others;
    });
  }, "addHighlight");
  const removeHighlight = /* @__PURE__ */ __name((id) => {
    if (id) {
      highlights.set((value) => value.filter((h2) => h2.id !== id));
    }
  }, "removeHighlight");
  const resetState = /* @__PURE__ */ __name(() => {
    highlights.set([]);
    elements.set(/* @__PURE__ */ new Map());
    boxes.set([]);
    clickCoords.set(void 0);
    hoverCoords.set(void 0);
    targets.set([]);
    hovered.set([]);
    focused.set(void 0);
    selected.set(void 0);
  }, "resetState");
  let removeTimeout;
  const scrollIntoView = /* @__PURE__ */ __name((target, options) => {
    const id = "scrollIntoView-highlight";
    clearTimeout(removeTimeout);
    removeHighlight(id);
    const element = document13.querySelector(target);
    if (!element) {
      console.warn(`Cannot scroll into view: ${target} not found`);
      return;
    }
    element.scrollIntoView({ behavior: "smooth", block: "center", ...options });
    const keyframeName = `kf-${Math.random().toString(36).substring(2, 15)}`;
    highlights.set((value) => [
      ...value,
      {
        id,
        priority: 1e3,
        selectors: [target],
        styles: {
          outline: "2px solid #1EA7FD",
          outlineOffset: "-1px",
          animation: `${keyframeName} 3s linear forwards`
        },
        keyframes: `@keyframes ${keyframeName} {
          0% { outline: 2px solid #1EA7FD; }
          20% { outline: 2px solid #1EA7FD00; }
          40% { outline: 2px solid #1EA7FD; }
          60% { outline: 2px solid #1EA7FD00; }
          80% { outline: 2px solid #1EA7FD; }
          100% { outline: 2px solid #1EA7FD00; }
        }`
      }
    ]);
    removeTimeout = setTimeout(() => removeHighlight(id), 3500);
  }, "scrollIntoView");
  const onMouseMove = /* @__PURE__ */ __name((event) => {
    requestAnimationFrame(() => hoverCoords.set({ x: event.pageX, y: event.pageY }));
  }, "onMouseMove");
  document13.body.addEventListener("mousemove", onMouseMove);
  channel.on(HIGHLIGHT, addHighlight);
  channel.on(REMOVE_HIGHLIGHT, removeHighlight);
  channel.on(RESET_HIGHLIGHT, resetState);
  channel.on(SCROLL_INTO_VIEW, scrollIntoView);
  channel.on(STORY_RENDER_PHASE_CHANGED, ({ newPhase }) => {
    if (newPhase === "loading") {
      resetState();
    }
  });
}, "useHighlights");

// src/highlight/preview.ts
if (globalThis?.FEATURES?.highlight && addons?.ready) {
  addons.ready().then(useHighlights);
}

// src/measure/constants.ts
var ADDON_ID5 = "storybook/measure-addon";
var TOOL_ID = `${ADDON_ID5}/tool`;
var PARAM_KEY2 = "measureEnabled";
var EVENTS3 = {
  RESULT: `${ADDON_ID5}/result`,
  REQUEST: `${ADDON_ID5}/request`,
  CLEAR: `${ADDON_ID5}/clear`
};

// src/measure/box-model/canvas.ts
init_dist();
function getDocumentWidthAndHeight() {
  const container = scope.document.documentElement;
  const height = Math.max(container.scrollHeight, container.offsetHeight);
  const width = Math.max(container.scrollWidth, container.offsetWidth);
  return { width, height };
}
__name(getDocumentWidthAndHeight, "getDocumentWidthAndHeight");
function createCanvas() {
  const canvas = scope.document.createElement("canvas");
  canvas.id = "storybook-addon-measure";
  const context = canvas.getContext("2d");
  invariant(context != null);
  const { width, height } = getDocumentWidthAndHeight();
  setCanvasWidthAndHeight(canvas, context, { width, height });
  canvas.style.position = "absolute";
  canvas.style.left = "0";
  canvas.style.top = "0";
  canvas.style.zIndex = "2147483647";
  canvas.style.pointerEvents = "none";
  scope.document.body.appendChild(canvas);
  return { canvas, context, width, height };
}
__name(createCanvas, "createCanvas");
function setCanvasWidthAndHeight(canvas, context, { width, height }) {
  canvas.style.width = `${width}px`;
  canvas.style.height = `${height}px`;
  const scale = scope.window.devicePixelRatio;
  canvas.width = Math.floor(width * scale);
  canvas.height = Math.floor(height * scale);
  context.scale(scale, scale);
}
__name(setCanvasWidthAndHeight, "setCanvasWidthAndHeight");
var state2 = {};
function init() {
  if (!state2.canvas) {
    state2 = createCanvas();
  }
}
__name(init, "init");
function clear3() {
  if (state2.context) {
    state2.context.clearRect(0, 0, state2.width ?? 0, state2.height ?? 0);
  }
}
__name(clear3, "clear");
function draw(callback) {
  clear3();
  callback(state2.context);
}
__name(draw, "draw");
function rescale() {
  invariant(state2.canvas, "Canvas should exist in the state.");
  invariant(state2.context, "Context should exist in the state.");
  setCanvasWidthAndHeight(state2.canvas, state2.context, { width: 0, height: 0 });
  const { width, height } = getDocumentWidthAndHeight();
  setCanvasWidthAndHeight(state2.canvas, state2.context, { width, height });
  state2.width = width;
  state2.height = height;
}
__name(rescale, "rescale");
function destroy() {
  if (state2.canvas) {
    clear3();
    state2.canvas.parentNode?.removeChild(state2.canvas);
    state2 = {};
  }
}
__name(destroy, "destroy");

// src/measure/box-model/visualizer.ts
init_dist();

// src/measure/box-model/labels.ts
var colors = {
  margin: "#f6b26b",
  border: "#ffe599",
  padding: "#93c47d",
  content: "#6fa8dc",
  text: "#232020"
};
var labelPadding = 6;
function roundedRect(context, { x, y, w, h: h2, r: r2 }) {
  x = x - w / 2;
  y = y - h2 / 2;
  if (w < 2 * r2) {
    r2 = w / 2;
  }
  if (h2 < 2 * r2) {
    r2 = h2 / 2;
  }
  context.beginPath();
  context.moveTo(x + r2, y);
  context.arcTo(x + w, y, x + w, y + h2, r2);
  context.arcTo(x + w, y + h2, x, y + h2, r2);
  context.arcTo(x, y + h2, x, y, r2);
  context.arcTo(x, y, x + w, y, r2);
  context.closePath();
}
__name(roundedRect, "roundedRect");
function positionCoordinate(position2, { padding, border, width, height, top: top2, left: left2 }) {
  const contentWidth = width - border.left - border.right - padding.left - padding.right;
  const contentHeight = height - padding.top - padding.bottom - border.top - border.bottom;
  let x = left2 + border.left + padding.left;
  let y = top2 + border.top + padding.top;
  if (position2 === "top") {
    x += contentWidth / 2;
  } else if (position2 === "right") {
    x += contentWidth;
    y += contentHeight / 2;
  } else if (position2 === "bottom") {
    x += contentWidth / 2;
    y += contentHeight;
  } else if (position2 === "left") {
    y += contentHeight / 2;
  } else if (position2 === "center") {
    x += contentWidth / 2;
    y += contentHeight / 2;
  }
  return { x, y };
}
__name(positionCoordinate, "positionCoordinate");
function offset2(type5, position2, { margin, border, padding }, labelPaddingSize, external) {
  let shift = /* @__PURE__ */ __name((dir) => 0, "shift");
  let offsetX = 0;
  let offsetY = 0;
  const locationMultiplier = external ? 1 : 0.5;
  const labelPaddingShift = external ? labelPaddingSize * 2 : 0;
  if (type5 === "padding") {
    shift = /* @__PURE__ */ __name((dir) => padding[dir] * locationMultiplier + labelPaddingShift, "shift");
  } else if (type5 === "border") {
    shift = /* @__PURE__ */ __name((dir) => padding[dir] + border[dir] * locationMultiplier + labelPaddingShift, "shift");
  } else if (type5 === "margin") {
    shift = /* @__PURE__ */ __name((dir) => padding[dir] + border[dir] + margin[dir] * locationMultiplier + labelPaddingShift, "shift");
  }
  if (position2 === "top") {
    offsetY = -shift("top");
  } else if (position2 === "right") {
    offsetX = shift("right");
  } else if (position2 === "bottom") {
    offsetY = shift("bottom");
  } else if (position2 === "left") {
    offsetX = -shift("left");
  }
  return { offsetX, offsetY };
}
__name(offset2, "offset");
function collide(a2, b) {
  return Math.abs(a2.x - b.x) < Math.abs(a2.w + b.w) / 2 && Math.abs(a2.y - b.y) < Math.abs(a2.h + b.h) / 2;
}
__name(collide, "collide");
function overlapAdjustment(position2, currentRect, prevRect) {
  if (position2 === "top") {
    currentRect.y = prevRect.y - prevRect.h - labelPadding;
  } else if (position2 === "right") {
    currentRect.x = prevRect.x + prevRect.w / 2 + labelPadding + currentRect.w / 2;
  } else if (position2 === "bottom") {
    currentRect.y = prevRect.y + prevRect.h + labelPadding;
  } else if (position2 === "left") {
    currentRect.x = prevRect.x - prevRect.w / 2 - labelPadding - currentRect.w / 2;
  }
  return { x: currentRect.x, y: currentRect.y };
}
__name(overlapAdjustment, "overlapAdjustment");
function textWithRect(context, type5, { x, y, w, h: h2 }, text) {
  roundedRect(context, { x, y, w, h: h2, r: 3 });
  context.fillStyle = `${colors[type5]}dd`;
  context.fill();
  context.strokeStyle = colors[type5];
  context.stroke();
  context.fillStyle = colors.text;
  context.fillText(text, x, y);
  roundedRect(context, { x, y, w, h: h2, r: 3 });
  context.fillStyle = `${colors[type5]}dd`;
  context.fill();
  context.strokeStyle = colors[type5];
  context.stroke();
  context.fillStyle = colors.text;
  context.fillText(text, x, y);
  return { x, y, w, h: h2 };
}
__name(textWithRect, "textWithRect");
function configureText(context, text) {
  context.font = "600 12px monospace";
  context.textBaseline = "middle";
  context.textAlign = "center";
  const metrics = context.measureText(text);
  const actualHeight = metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent;
  const w = metrics.width + labelPadding * 2;
  const h2 = actualHeight + labelPadding * 2;
  return { w, h: h2 };
}
__name(configureText, "configureText");
function drawLabel(context, measurements, { type: type5, position: position2 = "center", text }, prevRect, external = false) {
  let { x, y } = positionCoordinate(position2, measurements);
  const { offsetX, offsetY } = offset2(type5, position2, measurements, labelPadding + 1, external);
  x += offsetX;
  y += offsetY;
  const { w, h: h2 } = configureText(context, text);
  if (prevRect && collide({ x, y, w, h: h2 }, prevRect)) {
    const adjusted = overlapAdjustment(position2, { x, y, w, h: h2 }, prevRect);
    x = adjusted.x;
    y = adjusted.y;
  }
  return textWithRect(context, type5, { x, y, w, h: h2 }, text);
}
__name(drawLabel, "drawLabel");
function floatingOffset(alignment2, { w, h: h2 }) {
  const deltaW = w * 0.5 + labelPadding;
  const deltaH = h2 * 0.5 + labelPadding;
  return {
    offsetX: (alignment2.x === "left" ? -1 : 1) * deltaW,
    offsetY: (alignment2.y === "top" ? -1 : 1) * deltaH
  };
}
__name(floatingOffset, "floatingOffset");
function drawFloatingLabel(context, measurements, { type: type5, text }) {
  const { floatingAlignment: floatingAlignment2, extremities } = measurements;
  let x = extremities[floatingAlignment2.x];
  let y = extremities[floatingAlignment2.y];
  const { w, h: h2 } = configureText(context, text);
  const { offsetX, offsetY } = floatingOffset(floatingAlignment2, {
    w,
    h: h2
  });
  x += offsetX;
  y += offsetY;
  return textWithRect(context, type5, { x, y, w, h: h2 }, text);
}
__name(drawFloatingLabel, "drawFloatingLabel");
function drawStack(context, measurements, stack, external) {
  const rects = [];
  stack.forEach((l, idx) => {
    const rect = external && l.position === "center" ? drawFloatingLabel(context, measurements, l) : drawLabel(context, measurements, l, rects[idx - 1], external);
    rects[idx] = rect;
  });
}
__name(drawStack, "drawStack");
function labelStacks(context, measurements, labels, externalLabels) {
  const stacks = labels.reduce((acc, l) => {
    if (!Object.prototype.hasOwnProperty.call(acc, l.position)) {
      acc[l.position] = [];
    }
    acc[l.position]?.push(l);
    return acc;
  }, {});
  if (stacks.top) {
    drawStack(context, measurements, stacks.top, externalLabels);
  }
  if (stacks.right) {
    drawStack(context, measurements, stacks.right, externalLabels);
  }
  if (stacks.bottom) {
    drawStack(context, measurements, stacks.bottom, externalLabels);
  }
  if (stacks.left) {
    drawStack(context, measurements, stacks.left, externalLabels);
  }
  if (stacks.center) {
    drawStack(context, measurements, stacks.center, externalLabels);
  }
}
__name(labelStacks, "labelStacks");

// src/measure/box-model/visualizer.ts
var colors2 = {
  margin: "#f6b26ba8",
  border: "#ffe599a8",
  padding: "#93c47d8c",
  content: "#6fa8dca8"
};
var SMALL_NODE_SIZE = 30;
function pxToNumber(px) {
  return parseInt(px.replace("px", ""), 10);
}
__name(pxToNumber, "pxToNumber");
function round2(value) {
  return Number.isInteger(value) ? value : value.toFixed(2);
}
__name(round2, "round");
function filterZeroValues(labels) {
  return labels.filter((l) => l.text !== 0 && l.text !== "0");
}
__name(filterZeroValues, "filterZeroValues");
function floatingAlignment(extremities) {
  const windowExtremities = {
    top: scope.window.scrollY,
    bottom: scope.window.scrollY + scope.window.innerHeight,
    left: scope.window.scrollX,
    right: scope.window.scrollX + scope.window.innerWidth
  };
  const distances = {
    top: Math.abs(windowExtremities.top - extremities.top),
    bottom: Math.abs(windowExtremities.bottom - extremities.bottom),
    left: Math.abs(windowExtremities.left - extremities.left),
    right: Math.abs(windowExtremities.right - extremities.right)
  };
  return {
    x: distances.left > distances.right ? "left" : "right",
    y: distances.top > distances.bottom ? "top" : "bottom"
  };
}
__name(floatingAlignment, "floatingAlignment");
function measureElement(element) {
  const style = scope.getComputedStyle(element);
  let { top: top2, left: left2, right: right2, bottom: bottom2, width, height } = element.getBoundingClientRect();
  const {
    marginTop,
    marginBottom,
    marginLeft,
    marginRight,
    paddingTop,
    paddingBottom,
    paddingLeft,
    paddingRight,
    borderBottomWidth,
    borderTopWidth,
    borderLeftWidth,
    borderRightWidth
  } = style;
  top2 = top2 + scope.window.scrollY;
  left2 = left2 + scope.window.scrollX;
  bottom2 = bottom2 + scope.window.scrollY;
  right2 = right2 + scope.window.scrollX;
  const margin = {
    top: pxToNumber(marginTop),
    bottom: pxToNumber(marginBottom),
    left: pxToNumber(marginLeft),
    right: pxToNumber(marginRight)
  };
  const padding = {
    top: pxToNumber(paddingTop),
    bottom: pxToNumber(paddingBottom),
    left: pxToNumber(paddingLeft),
    right: pxToNumber(paddingRight)
  };
  const border = {
    top: pxToNumber(borderTopWidth),
    bottom: pxToNumber(borderBottomWidth),
    left: pxToNumber(borderLeftWidth),
    right: pxToNumber(borderRightWidth)
  };
  const extremities = {
    top: top2 - margin.top,
    bottom: bottom2 + margin.bottom,
    left: left2 - margin.left,
    right: right2 + margin.right
  };
  return {
    margin,
    padding,
    border,
    top: top2,
    left: left2,
    bottom: bottom2,
    right: right2,
    width,
    height,
    extremities,
    floatingAlignment: floatingAlignment(extremities)
  };
}
__name(measureElement, "measureElement");
function drawMargin(context, { margin, width, height, top: top2, left: left2, bottom: bottom2, right: right2 }) {
  const marginHeight = height + margin.bottom + margin.top;
  context.fillStyle = colors2.margin;
  context.fillRect(left2, top2 - margin.top, width, margin.top);
  context.fillRect(right2, top2 - margin.top, margin.right, marginHeight);
  context.fillRect(left2, bottom2, width, margin.bottom);
  context.fillRect(left2 - margin.left, top2 - margin.top, margin.left, marginHeight);
  const marginLabels = [
    {
      type: "margin",
      text: round2(margin.top),
      position: "top"
    },
    {
      type: "margin",
      text: round2(margin.right),
      position: "right"
    },
    {
      type: "margin",
      text: round2(margin.bottom),
      position: "bottom"
    },
    {
      type: "margin",
      text: round2(margin.left),
      position: "left"
    }
  ];
  return filterZeroValues(marginLabels);
}
__name(drawMargin, "drawMargin");
function drawPadding(context, { padding, border, width, height, top: top2, left: left2, bottom: bottom2, right: right2 }) {
  const paddingWidth = width - border.left - border.right;
  const paddingHeight = height - padding.top - padding.bottom - border.top - border.bottom;
  context.fillStyle = colors2.padding;
  context.fillRect(left2 + border.left, top2 + border.top, paddingWidth, padding.top);
  context.fillRect(
    right2 - padding.right - border.right,
    top2 + padding.top + border.top,
    padding.right,
    paddingHeight
  );
  context.fillRect(
    left2 + border.left,
    bottom2 - padding.bottom - border.bottom,
    paddingWidth,
    padding.bottom
  );
  context.fillRect(left2 + border.left, top2 + padding.top + border.top, padding.left, paddingHeight);
  const paddingLabels = [
    {
      type: "padding",
      text: padding.top,
      position: "top"
    },
    {
      type: "padding",
      text: padding.right,
      position: "right"
    },
    {
      type: "padding",
      text: padding.bottom,
      position: "bottom"
    },
    {
      type: "padding",
      text: padding.left,
      position: "left"
    }
  ];
  return filterZeroValues(paddingLabels);
}
__name(drawPadding, "drawPadding");
function drawBorder(context, { border, width, height, top: top2, left: left2, bottom: bottom2, right: right2 }) {
  const borderHeight = height - border.top - border.bottom;
  context.fillStyle = colors2.border;
  context.fillRect(left2, top2, width, border.top);
  context.fillRect(left2, bottom2 - border.bottom, width, border.bottom);
  context.fillRect(left2, top2 + border.top, border.left, borderHeight);
  context.fillRect(right2 - border.right, top2 + border.top, border.right, borderHeight);
  const borderLabels = [
    {
      type: "border",
      text: border.top,
      position: "top"
    },
    {
      type: "border",
      text: border.right,
      position: "right"
    },
    {
      type: "border",
      text: border.bottom,
      position: "bottom"
    },
    {
      type: "border",
      text: border.left,
      position: "left"
    }
  ];
  return filterZeroValues(borderLabels);
}
__name(drawBorder, "drawBorder");
function drawContent(context, { padding, border, width, height, top: top2, left: left2 }) {
  const contentWidth = width - border.left - border.right - padding.left - padding.right;
  const contentHeight = height - padding.top - padding.bottom - border.top - border.bottom;
  context.fillStyle = colors2.content;
  context.fillRect(
    left2 + border.left + padding.left,
    top2 + border.top + padding.top,
    contentWidth,
    contentHeight
  );
  return [
    {
      type: "content",
      position: "center",
      text: `${round2(contentWidth)} x ${round2(contentHeight)}`
    }
  ];
}
__name(drawContent, "drawContent");
function drawBoxModel(element) {
  return (context) => {
    if (element && context) {
      const measurements = measureElement(element);
      const marginLabels = drawMargin(context, measurements);
      const paddingLabels = drawPadding(context, measurements);
      const borderLabels = drawBorder(context, measurements);
      const contentLabels = drawContent(context, measurements);
      const externalLabels = measurements.width <= SMALL_NODE_SIZE * 3 || measurements.height <= SMALL_NODE_SIZE;
      labelStacks(
        context,
        measurements,
        [...contentLabels, ...paddingLabels, ...borderLabels, ...marginLabels],
        externalLabels
      );
    }
  };
}
__name(drawBoxModel, "drawBoxModel");
function drawSelectedElement(element) {
  draw(drawBoxModel(element));
}
__name(drawSelectedElement, "drawSelectedElement");

// src/measure/util.ts
init_dist();
var deepElementFromPoint = /* @__PURE__ */ __name((x, y) => {
  const element = scope.document.elementFromPoint(x, y);
  const crawlShadows = /* @__PURE__ */ __name((node2) => {
    if (node2 && node2.shadowRoot) {
      const nestedElement = node2.shadowRoot.elementFromPoint(x, y);
      if (node2.isEqualNode(nestedElement)) {
        return node2;
      }
      if (nestedElement.shadowRoot) {
        return crawlShadows(nestedElement);
      }
      return nestedElement;
    }
    return node2;
  }, "crawlShadows");
  const shadowElement = crawlShadows(element);
  return shadowElement || element;
}, "deepElementFromPoint");

// src/measure/withMeasure.ts
var nodeAtPointerRef;
var pointer3 = { x: 0, y: 0 };
function findAndDrawElement(x, y) {
  nodeAtPointerRef = deepElementFromPoint(x, y);
  drawSelectedElement(nodeAtPointerRef);
}
__name(findAndDrawElement, "findAndDrawElement");
var withMeasure = /* @__PURE__ */ __name((StoryFn, context) => {
  const { measureEnabled } = context.globals || {};
  useEffect29(() => {
    if (typeof globalThis.document === "undefined") {
      return;
    }
    const onPointerMove = /* @__PURE__ */ __name((event) => {
      window.requestAnimationFrame(() => {
        event.stopPropagation();
        pointer3.x = event.clientX;
        pointer3.y = event.clientY;
      });
    }, "onPointerMove");
    globalThis.document.addEventListener("pointermove", onPointerMove);
    return () => {
      globalThis.document.removeEventListener("pointermove", onPointerMove);
    };
  }, []);
  useEffect29(() => {
    const onPointerOver = /* @__PURE__ */ __name((event) => {
      window.requestAnimationFrame(() => {
        event.stopPropagation();
        findAndDrawElement(event.clientX, event.clientY);
      });
    }, "onPointerOver");
    const onResize = /* @__PURE__ */ __name(() => {
      window.requestAnimationFrame(() => {
        rescale();
      });
    }, "onResize");
    if (context.viewMode === "story" && measureEnabled) {
      globalThis.document.addEventListener("pointerover", onPointerOver);
      init();
      globalThis.window.addEventListener("resize", onResize);
      findAndDrawElement(pointer3.x, pointer3.y);
    }
    return () => {
      globalThis.window.removeEventListener("resize", onResize);
      destroy();
    };
  }, [measureEnabled, context.viewMode]);
  return StoryFn();
}, "withMeasure");

// src/measure/preview.ts
var decorators2 = globalThis.FEATURES?.measure ? [withMeasure] : [];
var initialGlobals2 = {
  [PARAM_KEY2]: false
};

// src/outline/constants.ts
var PARAM_KEY3 = "outline";

// src/outline/helpers.ts
init_dist();
var clearStyles2 = /* @__PURE__ */ __name((selector) => {
  const selectors = Array.isArray(selector) ? selector : [selector];
  selectors.forEach(clearStyle2);
}, "clearStyles");
var clearStyle2 = /* @__PURE__ */ __name((input2) => {
  const selector = typeof input2 === "string" ? input2 : input2.join("");
  const element = scope.document.getElementById(selector);
  if (element && element.parentElement) {
    element.parentElement.removeChild(element);
  }
}, "clearStyle");
var addOutlineStyles = /* @__PURE__ */ __name((selector, css3) => {
  const existingStyle = scope.document.getElementById(selector);
  if (existingStyle) {
    if (existingStyle.innerHTML !== css3) {
      existingStyle.innerHTML = css3;
    }
  } else {
    const style = scope.document.createElement("style");
    style.setAttribute("id", selector);
    style.innerHTML = css3;
    scope.document.head.appendChild(style);
  }
}, "addOutlineStyles");

// src/outline/outlineCSS.ts
init_esm();
function outlineCSS(selector) {
  return dedent`
    ${selector} body {
      outline: 1px solid #2980b9 !important;
    }

    ${selector} article {
      outline: 1px solid #3498db !important;
    }

    ${selector} nav {
      outline: 1px solid #0088c3 !important;
    }

    ${selector} aside {
      outline: 1px solid #33a0ce !important;
    }

    ${selector} section {
      outline: 1px solid #66b8da !important;
    }

    ${selector} header {
      outline: 1px solid #99cfe7 !important;
    }

    ${selector} footer {
      outline: 1px solid #cce7f3 !important;
    }

    ${selector} h1 {
      outline: 1px solid #162544 !important;
    }

    ${selector} h2 {
      outline: 1px solid #314e6e !important;
    }

    ${selector} h3 {
      outline: 1px solid #3e5e85 !important;
    }

    ${selector} h4 {
      outline: 1px solid #449baf !important;
    }

    ${selector} h5 {
      outline: 1px solid #c7d1cb !important;
    }

    ${selector} h6 {
      outline: 1px solid #4371d0 !important;
    }

    ${selector} main {
      outline: 1px solid #2f4f90 !important;
    }

    ${selector} address {
      outline: 1px solid #1a2c51 !important;
    }

    ${selector} div {
      outline: 1px solid #036cdb !important;
    }

    ${selector} p {
      outline: 1px solid #ac050b !important;
    }

    ${selector} hr {
      outline: 1px solid #ff063f !important;
    }

    ${selector} pre {
      outline: 1px solid #850440 !important;
    }

    ${selector} blockquote {
      outline: 1px solid #f1b8e7 !important;
    }

    ${selector} ol {
      outline: 1px solid #ff050c !important;
    }

    ${selector} ul {
      outline: 1px solid #d90416 !important;
    }

    ${selector} li {
      outline: 1px solid #d90416 !important;
    }

    ${selector} dl {
      outline: 1px solid #fd3427 !important;
    }

    ${selector} dt {
      outline: 1px solid #ff0043 !important;
    }

    ${selector} dd {
      outline: 1px solid #e80174 !important;
    }

    ${selector} figure {
      outline: 1px solid #ff00bb !important;
    }

    ${selector} figcaption {
      outline: 1px solid #bf0032 !important;
    }

    ${selector} table {
      outline: 1px solid #00cc99 !important;
    }

    ${selector} caption {
      outline: 1px solid #37ffc4 !important;
    }

    ${selector} thead {
      outline: 1px solid #98daca !important;
    }

    ${selector} tbody {
      outline: 1px solid #64a7a0 !important;
    }

    ${selector} tfoot {
      outline: 1px solid #22746b !important;
    }

    ${selector} tr {
      outline: 1px solid #86c0b2 !important;
    }

    ${selector} th {
      outline: 1px solid #a1e7d6 !important;
    }

    ${selector} td {
      outline: 1px solid #3f5a54 !important;
    }

    ${selector} col {
      outline: 1px solid #6c9a8f !important;
    }

    ${selector} colgroup {
      outline: 1px solid #6c9a9d !important;
    }

    ${selector} button {
      outline: 1px solid #da8301 !important;
    }

    ${selector} datalist {
      outline: 1px solid #c06000 !important;
    }

    ${selector} fieldset {
      outline: 1px solid #d95100 !important;
    }

    ${selector} form {
      outline: 1px solid #d23600 !important;
    }

    ${selector} input {
      outline: 1px solid #fca600 !important;
    }

    ${selector} keygen {
      outline: 1px solid #b31e00 !important;
    }

    ${selector} label {
      outline: 1px solid #ee8900 !important;
    }

    ${selector} legend {
      outline: 1px solid #de6d00 !important;
    }

    ${selector} meter {
      outline: 1px solid #e8630c !important;
    }

    ${selector} optgroup {
      outline: 1px solid #b33600 !important;
    }

    ${selector} option {
      outline: 1px solid #ff8a00 !important;
    }

    ${selector} output {
      outline: 1px solid #ff9619 !important;
    }

    ${selector} progress {
      outline: 1px solid #e57c00 !important;
    }

    ${selector} select {
      outline: 1px solid #e26e0f !important;
    }

    ${selector} textarea {
      outline: 1px solid #cc5400 !important;
    }

    ${selector} details {
      outline: 1px solid #33848f !important;
    }

    ${selector} summary {
      outline: 1px solid #60a1a6 !important;
    }

    ${selector} command {
      outline: 1px solid #438da1 !important;
    }

    ${selector} menu {
      outline: 1px solid #449da6 !important;
    }

    ${selector} del {
      outline: 1px solid #bf0000 !important;
    }

    ${selector} ins {
      outline: 1px solid #400000 !important;
    }

    ${selector} img {
      outline: 1px solid #22746b !important;
    }

    ${selector} iframe {
      outline: 1px solid #64a7a0 !important;
    }

    ${selector} embed {
      outline: 1px solid #98daca !important;
    }

    ${selector} object {
      outline: 1px solid #00cc99 !important;
    }

    ${selector} param {
      outline: 1px solid #37ffc4 !important;
    }

    ${selector} video {
      outline: 1px solid #6ee866 !important;
    }

    ${selector} audio {
      outline: 1px solid #027353 !important;
    }

    ${selector} source {
      outline: 1px solid #012426 !important;
    }

    ${selector} canvas {
      outline: 1px solid #a2f570 !important;
    }

    ${selector} track {
      outline: 1px solid #59a600 !important;
    }

    ${selector} map {
      outline: 1px solid #7be500 !important;
    }

    ${selector} area {
      outline: 1px solid #305900 !important;
    }

    ${selector} a {
      outline: 1px solid #ff62ab !important;
    }

    ${selector} em {
      outline: 1px solid #800b41 !important;
    }

    ${selector} strong {
      outline: 1px solid #ff1583 !important;
    }

    ${selector} i {
      outline: 1px solid #803156 !important;
    }

    ${selector} b {
      outline: 1px solid #cc1169 !important;
    }

    ${selector} u {
      outline: 1px solid #ff0430 !important;
    }

    ${selector} s {
      outline: 1px solid #f805e3 !important;
    }

    ${selector} small {
      outline: 1px solid #d107b2 !important;
    }

    ${selector} abbr {
      outline: 1px solid #4a0263 !important;
    }

    ${selector} q {
      outline: 1px solid #240018 !important;
    }

    ${selector} cite {
      outline: 1px solid #64003c !important;
    }

    ${selector} dfn {
      outline: 1px solid #b4005a !important;
    }

    ${selector} sub {
      outline: 1px solid #dba0c8 !important;
    }

    ${selector} sup {
      outline: 1px solid #cc0256 !important;
    }

    ${selector} time {
      outline: 1px solid #d6606d !important;
    }

    ${selector} code {
      outline: 1px solid #e04251 !important;
    }

    ${selector} kbd {
      outline: 1px solid #5e001f !important;
    }

    ${selector} samp {
      outline: 1px solid #9c0033 !important;
    }

    ${selector} var {
      outline: 1px solid #d90047 !important;
    }

    ${selector} mark {
      outline: 1px solid #ff0053 !important;
    }

    ${selector} bdi {
      outline: 1px solid #bf3668 !important;
    }

    ${selector} bdo {
      outline: 1px solid #6f1400 !important;
    }

    ${selector} ruby {
      outline: 1px solid #ff7b93 !important;
    }

    ${selector} rt {
      outline: 1px solid #ff2f54 !important;
    }

    ${selector} rp {
      outline: 1px solid #803e49 !important;
    }

    ${selector} span {
      outline: 1px solid #cc2643 !important;
    }

    ${selector} br {
      outline: 1px solid #db687d !important;
    }

    ${selector} wbr {
      outline: 1px solid #db175b !important;
    }`;
}
__name(outlineCSS, "outlineCSS");

// src/outline/withOutline.ts
var withOutline = /* @__PURE__ */ __name((StoryFn, context) => {
  const globals = context.globals || {};
  const isActive = [true, "true"].includes(globals[PARAM_KEY3]);
  const isInDocs = context.viewMode === "docs";
  const outlineStyles = useMemo12(() => {
    const selector = isInDocs ? `[data-story-block="true"]` : ".sb-show-main";
    return outlineCSS(selector);
  }, [context]);
  useEffect29(() => {
    const selectorId = isInDocs ? `addon-outline-docs-${context.id}` : `addon-outline`;
    if (!isActive) {
      clearStyles2(selectorId);
    } else {
      addOutlineStyles(selectorId, outlineStyles);
    }
    return () => {
      clearStyles2(selectorId);
    };
  }, [isActive, outlineStyles, context]);
  return StoryFn();
}, "withOutline");

// src/outline/preview.ts
var decorators3 = globalThis.FEATURES?.outline ? [withOutline] : [];
var initialGlobals3 = {
  [PARAM_KEY3]: false
};

// src/viewport/constants.ts
var ADDON_ID6 = "storybook/viewport";
var PARAM_KEY4 = "viewport";
var PANEL_ID3 = `${ADDON_ID6}/panel`;
var TOOL_ID2 = `${ADDON_ID6}/tool`;

// src/viewport/preview.ts
var initialGlobals4 = {
  [PARAM_KEY4]: { value: void 0, isRotated: false }
};

// src/csf/index.ts
var sanitize = /* @__PURE__ */ __name((string) => {
  return string.toLowerCase().replace(/[ ’–—―′¿'`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi, "-").replace(/-+/g, "-").replace(/^-+/, "").replace(/-+$/, "");
}, "sanitize");
var sanitizeSafe = /* @__PURE__ */ __name((string, part) => {
  const sanitized = sanitize(string);
  if (sanitized === "") {
    throw new Error(`Invalid ${part} '${string}', must include alphanumeric characters`);
  }
  return sanitized;
}, "sanitizeSafe");
var toId = /* @__PURE__ */ __name((kind, name) => `${sanitizeSafe(kind, "kind")}${name ? `--${sanitizeSafe(name, "name")}` : ""}`, "toId");

// src/components/components/tabs/tabs.tsx
init_theming();

// src/components/components/bar/bar.tsx
var import_react48 = __toESM(require_react(), 1);
init_theming();
init_ScrollArea();
var Side = styled.div(
  {
    display: "flex",
    whiteSpace: "nowrap",
    flexBasis: "auto",
    marginLeft: 3,
    marginRight: 10
  },
  ({ scrollable }) => scrollable ? { flexShrink: 0 } : {},
  ({ left: left2 }) => left2 ? {
    "& > *": {
      marginLeft: 4
    }
  } : {},
  ({ right: right2 }) => right2 ? {
    gap: 6
  } : {}
);
Side.displayName = "Side";
var UnstyledBar = /* @__PURE__ */ __name(({ children, className, scrollable }) => scrollable ? import_react48.default.createElement(ScrollArea2, { vertical: false, className }, children) : import_react48.default.createElement("div", { className }, children), "UnstyledBar");
var Bar = styled(UnstyledBar)(
  ({ backgroundColor, theme: theme3, scrollable = true }) => ({
    color: theme3.barTextColor,
    width: "100%",
    minHeight: 40,
    flexShrink: 0,
    scrollbarColor: `${theme3.barTextColor} ${backgroundColor || theme3.barBg}`,
    scrollbarWidth: "thin",
    overflow: scrollable ? "auto" : "hidden",
    overflowY: "hidden"
  }),
  ({ theme: theme3, border = false }) => border ? {
    boxShadow: `${theme3.appBorderColor}  0 -1px 0 0 inset`,
    background: theme3.barBg
  } : {}
);
Bar.displayName = "Bar";
var BarInner = styled.div(({ bgColor }) => ({
  display: "flex",
  justifyContent: "space-between",
  position: "relative",
  flexWrap: "nowrap",
  flexShrink: 0,
  height: 40,
  backgroundColor: bgColor || ""
}));
var FlexBar = /* @__PURE__ */ __name(({ children, backgroundColor, className, ...rest }) => {
  const [left2, right2] = import_react48.Children.toArray(children);
  return import_react48.default.createElement(Bar, { backgroundColor, className: `sb-bar ${className}`, ...rest }, import_react48.default.createElement(BarInner, { bgColor: backgroundColor }, import_react48.default.createElement(Side, { scrollable: rest.scrollable, left: true }, left2), right2 ? import_react48.default.createElement(Side, { right: true }, right2) : null));
}, "FlexBar");
FlexBar.displayName = "FlexBar";

// src/components/components/bar/button.tsx
var import_react49 = __toESM(require_react(), 1);
init_theming();
var isLink = /* @__PURE__ */ __name((obj) => {
  return typeof obj.props.href === "string";
}, "isLink");
var isButton = /* @__PURE__ */ __name((obj) => {
  return typeof obj.props.href !== "string";
}, "isButton");
function ForwardRefFunction({ children, ...rest }, ref) {
  const o2 = { props: rest, ref };
  if (isLink(o2)) {
    return import_react49.default.createElement("a", { ref: o2.ref, ...o2.props }, children);
  }
  if (isButton(o2)) {
    return import_react49.default.createElement("button", { ref: o2.ref, type: "button", ...o2.props }, children);
  }
  throw new Error("invalid props");
}
__name(ForwardRefFunction, "ForwardRefFunction");
var ButtonOrLink = (0, import_react49.forwardRef)(ForwardRefFunction);
ButtonOrLink.displayName = "ButtonOrLink";
var TabButton = styled(ButtonOrLink, { shouldForwardProp: isPropValid })(
  {
    whiteSpace: "normal",
    display: "inline-flex",
    overflow: "hidden",
    verticalAlign: "top",
    justifyContent: "center",
    alignItems: "center",
    textAlign: "center",
    textDecoration: "none",
    "&:empty": {
      display: "none"
    },
    "&[hidden]": {
      display: "none"
    }
  },
  ({ theme: theme3 }) => ({
    padding: "0 15px",
    transition: "color 0.2s linear, border-bottom-color 0.2s linear",
    height: 40,
    lineHeight: "12px",
    cursor: "pointer",
    background: "transparent",
    border: "0 solid transparent",
    borderTop: "3px solid transparent",
    borderBottom: "3px solid transparent",
    fontWeight: "bold",
    fontSize: 13,
    "&:focus": {
      outline: "0 none",
      borderBottomColor: theme3.barSelectedColor
    }
  }),
  ({ active, textColor, theme: theme3 }) => active ? {
    color: textColor || theme3.barSelectedColor,
    borderBottomColor: theme3.barSelectedColor
  } : {
    color: textColor || theme3.barTextColor,
    borderBottomColor: "transparent",
    "&:hover": {
      color: theme3.barHoverColor
    }
  }
);
TabButton.displayName = "TabButton";

// src/components/components/tabs/EmptyTabContent.tsx
var import_react50 = __toESM(require_react(), 1);
init_theming();
var Wrapper4 = styled.div(({ theme: theme3 }) => ({
  height: "100%",
  display: "flex",
  padding: 30,
  alignItems: "center",
  justifyContent: "center",
  flexDirection: "column",
  gap: 15,
  background: theme3.background.content
}));
var Content3 = styled.div({
  display: "flex",
  flexDirection: "column",
  gap: 4,
  maxWidth: 415
});
var Title6 = styled.div(({ theme: theme3 }) => ({
  fontWeight: theme3.typography.weight.bold,
  fontSize: theme3.typography.size.s2 - 1,
  textAlign: "center",
  color: theme3.textColor
}));
var Description3 = styled.div(({ theme: theme3 }) => ({
  fontWeight: theme3.typography.weight.regular,
  fontSize: theme3.typography.size.s2 - 1,
  textAlign: "center",
  color: theme3.textMutedColor
}));
var EmptyTabContent = /* @__PURE__ */ __name(({ title, description, footer }) => {
  return import_react50.default.createElement(Wrapper4, null, import_react50.default.createElement(Content3, null, import_react50.default.createElement(Title6, null, title), description && import_react50.default.createElement(Description3, null, description)), footer);
}, "EmptyTabContent");

// src/components/components/tabs/tabs.helpers.tsx
var import_react51 = __toESM(require_react(), 1);
init_theming();
var VisuallyHidden = styled.div(
  ({ active }) => active ? { display: "block" } : { display: "none" }
);
var childrenToList = /* @__PURE__ */ __name((children) => import_react51.Children.toArray(children).map(
  // @ts-expect-error (non strict)
  ({
    props: { title, id, color: color2, children: childrenOfChild }
  }) => {
    const content = Array.isArray(
      childrenOfChild
    ) ? childrenOfChild[0] : childrenOfChild;
    const render = typeof content === "function" ? content : ({ active }) => import_react51.default.createElement(VisuallyHidden, { active, role: "tabpanel" }, content);
    return {
      title,
      id,
      ...color2 ? { color: color2 } : {},
      render
    };
  }
), "childrenToList");

// src/components/components/tabs/tabs.hooks.tsx
var import_react52 = __toESM(require_react(), 1);
init_theming();
init_WithTooltip();
var CollapseIcon2 = styled.span(({ theme: theme3, isActive }) => ({
  display: "inline-block",
  width: 0,
  height: 0,
  marginLeft: 8,
  color: isActive ? theme3.color.secondary : theme3.color.mediumdark,
  borderRight: "3px solid transparent",
  borderLeft: `3px solid transparent`,
  borderTop: "3px solid",
  transition: "transform .1s ease-out"
}));
var AddonButton = styled(TabButton)(({ active, theme: theme3, preActive }) => {
  return `
    color: ${preActive || active ? theme3.barSelectedColor : theme3.barTextColor};
    .addon-collapsible-icon {
      color: ${preActive || active ? theme3.barSelectedColor : theme3.barTextColor};
    }
    &:hover {
      color: ${theme3.barHoverColor};
      .addon-collapsible-icon {
        color: ${theme3.barHoverColor};
      }
    }
  `;
});
function useList(list) {
  const tabBarRef = (0, import_react52.useRef)();
  const addonsRef = (0, import_react52.useRef)();
  const tabRefs = (0, import_react52.useRef)(/* @__PURE__ */ new Map());
  const { width: tabBarWidth = 1 } = useResizeObserver2({
    // @ts-expect-error (non strict)
    ref: tabBarRef
  });
  const [visibleList, setVisibleList] = (0, import_react52.useState)(list);
  const [invisibleList, setInvisibleList] = (0, import_react52.useState)([]);
  const previousList = (0, import_react52.useRef)(list);
  const AddonTab = (0, import_react52.useCallback)(
    ({
      menuName,
      actions
    }) => {
      const isAddonsActive = invisibleList.some(({ active }) => active);
      const [isTooltipVisible, setTooltipVisible] = (0, import_react52.useState)(false);
      return import_react52.default.createElement(import_react52.default.Fragment, null, import_react52.default.createElement(
        WithToolTipState,
        {
          interactive: true,
          visible: isTooltipVisible,
          onVisibleChange: setTooltipVisible,
          placement: "bottom",
          delayHide: 100,
          tooltip: import_react52.default.createElement(
            TooltipLinkList,
            {
              links: invisibleList.map(({ title, id, color: color2, active }) => {
                return {
                  id,
                  title,
                  color: color2,
                  active,
                  onClick: /* @__PURE__ */ __name((e2) => {
                    e2.preventDefault();
                    actions.onSelect(id);
                  }, "onClick")
                };
              })
            }
          )
        },
        import_react52.default.createElement(
          AddonButton,
          {
            id: "addons-menu-button",
            ref: addonsRef,
            active: isAddonsActive,
            preActive: isTooltipVisible,
            style: { visibility: invisibleList.length ? "visible" : "hidden" },
            "aria-hidden": !invisibleList.length,
            className: "tabbutton",
            type: "button",
            role: "tab"
          },
          menuName,
          import_react52.default.createElement(
            CollapseIcon2,
            {
              className: "addon-collapsible-icon",
              isActive: isAddonsActive || isTooltipVisible
            }
          )
        )
      ), invisibleList.map(({ title, id, color: color2 }, index4) => {
        const indexId = `index-${index4}`;
        return import_react52.default.createElement(
          TabButton,
          {
            id: `tabbutton-${sanitize(id) ?? indexId}`,
            style: { visibility: "hidden" },
            "aria-hidden": true,
            tabIndex: -1,
            ref: (ref) => {
              tabRefs.current.set(id, ref);
            },
            className: "tabbutton",
            type: "button",
            key: id,
            textColor: color2,
            role: "tab"
          },
          title
        );
      }));
    },
    [invisibleList]
  );
  const setTabLists = (0, import_react52.useCallback)(() => {
    if (!tabBarRef.current || !addonsRef.current) {
      return;
    }
    const { x, width } = tabBarRef.current.getBoundingClientRect();
    const { width: widthAddonsTab } = addonsRef.current.getBoundingClientRect();
    const rightBorder = invisibleList.length ? x + width - widthAddonsTab : x + width;
    const newVisibleList = [];
    let widthSum = 0;
    const newInvisibleList = list.filter((item) => {
      const { id } = item;
      const tabButton = tabRefs.current.get(id);
      const { width: tabWidth = 0 } = tabButton?.getBoundingClientRect() || {};
      const crossBorder = x + widthSum + tabWidth > rightBorder;
      if (!crossBorder || !tabButton) {
        newVisibleList.push(item);
      }
      widthSum += tabWidth;
      return crossBorder;
    });
    if (newVisibleList.length !== visibleList.length || previousList.current !== list) {
      setVisibleList(newVisibleList);
      setInvisibleList(newInvisibleList);
      previousList.current = list;
    }
  }, [invisibleList.length, list, visibleList]);
  (0, import_react52.useLayoutEffect)(setTabLists, [setTabLists, tabBarWidth]);
  return {
    tabRefs,
    addonsRef,
    tabBarRef,
    visibleList,
    invisibleList,
    AddonTab
  };
}
__name(useList, "useList");

// src/components/components/tabs/tabs.tsx
var ignoreSsrWarning2 = "/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */";
var Wrapper5 = styled.div(
  ({ theme: theme3, bordered }) => bordered ? {
    backgroundClip: "padding-box",
    border: `1px solid ${theme3.appBorderColor}`,
    borderRadius: theme3.appBorderRadius,
    overflow: "hidden",
    boxSizing: "border-box"
  } : {},
  ({ absolute }) => absolute ? {
    width: "100%",
    height: "100%",
    boxSizing: "border-box",
    display: "flex",
    flexDirection: "column"
  } : {
    display: "block"
  }
);
var TabBar = styled.div({
  overflow: "hidden",
  "&:first-of-type": {
    marginLeft: -3
  },
  whiteSpace: "nowrap",
  flexGrow: 1
});
TabBar.displayName = "TabBar";
var Content4 = styled.div(
  {
    display: "block",
    position: "relative",
    container: "tab-content / inline-size"
  },
  ({ theme: theme3 }) => ({
    fontSize: theme3.typography.size.s2 - 1,
    background: theme3.background.content
  }),
  ({ bordered, theme: theme3 }) => bordered ? {
    borderRadius: `0 0 ${theme3.appBorderRadius - 1}px ${theme3.appBorderRadius - 1}px`
  } : {},
  ({ absolute, bordered }) => absolute ? {
    height: `calc(100% - ${bordered ? 42 : 40}px)`,
    position: "absolute",
    left: 0 + (bordered ? 1 : 0),
    right: 0 + (bordered ? 1 : 0),
    bottom: 0 + (bordered ? 1 : 0),
    top: 40 + (bordered ? 1 : 0),
    overflow: "auto",
    [`& > *:first-child${ignoreSsrWarning2}`]: {
      position: "absolute",
      left: 0 + (bordered ? 1 : 0),
      right: 0 + (bordered ? 1 : 0),
      bottom: 0 + (bordered ? 1 : 0),
      top: 0 + (bordered ? 1 : 0),
      height: `calc(100% - ${bordered ? 2 : 0}px)`,
      overflow: "auto"
    }
  } : {}
);
var TabWrapper = /* @__PURE__ */ __name(({ active, render, children }) => import_react53.default.createElement(VisuallyHidden, { active }, render ? render() : children), "TabWrapper");
var _TabErrorBoundary = class _TabErrorBoundary extends import_react53.Component {
  constructor(props) {
    super(props);
    this.state = { hasError: false };
  }
  static getDerivedStateFromError() {
    return { hasError: true };
  }
  componentDidCatch(error, info) {
    console.error("Error rendering addon panel");
    console.error(error);
    console.error(info.componentStack);
  }
  render() {
    if (this.state.hasError && this.props.active) {
      return import_react53.default.createElement(
        EmptyTabContent,
        {
          title: "This addon has errors",
          description: "Check your browser logs and addon code to pinpoint what went wrong. This issue was not caused by Storybook."
        }
      );
    }
    return this.props.children;
  }
};
__name(_TabErrorBoundary, "TabErrorBoundary");
var TabErrorBoundary = _TabErrorBoundary;
var Tabs = (0, import_react53.memo)(
  ({
    children,
    selected = null,
    actions,
    absolute = false,
    bordered = false,
    tools = null,
    backgroundColor,
    id: htmlId = null,
    menuName = "Tabs",
    emptyState,
    showToolsWhenEmpty
  }) => {
    const list = (0, import_react53.useMemo)(
      () => childrenToList(children).map((i2, index4) => ({
        ...i2,
        active: selected ? i2.id === selected : index4 === 0
      })),
      [children, selected]
    );
    const { visibleList, tabBarRef, tabRefs, AddonTab } = useList(list);
    const EmptyContent = emptyState ?? import_react53.default.createElement(EmptyTabContent, { title: "Nothing found" });
    if (!showToolsWhenEmpty && list.length === 0) {
      return EmptyContent;
    }
    return (
      // @ts-expect-error (non strict)
      import_react53.default.createElement(Wrapper5, { absolute, bordered, id: htmlId }, import_react53.default.createElement(FlexBar, { scrollable: false, border: true, backgroundColor }, import_react53.default.createElement(TabBar, { style: { whiteSpace: "normal" }, ref: tabBarRef, role: "tablist" }, visibleList.map(({ title, id, active, color: color2 }, index4) => {
        const indexId = `index-${index4}`;
        return import_react53.default.createElement(
          TabButton,
          {
            id: `tabbutton-${sanitize(id) ?? indexId}`,
            ref: (ref) => {
              tabRefs.current.set(id, ref);
            },
            className: `tabbutton ${active ? "tabbutton-active" : ""}`,
            type: "button",
            key: id,
            active,
            textColor: color2,
            onClick: (e2) => {
              e2.preventDefault();
              actions.onSelect(id);
            },
            role: "tab"
          },
          typeof title === "function" ? import_react53.default.createElement("title", null) : title
        );
      }), import_react53.default.createElement(AddonTab, { menuName, actions })), tools), import_react53.default.createElement(Content4, { id: "panel-tab-content", bordered, absolute }, list.length ? list.map(({ id, active, render }) => {
        return import_react53.default.createElement(TabErrorBoundary, { key: id, active }, import_react53.default.createElement(render, { active }, null));
      }) : EmptyContent))
    );
  }
);
Tabs.displayName = "Tabs";
var _TabsState = class _TabsState extends import_react53.Component {
  constructor(props) {
    super(props);
    this.handlers = {
      onSelect: /* @__PURE__ */ __name((id) => this.setState({ selected: id }), "onSelect")
    };
    this.state = {
      selected: props.initial
    };
  }
  render() {
    const { bordered = false, absolute = false, children, backgroundColor, menuName } = this.props;
    const { selected } = this.state;
    return import_react53.default.createElement(
      Tabs,
      {
        bordered,
        absolute,
        selected,
        backgroundColor,
        menuName,
        actions: this.handlers
      },
      children
    );
  }
};
__name(_TabsState, "TabsState");
_TabsState.defaultProps = {
  children: [],
  // @ts-expect-error (non strict)
  initial: null,
  absolute: false,
  bordered: false,
  backgroundColor: "",
  // @ts-expect-error (non strict)
  menuName: void 0
};
var TabsState = _TabsState;

// src/components/components/bar/separator.tsx
var import_react54 = __toESM(require_react(), 1);
init_theming();
var Separator = styled.span(
  ({ theme: theme3 }) => ({
    width: 1,
    height: 20,
    background: theme3.appBorderColor,
    marginLeft: 2,
    marginRight: 2
  }),
  ({ force }) => force ? {} : {
    "& + &": {
      display: "none"
    }
  }
);
Separator.displayName = "Separator";
var interleaveSeparators = /* @__PURE__ */ __name((list) => list.reduce(
  (acc, item, index4) => item ? import_react54.default.createElement(import_react54.Fragment, { key: item.id || item.key || `f-${index4}` }, acc, index4 > 0 ? import_react54.default.createElement(Separator, { key: `s-${index4}` }) : null, item.render() || item) : acc,
  null
), "interleaveSeparators");

// src/components/components/addon-panel/addon-panel.tsx
var import_react55 = __toESM(require_react(), 1);
var usePrevious = /* @__PURE__ */ __name((value) => {
  const ref = (0, import_react55.useRef)();
  (0, import_react55.useEffect)(() => {
    ref.current = value;
  }, [value]);
  return ref.current;
}, "usePrevious");
var useUpdate = /* @__PURE__ */ __name((update2, value) => {
  const previousValue = usePrevious(value);
  return update2 ? value : previousValue;
}, "useUpdate");
var AddonPanel = /* @__PURE__ */ __name(({ active, children }) => {
  return (
    // the hidden attribute is an valid html element that's both accessible and works to visually hide content
    import_react55.default.createElement("div", { hidden: !active }, useUpdate(active, children))
  );
}, "AddonPanel");

// src/components/brand/StorybookLogo.tsx
var import_react56 = __toESM(require_react(), 1);
var StorybookLogo = /* @__PURE__ */ __name(({ alt, ...props }) => import_react56.default.createElement("svg", { width: "200px", height: "40px", viewBox: "0 0 200 40", ...props, role: "img" }, alt ? import_react56.default.createElement("title", null, alt) : null, import_react56.default.createElement("defs", null, import_react56.default.createElement(
  "path",
  {
    d: "M1.2 36.9L0 3.9c0-1.1.8-2 1.9-2.1l28-1.8a2 2 0 0 1 2.2 1.9 2 2 0 0 1 0 .1v36a2 2 0 0 1-2 2 2 2 0 0 1-.1 0L3.2 38.8a2 2 0 0 1-2-2z",
    id: "a"
  }
)), import_react56.default.createElement("g", { fill: "none", fillRule: "evenodd" }, import_react56.default.createElement(
  "path",
  {
    d: "M53.3 31.7c-1.7 0-3.4-.3-5-.7-1.5-.5-2.8-1.1-3.9-2l1.6-3.5c2.2 1.5 4.6 2.3 7.3 2.3 1.5 0 2.5-.2 3.3-.7.7-.5 1.1-1 1.1-1.9 0-.7-.3-1.3-1-1.7s-2-.8-3.7-1.2c-2-.4-3.6-.9-4.8-1.5-1.1-.5-2-1.2-2.6-2-.5-1-.8-2-.8-3.2 0-1.4.4-2.6 1.2-3.6.7-1.1 1.8-2 3.2-2.6 1.3-.6 2.9-.9 4.7-.9 1.6 0 3.1.3 4.6.7 1.5.5 2.7 1.1 3.5 2l-1.6 3.5c-2-1.5-4.2-2.3-6.5-2.3-1.3 0-2.3.2-3 .8-.8.5-1.2 1.1-1.2 2 0 .5.2 1 .5 1.3.2.3.7.6 1.4.9l2.9.8c2.9.6 5 1.4 6.2 2.4a5 5 0 0 1 2 4.2 6 6 0 0 1-2.5 5c-1.7 1.2-4 1.9-7 1.9zm21-3.6l1.4-.1-.2 3.5-1.9.1c-2.4 0-4.1-.5-5.2-1.5-1.1-1-1.6-2.7-1.6-4.8v-6h-3v-3.6h3V11h4.8v4.6h4v3.6h-4v6c0 1.8.9 2.8 2.6 2.8zm11.1 3.5c-1.6 0-3-.3-4.3-1a7 7 0 0 1-3-2.8c-.6-1.3-1-2.7-1-4.4 0-1.6.4-3 1-4.3a7 7 0 0 1 3-2.8c1.2-.7 2.7-1 4.3-1 1.7 0 3.2.3 4.4 1a7 7 0 0 1 3 2.8c.6 1.2 1 2.7 1 4.3 0 1.7-.4 3.1-1 4.4a7 7 0 0 1-3 2.8c-1.2.7-2.7 1-4.4 1zm0-3.6c2.4 0 3.6-1.6 3.6-4.6 0-1.5-.3-2.6-1-3.4a3.2 3.2 0 0 0-2.6-1c-2.3 0-3.5 1.4-3.5 4.4 0 3 1.2 4.6 3.5 4.6zm21.7-8.8l-2.7.3c-1.3.2-2.3.5-2.8 1.2-.6.6-.9 1.4-.9 2.5v8.2H96V15.7h4.6v2.6c.8-1.8 2.5-2.8 5-3h1.3l.3 4zm14-3.5h4.8L116.4 37h-4.9l3-6.6-6.4-14.8h5l4 10 4-10zm16-.4c1.4 0 2.6.3 3.6 1 1 .6 1.9 1.6 2.5 2.8.6 1.2.9 2.7.9 4.3 0 1.6-.3 3-1 4.3a6.9 6.9 0 0 1-2.4 2.9c-1 .7-2.2 1-3.6 1-1 0-2-.2-3-.7-.8-.4-1.5-1-2-1.9v2.4h-4.7V8.8h4.8v9c.5-.8 1.2-1.4 2-1.9.9-.4 1.8-.6 3-.6zM135.7 28c1.1 0 2-.4 2.6-1.2.6-.8 1-2 1-3.4 0-1.5-.4-2.5-1-3.3s-1.5-1.1-2.6-1.1-2 .3-2.6 1.1c-.6.8-1 2-1 3.3 0 1.5.4 2.6 1 3.4.6.8 1.5 1.2 2.6 1.2zm18.9 3.6c-1.7 0-3.2-.3-4.4-1a7 7 0 0 1-3-2.8c-.6-1.3-1-2.7-1-4.4 0-1.6.4-3 1-4.3a7 7 0 0 1 3-2.8c1.2-.7 2.7-1 4.4-1 1.6 0 3 .3 4.3 1a7 7 0 0 1 3 2.8c.6 1.2 1 2.7 1 4.3 0 1.7-.4 3.1-1 4.4a7 7 0 0 1-3 2.8c-1.2.7-2.7 1-4.3 1zm0-3.6c2.3 0 3.5-1.6 3.5-4.6 0-1.5-.3-2.6-1-3.4a3.2 3.2 0 0 0-2.5-1c-2.4 0-3.6 1.4-3.6 4.4 0 3 1.2 4.6 3.6 4.6zm18 3.6c-1.7 0-3.2-.3-4.4-1a7 7 0 0 1-3-2.8c-.6-1.3-1-2.7-1-4.4 0-1.6.4-3 1-4.3a7 7 0 0 1 3-2.8c1.2-.7 2.7-1 4.4-1 1.6 0 3 .3 4.4 1a7 7 0 0 1 2.9 2.8c.6 1.2 1 2.7 1 4.3 0 1.7-.4 3.1-1 4.4a7 7 0 0 1-3 2.8c-1.2.7-2.7 1-4.3 1zm0-3.6c2.3 0 3.5-1.6 3.5-4.6 0-1.5-.3-2.6-1-3.4a3.2 3.2 0 0 0-2.5-1c-2.4 0-3.6 1.4-3.6 4.4 0 3 1.2 4.6 3.6 4.6zm27.4 3.4h-6l-6-7v7h-4.8V8.8h4.9v13.6l5.8-6.7h5.7l-6.6 7.5 7 8.2z",
    fill: "currentColor"
  }
), import_react56.default.createElement("mask", { id: "b", fill: "#fff" }, import_react56.default.createElement("use", { xlinkHref: "#a" })), import_react56.default.createElement("use", { fill: "#FF4785", fillRule: "nonzero", xlinkHref: "#a" }), import_react56.default.createElement(
  "path",
  {
    d: "M23.7 5L24 .2l3.9-.3.1 4.8a.3.3 0 0 1-.5.2L26 3.8l-1.7 1.4a.3.3 0 0 1-.5-.3zm-5 10c0 .9 5.3.5 6 0 0-5.4-2.8-8.2-8-8.2-5.3 0-8.2 2.8-8.2 7.1 0 7.4 10 7.6 10 11.6 0 1.2-.5 1.9-1.8 1.9-1.6 0-2.2-.9-2.1-3.6 0-.6-6.1-.8-6.3 0-.5 6.7 3.7 8.6 8.5 8.6 4.6 0 8.3-2.5 8.3-7 0-7.9-10.2-7.7-10.2-11.6 0-1.6 1.2-1.8 2-1.8.6 0 2 0 1.9 3z",
    fill: "#FFF",
    fillRule: "nonzero",
    mask: "url(#b)"
  }
))), "StorybookLogo");

// src/components/brand/StorybookIcon.tsx
var import_react57 = __toESM(require_react(), 1);
var StorybookIcon2 = /* @__PURE__ */ __name((props) => import_react57.default.createElement("svg", { viewBox: "0 0 64 64", ...props }, import_react57.default.createElement("title", null, "Storybook icon"), import_react57.default.createElement("g", { id: "Artboard", stroke: "none", strokeWidth: "1", fill: "none", fillRule: "evenodd" }, import_react57.default.createElement(
  "path",
  {
    d: "M8.04798541,58.7875918 L6.07908839,6.32540407 C6.01406344,4.5927838 7.34257463,3.12440831 9.07303814,3.01625434 L53.6958037,0.227331489 C55.457209,0.117243658 56.974354,1.45590096 57.0844418,3.21730626 C57.0885895,3.28366922 57.0906648,3.35014546 57.0906648,3.41663791 L57.0906648,60.5834697 C57.0906648,62.3483119 55.6599776,63.7789992 53.8951354,63.7789992 C53.847325,63.7789992 53.7995207,63.7779262 53.7517585,63.775781 L11.0978899,61.8600599 C9.43669044,61.7854501 8.11034889,60.4492961 8.04798541,58.7875918 Z",
    id: "path-1",
    fill: "#FF4785",
    fillRule: "nonzero"
  }
), import_react57.default.createElement(
  "path",
  {
    d: "M35.9095005,24.1768792 C35.9095005,25.420127 44.2838488,24.8242707 45.4080313,23.9509748 C45.4080313,15.4847538 40.8652557,11.0358878 32.5466666,11.0358878 C24.2280775,11.0358878 19.5673077,15.553972 19.5673077,22.3311017 C19.5673077,34.1346028 35.4965208,34.3605071 35.4965208,40.7987804 C35.4965208,42.606015 34.6115646,43.6790606 32.6646607,43.6790606 C30.127786,43.6790606 29.1248356,42.3834613 29.2428298,37.9783269 C29.2428298,37.0226907 19.5673077,36.7247626 19.2723223,37.9783269 C18.5211693,48.6535354 25.1720308,51.7326752 32.7826549,51.7326752 C40.1572906,51.7326752 45.939005,47.8018145 45.939005,40.6858282 C45.939005,28.035186 29.7738035,28.3740425 29.7738035,22.1051974 C29.7738035,19.5637737 31.6617103,19.2249173 32.7826549,19.2249173 C33.9625966,19.2249173 36.0864917,19.4328883 35.9095005,24.1768792 Z",
    id: "path9_fill-path",
    fill: "#FFFFFF",
    fillRule: "nonzero"
  }
), import_react57.default.createElement(
  "path",
  {
    d: "M44.0461638,0.830433986 L50.1874092,0.446606143 L50.443532,7.7810017 C50.4527198,8.04410717 50.2468789,8.26484453 49.9837734,8.27403237 C49.871115,8.27796649 49.7607078,8.24184808 49.6721567,8.17209069 L47.3089847,6.3104681 L44.5110468,8.43287463 C44.3012992,8.591981 44.0022839,8.55092814 43.8431776,8.34118051 C43.7762017,8.25288717 43.742082,8.14401677 43.7466857,8.03329059 L44.0461638,0.830433986 Z",
    id: "Path",
    fill: "#FFFFFF"
  }
))), "StorybookIcon");

// src/components/components/Loader/Loader.tsx
var import_react58 = __toESM(require_react(), 1);
init_polished_esm();
init_theming();

// src/components/components/shared/animation.ts
init_theming();
var rotate3602 = keyframes`
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
`;

// src/components/components/Loader/Loader.tsx
var LoaderWrapper = styled.div(({ size = 32 }) => ({
  borderRadius: "50%",
  cursor: "progress",
  display: "inline-block",
  overflow: "hidden",
  position: "absolute",
  transition: "all 200ms ease-out",
  verticalAlign: "top",
  top: "50%",
  left: "50%",
  marginTop: -(size / 2),
  marginLeft: -(size / 2),
  height: size,
  width: size,
  zIndex: 4,
  borderWidth: 2,
  borderStyle: "solid",
  borderColor: "rgba(97, 97, 97, 0.29)",
  borderTopColor: "rgb(100,100,100)",
  animation: `${rotate3602} 0.7s linear infinite`,
  mixBlendMode: "difference"
}));
var ProgressWrapper = styled.div({
  position: "absolute",
  display: "flex",
  flexDirection: "column",
  justifyContent: "center",
  alignItems: "center",
  width: "100%",
  height: "100%"
});
var ProgressTrack = styled.div(({ theme: theme3 }) => ({
  position: "relative",
  width: "80%",
  marginBottom: "0.75rem",
  maxWidth: 300,
  height: 5,
  borderRadius: 5,
  background: curriedTransparentize$1(0.8, theme3.color.secondary),
  overflow: "hidden",
  cursor: "progress"
}));
var ProgressBar = styled.div(({ theme: theme3 }) => ({
  position: "absolute",
  top: 0,
  left: 0,
  height: "100%",
  background: theme3.color.secondary
}));
var ProgressMessage = styled.div(({ theme: theme3 }) => ({
  minHeight: "2em",
  fontSize: `${theme3.typography.size.s1}px`,
  color: theme3.textMutedColor
}));
var ErrorIcon = styled(LightningOffIcon)(({ theme: theme3 }) => ({
  width: 20,
  height: 20,
  marginBottom: "0.5rem",
  color: theme3.textMutedColor
}));
var ellipsis = keyframes`
  from { content: "..." }
  33% { content: "." }
  66% { content: ".." }
  to { content: "..." }
`;
var Ellipsis = styled.span({
  "&::after": {
    content: "'...'",
    animation: `${ellipsis} 1s linear infinite`,
    animationDelay: "1s",
    display: "inline-block",
    width: "1em",
    height: "auto"
  }
});
var Loader = /* @__PURE__ */ __name(({ progress, error, size, ...props }) => {
  if (error) {
    return import_react58.default.createElement(ProgressWrapper, { "aria-label": error.toString(), "aria-live": "polite", role: "status", ...props }, import_react58.default.createElement(ErrorIcon, null), import_react58.default.createElement(ProgressMessage, null, error.message));
  }
  if (progress) {
    const { value, modules } = progress;
    let { message } = progress;
    if (modules) {
      message += ` ${modules.complete} / ${modules.total} modules`;
    }
    return import_react58.default.createElement(
      ProgressWrapper,
      {
        "aria-label": "Content is loading...",
        "aria-live": "polite",
        "aria-valuemin": 0,
        "aria-valuemax": 100,
        "aria-valuenow": value * 100,
        "aria-valuetext": message,
        role: "progressbar",
        ...props
      },
      import_react58.default.createElement(ProgressTrack, null, import_react58.default.createElement(ProgressBar, { style: { width: `${value * 100}%` } })),
      import_react58.default.createElement(ProgressMessage, null, message, value < 1 && import_react58.default.createElement(Ellipsis, { key: message }))
    );
  }
  return import_react58.default.createElement(
    LoaderWrapper,
    {
      "aria-label": "Content is loading...",
      "aria-live": "polite",
      role: "status",
      size,
      ...props
    }
  );
}, "Loader");

// src/components/components/ProgressSpinner/ProgressSpinner.tsx
var import_react59 = __toESM(require_react(), 1);
init_theming();
var XMLNS = "http://www.w3.org/2000/svg";
var rotate = keyframes({
  "0%": {
    transform: "rotate(0deg)"
  },
  "100%": {
    transform: "rotate(360deg)"
  }
});
var Wrapper6 = styled.div(({ size }) => ({
  display: "inline-flex",
  alignItems: "center",
  justifyContent: "center",
  position: "relative",
  minWidth: size,
  minHeight: size
}));
var Circle = styled.svg(
  ({ size, width }) => ({
    position: "absolute",
    width: `${size}px!important`,
    height: `${size}px!important`,
    transform: "rotate(-90deg)",
    circle: {
      r: (size - Math.ceil(width)) / 2,
      cx: size / 2,
      cy: size / 2,
      opacity: 0.15,
      fill: "transparent",
      stroke: "currentColor",
      strokeWidth: width,
      strokeLinecap: "round",
      strokeDasharray: Math.PI * (size - Math.ceil(width))
    }
  }),
  ({ progress }) => progress && {
    circle: {
      opacity: 0.75
    }
  },
  ({ spinner }) => spinner && {
    animation: `${rotate} 1s linear infinite`,
    circle: {
      opacity: 0.25
    }
  }
);
var ProgressSpinner = /* @__PURE__ */ __name(({
  percentage = void 0,
  running = true,
  size = 24,
  width = 1.5,
  children = null,
  ...props
}) => typeof percentage === "number" ? import_react59.default.createElement(Wrapper6, { size, ...props }, children, import_react59.default.createElement(Circle, { size, width, xmlns: XMLNS }, import_react59.default.createElement("circle", null)), running && import_react59.default.createElement(Circle, { size, width, xmlns: XMLNS, spinner: true }, import_react59.default.createElement("circle", { strokeDashoffset: Math.PI * (size - Math.ceil(width)) * (1 - percentage / 100) })), import_react59.default.createElement(Circle, { size, width, xmlns: XMLNS, progress: true }, import_react59.default.createElement("circle", { strokeDashoffset: Math.PI * (size - Math.ceil(width)) * (1 - percentage / 100) }))) : import_react59.default.createElement(Wrapper6, { size, ...props }, children), "ProgressSpinner");

// src/components/components/utils/getStoryHref.ts
function parseQuery(queryString) {
  const query = {};
  const pairs = queryString.split("&");
  for (let i2 = 0; i2 < pairs.length; i2++) {
    const pair = pairs[i2].split("=");
    query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || "");
  }
  return query;
}
__name(parseQuery, "parseQuery");
var getStoryHref = /* @__PURE__ */ __name((baseUrl, storyId, additionalParams = {}) => {
  const [url, paramsStr] = baseUrl.split("?");
  const params = paramsStr ? {
    ...parseQuery(paramsStr),
    ...additionalParams,
    id: storyId
  } : {
    ...additionalParams,
    id: storyId
  };
  return `${url}?${Object.entries(params).map((item) => `${item[0]}=${item[1]}`).join("&")}`;
}, "getStoryHref");

// src/components/components/clipboard/ClipboardCode.tsx
var import_react60 = __toESM(require_react(), 1);
init_theming();
var Code3 = styled.pre`
  line-height: 18px;
  padding: 11px 1rem;
  white-space: pre-wrap;
  background: rgba(0, 0, 0, 0.05);
  color: ${color.darkest};
  border-radius: 3px;
  margin: 1rem 0;
  width: 100%;
  display: block;
  overflow: hidden;
  font-family: ${typography.fonts.mono};
  font-size: ${typography.size.s2 - 1}px;
`;
var ClipboardCode = /* @__PURE__ */ __name(({ code, ...props }) => import_react60.default.createElement(Code3, { id: "clipboard-code", ...props }, code), "ClipboardCode");

// src/components/index.ts
var components2 = components;
var resetComponents = {};
Object.keys(components).forEach((key) => {
  resetComponents[key] = (0, import_react61.forwardRef)((props, ref) => (0, import_react61.createElement)(key, { ...props, ref }));
});

// src/manager-errors.ts
var manager_errors_exports = {};
__export(manager_errors_exports, {
  Category: () => Category,
  ProviderDoesNotExtendBaseProviderError: () => ProviderDoesNotExtendBaseProviderError,
  StatusTypeIdMismatchError: () => StatusTypeIdMismatchError2,
  UncaughtManagerError: () => UncaughtManagerError
});
var Category = /* @__PURE__ */ ((Category2) => {
  Category2["MANAGER_UNCAUGHT"] = "MANAGER_UNCAUGHT";
  Category2["MANAGER_UI"] = "MANAGER_UI";
  Category2["MANAGER_API"] = "MANAGER_API";
  Category2["MANAGER_CLIENT_LOGGER"] = "MANAGER_CLIENT-LOGGER";
  Category2["MANAGER_CHANNELS"] = "MANAGER_CHANNELS";
  Category2["MANAGER_CORE_EVENTS"] = "MANAGER_CORE-EVENTS";
  Category2["MANAGER_ROUTER"] = "MANAGER_ROUTER";
  Category2["MANAGER_THEMING"] = "MANAGER_THEMING";
  return Category2;
})(Category || {});
var _ProviderDoesNotExtendBaseProviderError = class _ProviderDoesNotExtendBaseProviderError extends StorybookError {
  constructor() {
    super({
      category: "MANAGER_UI" /* MANAGER_UI */,
      code: 1,
      message: `The Provider passed into Storybook's UI is not extended from the base Provider. Please check your Provider implementation.`
    });
  }
};
__name(_ProviderDoesNotExtendBaseProviderError, "ProviderDoesNotExtendBaseProviderError");
var ProviderDoesNotExtendBaseProviderError = _ProviderDoesNotExtendBaseProviderError;
var _UncaughtManagerError = class _UncaughtManagerError extends StorybookError {
  constructor(data) {
    super({
      category: "MANAGER_UNCAUGHT" /* MANAGER_UNCAUGHT */,
      code: 1,
      message: data.error.message
    });
    this.data = data;
    this.stack = data.error.stack;
  }
};
__name(_UncaughtManagerError, "UncaughtManagerError");
var UncaughtManagerError = _UncaughtManagerError;
var _StatusTypeIdMismatchError2 = class _StatusTypeIdMismatchError2 extends StorybookError {
  constructor(data) {
    super({
      category: "MANAGER_API" /* MANAGER_API */,
      code: 1,
      message: `Status has typeId "${data.status.typeId}" but was added to store with typeId "${data.typeId}". Full status: ${JSON.stringify(
        data.status,
        null,
        2
      )}`
    });
    this.data = data;
  }
};
__name(_StatusTypeIdMismatchError2, "StatusTypeIdMismatchError");
var StatusTypeIdMismatchError2 = _StatusTypeIdMismatchError2;

// src/router/index.ts
var router_exports = {};
__export(router_exports, {
  BaseLocationProvider: () => BaseLocationProvider,
  DEEPLY_EQUAL: () => DEEPLY_EQUAL2,
  Link: () => Link4,
  Location: () => Location,
  LocationProvider: () => LocationProvider,
  Match: () => Match,
  Route: () => Route2,
  buildArgsParam: () => buildArgsParam,
  deepDiff: () => deepDiff2,
  getMatch: () => getMatch,
  parsePath: () => parsePath2,
  queryFromLocation: () => queryFromLocation,
  stringifyQuery: () => stringifyQuery,
  useNavigate: () => useNavigate2
});

// src/router/utils.ts
init_client_logger();
var import_memoizerific8 = __toESM(require_memoizerific(), 1);
var import_picoquery4 = __toESM(require_main(), 1);
init_esm();
var splitPathRegex = /\/([^/]+)\/(?:(.*)_)?([^/]+)?/;
var parsePath2 = (0, import_memoizerific8.default)(1e3)((path) => {
  const result = {
    viewMode: void 0,
    storyId: void 0,
    refId: void 0
  };
  if (path) {
    const [, viewMode, refId, storyId] = path.toLowerCase().match(splitPathRegex) || [];
    if (viewMode) {
      Object.assign(result, {
        viewMode,
        storyId,
        refId
      });
    }
  }
  return result;
});
var DEEPLY_EQUAL2 = Symbol("Deeply equal");
var deepDiff2 = /* @__PURE__ */ __name((value, update2) => {
  if (typeof value !== typeof update2) {
    return update2;
  }
  if (isEqual3(value, update2)) {
    return DEEPLY_EQUAL2;
  }
  if (Array.isArray(value) && Array.isArray(update2)) {
    const res = update2.reduce((acc, upd, index4) => {
      const diff2 = deepDiff2(value[index4], upd);
      if (diff2 !== DEEPLY_EQUAL2) {
        acc[index4] = diff2;
      }
      return acc;
    }, new Array(update2.length));
    if (update2.length >= value.length) {
      return res;
    }
    return res.concat(new Array(value.length - update2.length).fill(void 0));
  }
  if (isPlainObject(value) && isPlainObject(update2)) {
    return Object.keys({ ...value, ...update2 }).reduce((acc, key) => {
      const diff2 = deepDiff2(value?.[key], update2?.[key]);
      return diff2 === DEEPLY_EQUAL2 ? acc : Object.assign(acc, { [key]: diff2 });
    }, {});
  }
  return update2;
}, "deepDiff");
var VALIDATION_REGEXP = /^[a-zA-Z0-9 _-]*$/;
var NUMBER_REGEXP = /^-?[0-9]+(\.[0-9]+)?$/;
var HEX_REGEXP = /^#([a-f0-9]{3,4}|[a-f0-9]{6}|[a-f0-9]{8})$/i;
var COLOR_REGEXP = /^(rgba?|hsla?)\(([0-9]{1,3}),\s?([0-9]{1,3})%?,\s?([0-9]{1,3})%?,?\s?([0-9](\.[0-9]{1,2})?)?\)$/i;
var validateArgs = /* @__PURE__ */ __name((key = "", value) => {
  if (key === null) {
    return false;
  }
  if (key === "" || !VALIDATION_REGEXP.test(key)) {
    return false;
  }
  if (value === null || value === void 0) {
    return true;
  }
  if (value instanceof Date) {
    return true;
  }
  if (typeof value === "number" || typeof value === "boolean") {
    return true;
  }
  if (typeof value === "string") {
    return VALIDATION_REGEXP.test(value) || NUMBER_REGEXP.test(value) || HEX_REGEXP.test(value) || COLOR_REGEXP.test(value);
  }
  if (Array.isArray(value)) {
    return value.every((v) => validateArgs(key, v));
  }
  if (isPlainObject(value)) {
    return Object.entries(value).every(([k, v]) => validateArgs(k, v));
  }
  return false;
}, "validateArgs");
var encodeSpecialValues = /* @__PURE__ */ __name((value) => {
  if (value === void 0) {
    return "!undefined";
  }
  if (value === null) {
    return "!null";
  }
  if (typeof value === "string") {
    if (HEX_REGEXP.test(value)) {
      return `!hex(${value.slice(1)})`;
    }
    if (COLOR_REGEXP.test(value)) {
      return `!${value.replace(/[\s%]/g, "")}`;
    }
    return value;
  }
  if (typeof value === "boolean") {
    return `!${value}`;
  }
  if (value instanceof Date) {
    return `!date(${value.toISOString()})`;
  }
  if (Array.isArray(value)) {
    return value.map(encodeSpecialValues);
  }
  if (isPlainObject(value)) {
    return Object.entries(value).reduce(
      (acc, [key, val]) => Object.assign(acc, { [key]: encodeSpecialValues(val) }),
      {}
    );
  }
  return value;
}, "encodeSpecialValues");
var decodeKnownQueryChar = /* @__PURE__ */ __name((chr) => {
  switch (chr) {
    case "%20":
      return "+";
    case "%5B":
      return "[";
    case "%5D":
      return "]";
    case "%2C":
      return ",";
    case "%3A":
      return ":";
  }
  return chr;
}, "decodeKnownQueryChar");
var knownQueryChar = /%[0-9A-F]{2}/g;
var buildArgsParam = /* @__PURE__ */ __name((initialArgs, args) => {
  const update2 = deepDiff2(initialArgs, args);
  if (!update2 || update2 === DEEPLY_EQUAL2) {
    return "";
  }
  const object = Object.entries(update2).reduce((acc, [key, value]) => {
    if (validateArgs(key, value)) {
      return Object.assign(acc, { [key]: value });
    }
    once.warn(dedent`
      Omitted potentially unsafe URL args.

      More info: https://storybook.js.org/docs/writing-stories/args?ref=error#setting-args-through-the-url
    `);
    return acc;
  }, {});
  return (0, import_picoquery4.stringify)(encodeSpecialValues(object), {
    delimiter: ";",
    // we don't actually create multiple query params
    nesting: true,
    nestingSyntax: "js"
    // encode objects using dot notation: obj.key=val
  }).replace(knownQueryChar, decodeKnownQueryChar).split(";").map((part) => part.replace("=", ":")).join(";");
}, "buildArgsParam");
var queryFromString = (0, import_memoizerific8.default)(1e3)((s3) => s3 !== void 0 ? (0, import_picoquery4.parse)(s3) : {});
var queryFromLocation = /* @__PURE__ */ __name((location3) => {
  return queryFromString(location3.search ? location3.search.slice(1) : "");
}, "queryFromLocation");
var stringifyQuery = /* @__PURE__ */ __name((query) => {
  const queryStr = (0, import_picoquery4.stringify)(query);
  return queryStr ? "?" + queryStr : "";
}, "stringifyQuery");
var getMatch = (0, import_memoizerific8.default)(1e3)((current, target, startsWith = true) => {
  if (startsWith) {
    if (typeof target !== "string") {
      throw new Error("startsWith only works with string targets");
    }
    const startsWithTarget = current && current.startsWith(target);
    if (startsWithTarget) {
      return { path: current };
    }
    return null;
  }
  const currentIsTarget = typeof target === "string" && current === target;
  const matchTarget = current && target && current.match(target);
  if (currentIsTarget || matchTarget) {
    return { path: current };
  }
  return null;
});

// src/router/router.tsx
var import_react62 = __toESM(require_react(), 1);
init_dist();

// ../node_modules/react-router-dom/dist/index.js
var React97 = __toESM(require_react());

// ../node_modules/react-router/dist/index.js
var React96 = __toESM(require_react());

// ../node_modules/@remix-run/router/dist/router.js
function _extends2() {
  _extends2 = Object.assign ? Object.assign.bind() : function(target) {
    for (var i2 = 1; i2 < arguments.length; i2++) {
      var source = arguments[i2];
      for (var key in source) {
        if (Object.prototype.hasOwnProperty.call(source, key)) {
          target[key] = source[key];
        }
      }
    }
    return target;
  };
  return _extends2.apply(this, arguments);
}
__name(_extends2, "_extends");
var Action;
(function(Action2) {
  Action2["Pop"] = "POP";
  Action2["Push"] = "PUSH";
  Action2["Replace"] = "REPLACE";
})(Action || (Action = {}));
var PopStateEventType = "popstate";
function createBrowserHistory(options) {
  if (options === void 0) {
    options = {};
  }
  function createBrowserLocation(window2, globalHistory) {
    let {
      pathname,
      search,
      hash: hash4
    } = window2.location;
    return createLocation(
      "",
      {
        pathname,
        search,
        hash: hash4
      },
      // state defaults to `null` because `window.history.state` does
      globalHistory.state && globalHistory.state.usr || null,
      globalHistory.state && globalHistory.state.key || "default"
    );
  }
  __name(createBrowserLocation, "createBrowserLocation");
  function createBrowserHref(window2, to) {
    return typeof to === "string" ? to : createPath(to);
  }
  __name(createBrowserHref, "createBrowserHref");
  return getUrlBasedHistory(createBrowserLocation, createBrowserHref, null, options);
}
__name(createBrowserHistory, "createBrowserHistory");
function invariant2(value, message) {
  if (value === false || value === null || typeof value === "undefined") {
    throw new Error(message);
  }
}
__name(invariant2, "invariant");
function createKey() {
  return Math.random().toString(36).substr(2, 8);
}
__name(createKey, "createKey");
function getHistoryState(location3, index4) {
  return {
    usr: location3.state,
    key: location3.key,
    idx: index4
  };
}
__name(getHistoryState, "getHistoryState");
function createLocation(current, to, state3, key) {
  if (state3 === void 0) {
    state3 = null;
  }
  let location3 = _extends2({
    pathname: typeof current === "string" ? current : current.pathname,
    search: "",
    hash: ""
  }, typeof to === "string" ? parsePath3(to) : to, {
    state: state3,
    // TODO: This could be cleaned up.  push/replace should probably just take
    // full Locations now and avoid the need to run through this flow at all
    // But that's a pretty big refactor to the current test suite so going to
    // keep as is for the time being and just let any incoming keys take precedence
    key: to && to.key || key || createKey()
  });
  return location3;
}
__name(createLocation, "createLocation");
function createPath(_ref) {
  let {
    pathname = "/",
    search = "",
    hash: hash4 = ""
  } = _ref;
  if (search && search !== "?") pathname += search.charAt(0) === "?" ? search : "?" + search;
  if (hash4 && hash4 !== "#") pathname += hash4.charAt(0) === "#" ? hash4 : "#" + hash4;
  return pathname;
}
__name(createPath, "createPath");
function parsePath3(path) {
  let parsedPath = {};
  if (path) {
    let hashIndex = path.indexOf("#");
    if (hashIndex >= 0) {
      parsedPath.hash = path.substr(hashIndex);
      path = path.substr(0, hashIndex);
    }
    let searchIndex = path.indexOf("?");
    if (searchIndex >= 0) {
      parsedPath.search = path.substr(searchIndex);
      path = path.substr(0, searchIndex);
    }
    if (path) {
      parsedPath.pathname = path;
    }
  }
  return parsedPath;
}
__name(parsePath3, "parsePath");
function getUrlBasedHistory(getLocation, createHref, validateLocation, options) {
  if (options === void 0) {
    options = {};
  }
  let {
    window: window2 = document.defaultView,
    v5Compat = false
  } = options;
  let globalHistory = window2.history;
  let action2 = Action.Pop;
  let listener = null;
  let index4 = getIndex();
  if (index4 == null) {
    index4 = 0;
    globalHistory.replaceState(_extends2({}, globalHistory.state, {
      idx: index4
    }), "");
  }
  function getIndex() {
    let state3 = globalHistory.state || {
      idx: null
    };
    return state3.idx;
  }
  __name(getIndex, "getIndex");
  function handlePop() {
    action2 = Action.Pop;
    let nextIndex = getIndex();
    let delta = nextIndex == null ? null : nextIndex - index4;
    index4 = nextIndex;
    if (listener) {
      listener({
        action: action2,
        location: history2.location,
        delta
      });
    }
  }
  __name(handlePop, "handlePop");
  function push(to, state3) {
    action2 = Action.Push;
    let location3 = createLocation(history2.location, to, state3);
    if (validateLocation) validateLocation(location3, to);
    index4 = getIndex() + 1;
    let historyState = getHistoryState(location3, index4);
    let url = history2.createHref(location3);
    try {
      globalHistory.pushState(historyState, "", url);
    } catch (error) {
      if (error instanceof DOMException && error.name === "DataCloneError") {
        throw error;
      }
      window2.location.assign(url);
    }
    if (v5Compat && listener) {
      listener({
        action: action2,
        location: history2.location,
        delta: 1
      });
    }
  }
  __name(push, "push");
  function replace2(to, state3) {
    action2 = Action.Replace;
    let location3 = createLocation(history2.location, to, state3);
    if (validateLocation) validateLocation(location3, to);
    index4 = getIndex();
    let historyState = getHistoryState(location3, index4);
    let url = history2.createHref(location3);
    globalHistory.replaceState(historyState, "", url);
    if (v5Compat && listener) {
      listener({
        action: action2,
        location: history2.location,
        delta: 0
      });
    }
  }
  __name(replace2, "replace");
  function createURL(to) {
    let base = window2.location.origin !== "null" ? window2.location.origin : window2.location.href;
    let href = typeof to === "string" ? to : createPath(to);
    invariant2(base, "No window.location.(origin|href) available to create URL for href: " + href);
    return new URL(href, base);
  }
  __name(createURL, "createURL");
  let history2 = {
    get action() {
      return action2;
    },
    get location() {
      return getLocation(window2, globalHistory);
    },
    listen(fn4) {
      if (listener) {
        throw new Error("A history only accepts one active listener");
      }
      window2.addEventListener(PopStateEventType, handlePop);
      listener = fn4;
      return () => {
        window2.removeEventListener(PopStateEventType, handlePop);
        listener = null;
      };
    },
    createHref(to) {
      return createHref(window2, to);
    },
    createURL,
    encodeLocation(to) {
      let url = createURL(to);
      return {
        pathname: url.pathname,
        search: url.search,
        hash: url.hash
      };
    },
    push,
    replace: replace2,
    go(n2) {
      return globalHistory.go(n2);
    }
  };
  return history2;
}
__name(getUrlBasedHistory, "getUrlBasedHistory");
var ResultType;
(function(ResultType2) {
  ResultType2["data"] = "data";
  ResultType2["deferred"] = "deferred";
  ResultType2["redirect"] = "redirect";
  ResultType2["error"] = "error";
})(ResultType || (ResultType = {}));
function stripBasename(pathname, basename) {
  if (basename === "/") return pathname;
  if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {
    return null;
  }
  let startIndex = basename.endsWith("/") ? basename.length - 1 : basename.length;
  let nextChar = pathname.charAt(startIndex);
  if (nextChar && nextChar !== "/") {
    return null;
  }
  return pathname.slice(startIndex) || "/";
}
__name(stripBasename, "stripBasename");
function resolvePath(to, fromPathname) {
  if (fromPathname === void 0) {
    fromPathname = "/";
  }
  let {
    pathname: toPathname,
    search = "",
    hash: hash4 = ""
  } = typeof to === "string" ? parsePath3(to) : to;
  let pathname = toPathname ? toPathname.startsWith("/") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;
  return {
    pathname,
    search: normalizeSearch(search),
    hash: normalizeHash(hash4)
  };
}
__name(resolvePath, "resolvePath");
function resolvePathname(relativePath, fromPathname) {
  let segments = fromPathname.replace(/\/+$/, "").split("/");
  let relativeSegments = relativePath.split("/");
  relativeSegments.forEach((segment) => {
    if (segment === "..") {
      if (segments.length > 1) segments.pop();
    } else if (segment !== ".") {
      segments.push(segment);
    }
  });
  return segments.length > 1 ? segments.join("/") : "/";
}
__name(resolvePathname, "resolvePathname");
function getInvalidPathError(char2, field, dest, path) {
  return "Cannot include a '" + char2 + "' character in a manually specified " + ("`to." + field + "` field [" + JSON.stringify(path) + "].  Please separate it out to the ") + ("`to." + dest + "` field. Alternatively you may provide the full path as ") + 'a string in <Link to="..."> and the router will parse it for you.';
}
__name(getInvalidPathError, "getInvalidPathError");
function getPathContributingMatches(matches4) {
  return matches4.filter((match3, index4) => index4 === 0 || match3.route.path && match3.route.path.length > 0);
}
__name(getPathContributingMatches, "getPathContributingMatches");
function resolveTo(toArg, routePathnames, locationPathname, isPathRelative) {
  if (isPathRelative === void 0) {
    isPathRelative = false;
  }
  let to;
  if (typeof toArg === "string") {
    to = parsePath3(toArg);
  } else {
    to = _extends2({}, toArg);
    invariant2(!to.pathname || !to.pathname.includes("?"), getInvalidPathError("?", "pathname", "search", to));
    invariant2(!to.pathname || !to.pathname.includes("#"), getInvalidPathError("#", "pathname", "hash", to));
    invariant2(!to.search || !to.search.includes("#"), getInvalidPathError("#", "search", "hash", to));
  }
  let isEmptyPath = toArg === "" || to.pathname === "";
  let toPathname = isEmptyPath ? "/" : to.pathname;
  let from2;
  if (isPathRelative || toPathname == null) {
    from2 = locationPathname;
  } else {
    let routePathnameIndex = routePathnames.length - 1;
    if (toPathname.startsWith("..")) {
      let toSegments = toPathname.split("/");
      while (toSegments[0] === "..") {
        toSegments.shift();
        routePathnameIndex -= 1;
      }
      to.pathname = toSegments.join("/");
    }
    from2 = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : "/";
  }
  let path = resolvePath(to, from2);
  let hasExplicitTrailingSlash = toPathname && toPathname !== "/" && toPathname.endsWith("/");
  let hasCurrentTrailingSlash = (isEmptyPath || toPathname === ".") && locationPathname.endsWith("/");
  if (!path.pathname.endsWith("/") && (hasExplicitTrailingSlash || hasCurrentTrailingSlash)) {
    path.pathname += "/";
  }
  return path;
}
__name(resolveTo, "resolveTo");
var joinPaths = /* @__PURE__ */ __name((paths) => paths.join("/").replace(/\/\/+/g, "/"), "joinPaths");
var normalizeSearch = /* @__PURE__ */ __name((search) => !search || search === "?" ? "" : search.startsWith("?") ? search : "?" + search, "normalizeSearch");
var normalizeHash = /* @__PURE__ */ __name((hash4) => !hash4 || hash4 === "#" ? "" : hash4.startsWith("#") ? hash4 : "#" + hash4, "normalizeHash");
function isRouteErrorResponse(error) {
  return error != null && typeof error.status === "number" && typeof error.statusText === "string" && typeof error.internal === "boolean" && "data" in error;
}
__name(isRouteErrorResponse, "isRouteErrorResponse");
var validMutationMethodsArr = ["post", "put", "patch", "delete"];
var validMutationMethods = new Set(validMutationMethodsArr);
var validRequestMethodsArr = ["get", ...validMutationMethodsArr];
var validRequestMethods = new Set(validRequestMethodsArr);
var UNSAFE_DEFERRED_SYMBOL = Symbol("deferred");

// ../node_modules/react-router/dist/index.js
function _extends3() {
  _extends3 = Object.assign ? Object.assign.bind() : function(target) {
    for (var i2 = 1; i2 < arguments.length; i2++) {
      var source = arguments[i2];
      for (var key in source) {
        if (Object.prototype.hasOwnProperty.call(source, key)) {
          target[key] = source[key];
        }
      }
    }
    return target;
  };
  return _extends3.apply(this, arguments);
}
__name(_extends3, "_extends");
var DataRouterContext = React96.createContext(null);
if (false) {
  DataRouterContext.displayName = "DataRouter";
}
var DataRouterStateContext = React96.createContext(null);
if (false) {
  DataRouterStateContext.displayName = "DataRouterState";
}
var AwaitContext = React96.createContext(null);
if (false) {
  AwaitContext.displayName = "Await";
}
var NavigationContext = React96.createContext(null);
if (false) {
  NavigationContext.displayName = "Navigation";
}
var LocationContext = React96.createContext(null);
if (false) {
  LocationContext.displayName = "Location";
}
var RouteContext = React96.createContext({
  outlet: null,
  matches: [],
  isDataRoute: false
});
if (false) {
  RouteContext.displayName = "Route";
}
var RouteErrorContext = React96.createContext(null);
if (false) {
  RouteErrorContext.displayName = "RouteError";
}
function useHref(to, _temp) {
  let {
    relative
  } = _temp === void 0 ? {} : _temp;
  !useInRouterContext() ? false ? invariant2(
    false,
    // TODO: This error is probably because they somehow have 2 versions of the
    // router loaded. We can help them understand how to avoid that.
    "useHref() may be used only in the context of a <Router> component."
  ) : invariant2(false) : void 0;
  let {
    basename,
    navigator: navigator4
  } = React96.useContext(NavigationContext);
  let {
    hash: hash4,
    pathname,
    search
  } = useResolvedPath(to, {
    relative
  });
  let joinedPathname = pathname;
  if (basename !== "/") {
    joinedPathname = pathname === "/" ? basename : joinPaths([basename, pathname]);
  }
  return navigator4.createHref({
    pathname: joinedPathname,
    search,
    hash: hash4
  });
}
__name(useHref, "useHref");
function useInRouterContext() {
  return React96.useContext(LocationContext) != null;
}
__name(useInRouterContext, "useInRouterContext");
function useLocation() {
  !useInRouterContext() ? false ? invariant2(
    false,
    // TODO: This error is probably because they somehow have 2 versions of the
    // router loaded. We can help them understand how to avoid that.
    "useLocation() may be used only in the context of a <Router> component."
  ) : invariant2(false) : void 0;
  return React96.useContext(LocationContext).location;
}
__name(useLocation, "useLocation");
function useIsomorphicLayoutEffect3(cb) {
  let isStatic = React96.useContext(NavigationContext).static;
  if (!isStatic) {
    React96.useLayoutEffect(cb);
  }
}
__name(useIsomorphicLayoutEffect3, "useIsomorphicLayoutEffect");
function useNavigate() {
  let {
    isDataRoute
  } = React96.useContext(RouteContext);
  return isDataRoute ? useNavigateStable() : useNavigateUnstable();
}
__name(useNavigate, "useNavigate");
function useNavigateUnstable() {
  !useInRouterContext() ? false ? invariant2(
    false,
    // TODO: This error is probably because they somehow have 2 versions of the
    // router loaded. We can help them understand how to avoid that.
    "useNavigate() may be used only in the context of a <Router> component."
  ) : invariant2(false) : void 0;
  let dataRouterContext = React96.useContext(DataRouterContext);
  let {
    basename,
    navigator: navigator4
  } = React96.useContext(NavigationContext);
  let {
    matches: matches4
  } = React96.useContext(RouteContext);
  let {
    pathname: locationPathname
  } = useLocation();
  let routePathnamesJson = JSON.stringify(getPathContributingMatches(matches4).map((match3) => match3.pathnameBase));
  let activeRef = React96.useRef(false);
  useIsomorphicLayoutEffect3(() => {
    activeRef.current = true;
  });
  let navigate = React96.useCallback(function(to, options) {
    if (options === void 0) {
      options = {};
    }
    false ? warning2(activeRef.current, navigateEffectWarning) : void 0;
    if (!activeRef.current) return;
    if (typeof to === "number") {
      navigator4.go(to);
      return;
    }
    let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, options.relative === "path");
    if (dataRouterContext == null && basename !== "/") {
      path.pathname = path.pathname === "/" ? basename : joinPaths([basename, path.pathname]);
    }
    (!!options.replace ? navigator4.replace : navigator4.push)(path, options.state, options);
  }, [basename, navigator4, routePathnamesJson, locationPathname, dataRouterContext]);
  return navigate;
}
__name(useNavigateUnstable, "useNavigateUnstable");
var OutletContext = React96.createContext(null);
function useResolvedPath(to, _temp2) {
  let {
    relative
  } = _temp2 === void 0 ? {} : _temp2;
  let {
    matches: matches4
  } = React96.useContext(RouteContext);
  let {
    pathname: locationPathname
  } = useLocation();
  let routePathnamesJson = JSON.stringify(getPathContributingMatches(matches4).map((match3) => match3.pathnameBase));
  return React96.useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, relative === "path"), [to, routePathnamesJson, locationPathname, relative]);
}
__name(useResolvedPath, "useResolvedPath");
function DefaultErrorComponent() {
  let error = useRouteError();
  let message = isRouteErrorResponse(error) ? error.status + " " + error.statusText : error instanceof Error ? error.message : JSON.stringify(error);
  let stack = error instanceof Error ? error.stack : null;
  let lightgrey = "rgba(200,200,200, 0.5)";
  let preStyles = {
    padding: "0.5rem",
    backgroundColor: lightgrey
  };
  let codeStyles = {
    padding: "2px 4px",
    backgroundColor: lightgrey
  };
  let devInfo = null;
  if (false) {
    console.error("Error handled by React Router default ErrorBoundary:", error);
    devInfo = React96.createElement(React96.Fragment, null, React96.createElement("p", null, "\u{1F4BF} Hey developer \u{1F44B}"), React96.createElement("p", null, "You can provide a way better UX than this when your app throws errors by providing your own ", React96.createElement("code", {
      style: codeStyles
    }, "ErrorBoundary"), " or", " ", React96.createElement("code", {
      style: codeStyles
    }, "errorElement"), " prop on your route."));
  }
  return React96.createElement(React96.Fragment, null, React96.createElement("h2", null, "Unexpected Application Error!"), React96.createElement("h3", {
    style: {
      fontStyle: "italic"
    }
  }, message), stack ? React96.createElement("pre", {
    style: preStyles
  }, stack) : null, devInfo);
}
__name(DefaultErrorComponent, "DefaultErrorComponent");
var defaultErrorElement = React96.createElement(DefaultErrorComponent, null);
var DataRouterHook = function(DataRouterHook3) {
  DataRouterHook3["UseBlocker"] = "useBlocker";
  DataRouterHook3["UseRevalidator"] = "useRevalidator";
  DataRouterHook3["UseNavigateStable"] = "useNavigate";
  return DataRouterHook3;
}(DataRouterHook || {});
var DataRouterStateHook = function(DataRouterStateHook3) {
  DataRouterStateHook3["UseBlocker"] = "useBlocker";
  DataRouterStateHook3["UseLoaderData"] = "useLoaderData";
  DataRouterStateHook3["UseActionData"] = "useActionData";
  DataRouterStateHook3["UseRouteError"] = "useRouteError";
  DataRouterStateHook3["UseNavigation"] = "useNavigation";
  DataRouterStateHook3["UseRouteLoaderData"] = "useRouteLoaderData";
  DataRouterStateHook3["UseMatches"] = "useMatches";
  DataRouterStateHook3["UseRevalidator"] = "useRevalidator";
  DataRouterStateHook3["UseNavigateStable"] = "useNavigate";
  DataRouterStateHook3["UseRouteId"] = "useRouteId";
  return DataRouterStateHook3;
}(DataRouterStateHook || {});
function useDataRouterContext(hookName) {
  let ctx = React96.useContext(DataRouterContext);
  !ctx ? false ? invariant2(false, getDataRouterConsoleError(hookName)) : invariant2(false) : void 0;
  return ctx;
}
__name(useDataRouterContext, "useDataRouterContext");
function useDataRouterState(hookName) {
  let state3 = React96.useContext(DataRouterStateContext);
  !state3 ? false ? invariant2(false, getDataRouterConsoleError(hookName)) : invariant2(false) : void 0;
  return state3;
}
__name(useDataRouterState, "useDataRouterState");
function useRouteContext(hookName) {
  let route = React96.useContext(RouteContext);
  !route ? false ? invariant2(false, getDataRouterConsoleError(hookName)) : invariant2(false) : void 0;
  return route;
}
__name(useRouteContext, "useRouteContext");
function useCurrentRouteId(hookName) {
  let route = useRouteContext(hookName);
  let thisRoute = route.matches[route.matches.length - 1];
  !thisRoute.route.id ? false ? invariant2(false, hookName + ' can only be used on routes that contain a unique "id"') : invariant2(false) : void 0;
  return thisRoute.route.id;
}
__name(useCurrentRouteId, "useCurrentRouteId");
function useRouteId() {
  return useCurrentRouteId(DataRouterStateHook.UseRouteId);
}
__name(useRouteId, "useRouteId");
function useRouteError() {
  var _state$errors;
  let error = React96.useContext(RouteErrorContext);
  let state3 = useDataRouterState(DataRouterStateHook.UseRouteError);
  let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);
  if (error) {
    return error;
  }
  return (_state$errors = state3.errors) == null ? void 0 : _state$errors[routeId];
}
__name(useRouteError, "useRouteError");
function useNavigateStable() {
  let {
    router
  } = useDataRouterContext(DataRouterHook.UseNavigateStable);
  let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);
  let activeRef = React96.useRef(false);
  useIsomorphicLayoutEffect3(() => {
    activeRef.current = true;
  });
  let navigate = React96.useCallback(function(to, options) {
    if (options === void 0) {
      options = {};
    }
    false ? warning2(activeRef.current, navigateEffectWarning) : void 0;
    if (!activeRef.current) return;
    if (typeof to === "number") {
      router.navigate(to);
    } else {
      router.navigate(to, _extends3({
        fromRouteId: id
      }, options));
    }
  }, [router, id]);
  return navigate;
}
__name(useNavigateStable, "useNavigateStable");
var START_TRANSITION = "startTransition";
var startTransitionImpl = React96[START_TRANSITION];
function Router(_ref5) {
  let {
    basename: basenameProp = "/",
    children = null,
    location: locationProp,
    navigationType = Action.Pop,
    navigator: navigator4,
    static: staticProp = false
  } = _ref5;
  !!useInRouterContext() ? false ? invariant2(false, "You cannot render a <Router> inside another <Router>. You should never have more than one in your app.") : invariant2(false) : void 0;
  let basename = basenameProp.replace(/^\/*/, "/");
  let navigationContext = React96.useMemo(() => ({
    basename,
    navigator: navigator4,
    static: staticProp
  }), [basename, navigator4, staticProp]);
  if (typeof locationProp === "string") {
    locationProp = parsePath3(locationProp);
  }
  let {
    pathname = "/",
    search = "",
    hash: hash4 = "",
    state: state3 = null,
    key = "default"
  } = locationProp;
  let locationContext = React96.useMemo(() => {
    let trailingPathname = stripBasename(pathname, basename);
    if (trailingPathname == null) {
      return null;
    }
    return {
      location: {
        pathname: trailingPathname,
        search,
        hash: hash4,
        state: state3,
        key
      },
      navigationType
    };
  }, [basename, pathname, search, hash4, state3, key, navigationType]);
  false ? warning2(locationContext != null, '<Router basename="' + basename + '"> is not able to match the URL ' + ('"' + pathname + search + hash4 + '" because it does not start with the ') + "basename, so the <Router> won't render anything.") : void 0;
  if (locationContext == null) {
    return null;
  }
  return React96.createElement(NavigationContext.Provider, {
    value: navigationContext
  }, React96.createElement(LocationContext.Provider, {
    children,
    value: locationContext
  }));
}
__name(Router, "Router");
var AwaitRenderStatus = function(AwaitRenderStatus2) {
  AwaitRenderStatus2[AwaitRenderStatus2["pending"] = 0] = "pending";
  AwaitRenderStatus2[AwaitRenderStatus2["success"] = 1] = "success";
  AwaitRenderStatus2[AwaitRenderStatus2["error"] = 2] = "error";
  return AwaitRenderStatus2;
}(AwaitRenderStatus || {});
var neverSettledPromise = new Promise(() => {
});

// ../node_modules/react-router-dom/dist/index.js
function _extends4() {
  _extends4 = Object.assign ? Object.assign.bind() : function(target) {
    for (var i2 = 1; i2 < arguments.length; i2++) {
      var source = arguments[i2];
      for (var key in source) {
        if (Object.prototype.hasOwnProperty.call(source, key)) {
          target[key] = source[key];
        }
      }
    }
    return target;
  };
  return _extends4.apply(this, arguments);
}
__name(_extends4, "_extends");
function _objectWithoutPropertiesLoose2(source, excluded) {
  if (source == null) return {};
  var target = {};
  var sourceKeys = Object.keys(source);
  var key, i2;
  for (i2 = 0; i2 < sourceKeys.length; i2++) {
    key = sourceKeys[i2];
    if (excluded.indexOf(key) >= 0) continue;
    target[key] = source[key];
  }
  return target;
}
__name(_objectWithoutPropertiesLoose2, "_objectWithoutPropertiesLoose");
var defaultMethod = "get";
var defaultEncType = "application/x-www-form-urlencoded";
function isHtmlElement(object) {
  return object != null && typeof object.tagName === "string";
}
__name(isHtmlElement, "isHtmlElement");
function isButtonElement(object) {
  return isHtmlElement(object) && object.tagName.toLowerCase() === "button";
}
__name(isButtonElement, "isButtonElement");
function isFormElement(object) {
  return isHtmlElement(object) && object.tagName.toLowerCase() === "form";
}
__name(isFormElement, "isFormElement");
function isInputElement(object) {
  return isHtmlElement(object) && object.tagName.toLowerCase() === "input";
}
__name(isInputElement, "isInputElement");
function isModifiedEvent(event) {
  return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);
}
__name(isModifiedEvent, "isModifiedEvent");
function shouldProcessLinkClick(event, target) {
  return event.button === 0 && // Ignore everything but left clicks
  (!target || target === "_self") && // Let browser handle "target=_blank" etc.
  !isModifiedEvent(event);
}
__name(shouldProcessLinkClick, "shouldProcessLinkClick");
var _formDataSupportsSubmitter = null;
function isFormDataSubmitterSupported() {
  if (_formDataSupportsSubmitter === null) {
    try {
      new FormData(
        document.createElement("form"),
        // @ts-expect-error if FormData supports the submitter parameter, this will throw
        0
      );
      _formDataSupportsSubmitter = false;
    } catch (e2) {
      _formDataSupportsSubmitter = true;
    }
  }
  return _formDataSupportsSubmitter;
}
__name(isFormDataSubmitterSupported, "isFormDataSubmitterSupported");
var supportedFormEncTypes = /* @__PURE__ */ new Set(["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]);
function getFormEncType(encType) {
  if (encType != null && !supportedFormEncTypes.has(encType)) {
    false ? warning2(false, '"' + encType + '" is not a valid `encType` for `<Form>`/`<fetcher.Form>` ' + ('and will default to "' + defaultEncType + '"')) : void 0;
    return null;
  }
  return encType;
}
__name(getFormEncType, "getFormEncType");
function getFormSubmissionInfo(target, basename) {
  let method;
  let action2;
  let encType;
  let formData;
  let body;
  if (isFormElement(target)) {
    let attr = target.getAttribute("action");
    action2 = attr ? stripBasename(attr, basename) : null;
    method = target.getAttribute("method") || defaultMethod;
    encType = getFormEncType(target.getAttribute("enctype")) || defaultEncType;
    formData = new FormData(target);
  } else if (isButtonElement(target) || isInputElement(target) && (target.type === "submit" || target.type === "image")) {
    let form = target.form;
    if (form == null) {
      throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');
    }
    let attr = target.getAttribute("formaction") || form.getAttribute("action");
    action2 = attr ? stripBasename(attr, basename) : null;
    method = target.getAttribute("formmethod") || form.getAttribute("method") || defaultMethod;
    encType = getFormEncType(target.getAttribute("formenctype")) || getFormEncType(form.getAttribute("enctype")) || defaultEncType;
    formData = new FormData(form, target);
    if (!isFormDataSubmitterSupported()) {
      let {
        name,
        type: type5,
        value
      } = target;
      if (type5 === "image") {
        let prefix4 = name ? name + "." : "";
        formData.append(prefix4 + "x", "0");
        formData.append(prefix4 + "y", "0");
      } else if (name) {
        formData.append(name, value);
      }
    }
  } else if (isHtmlElement(target)) {
    throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');
  } else {
    method = defaultMethod;
    action2 = null;
    encType = defaultEncType;
    body = target;
  }
  if (formData && encType === "text/plain") {
    body = formData;
    formData = void 0;
  }
  return {
    action: action2,
    method: method.toLowerCase(),
    encType,
    formData,
    body
  };
}
__name(getFormSubmissionInfo, "getFormSubmissionInfo");
var _excluded4 = ["onClick", "relative", "reloadDocument", "replace", "state", "target", "to", "preventScrollReset"];
var _excluded22 = ["aria-current", "caseSensitive", "className", "end", "style", "to", "children"];
var _excluded32 = ["reloadDocument", "replace", "state", "method", "action", "onSubmit", "submit", "relative", "preventScrollReset"];
var START_TRANSITION2 = "startTransition";
var startTransitionImpl2 = React97[START_TRANSITION2];
function BrowserRouter(_ref) {
  let {
    basename,
    children,
    future,
    window: window2
  } = _ref;
  let historyRef = React97.useRef();
  if (historyRef.current == null) {
    historyRef.current = createBrowserHistory({
      window: window2,
      v5Compat: true
    });
  }
  let history2 = historyRef.current;
  let [state3, setStateImpl] = React97.useState({
    action: history2.action,
    location: history2.location
  });
  let {
    v7_startTransition
  } = future || {};
  let setState2 = React97.useCallback((newState) => {
    v7_startTransition && startTransitionImpl2 ? startTransitionImpl2(() => setStateImpl(newState)) : setStateImpl(newState);
  }, [setStateImpl, v7_startTransition]);
  React97.useLayoutEffect(() => history2.listen(setState2), [history2, setState2]);
  return React97.createElement(Router, {
    basename,
    children,
    location: state3.location,
    navigationType: state3.action,
    navigator: history2
  });
}
__name(BrowserRouter, "BrowserRouter");
if (false) {
  HistoryRouter.displayName = "unstable_HistoryRouter";
}
var isBrowser3 = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
var ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;
var Link3 = React97.forwardRef(/* @__PURE__ */ __name(function LinkWithRef(_ref4, ref) {
  let {
    onClick,
    relative,
    reloadDocument,
    replace: replace2,
    state: state3,
    target,
    to,
    preventScrollReset
  } = _ref4, rest = _objectWithoutPropertiesLoose2(_ref4, _excluded4);
  let {
    basename
  } = React97.useContext(NavigationContext);
  let absoluteHref;
  let isExternal = false;
  if (typeof to === "string" && ABSOLUTE_URL_REGEX.test(to)) {
    absoluteHref = to;
    if (isBrowser3) {
      try {
        let currentUrl = new URL(window.location.href);
        let targetUrl = to.startsWith("//") ? new URL(currentUrl.protocol + to) : new URL(to);
        let path = stripBasename(targetUrl.pathname, basename);
        if (targetUrl.origin === currentUrl.origin && path != null) {
          to = path + targetUrl.search + targetUrl.hash;
        } else {
          isExternal = true;
        }
      } catch (e2) {
        false ? warning2(false, '<Link to="' + to + '"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.') : void 0;
      }
    }
  }
  let href = useHref(to, {
    relative
  });
  let internalOnClick = useLinkClickHandler(to, {
    replace: replace2,
    state: state3,
    target,
    preventScrollReset,
    relative
  });
  function handleClick(event) {
    if (onClick) onClick(event);
    if (!event.defaultPrevented) {
      internalOnClick(event);
    }
  }
  __name(handleClick, "handleClick");
  return (
    // eslint-disable-next-line jsx-a11y/anchor-has-content
    React97.createElement("a", _extends4({}, rest, {
      href: absoluteHref || href,
      onClick: isExternal || reloadDocument ? onClick : handleClick,
      ref,
      target
    }))
  );
}, "LinkWithRef"));
if (false) {
  Link3.displayName = "Link";
}
var NavLink = React97.forwardRef(/* @__PURE__ */ __name(function NavLinkWithRef(_ref5, ref) {
  let {
    "aria-current": ariaCurrentProp = "page",
    caseSensitive = false,
    className: classNameProp = "",
    end: end2 = false,
    style: styleProp,
    to,
    children
  } = _ref5, rest = _objectWithoutPropertiesLoose2(_ref5, _excluded22);
  let path = useResolvedPath(to, {
    relative: rest.relative
  });
  let location3 = useLocation();
  let routerState = React97.useContext(DataRouterStateContext);
  let {
    navigator: navigator4
  } = React97.useContext(NavigationContext);
  let toPathname = navigator4.encodeLocation ? navigator4.encodeLocation(path).pathname : path.pathname;
  let locationPathname = location3.pathname;
  let nextLocationPathname = routerState && routerState.navigation && routerState.navigation.location ? routerState.navigation.location.pathname : null;
  if (!caseSensitive) {
    locationPathname = locationPathname.toLowerCase();
    nextLocationPathname = nextLocationPathname ? nextLocationPathname.toLowerCase() : null;
    toPathname = toPathname.toLowerCase();
  }
  let isActive = locationPathname === toPathname || !end2 && locationPathname.startsWith(toPathname) && locationPathname.charAt(toPathname.length) === "/";
  let isPending = nextLocationPathname != null && (nextLocationPathname === toPathname || !end2 && nextLocationPathname.startsWith(toPathname) && nextLocationPathname.charAt(toPathname.length) === "/");
  let ariaCurrent = isActive ? ariaCurrentProp : void 0;
  let className;
  if (typeof classNameProp === "function") {
    className = classNameProp({
      isActive,
      isPending
    });
  } else {
    className = [classNameProp, isActive ? "active" : null, isPending ? "pending" : null].filter(Boolean).join(" ");
  }
  let style = typeof styleProp === "function" ? styleProp({
    isActive,
    isPending
  }) : styleProp;
  return React97.createElement(Link3, _extends4({}, rest, {
    "aria-current": ariaCurrent,
    className,
    ref,
    style,
    to
  }), typeof children === "function" ? children({
    isActive,
    isPending
  }) : children);
}, "NavLinkWithRef"));
if (false) {
  NavLink.displayName = "NavLink";
}
var Form2 = React97.forwardRef((props, ref) => {
  let submit = useSubmit();
  return React97.createElement(FormImpl, _extends4({}, props, {
    submit,
    ref
  }));
});
if (false) {
  Form2.displayName = "Form";
}
var FormImpl = React97.forwardRef((_ref6, forwardedRef) => {
  let {
    reloadDocument,
    replace: replace2,
    state: state3,
    method = defaultMethod,
    action: action2,
    onSubmit,
    submit,
    relative,
    preventScrollReset
  } = _ref6, props = _objectWithoutPropertiesLoose2(_ref6, _excluded32);
  let formMethod = method.toLowerCase() === "get" ? "get" : "post";
  let formAction = useFormAction(action2, {
    relative
  });
  let submitHandler = /* @__PURE__ */ __name((event) => {
    onSubmit && onSubmit(event);
    if (event.defaultPrevented) return;
    event.preventDefault();
    let submitter = event.nativeEvent.submitter;
    let submitMethod = (submitter == null ? void 0 : submitter.getAttribute("formmethod")) || method;
    submit(submitter || event.currentTarget, {
      method: submitMethod,
      replace: replace2,
      state: state3,
      relative,
      preventScrollReset
    });
  }, "submitHandler");
  return React97.createElement("form", _extends4({
    ref: forwardedRef,
    method: formMethod,
    action: formAction,
    onSubmit: reloadDocument ? onSubmit : submitHandler
  }, props));
});
if (false) {
  FormImpl.displayName = "FormImpl";
}
if (false) {
  ScrollRestoration.displayName = "ScrollRestoration";
}
var DataRouterHook2;
(function(DataRouterHook3) {
  DataRouterHook3["UseScrollRestoration"] = "useScrollRestoration";
  DataRouterHook3["UseSubmit"] = "useSubmit";
  DataRouterHook3["UseSubmitFetcher"] = "useSubmitFetcher";
  DataRouterHook3["UseFetcher"] = "useFetcher";
})(DataRouterHook2 || (DataRouterHook2 = {}));
var DataRouterStateHook2;
(function(DataRouterStateHook3) {
  DataRouterStateHook3["UseFetchers"] = "useFetchers";
  DataRouterStateHook3["UseScrollRestoration"] = "useScrollRestoration";
})(DataRouterStateHook2 || (DataRouterStateHook2 = {}));
function useDataRouterContext2(hookName) {
  let ctx = React97.useContext(DataRouterContext);
  !ctx ? false ? invariant2(false, getDataRouterConsoleError(hookName)) : invariant2(false) : void 0;
  return ctx;
}
__name(useDataRouterContext2, "useDataRouterContext");
function useLinkClickHandler(to, _temp) {
  let {
    target,
    replace: replaceProp,
    state: state3,
    preventScrollReset,
    relative
  } = _temp === void 0 ? {} : _temp;
  let navigate = useNavigate();
  let location3 = useLocation();
  let path = useResolvedPath(to, {
    relative
  });
  return React97.useCallback((event) => {
    if (shouldProcessLinkClick(event, target)) {
      event.preventDefault();
      let replace2 = replaceProp !== void 0 ? replaceProp : createPath(location3) === createPath(path);
      navigate(to, {
        replace: replace2,
        state: state3,
        preventScrollReset,
        relative
      });
    }
  }, [location3, navigate, path, replaceProp, state3, target, to, preventScrollReset, relative]);
}
__name(useLinkClickHandler, "useLinkClickHandler");
function validateClientSideSubmission() {
  if (typeof document === "undefined") {
    throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.");
  }
}
__name(validateClientSideSubmission, "validateClientSideSubmission");
function useSubmit() {
  let {
    router
  } = useDataRouterContext2(DataRouterHook2.UseSubmit);
  let {
    basename
  } = React97.useContext(NavigationContext);
  let currentRouteId = useRouteId();
  return React97.useCallback(function(target, options) {
    if (options === void 0) {
      options = {};
    }
    validateClientSideSubmission();
    let {
      action: action2,
      method,
      encType,
      formData,
      body
    } = getFormSubmissionInfo(target, basename);
    router.navigate(options.action || action2, {
      preventScrollReset: options.preventScrollReset,
      formData,
      body,
      formMethod: options.method || method,
      formEncType: options.encType || encType,
      replace: options.replace,
      state: options.state,
      fromRouteId: currentRouteId
    });
  }, [router, basename, currentRouteId]);
}
__name(useSubmit, "useSubmit");
function useFormAction(action2, _temp2) {
  let {
    relative
  } = _temp2 === void 0 ? {} : _temp2;
  let {
    basename
  } = React97.useContext(NavigationContext);
  let routeContext = React97.useContext(RouteContext);
  !routeContext ? false ? invariant2(false, "useFormAction must be used inside a RouteContext") : invariant2(false) : void 0;
  let [match3] = routeContext.matches.slice(-1);
  let path = _extends4({}, useResolvedPath(action2 ? action2 : ".", {
    relative
  }));
  let location3 = useLocation();
  if (action2 == null) {
    path.search = location3.search;
    if (match3.route.index) {
      let params = new URLSearchParams(path.search);
      params.delete("index");
      path.search = params.toString() ? "?" + params.toString() : "";
    }
  }
  if ((!action2 || action2 === ".") && match3.route.index) {
    path.search = path.search ? path.search.replace(/^\?/, "?index&") : "?index";
  }
  if (basename !== "/") {
    path.pathname = path.pathname === "/" ? basename : joinPaths([basename, path.pathname]);
  }
  return createPath(path);
}
__name(useFormAction, "useFormAction");

// src/router/router.tsx
var { document: document10 } = scope;
var getBase = /* @__PURE__ */ __name(() => `${document10.location.pathname}?`, "getBase");
var useNavigate2 = /* @__PURE__ */ __name(() => {
  const navigate = useNavigate();
  return (0, import_react62.useCallback)((to, { plain, ...options } = {}) => {
    if (typeof to === "string" && to.startsWith("#")) {
      if (to === "#") {
        navigate(document10.location.search);
      } else {
        document10.location.hash = to;
      }
      return void 0;
    }
    if (typeof to === "string") {
      const target = plain ? to : `?path=${to}`;
      return navigate(target, options);
    }
    if (typeof to === "number") {
      return navigate(to);
    }
    return void 0;
  }, []);
}, "useNavigate");
var Link4 = /* @__PURE__ */ __name(({ to, children, ...rest }) => import_react62.default.createElement(Link3, { to: `${getBase()}path=${to}`, ...rest }, children), "Link");
Link4.displayName = "QueryLink";
var Location = /* @__PURE__ */ __name(({ children }) => {
  const location3 = useLocation();
  const { path, singleStory } = queryFromLocation(location3);
  const { viewMode, storyId, refId } = parsePath2(path);
  return import_react62.default.createElement(import_react62.default.Fragment, null, children({
    path: path || "/",
    location: location3,
    viewMode,
    storyId,
    refId,
    singleStory: singleStory === "true"
  }));
}, "Location");
Location.displayName = "QueryLocation";
function Match({
  children,
  path: targetPath,
  startsWith = false
}) {
  return import_react62.default.createElement(Location, null, ({ path: urlPath, ...rest }) => children({
    match: getMatch(urlPath, targetPath, startsWith),
    ...rest
  }));
}
__name(Match, "Match");
Match.displayName = "QueryMatch";
function Route2(input2) {
  const { children, ...rest } = input2;
  if (rest.startsWith === void 0) {
    rest.startsWith = false;
  }
  const matchProps = rest;
  return import_react62.default.createElement(Match, { ...matchProps }, ({ match: match3 }) => match3 ? children : null);
}
__name(Route2, "Route");
Route2.displayName = "Route";
var LocationProvider = /* @__PURE__ */ __name((...args) => BrowserRouter(...args), "LocationProvider");
var BaseLocationProvider = /* @__PURE__ */ __name((...args) => Router(...args), "BaseLocationProvider");

// src/types/index.ts
var types_exports = {};
__export(types_exports, {
  Addon_TypesEnum: () => Addon_TypesEnum
});

// src/types/modules/addons.ts
var Addon_TypesEnum = /* @__PURE__ */ ((Addon_TypesEnum2) => {
  Addon_TypesEnum2["TAB"] = "tab";
  Addon_TypesEnum2["PANEL"] = "panel";
  Addon_TypesEnum2["TOOL"] = "tool";
  Addon_TypesEnum2["TOOLEXTRA"] = "toolextra";
  Addon_TypesEnum2["PREVIEW"] = "preview";
  Addon_TypesEnum2["experimental_PAGE"] = "page";
  Addon_TypesEnum2["experimental_TEST_PROVIDER"] = "test-provider";
  return Addon_TypesEnum2;
})(Addon_TypesEnum || {});

// src/manager-api/index.ts
var manager_api_exports = {};
__export(manager_api_exports, {
  ActiveTabs: () => ActiveTabs2,
  Consumer: () => ManagerConsumer,
  ManagerContext: () => ManagerContext,
  Provider: () => ManagerProvider,
  RequestResponseError: () => RequestResponseError,
  addons: () => addons3,
  combineParameters: () => combineParameters2,
  controlOrMetaKey: () => controlOrMetaKey,
  controlOrMetaSymbol: () => controlOrMetaSymbol,
  eventMatchesShortcut: () => eventMatchesShortcut,
  eventToShortcut: () => eventToShortcut,
  experimental_MockUniversalStore: () => MockUniversalStore,
  experimental_UniversalStore: () => UniversalStore,
  experimental_getStatusStore: () => getStatusStoreByTypeId,
  experimental_getTestProviderStore: () => getTestProviderStoreById,
  experimental_requestResponse: () => experimental_requestResponse,
  experimental_useStatusStore: () => useStatusStore,
  experimental_useTestProviderStore: () => useTestProviderStore,
  experimental_useUniversalStore: () => useUniversalStore,
  internal_fullStatusStore: () => fullStatusStore,
  internal_fullTestProviderStore: () => fullTestProviderStore,
  internal_universalStatusStore: () => universalStatusStore,
  internal_universalTestProviderStore: () => universalTestProviderStore,
  isMacLike: () => isMacLike,
  isShortcutTaken: () => isShortcutTaken,
  keyToSymbol: () => keyToSymbol,
  merge: () => merge_default,
  mockChannel: () => mockChannel2,
  optionOrAltSymbol: () => optionOrAltSymbol,
  shortcutMatchesShortcut: () => shortcutMatchesShortcut,
  shortcutToHumanString: () => shortcutToHumanString,
  types: () => typesX,
  useAddonState: () => useAddonState,
  useArgTypes: () => useArgTypes,
  useArgs: () => useArgs2,
  useChannel: () => useChannel2,
  useGlobalTypes: () => useGlobalTypes,
  useGlobals: () => useGlobals2,
  useParameter: () => useParameter2,
  useSharedState: () => useSharedState,
  useStoryPrepared: () => useStoryPrepared,
  useStorybookApi: () => useStorybookApi,
  useStorybookState: () => useStorybookState
});

// src/manager-api/root.tsx
var import_react66 = __toESM(require_react(), 1);

// src/manager-api/context.ts
var import_react63 = __toESM(require_react(), 1);
var createContext8 = /* @__PURE__ */ __name(({ api, state: state3 }) => (0, import_react63.createContext)({ api, state: state3 }), "createContext");

// src/manager-api/lib/merge.ts
init_client_logger();
var merge_default = /* @__PURE__ */ __name((a2, ...b) => {
  let target = {};
  target = mergeWith(
    {},
    a2,
    (objValue, srcValue) => {
      if (Array.isArray(srcValue) && Array.isArray(objValue)) {
        srcValue.forEach((s3) => {
          const existing = objValue.find((o2) => o2 === s3 || isEqual3(o2, s3));
          if (!existing) {
            objValue.push(s3);
          }
        });
        return objValue;
      }
      if (Array.isArray(objValue)) {
        logger.log(["the types mismatch, picking", objValue]);
        return objValue;
      }
    }
  );
  for (const obj of b) {
    target = mergeWith(target, obj, (objValue, srcValue) => {
      if (Array.isArray(srcValue) && Array.isArray(objValue)) {
        srcValue.forEach((s3) => {
          const existing = objValue.find((o2) => o2 === s3 || isEqual3(o2, s3));
          if (!existing) {
            objValue.push(s3);
          }
        });
        return objValue;
      }
      if (Array.isArray(objValue)) {
        logger.log(["the types mismatch, picking", objValue]);
        return objValue;
      }
    });
  }
  return target;
}, "default");
var noArrayMerge = /* @__PURE__ */ __name((a2, ...b) => {
  let target = {};
  target = mergeWith(
    {},
    a2,
    (objValue, srcValue) => {
      if (Array.isArray(srcValue)) {
        return srcValue;
      }
    }
  );
  for (const obj of b) {
    target = mergeWith(target, obj, (objValue, srcValue) => {
      if (Array.isArray(srcValue)) {
        return srcValue;
      }
    });
  }
  return target;
}, "noArrayMerge");

// src/manager-api/initial-state.ts
var main2 = /* @__PURE__ */ __name((...additions) => additions.reduce((acc, item) => merge_default(acc, item), {}), "main");
var initial_state_default = main2;

// src/manager-api/lib/addons.ts
init_client_logger();
init_dist();

// src/manager-api/lib/storybook-channel-mock.ts
function mockChannel2() {
  const transport = {
    setHandler: /* @__PURE__ */ __name(() => {
    }, "setHandler"),
    send: /* @__PURE__ */ __name(() => {
    }, "send")
  };
  return new Channel({ transport });
}
__name(mockChannel2, "mockChannel");

// src/manager-api/lib/addons.ts
var _AddonStore2 = class _AddonStore2 {
  constructor() {
    this.loaders = {};
    this.elements = {};
    this.config = {};
    this.getChannel = /* @__PURE__ */ __name(() => {
      if (!this.channel) {
        this.setChannel(mockChannel2());
      }
      return this.channel;
    }, "getChannel");
    this.ready = /* @__PURE__ */ __name(() => this.promise, "ready");
    this.hasChannel = /* @__PURE__ */ __name(() => !!this.channel, "hasChannel");
    this.setChannel = /* @__PURE__ */ __name((channel) => {
      this.channel = channel;
      this.resolve();
    }, "setChannel");
    this.setConfig = /* @__PURE__ */ __name((value) => {
      Object.assign(this.config, value);
      if (this.hasChannel()) {
        this.getChannel().emit(SET_CONFIG, this.config);
      } else {
        this.ready().then((channel) => {
          channel.emit(SET_CONFIG, this.config);
        });
      }
    }, "setConfig");
    this.getConfig = /* @__PURE__ */ __name(() => this.config, "getConfig");
    /**
     * Registers an addon loader function.
     *
     * @param {string} id - The id of the addon loader.
     * @param {(api: API) => void} callback - The function that will be called to register the addon.
     * @returns {void}
     */
    this.register = /* @__PURE__ */ __name((id, callback) => {
      if (this.loaders[id]) {
        logger.warn(`${id} was loaded twice, this could have bad side-effects`);
      }
      this.loaders[id] = callback;
    }, "register");
    this.loadAddons = /* @__PURE__ */ __name((api) => {
      Object.values(this.loaders).forEach((value) => value(api));
    }, "loadAddons");
    this.promise = new Promise((res) => {
      this.resolve = () => res(this.getChannel());
    });
  }
  getElements(type5) {
    if (!this.elements[type5]) {
      this.elements[type5] = {};
    }
    return this.elements[type5];
  }
  /**
   * Adds an addon to the addon store.
   *
   * @param {string} id - The id of the addon.
   * @param {Addon_Type} addon - The addon to add.
   * @returns {void}
   */
  add(id, addon) {
    const { type: type5 } = addon;
    const collection = this.getElements(type5);
    collection[id] = { ...addon, id };
  }
  experimental_getRegisteredAddons() {
    return Object.keys(this.loaders);
  }
};
__name(_AddonStore2, "AddonStore");
var AddonStore2 = _AddonStore2;
var KEY3 = "__STORYBOOK_ADDONS_MANAGER";
function getAddonsStore2() {
  if (!scope[KEY3]) {
    scope[KEY3] = new AddonStore2();
  }
  return scope[KEY3];
}
__name(getAddonsStore2, "getAddonsStore");
var addons3 = getAddonsStore2();

// src/manager-api/modules/addons.ts
var addons_exports = {};
__export(addons_exports, {
  ensurePanel: () => ensurePanel,
  init: () => init2
});
function ensurePanel(panels, selectedPanel, currentPanel) {
  const keys3 = Object.keys(panels);
  if (keys3.indexOf(selectedPanel) >= 0) {
    return selectedPanel;
  }
  if (keys3.length) {
    return keys3[0];
  }
  return currentPanel;
}
__name(ensurePanel, "ensurePanel");
var init2 = /* @__PURE__ */ __name(({ provider, store: store2, fullAPI }) => {
  const api = {
    getElements: /* @__PURE__ */ __name((type5) => provider.getElements(type5), "getElements"),
    getSelectedPanel: /* @__PURE__ */ __name(() => {
      const { selectedPanel } = store2.getState();
      return ensurePanel(api.getElements("panel" /* PANEL */), selectedPanel, selectedPanel);
    }, "getSelectedPanel"),
    setSelectedPanel: /* @__PURE__ */ __name((panelName) => {
      store2.setState({ selectedPanel: panelName }, { persistence: "session" });
    }, "setSelectedPanel"),
    setAddonState(addonId, newStateOrMerger, options) {
      const merger = typeof newStateOrMerger === "function" ? newStateOrMerger : () => newStateOrMerger;
      return store2.setState(
        (s3) => ({ ...s3, addons: { ...s3.addons, [addonId]: merger(s3.addons[addonId]) } }),
        options
      ).then(() => api.getAddonState(addonId));
    },
    getAddonState: /* @__PURE__ */ __name((addonId) => {
      return store2.getState().addons[addonId] || globalThis?.STORYBOOK_ADDON_STATE[addonId];
    }, "getAddonState")
  };
  return {
    api,
    state: {
      selectedPanel: ensurePanel(
        api.getElements("panel" /* PANEL */),
        store2.getState().selectedPanel
      ),
      addons: {}
    }
  };
}, "init");

// src/manager-api/modules/channel.ts
var channel_exports = {};
__export(channel_exports, {
  init: () => init3
});
var init3 = /* @__PURE__ */ __name(({ provider }) => {
  const api = {
    getChannel: /* @__PURE__ */ __name(() => provider.channel, "getChannel"),
    on: /* @__PURE__ */ __name((type5, handler) => {
      provider.channel?.on(type5, handler);
      return () => provider.channel?.off(type5, handler);
    }, "on"),
    off: /* @__PURE__ */ __name((type5, handler) => provider.channel?.off(type5, handler), "off"),
    once: /* @__PURE__ */ __name((type5, handler) => provider.channel?.once(type5, handler), "once"),
    emit: /* @__PURE__ */ __name((type5, data, ...args) => {
      if (data?.options?.target && data.options.target !== "storybook-preview-iframe" && !data.options.target.startsWith("storybook-ref-")) {
        data.options.target = data.options.target !== "storybook_internal" ? `storybook-ref-${data.options.target}` : "storybook-preview-iframe";
      }
      provider.channel?.emit(type5, data, ...args);
    }, "emit")
  };
  return { api, state: {} };
}, "init");

// src/manager-api/modules/globals.ts
var globals_exports = {};
__export(globals_exports, {
  init: () => init5
});
init_client_logger();

// ../node_modules/dequal/dist/index.mjs
var has = Object.prototype.hasOwnProperty;
function find(iter, tar, key) {
  for (key of iter.keys()) {
    if (dequal(key, tar)) return key;
  }
}
__name(find, "find");
function dequal(foo, bar) {
  var ctor, len, tmp;
  if (foo === bar) return true;
  if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
    if (ctor === Date) return foo.getTime() === bar.getTime();
    if (ctor === RegExp) return foo.toString() === bar.toString();
    if (ctor === Array) {
      if ((len = foo.length) === bar.length) {
        while (len-- && dequal(foo[len], bar[len])) ;
      }
      return len === -1;
    }
    if (ctor === Set) {
      if (foo.size !== bar.size) {
        return false;
      }
      for (len of foo) {
        tmp = len;
        if (tmp && typeof tmp === "object") {
          tmp = find(bar, tmp);
          if (!tmp) return false;
        }
        if (!bar.has(tmp)) return false;
      }
      return true;
    }
    if (ctor === Map) {
      if (foo.size !== bar.size) {
        return false;
      }
      for (len of foo) {
        tmp = len[0];
        if (tmp && typeof tmp === "object") {
          tmp = find(bar, tmp);
          if (!tmp) return false;
        }
        if (!dequal(len[1], bar.get(tmp))) {
          return false;
        }
      }
      return true;
    }
    if (ctor === ArrayBuffer) {
      foo = new Uint8Array(foo);
      bar = new Uint8Array(bar);
    } else if (ctor === DataView) {
      if ((len = foo.byteLength) === bar.byteLength) {
        while (len-- && foo.getInt8(len) === bar.getInt8(len)) ;
      }
      return len === -1;
    }
    if (ArrayBuffer.isView(foo)) {
      if ((len = foo.byteLength) === bar.byteLength) {
        while (len-- && foo[len] === bar[len]) ;
      }
      return len === -1;
    }
    if (!ctor || typeof foo === "object") {
      len = 0;
      for (ctor in foo) {
        if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
        if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;
      }
      return Object.keys(bar).length === len;
    }
  }
  return foo !== foo && bar !== bar;
}
__name(dequal, "dequal");

// src/manager-api/lib/events.ts
init_client_logger();

// src/manager-api/modules/refs.ts
var refs_exports = {};
__export(refs_exports, {
  defaultStoryMapper: () => defaultStoryMapper,
  getSourceType: () => getSourceType,
  init: () => init4
});
init_dist();
init_esm();

// ../node_modules/es-toolkit/dist/array/countBy.mjs
function countBy(arr, mapper) {
  const result = {};
  for (let i2 = 0; i2 < arr.length; i2++) {
    const item = arr[i2];
    const key = mapper(item);
    result[key] = (result[key] ?? 0) + 1;
  }
  return result;
}
__name(countBy, "countBy");

// ../node_modules/es-toolkit/dist/array/partition.mjs
function partition(arr, isInTruthy) {
  const truthy = [];
  const falsy = [];
  for (let i2 = 0; i2 < arr.length; i2++) {
    const item = arr[i2];
    if (isInTruthy(item)) {
      truthy.push(item);
    } else {
      falsy.push(item);
    }
  }
  return [truthy, falsy];
}
__name(partition, "partition");

// src/manager-api/lib/stories.ts
var import_memoizerific9 = __toESM(require_memoizerific(), 1);
init_esm();

// src/manager-api/lib/intersect.ts
var intersect_default = /* @__PURE__ */ __name((a2, b) => {
  if (!Array.isArray(a2) || !Array.isArray(b) || !a2.length || !b.length) {
    return [];
  }
  return a2.reduce((acc, aValue) => {
    if (b.includes(aValue)) {
      acc.push(aValue);
    }
    return acc;
  }, []);
}, "default");

// src/manager-api/lib/stories.ts
var TITLE_PATH_SEPARATOR = /\s*\/\s*/;
var denormalizeStoryParameters = /* @__PURE__ */ __name(({
  globalParameters,
  kindParameters,
  stories
}) => {
  return mapValues(stories, (storyData) => ({
    ...storyData,
    parameters: combineParameters2(
      globalParameters,
      kindParameters[storyData.kind],
      storyData.parameters
    )
  }));
}, "denormalizeStoryParameters");
var transformSetStoriesStoryDataToPreparedStoryIndex = /* @__PURE__ */ __name((stories) => {
  const entries = Object.entries(stories).reduce(
    (acc, [id, story]) => {
      if (!story) {
        return acc;
      }
      const { docsOnly, fileName, ...parameters2 } = story.parameters;
      const base = {
        title: story.kind,
        id,
        name: story.name,
        importPath: fileName
      };
      if (docsOnly) {
        acc[id] = {
          type: "docs",
          tags: ["stories-mdx"],
          storiesImports: [],
          ...base
        };
      } else {
        const { argTypes, args, initialArgs } = story;
        acc[id] = {
          type: "story",
          subtype: "story",
          ...base,
          parameters: parameters2,
          argTypes,
          args,
          initialArgs
        };
      }
      return acc;
    },
    {}
  );
  return { v: 5, entries };
}, "transformSetStoriesStoryDataToPreparedStoryIndex");
var transformStoryIndexV2toV3 = /* @__PURE__ */ __name((index4) => {
  return {
    v: 3,
    stories: Object.values(index4.stories).reduce(
      (acc, entry) => {
        acc[entry.id] = {
          ...entry,
          title: entry.kind,
          name: entry.name || entry.story,
          importPath: entry.parameters.fileName || ""
        };
        return acc;
      },
      {}
    )
  };
}, "transformStoryIndexV2toV3");
var transformStoryIndexV3toV4 = /* @__PURE__ */ __name((index4) => {
  const countByTitle = countBy(Object.values(index4.stories), (item) => item.title);
  return {
    v: 4,
    entries: Object.values(index4.stories).reduce(
      (acc, entry) => {
        let type5 = "story";
        if (entry.parameters?.docsOnly || entry.name === "Page" && countByTitle[entry.title] === 1) {
          type5 = "docs";
        }
        acc[entry.id] = {
          type: type5,
          ...type5 === "docs" && { tags: ["stories-mdx"], storiesImports: [] },
          ...entry
        };
        delete acc[entry.id].story;
        delete acc[entry.id].kind;
        return acc;
      },
      {}
    )
  };
}, "transformStoryIndexV3toV4");
var transformStoryIndexV4toV5 = /* @__PURE__ */ __name((index4) => {
  return {
    v: 5,
    entries: Object.values(index4.entries).reduce(
      (acc, entry) => {
        acc[entry.id] = {
          ...entry,
          tags: entry.tags ? ["dev", "test", ...entry.tags] : ["dev"]
        };
        return acc;
      },
      {}
    )
  };
}, "transformStoryIndexV4toV5");
var transformStoryIndexToStoriesHash = /* @__PURE__ */ __name((input2, { provider, docsOptions, filters, allStatuses }) => {
  if (!input2.v) {
    throw new Error("Composition: Missing stories.json version");
  }
  let index4 = input2;
  index4 = index4.v === 2 ? transformStoryIndexV2toV3(index4) : index4;
  index4 = index4.v === 3 ? transformStoryIndexV3toV4(index4) : index4;
  index4 = index4.v === 4 ? transformStoryIndexV4toV5(index4) : index4;
  index4 = index4;
  const indexEntries = Object.values(index4.entries);
  const filterFunctions = Object.values(filters);
  const entryValues = indexEntries.filter((entry) => {
    const statuses = allStatuses[entry.id] ?? {};
    if (Object.values(statuses).some(({ value }) => value === "status-value:error")) {
      return true;
    }
    if (filterFunctions.every((fn4) => fn4({ ...entry, statuses }))) {
      return true;
    }
    const children = indexEntries.filter((item) => "parent" in item && item.parent === entry.id);
    return children.some((child) => filterFunctions.every((fn4) => fn4({ ...child, statuses })));
  });
  const { sidebar = {} } = provider.getConfig();
  const { showRoots, collapsedRoots = [], renderLabel } = sidebar;
  const setShowRoots = typeof showRoots !== "undefined";
  const storiesHashOutOfOrder = entryValues.reduce((acc, item) => {
    if (docsOptions.docsMode && item.type !== "docs") {
      return acc;
    }
    const { title } = item;
    const groups = title.trim().split(TITLE_PATH_SEPARATOR);
    const root2 = (!setShowRoots || showRoots) && groups.length > 1 ? [groups.shift()] : [];
    const names = [...root2, ...groups];
    const paths = names.reduce((list, name, idx) => {
      const parent = idx > 0 && list[idx - 1];
      const id = sanitize(parent ? `${parent}-${name}` : name);
      if (name.trim() === "") {
        throw new Error(dedent`Invalid title ${title} ending in slash.`);
      }
      if (parent === id) {
        throw new Error(
          dedent`
          Invalid part '${name}', leading to id === parentId ('${id}'), inside title '${title}'

          Did you create a path that uses the separator char accidentally, such as 'Vue <docs/>' where '/' is a separator char? See https://github.com/storybookjs/storybook/issues/6128
          `
        );
      }
      list.push(id);
      return list;
    }, []);
    paths.forEach((id, idx) => {
      const childId = paths[idx + 1] || item.id;
      if (root2.length && idx === 0) {
        acc[id] = merge_default(acc[id] || {}, {
          type: "root",
          id,
          name: names[idx],
          tags: [],
          depth: idx,
          renderLabel,
          startCollapsed: collapsedRoots.includes(id),
          // Note that this will later get appended to the previous list of children (see below)
          children: [childId]
        });
      } else if ((!acc[id] || acc[id].type === "component") && idx === paths.length - 1) {
        acc[id] = merge_default(acc[id] || {}, {
          type: "component",
          id,
          name: names[idx],
          tags: [],
          parent: paths[idx - 1],
          depth: idx,
          renderLabel,
          ...childId && {
            children: [childId]
          }
        });
      } else {
        acc[id] = merge_default(acc[id] || {}, {
          type: "group",
          id,
          name: names[idx],
          tags: [],
          parent: paths[idx - 1],
          depth: idx,
          renderLabel,
          ...childId && {
            children: [childId]
          }
        });
      }
    });
    acc[item.id] = {
      tags: [],
      ...item,
      depth: paths.length,
      parent: "parent" in item ? item.parent : paths[paths.length - 1],
      renderLabel,
      prepared: !!item.parameters
    };
    return acc;
  }, {});
  function addItem(acc, item) {
    if (!acc[item.id]) {
      acc[item.id] = item;
      if ("children" in item && item.children) {
        item.children.forEach((childId) => addItem(acc, storiesHashOutOfOrder[childId]));
        item.tags = item.children.reduce((currentTags, childId) => {
          return currentTags === null ? acc[childId].tags : intersect_default(currentTags, acc[childId].tags);
        }, null) || [];
      }
    }
    if (item.type === "component") {
      const firstChild = acc[item.children[0]];
      if (firstChild && "importPath" in firstChild) {
        item.importPath = firstChild.importPath;
      }
    }
    return acc;
  }
  __name(addItem, "addItem");
  let storiesHash = Object.values(storiesHashOutOfOrder).filter((i2) => i2.type !== "root" && !i2.parent).reduce((acc, item) => addItem(acc, item), {});
  storiesHash = Object.values(storiesHashOutOfOrder).filter((i2) => i2.type === "root").reduce(addItem, storiesHash);
  storiesHash = Object.values(storiesHash).reduce((acc, item) => {
    if (item.type === "story" && item.subtype === "test") {
      const story = acc[item.parent];
      const component = acc[story.parent];
      acc[component.id] = {
        ...component,
        // Remove test from the component node as it will be attached to the story node instead
        children: component.children && component.children.filter((id) => id !== item.id)
      };
      acc[story.id] = {
        ...story,
        // Add test to the story node
        children: (story.children || []).concat(item.id)
      };
      acc[item.id] = {
        ...item,
        depth: item.depth + 1
      };
    } else {
      acc[item.id] = item;
    }
    return acc;
  }, {});
  return storiesHash;
}, "transformStoryIndexToStoriesHash");
var addPreparedStories = /* @__PURE__ */ __name((newHash, oldHash) => {
  if (!oldHash) {
    return newHash;
  }
  return Object.fromEntries(
    Object.entries(newHash).map(([id, newEntry]) => {
      const oldEntry = oldHash[id];
      if (newEntry.type === "story" && oldEntry?.type === "story" && oldEntry.prepared) {
        if ("children" in oldEntry) {
          delete oldEntry.children;
        }
        return [id, { ...oldEntry, ...newEntry, prepared: true }];
      }
      return [id, newEntry];
    })
  );
}, "addPreparedStories");
var getComponentLookupList = (0, import_memoizerific9.default)(1)((hash4) => {
  return Object.entries(hash4).reduce((acc, i2) => {
    const value = i2[1];
    if (value.type === "component") {
      acc.push([...value.children]);
    }
    return acc;
  }, []);
});
var getStoriesLookupList = (0, import_memoizerific9.default)(1)((hash4) => {
  return Object.keys(hash4).filter((k) => ["story", "docs"].includes(hash4[k].type));
});

// src/manager-api/modules/refs.ts
var { location: location2, fetch: fetch2 } = scope;
var getSourceType = /* @__PURE__ */ __name((source, refId) => {
  const { origin: localOrigin, pathname: localPathname } = location2;
  const { origin: sourceOrigin, pathname: sourcePathname } = new URL(source);
  const localFull = `${localOrigin + localPathname}`.replace("/iframe.html", "").replace(/\/$/, "");
  const sourceFull = `${sourceOrigin + sourcePathname}`.replace("/iframe.html", "").replace(/\/$/, "");
  if (localFull === sourceFull) {
    return ["local", sourceFull];
  }
  if (refId || source) {
    return ["external", sourceFull];
  }
  return [null, null];
}, "getSourceType");
var defaultStoryMapper = /* @__PURE__ */ __name((b, a2) => {
  return { ...a2, kind: a2.kind.replace("|", "/") };
}, "defaultStoryMapper");
var addRefIds = /* @__PURE__ */ __name((input2, ref) => {
  return Object.entries(input2).reduce((acc, [id, item]) => {
    return { ...acc, [id]: { ...item, refId: ref.id } };
  }, {});
}, "addRefIds");
async function handleRequest(request) {
  if (!request) {
    return {};
  }
  try {
    const response = await request;
    if (response === false || response === true) {
      throw new Error("Unexpected boolean response");
    }
    if (!response.ok) {
      throw new Error(`Unexpected response not OK: ${response.statusText}`);
    }
    const json3 = await response.json();
    if (json3.entries || json3.stories) {
      return { storyIndex: json3 };
    }
    return json3;
  } catch (err) {
    return { indexError: err };
  }
}
__name(handleRequest, "handleRequest");
var parseUrl = /* @__PURE__ */ __name((url) => {
  const credentialsRegex = /https?:\/\/(.+:.+)@/;
  let cleanUrl = url;
  let authorization;
  const [, credentials] = url.match(credentialsRegex) || [];
  if (credentials) {
    cleanUrl = url.replace(`${credentials}@`, "");
    authorization = btoa(`${credentials}`);
  }
  return {
    url: cleanUrl,
    authorization
  };
}, "parseUrl");
var map = /* @__PURE__ */ __name((input2, ref, options) => {
  const { storyMapper } = options;
  if (storyMapper) {
    return Object.entries(input2).reduce((acc, [id, item]) => {
      return { ...acc, [id]: storyMapper(ref, item) };
    }, {});
  }
  return input2;
}, "map");
var init4 = /* @__PURE__ */ __name(({ store: store2, provider, singleStory, docsOptions = {} }, { runCheck = true } = {}) => {
  const api = {
    findRef: /* @__PURE__ */ __name((source) => {
      const refs2 = api.getRefs();
      return Object.values(refs2).find(({ url }) => url.match(source));
    }, "findRef"),
    changeRefVersion: /* @__PURE__ */ __name(async (id, url) => {
      const { versions, title } = api.getRefs()[id];
      const ref = {
        id,
        url,
        versions,
        title,
        index: {},
        filteredIndex: {},
        expanded: true
      };
      await api.setRef(id, { ...ref, type: "unknown" }, false);
      await api.checkRef(ref);
    }, "changeRefVersion"),
    changeRefState: /* @__PURE__ */ __name((id, previewInitialized) => {
      const { [id]: ref, ...updated } = api.getRefs();
      updated[id] = { ...ref, previewInitialized };
      store2.setState({
        refs: updated
      });
    }, "changeRefState"),
    checkRef: /* @__PURE__ */ __name(async (ref) => {
      const { id, url, version: version2, type: type5 } = ref;
      const isPublic = type5 === "server-checked";
      const loadedData = {};
      const query = version2 ? `?version=${version2}` : "";
      const credentials = isPublic ? "omit" : "include";
      const urlParseResult = parseUrl(url);
      const headers = {
        Accept: "application/json"
      };
      if (urlParseResult.authorization) {
        Object.assign(headers, {
          Authorization: `Basic ${urlParseResult.authorization}`
        });
      }
      const [indexResult, storiesResult] = await Promise.all(
        ["index.json", "stories.json"].map(
          async (file) => handleRequest(
            fetch2(`${urlParseResult.url}/${file}${query}`, {
              headers,
              credentials
            })
          )
        )
      );
      if (!indexResult.indexError || !storiesResult.indexError) {
        const metadata = await handleRequest(
          fetch2(`${urlParseResult.url}/metadata.json${query}`, {
            headers,
            credentials,
            cache: "no-cache"
          }).catch(() => false)
        );
        Object.assign(loadedData, {
          ...indexResult.indexError ? storiesResult : indexResult,
          ...!metadata.indexError && metadata
        });
      } else if (!isPublic) {
        loadedData.indexError = {
          message: dedent`
            Error: Loading of ref failed
              at fetch (lib/api/src/modules/refs.ts)

            URL: ${urlParseResult.url}

            We weren't able to load the above URL,
            it's possible a CORS error happened.

            Please check your dev-tools network tab.
          `
        };
      }
      const versions = ref.versions && Object.keys(ref.versions).length ? ref.versions : loadedData.versions;
      await api.setRef(id, {
        id,
        url: urlParseResult.url,
        ...loadedData,
        ...versions ? { versions } : {},
        type: !loadedData.storyIndex ? "auto-inject" : "lazy"
      });
    }, "checkRef"),
    getRefs: /* @__PURE__ */ __name(() => {
      const { refs: refs2 = {} } = store2.getState();
      return refs2;
    }, "getRefs"),
    setRef: /* @__PURE__ */ __name(async (id, { storyIndex, setStoriesData, ...rest }, ready = false) => {
      if (singleStory) {
        return;
      }
      let internal_index;
      let index4;
      let filteredIndex;
      const { filters } = store2.getState();
      const { storyMapper = defaultStoryMapper } = provider.getConfig();
      const ref = api.getRefs()[id];
      if (storyIndex || setStoriesData) {
        internal_index = setStoriesData ? transformSetStoriesStoryDataToPreparedStoryIndex(
          map(setStoriesData, ref, { storyMapper })
        ) : storyIndex;
        filteredIndex = transformStoryIndexToStoriesHash(storyIndex, {
          provider,
          docsOptions,
          filters,
          allStatuses: {}
        });
        index4 = transformStoryIndexToStoriesHash(storyIndex, {
          provider,
          docsOptions,
          filters: {},
          allStatuses: {}
        });
      }
      if (index4) {
        index4 = addRefIds(index4, ref);
      }
      if (filteredIndex) {
        filteredIndex = addRefIds(filteredIndex, ref);
      }
      await api.updateRef(id, { ...ref, ...rest, index: index4, filteredIndex, internal_index });
    }, "setRef"),
    updateRef: /* @__PURE__ */ __name(async (id, data) => {
      const { [id]: ref, ...updated } = api.getRefs();
      updated[id] = { ...ref, ...data };
      const ordered = Object.keys(initialState).reduce((obj, key) => {
        obj[key] = updated[key];
        return obj;
      }, {});
      await store2.setState({
        refs: ordered
      });
    }, "updateRef")
  };
  const refs = !singleStory && scope.REFS || {};
  const initialState = refs;
  if (runCheck) {
    new Promise(async (resolve) => {
      for (const ref of Object.values(refs)) {
        await api.checkRef({ ...ref, stories: {} });
      }
      resolve(void 0);
    });
  }
  return {
    api,
    state: {
      refs: initialState
    }
  };
}, "init");

// src/manager-api/lib/events.ts
var getEventMetadata = /* @__PURE__ */ __name((context, fullAPI) => {
  const { source, refId, type: type5 } = context;
  const [sourceType, sourceLocation] = getSourceType(source, refId);
  let ref;
  if (refId || sourceType === "external") {
    ref = refId && fullAPI.getRefs()[refId] ? fullAPI.getRefs()[refId] : fullAPI.findRef(sourceLocation);
  }
  const meta = {
    source,
    sourceType,
    sourceLocation,
    refId,
    ref,
    type: type5
  };
  switch (true) {
    case typeof refId === "string":
    case sourceType === "local":
    case sourceType === "external": {
      return meta;
    }
    // if we couldn't find the source, something risky happened, we ignore the input, and log a warning
    default: {
      logger.warn(`Received a ${type5} frame that was not configured as a ref`);
      return null;
    }
  }
}, "getEventMetadata");

// src/manager-api/modules/globals.ts
var init5 = /* @__PURE__ */ __name(({ store: store2, fullAPI, provider }) => {
  const api = {
    getGlobals() {
      return store2.getState().globals;
    },
    getUserGlobals() {
      return store2.getState().userGlobals;
    },
    getStoryGlobals() {
      return store2.getState().storyGlobals;
    },
    getGlobalTypes() {
      return store2.getState().globalTypes;
    },
    updateGlobals(newGlobals) {
      provider.channel?.emit(UPDATE_GLOBALS, {
        globals: newGlobals,
        options: {
          target: "storybook-preview-iframe"
        }
      });
    }
  };
  const state3 = {
    globals: {},
    userGlobals: {},
    storyGlobals: {},
    globalTypes: {}
  };
  const updateGlobals = /* @__PURE__ */ __name(({
    globals,
    storyGlobals,
    userGlobals
  }) => {
    const {
      globals: currentGlobals,
      userGlobals: currentUserGlobals,
      storyGlobals: currentStoryGlobals
    } = store2.getState();
    if (!dequal(globals, currentGlobals)) {
      store2.setState({ globals });
    }
    if (!dequal(userGlobals, currentUserGlobals)) {
      store2.setState({ userGlobals });
    }
    if (!dequal(storyGlobals, currentStoryGlobals)) {
      store2.setState({ storyGlobals });
    }
  }, "updateGlobals");
  provider.channel?.on(
    GLOBALS_UPDATED,
    /* @__PURE__ */ __name(function handleGlobalsUpdated({ globals, storyGlobals, userGlobals }) {
      const { ref } = getEventMetadata(this, fullAPI);
      if (!ref) {
        updateGlobals({ globals, storyGlobals, userGlobals });
      } else {
        logger.warn(
          "received a GLOBALS_UPDATED from a non-local ref. This is not currently supported."
        );
      }
    }, "handleGlobalsUpdated")
  );
  provider.channel?.on(
    SET_GLOBALS,
    /* @__PURE__ */ __name(function handleSetGlobals({ globals, globalTypes }) {
      const { ref } = getEventMetadata(this, fullAPI);
      const currentGlobals = store2.getState()?.globals;
      if (!ref) {
        store2.setState({ globals, userGlobals: globals, globalTypes });
      } else if (Object.keys(globals).length > 0) {
        logger.warn("received globals from a non-local ref. This is not currently supported.");
      }
      if (currentGlobals && Object.keys(currentGlobals).length !== 0 && !dequal(globals, currentGlobals)) {
        api.updateGlobals(currentGlobals);
      }
    }, "handleSetGlobals")
  );
  return {
    api,
    state: state3
  };
}, "init");

// src/manager-api/modules/layout.ts
var layout_exports = {};
__export(layout_exports, {
  ActiveTabs: () => ActiveTabs,
  defaultLayoutState: () => defaultLayoutState,
  focusableUIElements: () => focusableUIElements,
  init: () => init6
});
init_dist();
init_create();
var { document: document11 } = scope;
var isFunction5 = /* @__PURE__ */ __name((val) => typeof val === "function", "isFunction");
var ActiveTabs = {
  SIDEBAR: "sidebar",
  CANVAS: "canvas",
  ADDONS: "addons"
};
var defaultLayoutState = {
  ui: {
    enableShortcuts: true
  },
  layout: {
    initialActive: ActiveTabs.CANVAS,
    showToolbar: true,
    navSize: 300,
    bottomPanelHeight: 300,
    rightPanelWidth: 400,
    recentVisibleSizes: {
      navSize: 300,
      bottomPanelHeight: 300,
      rightPanelWidth: 400
    },
    panelPosition: "bottom",
    showTabs: true
  },
  layoutCustomisations: {
    showSidebar: void 0,
    showToolbar: void 0
  },
  selectedPanel: void 0,
  theme: create()
};
var focusableUIElements = {
  storySearchField: "storybook-explorer-searchfield",
  storyListMenu: "storybook-explorer-menu",
  storyPanelRoot: "storybook-panel-root"
};
var getIsNavShown = /* @__PURE__ */ __name((state3) => {
  return state3.layout.navSize > 0;
}, "getIsNavShown");
var getIsPanelShown = /* @__PURE__ */ __name((state3) => {
  const { bottomPanelHeight, rightPanelWidth, panelPosition } = state3.layout;
  return panelPosition === "bottom" && bottomPanelHeight > 0 || panelPosition === "right" && rightPanelWidth > 0;
}, "getIsPanelShown");
var getIsFullscreen = /* @__PURE__ */ __name((state3) => {
  return !getIsNavShown(state3) && !getIsPanelShown(state3);
}, "getIsFullscreen");
var getRecentVisibleSizes = /* @__PURE__ */ __name((layoutState) => {
  return {
    navSize: layoutState.navSize > 0 ? layoutState.navSize : layoutState.recentVisibleSizes.navSize,
    bottomPanelHeight: layoutState.bottomPanelHeight > 0 ? layoutState.bottomPanelHeight : layoutState.recentVisibleSizes.bottomPanelHeight,
    rightPanelWidth: layoutState.rightPanelWidth > 0 ? layoutState.rightPanelWidth : layoutState.recentVisibleSizes.rightPanelWidth
  };
}, "getRecentVisibleSizes");
var init6 = /* @__PURE__ */ __name(({ store: store2, provider, singleStory }) => {
  const api = {
    toggleFullscreen(nextState) {
      return store2.setState(
        (state3) => {
          const isFullscreen = getIsFullscreen(state3);
          const shouldFullscreen = typeof nextState === "boolean" ? nextState : !isFullscreen;
          if (shouldFullscreen === isFullscreen) {
            return { layout: state3.layout };
          }
          return shouldFullscreen ? {
            layout: {
              ...state3.layout,
              navSize: 0,
              bottomPanelHeight: 0,
              rightPanelWidth: 0,
              recentVisibleSizes: getRecentVisibleSizes(state3.layout)
            }
          } : {
            layout: {
              ...state3.layout,
              navSize: state3.singleStory ? 0 : state3.layout.recentVisibleSizes.navSize,
              bottomPanelHeight: state3.layout.recentVisibleSizes.bottomPanelHeight,
              rightPanelWidth: state3.layout.recentVisibleSizes.rightPanelWidth
            }
          };
        },
        { persistence: "session" }
      );
    },
    togglePanel(nextState) {
      return store2.setState(
        (state3) => {
          const isPanelShown = getIsPanelShown(state3);
          const shouldShowPanel = typeof nextState === "boolean" ? nextState : !isPanelShown;
          if (shouldShowPanel === isPanelShown) {
            return { layout: state3.layout };
          }
          return shouldShowPanel ? {
            layout: {
              ...state3.layout,
              bottomPanelHeight: state3.layout.recentVisibleSizes.bottomPanelHeight,
              rightPanelWidth: state3.layout.recentVisibleSizes.rightPanelWidth
            }
          } : {
            layout: {
              ...state3.layout,
              bottomPanelHeight: 0,
              rightPanelWidth: 0,
              recentVisibleSizes: getRecentVisibleSizes(state3.layout)
            }
          };
        },
        { persistence: "session" }
      );
    },
    togglePanelPosition(position2) {
      return store2.setState(
        (state3) => {
          const nextPosition = position2 || (state3.layout.panelPosition === "right" ? "bottom" : "right");
          return {
            layout: {
              ...state3.layout,
              panelPosition: nextPosition,
              bottomPanelHeight: state3.layout.recentVisibleSizes.bottomPanelHeight,
              rightPanelWidth: state3.layout.recentVisibleSizes.rightPanelWidth
            }
          };
        },
        { persistence: "permanent" }
      );
    },
    toggleNav(nextState) {
      return store2.setState(
        (state3) => {
          if (state3.singleStory) {
            return { layout: state3.layout };
          }
          const isNavShown = getIsNavShown(state3);
          const shouldShowNav = typeof nextState === "boolean" ? nextState : !isNavShown;
          if (shouldShowNav === isNavShown) {
            return { layout: state3.layout };
          }
          return shouldShowNav ? {
            layout: {
              ...state3.layout,
              navSize: state3.layout.recentVisibleSizes.navSize
            }
          } : {
            layout: {
              ...state3.layout,
              navSize: 0,
              recentVisibleSizes: getRecentVisibleSizes(state3.layout)
            }
          };
        },
        { persistence: "session" }
      );
    },
    toggleToolbar(toggled) {
      return store2.setState(
        (state3) => {
          const value = typeof toggled !== "undefined" ? toggled : !state3.layout.showToolbar;
          return {
            layout: {
              ...state3.layout,
              showToolbar: value
            }
          };
        },
        { persistence: "session" }
      );
    },
    setSizes({
      navSize,
      bottomPanelHeight,
      rightPanelWidth
    }) {
      return store2.setState(
        (state3) => {
          const nextLayoutState = {
            ...state3.layout,
            navSize: navSize ?? state3.layout.navSize,
            bottomPanelHeight: bottomPanelHeight ?? state3.layout.bottomPanelHeight,
            rightPanelWidth: rightPanelWidth ?? state3.layout.rightPanelWidth
          };
          return {
            layout: {
              ...nextLayoutState,
              recentVisibleSizes: getRecentVisibleSizes(nextLayoutState)
            }
          };
        },
        { persistence: "session" }
      );
    },
    focusOnUIElement(elementId, select) {
      if (!elementId) {
        return;
      }
      const element = document11.getElementById(elementId);
      if (element) {
        element.focus();
        if (select) {
          element.select();
        }
      }
    },
    getInitialOptions() {
      const { theme: theme3, selectedPanel, layoutCustomisations, ...options } = provider.getConfig();
      return {
        ...defaultLayoutState,
        layout: {
          ...toMerged(
            defaultLayoutState.layout,
            pick3(options, Object.keys(defaultLayoutState.layout))
          ),
          ...singleStory && { navSize: 0 }
        },
        layoutCustomisations: {
          ...defaultLayoutState.layoutCustomisations,
          ...layoutCustomisations ?? {}
        },
        ui: toMerged(defaultLayoutState.ui, pick3(options, Object.keys(defaultLayoutState.ui))),
        selectedPanel: selectedPanel || defaultLayoutState.selectedPanel,
        theme: theme3 || defaultLayoutState.theme
      };
    },
    getIsFullscreen() {
      return getIsFullscreen(store2.getState());
    },
    getIsPanelShown() {
      return getIsPanelShown(store2.getState());
    },
    getIsNavShown() {
      return getIsNavShown(store2.getState());
    },
    getShowToolbarWithCustomisations(showToolbar) {
      const state3 = store2.getState();
      if (isFunction5(state3.layoutCustomisations.showToolbar)) {
        return state3.layoutCustomisations.showToolbar(state3, showToolbar) ?? showToolbar;
      }
      return showToolbar;
    },
    getShowPanelWithCustomisations(showPanel) {
      const state3 = store2.getState();
      if (isFunction5(state3.layoutCustomisations.showPanel)) {
        return state3.layoutCustomisations.showPanel(state3, showPanel) ?? showPanel;
      }
      return showPanel;
    },
    getNavSizeWithCustomisations(navSize) {
      const state3 = store2.getState();
      if (isFunction5(state3.layoutCustomisations.showSidebar)) {
        const shouldShowNav = state3.layoutCustomisations.showSidebar(state3, navSize !== 0);
        if (navSize === 0 && shouldShowNav === true) {
          return state3.layout.recentVisibleSizes.navSize;
        } else if (navSize !== 0 && shouldShowNav === false) {
          return 0;
        }
      }
      return navSize;
    },
    setOptions: /* @__PURE__ */ __name((options) => {
      const { layout, ui, selectedPanel, theme: theme3 } = store2.getState();
      if (!options) {
        return;
      }
      const updatedLayout = {
        ...layout,
        ...options.layout || {},
        ...pick3(options, Object.keys(layout)),
        ...singleStory && { navSize: 0 }
      };
      const updatedUi = {
        ...ui,
        ...options.ui,
        ...toMerged(options.ui || {}, pick3(options, Object.keys(ui)))
      };
      const updatedTheme = {
        ...theme3,
        ...options.theme
      };
      const modification = {};
      if (!isEqual3(ui, updatedUi)) {
        modification.ui = updatedUi;
      }
      if (!isEqual3(layout, updatedLayout)) {
        modification.layout = updatedLayout;
      }
      if (options.selectedPanel && !isEqual3(selectedPanel, options.selectedPanel)) {
        modification.selectedPanel = options.selectedPanel;
      }
      if (Object.keys(modification).length) {
        store2.setState(modification, { persistence: "permanent" });
      }
      if (!isEqual3(theme3, updatedTheme)) {
        store2.setState({ theme: updatedTheme });
      }
    }, "setOptions")
  };
  const persisted = pick3(store2.getState(), ["layout", "selectedPanel"]);
  provider.channel?.on(SET_CONFIG, () => {
    api.setOptions(merge_default(api.getInitialOptions(), persisted));
  });
  return {
    api,
    state: merge_default(api.getInitialOptions(), persisted)
  };
}, "init");

// src/manager-api/modules/notifications.ts
var notifications_exports = {};
__export(notifications_exports, {
  init: () => init7
});
var init7 = /* @__PURE__ */ __name(({ store: store2 }) => {
  const api = {
    addNotification: /* @__PURE__ */ __name((newNotification) => {
      store2.setState(({ notifications }) => {
        const [existing, others] = partition(notifications, (n2) => n2.id === newNotification.id);
        existing.forEach((notification) => {
          if (notification.onClear) {
            notification.onClear({ dismissed: false, timeout: false });
          }
        });
        return { notifications: [...others, newNotification] };
      });
    }, "addNotification"),
    clearNotification: /* @__PURE__ */ __name((notificationId) => {
      store2.setState(({ notifications }) => {
        const [matching, others] = partition(notifications, (n2) => n2.id === notificationId);
        matching.forEach((notification) => {
          if (notification.onClear) {
            notification.onClear({ dismissed: false, timeout: false });
          }
        });
        return { notifications: others };
      });
    }, "clearNotification")
  };
  const state3 = { notifications: [] };
  return {
    api,
    state: state3
  };
}, "init");

// src/manager-api/modules/open-in-editor.tsx
var open_in_editor_exports = {};
__export(open_in_editor_exports, {
  init: () => init8
});
var import_react64 = __toESM(require_react(), 1);
var init8 = /* @__PURE__ */ __name(({ provider, fullAPI }) => {
  const api = {
    openInEditor(payload) {
      return new Promise((resolve) => {
        const { file, line: line2, column: column2 } = payload;
        const handler = /* @__PURE__ */ __name((res) => {
          if (res.file === file && res.line === line2 && res.column === column2) {
            provider.channel?.off(OPEN_IN_EDITOR_RESPONSE, handler);
            resolve(res);
          }
        }, "handler");
        provider.channel?.on(OPEN_IN_EDITOR_RESPONSE, handler);
        provider.channel?.emit(OPEN_IN_EDITOR_REQUEST, payload);
      });
    }
  };
  const state3 = { notifications: [] };
  return {
    api,
    state: state3,
    init: /* @__PURE__ */ __name(async () => {
      const { color: color2 } = await Promise.resolve().then(() => (init_theming(), theming_exports));
      provider.channel?.on(OPEN_IN_EDITOR_RESPONSE, (payload) => {
        if (payload.error !== null) {
          fullAPI.addNotification({
            id: "open-in-editor-error",
            content: {
              headline: "Failed to open in editor",
              subHeadline: payload.error || "Check the Storybook process on the command line for more details."
            },
            icon: import_react64.default.createElement(FailedIcon, { color: color2.negative }),
            duration: 8e3
          });
        }
      });
    }, "init")
  };
}, "init");

// src/manager-api/modules/provider.ts
var provider_exports = {};
__export(provider_exports, {
  init: () => init9
});
var init9 = /* @__PURE__ */ __name(({ provider, fullAPI }) => {
  return {
    api: provider.renderPreview ? { renderPreview: provider.renderPreview } : {},
    state: {},
    init: /* @__PURE__ */ __name(() => {
      provider.handleAPI(fullAPI);
    }, "init")
  };
}, "init");

// src/manager-api/modules/settings.ts
var settings_exports = {};
__export(settings_exports, {
  init: () => init10
});
var init10 = /* @__PURE__ */ __name(({ store: store2, navigate, fullAPI }) => {
  const isSettingsScreenActive = /* @__PURE__ */ __name(() => {
    const { path } = fullAPI.getUrlState();
    return !!(path || "").match(/^\/settings/);
  }, "isSettingsScreenActive");
  const api = {
    closeSettings: /* @__PURE__ */ __name(() => {
      const {
        settings: { lastTrackedStoryId }
      } = store2.getState();
      if (lastTrackedStoryId) {
        fullAPI.selectStory(lastTrackedStoryId);
      } else {
        fullAPI.selectFirstStory();
      }
    }, "closeSettings"),
    changeSettingsTab: /* @__PURE__ */ __name((path) => {
      navigate(`/settings/${path}`);
    }, "changeSettingsTab"),
    isSettingsScreenActive,
    retrieveSelection() {
      const { settings } = store2.getState();
      return settings.lastTrackedStoryId;
    },
    storeSelection: /* @__PURE__ */ __name(async () => {
      const { storyId, settings } = store2.getState();
      await store2.setState({
        settings: { ...settings, lastTrackedStoryId: storyId }
      });
    }, "storeSelection")
  };
  return {
    state: { settings: { lastTrackedStoryId: null } },
    api
  };
}, "init");

// src/manager-api/modules/shortcuts.ts
var shortcuts_exports = {};
__export(shortcuts_exports, {
  controlOrMetaKey: () => controlOrMetaKey2,
  defaultShortcuts: () => defaultShortcuts,
  init: () => init11,
  isMacLike: () => isMacLike2,
  keys: () => keys2
});
init_dist();
var import_copy_to_clipboard = __toESM(require_copy_to_clipboard(), 1);

// src/manager-api/lib/shortcut.ts
init_dist();
var { navigator: navigator2 } = scope;
var isMacLike = /* @__PURE__ */ __name(() => navigator2 && navigator2.platform ? !!navigator2.platform.match(/(Mac|iPhone|iPod|iPad)/i) : false, "isMacLike");
var controlOrMetaSymbol = /* @__PURE__ */ __name(() => isMacLike() ? "\u2318" : "ctrl", "controlOrMetaSymbol");
var controlOrMetaKey = /* @__PURE__ */ __name(() => isMacLike() ? "meta" : "control", "controlOrMetaKey");
var optionOrAltSymbol = /* @__PURE__ */ __name(() => isMacLike() ? "\u2325" : "alt", "optionOrAltSymbol");
var isShortcutTaken = /* @__PURE__ */ __name((arr1, arr2) => JSON.stringify(arr1) === JSON.stringify(arr2), "isShortcutTaken");
var eventToShortcut = /* @__PURE__ */ __name((e2) => {
  if (["Meta", "Alt", "Control", "Shift"].includes(e2.key)) {
    return null;
  }
  const keys3 = [];
  if (e2.altKey) {
    keys3.push("alt");
  }
  if (e2.ctrlKey) {
    keys3.push("control");
  }
  if (e2.metaKey) {
    keys3.push("meta");
  }
  if (e2.shiftKey) {
    keys3.push("shift");
  }
  const codeUpper = e2.code?.toUpperCase();
  const codeToCharMap = {
    MINUS: "-",
    EQUAL: "=",
    BRACKETLEFT: "[",
    BRACKETRIGHT: "]",
    BACKSLASH: "\\",
    SEMICOLON: ";",
    QUOTE: "'",
    BACKQUOTE: "`",
    COMMA: ",",
    PERIOD: ".",
    SLASH: "/"
  };
  const codeChar = codeUpper ? codeUpper.startsWith("KEY") && codeUpper.length === 4 ? codeUpper.replace("KEY", "") : codeUpper.startsWith("DIGIT") ? codeUpper.replace("DIGIT", "") : codeToCharMap[codeUpper] : void 0;
  if (e2.key && e2.key.length === 1 && e2.key !== " ") {
    const key = e2.key.toUpperCase();
    const code = codeChar;
    if (code && code.length === 1 && code !== key) {
      keys3.push([key, code]);
    } else {
      keys3.push(key);
    }
  } else if (e2.key === "Dead" && codeChar) {
    keys3.push(codeChar);
  }
  if (e2.key === " ") {
    keys3.push("space");
  }
  if (e2.key === "Escape") {
    keys3.push("escape");
  }
  if (e2.key === "ArrowRight") {
    keys3.push("ArrowRight");
  }
  if (e2.key === "ArrowDown") {
    keys3.push("ArrowDown");
  }
  if (e2.key === "ArrowUp") {
    keys3.push("ArrowUp");
  }
  if (e2.key === "ArrowLeft") {
    keys3.push("ArrowLeft");
  }
  return keys3.length > 0 ? keys3 : null;
}, "eventToShortcut");
var shortcutMatchesShortcut = /* @__PURE__ */ __name((inputShortcut, shortcut) => {
  if (!inputShortcut || !shortcut) {
    return false;
  }
  if (inputShortcut.join("").startsWith("shift/")) {
    inputShortcut.shift();
  }
  if (inputShortcut.length !== shortcut.length) {
    return false;
  }
  return !inputShortcut.find(
    (input2, i2) => Array.isArray(input2) ? !input2.includes(shortcut[i2]) : input2 !== shortcut[i2]
  );
}, "shortcutMatchesShortcut");
var eventMatchesShortcut = /* @__PURE__ */ __name((e2, shortcut) => {
  return shortcutMatchesShortcut(eventToShortcut(e2), shortcut);
}, "eventMatchesShortcut");
var keyToSymbol = /* @__PURE__ */ __name((key) => {
  if (key === "alt") {
    return optionOrAltSymbol();
  }
  if (key === "control") {
    return "\u2303";
  }
  if (key === "meta") {
    return "\u2318";
  }
  if (key === "shift") {
    return "\u21E7\u200B";
  }
  if (key === "Enter" || key === "Backspace" || key === "Esc") {
    return "";
  }
  if (key === "escape") {
    return "";
  }
  if (key === " ") {
    return "SPACE";
  }
  if (key === "ArrowUp") {
    return "\u2191";
  }
  if (key === "ArrowDown") {
    return "\u2193";
  }
  if (key === "ArrowLeft") {
    return "\u2190";
  }
  if (key === "ArrowRight") {
    return "\u2192";
  }
  return key?.toUpperCase();
}, "keyToSymbol");
var shortcutToHumanString = /* @__PURE__ */ __name((shortcut) => {
  return shortcut.map(keyToSymbol).join(" ");
}, "shortcutToHumanString");

// src/manager-api/modules/shortcuts.ts
var { navigator: navigator3, document: document12 } = scope;
var isMacLike2 = /* @__PURE__ */ __name(() => navigator3 && navigator3.platform ? !!navigator3.platform.match(/(Mac|iPhone|iPod|iPad)/i) : false, "isMacLike");
var controlOrMetaKey2 = /* @__PURE__ */ __name(() => isMacLike2() ? "meta" : "control", "controlOrMetaKey");
function keys2(o2) {
  return Object.keys(o2);
}
__name(keys2, "keys");
var defaultShortcuts = Object.freeze({
  fullScreen: ["alt", "F"],
  togglePanel: ["alt", "A"],
  panelPosition: ["alt", "D"],
  toggleNav: ["alt", "S"],
  toolbar: ["alt", "T"],
  search: [controlOrMetaKey2(), "K"],
  focusNav: ["1"],
  focusIframe: ["2"],
  focusPanel: ["3"],
  prevComponent: ["alt", "ArrowUp"],
  nextComponent: ["alt", "ArrowDown"],
  prevStory: ["alt", "ArrowLeft"],
  nextStory: ["alt", "ArrowRight"],
  shortcutsPage: [controlOrMetaKey2(), "shift", ","],
  aboutPage: [controlOrMetaKey2(), ","],
  escape: ["escape"],
  // This one is not customizable
  collapseAll: [controlOrMetaKey2(), "shift", "ArrowUp"],
  expandAll: [controlOrMetaKey2(), "shift", "ArrowDown"],
  remount: ["alt", "R"],
  openInEditor: ["alt", "shift", "E"],
  copyStoryLink: ["alt", "shift", "L"]
  // TODO: bring this back once we want to add shortcuts for this
  // copyStoryName: ['alt', 'shift', 'C'],
});
var addonsShortcuts = {};
function shouldSkipShortcut(event) {
  const target = event.target;
  if (/input|textarea/i.test(target.tagName) || target.getAttribute("contenteditable") !== null) {
    return true;
  }
  const dialogElement = target.closest("dialog[open]");
  if (dialogElement) {
    return true;
  }
  return false;
}
__name(shouldSkipShortcut, "shouldSkipShortcut");
var init11 = /* @__PURE__ */ __name(({ store: store2, fullAPI, provider }) => {
  const api = {
    // Getting and setting shortcuts
    getShortcutKeys() {
      return store2.getState().shortcuts;
    },
    getDefaultShortcuts() {
      return {
        ...defaultShortcuts,
        ...api.getAddonsShortcutDefaults()
      };
    },
    getAddonsShortcuts() {
      return addonsShortcuts;
    },
    getAddonsShortcutLabels() {
      const labels = {};
      Object.entries(api.getAddonsShortcuts()).forEach(([actionName, { label }]) => {
        labels[actionName] = label;
      });
      return labels;
    },
    getAddonsShortcutDefaults() {
      const defaults = {};
      Object.entries(api.getAddonsShortcuts()).forEach(([actionName, { defaultShortcut }]) => {
        defaults[actionName] = defaultShortcut;
      });
      return defaults;
    },
    async setShortcuts(shortcuts) {
      await store2.setState({ shortcuts }, { persistence: "permanent" });
      return shortcuts;
    },
    async restoreAllDefaultShortcuts() {
      return api.setShortcuts(api.getDefaultShortcuts());
    },
    async setShortcut(action2, value) {
      const shortcuts = api.getShortcutKeys();
      await api.setShortcuts({ ...shortcuts, [action2]: value });
      return value;
    },
    async setAddonShortcut(addon, shortcut) {
      const shortcuts = api.getShortcutKeys();
      await api.setShortcuts({
        ...shortcuts,
        [`${addon}-${shortcut.actionName}`]: shortcut.defaultShortcut
      });
      addonsShortcuts[`${addon}-${shortcut.actionName}`] = shortcut;
      return shortcut;
    },
    async restoreDefaultShortcut(action2) {
      const defaultShortcut = api.getDefaultShortcuts()[action2];
      return api.setShortcut(action2, defaultShortcut);
    },
    // Listening to shortcut events
    handleKeydownEvent(event) {
      const shortcut = eventToShortcut(event);
      const shortcuts = api.getShortcutKeys();
      const actions = keys2(shortcuts);
      const matchedFeature = actions.find(
        (feature) => shortcutMatchesShortcut(shortcut, shortcuts[feature])
      );
      if (matchedFeature) {
        api.handleShortcutFeature(matchedFeature, event);
      }
    },
    // warning: event might not have a full prototype chain because it may originate from the channel
    handleShortcutFeature(feature, event) {
      const {
        ui: { enableShortcuts },
        storyId
      } = store2.getState();
      if (!enableShortcuts) {
        return;
      }
      if (event?.preventDefault) {
        event.preventDefault();
      }
      switch (feature) {
        case "escape": {
          if (fullAPI.getIsFullscreen()) {
            fullAPI.toggleFullscreen(false);
          } else if (fullAPI.getIsNavShown()) {
            fullAPI.toggleNav(true);
          }
          break;
        }
        case "focusNav": {
          if (fullAPI.getIsFullscreen()) {
            fullAPI.toggleFullscreen(false);
          }
          if (!fullAPI.getIsNavShown()) {
            fullAPI.toggleNav(true);
          }
          fullAPI.focusOnUIElement(focusableUIElements.storyListMenu);
          break;
        }
        case "search": {
          if (fullAPI.getIsFullscreen()) {
            fullAPI.toggleFullscreen(false);
          }
          if (!fullAPI.getIsNavShown()) {
            fullAPI.toggleNav(true);
          }
          setTimeout(() => {
            fullAPI.focusOnUIElement(focusableUIElements.storySearchField, true);
          }, 0);
          break;
        }
        case "focusIframe": {
          const element = document12.getElementById("storybook-preview-iframe");
          if (element) {
            try {
              element.contentWindow.focus();
            } catch (e2) {
            }
          }
          break;
        }
        case "focusPanel": {
          if (fullAPI.getIsFullscreen()) {
            fullAPI.toggleFullscreen(false);
          }
          if (!fullAPI.getIsPanelShown()) {
            fullAPI.togglePanel(true);
          }
          fullAPI.focusOnUIElement(focusableUIElements.storyPanelRoot);
          break;
        }
        case "nextStory": {
          fullAPI.jumpToStory(1);
          break;
        }
        case "prevStory": {
          fullAPI.jumpToStory(-1);
          break;
        }
        case "nextComponent": {
          fullAPI.jumpToComponent(1);
          break;
        }
        case "prevComponent": {
          fullAPI.jumpToComponent(-1);
          break;
        }
        case "fullScreen": {
          fullAPI.toggleFullscreen();
          break;
        }
        case "togglePanel": {
          fullAPI.togglePanel();
          break;
        }
        case "toggleNav": {
          fullAPI.toggleNav();
          break;
        }
        case "toolbar": {
          fullAPI.toggleToolbar();
          break;
        }
        case "panelPosition": {
          if (fullAPI.getIsFullscreen()) {
            fullAPI.toggleFullscreen(false);
          }
          if (!fullAPI.getIsPanelShown()) {
            fullAPI.togglePanel(true);
          }
          fullAPI.togglePanelPosition();
          break;
        }
        case "aboutPage": {
          fullAPI.navigate("/settings/about");
          break;
        }
        case "shortcutsPage": {
          fullAPI.navigate("/settings/shortcuts");
          break;
        }
        case "collapseAll": {
          fullAPI.emit(STORIES_COLLAPSE_ALL);
          break;
        }
        case "expandAll": {
          fullAPI.emit(STORIES_EXPAND_ALL);
          break;
        }
        case "remount": {
          fullAPI.emit(FORCE_REMOUNT, { storyId });
          break;
        }
        case "openInEditor": {
          if (scope.CONFIG_TYPE === "DEVELOPMENT") {
            fullAPI.openInEditor({
              file: fullAPI.getCurrentStoryData().importPath
            });
          }
          break;
        }
        // TODO: bring this back once we want to add shortcuts for this
        // case 'copyStoryName': {
        //   const storyData = fullAPI.getCurrentStoryData();
        //   if (storyData.type === 'story') {
        //     copy(storyData.exportName);
        //   }
        //   break;
        // }
        case "copyStoryLink": {
          (0, import_copy_to_clipboard.default)(window.location.href);
          break;
        }
        default:
          addonsShortcuts[feature].action();
          break;
      }
    }
  };
  const { shortcuts: persistedShortcuts = defaultShortcuts } = store2.getState();
  const state3 = {
    // Any saved shortcuts that are still in our set of defaults
    shortcuts: keys2(defaultShortcuts).reduce(
      (acc, key) => ({ ...acc, [key]: persistedShortcuts[key] || defaultShortcuts[key] }),
      defaultShortcuts
    )
  };
  const initModule = /* @__PURE__ */ __name(() => {
    document12.addEventListener("keydown", (event) => {
      if (!shouldSkipShortcut(event)) {
        api.handleKeydownEvent(event);
      }
    });
    provider.channel?.on(PREVIEW_KEYDOWN, (data) => {
      api.handleKeydownEvent(data.event);
    });
  }, "initModule");
  return { api, state: state3, init: initModule };
}, "init");

// src/manager-api/modules/stories.ts
var stories_exports = {};
__export(stories_exports, {
  init: () => init12
});
init_client_logger();
init_dist();

// src/server-errors.ts
var import_picocolors3 = __toESM(require_picocolors_browser(), 1);
init_esm();
var _StatusTypeIdMismatchError3 = class _StatusTypeIdMismatchError3 extends StorybookError {
  constructor(data) {
    super({
      category: "CORE-SERVER" /* CORE_SERVER */,
      code: 16,
      message: `Status has typeId "${data.status.typeId}" but was added to store with typeId "${data.typeId}". Full status: ${JSON.stringify(
        data.status,
        null,
        2
      )}`
    });
    this.data = data;
  }
};
__name(_StatusTypeIdMismatchError3, "StatusTypeIdMismatchError");
var StatusTypeIdMismatchError3 = _StatusTypeIdMismatchError3;

// src/shared/status-store/index.ts
var UNIVERSAL_STATUS_STORE_OPTIONS = {
  id: "storybook/status",
  leader: true,
  initialState: {}
};
var StatusStoreEventType = {
  SELECT: "select"
};
function createStatusStore({
  universalStatusStore: universalStatusStore2,
  useUniversalStore: useUniversalStore2,
  environment
}) {
  const fullStatusStore2 = {
    getAll() {
      return universalStatusStore2.getState();
    },
    set(statuses) {
      universalStatusStore2.setState((state3) => {
        const newState = { ...state3 };
        for (const status of statuses) {
          const { storyId, typeId } = status;
          newState[storyId] = { ...newState[storyId] ?? {}, [typeId]: status };
        }
        return newState;
      });
    },
    onAllStatusChange(listener) {
      return universalStatusStore2.onStateChange((state3, prevState) => {
        listener(state3, prevState);
      });
    },
    onSelect(listener) {
      return universalStatusStore2.subscribe(StatusStoreEventType.SELECT, (event) => {
        listener(event.payload);
      });
    },
    selectStatuses: /* @__PURE__ */ __name((statuses) => {
      universalStatusStore2.send({ type: StatusStoreEventType.SELECT, payload: statuses });
    }, "selectStatuses"),
    unset(storyIds) {
      if (!storyIds) {
        universalStatusStore2.setState({});
        return;
      }
      universalStatusStore2.setState((state3) => {
        const newState = { ...state3 };
        for (const storyId of storyIds) {
          delete newState[storyId];
        }
        return newState;
      });
    },
    typeId: void 0
  };
  const getStatusStoreByTypeId2 = /* @__PURE__ */ __name((typeId) => ({
    getAll: fullStatusStore2.getAll,
    set(statuses) {
      universalStatusStore2.setState((state3) => {
        const newState = { ...state3 };
        for (const status of statuses) {
          const { storyId } = status;
          if (status.typeId !== typeId) {
            switch (environment) {
              case "server":
                throw new StatusTypeIdMismatchError3({
                  status,
                  typeId
                });
              case "manager":
                throw new StatusTypeIdMismatchError2({
                  status,
                  typeId
                });
              case "preview":
              default:
                throw new StatusTypeIdMismatchError({
                  status,
                  typeId
                });
            }
          }
          newState[storyId] = { ...newState[storyId] ?? {}, [typeId]: status };
        }
        return newState;
      });
    },
    onAllStatusChange: fullStatusStore2.onAllStatusChange,
    onSelect(listener) {
      return universalStatusStore2.subscribe(StatusStoreEventType.SELECT, (event) => {
        if (event.payload.some((status) => status.typeId === typeId)) {
          listener(event.payload);
        }
      });
    },
    unset(storyIds) {
      universalStatusStore2.setState((state3) => {
        const newState = { ...state3 };
        for (const storyId in newState) {
          if (newState[storyId]?.[typeId] && (!storyIds || storyIds?.includes(storyId))) {
            const { [typeId]: omittedStatus, ...storyStatusesWithoutTypeId } = newState[storyId];
            newState[storyId] = storyStatusesWithoutTypeId;
          }
        }
        return newState;
      });
    },
    typeId
  }), "getStatusStoreByTypeId");
  if (!useUniversalStore2) {
    return { getStatusStoreByTypeId: getStatusStoreByTypeId2, fullStatusStore: fullStatusStore2, universalStatusStore: universalStatusStore2 };
  }
  return {
    getStatusStoreByTypeId: getStatusStoreByTypeId2,
    fullStatusStore: fullStatusStore2,
    universalStatusStore: universalStatusStore2,
    useStatusStore: /* @__PURE__ */ __name((selector) => useUniversalStore2(universalStatusStore2, selector)[0], "useStatusStore")
  };
}
__name(createStatusStore, "createStatusStore");

// src/shared/universal-store/use-universal-store-manager.ts
var React100 = __toESM(require_react(), 1);
var useUniversalStore = /* @__PURE__ */ __name((universalStore, selector) => {
  const snapshotRef = React100.useRef(
    selector ? selector(universalStore.getState()) : universalStore.getState()
  );
  const subscribe = React100.useCallback(
    (listener) => universalStore.onStateChange((state4, previousState) => {
      if (!selector) {
        snapshotRef.current = state4;
        listener();
        return;
      }
      const selectedState = selector(state4);
      const selectedPreviousState = selector(previousState);
      const hasChanges = !isEqual3(selectedState, selectedPreviousState);
      if (hasChanges) {
        snapshotRef.current = selectedState;
        listener();
      }
    }),
    [universalStore, selector]
  );
  const getSnapshot = React100.useCallback(() => {
    const currentState = universalStore.getState();
    const selectedState = selector ? selector(currentState) : currentState;
    if (isEqual3(selectedState, snapshotRef.current)) {
      return snapshotRef.current;
    }
    snapshotRef.current = selectedState;
    return snapshotRef.current;
  }, [universalStore, selector]);
  const state3 = React100.useSyncExternalStore(subscribe, getSnapshot);
  return [state3, universalStore.setState];
}, "useUniversalStore");

// src/manager-api/stores/status.ts
var statusStore = createStatusStore({
  universalStatusStore: UniversalStore.create({
    ...UNIVERSAL_STATUS_STORE_OPTIONS,
    leader: globalThis.CONFIG_TYPE === "PRODUCTION"
  }),
  useUniversalStore,
  environment: "manager"
});
var { fullStatusStore, getStatusStoreByTypeId, useStatusStore, universalStatusStore } = statusStore;

// src/manager-api/modules/stories.ts
var { fetch: fetch3 } = scope;
var STORY_INDEX_PATH = "./index.json";
var removedOptions = ["enableShortcuts", "theme", "showRoots"];
function removeRemovedOptions(options) {
  if (!options || typeof options === "string") {
    return options;
  }
  const result = { ...options };
  removedOptions.forEach((option) => {
    if (option in result) {
      delete result[option];
    }
  });
  return result;
}
__name(removeRemovedOptions, "removeRemovedOptions");
var init12 = /* @__PURE__ */ __name(({
  fullAPI,
  store: store2,
  navigate,
  provider,
  storyId: initialStoryId,
  viewMode: initialViewMode,
  docsOptions = {}
}) => {
  const api = {
    storyId: toId,
    getData: /* @__PURE__ */ __name((storyId, refId) => {
      const result = api.resolveStory(storyId, refId);
      if (result?.type === "story" || result?.type === "docs") {
        return result;
      }
      return void 0;
    }, "getData"),
    isPrepared: /* @__PURE__ */ __name((storyId, refId) => {
      const data = api.getData(storyId, refId);
      if (!data) {
        return false;
      }
      return data.type === "story" ? data.prepared : true;
    }, "isPrepared"),
    resolveStory: /* @__PURE__ */ __name((storyId, refId) => {
      const { refs, index: index4 } = store2.getState();
      if (refId && !refs[refId]) {
        return void 0;
      }
      if (refId) {
        return refs?.[refId]?.index?.[storyId] ?? void 0;
      }
      return index4 ? index4[storyId] : void 0;
    }, "resolveStory"),
    getCurrentStoryData: /* @__PURE__ */ __name(() => {
      const { storyId, refId } = store2.getState();
      return api.getData(storyId, refId);
    }, "getCurrentStoryData"),
    getParameters: /* @__PURE__ */ __name((storyIdOrCombo, parameterName) => {
      const { storyId, refId } = typeof storyIdOrCombo === "string" ? { storyId: storyIdOrCombo, refId: void 0 } : storyIdOrCombo;
      const data = api.getData(storyId, refId);
      if (["story", "docs"].includes(data?.type)) {
        const { parameters: parameters2 } = data;
        if (parameters2) {
          return parameterName ? parameters2[parameterName] : parameters2;
        }
      }
      return null;
    }, "getParameters"),
    getCurrentParameter: /* @__PURE__ */ __name((parameterName) => {
      const { storyId, refId } = store2.getState();
      const parameters2 = api.getParameters({ storyId, refId }, parameterName);
      return parameters2 || void 0;
    }, "getCurrentParameter"),
    jumpToComponent: /* @__PURE__ */ __name((direction) => {
      const { filteredIndex, storyId, refs, refId } = store2.getState();
      const story = api.getData(storyId, refId);
      if (!story) {
        return;
      }
      const hash4 = refId ? refs[refId].filteredIndex || {} : filteredIndex;
      if (!hash4) {
        return;
      }
      const result = api.findSiblingStoryId(storyId, hash4, direction, true);
      if (result) {
        api.selectStory(result, void 0, { ref: refId });
      }
    }, "jumpToComponent"),
    jumpToStory: /* @__PURE__ */ __name((direction) => {
      const { filteredIndex, storyId, refs, refId } = store2.getState();
      const story = api.getData(storyId, refId);
      if (!story) {
        return;
      }
      const hash4 = story.refId ? refs[story.refId].filteredIndex : filteredIndex;
      if (!hash4) {
        return;
      }
      const result = api.findSiblingStoryId(storyId, hash4, direction, false);
      if (result) {
        api.selectStory(result, void 0, { ref: refId });
      }
    }, "jumpToStory"),
    selectFirstStory: /* @__PURE__ */ __name(() => {
      const { index: index4 } = store2.getState();
      if (!index4) {
        return;
      }
      const firstStory = Object.keys(index4).find((id) => index4[id].type === "story");
      if (firstStory) {
        api.selectStory(firstStory);
        return;
      }
      navigate("/");
    }, "selectFirstStory"),
    selectStory: /* @__PURE__ */ __name((titleOrId = void 0, name = void 0, options = {}) => {
      const { ref } = options;
      const { storyId, index: index4, filteredIndex, refs, settings } = store2.getState();
      const gotoStory = /* @__PURE__ */ __name((entry) => {
        if (entry?.type === "docs" || entry?.type === "story") {
          store2.setState({ settings: { ...settings, lastTrackedStoryId: entry.id } });
          navigate(`/${entry.type}/${entry.refId ? `${entry.refId}_${entry.id}` : entry.id}`);
          return true;
        }
        return false;
      }, "gotoStory");
      const kindSlug = storyId?.split("--", 2)[0];
      const hash4 = ref ? refs[ref].index : index4;
      const filteredHash = ref ? refs[ref].filteredIndex : filteredIndex;
      if (!hash4 || !filteredHash) {
        return;
      }
      if (!name) {
        const entry = titleOrId ? hash4[titleOrId] || hash4[sanitize(titleOrId)] : hash4[kindSlug];
        if (!entry) {
          throw new Error(`Unknown id or title: '${titleOrId}'`);
        }
        if (!gotoStory(entry)) {
          gotoStory(api.findLeafEntry(filteredHash, entry.id));
        }
      } else if (!titleOrId) {
        gotoStory(hash4[toId(kindSlug, name)]);
      } else {
        const id = ref ? `${ref}_${toId(titleOrId, name)}` : toId(titleOrId, name);
        if (hash4[id]) {
          gotoStory(hash4[id]);
        } else {
          const entry = hash4[sanitize(titleOrId)];
          if (entry?.type === "component") {
            const foundId = entry.children.find((childId) => hash4[childId].name === name);
            gotoStory(foundId ? hash4[foundId] : void 0);
          }
        }
      }
    }, "selectStory"),
    findLeafEntry(index4, storyId) {
      const entry = index4[storyId];
      if (entry.type === "docs" || entry.type === "story") {
        return entry;
      }
      const childStoryId = entry.children.find((childId) => index4[childId]) || entry.children[0];
      return api.findLeafEntry(index4, childStoryId);
    },
    findLeafStoryId(index4, storyId) {
      return api.findLeafEntry(index4, storyId)?.id;
    },
    findAllLeafStoryIds(entryId) {
      const { index: index4 } = store2.getState();
      if (!index4) {
        return [];
      }
      const findChildEntriesRecursively = /* @__PURE__ */ __name((currentEntryId, results = []) => {
        const node2 = index4[currentEntryId];
        if (!node2) {
          return results;
        }
        if (node2.type === "story") {
          results.push(node2.id);
        }
        if ("children" in node2) {
          node2.children?.forEach((childId) => findChildEntriesRecursively(childId, results));
        }
        return results;
      }, "findChildEntriesRecursively");
      return findChildEntriesRecursively(entryId, []);
    },
    findSiblingStoryId(storyId, index4, direction, toSiblingGroup) {
      if (toSiblingGroup) {
        const lookupList2 = getComponentLookupList(index4);
        const position3 = lookupList2.findIndex((i2) => i2.includes(storyId));
        if (position3 === lookupList2.length - 1 && direction > 0) {
          return;
        }
        if (position3 === 0 && direction < 0) {
          return;
        }
        if (lookupList2[position3 + direction]) {
          return lookupList2[position3 + direction][0];
        }
        return;
      }
      const lookupList = getStoriesLookupList(index4);
      const position2 = lookupList.indexOf(storyId);
      if (position2 === lookupList.length - 1 && direction > 0) {
        return;
      }
      if (position2 === 0 && direction < 0) {
        return;
      }
      return lookupList[position2 + direction];
    },
    updateStoryArgs: /* @__PURE__ */ __name((story, updatedArgs) => {
      const { id: storyId, refId } = story;
      provider.channel?.emit(UPDATE_STORY_ARGS, {
        storyId,
        updatedArgs,
        options: { target: refId }
      });
    }, "updateStoryArgs"),
    resetStoryArgs: /* @__PURE__ */ __name((story, argNames) => {
      const { id: storyId, refId } = story;
      provider.channel?.emit(RESET_STORY_ARGS, {
        storyId,
        argNames,
        options: { target: refId }
      });
    }, "resetStoryArgs"),
    fetchIndex: /* @__PURE__ */ __name(async () => {
      try {
        const result = await fetch3(STORY_INDEX_PATH);
        if (result.status !== 200) {
          throw new Error(await result.text());
        }
        const storyIndex = await result.json();
        if (storyIndex.v < 3) {
          logger.warn(`Skipping story index with version v${storyIndex.v}, awaiting SET_STORIES.`);
          return;
        }
        await api.setIndex(storyIndex);
      } catch (err) {
        await store2.setState({ indexError: err });
      }
    }, "fetchIndex"),
    // The story index we receive on SET_INDEX is "prepared" in that it has parameters
    // The story index we receive on fetchStoryIndex is not, but all the prepared fields are optional
    // so we can cast one to the other easily enough
    setIndex: /* @__PURE__ */ __name(async (input2) => {
      const { filteredIndex: oldFilteredHash, index: oldHash, filters } = store2.getState();
      const allStatuses = fullStatusStore.getAll();
      const newFilteredHash = transformStoryIndexToStoriesHash(input2, {
        provider,
        docsOptions,
        filters,
        allStatuses
      });
      const newHash = transformStoryIndexToStoriesHash(input2, {
        provider,
        docsOptions,
        filters: {},
        allStatuses
      });
      await store2.setState({
        internal_index: input2,
        filteredIndex: addPreparedStories(newFilteredHash, oldFilteredHash),
        index: addPreparedStories(newHash, oldHash),
        indexError: void 0
      });
    }, "setIndex"),
    // FIXME: is there a bug where filtered stories get added back in on updateStory???
    updateStory: /* @__PURE__ */ __name(async (storyId, update2, ref) => {
      if (!ref) {
        const { index: index4, filteredIndex } = store2.getState();
        if (index4) {
          index4[storyId] = {
            ...index4[storyId],
            ...update2
          };
        }
        if (filteredIndex) {
          filteredIndex[storyId] = {
            ...filteredIndex[storyId],
            ...update2
          };
        }
        if (index4 || filteredIndex) {
          await store2.setState({ index: index4, filteredIndex });
        }
      } else {
        const { id: refId, index: index4, filteredIndex } = ref;
        index4[storyId] = {
          ...index4[storyId],
          ...update2
        };
        filteredIndex[storyId] = {
          ...filteredIndex[storyId],
          ...update2
        };
        await fullAPI.updateRef(refId, { index: index4, filteredIndex });
      }
    }, "updateStory"),
    updateDocs: /* @__PURE__ */ __name(async (docsId, update2, ref) => {
      if (!ref) {
        const { index: index4, filteredIndex } = store2.getState();
        if (index4) {
          index4[docsId] = {
            ...index4[docsId],
            ...update2
          };
        }
        if (filteredIndex) {
          filteredIndex[docsId] = {
            ...filteredIndex[docsId],
            ...update2
          };
        }
        if (index4 || filteredIndex) {
          await store2.setState({ index: index4, filteredIndex });
        }
      } else {
        const { id: refId, index: index4, filteredIndex } = ref;
        index4[docsId] = {
          ...index4[docsId],
          ...update2
        };
        filteredIndex[docsId] = {
          ...filteredIndex[docsId],
          ...update2
        };
        await fullAPI.updateRef(refId, { index: index4, filteredIndex });
      }
    }, "updateDocs"),
    setPreviewInitialized: /* @__PURE__ */ __name(async (ref) => {
      if (!ref) {
        store2.setState({ previewInitialized: true });
      } else {
        fullAPI.updateRef(ref.id, { previewInitialized: true });
      }
    }, "setPreviewInitialized"),
    experimental_setFilter: /* @__PURE__ */ __name(async (id, filterFunction) => {
      await store2.setState({ filters: { ...store2.getState().filters, [id]: filterFunction } });
      const { internal_index: index4 } = store2.getState();
      if (!index4) {
        return;
      }
      await api.setIndex(index4);
      const refs = await fullAPI.getRefs();
      Object.entries(refs).forEach(([refId, { internal_index, ...ref }]) => {
        fullAPI.setRef(refId, { ...ref, storyIndex: internal_index }, true);
      });
      provider.channel?.emit(SET_FILTER, { id });
    }, "experimental_setFilter")
  };
  provider.channel?.on(
    STORY_SPECIFIED,
    /* @__PURE__ */ __name(function handler({
      storyId,
      viewMode
    }) {
      const { sourceType } = getEventMetadata(this, fullAPI);
      if (sourceType === "local") {
        const state3 = store2.getState();
        const isCanvasRoute = state3.path === "/" || state3.viewMode === "story" || state3.viewMode === "docs";
        const stateHasSelection = state3.viewMode && state3.storyId;
        const stateSelectionDifferent = state3.viewMode !== viewMode || state3.storyId !== storyId;
        const { type: type5 } = state3.index?.[state3.storyId] || {};
        const isStory2 = !(type5 === "root" || type5 === "component" || type5 === "group");
        if (isCanvasRoute) {
          if (stateHasSelection && stateSelectionDifferent && isStory2) {
            provider.channel?.emit(SET_CURRENT_STORY, {
              storyId: state3.storyId,
              viewMode: state3.viewMode
            });
          } else if (stateSelectionDifferent) {
            navigate(`/${viewMode}/${storyId}`);
          }
        }
      }
    }, "handler")
  );
  provider.channel?.on(CURRENT_STORY_WAS_SET, /* @__PURE__ */ __name(function handler() {
    const { ref } = getEventMetadata(this, fullAPI);
    api.setPreviewInitialized(ref);
  }, "handler"));
  provider.channel?.on(STORY_CHANGED, /* @__PURE__ */ __name(function handler() {
    const { sourceType } = getEventMetadata(this, fullAPI);
    if (sourceType === "local") {
      const options = api.getCurrentParameter("options");
      if (options) {
        fullAPI.setOptions(removeRemovedOptions(options));
      }
    }
  }, "handler"));
  provider.channel?.on(
    STORY_PREPARED,
    /* @__PURE__ */ __name(function handler({ id, ...update2 }) {
      const { ref, sourceType } = getEventMetadata(this, fullAPI);
      api.updateStory(id, { ...update2, prepared: true }, ref);
      if (!ref) {
        if (!store2.getState().hasCalledSetOptions) {
          const { options } = update2.parameters;
          fullAPI.setOptions(removeRemovedOptions(options));
          store2.setState({ hasCalledSetOptions: true });
        }
      }
      if (sourceType === "local") {
        const { storyId, index: index4, refId } = store2.getState();
        if (!index4) {
          return;
        }
        const toBePreloaded = Array.from(
          /* @__PURE__ */ new Set([
            api.findSiblingStoryId(storyId, index4, 1, true),
            api.findSiblingStoryId(storyId, index4, -1, true)
          ])
        ).filter(Boolean);
        provider.channel?.emit(PRELOAD_ENTRIES, {
          ids: toBePreloaded,
          options: { target: refId }
        });
      }
    }, "handler")
  );
  provider.channel?.on(
    DOCS_PREPARED,
    /* @__PURE__ */ __name(function handler({ id, ...update2 }) {
      const { ref } = getEventMetadata(this, fullAPI);
      api.updateStory(id, { ...update2, prepared: true }, ref);
    }, "handler")
  );
  provider.channel?.on(SET_INDEX, /* @__PURE__ */ __name(function handler(index4) {
    const { ref } = getEventMetadata(this, fullAPI);
    if (!ref) {
      api.setIndex(index4);
      const options = api.getCurrentParameter("options");
      fullAPI.setOptions(removeRemovedOptions(options));
    } else {
      fullAPI.setRef(ref.id, { ...ref, storyIndex: index4 }, true);
    }
  }, "handler"));
  provider.channel?.on(SET_STORIES, /* @__PURE__ */ __name(function handler(data) {
    const { ref } = getEventMetadata(this, fullAPI);
    const setStoriesData = data.v ? denormalizeStoryParameters(data) : data.stories;
    if (!ref) {
      throw new Error("Cannot call SET_STORIES for local frame");
    } else {
      fullAPI.setRef(ref.id, { ...ref, setStoriesData }, true);
    }
  }, "handler"));
  provider.channel?.on(
    SELECT_STORY,
    /* @__PURE__ */ __name(function handler({
      kind,
      title = kind,
      story,
      name = story,
      storyId,
      ...rest
    }) {
      const { ref } = getEventMetadata(this, fullAPI);
      if (!ref) {
        fullAPI.selectStory(storyId || title, name, rest);
      } else {
        fullAPI.selectStory(storyId || title, name, { ...rest, ref: ref.id });
      }
    }, "handler")
  );
  provider.channel?.on(
    STORY_ARGS_UPDATED,
    /* @__PURE__ */ __name(function handleStoryArgsUpdated({ storyId, args }) {
      const { ref } = getEventMetadata(this, fullAPI);
      api.updateStory(storyId, { args }, ref);
    }, "handleStoryArgsUpdated")
  );
  provider.channel?.on(CONFIG_ERROR, /* @__PURE__ */ __name(function handleConfigError(err) {
    const { ref } = getEventMetadata(this, fullAPI);
    api.setPreviewInitialized(ref);
  }, "handleConfigError"));
  provider.channel?.on(STORY_MISSING, /* @__PURE__ */ __name(function handleConfigError(err) {
    const { ref } = getEventMetadata(this, fullAPI);
    api.setPreviewInitialized(ref);
  }, "handleConfigError"));
  provider.channel?.on(SET_CONFIG, () => {
    const config5 = provider.getConfig();
    if (config5?.sidebar?.filters) {
      store2.setState({
        filters: {
          ...store2.getState().filters,
          ...config5?.sidebar?.filters
        }
      });
    }
  });
  fullStatusStore.onAllStatusChange(async () => {
    const { internal_index: index4 } = store2.getState();
    if (!index4) {
      return;
    }
    await api.setIndex(index4);
    const refs = await fullAPI.getRefs();
    Object.entries(refs).forEach(([refId, { internal_index, ...ref }]) => {
      fullAPI.setRef(refId, { ...ref, storyIndex: internal_index }, true);
    });
  });
  const config4 = provider.getConfig();
  return {
    api,
    state: {
      storyId: initialStoryId,
      viewMode: initialViewMode,
      hasCalledSetOptions: false,
      previewInitialized: false,
      filters: config4?.sidebar?.filters || {}
    },
    init: /* @__PURE__ */ __name(async () => {
      provider.channel?.on(STORY_INDEX_INVALIDATED, () => api.fetchIndex());
      await api.fetchIndex();
    }, "init")
  };
}, "init");

// src/manager-api/modules/url.ts
var url_exports = {};
__export(url_exports, {
  init: () => init13
});
init_dist();
var { window: globalWindow4 } = scope;
var parseBoolean = /* @__PURE__ */ __name((value) => {
  if (value === "true" || value === "1") {
    return true;
  }
  if (value === "false" || value === "0") {
    return false;
  }
  return void 0;
}, "parseBoolean");
var prevParams;
var initialUrlSupport = /* @__PURE__ */ __name(({
  state: { location: location3, path, viewMode, storyId: storyIdFromUrl },
  singleStory
}) => {
  const {
    full,
    panel,
    nav,
    shortcuts,
    addonPanel,
    tabs,
    path: queryPath,
    ...otherParams
    // the rest gets passed to the iframe
  } = queryFromLocation(location3);
  let navSize;
  let bottomPanelHeight;
  let rightPanelWidth;
  if (parseBoolean(full) === true) {
    navSize = 0;
    bottomPanelHeight = 0;
    rightPanelWidth = 0;
  } else if (parseBoolean(full) === false) {
    navSize = defaultLayoutState.layout.navSize;
    bottomPanelHeight = defaultLayoutState.layout.bottomPanelHeight;
    rightPanelWidth = defaultLayoutState.layout.rightPanelWidth;
  }
  if (!singleStory) {
    if (parseBoolean(nav) === true) {
      navSize = defaultLayoutState.layout.navSize;
    }
    if (parseBoolean(nav) === false) {
      navSize = 0;
    }
  }
  if (parseBoolean(panel) === false) {
    bottomPanelHeight = 0;
    rightPanelWidth = 0;
  }
  const layout = {
    navSize,
    bottomPanelHeight,
    rightPanelWidth,
    panelPosition: ["right", "bottom"].includes(panel) ? panel : void 0,
    showTabs: parseBoolean(tabs)
  };
  const ui = {
    enableShortcuts: parseBoolean(shortcuts)
  };
  const selectedPanel = addonPanel || void 0;
  const storyId = storyIdFromUrl;
  const customQueryParams = dequal(prevParams, otherParams) ? prevParams : otherParams;
  prevParams = customQueryParams;
  return { viewMode, layout, ui, selectedPanel, location: location3, path, customQueryParams, storyId };
}, "initialUrlSupport");
var init13 = /* @__PURE__ */ __name((moduleArgs) => {
  const { store: store2, navigate, provider, fullAPI } = moduleArgs;
  const navigateTo = /* @__PURE__ */ __name((path, queryParams = {}, options = {}) => {
    const params = Object.entries(queryParams).filter(([, v]) => v).sort(([a2], [b]) => a2 < b ? -1 : 1).map(([k, v]) => `${k}=${v}`);
    const to = [path, ...params].join("&");
    return navigate(to, options);
  }, "navigateTo");
  const api = {
    getQueryParam(key) {
      const { customQueryParams } = store2.getState();
      return customQueryParams ? customQueryParams[key] : void 0;
    },
    getUrlState() {
      const { location: location3, path, customQueryParams, storyId, url, viewMode } = store2.getState();
      return {
        path,
        hash: location3.hash ?? "",
        queryParams: customQueryParams,
        storyId,
        url,
        viewMode
      };
    },
    setQueryParams(input2) {
      const { customQueryParams } = store2.getState();
      const queryParams = {};
      const update2 = {
        ...customQueryParams,
        ...Object.entries(input2).reduce((acc, [key, value]) => {
          if (value !== null) {
            acc[key] = value;
          }
          return acc;
        }, queryParams)
      };
      if (!dequal(customQueryParams, update2)) {
        store2.setState({ customQueryParams: update2 });
        provider.channel?.emit(UPDATE_QUERY_PARAMS, update2);
      }
    },
    applyQueryParams(input2, options) {
      const { path, hash: hash4 = "", queryParams } = api.getUrlState();
      navigateTo(`${path}${hash4}`, { ...queryParams, ...input2 }, options);
      api.setQueryParams(input2);
    },
    navigateUrl(url, options) {
      navigate(url, { plain: true, ...options });
    }
  };
  const updateArgsParam = /* @__PURE__ */ __name(() => {
    const { path, hash: hash4 = "", queryParams, viewMode } = api.getUrlState();
    if (viewMode !== "story") {
      return;
    }
    const currentStory = fullAPI.getCurrentStoryData();
    if (currentStory?.type !== "story") {
      return;
    }
    const { args, initialArgs } = currentStory;
    const argsString = buildArgsParam(initialArgs, args);
    navigateTo(`${path}${hash4}`, { ...queryParams, args: argsString }, { replace: true });
    api.setQueryParams({ args: argsString });
  }, "updateArgsParam");
  provider.channel?.on(SET_CURRENT_STORY, () => updateArgsParam());
  let handleOrId;
  provider.channel?.on(STORY_ARGS_UPDATED, () => {
    if ("requestIdleCallback" in globalWindow4) {
      if (handleOrId) {
        globalWindow4.cancelIdleCallback(handleOrId);
      }
      handleOrId = globalWindow4.requestIdleCallback(updateArgsParam, { timeout: 1e3 });
    } else {
      if (handleOrId) {
        clearTimeout(handleOrId);
      }
      setTimeout(updateArgsParam, 100);
    }
  });
  provider.channel?.on(GLOBALS_UPDATED, ({ userGlobals, initialGlobals: initialGlobals5 }) => {
    const { path, hash: hash4 = "", queryParams } = api.getUrlState();
    const globalsString = buildArgsParam(initialGlobals5, userGlobals);
    navigateTo(`${path}${hash4}`, { ...queryParams, globals: globalsString }, { replace: true });
    api.setQueryParams({ globals: globalsString });
  });
  provider.channel?.on(NAVIGATE_URL, (url, options) => {
    api.navigateUrl(url, options);
  });
  return {
    api,
    state: initialUrlSupport(moduleArgs)
  };
}, "init");

// src/manager-api/modules/versions.ts
var versions_exports = {};
__export(versions_exports, {
  init: () => init14
});
init_dist();
var import_memoizerific10 = __toESM(require_memoizerific(), 1);
var import_semver = __toESM(require_semver2(), 1);

// src/manager-api/version.ts
var version = "10.0.7";

// src/manager-api/modules/versions.ts
var { VERSIONCHECK } = scope;
var getVersionCheckData = (0, import_memoizerific10.default)(1)(() => {
  try {
    return { ...JSON.parse(VERSIONCHECK).data || {} };
  } catch (e2) {
    return {};
  }
});
var normalizeRendererName = /* @__PURE__ */ __name((renderer) => {
  if (renderer.includes("vue")) {
    return "vue";
  }
  return renderer;
}, "normalizeRendererName");
var init14 = /* @__PURE__ */ __name(({ store: store2 }) => {
  const { dismissedVersionNotification } = store2.getState();
  const state3 = {
    versions: {
      current: {
        version
      },
      ...getVersionCheckData()
    },
    dismissedVersionNotification
  };
  const api = {
    getCurrentVersion: /* @__PURE__ */ __name(() => {
      const {
        versions: { current }
      } = store2.getState();
      return current;
    }, "getCurrentVersion"),
    getLatestVersion: /* @__PURE__ */ __name(() => {
      const {
        versions: { latest, next: next2, current }
      } = store2.getState();
      if (current && import_semver.default.prerelease(current.version) && next2) {
        return latest && import_semver.default.gt(latest.version, next2.version) ? latest : next2;
      }
      return latest;
    }, "getLatestVersion"),
    // TODO: Move this to it's own "info" module later
    getDocsUrl: /* @__PURE__ */ __name(({ subpath, versioned, renderer }) => {
      const {
        versions: { latest, current }
      } = store2.getState();
      let url = "https://storybook.js.org/docs/";
      if (versioned && current?.version && latest?.version) {
        const versionDiff = import_semver.default.diff(latest.version, current.version);
        const isLatestDocs = versionDiff === "patch" || versionDiff === null || // assume latest version when current version is a 0.0.0 canary
        import_semver.default.satisfies(current.version, "0.0.0", { includePrerelease: true });
        if (!isLatestDocs) {
          url += `${import_semver.default.major(current.version)}.${import_semver.default.minor(current.version)}/`;
        }
      }
      const [cleanedSubpath, hash4] = subpath?.split("#") || [];
      if (cleanedSubpath) {
        url += `${cleanedSubpath}/`;
      }
      if (renderer && typeof scope.STORYBOOK_RENDERER !== "undefined") {
        const rendererName = scope.STORYBOOK_RENDERER;
        if (rendererName) {
          url += `?renderer=${normalizeRendererName(rendererName)}`;
        }
      }
      if (hash4) {
        url += `#${hash4}`;
      }
      return url;
    }, "getDocsUrl"),
    versionUpdateAvailable: /* @__PURE__ */ __name(() => {
      const latest = api.getLatestVersion();
      const current = api.getCurrentVersion();
      if (latest) {
        if (!latest.version) {
          return true;
        }
        if (!current.version) {
          return true;
        }
        const onPrerelease = !!import_semver.default.prerelease(current.version);
        const actualCurrent = onPrerelease ? `${import_semver.default.major(current.version)}.${import_semver.default.minor(current.version)}.${import_semver.default.patch(
          current.version
        )}` : current.version;
        const diff2 = import_semver.default.diff(actualCurrent, latest.version);
        return import_semver.default.gt(latest.version, actualCurrent) && diff2 !== "patch" && !diff2.includes("pre");
      }
      return false;
    }, "versionUpdateAvailable")
  };
  const initModule = /* @__PURE__ */ __name(async () => {
    const { versions = {} } = store2.getState();
    const { latest, next: next2 } = getVersionCheckData();
    await store2.setState({
      versions: { ...versions, latest, next: next2 }
    });
  }, "initModule");
  return { init: initModule, state: state3, api };
}, "init");

// src/manager-api/modules/whatsnew.tsx
var whatsnew_exports = {};
__export(whatsnew_exports, {
  init: () => init15
});
var import_react65 = __toESM(require_react(), 1);
init_dist();
var WHATS_NEW_NOTIFICATION_ID = "whats-new";
var StorybookIcon3 = /* @__PURE__ */ __name(({ color: color2 = "currentColor", size = 14 }) => {
  return import_react65.default.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 14 14",
      fill: "none",
      xmlns: "http://www.w3.org/2000/svg"
    },
    import_react65.default.createElement(
      "path",
      {
        fillRule: "evenodd",
        clipRule: "evenodd",
        d: "M2.042.616a.704.704 0 00-.66.729L1.816 12.9c.014.367.306.66.672.677l9.395.422h.032a.704.704 0 00.704-.703V.704c0-.015 0-.03-.002-.044a.704.704 0 00-.746-.659l-.773.049.057 1.615a.105.105 0 01-.17.086l-.52-.41-.617.468a.105.105 0 01-.168-.088L9.746.134 2.042.616zm8.003 4.747c-.247.192-2.092.324-2.092.05.04-1.045-.429-1.091-.689-1.091-.247 0-.662.075-.662.634 0 .57.607.893 1.32 1.27 1.014.538 2.24 1.188 2.24 2.823 0 1.568-1.273 2.433-2.898 2.433-1.676 0-3.141-.678-2.976-3.03.065-.275 2.197-.21 2.197 0-.026.971.195 1.256.753 1.256.43 0 .624-.236.624-.634 0-.602-.633-.958-1.361-1.367-.987-.554-2.148-1.205-2.148-2.7 0-1.494 1.027-2.489 2.86-2.489 1.832 0 2.832.98 2.832 2.845z",
        fill: color2
      }
    )
  );
}, "StorybookIcon");
var init15 = /* @__PURE__ */ __name(({ fullAPI, store: store2, provider }) => {
  const state3 = {
    whatsNewData: void 0
  };
  function setWhatsNewState(newState) {
    store2.setState({ whatsNewData: newState });
    state3.whatsNewData = newState;
  }
  __name(setWhatsNewState, "setWhatsNewState");
  const api = {
    isWhatsNewUnread() {
      return state3.whatsNewData?.status === "SUCCESS" && !state3.whatsNewData.postIsRead;
    },
    whatsNewHasBeenRead() {
      if (state3.whatsNewData?.status === "SUCCESS") {
        setWhatsNewCache({ lastReadPost: state3.whatsNewData.url });
        setWhatsNewState({ ...state3.whatsNewData, postIsRead: true });
        fullAPI.clearNotification(WHATS_NEW_NOTIFICATION_ID);
      }
    },
    toggleWhatsNewNotifications() {
      if (state3.whatsNewData?.status === "SUCCESS") {
        setWhatsNewState({
          ...state3.whatsNewData,
          disableWhatsNewNotifications: !state3.whatsNewData.disableWhatsNewNotifications
        });
        provider.channel?.emit(TOGGLE_WHATS_NEW_NOTIFICATIONS, {
          disableWhatsNewNotifications: state3.whatsNewData.disableWhatsNewNotifications
        });
      }
    }
  };
  function getLatestWhatsNewPost() {
    provider.channel?.emit(REQUEST_WHATS_NEW_DATA);
    return new Promise(
      (resolve) => provider.channel?.once(
        RESULT_WHATS_NEW_DATA,
        ({ data }) => resolve(data)
      )
    );
  }
  __name(getLatestWhatsNewPost, "getLatestWhatsNewPost");
  function setWhatsNewCache(cache) {
    provider.channel?.emit(SET_WHATS_NEW_CACHE, cache);
  }
  __name(setWhatsNewCache, "setWhatsNewCache");
  const initModule = /* @__PURE__ */ __name(async () => {
    if (scope.CONFIG_TYPE !== "DEVELOPMENT") {
      return;
    }
    const whatsNewData = await getLatestWhatsNewPost();
    setWhatsNewState(whatsNewData);
    const urlState = fullAPI.getUrlState();
    const isOnboardingView = urlState?.path === "/onboarding" || urlState.queryParams?.onboarding === "true";
    if (!isOnboardingView && whatsNewData.status === "SUCCESS" && !whatsNewData.disableWhatsNewNotifications && whatsNewData.showNotification) {
      fullAPI.addNotification({
        id: WHATS_NEW_NOTIFICATION_ID,
        link: "/settings/whats-new",
        content: {
          headline: whatsNewData.title,
          subHeadline: "Learn what's new in Storybook"
        },
        icon: import_react65.default.createElement(StorybookIcon3, null),
        onClear({ dismissed }) {
          if (dismissed) {
            setWhatsNewCache({ lastDismissedPost: whatsNewData.url });
          }
        }
      });
    }
  }, "initModule");
  return { init: initModule, state: state3, api };
}, "init");

// src/manager-api/store.ts
var import_store22 = __toESM(require_store2(), 1);

// src/manager-api/lib/store-setup.ts
var store_setup_default = /* @__PURE__ */ __name((_) => {
  _.fn("set", function(key, data) {
    return _.set(
      // @ts-expect-error('this' implicitly has type 'any')
      this._area,
      // @ts-expect-error('this' implicitly has type 'any')
      this._in(key),
      stringify(data, { maxDepth: 50 })
    );
  });
  _.fn("get", function(key, alt) {
    const value = _.get(this._area, this._in(key));
    return value !== null ? parse(value) : alt || value;
  });
}, "default");

// src/manager-api/store.ts
store_setup_default(import_store22.default._);
var STORAGE_KEY = "@storybook/manager/store";
function get3(storage) {
  const data = storage.get(STORAGE_KEY);
  return data || {};
}
__name(get3, "get");
function set2(storage, value) {
  return storage.set(STORAGE_KEY, value);
}
__name(set2, "set");
function update(storage, patch) {
  const previous = get3(storage);
  return set2(storage, { ...previous, ...patch });
}
__name(update, "update");
var _Store = class _Store {
  constructor({ setState: setState2, getState: getState3 }) {
    this.upstreamSetState = setState2;
    this.upstreamGetState = getState3;
  }
  // The assumption is that this will be called once, to initialize the React state
  // when the module is instantiated
  getInitialState(base) {
    return { ...base, ...get3(import_store22.default.local), ...get3(import_store22.default.session) };
  }
  getState() {
    return this.upstreamGetState();
  }
  async setState(inputPatch, cbOrOptions, inputOptions) {
    let callback;
    let options;
    if (typeof cbOrOptions === "function") {
      callback = cbOrOptions;
      options = inputOptions;
    } else {
      options = cbOrOptions;
    }
    const { persistence = "none" } = options || {};
    let patch = {};
    let delta = {};
    if (typeof inputPatch === "function") {
      patch = /* @__PURE__ */ __name((state3) => {
        const getDelta = inputPatch;
        delta = getDelta(state3);
        return delta;
      }, "patch");
    } else {
      patch = inputPatch;
      delta = patch;
    }
    const newState = await new Promise((resolve) => {
      this.upstreamSetState(patch, () => {
        resolve(this.getState());
      });
    });
    if (persistence !== "none") {
      const storage = persistence === "session" ? import_store22.default.session : import_store22.default.local;
      await update(storage, delta);
    }
    if (callback) {
      callback(newState);
    }
    return newState;
  }
};
__name(_Store, "Store");
var Store = _Store;

// src/manager-api/lib/request-response.ts
var _RequestResponseError = class _RequestResponseError extends Error {
  constructor(message, payload) {
    super(message);
    this.payload = void 0;
    this.payload = payload;
  }
};
__name(_RequestResponseError, "RequestResponseError");
var RequestResponseError = _RequestResponseError;
var experimental_requestResponse = /* @__PURE__ */ __name((channel, requestEvent, responseEvent, payload, timeout = 5e3) => {
  let timeoutId;
  return new Promise((resolve, reject) => {
    const request = {
      id: Math.random().toString(16).slice(2),
      payload
    };
    const responseHandler = /* @__PURE__ */ __name((response) => {
      if (response.id !== request.id) {
        return;
      }
      clearTimeout(timeoutId);
      channel.off(responseEvent, responseHandler);
      if (response.success) {
        resolve(response.payload);
      } else {
        reject(new RequestResponseError(response.error, response.payload));
      }
    }, "responseHandler");
    channel.emit(requestEvent, request);
    channel.on(responseEvent, responseHandler);
    timeoutId = setTimeout(() => {
      channel.off(responseEvent, responseHandler);
      reject(new RequestResponseError("Timed out waiting for response"));
    }, timeout);
  });
}, "experimental_requestResponse");

// src/manager-api/root.tsx
var { ActiveTabs: ActiveTabs2 } = layout_exports;
var ManagerContext = createContext8({ api: void 0, state: initial_state_default({}) });
var combineParameters2 = /* @__PURE__ */ __name((...parameterSets) => noArrayMerge({}, ...parameterSets), "combineParameters");
var _ManagerProvider = class _ManagerProvider extends import_react66.Component {
  constructor(props) {
    super(props);
    this.api = {};
    this.initModules = /* @__PURE__ */ __name(() => {
      this.modules.forEach((module2) => {
        if ("init" in module2) {
          module2.init();
        }
      });
    }, "initModules");
    const {
      location: location3,
      path,
      refId,
      viewMode = props.docsOptions.docsMode ? "docs" : props.viewMode,
      singleStory,
      storyId,
      docsOptions,
      navigate
    } = props;
    const store2 = new Store({
      getState: /* @__PURE__ */ __name(() => this.state, "getState"),
      setState: /* @__PURE__ */ __name((stateChange, callback) => {
        this.setState(stateChange, () => callback(this.state));
        return this.state;
      }, "setState")
    });
    const routeData = { location: location3, path, viewMode, singleStory, storyId, refId };
    const optionsData = { docsOptions };
    this.state = store2.getInitialState(initial_state_default({ ...routeData, ...optionsData }));
    const apiData = {
      navigate,
      store: store2,
      provider: props.provider
    };
    this.modules = [
      provider_exports,
      channel_exports,
      addons_exports,
      layout_exports,
      notifications_exports,
      settings_exports,
      shortcuts_exports,
      stories_exports,
      refs_exports,
      globals_exports,
      url_exports,
      versions_exports,
      whatsnew_exports,
      open_in_editor_exports
    ].map(
      (m3) => m3.init({ ...routeData, ...optionsData, ...apiData, state: this.state, fullAPI: this.api })
    );
    const state3 = initial_state_default(this.state, ...this.modules.map((m3) => m3.state));
    const api = Object.assign(this.api, { navigate }, ...this.modules.map((m3) => m3.api));
    this.state = state3;
    this.api = api;
  }
  static getDerivedStateFromProps(props, state3) {
    if (state3.path !== props.path) {
      return {
        ...state3,
        location: props.location,
        path: props.path,
        refId: props.refId,
        viewMode: props.viewMode,
        storyId: props.storyId
      };
    }
    return null;
  }
  shouldComponentUpdate(nextProps, nextState) {
    const prevProps = this.props;
    const prevState = this.state;
    return prevProps.path !== nextProps.path || !isEqual3(prevState, nextState);
  }
  render() {
    const { children } = this.props;
    const value = {
      state: this.state,
      api: this.api
    };
    return import_react66.default.createElement(EffectOnMount, { effect: this.initModules }, import_react66.default.createElement(ManagerContext.Provider, { value }, import_react66.default.createElement(ManagerConsumer, null, children)));
  }
};
__name(_ManagerProvider, "ManagerProvider");
_ManagerProvider.displayName = "Manager";
var ManagerProvider = _ManagerProvider;
var EffectOnMount = /* @__PURE__ */ __name(({ children, effect: effect4 }) => {
  import_react66.default.useEffect(effect4, []);
  return children;
}, "EffectOnMount");
var defaultFilter = /* @__PURE__ */ __name((c2) => c2, "defaultFilter");
function ManagerConsumer({
  // @ts-expect-error (Converted from ts-ignore)
  filter = defaultFilter,
  children
}) {
  const managerContext = (0, import_react66.useContext)(ManagerContext);
  const renderer = (0, import_react66.useRef)(children);
  const filterer = (0, import_react66.useRef)(filter);
  if (typeof renderer.current !== "function") {
    return import_react66.default.createElement(import_react66.Fragment, null, renderer.current);
  }
  const comboData = filterer.current(managerContext);
  const comboDataArray = (0, import_react66.useMemo)(() => {
    return [...Object.entries(comboData).reduce((acc, keyval) => acc.concat(keyval), [])];
  }, [managerContext.state]);
  return (0, import_react66.useMemo)(() => {
    const Child = renderer.current;
    return import_react66.default.createElement(Child, { ...comboData });
  }, comboDataArray);
}
__name(ManagerConsumer, "ManagerConsumer");
function useStorybookState() {
  const { state: state3 } = (0, import_react66.useContext)(ManagerContext);
  return state3;
}
__name(useStorybookState, "useStorybookState");
function useStorybookApi() {
  const { api } = (0, import_react66.useContext)(ManagerContext);
  return api;
}
__name(useStorybookApi, "useStorybookApi");
function orDefault(fromStore, defaultState) {
  if (typeof fromStore === "undefined") {
    return defaultState;
  }
  return fromStore;
}
__name(orDefault, "orDefault");
var useChannel2 = /* @__PURE__ */ __name((eventMap3, deps = []) => {
  const api = useStorybookApi();
  (0, import_react66.useEffect)(() => {
    Object.entries(eventMap3).forEach(([type5, listener]) => api.on(type5, listener));
    return () => {
      Object.entries(eventMap3).forEach(([type5, listener]) => api.off(type5, listener));
    };
  }, deps);
  return api.emit;
}, "useChannel");
function useStoryPrepared(storyId) {
  const api = useStorybookApi();
  return api.isPrepared(storyId);
}
__name(useStoryPrepared, "useStoryPrepared");
function useParameter2(parameterKey, defaultValue) {
  const api = useStorybookApi();
  const [parameter, setParameter] = (0, import_react66.useState)(api.getCurrentParameter(parameterKey));
  const handleParameterChange = (0, import_react66.useCallback)(() => {
    const newParameter = api.getCurrentParameter(parameterKey);
    setParameter(newParameter);
  }, [api, parameterKey]);
  useChannel2(
    {
      [STORY_PREPARED]: handleParameterChange,
      [DOCS_PREPARED]: handleParameterChange
    },
    [handleParameterChange]
  );
  return orDefault(parameter, defaultValue);
}
__name(useParameter2, "useParameter");
globalThis.STORYBOOK_ADDON_STATE = {};
var { STORYBOOK_ADDON_STATE } = globalThis;
function useSharedState(stateId, defaultState) {
  const api = useStorybookApi();
  const existingState = api.getAddonState(stateId) || STORYBOOK_ADDON_STATE[stateId];
  const state3 = orDefault(
    existingState,
    STORYBOOK_ADDON_STATE[stateId] ? STORYBOOK_ADDON_STATE[stateId] : defaultState
  );
  let quicksync = false;
  if (state3 === defaultState && defaultState !== void 0) {
    STORYBOOK_ADDON_STATE[stateId] = defaultState;
    quicksync = true;
  }
  (0, import_react66.useEffect)(() => {
    if (quicksync) {
      api.setAddonState(stateId, defaultState);
    }
  }, [quicksync]);
  const setState2 = (0, import_react66.useCallback)(
    async (s3, options) => {
      await api.setAddonState(stateId, s3, options);
      const result = api.getAddonState(stateId);
      STORYBOOK_ADDON_STATE[stateId] = result;
      return result;
    },
    [api, stateId]
  );
  const allListeners = (0, import_react66.useMemo)(() => {
    const stateChangeHandlers = {
      [`${SHARED_STATE_CHANGED}-client-${stateId}`]: setState2,
      [`${SHARED_STATE_SET}-client-${stateId}`]: setState2
    };
    const stateInitializationHandlers = {
      [SET_STORIES]: async () => {
        const currentState = api.getAddonState(stateId);
        if (currentState) {
          STORYBOOK_ADDON_STATE[stateId] = currentState;
          api.emit(`${SHARED_STATE_SET}-manager-${stateId}`, currentState);
        } else if (STORYBOOK_ADDON_STATE[stateId]) {
          await setState2(STORYBOOK_ADDON_STATE[stateId]);
          api.emit(`${SHARED_STATE_SET}-manager-${stateId}`, STORYBOOK_ADDON_STATE[stateId]);
        } else if (defaultState !== void 0) {
          await setState2(defaultState);
          STORYBOOK_ADDON_STATE[stateId] = defaultState;
          api.emit(`${SHARED_STATE_SET}-manager-${stateId}`, defaultState);
        }
      },
      [STORY_CHANGED]: () => {
        const currentState = api.getAddonState(stateId);
        if (currentState !== void 0) {
          api.emit(`${SHARED_STATE_SET}-manager-${stateId}`, currentState);
        }
      }
    };
    return {
      ...stateChangeHandlers,
      ...stateInitializationHandlers
    };
  }, [stateId]);
  const emit = useChannel2(allListeners);
  const stateSetter = (0, import_react66.useCallback)(
    async (newStateOrMerger, options) => {
      await setState2(newStateOrMerger, options);
      const result = api.getAddonState(stateId);
      emit(`${SHARED_STATE_CHANGED}-manager-${stateId}`, result);
    },
    [api, emit, setState2, stateId]
  );
  return [state3, stateSetter];
}
__name(useSharedState, "useSharedState");
function useAddonState(addonId, defaultState) {
  return useSharedState(addonId, defaultState);
}
__name(useAddonState, "useAddonState");
function useArgs2() {
  const { getCurrentStoryData, updateStoryArgs, resetStoryArgs } = useStorybookApi();
  const data = getCurrentStoryData();
  const args = data?.type === "story" ? data.args : {};
  const initialArgs = data?.type === "story" ? data.initialArgs : {};
  const updateArgs = (0, import_react66.useCallback)(
    (newArgs) => updateStoryArgs(data, newArgs),
    [data, updateStoryArgs]
  );
  const resetArgs = (0, import_react66.useCallback)(
    (argNames) => resetStoryArgs(data, argNames),
    [data, resetStoryArgs]
  );
  return [args, updateArgs, resetArgs, initialArgs];
}
__name(useArgs2, "useArgs");
function useGlobals2() {
  const api = useStorybookApi();
  return [api.getGlobals(), api.updateGlobals, api.getStoryGlobals(), api.getUserGlobals()];
}
__name(useGlobals2, "useGlobals");
function useGlobalTypes() {
  return useStorybookApi().getGlobalTypes();
}
__name(useGlobalTypes, "useGlobalTypes");
function useCurrentStory() {
  const { getCurrentStoryData } = useStorybookApi();
  return getCurrentStoryData();
}
__name(useCurrentStory, "useCurrentStory");
function useArgTypes() {
  const current = useCurrentStory();
  return current?.type === "story" && current.argTypes || {};
}
__name(useArgTypes, "useArgTypes");
var typesX = Addon_TypesEnum;

// src/shared/universal-store/mock.ts
init_esm();
var _MockUniversalStore = class _MockUniversalStore extends UniversalStore {
  constructor(options, testUtils) {
    UniversalStore.isInternalConstructing = true;
    super(
      { ...options, leader: true },
      { channel: new Channel({}), environment: UniversalStore.Environment.MOCK }
    );
    UniversalStore.isInternalConstructing = false;
    if (typeof testUtils?.fn !== "function") {
      return;
    }
    this.testUtils = testUtils;
    this.getState = testUtils.fn(this.getState);
    this.setState = testUtils.fn(this.setState);
    this.subscribe = testUtils.fn(this.subscribe);
    this.onStateChange = testUtils.fn(this.onStateChange);
    this.send = testUtils.fn(this.send);
  }
  /** Create a mock universal store. This is just an alias for the constructor */
  static create(options, testUtils) {
    return new _MockUniversalStore(options, testUtils);
  }
  unsubscribeAll() {
    if (!this.testUtils) {
      throw new Error(
        dedent`Cannot call unsubscribeAll on a store that does not have testUtils.
        Please provide testUtils as the second argument when creating the store.`
      );
    }
    const callReturnedUnsubscribeFn = /* @__PURE__ */ __name((result) => {
      try {
        result.value();
      } catch (e2) {
      }
    }, "callReturnedUnsubscribeFn");
    this.subscribe.mock?.results.forEach(callReturnedUnsubscribeFn);
    this.onStateChange.mock?.results.forEach(callReturnedUnsubscribeFn);
  }
};
__name(_MockUniversalStore, "MockUniversalStore");
var MockUniversalStore = _MockUniversalStore;

// src/shared/test-provider-store/index.ts
var UNIVERSAL_TEST_PROVIDER_STORE_OPTIONS = {
  id: "storybook/test-provider",
  leader: true,
  initialState: {}
};
function createTestProviderStore({
  universalTestProviderStore: universalTestProviderStore2,
  useUniversalStore: useUniversalStore2
}) {
  const baseStore = {
    settingsChanged: /* @__PURE__ */ __name(() => {
      universalTestProviderStore2.untilReady().then(() => {
        universalTestProviderStore2.send({ type: "settings-changed" });
      });
    }, "settingsChanged"),
    onRunAll: /* @__PURE__ */ __name((listener) => universalTestProviderStore2.subscribe("run-all", listener), "onRunAll"),
    onClearAll: /* @__PURE__ */ __name((listener) => universalTestProviderStore2.subscribe("clear-all", listener), "onClearAll")
  };
  const fullTestProviderStore2 = {
    ...baseStore,
    getFullState: universalTestProviderStore2.getState,
    setFullState: universalTestProviderStore2.setState,
    onSettingsChanged: /* @__PURE__ */ __name((listener) => universalTestProviderStore2.subscribe("settings-changed", listener), "onSettingsChanged"),
    runAll: /* @__PURE__ */ __name(async () => {
      await universalTestProviderStore2.untilReady();
      universalTestProviderStore2.send({ type: "run-all" });
    }, "runAll"),
    clearAll: /* @__PURE__ */ __name(async () => {
      await universalTestProviderStore2.untilReady();
      universalTestProviderStore2.send({ type: "clear-all" });
    }, "clearAll")
  };
  const getTestProviderStoreById2 = /* @__PURE__ */ __name((testProviderId) => {
    const getStateForTestProvider = /* @__PURE__ */ __name(() => universalTestProviderStore2.getState()[testProviderId] ?? "test-provider-state:pending", "getStateForTestProvider");
    const setStateForTestProvider = /* @__PURE__ */ __name((state3) => {
      universalTestProviderStore2.untilReady().then(() => {
        universalTestProviderStore2.setState((currentState) => ({
          ...currentState,
          [testProviderId]: state3
        }));
      });
    }, "setStateForTestProvider");
    return {
      ...baseStore,
      testProviderId,
      getState: getStateForTestProvider,
      setState: setStateForTestProvider,
      runWithState: /* @__PURE__ */ __name(async (callback) => {
        setStateForTestProvider("test-provider-state:running");
        try {
          await callback();
          setStateForTestProvider("test-provider-state:succeeded");
        } catch (error) {
          setStateForTestProvider("test-provider-state:crashed");
        }
      }, "runWithState")
    };
  }, "getTestProviderStoreById");
  if (useUniversalStore2) {
    return {
      getTestProviderStoreById: getTestProviderStoreById2,
      fullTestProviderStore: fullTestProviderStore2,
      universalTestProviderStore: universalTestProviderStore2,
      useTestProviderStore: /* @__PURE__ */ __name((selector) => useUniversalStore2(universalTestProviderStore2, selector)[0], "useTestProviderStore")
    };
  }
  return {
    getTestProviderStoreById: getTestProviderStoreById2,
    fullTestProviderStore: fullTestProviderStore2,
    universalTestProviderStore: universalTestProviderStore2
  };
}
__name(createTestProviderStore, "createTestProviderStore");

// src/manager-api/stores/test-provider.ts
var testProviderStore = createTestProviderStore({
  universalTestProviderStore: UniversalStore.create({
    ...UNIVERSAL_TEST_PROVIDER_STORE_OPTIONS,
    leader: globalThis.CONFIG_TYPE === "PRODUCTION"
  }),
  useUniversalStore
});
var {
  fullTestProviderStore,
  getTestProviderStoreById,
  useTestProviderStore,
  universalTestProviderStore
} = testProviderStore;

// src/manager/globals/runtime.ts
init_theming();
init_create();
var globalsNameValueMap = {
  react: REACT,
  "react-dom": REACT_DOM,
  "react-dom/client": REACT_DOM_CLIENT,
  "@storybook/icons": dist_exports2,
  "storybook/manager-api": manager_api_exports,
  "storybook/theming": theming_exports,
  "storybook/theming/create": create_exports,
  "storybook/test": test_exports,
  "storybook/internal/channels": channels_exports,
  "storybook/internal/client-logger": client_logger_exports,
  "storybook/internal/components": components_exports,
  "storybook/internal/core-events": core_events_exports,
  "storybook/internal/manager-errors": manager_errors_exports,
  "storybook/internal/router": router_exports,
  "storybook/internal/types": types_exports
};

// src/manager/utils/prepareForTelemetry.ts
init_dist();
var import_browser_dtector = __toESM(require_browser_dtector_umd_min(), 1);
var browserInfo;
function getBrowserInfo() {
  if (!browserInfo) {
    browserInfo = new import_browser_dtector.default(scope.navigator?.userAgent).getBrowserInfo();
  }
  return browserInfo;
}
__name(getBrowserInfo, "getBrowserInfo");
var errorMessages = [
  // It's a harmless issue with react-resize-detector that supposedly will be gone when we move to React 18.
  // https://github.com/maslianok/react-resize-detector/issues/45#issuecomment-1500958024
  "ResizeObserver loop completed with undelivered notifications.",
  "ResizeObserver loop limit exceeded",
  // Safari does not seem to provide any helpful info on window.onerror
  // https://bugs.webkit.org/show_bug.cgi?id=132945
  "Script error.",
  // When react-dev-tools is installed as a browser extension, it will log this error
  "React is running in production mode"
];
var shouldSkipError = /* @__PURE__ */ __name((error) => errorMessages.includes(error?.message), "shouldSkipError");
function prepareForTelemetry(originalError) {
  let error = originalError;
  if (originalError.target === scope || originalError.currentTarget === scope || originalError.srcElement === scope) {
    error = new Error(originalError.message);
    error.name = originalError.name || error.name;
  }
  if (!originalError.fromStorybook) {
    error = new UncaughtManagerError({ error });
  }
  error.browserInfo = getBrowserInfo();
  return error;
}
__name(prepareForTelemetry, "prepareForTelemetry");

// src/manager/globals-runtime.ts
globalPackages.forEach((key) => {
  globalThis[globalsNameReferenceMap[key]] = globalsNameValueMap[key];
});
var queuedErrors = [];
globalThis.sendTelemetryError = (error) => {
  if (shouldSkipError(error)) {
    return;
  }
  const channel = globalThis.__STORYBOOK_ADDONS_CHANNEL__;
  const preparedError = prepareForTelemetry(error);
  if (!channel) {
    queuedErrors.push(preparedError);
    return;
  }
  while (queuedErrors.length > 0) {
    const queuedError = queuedErrors.shift();
    channel.emit(TELEMETRY_ERROR, queuedError);
  }
  channel.emit(TELEMETRY_ERROR, preparedError);
};
globalThis.addEventListener("error", (args) => {
  const error = args.error || args;
  globalThis.sendTelemetryError(error);
});
globalThis.addEventListener("unhandledrejection", ({ reason }) => {
  globalThis.sendTelemetryError(reason);
});
