@suds-cli/tea 0.0.0 → 0.1.0-alpha.0

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.
Files changed (49) hide show
  1. package/README.md +260 -0
  2. package/dist/index.cjs +1125 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +337 -0
  5. package/dist/index.d.ts +337 -12
  6. package/dist/index.js +1084 -51
  7. package/dist/index.js.map +1 -1
  8. package/package.json +30 -18
  9. package/dist/commands.d.ts +0 -27
  10. package/dist/commands.d.ts.map +0 -1
  11. package/dist/commands.js +0 -106
  12. package/dist/commands.js.map +0 -1
  13. package/dist/index.d.ts.map +0 -1
  14. package/dist/input.d.ts +0 -8
  15. package/dist/input.d.ts.map +0 -1
  16. package/dist/input.js +0 -98
  17. package/dist/input.js.map +0 -1
  18. package/dist/keys.d.ts +0 -86
  19. package/dist/keys.d.ts.map +0 -1
  20. package/dist/keys.js +0 -317
  21. package/dist/keys.js.map +0 -1
  22. package/dist/messages.d.ts +0 -78
  23. package/dist/messages.d.ts.map +0 -1
  24. package/dist/messages.js +0 -104
  25. package/dist/messages.js.map +0 -1
  26. package/dist/mouse.d.ts +0 -46
  27. package/dist/mouse.d.ts.map +0 -1
  28. package/dist/mouse.js +0 -167
  29. package/dist/mouse.js.map +0 -1
  30. package/dist/program.d.ts +0 -39
  31. package/dist/program.d.ts.map +0 -1
  32. package/dist/program.js +0 -231
  33. package/dist/program.js.map +0 -1
  34. package/dist/renderer.d.ts +0 -19
  35. package/dist/renderer.d.ts.map +0 -1
  36. package/dist/renderer.js +0 -49
  37. package/dist/renderer.js.map +0 -1
  38. package/dist/screen.d.ts +0 -22
  39. package/dist/screen.d.ts.map +0 -1
  40. package/dist/screen.js +0 -35
  41. package/dist/screen.js.map +0 -1
  42. package/dist/terminal.d.ts +0 -32
  43. package/dist/terminal.d.ts.map +0 -1
  44. package/dist/terminal.js +0 -119
  45. package/dist/terminal.js.map +0 -1
  46. package/dist/types.d.ts +0 -36
  47. package/dist/types.d.ts.map +0 -1
  48. package/dist/types.js +0 -3
  49. package/dist/types.js.map +0 -1
