hammoc 1.2.2 → 1.3.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 (101) hide show
  1. package/README.md +11 -6
  2. package/package.json +3 -1
  3. package/packages/client/dist/assets/index-Bf0D9oVJ.css +32 -0
  4. package/packages/client/dist/assets/{index-CbU4iPtn.js → index-CRmzoqHy.js} +1 -1
  5. package/packages/client/dist/assets/index-CszGQ29O.js +1432 -0
  6. package/packages/client/dist/index.html +2 -2
  7. package/packages/client/dist/sw.js +1 -1
  8. package/packages/server/dist/controllers/boardController.d.ts +2 -0
  9. package/packages/server/dist/controllers/boardController.d.ts.map +1 -1
  10. package/packages/server/dist/controllers/boardController.js +22 -0
  11. package/packages/server/dist/controllers/boardController.js.map +1 -1
  12. package/packages/server/dist/controllers/projectController.js +1 -1
  13. package/packages/server/dist/controllers/projectController.js.map +1 -1
  14. package/packages/server/dist/controllers/queueTemplateController.js +2 -2
  15. package/packages/server/dist/controllers/queueTemplateController.js.map +1 -1
  16. package/packages/server/dist/controllers/serverController.d.ts.map +1 -1
  17. package/packages/server/dist/controllers/serverController.js +2 -1
  18. package/packages/server/dist/controllers/serverController.js.map +1 -1
  19. package/packages/server/dist/handlers/websocket.d.ts.map +1 -1
  20. package/packages/server/dist/handlers/websocket.js +210 -44
  21. package/packages/server/dist/handlers/websocket.js.map +1 -1
  22. package/packages/server/dist/locales/en/server.json +10 -3
  23. package/packages/server/dist/locales/es/server.json +5 -2
  24. package/packages/server/dist/locales/ja/server.json +5 -2
  25. package/packages/server/dist/locales/ko/server.json +10 -3
  26. package/packages/server/dist/locales/pt/server.json +5 -2
  27. package/packages/server/dist/locales/zh-CN/server.json +5 -2
  28. package/packages/server/dist/routes/board.d.ts.map +1 -1
  29. package/packages/server/dist/routes/board.js +2 -0
  30. package/packages/server/dist/routes/board.js.map +1 -1
  31. package/packages/server/dist/services/chatService.d.ts.map +1 -1
  32. package/packages/server/dist/services/chatService.js +19 -1
  33. package/packages/server/dist/services/chatService.js.map +1 -1
  34. package/packages/server/dist/services/issueService.d.ts +13 -0
  35. package/packages/server/dist/services/issueService.d.ts.map +1 -1
  36. package/packages/server/dist/services/issueService.js +93 -19
  37. package/packages/server/dist/services/issueService.js.map +1 -1
  38. package/packages/server/dist/services/queueService.d.ts +18 -0
  39. package/packages/server/dist/services/queueService.d.ts.map +1 -1
  40. package/packages/server/dist/services/queueService.js +232 -25
  41. package/packages/server/dist/services/queueService.js.map +1 -1
  42. package/packages/server/dist/services/sessionService.d.ts +11 -0
  43. package/packages/server/dist/services/sessionService.d.ts.map +1 -1
  44. package/packages/server/dist/services/sessionService.js +59 -2
  45. package/packages/server/dist/services/sessionService.js.map +1 -1
  46. package/packages/server/dist/services/streamHandler.d.ts.map +1 -1
  47. package/packages/server/dist/services/streamHandler.js +2 -1
  48. package/packages/server/dist/services/streamHandler.js.map +1 -1
  49. package/packages/server/dist/snippets/apply-qa-fixes +5 -0
  50. package/packages/server/dist/snippets/brainstorm +3 -0
  51. package/packages/server/dist/snippets/brownfield-create-epic +3 -0
  52. package/packages/server/dist/snippets/brownfield-create-story +4 -0
  53. package/packages/server/dist/snippets/commit-and-done +3 -0
  54. package/packages/server/dist/snippets/competitor-analysis +3 -0
  55. package/packages/server/dist/snippets/create-backend-arch +3 -0
  56. package/packages/server/dist/snippets/create-frontend-arch +3 -0
  57. package/packages/server/dist/snippets/create-frontend-spec +3 -0
  58. package/packages/server/dist/snippets/create-fullstack-arch +3 -0
  59. package/packages/server/dist/snippets/create-prd +3 -0
  60. package/packages/server/dist/snippets/create-project-brief +3 -0
  61. package/packages/server/dist/snippets/develop-story +3 -0
  62. package/packages/server/dist/snippets/draft-story +3 -0
  63. package/packages/server/dist/snippets/mark-done +3 -0
  64. package/packages/server/dist/snippets/market-research +3 -0
  65. package/packages/server/dist/snippets/promote-issue +9 -0
  66. package/packages/server/dist/snippets/promote-to-epic +9 -0
  67. package/packages/server/dist/snippets/promote-to-story +9 -0
  68. package/packages/server/dist/snippets/qa-review +3 -0
  69. package/packages/server/dist/snippets/quick-fix-issue +3 -0
  70. package/packages/server/dist/snippets/validate-and-approve +1 -0
  71. package/packages/server/dist/snippets/validate-and-fix +7 -0
  72. package/packages/server/dist/snippets/validate-story +3 -0
  73. package/packages/server/dist/utils/errors.d.ts +1 -0
  74. package/packages/server/dist/utils/errors.d.ts.map +1 -1
  75. package/packages/server/dist/utils/errors.js +12 -0
  76. package/packages/server/dist/utils/errors.js.map +1 -1
  77. package/packages/server/dist/utils/snippetResolver.d.ts +34 -0
  78. package/packages/server/dist/utils/snippetResolver.d.ts.map +1 -0
  79. package/packages/server/dist/utils/snippetResolver.js +240 -0
  80. package/packages/server/dist/utils/snippetResolver.js.map +1 -0
  81. package/packages/server/package.json +1 -1
  82. package/packages/shared/dist/index.d.ts +1 -1
  83. package/packages/shared/dist/index.d.ts.map +1 -1
  84. package/packages/shared/dist/types/command.d.ts +12 -0
  85. package/packages/shared/dist/types/command.d.ts.map +1 -1
  86. package/packages/shared/dist/types/preferences.d.ts +2 -0
  87. package/packages/shared/dist/types/preferences.d.ts.map +1 -1
  88. package/packages/shared/dist/types/preferences.js.map +1 -1
  89. package/packages/shared/dist/types/queue.d.ts +23 -1
  90. package/packages/shared/dist/types/queue.d.ts.map +1 -1
  91. package/packages/shared/dist/types/sdk.d.ts +5 -0
  92. package/packages/shared/dist/types/sdk.d.ts.map +1 -1
  93. package/packages/shared/dist/types/sdk.js +15 -0
  94. package/packages/shared/dist/types/sdk.js.map +1 -1
  95. package/packages/shared/dist/types/websocket.d.ts +7 -0
  96. package/packages/shared/dist/types/websocket.d.ts.map +1 -1
  97. package/packages/shared/dist/utils/queueParser.d.ts.map +1 -1
  98. package/packages/shared/dist/utils/queueParser.js +197 -12
  99. package/packages/shared/dist/utils/queueParser.js.map +1 -1
  100. package/packages/client/dist/assets/index-Cc_AX5QV.css +0 -32
  101. package/packages/client/dist/assets/index-d4HkRgns.js +0 -1451
