qr-access-admin/src/main/frontend/generated/jar-resources/copilot/copilot-xjoIJFQc.js
2025-01-28 17:10:45 +03:00

5625 lines
283 KiB
JavaScript

class Po {
constructor() {
this.eventBuffer = [], this.handledTypes = [], this.copilotMain = null, this.debug = !1, this.eventProxy = {
functionCallQueue: [],
dispatchEvent(...t) {
return this.functionCallQueue.push({ name: "dispatchEvent", args: t }), !0;
},
removeEventListener(...t) {
this.functionCallQueue.push({ name: "removeEventListener", args: t });
},
addEventListener(...t) {
this.functionCallQueue.push({ name: "addEventListener", args: t });
},
processQueue(t) {
this.functionCallQueue.forEach((n) => {
t[n.name].call(t, ...n.args);
}), this.functionCallQueue = [];
}
};
}
getEventTarget() {
return this.copilotMain ? this.copilotMain : (this.copilotMain = document.querySelector("copilot-main"), this.copilotMain ? (this.eventProxy.processQueue(this.copilotMain), this.copilotMain) : this.eventProxy);
}
on(t, n) {
const r = n;
return this.getEventTarget().addEventListener(t, r), this.handledTypes.push(t), this.flush(t), () => this.off(t, r);
}
once(t, n) {
this.getEventTarget().addEventListener(t, n, { once: !0 });
}
off(t, n) {
this.getEventTarget().removeEventListener(t, n);
const r = this.handledTypes.indexOf(t, 0);
r > -1 && this.handledTypes.splice(r, 1);
}
emit(t, n) {
const r = new CustomEvent(t, { detail: n, cancelable: !0 });
return this.handledTypes.includes(t) || this.eventBuffer.push(r), this.debug && console.debug("Emit event", r), this.getEventTarget().dispatchEvent(r), r.defaultPrevented;
}
emitUnsafe({ type: t, data: n }) {
return this.emit(t, n);
}
// Communication with server via eventbus
send(t, n) {
const r = new CustomEvent("copilot-send", { detail: { command: t, data: n } });
this.getEventTarget().dispatchEvent(r);
}
// Listeners for Copilot itself
onSend(t) {
this.on("copilot-send", t);
}
offSend(t) {
this.off("copilot-send", t);
}
flush(t) {
const n = [];
this.eventBuffer.filter((r) => r.type === t).forEach((r) => {
this.getEventTarget().dispatchEvent(r), n.push(r);
}), this.eventBuffer = this.eventBuffer.filter((r) => !n.includes(r));
}
}
var Co = {
0: "Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'",
1: function(t, n) {
return "Cannot apply '" + t + "' to '" + n.toString() + "': Field not found.";
},
/*
2(prop) {
return `invalid decorator for '${prop.toString()}'`
},
3(prop) {
return `Cannot decorate '${prop.toString()}': action can only be used on properties with a function value.`
},
4(prop) {
return `Cannot decorate '${prop.toString()}': computed can only be used on getter properties.`
},
*/
5: "'keys()' can only be used on observable objects, arrays, sets and maps",
6: "'values()' can only be used on observable objects, arrays, sets and maps",
7: "'entries()' can only be used on observable objects, arrays and maps",
8: "'set()' can only be used on observable objects, arrays and maps",
9: "'remove()' can only be used on observable objects, arrays and maps",
10: "'has()' can only be used on observable objects, arrays and maps",
11: "'get()' can only be used on observable objects, arrays and maps",
12: "Invalid annotation",
13: "Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)",
14: "Intercept handlers should return nothing or a change object",
15: "Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)",
16: "Modification exception: the internal structure of an observable array was changed.",
17: function(t, n) {
return "[mobx.array] Index out of bounds, " + t + " is larger than " + n;
},
18: "mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js",
19: function(t) {
return "Cannot initialize from classes that inherit from Map: " + t.constructor.name;
},
20: function(t) {
return "Cannot initialize map from " + t;
},
21: function(t) {
return "Cannot convert to map from '" + t + "'";
},
22: "mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js",
23: "It is not possible to get index atoms from arrays",
24: function(t) {
return "Cannot obtain administration from " + t;
},
25: function(t, n) {
return "the entry '" + t + "' does not exist in the observable map '" + n + "'";
},
26: "please specify a property",
27: function(t, n) {
return "no observable property '" + t.toString() + "' found on the observable object '" + n + "'";
},
28: function(t) {
return "Cannot obtain atom from " + t;
},
29: "Expecting some object",
30: "invalid action stack. did you forget to finish an action?",
31: "missing option for computed: get",
32: function(t, n) {
return "Cycle detected in computation " + t + ": " + n;
},
33: function(t) {
return "The setter of computed value '" + t + "' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?";
},
34: function(t) {
return "[ComputedValue '" + t + "'] It is not possible to assign a new value to a computed value.";
},
35: "There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`",
36: "isolateGlobalState should be called before MobX is running any reactions",
37: function(t) {
return "[mobx] `observableArray." + t + "()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice()." + t + "()` instead";
},
38: "'ownKeys()' can only be used on observable objects",
39: "'defineProperty()' can only be used on observable objects"
}, Do = process.env.NODE_ENV !== "production" ? Co : {};
function h(e) {
for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
n[r - 1] = arguments[r];
if (process.env.NODE_ENV !== "production") {
var i = typeof e == "string" ? e : Do[e];
throw typeof i == "function" && (i = i.apply(null, n)), new Error("[MobX] " + i);
}
throw new Error(typeof e == "number" ? "[MobX] minified error nr: " + e + (n.length ? " " + n.map(String).join(",") : "") + ". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts" : "[MobX] " + e);
}
var Ro = {};
function Vn() {
return typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : Ro;
}
var Jr = Object.assign, Mt = Object.getOwnPropertyDescriptor, Y = Object.defineProperty, Xt = Object.prototype, jt = [];
Object.freeze(jt);
var In = {};
Object.freeze(In);
var To = typeof Proxy < "u", Vo = /* @__PURE__ */ Object.toString();
function Xr() {
To || h(process.env.NODE_ENV !== "production" ? "`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`" : "Proxy not available");
}
function $e(e) {
process.env.NODE_ENV !== "production" && f.verifyProxies && h("MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to " + e);
}
function W() {
return ++f.mobxGuid;
}
function kn(e) {
var t = !1;
return function() {
if (!t)
return t = !0, e.apply(this, arguments);
};
}
var Ue = function() {
};
function S(e) {
return typeof e == "function";
}
function Se(e) {
var t = typeof e;
switch (t) {
case "string":
case "symbol":
case "number":
return !0;
}
return !1;
}
function Yt(e) {
return e !== null && typeof e == "object";
}
function C(e) {
if (!Yt(e))
return !1;
var t = Object.getPrototypeOf(e);
if (t == null)
return !0;
var n = Object.hasOwnProperty.call(t, "constructor") && t.constructor;
return typeof n == "function" && n.toString() === Vo;
}
function Yr(e) {
var t = e?.constructor;
return t ? t.name === "GeneratorFunction" || t.displayName === "GeneratorFunction" : !1;
}
function Qt(e, t, n) {
Y(e, t, {
enumerable: !1,
writable: !0,
configurable: !0,
value: n
});
}
function Qr(e, t, n) {
Y(e, t, {
enumerable: !1,
writable: !1,
configurable: !0,
value: n
});
}
function Ve(e, t) {
var n = "isMobX" + e;
return t.prototype[n] = !0, function(r) {
return Yt(r) && r[n] === !0;
};
}
function Ge(e) {
return e != null && Object.prototype.toString.call(e) === "[object Map]";
}
function Io(e) {
var t = Object.getPrototypeOf(e), n = Object.getPrototypeOf(t), r = Object.getPrototypeOf(n);
return r === null;
}
function te(e) {
return e != null && Object.prototype.toString.call(e) === "[object Set]";
}
var $r = typeof Object.getOwnPropertySymbols < "u";
function ko(e) {
var t = Object.keys(e);
if (!$r)
return t;
var n = Object.getOwnPropertySymbols(e);
return n.length ? [].concat(t, n.filter(function(r) {
return Xt.propertyIsEnumerable.call(e, r);
})) : t;
}
var ft = typeof Reflect < "u" && Reflect.ownKeys ? Reflect.ownKeys : $r ? function(e) {
return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e));
} : (
/* istanbul ignore next */
Object.getOwnPropertyNames
);
function An(e) {
return typeof e == "string" ? e : typeof e == "symbol" ? e.toString() : new String(e).toString();
}
function ei(e) {
return e === null ? null : typeof e == "object" ? "" + e : e;
}
function Z(e, t) {
return Xt.hasOwnProperty.call(e, t);
}
var Lo = Object.getOwnPropertyDescriptors || function(t) {
var n = {};
return ft(t).forEach(function(r) {
n[r] = Mt(t, r);
}), n;
};
function R(e, t) {
return !!(e & t);
}
function T(e, t, n) {
return n ? e |= t : e &= ~t, e;
}
function $n(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
function Mo(e, t) {
for (var n = 0; n < t.length; n++) {
var r = t[n];
r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, Uo(r.key), r);
}
}
function Ke(e, t, n) {
return t && Mo(e.prototype, t), Object.defineProperty(e, "prototype", {
writable: !1
}), e;
}
function Be(e, t) {
var n = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
if (n) return (n = n.call(e)).next.bind(n);
if (Array.isArray(e) || (n = Bo(e)) || t) {
n && (e = n);
var r = 0;
return function() {
return r >= e.length ? {
done: !0
} : {
done: !1,
value: e[r++]
};
};
}
throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}
function de() {
return de = Object.assign ? Object.assign.bind() : function(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var r in n) ({}).hasOwnProperty.call(n, r) && (e[r] = n[r]);
}
return e;
}, de.apply(null, arguments);
}
function ti(e, t) {
e.prototype = Object.create(t.prototype), e.prototype.constructor = e, En(e, t);
}
function En(e, t) {
return En = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(n, r) {
return n.__proto__ = r, n;
}, En(e, t);
}
function jo(e, t) {
if (typeof e != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
if (typeof r != "object") return r;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return String(e);
}
function Uo(e) {
var t = jo(e, "string");
return typeof t == "symbol" ? t : t + "";
}
function Bo(e, t) {
if (e) {
if (typeof e == "string") return $n(e, t);
var n = {}.toString.call(e).slice(8, -1);
return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? $n(e, t) : void 0;
}
}
var ne = /* @__PURE__ */ Symbol("mobx-stored-annotations");
function Q(e) {
function t(n, r) {
if (wt(r))
return e.decorate_20223_(n, r);
yt(n, r, e);
}
return Object.assign(t, e);
}
function yt(e, t, n) {
if (Z(e, ne) || Qt(e, ne, de({}, e[ne])), process.env.NODE_ENV !== "production" && Ut(n) && !Z(e[ne], t)) {
var r = e.constructor.name + ".prototype." + t.toString();
h("'" + r + "' is decorated with 'override', but no such decorated member was found on prototype.");
}
zo(e, n, t), Ut(n) || (e[ne][t] = n);
}
function zo(e, t, n) {
if (process.env.NODE_ENV !== "production" && !Ut(t) && Z(e[ne], n)) {
var r = e.constructor.name + ".prototype." + n.toString(), i = e[ne][n].annotationType_, o = t.annotationType_;
h("Cannot apply '@" + o + "' to '" + r + "':" + (`
The field is already decorated with '@` + i + "'.") + `
Re-decorating fields is not allowed.
Use '@override' decorator for methods overridden by subclass.`);
}
}
function wt(e) {
return typeof e == "object" && typeof e.kind == "string";
}
function $t(e, t) {
process.env.NODE_ENV !== "production" && !t.includes(e.kind) && h("The decorator applied to '" + String(e.name) + "' cannot be used on a " + e.kind + " element");
}
var b = /* @__PURE__ */ Symbol("mobx administration"), ve = /* @__PURE__ */ function() {
function e(n) {
n === void 0 && (n = process.env.NODE_ENV !== "production" ? "Atom@" + W() : "Atom"), this.name_ = void 0, this.flags_ = 0, this.observers_ = /* @__PURE__ */ new Set(), this.lastAccessedBy_ = 0, this.lowestObserverState_ = y.NOT_TRACKING_, this.onBOL = void 0, this.onBUOL = void 0, this.name_ = n;
}
var t = e.prototype;
return t.onBO = function() {
this.onBOL && this.onBOL.forEach(function(r) {
return r();
});
}, t.onBUO = function() {
this.onBUOL && this.onBUOL.forEach(function(r) {
return r();
});
}, t.reportObserved = function() {
return bi(this);
}, t.reportChanged = function() {
j(), mi(this), U();
}, t.toString = function() {
return this.name_;
}, Ke(e, [{
key: "isBeingObserved",
get: function() {
return R(this.flags_, e.isBeingObservedMask_);
},
set: function(r) {
this.flags_ = T(this.flags_, e.isBeingObservedMask_, r);
}
}, {
key: "isPendingUnobservation",
get: function() {
return R(this.flags_, e.isPendingUnobservationMask_);
},
set: function(r) {
this.flags_ = T(this.flags_, e.isPendingUnobservationMask_, r);
}
}, {
key: "diffValue",
get: function() {
return R(this.flags_, e.diffValueMask_) ? 1 : 0;
},
set: function(r) {
this.flags_ = T(this.flags_, e.diffValueMask_, r === 1);
}
}]);
}();
ve.isBeingObservedMask_ = 1;
ve.isPendingUnobservationMask_ = 2;
ve.diffValueMask_ = 4;
var Ln = /* @__PURE__ */ Ve("Atom", ve);
function ni(e, t, n) {
t === void 0 && (t = Ue), n === void 0 && (n = Ue);
var r = new ve(e);
return t !== Ue && es(r, t), n !== Ue && Pi(r, n), r;
}
function Wo(e, t) {
return e === t;
}
function Fo(e, t) {
return Wn(e, t);
}
function Zo(e, t) {
return Wn(e, t, 1);
}
function qo(e, t) {
return Object.is ? Object.is(e, t) : e === t ? e !== 0 || 1 / e === 1 / t : e !== e && t !== t;
}
var ze = {
identity: Wo,
structural: Fo,
default: qo,
shallow: Zo
};
function Ne(e, t, n) {
return pt(e) ? e : Array.isArray(e) ? N.array(e, {
name: n
}) : C(e) ? N.object(e, void 0, {
name: n
}) : Ge(e) ? N.map(e, {
name: n
}) : te(e) ? N.set(e, {
name: n
}) : typeof e == "function" && !We(e) && !vt(e) ? Yr(e) ? Fe(e) : ht(n, e) : e;
}
function Go(e, t, n) {
if (e == null || Je(e) || ln(e) || pe(e) || J(e))
return e;
if (Array.isArray(e))
return N.array(e, {
name: n,
deep: !1
});
if (C(e))
return N.object(e, void 0, {
name: n,
deep: !1
});
if (Ge(e))
return N.map(e, {
name: n,
deep: !1
});
if (te(e))
return N.set(e, {
name: n,
deep: !1
});
process.env.NODE_ENV !== "production" && h("The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets");
}
function en(e) {
return e;
}
function Ko(e, t) {
return process.env.NODE_ENV !== "production" && pt(e) && h("observable.struct should not be used with observable values"), Wn(e, t) ? t : e;
}
var Ho = "override";
function Ut(e) {
return e.annotationType_ === Ho;
}
function At(e, t) {
return {
annotationType_: e,
options_: t,
make_: Jo,
extend_: Xo,
decorate_20223_: Yo
};
}
function Jo(e, t, n, r) {
var i;
if ((i = this.options_) != null && i.bound)
return this.extend_(e, t, n, !1) === null ? 0 : 1;
if (r === e.target_)
return this.extend_(e, t, n, !1) === null ? 0 : 2;
if (We(n.value))
return 1;
var o = ri(e, this, t, n, !1);
return Y(r, t, o), 2;
}
function Xo(e, t, n, r) {
var i = ri(e, this, t, n);
return e.defineProperty_(t, i, r);
}
function Yo(e, t) {
process.env.NODE_ENV !== "production" && $t(t, ["method", "field"]);
var n = t.kind, r = t.name, i = t.addInitializer, o = this, a = function(c) {
var u, d, v, g;
return xe((u = (d = o.options_) == null ? void 0 : d.name) != null ? u : r.toString(), c, (v = (g = o.options_) == null ? void 0 : g.autoAction) != null ? v : !1);
};
if (n == "field")
return function(l) {
var c, u = l;
return We(u) || (u = a(u)), (c = o.options_) != null && c.bound && (u = u.bind(this), u.isMobxAction = !0), u;
};
if (n == "method") {
var s;
return We(e) || (e = a(e)), (s = this.options_) != null && s.bound && i(function() {
var l = this, c = l[r].bind(l);
c.isMobxAction = !0, l[r] = c;
}), e;
}
h("Cannot apply '" + o.annotationType_ + "' to '" + String(r) + "' (kind: " + n + "):" + (`
'` + o.annotationType_ + "' can only be used on properties with a function value."));
}
function Qo(e, t, n, r) {
var i = t.annotationType_, o = r.value;
process.env.NODE_ENV !== "production" && !S(o) && h("Cannot apply '" + i + "' to '" + e.name_ + "." + n.toString() + "':" + (`
'` + i + "' can only be used on properties with a function value."));
}
function ri(e, t, n, r, i) {
var o, a, s, l, c, u, d;
i === void 0 && (i = f.safeDescriptors), Qo(e, t, n, r);
var v = r.value;
if ((o = t.options_) != null && o.bound) {
var g;
v = v.bind((g = e.proxy_) != null ? g : e.target_);
}
return {
value: xe(
(a = (s = t.options_) == null ? void 0 : s.name) != null ? a : n.toString(),
v,
(l = (c = t.options_) == null ? void 0 : c.autoAction) != null ? l : !1,
// https://github.com/mobxjs/mobx/discussions/3140
(u = t.options_) != null && u.bound ? (d = e.proxy_) != null ? d : e.target_ : void 0
),
// Non-configurable for classes
// prevents accidental field redefinition in subclass
configurable: i ? e.isPlainObject_ : !0,
// https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058
enumerable: !1,
// Non-obsevable, therefore non-writable
// Also prevents rewriting in subclass constructor
writable: !i
};
}
function ii(e, t) {
return {
annotationType_: e,
options_: t,
make_: $o,
extend_: ea,
decorate_20223_: ta
};
}
function $o(e, t, n, r) {
var i;
if (r === e.target_)
return this.extend_(e, t, n, !1) === null ? 0 : 2;
if ((i = this.options_) != null && i.bound && (!Z(e.target_, t) || !vt(e.target_[t])) && this.extend_(e, t, n, !1) === null)
return 0;
if (vt(n.value))
return 1;
var o = oi(e, this, t, n, !1, !1);
return Y(r, t, o), 2;
}
function ea(e, t, n, r) {
var i, o = oi(e, this, t, n, (i = this.options_) == null ? void 0 : i.bound);
return e.defineProperty_(t, o, r);
}
function ta(e, t) {
var n;
process.env.NODE_ENV !== "production" && $t(t, ["method"]);
var r = t.name, i = t.addInitializer;
return vt(e) || (e = Fe(e)), (n = this.options_) != null && n.bound && i(function() {
var o = this, a = o[r].bind(o);
a.isMobXFlow = !0, o[r] = a;
}), e;
}
function na(e, t, n, r) {
var i = t.annotationType_, o = r.value;
process.env.NODE_ENV !== "production" && !S(o) && h("Cannot apply '" + i + "' to '" + e.name_ + "." + n.toString() + "':" + (`
'` + i + "' can only be used on properties with a generator function value."));
}
function oi(e, t, n, r, i, o) {
o === void 0 && (o = f.safeDescriptors), na(e, t, n, r);
var a = r.value;
if (vt(a) || (a = Fe(a)), i) {
var s;
a = a.bind((s = e.proxy_) != null ? s : e.target_), a.isMobXFlow = !0;
}
return {
value: a,
// Non-configurable for classes
// prevents accidental field redefinition in subclass
configurable: o ? e.isPlainObject_ : !0,
// https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058
enumerable: !1,
// Non-obsevable, therefore non-writable
// Also prevents rewriting in subclass constructor
writable: !o
};
}
function Mn(e, t) {
return {
annotationType_: e,
options_: t,
make_: ra,
extend_: ia,
decorate_20223_: oa
};
}
function ra(e, t, n) {
return this.extend_(e, t, n, !1) === null ? 0 : 1;
}
function ia(e, t, n, r) {
return aa(e, this, t, n), e.defineComputedProperty_(t, de({}, this.options_, {
get: n.get,
set: n.set
}), r);
}
function oa(e, t) {
process.env.NODE_ENV !== "production" && $t(t, ["getter"]);
var n = this, r = t.name, i = t.addInitializer;
return i(function() {
var o = He(this)[b], a = de({}, n.options_, {
get: e,
context: this
});
a.name || (a.name = process.env.NODE_ENV !== "production" ? o.name_ + "." + r.toString() : "ObservableObject." + r.toString()), o.values_.set(r, new z(a));
}), function() {
return this[b].getObservablePropValue_(r);
};
}
function aa(e, t, n, r) {
var i = t.annotationType_, o = r.get;
process.env.NODE_ENV !== "production" && !o && h("Cannot apply '" + i + "' to '" + e.name_ + "." + n.toString() + "':" + (`
'` + i + "' can only be used on getter(+setter) properties."));
}
function tn(e, t) {
return {
annotationType_: e,
options_: t,
make_: sa,
extend_: la,
decorate_20223_: ca
};
}
function sa(e, t, n) {
return this.extend_(e, t, n, !1) === null ? 0 : 1;
}
function la(e, t, n, r) {
var i, o;
return ua(e, this, t, n), e.defineObservableProperty_(t, n.value, (i = (o = this.options_) == null ? void 0 : o.enhancer) != null ? i : Ne, r);
}
function ca(e, t) {
if (process.env.NODE_ENV !== "production") {
if (t.kind === "field")
throw h("Please use `@observable accessor " + String(t.name) + "` instead of `@observable " + String(t.name) + "`");
$t(t, ["accessor"]);
}
var n = this, r = t.kind, i = t.name, o = /* @__PURE__ */ new WeakSet();
function a(s, l) {
var c, u, d = He(s)[b], v = new Oe(l, (c = (u = n.options_) == null ? void 0 : u.enhancer) != null ? c : Ne, process.env.NODE_ENV !== "production" ? d.name_ + "." + i.toString() : "ObservableObject." + i.toString(), !1);
d.values_.set(i, v), o.add(s);
}
if (r == "accessor")
return {
get: function() {
return o.has(this) || a(this, e.get.call(this)), this[b].getObservablePropValue_(i);
},
set: function(l) {
return o.has(this) || a(this, l), this[b].setObservablePropValue_(i, l);
},
init: function(l) {
return o.has(this) || a(this, l), l;
}
};
}
function ua(e, t, n, r) {
var i = t.annotationType_;
process.env.NODE_ENV !== "production" && !("value" in r) && h("Cannot apply '" + i + "' to '" + e.name_ + "." + n.toString() + "':" + (`
'` + i + "' cannot be used on getter/setter properties"));
}
var da = "true", fa = /* @__PURE__ */ ai();
function ai(e) {
return {
annotationType_: da,
options_: e,
make_: ha,
extend_: va,
decorate_20223_: pa
};
}
function ha(e, t, n, r) {
var i, o;
if (n.get)
return nn.make_(e, t, n, r);
if (n.set) {
var a = xe(t.toString(), n.set);
return r === e.target_ ? e.defineProperty_(t, {
configurable: f.safeDescriptors ? e.isPlainObject_ : !0,
set: a
}) === null ? 0 : 2 : (Y(r, t, {
configurable: !0,
set: a
}), 2);
}
if (r !== e.target_ && typeof n.value == "function") {
var s;
if (Yr(n.value)) {
var l, c = (l = this.options_) != null && l.autoBind ? Fe.bound : Fe;
return c.make_(e, t, n, r);
}
var u = (s = this.options_) != null && s.autoBind ? ht.bound : ht;
return u.make_(e, t, n, r);
}
var d = ((i = this.options_) == null ? void 0 : i.deep) === !1 ? N.ref : N;
if (typeof n.value == "function" && (o = this.options_) != null && o.autoBind) {
var v;
n.value = n.value.bind((v = e.proxy_) != null ? v : e.target_);
}
return d.make_(e, t, n, r);
}
function va(e, t, n, r) {
var i, o;
if (n.get)
return nn.extend_(e, t, n, r);
if (n.set)
return e.defineProperty_(t, {
configurable: f.safeDescriptors ? e.isPlainObject_ : !0,
set: xe(t.toString(), n.set)
}, r);
if (typeof n.value == "function" && (i = this.options_) != null && i.autoBind) {
var a;
n.value = n.value.bind((a = e.proxy_) != null ? a : e.target_);
}
var s = ((o = this.options_) == null ? void 0 : o.deep) === !1 ? N.ref : N;
return s.extend_(e, t, n, r);
}
function pa(e, t) {
h("'" + this.annotationType_ + "' cannot be used as a decorator");
}
var ga = "observable", ba = "observable.ref", ma = "observable.shallow", ya = "observable.struct", si = {
deep: !0,
name: void 0,
defaultDecorator: void 0,
proxy: !0
};
Object.freeze(si);
function Nt(e) {
return e || si;
}
var On = /* @__PURE__ */ tn(ga), wa = /* @__PURE__ */ tn(ba, {
enhancer: en
}), Aa = /* @__PURE__ */ tn(ma, {
enhancer: Go
}), Ea = /* @__PURE__ */ tn(ya, {
enhancer: Ko
}), li = /* @__PURE__ */ Q(On);
function xt(e) {
return e.deep === !0 ? Ne : e.deep === !1 ? en : Sa(e.defaultDecorator);
}
function Oa(e) {
var t;
return e ? (t = e.defaultDecorator) != null ? t : ai(e) : void 0;
}
function Sa(e) {
var t, n;
return e && (t = (n = e.options_) == null ? void 0 : n.enhancer) != null ? t : Ne;
}
function ci(e, t, n) {
if (wt(t))
return On.decorate_20223_(e, t);
if (Se(t)) {
yt(e, t, On);
return;
}
return pt(e) ? e : C(e) ? N.object(e, t, n) : Array.isArray(e) ? N.array(e, t) : Ge(e) ? N.map(e, t) : te(e) ? N.set(e, t) : typeof e == "object" && e !== null ? e : N.box(e, t);
}
Jr(ci, li);
var Na = {
box: function(t, n) {
var r = Nt(n);
return new Oe(t, xt(r), r.name, !0, r.equals);
},
array: function(t, n) {
var r = Nt(n);
return (f.useProxies === !1 || r.proxy === !1 ? Es : fs)(t, xt(r), r.name);
},
map: function(t, n) {
var r = Nt(n);
return new Ii(t, xt(r), r.name);
},
set: function(t, n) {
var r = Nt(n);
return new ki(t, xt(r), r.name);
},
object: function(t, n, r) {
return ke(function() {
return Di(f.useProxies === !1 || r?.proxy === !1 ? He({}, r) : cs({}, r), t, n);
});
},
ref: /* @__PURE__ */ Q(wa),
shallow: /* @__PURE__ */ Q(Aa),
deep: li,
struct: /* @__PURE__ */ Q(Ea)
}, N = /* @__PURE__ */ Jr(ci, Na), ui = "computed", xa = "computed.struct", Sn = /* @__PURE__ */ Mn(ui), _a = /* @__PURE__ */ Mn(xa, {
equals: ze.structural
}), nn = function(t, n) {
if (wt(n))
return Sn.decorate_20223_(t, n);
if (Se(n))
return yt(t, n, Sn);
if (C(t))
return Q(Mn(ui, t));
process.env.NODE_ENV !== "production" && (S(t) || h("First argument to `computed` should be an expression."), S(n) && h("A setter as second argument is no longer supported, use `{ set: fn }` option instead"));
var r = C(n) ? n : {};
return r.get = t, r.name || (r.name = t.name || ""), new z(r);
};
Object.assign(nn, Sn);
nn.struct = /* @__PURE__ */ Q(_a);
var er, tr, Bt = 0, Pa = 1, Ca = (er = (tr = /* @__PURE__ */ Mt(function() {
}, "name")) == null ? void 0 : tr.configurable) != null ? er : !1, nr = {
value: "action",
configurable: !0,
writable: !1,
enumerable: !1
};
function xe(e, t, n, r) {
n === void 0 && (n = !1), process.env.NODE_ENV !== "production" && (S(t) || h("`action` can only be invoked on functions"), (typeof e != "string" || !e) && h("actions should have valid names, got: '" + e + "'"));
function i() {
return di(e, n, t, r || this, arguments);
}
return i.isMobxAction = !0, i.toString = function() {
return t.toString();
}, Ca && (nr.value = e, Y(i, "name", nr)), i;
}
function di(e, t, n, r, i) {
var o = Da(e, t, r, i);
try {
return n.apply(r, i);
} catch (a) {
throw o.error_ = a, a;
} finally {
Ra(o);
}
}
function Da(e, t, n, r) {
var i = process.env.NODE_ENV !== "production" && P() && !!e, o = 0;
if (process.env.NODE_ENV !== "production" && i) {
o = Date.now();
var a = r ? Array.from(r) : jt;
V({
type: Un,
name: e,
object: n,
arguments: a
});
}
var s = f.trackingDerivation, l = !t || !s;
j();
var c = f.allowStateChanges;
l && (Ie(), c = rn(!0));
var u = jn(!0), d = {
runAsAction_: l,
prevDerivation_: s,
prevAllowStateChanges_: c,
prevAllowStateReads_: u,
notifySpy_: i,
startTime_: o,
actionId_: Pa++,
parentActionId_: Bt
};
return Bt = d.actionId_, d;
}
function Ra(e) {
Bt !== e.actionId_ && h(30), Bt = e.parentActionId_, e.error_ !== void 0 && (f.suppressReactionErrors = !0), on(e.prevAllowStateChanges_), st(e.prevAllowStateReads_), U(), e.runAsAction_ && oe(e.prevDerivation_), process.env.NODE_ENV !== "production" && e.notifySpy_ && I({
time: Date.now() - e.startTime_
}), f.suppressReactionErrors = !1;
}
function Ta(e, t) {
var n = rn(e);
try {
return t();
} finally {
on(n);
}
}
function rn(e) {
var t = f.allowStateChanges;
return f.allowStateChanges = e, t;
}
function on(e) {
f.allowStateChanges = e;
}
var Va = "create", Oe = /* @__PURE__ */ function(e) {
function t(r, i, o, a, s) {
var l;
return o === void 0 && (o = process.env.NODE_ENV !== "production" ? "ObservableValue@" + W() : "ObservableValue"), a === void 0 && (a = !0), s === void 0 && (s = ze.default), l = e.call(this, o) || this, l.enhancer = void 0, l.name_ = void 0, l.equals = void 0, l.hasUnreportedChange_ = !1, l.interceptors_ = void 0, l.changeListeners_ = void 0, l.value_ = void 0, l.dehancer = void 0, l.enhancer = i, l.name_ = o, l.equals = s, l.value_ = i(r, void 0, o), process.env.NODE_ENV !== "production" && a && P() && _e({
type: Va,
object: l,
observableKind: "value",
debugObjectName: l.name_,
newValue: "" + l.value_
}), l;
}
ti(t, e);
var n = t.prototype;
return n.dehanceValue = function(i) {
return this.dehancer !== void 0 ? this.dehancer(i) : i;
}, n.set = function(i) {
var o = this.value_;
if (i = this.prepareNewValue_(i), i !== f.UNCHANGED) {
var a = P();
process.env.NODE_ENV !== "production" && a && V({
type: F,
object: this,
observableKind: "value",
debugObjectName: this.name_,
newValue: i,
oldValue: o
}), this.setNewValue_(i), process.env.NODE_ENV !== "production" && a && I();
}
}, n.prepareNewValue_ = function(i) {
if (X(this), L(this)) {
var o = M(this, {
object: this,
type: F,
newValue: i
});
if (!o)
return f.UNCHANGED;
i = o.newValue;
}
return i = this.enhancer(i, this.value_, this.name_), this.equals(this.value_, i) ? f.UNCHANGED : i;
}, n.setNewValue_ = function(i) {
var o = this.value_;
this.value_ = i, this.reportChanged(), q(this) && G(this, {
type: F,
object: this,
newValue: i,
oldValue: o
});
}, n.get = function() {
return this.reportObserved(), this.dehanceValue(this.value_);
}, n.intercept_ = function(i) {
return Et(this, i);
}, n.observe_ = function(i, o) {
return o && i({
observableKind: "value",
debugObjectName: this.name_,
object: this,
type: F,
newValue: this.value_,
oldValue: void 0
}), Ot(this, i);
}, n.raw = function() {
return this.value_;
}, n.toJSON = function() {
return this.get();
}, n.toString = function() {
return this.name_ + "[" + this.value_ + "]";
}, n.valueOf = function() {
return ei(this.get());
}, n[Symbol.toPrimitive] = function() {
return this.valueOf();
}, t;
}(ve), z = /* @__PURE__ */ function() {
function e(n) {
this.dependenciesState_ = y.NOT_TRACKING_, this.observing_ = [], this.newObserving_ = null, this.observers_ = /* @__PURE__ */ new Set(), this.runId_ = 0, this.lastAccessedBy_ = 0, this.lowestObserverState_ = y.UP_TO_DATE_, this.unboundDepsCount_ = 0, this.value_ = new zt(null), this.name_ = void 0, this.triggeredBy_ = void 0, this.flags_ = 0, this.derivation = void 0, this.setter_ = void 0, this.isTracing_ = B.NONE, this.scope_ = void 0, this.equals_ = void 0, this.requiresReaction_ = void 0, this.keepAlive_ = void 0, this.onBOL = void 0, this.onBUOL = void 0, n.get || h(31), this.derivation = n.get, this.name_ = n.name || (process.env.NODE_ENV !== "production" ? "ComputedValue@" + W() : "ComputedValue"), n.set && (this.setter_ = xe(process.env.NODE_ENV !== "production" ? this.name_ + "-setter" : "ComputedValue-setter", n.set)), this.equals_ = n.equals || (n.compareStructural || n.struct ? ze.structural : ze.default), this.scope_ = n.context, this.requiresReaction_ = n.requiresReaction, this.keepAlive_ = !!n.keepAlive;
}
var t = e.prototype;
return t.onBecomeStale_ = function() {
Ua(this);
}, t.onBO = function() {
this.onBOL && this.onBOL.forEach(function(r) {
return r();
});
}, t.onBUO = function() {
this.onBUOL && this.onBUOL.forEach(function(r) {
return r();
});
}, t.get = function() {
if (this.isComputing && h(32, this.name_, this.derivation), f.inBatch === 0 && // !globalState.trackingDerivatpion &&
this.observers_.size === 0 && !this.keepAlive_)
Nn(this) && (this.warnAboutUntrackedRead_(), j(), this.value_ = this.computeValue_(!1), U());
else if (bi(this), Nn(this)) {
var r = f.trackingContext;
this.keepAlive_ && !r && (f.trackingContext = this), this.trackAndCompute() && ja(this), f.trackingContext = r;
}
var i = this.value_;
if (Tt(i))
throw i.cause;
return i;
}, t.set = function(r) {
if (this.setter_) {
this.isRunningSetter && h(33, this.name_), this.isRunningSetter = !0;
try {
this.setter_.call(this.scope_, r);
} finally {
this.isRunningSetter = !1;
}
} else
h(34, this.name_);
}, t.trackAndCompute = function() {
var r = this.value_, i = (
/* see #1208 */
this.dependenciesState_ === y.NOT_TRACKING_
), o = this.computeValue_(!0), a = i || Tt(r) || Tt(o) || !this.equals_(r, o);
return a && (this.value_ = o, process.env.NODE_ENV !== "production" && P() && _e({
observableKind: "computed",
debugObjectName: this.name_,
object: this.scope_,
type: "update",
oldValue: r,
newValue: o
})), a;
}, t.computeValue_ = function(r) {
this.isComputing = !0;
var i = rn(!1), o;
if (r)
o = fi(this, this.derivation, this.scope_);
else if (f.disableErrorBoundaries === !0)
o = this.derivation.call(this.scope_);
else
try {
o = this.derivation.call(this.scope_);
} catch (a) {
o = new zt(a);
}
return on(i), this.isComputing = !1, o;
}, t.suspend_ = function() {
this.keepAlive_ || (xn(this), this.value_ = void 0, process.env.NODE_ENV !== "production" && this.isTracing_ !== B.NONE && console.log("[mobx.trace] Computed value '" + this.name_ + "' was suspended and it will recompute on the next access."));
}, t.observe_ = function(r, i) {
var o = this, a = !0, s = void 0;
return Ni(function() {
var l = o.get();
if (!a || i) {
var c = Ie();
r({
observableKind: "computed",
debugObjectName: o.name_,
type: F,
object: o,
newValue: l,
oldValue: s
}), oe(c);
}
a = !1, s = l;
});
}, t.warnAboutUntrackedRead_ = function() {
process.env.NODE_ENV !== "production" && (this.isTracing_ !== B.NONE && console.log("[mobx.trace] Computed value '" + this.name_ + "' is being read outside a reactive context. Doing a full recompute."), (typeof this.requiresReaction_ == "boolean" ? this.requiresReaction_ : f.computedRequiresReaction) && console.warn("[mobx] Computed value '" + this.name_ + "' is being read outside a reactive context. Doing a full recompute."));
}, t.toString = function() {
return this.name_ + "[" + this.derivation.toString() + "]";
}, t.valueOf = function() {
return ei(this.get());
}, t[Symbol.toPrimitive] = function() {
return this.valueOf();
}, Ke(e, [{
key: "isComputing",
get: function() {
return R(this.flags_, e.isComputingMask_);
},
set: function(r) {
this.flags_ = T(this.flags_, e.isComputingMask_, r);
}
}, {
key: "isRunningSetter",
get: function() {
return R(this.flags_, e.isRunningSetterMask_);
},
set: function(r) {
this.flags_ = T(this.flags_, e.isRunningSetterMask_, r);
}
}, {
key: "isBeingObserved",
get: function() {
return R(this.flags_, e.isBeingObservedMask_);
},
set: function(r) {
this.flags_ = T(this.flags_, e.isBeingObservedMask_, r);
}
}, {
key: "isPendingUnobservation",
get: function() {
return R(this.flags_, e.isPendingUnobservationMask_);
},
set: function(r) {
this.flags_ = T(this.flags_, e.isPendingUnobservationMask_, r);
}
}, {
key: "diffValue",
get: function() {
return R(this.flags_, e.diffValueMask_) ? 1 : 0;
},
set: function(r) {
this.flags_ = T(this.flags_, e.diffValueMask_, r === 1);
}
}]);
}();
z.isComputingMask_ = 1;
z.isRunningSetterMask_ = 2;
z.isBeingObservedMask_ = 4;
z.isPendingUnobservationMask_ = 8;
z.diffValueMask_ = 16;
var an = /* @__PURE__ */ Ve("ComputedValue", z), y;
(function(e) {
e[e.NOT_TRACKING_ = -1] = "NOT_TRACKING_", e[e.UP_TO_DATE_ = 0] = "UP_TO_DATE_", e[e.POSSIBLY_STALE_ = 1] = "POSSIBLY_STALE_", e[e.STALE_ = 2] = "STALE_";
})(y || (y = {}));
var B;
(function(e) {
e[e.NONE = 0] = "NONE", e[e.LOG = 1] = "LOG", e[e.BREAK = 2] = "BREAK";
})(B || (B = {}));
var zt = function(t) {
this.cause = void 0, this.cause = t;
};
function Tt(e) {
return e instanceof zt;
}
function Nn(e) {
switch (e.dependenciesState_) {
case y.UP_TO_DATE_:
return !1;
case y.NOT_TRACKING_:
case y.STALE_:
return !0;
case y.POSSIBLY_STALE_: {
for (var t = jn(!0), n = Ie(), r = e.observing_, i = r.length, o = 0; o < i; o++) {
var a = r[o];
if (an(a)) {
if (f.disableErrorBoundaries)
a.get();
else
try {
a.get();
} catch {
return oe(n), st(t), !0;
}
if (e.dependenciesState_ === y.STALE_)
return oe(n), st(t), !0;
}
}
return vi(e), oe(n), st(t), !1;
}
}
}
function X(e) {
if (process.env.NODE_ENV !== "production") {
var t = e.observers_.size > 0;
!f.allowStateChanges && (t || f.enforceActions === "always") && console.warn("[MobX] " + (f.enforceActions ? "Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: " : "Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: ") + e.name_);
}
}
function Ia(e) {
process.env.NODE_ENV !== "production" && !f.allowStateReads && f.observableRequiresReaction && console.warn("[mobx] Observable '" + e.name_ + "' being read outside a reactive context.");
}
function fi(e, t, n) {
var r = jn(!0);
vi(e), e.newObserving_ = new Array(
// Reserve constant space for initial dependencies, dynamic space otherwise.
// See https://github.com/mobxjs/mobx/pull/3833
e.runId_ === 0 ? 100 : e.observing_.length
), e.unboundDepsCount_ = 0, e.runId_ = ++f.runId;
var i = f.trackingDerivation;
f.trackingDerivation = e, f.inBatch++;
var o;
if (f.disableErrorBoundaries === !0)
o = t.call(n);
else
try {
o = t.call(n);
} catch (a) {
o = new zt(a);
}
return f.inBatch--, f.trackingDerivation = i, La(e), ka(e), st(r), o;
}
function ka(e) {
process.env.NODE_ENV !== "production" && e.observing_.length === 0 && (typeof e.requiresObservable_ == "boolean" ? e.requiresObservable_ : f.reactionRequiresObservable) && console.warn("[mobx] Derivation '" + e.name_ + "' is created/updated without reading any observable value.");
}
function La(e) {
for (var t = e.observing_, n = e.observing_ = e.newObserving_, r = y.UP_TO_DATE_, i = 0, o = e.unboundDepsCount_, a = 0; a < o; a++) {
var s = n[a];
s.diffValue === 0 && (s.diffValue = 1, i !== a && (n[i] = s), i++), s.dependenciesState_ > r && (r = s.dependenciesState_);
}
for (n.length = i, e.newObserving_ = null, o = t.length; o--; ) {
var l = t[o];
l.diffValue === 0 && pi(l, e), l.diffValue = 0;
}
for (; i--; ) {
var c = n[i];
c.diffValue === 1 && (c.diffValue = 0, Ma(c, e));
}
r !== y.UP_TO_DATE_ && (e.dependenciesState_ = r, e.onBecomeStale_());
}
function xn(e) {
var t = e.observing_;
e.observing_ = [];
for (var n = t.length; n--; )
pi(t[n], e);
e.dependenciesState_ = y.NOT_TRACKING_;
}
function hi(e) {
var t = Ie();
try {
return e();
} finally {
oe(t);
}
}
function Ie() {
var e = f.trackingDerivation;
return f.trackingDerivation = null, e;
}
function oe(e) {
f.trackingDerivation = e;
}
function jn(e) {
var t = f.allowStateReads;
return f.allowStateReads = e, t;
}
function st(e) {
f.allowStateReads = e;
}
function vi(e) {
if (e.dependenciesState_ !== y.UP_TO_DATE_) {
e.dependenciesState_ = y.UP_TO_DATE_;
for (var t = e.observing_, n = t.length; n--; )
t[n].lowestObserverState_ = y.UP_TO_DATE_;
}
}
var fn = function() {
this.version = 6, this.UNCHANGED = {}, this.trackingDerivation = null, this.trackingContext = null, this.runId = 0, this.mobxGuid = 0, this.inBatch = 0, this.pendingUnobservations = [], this.pendingReactions = [], this.isRunningReactions = !1, this.allowStateChanges = !1, this.allowStateReads = !0, this.enforceActions = !0, this.spyListeners = [], this.globalReactionErrorHandlers = [], this.computedRequiresReaction = !1, this.reactionRequiresObservable = !1, this.observableRequiresReaction = !1, this.disableErrorBoundaries = !1, this.suppressReactionErrors = !1, this.useProxies = !0, this.verifyProxies = !1, this.safeDescriptors = !0;
}, hn = !0, f = /* @__PURE__ */ function() {
var e = /* @__PURE__ */ Vn();
return e.__mobxInstanceCount > 0 && !e.__mobxGlobals && (hn = !1), e.__mobxGlobals && e.__mobxGlobals.version !== new fn().version && (hn = !1), hn ? e.__mobxGlobals ? (e.__mobxInstanceCount += 1, e.__mobxGlobals.UNCHANGED || (e.__mobxGlobals.UNCHANGED = {}), e.__mobxGlobals) : (e.__mobxInstanceCount = 1, e.__mobxGlobals = /* @__PURE__ */ new fn()) : (setTimeout(function() {
h(35);
}, 1), new fn());
}();
function Ma(e, t) {
e.observers_.add(t), e.lowestObserverState_ > t.dependenciesState_ && (e.lowestObserverState_ = t.dependenciesState_);
}
function pi(e, t) {
e.observers_.delete(t), e.observers_.size === 0 && gi(e);
}
function gi(e) {
e.isPendingUnobservation === !1 && (e.isPendingUnobservation = !0, f.pendingUnobservations.push(e));
}
function j() {
f.inBatch++;
}
function U() {
if (--f.inBatch === 0) {
Ai();
for (var e = f.pendingUnobservations, t = 0; t < e.length; t++) {
var n = e[t];
n.isPendingUnobservation = !1, n.observers_.size === 0 && (n.isBeingObserved && (n.isBeingObserved = !1, n.onBUO()), n instanceof z && n.suspend_());
}
f.pendingUnobservations = [];
}
}
function bi(e) {
Ia(e);
var t = f.trackingDerivation;
return t !== null ? (t.runId_ !== e.lastAccessedBy_ && (e.lastAccessedBy_ = t.runId_, t.newObserving_[t.unboundDepsCount_++] = e, !e.isBeingObserved && f.trackingContext && (e.isBeingObserved = !0, e.onBO())), e.isBeingObserved) : (e.observers_.size === 0 && f.inBatch > 0 && gi(e), !1);
}
function mi(e) {
e.lowestObserverState_ !== y.STALE_ && (e.lowestObserverState_ = y.STALE_, e.observers_.forEach(function(t) {
t.dependenciesState_ === y.UP_TO_DATE_ && (process.env.NODE_ENV !== "production" && t.isTracing_ !== B.NONE && yi(t, e), t.onBecomeStale_()), t.dependenciesState_ = y.STALE_;
}));
}
function ja(e) {
e.lowestObserverState_ !== y.STALE_ && (e.lowestObserverState_ = y.STALE_, e.observers_.forEach(function(t) {
t.dependenciesState_ === y.POSSIBLY_STALE_ ? (t.dependenciesState_ = y.STALE_, process.env.NODE_ENV !== "production" && t.isTracing_ !== B.NONE && yi(t, e)) : t.dependenciesState_ === y.UP_TO_DATE_ && (e.lowestObserverState_ = y.UP_TO_DATE_);
}));
}
function Ua(e) {
e.lowestObserverState_ === y.UP_TO_DATE_ && (e.lowestObserverState_ = y.POSSIBLY_STALE_, e.observers_.forEach(function(t) {
t.dependenciesState_ === y.UP_TO_DATE_ && (t.dependenciesState_ = y.POSSIBLY_STALE_, t.onBecomeStale_());
}));
}
function yi(e, t) {
if (console.log("[mobx.trace] '" + e.name_ + "' is invalidated due to a change in: '" + t.name_ + "'"), e.isTracing_ === B.BREAK) {
var n = [];
wi(ts(e), n, 1), new Function(`debugger;
/*
Tracing '` + e.name_ + `'
You are entering this break point because derivation '` + e.name_ + "' is being traced and '" + t.name_ + `' is now forcing it to update.
Just follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update
The stackframe you are looking for is at least ~6-8 stack-frames up.
` + (e instanceof z ? e.derivation.toString().replace(/[*]\//g, "/") : "") + `
The dependencies for this derivation are:
` + n.join(`
`) + `
*/
`)();
}
}
function wi(e, t, n) {
if (t.length >= 1e3) {
t.push("(and many more)");
return;
}
t.push("" + " ".repeat(n - 1) + e.name), e.dependencies && e.dependencies.forEach(function(r) {
return wi(r, t, n + 1);
});
}
var ee = /* @__PURE__ */ function() {
function e(n, r, i, o) {
n === void 0 && (n = process.env.NODE_ENV !== "production" ? "Reaction@" + W() : "Reaction"), this.name_ = void 0, this.onInvalidate_ = void 0, this.errorHandler_ = void 0, this.requiresObservable_ = void 0, this.observing_ = [], this.newObserving_ = [], this.dependenciesState_ = y.NOT_TRACKING_, this.runId_ = 0, this.unboundDepsCount_ = 0, this.flags_ = 0, this.isTracing_ = B.NONE, this.name_ = n, this.onInvalidate_ = r, this.errorHandler_ = i, this.requiresObservable_ = o;
}
var t = e.prototype;
return t.onBecomeStale_ = function() {
this.schedule_();
}, t.schedule_ = function() {
this.isScheduled || (this.isScheduled = !0, f.pendingReactions.push(this), Ai());
}, t.runReaction_ = function() {
if (!this.isDisposed) {
j(), this.isScheduled = !1;
var r = f.trackingContext;
if (f.trackingContext = this, Nn(this)) {
this.isTrackPending = !0;
try {
this.onInvalidate_(), process.env.NODE_ENV !== "production" && this.isTrackPending && P() && _e({
name: this.name_,
type: "scheduled-reaction"
});
} catch (i) {
this.reportExceptionInDerivation_(i);
}
}
f.trackingContext = r, U();
}
}, t.track = function(r) {
if (!this.isDisposed) {
j();
var i = P(), o;
process.env.NODE_ENV !== "production" && i && (o = Date.now(), V({
name: this.name_,
type: "reaction"
})), this.isRunning = !0;
var a = f.trackingContext;
f.trackingContext = this;
var s = fi(this, r, void 0);
f.trackingContext = a, this.isRunning = !1, this.isTrackPending = !1, this.isDisposed && xn(this), Tt(s) && this.reportExceptionInDerivation_(s.cause), process.env.NODE_ENV !== "production" && i && I({
time: Date.now() - o
}), U();
}
}, t.reportExceptionInDerivation_ = function(r) {
var i = this;
if (this.errorHandler_) {
this.errorHandler_(r, this);
return;
}
if (f.disableErrorBoundaries)
throw r;
var o = process.env.NODE_ENV !== "production" ? "[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '" + this + "'" : "[mobx] uncaught error in '" + this + "'";
f.suppressReactionErrors ? process.env.NODE_ENV !== "production" && console.warn("[mobx] (error in reaction '" + this.name_ + "' suppressed, fix error of causing action below)") : console.error(o, r), process.env.NODE_ENV !== "production" && P() && _e({
type: "error",
name: this.name_,
message: o,
error: "" + r
}), f.globalReactionErrorHandlers.forEach(function(a) {
return a(r, i);
});
}, t.dispose = function() {
this.isDisposed || (this.isDisposed = !0, this.isRunning || (j(), xn(this), U()));
}, t.getDisposer_ = function(r) {
var i = this, o = function a() {
i.dispose(), r == null || r.removeEventListener == null || r.removeEventListener("abort", a);
};
return r == null || r.addEventListener == null || r.addEventListener("abort", o), o[b] = this, o;
}, t.toString = function() {
return "Reaction[" + this.name_ + "]";
}, t.trace = function(r) {
r === void 0 && (r = !1), as(this, r);
}, Ke(e, [{
key: "isDisposed",
get: function() {
return R(this.flags_, e.isDisposedMask_);
},
set: function(r) {
this.flags_ = T(this.flags_, e.isDisposedMask_, r);
}
}, {
key: "isScheduled",
get: function() {
return R(this.flags_, e.isScheduledMask_);
},
set: function(r) {
this.flags_ = T(this.flags_, e.isScheduledMask_, r);
}
}, {
key: "isTrackPending",
get: function() {
return R(this.flags_, e.isTrackPendingMask_);
},
set: function(r) {
this.flags_ = T(this.flags_, e.isTrackPendingMask_, r);
}
}, {
key: "isRunning",
get: function() {
return R(this.flags_, e.isRunningMask_);
},
set: function(r) {
this.flags_ = T(this.flags_, e.isRunningMask_, r);
}
}, {
key: "diffValue",
get: function() {
return R(this.flags_, e.diffValueMask_) ? 1 : 0;
},
set: function(r) {
this.flags_ = T(this.flags_, e.diffValueMask_, r === 1);
}
}]);
}();
ee.isDisposedMask_ = 1;
ee.isScheduledMask_ = 2;
ee.isTrackPendingMask_ = 4;
ee.isRunningMask_ = 8;
ee.diffValueMask_ = 16;
function Ba(e) {
return f.globalReactionErrorHandlers.push(e), function() {
var t = f.globalReactionErrorHandlers.indexOf(e);
t >= 0 && f.globalReactionErrorHandlers.splice(t, 1);
};
}
var rr = 100, za = function(t) {
return t();
};
function Ai() {
f.inBatch > 0 || f.isRunningReactions || za(Wa);
}
function Wa() {
f.isRunningReactions = !0;
for (var e = f.pendingReactions, t = 0; e.length > 0; ) {
++t === rr && (console.error(process.env.NODE_ENV !== "production" ? "Reaction doesn't converge to a stable state after " + rr + " iterations." + (" Probably there is a cycle in the reactive function: " + e[0]) : "[mobx] cycle in reaction: " + e[0]), e.splice(0));
for (var n = e.splice(0), r = 0, i = n.length; r < i; r++)
n[r].runReaction_();
}
f.isRunningReactions = !1;
}
var Wt = /* @__PURE__ */ Ve("Reaction", ee);
function P() {
return process.env.NODE_ENV !== "production" && !!f.spyListeners.length;
}
function _e(e) {
if (process.env.NODE_ENV !== "production" && f.spyListeners.length)
for (var t = f.spyListeners, n = 0, r = t.length; n < r; n++)
t[n](e);
}
function V(e) {
if (process.env.NODE_ENV !== "production") {
var t = de({}, e, {
spyReportStart: !0
});
_e(t);
}
}
var Fa = {
type: "report-end",
spyReportEnd: !0
};
function I(e) {
process.env.NODE_ENV !== "production" && _e(e ? de({}, e, {
type: "report-end",
spyReportEnd: !0
}) : Fa);
}
function Za(e) {
return process.env.NODE_ENV === "production" ? (console.warn("[mobx.spy] Is a no-op in production builds"), function() {
}) : (f.spyListeners.push(e), kn(function() {
f.spyListeners = f.spyListeners.filter(function(t) {
return t !== e;
});
}));
}
var Un = "action", qa = "action.bound", Ei = "autoAction", Ga = "autoAction.bound", Oi = "<unnamed action>", _n = /* @__PURE__ */ At(Un), Ka = /* @__PURE__ */ At(qa, {
bound: !0
}), Pn = /* @__PURE__ */ At(Ei, {
autoAction: !0
}), Ha = /* @__PURE__ */ At(Ga, {
autoAction: !0,
bound: !0
});
function Si(e) {
var t = function(r, i) {
if (S(r))
return xe(r.name || Oi, r, e);
if (S(i))
return xe(r, i, e);
if (wt(i))
return (e ? Pn : _n).decorate_20223_(r, i);
if (Se(i))
return yt(r, i, e ? Pn : _n);
if (Se(r))
return Q(At(e ? Ei : Un, {
name: r,
autoAction: e
}));
process.env.NODE_ENV !== "production" && h("Invalid arguments for `action`");
};
return t;
}
var Ae = /* @__PURE__ */ Si(!1);
Object.assign(Ae, _n);
var ht = /* @__PURE__ */ Si(!0);
Object.assign(ht, Pn);
Ae.bound = /* @__PURE__ */ Q(Ka);
ht.bound = /* @__PURE__ */ Q(Ha);
function Ja(e) {
return di(e.name || Oi, !1, e, this, void 0);
}
function We(e) {
return S(e) && e.isMobxAction === !0;
}
function Ni(e, t) {
var n, r, i, o;
t === void 0 && (t = In), process.env.NODE_ENV !== "production" && (S(e) || h("Autorun expects a function as first argument"), We(e) && h("Autorun does not accept actions since actions are untrackable"));
var a = (n = (r = t) == null ? void 0 : r.name) != null ? n : process.env.NODE_ENV !== "production" ? e.name || "Autorun@" + W() : "Autorun", s = !t.scheduler && !t.delay, l;
if (s)
l = new ee(a, function() {
this.track(d);
}, t.onError, t.requiresObservable);
else {
var c = xi(t), u = !1;
l = new ee(a, function() {
u || (u = !0, c(function() {
u = !1, l.isDisposed || l.track(d);
}));
}, t.onError, t.requiresObservable);
}
function d() {
e(l);
}
return (i = t) != null && (i = i.signal) != null && i.aborted || l.schedule_(), l.getDisposer_((o = t) == null ? void 0 : o.signal);
}
var Xa = function(t) {
return t();
};
function xi(e) {
return e.scheduler ? e.scheduler : e.delay ? function(t) {
return setTimeout(t, e.delay);
} : Xa;
}
function _i(e, t, n) {
var r, i, o;
n === void 0 && (n = In), process.env.NODE_ENV !== "production" && ((!S(e) || !S(t)) && h("First and second argument to reaction should be functions"), C(n) || h("Third argument of reactions should be an object"));
var a = (r = n.name) != null ? r : process.env.NODE_ENV !== "production" ? "Reaction@" + W() : "Reaction", s = Ae(a, n.onError ? Ya(n.onError, t) : t), l = !n.scheduler && !n.delay, c = xi(n), u = !0, d = !1, v, g = n.compareStructural ? ze.structural : n.equals || ze.default, m = new ee(a, function() {
u || l ? A() : d || (d = !0, c(A));
}, n.onError, n.requiresObservable);
function A() {
if (d = !1, !m.isDisposed) {
var x = !1, H = v;
m.track(function() {
var Le = Ta(!1, function() {
return e(m);
});
x = u || !g(v, Le), v = Le;
}), (u && n.fireImmediately || !u && x) && s(v, H, m), u = !1;
}
}
return (i = n) != null && (i = i.signal) != null && i.aborted || m.schedule_(), m.getDisposer_((o = n) == null ? void 0 : o.signal);
}
function Ya(e, t) {
return function() {
try {
return t.apply(this, arguments);
} catch (n) {
e.call(this, n);
}
};
}
var Qa = "onBO", $a = "onBUO";
function es(e, t, n) {
return Ci(Qa, e, t, n);
}
function Pi(e, t, n) {
return Ci($a, e, t, n);
}
function Ci(e, t, n, r) {
var i = Ze(t), o = S(r) ? r : n, a = e + "L";
return i[a] ? i[a].add(o) : i[a] = /* @__PURE__ */ new Set([o]), function() {
var s = i[a];
s && (s.delete(o), s.size === 0 && delete i[a]);
};
}
function Di(e, t, n, r) {
process.env.NODE_ENV !== "production" && (arguments.length > 4 && h("'extendObservable' expected 2-4 arguments"), typeof e != "object" && h("'extendObservable' expects an object as first argument"), pe(e) && h("'extendObservable' should not be used on maps, use map.merge instead"), C(t) || h("'extendObservable' only accepts plain objects as second argument"), (pt(t) || pt(n)) && h("Extending an object with another observable (object) is not supported"));
var i = Lo(t);
return ke(function() {
var o = He(e, r)[b];
ft(i).forEach(function(a) {
o.extend_(
a,
i[a],
// must pass "undefined" for { key: undefined }
n && a in n ? n[a] : !0
);
});
}), e;
}
function ts(e, t) {
return Ri(Ze(e, t));
}
function Ri(e) {
var t = {
name: e.name_
};
return e.observing_ && e.observing_.length > 0 && (t.dependencies = ns(e.observing_).map(Ri)), t;
}
function ns(e) {
return Array.from(new Set(e));
}
var rs = 0;
function Ti() {
this.message = "FLOW_CANCELLED";
}
Ti.prototype = /* @__PURE__ */ Object.create(Error.prototype);
var vn = /* @__PURE__ */ ii("flow"), is = /* @__PURE__ */ ii("flow.bound", {
bound: !0
}), Fe = /* @__PURE__ */ Object.assign(function(t, n) {
if (wt(n))
return vn.decorate_20223_(t, n);
if (Se(n))
return yt(t, n, vn);
process.env.NODE_ENV !== "production" && arguments.length !== 1 && h("Flow expects single argument with generator function");
var r = t, i = r.name || "<unnamed flow>", o = function() {
var s = this, l = arguments, c = ++rs, u = Ae(i + " - runid: " + c + " - init", r).apply(s, l), d, v = void 0, g = new Promise(function(m, A) {
var x = 0;
d = A;
function H(D) {
v = void 0;
var ae;
try {
ae = Ae(i + " - runid: " + c + " - yield " + x++, u.next).call(u, D);
} catch (ge) {
return A(ge);
}
Qe(ae);
}
function Le(D) {
v = void 0;
var ae;
try {
ae = Ae(i + " - runid: " + c + " - yield " + x++, u.throw).call(u, D);
} catch (ge) {
return A(ge);
}
Qe(ae);
}
function Qe(D) {
if (S(D?.then)) {
D.then(Qe, A);
return;
}
return D.done ? m(D.value) : (v = Promise.resolve(D.value), v.then(H, Le));
}
H(void 0);
});
return g.cancel = Ae(i + " - runid: " + c + " - cancel", function() {
try {
v && ir(v);
var m = u.return(void 0), A = Promise.resolve(m.value);
A.then(Ue, Ue), ir(A), d(new Ti());
} catch (x) {
d(x);
}
}), g;
};
return o.isMobXFlow = !0, o;
}, vn);
Fe.bound = /* @__PURE__ */ Q(is);
function ir(e) {
S(e.cancel) && e.cancel();
}
function vt(e) {
return e?.isMobXFlow === !0;
}
function os(e, t) {
return e ? Je(e) || !!e[b] || Ln(e) || Wt(e) || an(e) : !1;
}
function pt(e) {
return process.env.NODE_ENV !== "production" && arguments.length !== 1 && h("isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property"), os(e);
}
function as() {
if (process.env.NODE_ENV !== "production") {
for (var e = !1, t = arguments.length, n = new Array(t), r = 0; r < t; r++)
n[r] = arguments[r];
typeof n[n.length - 1] == "boolean" && (e = n.pop());
var i = ss(n);
if (!i)
return h("'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly");
i.isTracing_ === B.NONE && console.log("[mobx.trace] '" + i.name_ + "' tracing enabled"), i.isTracing_ = e ? B.BREAK : B.LOG;
}
}
function ss(e) {
switch (e.length) {
case 0:
return f.trackingDerivation;
case 1:
return Ze(e[0]);
case 2:
return Ze(e[0], e[1]);
}
}
function re(e, t) {
t === void 0 && (t = void 0), j();
try {
return e.apply(t);
} finally {
U();
}
}
function be(e) {
return e[b];
}
var ls = {
has: function(t, n) {
return process.env.NODE_ENV !== "production" && f.trackingDerivation && $e("detect new properties using the 'in' operator. Use 'has' from 'mobx' instead."), be(t).has_(n);
},
get: function(t, n) {
return be(t).get_(n);
},
set: function(t, n, r) {
var i;
return Se(n) ? (process.env.NODE_ENV !== "production" && !be(t).values_.has(n) && $e("add a new observable property through direct assignment. Use 'set' from 'mobx' instead."), (i = be(t).set_(n, r, !0)) != null ? i : !0) : !1;
},
deleteProperty: function(t, n) {
var r;
return process.env.NODE_ENV !== "production" && $e("delete properties from an observable object. Use 'remove' from 'mobx' instead."), Se(n) ? (r = be(t).delete_(n, !0)) != null ? r : !0 : !1;
},
defineProperty: function(t, n, r) {
var i;
return process.env.NODE_ENV !== "production" && $e("define property on an observable object. Use 'defineProperty' from 'mobx' instead."), (i = be(t).defineProperty_(n, r)) != null ? i : !0;
},
ownKeys: function(t) {
return process.env.NODE_ENV !== "production" && f.trackingDerivation && $e("iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead."), be(t).ownKeys_();
},
preventExtensions: function(t) {
h(13);
}
};
function cs(e, t) {
var n, r;
return Xr(), e = He(e, t), (r = (n = e[b]).proxy_) != null ? r : n.proxy_ = new Proxy(e, ls);
}
function L(e) {
return e.interceptors_ !== void 0 && e.interceptors_.length > 0;
}
function Et(e, t) {
var n = e.interceptors_ || (e.interceptors_ = []);
return n.push(t), kn(function() {
var r = n.indexOf(t);
r !== -1 && n.splice(r, 1);
});
}
function M(e, t) {
var n = Ie();
try {
for (var r = [].concat(e.interceptors_ || []), i = 0, o = r.length; i < o && (t = r[i](t), t && !t.type && h(14), !!t); i++)
;
return t;
} finally {
oe(n);
}
}
function q(e) {
return e.changeListeners_ !== void 0 && e.changeListeners_.length > 0;
}
function Ot(e, t) {
var n = e.changeListeners_ || (e.changeListeners_ = []);
return n.push(t), kn(function() {
var r = n.indexOf(t);
r !== -1 && n.splice(r, 1);
});
}
function G(e, t) {
var n = Ie(), r = e.changeListeners_;
if (r) {
r = r.slice();
for (var i = 0, o = r.length; i < o; i++)
r[i](t);
oe(n);
}
}
var pn = /* @__PURE__ */ Symbol("mobx-keys");
function sn(e, t, n) {
return process.env.NODE_ENV !== "production" && (!C(e) && !C(Object.getPrototypeOf(e)) && h("'makeAutoObservable' can only be used for classes that don't have a superclass"), Je(e) && h("makeAutoObservable can only be used on objects not already made observable")), C(e) ? Di(e, e, t, n) : (ke(function() {
var r = He(e, n)[b];
if (!e[pn]) {
var i = Object.getPrototypeOf(e), o = new Set([].concat(ft(e), ft(i)));
o.delete("constructor"), o.delete(b), Qt(i, pn, o);
}
e[pn].forEach(function(a) {
return r.make_(
a,
// must pass "undefined" for { key: undefined }
t && a in t ? t[a] : !0
);
});
}), e);
}
var or = "splice", F = "update", us = 1e4, ds = {
get: function(t, n) {
var r = t[b];
return n === b ? r : n === "length" ? r.getArrayLength_() : typeof n == "string" && !isNaN(n) ? r.get_(parseInt(n)) : Z(Ft, n) ? Ft[n] : t[n];
},
set: function(t, n, r) {
var i = t[b];
return n === "length" && i.setArrayLength_(r), typeof n == "symbol" || isNaN(n) ? t[n] = r : i.set_(parseInt(n), r), !0;
},
preventExtensions: function() {
h(15);
}
}, Bn = /* @__PURE__ */ function() {
function e(n, r, i, o) {
n === void 0 && (n = process.env.NODE_ENV !== "production" ? "ObservableArray@" + W() : "ObservableArray"), this.owned_ = void 0, this.legacyMode_ = void 0, this.atom_ = void 0, this.values_ = [], this.interceptors_ = void 0, this.changeListeners_ = void 0, this.enhancer_ = void 0, this.dehancer = void 0, this.proxy_ = void 0, this.lastKnownLength_ = 0, this.owned_ = i, this.legacyMode_ = o, this.atom_ = new ve(n), this.enhancer_ = function(a, s) {
return r(a, s, process.env.NODE_ENV !== "production" ? n + "[..]" : "ObservableArray[..]");
};
}
var t = e.prototype;
return t.dehanceValue_ = function(r) {
return this.dehancer !== void 0 ? this.dehancer(r) : r;
}, t.dehanceValues_ = function(r) {
return this.dehancer !== void 0 && r.length > 0 ? r.map(this.dehancer) : r;
}, t.intercept_ = function(r) {
return Et(this, r);
}, t.observe_ = function(r, i) {
return i === void 0 && (i = !1), i && r({
observableKind: "array",
object: this.proxy_,
debugObjectName: this.atom_.name_,
type: "splice",
index: 0,
added: this.values_.slice(),
addedCount: this.values_.length,
removed: [],
removedCount: 0
}), Ot(this, r);
}, t.getArrayLength_ = function() {
return this.atom_.reportObserved(), this.values_.length;
}, t.setArrayLength_ = function(r) {
(typeof r != "number" || isNaN(r) || r < 0) && h("Out of range: " + r);
var i = this.values_.length;
if (r !== i)
if (r > i) {
for (var o = new Array(r - i), a = 0; a < r - i; a++)
o[a] = void 0;
this.spliceWithArray_(i, 0, o);
} else
this.spliceWithArray_(r, i - r);
}, t.updateArrayLength_ = function(r, i) {
r !== this.lastKnownLength_ && h(16), this.lastKnownLength_ += i, this.legacyMode_ && i > 0 && ji(r + i + 1);
}, t.spliceWithArray_ = function(r, i, o) {
var a = this;
X(this.atom_);
var s = this.values_.length;
if (r === void 0 ? r = 0 : r > s ? r = s : r < 0 && (r = Math.max(0, s + r)), arguments.length === 1 ? i = s - r : i == null ? i = 0 : i = Math.max(0, Math.min(i, s - r)), o === void 0 && (o = jt), L(this)) {
var l = M(this, {
object: this.proxy_,
type: or,
index: r,
removedCount: i,
added: o
});
if (!l)
return jt;
i = l.removedCount, o = l.added;
}
if (o = o.length === 0 ? o : o.map(function(d) {
return a.enhancer_(d, void 0);
}), this.legacyMode_ || process.env.NODE_ENV !== "production") {
var c = o.length - i;
this.updateArrayLength_(s, c);
}
var u = this.spliceItemsIntoValues_(r, i, o);
return (i !== 0 || o.length !== 0) && this.notifyArraySplice_(r, o, u), this.dehanceValues_(u);
}, t.spliceItemsIntoValues_ = function(r, i, o) {
if (o.length < us) {
var a;
return (a = this.values_).splice.apply(a, [r, i].concat(o));
} else {
var s = this.values_.slice(r, r + i), l = this.values_.slice(r + i);
this.values_.length += o.length - i;
for (var c = 0; c < o.length; c++)
this.values_[r + c] = o[c];
for (var u = 0; u < l.length; u++)
this.values_[r + o.length + u] = l[u];
return s;
}
}, t.notifyArrayChildUpdate_ = function(r, i, o) {
var a = !this.owned_ && P(), s = q(this), l = s || a ? {
observableKind: "array",
object: this.proxy_,
type: F,
debugObjectName: this.atom_.name_,
index: r,
newValue: i,
oldValue: o
} : null;
process.env.NODE_ENV !== "production" && a && V(l), this.atom_.reportChanged(), s && G(this, l), process.env.NODE_ENV !== "production" && a && I();
}, t.notifyArraySplice_ = function(r, i, o) {
var a = !this.owned_ && P(), s = q(this), l = s || a ? {
observableKind: "array",
object: this.proxy_,
debugObjectName: this.atom_.name_,
type: or,
index: r,
removed: o,
added: i,
removedCount: o.length,
addedCount: i.length
} : null;
process.env.NODE_ENV !== "production" && a && V(l), this.atom_.reportChanged(), s && G(this, l), process.env.NODE_ENV !== "production" && a && I();
}, t.get_ = function(r) {
if (this.legacyMode_ && r >= this.values_.length) {
console.warn(process.env.NODE_ENV !== "production" ? "[mobx.array] Attempt to read an array index (" + r + ") that is out of bounds (" + this.values_.length + "). Please check length first. Out of bound indices will not be tracked by MobX" : "[mobx] Out of bounds read: " + r);
return;
}
return this.atom_.reportObserved(), this.dehanceValue_(this.values_[r]);
}, t.set_ = function(r, i) {
var o = this.values_;
if (this.legacyMode_ && r > o.length && h(17, r, o.length), r < o.length) {
X(this.atom_);
var a = o[r];
if (L(this)) {
var s = M(this, {
type: F,
object: this.proxy_,
// since "this" is the real array we need to pass its proxy
index: r,
newValue: i
});
if (!s)
return;
i = s.newValue;
}
i = this.enhancer_(i, a);
var l = i !== a;
l && (o[r] = i, this.notifyArrayChildUpdate_(r, i, a));
} else {
for (var c = new Array(r + 1 - o.length), u = 0; u < c.length - 1; u++)
c[u] = void 0;
c[c.length - 1] = i, this.spliceWithArray_(o.length, 0, c);
}
}, e;
}();
function fs(e, t, n, r) {
return n === void 0 && (n = process.env.NODE_ENV !== "production" ? "ObservableArray@" + W() : "ObservableArray"), r === void 0 && (r = !1), Xr(), ke(function() {
var i = new Bn(n, t, r, !1);
Qr(i.values_, b, i);
var o = new Proxy(i.values_, ds);
return i.proxy_ = o, e && e.length && i.spliceWithArray_(0, 0, e), o;
});
}
var Ft = {
clear: function() {
return this.splice(0);
},
replace: function(t) {
var n = this[b];
return n.spliceWithArray_(0, n.values_.length, t);
},
// Used by JSON.stringify
toJSON: function() {
return this.slice();
},
/*
* functions that do alter the internal structure of the array, (based on lib.es6.d.ts)
* since these functions alter the inner structure of the array, the have side effects.
* Because the have side effects, they should not be used in computed function,
* and for that reason the do not call dependencyState.notifyObserved
*/
splice: function(t, n) {
for (var r = arguments.length, i = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
i[o - 2] = arguments[o];
var a = this[b];
switch (arguments.length) {
case 0:
return [];
case 1:
return a.spliceWithArray_(t);
case 2:
return a.spliceWithArray_(t, n);
}
return a.spliceWithArray_(t, n, i);
},
spliceWithArray: function(t, n, r) {
return this[b].spliceWithArray_(t, n, r);
},
push: function() {
for (var t = this[b], n = arguments.length, r = new Array(n), i = 0; i < n; i++)
r[i] = arguments[i];
return t.spliceWithArray_(t.values_.length, 0, r), t.values_.length;
},
pop: function() {
return this.splice(Math.max(this[b].values_.length - 1, 0), 1)[0];
},
shift: function() {
return this.splice(0, 1)[0];
},
unshift: function() {
for (var t = this[b], n = arguments.length, r = new Array(n), i = 0; i < n; i++)
r[i] = arguments[i];
return t.spliceWithArray_(0, 0, r), t.values_.length;
},
reverse: function() {
return f.trackingDerivation && h(37, "reverse"), this.replace(this.slice().reverse()), this;
},
sort: function() {
f.trackingDerivation && h(37, "sort");
var t = this.slice();
return t.sort.apply(t, arguments), this.replace(t), this;
},
remove: function(t) {
var n = this[b], r = n.dehanceValues_(n.values_).indexOf(t);
return r > -1 ? (this.splice(r, 1), !0) : !1;
}
};
w("at", k);
w("concat", k);
w("flat", k);
w("includes", k);
w("indexOf", k);
w("join", k);
w("lastIndexOf", k);
w("slice", k);
w("toString", k);
w("toLocaleString", k);
w("toSorted", k);
w("toSpliced", k);
w("with", k);
w("every", K);
w("filter", K);
w("find", K);
w("findIndex", K);
w("findLast", K);
w("findLastIndex", K);
w("flatMap", K);
w("forEach", K);
w("map", K);
w("some", K);
w("toReversed", K);
w("reduce", Vi);
w("reduceRight", Vi);
function w(e, t) {
typeof Array.prototype[e] == "function" && (Ft[e] = t(e));
}
function k(e) {
return function() {
var t = this[b];
t.atom_.reportObserved();
var n = t.dehanceValues_(t.values_);
return n[e].apply(n, arguments);
};
}
function K(e) {
return function(t, n) {
var r = this, i = this[b];
i.atom_.reportObserved();
var o = i.dehanceValues_(i.values_);
return o[e](function(a, s) {
return t.call(n, a, s, r);
});
};
}
function Vi(e) {
return function() {
var t = this, n = this[b];
n.atom_.reportObserved();
var r = n.dehanceValues_(n.values_), i = arguments[0];
return arguments[0] = function(o, a, s) {
return i(o, a, s, t);
}, r[e].apply(r, arguments);
};
}
var hs = /* @__PURE__ */ Ve("ObservableArrayAdministration", Bn);
function ln(e) {
return Yt(e) && hs(e[b]);
}
var vs = {}, ce = "add", Zt = "delete", Ii = /* @__PURE__ */ function() {
function e(n, r, i) {
var o = this;
r === void 0 && (r = Ne), i === void 0 && (i = process.env.NODE_ENV !== "production" ? "ObservableMap@" + W() : "ObservableMap"), this.enhancer_ = void 0, this.name_ = void 0, this[b] = vs, this.data_ = void 0, this.hasMap_ = void 0, this.keysAtom_ = void 0, this.interceptors_ = void 0, this.changeListeners_ = void 0, this.dehancer = void 0, this.enhancer_ = r, this.name_ = i, S(Map) || h(18), ke(function() {
o.keysAtom_ = ni(process.env.NODE_ENV !== "production" ? o.name_ + ".keys()" : "ObservableMap.keys()"), o.data_ = /* @__PURE__ */ new Map(), o.hasMap_ = /* @__PURE__ */ new Map(), n && o.merge(n);
});
}
var t = e.prototype;
return t.has_ = function(r) {
return this.data_.has(r);
}, t.has = function(r) {
var i = this;
if (!f.trackingDerivation)
return this.has_(r);
var o = this.hasMap_.get(r);
if (!o) {
var a = o = new Oe(this.has_(r), en, process.env.NODE_ENV !== "production" ? this.name_ + "." + An(r) + "?" : "ObservableMap.key?", !1);
this.hasMap_.set(r, a), Pi(a, function() {
return i.hasMap_.delete(r);
});
}
return o.get();
}, t.set = function(r, i) {
var o = this.has_(r);
if (L(this)) {
var a = M(this, {
type: o ? F : ce,
object: this,
newValue: i,
name: r
});
if (!a)
return this;
i = a.newValue;
}
return o ? this.updateValue_(r, i) : this.addValue_(r, i), this;
}, t.delete = function(r) {
var i = this;
if (X(this.keysAtom_), L(this)) {
var o = M(this, {
type: Zt,
object: this,
name: r
});
if (!o)
return !1;
}
if (this.has_(r)) {
var a = P(), s = q(this), l = s || a ? {
observableKind: "map",
debugObjectName: this.name_,
type: Zt,
object: this,
oldValue: this.data_.get(r).value_,
name: r
} : null;
return process.env.NODE_ENV !== "production" && a && V(l), re(function() {
var c;
i.keysAtom_.reportChanged(), (c = i.hasMap_.get(r)) == null || c.setNewValue_(!1);
var u = i.data_.get(r);
u.setNewValue_(void 0), i.data_.delete(r);
}), s && G(this, l), process.env.NODE_ENV !== "production" && a && I(), !0;
}
return !1;
}, t.updateValue_ = function(r, i) {
var o = this.data_.get(r);
if (i = o.prepareNewValue_(i), i !== f.UNCHANGED) {
var a = P(), s = q(this), l = s || a ? {
observableKind: "map",
debugObjectName: this.name_,
type: F,
object: this,
oldValue: o.value_,
name: r,
newValue: i
} : null;
process.env.NODE_ENV !== "production" && a && V(l), o.setNewValue_(i), s && G(this, l), process.env.NODE_ENV !== "production" && a && I();
}
}, t.addValue_ = function(r, i) {
var o = this;
X(this.keysAtom_), re(function() {
var c, u = new Oe(i, o.enhancer_, process.env.NODE_ENV !== "production" ? o.name_ + "." + An(r) : "ObservableMap.key", !1);
o.data_.set(r, u), i = u.value_, (c = o.hasMap_.get(r)) == null || c.setNewValue_(!0), o.keysAtom_.reportChanged();
});
var a = P(), s = q(this), l = s || a ? {
observableKind: "map",
debugObjectName: this.name_,
type: ce,
object: this,
name: r,
newValue: i
} : null;
process.env.NODE_ENV !== "production" && a && V(l), s && G(this, l), process.env.NODE_ENV !== "production" && a && I();
}, t.get = function(r) {
return this.has(r) ? this.dehanceValue_(this.data_.get(r).get()) : this.dehanceValue_(void 0);
}, t.dehanceValue_ = function(r) {
return this.dehancer !== void 0 ? this.dehancer(r) : r;
}, t.keys = function() {
return this.keysAtom_.reportObserved(), this.data_.keys();
}, t.values = function() {
var r = this, i = this.keys();
return ar({
next: function() {
var a = i.next(), s = a.done, l = a.value;
return {
done: s,
value: s ? void 0 : r.get(l)
};
}
});
}, t.entries = function() {
var r = this, i = this.keys();
return ar({
next: function() {
var a = i.next(), s = a.done, l = a.value;
return {
done: s,
value: s ? void 0 : [l, r.get(l)]
};
}
});
}, t[Symbol.iterator] = function() {
return this.entries();
}, t.forEach = function(r, i) {
for (var o = Be(this), a; !(a = o()).done; ) {
var s = a.value, l = s[0], c = s[1];
r.call(i, c, l, this);
}
}, t.merge = function(r) {
var i = this;
return pe(r) && (r = new Map(r)), re(function() {
C(r) ? ko(r).forEach(function(o) {
return i.set(o, r[o]);
}) : Array.isArray(r) ? r.forEach(function(o) {
var a = o[0], s = o[1];
return i.set(a, s);
}) : Ge(r) ? (Io(r) || h(19, r), r.forEach(function(o, a) {
return i.set(a, o);
})) : r != null && h(20, r);
}), this;
}, t.clear = function() {
var r = this;
re(function() {
hi(function() {
for (var i = Be(r.keys()), o; !(o = i()).done; ) {
var a = o.value;
r.delete(a);
}
});
});
}, t.replace = function(r) {
var i = this;
return re(function() {
for (var o = ps(r), a = /* @__PURE__ */ new Map(), s = !1, l = Be(i.data_.keys()), c; !(c = l()).done; ) {
var u = c.value;
if (!o.has(u)) {
var d = i.delete(u);
if (d)
s = !0;
else {
var v = i.data_.get(u);
a.set(u, v);
}
}
}
for (var g = Be(o.entries()), m; !(m = g()).done; ) {
var A = m.value, x = A[0], H = A[1], Le = i.data_.has(x);
if (i.set(x, H), i.data_.has(x)) {
var Qe = i.data_.get(x);
a.set(x, Qe), Le || (s = !0);
}
}
if (!s)
if (i.data_.size !== a.size)
i.keysAtom_.reportChanged();
else
for (var D = i.data_.keys(), ae = a.keys(), ge = D.next(), Qn = ae.next(); !ge.done; ) {
if (ge.value !== Qn.value) {
i.keysAtom_.reportChanged();
break;
}
ge = D.next(), Qn = ae.next();
}
i.data_ = a;
}), this;
}, t.toString = function() {
return "[object ObservableMap]";
}, t.toJSON = function() {
return Array.from(this);
}, t.observe_ = function(r, i) {
return process.env.NODE_ENV !== "production" && i === !0 && h("`observe` doesn't support fireImmediately=true in combination with maps."), Ot(this, r);
}, t.intercept_ = function(r) {
return Et(this, r);
}, Ke(e, [{
key: "size",
get: function() {
return this.keysAtom_.reportObserved(), this.data_.size;
}
}, {
key: Symbol.toStringTag,
get: function() {
return "Map";
}
}]);
}(), pe = /* @__PURE__ */ Ve("ObservableMap", Ii);
function ar(e) {
return e[Symbol.toStringTag] = "MapIterator", Fn(e);
}
function ps(e) {
if (Ge(e) || pe(e))
return e;
if (Array.isArray(e))
return new Map(e);
if (C(e)) {
var t = /* @__PURE__ */ new Map();
for (var n in e)
t.set(n, e[n]);
return t;
} else
return h(21, e);
}
var gs = {}, ki = /* @__PURE__ */ function() {
function e(n, r, i) {
var o = this;
r === void 0 && (r = Ne), i === void 0 && (i = process.env.NODE_ENV !== "production" ? "ObservableSet@" + W() : "ObservableSet"), this.name_ = void 0, this[b] = gs, this.data_ = /* @__PURE__ */ new Set(), this.atom_ = void 0, this.changeListeners_ = void 0, this.interceptors_ = void 0, this.dehancer = void 0, this.enhancer_ = void 0, this.name_ = i, S(Set) || h(22), this.enhancer_ = function(a, s) {
return r(a, s, i);
}, ke(function() {
o.atom_ = ni(o.name_), n && o.replace(n);
});
}
var t = e.prototype;
return t.dehanceValue_ = function(r) {
return this.dehancer !== void 0 ? this.dehancer(r) : r;
}, t.clear = function() {
var r = this;
re(function() {
hi(function() {
for (var i = Be(r.data_.values()), o; !(o = i()).done; ) {
var a = o.value;
r.delete(a);
}
});
});
}, t.forEach = function(r, i) {
for (var o = Be(this), a; !(a = o()).done; ) {
var s = a.value;
r.call(i, s, s, this);
}
}, t.add = function(r) {
var i = this;
if (X(this.atom_), L(this)) {
var o = M(this, {
type: ce,
object: this,
newValue: r
});
if (!o)
return this;
}
if (!this.has(r)) {
re(function() {
i.data_.add(i.enhancer_(r, void 0)), i.atom_.reportChanged();
});
var a = process.env.NODE_ENV !== "production" && P(), s = q(this), l = s || a ? {
observableKind: "set",
debugObjectName: this.name_,
type: ce,
object: this,
newValue: r
} : null;
a && process.env.NODE_ENV !== "production" && V(l), s && G(this, l), a && process.env.NODE_ENV !== "production" && I();
}
return this;
}, t.delete = function(r) {
var i = this;
if (L(this)) {
var o = M(this, {
type: Zt,
object: this,
oldValue: r
});
if (!o)
return !1;
}
if (this.has(r)) {
var a = process.env.NODE_ENV !== "production" && P(), s = q(this), l = s || a ? {
observableKind: "set",
debugObjectName: this.name_,
type: Zt,
object: this,
oldValue: r
} : null;
return a && process.env.NODE_ENV !== "production" && V(l), re(function() {
i.atom_.reportChanged(), i.data_.delete(r);
}), s && G(this, l), a && process.env.NODE_ENV !== "production" && I(), !0;
}
return !1;
}, t.has = function(r) {
return this.atom_.reportObserved(), this.data_.has(this.dehanceValue_(r));
}, t.entries = function() {
var r = 0, i = Array.from(this.keys()), o = Array.from(this.values());
return sr({
next: function() {
var s = r;
return r += 1, s < o.length ? {
value: [i[s], o[s]],
done: !1
} : {
value: void 0,
done: !0
};
}
});
}, t.keys = function() {
return this.values();
}, t.values = function() {
this.atom_.reportObserved();
var r = this, i = 0, o = Array.from(this.data_.values());
return sr({
next: function() {
return i < o.length ? {
value: r.dehanceValue_(o[i++]),
done: !1
} : {
value: void 0,
done: !0
};
}
});
}, t.intersection = function(r) {
if (te(r) && !J(r))
return r.intersection(this);
var i = new Set(this);
return i.intersection(r);
}, t.union = function(r) {
if (te(r) && !J(r))
return r.union(this);
var i = new Set(this);
return i.union(r);
}, t.difference = function(r) {
return new Set(this).difference(r);
}, t.symmetricDifference = function(r) {
if (te(r) && !J(r))
return r.symmetricDifference(this);
var i = new Set(this);
return i.symmetricDifference(r);
}, t.isSubsetOf = function(r) {
return new Set(this).isSubsetOf(r);
}, t.isSupersetOf = function(r) {
return new Set(this).isSupersetOf(r);
}, t.isDisjointFrom = function(r) {
if (te(r) && !J(r))
return r.isDisjointFrom(this);
var i = new Set(this);
return i.isDisjointFrom(r);
}, t.replace = function(r) {
var i = this;
return J(r) && (r = new Set(r)), re(function() {
Array.isArray(r) ? (i.clear(), r.forEach(function(o) {
return i.add(o);
})) : te(r) ? (i.clear(), r.forEach(function(o) {
return i.add(o);
})) : r != null && h("Cannot initialize set from " + r);
}), this;
}, t.observe_ = function(r, i) {
return process.env.NODE_ENV !== "production" && i === !0 && h("`observe` doesn't support fireImmediately=true in combination with sets."), Ot(this, r);
}, t.intercept_ = function(r) {
return Et(this, r);
}, t.toJSON = function() {
return Array.from(this);
}, t.toString = function() {
return "[object ObservableSet]";
}, t[Symbol.iterator] = function() {
return this.values();
}, Ke(e, [{
key: "size",
get: function() {
return this.atom_.reportObserved(), this.data_.size;
}
}, {
key: Symbol.toStringTag,
get: function() {
return "Set";
}
}]);
}(), J = /* @__PURE__ */ Ve("ObservableSet", ki);
function sr(e) {
return e[Symbol.toStringTag] = "SetIterator", Fn(e);
}
var lr = /* @__PURE__ */ Object.create(null), cr = "remove", Cn = /* @__PURE__ */ function() {
function e(n, r, i, o) {
r === void 0 && (r = /* @__PURE__ */ new Map()), o === void 0 && (o = fa), this.target_ = void 0, this.values_ = void 0, this.name_ = void 0, this.defaultAnnotation_ = void 0, this.keysAtom_ = void 0, this.changeListeners_ = void 0, this.interceptors_ = void 0, this.proxy_ = void 0, this.isPlainObject_ = void 0, this.appliedAnnotations_ = void 0, this.pendingKeys_ = void 0, this.target_ = n, this.values_ = r, this.name_ = i, this.defaultAnnotation_ = o, this.keysAtom_ = new ve(process.env.NODE_ENV !== "production" ? this.name_ + ".keys" : "ObservableObject.keys"), this.isPlainObject_ = C(this.target_), process.env.NODE_ENV !== "production" && !Bi(this.defaultAnnotation_) && h("defaultAnnotation must be valid annotation"), process.env.NODE_ENV !== "production" && (this.appliedAnnotations_ = {});
}
var t = e.prototype;
return t.getObservablePropValue_ = function(r) {
return this.values_.get(r).get();
}, t.setObservablePropValue_ = function(r, i) {
var o = this.values_.get(r);
if (o instanceof z)
return o.set(i), !0;
if (L(this)) {
var a = M(this, {
type: F,
object: this.proxy_ || this.target_,
name: r,
newValue: i
});
if (!a)
return null;
i = a.newValue;
}
if (i = o.prepareNewValue_(i), i !== f.UNCHANGED) {
var s = q(this), l = process.env.NODE_ENV !== "production" && P(), c = s || l ? {
type: F,
observableKind: "object",
debugObjectName: this.name_,
object: this.proxy_ || this.target_,
oldValue: o.value_,
name: r,
newValue: i
} : null;
process.env.NODE_ENV !== "production" && l && V(c), o.setNewValue_(i), s && G(this, c), process.env.NODE_ENV !== "production" && l && I();
}
return !0;
}, t.get_ = function(r) {
return f.trackingDerivation && !Z(this.target_, r) && this.has_(r), this.target_[r];
}, t.set_ = function(r, i, o) {
return o === void 0 && (o = !1), Z(this.target_, r) ? this.values_.has(r) ? this.setObservablePropValue_(r, i) : o ? Reflect.set(this.target_, r, i) : (this.target_[r] = i, !0) : this.extend_(r, {
value: i,
enumerable: !0,
writable: !0,
configurable: !0
}, this.defaultAnnotation_, o);
}, t.has_ = function(r) {
if (!f.trackingDerivation)
return r in this.target_;
this.pendingKeys_ || (this.pendingKeys_ = /* @__PURE__ */ new Map());
var i = this.pendingKeys_.get(r);
return i || (i = new Oe(r in this.target_, en, process.env.NODE_ENV !== "production" ? this.name_ + "." + An(r) + "?" : "ObservableObject.key?", !1), this.pendingKeys_.set(r, i)), i.get();
}, t.make_ = function(r, i) {
if (i === !0 && (i = this.defaultAnnotation_), i !== !1) {
if (fr(this, i, r), !(r in this.target_)) {
var o;
if ((o = this.target_[ne]) != null && o[r])
return;
h(1, i.annotationType_, this.name_ + "." + r.toString());
}
for (var a = this.target_; a && a !== Xt; ) {
var s = Mt(a, r);
if (s) {
var l = i.make_(this, r, s, a);
if (l === 0)
return;
if (l === 1)
break;
}
a = Object.getPrototypeOf(a);
}
dr(this, i, r);
}
}, t.extend_ = function(r, i, o, a) {
if (a === void 0 && (a = !1), o === !0 && (o = this.defaultAnnotation_), o === !1)
return this.defineProperty_(r, i, a);
fr(this, o, r);
var s = o.extend_(this, r, i, a);
return s && dr(this, o, r), s;
}, t.defineProperty_ = function(r, i, o) {
o === void 0 && (o = !1), X(this.keysAtom_);
try {
j();
var a = this.delete_(r);
if (!a)
return a;
if (L(this)) {
var s = M(this, {
object: this.proxy_ || this.target_,
name: r,
type: ce,
newValue: i.value
});
if (!s)
return null;
var l = s.newValue;
i.value !== l && (i = de({}, i, {
value: l
}));
}
if (o) {
if (!Reflect.defineProperty(this.target_, r, i))
return !1;
} else
Y(this.target_, r, i);
this.notifyPropertyAddition_(r, i.value);
} finally {
U();
}
return !0;
}, t.defineObservableProperty_ = function(r, i, o, a) {
a === void 0 && (a = !1), X(this.keysAtom_);
try {
j();
var s = this.delete_(r);
if (!s)
return s;
if (L(this)) {
var l = M(this, {
object: this.proxy_ || this.target_,
name: r,
type: ce,
newValue: i
});
if (!l)
return null;
i = l.newValue;
}
var c = ur(r), u = {
configurable: f.safeDescriptors ? this.isPlainObject_ : !0,
enumerable: !0,
get: c.get,
set: c.set
};
if (a) {
if (!Reflect.defineProperty(this.target_, r, u))
return !1;
} else
Y(this.target_, r, u);
var d = new Oe(i, o, process.env.NODE_ENV !== "production" ? this.name_ + "." + r.toString() : "ObservableObject.key", !1);
this.values_.set(r, d), this.notifyPropertyAddition_(r, d.value_);
} finally {
U();
}
return !0;
}, t.defineComputedProperty_ = function(r, i, o) {
o === void 0 && (o = !1), X(this.keysAtom_);
try {
j();
var a = this.delete_(r);
if (!a)
return a;
if (L(this)) {
var s = M(this, {
object: this.proxy_ || this.target_,
name: r,
type: ce,
newValue: void 0
});
if (!s)
return null;
}
i.name || (i.name = process.env.NODE_ENV !== "production" ? this.name_ + "." + r.toString() : "ObservableObject.key"), i.context = this.proxy_ || this.target_;
var l = ur(r), c = {
configurable: f.safeDescriptors ? this.isPlainObject_ : !0,
enumerable: !1,
get: l.get,
set: l.set
};
if (o) {
if (!Reflect.defineProperty(this.target_, r, c))
return !1;
} else
Y(this.target_, r, c);
this.values_.set(r, new z(i)), this.notifyPropertyAddition_(r, void 0);
} finally {
U();
}
return !0;
}, t.delete_ = function(r, i) {
if (i === void 0 && (i = !1), X(this.keysAtom_), !Z(this.target_, r))
return !0;
if (L(this)) {
var o = M(this, {
object: this.proxy_ || this.target_,
name: r,
type: cr
});
if (!o)
return null;
}
try {
var a;
j();
var s = q(this), l = process.env.NODE_ENV !== "production" && P(), c = this.values_.get(r), u = void 0;
if (!c && (s || l)) {
var d;
u = (d = Mt(this.target_, r)) == null ? void 0 : d.value;
}
if (i) {
if (!Reflect.deleteProperty(this.target_, r))
return !1;
} else
delete this.target_[r];
if (process.env.NODE_ENV !== "production" && delete this.appliedAnnotations_[r], c && (this.values_.delete(r), c instanceof Oe && (u = c.value_), mi(c)), this.keysAtom_.reportChanged(), (a = this.pendingKeys_) == null || (a = a.get(r)) == null || a.set(r in this.target_), s || l) {
var v = {
type: cr,
observableKind: "object",
object: this.proxy_ || this.target_,
debugObjectName: this.name_,
oldValue: u,
name: r
};
process.env.NODE_ENV !== "production" && l && V(v), s && G(this, v), process.env.NODE_ENV !== "production" && l && I();
}
} finally {
U();
}
return !0;
}, t.observe_ = function(r, i) {
return process.env.NODE_ENV !== "production" && i === !0 && h("`observe` doesn't support the fire immediately property for observable objects."), Ot(this, r);
}, t.intercept_ = function(r) {
return Et(this, r);
}, t.notifyPropertyAddition_ = function(r, i) {
var o, a = q(this), s = process.env.NODE_ENV !== "production" && P();
if (a || s) {
var l = a || s ? {
type: ce,
observableKind: "object",
debugObjectName: this.name_,
object: this.proxy_ || this.target_,
name: r,
newValue: i
} : null;
process.env.NODE_ENV !== "production" && s && V(l), a && G(this, l), process.env.NODE_ENV !== "production" && s && I();
}
(o = this.pendingKeys_) == null || (o = o.get(r)) == null || o.set(!0), this.keysAtom_.reportChanged();
}, t.ownKeys_ = function() {
return this.keysAtom_.reportObserved(), ft(this.target_);
}, t.keys_ = function() {
return this.keysAtom_.reportObserved(), Object.keys(this.target_);
}, e;
}();
function He(e, t) {
var n;
if (process.env.NODE_ENV !== "production" && t && Je(e) && h("Options can't be provided for already observable objects."), Z(e, b))
return process.env.NODE_ENV !== "production" && !(Ui(e) instanceof Cn) && h("Cannot convert '" + qt(e) + `' into observable object:
The target is already observable of different type.
Extending builtins is not supported.`), e;
process.env.NODE_ENV !== "production" && !Object.isExtensible(e) && h("Cannot make the designated object observable; it is not extensible");
var r = (n = t?.name) != null ? n : process.env.NODE_ENV !== "production" ? (C(e) ? "ObservableObject" : e.constructor.name) + "@" + W() : "ObservableObject", i = new Cn(e, /* @__PURE__ */ new Map(), String(r), Oa(t));
return Qt(e, b, i), e;
}
var bs = /* @__PURE__ */ Ve("ObservableObjectAdministration", Cn);
function ur(e) {
return lr[e] || (lr[e] = {
get: function() {
return this[b].getObservablePropValue_(e);
},
set: function(n) {
return this[b].setObservablePropValue_(e, n);
}
});
}
function Je(e) {
return Yt(e) ? bs(e[b]) : !1;
}
function dr(e, t, n) {
var r;
process.env.NODE_ENV !== "production" && (e.appliedAnnotations_[n] = t), (r = e.target_[ne]) == null || delete r[n];
}
function fr(e, t, n) {
if (process.env.NODE_ENV !== "production" && !Bi(t) && h("Cannot annotate '" + e.name_ + "." + n.toString() + "': Invalid annotation."), process.env.NODE_ENV !== "production" && !Ut(t) && Z(e.appliedAnnotations_, n)) {
var r = e.name_ + "." + n.toString(), i = e.appliedAnnotations_[n].annotationType_, o = t.annotationType_;
h("Cannot apply '" + o + "' to '" + r + "':" + (`
The field is already annotated with '` + i + "'.") + `
Re-annotating fields is not allowed.
Use 'override' annotation for methods overridden by subclass.`);
}
}
var ms = /* @__PURE__ */ Mi(0), ys = /* @__PURE__ */ function() {
var e = !1, t = {};
return Object.defineProperty(t, "0", {
set: function() {
e = !0;
}
}), Object.create(t)[0] = 1, e === !1;
}(), gn = 0, Li = function() {
};
function ws(e, t) {
Object.setPrototypeOf ? Object.setPrototypeOf(e.prototype, t) : e.prototype.__proto__ !== void 0 ? e.prototype.__proto__ = t : e.prototype = t;
}
ws(Li, Array.prototype);
var zn = /* @__PURE__ */ function(e) {
function t(r, i, o, a) {
var s;
return o === void 0 && (o = process.env.NODE_ENV !== "production" ? "ObservableArray@" + W() : "ObservableArray"), a === void 0 && (a = !1), s = e.call(this) || this, ke(function() {
var l = new Bn(o, i, a, !0);
l.proxy_ = s, Qr(s, b, l), r && r.length && s.spliceWithArray(0, 0, r), ys && Object.defineProperty(s, "0", ms);
}), s;
}
ti(t, e);
var n = t.prototype;
return n.concat = function() {
this[b].atom_.reportObserved();
for (var i = arguments.length, o = new Array(i), a = 0; a < i; a++)
o[a] = arguments[a];
return Array.prototype.concat.apply(
this.slice(),
//@ts-ignore
o.map(function(s) {
return ln(s) ? s.slice() : s;
})
);
}, n[Symbol.iterator] = function() {
var r = this, i = 0;
return Fn({
next: function() {
return i < r.length ? {
value: r[i++],
done: !1
} : {
done: !0,
value: void 0
};
}
});
}, Ke(t, [{
key: "length",
get: function() {
return this[b].getArrayLength_();
},
set: function(i) {
this[b].setArrayLength_(i);
}
}, {
key: Symbol.toStringTag,
get: function() {
return "Array";
}
}]);
}(Li);
Object.entries(Ft).forEach(function(e) {
var t = e[0], n = e[1];
t !== "concat" && Qt(zn.prototype, t, n);
});
function Mi(e) {
return {
enumerable: !1,
configurable: !0,
get: function() {
return this[b].get_(e);
},
set: function(n) {
this[b].set_(e, n);
}
};
}
function As(e) {
Y(zn.prototype, "" + e, Mi(e));
}
function ji(e) {
if (e > gn) {
for (var t = gn; t < e + 100; t++)
As(t);
gn = e;
}
}
ji(1e3);
function Es(e, t, n) {
return new zn(e, t, n);
}
function Ze(e, t) {
if (typeof e == "object" && e !== null) {
if (ln(e))
return t !== void 0 && h(23), e[b].atom_;
if (J(e))
return e.atom_;
if (pe(e)) {
if (t === void 0)
return e.keysAtom_;
var n = e.data_.get(t) || e.hasMap_.get(t);
return n || h(25, t, qt(e)), n;
}
if (Je(e)) {
if (!t)
return h(26);
var r = e[b].values_.get(t);
return r || h(27, t, qt(e)), r;
}
if (Ln(e) || an(e) || Wt(e))
return e;
} else if (S(e) && Wt(e[b]))
return e[b];
h(28);
}
function Ui(e, t) {
if (e || h(29), Ln(e) || an(e) || Wt(e) || pe(e) || J(e))
return e;
if (e[b])
return e[b];
h(24, e);
}
function qt(e, t) {
var n;
if (t !== void 0)
n = Ze(e, t);
else {
if (We(e))
return e.name;
Je(e) || pe(e) || J(e) ? n = Ui(e) : n = Ze(e);
}
return n.name_;
}
function ke(e) {
var t = Ie(), n = rn(!0);
j();
try {
return e();
} finally {
U(), on(n), oe(t);
}
}
var hr = Xt.toString;
function Wn(e, t, n) {
return n === void 0 && (n = -1), Dn(e, t, n);
}
function Dn(e, t, n, r, i) {
if (e === t)
return e !== 0 || 1 / e === 1 / t;
if (e == null || t == null)
return !1;
if (e !== e)
return t !== t;
var o = typeof e;
if (o !== "function" && o !== "object" && typeof t != "object")
return !1;
var a = hr.call(e);
if (a !== hr.call(t))
return !1;
switch (a) {
// Strings, numbers, regular expressions, dates, and booleans are compared by value.
case "[object RegExp]":
// RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')
case "[object String]":
return "" + e == "" + t;
case "[object Number]":
return +e != +e ? +t != +t : +e == 0 ? 1 / +e === 1 / t : +e == +t;
case "[object Date]":
case "[object Boolean]":
return +e == +t;
case "[object Symbol]":
return typeof Symbol < "u" && Symbol.valueOf.call(e) === Symbol.valueOf.call(t);
case "[object Map]":
case "[object Set]":
n >= 0 && n++;
break;
}
e = vr(e), t = vr(t);
var s = a === "[object Array]";
if (!s) {
if (typeof e != "object" || typeof t != "object")
return !1;
var l = e.constructor, c = t.constructor;
if (l !== c && !(S(l) && l instanceof l && S(c) && c instanceof c) && "constructor" in e && "constructor" in t)
return !1;
}
if (n === 0)
return !1;
n < 0 && (n = -1), r = r || [], i = i || [];
for (var u = r.length; u--; )
if (r[u] === e)
return i[u] === t;
if (r.push(e), i.push(t), s) {
if (u = e.length, u !== t.length)
return !1;
for (; u--; )
if (!Dn(e[u], t[u], n - 1, r, i))
return !1;
} else {
var d = Object.keys(e), v;
if (u = d.length, Object.keys(t).length !== u)
return !1;
for (; u--; )
if (v = d[u], !(Z(t, v) && Dn(e[v], t[v], n - 1, r, i)))
return !1;
}
return r.pop(), i.pop(), !0;
}
function vr(e) {
return ln(e) ? e.slice() : Ge(e) || pe(e) || te(e) || J(e) ? Array.from(e.entries()) : e;
}
var pr, Os = ((pr = Vn().Iterator) == null ? void 0 : pr.prototype) || {};
function Fn(e) {
return e[Symbol.iterator] = Ss, Object.assign(Object.create(Os), e);
}
function Ss() {
return this;
}
function Bi(e) {
return (
// Can be function
e instanceof Object && typeof e.annotationType_ == "string" && S(e.make_) && S(e.extend_)
);
}
["Symbol", "Map", "Set"].forEach(function(e) {
var t = Vn();
typeof t[e] > "u" && h("MobX requires global '" + e + "' to be available or polyfilled");
});
typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ == "object" && __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({
spy: Za,
extras: {
getDebugName: qt
},
$mobx: b
});
const gr = "copilot-conf";
class ue {
static get sessionConfiguration() {
const t = sessionStorage.getItem(gr);
return t ? JSON.parse(t) : {};
}
static saveCopilotActivation(t) {
const n = this.sessionConfiguration;
n.active = t, this.persist(n);
}
static getCopilotActivation() {
return this.sessionConfiguration.active;
}
static saveSpotlightActivation(t) {
const n = this.sessionConfiguration;
n.spotlightActive = t, this.persist(n);
}
static getSpotlightActivation() {
return this.sessionConfiguration.spotlightActive;
}
static saveSpotlightPosition(t, n, r, i) {
const o = this.sessionConfiguration;
o.spotlightPosition = { left: t, top: n, right: r, bottom: i }, this.persist(o);
}
static getSpotlightPosition() {
return this.sessionConfiguration.spotlightPosition;
}
static saveDrawerSize(t, n) {
const r = this.sessionConfiguration;
r.drawerSizes = r.drawerSizes ?? {}, r.drawerSizes[t] = n, this.persist(r);
}
static getDrawerSize(t) {
const n = this.sessionConfiguration;
if (n.drawerSizes)
return n.drawerSizes[t];
}
static savePanelConfigurations(t) {
const n = this.sessionConfiguration;
n.sectionPanelState = t, this.persist(n);
}
static getPanelConfigurations() {
return this.sessionConfiguration.sectionPanelState;
}
static persist(t) {
sessionStorage.setItem(gr, JSON.stringify(t));
}
static savePrompts(t) {
const n = this.sessionConfiguration;
n.prompts = t, this.persist(n);
}
static getPrompts() {
return this.sessionConfiguration.prompts || [];
}
static saveCurrentSelection(t) {
const n = this.sessionConfiguration;
n.selection = n.selection ?? {}, n.selection && (n.selection.current = t, n.selection.location = window.location.pathname, this.persist(n));
}
static savePendingSelection(t) {
const n = this.sessionConfiguration;
n.selection = n.selection ?? {}, n.selection && (n.selection.pending = t, n.selection.location = window.location.pathname, this.persist(n));
}
static getCurrentSelection() {
const t = this.sessionConfiguration.selection;
if (t?.location === window.location.pathname)
return t.current;
}
static getPendingSelection() {
const t = this.sessionConfiguration.selection;
if (t?.location === window.location.pathname)
return t.pending;
}
}
var Xe = /* @__PURE__ */ ((e) => (e.INFORMATION = "information", e.WARNING = "warning", e.ERROR = "error", e))(Xe || {});
const Ns = Symbol.for("react.portal"), xs = Symbol.for("react.fragment"), _s = Symbol.for("react.strict_mode"), Ps = Symbol.for("react.profiler"), Cs = Symbol.for("react.provider"), Ds = Symbol.for("react.context"), zi = Symbol.for("react.forward_ref"), Rs = Symbol.for("react.suspense"), Ts = Symbol.for("react.suspense_list"), Vs = Symbol.for("react.memo"), Is = Symbol.for("react.lazy");
function ks(e, t, n) {
const r = e.displayName;
if (r)
return r;
const i = t.displayName || t.name || "";
return i !== "" ? `${n}(${i})` : n;
}
function br(e) {
return e.displayName || "Context";
}
function Gt(e) {
if (e == null)
return null;
if (typeof e == "function")
return e.displayName || e.name || null;
if (typeof e == "string")
return e;
switch (e) {
case xs:
return "Fragment";
case Ns:
return "Portal";
case Ps:
return "Profiler";
case _s:
return "StrictMode";
case Rs:
return "Suspense";
case Ts:
return "SuspenseList";
}
if (typeof e == "object")
switch (e.$$typeof) {
case Ds:
return `${br(e)}.Consumer`;
case Cs:
return `${br(e._context)}.Provider`;
case zi:
return ks(e, e.render, "ForwardRef");
case Vs:
const t = e.displayName || null;
return t !== null ? t : Gt(e.type) || "Memo";
case Is: {
const n = e, r = n._payload, i = n._init;
try {
return Gt(i(r));
} catch {
return null;
}
}
}
return null;
}
let _t;
function jc() {
const e = /* @__PURE__ */ new Set();
return Array.from(document.body.querySelectorAll("*")).flatMap(Us).filter(Ls).filter((n) => !n.fileName.endsWith("frontend/generated/flow/Flow.tsx")).forEach((n) => e.add(n.fileName)), Array.from(e);
}
function Ls(e) {
return !!e && e.fileName;
}
function Ms(e) {
return e?._debugSource || void 0;
}
function js(e) {
if (e && e.type?.__debugSourceDefine)
return e.type.__debugSourceDefine;
}
function Us(e) {
return Ms(Kt(e));
}
function Bs() {
return `__reactFiber$${Wi()}`;
}
function zs() {
return `__reactContainer$${Wi()}`;
}
function Wi() {
if (!(!_t && (_t = Array.from(document.querySelectorAll("*")).flatMap((e) => Object.keys(e)).filter((e) => e.startsWith("__reactFiber$")).map((e) => e.replace("__reactFiber$", "")).find((e) => e), !_t)))
return _t;
}
function Vt(e) {
const t = e.type;
return t?.$$typeof === zi && !t.displayName && e.child ? Vt(e.child) : Gt(e.type) ?? Gt(e.elementType) ?? "???";
}
function Ws() {
const e = Array.from(document.querySelectorAll("body > *")).flatMap((n) => n[zs()]).find((n) => n), t = Pe(e);
return Pe(t?.child);
}
function Fs(e) {
const t = [];
let n = Pe(e.child);
for (; n; )
t.push(n), n = Pe(n.sibling);
return t;
}
function Zs(e) {
return e.hasOwnProperty("entanglements") && e.hasOwnProperty("containerInfo");
}
function qs(e) {
return e.hasOwnProperty("stateNode") && e.hasOwnProperty("pendingProps");
}
function Pe(e) {
const t = e?.stateNode;
if (t?.current && (Zs(t) || qs(t)))
return t?.current;
if (!e)
return;
if (!e.alternate)
return e;
const n = e.alternate, r = e?.actualStartTime, i = n?.actualStartTime;
return i !== r && i > r ? n : e;
}
function Kt(e) {
const t = Bs(), n = Pe(e[t]);
if (n?._debugSource)
return n;
let r = n?.return || void 0;
for (; r && !r._debugSource; )
r = r.return || void 0;
return r;
}
function Ht(e) {
if (e.stateNode?.isConnected === !0)
return e.stateNode;
if (e.child)
return Ht(e.child);
}
function mr(e) {
const t = Ht(e);
return t && Pe(Kt(t)) === e;
}
function Gs(e) {
return typeof e.type != "function" ? !1 : !!(e._debugSource || js(e));
}
const Zn = async (e, t, n) => window.Vaadin.copilot.comm(e, t, n), Ce = "copilot-", Ks = "24.6.0", Uc = "attention-required", Bc = "https://plugins.jetbrains.com/plugin/23758-vaadin", zc = "https://marketplace.visualstudio.com/items?itemName=vaadin.vaadin-vscode";
function Wc(e) {
return e === void 0 ? !1 : e.nodeId >= 0;
}
function Hs(e) {
if (e.javaClass)
return e.javaClass.substring(e.javaClass.lastIndexOf(".") + 1);
}
function yr(e) {
const t = window.Vaadin;
if (t && t.Flow) {
const { clients: n } = t.Flow, r = Object.keys(n);
for (const i of r) {
const o = n[i];
if (o.getNodeId) {
const a = o.getNodeId(e);
if (a >= 0) {
const s = o.getNodeInfo(a);
return { nodeId: a, uiId: o.getUIId(), element: e, javaClass: s.javaClass, styles: s.styles };
}
}
}
}
}
function Fc() {
const e = window.Vaadin;
let t;
if (e && e.Flow) {
const { clients: n } = e.Flow, r = Object.keys(n);
for (const i of r) {
const o = n[i];
o.getUIId && (t = o.getUIId());
}
}
return t;
}
function Zc(e) {
return {
uiId: e.uiId,
nodeId: e.nodeId
};
}
function Js(e) {
return e ? e.type?.type === "FlowContainer" : !1;
}
function Xs(e) {
return e.localName.startsWith("flow-container");
}
function Fi(e, t) {
const n = e();
n ? t(n) : setTimeout(() => Fi(e, t), 50);
}
async function Zi(e) {
const t = e();
if (t)
return t;
let n;
const r = new Promise((o) => {
n = o;
}), i = setInterval(() => {
const o = e();
o && (clearInterval(i), n(o));
}, 10);
return r;
}
function Ys(e) {
return N.box(e, { deep: !1 });
}
function Qs(e) {
return e && typeof e.lastAccessedBy_ == "number";
}
function qc(e) {
if (e) {
if (typeof e == "string")
return e;
if (!Qs(e))
throw new Error(`Expected message to be a string or an observable value but was ${JSON.stringify(e)}`);
return e.get();
}
}
function qn(e) {
Promise.resolve().then(() => Ul).then(({ showNotification: t }) => {
t(e);
});
}
function $s() {
qn({
type: Xe.INFORMATION,
message: "The previous operation is still in progress. Please wait for it to finish."
});
}
class el {
constructor() {
this.spotlightActive = !1, this.welcomeActive = !1, this.loginCheckActive = !1, this.userInfo = void 0, this.active = !1, this.activatedFrom = null, this.activatedAtLeastOnce = !1, this.operationInProgress = void 0, this.operationWaitsHmrUpdate = void 0, this.operationWaitsHmrUpdateTimeout = void 0, this.idePluginState = void 0, this.notifications = [], this.infoTooltip = null, this.sectionPanelDragging = !1, this.spotlightDragging = !1, this.sectionPanelResizing = !1, this.drawerResizing = !1, this.jdkInfo = void 0, sn(this, {
notifications: N.shallow
}), this.spotlightActive = ue.getSpotlightActivation() ?? !1;
}
setActive(t, n) {
this.active = t, t && (this.activatedAtLeastOnce = !0), this.activatedFrom = n ?? null;
}
setSpotlightActive(t) {
this.spotlightActive = t;
}
setWelcomeActive(t) {
this.welcomeActive = t;
}
setLoginCheckActive(t) {
this.loginCheckActive = t;
}
setUserInfo(t) {
this.userInfo = t;
}
startOperation(t) {
if (this.operationInProgress)
throw new Error(`An ${t} operation is already in progress`);
if (this.operationWaitsHmrUpdate) {
$s();
return;
}
this.operationInProgress = t;
}
stopOperation(t) {
if (this.operationInProgress) {
if (this.operationInProgress !== t)
return;
} else return;
this.operationInProgress = void 0;
}
setOperationWaitsHmrUpdate(t, n) {
this.operationWaitsHmrUpdate = t, this.operationWaitsHmrUpdateTimeout = n;
}
clearOperationWaitsHmrUpdate() {
this.operationWaitsHmrUpdate = void 0, this.operationWaitsHmrUpdateTimeout = void 0;
}
setIdePluginState(t) {
this.idePluginState = t;
}
setJdkInfo(t) {
this.jdkInfo = t;
}
toggleActive(t) {
this.setActive(!this.active, this.active ? null : t ?? null);
}
reset() {
this.active = !1, this.activatedAtLeastOnce = !1;
}
setNotifications(t) {
this.notifications = t;
}
removeNotification(t) {
t.animatingOut = !0, setTimeout(() => {
this.reallyRemoveNotification(t);
}, 180);
}
reallyRemoveNotification(t) {
const n = this.notifications.indexOf(t);
n > -1 && this.notifications.splice(n, 1);
}
setTooltip(t, n) {
this.infoTooltip = {
text: t,
loader: n
};
}
clearTooltip() {
this.infoTooltip = null;
}
setSectionPanelDragging(t) {
this.sectionPanelDragging = t;
}
setSpotlightDragging(t) {
this.spotlightDragging = t;
}
setSectionPanelResizing(t) {
this.sectionPanelResizing = t;
}
setDrawerResizing(t) {
this.drawerResizing = t;
}
}
const Gc = (e, t, n) => t >= e.left && t <= e.right && n >= e.top && n <= e.bottom, tl = (e) => {
const t = [];
let n = rl(e);
for (; n; )
t.push(n), n = n.parentElement;
return t;
}, nl = (e, t) => {
let n = e;
for (; !(n instanceof HTMLElement && n.localName === `${Ce}main`); ) {
if (!n.isConnected)
return null;
if (n.parentNode ? n = n.parentNode : n.host && (n = n.host), n instanceof HTMLElement && n.localName === t)
return n;
}
return null;
};
function rl(e) {
return e.parentElement ?? e.parentNode?.host;
}
function qe(e) {
return !e || !(e instanceof HTMLElement) ? !1 : [...tl(e), e].map((t) => t.localName).some((t) => t.startsWith(Ce));
}
function wr(e) {
return e instanceof Element;
}
function Ar(e) {
return e.startsWith("vaadin-") ? e.substring(7).split("-").map((r) => r.charAt(0).toUpperCase() + r.slice(1)).join(" ") : e;
}
function Er(e) {
if (!e)
return;
if (e.id)
return `#${e.id}`;
if (!e.children)
return;
const t = Array.from(e.children).find((r) => r.localName === "label");
if (t)
return t.outerText.trim();
const n = Array.from(e.childNodes).find(
(r) => r.nodeType === Node.TEXT_NODE && r.textContent && r.textContent.trim().length > 0
);
if (n && n.textContent)
return n.textContent.trim();
}
var qi = /* @__PURE__ */ ((e) => (e["vaadin-combo-box"] = "vaadin-combo-box", e["vaadin-date-picker"] = "vaadin-date-picker", e["vaadin-dialog"] = "vaadin-dialog", e["vaadin-multi-select-combo-box"] = "vaadin-multi-select-combo-box", e["vaadin-select"] = "vaadin-select", e["vaadin-time-picker"] = "vaadin-time-picker", e["vaadin-popover"] = "vaadin-popover", e))(qi || {});
const et = {
"vaadin-combo-box": {
hideOnActivation: !0,
open: (e) => Pt(e),
close: (e) => Ct(e)
},
"vaadin-select": {
hideOnActivation: !0,
open: (e) => {
const t = e;
Ki(t, t._overlayElement), t.opened = !0;
},
close: (e) => {
const t = e;
Hi(t, t._overlayElement), t.opened = !1;
}
},
"vaadin-multi-select-combo-box": {
hideOnActivation: !0,
open: (e) => Pt(e.$.comboBox),
close: (e) => {
Ct(e.$.comboBox), e.removeAttribute("focused");
}
},
"vaadin-date-picker": {
hideOnActivation: !0,
open: (e) => Pt(e),
close: (e) => Ct(e)
},
"vaadin-time-picker": {
hideOnActivation: !0,
open: (e) => Pt(e.$.comboBox),
close: (e) => {
Ct(e.$.comboBox), e.removeAttribute("focused");
}
},
"vaadin-dialog": {
hideOnActivation: !1
},
"vaadin-popover": {
hideOnActivation: !1
}
}, Gi = (e) => {
e.preventDefault(), e.stopImmediatePropagation();
}, Pt = (e) => {
e.addEventListener("focusout", Gi, { capture: !0 }), Ki(e), e.opened = !0;
}, Ct = (e) => {
Hi(e), e.removeAttribute("focused"), e.removeEventListener("focusout", Gi, { capture: !0 }), e.opened = !1;
}, Ki = (e, t) => {
const n = t ?? e.$.overlay;
n.__oldModeless = n.modeless, n.modeless = !0;
}, Hi = (e, t) => {
const n = t ?? e.$.overlay;
n.modeless = n.__oldModeless !== void 0 ? n.__oldModeless : n.modeless, delete n.__oldModeless;
};
class il {
constructor() {
this.openedOverlayOwners = /* @__PURE__ */ new Set(), this.overlayCloseEventListener = (t) => {
qe(t.target?.owner) || (window.Vaadin.copilot._uiState.active || qe(t.detail.sourceEvent.target)) && (t.preventDefault(), t.stopImmediatePropagation());
};
}
/**
* Modifies pointer-events property to auto if dialog overlay is present on body element. <br/>
* Overriding closeOnOutsideClick method in order to keep overlay present while copilot is active
* @private
*/
onCopilotActivation() {
const t = Array.from(document.body.children).find(
(r) => r.localName.startsWith("vaadin") && r.localName.endsWith("-overlay")
);
if (!t)
return;
const n = this.getOwner(t);
if (n) {
const r = et[n.localName];
if (!r)
return;
r.hideOnActivation && r.close ? r.close(n) : document.body.style.getPropertyValue("pointer-events") === "none" && document.body.style.removeProperty("pointer-events");
}
}
/**
* Restores pointer-events state on deactivation. <br/>
* Closes opened overlays while using copilot.
* @private
*/
onCopilotDeactivation() {
this.openedOverlayOwners.forEach((n) => {
const r = et[n.localName];
r && r.close && r.close(n);
}), document.body.querySelector("vaadin-dialog-overlay") && document.body.style.setProperty("pointer-events", "none");
}
getOwner(t) {
const n = t;
return n.owner ?? n.__dataHost;
}
addOverlayOutsideClickEvent() {
document.documentElement.addEventListener("vaadin-overlay-outside-click", this.overlayCloseEventListener, {
capture: !0
}), document.documentElement.addEventListener("vaadin-overlay-escape-press", this.overlayCloseEventListener, {
capture: !0
});
}
removeOverlayOutsideClickEvent() {
document.documentElement.removeEventListener("vaadin-overlay-outside-click", this.overlayCloseEventListener), document.documentElement.removeEventListener("vaadin-overlay-escape-press", this.overlayCloseEventListener);
}
toggle(t) {
const n = et[t.localName];
this.isOverlayActive(t) ? (n.close(t), this.openedOverlayOwners.delete(t)) : (n.open(t), this.openedOverlayOwners.add(t));
}
isOverlayActive(t) {
const n = et[t.localName];
return n.active ? n.active(t) : t.hasAttribute("opened");
}
overlayStatus(t) {
if (!t)
return { visible: !1 };
const n = t.localName;
let r = Object.keys(qi).includes(n);
if (!r)
return { visible: !1 };
const i = et[t.localName];
i.hasOverlay && (r = i.hasOverlay(t));
const o = this.isOverlayActive(t);
return { visible: r, active: o };
}
}
async function Ji() {
return Zi(() => {
const e = window.Vaadin.devTools, t = e?.frontendConnection && e?.frontendConnection.status === "active";
return e !== void 0 && t && e?.frontendConnection;
});
}
function fe(e, t) {
Ji().then((n) => n.send(e, t));
}
class ol {
constructor() {
this.promise = new Promise((t) => {
this.resolveInit = t;
});
}
done(t) {
this.resolveInit(t);
}
}
class al {
constructor() {
this.dismissedNotifications = [], this.termsSummaryDismissed = !1, this.activationButtonPosition = null, this.paletteState = null, this.activationShortcut = !0, this.activationAnimation = !0, sn(this), this.initializer = new ol(), this.initializer.promise.then(() => {
_i(
() => JSON.stringify(this),
() => {
fe("copilot-set-machine-configuration", { conf: JSON.stringify(Or(this)) });
}
);
}), window.Vaadin.copilot.eventbus.on("copilot-machine-configuration", (t) => {
const n = t.detail.conf;
Object.assign(this, Or(n)), this.initializer.done(!0), t.preventDefault();
}), this.loadData();
}
loadData() {
fe("copilot-get-machine-configuration", {});
}
addDismissedNotification(t) {
this.dismissedNotifications.push(t);
}
getDismissedNotifications() {
return this.dismissedNotifications;
}
setTermsSummaryDismissed(t) {
this.termsSummaryDismissed = t;
}
isTermsSummaryDismissed() {
return this.termsSummaryDismissed;
}
getActivationButtonPosition() {
return this.activationButtonPosition;
}
setActivationButtonPosition(t) {
this.activationButtonPosition = t;
}
getPaletteState() {
return this.paletteState;
}
setPaletteState(t) {
this.paletteState = t;
}
isActivationShortcut() {
return this.activationShortcut;
}
setActivationShortcut(t) {
this.activationShortcut = t;
}
isActivationAnimation() {
return this.activationAnimation;
}
setActivationAnimation(t) {
this.activationAnimation = t;
}
}
function Or(e) {
const t = { ...e };
return delete t.initializer, t;
}
class sl {
constructor() {
this._previewActivated = !1, this._remainingTimeInMillis = -1, this._active = !1, this._configurationLoaded = !1, sn(this);
}
setConfiguration(t) {
this._previewActivated = t.previewActivated, t.previewActivated ? this._remainingTimeInMillis = t.remainingTimeInMillis : this._remainingTimeInMillis = -1, this._active = t.active, this._configurationLoaded = !0;
}
get previewActivated() {
return this._previewActivated;
}
get remainingTimeInMillis() {
return this._remainingTimeInMillis;
}
get active() {
return this._active;
}
get configurationLoaded() {
return this._configurationLoaded;
}
get expired() {
return this.previewActivated && !this.active;
}
reset() {
this._previewActivated = !1, this._active = !1, this._configurationLoaded = !1, this._remainingTimeInMillis = -1;
}
loadPreviewConfiguration() {
Zn(`${Ce}get-preview`, {}, (t) => {
const n = t.data;
this.setConfiguration(n);
}).catch((t) => {
Promise.resolve().then(() => Gl).then((n) => {
n.handleCopilotError("Load preview configuration failed", t);
});
});
}
}
class ll {
constructor() {
this._panels = [], this._attentionRequiredPanelTag = null, this._floatingPanelsZIndexOrder = [], this.renderedPanels = /* @__PURE__ */ new Set(), sn(this), this.restorePositions();
}
shouldRender(t) {
return this.renderedPanels.has(t);
}
restorePositions() {
const t = ue.getPanelConfigurations();
t && (this._panels = this._panels.map((n) => {
const r = t.find((i) => i.tag === n.tag);
return r && (n = Object.assign(n, { ...r })), n;
}));
}
/**
* Brings a given floating panel to the front.
*
* @param panelTag the tag name of the panel
*/
bringToFront(t) {
this._floatingPanelsZIndexOrder = this._floatingPanelsZIndexOrder.filter((n) => n !== t), this.getPanelByTag(t)?.floating && this._floatingPanelsZIndexOrder.push(t);
}
/**
* Returns the focused z-index of floating panel as following order
* <ul>
* <li>Returns 50 for last(focused) element </li>
* <li>Returns the index of element in list(starting from 0) </li>
* <li>Returns 0 if panel is not in the list</li>
* </ul>
* @param panelTag
*/
getFloatingPanelZIndex(t) {
const n = this._floatingPanelsZIndexOrder.findIndex((r) => r === t);
return n === this._floatingPanelsZIndexOrder.length - 1 ? 50 : n === -1 ? 0 : n;
}
get floatingPanelsZIndexOrder() {
return this._floatingPanelsZIndexOrder;
}
get attentionRequiredPanelTag() {
return this._attentionRequiredPanelTag;
}
set attentionRequiredPanelTag(t) {
this._attentionRequiredPanelTag = t;
}
getAttentionRequiredPanelConfiguration() {
return this._panels.find((t) => t.tag === this._attentionRequiredPanelTag);
}
clearAttention() {
this._attentionRequiredPanelTag = null;
}
get panels() {
return this._panels;
}
addPanel(t) {
if (this.getPanelByTag(t.tag))
return;
this._panels.push(t), this.restorePositions();
const n = this.getPanelByTag(t.tag);
if (n)
(n.eager || n.expanded) && this.renderedPanels.add(t.tag);
else throw new Error(`Panel configuration not found for tag ${t.tag}`);
}
getPanelByTag(t) {
return this._panels.find((n) => n.tag === t);
}
updatePanel(t, n) {
const r = [...this._panels], i = r.find((o) => o.tag === t);
if (i) {
for (const o in n)
i[o] = n[o];
i.expanded && this.renderedPanels.add(i.tag), n.floating === !1 && (this._floatingPanelsZIndexOrder = this._floatingPanelsZIndexOrder.filter((o) => o !== t)), this._panels = r, ue.savePanelConfigurations(this._panels);
}
}
updateOrders(t) {
const n = [...this._panels];
n.forEach((r) => {
const i = t.find((o) => o.tag === r.tag);
i && (r.panelOrder = i.order);
}), this._panels = n, ue.savePanelConfigurations(n);
}
removePanel(t) {
const n = this._panels.findIndex((r) => r.tag === t);
n < 0 || (this._panels.splice(n, 1), ue.savePanelConfigurations(this._panels));
}
}
window.Vaadin ??= {};
window.Vaadin.copilot ??= {};
window.Vaadin.copilot.plugins = [];
window.Vaadin.copilot._uiState = new el();
window.Vaadin.copilot.eventbus = new Po();
window.Vaadin.copilot.overlayManager = new il();
window.Vaadin.copilot._machineState = new al();
window.Vaadin.copilot._previewState = new sl();
window.Vaadin.copilot._sectionPanelUiState = new ll();
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const cl = (e) => (t, n) => {
n !== void 0 ? n.addInitializer(() => {
customElements.define(e, t);
}) : customElements.define(e, t);
};
/**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const It = globalThis, Gn = It.ShadowRoot && (It.ShadyCSS === void 0 || It.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, Kn = Symbol(), Sr = /* @__PURE__ */ new WeakMap();
let Xi = class {
constructor(t, n, r) {
if (this._$cssResult$ = !0, r !== Kn) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
this.cssText = t, this.t = n;
}
get styleSheet() {
let t = this.o;
const n = this.t;
if (Gn && t === void 0) {
const r = n !== void 0 && n.length === 1;
r && (t = Sr.get(n)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), r && Sr.set(n, t));
}
return t;
}
toString() {
return this.cssText;
}
};
const le = (e) => new Xi(typeof e == "string" ? e : e + "", void 0, Kn), ul = (e, ...t) => {
const n = e.length === 1 ? e[0] : t.reduce((r, i, o) => r + ((a) => {
if (a._$cssResult$ === !0) return a.cssText;
if (typeof a == "number") return a;
throw Error("Value passed to 'css' function must be a 'css' function result: " + a + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
})(i) + e[o + 1], e[0]);
return new Xi(n, e, Kn);
}, dl = (e, t) => {
if (Gn) e.adoptedStyleSheets = t.map((n) => n instanceof CSSStyleSheet ? n : n.styleSheet);
else for (const n of t) {
const r = document.createElement("style"), i = It.litNonce;
i !== void 0 && r.setAttribute("nonce", i), r.textContent = n.cssText, e.appendChild(r);
}
}, Nr = Gn ? (e) => e : (e) => e instanceof CSSStyleSheet ? ((t) => {
let n = "";
for (const r of t.cssRules) n += r.cssText;
return le(n);
})(e) : e;
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const { is: fl, defineProperty: hl, getOwnPropertyDescriptor: vl, getOwnPropertyNames: pl, getOwnPropertySymbols: gl, getPrototypeOf: bl } = Object, cn = globalThis, xr = cn.trustedTypes, ml = xr ? xr.emptyScript : "", yl = cn.reactiveElementPolyfillSupport, lt = (e, t) => e, Rn = { toAttribute(e, t) {
switch (t) {
case Boolean:
e = e ? ml : null;
break;
case Object:
case Array:
e = e == null ? e : JSON.stringify(e);
}
return e;
}, fromAttribute(e, t) {
let n = e;
switch (t) {
case Boolean:
n = e !== null;
break;
case Number:
n = e === null ? null : Number(e);
break;
case Object:
case Array:
try {
n = JSON.parse(e);
} catch {
n = null;
}
}
return n;
} }, Yi = (e, t) => !fl(e, t), _r = { attribute: !0, type: String, converter: Rn, reflect: !1, hasChanged: Yi };
Symbol.metadata ??= Symbol("metadata"), cn.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
let je = class extends HTMLElement {
static addInitializer(t) {
this._$Ei(), (this.l ??= []).push(t);
}
static get observedAttributes() {
return this.finalize(), this._$Eh && [...this._$Eh.keys()];
}
static createProperty(t, n = _r) {
if (n.state && (n.attribute = !1), this._$Ei(), this.elementProperties.set(t, n), !n.noAccessor) {
const r = Symbol(), i = this.getPropertyDescriptor(t, r, n);
i !== void 0 && hl(this.prototype, t, i);
}
}
static getPropertyDescriptor(t, n, r) {
const { get: i, set: o } = vl(this.prototype, t) ?? { get() {
return this[n];
}, set(a) {
this[n] = a;
} };
return { get() {
return i?.call(this);
}, set(a) {
const s = i?.call(this);
o.call(this, a), this.requestUpdate(t, s, r);
}, configurable: !0, enumerable: !0 };
}
static getPropertyOptions(t) {
return this.elementProperties.get(t) ?? _r;
}
static _$Ei() {
if (this.hasOwnProperty(lt("elementProperties"))) return;
const t = bl(this);
t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
}
static finalize() {
if (this.hasOwnProperty(lt("finalized"))) return;
if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(lt("properties"))) {
const n = this.properties, r = [...pl(n), ...gl(n)];
for (const i of r) this.createProperty(i, n[i]);
}
const t = this[Symbol.metadata];
if (t !== null) {
const n = litPropertyMetadata.get(t);
if (n !== void 0) for (const [r, i] of n) this.elementProperties.set(r, i);
}
this._$Eh = /* @__PURE__ */ new Map();
for (const [n, r] of this.elementProperties) {
const i = this._$Eu(n, r);
i !== void 0 && this._$Eh.set(i, n);
}
this.elementStyles = this.finalizeStyles(this.styles);
}
static finalizeStyles(t) {
const n = [];
if (Array.isArray(t)) {
const r = new Set(t.flat(1 / 0).reverse());
for (const i of r) n.unshift(Nr(i));
} else t !== void 0 && n.push(Nr(t));
return n;
}
static _$Eu(t, n) {
const r = n.attribute;
return r === !1 ? void 0 : typeof r == "string" ? r : typeof t == "string" ? t.toLowerCase() : void 0;
}
constructor() {
super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();
}
_$Ev() {
this._$ES = new Promise((t) => this.enableUpdating = t), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach((t) => t(this));
}
addController(t) {
(this._$EO ??= /* @__PURE__ */ new Set()).add(t), this.renderRoot !== void 0 && this.isConnected && t.hostConnected?.();
}
removeController(t) {
this._$EO?.delete(t);
}
_$E_() {
const t = /* @__PURE__ */ new Map(), n = this.constructor.elementProperties;
for (const r of n.keys()) this.hasOwnProperty(r) && (t.set(r, this[r]), delete this[r]);
t.size > 0 && (this._$Ep = t);
}
createRenderRoot() {
const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
return dl(t, this.constructor.elementStyles), t;
}
connectedCallback() {
this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(!0), this._$EO?.forEach((t) => t.hostConnected?.());
}
enableUpdating(t) {
}
disconnectedCallback() {
this._$EO?.forEach((t) => t.hostDisconnected?.());
}
attributeChangedCallback(t, n, r) {
this._$AK(t, r);
}
_$EC(t, n) {
const r = this.constructor.elementProperties.get(t), i = this.constructor._$Eu(t, r);
if (i !== void 0 && r.reflect === !0) {
const o = (r.converter?.toAttribute !== void 0 ? r.converter : Rn).toAttribute(n, r.type);
this._$Em = t, o == null ? this.removeAttribute(i) : this.setAttribute(i, o), this._$Em = null;
}
}
_$AK(t, n) {
const r = this.constructor, i = r._$Eh.get(t);
if (i !== void 0 && this._$Em !== i) {
const o = r.getPropertyOptions(i), a = typeof o.converter == "function" ? { fromAttribute: o.converter } : o.converter?.fromAttribute !== void 0 ? o.converter : Rn;
this._$Em = i, this[i] = a.fromAttribute(n, o.type), this._$Em = null;
}
}
requestUpdate(t, n, r) {
if (t !== void 0) {
if (r ??= this.constructor.getPropertyOptions(t), !(r.hasChanged ?? Yi)(this[t], n)) return;
this.P(t, n, r);
}
this.isUpdatePending === !1 && (this._$ES = this._$ET());
}
P(t, n, r) {
this._$AL.has(t) || this._$AL.set(t, n), r.reflect === !0 && this._$Em !== t && (this._$Ej ??= /* @__PURE__ */ new Set()).add(t);
}
async _$ET() {
this.isUpdatePending = !0;
try {
await this._$ES;
} catch (n) {
Promise.reject(n);
}
const t = this.scheduleUpdate();
return t != null && await t, !this.isUpdatePending;
}
scheduleUpdate() {
return this.performUpdate();
}
performUpdate() {
if (!this.isUpdatePending) return;
if (!this.hasUpdated) {
if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
for (const [i, o] of this._$Ep) this[i] = o;
this._$Ep = void 0;
}
const r = this.constructor.elementProperties;
if (r.size > 0) for (const [i, o] of r) o.wrapped !== !0 || this._$AL.has(i) || this[i] === void 0 || this.P(i, this[i], o);
}
let t = !1;
const n = this._$AL;
try {
t = this.shouldUpdate(n), t ? (this.willUpdate(n), this._$EO?.forEach((r) => r.hostUpdate?.()), this.update(n)) : this._$EU();
} catch (r) {
throw t = !1, this._$EU(), r;
}
t && this._$AE(n);
}
willUpdate(t) {
}
_$AE(t) {
this._$EO?.forEach((n) => n.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);
}
_$EU() {
this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
}
get updateComplete() {
return this.getUpdateComplete();
}
getUpdateComplete() {
return this._$ES;
}
shouldUpdate(t) {
return !0;
}
update(t) {
this._$Ej &&= this._$Ej.forEach((n) => this._$EC(n, this[n])), this._$EU();
}
updated(t) {
}
firstUpdated(t) {
}
};
je.elementStyles = [], je.shadowRootOptions = { mode: "open" }, je[lt("elementProperties")] = /* @__PURE__ */ new Map(), je[lt("finalized")] = /* @__PURE__ */ new Map(), yl?.({ ReactiveElement: je }), (cn.reactiveElementVersions ??= []).push("2.0.4");
const Me = Symbol("LitMobxRenderReaction"), Pr = Symbol("LitMobxRequestUpdate");
function wl(e, t) {
var n, r;
return r = class extends e {
constructor() {
super(...arguments), this[n] = () => {
this.requestUpdate();
};
}
connectedCallback() {
super.connectedCallback();
const o = this.constructor.name || this.nodeName;
this[Me] = new t(`${o}.update()`, this[Pr]), this.hasUpdated && this.requestUpdate();
}
disconnectedCallback() {
super.disconnectedCallback(), this[Me] && (this[Me].dispose(), this[Me] = void 0);
}
update(o) {
this[Me] ? this[Me].track(super.update.bind(this, o)) : super.update(o);
}
}, n = Pr, r;
}
function Al(e) {
return wl(e, ee);
}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const Hn = globalThis, Jt = Hn.trustedTypes, Cr = Jt ? Jt.createPolicy("lit-html", { createHTML: (e) => e }) : void 0, Jn = "$lit$", ie = `lit$${Math.random().toFixed(9).slice(2)}$`, Xn = "?" + ie, El = `<${Xn}>`, De = document, gt = () => De.createComment(""), bt = (e) => e === null || typeof e != "object" && typeof e != "function", Yn = Array.isArray, Qi = (e) => Yn(e) || typeof e?.[Symbol.iterator] == "function", bn = `[
\f\r]`, tt = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Dr = /-->/g, Rr = />/g, me = RegExp(`>|${bn}(?:([^\\s"'>=/]+)(${bn}*=${bn}*(?:[^
\f\r"'\`<>=]|("|')|))|$)`, "g"), Tr = /'/g, Vr = /"/g, $i = /^(?:script|style|textarea|title)$/i, eo = (e) => (t, ...n) => ({ _$litType$: e, strings: t, values: n }), ct = eo(1), Xc = eo(2), he = Symbol.for("lit-noChange"), O = Symbol.for("lit-nothing"), Ir = /* @__PURE__ */ new WeakMap(), Ee = De.createTreeWalker(De, 129);
function to(e, t) {
if (!Yn(e) || !e.hasOwnProperty("raw")) throw Error("invalid template strings array");
return Cr !== void 0 ? Cr.createHTML(t) : t;
}
const no = (e, t) => {
const n = e.length - 1, r = [];
let i, o = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", a = tt;
for (let s = 0; s < n; s++) {
const l = e[s];
let c, u, d = -1, v = 0;
for (; v < l.length && (a.lastIndex = v, u = a.exec(l), u !== null); ) v = a.lastIndex, a === tt ? u[1] === "!--" ? a = Dr : u[1] !== void 0 ? a = Rr : u[2] !== void 0 ? ($i.test(u[2]) && (i = RegExp("</" + u[2], "g")), a = me) : u[3] !== void 0 && (a = me) : a === me ? u[0] === ">" ? (a = i ?? tt, d = -1) : u[1] === void 0 ? d = -2 : (d = a.lastIndex - u[2].length, c = u[1], a = u[3] === void 0 ? me : u[3] === '"' ? Vr : Tr) : a === Vr || a === Tr ? a = me : a === Dr || a === Rr ? a = tt : (a = me, i = void 0);
const g = a === me && e[s + 1].startsWith("/>") ? " " : "";
o += a === tt ? l + El : d >= 0 ? (r.push(c), l.slice(0, d) + Jn + l.slice(d) + ie + g) : l + ie + (d === -2 ? s : g);
}
return [to(e, o + (e[n] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), r];
};
class mt {
constructor({ strings: t, _$litType$: n }, r) {
let i;
this.parts = [];
let o = 0, a = 0;
const s = t.length - 1, l = this.parts, [c, u] = no(t, n);
if (this.el = mt.createElement(c, r), Ee.currentNode = this.el.content, n === 2 || n === 3) {
const d = this.el.content.firstChild;
d.replaceWith(...d.childNodes);
}
for (; (i = Ee.nextNode()) !== null && l.length < s; ) {
if (i.nodeType === 1) {
if (i.hasAttributes()) for (const d of i.getAttributeNames()) if (d.endsWith(Jn)) {
const v = u[a++], g = i.getAttribute(d).split(ie), m = /([.?@])?(.*)/.exec(v);
l.push({ type: 1, index: o, name: m[2], strings: g, ctor: m[1] === "." ? io : m[1] === "?" ? oo : m[1] === "@" ? ao : St }), i.removeAttribute(d);
} else d.startsWith(ie) && (l.push({ type: 6, index: o }), i.removeAttribute(d));
if ($i.test(i.tagName)) {
const d = i.textContent.split(ie), v = d.length - 1;
if (v > 0) {
i.textContent = Jt ? Jt.emptyScript : "";
for (let g = 0; g < v; g++) i.append(d[g], gt()), Ee.nextNode(), l.push({ type: 2, index: ++o });
i.append(d[v], gt());
}
}
} else if (i.nodeType === 8) if (i.data === Xn) l.push({ type: 2, index: o });
else {
let d = -1;
for (; (d = i.data.indexOf(ie, d + 1)) !== -1; ) l.push({ type: 7, index: o }), d += ie.length - 1;
}
o++;
}
}
static createElement(t, n) {
const r = De.createElement("template");
return r.innerHTML = t, r;
}
}
function Re(e, t, n = e, r) {
if (t === he) return t;
let i = r !== void 0 ? n._$Co?.[r] : n._$Cl;
const o = bt(t) ? void 0 : t._$litDirective$;
return i?.constructor !== o && (i?._$AO?.(!1), o === void 0 ? i = void 0 : (i = new o(e), i._$AT(e, n, r)), r !== void 0 ? (n._$Co ??= [])[r] = i : n._$Cl = i), i !== void 0 && (t = Re(e, i._$AS(e, t.values), i, r)), t;
}
let ro = class {
constructor(t, n) {
this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = n;
}
get parentNode() {
return this._$AM.parentNode;
}
get _$AU() {
return this._$AM._$AU;
}
u(t) {
const { el: { content: n }, parts: r } = this._$AD, i = (t?.creationScope ?? De).importNode(n, !0);
Ee.currentNode = i;
let o = Ee.nextNode(), a = 0, s = 0, l = r[0];
for (; l !== void 0; ) {
if (a === l.index) {
let c;
l.type === 2 ? c = new Ye(o, o.nextSibling, this, t) : l.type === 1 ? c = new l.ctor(o, l.name, l.strings, this, t) : l.type === 6 && (c = new so(o, this, t)), this._$AV.push(c), l = r[++s];
}
a !== l?.index && (o = Ee.nextNode(), a++);
}
return Ee.currentNode = De, i;
}
p(t) {
let n = 0;
for (const r of this._$AV) r !== void 0 && (r.strings !== void 0 ? (r._$AI(t, r, n), n += r.strings.length - 2) : r._$AI(t[n])), n++;
}
};
class Ye {
get _$AU() {
return this._$AM?._$AU ?? this._$Cv;
}
constructor(t, n, r, i) {
this.type = 2, this._$AH = O, this._$AN = void 0, this._$AA = t, this._$AB = n, this._$AM = r, this.options = i, this._$Cv = i?.isConnected ?? !0;
}
get parentNode() {
let t = this._$AA.parentNode;
const n = this._$AM;
return n !== void 0 && t?.nodeType === 11 && (t = n.parentNode), t;
}
get startNode() {
return this._$AA;
}
get endNode() {
return this._$AB;
}
_$AI(t, n = this) {
t = Re(this, t, n), bt(t) ? t === O || t == null || t === "" ? (this._$AH !== O && this._$AR(), this._$AH = O) : t !== this._$AH && t !== he && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : Qi(t) ? this.k(t) : this._(t);
}
O(t) {
return this._$AA.parentNode.insertBefore(t, this._$AB);
}
T(t) {
this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
}
_(t) {
this._$AH !== O && bt(this._$AH) ? this._$AA.nextSibling.data = t : this.T(De.createTextNode(t)), this._$AH = t;
}
$(t) {
const { values: n, _$litType$: r } = t, i = typeof r == "number" ? this._$AC(t) : (r.el === void 0 && (r.el = mt.createElement(to(r.h, r.h[0]), this.options)), r);
if (this._$AH?._$AD === i) this._$AH.p(n);
else {
const o = new ro(i, this), a = o.u(this.options);
o.p(n), this.T(a), this._$AH = o;
}
}
_$AC(t) {
let n = Ir.get(t.strings);
return n === void 0 && Ir.set(t.strings, n = new mt(t)), n;
}
k(t) {
Yn(this._$AH) || (this._$AH = [], this._$AR());
const n = this._$AH;
let r, i = 0;
for (const o of t) i === n.length ? n.push(r = new Ye(this.O(gt()), this.O(gt()), this, this.options)) : r = n[i], r._$AI(o), i++;
i < n.length && (this._$AR(r && r._$AB.nextSibling, i), n.length = i);
}
_$AR(t = this._$AA.nextSibling, n) {
for (this._$AP?.(!1, !0, n); t && t !== this._$AB; ) {
const r = t.nextSibling;
t.remove(), t = r;
}
}
setConnected(t) {
this._$AM === void 0 && (this._$Cv = t, this._$AP?.(t));
}
}
class St {
get tagName() {
return this.element.tagName;
}
get _$AU() {
return this._$AM._$AU;
}
constructor(t, n, r, i, o) {
this.type = 1, this._$AH = O, this._$AN = void 0, this.element = t, this.name = n, this._$AM = i, this.options = o, r.length > 2 || r[0] !== "" || r[1] !== "" ? (this._$AH = Array(r.length - 1).fill(new String()), this.strings = r) : this._$AH = O;
}
_$AI(t, n = this, r, i) {
const o = this.strings;
let a = !1;
if (o === void 0) t = Re(this, t, n, 0), a = !bt(t) || t !== this._$AH && t !== he, a && (this._$AH = t);
else {
const s = t;
let l, c;
for (t = o[0], l = 0; l < o.length - 1; l++) c = Re(this, s[r + l], n, l), c === he && (c = this._$AH[l]), a ||= !bt(c) || c !== this._$AH[l], c === O ? t = O : t !== O && (t += (c ?? "") + o[l + 1]), this._$AH[l] = c;
}
a && !i && this.j(t);
}
j(t) {
t === O ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
}
}
class io extends St {
constructor() {
super(...arguments), this.type = 3;
}
j(t) {
this.element[this.name] = t === O ? void 0 : t;
}
}
class oo extends St {
constructor() {
super(...arguments), this.type = 4;
}
j(t) {
this.element.toggleAttribute(this.name, !!t && t !== O);
}
}
class ao extends St {
constructor(t, n, r, i, o) {
super(t, n, r, i, o), this.type = 5;
}
_$AI(t, n = this) {
if ((t = Re(this, t, n, 0) ?? O) === he) return;
const r = this._$AH, i = t === O && r !== O || t.capture !== r.capture || t.once !== r.once || t.passive !== r.passive, o = t !== O && (r === O || i);
i && this.element.removeEventListener(this.name, this, r), o && this.element.addEventListener(this.name, this, t), this._$AH = t;
}
handleEvent(t) {
typeof this._$AH == "function" ? this._$AH.call(this.options?.host ?? this.element, t) : this._$AH.handleEvent(t);
}
}
class so {
constructor(t, n, r) {
this.element = t, this.type = 6, this._$AN = void 0, this._$AM = n, this.options = r;
}
get _$AU() {
return this._$AM._$AU;
}
_$AI(t) {
Re(this, t);
}
}
const Ol = { M: Jn, P: ie, A: Xn, C: 1, L: no, R: ro, D: Qi, V: Re, I: Ye, H: St, N: oo, U: ao, B: io, F: so }, Sl = Hn.litHtmlPolyfillSupport;
Sl?.(mt, Ye), (Hn.litHtmlVersions ??= []).push("3.2.1");
const Nl = (e, t, n) => {
const r = n?.renderBefore ?? t;
let i = r._$litPart$;
if (i === void 0) {
const o = n?.renderBefore ?? null;
r._$litPart$ = i = new Ye(t.insertBefore(gt(), o), o, void 0, n ?? {});
}
return i._$AI(e), i;
};
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
let ut = class extends je {
constructor() {
super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
}
createRenderRoot() {
const t = super.createRenderRoot();
return this.renderOptions.renderBefore ??= t.firstChild, t;
}
update(t) {
const n = this.render();
this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = Nl(n, this.renderRoot, this.renderOptions);
}
connectedCallback() {
super.connectedCallback(), this._$Do?.setConnected(!0);
}
disconnectedCallback() {
super.disconnectedCallback(), this._$Do?.setConnected(!1);
}
render() {
return he;
}
};
ut._$litElement$ = !0, ut.finalized = !0, globalThis.litElementHydrateSupport?.({ LitElement: ut });
const xl = globalThis.litElementPolyfillSupport;
xl?.({ LitElement: ut });
(globalThis.litElementVersions ??= []).push("4.1.1");
class _l extends Al(ut) {
}
class Pl extends _l {
constructor() {
super(...arguments), this.disposers = [];
}
/**
* Creates a MobX reaction using the given parameters and disposes it when this element is detached.
*
* This should be called from `connectedCallback` to ensure that the reaction is active also if the element is attached again later.
*/
reaction(t, n, r) {
this.disposers.push(_i(t, n, r));
}
/**
* Creates a MobX autorun using the given parameters and disposes it when this element is detached.
*
* This should be called from `connectedCallback` to ensure that the reaction is active also if the element is attached again later.
*/
autorun(t, n) {
this.disposers.push(Ni(t, n));
}
disconnectedCallback() {
super.disconnectedCallback(), this.disposers.forEach((t) => {
t();
}), this.disposers = [];
}
}
const $ = window.Vaadin.copilot._sectionPanelUiState;
if (!$)
throw new Error("Tried to access copilot section panel ui state before it was initialized.");
let we = [];
const kr = [];
function Lr(e) {
e.init({
addPanel: (t) => {
$.addPanel(t);
},
send(t, n) {
fe(t, n);
}
});
}
function Cl() {
we.push(import("./copilot-log-plugin-Dd9Vu3DN.js")), we.push(import("./copilot-info-plugin-DEhoYnCY.js")), we.push(import("./copilot-features-plugin-DArMO9Mk.js")), we.push(import("./copilot-feedback-plugin-B550SpdM.js")), we.push(import("./copilot-shortcuts-plugin-Chva6DtS.js"));
}
function Dl() {
{
const e = `https://cdn.vaadin.com/copilot/${Ks}/copilot-plugins.js`;
import(
/* @vite-ignore */
e
).catch((t) => {
console.warn(`Unable to load plugins from ${e}. Some Copilot features are unavailable.`, t);
});
}
}
function Rl() {
Promise.all(we).then(() => {
const e = window.Vaadin;
if (e.copilot.plugins) {
const t = e.copilot.plugins;
e.copilot.plugins.push = (n) => Lr(n), Array.from(t).forEach((n) => {
kr.includes(n) || (Lr(n), kr.push(n));
});
}
}), we = [];
}
function $c(e) {
return Object.assign({
expanded: !0,
expandable: !1,
panelOrder: 0,
floating: !1,
width: 500,
height: 500,
floatingPosition: {
top: 50,
left: 350
}
}, e);
}
class Tl {
constructor() {
this.active = !1, this.activate = () => {
this.active = !0, this.blurActiveApplicationElement();
}, this.deactivate = () => {
this.active = !1;
}, this.focusInEventListener = (t) => {
this.active && (t.preventDefault(), t.stopPropagation(), qe(t.target) || requestAnimationFrame(() => {
t.target.blur && t.target.blur(), document.body.querySelector("copilot-main")?.focus();
}));
};
}
hostConnectedCallback() {
const t = this.getApplicationRootElement();
t && t instanceof HTMLElement && t.addEventListener("focusin", this.focusInEventListener);
}
hostDisconnectedCallback() {
const t = this.getApplicationRootElement();
t && t instanceof HTMLElement && t.removeEventListener("focusin", this.focusInEventListener);
}
getApplicationRootElement() {
return document.body.firstElementChild;
}
blurActiveApplicationElement() {
document.activeElement && document.activeElement.blur && document.activeElement.blur();
}
}
const Dt = new Tl(), E = window.Vaadin.copilot.eventbus;
if (!E)
throw new Error("Tried to access copilot eventbus before it was initialized.");
const nt = window.Vaadin.copilot.overlayManager, eu = {
AddClickListener: "Add Click Listener",
AI: "AI",
Delete: "Delete",
DragAndDrop: "Drag and Drop",
Duplicate: "Duplicate",
SetLabel: "Set label",
SetText: "Set text",
SetHelper: "Set helper text",
WrapWithTag: "Wrapping with tag",
Alignment: "Alignment",
Padding: "Padding",
ModifyComponentSource: "Modify component source",
Gap: "Gap",
RedoUndo: "Redo/Undo",
Sizing: "Sizing",
ConnectToService: "ConnectToService"
}, p = window.Vaadin.copilot._uiState;
if (!p)
throw new Error("Tried to access copilot ui state before it was initialized.");
const Vl = () => {
fe("copilot-browser-info", {
userAgent: navigator.userAgent,
locale: navigator.language,
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
});
}, un = (e, t) => {
fe("copilot-track-event", { event: e, properties: t });
}, tu = (e, t) => {
un(e, { ...t, view: "react" });
}, nu = (e, t) => {
un(e, { ...t, view: "flow" });
};
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const lo = { ATTRIBUTE: 1, CHILD: 2, PROPERTY: 3, BOOLEAN_ATTRIBUTE: 4, EVENT: 5, ELEMENT: 6 }, co = (e) => (...t) => ({ _$litDirective$: e, values: t });
class uo {
constructor(t) {
}
get _$AU() {
return this._$AM._$AU;
}
_$AT(t, n, r) {
this._$Ct = t, this._$AM = n, this._$Ci = r;
}
_$AS(t, n) {
return this.update(t, n);
}
update(t, n) {
return this.render(...n);
}
}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
class Tn extends uo {
constructor(t) {
if (super(t), this.it = O, t.type !== lo.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings");
}
render(t) {
if (t === O || t == null) return this._t = void 0, this.it = t;
if (t === he) return t;
if (typeof t != "string") throw Error(this.constructor.directiveName + "() called with a non-string value");
if (t === this.it) return this._t;
this.it = t;
const n = [t];
return n.raw = n, this._t = { _$litType$: this.constructor.resultType, strings: n, values: [] };
}
}
Tn.directiveName = "unsafeHTML", Tn.resultType = 1;
const Il = co(Tn), dn = window.Vaadin.copilot._machineState;
if (!dn)
throw new Error("Trying to use stored machine state before it was initialized");
const kl = 5e3;
let Mr = 1;
function fo(e) {
p.notifications.includes(e) && (e.dontShowAgain && e.dismissId && Ll(e.dismissId), p.removeNotification(e), E.emit("notification-dismissed", e));
}
function ho(e) {
return dn.getDismissedNotifications().includes(e);
}
function Ll(e) {
ho(e) || dn.addDismissedNotification(e);
}
function Ml(e) {
return !(e.dismissId && (ho(e.dismissId) || p.notifications.find((t) => t.dismissId === e.dismissId)));
}
function vo(e) {
Ml(e) && jl(e);
}
function jl(e) {
const t = Mr;
Mr += 1;
const n = { ...e, id: t, dontShowAgain: !1, animatingOut: !1 };
p.setNotifications([...p.notifications, n]), (e.delay || !e.link && !e.dismissId) && setTimeout(() => {
fo(n);
}, e.delay ?? kl), E.emit("notification-shown", e);
}
const Ul = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
dismissNotification: fo,
showNotification: vo
}, Symbol.toStringTag, { value: "Module" })), Bl = (e) => {
Te("Unspecified error", e), E.emit("vite-after-update", {});
}, zl = (e, t) => e.error ? (Wl({
error: e.error,
message: e.errorMessage,
stackTrace: e.errorStacktrace,
requestData: t
}), !0) : !1, po = (e, t, n, r) => {
qn({
type: Xe.ERROR,
message: e,
details: Ys(
ct`<vaadin-details summary="Details" style="color: var(--dev-tools-text-color)"
><div>
<code class="codeblock" style="white-space: normal;color: var(--color)"
><copilot-copy></copilot-copy>${Il(t)}</code
>
<vaadin-button hidden>Report this issue</vaadin-button>
</div></vaadin-details
>`
),
delay: 3e4
}), p.userInfo?.copilotProjectCannotLeaveLocalhost !== !0 && E.emit("system-info-with-callback", {
callback: (i) => E.send("copilot-error", {
message: e,
details: String(n).replace(" ", `
`) + (r ? `
Request:
${JSON.stringify(r)}
` : ""),
versions: i
}),
notify: !1
}), p.clearOperationWaitsHmrUpdate();
}, Wl = (e) => {
po(e.error, e.message, e.stackTrace, e.requestData);
};
function Fl(e, t) {
po(e, t.message, t.stack || "");
}
function Te(e, t) {
qn({
type: Xe.ERROR,
message: "Copilot internal error",
details: e + (t ? `
${t}` : "")
}), E.emit("system-info-with-callback", {
callback: (n) => E.send("copilot-error", {
message: `Copilot internal error: ${e}`,
details: t?.stack ?? t ?? "",
versions: n
}),
notify: !1
});
}
function jr(e) {
return e?.stack?.includes("cdn.vaadin.com/copilot") || e?.stack?.includes("/copilot/copilot/") || e?.stack?.includes("/copilot/copilot-private/");
}
function go() {
const e = window.onerror;
window.onerror = (t, n, r, i, o) => {
if (jr(o)) {
Te(t.toString(), o);
return;
}
e && e(t, n, r, i, o);
}, Ba((t) => {
jr(t) && Te("", t);
}), mo((t) => bo.push(t));
}
const bo = [];
function mo(e) {
const t = window.Vaadin.ConsoleErrors;
window.Vaadin.ConsoleErrors = {
push: (n) => {
Ja(() => {
$.attentionRequiredPanelTag = "copilot-log-panel";
}), n[0].type !== void 0 && n[0].message !== void 0 ? e({
type: n[0].type,
message: n[0].message,
internal: !!n[0].internal,
details: n[0].details,
link: n[0].link
}) : e({ type: Xe.ERROR, message: n.map((r) => Zl(r)).join(" "), internal: !1 }), t.push(n);
}
};
}
function Zl(e) {
return e.message ? e.message.toString() : e.toString();
}
function ql(e) {
vo({
type: Xe.ERROR,
message: `Unable to ${e}`,
details: "Could not find sources for React components, probably because the project is not a React (or Flow) project"
});
}
const Gl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
catchErrors: mo,
consoleErrorsQueue: bo,
handleBrowserOperationError: Fl,
handleCopilotError: Te,
handleErrorDuringOperation: Bl,
handleServerOperationErrorIfNeeded: zl,
installErrorHandlers: go,
showNotReactFlowProject: ql
}, Symbol.toStringTag, { value: "Module" })), yo = window.Vaadin.copilot._previewState;
if (!yo)
throw new Error("Tried to access copilot preview state before it was initialized.");
const wo = () => {
Kl().then((e) => p.setUserInfo(e)).catch((e) => Te("Failed to load userInfo", e));
}, Kl = async () => Zn(`${Ce}get-user-info`, {}, (e) => (delete e.data.reqId, e.data)), Hl = async () => Zi(() => p.userInfo), ru = async () => (await Hl()).vaadiner;
E.on("copilot-prokey-received", (e) => {
wo(), e.preventDefault();
});
function Jl() {
const e = window.navigator.userAgent;
return e.indexOf("Windows") !== -1 ? "Windows" : e.indexOf("Mac") !== -1 ? "Mac" : e.indexOf("Linux") !== -1 ? "Linux" : null;
}
function Xl() {
return Jl() === "Mac";
}
function Yl() {
return Xl() ? "⌘" : "Ctrl";
}
function Ql(e) {
return e.composed && e.composedPath().map((t) => t.localName).some((t) => t === "copilot-spotlight");
}
function $l(e) {
return e.composed && e.composedPath().map((t) => t.localName).some((t) => t === "copilot-drawer-panel" || t === "copilot-section-panel-wrapper");
}
let mn = !1, rt = 0;
const Ur = (e) => {
if (dn.isActivationShortcut())
if (e.key === "Shift" && !e.ctrlKey && !e.altKey && !e.metaKey)
mn = !0;
else if (mn && e.shiftKey && (e.key === "Control" || e.key === "Meta")) {
if (rt++, rt === 2) {
p.toggleActive("shortcut"), rt = 0;
return;
}
setTimeout(() => {
rt = 0;
}, 500);
} else
mn = !1, rt = 0;
p.active && ec(e);
}, ec = (e) => {
const t = Ql(e);
if (e.shiftKey && e.code === "Space")
p.setSpotlightActive(!p.spotlightActive), e.stopPropagation(), e.preventDefault();
else if (e.key === "Escape") {
if (e.stopPropagation(), p.loginCheckActive) {
p.setLoginCheckActive(!1);
return;
}
E.emit("close-drawers", {}), p.setSpotlightActive(!1);
} else !$l(e) && !t && tc(e) ? (E.emit("delete-selected", {}), e.preventDefault(), e.stopPropagation()) : (e.ctrlKey || e.metaKey) && e.key === "d" && !t ? (E.emit("duplicate-selected", {}), e.preventDefault(), e.stopPropagation()) : (e.ctrlKey || e.metaKey) && e.key === "b" && !t ? (E.emit("show-selected-in-ide", {}), e.preventDefault(), e.stopPropagation()) : (e.ctrlKey || e.metaKey) && e.key === "z" ? p.idePluginState?.supportedActions?.find((n) => n === "undo") && (E.emit("undoRedo", { undo: !e.shiftKey }), e.preventDefault(), e.stopPropagation()) : qe(e.target) && E.emit("keyboard-event", { event: e });
}, tc = (e) => (e.key === "Backspace" || e.key === "Delete") && !e.shiftKey && !e.ctrlKey && !e.altKey && !e.metaKey, se = Yl(), iu = {
toggleCopilot: `<kbd>⇧</kbd> + <kbd>${se}</kbd> <kbd>${se}</kbd>`,
toggleCommandWindow: "<kbd>⇧</kbd> + <kbd>Space</kbd>",
undo: `<kbd>${se}</kbd> + <kbd>Z</kbd>`,
redo: `<kbd>${se}</kbd> + <kbd>⇧</kbd> + <kbd>Z</kbd>`,
duplicate: `<kbd>${se}</kbd> + <kbd>D</kbd>`,
goToSource: `<kbd>${se}</kbd> + <kbd>B</kbd>`,
selectParent: "<kbd>←</kbd>",
selectPreviousSibling: "<kbd>↑</kbd>",
selectNextSibling: "<kbd>↓</kbd>",
delete: "<kbd>DEL</kbd>",
copy: `<kbd>${se}</kbd> + <kbd>C</kbd>`,
paste: `<kbd>${se}</kbd> + <kbd>V</kbd>`
};
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const Ao = Symbol.for(""), nc = (e) => {
if (e?.r === Ao) return e?._$litStatic$;
}, Eo = (e) => ({ _$litStatic$: e, r: Ao }), Br = /* @__PURE__ */ new Map(), rc = (e) => (t, ...n) => {
const r = n.length;
let i, o;
const a = [], s = [];
let l, c = 0, u = !1;
for (; c < r; ) {
for (l = t[c]; c < r && (o = n[c], (i = nc(o)) !== void 0); ) l += i + t[++c], u = !0;
c !== r && s.push(o), a.push(l), c++;
}
if (c === r && a.push(t[r]), u) {
const d = a.join("$$lit$$");
(t = Br.get(d)) === void 0 && (a.raw = a, Br.set(d, t = a)), n = s;
}
return e(t, ...n);
}, dt = rc(ct);
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const { I: ic } = Ol, zr = () => document.createComment(""), it = (e, t, n) => {
const r = e._$AA.parentNode, i = t === void 0 ? e._$AB : t._$AA;
if (n === void 0) {
const o = r.insertBefore(zr(), i), a = r.insertBefore(zr(), i);
n = new ic(o, a, e, e.options);
} else {
const o = n._$AB.nextSibling, a = n._$AM, s = a !== e;
if (s) {
let l;
n._$AQ?.(e), n._$AM = e, n._$AP !== void 0 && (l = e._$AU) !== a._$AU && n._$AP(l);
}
if (o !== i || s) {
let l = n._$AA;
for (; l !== o; ) {
const c = l.nextSibling;
r.insertBefore(l, i), l = c;
}
}
}
return n;
}, ye = (e, t, n = e) => (e._$AI(t, n), e), oc = {}, ac = (e, t = oc) => e._$AH = t, sc = (e) => e._$AH, yn = (e) => {
e._$AP?.(!1, !0);
let t = e._$AA;
const n = e._$AB.nextSibling;
for (; t !== n; ) {
const r = t.nextSibling;
t.remove(), t = r;
}
};
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const Wr = (e, t, n) => {
const r = /* @__PURE__ */ new Map();
for (let i = t; i <= n; i++) r.set(e[i], i);
return r;
}, Oo = co(class extends uo {
constructor(e) {
if (super(e), e.type !== lo.CHILD) throw Error("repeat() can only be used in text expressions");
}
dt(e, t, n) {
let r;
n === void 0 ? n = t : t !== void 0 && (r = t);
const i = [], o = [];
let a = 0;
for (const s of e) i[a] = r ? r(s, a) : a, o[a] = n(s, a), a++;
return { values: o, keys: i };
}
render(e, t, n) {
return this.dt(e, t, n).values;
}
update(e, [t, n, r]) {
const i = sc(e), { values: o, keys: a } = this.dt(t, n, r);
if (!Array.isArray(i)) return this.ut = a, o;
const s = this.ut ??= [], l = [];
let c, u, d = 0, v = i.length - 1, g = 0, m = o.length - 1;
for (; d <= v && g <= m; ) if (i[d] === null) d++;
else if (i[v] === null) v--;
else if (s[d] === a[g]) l[g] = ye(i[d], o[g]), d++, g++;
else if (s[v] === a[m]) l[m] = ye(i[v], o[m]), v--, m--;
else if (s[d] === a[m]) l[m] = ye(i[d], o[m]), it(e, l[m + 1], i[d]), d++, m--;
else if (s[v] === a[g]) l[g] = ye(i[v], o[g]), it(e, i[d], i[v]), v--, g++;
else if (c === void 0 && (c = Wr(a, g, m), u = Wr(s, d, v)), c.has(s[d])) if (c.has(s[v])) {
const A = u.get(a[g]), x = A !== void 0 ? i[A] : null;
if (x === null) {
const H = it(e, i[d]);
ye(H, o[g]), l[g] = H;
} else l[g] = ye(x, o[g]), it(e, i[d], x), i[A] = null;
g++;
} else yn(i[v]), v--;
else yn(i[d]), d++;
for (; g <= m; ) {
const A = it(e, l[m + 1]);
ye(A, o[g]), l[g++] = A;
}
for (; d <= v; ) {
const A = i[d++];
A !== null && yn(A);
}
return this.ut = a, ac(e, l), he;
}
}), kt = /* @__PURE__ */ new Map(), lc = (e) => {
const n = $.panels.filter((r) => !r.floating && r.panel === e).sort((r, i) => r.panelOrder - i.panelOrder);
return dt`
${Oo(
n,
(r) => r.tag,
(r) => {
const i = Eo(r.tag);
return dt` <copilot-section-panel-wrapper panelTag="${i}">
${$.shouldRender(r.tag) ? dt`<${i} slot="content"></${i}>` : O}
</copilot-section-panel-wrapper>`;
}
)}
`;
}, cc = () => {
const e = $.panels;
return dt`
${Oo(
e.filter((t) => t.floating),
(t) => t.tag,
(t) => {
const n = Eo(t.tag);
return dt`
<copilot-section-panel-wrapper panelTag="${n}">
<${n} slot="content"></${n}>
</copilot-section-panel-wrapper>`;
}
)}
`;
}, ou = (e) => {
const t = e.panelTag, n = e.querySelector('[slot="content"]');
n && kt.set(t, n);
}, au = (e) => {
if (kt.has(e.panelTag)) {
const t = kt.get(e.panelTag);
e.querySelector('[slot="content"]').replaceWith(t);
}
kt.delete(e.panelTag);
}, _ = [];
for (let e = 0; e < 256; ++e)
_.push((e + 256).toString(16).slice(1));
function uc(e, t = 0) {
return (_[e[t + 0]] + _[e[t + 1]] + _[e[t + 2]] + _[e[t + 3]] + "-" + _[e[t + 4]] + _[e[t + 5]] + "-" + _[e[t + 6]] + _[e[t + 7]] + "-" + _[e[t + 8]] + _[e[t + 9]] + "-" + _[e[t + 10]] + _[e[t + 11]] + _[e[t + 12]] + _[e[t + 13]] + _[e[t + 14]] + _[e[t + 15]]).toLowerCase();
}
let wn;
const dc = new Uint8Array(16);
function fc() {
if (!wn) {
if (typeof crypto > "u" || !crypto.getRandomValues)
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
wn = crypto.getRandomValues.bind(crypto);
}
return wn(dc);
}
const hc = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), Fr = { randomUUID: hc };
function So(e, t, n) {
if (Fr.randomUUID && !t && !e)
return Fr.randomUUID();
e = e || {};
const r = e.random || (e.rng || fc)();
return r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, uc(r);
}
const Lt = [], at = [], su = async (e, t, n) => {
let r, i;
t.reqId = So();
const o = new Promise((a, s) => {
r = a, i = s;
});
return Lt.push({
handleMessage(a) {
if (a?.data?.reqId !== t.reqId)
return !1;
try {
r(n(a));
} catch (s) {
i(s);
}
return !0;
}
}), fe(e, t), o;
};
function vc(e) {
for (const t of Lt)
if (t.handleMessage(e))
return Lt.splice(Lt.indexOf(t), 1), !0;
if (E.emitUnsafe({ type: e.command, data: e.data }))
return !0;
for (const t of xo())
if (No(t, e))
return !0;
return at.push(e), !1;
}
function No(e, t) {
return e.handleMessage?.call(e, t);
}
function pc() {
if (at.length)
for (const e of xo())
for (let t = 0; t < at.length; t++)
No(e, at[t]) && (at.splice(t, 1), t--);
}
function xo() {
const e = document.querySelector("copilot-main");
return e ? e.renderRoot.querySelectorAll("copilot-section-panel-wrapper *") : [];
}
const gc = ":host{--gray-h: 220;--gray-s: 30%;--gray-l: 30%;--gray-hsl: var(--gray-h) var(--gray-s) var(--gray-l);--gray: hsl(var(--gray-hsl));--gray-50: hsl(var(--gray-hsl) / .05);--gray-100: hsl(var(--gray-hsl) / .1);--gray-150: hsl(var(--gray-hsl) / .16);--gray-200: hsl(var(--gray-hsl) / .24);--gray-250: hsl(var(--gray-hsl) / .34);--gray-300: hsl(var(--gray-hsl) / .46);--gray-350: hsl(var(--gray-hsl) / .6);--gray-400: hsl(var(--gray-hsl) / .7);--gray-450: hsl(var(--gray-hsl) / .8);--gray-500: hsl(var(--gray-hsl) / .9);--gray-550: hsl(var(--gray-hsl));--gray-600: hsl(var(--gray-h) var(--gray-s) calc(var(--gray-l) - 2%));--gray-650: hsl(var(--gray-h) var(--gray-s) calc(var(--gray-l) - 4%));--gray-700: hsl(var(--gray-h) var(--gray-s) calc(var(--gray-l) - 8%));--gray-750: hsl(var(--gray-h) var(--gray-s) calc(var(--gray-l) - 12%));--gray-800: hsl(var(--gray-h) var(--gray-s) calc(var(--gray-l) - 20%));--gray-850: hsl(var(--gray-h) var(--gray-s) calc(var(--gray-l) - 23%));--gray-900: hsl(var(--gray-h) var(--gray-s) calc(var(--gray-l) - 30%));--blue-h: 220;--blue-s: 90%;--blue-l: 53%;--blue-hsl: var(--blue-h) var(--blue-s) var(--blue-l);--blue: hsl(var(--blue-hsl));--blue-50: hsl(var(--blue-hsl) / .05);--blue-100: hsl(var(--blue-hsl) / .1);--blue-150: hsl(var(--blue-hsl) / .2);--blue-200: hsl(var(--blue-hsl) / .3);--blue-250: hsl(var(--blue-hsl) / .4);--blue-300: hsl(var(--blue-hsl) / .5);--blue-350: hsl(var(--blue-hsl) / .6);--blue-400: hsl(var(--blue-hsl) / .7);--blue-450: hsl(var(--blue-hsl) / .8);--blue-500: hsl(var(--blue-hsl) / .9);--blue-550: hsl(var(--blue-hsl));--blue-600: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) - 4%));--blue-650: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) - 8%));--blue-700: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) - 12%));--blue-750: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) - 15%));--blue-800: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) - 18%));--blue-850: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) - 24%));--blue-900: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) - 27%));--purple-h: 246;--purple-s: 90%;--purple-l: 60%;--purple-hsl: var(--purple-h) var(--purple-s) var(--purple-l);--purple: hsl(var(--purple-hsl));--purple-50: hsl(var(--purple-hsl) / .05);--purple-100: hsl(var(--purple-hsl) / .1);--purple-150: hsl(var(--purple-hsl) / .2);--purple-200: hsl(var(--purple-hsl) / .3);--purple-250: hsl(var(--purple-hsl) / .4);--purple-300: hsl(var(--purple-hsl) / .5);--purple-350: hsl(var(--purple-hsl) / .6);--purple-400: hsl(var(--purple-hsl) / .7);--purple-450: hsl(var(--purple-hsl) / .8);--purple-500: hsl(var(--purple-hsl) / .9);--purple-550: hsl(var(--purple-hsl));--purple-600: hsl(var(--purple-h) calc(var(--purple-s) - 4%) calc(var(--purple-l) - 2%));--purple-650: hsl(var(--purple-h) calc(var(--purple-s) - 8%) calc(var(--purple-l) - 4%));--purple-700: hsl(var(--purple-h) calc(var(--purple-s) - 15%) calc(var(--purple-l) - 7%));--purple-750: hsl(var(--purple-h) calc(var(--purple-s) - 23%) calc(var(--purple-l) - 11%));--purple-800: hsl(var(--purple-h) calc(var(--purple-s) - 24%) calc(var(--purple-l) - 15%));--purple-850: hsl(var(--purple-h) calc(var(--purple-s) - 24%) calc(var(--purple-l) - 19%));--purple-900: hsl(var(--purple-h) calc(var(--purple-s) - 27%) calc(var(--purple-l) - 23%));--green-h: 150;--green-s: 80%;--green-l: 42%;--green-hsl: var(--green-h) var(--green-s) var(--green-l);--green: hsl(var(--green-hsl));--green-50: hsl(var(--green-hsl) / .05);--green-100: hsl(var(--green-hsl) / .1);--green-150: hsl(var(--green-hsl) / .2);--green-200: hsl(var(--green-hsl) / .3);--green-250: hsl(var(--green-hsl) / .4);--green-300: hsl(var(--green-hsl) / .5);--green-350: hsl(var(--green-hsl) / .6);--green-400: hsl(var(--green-hsl) / .7);--green-450: hsl(var(--green-hsl) / .8);--green-500: hsl(var(--green-hsl) / .9);--green-550: hsl(var(--green-hsl));--green-600: hsl(var(--green-h) var(--green-s) calc(var(--green-l) - 2%));--green-650: hsl(var(--green-h) var(--green-s) calc(var(--green-l) - 4%));--green-700: hsl(var(--green-h) var(--green-s) calc(var(--green-l) - 8%));--green-750: hsl(var(--green-h) var(--green-s) calc(var(--green-l) - 12%));--green-800: hsl(var(--green-h) var(--green-s) calc(var(--green-l) - 15%));--green-850: hsl(var(--green-h) var(--green-s) calc(var(--green-l) - 19%));--green-900: hsl(var(--green-h) var(--green-s) calc(var(--green-l) - 23%));--yellow-h: 38;--yellow-s: 98%;--yellow-l: 64%;--yellow-hsl: var(--yellow-h) var(--yellow-s) var(--yellow-l);--yellow: hsl(var(--yellow-hsl));--yellow-50: hsl(var(--yellow-hsl) / .07);--yellow-100: hsl(var(--yellow-hsl) / .12);--yellow-150: hsl(var(--yellow-hsl) / .2);--yellow-200: hsl(var(--yellow-hsl) / .3);--yellow-250: hsl(var(--yellow-hsl) / .4);--yellow-300: hsl(var(--yellow-hsl) / .5);--yellow-350: hsl(var(--yellow-hsl) / .6);--yellow-400: hsl(var(--yellow-hsl) / .7);--yellow-450: hsl(var(--yellow-hsl) / .8);--yellow-500: hsl(var(--yellow-hsl) / .9);--yellow-550: hsl(var(--yellow-hsl));--yellow-600: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) - 5%));--yellow-650: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) - 10%));--yellow-700: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) - 15%));--yellow-750: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) - 20%));--yellow-800: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) - 25%));--yellow-850: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) - 30%));--yellow-900: hsl(var(--yellow-h) var(--yellow-s) calc(var(--yellow-l) - 35%));--red-h: 355;--red-s: 75%;--red-l: 55%;--red-hsl: var(--red-h) var(--red-s) var(--red-l);--red: hsl(var(--red-hsl));--red-50: hsl(var(--red-hsl) / .05);--red-100: hsl(var(--red-hsl) / .1);--red-150: hsl(var(--red-hsl) / .2);--red-200: hsl(var(--red-hsl) / .3);--red-250: hsl(var(--red-hsl) / .4);--red-300: hsl(var(--red-hsl) / .5);--red-350: hsl(var(--red-hsl) / .6);--red-400: hsl(var(--red-hsl) / .7);--red-450: hsl(var(--red-hsl) / .8);--red-500: hsl(var(--red-hsl) / .9);--red-550: hsl(var(--red-hsl));--red-600: hsl(var(--red-h) calc(var(--red-s) - 5%) calc(var(--red-l) - 2%));--red-650: hsl(var(--red-h) calc(var(--red-s) - 10%) calc(var(--red-l) - 4%));--red-700: hsl(var(--red-h) calc(var(--red-s) - 15%) calc(var(--red-l) - 8%));--red-750: hsl(var(--red-h) calc(var(--red-s) - 20%) calc(var(--red-l) - 12%));--red-800: hsl(var(--red-h) calc(var(--red-s) - 25%) calc(var(--red-l) - 15%));--red-850: hsl(var(--red-h) calc(var(--red-s) - 30%) calc(var(--red-l) - 19%));--red-900: hsl(var(--red-h) calc(var(--red-s) - 35%) calc(var(--red-l) - 23%));--codeblock-bg: #f4f4f4;--vaadin-logo-blue: #00b4f0;--background-color: rgba(255, 255, 255, .87);--primary-color: #0368DE;--input-border-color: rgba(0, 0, 0, .42);--divider-color: rgba(0, 0, 0, .1);--body-text-color: rgba(0, 0, 0, .87);--secondary-text-color: rgba(0, 0, 0, .6);--primary-contrast-text-color: white;--active-color: rgba(3, 104, 222, .1);--focus-color: #1A81FA;--hover-color: rgba(0, 0, 0, .05);--success-color: #066845;--error-color: #CE0010;--warning-color: #8A6C1E;--contrast-color-5: rgba(0, 0, 0, .05);--contrast-color-10: rgba(0, 0, 0, .1);--contrast-color-20: rgba(0, 0, 0, .2);--contrast-color-30: rgba(0, 0, 0, .3);--contrast-color-40: rgba(0, 0, 0, .4);--contrast-color-50: rgba(0, 0, 0, .5);--contrast-color-60: rgba(0, 0, 0, .6);--contrast-color-70: rgba(0, 0, 0, .7);--contrast-color-80: rgba(0, 0, 0, .8);--contrast-color-90: rgba(0, 0, 0, .9);--contrast-color-100: black;--blue-color: #0368DE;--violet-color: #7B2BFF}:host(.dark){--gray-s: 15%;--gray-l: 70%;--gray-600: hsl(var(--gray-h) calc(var(--gray-s) - 2%) calc(var(--gray-l) + 6%));--gray-650: hsl(var(--gray-h) calc(var(--gray-s) - 5%) calc(var(--gray-l) + 14%));--gray-700: hsl(var(--gray-h) calc(var(--gray-s) - 2%) calc(var(--gray-l) + 26%));--gray-750: hsl(var(--gray-h) calc(var(--gray-s) - 2%) calc(var(--gray-l) + 36%));--gray-800: hsl(var(--gray-h) calc(var(--gray-s) - 2%) calc(var(--gray-l) + 48%));--gray-850: hsl(var(--gray-h) calc(var(--gray-s) - 2%) calc(var(--gray-l) + 62%));--gray-900: hsl(var(--gray-h) calc(var(--gray-s) - 2%) calc(var(--gray-l) + 70%));--blue-s: 90%;--blue-l: 58%;--blue-600: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) + 6%));--blue-650: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) + 12%));--blue-700: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) + 17%));--blue-750: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) + 22%));--blue-800: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) + 28%));--blue-850: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) + 35%));--blue-900: hsl(var(--blue-h) var(--blue-s) calc(var(--blue-l) + 43%));--purple-600: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) + 4%));--purple-650: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) + 9%));--purple-700: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) + 12%));--purple-750: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) + 18%));--purple-800: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) + 24%));--purple-850: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) + 29%));--purple-900: hsl(var(--purple-h) var(--purple-s) calc(var(--purple-l) + 33%));--green-600: hsl(calc(var(--green-h) - 1) calc(var(--green-s) - 5%) calc(var(--green-l) + 5%));--green-650: hsl(calc(var(--green-h) - 2) calc(var(--green-s) - 10%) calc(var(--green-l) + 12%));--green-700: hsl(calc(var(--green-h) - 4) calc(var(--green-s) - 15%) calc(var(--green-l) + 20%));--green-750: hsl(calc(var(--green-h) - 6) calc(var(--green-s) - 20%) calc(var(--green-l) + 29%));--green-800: hsl(calc(var(--green-h) - 8) calc(var(--green-s) - 25%) calc(var(--green-l) + 37%));--green-850: hsl(calc(var(--green-h) - 10) calc(var(--green-s) - 30%) calc(var(--green-l) + 42%));--green-900: hsl(calc(var(--green-h) - 12) calc(var(--green-s) - 35%) calc(var(--green-l) + 48%));--yellow-600: hsl(calc(var(--yellow-h) + 1) var(--yellow-s) calc(var(--yellow-l) + 4%));--yellow-650: hsl(calc(var(--yellow-h) + 2) var(--yellow-s) calc(var(--yellow-l) + 7%));--yellow-700: hsl(calc(var(--yellow-h) + 4) var(--yellow-s) calc(var(--yellow-l) + 11%));--yellow-750: hsl(calc(var(--yellow-h) + 6) var(--yellow-s) calc(var(--yellow-l) + 16%));--yellow-800: hsl(calc(var(--yellow-h) + 8) var(--yellow-s) calc(var(--yellow-l) + 20%));--yellow-850: hsl(calc(var(--yellow-h) + 10) var(--yellow-s) calc(var(--yellow-l) + 24%));--yellow-900: hsl(calc(var(--yellow-h) + 12) var(--yellow-s) calc(var(--yellow-l) + 29%));--red-600: hsl(calc(var(--red-h) - 1) calc(var(--red-s) - 5%) calc(var(--red-l) + 3%));--red-650: hsl(calc(var(--red-h) - 2) calc(var(--red-s) - 10%) calc(var(--red-l) + 7%));--red-700: hsl(calc(var(--red-h) - 4) calc(var(--red-s) - 15%) calc(var(--red-l) + 14%));--red-750: hsl(calc(var(--red-h) - 6) calc(var(--red-s) - 20%) calc(var(--red-l) + 19%));--red-800: hsl(calc(var(--red-h) - 8) calc(var(--red-s) - 25%) calc(var(--red-l) + 24%));--red-850: hsl(calc(var(--red-h) - 10) calc(var(--red-s) - 30%) calc(var(--red-l) + 30%));--red-900: hsl(calc(var(--red-h) - 12) calc(var(--red-s) - 35%) calc(var(--red-l) + 36%));--codeblock-bg: var(--gray-100);--background-color: rgba(0, 0, 0, .87);--primary-color: white;--input-border-color: rgba(255, 255, 255, .42);--divider-color: rgba(255, 255, 255, .2);--body-text-color: white;--secondary-text-color: rgba(255, 255, 255, .7);--primary-contrast-text-color: rgba(0, 0, 0, .87);--active-color: rgba(255, 255, 255, .2);--focus-color: rgba(255, 255, 255, .7);--hover-color: rgba(255, 255, 255, .1);--success-color: #39C693;--error-color: #FF707A;--warning-color: #FEC941;--contrast-color-5: rgba(255, 255, 255, .05);--contrast-color-10: rgba(255, 255, 255, .1);--contrast-color-20: rgba(255, 255, 255, .2);--contrast-color-30: rgba(255, 255, 255, .3);--contrast-color-40: rgba(255, 255, 255, .4);--contrast-color-50: rgba(255, 255, 255, .5);--contrast-color-60: rgba(255, 255, 255, .6);--contrast-color-70: rgba(255, 255, 255, .7);--contrast-color-80: rgba(255, 255, 255, .8);--contrast-color-90: rgba(255, 255, 255, .9);--contrast-color-100: white;--blue-color: #95C6FF;--violet-color: #CBB4FF}", bc = '@font-face{font-family:Manrope;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2")}:host{--font-family: "Manrope", sans-serif;--monospace-font-family: Inconsolata, Monaco, Consolas, Courier New, Courier, monospace;--font-size-0: .6875rem;--font-size-1: .75rem;--font-size-2: .875rem;--font-size-3: 1rem;--font-size-4: 1.125rem;--font-size-5: 1.25rem;--font-size-6: 1.375rem;--font-size-7: 1.5rem;--line-height-1: 1.125rem;--line-height-2: 1.25rem;--line-height-3: 1.5rem;--line-height-4: 1.75rem;--line-height-5: 2rem;--line-height-6: 2.25rem;--line-height-7: 2.5rem;--font-weight-normal: 440;--font-weight-medium: 540;--font-weight-semibold: 640;--font-weight-bold: 740;--font: normal 400 var(--font-size-3) / var(--line-height-3) var(--font-family);--font-medium: normal var(--font-weight-medium) var(--font-size-3) / var(--line-height-3) var(--font-family);--font-semibold: normal var(--font-weight-semibold) var(--font-size-3) / var(--line-height-3) var(--font-family);--font-bold: normal var(--font-weight-bold) var(--font-size-3) / var(--line-height-3) var(--font-family);--font-small: normal 400 var(--font-size-2) / var(--line-height-2) var(--font-family);--font-small-medium: normal var(--font-weight-medium) var(--font-size-2) / var(--line-height-2) var(--font-family);--font-small-semibold: normal var(--font-weight-semibold) var(--font-size-2) / var(--line-height-2) var(--font-family);--font-small-bold: normal var(--font-weight-bold) var(--font-size-2) / var(--line-height-2) var(--font-family);--font-xsmall: normal 400 var(--font-size-1) / var(--line-height-1) var(--font-family);--font-xsmall-medium: normal var(--font-weight-medium) var(--font-size-1) / var(--line-height-1) var(--font-family);--font-xsmall-semibold: normal var(--font-weight-semibold) var(--font-size-1) / var(--line-height-1) var(--font-family);--font-xsmall-bold: normal var(--font-weight-bold) var(--font-size-1) / var(--line-height-1) var(--font-family);--font-button: normal var(--font-weight-medium) var(--font-size-1) / var(--line-height-1) var(--font-family);--font-tooltip: normal var(--font-weight-medium) var(--font-size-1) / var(--line-height-2) var(--font-family);--z-index-component-selector: 100;--z-index-floating-panel: 101;--z-index-drawer: 150;--z-index-opened-drawer: 151;--z-index-spotlight: 200;--z-index-popover: 300;--z-index-activation-button: 1000;--duration-1: .1s;--duration-2: .2s;--duration-3: .3s;--duration-4: .4s;--button-background: var(--gray-100);--button-background-hover: var(--gray-150);--size-m: 1.75rem;--space-25: 2px;--space-50: 4px;--space-75: 6px;--space-100: 8px;--space-150: 12px;--space-200: 16px;--space-300: 24px;--space-400: 32px;--space-500: 40px;--space-600: 48px;--space-700: 56px;--space-800: 64px;--space-900: 72px;--radius-1: .1875rem;--radius-2: .375rem;--radius-3: .75rem}:host{--lumo-font-family: var(--font-family);--lumo-font-size-xs: var(--font-size-1);--lumo-font-size-s: var(--font-size-2);--lumo-font-size-m: var(--font-size-3);--lumo-font-size-l: var(--font-size-4);--lumo-font-size-xl: var(--font-size-5);--lumo-font-size-xxl: var(--font-size-6);--lumo-font-size-xxxl: var(--font-size-7);--lumo-line-height-s: var(--line-height-2);--lumo-line-height-m: var(--line-height-3);--lumo-line-height-l: var(--line-height-4);--lumo-border-radius-s: var(--radius-1);--lumo-border-radius-m: var(--radius-2);--lumo-border-radius-l: var(--radius-3);--lumo-base-color: var(--surface-0);--lumo-body-text-color: var(--color-high-contrast);--lumo-header-text-color: var(--color-high-contrast);--lumo-secondary-text-color: var(--color);--lumo-tertiary-text-color: var(--color);--lumo-error-text-color: var(--color-danger);--lumo-primary-text-color: var(--color-high-contrast);--lumo-primary-color: var(--color-high-contrast);--lumo-primary-color-50pct: var(--color-accent);--lumo-primary-contrast-color: var(--lumo-secondary-text-color);--lumo-space-xs: var(--space-50);--lumo-space-s: var(--space-100);--lumo-space-m: var(--space-200);--lumo-space-l: var(--space-300);--lumo-space-xl: var(--space-500);--lumo-icon-size-xs: var(--font-size-1);--lumo-icon-size-s: var(--font-size-2);--lumo-icon-size-m: var(--font-size-3);--lumo-icon-size-l: var(--font-size-4);--lumo-icon-size-xl: var(--font-size-5);--vaadin-focus-ring-color: var(--focus-color);--vaadin-focus-ring-width: 2px}:host{color-scheme:light;--surface-0: hsl(var(--gray-h) var(--gray-s) 90% / .8);--surface-1: hsl(var(--gray-h) var(--gray-s) 95% / .8);--surface-2: hsl(var(--gray-h) var(--gray-s) 100% / .8);--surface-background: linear-gradient( hsl(var(--gray-h) var(--gray-s) 95% / .7), hsl(var(--gray-h) var(--gray-s) 95% / .65) );--surface-glow: radial-gradient(circle at 30% 0%, hsl(var(--gray-h) var(--gray-s) 98% / .7), transparent 50%);--surface-border-glow: radial-gradient(at 50% 50%, hsl(var(--purple-h) 90% 90% / .8) 0, transparent 50%);--surface: var(--surface-glow) no-repeat border-box, var(--surface-background) no-repeat padding-box, hsl(var(--gray-h) var(--gray-s) 98% / .2);--surface-with-border-glow: var(--surface-glow) no-repeat border-box, linear-gradient(var(--background-color), var(--background-color)) no-repeat padding-box, var(--surface-border-glow) no-repeat border-box 0 0 / var(--glow-size, 600px) var(--glow-size, 600px);--surface-border-color: hsl(var(--gray-h) var(--gray-s) 100% / .7);--surface-backdrop-filter: blur(10px);--surface-box-shadow-1: 0 0 0 .5px hsl(var(--gray-h) var(--gray-s) 5% / .15), 0 6px 12px -1px hsl(var(--shadow-hsl) / .3);--surface-box-shadow-2: 0 0 0 .5px hsl(var(--gray-h) var(--gray-s) 5% / .15), 0 24px 40px -4px hsl(var(--shadow-hsl) / .4);--background-button: linear-gradient( hsl(var(--gray-h) var(--gray-s) 98% / .4), hsl(var(--gray-h) var(--gray-s) 90% / .2) );--background-button-active: hsl(var(--gray-h) var(--gray-s) 80% / .2);--color: var(--gray-500);--color-high-contrast: var(--gray-900);--color-accent: var(--purple-700);--color-danger: var(--red-700);--border-color: var(--gray-150);--border-color-high-contrast: var(--gray-300);--border-color-button: var(--gray-350);--border-color-popover: hsl(var(--gray-hsl) / .08);--border-color-dialog: hsl(var(--gray-hsl) / .08);--accent-color: var(--purple-600);--selection-color: hsl(var(--blue-hsl));--shadow-hsl: var(--gray-h) var(--gray-s) 20%;--lumo-contrast-5pct: var(--gray-100);--lumo-contrast-10pct: var(--gray-200);--lumo-contrast-60pct: var(--gray-400);--lumo-contrast-80pct: var(--gray-600);--lumo-contrast-90pct: var(--gray-800);--card-bg: rgba(255, 255, 255, .5);--card-hover-bg: rgba(255, 255, 255, .65);--card-open-bg: rgba(255, 255, 255, .8);--card-border: 1px solid rgba(0, 50, 100, .15);--card-open-shadow: 0px 1px 4px -1px rgba(28, 52, 84, .26);--card-section-border: var(--card-border);--card-field-bg: var(--lumo-contrast-5pct);--indicator-border: white}:host(.dark){color-scheme:dark;--surface-0: hsl(var(--gray-h) var(--gray-s) 10% / .85);--surface-1: hsl(var(--gray-h) var(--gray-s) 14% / .85);--surface-2: hsl(var(--gray-h) var(--gray-s) 18% / .85);--surface-background: linear-gradient( hsl(var(--gray-h) var(--gray-s) 8% / .65), hsl(var(--gray-h) var(--gray-s) 8% / .7) );--surface-glow: radial-gradient( circle at 30% 0%, hsl(var(--gray-h) calc(var(--gray-s) * 2) 90% / .12), transparent 50% );--surface: var(--surface-glow) no-repeat border-box, var(--surface-background) no-repeat padding-box, hsl(var(--gray-h) var(--gray-s) 20% / .4);--surface-border-glow: hsl(var(--gray-h) var(--gray-s) 20% / .4) radial-gradient(at 50% 50%, hsl(250 40% 80% / .4) 0, transparent 50%);--surface-border-color: hsl(var(--gray-h) var(--gray-s) 50% / .2);--surface-box-shadow-1: 0 0 0 .5px hsl(var(--purple-h) 40% 5% / .4), 0 6px 12px -1px hsl(var(--shadow-hsl) / .4);--surface-box-shadow-2: 0 0 0 .5px hsl(var(--purple-h) 40% 5% / .4), 0 24px 40px -4px hsl(var(--shadow-hsl) / .5);--color: var(--gray-650);--background-button: linear-gradient( hsl(var(--gray-h) calc(var(--gray-s) * 2) 80% / .1), hsl(var(--gray-h) calc(var(--gray-s) * 2) 80% / 0) );--background-button-active: hsl(var(--gray-h) var(--gray-s) 10% / .1);--border-color-popover: hsl(var(--gray-h) var(--gray-s) 90% / .1);--border-color-dialog: hsl(var(--gray-h) var(--gray-s) 90% / .1);--shadow-hsl: 0 0% 0%;--lumo-disabled-text-color: var(--lumo-contrast-60pct);--card-bg: rgba(255, 255, 255, .05);--card-hover-bg: rgba(255, 255, 255, .065);--card-open-bg: rgba(255, 255, 255, .1);--card-border: 1px solid rgba(255, 255, 255, .11);--card-open-shadow: 0px 1px 4px -1px rgba(0, 0, 0, .26);--card-section-border: var(--card-border);--card-field-bg: var(--lumo-contrast-10pct);--indicator-border: var(--lumo-base-color)}', mc = "button{-webkit-appearance:none;appearance:none;background:var(--background-button);background-origin:border-box;font:var(--font-button);color:var(--color-high-contrast);border:1px solid var(--border-color);border-radius:var(--radius-2);padding:var(--space-25) var(--space-100)}button:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}button:active:not(:disabled){background:var(--background-button-active)}button:disabled{color:var(--gray-400);background:transparent}", yc = ":is(vaadin-context-menu-overlay,vaadin-select-overlay,vaadin-menu-bar-overlay){z-index:var(--z-index-popover)}:is(vaadin-context-menu-overlay,vaadin-select-overlay,vaadin-menu-bar-overlay):first-of-type{padding-top:0}:is(vaadin-context-menu-overlay,vaadin-menu-bar-overlay,vaadin-select-overlay,vaadin-combo-box-overlay,vaadin-tooltip-overlay)::part(overlay){background:var(--background-color);-webkit-backdrop-filter:var(--surface-backdrop-filter);backdrop-filter:var(--surface-backdrop-filter);border:1px solid var(--contrast-color-5);border-radius:var(--radius-1);box-shadow:var(--surface-box-shadow-1);margin-top:0}:is(vaadin-context-menu-overlay,vaadin-select-overlay,vaadin-menu-bar-overlay)::part(content){padding:var(--space-50)}:is(vaadin-context-menu-item,vaadin-menu-bar-item,vaadin-select-item,vaadin-combo-box-item,.custom-menu-item){align-items:center;border-radius:var(--radius-1);color:var(--body-text-color);cursor:default;display:flex;font:var(--font-xsmall);min-height:0;padding:calc((var(--size-m) - var(--line-height-1)) / 2) var(--space-100);--_lumo-item-selected-icon-display: none}:is(vaadin-context-menu-item,vaadin-menu-bar-item,vaadin-select-item,vaadin-combo-box-item,.custom-menu-item)[disabled],:is(vaadin-context-menu-item,vaadin-menu-bar-item,vaadin-select-item,vaadin-combo-box-item,.custom-menu-item)[disabled] .hint,:is(vaadin-context-menu-item,vaadin-menu-bar-item,vaadin-select-item,vaadin-combo-box-item,.custom-menu-item)[disabled] vaadin-icon{color:var(--lumo-disabled-text-color)}:is(vaadin-context-menu-item,vaadin-menu-bar-item)[expanded]{background:var(--gray-200)}:is(vaadin-context-menu-item,vaadin-menu-bar-item,vaadin-select-item,vaadin-combo-box-item,.custom-menu-item):not([disabled]):hover{background:var(--hover-color)}:is(vaadin-context-menu-item,vaadin-menu-bar-item,vaadin-select-item,vaadin-combo-box-item,.custom-menu-item)[focus-ring]{outline:2px solid var(--selection-color);outline-offset:-2px}:is(vaadin-context-menu-item,vaadin-menu-bar-item,vaadin-select-item,vaadin-combo-box-item,.custom-menu-item):is([aria-haspopup=true]):after{margin-inline-end:calc(var(--space-200) * -1);margin-right:unset}:is(vaadin-context-menu-item,vaadin-menu-bar-item,vaadin-select-item,vaadin-combo-box-item,.custom-menu-item).danger{color:var(--error-color);--color: currentColor}:is(vaadin-context-menu-item,vaadin-menu-bar-item,vaadin-select-item,vaadin-combo-box-item,.custom-menu-item)::part(content){display:flex;align-items:center;gap:var(--space-100)}:is(vaadin-context-menu-item,vaadin-menu-bar-item,vaadin-select-item,vaadin-combo-box-item,.custom-menu-item) vaadin-icon{width:1em;height:1em;padding:0;color:var(--color)}:is(vaadin-context-menu-overlay,vaadin-select-overlay,vaadin-menu-bar-overlay) hr{margin:var(--space-50)}:is(vaadin-context-menu-item,vaadin-select-item,vaadin-menu-bar-item,.custom-menu-item) .label{padding-inline-end:var(--space-300)}:is(vaadin-context-menu-item,vaadin-select-item,vaadin-menu-bar-item,.custom-menu-item) .hint{margin-inline-start:auto;color:var(--color)}:is(vaadin-context-menu-item,vaadin-menu-bar-item,vaadin-select-item,.custom-menu-item) kbd{display:inline-block;border-radius:var(--radius-1);border:1px solid var(--border-color);min-width:1em;min-height:1em;text-align:center;margin:0 .1em;padding:.1em .25em;box-sizing:border-box;font-size:var(--font-size-1);font-family:var(--font-family);line-height:1}:is(copilot-activation-button-development-workflow),:is(copilot-activation-button-user-info){justify-content:space-between}:is(:is(copilot-activation-button-development-workflow),:is(copilot-activation-button-user-info)) div.warning{--small-text-color: var(--yellow-700)}:is(:is(copilot-activation-button-development-workflow),:is(copilot-activation-button-user-info)) div.error{--small-text-color: var(--red)}:is(:is(copilot-activation-button-development-workflow),:is(copilot-activation-button-user-info)) div.user{font:var(--font-medium);font-size:inherit}:is(:is(copilot-activation-button-development-workflow),:is(copilot-activation-button-user-info)) div.portrait{width:32px;height:32px;border-radius:50%;background-size:cover}:is(:is(copilot-activation-button-development-workflow),:is(copilot-activation-button-user-info)) div.icon{width:8px;height:8px;margin:0 .1em;background-color:var(--small-text-color)}:is(:is(copilot-activation-button-development-workflow),:is(copilot-activation-button-user-info)) div.icon.warning{border-radius:4px}:is(:is(copilot-activation-button-development-workflow),:is(copilot-activation-button-user-info)) div.status{font-size:var(--font-size-0);color:var(--small-text-color)}:is(copilot-alignment-overlay)::part(content){padding:0}:is(.padding-values-overlay){--lumo-base-color: var(--selection-color);--color-high-contrast: white}:is(.padding-values-overlay) vaadin-combo-box-item:hover{color:#272c35d9}", wc = "code.codeblock{background:var(--codeblock-bg);border-radius:var(--radius-2);display:block;font-family:var(--monospace-font-family);font-size:var(--font-size-1);line-height:var(--line-height-1);overflow:hidden;padding:.3125rem 1.75rem .3125rem var(--space-100);position:relative;text-overflow:ellipsis;white-space:pre;min-height:var(--line-height-1)}copilot-copy{position:absolute;right:0;top:0}copilot-copy button{align-items:center;background:none;border:1px solid transparent;border-radius:var(--radius-2);color:var(--color);display:flex;font:var(--font-button);height:1.75rem;justify-content:center;padding:0;width:1.75rem}copilot-copy button:hover{color:var(--color-high-contrast)}", Ac = "vaadin-dialog-overlay::part(overlay){background:#fff}vaadin-dialog-overlay::part(content){background:var(--surface);font:var(--font-xsmall);padding:var(--space-300)}vaadin-dialog-overlay::part(header){background:var(--surface);font:var(--font-xsmall-semibold);border-bottom:1px solid var(--border-color);padding:var(--space-100) var(--space-150)}vaadin-dialog-overlay::part(footer){background:var(--surface);padding:var(--space-150)}vaadin-dialog-overlay::part(header-content){display:flex;line-height:normal;justify-content:space-between;width:100%;align-items:center}vaadin-dialog-overlay [slot=header-content] h2{margin:0;padding:0;font:var(--font-small-medium)}vaadin-dialog-overlay [slot=header-content] .close{line-height:0}vaadin-dialog-overlay{--vaadin-button-font-size: var(--font-size-1);--vaadin-button-height: var(--line-height-4)}vaadin-dialog-overlay vaadin-button[theme~=primary]{background-color:hsl(var(--blue-hsl))}vaadin-dialog-overlay a svg{height:12px;width:12px}.dialog-footer vaadin-button{--vaadin-button-primary-background: var(--button-background);--vaadin-button-border-radius: var(--radius-1);--vaadin-button-primary-text-color: var(--color-high-contrast);--vaadin-button-height: var(--line-height-5);font:var(--font-small-medium)}.dialog-footer vaadin-button span[slot=suffix]{display:flex}.dialog-footer vaadin-button span[slot=suffix] svg{height:14px;width:14px}", Ec = ":host{--vaadin-input-field-label-font-size: var(--font-size-1);--vaadin-select-label-font-size: var(--font-size-1);--vaadin-input-field-helper-font-size: var(--font-size-0);--vaadin-button-font-size: var(--font-size-2);--vaadin-checkbox-label-font-size: var(--font-size-1);--vaadin-input-field-value-font-size: var(--font-xsmall);--vaadin-input-field-background: transparent;--vaadin-input-field-border-color: var(--input-border-color);--vaadin-input-field-border-radius: var(--radius-1);--vaadin-input-field-border-width: 1px;--vaadin-input-field-height: var(--size-m)}";
var lu = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function Oc(e) {
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
function cu(e) {
if (e.__esModule) return e;
var t = e.default;
if (typeof t == "function") {
var n = function r() {
return this instanceof r ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments);
};
n.prototype = t.prototype;
} else n = {};
return Object.defineProperty(n, "__esModule", { value: !0 }), Object.keys(e).forEach(function(r) {
var i = Object.getOwnPropertyDescriptor(e, r);
Object.defineProperty(n, r, i.get ? i : {
enumerable: !0,
get: function() {
return e[r];
}
});
}), n;
}
var Rt = { exports: {} }, Zr;
function Sc() {
if (Zr) return Rt.exports;
Zr = 1;
function e(t, n = 100, r = {}) {
if (typeof t != "function")
throw new TypeError(`Expected the first parameter to be a function, got \`${typeof t}\`.`);
if (n < 0)
throw new RangeError("`wait` must not be negative.");
const { immediate: i } = typeof r == "boolean" ? { immediate: r } : r;
let o, a, s, l, c;
function u() {
const g = o, m = a;
return o = void 0, a = void 0, c = t.apply(g, m), c;
}
function d() {
const g = Date.now() - l;
g < n && g >= 0 ? s = setTimeout(d, n - g) : (s = void 0, i || (c = u()));
}
const v = function(...g) {
if (o && this !== o && Object.getPrototypeOf(this) === Object.getPrototypeOf(o))
throw new Error("Debounced method called with different contexts of the same prototype.");
o = this, a = g, l = Date.now();
const m = i && !s;
return s || (s = setTimeout(d, n)), m && (c = u()), c;
};
return Object.defineProperty(v, "isPending", {
get() {
return s !== void 0;
}
}), v.clear = () => {
s && (clearTimeout(s), s = void 0);
}, v.flush = () => {
s && v.trigger();
}, v.trigger = () => {
c = u(), v.clear();
}, v;
}
return Rt.exports.debounce = e, Rt.exports = e, Rt.exports;
}
var Nc = /* @__PURE__ */ Sc();
const xc = /* @__PURE__ */ Oc(Nc);
class _c {
constructor() {
this.documentActive = !0, this.addListeners = () => {
window.addEventListener("pageshow", this.handleWindowVisibilityChange), window.addEventListener("pagehide", this.handleWindowVisibilityChange), window.addEventListener("focus", this.handleWindowFocusChange), window.addEventListener("blur", this.handleWindowFocusChange), document.addEventListener("visibilitychange", this.handleDocumentVisibilityChange);
}, this.removeListeners = () => {
window.removeEventListener("pageshow", this.handleWindowVisibilityChange), window.removeEventListener("pagehide", this.handleWindowVisibilityChange), window.removeEventListener("focus", this.handleWindowFocusChange), window.removeEventListener("blur", this.handleWindowFocusChange), document.removeEventListener("visibilitychange", this.handleDocumentVisibilityChange);
}, this.handleWindowVisibilityChange = (t) => {
t.type === "pageshow" ? this.dispatch(!0) : this.dispatch(!1);
}, this.handleWindowFocusChange = (t) => {
t.type === "focus" ? this.dispatch(!0) : this.dispatch(!1);
}, this.handleDocumentVisibilityChange = () => {
this.dispatch(!document.hidden);
}, this.dispatch = (t) => {
if (t !== this.documentActive) {
const n = window.Vaadin.copilot.eventbus;
this.documentActive = t, n.emit("document-activation-change", { active: this.documentActive });
}
};
}
copilotActivated() {
this.addListeners();
}
copilotDeactivated() {
this.removeListeners();
}
}
const qr = new _c(), Pc = "copilot-development-setup-user-guide";
function uu() {
un("use-dev-workflow-guide"), $.updatePanel(Pc, { floating: !0 });
}
function _o() {
const e = p.jdkInfo;
return e ? e.jrebel ? "success" : e.hotswapAgentFound ? !e.hotswapVersionOk || !e.runningWithExtendClassDef || !e.runningWitHotswap || !e.runningInJavaDebugMode ? "error" : "success" : "warning" : null;
}
function du() {
const e = p.jdkInfo;
return e == null || _o() !== "success" ? "none" : e.jrebel ? "jrebel" : e.runningWitHotswap ? "hotswap" : "none";
}
function Cc() {
return p.idePluginState?.ide === "eclipse" ? "unsupported" : p.idePluginState !== void 0 && !p.idePluginState.active ? "warning" : "success";
}
function fu() {
if (!p.jdkInfo)
return { status: "success" };
const e = _o(), t = Cc();
return e === "warning" ? t === "warning" ? { status: "warning", message: "IDE Plugin, Hotswap" } : { status: "warning", message: "Hotswap is not enabled" } : t === "warning" ? { status: "warning", message: "IDE Plugin is not active" } : e === "error" ? { status: "error", message: "Hotswap is partially enabled" } : { status: "success" };
}
function Dc() {
fe(`${Ce}get-dev-setup-info`, {}), window.Vaadin.copilot.eventbus.on("copilot-get-dev-setup-info-response", (e) => {
if (e.detail.content) {
const t = JSON.parse(e.detail.content);
p.setIdePluginState(t.ideInfo), p.setJdkInfo(t.jdkInfo);
}
});
}
const ot = /* @__PURE__ */ new WeakMap();
class Rc {
constructor() {
this.root = null, this.flatNodes = [], this._hasFlowComponent = !1, this.flowNodesInSource = {};
}
async init() {
const t = Ws();
t && (await this.addToTree(t), await this.addOverlayContentToTreeIfExists("vaadin-popover-overlay"), await this.addOverlayContentToTreeIfExists("vaadin-dialog-overlay"));
}
getChildren(t) {
return this.flatNodes.find((r) => r.uuid === t)?.children || [];
}
get allNodesFlat() {
return this.flatNodes;
}
getNodeOfElement(t) {
if (t)
return this.flatNodes.find((n) => n.element === t);
}
async handleRouteContainers(t, n) {
const r = wr(t);
if (!r && Js(t)) {
const i = Ht(t);
if (i && i.nextElementSibling)
return await this.addToTree(i.nextElementSibling, n), !0;
}
if (r && t.localName === "react-router-outlet") {
for (const i of Array.from(t.children)) {
const o = Kt(i);
o && await this.addToTree(o, n);
}
return !0;
}
return !1;
}
includeReactNode(t) {
return Vt(t) === "PreconfiguredAuthProvider" || Vt(t) === "RouterProvider" ? !1 : mr(t) || Gs(t);
}
async includeFlowNode(t) {
return Xs(t) ? !1 : this.isInitializedInProjectSources(t);
}
async isInitializedInProjectSources(t) {
const n = yr(t);
if (!n)
return !1;
const { nodeId: r, uiId: i } = n;
if (!this.flowNodesInSource[i]) {
const o = await Zn(
"copilot-get-component-source-info",
{ uiId: i },
(a) => a.data.nodeIdsInProject
);
this.flowNodesInSource[i] = new Set(o);
}
return this.flowNodesInSource[i].has(r);
}
async addToTree(t, n) {
if (await this.handleRouteContainers(t, n))
return;
const r = wr(t);
let i;
if (!r)
this.includeReactNode(t) && (i = this.generateNodeFromFiber(t, n));
else if (await this.includeFlowNode(t)) {
const s = this.generateNodeFromFlow(t, n);
if (!s)
return;
this._hasFlowComponent = !0, i = s;
}
if (n)
i && (i.parent = n, n.children || (n.children = []), n.children.push(i));
else {
if (!i) {
Te("Tree root node is undefined");
return;
}
this.root = i;
}
i && this.flatNodes.push(i);
const o = i ?? n, a = r ? Array.from(t.children) : Fs(t);
for (const s of a)
await this.addToTree(s, o);
}
generateNodeFromFiber(t, n) {
const r = mr(t) ? Ht(t) : void 0, i = n?.children.length ?? 0;
return {
node: t,
parent: n,
element: r,
depth: n && n.depth + 1 || 0,
children: [],
siblingIndex: i,
isFlowComponent: !1,
isReactComponent: !0,
get uuid() {
if (ot.has(t))
return ot.get(t);
if (t.alternate && ot.has(t.alternate))
return ot.get(t.alternate);
const a = So();
return ot.set(t, a), a;
},
get name() {
return Ar(Vt(t));
},
get identifier() {
return Er(r);
},
get nameAndIdentifier() {
return Kr(this.name, this.identifier);
},
get previousSibling() {
if (i !== 0)
return n?.children[i - 1];
},
get nextSibling() {
if (!(n === void 0 || i === n.children.length - 1))
return n.children[i + 1];
},
get path() {
return Gr(this);
}
};
}
generateNodeFromFlow(t, n) {
const r = yr(t);
if (!r)
return;
const i = n?.children.length ?? 0;
return {
node: r,
parent: n,
element: t,
depth: n && n.depth + 1 || 0,
children: [],
siblingIndex: i,
get uuid() {
return `${r.uiId}#${r.nodeId}`;
},
isFlowComponent: !0,
isReactComponent: !1,
get name() {
return Hs(r) ?? Ar(r.element.localName);
},
get identifier() {
return Er(t);
},
get nameAndIdentifier() {
return Kr(this.name, this.identifier);
},
get previousSibling() {
if (i !== 0)
return n?.children[i - 1];
},
get nextSibling() {
if (!(n === void 0 || i === n.children.length - 1))
return n.children[i + 1];
},
get path() {
return Gr(this);
}
};
}
async addOverlayContentToTreeIfExists(t) {
const n = document.body.querySelector(t);
if (!n)
return;
const r = n.owner;
if (r) {
if (!this.getNodeOfElement(r)) {
const i = Pe(Kt(r));
await this.addToTree(i ?? r, this.root);
}
for (const i of Array.from(n.children))
await this.addToTree(i, this.getNodeOfElement(r));
}
}
hasFlowComponents() {
return this._hasFlowComponent;
}
findNodeByUuid(t) {
return this.flatNodes.find((n) => n.uuid === t);
}
getElementByNodeUuid(t) {
return this.findNodeByUuid(t)?.element;
}
findByTreePath(t) {
if (t)
return this.flatNodes.find((n) => n.path === t);
}
}
function Gr(e) {
if (!e.parent)
return e.name;
let t = 0;
for (let n = 0; n < e.siblingIndex + 1; n++)
e.parent.children[n].name === e.name && t++;
return `${e.parent.path} > ${e.name}[${t}]`;
}
function Kr(e, t) {
return t ? `${e} "${t}"` : e;
}
const Tc = async () => {
const e = new Rc();
await e.init(), window.Vaadin.copilot.tree.currentTree = e;
};
var Vc = Object.defineProperty, Ic = Object.getOwnPropertyDescriptor, kc = (e, t, n, r) => {
for (var i = r > 1 ? void 0 : r ? Ic(t, n) : t, o = e.length - 1, a; o >= 0; o--)
(a = e[o]) && (i = (r ? a(t, n, i) : a(i)) || i);
return r && i && Vc(t, n, i), i;
};
let Hr = class extends Pl {
constructor() {
super(...arguments), this.removers = [], this.initialized = !1, this.active = !1, this.toggleOperationInProgressAttr = () => {
this.toggleAttribute("operation-in-progress", p.operationWaitsHmrUpdate !== void 0);
}, this.operationInProgressCursorUpdateDebounceFunc = xc(this.toggleOperationInProgressAttr, 500), this.overlayOutsideClickListener = (e) => {
qe(e.target?.owner) || (p.active || qe(e.detail.sourceEvent.target)) && e.preventDefault();
};
}
static get styles() {
return [
le(gc),
le(bc),
le(mc),
le(yc),
le(wc),
le(Ac),
le(Ec),
ul`
:host {
position: fixed;
inset: 0;
z-index: 9999;
contain: strict;
font: var(--font-small);
color: var(--color);
pointer-events: all;
cursor: var(--cursor, default);
}
:host([operation-in-progress]) {
--cursor: wait;
--lumo-clickable-cursor: wait;
}
:host(:not([active])) {
visibility: hidden !important;
pointer-events: none;
}
/* Hide floating panels when not active */
:host(:not([active])) > copilot-section-panel-wrapper {
display: none !important;
}
:host(:not([active])) > copilot-section-panel-wrapper[individual] {
display: block !important;
visibility: visible;
pointer-events: all;
}
/* Keep activation button and menu visible */
copilot-activation-button,
.activation-button-menu {
visibility: visible;
display: flex !important;
}
copilot-activation-button {
pointer-events: auto;
}
a {
color: var(--blue-600);
text-decoration-color: var(--blue-200);
}
:host([user-select-none]) {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* Needed to prevent a JS error because of monkey patched '_attachOverlay'. It is some scope issue, */
/* where 'this._placeholder.parentNode' is undefined - the scope if 'this' gets messed up at some point. */
/* We also don't want animations on the overlays to make the feel faster, so this is fine. */
:is(
vaadin-context-menu-overlay,
vaadin-menu-bar-overlay,
vaadin-select-overlay,
vaadin-combo-box-overlay,
vaadin-tooltip-overlay
):is([opening], [closing]),
:is(
vaadin-context-menu-overlay,
vaadin-menu-bar-overlay,
vaadin-select-overlay,
vaadin-combo-box-overlay,
vaadin-tooltip-overlay
)::part(overlay) {
animation: none !important;
}
:host(:not([active])) copilot-drawer-panel::before {
animation: none;
}
/* Workaround for https://github.com/vaadin/web-components/issues/5400 */
:host([active]) .activation-button-menu .activate,
:host(:not([active])) .activation-button-menu .deactivate,
:host(:not([active])) .activation-button-menu .toggle-spotlight {
display: none;
}
`
];
}
connectedCallback() {
super.connectedCallback(), this.init().catch((e) => Te("Unable to initialize copilot", e));
}
async init() {
if (this.initialized)
return;
await window.Vaadin.copilot._machineState.initializer.promise, document.body.style.setProperty("--dev-tools-button-display", "none"), await import("./copilot-global-vars-later-UtaKiaeu.js"), await import("./copilot-init-step2-tquZBMEC.js"), Vl(), Cl(), this.tabIndex = 0, Dt.hostConnectedCallback(), window.addEventListener("keydown", Ur), E.onSend(this.handleSendEvent), this.removers.push(E.on("close-drawers", this.closeDrawers.bind(this))), this.removers.push(
E.on("open-attention-required-drawer", this.openDrawerIfPanelRequiresAttention.bind(this))
), this.removers.push(
E.on("set-pointer-events", (t) => {
this.style.pointerEvents = t.detail.enable ? "" : "none";
})
), this.addEventListener("mousemove", this.mouseMoveListener), this.addEventListener("dragover", this.mouseMoveListener), nt.addOverlayOutsideClickEvent();
const e = window.matchMedia("(prefers-color-scheme: dark)");
this.classList.toggle("dark", e.matches), e.addEventListener("change", (t) => {
this.classList.toggle("dark", e.matches);
}), this.reaction(
() => p.spotlightActive,
() => {
ue.saveSpotlightActivation(p.spotlightActive), Array.from(this.shadowRoot.querySelectorAll("copilot-section-panel-wrapper")).filter((t) => t.panelInfo?.floating === !0).forEach((t) => {
p.spotlightActive ? t.style.setProperty("display", "none") : t.style.removeProperty("display");
});
}
), this.reaction(
() => p.active,
() => {
this.toggleAttribute("active", p.active), p.active ? this.activate() : this.deactivate(), ue.saveCopilotActivation(p.active);
}
), this.reaction(
() => p.activatedAtLeastOnce,
() => {
wo(), Dl();
}
), this.reaction(
() => p.sectionPanelDragging,
() => {
p.sectionPanelDragging && Array.from(this.shadowRoot.children).filter((n) => n.localName.endsWith("-overlay")).forEach((n) => {
n.close && n.close();
});
}
), this.reaction(
() => p.operationWaitsHmrUpdate,
() => {
p.operationWaitsHmrUpdate ? this.operationInProgressCursorUpdateDebounceFunc() : (this.operationInProgressCursorUpdateDebounceFunc.clear(), this.toggleOperationInProgressAttr());
}
), this.reaction(
() => $.panels,
() => {
$.panels.find((t) => t.individual) && this.requestUpdate();
}
), ue.getCopilotActivation() && Ji().then(() => {
p.setActive(!0, "restore");
}), this.removers.push(
E.on("user-select", (t) => {
const { allowSelection: n } = t.detail;
this.toggleAttribute("user-select-none", !n);
})
), go(), this.initialized = !0, Dc();
}
/**
* Called when Copilot is activated. Good place to start attach listeners etc.
*/
async activate() {
un("activate"), Dt.activate(), qr.copilotActivated(), Rl(), this.openDrawerIfPanelRequiresAttention(), document.documentElement.addEventListener("mouseleave", this.mouseLeaveListener), nt.onCopilotActivation(), await Tc(), yo.loadPreviewConfiguration(), this.active = !0;
}
/**
* Called when Copilot is deactivated. Good place to remove listeners etc.
*/
deactivate() {
this.closeDrawers(), Dt.deactivate(), qr.copilotDeactivated(), document.documentElement.removeEventListener("mouseleave", this.mouseLeaveListener), nt.onCopilotDeactivation(), this.active = !1;
}
disconnectedCallback() {
super.disconnectedCallback(), Dt.hostDisconnectedCallback(), window.removeEventListener("keydown", Ur), E.offSend(this.handleSendEvent), this.removers.forEach((e) => e()), this.removeEventListener("mousemove", this.mouseMoveListener), this.removeEventListener("dragover", this.mouseMoveListener), nt.removeOverlayOutsideClickEvent(), document.documentElement.removeEventListener("vaadin-overlay-outside-click", this.overlayOutsideClickListener);
}
handleSendEvent(e) {
const t = e.detail.command, n = e.detail.data;
fe(t, n);
}
/**
* Opens the attention required drawer if there is any.
*/
openDrawerIfPanelRequiresAttention() {
const e = $.getAttentionRequiredPanelConfiguration();
if (!e)
return;
const t = e.panel;
if (!t || e.floating)
return;
const n = this.shadowRoot.querySelector(`copilot-drawer-panel[position="${t}"]`);
n.opened = !0;
}
render() {
return ct`
<copilot-activation-button
@activation-btn-clicked="${() => {
p.toggleActive("button"), p.setLoginCheckActive(!1);
}}"
@spotlight-activation-changed="${(e) => {
p.setSpotlightActive(e.detail);
}}"
.spotlightOn="${p.spotlightActive}">
</copilot-activation-button>
<copilot-component-selector></copilot-component-selector>
<copilot-label-editor-container></copilot-label-editor-container>
<copilot-info-tooltip></copilot-info-tooltip>
${this.renderDrawer("left")} ${this.renderDrawer("right")} ${this.renderDrawer("bottom")} ${cc()}
${this.renderSpotlight()}
<copilot-login-check ?active=${p.loginCheckActive && p.active}></copilot-login-check>
<copilot-notifications-container></copilot-notifications-container>
`;
}
renderSpotlight() {
return p.userInfo === void 0 || p.userInfo.copilotProjectCannotLeaveLocalhost ? O : ct`
<copilot-spotlight ?active=${p.spotlightActive && p.active}></copilot-spotlight>
`;
}
renderDrawer(e) {
return ct` <copilot-drawer-panel no-transition position=${e}>
${lc(e)}
</copilot-drawer-panel>`;
}
/**
* Closes the open drawers if any opened unless an overlay is opened from drawer.
*/
closeDrawers() {
const e = this.shadowRoot.querySelectorAll(`${Ce}drawer-panel`);
if (!Array.from(e).some((o) => o.opened))
return;
const n = Array.from(this.shadowRoot.children).find(
(o) => o.localName.endsWith("overlay")
), r = n && nt.getOwner(n);
if (!r) {
e.forEach((o) => {
o.opened = !1;
});
return;
}
const i = nl(r, "copilot-drawer-panel");
if (!i) {
e.forEach((o) => {
o.opened = !1;
});
return;
}
Array.from(e).filter((o) => o.position !== i.position).forEach((o) => {
o.opened = !1;
});
}
updated(e) {
super.updated(e), this.attachActivationButtonToBody(), pc();
}
attachActivationButtonToBody() {
const e = document.body.querySelectorAll("copilot-activation-button");
e.length > 1 && e[0].remove();
}
mouseMoveListener(e) {
e.composedPath().find((t) => t.localName === `${Ce}drawer-panel`) || this.closeDrawers();
}
mouseLeaveListener() {
E.emit("close-drawers", {});
}
};
Hr = kc([
cl("copilot-main")
], Hr);
const Lc = window.Vaadin, Mc = {
init(e) {
Fi(
() => window.Vaadin.devTools,
(t) => {
const n = t.handleFrontendMessage;
t.handleFrontendMessage = (r) => {
vc(r) || n.call(t, r);
};
}
);
}
};
Lc.devToolsPlugins.push(Mc);
export {
Xe as $,
Uc as A,
Ja as B,
Rc as C,
du as D,
O as E,
Pc as F,
uu as G,
fu as H,
Bc as I,
yo as J,
iu as K,
xc as L,
Pl as M,
ou as N,
eu as O,
Ce as P,
au as Q,
Il as R,
jc as S,
Fc as T,
un as U,
zc as V,
wc as W,
mc as X,
qc as Y,
fo as Z,
vo as _,
Oc as a,
Tc as a0,
mo as a1,
bo as a2,
Qs as a3,
sn as a4,
ru as a5,
Cc as a6,
Rn as a7,
Yi as a8,
Xc as a9,
E as b,
lu as c,
Ms as d,
js as e,
Zc as f,
cu as g,
tu as h,
Wc as i,
p as j,
Zn as k,
Te as l,
su as m,
cl as n,
ue as o,
$ as p,
Gc as q,
le as r,
fe as s,
nu as t,
ul as u,
dn as v,
ut as w,
ct as x,
$c as y,
_o as z
};