package/dist/keys.js DELETED
@@ -1,317 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyMsg = exports.KeyType = void 0;
4
- exports.keyToString = keyToString;
5
- exports.parseKey = parseKey;
6
- const node_buffer_1 = require("node:buffer");
7
- /** @public Known key types parsed from terminal input. */
8
- var KeyType;
9
- (function (KeyType) {
10
- KeyType["Null"] = "null";
11
- KeyType["Break"] = "break";
12
- KeyType["Enter"] = "enter";
13
- KeyType["Backspace"] = "backspace";
14
- KeyType["Tab"] = "tab";
15
- KeyType["Esc"] = "esc";
16
- KeyType["Space"] = "space";
17
- KeyType["Runes"] = "runes";
18
- KeyType["Up"] = "up";
19
- KeyType["Down"] = "down";
20
- KeyType["Right"] = "right";
21
- KeyType["Left"] = "left";
22
- KeyType["ShiftTab"] = "shift+tab";
23
- KeyType["Home"] = "home";
24
- KeyType["End"] = "end";
25
- KeyType["PgUp"] = "pgup";
26
- KeyType["PgDown"] = "pgdown";
27
- KeyType["CtrlPgUp"] = "ctrl+pgup";
28
- KeyType["CtrlPgDown"] = "ctrl+pgdown";
29
- KeyType["Delete"] = "delete";
30
- KeyType["Insert"] = "insert";
31
- KeyType["CtrlUp"] = "ctrl+up";
32
- KeyType["CtrlDown"] = "ctrl+down";
33
- KeyType["CtrlRight"] = "ctrl+right";
34
- KeyType["CtrlLeft"] = "ctrl+left";
35
- KeyType["CtrlHome"] = "ctrl+home";
36
- KeyType["CtrlEnd"] = "ctrl+end";
37
- KeyType["ShiftUp"] = "shift+up";
38
- KeyType["ShiftDown"] = "shift+down";
39
- KeyType["ShiftRight"] = "shift+right";
40
- KeyType["ShiftLeft"] = "shift+left";
41
- KeyType["ShiftHome"] = "shift+home";
42
- KeyType["ShiftEnd"] = "shift+end";
43
- KeyType["CtrlShiftUp"] = "ctrl+shift+up";
44
- KeyType["CtrlShiftDown"] = "ctrl+shift+down";
45
- KeyType["CtrlShiftLeft"] = "ctrl+shift+left";
46
- KeyType["CtrlShiftRight"] = "ctrl+shift+right";
47
- KeyType["CtrlShiftHome"] = "ctrl+shift+home";
48
- KeyType["CtrlShiftEnd"] = "ctrl+shift+end";
49
- KeyType["F1"] = "f1";
50
- KeyType["F2"] = "f2";
51
- KeyType["F3"] = "f3";
52
- KeyType["F4"] = "f4";
53
- KeyType["F5"] = "f5";
54
- KeyType["F6"] = "f6";
55
- KeyType["F7"] = "f7";
56
- KeyType["F8"] = "f8";
57
- KeyType["F9"] = "f9";
58
- KeyType["F10"] = "f10";
59
- KeyType["F11"] = "f11";
60
- KeyType["F12"] = "f12";
61
- KeyType["F13"] = "f13";
62
- KeyType["F14"] = "f14";
63
- KeyType["F15"] = "f15";
64
- KeyType["F16"] = "f16";
65
- KeyType["F17"] = "f17";
66
- KeyType["F18"] = "f18";
67
- KeyType["F19"] = "f19";
68
- KeyType["F20"] = "f20";
69
- })(KeyType || (exports.KeyType = KeyType = {}));
70
- const keyNames = {
71
- [KeyType.Null]: "ctrl+@",
72
- [KeyType.Break]: "ctrl+c",
73
- [KeyType.Enter]: "enter",
74
- [KeyType.Backspace]: "backspace",
75
- [KeyType.Tab]: "tab",
76
- [KeyType.Esc]: "esc",
77
- [KeyType.Space]: " ",
78
- [KeyType.Runes]: "runes",
79
- [KeyType.Up]: "up",
80
- [KeyType.Down]: "down",
81
- [KeyType.Right]: "right",
82
- [KeyType.Left]: "left",
83
- [KeyType.ShiftTab]: "shift+tab",
84
- [KeyType.Home]: "home",
85
- [KeyType.End]: "end",
86
- [KeyType.PgUp]: "pgup",
87
- [KeyType.PgDown]: "pgdown",
88
- [KeyType.CtrlPgUp]: "ctrl+pgup",
89
- [KeyType.CtrlPgDown]: "ctrl+pgdown",
90
- [KeyType.Delete]: "delete",
91
- [KeyType.Insert]: "insert",
92
- [KeyType.CtrlUp]: "ctrl+up",
93
- [KeyType.CtrlDown]: "ctrl+down",
94
- [KeyType.CtrlRight]: "ctrl+right",
95
- [KeyType.CtrlLeft]: "ctrl+left",
96
- [KeyType.CtrlHome]: "ctrl+home",
97
- [KeyType.CtrlEnd]: "ctrl+end",
98
- [KeyType.ShiftUp]: "shift+up",
99
- [KeyType.ShiftDown]: "shift+down",
100
- [KeyType.ShiftRight]: "shift+right",
101
- [KeyType.ShiftLeft]: "shift+left",
102
- [KeyType.ShiftHome]: "shift+home",
103
- [KeyType.ShiftEnd]: "shift+end",
104
- [KeyType.CtrlShiftUp]: "ctrl+shift+up",
105
- [KeyType.CtrlShiftDown]: "ctrl+shift+down",
106
- [KeyType.CtrlShiftLeft]: "ctrl+shift+left",
107
- [KeyType.CtrlShiftRight]: "ctrl+shift+right",
108
- [KeyType.CtrlShiftHome]: "ctrl+shift+home",
109
- [KeyType.CtrlShiftEnd]: "ctrl+shift+end",
110
- [KeyType.F1]: "f1",
111
- [KeyType.F2]: "f2",
112
- [KeyType.F3]: "f3",
113
- [KeyType.F4]: "f4",
114
- [KeyType.F5]: "f5",
115
- [KeyType.F6]: "f6",
116
- [KeyType.F7]: "f7",
117
- [KeyType.F8]: "f8",
118
- [KeyType.F9]: "f9",
119
- [KeyType.F10]: "f10",
120
- [KeyType.F11]: "f11",
121
- [KeyType.F12]: "f12",
122
- [KeyType.F13]: "f13",
123
- [KeyType.F14]: "f14",
124
- [KeyType.F15]: "f15",
125
- [KeyType.F16]: "f16",
126
- [KeyType.F17]: "f17",
127
- [KeyType.F18]: "f18",
128
- [KeyType.F19]: "f19",
129
- [KeyType.F20]: "f20",
130
- };
131
- const controlKeyMap = {
132
- 0: KeyType.Null,
133
- 3: KeyType.Break,
134
- 9: KeyType.Tab,
135
- 10: KeyType.Enter,
136
- 13: KeyType.Enter,
137
- 27: KeyType.Esc,
138
- 127: KeyType.Backspace,
139
- };
140
- const sequences = [
141
- ["\u001b[A", { type: KeyType.Up, runes: "", alt: false, paste: false }],
142
- ["\u001b[B", { type: KeyType.Down, runes: "", alt: false, paste: false }],
143
- ["\u001b[C", { type: KeyType.Right, runes: "", alt: false, paste: false }],
144
- ["\u001b[D", { type: KeyType.Left, runes: "", alt: false, paste: false }],
145
- ["\u001b[Z", { type: KeyType.ShiftTab, runes: "", alt: false, paste: false }],
146
- ["\u001b[2~", { type: KeyType.Insert, runes: "", alt: false, paste: false }],
147
- ["\u001b[3~", { type: KeyType.Delete, runes: "", alt: false, paste: false }],
148
- ["\u001b[5~", { type: KeyType.PgUp, runes: "", alt: false, paste: false }],
149
- ["\u001b[6~", { type: KeyType.PgDown, runes: "", alt: false, paste: false }],
150
- ["\u001b[1~", { type: KeyType.Home, runes: "", alt: false, paste: false }],
151
- ["\u001b[4~", { type: KeyType.End, runes: "", alt: false, paste: false }],
152
- ["\u001b[H", { type: KeyType.Home, runes: "", alt: false, paste: false }],
153
- ["\u001b[F", { type: KeyType.End, runes: "", alt: false, paste: false }],
154
- ["\u001bOP", { type: KeyType.F1, runes: "", alt: false, paste: false }],
155
- ["\u001bOQ", { type: KeyType.F2, runes: "", alt: false, paste: false }],
156
- ["\u001bOR", { type: KeyType.F3, runes: "", alt: false, paste: false }],
157
- ["\u001bOS", { type: KeyType.F4, runes: "", alt: false, paste: false }],
158
- ["\u001b[15~", { type: KeyType.F5, runes: "", alt: false, paste: false }],
159
- ["\u001b[17~", { type: KeyType.F6, runes: "", alt: false, paste: false }],
160
- ["\u001b[18~", { type: KeyType.F7, runes: "", alt: false, paste: false }],
161
- ["\u001b[19~", { type: KeyType.F8, runes: "", alt: false, paste: false }],
162
- ["\u001b[20~", { type: KeyType.F9, runes: "", alt: false, paste: false }],
163
- ["\u001b[21~", { type: KeyType.F10, runes: "", alt: false, paste: false }],
164
- ["\u001b[23~", { type: KeyType.F11, runes: "", alt: false, paste: false }],
165
- ["\u001b[24~", { type: KeyType.F12, runes: "", alt: false, paste: false }],
166
- [
167
- "\u001b[1;2A",
168
- { type: KeyType.ShiftUp, runes: "", alt: false, paste: false },
169
- ],
170
- [
171
- "\u001b[1;2B",
172
- { type: KeyType.ShiftDown, runes: "", alt: false, paste: false },
173
- ],
174
- [
175
- "\u001b[1;2C",
176
- { type: KeyType.ShiftRight, runes: "", alt: false, paste: false },
177
- ],
178
- [
179
- "\u001b[1;2D",
180
- { type: KeyType.ShiftLeft, runes: "", alt: false, paste: false },
181
- ],
182
- [
183
- "\u001b[1;5A",
184
- { type: KeyType.CtrlUp, runes: "", alt: false, paste: false },
185
- ],
186
- [
187
- "\u001b[1;5B",
188
- { type: KeyType.CtrlDown, runes: "", alt: false, paste: false },
189
- ],
190
- [
191
- "\u001b[1;5C",
192
- { type: KeyType.CtrlRight, runes: "", alt: false, paste: false },
193
- ],
194
- [
195
- "\u001b[1;5D",
196
- { type: KeyType.CtrlLeft, runes: "", alt: false, paste: false },
197
- ],
198
- [
199
- "\u001b[1;6A",
200
- { type: KeyType.CtrlShiftUp, runes: "", alt: false, paste: false },
201
- ],
202
- [
203
- "\u001b[1;6B",
204
- { type: KeyType.CtrlShiftDown, runes: "", alt: false, paste: false },
205
- ],
206
- [
207
- "\u001b[1;6C",
208
- { type: KeyType.CtrlShiftRight, runes: "", alt: false, paste: false },
209
- ],
210
- [
211
- "\u001b[1;6D",
212
- { type: KeyType.CtrlShiftLeft, runes: "", alt: false, paste: false },
213
- ],
214
- ["\u001b[1;3A", { type: KeyType.Up, runes: "", alt: true, paste: false }],
215
- ["\u001b[1;3B", { type: KeyType.Down, runes: "", alt: true, paste: false }],
216
- ["\u001b[1;3C", { type: KeyType.Right, runes: "", alt: true, paste: false }],
217
- ["\u001b[1;3D", { type: KeyType.Left, runes: "", alt: true, paste: false }],
218
- [
219
- "\u001b[5;5~",
220
- { type: KeyType.CtrlPgUp, runes: "", alt: false, paste: false },
221
- ],
222
- [
223
- "\u001b[6;5~",
224
- { type: KeyType.CtrlPgDown, runes: "", alt: false, paste: false },
225
- ],
226
- ["\u001b[5;3~", { type: KeyType.PgUp, runes: "", alt: true, paste: false }],
227
- ["\u001b[6;3~", { type: KeyType.PgDown, runes: "", alt: true, paste: false }],
228
- ["\u001b[3;2~", { type: KeyType.Insert, runes: "", alt: true, paste: false }],
229
- ["\u001b[3;3~", { type: KeyType.Delete, runes: "", alt: true, paste: false }],
230
- ["\u001b[[A", { type: KeyType.F1, runes: "", alt: false, paste: false }],
231
- ["\u001b[[B", { type: KeyType.F2, runes: "", alt: false, paste: false }],
232
- ["\u001b[[C", { type: KeyType.F3, runes: "", alt: false, paste: false }],
233
- ["\u001b[[D", { type: KeyType.F4, runes: "", alt: false, paste: false }],
234
- ["\u001b[[E", { type: KeyType.F5, runes: "", alt: false, paste: false }],
235
- ];
236
- /** @public Message representing a parsed key event. */
237
- class KeyMsg {
238
- key;
239
- _tag = "key";
240
- constructor(key) {
241
- this.key = key;
242
- }
243
- toString() {
244
- return keyToString(this.key);
245
- }
246
- }
247
- exports.KeyMsg = KeyMsg;
248
- /** @public Convert a parsed key to a human-readable string. */
249
- function keyToString(key) {
250
- if (key.type === KeyType.Runes) {
251
- const value = key.paste ? `[${key.runes}]` : key.runes;
252
- return key.alt ? `alt+${value}` : value;
253
- }
254
- const base = keyNames[key.type] ?? "";
255
- return key.alt ? `alt+${base}` : base;
256
- }
257
- function parseKey(buffer, allowMoreData) {
258
- if (buffer.length === 0) {
259
- return allowMoreData ? { needMore: true } : undefined;
260
- }
261
- const input = buffer.toString("utf8");
262
- for (const [seq, key] of sequences) {
263
- if (input.startsWith(seq)) {
264
- return { key, length: node_buffer_1.Buffer.byteLength(seq, "utf8") };
265
- }
266
- if (allowMoreData && seq.startsWith(input)) {
267
- return { needMore: true };
268
- }
269
- }
270
- if (buffer[0] === 0x1b && buffer.length > 1) {
271
- const [, altLength] = decodeRune(buffer.subarray(1));
272
- if (altLength > 0) {
273
- const runeStr = buffer.subarray(1, 1 + altLength).toString("utf8");
274
- return {
275
- key: { type: KeyType.Runes, runes: runeStr, alt: true, paste: false },
276
- length: 1 + altLength,
277
- };
278
- }
279
- }
280
- const code = buffer[0] ?? 0;
281
- const mapped = Object.prototype.hasOwnProperty.call(controlKeyMap, code)
282
- ? controlKeyMap[code]
283
- : undefined;
284
- if (mapped !== undefined) {
285
- return {
286
- key: { type: mapped, runes: "", alt: false, paste: false },
287
- length: 1,
288
- };
289
- }
290
- const [rune, runeLength] = decodeRune(buffer);
291
- if (runeLength === 0 || rune === null) {
292
- return allowMoreData ? { needMore: true } : undefined;
293
- }
294
- if (rune === " ") {
295
- return {
296
- key: { type: KeyType.Space, runes: rune, alt: false, paste: false },
297
- length: runeLength,
298
- };
299
- }
300
- return {
301
- key: { type: KeyType.Runes, runes: rune, alt: false, paste: false },
302
- length: runeLength,
303
- };
304
- }
305
- function decodeRune(buffer) {
306
- const codePoint = buffer.toString("utf8", 0, 4);
307
- if (codePoint.length === 0) {
308
- return [null, 0];
309
- }
310
- const firstChar = codePoint[0] ?? null;
311
- if (firstChar === null) {
312
- return [null, 0];
313
- }
314
- const length = node_buffer_1.Buffer.from(firstChar, "utf8").length;
315
- return [firstChar, length];
316
- }
317
- //# sourceMappingURL=keys.js.map
package/dist/keys.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";;;AA+PA,kCAOC;AAED,4BA2DC;AAnUD,6CAAqC;AAErC,0DAA0D;AAC1D,IAAY,OA4DX;AA5DD,WAAY,OAAO;IACjB,wBAAa,CAAA;IACb,0BAAe,CAAA;IACf,0BAAe,CAAA;IACf,kCAAuB,CAAA;IACvB,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,0BAAe,CAAA;IACf,0BAAe,CAAA;IACf,oBAAS,CAAA;IACT,wBAAa,CAAA;IACb,0BAAe,CAAA;IACf,wBAAa,CAAA;IACb,iCAAsB,CAAA;IACtB,wBAAa,CAAA;IACb,sBAAW,CAAA;IACX,wBAAa,CAAA;IACb,4BAAiB,CAAA;IACjB,iCAAsB,CAAA;IACtB,qCAA0B,CAAA;IAC1B,4BAAiB,CAAA;IACjB,4BAAiB,CAAA;IACjB,6BAAkB,CAAA;IAClB,iCAAsB,CAAA;IACtB,mCAAwB,CAAA;IACxB,iCAAsB,CAAA;IACtB,iCAAsB,CAAA;IACtB,+BAAoB,CAAA;IACpB,+BAAoB,CAAA;IACpB,mCAAwB,CAAA;IACxB,qCAA0B,CAAA;IAC1B,mCAAwB,CAAA;IACxB,mCAAwB,CAAA;IACxB,iCAAsB,CAAA;IACtB,wCAA6B,CAAA;IAC7B,4CAAiC,CAAA;IACjC,4CAAiC,CAAA;IACjC,8CAAmC,CAAA;IACnC,4CAAiC,CAAA;IACjC,0CAA+B,CAAA;IAC/B,oBAAS,CAAA;IACT,oBAAS,CAAA;IACT,oBAAS,CAAA;IACT,oBAAS,CAAA;IACT,oBAAS,CAAA;IACT,oBAAS,CAAA;IACT,oBAAS,CAAA;IACT,oBAAS,CAAA;IACT,oBAAS,CAAA;IACT,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,sBAAW,CAAA;IACX,sBAAW,CAAA;AACb,CAAC,EA5DW,OAAO,uBAAP,OAAO,QA4DlB;AAUD,MAAM,QAAQ,GAA4B;IACxC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ;IACxB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ;IACzB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO;IACxB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,WAAW;IAChC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG;IACpB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO;IACxB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI;IAClB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM;IACtB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO;IACxB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM;IACtB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW;IAC/B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM;IACtB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM;IACtB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC1B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW;IAC/B,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,aAAa;IACnC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC1B,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC1B,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS;IAC3B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW;IAC/B,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY;IACjC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW;IAC/B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW;IAC/B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU;IAC7B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU;IAC7B,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY;IACjC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,aAAa;IACnC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY;IACjC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY;IACjC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW;IAC/B,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,eAAe;IACtC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,iBAAiB;IAC1C,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,iBAAiB;IAC1C,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,kBAAkB;IAC5C,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,iBAAiB;IAC1C,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,gBAAgB;IACxC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI;IAClB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI;IAClB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI;IAClB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI;IAClB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI;IAClB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI;IAClB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI;IAClB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI;IAClB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI;IAClB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IACpB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;CACrB,CAAC;AAEF,MAAM,aAAa,GAAwC;IACzD,CAAC,EAAE,OAAO,CAAC,IAAI;IACf,CAAC,EAAE,OAAO,CAAC,KAAK;IAChB,CAAC,EAAE,OAAO,CAAC,GAAG;IACd,EAAE,EAAE,OAAO,CAAC,KAAK;IACjB,EAAE,EAAE,OAAO,CAAC,KAAK;IACjB,EAAE,EAAE,OAAO,CAAC,GAAG;IACf,GAAG,EAAE,OAAO,CAAC,SAAS;CACvB,CAAC;AAIF,MAAM,SAAS,GAAe;IAC5B,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACvE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1E,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC7E,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5E,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5E,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1E,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5E,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1E,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACxE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACvE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACvE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACvE,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACvE,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1E,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1E,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1E;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KAC/D;IACD;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KACjE;IACD;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KAClE;IACD;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KACjE;IACD;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KAC9D;IACD;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KAChE;IACD;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KACjE;IACD;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KAChE;IACD;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KACnE;IACD;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KACrE;IACD;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KACtE;IACD;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KACrE;IACD,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC3E,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5E,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC3E;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KAChE;IACD;QACE,aAAa;QACb,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KAClE;IACD,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC3E,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC7E,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC7E,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC7E,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACxE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACxE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACxE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACxE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;CACzE,CAAC;AAEF,uDAAuD;AACvD,MAAa,MAAM;IAEW;IADnB,IAAI,GAAG,KAAK,CAAC;IACtB,YAA4B,GAAQ;QAAR,QAAG,GAAH,GAAG,CAAK;IAAG,CAAC;IAExC,QAAQ;QACN,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;CACF;AAPD,wBAOC;AAED,+DAA+D;AAC/D,SAAgB,WAAW,CAAC,GAAQ;IAClC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QACvD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACtC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED,SAAgB,QAAQ,CACtB,MAAc,EACd,aAAsB;IAEtB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEtC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;QACzD,CAAC;QACD,IAAI,aAAa,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnE,OAAO;gBACL,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;gBACrE,MAAM,EAAE,CAAC,GAAG,SAAS;aACtB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAW,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAwB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CACtE,aAAa,EACb,IAAI,CACL;QACC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YAC1D,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,UAAU,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACjB,OAAO;YACL,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YACnE,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;QACnE,MAAM,EAAE,UAAU;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACvC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,oBAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC;IACrD,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,78 +0,0 @@
1
- /** @public Request graceful program termination. */
2
- export declare class QuitMsg {
3
- readonly _tag = "quit";
4
- }
5
- /** @public Interrupt the program (SIGINT). */
6
- export declare class InterruptMsg {
7
- readonly _tag = "interrupt";
8
- }
9
- /** @public Suspend the program (Ctrl+Z). */
10
- export declare class SuspendMsg {
11
- readonly _tag = "suspend";
12
- }
13
- /** @public Resume the program after suspension. */
14
- export declare class ResumeMsg {
15
- readonly _tag = "resume";
16
- }
17
- /** @public Report the current terminal width and height. */
18
- export declare class WindowSizeMsg {
19
- readonly width: number;
20
- readonly height: number;
21
- readonly _tag = "window-size";
22
- constructor(width: number, height: number);
23
- }
24
- /** @public Terminal focus gained. */
25
- export declare class FocusMsg {
26
- readonly _tag = "focus";
27
- }
28
- /** @public Terminal focus lost. */
29
- export declare class BlurMsg {
30
- readonly _tag = "blur";
31
- }
32
- /** @public Clear the terminal screen. */
33
- export declare class ClearScreenMsg {
34
- readonly _tag = "clear-screen";
35
- }
36
- /** @public Enter the alternate screen buffer. */
37
- export declare class EnterAltScreenMsg {
38
- readonly _tag = "enter-alt-screen";
39
- }
40
- /** @public Exit the alternate screen buffer. */
41
- export declare class ExitAltScreenMsg {
42
- readonly _tag = "exit-alt-screen";
43
- }
44
- /** @public Enable cell-based mouse reporting. */
45
- export declare class EnableMouseCellMotionMsg {
46
- readonly _tag = "enable-mouse-cell-motion";
47
- }
48
- /** @public Enable all-motion mouse reporting. */
49
- export declare class EnableMouseAllMotionMsg {
50
- readonly _tag = "enable-mouse-all-motion";
51
- }
52
- /** @public Disable mouse reporting. */
53
- export declare class DisableMouseMsg {
54
- readonly _tag = "disable-mouse";
55
- }
56
- /** @public Show the cursor. */
57
- export declare class ShowCursorMsg {
58
- readonly _tag = "show-cursor";
59
- }
60
- /** @public Hide the cursor. */
61
- export declare class HideCursorMsg {
62
- readonly _tag = "hide-cursor";
63
- }
64
- /** @public Enable focus in/out reporting. */
65
- export declare class EnableReportFocusMsg {
66
- readonly _tag = "enable-report-focus";
67
- }
68
- /** @public Disable focus in/out reporting. */
69
- export declare class DisableReportFocusMsg {
70
- readonly _tag = "disable-report-focus";
71
- }
72
- /** @public Set the terminal window title. */
73
- export declare class SetWindowTitleMsg {
74
- readonly title: string;
75
- readonly _tag = "set-window-title";
76
- constructor(title: string);
77
- }
78
- //# sourceMappingURL=messages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,qBAAa,OAAO;IAClB,QAAQ,CAAC,IAAI,UAAU;CACxB;AAED,8CAA8C;AAC9C,qBAAa,YAAY;IACvB,QAAQ,CAAC,IAAI,eAAe;CAC7B;AAED,4CAA4C;AAC5C,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,aAAa;CAC3B;AAED,mDAAmD;AACnD,qBAAa,SAAS;IACpB,QAAQ,CAAC,IAAI,YAAY;CAC1B;AAED,4DAA4D;AAC5D,qBAAa,aAAa;aAGN,KAAK,EAAE,MAAM;aACb,MAAM,EAAE,MAAM;IAHhC,QAAQ,CAAC,IAAI,iBAAiB;gBAEZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;CAEjC;AAED,qCAAqC;AACrC,qBAAa,QAAQ;IACnB,QAAQ,CAAC,IAAI,WAAW;CACzB;AAED,mCAAmC;AACnC,qBAAa,OAAO;IAClB,QAAQ,CAAC,IAAI,UAAU;CACxB;AAED,yCAAyC;AACzC,qBAAa,cAAc;IACzB,QAAQ,CAAC,IAAI,kBAAkB;CAChC;AAED,iDAAiD;AACjD,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,IAAI,sBAAsB;CACpC;AAED,gDAAgD;AAChD,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,IAAI,qBAAqB;CACnC;AAED,iDAAiD;AACjD,qBAAa,wBAAwB;IACnC,QAAQ,CAAC,IAAI,8BAA8B;CAC5C;AAED,iDAAiD;AACjD,qBAAa,uBAAuB;IAClC,QAAQ,CAAC,IAAI,6BAA6B;CAC3C;AAED,uCAAuC;AACvC,qBAAa,eAAe;IAC1B,QAAQ,CAAC,IAAI,mBAAmB;CACjC;AAED,+BAA+B;AAC/B,qBAAa,aAAa;IACxB,QAAQ,CAAC,IAAI,iBAAiB;CAC/B;AAED,+BAA+B;AAC/B,qBAAa,aAAa;IACxB,QAAQ,CAAC,IAAI,iBAAiB;CAC/B;AAED,6CAA6C;AAC7C,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,IAAI,yBAAyB;CACvC;AAED,8CAA8C;AAC9C,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,IAAI,0BAA0B;CACxC;AAED,6CAA6C;AAC7C,qBAAa,iBAAiB;aAEA,KAAK,EAAE,MAAM;IADzC,QAAQ,CAAC,IAAI,sBAAsB;gBACP,KAAK,EAAE,MAAM;CAC1C"}
package/dist/messages.js DELETED
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SetWindowTitleMsg = exports.DisableReportFocusMsg = exports.EnableReportFocusMsg = exports.HideCursorMsg = exports.ShowCursorMsg = exports.DisableMouseMsg = exports.EnableMouseAllMotionMsg = exports.EnableMouseCellMotionMsg = exports.ExitAltScreenMsg = exports.EnterAltScreenMsg = exports.ClearScreenMsg = exports.BlurMsg = exports.FocusMsg = exports.WindowSizeMsg = exports.ResumeMsg = exports.SuspendMsg = exports.InterruptMsg = exports.QuitMsg = void 0;
4
- /** @public Request graceful program termination. */
5
- class QuitMsg {
6
- _tag = "quit";
7
- }
8
- exports.QuitMsg = QuitMsg;
9
- /** @public Interrupt the program (SIGINT). */
10
- class InterruptMsg {
11
- _tag = "interrupt";
12
- }
13
- exports.InterruptMsg = InterruptMsg;
14
- /** @public Suspend the program (Ctrl+Z). */
15
- class SuspendMsg {
16
- _tag = "suspend";
17
- }
18
- exports.SuspendMsg = SuspendMsg;
19
- /** @public Resume the program after suspension. */
20
- class ResumeMsg {
21
- _tag = "resume";
22
- }
23
- exports.ResumeMsg = ResumeMsg;
24
- /** @public Report the current terminal width and height. */
25
- class WindowSizeMsg {
26
- width;
27
- height;
28
- _tag = "window-size";
29
- constructor(width, height) {
30
- this.width = width;
31
- this.height = height;
32
- }
33
- }
34
- exports.WindowSizeMsg = WindowSizeMsg;
35
- /** @public Terminal focus gained. */
36
- class FocusMsg {
37
- _tag = "focus";
38
- }
39
- exports.FocusMsg = FocusMsg;
40
- /** @public Terminal focus lost. */
41
- class BlurMsg {
42
- _tag = "blur";
43
- }
44
- exports.BlurMsg = BlurMsg;
45
- /** @public Clear the terminal screen. */
46
- class ClearScreenMsg {
47
- _tag = "clear-screen";
48
- }
49
- exports.ClearScreenMsg = ClearScreenMsg;
50
- /** @public Enter the alternate screen buffer. */
51
- class EnterAltScreenMsg {
52
- _tag = "enter-alt-screen";
53
- }
54
- exports.EnterAltScreenMsg = EnterAltScreenMsg;
55
- /** @public Exit the alternate screen buffer. */
56
- class ExitAltScreenMsg {
57
- _tag = "exit-alt-screen";
58
- }
59
- exports.ExitAltScreenMsg = ExitAltScreenMsg;
60
- /** @public Enable cell-based mouse reporting. */
61
- class EnableMouseCellMotionMsg {
62
- _tag = "enable-mouse-cell-motion";
63
- }
64
- exports.EnableMouseCellMotionMsg = EnableMouseCellMotionMsg;
65
- /** @public Enable all-motion mouse reporting. */
66
- class EnableMouseAllMotionMsg {
67
- _tag = "enable-mouse-all-motion";
68
- }
69
- exports.EnableMouseAllMotionMsg = EnableMouseAllMotionMsg;
70
- /** @public Disable mouse reporting. */
71
- class DisableMouseMsg {
72
- _tag = "disable-mouse";
73
- }
74
- exports.DisableMouseMsg = DisableMouseMsg;
75
- /** @public Show the cursor. */
76
- class ShowCursorMsg {
77
- _tag = "show-cursor";
78
- }
79
- exports.ShowCursorMsg = ShowCursorMsg;
80
- /** @public Hide the cursor. */
81
- class HideCursorMsg {
82
- _tag = "hide-cursor";
83
- }
84
- exports.HideCursorMsg = HideCursorMsg;
85
- /** @public Enable focus in/out reporting. */
86
- class EnableReportFocusMsg {
87
- _tag = "enable-report-focus";
88
- }
89
- exports.EnableReportFocusMsg = EnableReportFocusMsg;
90
- /** @public Disable focus in/out reporting. */
91
- class DisableReportFocusMsg {
92
- _tag = "disable-report-focus";
93
- }
94
- exports.DisableReportFocusMsg = DisableReportFocusMsg;
95
- /** @public Set the terminal window title. */
96
- class SetWindowTitleMsg {
97
- title;
98
- _tag = "set-window-title";
99
- constructor(title) {
100
- this.title = title;
101
- }
102
- }
103
- exports.SetWindowTitleMsg = SetWindowTitleMsg;
104
- //# sourceMappingURL=messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACpD,MAAa,OAAO;IACT,IAAI,GAAG,MAAM,CAAC;CACxB;AAFD,0BAEC;AAED,8CAA8C;AAC9C,MAAa,YAAY;IACd,IAAI,GAAG,WAAW,CAAC;CAC7B;AAFD,oCAEC;AAED,4CAA4C;AAC5C,MAAa,UAAU;IACZ,IAAI,GAAG,SAAS,CAAC;CAC3B;AAFD,gCAEC;AAED,mDAAmD;AACnD,MAAa,SAAS;IACX,IAAI,GAAG,QAAQ,CAAC;CAC1B;AAFD,8BAEC;AAED,4DAA4D;AAC5D,MAAa,aAAa;IAGN;IACA;IAHT,IAAI,GAAG,aAAa,CAAC;IAC9B,YACkB,KAAa,EACb,MAAc;QADd,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;CACL;AAND,sCAMC;AAED,qCAAqC;AACrC,MAAa,QAAQ;IACV,IAAI,GAAG,OAAO,CAAC;CACzB;AAFD,4BAEC;AAED,mCAAmC;AACnC,MAAa,OAAO;IACT,IAAI,GAAG,MAAM,CAAC;CACxB;AAFD,0BAEC;AAED,yCAAyC;AACzC,MAAa,cAAc;IAChB,IAAI,GAAG,cAAc,CAAC;CAChC;AAFD,wCAEC;AAED,iDAAiD;AACjD,MAAa,iBAAiB;IACnB,IAAI,GAAG,kBAAkB,CAAC;CACpC;AAFD,8CAEC;AAED,gDAAgD;AAChD,MAAa,gBAAgB;IAClB,IAAI,GAAG,iBAAiB,CAAC;CACnC;AAFD,4CAEC;AAED,iDAAiD;AACjD,MAAa,wBAAwB;IAC1B,IAAI,GAAG,0BAA0B,CAAC;CAC5C;AAFD,4DAEC;AAED,iDAAiD;AACjD,MAAa,uBAAuB;IACzB,IAAI,GAAG,yBAAyB,CAAC;CAC3C;AAFD,0DAEC;AAED,uCAAuC;AACvC,MAAa,eAAe;IACjB,IAAI,GAAG,eAAe,CAAC;CACjC;AAFD,0CAEC;AAED,+BAA+B;AAC/B,MAAa,aAAa;IACf,IAAI,GAAG,aAAa,CAAC;CAC/B;AAFD,sCAEC;AAED,+BAA+B;AAC/B,MAAa,aAAa;IACf,IAAI,GAAG,aAAa,CAAC;CAC/B;AAFD,sCAEC;AAED,6CAA6C;AAC7C,MAAa,oBAAoB;IACtB,IAAI,GAAG,qBAAqB,CAAC;CACvC;AAFD,oDAEC;AAED,8CAA8C;AAC9C,MAAa,qBAAqB;IACvB,IAAI,GAAG,sBAAsB,CAAC;CACxC;AAFD,sDAEC;AAED,6CAA6C;AAC7C,MAAa,iBAAiB;IAEA;IADnB,IAAI,GAAG,kBAAkB,CAAC;IACnC,YAA4B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;CAC9C;AAHD,8CAGC"}
package/dist/mouse.d.ts DELETED
@@ -1,46 +0,0 @@
1
- import { Buffer } from "node:buffer";
2
- /** @public Mouse action type. */
3
- export declare enum MouseAction {
4
- Press = "press",
5
- Release = "release",
6
- Motion = "motion"
7
- }
8
- /** @public Mouse button identifiers, including wheels. */
9
- export declare enum MouseButton {
10
- None = "none",
11
- Left = "left",
12
- Middle = "middle",
13
- Right = "right",
14
- WheelUp = "wheel-up",
15
- WheelDown = "wheel-down",
16
- WheelLeft = "wheel-left",
17
- WheelRight = "wheel-right",
18
- Backward = "backward",
19
- Forward = "forward",
20
- Button10 = "button-10",
21
- Button11 = "button-11"
22
- }
23
- /** @public Parsed mouse event payload. */
24
- export interface MouseEvent {
25
- x: number;
26
- y: number;
27
- shift: boolean;
28
- alt: boolean;
29
- ctrl: boolean;
30
- action: MouseAction;
31
- button: MouseButton;
32
- }
33
- /** @public Message representing a parsed mouse event. */
34
- export declare class MouseMsg {
35
- readonly event: MouseEvent;
36
- readonly _tag = "mouse";
37
- constructor(event: MouseEvent);
38
- toString(): string;
39
- }
40
- export declare function parseMouse(buffer: Buffer, allowMoreData: boolean): {
41
- msg: MouseMsg;
42
- length: number;
43
- } | {
44
- needMore: true;
45
- } | undefined;
46
- //# sourceMappingURL=mouse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../src/mouse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,iCAAiC;AACjC,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,0DAA0D;AAC1D,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,aAAa;IACpB,SAAS,eAAe;IACxB,SAAS,eAAe;IACxB,UAAU,gBAAgB;IAC1B,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,QAAQ,cAAc;IACtB,QAAQ,cAAc;CACvB;AAED,0CAA0C;AAC1C,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,yDAAyD;AACzD,qBAAa,QAAQ;aAES,KAAK,EAAE,UAAU;IAD7C,QAAQ,CAAC,IAAI,WAAW;gBACI,KAAK,EAAE,UAAU;IAE7C,QAAQ,IAAI,MAAM;CASnB;AAMD,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,OAAO,GACrB;IAAE,GAAG,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,CAyBpE"}