@maildeno/editor 0.4.3 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3554 @@
1
+ var Lt = Object.defineProperty, $e = (e, u) => {
2
+ for (var t in u) Lt(e, t, {
3
+ get: u[t],
4
+ enumerable: !0
5
+ });
6
+ }, $t = {};
7
+ $e($t, {
8
+ __debug: () => Ti,
9
+ check: () => _i,
10
+ doc: () => St,
11
+ format: () => Tt,
12
+ formatWithCursor: () => Ot,
13
+ getSupportInfo: () => Oi,
14
+ util: () => xt,
15
+ version: () => Di
16
+ });
17
+ var le = (e, u) => (t, r, ...n) => t | 1 && r == null ? void 0 : (u.call(r) ?? r[e]).apply(r, n), Rt = String.prototype.replaceAll ?? function(e, u) {
18
+ return e.global ? this.replace(e, u) : this.split(e).join(u);
19
+ }, Ce = le("replaceAll", function() {
20
+ if (typeof this == "string") return Rt;
21
+ }), Mt = class {
22
+ diff(e, u, t = {}) {
23
+ let r;
24
+ typeof t == "function" ? (r = t, t = {}) : "callback" in t && (r = t.callback);
25
+ let n = this.castInput(e, t), D = this.castInput(u, t), i = this.removeEmpty(this.tokenize(n, t)), o = this.removeEmpty(this.tokenize(D, t));
26
+ return this.diffWithOptionsObj(i, o, t, r);
27
+ }
28
+ diffWithOptionsObj(e, u, t, r) {
29
+ var n;
30
+ let D = (C) => {
31
+ if (C = this.postProcess(C, t), r) {
32
+ setTimeout(function() {
33
+ r(C);
34
+ }, 0);
35
+ return;
36
+ } else return C;
37
+ }, i = u.length, o = e.length, a = 1, s = i + o;
38
+ t.maxEditLength != null && (s = Math.min(s, t.maxEditLength));
39
+ let l = (n = t.timeout) !== null && n !== void 0 ? n : 1 / 0, F = Date.now() + l, c = [{
40
+ oldPos: -1,
41
+ lastComponent: void 0
42
+ }], d = this.extractCommon(c[0], u, e, 0, t);
43
+ if (c[0].oldPos + 1 >= o && d + 1 >= i) return D(this.buildValues(c[0].lastComponent, u, e));
44
+ let f = -1 / 0, h = 1 / 0, p = () => {
45
+ for (let C = Math.max(f, -a); C <= Math.min(h, a); C += 2) {
46
+ let E, m = c[C - 1], g = c[C + 1];
47
+ m && (c[C - 1] = void 0);
48
+ let B = !1;
49
+ if (g) {
50
+ let b = g.oldPos - C;
51
+ B = g && 0 <= b && b < i;
52
+ }
53
+ let A = m && m.oldPos + 1 < o;
54
+ if (!B && !A) {
55
+ c[C] = void 0;
56
+ continue;
57
+ }
58
+ if (!A || B && m.oldPos < g.oldPos ? E = this.addToPath(g, !0, !1, 0, t) : E = this.addToPath(m, !1, !0, 1, t), d = this.extractCommon(E, u, e, C, t), E.oldPos + 1 >= o && d + 1 >= i) return D(this.buildValues(E.lastComponent, u, e)) || !0;
59
+ c[C] = E, E.oldPos + 1 >= o && (h = Math.min(h, C - 1)), d + 1 >= i && (f = Math.max(f, C + 1));
60
+ }
61
+ a++;
62
+ };
63
+ if (r) (function C() {
64
+ setTimeout(function() {
65
+ if (a > s || Date.now() > F) return r(void 0);
66
+ p() || C();
67
+ }, 0);
68
+ })();
69
+ else for (; a <= s && Date.now() <= F; ) {
70
+ let C = p();
71
+ if (C) return C;
72
+ }
73
+ }
74
+ addToPath(e, u, t, r, n) {
75
+ let D = e.lastComponent;
76
+ return D && !n.oneChangePerToken && D.added === u && D.removed === t ? {
77
+ oldPos: e.oldPos + r,
78
+ lastComponent: {
79
+ count: D.count + 1,
80
+ added: u,
81
+ removed: t,
82
+ previousComponent: D.previousComponent
83
+ }
84
+ } : {
85
+ oldPos: e.oldPos + r,
86
+ lastComponent: {
87
+ count: 1,
88
+ added: u,
89
+ removed: t,
90
+ previousComponent: D
91
+ }
92
+ };
93
+ }
94
+ extractCommon(e, u, t, r, n) {
95
+ let D = u.length, i = t.length, o = e.oldPos, a = o - r, s = 0;
96
+ for (; a + 1 < D && o + 1 < i && this.equals(t[o + 1], u[a + 1], n); ) a++, o++, s++, n.oneChangePerToken && (e.lastComponent = {
97
+ count: 1,
98
+ previousComponent: e.lastComponent,
99
+ added: !1,
100
+ removed: !1
101
+ });
102
+ return s && !n.oneChangePerToken && (e.lastComponent = {
103
+ count: s,
104
+ previousComponent: e.lastComponent,
105
+ added: !1,
106
+ removed: !1
107
+ }), e.oldPos = o, a;
108
+ }
109
+ equals(e, u, t) {
110
+ return t.comparator ? t.comparator(e, u) : e === u || !!t.ignoreCase && e.toLowerCase() === u.toLowerCase();
111
+ }
112
+ removeEmpty(e) {
113
+ let u = [];
114
+ for (let t = 0; t < e.length; t++) e[t] && u.push(e[t]);
115
+ return u;
116
+ }
117
+ castInput(e, u) {
118
+ return e;
119
+ }
120
+ tokenize(e, u) {
121
+ return Array.from(e);
122
+ }
123
+ join(e) {
124
+ return e.join("");
125
+ }
126
+ postProcess(e, u) {
127
+ return e;
128
+ }
129
+ get useLongestToken() {
130
+ return !1;
131
+ }
132
+ buildValues(e, u, t) {
133
+ let r = [], n;
134
+ for (; e; ) r.push(e), n = e.previousComponent, delete e.previousComponent, e = n;
135
+ r.reverse();
136
+ let D = r.length, i = 0, o = 0, a = 0;
137
+ for (; i < D; i++) {
138
+ let s = r[i];
139
+ if (s.removed) s.value = this.join(t.slice(a, a + s.count)), a += s.count;
140
+ else {
141
+ if (!s.added && this.useLongestToken) {
142
+ let l = u.slice(o, o + s.count);
143
+ l = l.map(function(F, c) {
144
+ let d = t[a + c];
145
+ return d.length > F.length ? d : F;
146
+ }), s.value = this.join(l);
147
+ } else s.value = this.join(u.slice(o, o + s.count));
148
+ o += s.count, s.added || (a += s.count);
149
+ }
150
+ }
151
+ return r;
152
+ }
153
+ }, Vt = class extends Mt {
154
+ tokenize(e) {
155
+ return e.slice();
156
+ }
157
+ join(e) {
158
+ return e;
159
+ }
160
+ removeEmpty(e) {
161
+ return e;
162
+ }
163
+ }, Wt = new Vt();
164
+ function Kt(e, u, t) {
165
+ return Wt.diff(e, u, t);
166
+ }
167
+ var zt = () => {
168
+ }, U = zt, Nu = "cr", _u = "crlf", Ut = "lf", Re = "\r", Ou = `\r
169
+ `, Ee = `
170
+ `, Jt = Ee;
171
+ function qt(e) {
172
+ let u = e.indexOf(Re);
173
+ return u !== -1 ? e.charAt(u + 1) === Ee ? _u : Nu : Ut;
174
+ }
175
+ function Me(e) {
176
+ return e === Nu ? Re : e === _u ? Ou : Jt;
177
+ }
178
+ var Gt = /* @__PURE__ */ new Map([
179
+ [Ee, /\n/g],
180
+ [Re, /\r/g],
181
+ [Ou, /\r\n/g]
182
+ ]);
183
+ function Tu(e, u) {
184
+ let t = Gt.get(u);
185
+ return e.match(t)?.length ?? 0;
186
+ }
187
+ var Ht = /\r\n?/g;
188
+ function Yt(e) {
189
+ return Ce(0, e, Ht, Ee);
190
+ }
191
+ var me = /* @__PURE__ */ Symbol.for("comments");
192
+ function Zt(e) {
193
+ return this[e < 0 ? this.length + e : e];
194
+ }
195
+ var y = le("at", function() {
196
+ if (Array.isArray(this) || typeof this == "string") return Zt;
197
+ }), X = "string", L = "array", q = "cursor", $ = "indent", R = "align", M = "trim", w = "group", T = "fill", k = "if-break", V = "indent-if-break", W = "line-suffix", K = "line-suffix-boundary", v = "line", I = "label", x = "break-parent", Iu = /* @__PURE__ */ new Set([
198
+ q,
199
+ $,
200
+ R,
201
+ M,
202
+ w,
203
+ T,
204
+ k,
205
+ V,
206
+ W,
207
+ K,
208
+ v,
209
+ I,
210
+ x
211
+ ]);
212
+ function Qt(e) {
213
+ let u = e.length;
214
+ for (; u > 0 && (e[u - 1] === "\r" || e[u - 1] === `
215
+ `); ) u--;
216
+ return u < e.length ? e.slice(0, u) : e;
217
+ }
218
+ function Ve(e, u, t) {
219
+ if (!e.has(u)) {
220
+ let r = t(u);
221
+ e.set(u, r);
222
+ }
223
+ return e.get(u);
224
+ }
225
+ function Xt(e) {
226
+ if (typeof e == "string") return X;
227
+ if (Array.isArray(e)) return L;
228
+ if (!e) return;
229
+ let { type: u } = e;
230
+ if (Iu.has(u)) return u;
231
+ }
232
+ var ee = Xt, er = (e) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e);
233
+ function ur(e) {
234
+ let u = e === null ? "null" : typeof e;
235
+ if (u !== "string" && u !== "object") return `Unexpected doc '${u}',
236
+ Expected it to be 'string' or 'object'.`;
237
+ if (ee(e)) throw new Error("doc is valid.");
238
+ let t = Object.prototype.toString.call(e);
239
+ if (t !== "[object Object]") return `Unexpected doc '${t}'.`;
240
+ let r = er([...Iu].map((n) => `'${n}'`));
241
+ return `Unexpected doc.type '${e.type}'.
242
+ Expected it to be ${r}.`;
243
+ }
244
+ var tr = class extends Error {
245
+ name = "InvalidDocError";
246
+ constructor(e) {
247
+ super(ur(e)), this.doc = e;
248
+ }
249
+ }, ne = tr, ru = {};
250
+ function rr(e, u, t, r) {
251
+ let n = [e];
252
+ for (; n.length > 0; ) {
253
+ let D = n.pop();
254
+ if (D === ru) {
255
+ t(n.pop());
256
+ continue;
257
+ }
258
+ t && n.push(D, ru);
259
+ let i = ee(D);
260
+ if (!i) throw new ne(D);
261
+ if (u?.(D) !== !1) switch (i) {
262
+ case L:
263
+ case T: {
264
+ let o = i === L ? D : D.parts;
265
+ for (let a = o.length - 1; a >= 0; --a) n.push(o[a]);
266
+ break;
267
+ }
268
+ case k:
269
+ n.push(D.flatContents, D.breakContents);
270
+ break;
271
+ case w:
272
+ if (r && D.expandedStates) for (let o = D.expandedStates.length, a = o - 1; a >= 0; --a) n.push(D.expandedStates[a]);
273
+ else n.push(D.contents);
274
+ break;
275
+ case R:
276
+ case $:
277
+ case V:
278
+ case I:
279
+ case W:
280
+ n.push(D.contents);
281
+ break;
282
+ case X:
283
+ case q:
284
+ case M:
285
+ case K:
286
+ case v:
287
+ case x:
288
+ break;
289
+ default:
290
+ throw new ne(D);
291
+ }
292
+ }
293
+ }
294
+ var We = rr;
295
+ function ge(e, u) {
296
+ if (typeof e == "string") return u(e);
297
+ let t = /* @__PURE__ */ new Map();
298
+ return r(e);
299
+ function r(D) {
300
+ return Ve(t, D, n);
301
+ }
302
+ function n(D) {
303
+ switch (ee(D)) {
304
+ case L:
305
+ return u(D.map(r));
306
+ case T:
307
+ return u({
308
+ ...D,
309
+ parts: D.parts.map(r)
310
+ });
311
+ case k:
312
+ return u({
313
+ ...D,
314
+ breakContents: r(D.breakContents),
315
+ flatContents: r(D.flatContents)
316
+ });
317
+ case w: {
318
+ let { expandedStates: i, contents: o } = D;
319
+ return i ? (i = i.map(r), o = i[0]) : o = r(o), u({
320
+ ...D,
321
+ contents: o,
322
+ expandedStates: i
323
+ });
324
+ }
325
+ case R:
326
+ case $:
327
+ case V:
328
+ case I:
329
+ case W:
330
+ return u({
331
+ ...D,
332
+ contents: r(D.contents)
333
+ });
334
+ case X:
335
+ case q:
336
+ case M:
337
+ case K:
338
+ case v:
339
+ case x:
340
+ return u(D);
341
+ default:
342
+ throw new ne(D);
343
+ }
344
+ }
345
+ }
346
+ function Ke(e, u, t) {
347
+ let r = t, n = !1;
348
+ function D(i) {
349
+ if (n) return !1;
350
+ let o = u(i);
351
+ o !== void 0 && (n = !0, r = o);
352
+ }
353
+ return We(e, D), r;
354
+ }
355
+ function nr(e) {
356
+ if (e.type === w && e.break || e.type === v && e.hard || e.type === x) return !0;
357
+ }
358
+ function Dr(e) {
359
+ return Ke(e, nr, !1);
360
+ }
361
+ function nu(e) {
362
+ if (e.length > 0) {
363
+ let u = y(0, e, -1);
364
+ !u.expandedStates && !u.break && (u.break = "propagated");
365
+ }
366
+ return null;
367
+ }
368
+ function ir(e) {
369
+ let u = /* @__PURE__ */ new Set(), t = [];
370
+ function r(D) {
371
+ if (D.type === x && nu(t), D.type === w) {
372
+ if (t.push(D), u.has(D)) return !1;
373
+ u.add(D);
374
+ }
375
+ }
376
+ function n(D) {
377
+ D.type === w && t.pop().break && nu(t);
378
+ }
379
+ We(e, r, n, !0);
380
+ }
381
+ function ar(e) {
382
+ return e.type === v && !e.hard ? e.soft ? "" : " " : e.type === k ? e.flatContents : e;
383
+ }
384
+ function or(e) {
385
+ return ge(e, ar);
386
+ }
387
+ function Du(e) {
388
+ for (e = [...e]; e.length >= 2 && y(0, e, -2).type === v && y(0, e, -1).type === x; ) e.length -= 2;
389
+ if (e.length > 0) {
390
+ let u = ae(y(0, e, -1));
391
+ e[e.length - 1] = u;
392
+ }
393
+ return e;
394
+ }
395
+ function ae(e) {
396
+ switch (ee(e)) {
397
+ case $:
398
+ case V:
399
+ case w:
400
+ case W:
401
+ case I: {
402
+ let u = ae(e.contents);
403
+ return {
404
+ ...e,
405
+ contents: u
406
+ };
407
+ }
408
+ case k:
409
+ return {
410
+ ...e,
411
+ breakContents: ae(e.breakContents),
412
+ flatContents: ae(e.flatContents)
413
+ };
414
+ case T:
415
+ return {
416
+ ...e,
417
+ parts: Du(e.parts)
418
+ };
419
+ case L:
420
+ return Du(e);
421
+ case X:
422
+ return Qt(e);
423
+ case R:
424
+ case q:
425
+ case M:
426
+ case K:
427
+ case v:
428
+ case x:
429
+ break;
430
+ default:
431
+ throw new ne(e);
432
+ }
433
+ return e;
434
+ }
435
+ function Pu(e) {
436
+ return ae(lr(e));
437
+ }
438
+ function sr(e) {
439
+ switch (ee(e)) {
440
+ case T: {
441
+ let { parts: u } = e;
442
+ if (u.every((t) => t === "")) return "";
443
+ if (u.length === 1) return u[0];
444
+ break;
445
+ }
446
+ case w:
447
+ if (!e.contents && !e.id && !e.break && !e.expandedStates) return "";
448
+ if (e.contents.type === w && e.contents.id === e.id && e.contents.break === e.break && e.contents.expandedStates === e.expandedStates) return e.contents;
449
+ break;
450
+ case R:
451
+ case $:
452
+ case V:
453
+ case W:
454
+ if (!e.contents) return "";
455
+ break;
456
+ case k:
457
+ if (!e.flatContents && !e.breakContents) return "";
458
+ break;
459
+ case L: {
460
+ let u = [];
461
+ for (let t of e) {
462
+ if (!t) continue;
463
+ let [r, ...n] = Array.isArray(t) ? t : [t];
464
+ typeof r == "string" && typeof y(0, u, -1) == "string" ? u[u.length - 1] += r : u.push(r), u.push(...n);
465
+ }
466
+ return u.length === 0 ? "" : u.length === 1 ? u[0] : u;
467
+ }
468
+ case X:
469
+ case q:
470
+ case M:
471
+ case K:
472
+ case v:
473
+ case I:
474
+ case x:
475
+ break;
476
+ default:
477
+ throw new ne(e);
478
+ }
479
+ return e;
480
+ }
481
+ function lr(e) {
482
+ return ge(e, (u) => sr(u));
483
+ }
484
+ function cr(e, u = Ku) {
485
+ return ge(e, (t) => typeof t == "string" ? Mu(u, t.split(`
486
+ `)) : t);
487
+ }
488
+ function Fr(e) {
489
+ if (e.type === v) return !0;
490
+ }
491
+ function fr(e) {
492
+ return Ke(e, Fr, !1);
493
+ }
494
+ function de(e, u) {
495
+ return e.type === I ? {
496
+ ...e,
497
+ contents: u(e.contents)
498
+ } : u(e);
499
+ }
500
+ var O = U, ju = U, dr = U, pr = U;
501
+ function he(e) {
502
+ return O(e), {
503
+ type: $,
504
+ contents: e
505
+ };
506
+ }
507
+ function De(e, u) {
508
+ return pr(e), O(u), {
509
+ type: R,
510
+ contents: u,
511
+ n: e
512
+ };
513
+ }
514
+ function hr(e) {
515
+ return De(Number.NEGATIVE_INFINITY, e);
516
+ }
517
+ function Lu(e) {
518
+ return De({ type: "root" }, e);
519
+ }
520
+ function Cr(e) {
521
+ return De(-1, e);
522
+ }
523
+ function $u(e, u, t) {
524
+ O(e);
525
+ let r = e;
526
+ if (u > 0) {
527
+ for (let n = 0; n < Math.floor(u / t); ++n) r = he(r);
528
+ r = De(u % t, r), r = De(Number.NEGATIVE_INFINITY, r);
529
+ }
530
+ return r;
531
+ }
532
+ var ye = { type: x }, Z = { type: q };
533
+ function Er(e) {
534
+ return dr(e), {
535
+ type: T,
536
+ parts: e
537
+ };
538
+ }
539
+ function Ru(e, u = {}) {
540
+ return O(e), ju(u.expandedStates, !0), {
541
+ type: w,
542
+ id: u.id,
543
+ contents: e,
544
+ break: !!u.shouldBreak,
545
+ expandedStates: u.expandedStates
546
+ };
547
+ }
548
+ function mr(e, u) {
549
+ return Ru(e[0], {
550
+ ...u,
551
+ expandedStates: e
552
+ });
553
+ }
554
+ function gr(e, u = "", t = {}) {
555
+ return O(e), u !== "" && O(u), {
556
+ type: k,
557
+ breakContents: e,
558
+ flatContents: u,
559
+ groupId: t.groupId
560
+ };
561
+ }
562
+ function yr(e, u) {
563
+ return O(e), {
564
+ type: V,
565
+ contents: e,
566
+ groupId: u.groupId,
567
+ negate: u.negate
568
+ };
569
+ }
570
+ function Mu(e, u) {
571
+ O(e), ju(u);
572
+ let t = [];
573
+ for (let r = 0; r < u.length; r++) r !== 0 && t.push(e), t.push(u[r]);
574
+ return t;
575
+ }
576
+ function vr(e, u) {
577
+ return O(u), e ? {
578
+ type: I,
579
+ label: e,
580
+ contents: u
581
+ } : u;
582
+ }
583
+ var Vu = { type: v }, Br = {
584
+ type: v,
585
+ soft: !0
586
+ }, ze = {
587
+ type: v,
588
+ hard: !0
589
+ }, j = [ze, ye], Wu = {
590
+ type: v,
591
+ hard: !0,
592
+ literal: !0
593
+ }, Ku = [Wu, ye];
594
+ function Ie(e) {
595
+ return O(e), {
596
+ type: W,
597
+ contents: e
598
+ };
599
+ }
600
+ var Ar = { type: K }, br = { type: M };
601
+ function P(e) {
602
+ if (!e) return "";
603
+ if (Array.isArray(e)) {
604
+ let u = [];
605
+ for (let t of e) if (Array.isArray(t)) u.push(...P(t));
606
+ else {
607
+ let r = P(t);
608
+ r !== "" && u.push(r);
609
+ }
610
+ return u;
611
+ }
612
+ return e.type === k ? {
613
+ ...e,
614
+ breakContents: P(e.breakContents),
615
+ flatContents: P(e.flatContents)
616
+ } : e.type === w ? {
617
+ ...e,
618
+ contents: P(e.contents),
619
+ expandedStates: e.expandedStates?.map(P)
620
+ } : e.type === T ? {
621
+ type: "fill",
622
+ parts: e.parts.map(P)
623
+ } : e.contents ? {
624
+ ...e,
625
+ contents: P(e.contents)
626
+ } : e;
627
+ }
628
+ function wr(e) {
629
+ let u = /* @__PURE__ */ Object.create(null), t = /* @__PURE__ */ new Set();
630
+ return r(P(e));
631
+ function r(D, i, o) {
632
+ if (typeof D == "string") return JSON.stringify(D);
633
+ if (Array.isArray(D)) {
634
+ let a = D.map(r).filter(Boolean);
635
+ return a.length === 1 ? a[0] : `[${a.join(", ")}]`;
636
+ }
637
+ if (D.type === v) {
638
+ let a = o?.[i + 1]?.type === x;
639
+ return D.literal ? a ? "literalline" : "literallineWithoutBreakParent" : D.hard ? a ? "hardline" : "hardlineWithoutBreakParent" : D.soft ? "softline" : "line";
640
+ }
641
+ if (D.type === x) return o?.[i - 1]?.type === v && o[i - 1].hard ? void 0 : "breakParent";
642
+ if (D.type === M) return "trim";
643
+ if (D.type === $) return "indent(" + r(D.contents) + ")";
644
+ if (D.type === R) return D.n === Number.NEGATIVE_INFINITY ? "dedentToRoot(" + r(D.contents) + ")" : D.n < 0 ? "dedent(" + r(D.contents) + ")" : D.n.type === "root" ? "markAsRoot(" + r(D.contents) + ")" : "align(" + JSON.stringify(D.n) + ", " + r(D.contents) + ")";
645
+ if (D.type === k) return "ifBreak(" + r(D.breakContents) + (D.flatContents ? ", " + r(D.flatContents) : "") + (D.groupId ? (D.flatContents ? "" : ', ""') + `, { groupId: ${n(D.groupId)} }` : "") + ")";
646
+ if (D.type === V) {
647
+ let a = [];
648
+ D.negate && a.push("negate: true"), D.groupId && a.push(`groupId: ${n(D.groupId)}`);
649
+ let s = a.length > 0 ? `, { ${a.join(", ")} }` : "";
650
+ return `indentIfBreak(${r(D.contents)}${s})`;
651
+ }
652
+ if (D.type === w) {
653
+ let a = [];
654
+ D.break && D.break !== "propagated" && a.push("shouldBreak: true"), D.id && a.push(`id: ${n(D.id)}`);
655
+ let s = a.length > 0 ? `, { ${a.join(", ")} }` : "";
656
+ return D.expandedStates ? `conditionalGroup([${D.expandedStates.map((l) => r(l)).join(",")}]${s})` : `group(${r(D.contents)}${s})`;
657
+ }
658
+ if (D.type === T) return `fill([${D.parts.map((a) => r(a)).join(", ")}])`;
659
+ if (D.type === W) return "lineSuffix(" + r(D.contents) + ")";
660
+ if (D.type === K) return "lineSuffixBoundary";
661
+ if (D.type === I) return `label(${JSON.stringify(D.label)}, ${r(D.contents)})`;
662
+ if (D.type === q) return "cursor";
663
+ throw new Error("Unknown doc type " + D.type);
664
+ }
665
+ function n(D) {
666
+ if (typeof D != "symbol") return JSON.stringify(String(D));
667
+ if (D in u) return u[D];
668
+ let i = D.description || "symbol";
669
+ for (let o = 0; ; o++) {
670
+ let a = i + (o > 0 ? ` #${o}` : "");
671
+ if (!t.has(a)) return t.add(a), u[D] = `Symbol.for(${JSON.stringify(a)})`;
672
+ }
673
+ }
674
+ }
675
+ var kr = () => /[#*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-\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-\uDED8\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\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]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\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]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\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\uDD3C-\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-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\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\uDE70]|\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\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]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\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, Sr = 12288, xr = 65510, Nr = [
676
+ 12288,
677
+ 12288,
678
+ 65281,
679
+ 65376,
680
+ 65504,
681
+ 65510
682
+ ], _r = 4352, Or = 262141, zu = [
683
+ 4352,
684
+ 4447,
685
+ 8986,
686
+ 8987,
687
+ 9001,
688
+ 9002,
689
+ 9193,
690
+ 9196,
691
+ 9200,
692
+ 9200,
693
+ 9203,
694
+ 9203,
695
+ 9725,
696
+ 9726,
697
+ 9748,
698
+ 9749,
699
+ 9776,
700
+ 9783,
701
+ 9800,
702
+ 9811,
703
+ 9855,
704
+ 9855,
705
+ 9866,
706
+ 9871,
707
+ 9875,
708
+ 9875,
709
+ 9889,
710
+ 9889,
711
+ 9898,
712
+ 9899,
713
+ 9917,
714
+ 9918,
715
+ 9924,
716
+ 9925,
717
+ 9934,
718
+ 9934,
719
+ 9940,
720
+ 9940,
721
+ 9962,
722
+ 9962,
723
+ 9970,
724
+ 9971,
725
+ 9973,
726
+ 9973,
727
+ 9978,
728
+ 9978,
729
+ 9981,
730
+ 9981,
731
+ 9989,
732
+ 9989,
733
+ 9994,
734
+ 9995,
735
+ 10024,
736
+ 10024,
737
+ 10060,
738
+ 10060,
739
+ 10062,
740
+ 10062,
741
+ 10067,
742
+ 10069,
743
+ 10071,
744
+ 10071,
745
+ 10133,
746
+ 10135,
747
+ 10160,
748
+ 10160,
749
+ 10175,
750
+ 10175,
751
+ 11035,
752
+ 11036,
753
+ 11088,
754
+ 11088,
755
+ 11093,
756
+ 11093,
757
+ 11904,
758
+ 11929,
759
+ 11931,
760
+ 12019,
761
+ 12032,
762
+ 12245,
763
+ 12272,
764
+ 12287,
765
+ 12289,
766
+ 12350,
767
+ 12353,
768
+ 12438,
769
+ 12441,
770
+ 12543,
771
+ 12549,
772
+ 12591,
773
+ 12593,
774
+ 12686,
775
+ 12688,
776
+ 12773,
777
+ 12783,
778
+ 12830,
779
+ 12832,
780
+ 12871,
781
+ 12880,
782
+ 42124,
783
+ 42128,
784
+ 42182,
785
+ 43360,
786
+ 43388,
787
+ 44032,
788
+ 55203,
789
+ 63744,
790
+ 64255,
791
+ 65040,
792
+ 65049,
793
+ 65072,
794
+ 65106,
795
+ 65108,
796
+ 65126,
797
+ 65128,
798
+ 65131,
799
+ 94176,
800
+ 94180,
801
+ 94192,
802
+ 94198,
803
+ 94208,
804
+ 101589,
805
+ 101631,
806
+ 101662,
807
+ 101760,
808
+ 101874,
809
+ 110576,
810
+ 110579,
811
+ 110581,
812
+ 110587,
813
+ 110589,
814
+ 110590,
815
+ 110592,
816
+ 110882,
817
+ 110898,
818
+ 110898,
819
+ 110928,
820
+ 110930,
821
+ 110933,
822
+ 110933,
823
+ 110948,
824
+ 110951,
825
+ 110960,
826
+ 111355,
827
+ 119552,
828
+ 119638,
829
+ 119648,
830
+ 119670,
831
+ 126980,
832
+ 126980,
833
+ 127183,
834
+ 127183,
835
+ 127374,
836
+ 127374,
837
+ 127377,
838
+ 127386,
839
+ 127488,
840
+ 127490,
841
+ 127504,
842
+ 127547,
843
+ 127552,
844
+ 127560,
845
+ 127568,
846
+ 127569,
847
+ 127584,
848
+ 127589,
849
+ 127744,
850
+ 127776,
851
+ 127789,
852
+ 127797,
853
+ 127799,
854
+ 127868,
855
+ 127870,
856
+ 127891,
857
+ 127904,
858
+ 127946,
859
+ 127951,
860
+ 127955,
861
+ 127968,
862
+ 127984,
863
+ 127988,
864
+ 127988,
865
+ 127992,
866
+ 128062,
867
+ 128064,
868
+ 128064,
869
+ 128066,
870
+ 128252,
871
+ 128255,
872
+ 128317,
873
+ 128331,
874
+ 128334,
875
+ 128336,
876
+ 128359,
877
+ 128378,
878
+ 128378,
879
+ 128405,
880
+ 128406,
881
+ 128420,
882
+ 128420,
883
+ 128507,
884
+ 128591,
885
+ 128640,
886
+ 128709,
887
+ 128716,
888
+ 128716,
889
+ 128720,
890
+ 128722,
891
+ 128725,
892
+ 128728,
893
+ 128732,
894
+ 128735,
895
+ 128747,
896
+ 128748,
897
+ 128756,
898
+ 128764,
899
+ 128992,
900
+ 129003,
901
+ 129008,
902
+ 129008,
903
+ 129292,
904
+ 129338,
905
+ 129340,
906
+ 129349,
907
+ 129351,
908
+ 129535,
909
+ 129648,
910
+ 129660,
911
+ 129664,
912
+ 129674,
913
+ 129678,
914
+ 129734,
915
+ 129736,
916
+ 129736,
917
+ 129741,
918
+ 129756,
919
+ 129759,
920
+ 129770,
921
+ 129775,
922
+ 129784,
923
+ 131072,
924
+ 196605,
925
+ 196608,
926
+ 262141
927
+ ], Uu = (e, u) => {
928
+ let t = 0, r = Math.floor(e.length / 2) - 1;
929
+ for (; t <= r; ) {
930
+ let n = Math.floor((t + r) / 2), D = n * 2;
931
+ if (u < e[D]) r = n - 1;
932
+ else if (u > e[D + 1]) t = n + 1;
933
+ else return !0;
934
+ }
935
+ return !1;
936
+ }, iu = 19968, [Tr, Ir] = Pr(zu);
937
+ function Pr(e) {
938
+ let u = e[0], t = e[1];
939
+ for (let r = 0; r < e.length; r += 2) {
940
+ let n = e[r], D = e[r + 1];
941
+ if (iu >= n && iu <= D) return [n, D];
942
+ D - n > t - u && (u = n, t = D);
943
+ }
944
+ return [u, t];
945
+ }
946
+ var jr = (e) => e < Sr || e > xr ? !1 : Uu(Nr, e), Lr = (e) => e >= Tr && e <= Ir ? !0 : e < _r || e > Or ? !1 : Uu(zu, e), $r = /^(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u2764\u27A1\u2934\u2935\u2B05-\u2B07]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF3\uDFF5\uDFF7]|\uD83D[\uDC3F\uDC41\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])$/, Rr = (e) => $r.test(e), Mr = /[^\x20-\x7F]/;
947
+ function Vr(e) {
948
+ if (!e) return 0;
949
+ if (!Mr.test(e)) return e.length;
950
+ let u = 0;
951
+ e = e.replace(kr(), (t) => (u += Rr(t) ? 1 : 2, ""));
952
+ for (let t of e) {
953
+ let r = t.codePointAt(0);
954
+ r <= 31 || r >= 127 && r <= 159 || r >= 768 && r <= 879 || r >= 65024 && r <= 65039 || (u += jr(r) || Lr(r) ? 2 : 1);
955
+ }
956
+ return u;
957
+ }
958
+ var Ue = Vr, Wr = { type: 0 }, Kr = { type: 1 }, Ju = {
959
+ value: "",
960
+ length: 0,
961
+ queue: [],
962
+ get root() {
963
+ return Ju;
964
+ }
965
+ };
966
+ function qu(e, u, t) {
967
+ let r = u.type === 1 ? e.queue.slice(0, -1) : [...e.queue, u], n = "", D = 0, i = 0, o = 0;
968
+ for (let f of r) switch (f.type) {
969
+ case 0:
970
+ l(), t.useTabs ? a(1) : s(t.tabWidth);
971
+ break;
972
+ case 3: {
973
+ let { string: h } = f;
974
+ l(), n += h, D += h.length;
975
+ break;
976
+ }
977
+ case 2: {
978
+ let { width: h } = f;
979
+ i += 1, o += h;
980
+ break;
981
+ }
982
+ default:
983
+ throw new Error(`Unexpected indent comment '${f.type}'.`);
984
+ }
985
+ return c(), {
986
+ ...e,
987
+ value: n,
988
+ length: D,
989
+ queue: r
990
+ };
991
+ function a(f) {
992
+ n += " ".repeat(f), D += t.tabWidth * f;
993
+ }
994
+ function s(f) {
995
+ n += " ".repeat(f), D += f;
996
+ }
997
+ function l() {
998
+ t.useTabs ? F() : c();
999
+ }
1000
+ function F() {
1001
+ i > 0 && a(i), d();
1002
+ }
1003
+ function c() {
1004
+ o > 0 && s(o), d();
1005
+ }
1006
+ function d() {
1007
+ i = 0, o = 0;
1008
+ }
1009
+ }
1010
+ function zr(e, u, t) {
1011
+ if (!u) return e;
1012
+ if (u.type === "root") return {
1013
+ ...e,
1014
+ root: e
1015
+ };
1016
+ if (u === Number.NEGATIVE_INFINITY) return e.root;
1017
+ let r;
1018
+ return typeof u == "number" ? u < 0 ? r = Kr : r = {
1019
+ type: 2,
1020
+ width: u
1021
+ } : r = {
1022
+ type: 3,
1023
+ string: u
1024
+ }, qu(e, r, t);
1025
+ }
1026
+ function Ur(e, u) {
1027
+ return qu(e, Wr, u);
1028
+ }
1029
+ function Jr(e) {
1030
+ let u = 0;
1031
+ for (let t = e.length - 1; t >= 0; t--) {
1032
+ let r = e[t];
1033
+ if (r === " " || r === " ") u++;
1034
+ else break;
1035
+ }
1036
+ return u;
1037
+ }
1038
+ function Gu(e) {
1039
+ let u = Jr(e);
1040
+ return {
1041
+ text: u === 0 ? e : e.slice(0, e.length - u),
1042
+ count: u
1043
+ };
1044
+ }
1045
+ var qr = class {
1046
+ #u = [];
1047
+ #e = "";
1048
+ #r = 0;
1049
+ #n = [];
1050
+ #t = [];
1051
+ #D() {
1052
+ let e = this.#e;
1053
+ e !== "" && (this.#u.push(e), this.#r += e.length, this.#e = "");
1054
+ for (let u of this.#t) this.#n.push(Math.min(u, this.#r));
1055
+ this.#t.length = 0;
1056
+ }
1057
+ markPosition() {
1058
+ if (this.#n.length + this.#t.length >= 2) throw new Error("There are too many 'cursor' in doc.");
1059
+ this.#t.push(this.#r + this.#e.length);
1060
+ }
1061
+ write(e) {
1062
+ this.#e += e;
1063
+ }
1064
+ trim() {
1065
+ let { text: e, count: u } = Gu(this.#e);
1066
+ return this.#e = e, this.#D(), u;
1067
+ }
1068
+ finish() {
1069
+ return this.#D(), {
1070
+ text: this.#u.join(""),
1071
+ positions: this.#n
1072
+ };
1073
+ }
1074
+ }, Gr = qr, S = /* @__PURE__ */ Symbol("MODE_BREAK"), N = /* @__PURE__ */ Symbol("MODE_FLAT"), Pe = /* @__PURE__ */ Symbol("DOC_FILL_PRINTED_LENGTH");
1075
+ function fe(e, u, t, r, n, D) {
1076
+ if (t === Number.POSITIVE_INFINITY) return !0;
1077
+ let i = u.length, o = !1, a = [e], s = "";
1078
+ for (; t >= 0; ) {
1079
+ if (a.length === 0) {
1080
+ if (i === 0) return !0;
1081
+ a.push(u[--i]);
1082
+ continue;
1083
+ }
1084
+ let { mode: l, doc: F } = a.pop(), c = ee(F);
1085
+ switch (c) {
1086
+ case X:
1087
+ F && (o && (s += " ", t -= 1, o = !1), s += F, t -= Ue(F));
1088
+ break;
1089
+ case L:
1090
+ case T: {
1091
+ let d = c === L ? F : F.parts, f = F[Pe] ?? 0;
1092
+ for (let h = d.length - 1; h >= f; h--) a.push({
1093
+ mode: l,
1094
+ doc: d[h]
1095
+ });
1096
+ break;
1097
+ }
1098
+ case $:
1099
+ case R:
1100
+ case V:
1101
+ case I:
1102
+ a.push({
1103
+ mode: l,
1104
+ doc: F.contents
1105
+ });
1106
+ break;
1107
+ case M: {
1108
+ let { text: d, count: f } = Gu(s);
1109
+ s = d, t += f;
1110
+ break;
1111
+ }
1112
+ case w: {
1113
+ if (D && F.break) return !1;
1114
+ let d = F.break ? S : l, f = F.expandedStates && d === S ? y(0, F.expandedStates, -1) : F.contents;
1115
+ a.push({
1116
+ mode: d,
1117
+ doc: f
1118
+ });
1119
+ break;
1120
+ }
1121
+ case k: {
1122
+ let d = (F.groupId ? n[F.groupId] || N : l) === S ? F.breakContents : F.flatContents;
1123
+ d && a.push({
1124
+ mode: l,
1125
+ doc: d
1126
+ });
1127
+ break;
1128
+ }
1129
+ case v:
1130
+ if (l === S || F.hard) return !0;
1131
+ F.soft || (o = !0);
1132
+ break;
1133
+ case W:
1134
+ r = !0;
1135
+ break;
1136
+ case K:
1137
+ if (r) return !1;
1138
+ }
1139
+ }
1140
+ return !1;
1141
+ }
1142
+ function ve(e, u) {
1143
+ let t = /* @__PURE__ */ Object.create(null), r = u.printWidth, n = Me(u.endOfLine), D = 0, i = [{
1144
+ indent: Ju,
1145
+ mode: S,
1146
+ doc: e
1147
+ }], o = !1, a = [], s = new Gr();
1148
+ for (ir(e); i.length > 0; ) {
1149
+ let { indent: f, mode: h, doc: p } = i.pop();
1150
+ switch (ee(p)) {
1151
+ case X: {
1152
+ let C = n !== `
1153
+ ` ? Ce(0, p, `
1154
+ `, n) : p;
1155
+ C && (s.write(C), i.length > 0 && (D += Ue(C)));
1156
+ break;
1157
+ }
1158
+ case L:
1159
+ for (let C = p.length - 1; C >= 0; C--) i.push({
1160
+ indent: f,
1161
+ mode: h,
1162
+ doc: p[C]
1163
+ });
1164
+ break;
1165
+ case q:
1166
+ s.markPosition();
1167
+ break;
1168
+ case $:
1169
+ i.push({
1170
+ indent: Ur(f, u),
1171
+ mode: h,
1172
+ doc: p.contents
1173
+ });
1174
+ break;
1175
+ case R:
1176
+ i.push({
1177
+ indent: zr(f, p.n, u),
1178
+ mode: h,
1179
+ doc: p.contents
1180
+ });
1181
+ break;
1182
+ case M:
1183
+ D -= s.trim();
1184
+ break;
1185
+ case w: {
1186
+ let C = (function() {
1187
+ if (h === N && !o) return {
1188
+ indent: f,
1189
+ mode: p.break ? S : N,
1190
+ doc: p.contents
1191
+ };
1192
+ o = !1;
1193
+ let E = r - D, m = a.length > 0, g = {
1194
+ indent: f,
1195
+ mode: N,
1196
+ doc: p.contents
1197
+ };
1198
+ if (!p.break && fe(g, i, E, m, t)) return g;
1199
+ if (!p.expandedStates) return {
1200
+ indent: f,
1201
+ mode: S,
1202
+ doc: p.contents
1203
+ };
1204
+ if (!p.break) for (let B = 1; B < p.expandedStates.length - 1; B++) {
1205
+ let A = {
1206
+ indent: f,
1207
+ mode: N,
1208
+ doc: p.expandedStates[B]
1209
+ };
1210
+ if (fe(A, i, E, m, t)) return A;
1211
+ }
1212
+ return {
1213
+ indent: f,
1214
+ mode: S,
1215
+ doc: y(0, p.expandedStates, -1)
1216
+ };
1217
+ })();
1218
+ i.push(C), p.id && (t[p.id] = C.mode);
1219
+ break;
1220
+ }
1221
+ case T: {
1222
+ let C = r - D, E = p[Pe] ?? 0, { parts: m } = p, g = m.length - E;
1223
+ if (g === 0) break;
1224
+ let B = m[E + 0], A = m[E + 1], b = {
1225
+ indent: f,
1226
+ mode: N,
1227
+ doc: B
1228
+ }, ue = {
1229
+ indent: f,
1230
+ mode: S,
1231
+ doc: B
1232
+ }, we = fe(b, [], C, a.length > 0, t, !0);
1233
+ if (g === 1) {
1234
+ we ? i.push(b) : i.push(ue);
1235
+ break;
1236
+ }
1237
+ let tu = {
1238
+ indent: f,
1239
+ mode: N,
1240
+ doc: A
1241
+ }, ke = {
1242
+ indent: f,
1243
+ mode: S,
1244
+ doc: A
1245
+ };
1246
+ if (g === 2) {
1247
+ we ? i.push(tu, b) : i.push(ke, ue);
1248
+ break;
1249
+ }
1250
+ let It = m[E + 2], Pt = {
1251
+ indent: f,
1252
+ mode: h,
1253
+ doc: {
1254
+ ...p,
1255
+ [Pe]: E + 2
1256
+ }
1257
+ }, jt = fe({
1258
+ indent: f,
1259
+ mode: N,
1260
+ doc: [
1261
+ B,
1262
+ A,
1263
+ It
1264
+ ]
1265
+ }, [], C, a.length > 0, t, !0);
1266
+ i.push(Pt), jt ? i.push(tu, b) : we ? i.push(ke, b) : i.push(ke, ue);
1267
+ break;
1268
+ }
1269
+ case k:
1270
+ case V: {
1271
+ let C = p.groupId ? t[p.groupId] : h;
1272
+ if (C === S) {
1273
+ let E = p.type === k ? p.breakContents : p.negate ? p.contents : he(p.contents);
1274
+ E && i.push({
1275
+ indent: f,
1276
+ mode: h,
1277
+ doc: E
1278
+ });
1279
+ }
1280
+ if (C === N) {
1281
+ let E = p.type === k ? p.flatContents : p.negate ? he(p.contents) : p.contents;
1282
+ E && i.push({
1283
+ indent: f,
1284
+ mode: h,
1285
+ doc: E
1286
+ });
1287
+ }
1288
+ break;
1289
+ }
1290
+ case W:
1291
+ a.push({
1292
+ indent: f,
1293
+ mode: h,
1294
+ doc: p.contents
1295
+ });
1296
+ break;
1297
+ case K:
1298
+ a.length > 0 && i.push({
1299
+ indent: f,
1300
+ mode: h,
1301
+ doc: ze
1302
+ });
1303
+ break;
1304
+ case v:
1305
+ switch (h) {
1306
+ case N:
1307
+ if (!p.hard) {
1308
+ p.soft || (s.write(" "), D += 1);
1309
+ break;
1310
+ }
1311
+ o = !0;
1312
+ case S:
1313
+ if (a.length > 0) {
1314
+ i.push({
1315
+ indent: f,
1316
+ mode: h,
1317
+ doc: p
1318
+ }, ...a.reverse()), a.length = 0;
1319
+ break;
1320
+ }
1321
+ p.literal ? (s.write(n), D = 0, f.root && (f.root.value && s.write(f.root.value), D = f.root.length)) : (s.trim(), s.write(n + f.value), D = f.length);
1322
+ }
1323
+ break;
1324
+ case I:
1325
+ i.push({
1326
+ indent: f,
1327
+ mode: h,
1328
+ doc: p.contents
1329
+ });
1330
+ break;
1331
+ case x:
1332
+ break;
1333
+ default:
1334
+ throw new ne(p);
1335
+ }
1336
+ i.length === 0 && a.length > 0 && (i.push(...a.reverse()), a.length = 0);
1337
+ }
1338
+ let { text: l, positions: F } = s.finish();
1339
+ if (F.length !== 2) return { formatted: l };
1340
+ let [c, d] = F;
1341
+ return {
1342
+ formatted: l,
1343
+ cursorNodeStart: c,
1344
+ cursorNodeText: l.slice(c, d)
1345
+ };
1346
+ }
1347
+ function Hr(e, u, t = 0) {
1348
+ let r = 0;
1349
+ for (let n = t; n < e.length; ++n) e[n] === " " ? r = r + u - r % u : r++;
1350
+ return r;
1351
+ }
1352
+ var Je = Hr, Yr = class {
1353
+ constructor(e) {
1354
+ this.stack = [e];
1355
+ }
1356
+ get key() {
1357
+ let { stack: e, siblings: u } = this;
1358
+ return y(0, e, u === null ? -2 : -4) ?? null;
1359
+ }
1360
+ get index() {
1361
+ return this.siblings === null ? null : y(0, this.stack, -2);
1362
+ }
1363
+ get node() {
1364
+ return y(0, this.stack, -1);
1365
+ }
1366
+ get parent() {
1367
+ return this.getNode(1);
1368
+ }
1369
+ get grandparent() {
1370
+ return this.getNode(2);
1371
+ }
1372
+ get isInArray() {
1373
+ return this.siblings !== null;
1374
+ }
1375
+ get siblings() {
1376
+ let { stack: e } = this, u = y(0, e, -3);
1377
+ return Array.isArray(u) ? u : null;
1378
+ }
1379
+ get next() {
1380
+ let { siblings: e } = this;
1381
+ return e === null ? null : e[this.index + 1];
1382
+ }
1383
+ get previous() {
1384
+ let { siblings: e } = this;
1385
+ return e === null ? null : e[this.index - 1];
1386
+ }
1387
+ get isFirst() {
1388
+ return this.index === 0;
1389
+ }
1390
+ get isLast() {
1391
+ let { siblings: e, index: u } = this;
1392
+ return e !== null && u === e.length - 1;
1393
+ }
1394
+ get isRoot() {
1395
+ return this.stack.length === 1;
1396
+ }
1397
+ get root() {
1398
+ return this.stack[0];
1399
+ }
1400
+ get ancestors() {
1401
+ return [...this.#e()];
1402
+ }
1403
+ getName() {
1404
+ let { stack: e } = this, { length: u } = e;
1405
+ return u > 1 ? y(0, e, -2) : null;
1406
+ }
1407
+ getValue() {
1408
+ return y(0, this.stack, -1);
1409
+ }
1410
+ getNode(e = 0) {
1411
+ let u = this.#u(e);
1412
+ return u === -1 ? null : this.stack[u];
1413
+ }
1414
+ getParentNode(e = 0) {
1415
+ return this.getNode(e + 1);
1416
+ }
1417
+ #u(e) {
1418
+ let { stack: u } = this;
1419
+ for (let t = u.length - 1; t >= 0; t -= 2) if (!Array.isArray(u[t]) && --e < 0) return t;
1420
+ return -1;
1421
+ }
1422
+ call(e, ...u) {
1423
+ let { stack: t } = this, { length: r } = t, n = y(0, t, -1);
1424
+ for (let D of u) n = n?.[D], t.push(D, n);
1425
+ try {
1426
+ return e(this);
1427
+ } finally {
1428
+ t.length = r;
1429
+ }
1430
+ }
1431
+ callParent(e, u = 0) {
1432
+ let t = this.#u(u + 1), r = this.stack.splice(t + 1);
1433
+ try {
1434
+ return e(this);
1435
+ } finally {
1436
+ this.stack.push(...r);
1437
+ }
1438
+ }
1439
+ each(e, ...u) {
1440
+ let { stack: t } = this, { length: r } = t, n = y(0, t, -1);
1441
+ for (let D of u) n = n[D], t.push(D, n);
1442
+ try {
1443
+ for (let D = 0; D < n.length; ++D) t.push(D, n[D]), e(this, D, n), t.length -= 2;
1444
+ } finally {
1445
+ t.length = r;
1446
+ }
1447
+ }
1448
+ map(e, ...u) {
1449
+ let t = [];
1450
+ return this.each((r, n, D) => {
1451
+ t[n] = e(r, n, D);
1452
+ }, ...u), t;
1453
+ }
1454
+ match(...e) {
1455
+ let u = this.stack.length - 1, t = null, r = this.stack[u--];
1456
+ for (let n of e) {
1457
+ if (r === void 0) return !1;
1458
+ let D = null;
1459
+ if (typeof t == "number" && (D = t, t = this.stack[u--], r = this.stack[u--]), n && !n(r, t, D)) return !1;
1460
+ t = this.stack[u--], r = this.stack[u--];
1461
+ }
1462
+ return !0;
1463
+ }
1464
+ findAncestor(e) {
1465
+ for (let u of this.#e()) if (e(u)) return u;
1466
+ }
1467
+ hasAncestor(e) {
1468
+ for (let u of this.#e()) if (e(u)) return !0;
1469
+ return !1;
1470
+ }
1471
+ *#e() {
1472
+ let { stack: e } = this;
1473
+ for (let u = e.length - 3; u >= 0; u -= 2) {
1474
+ let t = e[u];
1475
+ Array.isArray(t) || (yield t);
1476
+ }
1477
+ }
1478
+ }, Zr = Yr;
1479
+ function Qr(e) {
1480
+ return Array.isArray(e) && e.length > 0;
1481
+ }
1482
+ var Hu = Qr;
1483
+ function Xr(e) {
1484
+ return e !== null && typeof e == "object";
1485
+ }
1486
+ var qe = Xr;
1487
+ function ce(e) {
1488
+ return (u, t, r) => {
1489
+ if (t === !1) return !1;
1490
+ let n = !!r?.backwards, { length: D } = u, i = t;
1491
+ for (; i >= 0 && i < D; ) {
1492
+ let o = u.charAt(i);
1493
+ if (e instanceof RegExp) {
1494
+ if (!e.test(o)) return i;
1495
+ } else if (!e.includes(o)) return i;
1496
+ n ? i-- : i++;
1497
+ }
1498
+ return i === -1 || i === D ? i : !1;
1499
+ };
1500
+ }
1501
+ var en = ce(/\s/), J = ce(" "), Yu = ce(",; "), Zu = ce(/[^\n\r]/), au = (e) => e === `
1502
+ ` || e === "\r" || e === "\u2028" || e === "\u2029";
1503
+ function un(e, u, t) {
1504
+ if (u === !1) return !1;
1505
+ let r = !!t?.backwards, n = e.charAt(u);
1506
+ if (r) {
1507
+ if (e.charAt(u - 1) === "\r" && n === `
1508
+ `) return u - 2;
1509
+ if (au(n)) return u - 1;
1510
+ } else {
1511
+ if (n === "\r" && e.charAt(u + 1) === `
1512
+ `) return u + 2;
1513
+ if (au(n)) return u + 1;
1514
+ }
1515
+ return u;
1516
+ }
1517
+ var Q = un;
1518
+ function tn(e, u, t = {}) {
1519
+ let r = J(e, t.backwards ? u - 1 : u, t);
1520
+ return r !== Q(e, r, t);
1521
+ }
1522
+ var z = tn;
1523
+ function* Be(e, u) {
1524
+ let { getVisitorKeys: t, filter: r = () => !0 } = u, n = (D) => qe(D) && r(D);
1525
+ for (let D of t(e)) {
1526
+ let i = e[D];
1527
+ if (Array.isArray(i)) for (let o of i) n(o) && (yield o);
1528
+ else n(i) && (yield i);
1529
+ }
1530
+ }
1531
+ function* rn(e, u) {
1532
+ let t = [e];
1533
+ for (let r = 0; r < t.length; r++) {
1534
+ let n = t[r];
1535
+ for (let D of Be(n, u)) yield D, t.push(D);
1536
+ }
1537
+ }
1538
+ function nn(e, u) {
1539
+ return Be(e, u).next().done;
1540
+ }
1541
+ function Dn(e, u, t) {
1542
+ let { filter: r } = t;
1543
+ if (!r) return [];
1544
+ let n, D = (t.getChildren?.(e, t) ?? [...Be(e, { getVisitorKeys: t.getVisitorKeys })]).flatMap((a) => (n ?? (n = [e, ...u]), r(a, n) ? [a] : Qu(a, n, t))), { locStart: i, locEnd: o } = t;
1545
+ return D.sort((a, s) => i(a) - i(s) || o(a) - o(s)), D;
1546
+ }
1547
+ function Qu(e, u, t) {
1548
+ return Ve(t.cache, e, (r) => Dn(r, u, t));
1549
+ }
1550
+ var Xu = Qu;
1551
+ function an(e) {
1552
+ let u = e.type || e.kind || "(unknown type)", t = 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 || "");
1553
+ return t.length > 20 && (t = t.slice(0, 19) + "…"), u + (t ? " " + t : "");
1554
+ }
1555
+ function Ge(e, u) {
1556
+ (e.comments ?? (e.comments = [])).push(u), u.printed = !1, u.nodeDescription = an(e);
1557
+ }
1558
+ function oe(e, u) {
1559
+ u.leading = !0, u.trailing = !1, Ge(e, u);
1560
+ }
1561
+ function H(e, u, t) {
1562
+ u.leading = !1, u.trailing = !1, t && (u.marker = t), Ge(e, u);
1563
+ }
1564
+ function se(e, u) {
1565
+ u.leading = !1, u.trailing = !0, Ge(e, u);
1566
+ }
1567
+ var et = /* @__PURE__ */ new WeakMap();
1568
+ function ut(e, u, t, r, n = []) {
1569
+ let { locStart: D, locEnd: i } = t, o = D(u), a = i(u), s = Xu(e, n, {
1570
+ cache: et,
1571
+ locStart: D,
1572
+ locEnd: i,
1573
+ getVisitorKeys: t.getVisitorKeys,
1574
+ filter: t.printer.canAttachComment,
1575
+ getChildren: t.printer.getCommentChildNodes
1576
+ }), l, F, c = 0, d = s.length;
1577
+ for (; c < d; ) {
1578
+ let f = c + d >> 1, h = s[f], p = D(h), C = i(h);
1579
+ if (p <= o && a <= C) return ut(h, u, t, h, [h, ...n]);
1580
+ if (C <= o) {
1581
+ l = h, c = f + 1;
1582
+ continue;
1583
+ }
1584
+ if (a <= p) {
1585
+ F = h, d = f;
1586
+ continue;
1587
+ }
1588
+ throw new Error("Comment location overlaps with node location");
1589
+ }
1590
+ if (r?.type === "TemplateLiteral") {
1591
+ let { quasis: f } = r, h = xe(f, u, t);
1592
+ l && xe(f, l, t) !== h && (l = null), F && xe(f, F, t) !== h && (F = null);
1593
+ }
1594
+ return {
1595
+ enclosingNode: r,
1596
+ precedingNode: l,
1597
+ followingNode: F
1598
+ };
1599
+ }
1600
+ var Se = () => !1;
1601
+ function on(e, u) {
1602
+ let { comments: t } = e;
1603
+ if (delete e.comments, !Hu(t) || !u.printer.canAttachComment) return;
1604
+ let r = [], { printer: { features: { experimental_avoidAstMutation: n }, handleComments: D = {} }, originalText: i } = u, { ownLine: o = Se, endOfLine: a = Se, remaining: s = Se } = D, l = t.map((c, d) => ({
1605
+ ...ut(e, c, u),
1606
+ comment: c,
1607
+ text: i,
1608
+ options: u,
1609
+ ast: e,
1610
+ isLastComment: t.length - 1 === d,
1611
+ placement: void 0
1612
+ })), F = !n;
1613
+ for (let [c, d] of l.entries()) {
1614
+ let { comment: f, precedingNode: h, enclosingNode: p, followingNode: C, text: E, options: m, ast: g, isLastComment: B } = d, A = sn(E, m, l, c) ? "ownLine" : ln(E, m, l, c) ? "endOfLine" : "remaining", b;
1615
+ if (n ? (d.placement = A, b = [d]) : b = [
1616
+ f,
1617
+ E,
1618
+ m,
1619
+ g,
1620
+ B
1621
+ ], F && (f.enclosingNode = p, f.precedingNode = h, f.followingNode = C), f.placement = A, A === "ownLine") o(...b) || (C ? oe(C, f) : h ? se(h, f) : H(p || g, f));
1622
+ else if (A === "endOfLine") a(...b) || (h ? se(h, f) : C ? oe(C, f) : H(p || g, f));
1623
+ else if (!s(...b)) if (h && C) {
1624
+ let ue = r.length;
1625
+ ue > 0 && r[ue - 1].followingNode !== C && ou(r, m), r.push(d);
1626
+ } else h ? se(h, f) : C ? oe(C, f) : H(p || g, f);
1627
+ }
1628
+ if (ou(r, u), F) for (let c of t) delete c.precedingNode, delete c.enclosingNode, delete c.followingNode;
1629
+ }
1630
+ var tt = (e) => !/[\S\n\u2028\u2029]/.test(e);
1631
+ function sn(e, u, t, r) {
1632
+ let { comment: n, precedingNode: D } = t[r], { locStart: i, locEnd: o } = u, a = i(n);
1633
+ if (D) for (let s = r - 1; s >= 0; s--) {
1634
+ let { comment: l, precedingNode: F } = t[s];
1635
+ if (F !== D || !tt(e.slice(o(l), a))) break;
1636
+ a = i(l);
1637
+ }
1638
+ return z(e, a, { backwards: !0 });
1639
+ }
1640
+ function ln(e, u, t, r) {
1641
+ let { comment: n, followingNode: D } = t[r], { locStart: i, locEnd: o } = u, a = o(n);
1642
+ if (D) for (let s = r + 1; s < t.length; s++) {
1643
+ let { comment: l, followingNode: F } = t[s];
1644
+ if (F !== D || !tt(e.slice(a, i(l)))) break;
1645
+ a = o(l);
1646
+ }
1647
+ return z(e, a);
1648
+ }
1649
+ function ou(e, u) {
1650
+ let t = e.length;
1651
+ if (t === 0) return;
1652
+ let { precedingNode: r, followingNode: n } = e[0], D = u.locStart(n), i;
1653
+ for (i = t; i > 0; --i) {
1654
+ let { comment: o, precedingNode: a, followingNode: s } = e[i - 1];
1655
+ U(a, r), U(s, n);
1656
+ let l = u.originalText.slice(u.locEnd(o), D);
1657
+ if (u.printer.isGap?.(l, u) ?? /^[\s(]*$/.test(l)) D = u.locStart(o);
1658
+ else break;
1659
+ }
1660
+ for (let [o, { comment: a }] of e.entries()) o < i ? se(r, a) : oe(n, a);
1661
+ for (let o of [r, n]) o.comments && o.comments.length > 1 && o.comments.sort((a, s) => u.locStart(a) - u.locStart(s));
1662
+ e.length = 0;
1663
+ }
1664
+ function xe(e, u, t) {
1665
+ let r = t.locStart(u) - 1;
1666
+ for (let n = 1; n < e.length; ++n) if (r < t.locStart(e[n])) return n - 1;
1667
+ return 0;
1668
+ }
1669
+ function cn(e, u) {
1670
+ let t = u - 1;
1671
+ t = J(e, t, { backwards: !0 }), t = Q(e, t, { backwards: !0 }), t = J(e, t, { backwards: !0 });
1672
+ let r = Q(e, t, { backwards: !0 });
1673
+ return t !== r;
1674
+ }
1675
+ var He = cn, rt = () => !0;
1676
+ function nt(e, u) {
1677
+ let t = e.node;
1678
+ return t.printed = !0, u.printer.printComment(e, u);
1679
+ }
1680
+ function Fn(e, u) {
1681
+ let t = e.node, r = [nt(e, u)], { printer: n, originalText: D, locStart: i, locEnd: o } = u;
1682
+ if (n.isBlockComment?.(t)) {
1683
+ let s = " ";
1684
+ z(D, o(t)) && (z(D, i(t), { backwards: !0 }) ? s = j : s = Vu), r.push(s);
1685
+ } else r.push(j);
1686
+ let a = Q(D, J(D, o(t)));
1687
+ return a !== !1 && z(D, a) && r.push(j), r;
1688
+ }
1689
+ function fn(e, u, t) {
1690
+ let r = e.node, n = nt(e, u), { printer: D, originalText: i, locStart: o } = u, a = D.isBlockComment?.(r);
1691
+ return t?.hasLineSuffix && !t?.isBlock || z(i, o(r), { backwards: !0 }) ? {
1692
+ doc: Ie([
1693
+ j,
1694
+ He(i, o(r)) ? j : "",
1695
+ n
1696
+ ]),
1697
+ isBlock: a,
1698
+ hasLineSuffix: !0
1699
+ } : !a || t?.hasLineSuffix ? {
1700
+ doc: [Ie([" ", n]), ye],
1701
+ isBlock: a,
1702
+ hasLineSuffix: !0
1703
+ } : {
1704
+ doc: [" ", n],
1705
+ isBlock: a,
1706
+ hasLineSuffix: !1
1707
+ };
1708
+ }
1709
+ function dn(e, u, t) {
1710
+ let r = u[/* @__PURE__ */ Symbol.for("printedComments")], n = t?.filter ?? rt, D = new Set(e.node?.comments?.filter((i) => !r?.has(i) && i.leading && n(i)));
1711
+ return D.size === 0 ? "" : e.map(({ node: i }) => D.has(i) ? Fn(e, u) : "", "comments").filter(Boolean);
1712
+ }
1713
+ function pn(e, u, t) {
1714
+ let r = e.node?.comments, n = new Set(r?.filter((l) => l.trailing)), D = u[/* @__PURE__ */ Symbol.for("printedComments")], i = t?.filter ?? rt, o = new Set(r?.filter((l) => n.has(l) && !D?.has(l) && i(l)));
1715
+ if (o.size === 0) return "";
1716
+ let a = [], s;
1717
+ return e.each(({ node: l }) => {
1718
+ n.has(l) && (s = fn(e, u, s), o.has(l) && a.push(s.doc));
1719
+ }, "comments"), a;
1720
+ }
1721
+ function hn(e, u, t, r) {
1722
+ let n = dn(e, t, r), D = pn(e, t, r);
1723
+ return n || D ? de(u, (i) => [
1724
+ n,
1725
+ i,
1726
+ D
1727
+ ]) : u;
1728
+ }
1729
+ function Cn(e) {
1730
+ let { [me]: u, [/* @__PURE__ */ Symbol.for("printedComments")]: t } = e;
1731
+ for (let r of u) {
1732
+ if (!r.printed && !t.has(r)) throw new Error('Comment "' + r.value.trim() + '" was not printed. Please report this error!');
1733
+ delete r.printed;
1734
+ }
1735
+ }
1736
+ var En = () => U, Dt = class extends Error {
1737
+ name = "ConfigError";
1738
+ }, su = class extends Error {
1739
+ name = "UndefinedParserError";
1740
+ }, Ae = Object.hasOwn ?? Function.prototype.call.bind(Object.prototype.hasOwnProperty), mn = {
1741
+ checkIgnorePragma: {
1742
+ category: "Special",
1743
+ type: "boolean",
1744
+ default: !1,
1745
+ description: "Check whether the file's first docblock comment contains '@noprettier' or '@noformat' to determine if it should be formatted.",
1746
+ cliCategory: "Other"
1747
+ },
1748
+ cursorOffset: {
1749
+ category: "Special",
1750
+ type: "int",
1751
+ default: -1,
1752
+ range: {
1753
+ start: -1,
1754
+ end: 1 / 0,
1755
+ step: 1
1756
+ },
1757
+ description: "Print (to stderr) where a cursor at the given position would move to after formatting.",
1758
+ cliCategory: "Editor"
1759
+ },
1760
+ endOfLine: {
1761
+ category: "Global",
1762
+ type: "choice",
1763
+ default: "lf",
1764
+ description: "Which end of line characters to apply.",
1765
+ choices: [
1766
+ {
1767
+ value: "lf",
1768
+ description: "Line Feed only (\\n), common on Linux and macOS as well as inside git repos"
1769
+ },
1770
+ {
1771
+ value: "crlf",
1772
+ description: "Carriage Return + Line Feed characters (\\r\\n), common on Windows"
1773
+ },
1774
+ {
1775
+ value: "cr",
1776
+ description: "Carriage Return character only (\\r), used very rarely"
1777
+ },
1778
+ {
1779
+ value: "auto",
1780
+ description: `Maintain existing
1781
+ (mixed values within one file are normalised by looking at what's used after the first line)`
1782
+ }
1783
+ ]
1784
+ },
1785
+ filepath: {
1786
+ category: "Special",
1787
+ type: "path",
1788
+ description: "Specify the input filepath. This will be used to do parser inference.",
1789
+ cliName: "stdin-filepath",
1790
+ cliCategory: "Other",
1791
+ cliDescription: "Path to the file to pretend that stdin comes from."
1792
+ },
1793
+ insertPragma: {
1794
+ category: "Special",
1795
+ type: "boolean",
1796
+ default: !1,
1797
+ description: "Insert @format pragma into file's first docblock comment.",
1798
+ cliCategory: "Other"
1799
+ },
1800
+ parser: {
1801
+ category: "Global",
1802
+ type: "choice",
1803
+ default: void 0,
1804
+ description: "Which parser to use.",
1805
+ exception: (e) => typeof e == "string" || typeof e == "function",
1806
+ choices: [
1807
+ {
1808
+ value: "flow",
1809
+ description: "Flow"
1810
+ },
1811
+ {
1812
+ value: "babel",
1813
+ description: "JavaScript"
1814
+ },
1815
+ {
1816
+ value: "babel-flow",
1817
+ description: "Flow"
1818
+ },
1819
+ {
1820
+ value: "babel-ts",
1821
+ description: "TypeScript"
1822
+ },
1823
+ {
1824
+ value: "typescript",
1825
+ description: "TypeScript"
1826
+ },
1827
+ {
1828
+ value: "acorn",
1829
+ description: "JavaScript"
1830
+ },
1831
+ {
1832
+ value: "espree",
1833
+ description: "JavaScript"
1834
+ },
1835
+ {
1836
+ value: "meriyah",
1837
+ description: "JavaScript"
1838
+ },
1839
+ {
1840
+ value: "css",
1841
+ description: "CSS"
1842
+ },
1843
+ {
1844
+ value: "less",
1845
+ description: "Less"
1846
+ },
1847
+ {
1848
+ value: "scss",
1849
+ description: "SCSS"
1850
+ },
1851
+ {
1852
+ value: "json",
1853
+ description: "JSON"
1854
+ },
1855
+ {
1856
+ value: "json5",
1857
+ description: "JSON5"
1858
+ },
1859
+ {
1860
+ value: "jsonc",
1861
+ description: "JSON with Comments"
1862
+ },
1863
+ {
1864
+ value: "json-stringify",
1865
+ description: "JSON.stringify"
1866
+ },
1867
+ {
1868
+ value: "graphql",
1869
+ description: "GraphQL"
1870
+ },
1871
+ {
1872
+ value: "markdown",
1873
+ description: "Markdown"
1874
+ },
1875
+ {
1876
+ value: "mdx",
1877
+ description: "MDX"
1878
+ },
1879
+ {
1880
+ value: "vue",
1881
+ description: "Vue"
1882
+ },
1883
+ {
1884
+ value: "yaml",
1885
+ description: "YAML"
1886
+ },
1887
+ {
1888
+ value: "glimmer",
1889
+ description: "Ember / Handlebars"
1890
+ },
1891
+ {
1892
+ value: "html",
1893
+ description: "HTML"
1894
+ },
1895
+ {
1896
+ value: "angular",
1897
+ description: "Angular"
1898
+ },
1899
+ {
1900
+ value: "lwc",
1901
+ description: "Lightning Web Components"
1902
+ },
1903
+ {
1904
+ value: "mjml",
1905
+ description: "MJML"
1906
+ }
1907
+ ]
1908
+ },
1909
+ plugins: {
1910
+ type: "path",
1911
+ array: !0,
1912
+ default: [{ value: [] }],
1913
+ category: "Global",
1914
+ description: "Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",
1915
+ exception: (e) => typeof e == "string" || typeof e == "object",
1916
+ cliName: "plugin",
1917
+ cliCategory: "Config"
1918
+ },
1919
+ printWidth: {
1920
+ category: "Global",
1921
+ type: "int",
1922
+ default: 80,
1923
+ description: "The line length where Prettier will try wrap.",
1924
+ range: {
1925
+ start: 0,
1926
+ end: 1 / 0,
1927
+ step: 1
1928
+ }
1929
+ },
1930
+ rangeEnd: {
1931
+ category: "Special",
1932
+ type: "int",
1933
+ default: 1 / 0,
1934
+ range: {
1935
+ start: 0,
1936
+ end: 1 / 0,
1937
+ step: 1
1938
+ },
1939
+ description: `Format code ending at a given character offset (exclusive).
1940
+ The range will extend forwards to the end of the selected statement.`,
1941
+ cliCategory: "Editor"
1942
+ },
1943
+ rangeStart: {
1944
+ category: "Special",
1945
+ type: "int",
1946
+ default: 0,
1947
+ range: {
1948
+ start: 0,
1949
+ end: 1 / 0,
1950
+ step: 1
1951
+ },
1952
+ description: `Format code starting at a given character offset.
1953
+ The range will extend backwards to the start of the first line containing the selected statement.`,
1954
+ cliCategory: "Editor"
1955
+ },
1956
+ requirePragma: {
1957
+ category: "Special",
1958
+ type: "boolean",
1959
+ default: !1,
1960
+ description: "Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted.",
1961
+ cliCategory: "Other"
1962
+ },
1963
+ tabWidth: {
1964
+ type: "int",
1965
+ category: "Global",
1966
+ default: 2,
1967
+ description: "Number of spaces per indentation level.",
1968
+ range: {
1969
+ start: 0,
1970
+ end: 1 / 0,
1971
+ step: 1
1972
+ }
1973
+ },
1974
+ useTabs: {
1975
+ category: "Global",
1976
+ type: "boolean",
1977
+ default: !1,
1978
+ description: "Indent with tabs instead of spaces."
1979
+ },
1980
+ embeddedLanguageFormatting: {
1981
+ category: "Global",
1982
+ type: "choice",
1983
+ default: "auto",
1984
+ description: "Control how Prettier formats quoted code embedded in the file.",
1985
+ choices: [{
1986
+ value: "auto",
1987
+ description: "Format embedded code if Prettier can automatically identify it."
1988
+ }, {
1989
+ value: "off",
1990
+ description: "Never automatically format embedded code."
1991
+ }]
1992
+ }
1993
+ };
1994
+ function it({ plugins: e = [], showDeprecated: u = !1 } = {}) {
1995
+ let t = e.flatMap((n) => n.languages ?? []), r = [];
1996
+ for (let n of yn(Object.assign({}, ...e.map(({ options: D }) => D), mn))) !u && n.deprecated || (Array.isArray(n.choices) && (u || (n.choices = n.choices.filter((D) => !D.deprecated)), n.name === "parser" && (n.choices = [...n.choices, ...gn(n.choices, t, e)])), n.pluginDefaults = Object.fromEntries(e.filter((D) => D.defaultOptions?.[n.name] !== void 0).map((D) => [D.name, D.defaultOptions[n.name]])), r.push(n));
1997
+ return {
1998
+ languages: t,
1999
+ options: r
2000
+ };
2001
+ }
2002
+ function* gn(e, u, t) {
2003
+ let r = new Set(e.map((n) => n.value));
2004
+ for (let n of u) if (n.parsers) {
2005
+ for (let D of n.parsers) if (!r.has(D)) {
2006
+ r.add(D);
2007
+ let i = t.find((a) => a.parsers && Ae(a.parsers, D)), o = n.name;
2008
+ i?.name && (o += ` (plugin: ${i.name})`), yield {
2009
+ value: D,
2010
+ description: o
2011
+ };
2012
+ }
2013
+ }
2014
+ }
2015
+ function yn(e) {
2016
+ let u = [];
2017
+ for (let [t, r] of Object.entries(e)) {
2018
+ let n = {
2019
+ name: t,
2020
+ ...r
2021
+ };
2022
+ Array.isArray(n.default) && (n.default = y(0, n.default, -1).value), u.push(n);
2023
+ }
2024
+ return u;
2025
+ }
2026
+ var vn = Array.prototype.toReversed ?? function() {
2027
+ return [...this].reverse();
2028
+ }, Bn = le("toReversed", function() {
2029
+ if (Array.isArray(this)) return vn;
2030
+ });
2031
+ function An() {
2032
+ let e = globalThis, u = e.process?.platform;
2033
+ if (typeof u == "string") return u.startsWith("win");
2034
+ let t = e.Deno?.build?.os;
2035
+ return typeof t == "string" ? t === "windows" : e.navigator?.platform?.startsWith("Win") ?? !1;
2036
+ }
2037
+ var bn = An();
2038
+ function at(e) {
2039
+ if (e = e instanceof URL ? e : new URL(e), e.protocol !== "file:") throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);
2040
+ return e;
2041
+ }
2042
+ function wn(e) {
2043
+ return e = at(e), decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"));
2044
+ }
2045
+ function kn(e) {
2046
+ e = at(e);
2047
+ let u = decodeURIComponent(e.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25")).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\");
2048
+ return e.hostname !== "" && (u = `\\\\${e.hostname}${u}`), u;
2049
+ }
2050
+ function Sn(e) {
2051
+ return bn ? kn(e) : wn(e);
2052
+ }
2053
+ var xn = (e) => String(e).split(/[/\\]/).pop(), Nn = (e) => String(e).startsWith("file:");
2054
+ function lu(e, u) {
2055
+ if (!u) return;
2056
+ let t = xn(u).toLowerCase();
2057
+ return e.find(({ filenames: r }) => r?.some((n) => n.toLowerCase() === t)) ?? e.find(({ extensions: r }) => r?.some((n) => t.endsWith(n)));
2058
+ }
2059
+ function _n(e, u) {
2060
+ if (u) return e.find(({ name: t }) => t.toLowerCase() === u) ?? e.find(({ aliases: t }) => t?.includes(u)) ?? e.find(({ extensions: t }) => t?.includes(`.${u}`));
2061
+ }
2062
+ var On = void 0;
2063
+ function cu(e, u) {
2064
+ if (u) {
2065
+ if (Nn(u)) try {
2066
+ u = Sn(u);
2067
+ } catch {
2068
+ return;
2069
+ }
2070
+ if (typeof u == "string") return e.find(({ isSupported: t }) => t?.({ filepath: u }));
2071
+ }
2072
+ }
2073
+ function Tn(e, u) {
2074
+ let t = Bn(0, e.plugins).flatMap((r) => r.languages ?? []);
2075
+ return (_n(t, u.language) ?? lu(t, u.physicalFile) ?? lu(t, u.file) ?? cu(t, u.physicalFile) ?? cu(t, u.file) ?? On?.(t, u.physicalFile))?.parsers[0];
2076
+ }
2077
+ var ot = Tn, re = {
2078
+ key: (e) => /^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e) ? e : JSON.stringify(e),
2079
+ value(e) {
2080
+ if (e === null || typeof e != "object") return JSON.stringify(e);
2081
+ if (Array.isArray(e)) return `[${e.map((t) => re.value(t)).join(", ")}]`;
2082
+ let u = Object.keys(e);
2083
+ return u.length === 0 ? "{}" : `{ ${u.map((t) => `${re.key(t)}: ${re.value(e[t])}`).join(", ")} }`;
2084
+ },
2085
+ pair: ({ key: e, value: u }) => re.value({ [e]: u })
2086
+ }, st = new Proxy(String, { get: () => st }), _ = st, In = (e, u, { descriptor: t }) => {
2087
+ let r = [`${_.yellow(typeof e == "string" ? t.key(e) : t.pair(e))} is deprecated`];
2088
+ return u && r.push(`we now treat it as ${_.blue(typeof u == "string" ? t.key(u) : t.pair(u))}`), r.join("; ") + ".";
2089
+ }, lt = /* @__PURE__ */ Symbol.for("vnopts.VALUE_NOT_EXIST"), pe = /* @__PURE__ */ Symbol.for("vnopts.VALUE_UNCHANGED"), Fu = " ".repeat(2), Pn = (e, u, t) => {
2090
+ let { text: r, list: n } = t.normalizeExpectedResult(t.schemas[e].expected(t)), D = [];
2091
+ return r && D.push(fu(e, u, r, t.descriptor)), n && D.push([fu(e, u, n.title, t.descriptor)].concat(n.values.map((i) => ct(i, t.loggerPrintWidth))).join(`
2092
+ `)), Ft(D, t.loggerPrintWidth);
2093
+ };
2094
+ function fu(e, u, t, r) {
2095
+ return [
2096
+ `Invalid ${_.red(r.key(e))} value.`,
2097
+ `Expected ${_.blue(t)},`,
2098
+ `but received ${u === lt ? _.gray("nothing") : _.red(r.value(u))}.`
2099
+ ].join(" ");
2100
+ }
2101
+ function ct({ text: e, list: u }, t) {
2102
+ let r = [];
2103
+ return e && r.push(`- ${_.blue(e)}`), u && r.push([`- ${_.blue(u.title)}:`].concat(u.values.map((n) => ct(n, t - Fu.length).replace(/^|\n/g, `$&${Fu}`))).join(`
2104
+ `)), Ft(r, t);
2105
+ }
2106
+ function Ft(e, u) {
2107
+ if (e.length === 1) return e[0];
2108
+ let [t, r] = e, [n, D] = e.map((i) => i.split(`
2109
+ `, 1)[0].length);
2110
+ return n > u && n > D ? r : t;
2111
+ }
2112
+ var te = [], Ne = [];
2113
+ function _e(e, u, t) {
2114
+ if (e === u) return 0;
2115
+ let r = t?.maxDistance, n = e;
2116
+ e.length > u.length && (e = u, u = n);
2117
+ let D = e.length, i = u.length;
2118
+ for (; D > 0 && e.charCodeAt(~-D) === u.charCodeAt(~-i); ) D--, i--;
2119
+ let o = 0;
2120
+ for (; o < D && e.charCodeAt(o) === u.charCodeAt(o); ) o++;
2121
+ if (D -= o, i -= o, r !== void 0 && i - D > r) return r;
2122
+ if (D === 0) return r !== void 0 && i > r ? r : i;
2123
+ let a, s, l, F, c = 0, d = 0;
2124
+ for (; c < D; ) Ne[c] = e.charCodeAt(o + c), te[c] = ++c;
2125
+ for (; d < i; ) {
2126
+ for (a = u.charCodeAt(o + d), l = d++, s = d, c = 0; c < D; c++) F = a === Ne[c] ? l : l + 1, l = te[c], s = te[c] = l > s ? F > s ? s + 1 : F : F > l ? l + 1 : F;
2127
+ if (r !== void 0) {
2128
+ let f = s;
2129
+ for (c = 0; c < D; c++) te[c] < f && (f = te[c]);
2130
+ if (f > r) return r;
2131
+ }
2132
+ }
2133
+ return te.length = D, Ne.length = D, r !== void 0 && s > r ? r : s;
2134
+ }
2135
+ function jn(e, u, t) {
2136
+ if (!Array.isArray(u) || u.length === 0) return;
2137
+ let r = t?.maxDistance, n = e.length;
2138
+ for (let a of u) if (a === e) return a;
2139
+ if (r === 0) return;
2140
+ let D, i = Number.POSITIVE_INFINITY, o = /* @__PURE__ */ new Set();
2141
+ for (let a of u) {
2142
+ if (o.has(a)) continue;
2143
+ o.add(a);
2144
+ let s = Math.abs(a.length - n);
2145
+ if (s >= i || r !== void 0 && s > r) continue;
2146
+ let l = Number.isFinite(i) ? r === void 0 ? i : Math.min(i, r) : r, F = l === void 0 ? _e(e, a) : _e(e, a, { maxDistance: l });
2147
+ if (r !== void 0 && F > r) continue;
2148
+ let c = F;
2149
+ if (l !== void 0 && F === l && l === r && (c = _e(e, a)), c < i && (i = c, D = a, i === 0)) break;
2150
+ }
2151
+ if (!(r !== void 0 && i > r)) return D;
2152
+ }
2153
+ var ft = (e, u, { descriptor: t, logger: r, schemas: n }) => {
2154
+ let D = [`Ignored unknown option ${_.yellow(t.pair({
2155
+ key: e,
2156
+ value: u
2157
+ }))}.`], i = jn(e, Object.keys(n), { maxDistance: 3 });
2158
+ i && D.push(`Did you mean ${_.blue(t.key(i))}?`), r.warn(D.join(" "));
2159
+ }, Ln = [
2160
+ "default",
2161
+ "expected",
2162
+ "validate",
2163
+ "deprecated",
2164
+ "forward",
2165
+ "redirect",
2166
+ "overlap",
2167
+ "preprocess",
2168
+ "postprocess"
2169
+ ];
2170
+ function $n(e, u) {
2171
+ let t = new e(u), r = Object.create(t);
2172
+ for (let n of Ln) n in u && (r[n] = Rn(u[n], t, G.prototype[n].length));
2173
+ return r;
2174
+ }
2175
+ var G = class {
2176
+ static create(e) {
2177
+ return $n(this, e);
2178
+ }
2179
+ constructor(e) {
2180
+ this.name = e.name;
2181
+ }
2182
+ default(e) {
2183
+ }
2184
+ expected(e) {
2185
+ return "nothing";
2186
+ }
2187
+ validate(e, u) {
2188
+ return !1;
2189
+ }
2190
+ deprecated(e, u) {
2191
+ return !1;
2192
+ }
2193
+ forward(e, u) {
2194
+ }
2195
+ redirect(e, u) {
2196
+ }
2197
+ overlap(e, u, t) {
2198
+ return e;
2199
+ }
2200
+ preprocess(e, u) {
2201
+ return e;
2202
+ }
2203
+ postprocess(e, u) {
2204
+ return pe;
2205
+ }
2206
+ };
2207
+ function Rn(e, u, t) {
2208
+ return typeof e == "function" ? (...r) => e(...r.slice(0, t - 1), u, ...r.slice(t - 1)) : () => e;
2209
+ }
2210
+ var Mn = class extends G {
2211
+ constructor(e) {
2212
+ super(e), this._sourceName = e.sourceName;
2213
+ }
2214
+ expected(e) {
2215
+ return e.schemas[this._sourceName].expected(e);
2216
+ }
2217
+ validate(e, u) {
2218
+ return u.schemas[this._sourceName].validate(e, u);
2219
+ }
2220
+ redirect(e, u) {
2221
+ return this._sourceName;
2222
+ }
2223
+ }, Vn = class extends G {
2224
+ expected() {
2225
+ return "anything";
2226
+ }
2227
+ validate() {
2228
+ return !0;
2229
+ }
2230
+ }, Wn = class extends G {
2231
+ constructor({ valueSchema: e, name: u = e.name, ...t }) {
2232
+ super({
2233
+ ...t,
2234
+ name: u
2235
+ }), this._valueSchema = e;
2236
+ }
2237
+ expected(e) {
2238
+ let { text: u, list: t } = e.normalizeExpectedResult(this._valueSchema.expected(e));
2239
+ return {
2240
+ text: u && `an array of ${u}`,
2241
+ list: t && {
2242
+ title: "an array of the following values",
2243
+ values: [{ list: t }]
2244
+ }
2245
+ };
2246
+ }
2247
+ validate(e, u) {
2248
+ if (!Array.isArray(e)) return !1;
2249
+ let t = [];
2250
+ for (let r of e) {
2251
+ let n = u.normalizeValidateResult(this._valueSchema.validate(r, u), r);
2252
+ n !== !0 && t.push(n.value);
2253
+ }
2254
+ return t.length === 0 ? !0 : { value: t };
2255
+ }
2256
+ deprecated(e, u) {
2257
+ let t = [];
2258
+ for (let r of e) {
2259
+ let n = u.normalizeDeprecatedResult(this._valueSchema.deprecated(r, u), r);
2260
+ n !== !1 && t.push(...n.map(({ value: D }) => ({ value: [D] })));
2261
+ }
2262
+ return t;
2263
+ }
2264
+ forward(e, u) {
2265
+ let t = [];
2266
+ for (let r of e) {
2267
+ let n = u.normalizeForwardResult(this._valueSchema.forward(r, u), r);
2268
+ t.push(...n.map(du));
2269
+ }
2270
+ return t;
2271
+ }
2272
+ redirect(e, u) {
2273
+ let t = [], r = [];
2274
+ for (let n of e) {
2275
+ let D = u.normalizeRedirectResult(this._valueSchema.redirect(n, u), n);
2276
+ "remain" in D && t.push(D.remain), r.push(...D.redirect.map(du));
2277
+ }
2278
+ return t.length === 0 ? { redirect: r } : {
2279
+ redirect: r,
2280
+ remain: t
2281
+ };
2282
+ }
2283
+ overlap(e, u) {
2284
+ return e.concat(u);
2285
+ }
2286
+ };
2287
+ function du({ from: e, to: u }) {
2288
+ return {
2289
+ from: [e],
2290
+ to: u
2291
+ };
2292
+ }
2293
+ var Kn = class extends G {
2294
+ expected() {
2295
+ return "true or false";
2296
+ }
2297
+ validate(e) {
2298
+ return typeof e == "boolean";
2299
+ }
2300
+ };
2301
+ function zn(e, u) {
2302
+ let t = /* @__PURE__ */ Object.create(null);
2303
+ for (let r of e) {
2304
+ let n = r[u];
2305
+ if (t[n]) throw new Error(`Duplicate ${u} ${JSON.stringify(n)}`);
2306
+ t[n] = r;
2307
+ }
2308
+ return t;
2309
+ }
2310
+ function Un(e, u) {
2311
+ let t = /* @__PURE__ */ new Map();
2312
+ for (let r of e) {
2313
+ let n = r[u];
2314
+ if (t.has(n)) throw new Error(`Duplicate ${u} ${JSON.stringify(n)}`);
2315
+ t.set(n, r);
2316
+ }
2317
+ return t;
2318
+ }
2319
+ function Jn() {
2320
+ let e = /* @__PURE__ */ Object.create(null);
2321
+ return (u) => {
2322
+ let t = JSON.stringify(u);
2323
+ return e[t] ? !0 : (e[t] = !0, !1);
2324
+ };
2325
+ }
2326
+ function qn(e, u) {
2327
+ let t = [], r = [];
2328
+ for (let n of e) u(n) ? t.push(n) : r.push(n);
2329
+ return [t, r];
2330
+ }
2331
+ function Gn(e) {
2332
+ return e === Math.floor(e);
2333
+ }
2334
+ function Hn(e, u) {
2335
+ if (e === u) return 0;
2336
+ let t = typeof e, r = typeof u, n = [
2337
+ "undefined",
2338
+ "object",
2339
+ "boolean",
2340
+ "number",
2341
+ "string"
2342
+ ];
2343
+ return t !== r ? n.indexOf(t) - n.indexOf(r) : t !== "string" ? Number(e) - Number(u) : e.localeCompare(u);
2344
+ }
2345
+ function Yn(e) {
2346
+ return (...u) => {
2347
+ let t = e(...u);
2348
+ return typeof t == "string" ? new Error(t) : t;
2349
+ };
2350
+ }
2351
+ function pu(e) {
2352
+ return e === void 0 ? {} : e;
2353
+ }
2354
+ function dt(e) {
2355
+ if (typeof e == "string") return { text: e };
2356
+ let { text: u, list: t } = e;
2357
+ return Zn((u || t) !== void 0, "Unexpected `expected` result, there should be at least one field."), t ? {
2358
+ text: u,
2359
+ list: {
2360
+ title: t.title,
2361
+ values: t.values.map(dt)
2362
+ }
2363
+ } : { text: u };
2364
+ }
2365
+ function hu(e, u) {
2366
+ return e === !0 ? !0 : e === !1 ? { value: u } : e;
2367
+ }
2368
+ function Cu(e, u, t = !1) {
2369
+ return e === !1 ? !1 : e === !0 ? t ? !0 : [{ value: u }] : "value" in e ? [e] : e.length === 0 ? !1 : e;
2370
+ }
2371
+ function Eu(e, u) {
2372
+ return typeof e == "string" || "key" in e ? {
2373
+ from: u,
2374
+ to: e
2375
+ } : "from" in e ? {
2376
+ from: e.from,
2377
+ to: e.to
2378
+ } : {
2379
+ from: u,
2380
+ to: e.to
2381
+ };
2382
+ }
2383
+ function je(e, u) {
2384
+ return e === void 0 ? [] : Array.isArray(e) ? e.map((t) => Eu(t, u)) : [Eu(e, u)];
2385
+ }
2386
+ function mu(e, u) {
2387
+ let t = je(typeof e == "object" && "redirect" in e ? e.redirect : e, u);
2388
+ return t.length === 0 ? {
2389
+ remain: u,
2390
+ redirect: t
2391
+ } : typeof e == "object" && "remain" in e ? {
2392
+ remain: e.remain,
2393
+ redirect: t
2394
+ } : { redirect: t };
2395
+ }
2396
+ function Zn(e, u) {
2397
+ if (!e) throw new Error(u);
2398
+ }
2399
+ var Qn = class extends G {
2400
+ constructor(e) {
2401
+ super(e), this._choices = Un(e.choices.map((u) => u && typeof u == "object" ? u : { value: u }), "value");
2402
+ }
2403
+ expected({ descriptor: e }) {
2404
+ let u = Array.from(this._choices.keys()).map((n) => this._choices.get(n)).filter(({ hidden: n }) => !n).map((n) => n.value).sort(Hn).map(e.value), t = u.slice(0, -2), r = u.slice(-2);
2405
+ return {
2406
+ text: t.concat(r.join(" or ")).join(", "),
2407
+ list: {
2408
+ title: "one of the following values",
2409
+ values: u
2410
+ }
2411
+ };
2412
+ }
2413
+ validate(e) {
2414
+ return this._choices.has(e);
2415
+ }
2416
+ deprecated(e) {
2417
+ let u = this._choices.get(e);
2418
+ return u && u.deprecated ? { value: e } : !1;
2419
+ }
2420
+ forward(e) {
2421
+ let u = this._choices.get(e);
2422
+ return u ? u.forward : void 0;
2423
+ }
2424
+ redirect(e) {
2425
+ let u = this._choices.get(e);
2426
+ return u ? u.redirect : void 0;
2427
+ }
2428
+ }, Xn = class extends G {
2429
+ expected() {
2430
+ return "a number";
2431
+ }
2432
+ validate(e, u) {
2433
+ return typeof e == "number";
2434
+ }
2435
+ }, eD = class extends Xn {
2436
+ expected() {
2437
+ return "an integer";
2438
+ }
2439
+ validate(e, u) {
2440
+ return u.normalizeValidateResult(super.validate(e, u), e) === !0 && Gn(e);
2441
+ }
2442
+ }, gu = class extends G {
2443
+ expected() {
2444
+ return "a string";
2445
+ }
2446
+ validate(e) {
2447
+ return typeof e == "string";
2448
+ }
2449
+ }, uD = re, tD = ft, rD = Pn, nD = In, DD = class {
2450
+ constructor(e, u) {
2451
+ let { logger: t = console, loggerPrintWidth: r = 80, descriptor: n = uD, unknown: D = tD, invalid: i = rD, deprecated: o = nD, missing: a = () => !1, required: s = () => !1, preprocess: l = (c) => c, postprocess: F = () => pe } = u || {};
2452
+ this._utils = {
2453
+ descriptor: n,
2454
+ logger: t || { warn: () => {
2455
+ } },
2456
+ loggerPrintWidth: r,
2457
+ schemas: zn(e, "name"),
2458
+ normalizeDefaultResult: pu,
2459
+ normalizeExpectedResult: dt,
2460
+ normalizeDeprecatedResult: Cu,
2461
+ normalizeForwardResult: je,
2462
+ normalizeRedirectResult: mu,
2463
+ normalizeValidateResult: hu
2464
+ }, this._unknownHandler = D, this._invalidHandler = Yn(i), this._deprecatedHandler = o, this._identifyMissing = (c, d) => !(c in d) || a(c, d), this._identifyRequired = s, this._preprocess = l, this._postprocess = F, this.cleanHistory();
2465
+ }
2466
+ cleanHistory() {
2467
+ this._hasDeprecationWarned = Jn();
2468
+ }
2469
+ normalize(e) {
2470
+ let u = {}, t = [this._preprocess(e, this._utils)], r = () => {
2471
+ for (; t.length !== 0; ) {
2472
+ let n = t.shift(), D = this._applyNormalization(n, u);
2473
+ t.push(...D);
2474
+ }
2475
+ };
2476
+ r();
2477
+ for (let n of Object.keys(this._utils.schemas)) {
2478
+ let D = this._utils.schemas[n];
2479
+ if (!(n in u)) {
2480
+ let i = pu(D.default(this._utils));
2481
+ "value" in i && t.push({ [n]: i.value });
2482
+ }
2483
+ }
2484
+ r();
2485
+ for (let n of Object.keys(this._utils.schemas)) {
2486
+ if (!(n in u)) continue;
2487
+ let D = this._utils.schemas[n], i = u[n], o = D.postprocess(i, this._utils);
2488
+ o !== pe && (this._applyValidation(o, n, D), u[n] = o);
2489
+ }
2490
+ return this._applyPostprocess(u), this._applyRequiredCheck(u), u;
2491
+ }
2492
+ _applyNormalization(e, u) {
2493
+ let t = [], { knownKeys: r, unknownKeys: n } = this._partitionOptionKeys(e);
2494
+ for (let D of r) {
2495
+ let i = this._utils.schemas[D], o = i.preprocess(e[D], this._utils);
2496
+ this._applyValidation(o, D, i);
2497
+ let a = ({ from: F, to: c }) => {
2498
+ t.push(typeof c == "string" ? { [c]: F } : { [c.key]: c.value });
2499
+ }, s = ({ value: F, redirectTo: c }) => {
2500
+ let d = Cu(i.deprecated(F, this._utils), o, !0);
2501
+ if (d !== !1) if (d === !0) this._hasDeprecationWarned(D) || this._utils.logger.warn(this._deprecatedHandler(D, c, this._utils));
2502
+ else for (let { value: f } of d) {
2503
+ let h = {
2504
+ key: D,
2505
+ value: f
2506
+ };
2507
+ if (!this._hasDeprecationWarned(h)) {
2508
+ let p = typeof c == "string" ? {
2509
+ key: c,
2510
+ value: f
2511
+ } : c;
2512
+ this._utils.logger.warn(this._deprecatedHandler(h, p, this._utils));
2513
+ }
2514
+ }
2515
+ };
2516
+ je(i.forward(o, this._utils), o).forEach(a);
2517
+ let l = mu(i.redirect(o, this._utils), o);
2518
+ if (l.redirect.forEach(a), "remain" in l) {
2519
+ let F = l.remain;
2520
+ u[D] = D in u ? i.overlap(u[D], F, this._utils) : F, s({ value: F });
2521
+ }
2522
+ for (let { from: F, to: c } of l.redirect) s({
2523
+ value: F,
2524
+ redirectTo: c
2525
+ });
2526
+ }
2527
+ for (let D of n) {
2528
+ let i = e[D];
2529
+ this._applyUnknownHandler(D, i, u, (o, a) => {
2530
+ t.push({ [o]: a });
2531
+ });
2532
+ }
2533
+ return t;
2534
+ }
2535
+ _applyRequiredCheck(e) {
2536
+ for (let u of Object.keys(this._utils.schemas)) if (this._identifyMissing(u, e) && this._identifyRequired(u)) throw this._invalidHandler(u, lt, this._utils);
2537
+ }
2538
+ _partitionOptionKeys(e) {
2539
+ let [u, t] = qn(Object.keys(e).filter((r) => !this._identifyMissing(r, e)), (r) => r in this._utils.schemas);
2540
+ return {
2541
+ knownKeys: u,
2542
+ unknownKeys: t
2543
+ };
2544
+ }
2545
+ _applyValidation(e, u, t) {
2546
+ let r = hu(t.validate(e, this._utils), e);
2547
+ if (r !== !0) throw this._invalidHandler(u, r.value, this._utils);
2548
+ }
2549
+ _applyUnknownHandler(e, u, t, r) {
2550
+ let n = this._unknownHandler(e, u, this._utils);
2551
+ if (n) for (let D of Object.keys(n)) {
2552
+ if (this._identifyMissing(D, n)) continue;
2553
+ let i = n[D];
2554
+ D in this._utils.schemas ? r(D, i) : t[D] = i;
2555
+ }
2556
+ }
2557
+ _applyPostprocess(e) {
2558
+ let u = this._postprocess(e, this._utils);
2559
+ if (u !== pe) {
2560
+ if (u.delete) for (let t of u.delete) delete e[t];
2561
+ if (u.override) {
2562
+ let { knownKeys: t, unknownKeys: r } = this._partitionOptionKeys(u.override);
2563
+ for (let n of t) {
2564
+ let D = u.override[n];
2565
+ this._applyValidation(D, n, this._utils.schemas[n]), e[n] = D;
2566
+ }
2567
+ for (let n of r) {
2568
+ let D = u.override[n];
2569
+ this._applyUnknownHandler(n, D, e, (i, o) => {
2570
+ let a = this._utils.schemas[i];
2571
+ this._applyValidation(o, i, a), e[i] = o;
2572
+ });
2573
+ }
2574
+ }
2575
+ }
2576
+ }
2577
+ }, Oe;
2578
+ function iD(e, u, { logger: t = !1, isCLI: r = !1, passThrough: n = !1, FlagSchema: D, descriptor: i } = {}) {
2579
+ if (r) {
2580
+ if (!D) throw new Error("'FlagSchema' option is required.");
2581
+ if (!i) throw new Error("'descriptor' option is required.");
2582
+ } else i = re;
2583
+ let o = n ? Array.isArray(n) ? (F, c) => n.includes(F) ? { [F]: c } : void 0 : (F, c) => ({ [F]: c }) : (F, c, d) => {
2584
+ let { _: f, ...h } = d.schemas;
2585
+ return ft(F, c, {
2586
+ ...d,
2587
+ schemas: h
2588
+ });
2589
+ }, a = new DD(aD(u, {
2590
+ isCLI: r,
2591
+ FlagSchema: D
2592
+ }), {
2593
+ logger: t,
2594
+ unknown: o,
2595
+ descriptor: i
2596
+ }), s = t !== !1;
2597
+ s && Oe && (a._hasDeprecationWarned = Oe);
2598
+ let l = a.normalize(e);
2599
+ return s && (Oe = a._hasDeprecationWarned), l;
2600
+ }
2601
+ function aD(e, { isCLI: u, FlagSchema: t }) {
2602
+ let r = [];
2603
+ u && r.push(Vn.create({ name: "_" }));
2604
+ for (let n of e) r.push(oD(n, {
2605
+ isCLI: u,
2606
+ optionInfos: e,
2607
+ FlagSchema: t
2608
+ })), n.alias && u && r.push(Mn.create({
2609
+ name: n.alias,
2610
+ sourceName: n.name
2611
+ }));
2612
+ return r;
2613
+ }
2614
+ function oD(e, { isCLI: u, optionInfos: t, FlagSchema: r }) {
2615
+ let { name: n } = e, D = { name: n }, i, o = {};
2616
+ switch (e.type) {
2617
+ case "int":
2618
+ i = eD, u && (D.preprocess = Number);
2619
+ break;
2620
+ case "string":
2621
+ i = gu;
2622
+ break;
2623
+ case "choice":
2624
+ i = Qn, D.choices = e.choices.map((a) => a?.redirect ? {
2625
+ ...a,
2626
+ redirect: { to: {
2627
+ key: e.name,
2628
+ value: a.redirect
2629
+ } }
2630
+ } : a);
2631
+ break;
2632
+ case "boolean":
2633
+ i = Kn;
2634
+ break;
2635
+ case "flag":
2636
+ i = r, D.flags = t.flatMap((a) => [
2637
+ a.alias,
2638
+ a.description && a.name,
2639
+ a.oppositeDescription && `no-${a.name}`
2640
+ ].filter(Boolean));
2641
+ break;
2642
+ case "path":
2643
+ i = gu;
2644
+ break;
2645
+ default:
2646
+ throw new Error(`Unexpected type ${e.type}`);
2647
+ }
2648
+ if (e.exception ? D.validate = (a, s, l) => e.exception(a) || s.validate(a, l) : D.validate = (a, s, l) => a === void 0 || s.validate(a, l), e.redirect && (o.redirect = (a) => a ? { to: typeof e.redirect == "string" ? e.redirect : {
2649
+ key: e.redirect.option,
2650
+ value: e.redirect.value
2651
+ } } : void 0), e.deprecated && (o.deprecated = !0), u && !e.array) {
2652
+ let a = D.preprocess || ((s) => s);
2653
+ D.preprocess = (s, l, F) => l.preprocess(a(Array.isArray(s) ? y(0, s, -1) : s), F);
2654
+ }
2655
+ return e.array ? Wn.create({
2656
+ ...u ? { preprocess: (a) => Array.isArray(a) ? a : [a] } : {},
2657
+ ...o,
2658
+ valueSchema: i.create(D)
2659
+ }) : i.create({
2660
+ ...D,
2661
+ ...o
2662
+ });
2663
+ }
2664
+ var sD = iD, lD = Array.prototype.findLast ?? function(e) {
2665
+ for (let u = this.length - 1; u >= 0; u--) {
2666
+ let t = this[u];
2667
+ if (e(t, u, this)) return t;
2668
+ }
2669
+ }, pt = le("findLast", function() {
2670
+ if (Array.isArray(this)) return lD;
2671
+ }), cD = /* @__PURE__ */ Symbol.for("PRETTIER_IS_FRONT_MATTER"), FD = [];
2672
+ function fD(e) {
2673
+ return !!e?.[cD];
2674
+ }
2675
+ var Ye = fD, ht = /* @__PURE__ */ new Set(["yaml", "toml"]), Ct = ({ node: e }) => Ye(e) && ht.has(e.language);
2676
+ async function dD(e, u, t, r) {
2677
+ let { node: n } = t, { language: D } = n;
2678
+ if (!ht.has(D)) return;
2679
+ let i = n.value.trim(), o;
2680
+ if (i) {
2681
+ let a = D === "yaml" ? D : ot(r, { language: D });
2682
+ if (!a) return;
2683
+ o = i ? await e(i, { parser: a }) : "";
2684
+ } else o = i;
2685
+ return Lu([
2686
+ n.startDelimiter,
2687
+ n.explicitLanguage ?? "",
2688
+ j,
2689
+ o,
2690
+ o ? j : "",
2691
+ n.endDelimiter
2692
+ ]);
2693
+ }
2694
+ function pD(e, u) {
2695
+ return Ct({ node: e }) && (delete u.end, delete u.raw, delete u.value), u;
2696
+ }
2697
+ var hD = pD;
2698
+ function CD({ node: e }) {
2699
+ return e.raw;
2700
+ }
2701
+ var ED = CD, Et = /* @__PURE__ */ new Set([
2702
+ "tokens",
2703
+ "comments",
2704
+ "parent",
2705
+ "enclosingNode",
2706
+ "precedingNode",
2707
+ "followingNode"
2708
+ ]), mD = (e) => Object.keys(e).filter((u) => !Et.has(u));
2709
+ function gD(e, u) {
2710
+ let t = e ? (r) => e(r, Et) : mD;
2711
+ return u ? new Proxy(t, { apply: (r, n, D) => Ye(D[0]) ? FD : Reflect.apply(r, n, D) }) : t;
2712
+ }
2713
+ var yu = gD;
2714
+ function mt(e, u) {
2715
+ if (!u) throw new Error("parserName is required.");
2716
+ let t = pt(0, e, (n) => n.parsers && Ae(n.parsers, u));
2717
+ if (t) return t;
2718
+ let r = `Couldn't resolve parser "${u}".`;
2719
+ throw r += " Plugins must be explicitly added to the standalone bundle.", new Dt(r);
2720
+ }
2721
+ function yD(e, u) {
2722
+ if (!u) throw new Error("astFormat is required.");
2723
+ let t = pt(0, e, (n) => n.printers && Ae(n.printers, u));
2724
+ if (t) return t;
2725
+ let r = `Couldn't find plugin for AST format "${u}".`;
2726
+ throw r += " Plugins must be explicitly added to the standalone bundle.", new Dt(r);
2727
+ }
2728
+ function Ze({ plugins: e, parser: u }) {
2729
+ return gt(mt(e, u), u);
2730
+ }
2731
+ function gt(e, u) {
2732
+ let t = e.parsers[u];
2733
+ return typeof t == "function" ? t() : t;
2734
+ }
2735
+ async function vD(e, u) {
2736
+ let t = e.printers[u];
2737
+ return bD(typeof t == "function" ? await t() : t);
2738
+ }
2739
+ function BD(e) {
2740
+ let { features: u, getVisitorKeys: t, embed: r, massageAstNode: n, print: D, ...i } = e;
2741
+ u = SD(u);
2742
+ let o = u.experimental_frontMatterSupport;
2743
+ t = yu(t, o.massageAstNode || o.embed || o.print);
2744
+ let a = n;
2745
+ n && o.massageAstNode && (a = new Proxy(n, { apply(F, c, d) {
2746
+ return hD(...d), Reflect.apply(F, c, d);
2747
+ } }));
2748
+ let s = r;
2749
+ if (r) {
2750
+ let F;
2751
+ s = new Proxy(r, {
2752
+ get(c, d, f) {
2753
+ return d === "getVisitorKeys" ? (F ?? (F = r.getVisitorKeys ? yu(r.getVisitorKeys, o.massageAstNode || o.embed) : t), F) : Reflect.get(c, d, f);
2754
+ },
2755
+ apply: (c, d, f) => o.embed && Ct(...f) ? dD : Reflect.apply(c, d, f)
2756
+ });
2757
+ }
2758
+ let l = D;
2759
+ return o.print && (l = new Proxy(D, { apply(F, c, d) {
2760
+ let [f] = d;
2761
+ return Ye(f.node) ? ED(f) : Reflect.apply(F, c, d);
2762
+ } })), {
2763
+ features: u,
2764
+ getVisitorKeys: t,
2765
+ embed: s,
2766
+ massageAstNode: a,
2767
+ print: l,
2768
+ ...i
2769
+ };
2770
+ }
2771
+ var AD = /* @__PURE__ */ new WeakMap();
2772
+ function bD(e) {
2773
+ return Ve(AD, e, BD);
2774
+ }
2775
+ var wD = Object.fromEntries([
2776
+ "clean",
2777
+ "embed",
2778
+ "print"
2779
+ ].map((e) => [e, !1]));
2780
+ function kD(e) {
2781
+ return {
2782
+ ...wD,
2783
+ ...e
2784
+ };
2785
+ }
2786
+ function SD(e) {
2787
+ return {
2788
+ experimental_avoidAstMutation: !1,
2789
+ ...e,
2790
+ experimental_frontMatterSupport: kD(e?.experimental_frontMatterSupport)
2791
+ };
2792
+ }
2793
+ var vu = {
2794
+ astFormat: "estree",
2795
+ printer: {},
2796
+ originalText: void 0,
2797
+ locStart: null,
2798
+ locEnd: null,
2799
+ getVisitorKeys: null
2800
+ };
2801
+ async function xD(e, u = {}) {
2802
+ let t = { ...e };
2803
+ if (!t.parser) {
2804
+ if (!t.filepath) throw new su("No parser and no file path given, couldn't infer a parser.");
2805
+ if (t.parser = ot(t, { physicalFile: t.filepath }), !t.parser) throw new su(`No parser could be inferred for file "${t.filepath}".`);
2806
+ }
2807
+ let r = it({
2808
+ plugins: e.plugins,
2809
+ showDeprecated: !0
2810
+ }).options, n = {
2811
+ ...vu,
2812
+ ...Object.fromEntries(r.filter((F) => F.default !== void 0).map((F) => [F.name, F.default]))
2813
+ }, D = mt(t.plugins, t.parser), i = await gt(D, t.parser);
2814
+ t.astFormat = i.astFormat, t.locEnd = i.locEnd, t.locStart = i.locStart;
2815
+ let o = D.printers?.[i.astFormat] ? D : yD(t.plugins, i.astFormat), a = await vD(o, i.astFormat);
2816
+ t.printer = a, t.getVisitorKeys = a.getVisitorKeys;
2817
+ let s = o.defaultOptions ? Object.fromEntries(Object.entries(o.defaultOptions).filter(([, F]) => F !== void 0)) : {}, l = {
2818
+ ...n,
2819
+ ...s
2820
+ };
2821
+ for (let [F, c] of Object.entries(l)) t[F] ?? (t[F] = c);
2822
+ return t.parser === "json" && (t.trailingComma = "none"), sD(t, r, {
2823
+ passThrough: Object.keys(vu),
2824
+ ...u
2825
+ });
2826
+ }
2827
+ var ie = xD, Bu = /\r\n|[\n\r\u2028\u2029]/;
2828
+ function ND(e, u, t, r) {
2829
+ let n = {
2830
+ column: null,
2831
+ line: -1,
2832
+ ...e.start
2833
+ }, D = {
2834
+ ...n,
2835
+ ...e.end
2836
+ }, { linesAbove: i = 2, linesBelow: o = 3 } = t || {}, a = n.line - r, s = n.column, l = D.line - r, F = D.column, c = Math.max(a - (i + 1), 0), d = Math.min(u.length, l + o);
2837
+ a === -1 && (c = 0), l === -1 && (d = u.length);
2838
+ let f = l - a, h = {};
2839
+ if (f) for (let p = 0; p <= f; p++) {
2840
+ let C = p + a;
2841
+ s == null ? h[C] = !0 : p === 0 ? h[C] = [s, u[C - 1].length - s] : p === f ? h[C] = [0, F] : h[C] = [0, u[C - 1].length];
2842
+ }
2843
+ else if (s === F) s != null ? h[a] = [s, 0] : h[a] = !0;
2844
+ else {
2845
+ let p = s ?? 0;
2846
+ h[a] = [p, (F ?? p) - p];
2847
+ }
2848
+ return {
2849
+ start: c,
2850
+ end: d,
2851
+ markerLines: h
2852
+ };
2853
+ }
2854
+ function _D(e, u, t = {}, r) {
2855
+ let { defs: n, highlight: D } = r || {
2856
+ defs: {
2857
+ gutter: String,
2858
+ marker: String,
2859
+ message: String,
2860
+ reset: String
2861
+ },
2862
+ highlight: String
2863
+ }, i = (t.startLine || 1) - 1, { start: o, end: a, markerLines: s } = ND(u, e.split(Bu), t, i), l = u.start && typeof u.start.column == "number", F = String(a + i).length, c = D(e).split(Bu, a).slice(o, a).map((d, f) => {
2864
+ let h = o + 1 + f, p = ` ${` ${h + i}`.slice(-F)} |`, C = s[h], E = !s[h + 1];
2865
+ if (C) {
2866
+ let m = "";
2867
+ if (Array.isArray(C)) {
2868
+ let g = d.slice(0, C[0]).replace(/[^\t]/g, " "), B = C[1] || 1;
2869
+ m = [
2870
+ `
2871
+ `,
2872
+ n.gutter(p.replace(/\d/g, " ")),
2873
+ " ",
2874
+ g,
2875
+ n.marker("^").repeat(B)
2876
+ ].join(""), E && t.message && (m += " " + n.message(t.message));
2877
+ }
2878
+ return [
2879
+ n.marker(">"),
2880
+ n.gutter(p),
2881
+ d.length > 0 ? ` ${d}` : "",
2882
+ m
2883
+ ].join("");
2884
+ } else return ` ${n.gutter(p)}${d.length > 0 ? ` ${d}` : ""}`;
2885
+ }).join(`
2886
+ `);
2887
+ return t.message && !l && (c = `${" ".repeat(F + 1)}${t.message}
2888
+ ${c}`), n.reset(c);
2889
+ }
2890
+ function OD(e, u, t = {}) {
2891
+ return _D(e, u, t);
2892
+ }
2893
+ async function TD(e, u) {
2894
+ let t = await Ze(u), r = t.preprocess ? await t.preprocess(e, u) : e;
2895
+ u.originalText = r;
2896
+ let n;
2897
+ try {
2898
+ n = await t.parse(r, u, u);
2899
+ } catch (D) {
2900
+ ID(D, e);
2901
+ }
2902
+ return {
2903
+ text: r,
2904
+ ast: n
2905
+ };
2906
+ }
2907
+ function ID(e, u) {
2908
+ let { loc: t } = e;
2909
+ if (t) {
2910
+ let { start: r, end: n } = t;
2911
+ r && (r = {
2912
+ line: r.line,
2913
+ column: r.column - 1
2914
+ }), n && (n = {
2915
+ line: n.line,
2916
+ column: n.column - 1
2917
+ });
2918
+ let D = OD(u, {
2919
+ start: r,
2920
+ end: n
2921
+ }, { highlightCode: !0 });
2922
+ e.message += `
2923
+ ` + D, e.codeFrame = D;
2924
+ }
2925
+ throw e;
2926
+ }
2927
+ var Fe = TD;
2928
+ async function PD(e, u, t, r, n) {
2929
+ if (t.embeddedLanguageFormatting !== "auto") return;
2930
+ let { printer: D } = t, { embed: i } = D;
2931
+ if (!i) return;
2932
+ if (i.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");
2933
+ let { hasPrettierIgnore: o } = D, { getVisitorKeys: a } = i, s = [];
2934
+ c();
2935
+ let l = e.stack;
2936
+ for (let { print: d, node: f, pathStack: h } of s) try {
2937
+ e.stack = h;
2938
+ let p = await d(F, u, e, t);
2939
+ p && n.set(f, p);
2940
+ } catch (p) {
2941
+ if (globalThis.PRETTIER_DEBUG) throw p;
2942
+ }
2943
+ e.stack = l;
2944
+ function F(d, f) {
2945
+ return jD(d, f, t, r);
2946
+ }
2947
+ function c() {
2948
+ let { node: d } = e;
2949
+ if (d === null || typeof d != "object" || o?.(e)) return;
2950
+ for (let h of a(d)) Array.isArray(d[h]) ? e.each(c, h) : e.call(c, h);
2951
+ let f = i(e, t);
2952
+ if (f) {
2953
+ if (typeof f == "function") {
2954
+ s.push({
2955
+ print: f,
2956
+ node: d,
2957
+ pathStack: [...e.stack]
2958
+ });
2959
+ return;
2960
+ }
2961
+ n.set(d, f);
2962
+ }
2963
+ }
2964
+ }
2965
+ async function jD(e, u, t, r) {
2966
+ let n = await ie({
2967
+ ...t,
2968
+ ...u,
2969
+ parentParser: t.parser,
2970
+ originalText: e,
2971
+ cursorOffset: void 0,
2972
+ rangeStart: void 0,
2973
+ rangeEnd: void 0
2974
+ }, { passThrough: !0 }), { ast: D } = await Fe(e, n);
2975
+ return Pu(await r(D, n));
2976
+ }
2977
+ function LD(e, u, t, r) {
2978
+ let { originalText: n, [me]: D, locStart: i, locEnd: o, [/* @__PURE__ */ Symbol.for("printedComments")]: a } = u, { node: s } = e, l = i(s), F = o(s);
2979
+ for (let d of D) i(d) >= l && o(d) <= F && a.add(d);
2980
+ let { printPrettierIgnored: c } = u.printer;
2981
+ return c ? c(e, u, t, r) : n.slice(l, F);
2982
+ }
2983
+ var $D = LD;
2984
+ async function be(e, u) {
2985
+ ({ ast: e } = await yt(e, u));
2986
+ let t = /* @__PURE__ */ new Map(), r = new Zr(e), n = En(u), D = /* @__PURE__ */ new Map();
2987
+ await PD(r, o, u, be, D);
2988
+ let i = await Au(r, u, o, void 0, D);
2989
+ if (Cn(u), u.cursorOffset >= 0) {
2990
+ if (u.nodeAfterCursor && !u.nodeBeforeCursor) return [Z, i];
2991
+ if (u.nodeBeforeCursor && !u.nodeAfterCursor) return [i, Z];
2992
+ }
2993
+ return i;
2994
+ function o(s, l) {
2995
+ return s === void 0 || s === r ? a(l) : Array.isArray(s) ? r.call(() => a(l), ...s) : r.call(() => a(l), s);
2996
+ }
2997
+ function a(s) {
2998
+ n(r);
2999
+ let l = r.node;
3000
+ if (l == null) return "";
3001
+ let F = qe(l) && s === void 0;
3002
+ if (F && t.has(l)) return t.get(l);
3003
+ let c = Au(r, u, o, s, D);
3004
+ return F && t.set(l, c), c;
3005
+ }
3006
+ }
3007
+ function Au(e, u, t, r, n) {
3008
+ let { node: D } = e, { printer: i } = u, o;
3009
+ switch (i.hasPrettierIgnore?.(e) ? o = $D(e, u, t, r) : n.has(D) ? o = n.get(D) : o = i.print(e, u, t, r), D) {
3010
+ case u.cursorNode:
3011
+ o = de(o, (a) => [
3012
+ Z,
3013
+ a,
3014
+ Z
3015
+ ]);
3016
+ break;
3017
+ case u.nodeBeforeCursor:
3018
+ o = de(o, (a) => [a, Z]);
3019
+ break;
3020
+ case u.nodeAfterCursor:
3021
+ o = de(o, (a) => [Z, a]);
3022
+ }
3023
+ return i.printComment && Hu(D.comments) && !i.willPrintOwnComments?.(e, u) && (o = hn(e, o, u)), o;
3024
+ }
3025
+ async function yt(e, u) {
3026
+ let t = e.comments ?? [];
3027
+ u[me] = t, u[/* @__PURE__ */ Symbol.for("printedComments")] = /* @__PURE__ */ new Set(), on(e, u);
3028
+ let { printer: { preprocess: r } } = u;
3029
+ return e = r ? await r(e, u) : e, {
3030
+ ast: e,
3031
+ comments: t
3032
+ };
3033
+ }
3034
+ function RD(e, u) {
3035
+ let { cursorOffset: t, locStart: r, locEnd: n, getVisitorKeys: D } = u, i = (d) => r(d) <= t && n(d) >= t, o = e, a = [e];
3036
+ for (let d of rn(e, {
3037
+ getVisitorKeys: D,
3038
+ filter: i
3039
+ })) a.push(d), o = d;
3040
+ if (nn(o, { getVisitorKeys: D })) return { cursorNode: o };
3041
+ let s, l, F = -1, c = Number.POSITIVE_INFINITY;
3042
+ for (; a.length > 0 && (s === void 0 || l === void 0); ) {
3043
+ o = a.pop();
3044
+ let d = s !== void 0, f = l !== void 0;
3045
+ for (let h of Be(o, { getVisitorKeys: D })) {
3046
+ if (!d) {
3047
+ let p = n(h);
3048
+ p <= t && p > F && (s = h, F = p);
3049
+ }
3050
+ if (!f) {
3051
+ let p = r(h);
3052
+ p >= t && p < c && (l = h, c = p);
3053
+ }
3054
+ }
3055
+ }
3056
+ return {
3057
+ nodeBeforeCursor: s,
3058
+ nodeAfterCursor: l
3059
+ };
3060
+ }
3061
+ var vt = RD;
3062
+ function MD(e, u) {
3063
+ let { printer: t } = u, r = t.massageAstNode;
3064
+ if (!r) return e;
3065
+ let { getVisitorKeys: n } = t, { ignoredProperties: D } = r;
3066
+ return i(e);
3067
+ function i(o, a) {
3068
+ if (!qe(o)) return o;
3069
+ if (Array.isArray(o)) return o.map((c) => i(c, a)).filter(Boolean);
3070
+ let s = {}, l = new Set(n(o));
3071
+ for (let c in o) !Ae(o, c) || D?.has(c) || (l.has(c) ? s[c] = i(o[c], o) : s[c] = o[c]);
3072
+ let F = r(o, s, a);
3073
+ if (F !== null) return F ?? s;
3074
+ }
3075
+ }
3076
+ var VD = MD, WD = Array.prototype.findLastIndex ?? function(e) {
3077
+ for (let u = this.length - 1; u >= 0; u--) {
3078
+ let t = this[u];
3079
+ if (e(t, u, this)) return u;
3080
+ }
3081
+ return -1;
3082
+ }, KD = le("findLastIndex", function() {
3083
+ if (Array.isArray(this)) return WD;
3084
+ });
3085
+ function zD(e, u) {
3086
+ return u = new Set(u), e.find((t) => Bt.has(t.type) && u.has(t));
3087
+ }
3088
+ function bu(e) {
3089
+ let u = KD(0, e, (t) => t.type !== "Program" && t.type !== "File");
3090
+ return u === -1 ? e : e.slice(0, u + 1);
3091
+ }
3092
+ function UD(e, u, { locStart: t, locEnd: r }) {
3093
+ let [n, ...D] = e, [i, ...o] = u;
3094
+ if (n === i) return [n, i];
3095
+ let a = t(n);
3096
+ for (let l of bu(o)) if (t(l) >= a) i = l;
3097
+ else break;
3098
+ let s = r(i);
3099
+ for (let l of bu(D)) {
3100
+ if (r(l) <= s) n = l;
3101
+ else break;
3102
+ if (n === i) break;
3103
+ }
3104
+ return [n, i];
3105
+ }
3106
+ function Le(e, u, t, r, n = [], D, i) {
3107
+ let { locStart: o, locEnd: a } = i, s = o(e), l = a(e);
3108
+ if (u > l || u < s || D === "rangeEnd" && u === s || D === "rangeStart" && u === l) return;
3109
+ let F = [e, ...n], c = Xu(e, F, {
3110
+ cache: et,
3111
+ locStart: o,
3112
+ locEnd: a,
3113
+ getVisitorKeys: t.getVisitorKeys,
3114
+ filter: t.printer.canAttachComment,
3115
+ getChildren: t.printer.getCommentChildNodes
3116
+ });
3117
+ for (let d of c) {
3118
+ let f = Le(d, u, t, r, F, D, i);
3119
+ if (f) return f;
3120
+ }
3121
+ if (r(e, n[0])) return F;
3122
+ }
3123
+ function JD(e, u) {
3124
+ return u !== "DeclareExportDeclaration" && e !== "TypeParameterDeclaration" && (e === "Directive" || e === "TypeAlias" || e === "TSExportAssignment" || e.startsWith("Declare") || e.startsWith("TSDeclare") || e.endsWith("Statement") || e.endsWith("Declaration"));
3125
+ }
3126
+ var Bt = /* @__PURE__ */ new Set([
3127
+ "JsonRoot",
3128
+ "ObjectExpression",
3129
+ "ArrayExpression",
3130
+ "StringLiteral",
3131
+ "NumericLiteral",
3132
+ "BooleanLiteral",
3133
+ "NullLiteral",
3134
+ "UnaryExpression",
3135
+ "TemplateLiteral"
3136
+ ]), qD = /* @__PURE__ */ new Set([
3137
+ "OperationDefinition",
3138
+ "FragmentDefinition",
3139
+ "VariableDefinition",
3140
+ "TypeExtensionDefinition",
3141
+ "ObjectTypeDefinition",
3142
+ "FieldDefinition",
3143
+ "DirectiveDefinition",
3144
+ "EnumTypeDefinition",
3145
+ "EnumValueDefinition",
3146
+ "InputValueDefinition",
3147
+ "InputObjectTypeDefinition",
3148
+ "SchemaDefinition",
3149
+ "OperationTypeDefinition",
3150
+ "InterfaceTypeDefinition",
3151
+ "UnionTypeDefinition",
3152
+ "ScalarTypeDefinition"
3153
+ ]);
3154
+ function wu(e, u, t) {
3155
+ if (!u) return !1;
3156
+ switch (e.parser) {
3157
+ case "flow":
3158
+ case "hermes":
3159
+ case "babel":
3160
+ case "babel-flow":
3161
+ case "babel-ts":
3162
+ case "typescript":
3163
+ case "acorn":
3164
+ case "espree":
3165
+ case "meriyah":
3166
+ case "oxc":
3167
+ case "oxc-ts":
3168
+ case "yuku":
3169
+ case "yuku-ts":
3170
+ case "__babel_estree":
3171
+ return JD(u.type, t?.type);
3172
+ case "json":
3173
+ case "json5":
3174
+ case "jsonc":
3175
+ case "json-stringify":
3176
+ return Bt.has(u.type);
3177
+ case "graphql":
3178
+ return qD.has(u.kind);
3179
+ case "vue":
3180
+ return u.tag !== "root";
3181
+ }
3182
+ return !1;
3183
+ }
3184
+ function GD(e, u, t) {
3185
+ let { rangeStart: r, rangeEnd: n } = u;
3186
+ U(n > r);
3187
+ let D = e.slice(r, n).search(/\S/), i = D === -1;
3188
+ if (!i) for (r += D; n > r && !/\S/.test(e[n - 1]); --n) ;
3189
+ let o = u.printer.features?.experimental_locForRangeFormat ?? u, a = Le(t, r, u, (f, h) => wu(u, f, h), [], "rangeStart", o);
3190
+ if (!a) return;
3191
+ let s = i ? a : Le(t, n, u, (f) => wu(u, f), [], "rangeEnd", o);
3192
+ if (!s) return;
3193
+ let l, F;
3194
+ if (t.type === "JsonRoot") {
3195
+ let f = zD(a, s);
3196
+ l = f, F = f;
3197
+ } else [l, F] = UD(a, s, u);
3198
+ let { locStart: c, locEnd: d } = o;
3199
+ return [Math.min(c(l), c(F)), Math.max(d(l), d(F))];
3200
+ }
3201
+ var At = "\uFEFF", ku = /* @__PURE__ */ Symbol("cursor");
3202
+ async function bt(e, u, t = 0) {
3203
+ if (!e || e.trim().length === 0) return {
3204
+ formatted: "",
3205
+ cursorOffset: -1,
3206
+ comments: []
3207
+ };
3208
+ let { ast: r, text: n } = await Fe(e, u);
3209
+ u.cursorOffset >= 0 && (u = {
3210
+ ...u,
3211
+ ...vt(r, u)
3212
+ });
3213
+ let D = await be(r, u, t);
3214
+ t > 0 && (D = $u([j, D], t, u.tabWidth));
3215
+ let i = ve(D, u);
3216
+ if (t > 0) {
3217
+ let a = i.formatted.trim();
3218
+ i.cursorNodeStart !== void 0 && (i.cursorNodeStart -= i.formatted.indexOf(a), i.cursorNodeStart < 0 && (i.cursorNodeStart = 0, i.cursorNodeText = i.cursorNodeText.trimStart()), i.cursorNodeStart + i.cursorNodeText.length > a.length && (i.cursorNodeText = i.cursorNodeText.trimEnd())), i.formatted = a + Me(u.endOfLine);
3219
+ }
3220
+ let o = u[me];
3221
+ if (u.cursorOffset >= 0) {
3222
+ let a, s, l, F;
3223
+ if ((u.cursorNode || u.nodeBeforeCursor || u.nodeAfterCursor) && i.cursorNodeText) if (l = i.cursorNodeStart, F = i.cursorNodeText, u.cursorNode) a = u.locStart(u.cursorNode), s = n.slice(a, u.locEnd(u.cursorNode));
3224
+ else {
3225
+ if (!u.nodeBeforeCursor && !u.nodeAfterCursor) throw new Error("Cursor location must contain at least one of cursorNode, nodeBeforeCursor, nodeAfterCursor");
3226
+ a = u.nodeBeforeCursor ? u.locEnd(u.nodeBeforeCursor) : 0;
3227
+ let p = u.nodeAfterCursor ? u.locStart(u.nodeAfterCursor) : n.length;
3228
+ s = n.slice(a, p);
3229
+ }
3230
+ else a = 0, s = n, l = 0, F = i.formatted;
3231
+ let c = u.cursorOffset - a;
3232
+ if (s === F) return {
3233
+ formatted: i.formatted,
3234
+ cursorOffset: l + c,
3235
+ comments: o
3236
+ };
3237
+ let d = s.split("");
3238
+ d.splice(c, 0, ku);
3239
+ let f = Kt(d, F.split("")), h = l;
3240
+ for (let p of f) if (p.removed) {
3241
+ if (p.value.includes(ku)) break;
3242
+ } else h += p.count;
3243
+ return {
3244
+ formatted: i.formatted,
3245
+ cursorOffset: h,
3246
+ comments: o
3247
+ };
3248
+ }
3249
+ return {
3250
+ formatted: i.formatted,
3251
+ cursorOffset: -1,
3252
+ comments: o
3253
+ };
3254
+ }
3255
+ async function HD(e, u) {
3256
+ let { ast: t, text: r } = await Fe(e, u), [n, D] = GD(r, u, t) ?? [0, 0], i = r.slice(n, D), o = Math.min(n, r.lastIndexOf(`
3257
+ `, n) + 1), a = r.slice(o, n).match(/^\s*/)[0], s = Je(a, u.tabWidth), l = await bt(i, {
3258
+ ...u,
3259
+ rangeStart: 0,
3260
+ rangeEnd: Number.POSITIVE_INFINITY,
3261
+ cursorOffset: u.cursorOffset > n && u.cursorOffset <= D ? u.cursorOffset - n : -1,
3262
+ endOfLine: "lf"
3263
+ }, s), F = l.formatted.trimEnd(), { cursorOffset: c } = u;
3264
+ c > D ? c += F.length - i.length : l.cursorOffset >= 0 && (c = l.cursorOffset + n);
3265
+ let d = r.slice(0, n) + F + r.slice(D);
3266
+ if (u.endOfLine !== "lf") {
3267
+ let f = Me(u.endOfLine);
3268
+ c >= 0 && f === `\r
3269
+ ` && (c += Tu(d.slice(0, c), `
3270
+ `)), d = Ce(0, d, `
3271
+ `, f);
3272
+ }
3273
+ return {
3274
+ formatted: d,
3275
+ cursorOffset: c,
3276
+ comments: l.comments
3277
+ };
3278
+ }
3279
+ function Te(e, u, t) {
3280
+ return typeof u != "number" || Number.isNaN(u) || u < 0 || u > e.length ? t : u;
3281
+ }
3282
+ function Su(e, u) {
3283
+ let { cursorOffset: t, rangeStart: r, rangeEnd: n } = u;
3284
+ return t = Te(e, t, -1), r = Te(e, r, 0), n = Te(e, n, e.length), {
3285
+ ...u,
3286
+ cursorOffset: t,
3287
+ rangeStart: r,
3288
+ rangeEnd: n
3289
+ };
3290
+ }
3291
+ function wt(e, u) {
3292
+ let { cursorOffset: t, rangeStart: r, rangeEnd: n, endOfLine: D } = Su(e, u), i = e.charAt(0) === At;
3293
+ if (i && (e = e.slice(1), t--, r--, n--), D === "auto" && (D = qt(e)), e.includes("\r")) {
3294
+ let o = (a) => Tu(e.slice(0, Math.max(a, 0)), `\r
3295
+ `);
3296
+ t -= o(t), r -= o(r), n -= o(n), e = Yt(e);
3297
+ }
3298
+ return {
3299
+ hasBOM: i,
3300
+ text: e,
3301
+ options: Su(e, {
3302
+ ...u,
3303
+ cursorOffset: t,
3304
+ rangeStart: r,
3305
+ rangeEnd: n,
3306
+ endOfLine: D
3307
+ })
3308
+ };
3309
+ }
3310
+ async function xu(e, u) {
3311
+ let t = await Ze(u);
3312
+ return !t.hasPragma || t.hasPragma(e);
3313
+ }
3314
+ async function YD(e, u) {
3315
+ return (await Ze(u)).hasIgnorePragma?.(e);
3316
+ }
3317
+ async function kt(e, u) {
3318
+ let { hasBOM: t, text: r, options: n } = wt(e, await ie(u));
3319
+ if (n.rangeStart >= n.rangeEnd && r !== "" || n.requirePragma && !await xu(r, n) || n.checkIgnorePragma && await YD(r, n)) return {
3320
+ formatted: e,
3321
+ cursorOffset: u.cursorOffset,
3322
+ comments: []
3323
+ };
3324
+ let D;
3325
+ return n.rangeStart > 0 || n.rangeEnd < r.length ? D = await HD(r, n) : (!n.requirePragma && n.insertPragma && n.printer.insertPragma && !await xu(r, n) && (r = n.printer.insertPragma(r)), D = await bt(r, n)), t && (D.formatted = At + D.formatted, D.cursorOffset >= 0 && D.cursorOffset++), D;
3326
+ }
3327
+ async function ZD(e, u, t) {
3328
+ let { text: r, options: n } = wt(e, await ie(u)), D = await Fe(r, n);
3329
+ return t && (t.preprocessForPrint && (D.ast = await yt(D.ast, n)), t.massage && (D.ast = VD(D.ast, n))), D;
3330
+ }
3331
+ async function QD(e, u) {
3332
+ return u = await ie(u), ve(await be(e, u), u);
3333
+ }
3334
+ async function XD(e, u) {
3335
+ let { formatted: t } = await kt(wr(e), {
3336
+ ...u,
3337
+ parser: "__js_expression"
3338
+ });
3339
+ return t;
3340
+ }
3341
+ async function ei(e, u) {
3342
+ u = await ie(u);
3343
+ let { ast: t } = await Fe(e, u);
3344
+ return u.cursorOffset >= 0 && (u = {
3345
+ ...u,
3346
+ ...vt(t, u)
3347
+ }), be(t, u);
3348
+ }
3349
+ async function ui(e, u) {
3350
+ return ve(e, await ie(u));
3351
+ }
3352
+ var St = {};
3353
+ $e(St, {
3354
+ builders: () => ti,
3355
+ printer: () => ri,
3356
+ utils: () => ni
3357
+ });
3358
+ var ti = {
3359
+ join: Mu,
3360
+ line: Vu,
3361
+ softline: Br,
3362
+ hardline: j,
3363
+ literalline: Ku,
3364
+ group: Ru,
3365
+ conditionalGroup: mr,
3366
+ fill: Er,
3367
+ lineSuffix: Ie,
3368
+ lineSuffixBoundary: Ar,
3369
+ cursor: Z,
3370
+ breakParent: ye,
3371
+ ifBreak: gr,
3372
+ trim: br,
3373
+ indent: he,
3374
+ indentIfBreak: yr,
3375
+ align: De,
3376
+ addAlignmentToDoc: $u,
3377
+ markAsRoot: Lu,
3378
+ dedentToRoot: hr,
3379
+ dedent: Cr,
3380
+ hardlineWithoutBreakParent: ze,
3381
+ literallineWithoutBreakParent: Wu,
3382
+ label: vr,
3383
+ concat: (e) => e
3384
+ }, ri = { printDocToString: ve }, ni = {
3385
+ willBreak: Dr,
3386
+ traverseDoc: We,
3387
+ findInDoc: Ke,
3388
+ mapDoc: ge,
3389
+ removeLines: or,
3390
+ stripTrailingHardline: Pu,
3391
+ replaceEndOfLine: cr,
3392
+ canBreak: fr
3393
+ }, Di = "3.9.6", xt = {};
3394
+ $e(xt, {
3395
+ addDanglingComment: () => H,
3396
+ addLeadingComment: () => oe,
3397
+ addTrailingComment: () => se,
3398
+ getAlignmentSize: () => Je,
3399
+ getIndentSize: () => ci,
3400
+ getMaxContinuousCount: () => di,
3401
+ getNextNonSpaceNonCommentCharacter: () => hi,
3402
+ getNextNonSpaceNonCommentCharacterIndex: () => bi,
3403
+ getPreferredQuote: () => mi,
3404
+ getStringWidth: () => Ue,
3405
+ hasNewline: () => z,
3406
+ hasNewlineInRange: () => yi,
3407
+ hasSpaces: () => Bi,
3408
+ isNextLineEmpty: () => Ni,
3409
+ isNextLineEmptyAfterIndex: () => uu,
3410
+ isPreviousLineEmpty: () => ki,
3411
+ makeString: () => xi,
3412
+ skip: () => ce,
3413
+ skipEverythingButNewLine: () => Zu,
3414
+ skipInlineComment: () => Qe,
3415
+ skipNewline: () => Q,
3416
+ skipSpaces: () => J,
3417
+ skipToLineEnd: () => Yu,
3418
+ skipTrailingComment: () => Xe,
3419
+ skipWhitespace: () => en
3420
+ });
3421
+ function ii(e, u) {
3422
+ if (u === !1) return !1;
3423
+ if (e.charAt(u) === "/" && e.charAt(u + 1) === "*") {
3424
+ for (let t = u + 2; t < e.length; ++t) if (e.charAt(t) === "*" && e.charAt(t + 1) === "/") return t + 2;
3425
+ }
3426
+ return u;
3427
+ }
3428
+ var Qe = ii;
3429
+ function ai(e, u) {
3430
+ return u === !1 ? !1 : e.charAt(u) === "/" && e.charAt(u + 1) === "/" ? Zu(e, u) : u;
3431
+ }
3432
+ var Xe = ai;
3433
+ function oi(e, u) {
3434
+ let t = null, r = u;
3435
+ for (; r !== t; ) t = r, r = J(e, r), r = Qe(e, r), r = Xe(e, r), r = Q(e, r);
3436
+ return r;
3437
+ }
3438
+ var eu = oi;
3439
+ function si(e, u) {
3440
+ let t = null, r = u;
3441
+ for (; r !== t; ) t = r, r = Yu(e, r), r = Qe(e, r), r = J(e, r);
3442
+ return r = Xe(e, r), r = Q(e, r), r !== !1 && z(e, r);
3443
+ }
3444
+ var uu = si;
3445
+ function li(e, u) {
3446
+ let t = e.lastIndexOf(`
3447
+ `);
3448
+ return t === -1 ? 0 : Je(e.slice(t + 1).match(/^[\t ]*/)[0], u);
3449
+ }
3450
+ var ci = li;
3451
+ function Fi(e) {
3452
+ if (typeof e != "string") throw new TypeError("Expected a string");
3453
+ return e.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
3454
+ }
3455
+ function fi(e, u) {
3456
+ let t = e.matchAll(new RegExp(`(?:${Fi(u)})+`, "g"));
3457
+ return t.reduce || (t = [...t]), t.reduce((r, [n]) => Math.max(r, n.length), 0) / u.length;
3458
+ }
3459
+ var di = fi;
3460
+ function pi(e, u) {
3461
+ let t = eu(e, u);
3462
+ return t === !1 ? "" : e.charAt(t);
3463
+ }
3464
+ var hi = pi, Nt = Object.freeze({
3465
+ character: "'",
3466
+ codePoint: 39
3467
+ }), _t = Object.freeze({
3468
+ character: '"',
3469
+ codePoint: 34
3470
+ }), Ci = Object.freeze({
3471
+ preferred: Nt,
3472
+ alternate: _t
3473
+ }), Ei = Object.freeze({
3474
+ preferred: _t,
3475
+ alternate: Nt
3476
+ });
3477
+ function mi(e, u) {
3478
+ let { preferred: t, alternate: r } = u === !0 || u === "'" ? Ci : Ei, { length: n } = e, D = 0, i = 0;
3479
+ for (let o = 0; o < n; o++) {
3480
+ let a = e.charCodeAt(o);
3481
+ a === t.codePoint ? D++ : a === r.codePoint && i++;
3482
+ }
3483
+ return (D > i ? r : t).character;
3484
+ }
3485
+ function gi(e, u, t) {
3486
+ for (let r = u; r < t; ++r) if (e.charAt(r) === `
3487
+ `) return !0;
3488
+ return !1;
3489
+ }
3490
+ var yi = gi;
3491
+ function vi(e, u, t = {}) {
3492
+ return J(e, t.backwards ? u - 1 : u, t) !== u;
3493
+ }
3494
+ var Bi = vi;
3495
+ function Ai(e, u, t) {
3496
+ return eu(e, t(u));
3497
+ }
3498
+ function bi(e, u) {
3499
+ return arguments.length === 2 || typeof u == "number" ? eu(e, u) : Ai(...arguments);
3500
+ }
3501
+ function wi(e, u, t) {
3502
+ return He(e, t(u));
3503
+ }
3504
+ function ki(e, u) {
3505
+ return arguments.length === 2 || typeof u == "number" ? He(e, u) : wi(...arguments);
3506
+ }
3507
+ function Si(e, u, t) {
3508
+ return uu(e, t(u));
3509
+ }
3510
+ function xi(e, u, t) {
3511
+ let r = u === '"' ? "'" : '"';
3512
+ return u + Ce(0, e, /\\(.)|(["'])/gs, (n, D, i) => D === r ? D : i === u ? "\\" + i : i || (t && /^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(D) ? D : "\\" + D)) + u;
3513
+ }
3514
+ function Ni(e, u) {
3515
+ return arguments.length === 2 || typeof u == "number" ? uu(e, u) : Si(...arguments);
3516
+ }
3517
+ function Y(e, u = 1) {
3518
+ return async (...t) => {
3519
+ let r = t[u] ?? {}, n = r.plugins ?? [];
3520
+ return t[u] = {
3521
+ ...r,
3522
+ plugins: Array.isArray(n) ? n : Object.values(n)
3523
+ }, await e(...t);
3524
+ };
3525
+ }
3526
+ var Ot = Y(kt);
3527
+ async function Tt(e, u) {
3528
+ let { formatted: t } = await Ot(e, {
3529
+ ...u,
3530
+ cursorOffset: -1
3531
+ });
3532
+ return t;
3533
+ }
3534
+ async function _i(e, u) {
3535
+ return await Tt(e, u) === e;
3536
+ }
3537
+ var Oi = Y(it, 0), Ti = {
3538
+ parse: Y(ZD),
3539
+ formatAST: Y(QD),
3540
+ formatDoc: Y(XD),
3541
+ printToDoc: Y(ei),
3542
+ printDocToString: Y(ui)
3543
+ };
3544
+ export {
3545
+ Ti as __debug,
3546
+ _i as check,
3547
+ $t as default,
3548
+ St as doc,
3549
+ Tt as format,
3550
+ Ot as formatWithCursor,
3551
+ Oi as getSupportInfo,
3552
+ xt as util,
3553
+ Di as version
3554
+ };