@@ -1,6 +1,20 @@
1
1
  /** Convert QueueItem[] back into script text (inverse of parseQueueScript) */
2
2
  export function serializeQueueItems(items) {
3
3
  return items.map(item => {
4
+ if (item.loop) {
5
+ const parts = [];
6
+ let header = `@loop max=${item.loop.max}`;
7
+ if (item.loop.until != null)
8
+ header += ` until="${item.loop.until}"`;
9
+ if (item.loop.onExceed !== 'pause')
10
+ header += ` on_exceed="${item.loop.onExceed}"`;
11
+ parts.push(header);
12
+ parts.push(serializeQueueItems(item.loop.items));
13
+ parts.push('@end');
14
+ return parts.join('\n');
15
+ }
16
+ if (item.pauseword != null)
17
+ return `@pauseword "${item.pauseword}"`;
4
18
  if (item.isBreakpoint) {
5
19
  return item.prompt ? `@pause ${item.prompt}` : '@pause';
6
20
  }
@@ -37,14 +51,39 @@ export function parseQueueScript(script) {
37
51
  let inMultilineBlock = false;
38
52
  let multilineContent = [];
39
53
  let multilineStartLine = 0;
54
+ // Loop block state
55
+ let inLoopBlock = false;
56
+ let loopItems = [];
57
+ let loopStartLine = 0;
58
+ let loopMax = 0;
59
+ let loopUntil;
60
+ let loopOnExceed = 'pause';
61
+ let nestedLoopDepth = 0;
62
+ // Track active pauseword for cross-validation
63
+ let activePauseword;
64
+ // Helper to push items to the correct target (top-level or loop inner)
65
+ const pushItem = (item) => {
66
+ (inLoopBlock ? loopItems : items).push(item);
67
+ };
40
68
  for (let i = 0; i < lines.length; i++) {
41
69
  const lineNum = i + 1;
42
70
  const line = lines[i];
43
71
  const trimmed = line.trim();
72
+ // Inside rejected nested loop — only track @loop/@end depth
73
+ if (inLoopBlock && nestedLoopDepth > 0) {
74
+ const lower = trimmed.toLowerCase();
75
+ if (lower.startsWith('@loop')) {
76
+ nestedLoopDepth++;
77
+ }
78
+ else if (lower === '@end') {
79
+ nestedLoopDepth--;
80
+ }
81
+ continue;
82
+ }
44
83
  // Inside multiline block
45
84
  if (inMultilineBlock) {
46
85
  if (trimmed.toLowerCase() === '@)') {
47
- items.push({
86
+ pushItem({
48
87
  prompt: multilineContent.join('\n'),
49
88
  isNewSession: false,
50
89
  isMultiline: true,
@@ -67,7 +106,7 @@ export function parseQueueScript(script) {
67
106
  }
68
107
  // Escape handling: \\@ -> literal \@ prompt
69
108
  if (trimmed.startsWith('\\\\@')) {
70
- items.push({
109
+ pushItem({
71
110
  prompt: trimmed.slice(1), // remove first backslash
72
111
  isNewSession: false,
73
112
  });
@@ -75,7 +114,7 @@ export function parseQueueScript(script) {
75
114
  }
76
115
  // Escape handling: \@ -> literal @ prompt
77
116
  if (trimmed.startsWith('\\@')) {
78
- items.push({
117
+ pushItem({
79
118
  prompt: trimmed.slice(1), // remove backslash
80
119
  isNewSession: false,
81
120
  });
@@ -92,7 +131,7 @@ export function parseQueueScript(script) {
92
131
  : trimmed.slice(spaceIndex + 1).trim();
93
132
  switch (directive) {
94
133
  case '@new':
95
- items.push({
134
+ pushItem({
96
135
  prompt: '',
97
136
  isNewSession: true,
98
137
  });
@@ -102,7 +141,7 @@ export function parseQueueScript(script) {
102
141
  warnings.push({ line: lineNum, message: '@save requires a session name' });
103
142
  }
104
143
  else {
105
- items.push({
144
+ pushItem({
106
145
  prompt: '',
107
146
  isNewSession: false,
108
147
  saveSessionName: argStr,
@@ -114,7 +153,7 @@ export function parseQueueScript(script) {
114
153
  warnings.push({ line: lineNum, message: '@load requires a session name' });
115
154
  }
116
155
  else {
117
- items.push({
156
+ pushItem({
118
157
  prompt: '',
119
158
  isNewSession: false,
120
159
  loadSessionName: argStr,
@@ -122,7 +161,7 @@ export function parseQueueScript(script) {
122
161
  }
123
162
  break;
124
163
  case '@pause': {
125
- items.push({
164
+ pushItem({
126
165
  prompt: argStr,
127
166
  isNewSession: false,
128
167
  isBreakpoint: true,
@@ -134,7 +173,7 @@ export function parseQueueScript(script) {
134
173
  warnings.push({ line: lineNum, message: '@model requires a model name' });
135
174
  }
136
175
  else {
137
- items.push({
176
+ pushItem({
138
177
  prompt: '',
139
178
  isNewSession: false,
140
179
  modelName: argStr,
@@ -147,7 +186,7 @@ export function parseQueueScript(script) {
147
186
  warnings.push({ line: lineNum, message: '@delay requires a positive integer value' });
148
187
  }
149
188
  else {
150
- items.push({
189
+ pushItem({
151
190
  prompt: '',
152
191
  isNewSession: false,
153
192
  delayMs: ms,
@@ -155,6 +194,135 @@ export function parseQueueScript(script) {
155
194
  }
156
195
  break;
157
196
  }
197
+ case '@pauseword': {
198
+ if (!argStr) {
199
+ warnings.push({ line: lineNum, message: '@pauseword requires a keyword' });
200
+ }
201
+ else {
202
+ // Strip surrounding quotes if present; warn on mismatched quotes
203
+ let keyword = argStr;
204
+ if (argStr.startsWith('"')) {
205
+ if (argStr.endsWith('"') && argStr.length > 1) {
206
+ keyword = argStr.slice(1, -1);
207
+ }
208
+ else {
209
+ warnings.push({ line: lineNum, message: '@pauseword has mismatched quotes' });
210
+ break;
211
+ }
212
+ }
213
+ // Track active pauseword for loop cross-validation
214
+ activePauseword = keyword || undefined;
215
+ // Empty string is valid — clears the active pauseword
216
+ pushItem({
217
+ prompt: '',
218
+ isNewSession: false,
219
+ pauseword: keyword,
220
+ });
221
+ }
222
+ break;
223
+ }
224
+ case '@loop': {
225
+ if (inLoopBlock) {
226
+ // Nested loop — reject with warning
227
+ nestedLoopDepth++;
228
+ warnings.push({ line: lineNum, message: `Nested @loop is not allowed (line ${loopStartLine})` });
229
+ break;
230
+ }
231
+ // Parse parameters: max=N, until="TOKEN", on_exceed="pause"|"continue"
232
+ const tokens = argStr.split(/\s+/).filter(t => t !== '');
233
+ let parsedMax;
234
+ let parsedUntil;
235
+ let parsedOnExceed = 'pause';
236
+ let parsedOnExceedExplicit = false;
237
+ for (const token of tokens) {
238
+ const eqIdx = token.indexOf('=');
239
+ if (eqIdx === -1)
240
+ continue;
241
+ const key = token.slice(0, eqIdx).toLowerCase();
242
+ const val = token.slice(eqIdx + 1);
243
+ switch (key) {
244
+ case 'max': {
245
+ const n = parseInt(val, 10);
246
+ if (!isNaN(n) && n > 0 && Number.isInteger(n) && val === String(n)) {
247
+ parsedMax = n;
248
+ }
249
+ break;
250
+ }
251
+ case 'until': {
252
+ if (val.startsWith('"') && val.endsWith('"') && val.length > 1) {
253
+ const inner = val.slice(1, -1);
254
+ if (inner)
255
+ parsedUntil = inner;
256
+ }
257
+ else if (val.startsWith('"')) {
258
+ // Mismatched quotes — starts with " but no closing "
259
+ warnings.push({ line: lineNum, message: '@loop until has mismatched quotes' });
260
+ }
261
+ else if (val) {
262
+ parsedUntil = val;
263
+ }
264
+ break;
265
+ }
266
+ case 'on_exceed': {
267
+ let v = val;
268
+ if (v.startsWith('"') && v.endsWith('"') && v.length > 1) {
269
+ v = v.slice(1, -1);
270
+ }
271
+ if (v === 'pause' || v === 'continue') {
272
+ parsedOnExceed = v;
273
+ parsedOnExceedExplicit = true;
274
+ }
275
+ break;
276
+ }
277
+ }
278
+ }
279
+ // Validate max parameter
280
+ if (parsedMax == null) {
281
+ warnings.push({ line: lineNum, message: '@loop requires max=N parameter (positive integer)' });
282
+ break;
283
+ }
284
+ // Cross-validation: on_exceed without until
285
+ if (parsedOnExceedExplicit && parsedUntil == null) {
286
+ warnings.push({ line: lineNum, message: 'on_exceed has no effect without until parameter' });
287
+ }
288
+ // Cross-validation: pauseword == until
289
+ if (parsedUntil && activePauseword && activePauseword === parsedUntil) {
290
+ warnings.push({
291
+ line: lineNum,
292
+ message: `@pauseword keyword "${activePauseword}" matches until token — pauseword will always fire first, making loop exit impossible`,
293
+ });
294
+ }
295
+ // Enter loop-collecting mode
296
+ inLoopBlock = true;
297
+ loopStartLine = lineNum;
298
+ loopItems = [];
299
+ loopMax = parsedMax;
300
+ loopUntil = parsedUntil;
301
+ loopOnExceed = parsedOnExceed;
302
+ nestedLoopDepth = 0;
303
+ break;
304
+ }
305
+ case '@end': {
306
+ if (!inLoopBlock) {
307
+ warnings.push({ line: lineNum, message: '@end without matching @loop' });
308
+ break;
309
+ }
310
+ // Finalize loop block
311
+ items.push({
312
+ prompt: '',
313
+ isNewSession: false,
314
+ loop: {
315
+ max: loopMax,
316
+ until: loopUntil,
317
+ onExceed: loopOnExceed,
318
+ items: loopItems,
319
+ },
320
+ });
321
+ inLoopBlock = false;
322
+ loopItems = [];
323
+ nestedLoopDepth = 0;
324
+ break;
325
+ }
158
326
  case '@(':
159
327
  inMultilineBlock = true;
160
328
  multilineStartLine = lineNum;
@@ -163,7 +331,7 @@ export function parseQueueScript(script) {
163
331
  default:
164
332
  // Unknown directive
165
333
  warnings.push({ line: lineNum, message: `Unknown directive: ${directive}` });
166
- items.push({
334
+ pushItem({
167
335
  prompt: trimmed,
168
336
  isNewSession: false,
169
337
  });
@@ -172,7 +340,7 @@ export function parseQueueScript(script) {
172
340
  continue;
173
341
  }
174
342
  // Regular line (prompt)
175
- items.push({
343
+ pushItem({
176
344
  prompt: trimmed,
177
345
  isNewSession: false,
178
346
  });
@@ -183,12 +351,29 @@ export function parseQueueScript(script) {
183
351
  line: multilineStartLine,
184
352
  message: 'Unclosed multiline block: missing @)',
185
353
  });
186
- items.push({
354
+ pushItem({
187
355
  prompt: multilineContent.join('\n'),
188
356
  isNewSession: false,
189
357
  isMultiline: true,
190
358
  });
191
359
  }
360
+ // Unclosed loop block
361
+ if (inLoopBlock) {
362
+ warnings.push({
363
+ line: loopStartLine,
364
+ message: `Unclosed @loop block: missing @end (started at line ${loopStartLine})`,
365
+ });
366
+ items.push({
367
+ prompt: '',
368
+ isNewSession: false,
369
+ loop: {
370
+ max: loopMax,
371
+ until: loopUntil,
372
+ onExceed: loopOnExceed,
373
+ items: loopItems,
374
+ },
375
+ });
376
+ }
192
377
  return { items, warnings };
193
378
  }
194
379
  //# sourceMappingURL=queueParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queueParser.js","sourceRoot":"","sources":["../../src/utils/queueParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queueParser.js","sourceRoot":"","sources":["../../src/utils/queueParser.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACtB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,MAAM,GAAG,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI;gBAAE,MAAM,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;YACrE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO;gBAAE,MAAM,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC;YACnF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YAAE,OAAO,eAAe,IAAI,CAAC,SAAS,GAAG,CAAC;QACpE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1D,CAAC;QACD,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;QACjE,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;QACjE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YAAE,OAAO,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,YAAY;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,MAAM,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,4DAA4D;gBAC5D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,gBAAgB,GAAa,EAAE,CAAC;IACpC,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAE3B,mBAAmB;IACnB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,SAAS,GAAgB,EAAE,CAAC;IAChC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,SAA6B,CAAC;IAClC,IAAI,YAAY,GAAyB,OAAO,CAAC;IACjD,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,8CAA8C;IAC9C,IAAI,eAAmC,CAAC;IAExC,uEAAuE;IACvE,MAAM,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE;QACnC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,4DAA4D;QAC5D,IAAI,WAAW,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,eAAe,EAAE,CAAC;YACpB,CAAC;iBAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC5B,eAAe,EAAE,CAAC;YACpB,CAAC;YACD,SAAS;QACX,CAAC;QAED,yBAAyB;QACzB,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;gBACnC,QAAQ,CAAC;oBACP,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;oBACnC,YAAY,EAAE,KAAK;oBACnB,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;gBACH,gBAAgB,GAAG,KAAK,CAAC;gBACzB,gBAAgB,GAAG,EAAE,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,SAAS;QACX,CAAC;QAED,aAAa;QACb,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,SAAS;QACX,CAAC;QAED,eAAe;QACf,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,4CAA4C;QAC5C,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC;gBACP,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,yBAAyB;gBACnD,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,0CAA0C;QAC1C,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,QAAQ,CAAC;gBACP,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,mBAAmB;gBAC7C,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,sBAAsB;QACtB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,UAAU,KAAK,CAAC,CAAC;gBACjC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE;gBACvB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,UAAU,KAAK,CAAC,CAAC;gBAC9B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEzC,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,MAAM;oBACT,QAAQ,CAAC;wBACP,MAAM,EAAE,EAAE;wBACV,YAAY,EAAE,IAAI;qBACnB,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,OAAO;oBACV,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;oBAC7E,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC;4BACP,MAAM,EAAE,EAAE;4BACV,YAAY,EAAE,KAAK;4BACnB,eAAe,EAAE,MAAM;yBACxB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBAER,KAAK,OAAO;oBACV,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;oBAC7E,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC;4BACP,MAAM,EAAE,EAAE;4BACV,YAAY,EAAE,KAAK;4BACnB,eAAe,EAAE,MAAM;yBACxB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBAER,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,QAAQ,CAAC;wBACP,MAAM,EAAE,MAAM;wBACd,YAAY,EAAE,KAAK;wBACnB,YAAY,EAAE,IAAI;qBACnB,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBAED,KAAK,QAAQ;oBACX,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;oBAC5E,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC;4BACP,MAAM,EAAE,EAAE;4BACV,YAAY,EAAE,KAAK;4BACnB,SAAS,EAAE,MAAM;yBAClB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBAER,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAChC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;wBACtF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;oBACxF,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC;4BACP,MAAM,EAAE,EAAE;4BACV,YAAY,EAAE,KAAK;4BACnB,OAAO,EAAE,EAAE;yBACZ,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;oBAC7E,CAAC;yBAAM,CAAC;wBACN,iEAAiE;wBACjE,IAAI,OAAO,GAAG,MAAM,CAAC;wBACrB,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC9C,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;4BAChC,CAAC;iCAAM,CAAC;gCACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;gCAC9E,MAAM;4BACR,CAAC;wBACH,CAAC;wBACD,mDAAmD;wBACnD,eAAe,GAAG,OAAO,IAAI,SAAS,CAAC;wBACvC,sDAAsD;wBACtD,QAAQ,CAAC;4BACP,MAAM,EAAE,EAAE;4BACV,YAAY,EAAE,KAAK;4BACnB,SAAS,EAAE,OAAO;yBACnB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,IAAI,WAAW,EAAE,CAAC;wBAChB,oCAAoC;wBACpC,eAAe,EAAE,CAAC;wBAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,qCAAqC,aAAa,GAAG,EAAE,CAAC,CAAC;wBACjG,MAAM;oBACR,CAAC;oBAED,uEAAuE;oBACvE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;oBACzD,IAAI,SAA6B,CAAC;oBAClC,IAAI,WAA+B,CAAC;oBACpC,IAAI,cAAc,GAAyB,OAAO,CAAC;oBACnD,IAAI,sBAAsB,GAAG,KAAK,CAAC;oBAEnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBACjC,IAAI,KAAK,KAAK,CAAC,CAAC;4BAAE,SAAS;wBAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;wBAChD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;wBAEnC,QAAQ,GAAG,EAAE,CAAC;4BACZ,KAAK,KAAK,CAAC,CAAC,CAAC;gCACX,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gCAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oCACnE,SAAS,GAAG,CAAC,CAAC;gCAChB,CAAC;gCACD,MAAM;4BACR,CAAC;4BACD,KAAK,OAAO,CAAC,CAAC,CAAC;gCACb,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oCAC/B,IAAI,KAAK;wCAAE,WAAW,GAAG,KAAK,CAAC;gCACjC,CAAC;qCAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oCAC/B,qDAAqD;oCACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAC;gCACjF,CAAC;qCAAM,IAAI,GAAG,EAAE,CAAC;oCACf,WAAW,GAAG,GAAG,CAAC;gCACpB,CAAC;gCACD,MAAM;4BACR,CAAC;4BACD,KAAK,WAAW,CAAC,CAAC,CAAC;gCACjB,IAAI,CAAC,GAAG,GAAG,CAAC;gCACZ,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACzD,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gCACrB,CAAC;gCACD,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;oCACtC,cAAc,GAAG,CAAC,CAAC;oCACnB,sBAAsB,GAAG,IAAI,CAAC;gCAChC,CAAC;gCACD,MAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,yBAAyB;oBACzB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;wBACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC,CAAC;wBAC/F,MAAM;oBACR,CAAC;oBAED,4CAA4C;oBAC5C,IAAI,sBAAsB,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;wBAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC,CAAC;oBAC/F,CAAC;oBAED,uCAAuC;oBACvC,IAAI,WAAW,IAAI,eAAe,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;wBACtE,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE,uBAAuB,eAAe,uFAAuF;yBACvI,CAAC,CAAC;oBACL,CAAC;oBAED,6BAA6B;oBAC7B,WAAW,GAAG,IAAI,CAAC;oBACnB,aAAa,GAAG,OAAO,CAAC;oBACxB,SAAS,GAAG,EAAE,CAAC;oBACf,OAAO,GAAG,SAAS,CAAC;oBACpB,SAAS,GAAG,WAAW,CAAC;oBACxB,YAAY,GAAG,cAAc,CAAC;oBAC9B,eAAe,GAAG,CAAC,CAAC;oBACpB,MAAM;gBACR,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;wBACzE,MAAM;oBACR,CAAC;oBAED,sBAAsB;oBACtB,KAAK,CAAC,IAAI,CAAC;wBACT,MAAM,EAAE,EAAE;wBACV,YAAY,EAAE,KAAK;wBACnB,IAAI,EAAE;4BACJ,GAAG,EAAE,OAAO;4BACZ,KAAK,EAAE,SAAS;4BAChB,QAAQ,EAAE,YAAY;4BACtB,KAAK,EAAE,SAAS;yBACjB;qBACF,CAAC,CAAC;oBAEH,WAAW,GAAG,KAAK,CAAC;oBACpB,SAAS,GAAG,EAAE,CAAC;oBACf,eAAe,GAAG,CAAC,CAAC;oBACpB,MAAM;gBACR,CAAC;gBAED,KAAK,IAAI;oBACP,gBAAgB,GAAG,IAAI,CAAC;oBACxB,kBAAkB,GAAG,OAAO,CAAC;oBAC7B,gBAAgB,GAAG,EAAE,CAAC;oBACtB,MAAM;gBAER;oBACE,oBAAoB;oBACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,SAAS,EAAE,EAAE,CAAC,CAAC;oBAC7E,QAAQ,CAAC;wBACP,MAAM,EAAE,OAAO;wBACf,YAAY,EAAE,KAAK;qBACpB,CAAC,CAAC;oBACH,MAAM;YACV,CAAC;YACD,SAAS;QACX,CAAC;QAED,wBAAwB;QACxB,QAAQ,CAAC;YACP,MAAM,EAAE,OAAO;YACf,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,IAAI,gBAAgB,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,sCAAsC;SAChD,CAAC,CAAC;QACH,QAAQ,CAAC;YACP,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;IACtB,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,uDAAuD,aAAa,GAAG;SACjF,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC;YACT,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE;gBACJ,GAAG,EAAE,OAAO;gBACZ,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,SAAS;aACjB;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC"}