(function (t) { function e() { var o = t(); return o.default || o; } if (typeof exports == 'object' && typeof module == 'object') module.exports = e(); else if (typeof define == 'function' && define.amd) define(e); else { var f = typeof globalThis < 'u' ? globalThis : typeof global < 'u' ? global : typeof self < 'u' ? self : this || {}; f.prettier = e(); } })(function () { 'use strict'; var Au = Object.create; var Me = Object.defineProperty; var vu = Object.getOwnPropertyDescriptor; var Bu = Object.getOwnPropertyNames; var wu = Object.getPrototypeOf, _u = Object.prototype.hasOwnProperty; var fr = (e) => { throw TypeError(e); }; var dr = (e, t) => () => ( t || e((t = { exports: {} }).exports, t), t.exports ), vt = (e, t) => { for (var r in t) Me(e, r, { get: t[r], enumerable: !0 }); }, pr = (e, t, r, n) => { if ((t && typeof t == 'object') || typeof t == 'function') for (let u of Bu(t)) !_u.call(e, u) && u !== r && Me(e, u, { get: () => t[u], enumerable: !(n = vu(t, u)) || n.enumerable, }); return e; }; var Ve = (e, t, r) => ( (r = e != null ? Au(wu(e)) : {}), pr( t || !e || !e.__esModule ? Me(r, 'default', { value: e, enumerable: !0 }) : r, e ) ), xu = (e) => pr(Me({}, '__esModule', { value: !0 }), e); var bu = (e, t, r) => t.has(e) || fr('Cannot ' + r); var Fr = (e, t, r) => t.has(e) ? fr('Cannot add the same private member more than once') : t instanceof WeakSet ? t.add(e) : t.set(e, r); var pe = (e, t, r) => (bu(e, t, 'access private method'), r); var st = dr((la, mn) => { 'use strict'; var Fn = new Proxy(String, { get: () => Fn }); mn.exports = Fn; }); var $n = dr((ur) => { 'use strict'; Object.defineProperty(ur, '__esModule', { value: !0 }); function wi() { return new Proxy({}, { get: () => (e) => e }); } var Wn = /\r\n|[\n\r\u2028\u2029]/; function _i(e, t, r) { let n = Object.assign({ column: 0, line: -1 }, e.start), u = Object.assign({}, n, e.end), { linesAbove: i = 2, linesBelow: o = 3 } = r || {}, s = n.line, a = n.column, D = u.line, l = u.column, p = Math.max(s - (i + 1), 0), f = Math.min(t.length, D + o); s === -1 && (p = 0), D === -1 && (f = t.length); let d = D - s, c = {}; if (d) for (let F = 0; F <= d; F++) { let m = F + s; if (!a) c[m] = !0; else if (F === 0) { let h = t[m - 1].length; c[m] = [a, h - a + 1]; } else if (F === d) c[m] = [0, l]; else { let h = t[m - F].length; c[m] = [0, h]; } } else a === l ? a ? (c[s] = [a, 0]) : (c[s] = !0) : (c[s] = [a, l - a]); return { start: p, end: f, markerLines: c }; } function xi(e, t, r = {}) { let u = wi(!1), i = e.split(Wn), { start: o, end: s, markerLines: a } = _i(t, i, r), D = t.start && typeof t.start.column == 'number', l = String(s).length, f = e .split(Wn, s) .slice(o, s) .map((d, c) => { let F = o + 1 + c, h = ` ${` ${F}`.slice(-l)} |`, C = a[F], v = !a[F + 1]; if (C) { let E = ''; if (Array.isArray(C)) { let g = d .slice(0, Math.max(C[0] - 1, 0)) .replace(/[^\t]/g, ' '), j = C[1] || 1; (E = [ ` `, u.gutter(h.replace(/\d/g, ' ')), ' ', g, u.marker('^').repeat(j), ].join('')), v && r.message && (E += ' ' + u.message(r.message)); } return [ u.marker('>'), u.gutter(h), d.length > 0 ? ` ${d}` : '', E, ].join(''); } else return ` ${u.gutter(h)}${d.length > 0 ? ` ${d}` : ''}`; }).join(` `); return ( r.message && !D && (f = `${' '.repeat(l + 1)}${r.message} ${f}`), f ); } ur.codeFrameColumns = xi; }); var co = {}; vt(co, { __debug: () => lo, check: () => ao, doc: () => Dr, format: () => yu, formatWithCursor: () => gu, getSupportInfo: () => Do, util: () => cr, version: () => cu, }); var Nu = (e, t, r, n) => { if (!(e && t == null)) return ( t.replaceAll ? t.replaceAll(r, n) : r.global ? t.replace(r, n) : t.split(r).join(n) ); }, ne = Nu; function U() {} U.prototype = { diff: function (t, r) { var n, u = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, i = u.callback; typeof u == 'function' && ((i = u), (u = {})); var o = this; function s(E) { return ( (E = o.postProcess(E, u)), i ? (setTimeout(function () { i(E); }, 0), !0) : E ); } (t = this.castInput(t, u)), (r = this.castInput(r, u)), (t = this.removeEmpty(this.tokenize(t, u))), (r = this.removeEmpty(this.tokenize(r, u))); var a = r.length, D = t.length, l = 1, p = a + D; u.maxEditLength != null && (p = Math.min(p, u.maxEditLength)); var f = (n = u.timeout) !== null && n !== void 0 ? n : 1 / 0, d = Date.now() + f, c = [{ oldPos: -1, lastComponent: void 0 }], F = this.extractCommon(c[0], r, t, 0, u); if (c[0].oldPos + 1 >= D && F + 1 >= a) return s(mr(o, c[0].lastComponent, r, t, o.useLongestToken)); var m = -1 / 0, h = 1 / 0; function C() { for (var E = Math.max(m, -l); E <= Math.min(h, l); E += 2) { var g = void 0, j = c[E - 1], b = c[E + 1]; j && (c[E - 1] = void 0); var X = !1; if (b) { var ae = b.oldPos - E; X = b && 0 <= ae && ae < a; } var $e = j && j.oldPos + 1 < D; if (!X && !$e) { c[E] = void 0; continue; } if ( (!$e || (X && j.oldPos < b.oldPos) ? (g = o.addToPath(b, !0, !1, 0, u)) : (g = o.addToPath(j, !1, !0, 1, u)), (F = o.extractCommon(g, r, t, E, u)), g.oldPos + 1 >= D && F + 1 >= a) ) return s(mr(o, g.lastComponent, r, t, o.useLongestToken)); (c[E] = g), g.oldPos + 1 >= D && (h = Math.min(h, E - 1)), F + 1 >= a && (m = Math.max(m, E + 1)); } l++; } if (i) (function E() { setTimeout(function () { if (l > p || Date.now() > d) return i(); C() || E(); }, 0); })(); else for (; l <= p && Date.now() <= d; ) { var v = C(); if (v) return v; } }, addToPath: function (t, r, n, u, i) { var o = t.lastComponent; return o && !i.oneChangePerToken && o.added === r && o.removed === n ? { oldPos: t.oldPos + u, lastComponent: { count: o.count + 1, added: r, removed: n, previousComponent: o.previousComponent, }, } : { oldPos: t.oldPos + u, lastComponent: { count: 1, added: r, removed: n, previousComponent: o, }, }; }, extractCommon: function (t, r, n, u, i) { for ( var o = r.length, s = n.length, a = t.oldPos, D = a - u, l = 0; D + 1 < o && a + 1 < s && this.equals(n[a + 1], r[D + 1], i); ) D++, a++, l++, i.oneChangePerToken && (t.lastComponent = { count: 1, previousComponent: t.lastComponent, added: !1, removed: !1, }); return ( l && !i.oneChangePerToken && (t.lastComponent = { count: l, previousComponent: t.lastComponent, added: !1, removed: !1, }), (t.oldPos = a), D ); }, equals: function (t, r, n) { return n.comparator ? n.comparator(t, r) : t === r || (n.ignoreCase && t.toLowerCase() === r.toLowerCase()); }, removeEmpty: function (t) { for (var r = [], n = 0; n < t.length; n++) t[n] && r.push(t[n]); return r; }, castInput: function (t) { return t; }, tokenize: function (t) { return Array.from(t); }, join: function (t) { return t.join(''); }, postProcess: function (t) { return t; }, }; function mr(e, t, r, n, u) { for (var i = [], o; t; ) i.push(t), (o = t.previousComponent), delete t.previousComponent, (t = o); i.reverse(); for (var s = 0, a = i.length, D = 0, l = 0; s < a; s++) { var p = i[s]; if (p.removed) (p.value = e.join(n.slice(l, l + p.count))), (l += p.count); else { if (!p.added && u) { var f = r.slice(D, D + p.count); (f = f.map(function (d, c) { var F = n[l + c]; return F.length > d.length ? F : d; })), (p.value = e.join(f)); } else p.value = e.join(r.slice(D, D + p.count)); (D += p.count), p.added || (l += p.count); } } return i; } var ho = new U(); function hr(e, t) { var r; for (r = 0; r < e.length && r < t.length; r++) if (e[r] != t[r]) return e.slice(0, r); return e.slice(0, r); } function Er(e, t) { var r; if (!e || !t || e[e.length - 1] != t[t.length - 1]) return ''; for (r = 0; r < e.length && r < t.length; r++) if (e[e.length - (r + 1)] != t[t.length - (r + 1)]) return e.slice(-r); return e.slice(-r); } function Bt(e, t, r) { if (e.slice(0, t.length) != t) throw Error( 'string ' .concat(JSON.stringify(e), " doesn't start with prefix ") .concat(JSON.stringify(t), '; this is a bug') ); return r + e.slice(t.length); } function wt(e, t, r) { if (!t) return e + r; if (e.slice(-t.length) != t) throw Error( 'string ' .concat(JSON.stringify(e), " doesn't end with suffix ") .concat(JSON.stringify(t), '; this is a bug') ); return e.slice(0, -t.length) + r; } function _e(e, t) { return Bt(e, t, ''); } function Ue(e, t) { return wt(e, t, ''); } function Cr(e, t) { return t.slice(0, Ou(e, t)); } function Ou(e, t) { var r = 0; e.length > t.length && (r = e.length - t.length); var n = t.length; e.length < t.length && (n = e.length); var u = Array(n), i = 0; u[0] = 0; for (var o = 1; o < n; o++) { for (t[o] == t[i] ? (u[o] = u[i]) : (u[o] = i); i > 0 && t[o] != t[i]; ) i = u[i]; t[o] == t[i] && i++; } i = 0; for (var s = r; s < e.length; s++) { for (; i > 0 && e[s] != t[i]; ) i = u[i]; e[s] == t[i] && i++; } return i; } var ze = 'a-zA-Z0-9_\\u{C0}-\\u{FF}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}', Su = new RegExp('['.concat(ze, ']+|\\s+|[^').concat(ze, ']'), 'ug'), Ke = new U(); Ke.equals = function (e, t, r) { return ( r.ignoreCase && ((e = e.toLowerCase()), (t = t.toLowerCase())), e.trim() === t.trim() ); }; Ke.tokenize = function (e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r; if (t.intlSegmenter) { if (t.intlSegmenter.resolvedOptions().granularity != 'word') throw new Error( 'The segmenter passed must have a granularity of "word"' ); r = Array.from(t.intlSegmenter.segment(e), function (i) { return i.segment; }); } else r = e.match(Su) || []; var n = [], u = null; return ( r.forEach(function (i) { /\s/.test(i) ? u == null ? n.push(i) : n.push(n.pop() + i) : /\s/.test(u) ? n[n.length - 1] == u ? n.push(n.pop() + i) : n.push(u + i) : n.push(i), (u = i); }), n ); }; Ke.join = function (e) { return e .map(function (t, r) { return r == 0 ? t : t.replace(/^\s+/, ''); }) .join(''); }; Ke.postProcess = function (e, t) { if (!e || t.oneChangePerToken) return e; var r = null, n = null, u = null; return ( e.forEach(function (i) { i.added ? (n = i) : i.removed ? (u = i) : ((n || u) && gr(r, u, n, i), (r = i), (n = null), (u = null)); }), (n || u) && gr(r, u, n, null), e ); }; function gr(e, t, r, n) { if (t && r) { var u = t.value.match(/^\s*/)[0], i = t.value.match(/\s*$/)[0], o = r.value.match(/^\s*/)[0], s = r.value.match(/\s*$/)[0]; if (e) { var a = hr(u, o); (e.value = wt(e.value, o, a)), (t.value = _e(t.value, a)), (r.value = _e(r.value, a)); } if (n) { var D = Er(i, s); (n.value = Bt(n.value, s, D)), (t.value = Ue(t.value, D)), (r.value = Ue(r.value, D)); } } else if (r) e && (r.value = r.value.replace(/^\s*/, '')), n && (n.value = n.value.replace(/^\s*/, '')); else if (e && n) { var l = n.value.match(/^\s*/)[0], p = t.value.match(/^\s*/)[0], f = t.value.match(/\s*$/)[0], d = hr(l, p); t.value = _e(t.value, d); var c = Er(_e(l, d), f); (t.value = Ue(t.value, c)), (n.value = Bt(n.value, l, c)), (e.value = wt(e.value, l, l.slice(0, l.length - c.length))); } else if (n) { var F = n.value.match(/^\s*/)[0], m = t.value.match(/\s*$/)[0], h = Cr(m, F); t.value = Ue(t.value, h); } else if (e) { var C = e.value.match(/\s*$/)[0], v = t.value.match(/^\s*/)[0], E = Cr(C, v); t.value = _e(t.value, E); } } var Tu = new U(); Tu.tokenize = function (e) { var t = new RegExp( '(\\r?\\n)|['.concat(ze, ']+|[^\\S\\n\\r]+|[^').concat(ze, ']'), 'ug' ); return e.match(t) || []; }; var bt = new U(); bt.tokenize = function (e, t) { t.stripTrailingCr && (e = e.replace( /\r\n/g, ` ` )); var r = [], n = e.split(/(\n|\r\n)/); n[n.length - 1] || n.pop(); for (var u = 0; u < n.length; u++) { var i = n[u]; u % 2 && !t.newlineIsToken ? (r[r.length - 1] += i) : r.push(i); } return r; }; bt.equals = function (e, t, r) { return ( r.ignoreWhitespace ? ((!r.newlineIsToken || !e.includes(` `)) && (e = e.trim()), (!r.newlineIsToken || !t.includes(` `)) && (t = t.trim())) : r.ignoreNewlineAtEof && !r.newlineIsToken && (e.endsWith(` `) && (e = e.slice(0, -1)), t.endsWith(` `) && (t = t.slice(0, -1))), U.prototype.equals.call(this, e, t, r) ); }; var ku = new U(); ku.tokenize = function (e) { return e.split(/(\S.+?[.!?])(?=\s+|$)/); }; var Lu = new U(); Lu.tokenize = function (e) { return e.split(/([{}:;,]|\s+)/); }; function _t(e) { '@babel/helpers - typeof'; return ( (_t = typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol' ? function (t) { return typeof t; } : function (t) { return ( t && typeof Symbol == 'function' && t.constructor === Symbol && t !== Symbol.prototype ) ? 'symbol' : typeof t; }), _t(e) ); } var xe = new U(); xe.useLongestToken = !0; xe.tokenize = bt.tokenize; xe.castInput = function (e, t) { var r = t.undefinedReplacement, n = t.stringifyReplacer, u = n === void 0 ? function (i, o) { return typeof o > 'u' ? r : o; } : n; return typeof e == 'string' ? e : ( JSON.stringify(xt(e, null, null, u), u, ' ') ); }; xe.equals = function (e, t, r) { return U.prototype.equals.call( xe, e.replace(/,([\r\n])/g, '$1'), t.replace(/,([\r\n])/g, '$1'), r ); }; function xt(e, t, r, n, u) { (t = t || []), (r = r || []), n && (e = n(u, e)); var i; for (i = 0; i < t.length; i += 1) if (t[i] === e) return r[i]; var o; if (Object.prototype.toString.call(e) === '[object Array]') { for ( t.push(e), o = new Array(e.length), r.push(o), i = 0; i < e.length; i += 1 ) o[i] = xt(e[i], t, r, n, u); return t.pop(), r.pop(), o; } if ((e && e.toJSON && (e = e.toJSON()), _t(e) === 'object' && e !== null)) { t.push(e), (o = {}), r.push(o); var s = [], a; for (a in e) Object.prototype.hasOwnProperty.call(e, a) && s.push(a); for (s.sort(), i = 0; i < s.length; i += 1) (a = s[i]), (o[a] = xt(e[a], t, r, n, a)); t.pop(), r.pop(); } else o = e; return o; } var Ge = new U(); Ge.tokenize = function (e) { return e.slice(); }; Ge.join = Ge.removeEmpty = function (e) { return e; }; function yr(e, t, r) { return Ge.diff(e, t, r); } function Ar(e) { let t = e.indexOf('\r'); return ( t !== -1 ? ( e.charAt(t + 1) === ` ` ) ? 'crlf' : 'cr' : 'lf' ); } function be(e) { switch (e) { case 'cr': return '\r'; case 'crlf': return `\r `; default: return ` `; } } function Nt(e, t) { let r; switch (t) { case ` `: r = /\n/gu; break; case '\r': r = /\r/gu; break; case `\r `: r = /\r\n/gu; break; default: throw new Error(`Unexpected "eol" ${JSON.stringify(t)}.`); } let n = e.match(r); return n ? n.length : 0; } function vr(e) { return ne( !1, e, /\r\n?/gu, ` ` ); } var $ = 'string', H = 'array', z = 'cursor', T = 'indent', k = 'align', L = 'trim', B = 'group', N = 'fill', w = 'if-break', P = 'indent-if-break', I = 'line-suffix', R = 'line-suffix-boundary', y = 'line', O = 'label', _ = 'break-parent', Je = new Set([z, T, k, L, B, N, w, P, I, R, y, O, _]); var Pu = (e, t, r) => { if (!(e && t == null)) return Array.isArray(t) || typeof t == 'string' ? t[r < 0 ? t.length + r : r] : t.at(r); }, A = Pu; function Iu(e) { if (typeof e == 'string') return $; if (Array.isArray(e)) return H; if (!e) return; let { type: t } = e; if (Je.has(t)) return t; } var M = Iu; var Ru = (e) => new Intl.ListFormat('en-US', { type: 'disjunction' }).format(e); function Yu(e) { let t = e === null ? 'null' : typeof e; if (t !== 'string' && t !== 'object') return `Unexpected doc '${t}', Expected it to be 'string' or 'object'.`; if (M(e)) throw new Error('doc is valid.'); let r = Object.prototype.toString.call(e); if (r !== '[object Object]') return `Unexpected doc '${r}'.`; let n = Ru([...Je].map((u) => `'${u}'`)); return `Unexpected doc.type '${e.type}'. Expected it to be ${n}.`; } var Ot = class extends Error { name = 'InvalidDocError'; constructor(t) { super(Yu(t)), (this.doc = t); } }, Q = Ot; var Br = {}; function ju(e, t, r, n) { let u = [e]; for (; u.length > 0; ) { let i = u.pop(); if (i === Br) { r(u.pop()); continue; } r && u.push(i, Br); let o = M(i); if (!o) throw new Q(i); if ((t == null ? void 0 : t(i)) !== !1) switch (o) { case H: case N: { let s = o === H ? i : i.parts; for (let a = s.length, D = a - 1; D >= 0; --D) u.push(s[D]); break; } case w: u.push(i.flatContents, i.breakContents); break; case B: if (n && i.expandedStates) for (let s = i.expandedStates.length, a = s - 1; a >= 0; --a) u.push(i.expandedStates[a]); else u.push(i.contents); break; case k: case T: case P: case O: case I: u.push(i.contents); break; case $: case z: case L: case R: case y: case _: break; default: throw new Q(i); } } } var Fe = ju; function Oe(e, t) { if (typeof e == 'string') return t(e); let r = new Map(); return n(e); function n(i) { if (r.has(i)) return r.get(i); let o = u(i); return r.set(i, o), o; } function u(i) { switch (M(i)) { case H: return t(i.map(n)); case N: return t({ ...i, parts: i.parts.map(n) }); case w: return t({ ...i, breakContents: n(i.breakContents), flatContents: n(i.flatContents), }); case B: { let { expandedStates: o, contents: s } = i; return ( o ? ((o = o.map(n)), (s = o[0])) : (s = n(s)), t({ ...i, contents: s, expandedStates: o }) ); } case k: case T: case P: case O: case I: return t({ ...i, contents: n(i.contents) }); case $: case z: case L: case R: case y: case _: return t(i); default: throw new Q(i); } } } function qe(e, t, r) { let n = r, u = !1; function i(o) { if (u) return !1; let s = t(o); s !== void 0 && ((u = !0), (n = s)); } return Fe(e, i), n; } function Hu(e) { if ((e.type === B && e.break) || (e.type === y && e.hard) || e.type === _) return !0; } function xr(e) { return qe(e, Hu, !1); } function wr(e) { if (e.length > 0) { let t = A(!1, e, -1); !t.expandedStates && !t.break && (t.break = 'propagated'); } return null; } function br(e) { let t = new Set(), r = []; function n(i) { if ((i.type === _ && wr(r), i.type === B)) { if ((r.push(i), t.has(i))) return !1; t.add(i); } } function u(i) { i.type === B && r.pop().break && wr(r); } Fe(e, n, u, !0); } function Wu(e) { return ( e.type === y && !e.hard ? e.soft ? '' : ' ' : e.type === w ? e.flatContents : e ); } function Nr(e) { return Oe(e, Wu); } function _r(e) { for ( e = [...e]; e.length >= 2 && A(!1, e, -2).type === y && A(!1, e, -1).type === _; ) e.length -= 2; if (e.length > 0) { let t = Ne(A(!1, e, -1)); e[e.length - 1] = t; } return e; } function Ne(e) { switch (M(e)) { case T: case P: case B: case I: case O: { let t = Ne(e.contents); return { ...e, contents: t }; } case w: return { ...e, breakContents: Ne(e.breakContents), flatContents: Ne(e.flatContents), }; case N: return { ...e, parts: _r(e.parts) }; case H: return _r(e); case $: return e.replace(/[\n\r]*$/u, ''); case k: case z: case L: case R: case y: case _: break; default: throw new Q(e); } return e; } function Xe(e) { return Ne(Mu(e)); } function $u(e) { switch (M(e)) { case N: if (e.parts.every((t) => t === '')) return ''; break; case B: if (!e.contents && !e.id && !e.break && !e.expandedStates) return ''; if ( e.contents.type === B && e.contents.id === e.id && e.contents.break === e.break && e.contents.expandedStates === e.expandedStates ) return e.contents; break; case k: case T: case P: case I: if (!e.contents) return ''; break; case w: if (!e.flatContents && !e.breakContents) return ''; break; case H: { let t = []; for (let r of e) { if (!r) continue; let [n, ...u] = Array.isArray(r) ? r : [r]; typeof n == 'string' && typeof A(!1, t, -1) == 'string' ? (t[t.length - 1] += n) : t.push(n), t.push(...u); } return ( t.length === 0 ? '' : t.length === 1 ? t[0] : t ); } case $: case z: case L: case R: case y: case O: case _: break; default: throw new Q(e); } return e; } function Mu(e) { return Oe(e, (t) => $u(t)); } function Or(e, t = Qe) { return Oe(e, (r) => typeof r == 'string' ? Se( t, r.split(` `) ) : r ); } function Vu(e) { if (e.type === y) return !0; } function Sr(e) { return qe(e, Vu, !1); } function me(e, t) { return e.type === O ? { ...e, contents: t(e.contents) } : t(e); } var St = () => {}, G = St, Tt = St, Tr = St; function le(e) { return G(e), { type: T, contents: e }; } function De(e, t) { return G(t), { type: k, contents: t, n: e }; } function kt(e, t = {}) { return ( G(e), Tt(t.expandedStates, !0), { type: B, id: t.id, contents: e, break: !!t.shouldBreak, expandedStates: t.expandedStates, } ); } function kr(e) { return De(Number.NEGATIVE_INFINITY, e); } function Lr(e) { return De({ type: 'root' }, e); } function Pr(e) { return De(-1, e); } function Ir(e, t) { return kt(e[0], { ...t, expandedStates: e }); } function Rr(e) { return Tr(e), { type: N, parts: e }; } function Yr(e, t = '', r = {}) { return ( G(e), t !== '' && G(t), { type: w, breakContents: e, flatContents: t, groupId: r.groupId } ); } function jr(e, t) { return G(e), { type: P, contents: e, groupId: t.groupId, negate: t.negate }; } function Te(e) { return G(e), { type: I, contents: e }; } var Hr = { type: R }, he = { type: _ }, Wr = { type: L }, ke = { type: y, hard: !0 }, Lt = { type: y, hard: !0, literal: !0 }, Ze = { type: y }, $r = { type: y, soft: !0 }, K = [ke, he], Qe = [Lt, he], Z = { type: z }; function Se(e, t) { G(e), Tt(t); let r = []; for (let n = 0; n < t.length; n++) n !== 0 && r.push(e), r.push(t[n]); return r; } function et(e, t, r) { G(e); let n = e; if (t > 0) { for (let u = 0; u < Math.floor(t / r); ++u) n = le(n); (n = De(t % r, n)), (n = De(Number.NEGATIVE_INFINITY, n)); } return n; } function Mr(e, t) { return G(t), e ? { type: O, label: e, contents: t } : t; } function ee(e) { var t; if (!e) return ''; if (Array.isArray(e)) { let r = []; for (let n of e) if (Array.isArray(n)) r.push(...ee(n)); else { let u = ee(n); u !== '' && r.push(u); } return r; } return ( e.type === w ? { ...e, breakContents: ee(e.breakContents), flatContents: ee(e.flatContents), } : e.type === B ? { ...e, contents: ee(e.contents), expandedStates: (t = e.expandedStates) == null ? void 0 : t.map(ee), } : e.type === N ? { type: 'fill', parts: e.parts.map(ee) } : e.contents ? { ...e, contents: ee(e.contents) } : e ); } function Vr(e) { let t = Object.create(null), r = new Set(); return n(ee(e)); function n(i, o, s) { var a, D; if (typeof i == 'string') return JSON.stringify(i); if (Array.isArray(i)) { let l = i.map(n).filter(Boolean); return l.length === 1 ? l[0] : `[${l.join(', ')}]`; } if (i.type === y) { let l = ((a = s == null ? void 0 : s[o + 1]) == null ? void 0 : a.type) === _; return ( i.literal ? l ? 'literalline' : 'literallineWithoutBreakParent' : i.hard ? l ? 'hardline' : 'hardlineWithoutBreakParent' : i.soft ? 'softline' : 'line' ); } if (i.type === _) return ( ((D = s == null ? void 0 : s[o - 1]) == null ? void 0 : D.type) === y && s[o - 1].hard ) ? void 0 : 'breakParent'; if (i.type === L) return 'trim'; if (i.type === T) return 'indent(' + n(i.contents) + ')'; if (i.type === k) return ( i.n === Number.NEGATIVE_INFINITY ? 'dedentToRoot(' + n(i.contents) + ')' : i.n < 0 ? 'dedent(' + n(i.contents) + ')' : i.n.type === 'root' ? 'markAsRoot(' + n(i.contents) + ')' : 'align(' + JSON.stringify(i.n) + ', ' + n(i.contents) + ')' ); if (i.type === w) return ( 'ifBreak(' + n(i.breakContents) + (i.flatContents ? ', ' + n(i.flatContents) : '') + (i.groupId ? (i.flatContents ? '' : ', ""') + `, { groupId: ${u(i.groupId)} }` : '') + ')' ); if (i.type === P) { let l = []; i.negate && l.push('negate: true'), i.groupId && l.push(`groupId: ${u(i.groupId)}`); let p = l.length > 0 ? `, { ${l.join(', ')} }` : ''; return `indentIfBreak(${n(i.contents)}${p})`; } if (i.type === B) { let l = []; i.break && i.break !== 'propagated' && l.push('shouldBreak: true'), i.id && l.push(`id: ${u(i.id)}`); let p = l.length > 0 ? `, { ${l.join(', ')} }` : ''; return i.expandedStates ? `conditionalGroup([${i.expandedStates.map((f) => n(f)).join(',')}]${p})` : `group(${n(i.contents)}${p})`; } if (i.type === N) return `fill([${i.parts.map((l) => n(l)).join(', ')}])`; if (i.type === I) return 'lineSuffix(' + n(i.contents) + ')'; if (i.type === R) return 'lineSuffixBoundary'; if (i.type === O) return `label(${JSON.stringify(i.label)}, ${n(i.contents)})`; throw new Error('Unknown doc type ' + i.type); } function u(i) { if (typeof i != 'symbol') return JSON.stringify(String(i)); if (i in t) return t[i]; let o = i.description || 'symbol'; for (let s = 0; ; s++) { let a = o + (s > 0 ? ` #${s}` : ''); if (!r.has(a)) return r.add(a), (t[i] = `Symbol.for(${JSON.stringify(a)})`); } } } var Ur = () => /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g; function zr(e) { return ( e === 12288 || (e >= 65281 && e <= 65376) || (e >= 65504 && e <= 65510) ); } function Gr(e) { return ( (e >= 4352 && e <= 4447) || e === 8986 || e === 8987 || e === 9001 || e === 9002 || (e >= 9193 && e <= 9196) || e === 9200 || e === 9203 || e === 9725 || e === 9726 || e === 9748 || e === 9749 || (e >= 9776 && e <= 9783) || (e >= 9800 && e <= 9811) || e === 9855 || (e >= 9866 && e <= 9871) || e === 9875 || e === 9889 || e === 9898 || e === 9899 || e === 9917 || e === 9918 || e === 9924 || e === 9925 || e === 9934 || e === 9940 || e === 9962 || e === 9970 || e === 9971 || e === 9973 || e === 9978 || e === 9981 || e === 9989 || e === 9994 || e === 9995 || e === 10024 || e === 10060 || e === 10062 || (e >= 10067 && e <= 10069) || e === 10071 || (e >= 10133 && e <= 10135) || e === 10160 || e === 10175 || e === 11035 || e === 11036 || e === 11088 || e === 11093 || (e >= 11904 && e <= 11929) || (e >= 11931 && e <= 12019) || (e >= 12032 && e <= 12245) || (e >= 12272 && e <= 12287) || (e >= 12289 && e <= 12350) || (e >= 12353 && e <= 12438) || (e >= 12441 && e <= 12543) || (e >= 12549 && e <= 12591) || (e >= 12593 && e <= 12686) || (e >= 12688 && e <= 12773) || (e >= 12783 && e <= 12830) || (e >= 12832 && e <= 12871) || (e >= 12880 && e <= 42124) || (e >= 42128 && e <= 42182) || (e >= 43360 && e <= 43388) || (e >= 44032 && e <= 55203) || (e >= 63744 && e <= 64255) || (e >= 65040 && e <= 65049) || (e >= 65072 && e <= 65106) || (e >= 65108 && e <= 65126) || (e >= 65128 && e <= 65131) || (e >= 94176 && e <= 94180) || e === 94192 || e === 94193 || (e >= 94208 && e <= 100343) || (e >= 100352 && e <= 101589) || (e >= 101631 && e <= 101640) || (e >= 110576 && e <= 110579) || (e >= 110581 && e <= 110587) || e === 110589 || e === 110590 || (e >= 110592 && e <= 110882) || e === 110898 || (e >= 110928 && e <= 110930) || e === 110933 || (e >= 110948 && e <= 110951) || (e >= 110960 && e <= 111355) || (e >= 119552 && e <= 119638) || (e >= 119648 && e <= 119670) || e === 126980 || e === 127183 || e === 127374 || (e >= 127377 && e <= 127386) || (e >= 127488 && e <= 127490) || (e >= 127504 && e <= 127547) || (e >= 127552 && e <= 127560) || e === 127568 || e === 127569 || (e >= 127584 && e <= 127589) || (e >= 127744 && e <= 127776) || (e >= 127789 && e <= 127797) || (e >= 127799 && e <= 127868) || (e >= 127870 && e <= 127891) || (e >= 127904 && e <= 127946) || (e >= 127951 && e <= 127955) || (e >= 127968 && e <= 127984) || e === 127988 || (e >= 127992 && e <= 128062) || e === 128064 || (e >= 128066 && e <= 128252) || (e >= 128255 && e <= 128317) || (e >= 128331 && e <= 128334) || (e >= 128336 && e <= 128359) || e === 128378 || e === 128405 || e === 128406 || e === 128420 || (e >= 128507 && e <= 128591) || (e >= 128640 && e <= 128709) || e === 128716 || (e >= 128720 && e <= 128722) || (e >= 128725 && e <= 128727) || (e >= 128732 && e <= 128735) || e === 128747 || e === 128748 || (e >= 128756 && e <= 128764) || (e >= 128992 && e <= 129003) || e === 129008 || (e >= 129292 && e <= 129338) || (e >= 129340 && e <= 129349) || (e >= 129351 && e <= 129535) || (e >= 129648 && e <= 129660) || (e >= 129664 && e <= 129673) || (e >= 129679 && e <= 129734) || (e >= 129742 && e <= 129756) || (e >= 129759 && e <= 129769) || (e >= 129776 && e <= 129784) || (e >= 131072 && e <= 196605) || (e >= 196608 && e <= 262141) ); } var Kr = (e) => !(zr(e) || Gr(e)); var Uu = /[^\x20-\x7F]/u; function zu(e) { if (!e) return 0; if (!Uu.test(e)) return e.length; e = e.replace(Ur(), ' '); let t = 0; for (let r of e) { let n = r.codePointAt(0); n <= 31 || (n >= 127 && n <= 159) || (n >= 768 && n <= 879) || (t += Kr(n) ? 1 : 2); } return t; } var Le = zu; var Y = Symbol('MODE_BREAK'), J = Symbol('MODE_FLAT'), Ee = Symbol('cursor'), Pt = Symbol('DOC_FILL_PRINTED_LENGTH'); function Jr() { return { value: '', length: 0, queue: [] }; } function Gu(e, t) { return It(e, { type: 'indent' }, t); } function Ku(e, t, r) { return ( t === Number.NEGATIVE_INFINITY ? e.root || Jr() : t < 0 ? It(e, { type: 'dedent' }, r) : t ? t.type === 'root' ? { ...e, root: e } : It( e, { type: typeof t == 'string' ? 'stringAlign' : 'numberAlign', n: t, }, r ) : e ); } function It(e, t, r) { let n = t.type === 'dedent' ? e.queue.slice(0, -1) : [...e.queue, t], u = '', i = 0, o = 0, s = 0; for (let c of n) switch (c.type) { case 'indent': l(), r.useTabs ? a(1) : D(r.tabWidth); break; case 'stringAlign': l(), (u += c.n), (i += c.n.length); break; case 'numberAlign': (o += 1), (s += c.n); break; default: throw new Error(`Unexpected type '${c.type}'`); } return f(), { ...e, value: u, length: i, queue: n }; function a(c) { (u += ' '.repeat(c)), (i += r.tabWidth * c); } function D(c) { (u += ' '.repeat(c)), (i += c); } function l() { r.useTabs ? p() : f(); } function p() { o > 0 && a(o), d(); } function f() { s > 0 && D(s), d(); } function d() { (o = 0), (s = 0); } } function Rt(e) { let t = 0, r = 0, n = e.length; e: for (; n--; ) { let u = e[n]; if (u === Ee) { r++; continue; } for (let i = u.length - 1; i >= 0; i--) { let o = u[i]; if (o === ' ' || o === ' ') t++; else { e[n] = u.slice(0, i + 1); break e; } } } if (t > 0 || r > 0) for (e.length = n + 1; r-- > 0; ) e.push(Ee); return t; } function tt(e, t, r, n, u, i) { if (r === Number.POSITIVE_INFINITY) return !0; let o = t.length, s = [e], a = []; for (; r >= 0; ) { if (s.length === 0) { if (o === 0) return !0; s.push(t[--o]); continue; } let { mode: D, doc: l } = s.pop(), p = M(l); switch (p) { case $: a.push(l), (r -= Le(l)); break; case H: case N: { let f = p === H ? l : l.parts, d = l[Pt] ?? 0; for (let c = f.length - 1; c >= d; c--) s.push({ mode: D, doc: f[c] }); break; } case T: case k: case P: case O: s.push({ mode: D, doc: l.contents }); break; case L: r += Rt(a); break; case B: { if (i && l.break) return !1; let f = l.break ? Y : D, d = l.expandedStates && f === Y ? A(!1, l.expandedStates, -1) : l.contents; s.push({ mode: f, doc: d }); break; } case w: { let d = (l.groupId ? u[l.groupId] || J : D) === Y ? l.breakContents : l.flatContents; d && s.push({ mode: D, doc: d }); break; } case y: if (D === Y || l.hard) return !0; l.soft || (a.push(' '), r--); break; case I: n = !0; break; case R: if (n) return !1; break; } } return !1; } function Ce(e, t) { let r = {}, n = t.printWidth, u = be(t.endOfLine), i = 0, o = [{ ind: Jr(), mode: Y, doc: e }], s = [], a = !1, D = [], l = 0; for (br(e); o.length > 0; ) { let { ind: f, mode: d, doc: c } = o.pop(); switch (M(c)) { case $: { let F = ( u !== ` ` ) ? ne( !1, c, ` `, u ) : c; s.push(F), o.length > 0 && (i += Le(F)); break; } case H: for (let F = c.length - 1; F >= 0; F--) o.push({ ind: f, mode: d, doc: c[F] }); break; case z: if (l >= 2) throw new Error("There are too many 'cursor' in doc."); s.push(Ee), l++; break; case T: o.push({ ind: Gu(f, t), mode: d, doc: c.contents }); break; case k: o.push({ ind: Ku(f, c.n, t), mode: d, doc: c.contents }); break; case L: i -= Rt(s); break; case B: switch (d) { case J: if (!a) { o.push({ ind: f, mode: c.break ? Y : J, doc: c.contents }); break; } case Y: { a = !1; let F = { ind: f, mode: J, doc: c.contents }, m = n - i, h = D.length > 0; if (!c.break && tt(F, o, m, h, r)) o.push(F); else if (c.expandedStates) { let C = A(!1, c.expandedStates, -1); if (c.break) { o.push({ ind: f, mode: Y, doc: C }); break; } else for (let v = 1; v < c.expandedStates.length + 1; v++) if (v >= c.expandedStates.length) { o.push({ ind: f, mode: Y, doc: C }); break; } else { let E = c.expandedStates[v], g = { ind: f, mode: J, doc: E }; if (tt(g, o, m, h, r)) { o.push(g); break; } } } else o.push({ ind: f, mode: Y, doc: c.contents }); break; } } c.id && (r[c.id] = A(!1, o, -1).mode); break; case N: { let F = n - i, m = c[Pt] ?? 0, { parts: h } = c, C = h.length - m; if (C === 0) break; let v = h[m + 0], E = h[m + 1], g = { ind: f, mode: J, doc: v }, j = { ind: f, mode: Y, doc: v }, b = tt(g, [], F, D.length > 0, r, !0); if (C === 1) { b ? o.push(g) : o.push(j); break; } let X = { ind: f, mode: J, doc: E }, ae = { ind: f, mode: Y, doc: E }; if (C === 2) { b ? o.push(X, g) : o.push(ae, j); break; } let $e = h[m + 2], At = { ind: f, mode: d, doc: { ...c, [Pt]: m + 2 } }; tt({ ind: f, mode: J, doc: [v, E, $e] }, [], F, D.length > 0, r, !0) ? o.push(At, X, g) : b ? o.push(At, ae, g) : o.push(At, ae, j); break; } case w: case P: { let F = c.groupId ? r[c.groupId] : d; if (F === Y) { let m = c.type === w ? c.breakContents : c.negate ? c.contents : le(c.contents); m && o.push({ ind: f, mode: d, doc: m }); } if (F === J) { let m = c.type === w ? c.flatContents : c.negate ? le(c.contents) : c.contents; m && o.push({ ind: f, mode: d, doc: m }); } break; } case I: D.push({ ind: f, mode: d, doc: c.contents }); break; case R: D.length > 0 && o.push({ ind: f, mode: d, doc: ke }); break; case y: switch (d) { case J: if (c.hard) a = !0; else { c.soft || (s.push(' '), (i += 1)); break; } case Y: if (D.length > 0) { o.push({ ind: f, mode: d, doc: c }, ...D.reverse()), (D.length = 0); break; } c.literal ? f.root ? (s.push(u, f.root.value), (i = f.root.length)) : (s.push(u), (i = 0)) : ((i -= Rt(s)), s.push(u + f.value), (i = f.length)); break; } break; case O: o.push({ ind: f, mode: d, doc: c.contents }); break; case _: break; default: throw new Q(c); } o.length === 0 && D.length > 0 && (o.push(...D.reverse()), (D.length = 0)); } let p = s.indexOf(Ee); if (p !== -1) { let f = s.indexOf(Ee, p + 1); if (f === -1) return { formatted: s.filter((m) => m !== Ee).join('') }; let d = s.slice(0, p).join(''), c = s.slice(p + 1, f).join(''), F = s.slice(f + 1).join(''); return { formatted: d + c + F, cursorNodeStart: d.length, cursorNodeText: c, }; } return { formatted: s.join('') }; } function Ju(e, t, r = 0) { let n = 0; for (let u = r; u < e.length; ++u) e[u] === ' ' ? (n = n + t - (n % t)) : n++; return n; } var ge = Ju; var te, jt, rt, Yt = class { constructor(t) { Fr(this, te); this.stack = [t]; } get key() { let { stack: t, siblings: r } = this; return A(!1, t, r === null ? -2 : -4) ?? null; } get index() { return this.siblings === null ? null : A(!1, this.stack, -2); } get node() { return A(!1, this.stack, -1); } get parent() { return this.getNode(1); } get grandparent() { return this.getNode(2); } get isInArray() { return this.siblings !== null; } get siblings() { let { stack: t } = this, r = A(!1, t, -3); return Array.isArray(r) ? r : null; } get next() { let { siblings: t } = this; return t === null ? null : t[this.index + 1]; } get previous() { let { siblings: t } = this; return t === null ? null : t[this.index - 1]; } get isFirst() { return this.index === 0; } get isLast() { let { siblings: t, index: r } = this; return t !== null && r === t.length - 1; } get isRoot() { return this.stack.length === 1; } get root() { return this.stack[0]; } get ancestors() { return [...pe(this, te, rt).call(this)]; } getName() { let { stack: t } = this, { length: r } = t; return r > 1 ? A(!1, t, -2) : null; } getValue() { return A(!1, this.stack, -1); } getNode(t = 0) { let r = pe(this, te, jt).call(this, t); return r === -1 ? null : this.stack[r]; } getParentNode(t = 0) { return this.getNode(t + 1); } call(t, ...r) { let { stack: n } = this, { length: u } = n, i = A(!1, n, -1); for (let o of r) (i = i[o]), n.push(o, i); try { return t(this); } finally { n.length = u; } } callParent(t, r = 0) { let n = pe(this, te, jt).call(this, r + 1), u = this.stack.splice(n + 1); try { return t(this); } finally { this.stack.push(...u); } } each(t, ...r) { let { stack: n } = this, { length: u } = n, i = A(!1, n, -1); for (let o of r) (i = i[o]), n.push(o, i); try { for (let o = 0; o < i.length; ++o) n.push(o, i[o]), t(this, o, i), (n.length -= 2); } finally { n.length = u; } } map(t, ...r) { let n = []; return ( this.each( (u, i, o) => { n[i] = t(u, i, o); }, ...r ), n ); } match(...t) { let r = this.stack.length - 1, n = null, u = this.stack[r--]; for (let i of t) { if (u === void 0) return !1; let o = null; if ( (typeof n == 'number' && ((o = n), (n = this.stack[r--]), (u = this.stack[r--])), i && !i(u, n, o)) ) return !1; (n = this.stack[r--]), (u = this.stack[r--]); } return !0; } findAncestor(t) { for (let r of pe(this, te, rt).call(this)) if (t(r)) return r; } hasAncestor(t) { for (let r of pe(this, te, rt).call(this)) if (t(r)) return !0; return !1; } }; (te = new WeakSet()), (jt = function (t) { let { stack: r } = this; for (let n = r.length - 1; n >= 0; n -= 2) if (!Array.isArray(r[n]) && --t < 0) return n; return -1; }), (rt = function* () { let { stack: t } = this; for (let r = t.length - 3; r >= 0; r -= 2) { let n = t[r]; Array.isArray(n) || (yield n); } }); var qr = Yt; var Xr = new Proxy(() => {}, { get: () => Xr }), Pe = Xr; function qu(e) { return e !== null && typeof e == 'object'; } var Qr = qu; function* ye(e, t) { let { getVisitorKeys: r, filter: n = () => !0 } = t, u = (i) => Qr(i) && n(i); for (let i of r(e)) { let o = e[i]; if (Array.isArray(o)) for (let s of o) u(s) && (yield s); else u(o) && (yield o); } } function* Zr(e, t) { let r = [e]; for (let n = 0; n < r.length; n++) { let u = r[n]; for (let i of ye(u, t)) yield i, r.push(i); } } function en(e, t) { return ye(e, t).next().done; } function Ae(e) { return (t, r, n) => { let u = !!(n != null && n.backwards); if (r === !1) return !1; let { length: i } = t, o = r; for (; o >= 0 && o < i; ) { let s = t.charAt(o); if (e instanceof RegExp) { if (!e.test(s)) return o; } else if (!e.includes(s)) return o; u ? o-- : o++; } return o === -1 || o === i ? o : !1; }; } var tn = Ae(/\s/u), S = Ae(' '), nt = Ae(',; '), ut = Ae(/[^\n\r]/u); function Xu(e, t, r) { let n = !!(r != null && r.backwards); if (t === !1) return !1; let u = e.charAt(t); if (n) { if ( e.charAt(t - 1) === '\r' && u === ` ` ) return t - 2; if ( u === ` ` || u === '\r' || u === '\u2028' || u === '\u2029' ) return t - 1; } else { if ( u === '\r' && e.charAt(t + 1) === ` ` ) return t + 2; if ( u === ` ` || u === '\r' || u === '\u2028' || u === '\u2029' ) return t + 1; } return t; } var W = Xu; function Qu(e, t, r = {}) { let n = S(e, r.backwards ? t - 1 : t, r), u = W(e, n, r); return n !== u; } var V = Qu; function Zu(e) { return Array.isArray(e) && e.length > 0; } var Ht = Zu; var rn = new Set([ 'tokens', 'comments', 'parent', 'enclosingNode', 'precedingNode', 'followingNode', ]), ei = (e) => Object.keys(e).filter((t) => !rn.has(t)); function ti(e) { return e ? (t) => e(t, rn) : ei; } var q = ti; function ri(e) { let t = e.type || e.kind || '(unknown type)', r = String( e.name || (e.id && (typeof e.id == 'object' ? e.id.name : e.id)) || (e.key && (typeof e.key == 'object' ? e.key.name : e.key)) || (e.value && (typeof e.value == 'object' ? '' : String(e.value))) || e.operator || '' ); return ( r.length > 20 && (r = r.slice(0, 19) + '\u2026'), t + (r ? ' ' + r : '') ); } function Wt(e, t) { (e.comments ?? (e.comments = [])).push(t), (t.printed = !1), (t.nodeDescription = ri(e)); } function ue(e, t) { (t.leading = !0), (t.trailing = !1), Wt(e, t); } function re(e, t, r) { (t.leading = !1), (t.trailing = !1), r && (t.marker = r), Wt(e, t); } function ie(e, t) { (t.leading = !1), (t.trailing = !0), Wt(e, t); } var $t = new WeakMap(); function it(e, t) { if ($t.has(e)) return $t.get(e); let { printer: { getCommentChildNodes: r, canAttachComment: n, getVisitorKeys: u, }, locStart: i, locEnd: o, } = t; if (!n) return []; let s = ( (r == null ? void 0 : r(e, t)) ?? [...ye(e, { getVisitorKeys: q(u) })] ).flatMap((a) => (n(a) ? [a] : it(a, t))); return s.sort((a, D) => i(a) - i(D) || o(a) - o(D)), $t.set(e, s), s; } function un(e, t, r, n) { let { locStart: u, locEnd: i } = r, o = u(t), s = i(t), a = it(e, r), D, l, p = 0, f = a.length; for (; p < f; ) { let d = (p + f) >> 1, c = a[d], F = u(c), m = i(c); if (F <= o && s <= m) return un(c, t, r, c); if (m <= o) { (D = c), (p = d + 1); continue; } if (s <= F) { (l = c), (f = d); continue; } throw new Error('Comment location overlaps with node location'); } if ((n == null ? void 0 : n.type) === 'TemplateLiteral') { let { quasis: d } = n, c = Vt(d, t, r); D && Vt(d, D, r) !== c && (D = null), l && Vt(d, l, r) !== c && (l = null); } return { enclosingNode: n, precedingNode: D, followingNode: l }; } var Mt = () => !1; function on(e, t) { let { comments: r } = e; if ((delete e.comments, !Ht(r) || !t.printer.canAttachComment)) return; let n = [], { locStart: u, locEnd: i, printer: { experimentalFeatures: { avoidAstMutation: o = !1 } = {}, handleComments: s = {}, }, originalText: a, } = t, { ownLine: D = Mt, endOfLine: l = Mt, remaining: p = Mt } = s, f = r.map((d, c) => ({ ...un(e, d, t), comment: d, text: a, options: t, ast: e, isLastComment: r.length - 1 === c, })); for (let [d, c] of f.entries()) { let { comment: F, precedingNode: m, enclosingNode: h, followingNode: C, text: v, options: E, ast: g, isLastComment: j, } = c; if ( E.parser === 'json' || E.parser === 'json5' || E.parser === 'jsonc' || E.parser === '__js_expression' || E.parser === '__ts_expression' || E.parser === '__vue_expression' || E.parser === '__vue_ts_expression' ) { if (u(F) - u(g) <= 0) { ue(g, F); continue; } if (i(F) - i(g) >= 0) { ie(g, F); continue; } } let b; if ( (o ? (b = [c]) : ((F.enclosingNode = h), (F.precedingNode = m), (F.followingNode = C), (b = [F, v, E, g, j])), ni(v, E, f, d)) ) (F.placement = 'ownLine'), D(...b) || (C ? ue(C, F) : m ? ie(m, F) : h ? re(h, F) : re(g, F)); else if (ui(v, E, f, d)) (F.placement = 'endOfLine'), l(...b) || (m ? ie(m, F) : C ? ue(C, F) : h ? re(h, F) : re(g, F)); else if (((F.placement = 'remaining'), !p(...b))) if (m && C) { let X = n.length; X > 0 && n[X - 1].followingNode !== C && nn(n, E), n.push(c); } else m ? ie(m, F) : C ? ue(C, F) : h ? re(h, F) : re(g, F); } if ((nn(n, t), !o)) for (let d of r) delete d.precedingNode, delete d.enclosingNode, delete d.followingNode; } var sn = (e) => !/[\S\n\u2028\u2029]/u.test(e); function ni(e, t, r, n) { let { comment: u, precedingNode: i } = r[n], { locStart: o, locEnd: s } = t, a = o(u); if (i) for (let D = n - 1; D >= 0; D--) { let { comment: l, precedingNode: p } = r[D]; if (p !== i || !sn(e.slice(s(l), a))) break; a = o(l); } return V(e, a, { backwards: !0 }); } function ui(e, t, r, n) { let { comment: u, followingNode: i } = r[n], { locStart: o, locEnd: s } = t, a = s(u); if (i) for (let D = n + 1; D < r.length; D++) { let { comment: l, followingNode: p } = r[D]; if (p !== i || !sn(e.slice(a, o(l)))) break; a = s(l); } return V(e, a); } function nn(e, t) { var s, a; let r = e.length; if (r === 0) return; let { precedingNode: n, followingNode: u } = e[0], i = t.locStart(u), o; for (o = r; o > 0; --o) { let { comment: D, precedingNode: l, followingNode: p } = e[o - 1]; Pe.strictEqual(l, n), Pe.strictEqual(p, u); let f = t.originalText.slice(t.locEnd(D), i); if ( ((a = (s = t.printer).isGap) == null ? void 0 : a.call(s, f, t)) ?? /^[\s(]*$/u.test(f) ) i = t.locStart(D); else break; } for (let [D, { comment: l }] of e.entries()) D < o ? ie(n, l) : ue(u, l); for (let D of [n, u]) D.comments && D.comments.length > 1 && D.comments.sort((l, p) => t.locStart(l) - t.locStart(p)); e.length = 0; } function Vt(e, t, r) { let n = r.locStart(t) - 1; for (let u = 1; u < e.length; ++u) if (n < r.locStart(e[u])) return u - 1; return 0; } function ii(e, t) { let r = t - 1; (r = S(e, r, { backwards: !0 })), (r = W(e, r, { backwards: !0 })), (r = S(e, r, { backwards: !0 })); let n = W(e, r, { backwards: !0 }); return r !== n; } var Ie = ii; function an(e, t) { let r = e.node; return (r.printed = !0), t.printer.printComment(e, t); } function oi(e, t) { var l; let r = e.node, n = [an(e, t)], { printer: u, originalText: i, locStart: o, locEnd: s } = t; if ((l = u.isBlockComment) == null ? void 0 : l.call(u, r)) { let p = V(i, s(r)) ? V(i, o(r), { backwards: !0 }) ? K : Ze : ' '; n.push(p); } else n.push(K); let D = W(i, S(i, s(r))); return D !== !1 && V(i, D) && n.push(K), n; } function si(e, t, r) { var D; let n = e.node, u = an(e, t), { printer: i, originalText: o, locStart: s } = t, a = (D = i.isBlockComment) == null ? void 0 : D.call(i, n); if ( (r != null && r.hasLineSuffix && !(r != null && r.isBlock)) || V(o, s(n), { backwards: !0 }) ) { let l = Ie(o, s(n)); return { doc: Te([K, l ? K : '', u]), isBlock: a, hasLineSuffix: !0 }; } return !a || (r != null && r.hasLineSuffix) ? { doc: [Te([' ', u]), he], isBlock: a, hasLineSuffix: !0 } : { doc: [' ', u], isBlock: a, hasLineSuffix: !1 }; } function ai(e, t) { let r = e.node; if (!r) return {}; let n = t[Symbol.for('printedComments')]; if ((r.comments || []).filter((a) => !n.has(a)).length === 0) return { leading: '', trailing: '' }; let i = [], o = [], s; return ( e.each(() => { let a = e.node; if (n != null && n.has(a)) return; let { leading: D, trailing: l } = a; D ? i.push(oi(e, t)) : l && ((s = si(e, t, s)), o.push(s.doc)); }, 'comments'), { leading: i, trailing: o } ); } function Dn(e, t, r) { let { leading: n, trailing: u } = ai(e, r); return !n && !u ? t : me(t, (i) => [n, i, u]); } function ln(e) { let { [Symbol.for('comments')]: t, [Symbol.for('printedComments')]: r } = e; for (let n of t) { if (!n.printed && !r.has(n)) throw new Error( 'Comment "' + n.value.trim() + '" was not printed. Please report this error!' ); delete n.printed; } } function Di(e) { return () => {}; } var cn = Di; var Re = class extends Error { name = 'ConfigError'; }, Ye = class extends Error { name = 'UndefinedParserError'; }; var fn = { cursorOffset: { category: 'Special', type: 'int', default: -1, range: { start: -1, end: 1 / 0, step: 1 }, description: 'Print (to stderr) where a cursor at the given position would move to after formatting.', cliCategory: 'Editor', }, endOfLine: { category: 'Global', type: 'choice', default: 'lf', description: 'Which end of line characters to apply.', choices: [ { value: 'lf', description: 'Line Feed only (\\n), common on Linux and macOS as well as inside git repos', }, { value: 'crlf', description: 'Carriage Return + Line Feed characters (\\r\\n), common on Windows', }, { value: 'cr', description: 'Carriage Return character only (\\r), used very rarely', }, { value: 'auto', description: `Maintain existing (mixed values within one file are normalised by looking at what's used after the first line)`, }, ], }, filepath: { category: 'Special', type: 'path', description: 'Specify the input filepath. This will be used to do parser inference.', cliName: 'stdin-filepath', cliCategory: 'Other', cliDescription: 'Path to the file to pretend that stdin comes from.', }, insertPragma: { category: 'Special', type: 'boolean', default: !1, description: "Insert @format pragma into file's first docblock comment.", cliCategory: 'Other', }, parser: { category: 'Global', type: 'choice', default: void 0, description: 'Which parser to use.', exception: (e) => typeof e == 'string' || typeof e == 'function', choices: [ { value: 'flow', description: 'Flow' }, { value: 'babel', description: 'JavaScript' }, { value: 'babel-flow', description: 'Flow' }, { value: 'babel-ts', description: 'TypeScript' }, { value: 'typescript', description: 'TypeScript' }, { value: 'acorn', description: 'JavaScript' }, { value: 'espree', description: 'JavaScript' }, { value: 'meriyah', description: 'JavaScript' }, { value: 'css', description: 'CSS' }, { value: 'less', description: 'Less' }, { value: 'scss', description: 'SCSS' }, { value: 'json', description: 'JSON' }, { value: 'json5', description: 'JSON5' }, { value: 'jsonc', description: 'JSON with Comments' }, { value: 'json-stringify', description: 'JSON.stringify' }, { value: 'graphql', description: 'GraphQL' }, { value: 'markdown', description: 'Markdown' }, { value: 'mdx', description: 'MDX' }, { value: 'vue', description: 'Vue' }, { value: 'yaml', description: 'YAML' }, { value: 'glimmer', description: 'Ember / Handlebars' }, { value: 'html', description: 'HTML' }, { value: 'angular', description: 'Angular' }, { value: 'lwc', description: 'Lightning Web Components' }, ], }, plugins: { type: 'path', array: !0, default: [{ value: [] }], category: 'Global', description: 'Add a plugin. Multiple plugins can be passed as separate `--plugin`s.', exception: (e) => typeof e == 'string' || typeof e == 'object', cliName: 'plugin', cliCategory: 'Config', }, printWidth: { category: 'Global', type: 'int', default: 80, description: 'The line length where Prettier will try wrap.', range: { start: 0, end: 1 / 0, step: 1 }, }, rangeEnd: { category: 'Special', type: 'int', default: 1 / 0, range: { start: 0, end: 1 / 0, step: 1 }, description: `Format code ending at a given character offset (exclusive). The range will extend forwards to the end of the selected statement.`, cliCategory: 'Editor', }, rangeStart: { category: 'Special', type: 'int', default: 0, range: { start: 0, end: 1 / 0, step: 1 }, description: `Format code starting at a given character offset. The range will extend backwards to the start of the first line containing the selected statement.`, cliCategory: 'Editor', }, requirePragma: { category: 'Special', type: 'boolean', default: !1, description: `Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted.`, cliCategory: 'Other', }, tabWidth: { type: 'int', category: 'Global', default: 2, description: 'Number of spaces per indentation level.', range: { start: 0, end: 1 / 0, step: 1 }, }, useTabs: { category: 'Global', type: 'boolean', default: !1, description: 'Indent with tabs instead of spaces.', }, embeddedLanguageFormatting: { category: 'Global', type: 'choice', default: 'auto', description: 'Control how Prettier formats quoted code embedded in the file.', choices: [ { value: 'auto', description: 'Format embedded code if Prettier can automatically identify it.', }, { value: 'off', description: 'Never automatically format embedded code.', }, ], }, }; function ot({ plugins: e = [], showDeprecated: t = !1 } = {}) { let r = e.flatMap((u) => u.languages ?? []), n = []; for (let u of ci(Object.assign({}, ...e.map(({ options: i }) => i), fn))) (!t && u.deprecated) || (Array.isArray(u.choices) && (t || (u.choices = u.choices.filter((i) => !i.deprecated)), u.name === 'parser' && (u.choices = [...u.choices, ...li(u.choices, r, e)])), (u.pluginDefaults = Object.fromEntries( e .filter((i) => { var o; return ( ((o = i.defaultOptions) == null ? void 0 : o[u.name]) !== void 0 ); }) .map((i) => [i.name, i.defaultOptions[u.name]]) )), n.push(u)); return { languages: r, options: n }; } function* li(e, t, r) { let n = new Set(e.map((u) => u.value)); for (let u of t) if (u.parsers) { for (let i of u.parsers) if (!n.has(i)) { n.add(i); let o = r.find( (a) => a.parsers && Object.prototype.hasOwnProperty.call(a.parsers, i) ), s = u.name; o != null && o.name && (s += ` (plugin: ${o.name})`), yield { value: i, description: s }; } } } function ci(e) { let t = []; for (let [r, n] of Object.entries(e)) { let u = { name: r, ...n }; Array.isArray(u.default) && (u.default = A(!1, u.default, -1).value), t.push(u); } return t; } var fi = (e) => String(e).split(/[/\\]/u).pop(); function dn(e, t) { if (!t) return; let r = fi(t).toLowerCase(); return ( e.find(({ filenames: n }) => n == null ? void 0 : n.some((u) => u.toLowerCase() === r) ) ?? e.find(({ extensions: n }) => n == null ? void 0 : n.some((u) => r.endsWith(u)) ) ); } function di(e, t) { if (t) return ( e.find(({ name: r }) => r.toLowerCase() === t) ?? e.find(({ aliases: r }) => (r == null ? void 0 : r.includes(t))) ?? e.find(({ extensions: r }) => r == null ? void 0 : r.includes(`.${t}`) ) ); } function pi(e, t) { let r = e.plugins.flatMap((u) => u.languages ?? []), n = di(r, t.language) ?? dn(r, t.physicalFile) ?? dn(r, t.file) ?? (t.physicalFile, void 0); return n == null ? void 0 : n.parsers[0]; } var pn = pi; var oe = { key: (e) => (/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e) ? e : JSON.stringify(e)), value(e) { if (e === null || typeof e != 'object') return JSON.stringify(e); if (Array.isArray(e)) return `[${e.map((r) => oe.value(r)).join(', ')}]`; let t = Object.keys(e); return t.length === 0 ? '{}' : `{ ${t.map((r) => `${oe.key(r)}: ${oe.value(e[r])}`).join(', ')} }`; }, pair: ({ key: e, value: t }) => oe.value({ [e]: t }), }; var Ut = Ve(st(), 1), hn = (e, t, { descriptor: r }) => { let n = [ `${Ut.default.yellow(typeof e == 'string' ? r.key(e) : r.pair(e))} is deprecated`, ]; return ( t && n.push( `we now treat it as ${Ut.default.blue(typeof t == 'string' ? r.key(t) : r.pair(t))}` ), n.join('; ') + '.' ); }; var ce = Ve(st(), 1); var at = Symbol.for('vnopts.VALUE_NOT_EXIST'), ve = Symbol.for('vnopts.VALUE_UNCHANGED'); var En = ' '.repeat(2), gn = (e, t, r) => { let { text: n, list: u } = r.normalizeExpectedResult( r.schemas[e].expected(r) ), i = []; return ( n && i.push(Cn(e, t, n, r.descriptor)), u && i.push( [Cn(e, t, u.title, r.descriptor)].concat( u.values.map((o) => yn(o, r.loggerPrintWidth)) ).join(` `) ), An(i, r.loggerPrintWidth) ); }; function Cn(e, t, r, n) { return [ `Invalid ${ce.default.red(n.key(e))} value.`, `Expected ${ce.default.blue(r)},`, `but received ${t === at ? ce.default.gray('nothing') : ce.default.red(n.value(t))}.`, ].join(' '); } function yn({ text: e, list: t }, r) { let n = []; return ( e && n.push(`- ${ce.default.blue(e)}`), t && n.push( [`- ${ce.default.blue(t.title)}:`].concat( t.values.map((u) => yn(u, r - En.length).replace(/^|\n/g, `$&${En}`) ) ).join(` `) ), An(n, r) ); } function An(e, t) { if (e.length === 1) return e[0]; let [r, n] = e, [u, i] = e.map( (o) => o.split( ` `, 1 )[0].length ); return u > t && u > i ? n : r; } var Kt = Ve(st(), 1); var zt = [], vn = []; function Gt(e, t) { if (e === t) return 0; let r = e; e.length > t.length && ((e = t), (t = r)); let n = e.length, u = t.length; for (; n > 0 && e.charCodeAt(~-n) === t.charCodeAt(~-u); ) n--, u--; let i = 0; for (; i < n && e.charCodeAt(i) === t.charCodeAt(i); ) i++; if (((n -= i), (u -= i), n === 0)) return u; let o, s, a, D, l = 0, p = 0; for (; l < n; ) (vn[l] = e.charCodeAt(i + l)), (zt[l] = ++l); for (; p < u; ) for (o = t.charCodeAt(i + p), a = p++, s = p, l = 0; l < n; l++) (D = o === vn[l] ? a : a + 1), (a = zt[l]), (s = zt[l] = a > s ? D > s ? s + 1 : D : D > a ? a + 1 : D); return s; } var Dt = (e, t, { descriptor: r, logger: n, schemas: u }) => { let i = [ `Ignored unknown option ${Kt.default.yellow(r.pair({ key: e, value: t }))}.`, ], o = Object.keys(u) .sort() .find((s) => Gt(e, s) < 3); o && i.push(`Did you mean ${Kt.default.blue(r.key(o))}?`), n.warn(i.join(' ')); }; var Fi = [ 'default', 'expected', 'validate', 'deprecated', 'forward', 'redirect', 'overlap', 'preprocess', 'postprocess', ]; function mi(e, t) { let r = new e(t), n = Object.create(r); for (let u of Fi) u in t && (n[u] = hi(t[u], r, x.prototype[u].length)); return n; } var x = class { static create(t) { return mi(this, t); } constructor(t) { this.name = t.name; } default(t) {} expected(t) { return 'nothing'; } validate(t, r) { return !1; } deprecated(t, r) { return !1; } forward(t, r) {} redirect(t, r) {} overlap(t, r, n) { return t; } preprocess(t, r) { return t; } postprocess(t, r) { return ve; } }; function hi(e, t, r) { return typeof e == 'function' ? (...n) => e(...n.slice(0, r - 1), t, ...n.slice(r - 1)) : () => e; } var lt = class extends x { constructor(t) { super(t), (this._sourceName = t.sourceName); } expected(t) { return t.schemas[this._sourceName].expected(t); } validate(t, r) { return r.schemas[this._sourceName].validate(t, r); } redirect(t, r) { return this._sourceName; } }; var ct = class extends x { expected() { return 'anything'; } validate() { return !0; } }; var ft = class extends x { constructor({ valueSchema: t, name: r = t.name, ...n }) { super({ ...n, name: r }), (this._valueSchema = t); } expected(t) { let { text: r, list: n } = t.normalizeExpectedResult( this._valueSchema.expected(t) ); return { text: r && `an array of ${r}`, list: n && { title: 'an array of the following values', values: [{ list: n }], }, }; } validate(t, r) { if (!Array.isArray(t)) return !1; let n = []; for (let u of t) { let i = r.normalizeValidateResult(this._valueSchema.validate(u, r), u); i !== !0 && n.push(i.value); } return n.length === 0 ? !0 : { value: n }; } deprecated(t, r) { let n = []; for (let u of t) { let i = r.normalizeDeprecatedResult( this._valueSchema.deprecated(u, r), u ); i !== !1 && n.push(...i.map(({ value: o }) => ({ value: [o] }))); } return n; } forward(t, r) { let n = []; for (let u of t) { let i = r.normalizeForwardResult(this._valueSchema.forward(u, r), u); n.push(...i.map(Bn)); } return n; } redirect(t, r) { let n = [], u = []; for (let i of t) { let o = r.normalizeRedirectResult(this._valueSchema.redirect(i, r), i); 'remain' in o && n.push(o.remain), u.push(...o.redirect.map(Bn)); } return n.length === 0 ? { redirect: u } : { redirect: u, remain: n }; } overlap(t, r) { return t.concat(r); } }; function Bn({ from: e, to: t }) { return { from: [e], to: t }; } var dt = class extends x { expected() { return 'true or false'; } validate(t) { return typeof t == 'boolean'; } }; function _n(e, t) { let r = Object.create(null); for (let n of e) { let u = n[t]; if (r[u]) throw new Error(`Duplicate ${t} ${JSON.stringify(u)}`); r[u] = n; } return r; } function xn(e, t) { let r = new Map(); for (let n of e) { let u = n[t]; if (r.has(u)) throw new Error(`Duplicate ${t} ${JSON.stringify(u)}`); r.set(u, n); } return r; } function bn() { let e = Object.create(null); return (t) => { let r = JSON.stringify(t); return e[r] ? !0 : ((e[r] = !0), !1); }; } function Nn(e, t) { let r = [], n = []; for (let u of e) t(u) ? r.push(u) : n.push(u); return [r, n]; } function On(e) { return e === Math.floor(e); } function Sn(e, t) { if (e === t) return 0; let r = typeof e, n = typeof t, u = ['undefined', 'object', 'boolean', 'number', 'string']; return ( r !== n ? u.indexOf(r) - u.indexOf(n) : r !== 'string' ? Number(e) - Number(t) : e.localeCompare(t) ); } function Tn(e) { return (...t) => { let r = e(...t); return typeof r == 'string' ? new Error(r) : r; }; } function Jt(e) { return e === void 0 ? {} : e; } function qt(e) { if (typeof e == 'string') return { text: e }; let { text: t, list: r } = e; return ( Ei( (t || r) !== void 0, 'Unexpected `expected` result, there should be at least one field.' ), r ? { text: t, list: { title: r.title, values: r.values.map(qt) } } : { text: t } ); } function Xt(e, t) { return ( e === !0 ? !0 : e === !1 ? { value: t } : e ); } function Qt(e, t, r = !1) { return ( e === !1 ? !1 : e === !0 ? r ? !0 : [{ value: t }] : 'value' in e ? [e] : e.length === 0 ? !1 : e ); } function wn(e, t) { return ( typeof e == 'string' || 'key' in e ? { from: t, to: e } : 'from' in e ? { from: e.from, to: e.to } : { from: t, to: e.to } ); } function pt(e, t) { return ( e === void 0 ? [] : Array.isArray(e) ? e.map((r) => wn(r, t)) : [wn(e, t)] ); } function Zt(e, t) { let r = pt(typeof e == 'object' && 'redirect' in e ? e.redirect : e, t); return ( r.length === 0 ? { remain: t, redirect: r } : typeof e == 'object' && 'remain' in e ? { remain: e.remain, redirect: r } : { redirect: r } ); } function Ei(e, t) { if (!e) throw new Error(t); } var Ft = class extends x { constructor(t) { super(t), (this._choices = xn( t.choices.map((r) => (r && typeof r == 'object' ? r : { value: r })), 'value' )); } expected({ descriptor: t }) { let r = Array.from(this._choices.keys()) .map((o) => this._choices.get(o)) .filter(({ hidden: o }) => !o) .map((o) => o.value) .sort(Sn) .map(t.value), n = r.slice(0, -2), u = r.slice(-2); return { text: n.concat(u.join(' or ')).join(', '), list: { title: 'one of the following values', values: r }, }; } validate(t) { return this._choices.has(t); } deprecated(t) { let r = this._choices.get(t); return r && r.deprecated ? { value: t } : !1; } forward(t) { let r = this._choices.get(t); return r ? r.forward : void 0; } redirect(t) { let r = this._choices.get(t); return r ? r.redirect : void 0; } }; var mt = class extends x { expected() { return 'a number'; } validate(t, r) { return typeof t == 'number'; } }; var ht = class extends mt { expected() { return 'an integer'; } validate(t, r) { return r.normalizeValidateResult(super.validate(t, r), t) === !0 && On(t); } }; var je = class extends x { expected() { return 'a string'; } validate(t) { return typeof t == 'string'; } }; var kn = oe, Ln = Dt, Pn = gn, In = hn; var Et = class { constructor(t, r) { let { logger: n = console, loggerPrintWidth: u = 80, descriptor: i = kn, unknown: o = Ln, invalid: s = Pn, deprecated: a = In, missing: D = () => !1, required: l = () => !1, preprocess: p = (d) => d, postprocess: f = () => ve, } = r || {}; (this._utils = { descriptor: i, logger: n || { warn: () => {} }, loggerPrintWidth: u, schemas: _n(t, 'name'), normalizeDefaultResult: Jt, normalizeExpectedResult: qt, normalizeDeprecatedResult: Qt, normalizeForwardResult: pt, normalizeRedirectResult: Zt, normalizeValidateResult: Xt, }), (this._unknownHandler = o), (this._invalidHandler = Tn(s)), (this._deprecatedHandler = a), (this._identifyMissing = (d, c) => !(d in c) || D(d, c)), (this._identifyRequired = l), (this._preprocess = p), (this._postprocess = f), this.cleanHistory(); } cleanHistory() { this._hasDeprecationWarned = bn(); } normalize(t) { let r = {}, u = [this._preprocess(t, this._utils)], i = () => { for (; u.length !== 0; ) { let o = u.shift(), s = this._applyNormalization(o, r); u.push(...s); } }; i(); for (let o of Object.keys(this._utils.schemas)) { let s = this._utils.schemas[o]; if (!(o in r)) { let a = Jt(s.default(this._utils)); 'value' in a && u.push({ [o]: a.value }); } } i(); for (let o of Object.keys(this._utils.schemas)) { if (!(o in r)) continue; let s = this._utils.schemas[o], a = r[o], D = s.postprocess(a, this._utils); D !== ve && (this._applyValidation(D, o, s), (r[o] = D)); } return this._applyPostprocess(r), this._applyRequiredCheck(r), r; } _applyNormalization(t, r) { let n = [], { knownKeys: u, unknownKeys: i } = this._partitionOptionKeys(t); for (let o of u) { let s = this._utils.schemas[o], a = s.preprocess(t[o], this._utils); this._applyValidation(a, o, s); let D = ({ from: d, to: c }) => { n.push(typeof c == 'string' ? { [c]: d } : { [c.key]: c.value }); }, l = ({ value: d, redirectTo: c }) => { let F = Qt(s.deprecated(d, this._utils), a, !0); if (F !== !1) if (F === !0) this._hasDeprecationWarned(o) || this._utils.logger.warn( this._deprecatedHandler(o, c, this._utils) ); else for (let { value: m } of F) { let h = { key: o, value: m }; if (!this._hasDeprecationWarned(h)) { let C = typeof c == 'string' ? { key: c, value: m } : c; this._utils.logger.warn( this._deprecatedHandler(h, C, this._utils) ); } } }; pt(s.forward(a, this._utils), a).forEach(D); let f = Zt(s.redirect(a, this._utils), a); if ((f.redirect.forEach(D), 'remain' in f)) { let d = f.remain; (r[o] = o in r ? s.overlap(r[o], d, this._utils) : d), l({ value: d }); } for (let { from: d, to: c } of f.redirect) l({ value: d, redirectTo: c }); } for (let o of i) { let s = t[o]; this._applyUnknownHandler(o, s, r, (a, D) => { n.push({ [a]: D }); }); } return n; } _applyRequiredCheck(t) { for (let r of Object.keys(this._utils.schemas)) if (this._identifyMissing(r, t) && this._identifyRequired(r)) throw this._invalidHandler(r, at, this._utils); } _partitionOptionKeys(t) { let [r, n] = Nn( Object.keys(t).filter((u) => !this._identifyMissing(u, t)), (u) => u in this._utils.schemas ); return { knownKeys: r, unknownKeys: n }; } _applyValidation(t, r, n) { let u = Xt(n.validate(t, this._utils), t); if (u !== !0) throw this._invalidHandler(r, u.value, this._utils); } _applyUnknownHandler(t, r, n, u) { let i = this._unknownHandler(t, r, this._utils); if (i) for (let o of Object.keys(i)) { if (this._identifyMissing(o, i)) continue; let s = i[o]; o in this._utils.schemas ? u(o, s) : (n[o] = s); } } _applyPostprocess(t) { let r = this._postprocess(t, this._utils); if (r !== ve) { if (r.delete) for (let n of r.delete) delete t[n]; if (r.override) { let { knownKeys: n, unknownKeys: u } = this._partitionOptionKeys( r.override ); for (let i of n) { let o = r.override[i]; this._applyValidation(o, i, this._utils.schemas[i]), (t[i] = o); } for (let i of u) { let o = r.override[i]; this._applyUnknownHandler(i, o, t, (s, a) => { let D = this._utils.schemas[s]; this._applyValidation(a, s, D), (t[s] = a); }); } } } } }; var er; function gi( e, t, { logger: r = !1, isCLI: n = !1, passThrough: u = !1, FlagSchema: i, descriptor: o, } = {} ) { if (n) { if (!i) throw new Error("'FlagSchema' option is required."); if (!o) throw new Error("'descriptor' option is required."); } else o = oe; let s = u ? Array.isArray(u) ? (f, d) => (u.includes(f) ? { [f]: d } : void 0) : (f, d) => ({ [f]: d }) : (f, d, c) => { let { _: F, ...m } = c.schemas; return Dt(f, d, { ...c, schemas: m }); }, a = yi(t, { isCLI: n, FlagSchema: i }), D = new Et(a, { logger: r, unknown: s, descriptor: o }), l = r !== !1; l && er && (D._hasDeprecationWarned = er); let p = D.normalize(e); return l && (er = D._hasDeprecationWarned), p; } function yi(e, { isCLI: t, FlagSchema: r }) { let n = []; t && n.push(ct.create({ name: '_' })); for (let u of e) n.push(Ai(u, { isCLI: t, optionInfos: e, FlagSchema: r })), u.alias && t && n.push(lt.create({ name: u.alias, sourceName: u.name })); return n; } function Ai(e, { isCLI: t, optionInfos: r, FlagSchema: n }) { let { name: u } = e, i = { name: u }, o, s = {}; switch (e.type) { case 'int': (o = ht), t && (i.preprocess = Number); break; case 'string': o = je; break; case 'choice': (o = Ft), (i.choices = e.choices.map((a) => a != null && a.redirect ? { ...a, redirect: { to: { key: e.name, value: a.redirect } } } : a )); break; case 'boolean': o = dt; break; case 'flag': (o = n), (i.flags = r.flatMap((a) => [ a.alias, a.description && a.name, a.oppositeDescription && `no-${a.name}`, ].filter(Boolean) )); break; case 'path': o = je; break; default: throw new Error(`Unexpected type ${e.type}`); } if ( (e.exception ? (i.validate = (a, D, l) => e.exception(a) || D.validate(a, l)) : (i.validate = (a, D, l) => a === void 0 || D.validate(a, l)), e.redirect && (s.redirect = (a) => a ? { to: typeof e.redirect == 'string' ? e.redirect : { key: e.redirect.option, value: e.redirect.value }, } : void 0), e.deprecated && (s.deprecated = !0), t && !e.array) ) { let a = i.preprocess || ((D) => D); i.preprocess = (D, l, p) => l.preprocess(a(Array.isArray(D) ? A(!1, D, -1) : D), p); } return e.array ? ft.create({ ...(t ? { preprocess: (a) => (Array.isArray(a) ? a : [a]) } : {}), ...s, valueSchema: o.create(i), }) : o.create({ ...i, ...s }); } var Rn = gi; var vi = (e, t, r) => { if (!(e && t == null)) { if (t.findLast) return t.findLast(r); for (let n = t.length - 1; n >= 0; n--) { let u = t[n]; if (r(u, n, t)) return u; } } }, tr = vi; function rr(e, t) { if (!t) throw new Error('parserName is required.'); let r = tr( !1, e, (u) => u.parsers && Object.prototype.hasOwnProperty.call(u.parsers, t) ); if (r) return r; let n = `Couldn't resolve parser "${t}".`; throw ( ((n += ' Plugins must be explicitly added to the standalone bundle.'), new Re(n)) ); } function Yn(e, t) { if (!t) throw new Error('astFormat is required.'); let r = tr( !1, e, (u) => u.printers && Object.prototype.hasOwnProperty.call(u.printers, t) ); if (r) return r; let n = `Couldn't find plugin for AST format "${t}".`; throw ( ((n += ' Plugins must be explicitly added to the standalone bundle.'), new Re(n)) ); } function Ct({ plugins: e, parser: t }) { let r = rr(e, t); return nr(r, t); } function nr(e, t) { let r = e.parsers[t]; return typeof r == 'function' ? r() : r; } function jn(e, t) { let r = e.printers[t]; return typeof r == 'function' ? r() : r; } var Hn = { astFormat: 'estree', printer: {}, originalText: void 0, locStart: null, locEnd: null, }; async function Bi(e, t = {}) { var p; let r = { ...e }; if (!r.parser) if (r.filepath) { if (((r.parser = pn(r, { physicalFile: r.filepath })), !r.parser)) throw new Ye(`No parser could be inferred for file "${r.filepath}".`); } else throw new Ye( "No parser and no file path given, couldn't infer a parser." ); let n = ot({ plugins: e.plugins, showDeprecated: !0 }).options, u = { ...Hn, ...Object.fromEntries( n.filter((f) => f.default !== void 0).map((f) => [f.name, f.default]) ), }, i = rr(r.plugins, r.parser), o = await nr(i, r.parser); (r.astFormat = o.astFormat), (r.locEnd = o.locEnd), (r.locStart = o.locStart); let s = (p = i.printers) != null && p[o.astFormat] ? i : Yn(r.plugins, o.astFormat), a = await jn(s, o.astFormat); r.printer = a; let D = s.defaultOptions ? Object.fromEntries( Object.entries(s.defaultOptions).filter(([, f]) => f !== void 0) ) : {}, l = { ...u, ...D }; for (let [f, d] of Object.entries(l)) (r[f] === null || r[f] === void 0) && (r[f] = d); return ( r.parser === 'json' && (r.trailingComma = 'none'), Rn(r, n, { passThrough: Object.keys(Hn), ...t }) ); } var se = Bi; var Mn = Ve($n(), 1); async function bi(e, t) { let r = await Ct(t), n = r.preprocess ? r.preprocess(e, t) : e; t.originalText = n; let u; try { u = await r.parse(n, t, t); } catch (i) { Ni(i, e); } return { text: n, ast: u }; } function Ni(e, t) { let { loc: r } = e; if (r) { let n = (0, Mn.codeFrameColumns)(t, r, { highlightCode: !0 }); throw ( ((e.message += ` ` + n), (e.codeFrame = n), e) ); } throw e; } var fe = bi; async function Vn(e, t, r, n, u) { let { embeddedLanguageFormatting: i, printer: { embed: o, hasPrettierIgnore: s = () => !1, getVisitorKeys: a }, } = r; if (!o || i !== 'auto') return; if (o.length > 2) throw new Error( 'printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/plugins#optional-embed' ); let D = q(o.getVisitorKeys ?? a), l = []; d(); let p = e.stack; for (let { print: c, node: F, pathStack: m } of l) try { e.stack = m; let h = await c(f, t, e, r); h && u.set(F, h); } catch (h) { if (globalThis.PRETTIER_DEBUG) throw h; } e.stack = p; function f(c, F) { return Oi(c, F, r, n); } function d() { let { node: c } = e; if (c === null || typeof c != 'object' || s(e)) return; for (let m of D(c)) Array.isArray(c[m]) ? e.each(d, m) : e.call(d, m); let F = o(e, r); if (F) { if (typeof F == 'function') { l.push({ print: F, node: c, pathStack: [...e.stack] }); return; } u.set(c, F); } } } async function Oi(e, t, r, n) { let u = await se( { ...r, ...t, parentParser: r.parser, originalText: e }, { passThrough: !0 } ), { ast: i } = await fe(e, u), o = await n(i, u); return Xe(o); } function Si(e, t) { let { originalText: r, [Symbol.for('comments')]: n, locStart: u, locEnd: i, [Symbol.for('printedComments')]: o, } = t, { node: s } = e, a = u(s), D = i(s); for (let l of n) u(l) >= a && i(l) <= D && o.add(l); return r.slice(a, D); } var Un = Si; async function He(e, t) { ({ ast: e } = await ir(e, t)); let r = new Map(), n = new qr(e), u = cn(t), i = new Map(); await Vn(n, s, t, He, i); let o = await zn(n, t, s, void 0, i); if ((ln(t), t.nodeAfterCursor && !t.nodeBeforeCursor)) return [Z, o]; if (t.nodeBeforeCursor && !t.nodeAfterCursor) return [o, Z]; return o; function s(D, l) { return ( D === void 0 || D === n ? a(l) : Array.isArray(D) ? n.call(() => a(l), ...D) : n.call(() => a(l), D) ); } function a(D) { u(n); let l = n.node; if (l == null) return ''; let p = l && typeof l == 'object' && D === void 0; if (p && r.has(l)) return r.get(l); let f = zn(n, t, s, D, i); return p && r.set(l, f), f; } } function zn(e, t, r, n, u) { var a; let { node: i } = e, { printer: o } = t, s; switch ( ((a = o.hasPrettierIgnore) != null && a.call(o, e) ? (s = Un(e, t)) : u.has(i) ? (s = u.get(i)) : (s = o.print(e, t, r, n)), i) ) { case t.cursorNode: s = me(s, (D) => [Z, D, Z]); break; case t.nodeBeforeCursor: s = me(s, (D) => [D, Z]); break; case t.nodeAfterCursor: s = me(s, (D) => [Z, D]); break; } return ( o.printComment && (!o.willPrintOwnComments || !o.willPrintOwnComments(e, t)) && (s = Dn(e, s, t)), s ); } async function ir(e, t) { let r = e.comments ?? []; (t[Symbol.for('comments')] = r), (t[Symbol.for('tokens')] = e.tokens ?? []), (t[Symbol.for('printedComments')] = new Set()), on(e, t); let { printer: { preprocess: n }, } = t; return (e = n ? await n(e, t) : e), { ast: e, comments: r }; } function Ti(e, t) { let { cursorOffset: r, locStart: n, locEnd: u } = t, i = q(t.printer.getVisitorKeys), o = (d) => n(d) <= r && u(d) >= r, s = e, a = [e]; for (let d of Zr(e, { getVisitorKeys: i, filter: o })) a.push(d), (s = d); if (en(s, { getVisitorKeys: i })) return { cursorNode: s }; let D, l, p = -1, f = Number.POSITIVE_INFINITY; for (; a.length > 0 && (D === void 0 || l === void 0); ) { s = a.pop(); let d = D !== void 0, c = l !== void 0; for (let F of ye(s, { getVisitorKeys: i })) { if (!d) { let m = u(F); m <= r && m > p && ((D = F), (p = m)); } if (!c) { let m = n(F); m >= r && m < f && ((l = F), (f = m)); } } } return { nodeBeforeCursor: D, nodeAfterCursor: l }; } var Gn = Ti; function ki(e, t) { let { printer: { massageAstNode: r, getVisitorKeys: n }, } = t; if (!r) return e; let u = q(n), i = r.ignoredProperties ?? new Set(); return o(e); function o(s, a) { if (!(s !== null && typeof s == 'object')) return s; if (Array.isArray(s)) return s.map((f) => o(f, a)).filter(Boolean); let D = {}, l = new Set(u(s)); for (let f in s) !Object.prototype.hasOwnProperty.call(s, f) || i.has(f) || (l.has(f) ? (D[f] = o(s[f], s)) : (D[f] = s[f])); let p = r(s, D, a); if (p !== null) return p ?? D; } } var Kn = ki; var Li = (e, t, r) => { if (!(e && t == null)) { if (t.findLastIndex) return t.findLastIndex(r); for (let n = t.length - 1; n >= 0; n--) { let u = t[n]; if (r(u, n, t)) return n; } return -1; } }, Jn = Li; var Pi = ({ parser: e }) => e === 'json' || e === 'json5' || e === 'jsonc' || e === 'json-stringify'; function Ii(e, t) { let r = [e.node, ...e.parentNodes], n = new Set([t.node, ...t.parentNodes]); return r.find((u) => Qn.has(u.type) && n.has(u)); } function qn(e) { let t = Jn(!1, e, (r) => r.type !== 'Program' && r.type !== 'File'); return t === -1 ? e : e.slice(0, t + 1); } function Ri(e, t, { locStart: r, locEnd: n }) { let u = e.node, i = t.node; if (u === i) return { startNode: u, endNode: i }; let o = r(e.node); for (let a of qn(t.parentNodes)) if (r(a) >= o) i = a; else break; let s = n(t.node); for (let a of qn(e.parentNodes)) { if (n(a) <= s) u = a; else break; if (u === i) break; } return { startNode: u, endNode: i }; } function or(e, t, r, n, u = [], i) { let { locStart: o, locEnd: s } = r, a = o(e), D = s(e); if ( !( t > D || t < a || (i === 'rangeEnd' && t === a) || (i === 'rangeStart' && t === D) ) ) { for (let l of it(e, r)) { let p = or(l, t, r, n, [e, ...u], i); if (p) return p; } if (!n || n(e, u[0])) return { node: e, parentNodes: u }; } } function Yi(e, t) { return ( t !== 'DeclareExportDeclaration' && e !== 'TypeParameterDeclaration' && (e === 'Directive' || e === 'TypeAlias' || e === 'TSExportAssignment' || e.startsWith('Declare') || e.startsWith('TSDeclare') || e.endsWith('Statement') || e.endsWith('Declaration')) ); } var Qn = new Set([ 'JsonRoot', 'ObjectExpression', 'ArrayExpression', 'StringLiteral', 'NumericLiteral', 'BooleanLiteral', 'NullLiteral', 'UnaryExpression', 'TemplateLiteral', ]), ji = new Set([ 'OperationDefinition', 'FragmentDefinition', 'VariableDefinition', 'TypeExtensionDefinition', 'ObjectTypeDefinition', 'FieldDefinition', 'DirectiveDefinition', 'EnumTypeDefinition', 'EnumValueDefinition', 'InputValueDefinition', 'InputObjectTypeDefinition', 'SchemaDefinition', 'OperationTypeDefinition', 'InterfaceTypeDefinition', 'UnionTypeDefinition', 'ScalarTypeDefinition', ]); function Xn(e, t, r) { if (!t) return !1; switch (e.parser) { case 'flow': case 'babel': case 'babel-flow': case 'babel-ts': case 'typescript': case 'acorn': case 'espree': case 'meriyah': case '__babel_estree': return Yi(t.type, r == null ? void 0 : r.type); case 'json': case 'json5': case 'jsonc': case 'json-stringify': return Qn.has(t.type); case 'graphql': return ji.has(t.kind); case 'vue': return t.tag !== 'root'; } return !1; } function Zn(e, t, r) { let { rangeStart: n, rangeEnd: u, locStart: i, locEnd: o } = t; Pe.ok(u > n); let s = e.slice(n, u).search(/\S/u), a = s === -1; if (!a) for (n += s; u > n && !/\S/u.test(e[u - 1]); --u); let D = or(r, n, t, (d, c) => Xn(t, d, c), [], 'rangeStart'), l = a ? D : or(r, u, t, (d) => Xn(t, d), [], 'rangeEnd'); if (!D || !l) return { rangeStart: 0, rangeEnd: 0 }; let p, f; if (Pi(t)) { let d = Ii(D, l); (p = d), (f = d); } else ({ startNode: p, endNode: f } = Ri(D, l, t)); return { rangeStart: Math.min(i(p), i(f)), rangeEnd: Math.max(o(p), o(f)) }; } var nu = '\uFEFF', eu = Symbol('cursor'); async function uu(e, t, r = 0) { if (!e || e.trim().length === 0) return { formatted: '', cursorOffset: -1, comments: [] }; let { ast: n, text: u } = await fe(e, t); t.cursorOffset >= 0 && (t = { ...t, ...Gn(n, t) }); let i = await He(n, t, r); r > 0 && (i = et([K, i], r, t.tabWidth)); let o = Ce(i, t); if (r > 0) { let a = o.formatted.trim(); o.cursorNodeStart !== void 0 && ((o.cursorNodeStart -= o.formatted.indexOf(a)), o.cursorNodeStart < 0 && ((o.cursorNodeStart = 0), (o.cursorNodeText = o.cursorNodeText.trimStart())), o.cursorNodeStart + o.cursorNodeText.length > a.length && (o.cursorNodeText = o.cursorNodeText.trimEnd())), (o.formatted = a + be(t.endOfLine)); } let s = t[Symbol.for('comments')]; if (t.cursorOffset >= 0) { let a, D, l, p; if ( (t.cursorNode || t.nodeBeforeCursor || t.nodeAfterCursor) && o.cursorNodeText ) if (((l = o.cursorNodeStart), (p = o.cursorNodeText), t.cursorNode)) (a = t.locStart(t.cursorNode)), (D = u.slice(a, t.locEnd(t.cursorNode))); else { if (!t.nodeBeforeCursor && !t.nodeAfterCursor) throw new Error( 'Cursor location must contain at least one of cursorNode, nodeBeforeCursor, nodeAfterCursor' ); a = t.nodeBeforeCursor ? t.locEnd(t.nodeBeforeCursor) : 0; let h = t.nodeAfterCursor ? t.locStart(t.nodeAfterCursor) : u.length; D = u.slice(a, h); } else (a = 0), (D = u), (l = 0), (p = o.formatted); let f = t.cursorOffset - a; if (D === p) return { formatted: o.formatted, cursorOffset: l + f, comments: s }; let d = D.split(''); d.splice(f, 0, eu); let c = p.split(''), F = yr(d, c), m = l; for (let h of F) if (h.removed) { if (h.value.includes(eu)) break; } else m += h.count; return { formatted: o.formatted, cursorOffset: m, comments: s }; } return { formatted: o.formatted, cursorOffset: -1, comments: s }; } async function Hi(e, t) { let { ast: r, text: n } = await fe(e, t), { rangeStart: u, rangeEnd: i } = Zn(n, t, r), o = n.slice(u, i), s = Math.min( u, n.lastIndexOf( ` `, u ) + 1 ), a = n.slice(s, u).match(/^\s*/u)[0], D = ge(a, t.tabWidth), l = await uu( o, { ...t, rangeStart: 0, rangeEnd: Number.POSITIVE_INFINITY, cursorOffset: t.cursorOffset > u && t.cursorOffset <= i ? t.cursorOffset - u : -1, endOfLine: 'lf', }, D ), p = l.formatted.trimEnd(), { cursorOffset: f } = t; f > i ? (f += p.length - o.length) : l.cursorOffset >= 0 && (f = l.cursorOffset + u); let d = n.slice(0, u) + p + n.slice(i); if (t.endOfLine !== 'lf') { let c = be(t.endOfLine); f >= 0 && c === `\r ` && (f += Nt( d.slice(0, f), ` ` )), (d = ne( !1, d, ` `, c )); } return { formatted: d, cursorOffset: f, comments: l.comments }; } function sr(e, t, r) { return typeof t != 'number' || Number.isNaN(t) || t < 0 || t > e.length ? r : t; } function tu(e, t) { let { cursorOffset: r, rangeStart: n, rangeEnd: u } = t; return ( (r = sr(e, r, -1)), (n = sr(e, n, 0)), (u = sr(e, u, e.length)), { ...t, cursorOffset: r, rangeStart: n, rangeEnd: u } ); } function iu(e, t) { let { cursorOffset: r, rangeStart: n, rangeEnd: u, endOfLine: i, } = tu(e, t), o = e.charAt(0) === nu; if ( (o && ((e = e.slice(1)), r--, n--, u--), i === 'auto' && (i = Ar(e)), e.includes('\r')) ) { let s = (a) => Nt( e.slice(0, Math.max(a, 0)), `\r ` ); (r -= s(r)), (n -= s(n)), (u -= s(u)), (e = vr(e)); } return { hasBOM: o, text: e, options: tu(e, { ...t, cursorOffset: r, rangeStart: n, rangeEnd: u, endOfLine: i, }), }; } async function ru(e, t) { let r = await Ct(t); return !r.hasPragma || r.hasPragma(e); } async function ar(e, t) { let { hasBOM: r, text: n, options: u } = iu(e, await se(t)); if ( (u.rangeStart >= u.rangeEnd && n !== '') || (u.requirePragma && !(await ru(n, u))) ) return { formatted: e, cursorOffset: t.cursorOffset, comments: [] }; let i; return ( u.rangeStart > 0 || u.rangeEnd < n.length ? (i = await Hi(n, u)) : (!u.requirePragma && u.insertPragma && u.printer.insertPragma && !(await ru(n, u)) && (n = u.printer.insertPragma(n)), (i = await uu(n, u))), r && ((i.formatted = nu + i.formatted), i.cursorOffset >= 0 && i.cursorOffset++), i ); } async function ou(e, t, r) { let { text: n, options: u } = iu(e, await se(t)), i = await fe(n, u); return ( r && (r.preprocessForPrint && (i.ast = await ir(i.ast, u)), r.massage && (i.ast = Kn(i.ast, u))), i ); } async function su(e, t) { t = await se(t); let r = await He(e, t); return Ce(r, t); } async function au(e, t) { let r = Vr(e), { formatted: n } = await ar(r, { ...t, parser: '__js_expression' }); return n; } async function Du(e, t) { t = await se(t); let { ast: r } = await fe(e, t); return He(r, t); } async function lu(e, t) { return Ce(e, await se(t)); } var Dr = {}; vt(Dr, { builders: () => $i, printer: () => Mi, utils: () => Vi }); var $i = { join: Se, line: Ze, softline: $r, hardline: K, literalline: Qe, group: kt, conditionalGroup: Ir, fill: Rr, lineSuffix: Te, lineSuffixBoundary: Hr, cursor: Z, breakParent: he, ifBreak: Yr, trim: Wr, indent: le, indentIfBreak: jr, align: De, addAlignmentToDoc: et, markAsRoot: Lr, dedentToRoot: kr, dedent: Pr, hardlineWithoutBreakParent: ke, literallineWithoutBreakParent: Lt, label: Mr, concat: (e) => e, }, Mi = { printDocToString: Ce }, Vi = { willBreak: xr, traverseDoc: Fe, findInDoc: qe, mapDoc: Oe, removeLines: Nr, stripTrailingHardline: Xe, replaceEndOfLine: Or, canBreak: Sr, }; var cu = '3.5.3'; var cr = {}; vt(cr, { addDanglingComment: () => re, addLeadingComment: () => ue, addTrailingComment: () => ie, getAlignmentSize: () => ge, getIndentSize: () => fu, getMaxContinuousCount: () => du, getNextNonSpaceNonCommentCharacter: () => pu, getNextNonSpaceNonCommentCharacterIndex: () => no, getPreferredQuote: () => mu, getStringWidth: () => Le, hasNewline: () => V, hasNewlineInRange: () => hu, hasSpaces: () => Eu, isNextLineEmpty: () => so, isNextLineEmptyAfterIndex: () => gt, isPreviousLineEmpty: () => io, makeString: () => Cu, skip: () => Ae, skipEverythingButNewLine: () => ut, skipInlineComment: () => Be, skipNewline: () => W, skipSpaces: () => S, skipToLineEnd: () => nt, skipTrailingComment: () => we, skipWhitespace: () => tn, }); function Ui(e, t) { if (t === !1) return !1; if (e.charAt(t) === '/' && e.charAt(t + 1) === '*') { for (let r = t + 2; r < e.length; ++r) if (e.charAt(r) === '*' && e.charAt(r + 1) === '/') return r + 2; } return t; } var Be = Ui; function zi(e, t) { return ( t === !1 ? !1 : e.charAt(t) === '/' && e.charAt(t + 1) === '/' ? ut(e, t) : t ); } var we = zi; function Gi(e, t) { let r = null, n = t; for (; n !== r; ) (r = n), (n = S(e, n)), (n = Be(e, n)), (n = we(e, n)), (n = W(e, n)); return n; } var We = Gi; function Ki(e, t) { let r = null, n = t; for (; n !== r; ) (r = n), (n = nt(e, n)), (n = Be(e, n)), (n = S(e, n)); return (n = we(e, n)), (n = W(e, n)), n !== !1 && V(e, n); } var gt = Ki; function Ji(e, t) { let r = e.lastIndexOf(` `); return r === -1 ? 0 : ge(e.slice(r + 1).match(/^[\t ]*/u)[0], t); } var fu = Ji; function lr(e) { if (typeof e != 'string') throw new TypeError('Expected a string'); return e.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d'); } function qi(e, t) { let r = e.match(new RegExp(`(${lr(t)})+`, 'gu')); return r === null ? 0 : ( r.reduce((n, u) => Math.max(n, u.length / t.length), 0) ); } var du = qi; function Xi(e, t) { let r = We(e, t); return r === !1 ? '' : e.charAt(r); } var pu = Xi; var yt = "'", Fu = '"'; function Qi(e, t) { let r = t === !0 || t === yt ? yt : Fu, n = r === yt ? Fu : yt, u = 0, i = 0; for (let o of e) o === r ? u++ : o === n && i++; return u > i ? n : r; } var mu = Qi; function Zi(e, t, r) { for (let n = t; n < r; ++n) if ( e.charAt(n) === ` ` ) return !0; return !1; } var hu = Zi; function eo(e, t, r = {}) { return S(e, r.backwards ? t - 1 : t, r) !== t; } var Eu = eo; function to(e, t, r) { let n = t === '"' ? "'" : '"', i = ne(!1, e, /\\(.)|(["'])/gsu, (o, s, a) => s === n ? s : a === t ? '\\' + a : a || (r && /^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(s) ? s : '\\' + s) ); return t + i + t; } var Cu = to; function ro(e, t, r) { return We(e, r(t)); } function no(e, t) { return arguments.length === 2 || typeof t == 'number' ? We(e, t) : ro(...arguments); } function uo(e, t, r) { return Ie(e, r(t)); } function io(e, t) { return arguments.length === 2 || typeof t == 'number' ? Ie(e, t) : uo(...arguments); } function oo(e, t, r) { return gt(e, r(t)); } function so(e, t) { return arguments.length === 2 || typeof t == 'number' ? gt(e, t) : oo(...arguments); } function de(e, t = 1) { return async (...r) => { let n = r[t] ?? {}, u = n.plugins ?? []; return ( (r[t] = { ...n, plugins: Array.isArray(u) ? u : Object.values(u) }), e(...r) ); }; } var gu = de(ar); async function yu(e, t) { let { formatted: r } = await gu(e, { ...t, cursorOffset: -1 }); return r; } async function ao(e, t) { return (await yu(e, t)) === e; } var Do = de(ot, 0), lo = { parse: de(ou), formatAST: de(su), formatDoc: de(au), printToDoc: de(Du), printDocToString: de(lu), }; return xu(co); });