var y0 = Object.defineProperty var mH = Object.getOwnPropertyDescriptor var I0 = (o) => { throw TypeError(o) } var fH = (o, e) => { for (var t in e) y0(o, t, { get: e[t], enumerable: !0 }) } var R = (o, e, t, n) => { for (var r = n > 1 ? void 0 : n ? mH(e, t) : e, i = o.length - 1, s; i >= 0; i--) (s = o[i]) && (r = (n ? s(e, t, r) : s(r)) || r) return n && r && y0(e, t, r), r }, S = (o, e) => (t, n) => e(t, n, o) var FT = (o, e, t) => e.has(o) || I0("Cannot " + t) var sn = (o, e, t) => (FT(o, e, "read from private field"), t ? t.call(o) : e.get(o)), qm = (o, e, t) => e.has(o) ? I0("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(o) : e.set(o, t), Kh = (o, e, t, n) => (FT(o, e, "write to private field"), n ? n.call(o, t) : e.set(o, t), t), Km = (o, e, t) => (FT(o, e, "access private method"), t) import GU from "net" import v6 from "minimist" import * as qU from "net" function sc(o, e) { let t = Object.create(null) for (let n of o) { let r = e(n), i = t[r] i || (i = t[r] = []), i.push(n) } return t } function NT(o, e) { let t = [], n = [] for (let r of o) e.has(r) || t.push(r) for (let r of e) o.has(r) || n.push(r) return { removed: t, added: n } } var C0, S0, x0 = class { constructor(e, t) { this.toKey = t this._map = new Map() this[C0] = "SetWithKey" for (let n of e) this.add(n) } get size() { return this._map.size } add(e) { let t = this.toKey(e) return this._map.set(t, e), this } delete(e) { return this._map.delete(this.toKey(e)) } has(e) { return this._map.has(this.toKey(e)) } *entries() { for (let e of this._map.values()) yield [e, e] } keys() { return this.values() } *values() { for (let e of this._map.values()) yield e } clear() { this._map.clear() } forEach(e, t) { this._map.forEach((n) => e.call(t, n, n, this)) } [((S0 = Symbol.iterator), (C0 = Symbol.toStringTag), S0)]() { return this.values() } } var UT = class { constructor() { ;(this.listeners = []), (this.unexpectedErrorHandler = function (e) { setTimeout(() => { throw e.stack ? Kn.isErrorNoTelemetry(e) ? new Kn( e.message + ` ` + e.stack, ) : new Error( e.message + ` ` + e.stack, ) : e }, 0) }) } addListener(e) { return ( this.listeners.push(e), () => { this._removeListener(e) } ) } emit(e) { this.listeners.forEach((t) => { t(e) }) } _removeListener(e) { this.listeners.splice(this.listeners.indexOf(e), 1) } setUnexpectedErrorHandler(e) { this.unexpectedErrorHandler = e } getUnexpectedErrorHandler() { return this.unexpectedErrorHandler } onUnexpectedError(e) { this.unexpectedErrorHandler(e), this.emit(e) } onUnexpectedExternalError(e) { this.unexpectedErrorHandler(e) } }, ac = new UT() function jm(o) { ac.setUnexpectedErrorHandler(o) } function T0(o) { if (!o || typeof o != "object") return !1 let e = o return e.code === "EPIPE" && e.syscall?.toUpperCase() === "WRITE" } function Tl(o) { ac.onUnexpectedError(o) } function Be(o) { bn(o) || ac.onUnexpectedError(o) } function Qh(o) { bn(o) || ac.onUnexpectedExternalError(o) } function Po(o) { if (o instanceof Error) { let { name: e, message: t, cause: n } = o, r = o.stacktrace || o.stack return { $isError: !0, name: e, message: t, stack: r, noTelemetry: Kn.isErrorNoTelemetry(o), cause: n ? Po(n) : void 0, code: o.code, } } return o } function HT(o) { let e return ( o.noTelemetry ? (e = new Kn()) : ((e = new Error()), (e.name = o.name)), (e.message = o.message), (e.stack = o.stack), o.code && (e.code = o.code), o.cause && (e.cause = HT(o.cause)), e ) } var jh = "Canceled" function bn(o) { return o instanceof xt ? !0 : o instanceof Error && o.name === jh && o.message === jh } var xt = class extends Error { constructor() { super(jh), (this.name = this.message) } } function $i() { let o = new Error(jh) return (o.name = o.message), o } function We(o) { return o ? new Error(`Illegal argument: ${o}`) : new Error("Illegal argument") } function lc(o) { return o ? new Error(`Illegal state: ${o}`) : new Error("Illegal state") } var wo = class extends TypeError { constructor(e) { super(e ? `${e} is read-only and cannot be changed` : "Cannot change read-only property") } } function Gm(o) { return o ? o.message ? o.message : o.stack ? o.stack.split(` `)[0] : String(o) : "Error" } var Gh = class extends Error { constructor(e) { super("NotImplemented"), e && (this.message = e) } }, Sl = class extends Error { constructor(e) { super("NotSupported"), e && (this.message = e) } } var Kn = class o extends Error { constructor(e) { super(e), (this.name = "CodeExpectedError") } static fromError(e) { if (e instanceof o) return e let t = new o() return (t.message = e.message), (t.stack = e.stack), t } static isErrorNoTelemetry(e) { return e.name === "CodeExpectedError" } }, Gt = class o extends Error { constructor(e) { super(e || "An unexpected bug occurred."), Object.setPrototypeOf(this, o.prototype) } } function zi(o, e) { let t = this, n = !1, r return function () { if (n) return r if (((n = !0), e)) try { r = o.apply(t, arguments) } finally { e() } else r = o.apply(t, arguments) return r } } function w0(o, e, t = o.length - 1) { let n = hH(o, e, t) if (n !== -1) return o[n] } function hH(o, e, t = o.length - 1) { for (let n = t; n >= 0; n--) { let r = o[n] if (e(r)) return n } return -1 } function vH(o, e, t = 0, n = o.length) { let r = t, i = n for (; r < i; ) { let s = Math.floor((r + i) / 2) e(o[s]) ? (r = s + 1) : (i = s) } return r - 1 } function P0(o, e, t = 0, n = o.length) { let r = t, i = n for (; r < i; ) { let s = Math.floor((r + i) / 2) e(o[s]) ? (i = s) : (r = s + 1) } return r } var E0 = class o { constructor(e) { this._array = e this._findLastMonotonousLastIdx = 0 } static { this.assertInvariants = !1 } findLastMonotonous(e) { if (o.assertInvariants) { if (this._prevFindLastPredicate) { for (let n of this._array) if (this._prevFindLastPredicate(n) && !e(n)) throw new Error( "MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.", ) } this._prevFindLastPredicate = e } let t = vH(this._array, e, this._findLastMonotonousLastIdx) return (this._findLastMonotonousLastIdx = t + 1), t === -1 ? void 0 : this._array[t] } } function mn(o, e, t = (n, r) => n === r) { if (o === e) return !0 if (!o || !e || o.length !== e.length) return !1 for (let n = 0, r = o.length; n < r; n++) if (!t(o[n], e[n])) return !1 return !0 } function D0(o, e) { let t = [], n for (let r of o.slice(0).sort(e)) !n || e(n[0], r) !== 0 ? ((n = [r]), t.push(n)) : n.push(r) return t } function WT(o, e, t) { let n = [] function r(a, l, d) { if (l === 0 && d.length === 0) return let c = n[n.length - 1] c && c.start + c.deleteCount === a ? ((c.deleteCount += l), c.toInsert.push(...d)) : n.push({ start: a, deleteCount: l, toInsert: d }) } let i = 0, s = 0 for (;;) { if (i === o.length) { r(i, 0, e.slice(s)) break } if (s === e.length) { r(i, o.length - i, []) break } let a = o[i], l = e[s], d = t(a, l) d === 0 ? ((i += 1), (s += 1)) : d < 0 ? (r(i, 1, []), (i += 1)) : d > 0 && (r(i, 0, [l]), (s += 1)) } return n } function k0(o, e, t) { let n = WT(o, e, t), r = [], i = [] for (let s of n) r.push(...o.slice(s.start, s.start + s.deleteCount)), i.push(...s.toInsert) return { removed: r, added: i } } function R0(o, e, t, n, r) { return t === 0 ? Promise.resolve([]) : new Promise((i, s) => { ;(async () => { let a = o.length, l = o.slice(0, t).sort(e) for (let d = t, c = Math.min(t + n, a); d < a; d = c, c = Math.min(c + n, a)) { if ((d > t && (await new Promise((u) => setTimeout(u))), r && r.isCancellationRequested)) throw new xt() bH(o, e, l, d, c) } return l })().then(i, s) }) } function bH(o, e, t, n, r) { for (let i = t.length; n < r; n++) { let s = o[n] if (e(s, t[i - 1]) < 0) { t.pop() let a = P0(t, (l) => e(s, l) < 0) t.splice(a, 0, s) } } } function Ye(o) { return o.filter((e) => !!e) } function A0(o) { let e = 0 for (let t = 0; t < o.length; t++) o[t] && ((o[e] = o[t]), (e += 1)) o.length = e } function Qm(o) { return !Array.isArray(o) || o.length === 0 } function ri(o) { return Array.isArray(o) && o.length > 0 } function oi(o, e = (t) => t) { let t = new Set() return o.filter((n) => { let r = e(n) return t.has(r) ? !1 : (t.add(r), !0) }) } function VT(o, e) { return o.push(e), () => yH(o, e) } function yH(o, e) { let t = o.indexOf(e) if (t > -1) return o.splice(t, 1), e } function BT(o, e) { let t if (typeof e == "number") { let n = e t = () => { let r = Math.sin(n++) * 179426549 return r - Math.floor(r) } } else t = Math.random for (let n = o.length - 1; n > 0; n -= 1) { let r = Math.floor(t() * (n + 1)), i = o[n] ;(o[n] = o[r]), (o[r] = i) } } function El(o, e) { return Array.isArray(o) ? o.map(e) : e(o) } function an(o) { return Array.isArray(o) ? o : [o] } var O0 ;((a) => { function o(l) { return l < 0 } a.isLessThan = o function e(l) { return l <= 0 } a.isLessThanOrEqual = e function t(l) { return l > 0 } a.isGreaterThan = t function n(l) { return l === 0 } ;(a.isNeitherLessOrGreaterThan = n), (a.greaterThan = 1), (a.lessThan = -1), (a.neitherLessOrGreaterThan = 0) })((O0 ||= {})) function L0(o, e) { return (t, n) => e(o(t), o(n)) } var M0 = (o, e) => o - e var _0 = class o { constructor(e) { this.iterate = e } static { this.empty = new o((e) => {}) } forEach(e) { this.iterate((t) => (e(t), !0)) } toArray() { let e = [] return this.iterate((t) => (e.push(t), !0)), e } filter(e) { return new o((t) => this.iterate((n) => (e(n) ? t(n) : !0))) } map(e) { return new o((t) => this.iterate((n) => t(e(n)))) } some(e) { let t = !1 return this.iterate((n) => ((t = e(n)), !t)), t } findFirst(e) { let t return this.iterate((n) => (e(n) ? ((t = n), !1) : !0)), t } findLast(e) { let t return this.iterate((n) => (e(n) && (t = n), !0)), t } findLastMaxBy(e) { let t, n = !0 return this.iterate((r) => ((n || O0.isGreaterThan(e(r, t))) && ((n = !1), (t = r)), !0)), t } } function KT(o, e, t) { let n = o.get(e) return n === void 0 && ((n = t), o.set(e, n)), n } var $T = class { constructor(e, t) { this.uri = e this.value = t } } function IH(o) { return Array.isArray(o) } var F0, ft = class o { constructor(e, t) { this[F0] = "ResourceMap" if (e instanceof o) (this.map = new Map(e.map)), (this.toKey = t ?? o.defaultToKey) else if (IH(e)) { ;(this.map = new Map()), (this.toKey = t ?? o.defaultToKey) for (let [n, r] of e) this.set(n, r) } else (this.map = new Map()), (this.toKey = e ?? o.defaultToKey) } static { this.defaultToKey = (e) => e.toString() } set(e, t) { return this.map.set(this.toKey(e), new $T(e, t)), this } get(e) { return this.map.get(this.toKey(e))?.value } has(e) { return this.map.has(this.toKey(e)) } get size() { return this.map.size } clear() { this.map.clear() } delete(e) { return this.map.delete(this.toKey(e)) } forEach(e, t) { typeof t < "u" && (e = e.bind(t)) for (let [n, r] of this.map) e(r.value, r.uri, this) } *values() { for (let e of this.map.values()) yield e.value } *keys() { for (let e of this.map.values()) yield e.uri } *entries() { for (let e of this.map.values()) yield [e.uri, e.value] } *[((F0 = Symbol.toStringTag), Symbol.iterator)]() { for (let [, e] of this.map) yield [e.uri, e.value] } }, N0, dc = class { constructor(e, t) { this[N0] = "ResourceSet" !e || typeof e == "function" ? (this._map = new ft(e)) : ((this._map = new ft(t)), e.forEach(this.add, this)) } get size() { return this._map.size } add(e) { return this._map.set(e, e), this } clear() { this._map.clear() } delete(e) { return this._map.delete(e) } forEach(e, t) { this._map.forEach((n, r) => e.call(t, r, r, this)) } has(e) { return this._map.has(e) } entries() { return this._map.entries() } keys() { return this._map.keys() } values() { return this._map.keys() } [((N0 = Symbol.toStringTag), Symbol.iterator)]() { return this.keys() } } var U0, zT = class { constructor() { this[U0] = "LinkedMap" ;(this._map = new Map()), (this._head = void 0), (this._tail = void 0), (this._size = 0), (this._state = 0) } clear() { this._map.clear(), (this._head = void 0), (this._tail = void 0), (this._size = 0), this._state++ } isEmpty() { return !this._head && !this._tail } get size() { return this._size } get first() { return this._head?.value } get last() { return this._tail?.value } has(e) { return this._map.has(e) } get(e, t = 0) { let n = this._map.get(e) if (n) return t !== 0 && this.touch(n, t), n.value } set(e, t, n = 0) { let r = this._map.get(e) if (r) (r.value = t), n !== 0 && this.touch(r, n) else { switch (((r = { key: e, value: t, next: void 0, previous: void 0 }), n)) { case 0: this.addItemLast(r) break case 1: this.addItemFirst(r) break case 2: this.addItemLast(r) break default: this.addItemLast(r) break } this._map.set(e, r), this._size++ } return this } delete(e) { return !!this.remove(e) } remove(e) { let t = this._map.get(e) if (t) return this._map.delete(e), this.removeItem(t), this._size--, t.value } shift() { if (!this._head && !this._tail) return if (!this._head || !this._tail) throw new Error("Invalid list") let e = this._head return this._map.delete(e.key), this.removeItem(e), this._size--, e.value } forEach(e, t) { let n = this._state, r = this._head for (; r; ) { if ((t ? e.bind(t)(r.value, r.key, this) : e(r.value, r.key, this), this._state !== n)) throw new Error("LinkedMap got modified during iteration.") r = r.next } } keys() { let e = this, t = this._state, n = this._head, r = { [Symbol.iterator]() { return r }, next() { if (e._state !== t) throw new Error("LinkedMap got modified during iteration.") if (n) { let i = { value: n.key, done: !1 } return (n = n.next), i } else return { value: void 0, done: !0 } }, } return r } values() { let e = this, t = this._state, n = this._head, r = { [Symbol.iterator]() { return r }, next() { if (e._state !== t) throw new Error("LinkedMap got modified during iteration.") if (n) { let i = { value: n.value, done: !1 } return (n = n.next), i } else return { value: void 0, done: !0 } }, } return r } entries() { let e = this, t = this._state, n = this._head, r = { [Symbol.iterator]() { return r }, next() { if (e._state !== t) throw new Error("LinkedMap got modified during iteration.") if (n) { let i = { value: [n.key, n.value], done: !1 } return (n = n.next), i } else return { value: void 0, done: !0 } }, } return r } [((U0 = Symbol.toStringTag), Symbol.iterator)]() { return this.entries() } trimOld(e) { if (e >= this.size) return if (e === 0) { this.clear() return } let t = this._head, n = this.size for (; t && n > e; ) this._map.delete(t.key), (t = t.next), n-- ;(this._head = t), (this._size = n), t && (t.previous = void 0), this._state++ } trimNew(e) { if (e >= this.size) return if (e === 0) { this.clear() return } let t = this._tail, n = this.size for (; t && n > e; ) this._map.delete(t.key), (t = t.previous), n-- ;(this._tail = t), (this._size = n), t && (t.next = void 0), this._state++ } addItemFirst(e) { if (!this._head && !this._tail) this._tail = e else if (this._head) (e.next = this._head), (this._head.previous = e) else throw new Error("Invalid list") ;(this._head = e), this._state++ } addItemLast(e) { if (!this._head && !this._tail) this._head = e else if (this._tail) (e.previous = this._tail), (this._tail.next = e) else throw new Error("Invalid list") ;(this._tail = e), this._state++ } removeItem(e) { if (e === this._head && e === this._tail) (this._head = void 0), (this._tail = void 0) else if (e === this._head) { if (!e.next) throw new Error("Invalid list") ;(e.next.previous = void 0), (this._head = e.next) } else if (e === this._tail) { if (!e.previous) throw new Error("Invalid list") ;(e.previous.next = void 0), (this._tail = e.previous) } else { let t = e.next, n = e.previous if (!t || !n) throw new Error("Invalid list") ;(t.previous = n), (n.next = t) } ;(e.next = void 0), (e.previous = void 0), this._state++ } touch(e, t) { if (!this._head || !this._tail) throw new Error("Invalid list") if (!(t !== 1 && t !== 2)) { if (t === 1) { if (e === this._head) return let n = e.next, r = e.previous e === this._tail ? ((r.next = void 0), (this._tail = r)) : ((n.previous = r), (r.next = n)), (e.previous = void 0), (e.next = this._head), (this._head.previous = e), (this._head = e), this._state++ } else if (t === 2) { if (e === this._tail) return let n = e.next, r = e.previous e === this._head ? ((n.previous = void 0), (this._head = n)) : ((n.previous = r), (r.next = n)), (e.next = void 0), (e.previous = this._tail), (this._tail.next = e), (this._tail = e), this._state++ } } } toJSON() { let e = [] return ( this.forEach((t, n) => { e.push([n, t]) }), e ) } fromJSON(e) { this.clear() for (let [t, n] of e) this.set(t, n) } }, qT = class extends zT { constructor(e, t = 1) { super(), (this._limit = e), (this._ratio = Math.min(Math.max(0, t), 1)) } get limit() { return this._limit } set limit(e) { ;(this._limit = e), this.checkTrim() } get ratio() { return this._ratio } set ratio(e) { ;(this._ratio = Math.min(Math.max(0, e), 1)), this.checkTrim() } get(e, t = 2) { return super.get(e, t) } peek(e) { return super.get(e, 0) } set(e, t) { return super.set(e, t, 2), this } checkTrim() { this.size > this._limit && this.trim(Math.round(this._limit * this._ratio)) } }, _o = class extends qT { constructor(e, t = 1) { super(e, t) } trim(e) { this.trimOld(e) } set(e, t) { return super.set(e, t), this.checkTrim(), this } } var Jh = class { constructor(e) { this._m1 = new Map() this._m2 = new Map() if (e) for (let [t, n] of e) this.set(t, n) } clear() { this._m1.clear(), this._m2.clear() } set(e, t) { this._m1.set(e, t), this._m2.set(t, e) } get(e) { return this._m1.get(e) } getKey(e) { return this._m2.get(e) } delete(e) { let t = this._m1.get(e) return t === void 0 ? !1 : (this._m1.delete(e), this._m2.delete(t), !0) } forEach(e, t) { this._m1.forEach((n, r) => { e.call(t, n, r, this) }) } keys() { return this._m1.keys() } values() { return this._m1.values() } }, cc = class { constructor() { this.map = new Map() } add(e, t) { let n = this.map.get(e) n || ((n = new Set()), this.map.set(e, n)), n.add(t) } delete(e, t) { let n = this.map.get(e) n && (n.delete(t), n.size === 0 && this.map.delete(e)) } forEach(e, t) { let n = this.map.get(e) n && n.forEach(t) } get(e) { let t = this.map.get(e) return t || new Set() } } function yn(o, e) { if (!o) throw new Error(e ? `Assertion failed (${e})` : "Assertion Failed") } function uc(o, e = "Unreachable") { throw new Error(e) } function pc(o, e = "unexpected state") { if (!o) throw typeof e == "string" ? new Gt(`Assertion Failed: ${e}`) : e } function Jm(o) { if (!o()) { debugger o(), Be(new Gt("Assertion Failed")) } } function Ee(o) { return typeof o == "string" } function W0(o) { return Array.isArray(o) && o.every((e) => Ee(e)) } function dt(o) { return typeof o == "object" && o !== null && !Array.isArray(o) && !(o instanceof RegExp) && !(o instanceof Date) } function V0(o) { let e = Object.getPrototypeOf(Uint8Array) return typeof o == "object" && o instanceof e } function fn(o) { return typeof o == "number" && !isNaN(o) } function B0(o) { return !!o && typeof o[Symbol.iterator] == "function" } function Xh(o) { return o === !0 || o === !1 } function mc(o) { return typeof o > "u" } function rr(o) { return !bt(o) } function bt(o) { return mc(o) || o === null } function fc(o, e) { if (!o) throw new Error(e ? `Unexpected type, expected '${e}'` : "Unexpected type") } function Do(o) { return pc(o != null, "Argument is `undefined` or `null`."), o } var xH = Object.prototype.hasOwnProperty function Yh(o) { if (!dt(o)) return !1 for (let e in o) if (xH.call(o, e)) return !1 return !0 } function $0(o) { return typeof o == "function" } function z0(o, e) { if (Ee(e)) { if (typeof o !== e) throw new Error(`argument does not match constraint: typeof ${e}`) } else if ($0(e)) { try { if (o instanceof e) return } catch {} if ((!bt(o) && o.constructor === e) || (e.length === 1 && e.call(void 0, o) === !0)) return throw new Error( "argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true", ) } } var kt ;((L) => { function o(A) { return A && typeof A == "object" && typeof A[Symbol.iterator] == "function" } L.is = o let e = Object.freeze([]) function t() { return e } L.empty = t function* n(A) { yield A } L.single = n function r(A) { return o(A) ? A : n(A) } L.wrap = r function i(A) { return A || e } L.from = i function* s(A) { for (let J = A.length - 1; J >= 0; J--) yield A[J] } L.reverse = s function a(A) { return !A || A[Symbol.iterator]().next().done === !0 } L.isEmpty = a function l(A) { return A[Symbol.iterator]().next().value } L.first = l function d(A, J) { let ne = 0 for (let oe of A) if (J(oe, ne++)) return !0 return !1 } L.some = d function c(A, J) { for (let ne of A) if (J(ne)) return ne } L.find = c function* u(A, J) { for (let ne of A) J(ne) && (yield ne) } L.filter = u function* m(A, J) { let ne = 0 for (let oe of A) yield J(oe, ne++) } L.map = m function* f(A, J) { let ne = 0 for (let oe of A) yield* J(oe, ne++) } L.flatMap = f function* h(...A) { for (let J of A) B0(J) ? yield* J : yield J } L.concat = h function g(A, J, ne) { let oe = ne for (let Y of A) oe = J(oe, Y) return oe } L.reduce = g function I(A) { let J = 0 for (let ne of A) J++ return J } L.length = I function* C(A, J, ne = A.length) { for ( J < -A.length && (J = 0), J < 0 && (J += A.length), ne < 0 ? (ne += A.length) : ne > A.length && (ne = A.length); J < ne; J++ ) yield A[J] } L.slice = C function T(A, J = Number.POSITIVE_INFINITY) { let ne = [] if (J === 0) return [ne, A] let oe = A[Symbol.iterator]() for (let Y = 0; Y < J; Y++) { let j = oe.next() if (j.done) return [ne, L.empty()] ne.push(j.value) } return [ ne, { [Symbol.iterator]() { return oe }, }, ] } L.consume = T async function w(A) { let J = [] for await (let ne of A) J.push(ne) return Promise.resolve(J) } L.asyncToArray = w })((kt ||= {})) var CH = !1, gc = null var q0 = class o { constructor() { this.livingDisposables = new Map() } static { this.idx = 0 } getDisposableData(e) { let t = this.livingDisposables.get(e) return ( t || ((t = { parent: null, source: null, isSingleton: !1, value: e, idx: o.idx++ }), this.livingDisposables.set(e, t)), t ) } trackDisposable(e) { let t = this.getDisposableData(e) t.source || (t.source = new Error().stack) } setParent(e, t) { let n = this.getDisposableData(e) n.parent = t } markAsDisposed(e) { this.livingDisposables.delete(e) } markAsSingleton(e) { this.getDisposableData(e).isSingleton = !0 } getRootParent(e, t) { let n = t.get(e) if (n) return n let r = e.parent ? this.getRootParent(this.getDisposableData(e.parent), t) : e return t.set(e, r), r } getTrackedDisposables() { let e = new Map() return [...this.livingDisposables.entries()] .filter(([, n]) => n.source !== null && !this.getRootParent(n, e).isSingleton) .flatMap(([n]) => n) } computeLeakingDisposables(e = 10, t) { let n if (t) n = t else { let l = new Map(), d = [...this.livingDisposables.values()].filter( (u) => u.source !== null && !this.getRootParent(u, l).isSingleton, ) if (d.length === 0) return let c = new Set(d.map((u) => u.value)) if (((n = d.filter((u) => !(u.parent && c.has(u.parent)))), n.length === 0)) throw new Error("There are cyclic diposable chains!") } if (!n) return function r(l) { function d(u, m) { for (; u.length > 0 && m.some((f) => (typeof f == "string" ? f === u[0] : u[0].match(f))); ) u.shift() } let c = l.source .split( ` `, ) .map((u) => u.trim().replace("at ", "")) .filter((u) => u !== "") return ( d(c, ["Error", /^trackDisposable \(.*\)$/, /^DisposableTracker.trackDisposable \(.*\)$/]), c.reverse() ) } let i = new cc() for (let l of n) { let d = r(l) for (let c = 0; c <= d.length; c++) i.add( d.slice(0, c).join(` `), l, ) } n.sort(L0((l) => l.idx, M0)) let s = "", a = 0 for (let l of n.slice(0, e)) { a++ let d = r(l), c = [] for (let u = 0; u < d.length; u++) { let m = d[u] m = `(shared with ${ i.get( d.slice(0, u + 1).join(` `), ).size }/${n.length} leaks) at ${m}` let h = i.get( d.slice(0, u).join(` `), ), g = sc( [...h].map((I) => r(I)[u]), (I) => I, ) delete g[d[u]] for (let [I, C] of Object.entries(g)) c.unshift(` - stacktraces of ${C.length} other leaks continue with ${I}`) c.unshift(m) } s += ` ==================== Leaking disposable ${a}/${n.length}: ${l.value.constructor.name} ==================== ${c.join(` `)} ============================================================ ` } return ( n.length > e && (s += ` ... and ${n.length - e} more leaking disposables `), { leaks: n, details: s } ) } } function SH(o) { gc = o } if (CH) { let o = "__is_disposable_tracked__" SH( new (class { trackDisposable(e) { let t = new Error("Potentially leaked disposable").stack setTimeout(() => { e[o] || console.log(t) }, 3e3) } setParent(e, t) { if (e && e !== $.None) try { e[o] = !0 } catch {} } markAsDisposed(e) { if (e && e !== $.None) try { e[o] = !0 } catch {} } markAsSingleton(e) {} })(), ) } function Zs(o) { return gc?.trackDisposable(o), o } function ea(o) { gc?.markAsDisposed(o) } function Xm(o, e) { gc?.setParent(o, e) } function TH(o, e) { if (gc) for (let t of o) gc.setParent(t, e) } function Zh(o) { return typeof o == "object" && o !== null && typeof o.dispose == "function" && o.dispose.length === 0 } function Fn(o) { if (kt.is(o)) { let e = [] for (let t of o) if (t) try { t.dispose() } catch (n) { e.push(n) } if (e.length === 1) throw e[0] if (e.length > 1) throw new AggregateError(e, "Encountered errors while disposing of store") return Array.isArray(o) ? [] : o } else if (o) return o.dispose(), o } function ev(...o) { let e = q(() => Fn(o)) return TH(o, e), e } function q(o) { let e = Zs({ dispose: zi(() => { ea(e), o() }), }) return e } var Q = class o { constructor() { this._toDispose = new Set() this._isDisposed = !1 Zs(this) } static { this.DISABLE_DISPOSED_WARNING = !1 } dispose() { this._isDisposed || (ea(this), (this._isDisposed = !0), this.clear()) } get isDisposed() { return this._isDisposed } clear() { if (this._toDispose.size !== 0) try { Fn(this._toDispose) } finally { this._toDispose.clear() } } add(e) { if (!e) return e if (e === this) throw new Error("Cannot register a disposable on itself!") return ( Xm(e, this), this._isDisposed ? o.DISABLE_DISPOSED_WARNING || console.warn( new Error( "Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!", ).stack, ) : this._toDispose.add(e), e ) } delete(e) { if (e) { if (e === this) throw new Error("Cannot dispose a disposable on itself!") this._toDispose.delete(e), e.dispose() } } deleteAndLeak(e) { e && this._toDispose.has(e) && (this._toDispose.delete(e), Xm(e, null)) } }, $ = class { constructor() { this._store = new Q() Zs(this), Xm(this._store, this) } static { this.None = Object.freeze({ dispose() {} }) } dispose() { ea(this), this._store.dispose() } _register(e) { if (e === this) throw new Error("Cannot register a disposable on itself!") return this._store.add(e) } }, Dn = class { constructor() { this._isDisposed = !1 Zs(this) } get value() { return this._isDisposed ? void 0 : this._value } set value(e) { this._isDisposed || e === this._value || (this._value?.dispose(), e && Xm(e, this), (this._value = e)) } clear() { this.value = void 0 } dispose() { ;(this._isDisposed = !0), ea(this), this._value?.dispose(), (this._value = void 0) } clearAndLeak() { let e = this._value return (this._value = void 0), e && Xm(e, null), e } } var Wr = class { constructor() { this._store = new Map() this._isDisposed = !1 Zs(this) } dispose() { ea(this), (this._isDisposed = !0), this.clearAndDisposeAll() } clearAndDisposeAll() { if (this._store.size) try { Fn(this._store.values()) } finally { this._store.clear() } } has(e) { return this._store.has(e) } get size() { return this._store.size } get(e) { return this._store.get(e) } set(e, t, n = !1) { this._isDisposed && console.warn( new Error( "Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!", ).stack, ), n || this._store.get(e)?.dispose(), this._store.set(e, t) } deleteAndDispose(e) { this._store.get(e)?.dispose(), this._store.delete(e) } deleteAndLeak(e) { let t = this._store.get(e) return this._store.delete(e), t } keys() { return this._store.keys() } values() { return this._store.values() } [Symbol.iterator]() { return this._store[Symbol.iterator]() } } var $t = class o { static { this.Undefined = new o(void 0) } constructor(e) { ;(this.element = e), (this.next = o.Undefined), (this.prev = o.Undefined) } }, ko = class { constructor() { this._first = $t.Undefined this._last = $t.Undefined this._size = 0 } get size() { return this._size } isEmpty() { return this._first === $t.Undefined } clear() { let e = this._first for (; e !== $t.Undefined; ) { let t = e.next ;(e.prev = $t.Undefined), (e.next = $t.Undefined), (e = t) } ;(this._first = $t.Undefined), (this._last = $t.Undefined), (this._size = 0) } unshift(e) { return this._insert(e, !1) } push(e) { return this._insert(e, !0) } _insert(e, t) { let n = new $t(e) if (this._first === $t.Undefined) (this._first = n), (this._last = n) else if (t) { let i = this._last ;(this._last = n), (n.prev = i), (i.next = n) } else { let i = this._first ;(this._first = n), (n.next = i), (i.prev = n) } this._size += 1 let r = !1 return () => { r || ((r = !0), this._remove(n)) } } shift() { if (this._first !== $t.Undefined) { let e = this._first.element return this._remove(this._first), e } } pop() { if (this._last !== $t.Undefined) { let e = this._last.element return this._remove(this._last), e } } _remove(e) { if (e.prev !== $t.Undefined && e.next !== $t.Undefined) { let t = e.prev ;(t.next = e.next), (e.next.prev = t) } else e.prev === $t.Undefined && e.next === $t.Undefined ? ((this._first = $t.Undefined), (this._last = $t.Undefined)) : e.next === $t.Undefined ? ((this._last = this._last.prev), (this._last.next = $t.Undefined)) : e.prev === $t.Undefined && ((this._first = this._first.next), (this._first.prev = $t.Undefined)) this._size -= 1 } *[Symbol.iterator]() { let e = this._first for (; e !== $t.Undefined; ) yield e.element, (e = e.next) } } var EH = globalThis.performance.now.bind(globalThis.performance), zt = class o { static create(e) { return new o(e) } constructor(e) { ;(this._now = e === !1 ? Date.now : EH), (this._startTime = this._now()), (this._stopTime = -1) } stop() { this._stopTime = this._now() } reset() { ;(this._startTime = this._now()), (this._stopTime = -1) } elapsed() { return this._stopTime !== -1 ? this._stopTime - this._startTime : this._now() - this._startTime } } var K0 = !1, wH = !1, Te ;((vt) => { vt.None = () => $.None function e(ae) { if (wH) { let { onDidAddListener: Z } = ae, se = Ym.create(), ee = 0 ae.onDidAddListener = () => { ++ee === 2 && (console.warn( "snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here", ), se.print()), Z?.() } } } function t(ae, Z) { return f(ae, () => {}, 0, void 0, !0, void 0, Z) } vt.defer = t function n(ae) { return (Z, se = null, ee) => { let fe = !1, Ae return ( (Ae = ae( (he) => { if (!fe) return Ae ? Ae.dispose() : (fe = !0), Z.call(se, he) }, null, ee, )), fe && Ae.dispose(), Ae ) } } vt.once = n function r(ae, Z) { return vt.once(vt.filter(ae, Z)) } vt.onceIf = r function i(ae, Z, se) { return u((ee, fe = null, Ae) => ae((he) => ee.call(fe, Z(he)), null, Ae), se) } vt.map = i function s(ae, Z, se) { return u( (ee, fe = null, Ae) => ae( (he) => { Z(he), ee.call(fe, he) }, null, Ae, ), se, ) } vt.forEach = s function a(ae, Z, se) { return u((ee, fe = null, Ae) => ae((he) => Z(he) && ee.call(fe, he), null, Ae), se) } vt.filter = a function l(ae) { return ae } vt.signal = l function d(...ae) { return (Z, se = null, ee) => { let fe = ev(...ae.map((Ae) => Ae((he) => Z.call(se, he)))) return m(fe, ee) } } vt.any = d function c(ae, Z, se, ee) { let fe = se return i(ae, (Ae) => ((fe = Z(fe, Ae)), fe), ee) } vt.reduce = c function u(ae, Z) { let se, ee = { onWillAddFirstListener() { se = ae(fe.fire, fe) }, onDidRemoveLastListener() { se?.dispose() }, } Z || e(ee) let fe = new E(ee) return Z?.add(fe), fe.event } function m(ae, Z) { return Z instanceof Array ? Z.push(ae) : Z && Z.add(ae), ae } function f(ae, Z, se = 100, ee = !1, fe = !1, Ae, he) { let le, Et, _t, Se = 0, En, Ft = { leakWarningThreshold: Ae, onWillAddFirstListener() { le = ae((nc) => { Se++, (Et = Z(Et, nc)), ee && !_t && (to.fire(Et), (Et = void 0)), (En = () => { let ti = Et ;(Et = void 0), (_t = void 0), (!ee || Se > 1) && to.fire(ti), (Se = 0) }), typeof se == "number" ? (clearTimeout(_t), (_t = setTimeout(En, se))) : _t === void 0 && ((_t = 0), queueMicrotask(En)) }) }, onWillRemoveListener() { fe && Se > 0 && En?.() }, onDidRemoveLastListener() { ;(En = void 0), le.dispose() }, } he || e(Ft) let to = new E(Ft) return he?.add(to), to.event } vt.debounce = f function h(ae, Z = 0, se) { return vt.debounce(ae, (ee, fe) => (ee ? (ee.push(fe), ee) : [fe]), Z, void 0, !0, void 0, se) } vt.accumulate = h function g(ae, Z = (ee, fe) => ee === fe, se) { let ee = !0, fe return a( ae, (Ae) => { let he = ee || !Z(Ae, fe) return (ee = !1), (fe = Ae), he }, se, ) } vt.latch = g function I(ae, Z, se) { return [vt.filter(ae, Z, se), vt.filter(ae, (ee) => !Z(ee), se)] } vt.split = I function C(ae, Z = !1, se = [], ee) { let fe = se.slice(), Ae = ae((Et) => { fe ? fe.push(Et) : le.fire(Et) }) ee && ee.add(Ae) let he = () => { fe?.forEach((Et) => le.fire(Et)), (fe = null) }, le = new E({ onWillAddFirstListener() { Ae || ((Ae = ae((Et) => le.fire(Et))), ee && ee.add(Ae)) }, onDidAddFirstListener() { fe && (Z ? setTimeout(he) : he()) }, onDidRemoveLastListener() { Ae && Ae.dispose(), (Ae = null) }, }) return ee && ee.add(le), le.event } vt.buffer = C function T(ae, Z) { return (ee, fe, Ae) => { let he = Z(new L()) return ae( function (le) { let Et = he.evaluate(le) Et !== w && ee.call(fe, Et) }, void 0, Ae, ) } } vt.chain = T let w = Symbol("HaltChainable") class L { constructor() { this.steps = [] } map(Z) { return this.steps.push(Z), this } forEach(Z) { return this.steps.push((se) => (Z(se), se)), this } filter(Z) { return this.steps.push((se) => (Z(se) ? se : w)), this } reduce(Z, se) { let ee = se return this.steps.push((fe) => ((ee = Z(ee, fe)), ee)), this } latch(Z = (se, ee) => se === ee) { let se = !0, ee return ( this.steps.push((fe) => { let Ae = se || !Z(fe, ee) return (se = !1), (ee = fe), Ae ? fe : w }), this ) } evaluate(Z) { for (let se of this.steps) if (((Z = se(Z)), Z === w)) break return Z } } function A(ae, Z, se = (ee) => ee) { let ee = (...le) => he.fire(se(...le)), fe = () => ae.on(Z, ee), Ae = () => ae.removeListener(Z, ee), he = new E({ onWillAddFirstListener: fe, onDidRemoveLastListener: Ae }) return he.event } vt.fromNodeEventEmitter = A function J(ae, Z, se = (ee) => ee) { let ee = (...le) => he.fire(se(...le)), fe = () => ae.addEventListener(Z, ee), Ae = () => ae.removeEventListener(Z, ee), he = new E({ onWillAddFirstListener: fe, onDidRemoveLastListener: Ae }) return he.event } vt.fromDOMEventEmitter = J function ne(ae, Z) { return new Promise((se) => n(ae)(se, null, Z)) } vt.toPromise = ne function oe(ae) { let Z = new E() return ( ae .then( (se) => { Z.fire(se) }, () => { Z.fire(void 0) }, ) .finally(() => { Z.dispose() }), Z.event ) } vt.fromPromise = oe function Y(ae, Z) { return ae((se) => Z.fire(se)) } vt.forward = Y function j(ae, Z, se) { return Z(se), ae((ee) => Z(ee)) } vt.runAndSubscribe = j class K { constructor(Z, se) { this._observable = Z this._counter = 0 this._hasChanged = !1 let ee = { onWillAddFirstListener: () => { Z.addObserver(this), this._observable.reportChanges() }, onDidRemoveLastListener: () => { Z.removeObserver(this) }, } se || e(ee), (this.emitter = new E(ee)), se && se.add(this.emitter) } beginUpdate(Z) { this._counter++ } handlePossibleChange(Z) {} handleChange(Z, se) { this._hasChanged = !0 } endUpdate(Z) { this._counter--, this._counter === 0 && (this._observable.reportChanges(), this._hasChanged && ((this._hasChanged = !1), this.emitter.fire(this._observable.get()))) } } function qe(ae, Z) { return new K(ae, Z).emitter.event } vt.fromObservable = qe function Bt(ae) { return (Z, se, ee) => { let fe = 0, Ae = !1, he = { beginUpdate() { fe++ }, endUpdate() { fe--, fe === 0 && (ae.reportChanges(), Ae && ((Ae = !1), Z.call(se))) }, handlePossibleChange() {}, handleChange() { Ae = !0 }, } ae.addObserver(he), ae.reportChanges() let le = { dispose() { ae.removeObserver(he) }, } return ee instanceof Q ? ee.add(le) : Array.isArray(ee) && ee.push(le), le } } vt.fromObservableLight = Bt })((Te ||= {})) var jT = class o { constructor(e) { this.listenerCount = 0 this.invocationCount = 0 this.elapsedOverall = 0 this.durations = [] ;(this.name = `${e}_${o._idPool++}`), o.all.add(this) } static { this.all = new Set() } static { this._idPool = 0 } start(e) { ;(this._stopWatch = new zt()), (this.listenerCount = e) } stop() { if (this._stopWatch) { let e = this._stopWatch.elapsed() this.durations.push(e), (this.elapsedOverall += e), (this.invocationCount += 1), (this._stopWatch = void 0) } } }, j0 = -1 var GT = class o { constructor(e, t, n = (o._idPool++).toString(16).padStart(3, "0")) { this._errorHandler = e this.threshold = t this.name = n this._warnCountdown = 0 } static { this._idPool = 1 } dispose() { this._stacks?.clear() } check(e, t) { let n = this.threshold if (n <= 0 || t < n) return this._stacks || (this._stacks = new Map()) let r = this._stacks.get(e.value) || 0 if ((this._stacks.set(e.value, r + 1), (this._warnCountdown -= 1), this._warnCountdown <= 0)) { this._warnCountdown = n * 0.5 let [i, s] = this.getMostFrequentStack(), a = `[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${s}):` console.warn(a), console.warn(i) let l = new QT(a, i) this._errorHandler(l) } return () => { let i = this._stacks.get(e.value) || 0 this._stacks.set(e.value, i - 1) } } getMostFrequentStack() { if (!this._stacks) return let e, t = 0 for (let [n, r] of this._stacks) (!e || t < r) && ((e = [n, r]), (t = r)) return e } }, Ym = class o { constructor(e) { this.value = e } static create() { let e = new Error() return new o(e.stack ?? "") } print() { console.warn( this.value .split( ` `, ) .slice(2).join(` `), ) } }, QT = class extends Error { constructor(e, t) { super(e), (this.name = "ListenerLeakError"), (this.stack = t) } }, JT = class extends Error { constructor(e, t) { super(e), (this.name = "ListenerRefusalError"), (this.stack = t) } }, PH = 0, hc = class { constructor(e) { this.value = e this.id = PH++ } }, _H = 2, G0 = (o, e) => { if (o instanceof hc) e(o) else for (let t = 0; t < o.length; t++) { let n = o[t] n && e(n) } }, E = class { constructor(e) { this._size = 0 ;(this._options = e), (this._leakageMon = j0 > 0 || this._options?.leakWarningThreshold ? new GT(e?.onListenerError ?? Be, this._options?.leakWarningThreshold ?? j0) : void 0), (this._perfMon = this._options?._profName ? new jT(this._options._profName) : void 0), (this._deliveryQueue = this._options?.deliveryQueue) } dispose() { if (!this._disposed) { if ( ((this._disposed = !0), this._deliveryQueue?.current === this && this._deliveryQueue.reset(), this._listeners) ) { if (K0) { let e = this._listeners queueMicrotask(() => { G0(e, (t) => t.stack?.print()) }) } ;(this._listeners = void 0), (this._size = 0) } this._options?.onDidRemoveLastListener?.(), this._leakageMon?.dispose() } } get event() { return ( (this._event ??= (e, t, n) => { if (this._leakageMon && this._size > this._leakageMon.threshold ** 2) { let l = `[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})` console.warn(l) let d = this._leakageMon.getMostFrequentStack() ?? ["UNKNOWN stack", -1], c = new JT(`${l}. HINT: Stack shows most frequent listener (${d[1]}-times)`, d[0]) return (this._options?.onListenerError || Be)(c), $.None } if (this._disposed) return $.None t && (e = e.bind(t)) let r = new hc(e), i, s this._leakageMon && this._size >= Math.ceil(this._leakageMon.threshold * 0.2) && ((r.stack = Ym.create()), (i = this._leakageMon.check(r.stack, this._size + 1))), K0 && (r.stack = s ?? Ym.create()), this._listeners ? this._listeners instanceof hc ? ((this._deliveryQueue ??= new XT()), (this._listeners = [this._listeners, r])) : this._listeners.push(r) : (this._options?.onWillAddFirstListener?.(this), (this._listeners = r), this._options?.onDidAddFirstListener?.(this)), this._options?.onDidAddListener?.(this), this._size++ let a = q(() => { i?.(), this._removeListener(r) }) return n instanceof Q ? n.add(a) : Array.isArray(n) && n.push(a), a }), this._event ) } _removeListener(e) { if ((this._options?.onWillRemoveListener?.(this), !this._listeners)) return if (this._size === 1) { ;(this._listeners = void 0), this._options?.onDidRemoveLastListener?.(this), (this._size = 0) return } let t = this._listeners, n = t.indexOf(e) if (n === -1) throw ( (console.log("disposed?", this._disposed), console.log("size?", this._size), console.log("arr?", JSON.stringify(this._listeners)), new Error("Attempted to dispose unknown listener")) ) this._size--, (t[n] = void 0) let r = this._deliveryQueue.current === this if (this._size * _H <= t.length) { let i = 0 for (let s = 0; s < t.length; s++) t[s] ? (t[i++] = t[s]) : r && i < this._deliveryQueue.end && (this._deliveryQueue.end--, i < this._deliveryQueue.i && this._deliveryQueue.i--) t.length = i } } _deliver(e, t) { if (!e) return let n = this._options?.onListenerError || Be if (!n) { e.value(t) return } try { e.value(t) } catch (r) { n(r) } } _deliverQueue(e) { let t = e.current._listeners for (; e.i < e.end; ) this._deliver(t[e.i++], e.value) e.reset() } fire(e) { if ( (this._deliveryQueue?.current && (this._deliverQueue(this._deliveryQueue), this._perfMon?.stop()), this._perfMon?.start(this._size), this._listeners) ) if (this._listeners instanceof hc) this._deliver(this._listeners, e) else { let t = this._deliveryQueue t.enqueue(this, e, this._listeners.length), this._deliverQueue(t) } this._perfMon?.stop() } hasListeners() { return this._size > 0 } } var XT = class { constructor() { this.i = -1 this.end = 0 } enqueue(e, t, n) { ;(this.i = 0), (this.end = n), (this.current = e), (this.value = t) } reset() { ;(this.i = this.end), (this.current = void 0), (this.value = void 0) } }, si = class extends E { async fireAsync(e, t, n) { if (this._listeners) for ( this._asyncDeliveryQueue || (this._asyncDeliveryQueue = new ko()), G0(this._listeners, (r) => this._asyncDeliveryQueue.push([r.value, e])); this._asyncDeliveryQueue.size > 0 && !t.isCancellationRequested; ) { let [r, i] = this._asyncDeliveryQueue.shift(), s = [], a = { ...i, token: t, waitUntil: (l) => { if (Object.isFrozen(s)) throw new Error("waitUntil can NOT be called asynchronous") n && (l = n(l, r)), s.push(l) }, } try { r(a) } catch (l) { Be(l) continue } Object.freeze(s), await Promise.allSettled(s).then((l) => { for (let d of l) d.status === "rejected" && Be(d.reason) }) } } }, ai = class extends E { constructor(t) { super(t) this._isPaused = 0 this._eventQueue = new ko() this._mergeFn = t?.merge } get isPaused() { return this._isPaused !== 0 } pause() { this._isPaused++ } resume() { if (this._isPaused !== 0 && --this._isPaused === 0) if (this._mergeFn) { if (this._eventQueue.size > 0) { let t = Array.from(this._eventQueue) this._eventQueue.clear(), super.fire(this._mergeFn(t)) } } else for (; !this._isPaused && this._eventQueue.size !== 0; ) super.fire(this._eventQueue.shift()) } fire(t) { this._size && (this._isPaused !== 0 ? this._eventQueue.push(t) : super.fire(t)) } }, tv = class extends ai { constructor(e) { super(e), (this._delay = e.delay ?? 100) } fire(e) { this._handle || (this.pause(), (this._handle = setTimeout(() => { ;(this._handle = void 0), this.resume() }, this._delay))), super.fire(e) } } var nv = class { constructor() { this.listening = !1 this.inputEvent = Te.None this.inputEventListener = $.None this.emitter = new E({ onDidAddFirstListener: () => { ;(this.listening = !0), (this.inputEventListener = this.inputEvent(this.emitter.fire, this.emitter)) }, onDidRemoveLastListener: () => { ;(this.listening = !1), this.inputEventListener.dispose() }, }) this.event = this.emitter.event } set input(e) { ;(this.inputEvent = e), this.listening && (this.inputEventListener.dispose(), (this.inputEventListener = e(this.emitter.fire, this.emitter))) } dispose() { this.inputEventListener.dispose(), this.emitter.dispose() } } var Q0 = Object.freeze(function (o, e) { let t = setTimeout(o.bind(e), 0) return { dispose() { clearTimeout(t) }, } }), De ;((n) => { function o(r) { return r === n.None || r === n.Cancelled || r instanceof vc ? !0 : !r || typeof r != "object" ? !1 : typeof r.isCancellationRequested == "boolean" && typeof r.onCancellationRequested == "function" } ;(n.isCancellationToken = o), (n.None = Object.freeze({ isCancellationRequested: !1, onCancellationRequested: Te.None })), (n.Cancelled = Object.freeze({ isCancellationRequested: !0, onCancellationRequested: Q0 })) })((De ||= {})) var vc = class { constructor() { this._isCancelled = !1 this._emitter = null } cancel() { this._isCancelled || ((this._isCancelled = !0), this._emitter && (this._emitter.fire(void 0), this.dispose())) } get isCancellationRequested() { return this._isCancelled } get onCancellationRequested() { return this._isCancelled ? Q0 : (this._emitter || (this._emitter = new E()), this._emitter.event) } dispose() { this._emitter && (this._emitter.dispose(), (this._emitter = null)) } }, _e = class { constructor(e) { this._token = void 0 this._parentListener = void 0 this._parentListener = e && e.onCancellationRequested(this.cancel, this) } get token() { return this._token || (this._token = new vc()), this._token } cancel() { this._token ? this._token instanceof vc && this._token.cancel() : (this._token = De.Cancelled) } dispose(e = !1) { e && this.cancel(), this._parentListener?.dispose(), this._token ? this._token instanceof vc && this._token.dispose() : (this._token = De.None) } } function YT() { return globalThis._VSCODE_NLS_MESSAGES } function Zm() { return globalThis._VSCODE_NLS_LANGUAGE } var DH = Zm() === "pseudo" || (typeof document < "u" && document.location && typeof document.location.hash == "string" && document.location.hash.indexOf("pseudo=true") >= 0) function rv(o, e) { let t return ( e.length === 0 ? (t = o) : (t = o.replace(/\{(\d+)\}/g, (n, r) => { let i = r[0], s = e[i], a = n return ( typeof s == "string" ? (a = s) : (typeof s == "number" || typeof s == "boolean" || s === void 0 || s === null) && (a = String(s)), a ) })), DH && (t = "\uFF3B" + t.replace(/[aouei]/g, "$&$&") + "\uFF3D"), t ) } function p(o, e, ...t) { return rv(typeof o == "number" ? J0(o, e) : e, t) } function J0(o, e) { let t = YT()?.[o] if (typeof t != "string") { if (typeof e == "string") return e throw new Error(`!!! NLS MISSING: ${o} !!!`) } return t } function ef(o, e, ...t) { let n typeof o == "number" ? (n = J0(o, e)) : (n = e) let r = rv(n, t) return { value: r, original: e === n ? r : rv(e, t) } } var li = "en", nf = !1, rf = !1, tf = !1, kH = !1, eA = !1, ZT = !1, RH = !1, eE = !1, tA = !1, nA = !1, ov, iv = li, X0 = li, AH, qi, Ki = globalThis, Vr typeof Ki.vscode < "u" && typeof Ki.vscode.process < "u" ? (Vr = Ki.vscode.process) : typeof process < "u" && typeof process?.versions?.node == "string" && (Vr = process) var rA = typeof Vr?.versions?.electron == "string", OH = rA && Vr?.type === "renderer" if (typeof Vr == "object") { ;(nf = Vr.platform === "win32"), (rf = Vr.platform === "darwin"), (tf = Vr.platform === "linux"), (kH = tf && !!Vr.env.SNAP && !!Vr.env.SNAP_REVISION), (RH = rA), (tA = !!Vr.env.CI || !!Vr.env.BUILD_ARTIFACTSTAGINGDIRECTORY), (ov = li), (iv = li) let o = Vr.env.VSCODE_NLS_CONFIG if (o) try { let e = JSON.parse(o) ;(ov = e.userLocale), (X0 = e.osLocale), (iv = e.resolvedLanguage || li), (AH = e.languagePack?.translationsConfigFile) } catch {} eA = !0 } else typeof navigator == "object" && !OH ? ((qi = navigator.userAgent), (nf = qi.indexOf("Windows") >= 0), (rf = qi.indexOf("Macintosh") >= 0), (eE = (qi.indexOf("Macintosh") >= 0 || qi.indexOf("iPad") >= 0 || qi.indexOf("iPhone") >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0), (tf = qi.indexOf("Linux") >= 0), (nA = qi?.indexOf("Mobi") >= 0), (ZT = !0), (iv = Zm() || li), (ov = navigator.language.toLowerCase()), (X0 = ov)) : console.error("Unable to resolve platform.") function tE(o) { switch (o) { case 0: return "Web" case 1: return "Mac" case 2: return "Linux" case 3: return "Windows" } } var sv = 0 rf ? (sv = 1) : nf ? (sv = 3) : tf && (sv = 2) var Ie = nf, st = rf, Ve = tf var av = eA var Ro = ZT, LH = ZT && typeof Ki.importScripts == "function", oA = LH ? Ki.origin : void 0, iA = eE, sA = nA, na = tA, lv = sv, di = qi, ta = iv, MH ;((n) => { function o() { return ta } n.value = o function e() { return ta.length === 2 ? ta === "en" : ta.length >= 3 ? ta[0] === "e" && ta[1] === "n" && ta[2] === "-" : !1 } n.isDefaultVariant = e function t() { return ta === "en" } n.isDefault = t })((MH ||= {})) var FH = typeof Ki.postMessage == "function" && !Ki.importScripts, dv = (() => { if (FH) { let o = [] Ki.addEventListener("message", (t) => { if (t.data && t.data.vscodeScheduleAsyncWork) for (let n = 0, r = o.length; n < r; n++) { let i = o[n] if (i.id === t.data.vscodeScheduleAsyncWork) { o.splice(n, 1), i.callback() return } } }) let e = 0 return (t) => { let n = ++e o.push({ id: n, callback: t }), Ki.postMessage({ vscodeScheduleAsyncWork: n }, "*") } } return (o) => setTimeout(o) })() var wl = rf || eE ? 2 : nf ? 1 : 3, Y0 = !0, Z0 = !1 function cv() { if (!Z0) { Z0 = !0 let o = new Uint8Array(2) ;(o[0] = 1), (o[1] = 2), (Y0 = new Uint16Array(o.buffer)[0] === 513) } return Y0 } var of = !!(di && di.indexOf("Chrome") >= 0), aA = !!(di && di.indexOf("Firefox") >= 0), lA = !!(!of && di && di.indexOf("Safari") >= 0), uv = !!(di && di.indexOf("Edg/") >= 0), i3 = !!(di && di.indexOf("Android") >= 0) var Pl, nE = globalThis.vscode if (typeof nE < "u" && typeof nE.process < "u") { let o = nE.process Pl = { get platform() { return o.platform }, get arch() { return o.arch }, get env() { return o.env }, cwd() { return o.cwd() }, } } else typeof process < "u" && typeof process?.versions?.node == "string" ? (Pl = { get platform() { return process.platform }, get arch() { return process.arch }, get env() { return process.env }, cwd() { return process.env.VSCODE_CWD || process.cwd() }, }) : (Pl = { get platform() { return Ie ? "win32" : st ? "darwin" : "linux" }, get arch() {}, get env() { return {} }, cwd() { return "/" }, }) var Ao = Pl.cwd, Er = Pl.env, rE = Pl.platform, NH = Pl.arch var UH = 65, HH = 97, WH = 90, VH = 122, _l = 46, Un = 47, wr = 92, ji = 58, BH = 63, mv = class extends Error { constructor(e, t, n) { let r typeof t == "string" && t.indexOf("not ") === 0 ? ((r = "must not be"), (t = t.replace(/^not /, ""))) : (r = "must be") let i = e.indexOf(".") !== -1 ? "property" : "argument", s = `The "${e}" ${i} ${r} of type ${t}` ;(s += `. Received type ${typeof n}`), super(s), (this.code = "ERR_INVALID_ARG_TYPE") } } function $H(o, e) { if (o === null || typeof o != "object") throw new mv(e, "Object", o) } function ln(o, e) { if (typeof o != "string") throw new mv(e, "string", o) } var Pr = rE === "win32" function Ge(o) { return o === Un || o === wr } function oE(o) { return o === Un } function Gi(o) { return (o >= UH && o <= WH) || (o >= HH && o <= VH) } function fv(o, e, t, n) { let r = "", i = 0, s = -1, a = 0, l = 0 for (let d = 0; d <= o.length; ++d) { if (d < o.length) l = o.charCodeAt(d) else { if (n(l)) break l = Un } if (n(l)) { if (!(s === d - 1 || a === 1)) if (a === 2) { if ( r.length < 2 || i !== 2 || r.charCodeAt(r.length - 1) !== _l || r.charCodeAt(r.length - 2) !== _l ) { if (r.length > 2) { let c = r.lastIndexOf(t) c === -1 ? ((r = ""), (i = 0)) : ((r = r.slice(0, c)), (i = r.length - 1 - r.lastIndexOf(t))), (s = d), (a = 0) continue } else if (r.length !== 0) { ;(r = ""), (i = 0), (s = d), (a = 0) continue } } e && ((r += r.length > 0 ? `${t}..` : ".."), (i = 2)) } else r.length > 0 ? (r += `${t}${o.slice(s + 1, d)}`) : (r = o.slice(s + 1, d)), (i = d - s - 1) ;(s = d), (a = 0) } else l === _l && a !== -1 ? ++a : (a = -1) } return r } function zH(o) { return o ? `${o[0] === "." ? "" : "."}${o}` : "" } function dA(o, e) { $H(e, "pathObject") let t = e.dir || e.root, n = e.base || `${e.name || ""}${zH(e.ext)}` return t ? (t === e.root ? `${t}${n}` : `${t}${o}${n}`) : n } var qt = { resolve(...o) { let e = "", t = "", n = !1 for (let r = o.length - 1; r >= -1; r--) { let i if (r >= 0) { if (((i = o[r]), ln(i, `paths[${r}]`), i.length === 0)) continue } else e.length === 0 ? (i = Ao()) : ((i = Er[`=${e}`] || Ao()), (i === void 0 || (i.slice(0, 2).toLowerCase() !== e.toLowerCase() && i.charCodeAt(2) === wr)) && (i = `${e}\\`)) let s = i.length, a = 0, l = "", d = !1, c = i.charCodeAt(0) if (s === 1) Ge(c) && ((a = 1), (d = !0)) else if (Ge(c)) if (((d = !0), Ge(i.charCodeAt(1)))) { let u = 2, m = u for (; u < s && !Ge(i.charCodeAt(u)); ) u++ if (u < s && u !== m) { let f = i.slice(m, u) for (m = u; u < s && Ge(i.charCodeAt(u)); ) u++ if (u < s && u !== m) { for (m = u; u < s && !Ge(i.charCodeAt(u)); ) u++ ;(u === s || u !== m) && ((l = `\\\\${f}\\${i.slice(m, u)}`), (a = u)) } } } else a = 1 else Gi(c) && i.charCodeAt(1) === ji && ((l = i.slice(0, 2)), (a = 2), s > 2 && Ge(i.charCodeAt(2)) && ((d = !0), (a = 3))) if (l.length > 0) if (e.length > 0) { if (l.toLowerCase() !== e.toLowerCase()) continue } else e = l if (n) { if (e.length > 0) break } else if (((t = `${i.slice(a)}\\${t}`), (n = d), d && e.length > 0)) break } return (t = fv(t, !n, "\\", Ge)), n ? `${e}\\${t}` : `${e}${t}` || "." }, normalize(o) { ln(o, "path") let e = o.length if (e === 0) return "." let t = 0, n, r = !1, i = o.charCodeAt(0) if (e === 1) return oE(i) ? "\\" : o if (Ge(i)) if (((r = !0), Ge(o.charCodeAt(1)))) { let a = 2, l = a for (; a < e && !Ge(o.charCodeAt(a)); ) a++ if (a < e && a !== l) { let d = o.slice(l, a) for (l = a; a < e && Ge(o.charCodeAt(a)); ) a++ if (a < e && a !== l) { for (l = a; a < e && !Ge(o.charCodeAt(a)); ) a++ if (a === e) return `\\\\${d}\\${o.slice(l)}\\` a !== l && ((n = `\\\\${d}\\${o.slice(l, a)}`), (t = a)) } } } else t = 1 else Gi(i) && o.charCodeAt(1) === ji && ((n = o.slice(0, 2)), (t = 2), e > 2 && Ge(o.charCodeAt(2)) && ((r = !0), (t = 3))) let s = t < e ? fv(o.slice(t), !r, "\\", Ge) : "" if ( (s.length === 0 && !r && (s = "."), s.length > 0 && Ge(o.charCodeAt(e - 1)) && (s += "\\"), !r && n === void 0 && o.includes(":")) ) { if (s.length >= 2 && Gi(s.charCodeAt(0)) && s.charCodeAt(1) === ji) return `.\\${s}` let a = o.indexOf(":") do if (a === e - 1 || Ge(o.charCodeAt(a + 1))) return `.\\${s}` while ((a = o.indexOf(":", a + 1)) !== -1) } return n === void 0 ? (r ? `\\${s}` : s) : r ? `${n}\\${s}` : `${n}${s}` }, isAbsolute(o) { ln(o, "path") let e = o.length if (e === 0) return !1 let t = o.charCodeAt(0) return Ge(t) || (e > 2 && Gi(t) && o.charCodeAt(1) === ji && Ge(o.charCodeAt(2))) }, join(...o) { if (o.length === 0) return "." let e, t for (let i = 0; i < o.length; ++i) { let s = o[i] ln(s, "path"), s.length > 0 && (e === void 0 ? (e = t = s) : (e += `\\${s}`)) } if (e === void 0) return "." let n = !0, r = 0 if (typeof t == "string" && Ge(t.charCodeAt(0))) { ++r let i = t.length i > 1 && Ge(t.charCodeAt(1)) && (++r, i > 2 && (Ge(t.charCodeAt(2)) ? ++r : (n = !1))) } if (n) { for (; r < e.length && Ge(e.charCodeAt(r)); ) r++ r >= 2 && (e = `\\${e.slice(r)}`) } return qt.normalize(e) }, relative(o, e) { if ((ln(o, "from"), ln(e, "to"), o === e)) return "" let t = qt.resolve(o), n = qt.resolve(e) if (t === n || ((o = t.toLowerCase()), (e = n.toLowerCase()), o === e)) return "" if (t.length !== o.length || n.length !== e.length) { let h = t.split("\\"), g = n.split("\\") h[h.length - 1] === "" && h.pop(), g[g.length - 1] === "" && g.pop() let I = h.length, C = g.length, T = I < C ? I : C, w for (w = 0; w < T && h[w].toLowerCase() === g[w].toLowerCase(); w++); return w === 0 ? n : w === T ? C > T ? g.slice(w).join("\\") : I > T ? "..\\".repeat(I - 1 - w) + ".." : "" : "..\\".repeat(I - w) + g.slice(w).join("\\") } let r = 0 for (; r < o.length && o.charCodeAt(r) === wr; ) r++ let i = o.length for (; i - 1 > r && o.charCodeAt(i - 1) === wr; ) i-- let s = i - r, a = 0 for (; a < e.length && e.charCodeAt(a) === wr; ) a++ let l = e.length for (; l - 1 > a && e.charCodeAt(l - 1) === wr; ) l-- let d = l - a, c = s < d ? s : d, u = -1, m = 0 for (; m < c; m++) { let h = o.charCodeAt(r + m) if (h !== e.charCodeAt(a + m)) break h === wr && (u = m) } if (m !== c) { if (u === -1) return n } else { if (d > c) { if (e.charCodeAt(a + m) === wr) return n.slice(a + m + 1) if (m === 2) return n.slice(a + m) } s > c && (o.charCodeAt(r + m) === wr ? (u = m) : m === 2 && (u = 3)), u === -1 && (u = 0) } let f = "" for (m = r + u + 1; m <= i; ++m) (m === i || o.charCodeAt(m) === wr) && (f += f.length === 0 ? ".." : "\\..") return (a += u), f.length > 0 ? `${f}${n.slice(a, l)}` : (n.charCodeAt(a) === wr && ++a, n.slice(a, l)) }, toNamespacedPath(o) { if (typeof o != "string" || o.length === 0) return o let e = qt.resolve(o) if (e.length <= 2) return o if (e.charCodeAt(0) === wr) { if (e.charCodeAt(1) === wr) { let t = e.charCodeAt(2) if (t !== BH && t !== _l) return `\\\\?\\UNC\\${e.slice(2)}` } } else if (Gi(e.charCodeAt(0)) && e.charCodeAt(1) === ji && e.charCodeAt(2) === wr) return `\\\\?\\${e}` return e }, dirname(o) { ln(o, "path") let e = o.length if (e === 0) return "." let t = -1, n = 0, r = o.charCodeAt(0) if (e === 1) return Ge(r) ? o : "." if (Ge(r)) { if (((t = n = 1), Ge(o.charCodeAt(1)))) { let a = 2, l = a for (; a < e && !Ge(o.charCodeAt(a)); ) a++ if (a < e && a !== l) { for (l = a; a < e && Ge(o.charCodeAt(a)); ) a++ if (a < e && a !== l) { for (l = a; a < e && !Ge(o.charCodeAt(a)); ) a++ if (a === e) return o a !== l && (t = n = a + 1) } } } } else Gi(r) && o.charCodeAt(1) === ji && ((t = e > 2 && Ge(o.charCodeAt(2)) ? 3 : 2), (n = t)) let i = -1, s = !0 for (let a = e - 1; a >= n; --a) if (Ge(o.charCodeAt(a))) { if (!s) { i = a break } } else s = !1 if (i === -1) { if (t === -1) return "." i = t } return o.slice(0, i) }, basename(o, e) { e !== void 0 && ln(e, "suffix"), ln(o, "path") let t = 0, n = -1, r = !0, i if ( (o.length >= 2 && Gi(o.charCodeAt(0)) && o.charCodeAt(1) === ji && (t = 2), e !== void 0 && e.length > 0 && e.length <= o.length) ) { if (e === o) return "" let s = e.length - 1, a = -1 for (i = o.length - 1; i >= t; --i) { let l = o.charCodeAt(i) if (Ge(l)) { if (!r) { t = i + 1 break } } else a === -1 && ((r = !1), (a = i + 1)), s >= 0 && (l === e.charCodeAt(s) ? --s === -1 && (n = i) : ((s = -1), (n = a))) } return t === n ? (n = a) : n === -1 && (n = o.length), o.slice(t, n) } for (i = o.length - 1; i >= t; --i) if (Ge(o.charCodeAt(i))) { if (!r) { t = i + 1 break } } else n === -1 && ((r = !1), (n = i + 1)) return n === -1 ? "" : o.slice(t, n) }, extname(o) { ln(o, "path") let e = 0, t = -1, n = 0, r = -1, i = !0, s = 0 o.length >= 2 && o.charCodeAt(1) === ji && Gi(o.charCodeAt(0)) && (e = n = 2) for (let a = o.length - 1; a >= e; --a) { let l = o.charCodeAt(a) if (Ge(l)) { if (!i) { n = a + 1 break } continue } r === -1 && ((i = !1), (r = a + 1)), l === _l ? (t === -1 ? (t = a) : s !== 1 && (s = 1)) : t !== -1 && (s = -1) } return t === -1 || r === -1 || s === 0 || (s === 1 && t === r - 1 && t === n + 1) ? "" : o.slice(t, r) }, format: dA.bind(null, "\\"), parse(o) { ln(o, "path") let e = { root: "", dir: "", base: "", ext: "", name: "" } if (o.length === 0) return e let t = o.length, n = 0, r = o.charCodeAt(0) if (t === 1) return Ge(r) ? ((e.root = e.dir = o), e) : ((e.base = e.name = o), e) if (Ge(r)) { if (((n = 1), Ge(o.charCodeAt(1)))) { let u = 2, m = u for (; u < t && !Ge(o.charCodeAt(u)); ) u++ if (u < t && u !== m) { for (m = u; u < t && Ge(o.charCodeAt(u)); ) u++ if (u < t && u !== m) { for (m = u; u < t && !Ge(o.charCodeAt(u)); ) u++ u === t ? (n = u) : u !== m && (n = u + 1) } } } } else if (Gi(r) && o.charCodeAt(1) === ji) { if (t <= 2) return (e.root = e.dir = o), e if (((n = 2), Ge(o.charCodeAt(2)))) { if (t === 3) return (e.root = e.dir = o), e n = 3 } } n > 0 && (e.root = o.slice(0, n)) let i = -1, s = n, a = -1, l = !0, d = o.length - 1, c = 0 for (; d >= n; --d) { if (((r = o.charCodeAt(d)), Ge(r))) { if (!l) { s = d + 1 break } continue } a === -1 && ((l = !1), (a = d + 1)), r === _l ? (i === -1 ? (i = d) : c !== 1 && (c = 1)) : i !== -1 && (c = -1) } return ( a !== -1 && (i === -1 || c === 0 || (c === 1 && i === a - 1 && i === s + 1) ? (e.base = e.name = o.slice(s, a)) : ((e.name = o.slice(s, i)), (e.base = o.slice(s, a)), (e.ext = o.slice(i, a)))), s > 0 && s !== n ? (e.dir = o.slice(0, s - 1)) : (e.dir = e.root), e ) }, sep: "\\", delimiter: ";", win32: null, posix: null, }, qH = (() => { if (Pr) { let o = /\\/g return () => { let e = Ao().replace(o, "/") return e.slice(e.indexOf("/")) } } return () => Ao() })(), Ue = { resolve(...o) { let e = "", t = !1 for (let n = o.length - 1; n >= 0 && !t; n--) { let r = o[n] ln(r, `paths[${n}]`), r.length !== 0 && ((e = `${r}/${e}`), (t = r.charCodeAt(0) === Un)) } if (!t) { let n = qH() ;(e = `${n}/${e}`), (t = n.charCodeAt(0) === Un) } return (e = fv(e, !t, "/", oE)), t ? `/${e}` : e.length > 0 ? e : "." }, normalize(o) { if ((ln(o, "path"), o.length === 0)) return "." let e = o.charCodeAt(0) === Un, t = o.charCodeAt(o.length - 1) === Un return ( (o = fv(o, !e, "/", oE)), o.length === 0 ? (e ? "/" : t ? "./" : ".") : (t && (o += "/"), e ? `/${o}` : o) ) }, isAbsolute(o) { return ln(o, "path"), o.length > 0 && o.charCodeAt(0) === Un }, join(...o) { if (o.length === 0) return "." let e = [] for (let t = 0; t < o.length; ++t) { let n = o[t] ln(n, "path"), n.length > 0 && e.push(n) } return e.length === 0 ? "." : Ue.normalize(e.join("/")) }, relative(o, e) { if ((ln(o, "from"), ln(e, "to"), o === e || ((o = Ue.resolve(o)), (e = Ue.resolve(e)), o === e))) return "" let t = 1, n = o.length, r = n - t, i = 1, s = e.length - i, a = r < s ? r : s, l = -1, d = 0 for (; d < a; d++) { let u = o.charCodeAt(t + d) if (u !== e.charCodeAt(i + d)) break u === Un && (l = d) } if (d === a) if (s > a) { if (e.charCodeAt(i + d) === Un) return e.slice(i + d + 1) if (d === 0) return e.slice(i + d) } else r > a && (o.charCodeAt(t + d) === Un ? (l = d) : d === 0 && (l = 0)) let c = "" for (d = t + l + 1; d <= n; ++d) (d === n || o.charCodeAt(d) === Un) && (c += c.length === 0 ? ".." : "/..") return `${c}${e.slice(i + l)}` }, toNamespacedPath(o) { return o }, dirname(o) { if ((ln(o, "path"), o.length === 0)) return "." let e = o.charCodeAt(0) === Un, t = -1, n = !0 for (let r = o.length - 1; r >= 1; --r) if (o.charCodeAt(r) === Un) { if (!n) { t = r break } } else n = !1 return t === -1 ? (e ? "/" : ".") : e && t === 1 ? "//" : o.slice(0, t) }, basename(o, e) { e !== void 0 && ln(e, "suffix"), ln(o, "path") let t = 0, n = -1, r = !0, i if (e !== void 0 && e.length > 0 && e.length <= o.length) { if (e === o) return "" let s = e.length - 1, a = -1 for (i = o.length - 1; i >= 0; --i) { let l = o.charCodeAt(i) if (l === Un) { if (!r) { t = i + 1 break } } else a === -1 && ((r = !1), (a = i + 1)), s >= 0 && (l === e.charCodeAt(s) ? --s === -1 && (n = i) : ((s = -1), (n = a))) } return t === n ? (n = a) : n === -1 && (n = o.length), o.slice(t, n) } for (i = o.length - 1; i >= 0; --i) if (o.charCodeAt(i) === Un) { if (!r) { t = i + 1 break } } else n === -1 && ((r = !1), (n = i + 1)) return n === -1 ? "" : o.slice(t, n) }, extname(o) { ln(o, "path") let e = -1, t = 0, n = -1, r = !0, i = 0 for (let s = o.length - 1; s >= 0; --s) { let a = o[s] if (a === "/") { if (!r) { t = s + 1 break } continue } n === -1 && ((r = !1), (n = s + 1)), a === "." ? (e === -1 ? (e = s) : i !== 1 && (i = 1)) : e !== -1 && (i = -1) } return e === -1 || n === -1 || i === 0 || (i === 1 && e === n - 1 && e === t + 1) ? "" : o.slice(e, n) }, format: dA.bind(null, "/"), parse(o) { ln(o, "path") let e = { root: "", dir: "", base: "", ext: "", name: "" } if (o.length === 0) return e let t = o.charCodeAt(0) === Un, n t ? ((e.root = "/"), (n = 1)) : (n = 0) let r = -1, i = 0, s = -1, a = !0, l = o.length - 1, d = 0 for (; l >= n; --l) { let c = o.charCodeAt(l) if (c === Un) { if (!a) { i = l + 1 break } continue } s === -1 && ((a = !1), (s = l + 1)), c === _l ? (r === -1 ? (r = l) : d !== 1 && (d = 1)) : r !== -1 && (d = -1) } if (s !== -1) { let c = i === 0 && t ? 1 : i r === -1 || d === 0 || (d === 1 && r === s - 1 && r === i + 1) ? (e.base = e.name = o.slice(c, s)) : ((e.name = o.slice(c, r)), (e.base = o.slice(c, s)), (e.ext = o.slice(r, s))) } return i > 0 ? (e.dir = o.slice(0, i - 1)) : t && (e.dir = "/"), e }, sep: "/", delimiter: ":", win32: null, posix: null, } Ue.win32 = qt.win32 = qt Ue.posix = qt.posix = Ue var jn = Pr ? qt.normalize : Ue.normalize, In = Pr ? qt.isAbsolute : Ue.isAbsolute, Fe = Pr ? qt.join : Ue.join, cA = Pr ? qt.resolve : Ue.resolve, Oo = Pr ? qt.relative : Ue.relative, Qt = Pr ? qt.dirname : Ue.dirname, Ze = Pr ? qt.basename : Ue.basename, ra = Pr ? qt.extname : Ue.extname, l3 = Pr ? qt.format : Ue.format, d3 = Pr ? qt.parse : Ue.parse, c3 = Pr ? qt.toNamespacedPath : Ue.toNamespacedPath, at = Pr ? qt.sep : Ue.sep, gv = Pr ? qt.delimiter : Ue.delimiter function KH(o) { return o } var hv = class { constructor(e, t) { this.lastCache = void 0 this.lastArgKey = void 0 typeof e == "function" ? ((this._fn = e), (this._computeKey = KH)) : ((this._fn = t), (this._computeKey = e.getCacheKey)) } get(e) { let t = this._computeKey(e) return this.lastArgKey !== t && ((this.lastArgKey = t), (this.lastCache = this._fn(e))), this.lastCache } } var Rt = class { constructor(e) { this.executor = e this._didRun = !1 } get hasValue() { return this._didRun } get value() { if (!this._didRun) try { this._value = this.executor() } catch (e) { this._error = e } finally { this._didRun = !0 } if (this._error) throw this._error return this._value } get rawValue() { return this._value } } function iE(o) { return o < 0 ? 0 : o > 255 ? 255 : o | 0 } function Dl(o) { return o < 0 ? 0 : o > 4294967295 ? 4294967295 : o | 0 } function Qi(o) { return !o || typeof o != "string" ? !0 : o.trim().length === 0 } var GH = /{([^}]+)}/g function dE(o, e) { return Object.keys(e).length === 0 ? o : o.replace(GH, (t, n) => e[n] ?? t) } function _r(o) { return o.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g, "\\$&") } function gA(o, e) { let t = 0, n = o.indexOf(e) for (; n !== -1; ) t++, (n = o.indexOf(e, n + e.length)) return t } function cE(o, e) { if (!o || !e) return o let t = e.length if (t === 0 || o.length === 0) return o let n = 0 for (; o.indexOf(e, n) === n; ) n = n + t return o.substring(n) } function Dr(o, e) { if (!o || !e) return o let t = e.length, n = o.length if (t === 0 || n === 0) return o let r = n, i = -1 for (; (i = o.lastIndexOf(e, r - 1)), !(i === -1 || i + t !== r); ) { if (i === 0) return "" r = i } return o.substring(0, r) } function hA(o) { return o.replace(/\*/g, "") } function bv(o, e, t = {}) { if (!o) throw new Error("Cannot create regex from empty string") e || (o = _r(o)), t.wholeWord && (/\B/.test(o.charAt(0)) || (o = "\\b" + o), /\B/.test(o.charAt(o.length - 1)) || (o = o + "\\b")) let n = "" return ( t.global && (n += "g"), t.matchCase || (n += "i"), t.multiline && (n += "m"), t.unicode && (n += "u"), new RegExp(o, n) ) } function yv(o) { return o.source === "^" || o.source === "^$" || o.source === "$" || o.source === "^\\s*$" ? !1 : !!(o.exec("") && o.lastIndex === 0) } function Iv(o) { return o.split(/\r\n|\r|\n/) } function xv(o) { for (let e = 0, t = o.length; e < t; e++) { let n = o.charCodeAt(e) if (n !== 32 && n !== 9) return e } return -1 } function vA(o, e = o.length - 1) { for (let t = e; t >= 0; t--) { let n = o.charCodeAt(t) if (n !== 32 && n !== 9) return t } return -1 } function Lo(o, e) { return o < e ? -1 : o > e ? 1 : 0 } function Cv(o, e, t = 0, n = o.length, r = 0, i = e.length) { for (; t < n && r < i; t++, r++) { let l = o.charCodeAt(t), d = e.charCodeAt(r) if (l < d) return -1 if (l > d) return 1 } let s = n - t, a = i - r return s < a ? -1 : s > a ? 1 : 0 } function Sv(o, e) { return bc(o, e, 0, o.length, 0, e.length) } function bc(o, e, t = 0, n = o.length, r = 0, i = e.length) { for (; t < n && r < i; t++, r++) { let l = o.charCodeAt(t), d = e.charCodeAt(r) if (l === d) continue if (l >= 128 || d >= 128) return Cv(o.toLowerCase(), e.toLowerCase(), t, n, r, i) uA(l) && (l -= 32), uA(d) && (d -= 32) let c = l - d if (c !== 0) return c } let s = n - t, a = i - r return s < a ? -1 : s > a ? 1 : 0 } function uA(o) { return o >= 97 && o <= 122 } function uE(o) { return o >= 65 && o <= 90 } function xn(o, e) { return o.length === e.length && bc(o, e) === 0 } function Ji(o, e) { let t = e.length return e.length > o.length ? !1 : bc(o, e, 0, t) === 0 } function bA(o, e) { let t = Math.min(o.length, e.length), n for (n = 0; n < t; n++) if (o.charCodeAt(n) !== e.charCodeAt(n)) return n return t } function kl(o) { return 55296 <= o && o <= 56319 } function sf(o) { return 56320 <= o && o <= 57343 } function Tv(o, e) { return ((o - 55296) << 10) + (e - 56320) + 65536 } function pE(o, e, t) { let n = o.charCodeAt(t) if (kl(n) && t + 1 < e) { let r = o.charCodeAt(t + 1) if (sf(r)) return Tv(n, r) } return n } function QH(o, e) { let t = o.charCodeAt(e - 1) if (sf(t) && e > 1) { let n = o.charCodeAt(e - 2) if (kl(n)) return Tv(n, t) } return t } var aE = class { get offset() { return this._offset } constructor(e, t = 0) { ;(this._str = e), (this._len = e.length), (this._offset = t) } setOffset(e) { this._offset = e } prevCodePoint() { let e = QH(this._str, this._offset) return (this._offset -= e >= 65536 ? 2 : 1), e } nextCodePoint() { let e = pE(this._str, this._len, this._offset) return (this._offset += e >= 65536 ? 2 : 1), e } eol() { return this._offset >= this._len } }, lE = class { get offset() { return this._iterator.offset } constructor(e, t = 0) { this._iterator = new aE(e, t) } nextGraphemeLength() { let e = vv.getInstance(), t = this._iterator, n = t.offset, r = e.getGraphemeBreakType(t.nextCodePoint()) for (; !t.eol(); ) { let i = t.offset, s = e.getGraphemeBreakType(t.nextCodePoint()) if (pA(r, s)) { t.setOffset(i) break } r = s } return t.offset - n } prevGraphemeLength() { let e = vv.getInstance(), t = this._iterator, n = t.offset, r = e.getGraphemeBreakType(t.prevCodePoint()) for (; t.offset > 0; ) { let i = t.offset, s = e.getGraphemeBreakType(t.prevCodePoint()) if (pA(s, r)) { t.setOffset(i) break } r = s } return n - t.offset } eol() { return this._iterator.eol() } } function mE(o, e) { return new lE(o, e).nextGraphemeLength() } var sE function JH() { return /(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/ } function Ev(o) { return sE || (sE = JH()), sE.test(o) } var XH = /^[\t\n\r\x20-\x7E]*$/ function yA(o) { return XH.test(o) } var YH = /[\u2028\u2029]/ function wv(o) { return YH.test(o) } var ZH = /(?:\x1b\[|\x9b)[=?>!]?[\d;:]*["$#'* ]?[a-zA-Z@^`{}|~]/, e4 = /(?:\x1b\]|\x9d).*?(?:\x1b\\|\x07|\x9c)/, t4 = /\x1b(?:[ #%\(\)\*\+\-\.\/]?[a-zA-Z0-9\|}~@])/, I3 = new RegExp("(?:" + [ZH.source, e4.source, t4.source].join("|") + ")", "g") var IA = String.fromCharCode(65279) function xA(o) { return !!(o && o.length > 0 && o.charCodeAt(0) === 65279) } function CA(o, e) { if (!o || !e || o.length < e.length) return !1 let t = e.length, n = o.toLowerCase(), r = 0, i = -1 for (; r < t; ) { let s = n.indexOf(e[r], i + 1) if (s < 0) return !1 ;(i = s), r++ } return !0 } function fE(o, e = !1) { return o ? (e && (o = o.replace(/\\./g, "")), o.toLowerCase() !== o) : !1 } function SA(o) { return o.charAt(0).toUpperCase() + o.slice(1) } function TA(o, e = 1) { if (e === 0) return "" let t = -1 do (t = o.indexOf( ` `, t + 1, )), e-- while (e > 0 && t >= 0) return t === -1 ? o : (o[t - 1] === "\r" && t--, o.substr(0, t)) } function pA(o, e) { return o === 0 ? e !== 5 && e !== 7 : o === 2 && e === 3 ? !1 : o === 4 || o === 2 || o === 3 || e === 4 || e === 2 || e === 3 ? !0 : !( (o === 8 && (e === 8 || e === 9 || e === 11 || e === 12)) || ((o === 11 || o === 9) && (e === 9 || e === 10)) || ((o === 12 || o === 10) && e === 10) || e === 5 || e === 13 || e === 7 || o === 1 || (o === 13 && e === 14) || (o === 6 && e === 6) ) } var vv = class o { static { this._INSTANCE = null } static getInstance() { return o._INSTANCE || (o._INSTANCE = new o()), o._INSTANCE } constructor() { this._data = n4() } getGraphemeBreakType(e) { if (e < 32) return e === 10 ? 3 : e === 13 ? 2 : 4 if (e < 127) return 0 let t = this._data, n = t.length / 3, r = 1 for (; r <= n; ) if (e < t[3 * r]) r = 2 * r else if (e > t[3 * r + 1]) r = 2 * r + 1 else return t[3 * r + 2] return 0 } } function n4() { return JSON.parse( "[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]", ) } var mA = class o { constructor(e) { this.confusableDictionary = e } static { this.ambiguousCharacterData = new Rt(() => JSON.parse( '{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,1523,96,8242,96,1370,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,118002,50,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,118003,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,118004,52,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,118005,53,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,118006,54,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,118007,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,118008,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,118009,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,117974,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,117975,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71913,67,71922,67,65315,67,8557,67,8450,67,8493,67,117976,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,117977,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,117978,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,117979,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,117980,71,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,117981,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,117983,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,117984,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,118001,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,117982,108,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,117985,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,117986,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,117987,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,118000,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,117988,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,117989,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,117990,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,117991,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,117992,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,117993,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,117994,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,117995,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71910,87,71919,87,117996,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,117997,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,117998,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,71909,90,66293,90,65338,90,8484,90,8488,90,117999,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65283,35,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"cs":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"es":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"fr":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"it":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ja":[8211,45,8218,44,65281,33,8216,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65292,44,65297,49,65307,59],"ko":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pt-BR":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ru":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"zh-hans":[160,32,65374,126,8218,44,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65297,49],"zh-hant":[8211,45,65374,126,8218,44,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89]}', ), ) } static { this.cache = new hv({ getCacheKey: JSON.stringify }, (e) => { function t(c) { let u = new Map() for (let m = 0; m < c.length; m += 2) u.set(c[m], c[m + 1]) return u } function n(c, u) { let m = new Map(c) for (let [f, h] of u) m.set(f, h) return m } function r(c, u) { if (!c) return u let m = new Map() for (let [f, h] of c) u.has(f) && m.set(f, h) return m } let i = this.ambiguousCharacterData.value, s = e.filter((c) => !c.startsWith("_") && c in i) s.length === 0 && (s = ["_default"]) let a for (let c of s) { let u = t(i[c]) a = r(a, u) } let l = t(i._common), d = n(l, a) return new o(d) }) } static getInstance(e) { return o.cache.get(Array.from(e)) } static { this._locales = new Rt(() => Object.keys(o.ambiguousCharacterData.value).filter((e) => !e.startsWith("_"))) } static getLocales() { return o._locales.value } isAmbiguous(e) { return this.confusableDictionary.has(e) } containsAmbiguousCharacter(e) { for (let t = 0; t < e.length; t++) { let n = e.codePointAt(t) if (typeof n == "number" && this.isAmbiguous(n)) return !0 } return !1 } getPrimaryConfusable(e) { return this.confusableDictionary.get(e) } getConfusableCodePoints() { return new Set(this.confusableDictionary.keys()) } }, fA = class o { static getRawData() { return JSON.parse( '{"_common":[11,12,13,127,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999],"cs":[173,8203,12288],"de":[173,8203,12288],"es":[8203,12288],"fr":[173,8203,12288],"it":[160,173,12288],"ja":[173],"ko":[173,12288],"pl":[173,8203,12288],"pt-BR":[173,8203,12288],"qps-ploc":[160,173,8203,12288],"ru":[173,12288],"tr":[160,173,8203,12288],"zh-hans":[160,173,8203,12288],"zh-hant":[173,12288]}', ) } static { this._data = void 0 } static getData() { return this._data || (this._data = new Set([...Object.values(o.getRawData())].flat())), this._data } static isInvisibleCharacter(e) { return o.getData().has(e) } static containsInvisibleCharacter(e) { for (let t = 0; t < e.length; t++) { let n = e.codePointAt(t) if (typeof n == "number" && (o.isInvisibleCharacter(n) || n === 32)) return !0 } return !1 } static get codePoints() { return o.getData() } } function oa(o) { return o === 47 || o === 92 } function Pv(o) { return o.replace(/[\\/]/g, Ue.sep) } function EA(o) { return o.indexOf("/") === -1 && (o = Pv(o)), /^[a-zA-Z]:(\/|$)/.test(o) && (o = "/" + o), o } function af(o, e = Ue.sep) { if (!o) return "" let t = o.length, n = o.charCodeAt(0) if (oa(n)) { if (oa(o.charCodeAt(1)) && !oa(o.charCodeAt(2))) { let i = 3, s = i for (; i < t && !oa(o.charCodeAt(i)); i++); if (s !== i && !oa(o.charCodeAt(i + 1))) { for (i += 1; i < t; i++) if (oa(o.charCodeAt(i))) return o.slice(0, i + 1).replace(/[\\/]/g, e) } } return e } else if (PA(n) && o.charCodeAt(1) === 58) return oa(o.charCodeAt(2)) ? o.slice(0, 2) + e : o.slice(0, 2) let r = o.indexOf("://") if (r !== -1) { for (r += 3; r < t; r++) if (oa(o.charCodeAt(r))) return o.slice(0, r + 1) } return "" } var r4 = /[\\/:\*\?"<>\|]/g, o4 = /[/]/g, i4 = /^(con|prn|aux|clock\$|nul|lpt[0-9]|com[0-9])(\.(.*?))?$/i function wA(o, e = Ie) { let t = e ? r4 : o4 return !( !o || o.length === 0 || /^\s+$/.test(o) || ((t.lastIndex = 0), t.test(o)) || (e && i4.test(o)) || o === "." || o === ".." || (e && o[o.length - 1] === ".") || (e && o.length !== o.trim().length) || o.length > 255 ) } function yc(o, e, t) { let n = o === e return !t || n ? n : !o || !e ? !1 : xn(o, e) } function zr(o, e, t, n = at) { if (o === e) return !0 if (!o || !e || e.length > o.length) return !1 if (t) { if (!Ji(o, e)) return !1 if (e.length === o.length) return !0 let i = e.length return e.charAt(e.length - 1) === n && i--, o.charAt(i) === n } return e.charAt(e.length - 1) !== n && (e += n), o.indexOf(e) === 0 } function PA(o) { return (o >= 65 && o <= 90) || (o >= 97 && o <= 122) } function _A(o) { return Ie ? ((o = Dr(o, at)), o.endsWith(":") && (o += at)) : ((o = Dr(o, at)), o || (o = at)), o } function gE(o) { let e = jn(o) return Ie ? (o.length > 3 ? !1 : _v(e) && (o.length === 2 || e.charCodeAt(2) === 92)) : e === Ue.sep } function _v(o, e = Ie) { return e ? PA(o.charCodeAt(0)) && o.charCodeAt(1) === 58 : !1 } function hE(o, e = Ie) { return _v(o, e) ? o[0] : void 0 } var s4 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", a4 = "BDEFGHIJKMOQRSTUVWXYZbdefghijkmoqrstuvwxyz0123456789" function DA(o, e, t = 8) { let n = "" for (let i = 0; i < t; i++) { let s i === 0 && Ie && !e && (t === 3 || t === 4) ? (s = a4) : (s = s4), (n += s.charAt(Math.floor(Math.random() * s.length))) } let r return e ? (r = `${e}-${n}`) : (r = n), o ? Fe(o, r) : r } var l4 = /^\w[\w\d+.-]*$/, d4 = /^\//, c4 = /^\/\// function u4(o, e) { if (!o.scheme && e) throw new Error( `[UriError]: Scheme is missing: {scheme: "", authority: "${o.authority}", path: "${o.path}", query: "${o.query}", fragment: "${o.fragment}"}`, ) if (o.scheme && !l4.test(o.scheme)) throw new Error("[UriError]: Scheme contains illegal characters.") if (o.path) { if (o.authority) { if (!d4.test(o.path)) throw new Error( '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character', ) } else if (c4.test(o.path)) throw new Error( '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")', ) } } function p4(o, e) { return !o && !e ? "file" : o } function m4(o, e) { switch (o) { case "https": case "http": case "file": e ? e[0] !== Mo && (e = Mo + e) : (e = Mo) break } return e } var Ot = "", Mo = "/", f4 = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/, y = class o { static isUri(e) { return e instanceof o ? !0 : e ? typeof e.authority == "string" && typeof e.fragment == "string" && typeof e.path == "string" && typeof e.query == "string" && typeof e.scheme == "string" && typeof e.fsPath == "string" && typeof e.with == "function" && typeof e.toString == "function" : !1 } constructor(e, t, n, r, i, s = !1) { typeof e == "object" ? ((this.scheme = e.scheme || Ot), (this.authority = e.authority || Ot), (this.path = e.path || Ot), (this.query = e.query || Ot), (this.fragment = e.fragment || Ot)) : ((this.scheme = p4(e, s)), (this.authority = t || Ot), (this.path = m4(this.scheme, n || Ot)), (this.query = r || Ot), (this.fragment = i || Ot), u4(this, s)) } get fsPath() { return lf(this, !1) } with(e) { if (!e) return this let { scheme: t, authority: n, path: r, query: i, fragment: s } = e return ( t === void 0 ? (t = this.scheme) : t === null && (t = Ot), n === void 0 ? (n = this.authority) : n === null && (n = Ot), r === void 0 ? (r = this.path) : r === null && (r = Ot), i === void 0 ? (i = this.query) : i === null && (i = Ot), s === void 0 ? (s = this.fragment) : s === null && (s = Ot), t === this.scheme && n === this.authority && r === this.path && i === this.query && s === this.fragment ? this : new ia(t, n, r, i, s) ) } static parse(e, t = !1) { let n = f4.exec(e) return n ? new ia(n[2] || Ot, Dv(n[4] || Ot), Dv(n[5] || Ot), Dv(n[7] || Ot), Dv(n[9] || Ot), t) : new ia(Ot, Ot, Ot, Ot, Ot) } static file(e) { let t = Ot if ((Ie && (e = e.replace(/\\/g, Mo)), e[0] === Mo && e[1] === Mo)) { let n = e.indexOf(Mo, 2) n === -1 ? ((t = e.substring(2)), (e = Mo)) : ((t = e.substring(2, n)), (e = e.substring(n) || Mo)) } return new ia("file", t, e, Ot, Ot) } static from(e, t) { return new ia(e.scheme, e.authority, e.path, e.query, e.fragment, t) } static joinPath(e, ...t) { if (!e.path) throw new Error("[UriError]: cannot call joinPath on URI without path") let n return ( Ie && e.scheme === "file" ? (n = o.file(qt.join(lf(e, !0), ...t)).path) : (n = Ue.join(e.path, ...t)), e.with({ path: n }) ) } toString(e = !1) { return bE(this, e) } toJSON() { return this } static revive(e) { if (e) { if (e instanceof o) return e { let t = new ia(e) return ( (t._formatted = e.external ?? null), (t._fsPath = e._sep === AA ? (e.fsPath ?? null) : null), t ) } } else return e } [Symbol.for("debug.description")]() { return `URI(${this.toString()})` } } function df(o) { return !o || typeof o != "object" ? !1 : typeof o.scheme == "string" && (typeof o.authority == "string" || typeof o.authority > "u") && (typeof o.path == "string" || typeof o.path > "u") && (typeof o.query == "string" || typeof o.query > "u") && (typeof o.fragment == "string" || typeof o.fragment > "u") } var AA = Ie ? 1 : void 0, ia = class extends y { constructor() { super(...arguments) this._formatted = null this._fsPath = null } get fsPath() { return this._fsPath || (this._fsPath = lf(this, !1)), this._fsPath } toString(t = !1) { return t ? bE(this, !0) : (this._formatted || (this._formatted = bE(this, !1)), this._formatted) } toJSON() { let t = { $mid: 1 } return ( this._fsPath && ((t.fsPath = this._fsPath), (t._sep = AA)), this._formatted && (t.external = this._formatted), this.path && (t.path = this.path), this.scheme && (t.scheme = this.scheme), this.authority && (t.authority = this.authority), this.query && (t.query = this.query), this.fragment && (t.fragment = this.fragment), t ) } }, OA = { 58: "%3A", 47: "%2F", 63: "%3F", 35: "%23", 91: "%5B", 93: "%5D", 64: "%40", 33: "%21", 36: "%24", 38: "%26", 39: "%27", 40: "%28", 41: "%29", 42: "%2A", 43: "%2B", 44: "%2C", 59: "%3B", 61: "%3D", 32: "%20", } function kA(o, e, t) { let n, r = -1 for (let i = 0; i < o.length; i++) { let s = o.charCodeAt(i) if ( (s >= 97 && s <= 122) || (s >= 65 && s <= 90) || (s >= 48 && s <= 57) || s === 45 || s === 46 || s === 95 || s === 126 || (e && s === 47) || (t && s === 91) || (t && s === 93) || (t && s === 58) ) r !== -1 && ((n += encodeURIComponent(o.substring(r, i))), (r = -1)), n !== void 0 && (n += o.charAt(i)) else { n === void 0 && (n = o.substr(0, i)) let a = OA[s] a !== void 0 ? (r !== -1 && ((n += encodeURIComponent(o.substring(r, i))), (r = -1)), (n += a)) : r === -1 && (r = i) } } return r !== -1 && (n += encodeURIComponent(o.substring(r))), n !== void 0 ? n : o } function g4(o) { let e for (let t = 0; t < o.length; t++) { let n = o.charCodeAt(t) n === 35 || n === 63 ? (e === void 0 && (e = o.substr(0, t)), (e += OA[n])) : e !== void 0 && (e += o[t]) } return e !== void 0 ? e : o } function lf(o, e) { let t return ( o.authority && o.path.length > 1 && o.scheme === "file" ? (t = `//${o.authority}${o.path}`) : o.path.charCodeAt(0) === 47 && ((o.path.charCodeAt(1) >= 65 && o.path.charCodeAt(1) <= 90) || (o.path.charCodeAt(1) >= 97 && o.path.charCodeAt(1) <= 122)) && o.path.charCodeAt(2) === 58 ? e ? (t = o.path.substr(1)) : (t = o.path[1].toLowerCase() + o.path.substr(2)) : (t = o.path), Ie && (t = t.replace(/\//g, "\\")), t ) } function bE(o, e) { let t = e ? g4 : kA, n = "", { scheme: r, authority: i, path: s, query: a, fragment: l } = o if ((r && ((n += r), (n += ":")), (i || r === "file") && ((n += Mo), (n += Mo)), i)) { let d = i.indexOf("@") if (d !== -1) { let c = i.substr(0, d) ;(i = i.substr(d + 1)), (d = c.lastIndexOf(":")), d === -1 ? (n += t(c, !1, !1)) : ((n += t(c.substr(0, d), !1, !1)), (n += ":"), (n += t(c.substr(d + 1), !1, !0))), (n += "@") } ;(i = i.toLowerCase()), (d = i.lastIndexOf(":")), d === -1 ? (n += t(i, !1, !0)) : ((n += t(i.substr(0, d), !1, !0)), (n += i.substr(d))) } if (s) { if (s.length >= 3 && s.charCodeAt(0) === 47 && s.charCodeAt(2) === 58) { let d = s.charCodeAt(1) d >= 65 && d <= 90 && (s = `/${String.fromCharCode(d + 32)}:${s.substr(3)}`) } else if (s.length >= 2 && s.charCodeAt(1) === 58) { let d = s.charCodeAt(0) d >= 65 && d <= 90 && (s = `${String.fromCharCode(d + 32)}:${s.substr(2)}`) } n += t(s, !0, !1) } return a && ((n += "?"), (n += t(a, !1, !1))), l && ((n += "#"), (n += e ? l : kA(l, !1, !1))), n } function LA(o) { try { return decodeURIComponent(o) } catch { return o.length > 3 ? o.substr(0, 3) + LA(o.substr(3)) : o } } var RA = /(%[0-9A-Za-z][0-9A-Za-z])+/g function Dv(o) { return o.match(RA) ? o.replace(RA, (e) => LA(e)) : o } var W ;((Se) => ( (Se.inMemory = "inmemory"), (Se.vscode = "vscode"), (Se.internal = "private"), (Se.walkThrough = "walkThrough"), (Se.walkThroughSnippet = "walkThroughSnippet"), (Se.http = "http"), (Se.https = "https"), (Se.file = "file"), (Se.mailto = "mailto"), (Se.untitled = "untitled"), (Se.data = "data"), (Se.command = "command"), (Se.vscodeRemote = "vscode-remote"), (Se.vscodeRemoteResource = "vscode-remote-resource"), (Se.vscodeManagedRemoteResource = "vscode-managed-remote-resource"), (Se.vscodeUserData = "vscode-userdata"), (Se.vscodeCustomEditor = "vscode-custom-editor"), (Se.vscodeNotebookCell = "vscode-notebook-cell"), (Se.vscodeNotebookCellMetadata = "vscode-notebook-cell-metadata"), (Se.vscodeNotebookCellMetadataDiff = "vscode-notebook-cell-metadata-diff"), (Se.vscodeNotebookCellOutput = "vscode-notebook-cell-output"), (Se.vscodeNotebookCellOutputDiff = "vscode-notebook-cell-output-diff"), (Se.vscodeNotebookMetadata = "vscode-notebook-metadata"), (Se.vscodeInteractiveInput = "vscode-interactive-input"), (Se.vscodeSettings = "vscode-settings"), (Se.vscodeWorkspaceTrust = "vscode-workspace-trust"), (Se.vscodeTerminal = "vscode-terminal"), (Se.vscodeChatCodeBlock = "vscode-chat-code-block"), (Se.vscodeChatCodeCompareBlock = "vscode-chat-code-compare-block"), (Se.vscodeChatSesssion = "vscode-chat-editor"), (Se.webviewPanel = "webview-panel"), (Se.vscodeWebview = "vscode-webview"), (Se.extension = "extension"), (Se.vscodeFileResource = "vscode-file"), (Se.tmp = "tmp"), (Se.vsls = "vsls"), (Se.vscodeSourceControl = "vscode-scm"), (Se.commentsInput = "comment"), (Se.codeSetting = "code-setting"), (Se.outputChannel = "output"), (Se.accessibleView = "accessible-view") ))((W ||= {})) function kv(o, e) { return y.isUri(o) ? xn(o.scheme, e) : Ji(o, e + ":") } function MA(o, ...e) { return e.some((t) => kv(o, t)) } var h4 = "tkn", yE = class { constructor() { this._hosts = Object.create(null) this._ports = Object.create(null) this._connectionTokens = Object.create(null) this._preferredWebSchema = "http" this._delegate = null this._serverRootPath = "/" } setPreferredWebSchema(e) { this._preferredWebSchema = e } setDelegate(e) { this._delegate = e } setServerRootPath(e, t) { this._serverRootPath = Ue.join(t ?? "/", v4(e)) } getServerRootPath() { return this._serverRootPath } get _remoteResourcesPath() { return Ue.join(this._serverRootPath, W.vscodeRemoteResource) } set(e, t, n) { ;(this._hosts[e] = t), (this._ports[e] = n) } setConnectionToken(e, t) { this._connectionTokens[e] = t } getPreferredWebSchema() { return this._preferredWebSchema } rewrite(e) { if (this._delegate) try { return this._delegate(e) } catch (a) { return Be(a), e } let t = e.authority, n = this._hosts[t] n && n.indexOf(":") !== -1 && n.indexOf("[") === -1 && (n = `[${n}]`) let r = this._ports[t], i = this._connectionTokens[t], s = `path=${encodeURIComponent(e.path)}` return ( typeof i == "string" && (s += `&${h4}=${encodeURIComponent(i)}`), y.from({ scheme: Ro ? this._preferredWebSchema : W.vscodeRemoteResource, authority: `${n}:${r}`, path: this._remoteResourcesPath, query: s, }) ) } }, xE = new yE() function v4(o) { return `${o.quality ?? "oss"}-${o.commit ?? "dev"}` } var FA = "vs/../../node_modules", NA = "vs/../../node_modules.asar" var CE = "vscode-app", IE = class o { static { this.FALLBACK_AUTHORITY = CE } asBrowserUri(e) { let t = this.toUri(e) return this.uriToBrowserUri(t) } uriToBrowserUri(e) { return e.scheme === W.vscodeRemote ? xE.rewrite(e) : e.scheme === W.file && (av || oA === `${W.vscodeFileResource}://${o.FALLBACK_AUTHORITY}`) ? e.with({ scheme: W.vscodeFileResource, authority: e.authority || o.FALLBACK_AUTHORITY, query: null, fragment: null, }) : e } asFileUri(e) { let t = this.toUri(e) return this.uriToFileUri(t) } uriToFileUri(e) { return e.scheme === W.vscodeFileResource ? e.with({ scheme: W.file, authority: e.authority !== o.FALLBACK_AUTHORITY ? e.authority : null, query: null, fragment: null, }) : e } toUri(e) { if (y.isUri(e)) return e if (globalThis._VSCODE_FILE_ROOT) { let t = globalThis._VSCODE_FILE_ROOT if (/^\w[\w\d+.-]*:\/\//.test(t)) return y.joinPath(y.parse(t, !0), e) let n = Fe(t, e) return y.file(n) } throw new Error("Cannot determine URI for module id!") } }, Ic = new IE(), O3 = Object.freeze({ "Cache-Control": "no-cache, no-store" }), L3 = Object.freeze({ "Document-Policy": "include-js-call-stacks-in-crash-reports" }), b4 ;((i) => { let o = new Map([ ["1", { "Cross-Origin-Opener-Policy": "same-origin" }], ["2", { "Cross-Origin-Embedder-Policy": "require-corp" }], ["3", { "Cross-Origin-Opener-Policy": "same-origin", "Cross-Origin-Embedder-Policy": "require-corp" }], ]) i.CoopAndCoep = Object.freeze(o.get("3")) let t = "vscode-coi" function n(s) { let a typeof s == "string" ? (a = new URL(s).searchParams) : s instanceof URL ? (a = s.searchParams) : y.isUri(s) && (a = new URL(s.toString(!0)).searchParams) let l = a?.get(t) if (l) return o.get(l) } i.getHeadersFromQuery = n function r(s, a, l) { if (!globalThis.crossOriginIsolated) return let d = a && l ? "3" : l ? "2" : "1" s instanceof URLSearchParams ? s.set(t, d) : (s[t] = d) } i.addSearchParam = r })((b4 ||= {})) function oo(o) { return lf(o, !0) } var Xi = class { constructor(e) { this._ignorePathCasing = e } compare(e, t, n = !1) { return e === t ? 0 : Lo(this.getComparisonKey(e, n), this.getComparisonKey(t, n)) } isEqual(e, t, n = !1) { return e === t ? !0 : !e || !t ? !1 : this.getComparisonKey(e, n) === this.getComparisonKey(t, n) } getComparisonKey(e, t = !1) { return e .with({ path: this._ignorePathCasing(e) ? e.path.toLowerCase() : void 0, fragment: t ? null : void 0 }) .toString() } ignorePathCasing(e) { return this._ignorePathCasing(e) } isEqualOrParent(e, t, n = !1) { if (e.scheme === t.scheme) { if (e.scheme === W.file) return ( zr(oo(e), oo(t), this._ignorePathCasing(e)) && e.query === t.query && (n || e.fragment === t.fragment) ) if (UA(e.authority, t.authority)) return ( zr(e.path, t.path, this._ignorePathCasing(e), "/") && e.query === t.query && (n || e.fragment === t.fragment) ) } return !1 } joinPath(e, ...t) { return y.joinPath(e, ...t) } basenameOrAuthority(e) { return Ht(e) || e.authority } basename(e) { return Ue.basename(e.path) } extname(e) { return Ue.extname(e.path) } dirname(e) { if (e.path.length === 0) return e let t return ( e.scheme === W.file ? (t = y.file(Qt(oo(e))).path) : ((t = Ue.dirname(e.path)), e.authority && t.length && t.charCodeAt(0) !== 47 && (console.error(`dirname("${e.toString})) resulted in a relative path`), (t = "/"))), e.with({ path: t }) ) } normalizePath(e) { if (!e.path.length) return e let t return e.scheme === W.file ? (t = y.file(jn(oo(e))).path) : (t = Ue.normalize(e.path)), e.with({ path: t }) } relativePath(e, t) { if (e.scheme !== t.scheme || !UA(e.authority, t.authority)) return if (e.scheme === W.file) { let i = Oo(oo(e), oo(t)) return Ie ? Pv(i) : i } let n = e.path || "/", r = t.path || "/" if (this._ignorePathCasing(e)) { let i = 0 for ( let s = Math.min(n.length, r.length); i < s && !(n.charCodeAt(i) !== r.charCodeAt(i) && n.charAt(i).toLowerCase() !== r.charAt(i).toLowerCase()); i++ ); n = r.substr(0, i) + n.substr(i) } return Ue.relative(n, r) } resolvePath(e, t) { if (e.scheme === W.file) { let n = y.file(cA(oo(e), t)) return e.with({ authority: n.authority, path: n.path }) } return (t = EA(t)), e.with({ path: Ue.resolve(e.path, t) }) } isAbsolutePath(e) { return !!e.path && e.path[0] === "/" } isEqualAuthority(e, t) { return e === t || (e !== void 0 && t !== void 0 && xn(e, t)) } hasTrailingPathSeparator(e, t = at) { if (e.scheme === W.file) { let n = oo(e) return n.length > af(n).length && n[n.length - 1] === t } else { let n = e.path return n.length > 1 && n.charCodeAt(n.length - 1) === 47 && !/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath) } } removeTrailingPathSeparator(e, t = at) { return HA(e, t) ? e.with({ path: e.path.substr(0, e.path.length - 1) }) : e } addTrailingPathSeparator(e, t = at) { let n = !1 if (e.scheme === W.file) { let r = oo(e) n = r !== void 0 && r.length === af(r).length && r[r.length - 1] === t } else { t = "/" let r = e.path n = r.length === 1 && r.charCodeAt(r.length - 1) === 47 } return !n && !HA(e, t) ? e.with({ path: e.path + "/" }) : e } }, et = new Xi(() => !1), Rl = new Xi((o) => (o.scheme === W.file ? !Ve : !0)), SE = new Xi((o) => !0), qr = et.isEqual.bind(et), y4 = et.isEqualOrParent.bind(et), V3 = et.getComparisonKey.bind(et), cf = et.basenameOrAuthority.bind(et), Ht = et.basename.bind(et), Rv = et.extname.bind(et), Yi = et.dirname.bind(et), ct = et.joinPath.bind(et), B3 = et.normalizePath.bind(et), uf = et.relativePath.bind(et), $3 = et.resolvePath.bind(et), WA = et.isAbsolutePath.bind(et), UA = et.isEqualAuthority.bind(et), HA = et.hasTrailingPathSeparator.bind(et), z3 = et.removeTrailingPathSeparator.bind(et), q3 = et.addTrailingPathSeparator.bind(et) var I4 ;((i) => { ;(i.META_DATA_LABEL = "label"), (i.META_DATA_DESCRIPTION = "description"), (i.META_DATA_SIZE = "size"), (i.META_DATA_MIME = "mime") function r(s) { let a = new Map() s.path .substring(s.path.indexOf(";") + 1, s.path.lastIndexOf(";")) .split(";") .forEach((c) => { let [u, m] = c.split(":") u && m && a.set(u, m) }) let d = s.path.substring(0, s.path.indexOf(";")) return d && a.set(i.META_DATA_MIME, d), a } i.parseMetaData = r })((I4 ||= {})) var VA = Symbol("MicrotaskDelay") function io(o) { return !!o && typeof o.then == "function" } function kr(o) { let e = new _e(), t = o(e.token), n = !1, r = new Promise((i, s) => { let a = e.token.onCancellationRequested(() => { ;(n = !0), a.dispose(), s(new xt()) }) Promise.resolve(t).then( (l) => { a.dispose(), e.dispose(), n ? Zh(l) && l.dispose() : i(l) }, (l) => { a.dispose(), e.dispose(), s(l) }, ) }) return new (class { cancel() { e.cancel(), e.dispose() } then(i, s) { return r.then(i, s) } catch(i) { return this.then(void 0, i) } finally(i) { return r.finally(i) } })() } function Fv(o, e, t) { return new Promise((n, r) => { let i = e.onCancellationRequested(() => { i.dispose(), n(t) }) o.then(n, r).finally(() => i.dispose()) }) } function BA(o, e) { return new Promise((t, n) => { let r = e.onCancellationRequested(() => { r.dispose(), n(new xt()) }) o.then(t, n).finally(() => r.dispose()) }) } function Jt(o) { return new Promise((e, t) => { let n = o() io(n) ? n.then(e, t) : e(n) }) } function ff() { let o, e return { promise: new Promise((n, r) => { ;(o = n), (e = r) }), resolve: o, reject: e, } } var TE = class { constructor() { this.isDisposed = !1 ;(this.activePromise = null), (this.queuedPromise = null), (this.queuedPromiseFactory = null) } queue(e) { if (this.isDisposed) return Promise.reject(new Error("Throttler is disposed")) if (this.activePromise) { if (((this.queuedPromiseFactory = e), !this.queuedPromise)) { let t = () => { if (((this.queuedPromise = null), this.isDisposed)) return let n = this.queue(this.queuedPromiseFactory) return (this.queuedPromiseFactory = null), n } this.queuedPromise = new Promise((n) => { this.activePromise.then(t, t).then(n) }) } return new Promise((t, n) => { this.queuedPromise.then(t, n) }) } return ( (this.activePromise = e()), new Promise((t, n) => { this.activePromise.then( (r) => { ;(this.activePromise = null), t(r) }, (r) => { ;(this.activePromise = null), n(r) }, ) }) ) } dispose() { this.isDisposed = !0 } }, Ov = class { constructor() { this.current = Promise.resolve(null) } queue(e) { return (this.current = this.current.then( () => e(), () => e(), )) } } var x4 = (o, e) => { let t = !0, n = setTimeout(() => { ;(t = !1), e() }, o) return { isTriggered: () => t, dispose: () => { clearTimeout(n), (t = !1) }, } }, C4 = (o) => { let e = !0 return ( queueMicrotask(() => { e && ((e = !1), o()) }), { isTriggered: () => e, dispose: () => { e = !1 }, } ) }, pf = class { constructor(e) { this.defaultDelay = e ;(this.deferred = null), (this.completionPromise = null), (this.doResolve = null), (this.doReject = null), (this.task = null) } trigger(e, t = this.defaultDelay) { ;(this.task = e), this.cancelTimeout(), this.completionPromise || (this.completionPromise = new Promise((r, i) => { ;(this.doResolve = r), (this.doReject = i) }).then(() => { if (((this.completionPromise = null), (this.doResolve = null), this.task)) { let r = this.task return (this.task = null), r() } })) let n = () => { ;(this.deferred = null), this.doResolve?.(null) } return (this.deferred = t === VA ? C4(n) : x4(t, n)), this.completionPromise } isTriggered() { return !!this.deferred?.isTriggered() } cancel() { this.cancelTimeout(), this.completionPromise && (this.doReject?.(new xt()), (this.completionPromise = null)) } cancelTimeout() { this.deferred?.dispose(), (this.deferred = null) } dispose() { this.cancel() } }, Zi = class { constructor(e) { ;(this.delayer = new pf(e)), (this.throttler = new TE()) } trigger(e, t) { return this.delayer.trigger(() => this.throttler.queue(e), t) } isTriggered() { return this.delayer.isTriggered() } cancel() { this.delayer.cancel() } dispose() { this.delayer.dispose(), this.throttler.dispose() } }, dn = class { constructor() { ;(this._isOpen = !1), (this._promise = new Promise((e, t) => { this._completePromise = e })) } isOpen() { return this._isOpen } open() { ;(this._isOpen = !0), this._completePromise(!0) } wait() { return this._promise } } function Wt(o, e) { return e ? new Promise((t, n) => { let r = setTimeout(() => { i.dispose(), t() }, o), i = e.onCancellationRequested(() => { clearTimeout(r), i.dispose(), n(new xt()) }) }) : kr((t) => Wt(o, t)) } function gf(o, e = 0, t) { let n = setTimeout(() => { o(), t && r.dispose() }, e), r = q(() => { clearTimeout(n), t?.delete(r) }) return t?.add(r), r } function $A(o, e = (n) => !!n, t = null) { if (o.length === 0) return Promise.resolve(t) let n = o.length, r = () => { n = -1 for (let i of o) i.cancel?.() } return new Promise((i, s) => { for (let a of o) a.then((l) => { --n >= 0 && e(l) ? (r(), i(l)) : n === 0 && i(t) }).catch((l) => { --n >= 0 && (r(), s(l)) }) }) } var EE = class { constructor(e) { this._size = 0 this._isDisposed = !1 ;(this.maxDegreeOfParalellism = e), (this.outstandingPromises = []), (this.runningPromises = 0), (this._onDrained = new E()) } whenIdle() { return this.size > 0 ? Te.toPromise(this.onDrained) : Promise.resolve() } get onDrained() { return this._onDrained.event } get size() { return this._size } queue(e) { if (this._isDisposed) throw new Error("Object has been disposed") return ( this._size++, new Promise((t, n) => { this.outstandingPromises.push({ factory: e, c: t, e: n }), this.consume() }) ) } consume() { for (; this.outstandingPromises.length && this.runningPromises < this.maxDegreeOfParalellism; ) { let e = this.outstandingPromises.shift() this.runningPromises++ let t = e.factory() t.then(e.c, e.e), t.then( () => this.consumed(), () => this.consumed(), ) } } consumed() { this._isDisposed || (this.runningPromises--, --this._size === 0 && this._onDrained.fire(), this.outstandingPromises.length > 0 && this.consume()) } clear() { if (this._isDisposed) throw new Error("Object has been disposed") ;(this.outstandingPromises.length = 0), (this._size = this.runningPromises) } dispose() { ;(this._isDisposed = !0), (this.outstandingPromises.length = 0), (this._size = 0), this._onDrained.dispose() } }, wE = class extends EE { constructor() { super(1) } } var Cc = class { constructor() { this.queues = new Map() this.drainers = new Set() this.drainListeners = void 0 this.drainListenerCount = 0 } async whenDrained() { if (this.isDrained()) return let e = new Cn() return this.drainers.add(e), e.p } isDrained() { for (let [, e] of this.queues) if (e.size > 0) return !1 return !0 } queueSize(e, t = et) { let n = t.getComparisonKey(e) return this.queues.get(n)?.size ?? 0 } queueFor(e, t, n = et) { let r = n.getComparisonKey(e), i = this.queues.get(r) if (!i) { i = new wE() let s = this.drainListenerCount++, a = Te.once(i.onDrained)(() => { i?.dispose(), this.queues.delete(r), this.onDidQueueDrain(), this.drainListeners?.deleteAndDispose(s), this.drainListeners?.size === 0 && (this.drainListeners.dispose(), (this.drainListeners = void 0)) }) this.drainListeners || (this.drainListeners = new Wr()), this.drainListeners.set(s, a), this.queues.set(r, i) } return i.queue(t) } onDidQueueDrain() { this.isDrained() && this.releaseDrainers() } releaseDrainers() { for (let e of this.drainers) e.complete() this.drainers.clear() } dispose() { for (let [, e] of this.queues) e.dispose() this.queues.clear(), this.releaseDrainers(), this.drainListeners?.dispose() } } var Sc = class { constructor() { this.disposable = void 0 this.isDisposed = !1 } cancel() { this.disposable?.dispose(), (this.disposable = void 0) } cancelAndSet(e, t, n = globalThis) { if (this.isDisposed) throw new Gt("Calling 'cancelAndSet' on a disposed IntervalTimer") this.cancel() let r = n.setInterval(() => { e() }, t) this.disposable = q(() => { n.clearInterval(r), (this.disposable = void 0) }) } dispose() { this.cancel(), (this.isDisposed = !0) } }, Hn = class { constructor(e, t) { ;(this.timeoutToken = -1), (this.runner = e), (this.timeout = t), (this.timeoutHandler = this.onTimeout.bind(this)) } dispose() { this.cancel(), (this.runner = null) } cancel() { this.isScheduled() && (clearTimeout(this.timeoutToken), (this.timeoutToken = -1)) } schedule(e = this.timeout) { this.cancel(), (this.timeoutToken = setTimeout(this.timeoutHandler, e)) } get delay() { return this.timeout } set delay(e) { this.timeout = e } isScheduled() { return this.timeoutToken !== -1 } flush() { this.isScheduled() && (this.cancel(), this.doRun()) } onTimeout() { ;(this.timeoutToken = -1), this.runner && this.doRun() } doRun() { this.runner?.() } }, mf = class { constructor(e, t) { t % 1e3 !== 0 && console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${t}ms is not a multiple of 1000ms.`), (this.runner = e), (this.timeout = t), (this.counter = 0), (this.intervalToken = -1), (this.intervalHandler = this.onInterval.bind(this)) } dispose() { this.cancel(), (this.runner = null) } cancel() { this.isScheduled() && (clearInterval(this.intervalToken), (this.intervalToken = -1)) } schedule(e = this.timeout) { e % 1e3 !== 0 && console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${e}ms is not a multiple of 1000ms.`), this.cancel(), (this.counter = Math.ceil(e / 1e3)), (this.intervalToken = setInterval(this.intervalHandler, 1e3)) } isScheduled() { return this.intervalToken !== -1 } onInterval() { this.counter--, !(this.counter > 0) && (clearInterval(this.intervalToken), (this.intervalToken = -1), this.runner?.()) } }, Lv = class extends Hn { constructor(t, n) { super(t, n) this.units = [] } work(t) { this.units.push(t), this.isScheduled() || this.schedule() } doRun() { let t = this.units ;(this.units = []), this.runner?.(t) } dispose() { ;(this.units = []), super.dispose() } }, Tc = class extends $ { constructor(t, n) { super() this.options = t this.handler = n this.pendingWork = [] this.throttler = this._register(new Dn()) this.disposed = !1 this.lastExecutionTime = 0 } get pending() { return this.pendingWork.length } work(t) { if (this.disposed) return !1 if (typeof this.options.maxBufferedWork == "number") { if (this.throttler.value) { if (this.pending + t.length > this.options.maxBufferedWork) return !1 } else if (this.pending + t.length - this.options.maxWorkChunkSize > this.options.maxBufferedWork) return !1 } for (let r of t) this.pendingWork.push(r) let n = Date.now() - this.lastExecutionTime return ( !this.throttler.value && (!this.options.waitThrottleDelayBetweenWorkUnits || n >= this.options.throttleDelay) ? this.doWork() : !this.throttler.value && this.options.waitThrottleDelayBetweenWorkUnits && this.scheduleThrottler(Math.max(this.options.throttleDelay - n, 0)), !0 ) } doWork() { ;(this.lastExecutionTime = Date.now()), this.handler(this.pendingWork.splice(0, this.options.maxWorkChunkSize)), this.pendingWork.length > 0 && this.scheduleThrottler() } scheduleThrottler(t = this.options.throttleDelay) { ;(this.throttler.value = new Hn(() => { this.throttler.clear(), this.doWork() }, t)), this.throttler.value.schedule() } dispose() { super.dispose(), (this.pendingWork.length = 0), (this.disposed = !0) } }, _E, Av ;(function () { typeof globalThis.requestIdleCallback != "function" || typeof globalThis.cancelIdleCallback != "function" ? (Av = (o, e, t) => { dv(() => { if (n) return let r = Date.now() + 15 e( Object.freeze({ didTimeout: !0, timeRemaining() { return Math.max(0, r - Date.now()) }, }), ) }) let n = !1 return { dispose() { n || (n = !0) }, } }) : (Av = (o, e, t) => { let n = o.requestIdleCallback(e, typeof t == "number" ? { timeout: t } : void 0), r = !1 return { dispose() { r || ((r = !0), o.cancelIdleCallback(n)) }, } }), (_E = (o, e) => Av(globalThis, o, e)) })() var PE = class { constructor(e, t) { this._didRun = !1 ;(this._executor = () => { try { this._value = t() } catch (n) { this._error = n } finally { this._didRun = !0 } }), (this._handle = Av(e, () => this._executor())) } dispose() { this._handle.dispose() } get value() { if ((this._didRun || (this._handle.dispose(), this._executor()), this._error)) throw this._error return this._value } get isInitialized() { return this._didRun } }, Mv = class extends PE { constructor(e) { super(globalThis, e) } } async function zA(o, e, t) { let n for (let r = 0; r < t; r++) try { return await o() } catch (i) { ;(n = i), await Wt(e) } throw n } var Cn = class { get isRejected() { return this.outcome?.outcome === 1 } get isResolved() { return this.outcome?.outcome === 0 } get isSettled() { return !!this.outcome } get value() { return this.outcome?.outcome === 0 ? this.outcome?.value : void 0 } constructor() { this.p = new Promise((e, t) => { ;(this.completeCallback = e), (this.errorCallback = t) }) } complete(e) { return new Promise((t) => { this.completeCallback(e), (this.outcome = { outcome: 0, value: e }), t() }) } error(e) { return new Promise((t) => { this.errorCallback(e), (this.outcome = { outcome: 1, value: e }), t() }) } cancel() { return this.error(new xt()) } }, so ;((t) => { async function o(n) { let r, i = await Promise.all( n.map((s) => s.then( (a) => a, (a) => { r || (r = a) }, ), ), ) if (typeof r < "u") throw r return i } t.settled = o function e(n) { return new Promise(async (r, i) => { try { await n(r, i) } catch (s) { i(s) } }) } t.withAsyncBody = e })((so ||= {})) var ci = class o { static fromArray(e) { return new o((t) => { t.emitMany(e) }) } static fromPromise(e) { return new o(async (t) => { t.emitMany(await e) }) } static fromPromisesResolveOrder(e) { return new o(async (t) => { await Promise.all(e.map(async (n) => t.emitOne(await n))) }) } static merge(e) { return new o(async (t) => { await Promise.all( e.map(async (n) => { for await (let r of n) t.emitOne(r) }), ) }) } static { this.EMPTY = o.fromArray([]) } constructor(e, t) { ;(this._state = 0), (this._results = []), (this._error = null), (this._onReturn = t), (this._onStateChanged = new E()), queueMicrotask(async () => { let n = { emitOne: (r) => this.emitOne(r), emitMany: (r) => this.emitMany(r), reject: (r) => this.reject(r), } try { await Promise.resolve(e(n)), this.resolve() } catch (r) { this.reject(r) } finally { ;(n.emitOne = void 0), (n.emitMany = void 0), (n.reject = void 0) } }) } [Symbol.asyncIterator]() { let e = 0 return { next: async () => { do { if (this._state === 2) throw this._error if (e < this._results.length) return { done: !1, value: this._results[e++] } if (this._state === 1) return { done: !0, value: void 0 } await Te.toPromise(this._onStateChanged.event) } while (!0) }, return: async () => (this._onReturn?.(), { done: !0, value: void 0 }), } } static map(e, t) { return new o(async (n) => { for await (let r of e) n.emitOne(t(r)) }) } map(e) { return o.map(this, e) } static filter(e, t) { return new o(async (n) => { for await (let r of e) t(r) && n.emitOne(r) }) } filter(e) { return o.filter(this, e) } static coalesce(e) { return o.filter(e, (t) => !!t) } coalesce() { return o.coalesce(this) } static async toPromise(e) { let t = [] for await (let n of e) t.push(n) return t } toPromise() { return o.toPromise(this) } emitOne(e) { this._state === 0 && (this._results.push(e), this._onStateChanged.fire()) } emitMany(e) { this._state === 0 && ((this._results = this._results.concat(e)), this._onStateChanged.fire()) } resolve() { this._state === 0 && ((this._state = 1), this._onStateChanged.fire()) } reject(e) { this._state === 0 && ((this._state = 2), (this._error = e), this._onStateChanged.fire()) } } var Ec = class { constructor(e) { this._deferred = new Cn() this._asyncIterable = new ci((r) => { if (t) { r.reject(t) return } return ( n && r.emitMany(n), (this._errorFn = (i) => r.reject(i)), (this._emitFn = (i) => r.emitOne(i)), this._deferred.p ) }, e) let t, n ;(this._emitFn = (r) => { n || (n = []), n.push(r) }), (this._errorFn = (r) => { t || (t = r) }) } get asyncIterable() { return this._asyncIterable } resolve() { this._deferred.complete() } reject(e) { this._errorFn(e), this._deferred.complete() } emitOne(e) { this._emitFn(e) } } function Al(o, e) { return new DE(o, e) } var DE = class { constructor(e, t) { this.reducer = e this.options = t this.state = { flowing: !1, ended: !1, destroyed: !1 } this.buffer = { data: [], error: [] } this.listeners = { data: [], error: [], end: [] } this.pendingWritePromises = [] } pause() { this.state.destroyed || (this.state.flowing = !1) } resume() { this.state.destroyed || this.state.flowing || ((this.state.flowing = !0), this.flowData(), this.flowErrors(), this.flowEnd()) } write(e) { if (!this.state.destroyed) { if (this.state.flowing) this.emitData(e) else if ( (this.buffer.data.push(e), typeof this.options?.highWaterMark == "number" && this.buffer.data.length > this.options.highWaterMark) ) return new Promise((t) => this.pendingWritePromises.push(t)) } } error(e) { this.state.destroyed || (this.state.flowing ? this.emitError(e) : this.buffer.error.push(e)) } end(e) { this.state.destroyed || (typeof e < "u" && this.write(e), this.state.flowing ? (this.emitEnd(), this.destroy()) : (this.state.ended = !0)) } emitData(e) { this.listeners.data.slice(0).forEach((t) => t(e)) } emitError(e) { this.listeners.error.length === 0 ? Be(e) : this.listeners.error.slice(0).forEach((t) => t(e)) } emitEnd() { this.listeners.end.slice(0).forEach((e) => e()) } on(e, t) { if (!this.state.destroyed) switch (e) { case "data": this.listeners.data.push(t), this.resume() break case "end": this.listeners.end.push(t), this.state.flowing && this.flowEnd() && this.destroy() break case "error": this.listeners.error.push(t), this.state.flowing && this.flowErrors() break } } removeListener(e, t) { if (this.state.destroyed) return let n switch (e) { case "data": n = this.listeners.data break case "end": n = this.listeners.end break case "error": n = this.listeners.error break } if (n) { let r = n.indexOf(t) r >= 0 && n.splice(r, 1) } } flowData() { if (this.buffer.data.length === 0) return if (typeof this.reducer == "function") { let t = this.reducer(this.buffer.data) this.emitData(t) } else for (let t of this.buffer.data) this.emitData(t) this.buffer.data.length = 0 let e = [...this.pendingWritePromises] ;(this.pendingWritePromises.length = 0), e.forEach((t) => t()) } flowErrors() { if (this.listeners.error.length > 0) { for (let e of this.buffer.error) this.emitError(e) this.buffer.error.length = 0 } } flowEnd() { return this.state.ended ? (this.emitEnd(), this.listeners.end.length > 0) : !1 } destroy() { this.state.destroyed || ((this.state.destroyed = !0), (this.state.ended = !0), (this.buffer.data.length = 0), (this.buffer.error.length = 0), (this.listeners.data.length = 0), (this.listeners.error.length = 0), (this.listeners.end.length = 0), (this.pendingWritePromises.length = 0)) } } function qA(o, e) { let t = [], n for (; (n = o.read()) !== null; ) t.push(n) return e(t) } function Nv(o, e) { return new Promise((t, n) => { let r = [] Uv(o, { onData: (i) => { e && r.push(i) }, onError: (i) => { e ? n(i) : t(void 0) }, onEnd: () => { t(e ? e(r) : void 0) }, }) }) } function Uv(o, e, t) { o.on("error", (n) => { t?.isCancellationRequested || e.onError(n) }), o.on("end", () => { t?.isCancellationRequested || e.onEnd() }), o.on("data", (n) => { t?.isCancellationRequested || e.onData(n) }) } function KA(o, e) { let t = Al(e) return t.end(o), t } function jA(o, e, t) { let n = Al(t) return ( Uv(o, { onData: (r) => n.write(e.data(r)), onError: (r) => n.error(e.error ? e.error(r) : r), onEnd: () => n.end(), }), n ) } var Hv = typeof Buffer < "u", T4 = new Rt(() => new Uint8Array(256)), kE, RE, z = class o { static alloc(e) { return Hv ? new o(Buffer.allocUnsafe(e)) : new o(new Uint8Array(e)) } static wrap(e) { return Hv && !Buffer.isBuffer(e) && (e = Buffer.from(e.buffer, e.byteOffset, e.byteLength)), new o(e) } static fromString(e, t) { return !(t?.dontUseNodeBuffer || !1) && Hv ? new o(Buffer.from(e)) : (kE || (kE = new TextEncoder()), new o(kE.encode(e))) } static fromByteArray(e) { let t = o.alloc(e.length) for (let n = 0, r = e.length; n < r; n++) t.buffer[n] = e[n] return t } static concat(e, t) { if (typeof t > "u") { t = 0 for (let i = 0, s = e.length; i < s; i++) t += e[i].byteLength } let n = o.alloc(t), r = 0 for (let i = 0, s = e.length; i < s; i++) { let a = e[i] n.set(a, r), (r += a.byteLength) } return n } constructor(e) { ;(this.buffer = e), (this.byteLength = this.buffer.byteLength) } clone() { let e = o.alloc(this.byteLength) return e.set(this), e } toString() { return Hv ? this.buffer.toString() : (RE || (RE = new TextDecoder()), RE.decode(this.buffer)) } slice(e, t) { return new o(this.buffer.subarray(e, t)) } set(e, t) { if (e instanceof o) this.buffer.set(e.buffer, t) else if (e instanceof Uint8Array) this.buffer.set(e, t) else if (e instanceof ArrayBuffer) this.buffer.set(new Uint8Array(e), t) else if (ArrayBuffer.isView(e)) this.buffer.set(new Uint8Array(e.buffer, e.byteOffset, e.byteLength), t) else throw new Error("Unknown argument 'array'") } readUInt32BE(e) { return hf(this.buffer, e) } writeUInt32BE(e, t) { vf(this.buffer, e, t) } readUInt32LE(e) { return E4(this.buffer, e) } writeUInt32LE(e, t) { w4(this.buffer, e, t) } readUInt8(e) { return P4(this.buffer, e) } writeUInt8(e, t) { _4(this.buffer, e, t) } indexOf(e, t = 0) { return AE(this.buffer, e instanceof o ? e.buffer : e, t) } equals(e) { return this === e ? !0 : this.byteLength !== e.byteLength ? !1 : this.buffer.every((t, n) => t === e.buffer[n]) } } function AE(o, e, t = 0) { let n = e.byteLength, r = o.byteLength if (n === 0) return 0 if (n === 1) return o.indexOf(e[0]) if (n > r - t) return -1 let i = T4.value i.fill(e.length) for (let d = 0; d < e.length; d++) i[e[d]] = e.length - d - 1 let s = t + e.length - 1, a = s, l = -1 for (; s < r; ) if (o[s] === e[a]) { if (a === 0) { l = s break } s--, a-- } else (s += Math.max(e.length - a, i[o[s]])), (a = e.length - 1) return l } function GA(o, e) { return ((o[e + 0] << 0) >>> 0) | ((o[e + 1] << 8) >>> 0) } function QA(o, e, t) { ;(o[t + 0] = e & 255), (e = e >>> 8), (o[t + 1] = e & 255) } function hf(o, e) { return o[e] * 2 ** 24 + o[e + 1] * 2 ** 16 + o[e + 2] * 2 ** 8 + o[e + 3] } function vf(o, e, t) { ;(o[t + 3] = e), (e = e >>> 8), (o[t + 2] = e), (e = e >>> 8), (o[t + 1] = e), (e = e >>> 8), (o[t] = e) } function E4(o, e) { return ((o[e + 0] << 0) >>> 0) | ((o[e + 1] << 8) >>> 0) | ((o[e + 2] << 16) >>> 0) | ((o[e + 3] << 24) >>> 0) } function w4(o, e, t) { ;(o[t + 0] = e & 255), (e = e >>> 8), (o[t + 1] = e & 255), (e = e >>> 8), (o[t + 2] = e & 255), (e = e >>> 8), (o[t + 3] = e & 255) } function P4(o, e) { return o[e] } function _4(o, e, t) { o[t] = e } function JA(o) { return qA(o, (e) => z.concat(e)) } function XA(o) { return Nv(o, (e) => z.concat(e)) } function YA(o) { return KA(o, (e) => z.concat(e)) } function ZA(o) { return jA(o, { data: (e) => (typeof e == "string" ? z.fromString(e) : z.wrap(e)) }, (e) => z.concat(e)) } function wc(o) { let e = 0, t = 0, n = 0, r = new Uint8Array(Math.floor((o.length / 4) * 3)), i = (a) => { switch (t) { case 3: ;(r[n++] = e | a), (t = 0) break case 2: ;(r[n++] = e | (a >>> 2)), (e = a << 6), (t = 3) break case 1: ;(r[n++] = e | (a >>> 4)), (e = a << 4), (t = 2) break default: ;(e = a << 2), (t = 1) } } for (let a = 0; a < o.length; a++) { let l = o.charCodeAt(a) if (l >= 65 && l <= 90) i(l - 65) else if (l >= 97 && l <= 122) i(l - 97 + 26) else if (l >= 48 && l <= 57) i(l - 48 + 52) else if (l === 43 || l === 45) i(62) else if (l === 47 || l === 95) i(63) else { if (l === 61) break throw new SyntaxError(`Unexpected base64 character ${o[a]}`) } } let s = n for (; t > 0; ) i(0) return z.wrap(r).slice(0, s) } var D4 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", k4 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" function Ol({ buffer: o }, e = !0, t = !1) { let n = t ? k4 : D4, r = "", i = o.byteLength % 3, s = 0 for (; s < o.byteLength - i; s += 3) { let a = o[s + 0], l = o[s + 1], d = o[s + 2] ;(r += n[a >>> 2]), (r += n[((a << 4) | (l >>> 4)) & 63]), (r += n[((l << 2) | (d >>> 6)) & 63]), (r += n[d & 63]) } if (i === 1) { let a = o[s + 0] ;(r += n[a >>> 2]), (r += n[(a << 4) & 63]), e && (r += "==") } else if (i === 2) { let a = o[s + 0], l = o[s + 1] ;(r += n[a >>> 2]), (r += n[((a << 4) | (l >>> 4)) & 63]), (r += n[(l << 2) & 63]), e && (r += "=") } return r } function OE(o) { let e = [] typeof o == "number" && e.push("code/timeOrigin", o) function t(r, i) { e.push(r, i?.startTime ?? Date.now()) } function n() { let r = [] for (let i = 0; i < e.length; i += 2) r.push({ name: e[i], startTime: e[i + 1] }) return r } return { mark: t, getMarks: n } } function R4() { if (typeof performance == "object" && typeof performance.mark == "function" && !performance.nodeTiming) return typeof performance.timeOrigin != "number" && !performance.timing ? OE() : { mark(o, e) { performance.mark(o, e) }, getMarks() { let o = performance.timeOrigin typeof o != "number" && (o = performance.timing.navigationStart || performance.timing.redirectStart || performance.timing.fetchStart) let e = [{ name: "code/timeOrigin", startTime: Math.round(o) }] for (let t of performance.getEntriesByType("mark")) e.push({ name: t.name, startTime: Math.round(o + t.startTime) }) return e }, } if (typeof process == "object") { let o = performance?.timeOrigin return OE(o) } else return console.trace("perf-util loaded in UNKNOWN environment"), OE() } function A4(o) { return o.MonacoPerformanceMarks || (o.MonacoPerformanceMarks = R4()), o.MonacoPerformanceMarks } var tO = A4(globalThis), Ct = tO.mark, nO = tO.getMarks import * as es from "fs" var Fo = {} fH(Fo, { Promises: () => Qe, RimRafMode: () => FE, SymlinkSupport: () => or, configureFlushOnWrite: () => UE, readdirSync: () => V4, rimrafSync: () => H4, whenDeleted: () => $4, writeFileSync: () => j4, }) import * as ke from "fs" import { tmpdir as N4 } from "os" import { promisify as bf } from "util" var O4 = new _o(1e4) function Ll(o) { return rO(o, "NFC", O4) } var L4 = new _o(1e4) function LE(o) { return rO(o, "NFD", L4) } var M4 = /[^\u0000-\u0080]/ function rO(o, e, t) { if (!o) return o let n = t.get(o) if (n) return n let r return M4.test(o) ? (r = o.normalize(e)) : (r = o), t.set(o, r), r } var FE = ((t) => ((t[(t.UNLINK = 0)] = "UNLINK"), (t[(t.MOVE = 1)] = "MOVE"), t))(FE || {}) async function iO(o, e = 0, t) { if (gE(o)) throw new Error("rimraf - will refuse to recursively delete root") return e === 0 ? ME(o) : U4(o, t) } async function U4(o, e = DA(N4())) { try { try { await ke.promises.rename(o, e) } catch (t) { return t.code === "ENOENT" ? void 0 : ME(o) } ME(e).catch((t) => {}) } catch (t) { if (t.code !== "ENOENT") throw t } } async function ME(o) { return ke.promises.rm(o, { recursive: !0, force: !0, maxRetries: 3 }) } function H4(o) { if (gE(o)) throw new Error("rimraf - will refuse to recursively delete root") ke.rmSync(o, { recursive: !0, force: !0, maxRetries: 3 }) } async function Wv(o, e) { return sO(await (e ? W4(o) : ke.promises.readdir(o))) } async function W4(o) { try { return await ke.promises.readdir(o, { withFileTypes: !0 }) } catch (n) { console.warn("[node.js fs] readdir with filetypes failed with error: ", n) } let e = [], t = await Wv(o) for (let n of t) { let r = !1, i = !1, s = !1 try { let a = await ke.promises.lstat(Fe(o, n)) ;(r = a.isFile()), (i = a.isDirectory()), (s = a.isSymbolicLink()) } catch (a) { console.warn("[node.js fs] unexpected error from lstat after readdir: ", a) } e.push({ name: n, isFile: () => r, isDirectory: () => i, isSymbolicLink: () => s }) } return e } function V4(o) { return sO(ke.readdirSync(o)) } function sO(o) { return o.map((e) => (typeof e == "string" ? (st ? Ll(e) : e) : ((e.name = st ? Ll(e.name) : e.name), e))) } async function B4(o) { let e = await Wv(o), t = [] for (let n of e) (await or.existsDirectory(Fe(o, n))) && t.push(n) return t } function $4(o, e = 1e3) { return new Promise((t) => { let n = !1, r = setInterval(() => { n || ((n = !0), ke.access(o, (i) => { ;(n = !1), i && (clearInterval(r), t(void 0)) })) }, e) }) } var or ;((n) => { async function o(r) { let i try { if (((i = await ke.promises.lstat(r)), !i.isSymbolicLink())) return { stat: i } } catch {} try { return { stat: await ke.promises.stat(r), symbolicLink: i?.isSymbolicLink() ? { dangling: !1 } : void 0 } } catch (s) { if (s.code === "ENOENT" && i) return { stat: i, symbolicLink: { dangling: !0 } } if (Ie && s.code === "EACCES") try { return { stat: await ke.promises.stat(await ke.promises.readlink(r)), symbolicLink: { dangling: !1 }, } } catch (a) { if (a.code === "ENOENT" && i) return { stat: i, symbolicLink: { dangling: !0 } } throw a } throw s } } n.stat = o async function e(r) { try { let { stat: i, symbolicLink: s } = await n.stat(r) return i.isFile() && s?.dangling !== !0 } catch {} return !1 } n.existsFile = e async function t(r) { try { let { stat: i, symbolicLink: s } = await n.stat(r) return i.isDirectory() && s?.dangling !== !0 } catch {} return !1 } n.existsDirectory = t })((or ||= {})) var z4 = new Cc() function q4(o, e, t) { return z4.queueFor( y.file(o), () => { let n = aO(t) return new Promise((r, i) => K4(o, e, n, (s) => (s ? i(s) : r()))) }, Rl, ) } var NE = !0 function UE(o) { NE = o } function K4(o, e, t, n) { if (!NE) return ke.writeFile(o, e, { mode: t.mode, flag: t.flag }, n) ke.open(o, t.flag, t.mode, (r, i) => { if (r) return n(r) ke.writeFile(i, e, (s) => { if (s) return ke.close(i, () => n(s)) ke.fdatasync( i, (a) => ( a && (console.warn("[node.js fs] fdatasync is now disabled for this session because it failed: ", a), UE(!1)), ke.close(i, (l) => n(l)) ), ) }) }) } function j4(o, e, t) { let n = aO(t) if (!NE) return ke.writeFileSync(o, e, { mode: n.mode, flag: n.flag }) let r = ke.openSync(o, n.flag, n.mode) try { ke.writeFileSync(r, e) try { ke.fdatasyncSync(r) } catch (i) { console.warn("[node.js fs] fdatasyncSync is now disabled for this session because it failed: ", i), UE(!1) } } finally { ke.closeSync(r) } } function aO(o) { return o ? { mode: typeof o.mode == "number" ? o.mode : 438, flag: typeof o.flag == "string" ? o.flag : "w" } : { mode: 438, flag: "w" } } async function G4(o, e, t = 6e4) { if (o !== e) try { Ie && typeof t == "number" ? await lO(o, e, Date.now(), t) : await ke.promises.rename(o, e) } catch (n) { if ((o.toLowerCase() !== e.toLowerCase() && n.code === "EXDEV") || o.endsWith(".")) await dO(o, e, { preserveSymlinks: !1 }), await iO(o, 1) else throw n } } async function lO(o, e, t, n, r = 0) { try { return await ke.promises.rename(o, e) } catch (i) { if (i.code !== "EACCES" && i.code !== "EPERM" && i.code !== "EBUSY") throw i if (Date.now() - t >= n) throw (console.error(`[node.js fs] rename failed after ${r} retries with error: ${i}`), i) if (r === 0) { let s = !1 try { let { stat: a } = await or.stat(e) a.isFile() || (s = !0) } catch {} if (s) throw i } return await Wt(Math.min(100, r * 10)), lO(o, e, t, n, r + 1) } } async function dO(o, e, t) { return cO(o, e, { root: { source: o, target: e }, options: t, handledSourcePaths: new Set() }) } var oO = 511 async function cO(o, e, t) { if (t.handledSourcePaths.has(o)) return t.handledSourcePaths.add(o) let { stat: n, symbolicLink: r } = await or.stat(o) if (r) { if (t.options.preserveSymlinks) try { return await X4(o, e, t) } catch {} if (r.dangling) return } return n.isDirectory() ? Q4(o, e, n.mode & oO, t) : J4(o, e, n.mode & oO) } async function Q4(o, e, t, n) { await ke.promises.mkdir(e, { recursive: !0, mode: t }) let r = await Wv(o) for (let i of r) await cO(Fe(o, i), Fe(e, i), n) } async function J4(o, e, t) { await ke.promises.copyFile(o, e), await ke.promises.chmod(e, t) } async function X4(o, e, t) { let n = await ke.promises.readlink(o) zr(n, t.root.source, !Ve) && (n = Fe(t.root.target, n.substr(t.root.source.length + 1))), await ke.promises.symlink(n, e) } var Qe = new (class { get read() { return (o, e, t, n, r) => new Promise((i, s) => { ke.read(o, e, t, n, r, (a, l, d) => (a ? s(a) : i({ bytesRead: l, buffer: d }))) }) } get write() { return (o, e, t, n, r) => new Promise((i, s) => { ke.write(o, e, t, n, r, (a, l, d) => (a ? s(a) : i({ bytesWritten: l, buffer: d }))) }) } get fdatasync() { return bf(ke.fdatasync) } get open() { return bf(ke.open) } get close() { return bf(ke.close) } get realpath() { return bf(ke.realpath) } get ftruncate() { return bf(ke.ftruncate) } async exists(o) { try { return await ke.promises.access(o), !0 } catch { return !1 } } get readdir() { return Wv } get readDirsInDir() { return B4 } get writeFile() { return q4 } get rm() { return iO } get rename() { return G4 } get copy() { return dO } })() async function Vv(o) { try { return await Qe.realpath(o) } catch { let t = pO(o) return await es.promises.access(t, es.constants.R_OK), t } } function uO(o) { try { return es.realpathSync(o) } catch { let t = pO(o) return es.accessSync(t, es.constants.R_OK), t } } function pO(o) { return Dr(jn(o), at) } import * as kc from "fs" import * as BE from "path" import * as xO from "os" function mO(o) { return o.toJSON() } var Bv = class { constructor(e) { this._uriTransformer = e } transformIncoming(e) { let t = this._uriTransformer.transformIncoming(e) return t === e ? e : mO(y.from(t)) } transformOutgoing(e) { let t = this._uriTransformer.transformOutgoing(e) return t === e ? e : mO(y.from(t)) } transformOutgoingURI(e) { let t = this._uriTransformer.transformOutgoing(e) return t === e ? e : y.from(t) } transformOutgoingScheme(e) { return this._uriTransformer.transformOutgoingScheme(e) } }, Oz = new (class { transformIncoming(o) { return o } transformOutgoing(o) { return o } transformOutgoingURI(o) { return o } transformOutgoingScheme(o) { return o } })() function fO(o, e, t, n) { if (!o || n > 200) return null if (typeof o == "object") { if (o.$mid === 1) return t ? y.revive(e.transformIncoming(o)) : e.transformIncoming(o) if (o instanceof z) return null for (let r in o) if (Object.hasOwnProperty.call(o, r)) { let i = fO(o[r], e, t, n + 1) i !== null && (o[r] = i) } } return null } function _c(o, e) { let t = fO(o, e, !1, 0) return t === null ? o : t } var yf = class { constructor() { ;(this._actual = null), (this._actualOk = null), (this._actualErr = null), (this._hasValue = !1), (this._value = null), (this._hasErr = !1), (this._err = null) } get [Symbol.toStringTag]() { return this.toString() } _ensureActual() { return ( this._actual || (this._actual = new Promise((e, t) => { ;(this._actualOk = e), (this._actualErr = t), this._hasValue && this._actualOk(this._value), this._hasErr && this._actualErr(this._err) })), this._actual ) } resolveOk(e) { this._hasValue || this._hasErr || ((this._hasValue = !0), (this._value = e), this._actual && this._actualOk(e)) } resolveErr(e) { this._hasValue || this._hasErr || ((this._hasErr = !0), (this._err = e), this._actual ? this._actualErr(e) : Be(e)) } then(e, t) { return this._ensureActual().then(e, t) } catch(e) { return this._ensureActual().then(void 0, e) } finally(e) { return this._ensureActual().finally(e) } }, $v = class extends yf { constructor() { super(), (this._hasErr = !0), (this._err = new xt()) } } var If = class o { constructor(e) { this._proxyIdentifierBrand = void 0 ;(this.sid = e), (this.nid = ++o.count) } static { this.count = 0 } }, gO = [] function V(o) { let e = new If(o) return (gO[e.nid] = e), e } function xf(o) { return gO[o].sid } var Xt = class { constructor(e) { this.value = e } } function HE(o, e) { try { return JSON.stringify(o, e) } catch { return "null" } } var VE = "$$ref$$", Y4 = { [VE]: -1 } function hO(o, e = null, t = !1) { let n = [] return { jsonString: (t ? HE : JSON.stringify)(o, (i, s) => { if (typeof s > "u") return Y4 if (typeof s == "object") { if (s instanceof z) { let a = n.push(s) - 1 return { [VE]: a } } if (e) return e(i, s) } return s }), referencedBuffers: n, } } function IO(o, e, t) { return JSON.parse(o, (n, r) => { if (r) { let i = r[VE] if (typeof i == "number") return e[i] if (t && r.$mid === 1) return t.transformIncoming(r) } return r }) } function vO(o, e) { return JSON.stringify(o, e) } function Z4(o) { return o ? (e, t) => (t && t.$mid === 1 ? o.transformOutgoing(t) : t) : null } var e5 = () => {}, t5 = Symbol.for("rpcProtocol"), n5 = Symbol.for("rpcProxy"), bO, yO, zv = class o extends ((yO = $), (bO = t5), yO) { constructor(t, n = null, r = null) { super() this[bO] = !0 this._onDidChangeResponsiveState = this._register(new E()) this.onDidChangeResponsiveState = this._onDidChangeResponsiveState.event ;(this._protocol = t), (this._logger = n), (this._uriTransformer = r), (this._uriReplacer = Z4(this._uriTransformer)), (this._isDisposed = !1), (this._locals = []), (this._proxies = []) for (let i = 0, s = If.count; i < s; i++) (this._locals[i] = null), (this._proxies[i] = null) ;(this._lastMessageId = 0), (this._cancelInvokedHandlers = Object.create(null)), (this._pendingRPCReplies = {}), (this._responsiveState = 0), (this._unacknowledgedCount = 0), (this._unresponsiveTime = 0), (this._asyncCheckUresponsive = this._register(new Hn(() => this._checkUnresponsive(), 1e3))), this._register(this._protocol.onMessage((i) => this._receiveOneMessage(i))) } static { this.UNRESPONSIVE_TIME = 3 * 1e3 } dispose() { ;(this._isDisposed = !0), Object.keys(this._pendingRPCReplies).forEach((t) => { let n = this._pendingRPCReplies[t] delete this._pendingRPCReplies[t], n.resolveErr($i()) }), super.dispose() } drain() { return typeof this._protocol.drain == "function" ? this._protocol.drain() : Promise.resolve() } _onWillSendRequest(t) { this._unacknowledgedCount === 0 && (this._unresponsiveTime = Date.now() + o.UNRESPONSIVE_TIME), this._unacknowledgedCount++, this._asyncCheckUresponsive.isScheduled() || this._asyncCheckUresponsive.schedule() } _onDidReceiveAcknowledge(t) { ;(this._unresponsiveTime = Date.now() + o.UNRESPONSIVE_TIME), this._unacknowledgedCount--, this._unacknowledgedCount === 0 && this._asyncCheckUresponsive.cancel(), this._setResponsiveState(0) } _checkUnresponsive() { this._unacknowledgedCount !== 0 && (Date.now() > this._unresponsiveTime ? this._setResponsiveState(1) : this._asyncCheckUresponsive.schedule()) } _setResponsiveState(t) { this._responsiveState !== t && ((this._responsiveState = t), this._onDidChangeResponsiveState.fire(this._responsiveState)) } get responsiveState() { return this._responsiveState } transformIncomingURIs(t) { return this._uriTransformer ? _c(t, this._uriTransformer) : t } getProxy(t) { let { nid: n, sid: r } = t return this._proxies[n] || (this._proxies[n] = this._createProxy(n, r)), this._proxies[n] } _createProxy(t, n) { let r = { get: (i, s) => ( typeof s == "string" && !i[s] && s.charCodeAt(0) === 36 && (i[s] = (...a) => this._remoteCall(t, s, a)), s === n5 ? n : i[s] ), } return new Proxy(Object.create(null), r) } set(t, n) { return (this._locals[t.nid] = n), n } assertRegistered(t) { for (let n = 0, r = t.length; n < r; n++) { let i = t[n] if (!this._locals[i.nid]) throw new Error(`Missing proxy instance ${i.sid}`) } } _receiveOneMessage(t) { if (this._isDisposed) return let n = t.byteLength, r = Kt.read(t, 0), i = r.readUInt8(), s = r.readUInt32() switch ((this._logger?.logIncoming(n, s, 1, `receiveMessage: ${i}, req: ${s}, msgType: ${i}`), i)) { case 1: case 2: { let { rpcId: a, method: l, args: d } = Rr.deserializeRequestJSONArgs(r) this._uriTransformer && (d = _c(d, this._uriTransformer)), this._receiveRequest(n, s, a, l, d, i === 2) break } case 3: case 4: { let { rpcId: a, method: l, args: d } = Rr.deserializeRequestMixedArgs(r) this._uriTransformer && (d = _c(d, this._uriTransformer)), this._receiveRequest(n, s, a, l, d, i === 4) break } case 5: { this._onDidReceiveAcknowledge(s) break } case 6: { this._receiveCancel(n, s) break } case 7: { this._receiveReply(n, s, void 0) break } case 9: { let a = Rr.deserializeReplyOKJSON(r) this._uriTransformer && (a = _c(a, this._uriTransformer)), this._receiveReply(n, s, a) break } case 10: { let a = Rr.deserializeReplyOKJSONWithBuffers(r, this._uriTransformer) this._receiveReply(n, s, a) break } case 8: { let a = Rr.deserializeReplyOKVSBuffer(r) this._receiveReply(n, s, a) break } case 11: { let a = Rr.deserializeReplyErrError(r) this._uriTransformer && (a = _c(a, this._uriTransformer)), this._receiveReplyErr(n, s, a) break } case 12: { this._receiveReplyErr(n, s, void 0) break } default: console.error("received unexpected message"), console.error(t) } } _receiveRequest(t, n, r, i, s, a) { this._logger?.logIncoming(t, n, 1, `receiveRequest ${xf(r)}.${i}(`, s) let l = String(n), d, c if (a) { let m = new _e() s.push(m.token), (d = this._invokeHandler(r, i, s)), (c = () => m.cancel()) } else (d = this._invokeHandler(r, i, s)), (c = e5) this._cancelInvokedHandlers[l] = c let u = Rr.serializeAcknowledged(n) this._logger?.logOutgoing(u.byteLength, n, 1, "ack"), this._protocol.send(u), d.then( (m) => { delete this._cancelInvokedHandlers[l] let f = Rr.serializeReplyOK(n, m, this._uriReplacer) this._logger?.logOutgoing(f.byteLength, n, 1, "reply:", m), this._protocol.send(f) }, (m) => { delete this._cancelInvokedHandlers[l] let f = Rr.serializeReplyErr(n, m) this._logger?.logOutgoing(f.byteLength, n, 1, "replyErr:", m), this._protocol.send(f) }, ) } _receiveCancel(t, n) { this._logger?.logIncoming(t, n, 1, "receiveCancel") let r = String(n) this._cancelInvokedHandlers[r]?.() } _receiveReply(t, n, r) { this._logger?.logIncoming(t, n, 0, "receiveReply:", r) let i = String(n) if (!this._pendingRPCReplies.hasOwnProperty(i)) return let s = this._pendingRPCReplies[i] delete this._pendingRPCReplies[i], s.resolveOk(r) } _receiveReplyErr(t, n, r) { this._logger?.logIncoming(t, n, 0, "receiveReplyErr:", r) let i = String(n) if (!this._pendingRPCReplies.hasOwnProperty(i)) return let s = this._pendingRPCReplies[i] delete this._pendingRPCReplies[i] let a r && (r.$isError ? ((a = new Error()), (a.name = r.name), (a.message = r.message), (a.stack = r.stack)) : (a = r)), s.resolveErr(a) } _invokeHandler(t, n, r) { try { return Promise.resolve(this._doInvokeHandler(t, n, r)) } catch (i) { return console.error("invokeHandler error:", i), Promise.reject(i) } } _doInvokeHandler(t, n, r) { let i = this._locals[t] if (!i) throw new Error("Unknown actor " + xf(t)) let s = i[n] if (typeof s != "function") throw new Error("Unknown method " + n + " on actor " + xf(t)) return s.apply(i, r) } _remoteCall(t, n, r) { if (this._isDisposed) return new $v() let i = null if ( (r.length > 0 && De.isCancellationToken(r[r.length - 1]) && (i = r.pop()), i && i.isCancellationRequested) ) return Promise.reject($i()) let s = Rr.serializeRequestArguments(r, this._uriReplacer), a = ++this._lastMessageId, l = String(a), d = new yf(), c = new Q() i && c.add( i.onCancellationRequested(() => { let m = Rr.serializeCancel(a) this._logger?.logOutgoing(m.byteLength, a, 0, "cancel"), this._protocol.send(m) }), ), (this._pendingRPCReplies[l] = new WE(d, c)), this._onWillSendRequest(a) let u = Rr.serializeRequest(a, t, n, s, !!i) return ( this._logger?.logOutgoing(u.byteLength, a, 0, `request: ${xf(t)}.${n}(`, r), this._protocol.send(u), d ) } }, WE = class { constructor(e, t) { this._promise = e this._disposable = t } resolveOk(e) { this._promise.resolveOk(e), this._disposable.dispose() } resolveErr(e) { this._promise.resolveErr(e), this._disposable.dispose() } }, Kt = class o { static alloc(e, t, n) { let r = new o(z.alloc(n + 1 + 4), 0) return r.writeUInt8(e), r.writeUInt32(t), r } static read(e, t) { return new o(e, t) } get buffer() { return this._buff } constructor(e, t) { ;(this._buff = e), (this._offset = t) } static sizeUInt8() { return 1 } static { this.sizeUInt32 = 4 } writeUInt8(e) { this._buff.writeUInt8(e, this._offset), (this._offset += 1) } readUInt8() { let e = this._buff.readUInt8(this._offset) return (this._offset += 1), e } writeUInt32(e) { this._buff.writeUInt32BE(e, this._offset), (this._offset += 4) } readUInt32() { let e = this._buff.readUInt32BE(this._offset) return (this._offset += 4), e } static sizeShortString(e) { return 1 + e.byteLength } writeShortString(e) { this._buff.writeUInt8(e.byteLength, this._offset), (this._offset += 1), this._buff.set(e, this._offset), (this._offset += e.byteLength) } readShortString() { let e = this._buff.readUInt8(this._offset) this._offset += 1 let n = this._buff.slice(this._offset, this._offset + e).toString() return (this._offset += e), n } static sizeLongString(e) { return 4 + e.byteLength } writeLongString(e) { this._buff.writeUInt32BE(e.byteLength, this._offset), (this._offset += 4), this._buff.set(e, this._offset), (this._offset += e.byteLength) } readLongString() { let e = this._buff.readUInt32BE(this._offset) this._offset += 4 let n = this._buff.slice(this._offset, this._offset + e).toString() return (this._offset += e), n } writeBuffer(e) { this._buff.writeUInt32BE(e.byteLength, this._offset), (this._offset += 4), this._buff.set(e, this._offset), (this._offset += e.byteLength) } static sizeVSBuffer(e) { return 4 + e.byteLength } writeVSBuffer(e) { this._buff.writeUInt32BE(e.byteLength, this._offset), (this._offset += 4), this._buff.set(e, this._offset), (this._offset += e.byteLength) } readVSBuffer() { let e = this._buff.readUInt32BE(this._offset) this._offset += 4 let t = this._buff.slice(this._offset, this._offset + e) return (this._offset += e), t } static sizeMixedArray(e) { let t = 0 t += 1 for (let n = 0, r = e.length; n < r; n++) { let i = e[n] switch (((t += 1), i.type)) { case 1: t += this.sizeLongString(i.value) break case 2: t += this.sizeVSBuffer(i.value) break case 3: ;(t += this.sizeUInt32), (t += this.sizeLongString(i.value)) for (let s = 0; s < i.buffers.length; ++s) t += this.sizeVSBuffer(i.buffers[s]) break case 4: break } } return t } writeMixedArray(e) { this._buff.writeUInt8(e.length, this._offset), (this._offset += 1) for (let t = 0, n = e.length; t < n; t++) { let r = e[t] switch (r.type) { case 1: this.writeUInt8(1), this.writeLongString(r.value) break case 2: this.writeUInt8(2), this.writeVSBuffer(r.value) break case 3: this.writeUInt8(3), this.writeUInt32(r.buffers.length), this.writeLongString(r.value) for (let i = 0; i < r.buffers.length; ++i) this.writeBuffer(r.buffers[i]) break case 4: this.writeUInt8(4) break } } } readMixedArray() { let e = this._buff.readUInt8(this._offset) this._offset += 1 let t = new Array(e) for (let n = 0; n < e; n++) switch (this.readUInt8()) { case 1: t[n] = this.readLongString() break case 2: t[n] = this.readVSBuffer() break case 3: { let i = this.readUInt32(), s = this.readLongString(), a = [] for (let l = 0; l < i; ++l) a.push(this.readVSBuffer()) t[n] = new Xt(IO(s, a, null)) break } case 4: t[n] = void 0 break } return t } } var Rr = class { static _useMixedArgSerialization(e) { for (let t = 0, n = e.length; t < n; t++) if (e[t] instanceof z || e[t] instanceof Xt || typeof e[t] > "u") return !0 return !1 } static serializeRequestArguments(e, t) { if (this._useMixedArgSerialization(e)) { let n = [] for (let r = 0, i = e.length; r < i; r++) { let s = e[r] if (s instanceof z) n[r] = { type: 2, value: s } else if (typeof s > "u") n[r] = { type: 4 } else if (s instanceof Xt) { let { jsonString: a, referencedBuffers: l } = hO(s.value, t) n[r] = { type: 3, value: z.fromString(a), buffers: l } } else n[r] = { type: 1, value: z.fromString(vO(s, t)) } } return { type: 1, args: n } } return { type: 0, args: vO(e, t) } } static serializeRequest(e, t, n, r, i) { switch (r.type) { case 0: return this._requestJSONArgs(e, t, n, r.args, i) case 1: return this._requestMixedArgs(e, t, n, r.args, i) } } static _requestJSONArgs(e, t, n, r, i) { let s = z.fromString(n), a = z.fromString(r), l = 0 ;(l += Kt.sizeUInt8()), (l += Kt.sizeShortString(s)), (l += Kt.sizeLongString(a)) let d = Kt.alloc(i ? 2 : 1, e, l) return d.writeUInt8(t), d.writeShortString(s), d.writeLongString(a), d.buffer } static deserializeRequestJSONArgs(e) { let t = e.readUInt8(), n = e.readShortString(), r = e.readLongString() return { rpcId: t, method: n, args: JSON.parse(r) } } static _requestMixedArgs(e, t, n, r, i) { let s = z.fromString(n), a = 0 ;(a += Kt.sizeUInt8()), (a += Kt.sizeShortString(s)), (a += Kt.sizeMixedArray(r)) let l = Kt.alloc(i ? 4 : 3, e, a) return l.writeUInt8(t), l.writeShortString(s), l.writeMixedArray(r), l.buffer } static deserializeRequestMixedArgs(e) { let t = e.readUInt8(), n = e.readShortString(), r = e.readMixedArray(), i = new Array(r.length) for (let s = 0, a = r.length; s < a; s++) { let l = r[s] typeof l == "string" ? (i[s] = JSON.parse(l)) : (i[s] = l) } return { rpcId: t, method: n, args: i } } static serializeAcknowledged(e) { return Kt.alloc(5, e, 0).buffer } static serializeCancel(e) { return Kt.alloc(6, e, 0).buffer } static serializeReplyOK(e, t, n) { if (typeof t > "u") return this._serializeReplyOKEmpty(e) if (t instanceof z) return this._serializeReplyOKVSBuffer(e, t) if (t instanceof Xt) { let { jsonString: r, referencedBuffers: i } = hO(t.value, n, !0) return this._serializeReplyOKJSONWithBuffers(e, r, i) } else return this._serializeReplyOKJSON(e, HE(t, n)) } static _serializeReplyOKEmpty(e) { return Kt.alloc(7, e, 0).buffer } static _serializeReplyOKVSBuffer(e, t) { let n = 0 n += Kt.sizeVSBuffer(t) let r = Kt.alloc(8, e, n) return r.writeVSBuffer(t), r.buffer } static deserializeReplyOKVSBuffer(e) { return e.readVSBuffer() } static _serializeReplyOKJSON(e, t) { let n = z.fromString(t), r = 0 r += Kt.sizeLongString(n) let i = Kt.alloc(9, e, r) return i.writeLongString(n), i.buffer } static _serializeReplyOKJSONWithBuffers(e, t, n) { let r = z.fromString(t), i = 0 ;(i += Kt.sizeUInt32), (i += Kt.sizeLongString(r)) for (let a of n) i += Kt.sizeVSBuffer(a) let s = Kt.alloc(10, e, i) s.writeUInt32(n.length), s.writeLongString(r) for (let a of n) s.writeBuffer(a) return s.buffer } static deserializeReplyOKJSON(e) { let t = e.readLongString() return JSON.parse(t) } static deserializeReplyOKJSONWithBuffers(e, t) { let n = e.readUInt32(), r = e.readLongString(), i = [] for (let s = 0; s < n; ++s) i.push(e.readVSBuffer()) return new Xt(IO(r, i, t)) } static serializeReplyErr(e, t) { let n = t ? HE(Po(t), null) : void 0 if (typeof n != "string") return this._serializeReplyErrEmpty(e) let r = z.fromString(n), i = 0 i += Kt.sizeLongString(r) let s = Kt.alloc(11, e, i) return s.writeLongString(r), s.buffer } static deserializeReplyErrError(e) { let t = e.readLongString() return JSON.parse(t) } static _serializeReplyErrEmpty(e) { return Kt.alloc(12, e, 0).buffer } } var sa = class { constructor(e) { this._totalIncoming = 0 this._totalOutgoing = 0 this._writeStream = null this._logQueue = [] this._isInitialized = !1 this._isDisposed = !1 this._processInterval = null this._isEnabled = !1 if (!this._isEnabled) return ;(this._logDir = BE.join(xO.homedir(), ".ext_host", "log")), this._ensureLogDirectoryExists() let t = new Date().toISOString().replace(/[:.]/g, "-").replace("T", "_").slice(0, 19), n = e ? `_${e}` : "" this._logFile = BE.join(this._logDir, `rpc${n}_${t}.log`) try { this._writeStream = kc.createWriteStream(this._logFile, { flags: "a" }) let r = new Date(), s = [ "-------------------------------------------------------------", "Extension Host RPC Protocol Logger", `Started at: ${this._formatTimestampWithMilliseconds(r)}`, `Log file: ${this._logFile}`, "-------------------------------------------------------------", "", ].join(` `) this._logQueue.push(s), this._startProcessingQueue(), (this._isInitialized = !0), console.log(`FileRPCProtocolLogger initialized, log file: ${this._logFile}`) } catch (r) { console.error("Failed to initialize FileRPCProtocolLogger", r) } } _ensureLogDirectoryExists() { if (this._logDir) try { kc.existsSync(this._logDir) || kc.mkdirSync(this._logDir, { recursive: !0 }) } catch (e) { console.error("Failed to create log directory", e) } } _startProcessingQueue() { this._processInterval = setInterval(() => { this._processQueue() }, 100) } _processQueue() { if (!(this._isDisposed || !this._writeStream || this._logQueue.length === 0)) try { let e = this._logQueue.splice(0, Math.min(50, this._logQueue.length)) for (let t of e) this._writeStream.write( t + ` `, ) } catch (e) { console.error("Failed to write log entries", e) } } logIncoming(e, t, n, r, i) { this._isInitialized && ((this._totalIncoming += e), this._logMessage("IDEA \u2192 Ext", this._totalIncoming, e, t, n, r, i)) } logOutgoing(e, t, n, r, i) { this._isInitialized && ((this._totalOutgoing += e), this._logMessage("Ext \u2192 IDEA", this._totalOutgoing, e, t, n, r, i)) } _logMessage(e, t, n, r, i, s, a) { try { let l = new Date(), d = this._formatTimestampWithMilliseconds(l), c = i === 0 ? "Local" : "Other", u = `[${d}] ` if ( ((u += `[${e}] `), (u += `[Total: ${String(t).padStart(7)}] `), (u += `[Len: ${String(n).padStart(5)}] `), (u += `[${String(r).padStart(5)}] `), (u += `[${c}] `), (u += s), a !== void 0) ) { let m = /\($/.test(s) ? `${this._stringify(a)})` : this._stringify(a) u += ` ${m}` } this._logQueue.push(u) } catch (l) { console.error("Failed to format log message", l) } } _stringify(e) { try { return JSON.stringify(e, null, 0) } catch { return String(e) } } dispose() { if (!this._isDisposed) { this._isDisposed = !0 try { this._processInterval && (clearInterval(this._processInterval), (this._processInterval = null)), this._processQueue() let e = new Date(), n = [ "-------------------------------------------------------------", "Extension Host RPC Protocol Logger", `Ended at: ${this._formatTimestampWithMilliseconds(e)}`, `Total incoming: ${this._totalIncoming} bytes`, `Total outgoing: ${this._totalOutgoing} bytes`, "-------------------------------------------------------------", ].join(` `) this._writeStream && (this._writeStream.write( n + ` `, ), this._writeStream.end(), (this._writeStream = null)), console.log("FileRPCProtocolLogger disposed") } catch (e) { console.error("Failed to dispose FileRPCProtocolLogger", e) } } } _formatTimestampWithMilliseconds(e) { let t = e.getFullYear(), n = String(e.getMonth() + 1).padStart(2, "0"), r = String(e.getDate()).padStart(2, "0"), i = String(e.getHours()).padStart(2, "0"), s = String(e.getMinutes()).padStart(2, "0"), a = String(e.getSeconds()).padStart(2, "0"), l = String(e.getMilliseconds()).padStart(3, "0") return `${t}-${n}-${r} ${i}:${s}:${a}.${l}` } } function CO(o) { return (e, t, n) => { let r = null, i = null if ( (typeof n.value == "function" ? ((r = "value"), (i = n.value)) : typeof n.get == "function" && ((r = "get"), (i = n.get)), !i || typeof t == "symbol") ) throw new Error("not supported") n[r] = o(i, t) } } function qv(o, e, t) { let n = null, r = null if ( (typeof t.value == "function" ? ((n = "value"), (r = t.value), r.length !== 0 && console.warn("Memoize should only be used in functions with zero parameters")) : typeof t.get == "function" && ((n = "get"), (r = t.get)), !r) ) throw new Error("not supported") let i = `$memoize$${e}` t[n] = function (...s) { return ( this.hasOwnProperty(i) || Object.defineProperty(this, i, { configurable: !1, enumerable: !1, writable: !1, value: r.apply(this, s), }), this[i] ) } } function Ml(o, e, t) { return CO((n, r) => { let i = `$debounce$${r}`, s = `$debounce$result$${r}` return function (...a) { this[s] || (this[s] = t ? t() : void 0), clearTimeout(this[i]), e && ((this[s] = e(this[s], ...a)), (a = [this[s]])), (this[i] = setTimeout(() => { n.apply(this, a), (this[s] = t ? t() : void 0) }, o)) } }) } function SO(o, e, t) { return CO((n, r) => { let i = `$throttle$timer$${r}`, s = `$throttle$result$${r}`, a = `$throttle$lastRun$${r}`, l = `$throttle$pending$${r}` return function (...d) { if ( (this[s] || (this[s] = t ? t() : void 0), (this[a] === null || this[a] === void 0) && (this[a] = -Number.MAX_VALUE), e && (this[s] = e(this[s], ...d)), this[l]) ) return let c = this[a] + o c <= Date.now() ? ((this[a] = Date.now()), n.apply(this, [this[s]]), (this[s] = t ? t() : void 0)) : ((this[l] = !0), (this[i] = setTimeout(() => { ;(this[l] = !1), (this[a] = Date.now()), n.apply(this, [this[s]]), (this[s] = t ? t() : void 0) }, c - Date.now()))) } }) } function TO(o) { return JSON.stringify(o, r5) } function Kv(o) { let e = JSON.parse(o) return (e = ut(e)), e } function r5(o, e) { return e instanceof RegExp ? { $mid: 2, source: e.source, flags: e.flags } : e } function ut(o, e = 0) { if (!o || e > 200) return o if (typeof o == "object") { switch (o.$mid) { case 1: return y.revive(o) case 2: return new RegExp(o.source, o.flags) case 17: return new Date(o.source) } if (o instanceof z || o instanceof Uint8Array) return o if (Array.isArray(o)) for (let t = 0; t < o.length; ++t) o[t] = ut(o[t], e + 1) else for (let t in o) Object.hasOwnProperty.call(o, t) && (o[t] = ut(o[t], e + 1)) } return o } function EO(o) { switch (o) { case 100: return "req" case 101: return "cancel" case 102: return "subscribe" case 103: return "unsubscribe" } } function wO(o) { switch (o) { case 200: return "init" case 201: return "reply:" case 202: case 203: return "replyErr:" case 204: return "event:" } } function Rc(o) { let e = 0 for (let t = 0; ; t += 7) { let n = o.read(1) if (((e |= (n.buffer[0] & 127) << t), !(n.buffer[0] & 128))) return e } } var o5 = aa(0) function Ac(o, e) { if (e === 0) { o.write(o5) return } let t = 0 for (let r = e; r !== 0; r = r >>> 7) t++ let n = z.alloc(t) for (let r = 0; e !== 0; r++) (n.buffer[r] = e & 127), (e = e >>> 7), e > 0 && (n.buffer[r] |= 128) o.write(n) } var $E = class { constructor(e) { this.buffer = e this.pos = 0 } read(e) { let t = this.buffer.slice(this.pos, this.pos + e) return (this.pos += t.byteLength), t } }, zE = class { constructor() { this.buffers = [] } get buffer() { return z.concat(this.buffers) } write(e) { this.buffers.push(e) } } function aa(o) { let e = z.alloc(1) return e.writeUInt8(o, 0), e } var Fl = { Undefined: aa(0), String: aa(1), Buffer: aa(2), VSBuffer: aa(3), Array: aa(4), Object: aa(5), Uint: aa(6) }, i5 = typeof Buffer < "u" function qE(o, e) { if (typeof e > "u") o.write(Fl.Undefined) else if (typeof e == "string") { let t = z.fromString(e) o.write(Fl.String), Ac(o, t.byteLength), o.write(t) } else if (i5 && Buffer.isBuffer(e)) { let t = z.wrap(e) o.write(Fl.Buffer), Ac(o, t.byteLength), o.write(t) } else if (e instanceof z) o.write(Fl.VSBuffer), Ac(o, e.byteLength), o.write(e) else if (Array.isArray(e)) { o.write(Fl.Array), Ac(o, e.length) for (let t of e) qE(o, t) } else if (typeof e == "number" && (e | 0) === e) o.write(Fl.Uint), Ac(o, e) else { let t = z.fromString(JSON.stringify(e)) o.write(Fl.Object), Ac(o, t.byteLength), o.write(t) } } function KE(o) { switch (o.read(1).readUInt8(0)) { case 0: return case 1: return o.read(Rc(o)).toString() case 2: return o.read(Rc(o)).buffer case 3: return o.read(Rc(o)) case 4: { let t = Rc(o), n = [] for (let r = 0; r < t; r++) n.push(KE(o)) return n } case 5: return JSON.parse(o.read(Rc(o)).toString()) case 6: return Rc(o) } } var Cf = class { constructor(e, t = null) { this.protocol = e this.isDisposed = !1 this.state = 0 this.activeRequests = new Set() this.handlers = new Map() this.lastRequestId = 0 this._onDidInitialize = new E() this.onDidInitialize = this._onDidInitialize.event ;(this.protocolListener = this.protocol.onMessage((n) => this.onBuffer(n))), (this.logger = t) } getChannel(e) { let t = this return { call(n, r, i) { return t.isDisposed ? Promise.reject(new xt()) : t.requestPromise(e, n, r, i) }, listen(n, r) { return t.isDisposed ? Te.None : t.requestEvent(e, n, r) }, } } requestPromise(e, t, n, r = De.None) { let i = this.lastRequestId++, a = { id: i, type: 100, channelName: e, name: t, arg: n } if (r.isCancellationRequested) return Promise.reject(new xt()) let l, d return new Promise((u, m) => { if (r.isCancellationRequested) return m(new xt()) let f = () => { let I = (C) => { switch (C.type) { case 201: this.handlers.delete(i), u(C.data) break case 202: { this.handlers.delete(i) let T = new Error(C.data.message) ;(T.stack = Array.isArray(C.data.stack) ? C.data.stack.join(` `) : C.data.stack), (T.name = C.data.name), m(T) break } case 203: this.handlers.delete(i), m(C.data) break } } this.handlers.set(i, I), this.sendRequest(a) }, h = null this.state === 1 ? f() : ((h = kr((I) => this.whenInitialized())), h.then(() => { ;(h = null), f() })) let g = () => { h ? (h.cancel(), (h = null)) : this.sendRequest({ id: i, type: 101 }), m(new xt()) } ;(l = r.onCancellationRequested(g)), (d = { dispose: zi(() => { g(), l.dispose() }), }), this.activeRequests.add(d) }).finally(() => { l?.dispose(), this.activeRequests.delete(d) }) } requestEvent(e, t, n) { let r = this.lastRequestId++, s = { id: r, type: 102, channelName: e, name: t, arg: n }, a = null, l = new E({ onWillAddFirstListener: () => { let c = () => { this.activeRequests.add(l), this.sendRequest(s) } this.state === 1 ? c() : ((a = kr((u) => this.whenInitialized())), a.then(() => { ;(a = null), c() })) }, onDidRemoveLastListener: () => { a ? (a.cancel(), (a = null)) : (this.activeRequests.delete(l), this.sendRequest({ id: r, type: 103 })) }, }), d = (c) => l.fire(c.data) return this.handlers.set(r, d), l.event } sendRequest(e) { switch (e.type) { case 100: case 102: { let t = this.send([e.type, e.id, e.channelName, e.name], e.arg) this.logger?.logOutgoing(t, e.id, 0, `${EO(e.type)}: ${e.channelName}.${e.name}`, e.arg) return } case 101: case 103: { let t = this.send([e.type, e.id]) this.logger?.logOutgoing(t, e.id, 0, EO(e.type)) return } } } send(e, t = void 0) { let n = new zE() return qE(n, e), qE(n, t), this.sendBuffer(n.buffer) } sendBuffer(e) { try { return this.protocol.send(e), e.byteLength } catch { return 0 } } onBuffer(e) { let t = new $E(e), n = KE(t), r = KE(t), i = n[0] switch (i) { case 200: return this.logger?.logIncoming(e.byteLength, 0, 0, wO(i)), this.onResponse({ type: n[0] }) case 201: case 202: case 204: case 203: return ( this.logger?.logIncoming(e.byteLength, n[1], 0, wO(i), r), this.onResponse({ type: n[0], id: n[1], data: r }) ) } } onResponse(e) { if (e.type === 200) { ;(this.state = 1), this._onDidInitialize.fire() return } this.handlers.get(e.id)?.(e) } get onDidInitializePromise() { return Te.toPromise(this.onDidInitialize) } whenInitialized() { return this.state === 1 ? Promise.resolve() : this.onDidInitializePromise } dispose() { ;(this.isDisposed = !0), this.protocolListener && (this.protocolListener.dispose(), (this.protocolListener = null)), Fn(this.activeRequests.values()), this.activeRequests.clear() } } R([qv], Cf.prototype, "onDidInitializePromise", 1) function PO(o) { let e = !1 return { call(t, n, r) { return e ? o.call(t, n, r) : Wt(0) .then(() => (e = !0)) .then(() => o.call(t, n, r)) }, listen(t, n) { if (e) return o.listen(t, n) let r = new nv() return ( Wt(0) .then(() => (e = !0)) .then(() => (r.input = o.listen(t, n))), r.event ) }, } } var jE ;((r) => { function o(i, s, a) { let l = i, d = a && a.disableMarshalling, c = new Map() for (let u in l) t(u) && c.set(u, Te.buffer(l[u], !0, void 0, s)) return new (class { listen(u, m, f) { let h = c.get(m) if (h) return h let g = l[m] if (typeof g == "function") { if (n(m)) return g.call(l, f) if (t(m)) return c.set(m, Te.buffer(l[m], !0, void 0, s)), c.get(m) } throw new Kn(`Event not found: ${m}`) } call(u, m, f) { let h = l[m] if (typeof h == "function") { if (!d && Array.isArray(f)) for (let I = 0; I < f.length; I++) f[I] = ut(f[I]) let g = h.apply(l, f) return g instanceof Promise || (g = Promise.resolve(g)), g } throw new Kn(`Method not found: ${m}`) } })() } r.fromService = o function e(i, s) { let a = s && s.disableMarshalling return new Proxy( {}, { get(l, d) { if (typeof d == "string") return s?.properties?.has(d) ? s.properties.get(d) : n(d) ? function (c) { return i.listen(d, c) } : t(d) ? i.listen(d) : async function (...c) { let u s && !bt(s.context) ? (u = [s.context, ...c]) : (u = c) let m = await i.call(d, u) return a ? m : ut(m) } throw new Kn(`Property not found: ${String(d)}`) }, }, ) } r.toService = e function t(i) { return i[0] === "o" && i[1] === "n" && uE(i.charCodeAt(2)) } function n(i) { return /^onDynamic/.test(i) && uE(i.charCodeAt(9)) } })((jE ||= {})) var Tf ;((s) => { ;(s.enableDiagnostics = !1), (s.records = []) let t = new WeakMap(), n = 0 function r(a, l) { if (!t.has(a)) { let d = String(++n) t.set(a, d) } return t.get(a) } function i(a, l, d, c) {} s.traceSocketEvent = i })((Tf ||= {})) var GE = null function la() { return GE || (GE = z.alloc(0)), GE } var Sf = class { get byteLength() { return this._totalLength } constructor() { ;(this._chunks = []), (this._totalLength = 0) } acceptChunk(e) { this._chunks.push(e), (this._totalLength += e.byteLength) } read(e) { return this._read(e, !0) } peek(e) { return this._read(e, !1) } _read(e, t) { if (e === 0) return la() if (e > this._totalLength) throw new Error("Cannot read so many bytes!") if (this._chunks[0].byteLength === e) { let s = this._chunks[0] return t && (this._chunks.shift(), (this._totalLength -= e)), s } if (this._chunks[0].byteLength > e) { let s = this._chunks[0].slice(0, e) return t && ((this._chunks[0] = this._chunks[0].slice(e)), (this._totalLength -= e)), s } let n = z.alloc(e), r = 0, i = 0 for (; e > 0; ) { let s = this._chunks[i] if (s.byteLength > e) { let a = s.slice(0, e) n.set(a, r), (r += e), t && ((this._chunks[i] = s.slice(e)), (this._totalLength -= e)), (e -= e) } else n.set(s, r), (r += s.byteLength), t ? (this._chunks.shift(), (this._totalLength -= s.byteLength)) : i++, (e -= s.byteLength) } return n } } function _O(o) { switch (o) { case 0: return "None" case 1: return "Regular" case 2: return "Control" case 3: return "Ack" case 5: return "Disconnect" case 6: return "ReplayRequest" case 7: return "PauseWriting" case 8: return "ResumeWriting" case 9: return "KeepAlive" } } var ao = class { constructor(e, t, n, r) { this.type = e this.id = t this.ack = n this.data = r this.writtenTime = 0 } get size() { return this.data.byteLength } }, jv = class extends $ { constructor(t) { super() this._onMessage = this._register(new E()) this.onMessage = this._onMessage.event this._state = { readHead: !0, readLen: 13, messageType: 0, id: 0, ack: 0 } ;(this._socket = t), (this._isDisposed = !1), (this._incomingData = new Sf()), this._register(this._socket.onData((n) => this.acceptChunk(n))), (this.lastReadTime = Date.now()) } acceptChunk(t) { if (!t || t.byteLength === 0) { gt.logIncoming(0, 0, 0, "Accept chunk: empty buffer") return } for ( gt.logIncoming( 0, 0, 0, "Accept chunk: " + t.byteLength + ", read head: " + this._state.readHead + ", read len: " + this._state.readLen, ), this.lastReadTime = Date.now(), this._incomingData.acceptChunk(t); this._incomingData.byteLength >= this._state.readLen; ) { let n = this._incomingData.read(this._state.readLen) if (this._state.readHead) (this._state.readHead = !1), (this._state.readLen = n.readUInt32BE(9)), (this._state.messageType = n.readUInt8(0)), (this._state.id = n.readUInt32BE(1)), (this._state.ack = n.readUInt32BE(5)), gt.logIncoming(0, 0, 0, "Protocol header read: " + this._state.id), this._socket.traceSocketEvent("protocolHeaderRead", { messageType: _O(this._state.messageType), id: this._state.id, ack: this._state.ack, messageSize: this._state.readLen, }) else { let r = this._state.messageType, i = this._state.id, s = this._state.ack if ( ((this._state.readHead = !0), (this._state.readLen = 13), (this._state.messageType = 0), (this._state.id = 0), (this._state.ack = 0), gt.logIncoming(0, 0, 0, "Protocol message read: " + i + ", type: " + r + ", ack: " + s), this._socket.traceSocketEvent("protocolMessageRead", n), this._onMessage.fire(new ao(r, i, s, n)), this._isDisposed) ) break } } } readEntireBuffer() { return this._incomingData.read(this._incomingData.byteLength) } dispose() { ;(this._isDisposed = !0), super.dispose() } }, Gv = class { constructor(e) { this._writeNowTimeout = null ;(this._isDisposed = !1), (this._isPaused = !1), (this._socket = e), (this._data = []), (this._totalLength = 0), (this.lastWriteTime = 0) } dispose() { try { this.flush() } catch {} this._isDisposed = !0 } drain() { return this.flush(), this._socket.drain() } flush() { this._writeNow() } pause() { this._isPaused = !0 } resume() { ;(this._isPaused = !1), this._scheduleWriting() } write(e) { if (this._isDisposed) return ;(e.writtenTime = Date.now()), (this.lastWriteTime = Date.now()) let t = z.alloc(13) t.writeUInt8(e.type, 0), t.writeUInt32BE(e.id, 1), t.writeUInt32BE(e.ack, 5), t.writeUInt32BE(e.data.byteLength, 9), this._socket.traceSocketEvent("protocolHeaderWrite", { messageType: _O(e.type), id: e.id, ack: e.ack, messageSize: e.data.byteLength, }), this._socket.traceSocketEvent("protocolMessageWrite", e.data), this._writeSoon(t, e.data) } _bufferAdd(e, t) { let n = this._totalLength === 0 return this._data.push(e, t), (this._totalLength += e.byteLength + t.byteLength), n } _bufferTake() { let e = z.concat(this._data, this._totalLength) return (this._data.length = 0), (this._totalLength = 0), e } _writeSoon(e, t) { this._bufferAdd(e, t) && this._scheduleWriting() } _scheduleWriting() { this._writeNowTimeout || (this._writeNowTimeout = setTimeout(() => { ;(this._writeNowTimeout = null), this._writeNow() })) } _writeNow() { if (this._totalLength === 0 || this._isPaused) return let e = this._bufferTake() this._socket.traceSocketEvent("protocolWrite", { byteLength: e.byteLength }), this._socket.write(e) } } var ui = class { constructor() { this._hasListeners = !1 this._isDeliveringMessages = !1 this._bufferedMessages = [] ;(this._emitter = new E({ onWillAddFirstListener: () => { ;(this._hasListeners = !0), queueMicrotask(() => this._deliverMessages()) }, onDidRemoveLastListener: () => { this._hasListeners = !1 }, })), (this.event = this._emitter.event) } _deliverMessages() { if (!this._isDeliveringMessages) { for (this._isDeliveringMessages = !0; this._hasListeners && this._bufferedMessages.length > 0; ) this._emitter.fire(this._bufferedMessages.shift()) this._isDeliveringMessages = !1 } } fire(e) { this._hasListeners ? this._bufferedMessages.length > 0 ? this._bufferedMessages.push(e) : this._emitter.fire(e) : this._bufferedMessages.push(e) } flushBuffer() { this._bufferedMessages = [] } }, QE = class { constructor(e) { ;(this.data = e), (this.next = null) } }, JE = class { constructor() { ;(this._first = null), (this._last = null) } length() { let e = 0, t = this._first for (; t; ) (t = t.next), e++ return e } peek() { return this._first ? this._first.data : null } toArray() { let e = [], t = 0, n = this._first for (; n; ) (e[t++] = n.data), (n = n.next) return e } pop() { if (this._first) { if (this._first === this._last) { ;(this._first = null), (this._last = null) return } this._first = this._first.next } } push(e) { let t = new QE(e) if (!this._first) { ;(this._first = t), (this._last = t) return } ;(this._last.next = t), (this._last = t) } }, XE = class o { static { this._HISTORY_LENGTH = 10 } static { this._INSTANCE = null } static getInstance() { return o._INSTANCE || (o._INSTANCE = new o()), o._INSTANCE } constructor() { this.lastRuns = [] let e = Date.now() for (let t = 0; t < o._HISTORY_LENGTH; t++) this.lastRuns[t] = e - 1e3 * t setInterval(() => { for (let t = o._HISTORY_LENGTH; t >= 1; t--) this.lastRuns[t] = this.lastRuns[t - 1] this.lastRuns[0] = Date.now() }, 1e3) } load() { let e = Date.now(), t = (1 + o._HISTORY_LENGTH) * 1e3, n = 0 for (let r = 0; r < o._HISTORY_LENGTH; r++) e - this.lastRuns[r] <= t && n++ return 1 - n / o._HISTORY_LENGTH } hasHighLoad() { return this.load() >= 0.5 } }, Nl = class { constructor(e) { this._onControlMessage = new ui() this.onControlMessage = this._onControlMessage.event this._onMessage = new ui() this.onMessage = this._onMessage.event this._onDidDispose = new ui() this.onDidDispose = this._onDidDispose.event this._onSocketClose = new ui() this.onSocketClose = this._onSocketClose.event this._onSocketTimeout = new ui() this.onSocketTimeout = this._onSocketTimeout.event ;(this._loadEstimator = e.loadEstimator ?? XE.getInstance()), (this._shouldSendKeepAlive = e.sendKeepAlive ?? !0), (this._isReconnecting = !1), (this._outgoingUnackMsg = new JE()), (this._outgoingMsgId = 0), (this._outgoingAckId = 0), (this._outgoingAckTimeout = null), (this._incomingMsgId = 0), (this._incomingAckId = 0), (this._incomingMsgLastTime = 0), (this._incomingAckTimeout = null), (this._lastReplayRequestTime = 0), (this._lastSocketTimeoutTime = Date.now()), (this._socketDisposables = new Q()), (this._socket = e.socket), (this._socketWriter = this._socketDisposables.add(new Gv(this._socket))), (this._socketReader = this._socketDisposables.add(new jv(this._socket))), this._socketDisposables.add(this._socketReader.onMessage((t) => this._receiveMessage(t))), this._socketDisposables.add(this._socket.onClose((t) => this._onSocketClose.fire(t))), (this._fileLogger = new sa("PersistentProtocol")), e.initialChunk && this._socketReader.acceptChunk(e.initialChunk), this._shouldSendKeepAlive ? (this._keepAliveInterval = setInterval(() => { this._sendKeepAlive() }, 5e3)) : (this._keepAliveInterval = null) } get unacknowledgedCount() { return this._outgoingMsgId - this._outgoingAckId } dispose() { this._outgoingAckTimeout && (clearTimeout(this._outgoingAckTimeout), (this._outgoingAckTimeout = null)), this._incomingAckTimeout && (clearTimeout(this._incomingAckTimeout), (this._incomingAckTimeout = null)), this._keepAliveInterval && (clearInterval(this._keepAliveInterval), (this._keepAliveInterval = null)), this._socketDisposables.dispose() } drain() { return this._socketWriter.drain() } sendDisconnect() { if (!this._didSendDisconnect) { this._didSendDisconnect = !0 let e = new ao(5, 0, 0, la()) this._socketWriter.write(e), this._socketWriter.flush() } } sendPause() { let e = new ao(7, 0, 0, la()) this._socketWriter.write(e) } sendResume() { let e = new ao(8, 0, 0, la()) this._socketWriter.write(e) } pauseSocketWriting() { this._socketWriter.pause() } getSocket() { return this._socket } getMillisSinceLastIncomingData() { return Date.now() - this._socketReader.lastReadTime } beginAcceptReconnection(e, t) { this._fileLogger.logIncoming(0, 0, 0, "Begin accept reconnection"), (this._isReconnecting = !0), this._socketDisposables.dispose(), (this._socketDisposables = new Q()), this._onControlMessage.flushBuffer(), this._onSocketClose.flushBuffer(), this._onSocketTimeout.flushBuffer(), this._socket.dispose(), (this._lastReplayRequestTime = 0), (this._lastSocketTimeoutTime = Date.now()), (this._socket = e), (this._socketWriter = this._socketDisposables.add(new Gv(this._socket))), (this._socketReader = this._socketDisposables.add(new jv(this._socket))), this._socketDisposables.add(this._socketReader.onMessage((n) => this._receiveMessage(n))), this._socketDisposables.add(this._socket.onClose((n) => this._onSocketClose.fire(n))), this._socketReader.acceptChunk(t) } endAcceptReconnection() { this._fileLogger.logIncoming(0, 0, 0, "End accept reconnection"), (this._isReconnecting = !1), (this._incomingAckId = this._incomingMsgId) let e = new ao(3, 0, this._incomingAckId, la()) this._socketWriter.write(e) let t = this._outgoingUnackMsg.toArray() for (let n = 0, r = t.length; n < r; n++) this._socketWriter.write(t[n]) this._recvAckCheck() } acceptDisconnect() { this._onDidDispose.fire() } _receiveMessage(e) { if ( (this._fileLogger.logIncoming( 0, 0, 0, "Receive message: " + e.type + ", id: " + e.id + ", ack: " + e.ack + ", data: " + e.data.byteLength + ", _incomingMsgId: " + this._incomingMsgId, ), e.ack > this._outgoingAckId) ) { this._outgoingAckId = e.ack do { let t = this._outgoingUnackMsg.peek() if (t && t.id <= e.ack) this._outgoingUnackMsg.pop() else break } while (!0) } switch (e.type) { case 0: break case 1: { if (e.id > this._incomingMsgId) if (e.id !== this._incomingMsgId + 1) { let t = Date.now() t - this._lastReplayRequestTime > 1e4 && ((this._lastReplayRequestTime = t), this._socketWriter.write(new ao(6, 0, 0, la()))) } else (this._incomingMsgId = e.id), (this._incomingMsgLastTime = Date.now()), this._sendAckCheck(), this._onMessage.fire(e.data) break } case 2: { this._onControlMessage.fire(e.data) break } case 3: break case 5: { this._onDidDispose.fire() break } case 6: { let t = this._outgoingUnackMsg.toArray() for (let n = 0, r = t.length; n < r; n++) this._socketWriter.write(t[n]) this._recvAckCheck() break } case 7: { this._socketWriter.pause() break } case 8: { this._socketWriter.resume() break } case 9: break } } readEntireBuffer() { return this._socketReader.readEntireBuffer() } flush() { this._socketWriter.flush() } send(e) { let t = ++this._outgoingMsgId this._incomingAckId = this._incomingMsgId let n = new ao(1, t, this._incomingAckId, e) this._outgoingUnackMsg.push(n), this._isReconnecting || (this._socketWriter.write(n), this._recvAckCheck()) } sendControl(e) { let t = new ao(2, 0, 0, e) this._socketWriter.write(t) } _sendAckCheck() { if (this._incomingMsgId <= this._incomingAckId || this._incomingAckTimeout) return let e = Date.now() - this._incomingMsgLastTime if (e >= 2e3) { this._sendAck() return } this._incomingAckTimeout = setTimeout( () => { ;(this._incomingAckTimeout = null), this._sendAckCheck() }, 2e3 - e + 5, ) } _recvAckCheck() { if (this._outgoingMsgId <= this._outgoingAckId || this._outgoingAckTimeout || this._isReconnecting) return let e = this._outgoingUnackMsg.peek(), t = Date.now() - e.writtenTime, n = Date.now() - this._socketReader.lastReadTime, r = Date.now() - this._lastSocketTimeoutTime if (t >= 2e4 && n >= 2e4 && r >= 2e4 && !this._loadEstimator.hasHighLoad()) { ;(this._lastSocketTimeoutTime = Date.now()), this._onSocketTimeout.fire({ unacknowledgedMsgCount: this._outgoingUnackMsg.length(), timeSinceOldestUnacknowledgedMsg: t, timeSinceLastReceivedSomeData: n, }) return } let i = Math.max(2e4 - t, 2e4 - n, 2e4 - r, 500) this._outgoingAckTimeout = setTimeout(() => { ;(this._outgoingAckTimeout = null), this._recvAckCheck() }, i) } _sendAck() { if (this._incomingMsgId <= this._incomingAckId) return this._incomingAckId = this._incomingMsgId let e = new ao(3, 0, this._incomingAckId, la()) this._socketWriter.write(e) } _sendKeepAlive() { this._incomingAckId = this._incomingMsgId let e = new ao(9, 0, this._incomingAckId, la()) this._socketWriter.write(e) } } import { tmpdir as a5 } from "os" import { createDeflateRaw as l5, createInflateRaw as d5 } from "zlib" var He = (function () { if (typeof crypto.randomUUID == "function") return crypto.randomUUID.bind(crypto) let o = new Uint8Array(16), e = [] for (let t = 0; t < 256; t++) e.push(t.toString(16).padStart(2, "0")) return function () { crypto.getRandomValues(o), (o[6] = (o[6] & 15) | 64), (o[8] = (o[8] & 63) | 128) let n = 0, r = "" return ( (r += e[o[n++]]), (r += e[o[n++]]), (r += e[o[n++]]), (r += e[o[n++]]), (r += "-"), (r += e[o[n++]]), (r += e[o[n++]]), (r += "-"), (r += e[o[n++]]), (r += e[o[n++]]), (r += "-"), (r += e[o[n++]]), (r += e[o[n++]]), (r += "-"), (r += e[o[n++]]), (r += e[o[n++]]), (r += e[o[n++]]), (r += e[o[n++]]), (r += e[o[n++]]), (r += e[o[n++]]), r ) } })() var c5 = 3e4, ts = class { constructor(e, t = "") { this._canWrite = !0 ;(this.debugLabel = t), (this.socket = e), this.traceSocketEvent("created", { type: "NodeSocket" }), (this._errorListener = (r) => { if ((this.traceSocketEvent("error", { code: r?.code, message: r?.message }), r)) { if (r.code === "EPIPE") return Be(r) } }), this.socket.on("error", this._errorListener) let n ;(this._closeListener = (r) => { this.traceSocketEvent("close", { hadError: r }), (this._canWrite = !1), n && clearTimeout(n) }), this.socket.on("close", this._closeListener), (this._endListener = () => { this.traceSocketEvent("nodeEndReceived"), (this._canWrite = !1), (n = setTimeout(() => e.destroy(), c5)) }), this.socket.on("end", this._endListener) } traceSocketEvent(e, t) { Tf.traceSocketEvent(this.socket, this.debugLabel, e, t) } dispose() { this.socket.off("error", this._errorListener), this.socket.off("close", this._closeListener), this.socket.off("end", this._endListener), this.socket.destroy() } onData(e) { let t = (n) => { this.traceSocketEvent("read", n), e(z.wrap(n)) } return this.socket.on("data", t), { dispose: () => this.socket.off("data", t) } } onClose(e) { let t = (n) => { e({ type: 0, hadError: n, error: void 0 }) } return this.socket.on("close", t), { dispose: () => this.socket.off("close", t) } } onEnd(e) { let t = () => { e() } return this.socket.on("end", t), { dispose: () => this.socket.off("end", t) } } write(e) { if (!(this.socket.destroyed || !this._canWrite)) try { this.traceSocketEvent("write", e), this.socket.write(e.buffer, (t) => { if (t) { if (t.code === "EPIPE") return Be(t) } }) } catch (t) { if (t.code === "EPIPE") return Be(t) } } end() { this.traceSocketEvent("nodeEndSent"), this.socket.end() } drain() { return ( this.traceSocketEvent("nodeDrainBegin"), new Promise((e, t) => { if (this.socket.bufferSize === 0) { this.traceSocketEvent("nodeDrainEnd"), e() return } let n = () => { this.socket.off("close", n), this.socket.off("end", n), this.socket.off("error", n), this.socket.off("timeout", n), this.socket.off("drain", n), this.traceSocketEvent("nodeDrainEnd"), e() } this.socket.on("close", n), this.socket.on("end", n), this.socket.on("error", n), this.socket.on("timeout", n), this.socket.on("drain", n) }) ) } } var Qv = class extends $ { constructor(t, n, r, i) { super() this._onData = this._register(new E()) this._onClose = this._register(new E()) this._isEnded = !1 this._state = { state: 1, readLen: 2, fin: 0, compressed: !1, firstFrameOfMessage: !0, mask: 0, opcode: 0 } ;(this.socket = t), this.traceSocketEvent("created", { type: "WebSocketNodeSocket", permessageDeflate: n, inflateBytesLength: r?.byteLength || 0, recordInflateBytes: i, }), (this._flowManager = this._register(new YE(this, n, r, i, this._onData, (s, a) => this._write(s, a)))), this._register( this._flowManager.onError((s) => { console.error(s), Be(s), this._onClose.fire({ type: 0, hadError: !0, error: s }) }), ), (this._incomingData = new Sf()), this._register(this.socket.onData((s) => this._acceptChunk(s))), this._register( this.socket.onClose(async (s) => { this._flowManager.isProcessingReadQueue() && (await Te.toPromise(this._flowManager.onDidFinishProcessingReadQueue)), this._onClose.fire(s) }), ) } get permessageDeflate() { return this._flowManager.permessageDeflate } get recordedInflateBytes() { return this._flowManager.recordedInflateBytes } traceSocketEvent(t, n) { this.socket.traceSocketEvent(t, n) } dispose() { this._flowManager.isProcessingWriteQueue() ? this._register( this._flowManager.onDidFinishProcessingWriteQueue(() => { this.dispose() }), ) : (this.socket.dispose(), super.dispose()) } onData(t) { return this._onData.event(t) } onClose(t) { return this._onClose.event(t) } onEnd(t) { return this.socket.onEnd(t) } write(t) { let n = 0 for (; n < t.byteLength; ) this._flowManager.writeMessage(t.slice(n, Math.min(n + 262144, t.byteLength)), { compressed: !0, opcode: 2, }), (n += 262144) } _write(t, { compressed: n, opcode: r }) { if (this._isEnded) return this.traceSocketEvent("webSocketNodeSocketWrite", t) let i = 2 t.byteLength < 126 ? (i += 0) : t.byteLength < 2 ** 16 ? (i += 2) : (i += 8) let s = z.alloc(i), a = n ? 64 : 0, l = r & 15 if ((s.writeUInt8(128 | a | l, 0), t.byteLength < 126)) s.writeUInt8(t.byteLength, 1) else if (t.byteLength < 2 ** 16) { s.writeUInt8(126, 1) let d = 1 s.writeUInt8((t.byteLength >>> 8) & 255, ++d), s.writeUInt8((t.byteLength >>> 0) & 255, ++d) } else { s.writeUInt8(127, 1) let d = 1 s.writeUInt8(0, ++d), s.writeUInt8(0, ++d), s.writeUInt8(0, ++d), s.writeUInt8(0, ++d), s.writeUInt8((t.byteLength >>> 24) & 255, ++d), s.writeUInt8((t.byteLength >>> 16) & 255, ++d), s.writeUInt8((t.byteLength >>> 8) & 255, ++d), s.writeUInt8((t.byteLength >>> 0) & 255, ++d) } this.socket.write(z.concat([s, t])) } end() { ;(this._isEnded = !0), this.socket.end() } _acceptChunk(t) { if (t.byteLength !== 0) { for (this._incomingData.acceptChunk(t); this._incomingData.byteLength >= this._state.readLen; ) if (this._state.state === 1) { let n = this._incomingData.peek(this._state.readLen), r = n.readUInt8(0), i = (r & 128) >>> 7, s = (r & 64) >>> 6, a = r & 15, l = n.readUInt8(1), d = (l & 128) >>> 7, c = l & 127 ;(this._state.state = 2), (this._state.readLen = 2 + (d ? 4 : 0) + (c === 126 ? 2 : 0) + (c === 127 ? 8 : 0)), (this._state.fin = i), this._state.firstFrameOfMessage && (this._state.compressed = !!s), (this._state.firstFrameOfMessage = !!i), (this._state.mask = 0), (this._state.opcode = a), this.traceSocketEvent("webSocketNodeSocketPeekedHeader", { headerSize: this._state.readLen, compressed: this._state.compressed, fin: this._state.fin, opcode: this._state.opcode, }) } else if (this._state.state === 2) { let n = this._incomingData.read(this._state.readLen), r = n.readUInt8(1), i = (r & 128) >>> 7, s = r & 127, a = 1 s === 126 ? (s = n.readUInt8(++a) * 2 ** 8 + n.readUInt8(++a)) : s === 127 && (s = n.readUInt8(++a) * 0 + n.readUInt8(++a) * 0 + n.readUInt8(++a) * 0 + n.readUInt8(++a) * 0 + n.readUInt8(++a) * 2 ** 24 + n.readUInt8(++a) * 2 ** 16 + n.readUInt8(++a) * 2 ** 8 + n.readUInt8(++a)) let l = 0 i && (l = n.readUInt8(++a) * 2 ** 24 + n.readUInt8(++a) * 2 ** 16 + n.readUInt8(++a) * 2 ** 8 + n.readUInt8(++a)), (this._state.state = 3), (this._state.readLen = s), (this._state.mask = l), this.traceSocketEvent("webSocketNodeSocketPeekedHeader", { bodySize: this._state.readLen, compressed: this._state.compressed, fin: this._state.fin, mask: this._state.mask, opcode: this._state.opcode, }) } else if (this._state.state === 3) { let n = this._incomingData.read(this._state.readLen) this.traceSocketEvent("webSocketNodeSocketReadData", n), u5(n, this._state.mask), this.traceSocketEvent("webSocketNodeSocketUnmaskedData", n), (this._state.state = 1), (this._state.readLen = 2), (this._state.mask = 0), this._state.opcode <= 2 ? this._flowManager.acceptFrame(n, this._state.compressed, !!this._state.fin) : this._state.opcode === 9 && this._flowManager.writeMessage(n, { compressed: !1, opcode: 10 }) } } } async drain() { this.traceSocketEvent("webSocketNodeSocketDrainBegin"), this._flowManager.isProcessingWriteQueue() && (await Te.toPromise(this._flowManager.onDidFinishProcessingWriteQueue)), await this.socket.drain(), this.traceSocketEvent("webSocketNodeSocketDrainEnd") } }, YE = class extends $ { constructor(t, n, r, i, s, a) { super() this._tracer = t this._onData = s this._writeFn = a this._onError = this._register(new E()) this.onError = this._onError.event this._writeQueue = [] this._readQueue = [] this._onDidFinishProcessingReadQueue = this._register(new E()) this.onDidFinishProcessingReadQueue = this._onDidFinishProcessingReadQueue.event this._onDidFinishProcessingWriteQueue = this._register(new E()) this.onDidFinishProcessingWriteQueue = this._onDidFinishProcessingWriteQueue.event this._isProcessingWriteQueue = !1 this._isProcessingReadQueue = !1 n ? ((this._zlibInflateStream = this._register(new ZE(this._tracer, i, r, { windowBits: 15 }))), (this._zlibDeflateStream = this._register(new ew(this._tracer, { windowBits: 15 }))), this._register(this._zlibInflateStream.onError((l) => this._onError.fire(l))), this._register(this._zlibDeflateStream.onError((l) => this._onError.fire(l)))) : ((this._zlibInflateStream = null), (this._zlibDeflateStream = null)) } get permessageDeflate() { return !!(this._zlibInflateStream && this._zlibDeflateStream) } get recordedInflateBytes() { return this._zlibInflateStream ? this._zlibInflateStream.recordedInflateBytes : z.alloc(0) } writeMessage(t, n) { this._writeQueue.push({ data: t, options: n }), this._processWriteQueue() } async _processWriteQueue() { if (!this._isProcessingWriteQueue) { for (this._isProcessingWriteQueue = !0; this._writeQueue.length > 0; ) { let { data: t, options: n } = this._writeQueue.shift() if (this._zlibDeflateStream && n.compressed) { let r = await this._deflateMessage(this._zlibDeflateStream, t) this._writeFn(r, n) } else this._writeFn(t, { ...n, compressed: !1 }) } ;(this._isProcessingWriteQueue = !1), this._onDidFinishProcessingWriteQueue.fire() } } isProcessingWriteQueue() { return this._isProcessingWriteQueue } _deflateMessage(t, n) { return new Promise((r, i) => { t.write(n), t.flush((s) => r(s)) }) } acceptFrame(t, n, r) { this._readQueue.push({ data: t, isCompressed: n, isLastFrameOfMessage: r }), this._processReadQueue() } async _processReadQueue() { if (!this._isProcessingReadQueue) { for (this._isProcessingReadQueue = !0; this._readQueue.length > 0; ) { let t = this._readQueue.shift() if (this._zlibInflateStream && t.isCompressed) { let n = await this._inflateFrame(this._zlibInflateStream, t.data, t.isLastFrameOfMessage) this._onData.fire(n) } else this._onData.fire(t.data) } ;(this._isProcessingReadQueue = !1), this._onDidFinishProcessingReadQueue.fire() } } isProcessingReadQueue() { return this._isProcessingReadQueue } _inflateFrame(t, n, r) { return new Promise((i, s) => { t.write(n), r && t.write(z.fromByteArray([0, 0, 255, 255])), t.flush((a) => i(a)) }) } }, ZE = class extends $ { constructor(t, n, r, i) { super() this._tracer = t this._recordInflateBytes = n this._onError = this._register(new E()) this.onError = this._onError.event this._recordedInflateBytes = [] this._pendingInflateData = [] ;(this._zlibInflate = d5(i)), this._zlibInflate.on("error", (s) => { this._tracer.traceSocketEvent("zlibInflateError", { message: s?.message, code: s?.code }), this._onError.fire(s) }), this._zlibInflate.on("data", (s) => { this._tracer.traceSocketEvent("zlibInflateData", s), this._pendingInflateData.push(z.wrap(s)) }), r && (this._tracer.traceSocketEvent("zlibInflateInitialWrite", r.buffer), this._zlibInflate.write(r.buffer), this._zlibInflate.flush(() => { this._tracer.traceSocketEvent("zlibInflateInitialFlushFired"), (this._pendingInflateData.length = 0) })) } get recordedInflateBytes() { return this._recordInflateBytes ? z.concat(this._recordedInflateBytes) : z.alloc(0) } write(t) { this._recordInflateBytes && this._recordedInflateBytes.push(t.clone()), this._tracer.traceSocketEvent("zlibInflateWrite", t), this._zlibInflate.write(t.buffer) } flush(t) { this._zlibInflate.flush(() => { this._tracer.traceSocketEvent("zlibInflateFlushFired") let n = z.concat(this._pendingInflateData) ;(this._pendingInflateData.length = 0), t(n) }) } }, ew = class extends $ { constructor(t, n) { super() this._tracer = t this._onError = this._register(new E()) this.onError = this._onError.event this._pendingDeflateData = [] ;(this._zlibDeflate = l5({ windowBits: 15 })), this._zlibDeflate.on("error", (r) => { this._tracer.traceSocketEvent("zlibDeflateError", { message: r?.message, code: r?.code }), this._onError.fire(r) }), this._zlibDeflate.on("data", (r) => { this._tracer.traceSocketEvent("zlibDeflateData", r), this._pendingDeflateData.push(z.wrap(r)) }) } write(t) { this._tracer.traceSocketEvent("zlibDeflateWrite", t.buffer), this._zlibDeflate.write(t.buffer) } flush(t) { this._zlibDeflate.flush(2, () => { this._tracer.traceSocketEvent("zlibDeflateFlushFired") let n = z.concat(this._pendingDeflateData) ;(this._pendingDeflateData.length = 0), (n = n.slice(0, n.byteLength - 4)), t(n) }) } } function u5(o, e) { if (e === 0) return let t = o.byteLength >>> 2 for (let l = 0; l < t; l++) { let d = o.readUInt32BE(l * 4) o.writeUInt32BE(d ^ e, l * 4) } let n = t * 4, r = o.byteLength - n, i = (e >>> 24) & 255, s = (e >>> 16) & 255, a = (e >>> 8) & 255 r >= 1 && o.writeUInt8(o.readUInt8(n) ^ i, n), r >= 2 && o.writeUInt8(o.readUInt8(n + 1) ^ s, n + 1), r >= 3 && o.writeUInt8(o.readUInt8(n + 2) ^ a, n + 2) } var DO = process.env.XDG_RUNTIME_DIR, p5 = { 2: 107, 1: 103 } function RO() { let o = He() if (process.platform === "win32") return `\\\\.\\pipe\\vscode-ipc-${o}-sock` let e = process.platform !== "darwin" && DO ? DO : a5(), t = Fe(e, `vscode-ipc-${o}.sock`) return m5(t), t } function m5(o) { let e = p5[lv] typeof e == "number" && o.length >= e && console.warn(`WARNING: IPC handle "${o}" is longer than ${e} chars, try a shorter --user-data-dir`) } function je(o) { if (!o || typeof o != "object" || o instanceof RegExp) return o let e = Array.isArray(o) ? [] : {} return ( Object.entries(o).forEach(([t, n]) => { e[t] = n && typeof n == "object" ? je(n) : n }), e ) } function Jv(o) { if (!o || typeof o != "object") return o let e = [o] for (; e.length > 0; ) { let t = e.shift() Object.freeze(t) for (let n in t) if (AO.call(t, n)) { let r = t[n] typeof r == "object" && !Object.isFrozen(r) && !V0(r) && e.push(r) } } return o } var AO = Object.prototype.hasOwnProperty function ns(o, e) { return nw(o, e, new Set()) } function nw(o, e, t) { if (bt(o)) return o let n = e(o) if (typeof n < "u") return n if (Array.isArray(o)) { let r = [] for (let i of o) r.push(nw(i, e, t)) return r } if (dt(o)) { if (t.has(o)) throw new Error("Cannot clone recursive data-structure") t.add(o) let r = {} for (let i in o) AO.call(o, i) && (r[i] = nw(o[i], e, t)) return t.delete(o), r } return o } function fr(o, e, t = !0) { return dt(o) ? (dt(e) && Object.keys(e).forEach((n) => { n in o ? t && (dt(o[n]) && dt(e[n]) ? fr(o[n], e[n], t) : (o[n] = e[n])) : (o[n] = e[n]) }), o) : e } function nn(o, e) { if (o === e) return !0 if ( o == null || e === null || e === void 0 || typeof o != typeof e || typeof o != "object" || Array.isArray(o) !== Array.isArray(e) ) return !1 let t, n if (Array.isArray(o)) { if (o.length !== e.length) return !1 for (t = 0; t < o.length; t++) if (!nn(o[t], e[t])) return !1 } else { let r = [] for (n in o) r.push(n) r.sort() let i = [] for (n in e) i.push(n) if ((i.sort(), !nn(r, i))) return !1 for (t = 0; t < r.length; t++) if (!nn(o[r[t]], e[r[t]])) return !1 } return !0 } function rw(o) { let e = new Set() return JSON.stringify(o, (t, n) => { if (dt(n) || Array.isArray(n)) { if (e.has(n)) return "[Circular]" e.add(n) } return typeof n == "bigint" ? `[BigInt ${n.toString()}]` : n }) } function ow(o, e) { let t = e.toLowerCase(), n = Object.keys(o).find((r) => r.toLowerCase() === t) return n ? o[n] : o[e] } function iw(o, e) { let t = Object.create(null) for (let [n, r] of Object.entries(o)) e(n, r) && (t[n] = r) return t } var sw = { tabSize: 4, indentSize: 4, insertSpaces: !0, detectIndentation: !0, trimAutoWhitespace: !0, largeFileOptimizations: !0, bracketPairColorizationOptions: { enabled: !0, independentColorPoolPerBracketType: !1 }, } var aw = "`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?" function f5(o = "") { let e = "(-?\\d*\\.\\d\\w*)|([^" for (let t of aw) o.indexOf(t) >= 0 || (e += "\\" + t) return (e += "\\s]+)"), new RegExp(e, "g") } var g5 = f5() function lw(o) { let e = g5 if (o && o instanceof RegExp) if (o.global) e = o else { let t = "g" o.ignoreCase && (t += "i"), o.multiline && (t += "m"), o.unicode && (t += "u"), (e = new RegExp(o.source, t)) } return (e.lastIndex = 0), e } var OO = new ko() OO.unshift({ maxLen: 1e3, windowSize: 15, timeBudget: 150 }) function dw(o, e, t, n, r) { if (((e = lw(e)), r || (r = kt.first(OO)), t.length > r.maxLen)) { let d = o - r.maxLen / 2 return d < 0 ? (d = 0) : (n += d), (t = t.substring(d, o + r.maxLen / 2)), dw(o, e, t, n, r) } let i = Date.now(), s = o - 1 - n, a = -1, l = null for (let d = 1; !(Date.now() - i >= r.timeBudget); d++) { let c = s - r.windowSize * d e.lastIndex = Math.max(0, c) let u = h5(e, t, s, a) if ((!u && l) || ((l = u), c <= 0)) break a = c } if (l) { let d = { word: l[0], startColumn: n + 1 + l.index, endColumn: n + 1 + l.index + l[0].length } return (e.lastIndex = 0), d } return null } function h5(o, e, t, n) { let r for (; (r = o.exec(e)); ) { let i = r.index || 0 if (i <= t && o.lastIndex >= t) return r if (n > 0 && i > n) return null } return null } function cw(...o) { switch (o.length) { case 1: return p("contextkey.scanner.hint.didYouMean1", "Did you mean {0}?", o[0]) case 2: return p("contextkey.scanner.hint.didYouMean2", "Did you mean {0} or {1}?", o[0], o[1]) case 3: return p("contextkey.scanner.hint.didYouMean3", "Did you mean {0}, {1} or {2}?", o[0], o[1], o[2]) default: return } } var v5 = p("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote", "Did you forget to open or close the quote?"), b5 = p( "contextkey.scanner.hint.didYouForgetToEscapeSlash", "Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.", ), da = class o { constructor() { this._input = "" this._start = 0 this._current = 0 this._tokens = [] this._errors = [] this.stringRe = /[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy } static getLexeme(e) { switch (e.type) { case 0: return "(" case 1: return ")" case 2: return "!" case 3: return e.isTripleEq ? "===" : "==" case 4: return e.isTripleEq ? "!==" : "!=" case 5: return "<" case 6: return "<=" case 7: return ">=" case 8: return ">=" case 9: return "=~" case 10: return e.lexeme case 11: return "true" case 12: return "false" case 13: return "in" case 14: return "not" case 15: return "&&" case 16: return "||" case 17: return e.lexeme case 18: return e.lexeme case 19: return e.lexeme case 20: return "EOF" default: throw lc(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`) } } static { this._regexFlags = new Set(["i", "g", "s", "m", "y", "u"].map((e) => e.charCodeAt(0))) } static { this._keywords = new Map([ ["not", 14], ["in", 13], ["false", 12], ["true", 11], ]) } get errors() { return this._errors } reset(e) { return ( (this._input = e), (this._start = 0), (this._current = 0), (this._tokens = []), (this._errors = []), this ) } scan() { for (; !this._isAtEnd(); ) switch (((this._start = this._current), this._advance())) { case 40: this._addToken(0) break case 41: this._addToken(1) break case 33: if (this._match(61)) { let t = this._match(61) this._tokens.push({ type: 4, offset: this._start, isTripleEq: t }) } else this._addToken(2) break case 39: this._quotedString() break case 47: this._regex() break case 61: if (this._match(61)) { let t = this._match(61) this._tokens.push({ type: 3, offset: this._start, isTripleEq: t }) } else this._match(126) ? this._addToken(9) : this._error(cw("==", "=~")) break case 60: this._addToken(this._match(61) ? 6 : 5) break case 62: this._addToken(this._match(61) ? 8 : 7) break case 38: this._match(38) ? this._addToken(15) : this._error(cw("&&")) break case 124: this._match(124) ? this._addToken(16) : this._error(cw("||")) break case 32: case 13: case 9: case 10: case 160: break default: this._string() } return (this._start = this._current), this._addToken(20), Array.from(this._tokens) } _match(e) { return this._isAtEnd() || this._input.charCodeAt(this._current) !== e ? !1 : (this._current++, !0) } _advance() { return this._input.charCodeAt(this._current++) } _peek() { return this._isAtEnd() ? 0 : this._input.charCodeAt(this._current) } _addToken(e) { this._tokens.push({ type: e, offset: this._start }) } _error(e) { let t = this._start, n = this._input.substring(this._start, this._current), r = { type: 19, offset: this._start, lexeme: n } this._errors.push({ offset: t, lexeme: n, additionalInfo: e }), this._tokens.push(r) } _string() { this.stringRe.lastIndex = this._start let e = this.stringRe.exec(this._input) if (e) { this._current = this._start + e[0].length let t = this._input.substring(this._start, this._current), n = o._keywords.get(t) n ? this._addToken(n) : this._tokens.push({ type: 17, lexeme: t, offset: this._start }) } } _quotedString() { for (; this._peek() !== 39 && !this._isAtEnd(); ) this._advance() if (this._isAtEnd()) { this._error(v5) return } this._advance(), this._tokens.push({ type: 18, lexeme: this._input.substring(this._start + 1, this._current - 1), offset: this._start + 1, }) } _regex() { let e = this._current, t = !1, n = !1 for (;;) { if (e >= this._input.length) { ;(this._current = e), this._error(b5) return } let i = this._input.charCodeAt(e) if (t) t = !1 else if (i === 47 && !n) { e++ break } else i === 91 ? (n = !0) : i === 92 ? (t = !0) : i === 93 && (n = !1) e++ } for (; e < this._input.length && o._regexFlags.has(this._input.charCodeAt(e)); ) e++ this._current = e let r = this._input.substring(this._start, this._current) this._tokens.push({ type: 10, lexeme: r, offset: this._start }) } _isAtEnd() { return this._current >= this._input.length } } var No ;((r) => { ;(r.serviceIds = new Map()), (r.DI_TARGET = "$di$target"), (r.DI_DEPENDENCIES = "$di$dependencies") function n(i) { return i[r.DI_DEPENDENCIES] || [] } r.getServiceDependencies = n })((No ||= {})) var Uo = O("instantiationService") function y5(o, e, t) { e[No.DI_TARGET] === e ? e[No.DI_DEPENDENCIES].push({ id: o, index: t }) : ((e[No.DI_DEPENDENCIES] = [{ id: o, index: t }]), (e[No.DI_TARGET] = e)) } function O(o) { if (No.serviceIds.has(o)) return No.serviceIds.get(o) let e = function (t, n, r) { if (arguments.length !== 3) throw new Error("@IServiceName-decorator can only be used to decorate a parameter") y5(e, t, r) } return (e.toString = () => o), No.serviceIds.set(o, e), e } var An = new Map() An.set("false", !1) An.set("true", !0) An.set("isMac", st) An.set("isLinux", Ve) An.set("isWindows", Ie) An.set("isWeb", Ro) An.set("isMacNative", st && !Ro) An.set("isEdge", uv) An.set("isFirefox", aA) An.set("isChrome", of) An.set("isSafari", lA) var I5 = Object.prototype.hasOwnProperty var x5 = { regexParsingWithErrorRecovery: !0 }, C5 = p("contextkey.parser.error.emptyString", "Empty context key expression"), S5 = p( "contextkey.parser.error.emptyString.hint", "Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively.", ), T5 = p("contextkey.parser.error.noInAfterNot", "'in' after 'not'."), LO = p("contextkey.parser.error.closingParenthesis", "closing parenthesis ')'"), E5 = p("contextkey.parser.error.unexpectedToken", "Unexpected token"), w5 = p("contextkey.parser.error.unexpectedToken.hint", "Did you forget to put && or || before the token?"), P5 = p("contextkey.parser.error.unexpectedEOF", "Unexpected end of expression"), _5 = p("contextkey.parser.error.unexpectedEOF.hint", "Did you forget to put a context key?"), Xv = class o { constructor(e = x5) { this._config = e this._scanner = new da() this._tokens = [] this._current = 0 this._parsingErrors = [] this._flagsGYRe = /g|y/g } static { this._parseError = new Error() } get lexingErrors() { return this._scanner.errors } get parsingErrors() { return this._parsingErrors } parse(e) { if (e === "") { this._parsingErrors.push({ message: C5, offset: 0, lexeme: "", additionalInfo: S5 }) return } ;(this._tokens = this._scanner.reset(e).scan()), (this._current = 0), (this._parsingErrors = []) try { let t = this._expr() if (!this._isAtEnd()) { let n = this._peek(), r = n.type === 17 ? w5 : void 0 throw ( (this._parsingErrors.push({ message: E5, offset: n.offset, lexeme: da.getLexeme(n), additionalInfo: r, }), o._parseError) ) } return t } catch (t) { if (t !== o._parseError) throw t return } } _expr() { return this._or() } _or() { let e = [this._and()] for (; this._matchOne(16); ) { let t = this._and() e.push(t) } return e.length === 1 ? e[0] : Lt.or(...e) } _and() { let e = [this._term()] for (; this._matchOne(15); ) { let t = this._term() e.push(t) } return e.length === 1 ? e[0] : Lt.and(...e) } _term() { if (this._matchOne(2)) { let e = this._peek() switch (e.type) { case 11: return this._advance(), Gn.INSTANCE case 12: return this._advance(), ir.INSTANCE case 0: { this._advance() let t = this._expr() return this._consume(1, LO), t?.negate() } case 17: return this._advance(), Wl.create(e.lexeme) default: throw this._errExpectedButGot("KEY | true | false | '(' expression ')'", e) } } return this._primary() } _primary() { let e = this._peek() switch (e.type) { case 11: return this._advance(), Lt.true() case 12: return this._advance(), Lt.false() case 0: { this._advance() let t = this._expr() return this._consume(1, LO), t } case 17: { let t = e.lexeme if ((this._advance(), this._matchOne(9))) { let r = this._peek() if (!this._config.regexParsingWithErrorRecovery) { if ((this._advance(), r.type !== 10)) throw this._errExpectedButGot("REGEX", r) let i = r.lexeme, s = i.lastIndexOf("/"), a = s === i.length - 1 ? void 0 : this._removeFlagsGY(i.substring(s + 1)), l try { l = new RegExp(i.substring(1, s), a) } catch { throw this._errExpectedButGot("REGEX", r) } return Rf.create(t, l) } switch (r.type) { case 10: case 19: { let i = [r.lexeme] this._advance() let s = this._peek(), a = 0 for (let m = 0; m < r.lexeme.length; m++) r.lexeme.charCodeAt(m) === 40 ? a++ : r.lexeme.charCodeAt(m) === 41 && a-- for (; !this._isAtEnd() && s.type !== 15 && s.type !== 16; ) { switch (s.type) { case 0: a++ break case 1: a-- break case 10: case 18: for (let m = 0; m < s.lexeme.length; m++) s.lexeme.charCodeAt(m) === 40 ? a++ : r.lexeme.charCodeAt(m) === 41 && a-- } if (a < 0) break i.push(da.getLexeme(s)), this._advance(), (s = this._peek()) } let l = i.join(""), d = l.lastIndexOf("/"), c = d === l.length - 1 ? void 0 : this._removeFlagsGY(l.substring(d + 1)), u try { u = new RegExp(l.substring(1, d), c) } catch { throw this._errExpectedButGot("REGEX", r) } return Lt.regex(t, u) } case 18: { let i = r.lexeme this._advance() let s = null if (!Qi(i)) { let a = i.indexOf("/"), l = i.lastIndexOf("/") if (a !== l && a >= 0) { let d = i.slice(a + 1, l), c = i[l + 1] === "i" ? "i" : "" try { s = new RegExp(d, c) } catch { throw this._errExpectedButGot("REGEX", r) } } } if (s === null) throw this._errExpectedButGot("REGEX", r) return Rf.create(t, s) } default: throw this._errExpectedButGot("REGEX", this._peek()) } } if (this._matchOne(14)) { this._consume(13, T5) let r = this._value() return Lt.notIn(t, r) } switch (this._peek().type) { case 3: { this._advance() let r = this._value() if (this._previous().type === 18) return Lt.equals(t, r) switch (r) { case "true": return Lt.has(t) case "false": return Lt.not(t) default: return Lt.equals(t, r) } } case 4: { this._advance() let r = this._value() if (this._previous().type === 18) return Lt.notEquals(t, r) switch (r) { case "true": return Lt.not(t) case "false": return Lt.has(t) default: return Lt.notEquals(t, r) } } case 5: return this._advance(), Df.create(t, this._value()) case 6: return this._advance(), kf.create(t, this._value()) case 7: return this._advance(), Oc.create(t, this._value()) case 8: return this._advance(), _f.create(t, this._value()) case 13: return this._advance(), Lt.in(t, this._value()) default: return Lt.has(t) } } case 20: throw ( (this._parsingErrors.push({ message: P5, offset: e.offset, lexeme: "", additionalInfo: _5 }), o._parseError) ) default: throw this._errExpectedButGot( `true | false | KEY | KEY '=~' REGEX | KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`, this._peek(), ) } } _value() { let e = this._peek() switch (e.type) { case 17: case 18: return this._advance(), e.lexeme case 11: return this._advance(), "true" case 12: return this._advance(), "false" case 13: return this._advance(), "in" default: return "" } } _removeFlagsGY(e) { return e.replaceAll(this._flagsGYRe, "") } _previous() { return this._tokens[this._current - 1] } _matchOne(e) { return this._check(e) ? (this._advance(), !0) : !1 } _advance() { return this._isAtEnd() || this._current++, this._previous() } _consume(e, t) { if (this._check(e)) return this._advance() throw this._errExpectedButGot(t, this._peek()) } _errExpectedButGot(e, t, n) { let r = p( "contextkey.parser.error.expectedButGot", `Expected: {0} Received: '{1}'.`, e, da.getLexeme(t), ), i = t.offset, s = da.getLexeme(t) return this._parsingErrors.push({ message: r, offset: i, lexeme: s, additionalInfo: n }), o._parseError } _check(e) { return this._peek().type === e } _peek() { return this._tokens[this._current] } _isAtEnd() { return this._peek().type === 20 } }, Lt = class { static false() { return Gn.INSTANCE } static true() { return ir.INSTANCE } static has(e) { return Hl.create(e) } static equals(e, t) { return wf.create(e, t) } static notEquals(e, t) { return Pf.create(e, t) } static regex(e, t) { return Rf.create(e, t) } static in(e, t) { return Yv.create(e, t) } static notIn(e, t) { return Zv.create(e, t) } static not(e) { return Wl.create(e) } static and(...e) { return eb.create(e, null, !0) } static or(...e) { return Af.create(e, null, !0) } static greater(e, t) { return Oc.create(e, t) } static greaterEquals(e, t) { return _f.create(e, t) } static smaller(e, t) { return Df.create(e, t) } static smallerEquals(e, t) { return kf.create(e, t) } static { this._parser = new Xv({ regexParsingWithErrorRecovery: !1 }) } static deserialize(e) { return e == null ? void 0 : this._parser.parse(e) } } function FO(o) { let e = new Xv({ regexParsingWithErrorRecovery: !1 }) return o.map( (t) => ( e.parse(t), e.lexingErrors.length > 0 ? e.lexingErrors.map((n) => ({ errorMessage: n.additionalInfo ? p( "contextkey.scanner.errorForLinterWithHint", "Unexpected token. Hint: {0}", n.additionalInfo, ) : p("contextkey.scanner.errorForLinter", "Unexpected token."), offset: n.offset, length: n.lexeme.length, })) : e.parsingErrors.length > 0 ? e.parsingErrors.map((n) => ({ errorMessage: n.additionalInfo ? `${n.message}. ${n.additionalInfo}` : n.message, offset: n.offset, length: n.lexeme.length, })) : [] ), ) } function Ef(o, e) { return o.cmp(e) } var Gn = class o { constructor() { this.type = 0 } static { this.INSTANCE = new o() } cmp(e) { return this.type - e.type } equals(e) { return e.type === this.type } substituteConstants() { return this } evaluate(e) { return !1 } serialize() { return "false" } keys() { return [] } map(e) { return this } negate() { return ir.INSTANCE } }, ir = class o { constructor() { this.type = 1 } static { this.INSTANCE = new o() } cmp(e) { return this.type - e.type } equals(e) { return e.type === this.type } substituteConstants() { return this } evaluate(e) { return !0 } serialize() { return "true" } keys() { return [] } map(e) { return this } negate() { return Gn.INSTANCE } }, Hl = class o { constructor(e, t) { this.key = e this.negated = t this.type = 2 } static create(e, t = null) { let n = An.get(e) return typeof n == "boolean" ? (n ? ir.INSTANCE : Gn.INSTANCE) : new o(e, t) } cmp(e) { return e.type !== this.type ? this.type - e.type : UO(this.key, e.key) } equals(e) { return e.type === this.type ? this.key === e.key : !1 } substituteConstants() { let e = An.get(this.key) return typeof e == "boolean" ? (e ? ir.INSTANCE : Gn.INSTANCE) : this } evaluate(e) { return !!e.getValue(this.key) } serialize() { return this.key } keys() { return [this.key] } map(e) { return e.mapDefined(this.key) } negate() { return this.negated || (this.negated = Wl.create(this.key, this)), this.negated } }, wf = class o { constructor(e, t, n) { this.key = e this.value = t this.negated = n this.type = 4 } static create(e, t, n = null) { if (typeof t == "boolean") return t ? Hl.create(e, n) : Wl.create(e, n) let r = An.get(e) return typeof r == "boolean" ? (t === (r ? "true" : "false") ? ir.INSTANCE : Gn.INSTANCE) : new o(e, t, n) } cmp(e) { return e.type !== this.type ? this.type - e.type : Vl(this.key, this.value, e.key, e.value) } equals(e) { return e.type === this.type ? this.key === e.key && this.value === e.value : !1 } substituteConstants() { let e = An.get(this.key) if (typeof e == "boolean") { let t = e ? "true" : "false" return this.value === t ? ir.INSTANCE : Gn.INSTANCE } return this } evaluate(e) { return e.getValue(this.key) == this.value } serialize() { return `${this.key} == '${this.value}'` } keys() { return [this.key] } map(e) { return e.mapEquals(this.key, this.value) } negate() { return this.negated || (this.negated = Pf.create(this.key, this.value, this)), this.negated } }, Yv = class o { constructor(e, t) { this.key = e this.valueKey = t this.type = 10 this.negated = null } static create(e, t) { return new o(e, t) } cmp(e) { return e.type !== this.type ? this.type - e.type : Vl(this.key, this.valueKey, e.key, e.valueKey) } equals(e) { return e.type === this.type ? this.key === e.key && this.valueKey === e.valueKey : !1 } substituteConstants() { return this } evaluate(e) { let t = e.getValue(this.valueKey), n = e.getValue(this.key) return Array.isArray(t) ? t.includes(n) : typeof n == "string" && typeof t == "object" && t !== null ? I5.call(t, n) : !1 } serialize() { return `${this.key} in '${this.valueKey}'` } keys() { return [this.key, this.valueKey] } map(e) { return e.mapIn(this.key, this.valueKey) } negate() { return this.negated || (this.negated = Zv.create(this.key, this.valueKey)), this.negated } }, Zv = class o { constructor(e, t) { this.key = e this.valueKey = t this.type = 11 this._negated = Yv.create(e, t) } static create(e, t) { return new o(e, t) } cmp(e) { return e.type !== this.type ? this.type - e.type : this._negated.cmp(e._negated) } equals(e) { return e.type === this.type ? this._negated.equals(e._negated) : !1 } substituteConstants() { return this } evaluate(e) { return !this._negated.evaluate(e) } serialize() { return `${this.key} not in '${this.valueKey}'` } keys() { return this._negated.keys() } map(e) { return e.mapNotIn(this.key, this.valueKey) } negate() { return this._negated } }, Pf = class o { constructor(e, t, n) { this.key = e this.value = t this.negated = n this.type = 5 } static create(e, t, n = null) { if (typeof t == "boolean") return t ? Wl.create(e, n) : Hl.create(e, n) let r = An.get(e) return typeof r == "boolean" ? (t === (r ? "true" : "false") ? Gn.INSTANCE : ir.INSTANCE) : new o(e, t, n) } cmp(e) { return e.type !== this.type ? this.type - e.type : Vl(this.key, this.value, e.key, e.value) } equals(e) { return e.type === this.type ? this.key === e.key && this.value === e.value : !1 } substituteConstants() { let e = An.get(this.key) if (typeof e == "boolean") { let t = e ? "true" : "false" return this.value === t ? Gn.INSTANCE : ir.INSTANCE } return this } evaluate(e) { return e.getValue(this.key) != this.value } serialize() { return `${this.key} != '${this.value}'` } keys() { return [this.key] } map(e) { return e.mapNotEquals(this.key, this.value) } negate() { return this.negated || (this.negated = wf.create(this.key, this.value, this)), this.negated } }, Wl = class o { constructor(e, t) { this.key = e this.negated = t this.type = 3 } static create(e, t = null) { let n = An.get(e) return typeof n == "boolean" ? (n ? Gn.INSTANCE : ir.INSTANCE) : new o(e, t) } cmp(e) { return e.type !== this.type ? this.type - e.type : UO(this.key, e.key) } equals(e) { return e.type === this.type ? this.key === e.key : !1 } substituteConstants() { let e = An.get(this.key) return typeof e == "boolean" ? (e ? Gn.INSTANCE : ir.INSTANCE) : this } evaluate(e) { return !e.getValue(this.key) } serialize() { return `!${this.key}` } keys() { return [this.key] } map(e) { return e.mapNot(this.key) } negate() { return this.negated || (this.negated = Hl.create(this.key, this)), this.negated } } function tb(o, e) { if (typeof o == "string") { let t = parseFloat(o) isNaN(t) || (o = t) } return typeof o == "string" || typeof o == "number" ? e(o) : Gn.INSTANCE } var Oc = class o { constructor(e, t, n) { this.key = e this.value = t this.negated = n this.type = 12 } static create(e, t, n = null) { return tb(t, (r) => new o(e, r, n)) } cmp(e) { return e.type !== this.type ? this.type - e.type : Vl(this.key, this.value, e.key, e.value) } equals(e) { return e.type === this.type ? this.key === e.key && this.value === e.value : !1 } substituteConstants() { return this } evaluate(e) { return typeof this.value == "string" ? !1 : parseFloat(e.getValue(this.key)) > this.value } serialize() { return `${this.key} > ${this.value}` } keys() { return [this.key] } map(e) { return e.mapGreater(this.key, this.value) } negate() { return this.negated || (this.negated = kf.create(this.key, this.value, this)), this.negated } }, _f = class o { constructor(e, t, n) { this.key = e this.value = t this.negated = n this.type = 13 } static create(e, t, n = null) { return tb(t, (r) => new o(e, r, n)) } cmp(e) { return e.type !== this.type ? this.type - e.type : Vl(this.key, this.value, e.key, e.value) } equals(e) { return e.type === this.type ? this.key === e.key && this.value === e.value : !1 } substituteConstants() { return this } evaluate(e) { return typeof this.value == "string" ? !1 : parseFloat(e.getValue(this.key)) >= this.value } serialize() { return `${this.key} >= ${this.value}` } keys() { return [this.key] } map(e) { return e.mapGreaterEquals(this.key, this.value) } negate() { return this.negated || (this.negated = Df.create(this.key, this.value, this)), this.negated } }, Df = class o { constructor(e, t, n) { this.key = e this.value = t this.negated = n this.type = 14 } static create(e, t, n = null) { return tb(t, (r) => new o(e, r, n)) } cmp(e) { return e.type !== this.type ? this.type - e.type : Vl(this.key, this.value, e.key, e.value) } equals(e) { return e.type === this.type ? this.key === e.key && this.value === e.value : !1 } substituteConstants() { return this } evaluate(e) { return typeof this.value == "string" ? !1 : parseFloat(e.getValue(this.key)) < this.value } serialize() { return `${this.key} < ${this.value}` } keys() { return [this.key] } map(e) { return e.mapSmaller(this.key, this.value) } negate() { return this.negated || (this.negated = _f.create(this.key, this.value, this)), this.negated } }, kf = class o { constructor(e, t, n) { this.key = e this.value = t this.negated = n this.type = 15 } static create(e, t, n = null) { return tb(t, (r) => new o(e, r, n)) } cmp(e) { return e.type !== this.type ? this.type - e.type : Vl(this.key, this.value, e.key, e.value) } equals(e) { return e.type === this.type ? this.key === e.key && this.value === e.value : !1 } substituteConstants() { return this } evaluate(e) { return typeof this.value == "string" ? !1 : parseFloat(e.getValue(this.key)) <= this.value } serialize() { return `${this.key} <= ${this.value}` } keys() { return [this.key] } map(e) { return e.mapSmallerEquals(this.key, this.value) } negate() { return this.negated || (this.negated = Oc.create(this.key, this.value, this)), this.negated } }, Rf = class o { constructor(e, t) { this.key = e this.regexp = t this.type = 7 this.negated = null } static create(e, t) { return new o(e, t) } cmp(e) { if (e.type !== this.type) return this.type - e.type if (this.key < e.key) return -1 if (this.key > e.key) return 1 let t = this.regexp ? this.regexp.source : "", n = e.regexp ? e.regexp.source : "" return t < n ? -1 : t > n ? 1 : 0 } equals(e) { if (e.type === this.type) { let t = this.regexp ? this.regexp.source : "", n = e.regexp ? e.regexp.source : "" return this.key === e.key && t === n } return !1 } substituteConstants() { return this } evaluate(e) { let t = e.getValue(this.key) return this.regexp ? this.regexp.test(t) : !1 } serialize() { let e = this.regexp ? `/${this.regexp.source}/${this.regexp.flags}` : "/invalid/" return `${this.key} =~ ${e}` } keys() { return [this.key] } map(e) { return e.mapRegex(this.key, this.regexp) } negate() { return this.negated || (this.negated = uw.create(this)), this.negated } }, uw = class o { constructor(e) { this._actual = e this.type = 8 } static create(e) { return new o(e) } cmp(e) { return e.type !== this.type ? this.type - e.type : this._actual.cmp(e._actual) } equals(e) { return e.type === this.type ? this._actual.equals(e._actual) : !1 } substituteConstants() { return this } evaluate(e) { return !this._actual.evaluate(e) } serialize() { return `!(${this._actual.serialize()})` } keys() { return this._actual.keys() } map(e) { return new o(this._actual.map(e)) } negate() { return this._actual } } function NO(o) { let e = null for (let t = 0, n = o.length; t < n; t++) { let r = o[t].substituteConstants() if (o[t] !== r && e === null) { e = [] for (let i = 0; i < t; i++) e[i] = o[i] } e !== null && (e[t] = r) } return e === null ? o : e } var eb = class o { constructor(e, t) { this.expr = e this.negated = t this.type = 6 } static create(e, t, n) { return o._normalizeArr(e, t, n) } cmp(e) { if (e.type !== this.type) return this.type - e.type if (this.expr.length < e.expr.length) return -1 if (this.expr.length > e.expr.length) return 1 for (let t = 0, n = this.expr.length; t < n; t++) { let r = Ef(this.expr[t], e.expr[t]) if (r !== 0) return r } return 0 } equals(e) { if (e.type === this.type) { if (this.expr.length !== e.expr.length) return !1 for (let t = 0, n = this.expr.length; t < n; t++) if (!this.expr[t].equals(e.expr[t])) return !1 return !0 } return !1 } substituteConstants() { let e = NO(this.expr) return e === this.expr ? this : o.create(e, this.negated, !1) } evaluate(e) { for (let t = 0, n = this.expr.length; t < n; t++) if (!this.expr[t].evaluate(e)) return !1 return !0 } static _normalizeArr(e, t, n) { let r = [], i = !1 for (let s of e) if (s) { if (s.type === 1) { i = !0 continue } if (s.type === 0) return Gn.INSTANCE if (s.type === 6) { r.push(...s.expr) continue } r.push(s) } if (r.length === 0 && i) return ir.INSTANCE if (r.length !== 0) { if (r.length === 1) return r[0] r.sort(Ef) for (let s = 1; s < r.length; s++) r[s - 1].equals(r[s]) && (r.splice(s, 1), s--) if (r.length === 1) return r[0] for (; r.length > 1; ) { let s = r[r.length - 1] if (s.type !== 9) break r.pop() let a = r.pop(), l = r.length === 0, d = Af.create( s.expr.map((c) => o.create([c, a], null, n)), null, l, ) d && (r.push(d), r.sort(Ef)) } if (r.length === 1) return r[0] if (n) { for (let s = 0; s < r.length; s++) for (let a = s + 1; a < r.length; a++) if (r[s].negate().equals(r[a])) return Gn.INSTANCE if (r.length === 1) return r[0] } return new o(r, t) } } serialize() { return this.expr.map((e) => e.serialize()).join(" && ") } keys() { let e = [] for (let t of this.expr) e.push(...t.keys()) return e } map(e) { return new o( this.expr.map((t) => t.map(e)), null, ) } negate() { if (!this.negated) { let e = [] for (let t of this.expr) e.push(t.negate()) this.negated = Af.create(e, this, !0) } return this.negated } }, Af = class o { constructor(e, t) { this.expr = e this.negated = t this.type = 9 } static create(e, t, n) { return o._normalizeArr(e, t, n) } cmp(e) { if (e.type !== this.type) return this.type - e.type if (this.expr.length < e.expr.length) return -1 if (this.expr.length > e.expr.length) return 1 for (let t = 0, n = this.expr.length; t < n; t++) { let r = Ef(this.expr[t], e.expr[t]) if (r !== 0) return r } return 0 } equals(e) { if (e.type === this.type) { if (this.expr.length !== e.expr.length) return !1 for (let t = 0, n = this.expr.length; t < n; t++) if (!this.expr[t].equals(e.expr[t])) return !1 return !0 } return !1 } substituteConstants() { let e = NO(this.expr) return e === this.expr ? this : o.create(e, this.negated, !1) } evaluate(e) { for (let t = 0, n = this.expr.length; t < n; t++) if (this.expr[t].evaluate(e)) return !0 return !1 } static _normalizeArr(e, t, n) { let r = [], i = !1 if (e) { for (let s = 0, a = e.length; s < a; s++) { let l = e[s] if (l) { if (l.type === 0) { i = !0 continue } if (l.type === 1) return ir.INSTANCE if (l.type === 9) { r = r.concat(l.expr) continue } r.push(l) } } if (r.length === 0 && i) return Gn.INSTANCE r.sort(Ef) } if (r.length !== 0) { if (r.length === 1) return r[0] for (let s = 1; s < r.length; s++) r[s - 1].equals(r[s]) && (r.splice(s, 1), s--) if (r.length === 1) return r[0] if (n) { for (let s = 0; s < r.length; s++) for (let a = s + 1; a < r.length; a++) if (r[s].negate().equals(r[a])) return ir.INSTANCE if (r.length === 1) return r[0] } return new o(r, t) } } serialize() { return this.expr.map((e) => e.serialize()).join(" || ") } keys() { let e = [] for (let t of this.expr) e.push(...t.keys()) return e } map(e) { return new o( this.expr.map((t) => t.map(e)), null, ) } negate() { if (!this.negated) { let e = [] for (let t of this.expr) e.push(t.negate()) for (; e.length > 1; ) { let t = e.shift(), n = e.shift(), r = [] for (let i of MO(t)) for (let s of MO(n)) r.push(eb.create([i, s], null, !1)) e.unshift(o.create(r, null, !1)) } this.negated = o.create(e, this, !0) } return this.negated } }, D = class o extends Hl { static { this._info = [] } static all() { return o._info.values() } constructor(e, t, n) { super(e, null), (this._defaultValue = t), typeof n == "object" ? o._info.push({ ...n, key: e }) : n !== !0 && o._info.push({ key: e, description: n, type: t != null ? typeof t : void 0 }) } bindTo(e) { return e.createKey(this.key, this._defaultValue) } getValue(e) { return e.getContextKeyValue(this.key) } toNegated() { return this.negate() } isEqualTo(e) { return wf.create(this.key, e) } notEqualsTo(e) { return Pf.create(this.key, e) } greater(e) { return Oc.create(this.key, e) } }, ca = O("contextKeyService") function UO(o, e) { return o < e ? -1 : o > e ? 1 : 0 } function Vl(o, e, t, n) { return o < t ? -1 : o > t ? 1 : e < n ? -1 : e > n ? 1 : 0 } function MO(o) { return o.type === 9 ? o.expr : [o] } var jK = O("accessibilityService") var GK = new D("accessibilityModeEnabled", !1) var Ar, pw = globalThis.vscode if (typeof pw < "u" && typeof pw.context < "u") { let o = pw.context.configuration() if (o) Ar = o.product else throw new Error("Sandbox: unable to resolve product configuration from preload script.") } else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) { if ( ((Ar = globalThis._VSCODE_PRODUCT_JSON), Er.VSCODE_DEV && Object.assign(Ar, { nameShort: `${Ar.nameShort} Dev`, nameLong: `${Ar.nameLong} Dev`, dataFolderName: `${Ar.dataFolderName}-dev`, serverDataFolderName: Ar.serverDataFolderName ? `${Ar.serverDataFolderName}-dev` : void 0, }), !Ar.version) ) { let o = globalThis._VSCODE_PACKAGE_JSON Object.assign(Ar, { version: o.version }) } } else (Ar = {}), Object.keys(Ar).length === 0 && Object.assign(Ar, { version: "1.95.0-dev", nameShort: "Code - OSS Dev", nameLong: "Code - OSS Dev", applicationName: "code-oss", dataFolderName: ".vscode-oss", urlProtocol: "code-oss", reportIssueUrl: "https://github.com/microsoft/vscode/issues/new", licenseName: "MIT", licenseUrl: "https://github.com/microsoft/vscode/blob/main/LICENSE.txt", serverLicenseUrl: "https://github.com/microsoft/vscode/blob/main/LICENSE.txt", }) var nb = Ar var D5 = 8 var mw = class { constructor() { ;(this.stableMinimapLayoutInput = null), (this.stableFitMaxMinimapScale = 0), (this.stableFitRemainingWidth = 0) } }, pt = class { constructor(e, t, n, r) { ;(this.id = e), (this.name = t), (this.defaultValue = n), (this.schema = r) } applyUpdate(e, t) { return rb(e, t) } compute(e, t, n) { return n } }, Lc = class { constructor(e, t) { this.newValue = e this.didChange = t } } function rb(o, e) { if (typeof o != "object" || typeof e != "object" || !o || !e) return new Lc(e, o !== e) if (Array.isArray(o) || Array.isArray(e)) { let n = Array.isArray(o) && Array.isArray(e) && mn(o, e) return new Lc(e, !n) } let t = !1 for (let n in e) if (e.hasOwnProperty(n)) { let r = rb(o[n], e[n]) r.didChange && ((o[n] = r.newValue), (t = !0)) } return new Lc(o, t) } var os = class { constructor(e) { this.schema = void 0 ;(this.id = e), (this.name = "_never_"), (this.defaultValue = void 0) } applyUpdate(e, t) { return rb(e, t) } validate(e) { return this.defaultValue } }, ua = class { constructor(e, t, n, r) { ;(this.id = e), (this.name = t), (this.defaultValue = n), (this.schema = r) } applyUpdate(e, t) { return rb(e, t) } validate(e) { return typeof e > "u" ? this.defaultValue : e } compute(e, t, n) { return n } } function re(o, e) { return typeof o > "u" ? e : o === "false" ? !1 : !!o } var Le = class extends ua { constructor(e, t, n, r = void 0) { typeof r < "u" && ((r.type = "boolean"), (r.default = n)), super(e, t, n, r) } validate(e) { return re(e, this.defaultValue) } } function k5(o, e, t, n) { if (typeof o > "u") return e let r = parseInt(o, 10) return isNaN(r) ? e : ((r = Math.max(t, r)), (r = Math.min(n, r)), r | 0) } var tt = class o extends ua { static clampedInt(e, t, n, r) { return k5(e, t, n, r) } constructor(e, t, n, r, i, s = void 0) { typeof s < "u" && ((s.type = "integer"), (s.default = n), (s.minimum = r), (s.maximum = i)), super(e, t, n, s), (this.minimum = r), (this.maximum = i) } validate(e) { return o.clampedInt(e, this.defaultValue, this.minimum, this.maximum) } } var lo = class o extends ua { static clamp(e, t, n) { return e < t ? t : e > n ? n : e } static float(e, t) { if (typeof e == "number") return e if (typeof e > "u") return t let n = parseFloat(e) return isNaN(n) ? t : n } constructor(e, t, n, r, i) { typeof i < "u" && ((i.type = "number"), (i.default = n)), super(e, t, n, i), (this.validationFn = r) } validate(e) { return this.validationFn(o.float(e, this.defaultValue)) } }, Qn = class o extends ua { static string(e, t) { return typeof e != "string" ? t : e } constructor(e, t, n, r = void 0) { typeof r < "u" && ((r.type = "string"), (r.default = n)), super(e, t, n, r) } validate(e) { return o.string(e, this.defaultValue) } } function St(o, e, t, n) { return typeof o != "string" ? e : n && o in n ? n[o] : t.indexOf(o) === -1 ? e : o } var ht = class extends ua { constructor(e, t, n, r, i = void 0) { typeof i < "u" && ((i.type = "string"), (i.enum = r), (i.default = n)), super(e, t, n, i), (this._allowedValues = r) } validate(e) { return St(e, this.defaultValue, this._allowedValues) } }, $l = class extends pt { constructor(e, t, n, r, i, s, a = void 0) { typeof a < "u" && ((a.type = "string"), (a.enum = i), (a.default = r)), super(e, t, n, a), (this._allowedValues = i), (this._convert = s) } validate(e) { return typeof e != "string" ? this.defaultValue : this._allowedValues.indexOf(e) === -1 ? this.defaultValue : this._convert(e) } } function R5(o) { switch (o) { case "none": return 0 case "keep": return 1 case "brackets": return 2 case "advanced": return 3 case "full": return 4 } } var fw = class extends pt { constructor() { super(2, "accessibilitySupport", 0, { type: "string", enum: ["auto", "on", "off"], enumDescriptions: [ p("accessibilitySupport.auto", "Use platform APIs to detect when a Screen Reader is attached."), p("accessibilitySupport.on", "Optimize for usage with a Screen Reader."), p("accessibilitySupport.off", "Assume a screen reader is not attached."), ], default: "auto", tags: ["accessibility"], description: p( "accessibilitySupport", "Controls if the UI should run in a mode where it is optimized for screen readers.", ), }) } validate(e) { switch (e) { case "auto": return 0 case "off": return 1 case "on": return 2 } return this.defaultValue } compute(e, t, n) { return n === 0 ? e.accessibilitySupport : n } }, gw = class extends pt { constructor() { let e = { insertSpace: !0, ignoreEmptyLines: !0 } super(23, "comments", e, { "editor.comments.insertSpace": { type: "boolean", default: e.insertSpace, description: p( "comments.insertSpace", "Controls whether a space character is inserted when commenting.", ), }, "editor.comments.ignoreEmptyLines": { type: "boolean", default: e.ignoreEmptyLines, description: p( "comments.ignoreEmptyLines", "Controls if empty lines should be ignored with toggle, add or remove actions for line comments.", ), }, }) } validate(e) { if (!e || typeof e != "object") return this.defaultValue let t = e return { insertSpace: re(t.insertSpace, this.defaultValue.insertSpace), ignoreEmptyLines: re(t.ignoreEmptyLines, this.defaultValue.ignoreEmptyLines), } } } function A5(o) { switch (o) { case "blink": return 1 case "smooth": return 2 case "phase": return 3 case "expand": return 4 case "solid": return 5 } } var nP = ((s) => ( (s[(s.Line = 1)] = "Line"), (s[(s.Block = 2)] = "Block"), (s[(s.Underline = 3)] = "Underline"), (s[(s.LineThin = 4)] = "LineThin"), (s[(s.BlockOutline = 5)] = "BlockOutline"), (s[(s.UnderlineThin = 6)] = "UnderlineThin"), s ))(nP || {}) function HO(o) { switch (o) { case "line": return 1 case "block": return 2 case "underline": return 3 case "line-thin": return 4 case "block-outline": return 5 case "underline-thin": return 6 } } var hw = class extends os { constructor() { super(148) } compute(e, t, n) { let r = ["monaco-editor"] return ( t.get(41) && r.push(t.get(41)), e.extraEditorClassName && r.push(e.extraEditorClassName), t.get(75) === "default" ? r.push("mouse-default") : t.get(75) === "copy" && r.push("mouse-copy"), t.get(116) && r.push("showUnused"), t.get(145) && r.push("showDeprecated"), r.join(" ") ) } }, vw = class extends Le { constructor() { super(38, "emptySelectionClipboard", !0, { description: p( "emptySelectionClipboard", "Controls whether copying without a selection copies the current line.", ), }) } compute(e, t, n) { return n && e.emptySelectionClipboard } }, bw = class extends pt { constructor() { let e = { cursorMoveOnType: !0, seedSearchStringFromSelection: "always", autoFindInSelection: "never", globalFindClipboard: !1, addExtraSpaceOnTop: !0, loop: !0, history: "workspace", replaceHistory: "workspace", } super(43, "find", e, { "editor.find.cursorMoveOnType": { type: "boolean", default: e.cursorMoveOnType, description: p( "find.cursorMoveOnType", "Controls whether the cursor should jump to find matches while typing.", ), }, "editor.find.seedSearchStringFromSelection": { type: "string", enum: ["never", "always", "selection"], default: e.seedSearchStringFromSelection, enumDescriptions: [ p( "editor.find.seedSearchStringFromSelection.never", "Never seed search string from the editor selection.", ), p( "editor.find.seedSearchStringFromSelection.always", "Always seed search string from the editor selection, including word at cursor position.", ), p( "editor.find.seedSearchStringFromSelection.selection", "Only seed search string from the editor selection.", ), ], description: p( "find.seedSearchStringFromSelection", "Controls whether the search string in the Find Widget is seeded from the editor selection.", ), }, "editor.find.autoFindInSelection": { type: "string", enum: ["never", "always", "multiline"], default: e.autoFindInSelection, enumDescriptions: [ p( "editor.find.autoFindInSelection.never", "Never turn on Find in Selection automatically (default).", ), p("editor.find.autoFindInSelection.always", "Always turn on Find in Selection automatically."), p( "editor.find.autoFindInSelection.multiline", "Turn on Find in Selection automatically when multiple lines of content are selected.", ), ], description: p( "find.autoFindInSelection", "Controls the condition for turning on Find in Selection automatically.", ), }, "editor.find.globalFindClipboard": { type: "boolean", default: e.globalFindClipboard, description: p( "find.globalFindClipboard", "Controls whether the Find Widget should read or modify the shared find clipboard on macOS.", ), included: st, }, "editor.find.addExtraSpaceOnTop": { type: "boolean", default: e.addExtraSpaceOnTop, description: p( "find.addExtraSpaceOnTop", "Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.", ), }, "editor.find.loop": { type: "boolean", default: e.loop, description: p( "find.loop", "Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.", ), }, "editor.find.history": { type: "string", enum: ["never", "workspace"], default: "workspace", enumDescriptions: [ p("editor.find.history.never", "Do not store search history from the find widget."), p("editor.find.history.workspace", "Store search history across the active workspace"), ], description: p("find.history", "Controls how the find widget history should be stored"), }, "editor.find.replaceHistory": { type: "string", enum: ["never", "workspace"], default: "workspace", enumDescriptions: [ p("editor.find.replaceHistory.never", "Do not store history from the replace widget."), p("editor.find.replaceHistory.workspace", "Store replace history across the active workspace"), ], description: p("find.replaceHistory", "Controls how the replace widget history should be stored"), }, }) } validate(e) { if (!e || typeof e != "object") return this.defaultValue let t = e return { cursorMoveOnType: re(t.cursorMoveOnType, this.defaultValue.cursorMoveOnType), seedSearchStringFromSelection: typeof e.seedSearchStringFromSelection == "boolean" ? e.seedSearchStringFromSelection ? "always" : "never" : St(t.seedSearchStringFromSelection, this.defaultValue.seedSearchStringFromSelection, [ "never", "always", "selection", ]), autoFindInSelection: typeof e.autoFindInSelection == "boolean" ? e.autoFindInSelection ? "always" : "never" : St(t.autoFindInSelection, this.defaultValue.autoFindInSelection, [ "never", "always", "multiline", ]), globalFindClipboard: re(t.globalFindClipboard, this.defaultValue.globalFindClipboard), addExtraSpaceOnTop: re(t.addExtraSpaceOnTop, this.defaultValue.addExtraSpaceOnTop), loop: re(t.loop, this.defaultValue.loop), history: St(t.history, this.defaultValue.history, ["never", "workspace"]), replaceHistory: St(t.replaceHistory, this.defaultValue.replaceHistory, ["never", "workspace"]), } } }, yw = class o extends pt { static { this.OFF = '"liga" off, "calt" off' } static { this.ON = '"liga" on, "calt" on' } constructor() { super(53, "fontLigatures", o.OFF, { anyOf: [ { type: "boolean", description: p( "fontLigatures", "Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.", ), }, { type: "string", description: p( "fontFeatureSettings", "Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.", ), }, ], description: p( "fontLigaturesGeneral", "Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.", ), default: !1, }) } validate(e) { return typeof e > "u" ? this.defaultValue : typeof e == "string" ? e === "false" || e.length === 0 ? o.OFF : e === "true" ? o.ON : e : e ? o.ON : o.OFF } }, Iw = class o extends pt { static { this.OFF = "normal" } static { this.TRANSLATE = "translate" } constructor() { super(56, "fontVariations", o.OFF, { anyOf: [ { type: "boolean", description: p( "fontVariations", "Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.", ), }, { type: "string", description: p( "fontVariationSettings", "Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.", ), }, ], description: p( "fontVariationsGeneral", "Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property.", ), default: !1, }) } validate(e) { return typeof e > "u" ? this.defaultValue : typeof e == "string" ? e === "false" ? o.OFF : e === "true" ? o.TRANSLATE : e : e ? o.TRANSLATE : o.OFF } compute(e, t, n) { return e.fontInfo.fontVariationSettings } }, xw = class extends os { constructor() { super(52) } compute(e, t, n) { return e.fontInfo } }, Cw = class extends os { constructor() { super(147) } compute(e, t, n) { return e.inputMode === "overtype" ? t.get(84) : t.get(28) } }, Sw = class extends os { constructor() { super(156) } compute(e, t) { return e.editContextSupported && t.get(37) } }, Tw = class extends ua { constructor() { super(54, "fontSize", rs.fontSize, { type: "number", minimum: 6, maximum: 100, default: rs.fontSize, description: p("fontSize", "Controls the font size in pixels."), }) } validate(e) { let t = lo.float(e, this.defaultValue) return t === 0 ? rs.fontSize : lo.clamp(t, 6, 100) } compute(e, t, n) { return e.fontInfo.fontSize } }, Ew = class o extends pt { static { this.SUGGESTION_VALUES = ["normal", "bold", "100", "200", "300", "400", "500", "600", "700", "800", "900"] } static { this.MINIMUM_VALUE = 1 } static { this.MAXIMUM_VALUE = 1e3 } constructor() { super(55, "fontWeight", rs.fontWeight, { anyOf: [ { type: "number", minimum: o.MINIMUM_VALUE, maximum: o.MAXIMUM_VALUE, errorMessage: p( "fontWeightErrorMessage", 'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.', ), }, { type: "string", pattern: "^(normal|bold|1000|[1-9][0-9]{0,2})$" }, { enum: o.SUGGESTION_VALUES }, ], default: rs.fontWeight, description: p( "fontWeight", 'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.', ), }) } validate(e) { return e === "normal" || e === "bold" ? e : String(tt.clampedInt(e, rs.fontWeight, o.MINIMUM_VALUE, o.MAXIMUM_VALUE)) } }, ww = class extends pt { constructor() { let e = { multiple: "peek", multipleDefinitions: "peek", multipleTypeDefinitions: "peek", multipleDeclarations: "peek", multipleImplementations: "peek", multipleReferences: "peek", multipleTests: "peek", alternativeDefinitionCommand: "editor.action.goToReferences", alternativeTypeDefinitionCommand: "editor.action.goToReferences", alternativeDeclarationCommand: "editor.action.goToReferences", alternativeImplementationCommand: "", alternativeReferenceCommand: "", alternativeTestsCommand: "", }, t = { type: "string", enum: ["peek", "gotoAndPeek", "goto"], default: e.multiple, enumDescriptions: [ p("editor.gotoLocation.multiple.peek", "Show Peek view of the results (default)"), p("editor.gotoLocation.multiple.gotoAndPeek", "Go to the primary result and show a Peek view"), p( "editor.gotoLocation.multiple.goto", "Go to the primary result and enable Peek-less navigation to others", ), ], }, n = [ "", "editor.action.referenceSearch.trigger", "editor.action.goToReferences", "editor.action.peekImplementation", "editor.action.goToImplementation", "editor.action.peekTypeDefinition", "editor.action.goToTypeDefinition", "editor.action.peekDeclaration", "editor.action.revealDeclaration", "editor.action.peekDefinition", "editor.action.revealDefinitionAside", "editor.action.revealDefinition", ] super(60, "gotoLocation", e, { "editor.gotoLocation.multiple": { deprecationMessage: p( "editor.gotoLocation.multiple.deprecated", "This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.", ), }, "editor.gotoLocation.multipleDefinitions": { description: p( "editor.editor.gotoLocation.multipleDefinitions", "Controls the behavior the 'Go to Definition'-command when multiple target locations exist.", ), ...t, }, "editor.gotoLocation.multipleTypeDefinitions": { description: p( "editor.editor.gotoLocation.multipleTypeDefinitions", "Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.", ), ...t, }, "editor.gotoLocation.multipleDeclarations": { description: p( "editor.editor.gotoLocation.multipleDeclarations", "Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.", ), ...t, }, "editor.gotoLocation.multipleImplementations": { description: p( "editor.editor.gotoLocation.multipleImplemenattions", "Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.", ), ...t, }, "editor.gotoLocation.multipleReferences": { description: p( "editor.editor.gotoLocation.multipleReferences", "Controls the behavior the 'Go to References'-command when multiple target locations exist.", ), ...t, }, "editor.gotoLocation.alternativeDefinitionCommand": { type: "string", default: e.alternativeDefinitionCommand, enum: n, description: p( "alternativeDefinitionCommand", "Alternative command id that is being executed when the result of 'Go to Definition' is the current location.", ), }, "editor.gotoLocation.alternativeTypeDefinitionCommand": { type: "string", default: e.alternativeTypeDefinitionCommand, enum: n, description: p( "alternativeTypeDefinitionCommand", "Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.", ), }, "editor.gotoLocation.alternativeDeclarationCommand": { type: "string", default: e.alternativeDeclarationCommand, enum: n, description: p( "alternativeDeclarationCommand", "Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.", ), }, "editor.gotoLocation.alternativeImplementationCommand": { type: "string", default: e.alternativeImplementationCommand, enum: n, description: p( "alternativeImplementationCommand", "Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.", ), }, "editor.gotoLocation.alternativeReferenceCommand": { type: "string", default: e.alternativeReferenceCommand, enum: n, description: p( "alternativeReferenceCommand", "Alternative command id that is being executed when the result of 'Go to Reference' is the current location.", ), }, }) } validate(e) { if (!e || typeof e != "object") return this.defaultValue let t = e return { multiple: St(t.multiple, this.defaultValue.multiple, ["peek", "gotoAndPeek", "goto"]), multipleDefinitions: t.multipleDefinitions ?? St(t.multipleDefinitions, "peek", ["peek", "gotoAndPeek", "goto"]), multipleTypeDefinitions: t.multipleTypeDefinitions ?? St(t.multipleTypeDefinitions, "peek", ["peek", "gotoAndPeek", "goto"]), multipleDeclarations: t.multipleDeclarations ?? St(t.multipleDeclarations, "peek", ["peek", "gotoAndPeek", "goto"]), multipleImplementations: t.multipleImplementations ?? St(t.multipleImplementations, "peek", ["peek", "gotoAndPeek", "goto"]), multipleReferences: t.multipleReferences ?? St(t.multipleReferences, "peek", ["peek", "gotoAndPeek", "goto"]), multipleTests: t.multipleTests ?? St(t.multipleTests, "peek", ["peek", "gotoAndPeek", "goto"]), alternativeDefinitionCommand: Qn.string( t.alternativeDefinitionCommand, this.defaultValue.alternativeDefinitionCommand, ), alternativeTypeDefinitionCommand: Qn.string( t.alternativeTypeDefinitionCommand, this.defaultValue.alternativeTypeDefinitionCommand, ), alternativeDeclarationCommand: Qn.string( t.alternativeDeclarationCommand, this.defaultValue.alternativeDeclarationCommand, ), alternativeImplementationCommand: Qn.string( t.alternativeImplementationCommand, this.defaultValue.alternativeImplementationCommand, ), alternativeReferenceCommand: Qn.string( t.alternativeReferenceCommand, this.defaultValue.alternativeReferenceCommand, ), alternativeTestsCommand: Qn.string( t.alternativeTestsCommand, this.defaultValue.alternativeTestsCommand, ), } } }, Pw = class extends pt { constructor() { let e = { enabled: !0, delay: 300, hidingDelay: 300, sticky: !0, above: !0 } super(62, "hover", e, { "editor.hover.enabled": { type: "boolean", default: e.enabled, description: p("hover.enabled", "Controls whether the hover is shown."), }, "editor.hover.delay": { type: "number", default: e.delay, minimum: 0, maximum: 1e4, description: p("hover.delay", "Controls the delay in milliseconds after which the hover is shown."), }, "editor.hover.sticky": { type: "boolean", default: e.sticky, description: p( "hover.sticky", "Controls whether the hover should remain visible when mouse is moved over it.", ), }, "editor.hover.hidingDelay": { type: "integer", minimum: 0, default: e.hidingDelay, description: p( "hover.hidingDelay", "Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.", ), }, "editor.hover.above": { type: "boolean", default: e.above, description: p("hover.above", "Prefer showing hovers above the line, if there's space."), }, }) } validate(e) { if (!e || typeof e != "object") return this.defaultValue let t = e return { enabled: re(t.enabled, this.defaultValue.enabled), delay: tt.clampedInt(t.delay, this.defaultValue.delay, 0, 1e4), sticky: re(t.sticky, this.defaultValue.sticky), hidingDelay: tt.clampedInt(t.hidingDelay, this.defaultValue.hidingDelay, 0, 6e5), above: re(t.above, this.defaultValue.above), } } } var _w = class o extends os { constructor() { super(151) } compute(e, t, n) { return o.computeLayout(t, { memory: e.memory, outerWidth: e.outerWidth, outerHeight: e.outerHeight, isDominatedByLongLines: e.isDominatedByLongLines, lineHeight: e.fontInfo.lineHeight, viewLineCount: e.viewLineCount, lineNumbersDigitCount: e.lineNumbersDigitCount, typicalHalfwidthCharacterWidth: e.fontInfo.typicalHalfwidthCharacterWidth, maxDigitWidth: e.fontInfo.maxDigitWidth, pixelRatio: e.pixelRatio, glyphMarginDecorationLaneCount: e.glyphMarginDecorationLaneCount, }) } static computeContainedMinimapLineCount(e) { let t = e.height / e.lineHeight, n = Math.floor(e.paddingTop / e.lineHeight), r = Math.floor(e.paddingBottom / e.lineHeight) e.scrollBeyondLastLine && (r = Math.max(r, t - 1)) let i = (n + e.viewLineCount + r) / (e.pixelRatio * e.height), s = Math.floor(e.viewLineCount / i) return { typicalViewportLineCount: t, extraLinesBeforeFirstLine: n, extraLinesBeyondLastLine: r, desiredRatio: i, minimapLineCount: s, } } static _computeMinimapLayout(e, t) { let n = e.outerWidth, r = e.outerHeight, i = e.pixelRatio if (!e.minimap.enabled) return { renderMinimap: 0, minimapLeft: 0, minimapWidth: 0, minimapHeightIsEditorHeight: !1, minimapIsSampling: !1, minimapScale: 1, minimapLineHeight: 1, minimapCanvasInnerWidth: 0, minimapCanvasInnerHeight: Math.floor(i * r), minimapCanvasOuterWidth: 0, minimapCanvasOuterHeight: r, } let s = t.stableMinimapLayoutInput, a = s && e.outerHeight === s.outerHeight && e.lineHeight === s.lineHeight && e.typicalHalfwidthCharacterWidth === s.typicalHalfwidthCharacterWidth && e.pixelRatio === s.pixelRatio && e.scrollBeyondLastLine === s.scrollBeyondLastLine && e.paddingTop === s.paddingTop && e.paddingBottom === s.paddingBottom && e.minimap.enabled === s.minimap.enabled && e.minimap.side === s.minimap.side && e.minimap.size === s.minimap.size && e.minimap.showSlider === s.minimap.showSlider && e.minimap.renderCharacters === s.minimap.renderCharacters && e.minimap.maxColumn === s.minimap.maxColumn && e.minimap.scale === s.minimap.scale && e.verticalScrollbarWidth === s.verticalScrollbarWidth && e.isViewportWrapping === s.isViewportWrapping, l = e.lineHeight, d = e.typicalHalfwidthCharacterWidth, c = e.scrollBeyondLastLine, u = e.minimap.renderCharacters, m = i >= 2 ? Math.round(e.minimap.scale * 2) : e.minimap.scale, f = e.minimap.maxColumn, h = e.minimap.size, g = e.minimap.side, I = e.verticalScrollbarWidth, C = e.viewLineCount, T = e.remainingWidth, w = e.isViewportWrapping, L = u ? 2 : 3, A = Math.floor(i * r), J = A / i, ne = !1, oe = !1, Y = L * m, j = m / i, K = 1 if (h === "fill" || h === "fit") { let { typicalViewportLineCount: ee, extraLinesBeforeFirstLine: fe, extraLinesBeyondLastLine: Ae, desiredRatio: he, minimapLineCount: le, } = o.computeContainedMinimapLineCount({ viewLineCount: C, scrollBeyondLastLine: c, paddingTop: e.paddingTop, paddingBottom: e.paddingBottom, height: r, lineHeight: l, pixelRatio: i, }) if (C / le > 1) (ne = !0), (oe = !0), (m = 1), (Y = 1), (j = m / i) else { let _t = !1, Se = m + 1 if (h === "fit") { let En = Math.ceil((fe + C + Ae) * Y) w && a && T <= t.stableFitRemainingWidth ? ((_t = !0), (Se = t.stableFitMaxMinimapScale)) : (_t = En > A) } if (h === "fill" || _t) { ne = !0 let En = m ;(Y = Math.min(l * i, Math.max(1, Math.floor(1 / he)))), w && a && T <= t.stableFitRemainingWidth && (Se = t.stableFitMaxMinimapScale), (m = Math.min(Se, Math.max(1, Math.floor(Y / L)))), m > En && (K = Math.min(2, m / En)), (j = m / i / K), (A = Math.ceil(Math.max(ee, fe + C + Ae) * Y)), w ? ((t.stableMinimapLayoutInput = e), (t.stableFitRemainingWidth = T), (t.stableFitMaxMinimapScale = m)) : ((t.stableMinimapLayoutInput = null), (t.stableFitRemainingWidth = 0)) } } } let qe = Math.floor(f * j), Bt = Math.min(qe, Math.max(0, Math.floor(((T - I - 2) * j) / (d + j))) + D5), vt = Math.floor(i * Bt), ae = vt / i vt = Math.floor(vt * K) let Z = u ? 1 : 2, se = g === "left" ? 0 : n - Bt - I return { renderMinimap: Z, minimapLeft: se, minimapWidth: Bt, minimapHeightIsEditorHeight: ne, minimapIsSampling: oe, minimapScale: m, minimapLineHeight: Y, minimapCanvasInnerWidth: vt, minimapCanvasInnerHeight: A, minimapCanvasOuterWidth: ae, minimapCanvasOuterHeight: J, } } static computeLayout(e, t) { let n = t.outerWidth | 0, r = t.outerHeight | 0, i = t.lineHeight | 0, s = t.lineNumbersDigitCount | 0, a = t.typicalHalfwidthCharacterWidth, l = t.maxDigitWidth, d = t.pixelRatio, c = t.viewLineCount, u = e.get(142), m = u === "inherit" ? e.get(141) : u, f = m === "inherit" ? e.get(137) : m, h = e.get(140), g = t.isDominatedByLongLines, I = e.get(59), C = e.get(69).renderType !== 0, T = e.get(70), w = e.get(110), L = e.get(88), A = e.get(74), J = e.get(108), ne = J.verticalScrollbarSize, oe = J.verticalHasArrows, Y = J.arrowSize, j = J.horizontalScrollbarSize, K = e.get(45), qe = e.get(115) !== "never", Bt = e.get(67) K && qe && (Bt += 16) let vt = 0 if (C) { let to = Math.max(s, T) vt = Math.round(to * l) } let ae = 0 I && (ae = i * t.glyphMarginDecorationLaneCount) let Z = 0, se = Z + ae, ee = se + vt, fe = ee + Bt, Ae = n - ae - vt - Bt, he = !1, le = !1, Et = -1 m === "inherit" && g ? ((he = !0), (le = !0)) : f === "on" || f === "bounded" ? (le = !0) : f === "wordWrapColumn" && (Et = h) let _t = o._computeMinimapLayout( { outerWidth: n, outerHeight: r, lineHeight: i, typicalHalfwidthCharacterWidth: a, pixelRatio: d, scrollBeyondLastLine: w, paddingTop: L.top, paddingBottom: L.bottom, minimap: A, verticalScrollbarWidth: ne, viewLineCount: c, remainingWidth: Ae, isViewportWrapping: le, }, t.memory || new mw(), ) _t.renderMinimap !== 0 && _t.minimapLeft === 0 && ((Z += _t.minimapWidth), (se += _t.minimapWidth), (ee += _t.minimapWidth), (fe += _t.minimapWidth)) let Se = Ae - _t.minimapWidth, En = Math.max(1, Math.floor((Se - ne - 2) / a)), Ft = oe ? Y : 0 return ( le && ((Et = Math.max(1, En)), f === "bounded" && (Et = Math.min(Et, h))), { width: n, height: r, glyphMarginLeft: Z, glyphMarginWidth: ae, glyphMarginDecorationLaneCount: t.glyphMarginDecorationLaneCount, lineNumbersLeft: se, lineNumbersWidth: vt, decorationsLeft: ee, decorationsWidth: Bt, contentLeft: fe, contentWidth: Se, minimap: _t, viewportColumn: En, isWordWrapMinified: he, isViewportWrapping: le, wrappingColumn: Et, verticalScrollbarWidth: ne, horizontalScrollbarHeight: j, overviewRuler: { top: Ft, width: ne, height: r - 2 * Ft, right: 0 }, } ) } }, Dw = class extends pt { constructor() { super(144, "wrappingStrategy", "simple", { "editor.wrappingStrategy": { enumDescriptions: [ p( "wrappingStrategy.simple", "Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.", ), p( "wrappingStrategy.advanced", "Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.", ), ], type: "string", enum: ["simple", "advanced"], default: "simple", description: p( "wrappingStrategy", "Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.", ), }, }) } validate(e) { return St(e, "simple", ["simple", "advanced"]) } compute(e, t, n) { return t.get(2) === 2 ? "advanced" : n } } var kw = class extends pt { constructor() { let e = { enabled: "onCode" } super(66, "lightbulb", e, { "editor.lightbulb.enabled": { type: "string", enum: ["off", "onCode", "on"], default: e.enabled, enumDescriptions: [ p("editor.lightbulb.enabled.off", "Disable the code action menu."), p( "editor.lightbulb.enabled.onCode", "Show the code action menu when the cursor is on lines with code.", ), p( "editor.lightbulb.enabled.on", "Show the code action menu when the cursor is on lines with code or on empty lines.", ), ], description: p("enabled", "Enables the Code Action lightbulb in the editor."), }, }) } validate(e) { return !e || typeof e != "object" ? this.defaultValue : { enabled: St(e.enabled, this.defaultValue.enabled, ["off", "onCode", "on"]) } } }, Rw = class extends pt { constructor() { let e = { enabled: !0, maxLineCount: 5, defaultModel: "outlineModel", scrollWithEditor: !0 } super(120, "stickyScroll", e, { "editor.stickyScroll.enabled": { type: "boolean", default: e.enabled, description: p( "editor.stickyScroll.enabled", "Shows the nested current scopes during the scroll at the top of the editor.", ), }, "editor.stickyScroll.maxLineCount": { type: "number", default: e.maxLineCount, minimum: 1, maximum: 20, description: p( "editor.stickyScroll.maxLineCount", "Defines the maximum number of sticky lines to show.", ), }, "editor.stickyScroll.defaultModel": { type: "string", enum: ["outlineModel", "foldingProviderModel", "indentationModel"], default: e.defaultModel, description: p( "editor.stickyScroll.defaultModel", "Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.", ), }, "editor.stickyScroll.scrollWithEditor": { type: "boolean", default: e.scrollWithEditor, description: p( "editor.stickyScroll.scrollWithEditor", "Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.", ), }, }) } validate(e) { if (!e || typeof e != "object") return this.defaultValue let t = e return { enabled: re(t.enabled, this.defaultValue.enabled), maxLineCount: tt.clampedInt(t.maxLineCount, this.defaultValue.maxLineCount, 1, 20), defaultModel: St(t.defaultModel, this.defaultValue.defaultModel, [ "outlineModel", "foldingProviderModel", "indentationModel", ]), scrollWithEditor: re(t.scrollWithEditor, this.defaultValue.scrollWithEditor), } } }, Aw = class extends pt { constructor() { let e = { enabled: "on", fontSize: 0, fontFamily: "", padding: !1, maximumLength: 43 } super(146, "inlayHints", e, { "editor.inlayHints.enabled": { type: "string", default: e.enabled, description: p("inlayHints.enable", "Enables the inlay hints in the editor."), enum: ["on", "onUnlessPressed", "offUnlessPressed", "off"], markdownEnumDescriptions: [ p("editor.inlayHints.on", "Inlay hints are enabled"), p( "editor.inlayHints.onUnlessPressed", "Inlay hints are showing by default and hide when holding {0}", st ? "Ctrl+Option" : "Ctrl+Alt", ), p( "editor.inlayHints.offUnlessPressed", "Inlay hints are hidden by default and show when holding {0}", st ? "Ctrl+Option" : "Ctrl+Alt", ), p("editor.inlayHints.off", "Inlay hints are disabled"), ], }, "editor.inlayHints.fontSize": { type: "number", default: e.fontSize, markdownDescription: p( "inlayHints.fontSize", "Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.", "`#editor.fontSize#`", "`5`", ), }, "editor.inlayHints.fontFamily": { type: "string", default: e.fontFamily, markdownDescription: p( "inlayHints.fontFamily", "Controls font family of inlay hints in the editor. When set to empty, the {0} is used.", "`#editor.fontFamily#`", ), }, "editor.inlayHints.padding": { type: "boolean", default: e.padding, description: p("inlayHints.padding", "Enables the padding around the inlay hints in the editor."), }, "editor.inlayHints.maximumLength": { type: "number", default: e.maximumLength, markdownDescription: p( "inlayHints.maximumLength", "Maximum overall length of inlay hints, for a single line, before they get truncated by the editor. Set to `0` to never truncate", ), }, }) } validate(e) { if (!e || typeof e != "object") return this.defaultValue let t = e return ( typeof t.enabled == "boolean" && (t.enabled = t.enabled ? "on" : "off"), { enabled: St(t.enabled, this.defaultValue.enabled, [ "on", "off", "offUnlessPressed", "onUnlessPressed", ]), fontSize: tt.clampedInt(t.fontSize, this.defaultValue.fontSize, 0, 100), fontFamily: Qn.string(t.fontFamily, this.defaultValue.fontFamily), padding: re(t.padding, this.defaultValue.padding), maximumLength: tt.clampedInt( t.maximumLength, this.defaultValue.maximumLength, 0, Number.MAX_SAFE_INTEGER, ), } ) } }, Ow = class extends pt { constructor() { super(67, "lineDecorationsWidth", 10) } validate(e) { return typeof e == "string" && /^\d+(\.\d+)?ch$/.test(e) ? -parseFloat(e.substring(0, e.length - 2)) : tt.clampedInt(e, this.defaultValue, 0, 1e3) } compute(e, t, n) { return n < 0 ? tt.clampedInt(-n * e.fontInfo.typicalHalfwidthCharacterWidth, this.defaultValue, 0, 1e3) : n } }, Lw = class extends lo { constructor() { super(68, "lineHeight", rs.lineHeight, (e) => lo.clamp(e, 0, 150), { markdownDescription: p( "lineHeight", `Controls the line height. - Use 0 to automatically compute the line height from the font size. - Values between 0 and 8 will be used as a multiplier with the font size. - Values greater than or equal to 8 will be used as effective values.`, ), }) } compute(e, t, n) { return e.fontInfo.lineHeight } }, Mw = class extends pt { constructor() { let e = { enabled: !0, size: "proportional", side: "right", showSlider: "mouseover", autohide: !1, renderCharacters: !0, maxColumn: 120, scale: 1, showRegionSectionHeaders: !0, showMarkSectionHeaders: !0, markSectionHeaderRegex: "\\bMARK:\\s*(?-?)\\s*(?