@camaradesuk/git-worktree-tools 1.9.0 → 1.10.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 (230) hide show
  1. package/README.md +48 -27
  2. package/dist/cli/cleanpr.js +74 -53
  3. package/dist/cli/cleanpr.js.map +1 -1
  4. package/dist/cli/lswt.js +32 -56
  5. package/dist/cli/lswt.js.map +1 -1
  6. package/dist/cli/lswt.test.js +17 -27
  7. package/dist/cli/lswt.test.js.map +1 -1
  8. package/dist/cli/newpr.d.ts +13 -1
  9. package/dist/cli/newpr.d.ts.map +1 -1
  10. package/dist/cli/newpr.js +159 -153
  11. package/dist/cli/newpr.js.map +1 -1
  12. package/dist/cli/newpr.test.js +1 -1
  13. package/dist/cli/newpr.test.js.map +1 -1
  14. package/dist/cli/prs.d.ts +3 -10
  15. package/dist/cli/prs.d.ts.map +1 -1
  16. package/dist/cli/prs.js +6 -168
  17. package/dist/cli/prs.js.map +1 -1
  18. package/dist/cli/prs.test.js +53 -0
  19. package/dist/cli/prs.test.js.map +1 -1
  20. package/dist/cli/wt/clean.d.ts +6 -2
  21. package/dist/cli/wt/clean.d.ts.map +1 -1
  22. package/dist/cli/wt/clean.js +401 -20
  23. package/dist/cli/wt/clean.js.map +1 -1
  24. package/dist/cli/wt/clean.test.d.ts +8 -0
  25. package/dist/cli/wt/clean.test.d.ts.map +1 -0
  26. package/dist/cli/wt/clean.test.js +624 -0
  27. package/dist/cli/wt/clean.test.js.map +1 -0
  28. package/dist/cli/wt/completion.d.ts +3 -0
  29. package/dist/cli/wt/completion.d.ts.map +1 -1
  30. package/dist/cli/wt/completion.js +80 -9
  31. package/dist/cli/wt/completion.js.map +1 -1
  32. package/dist/cli/wt/completion.test.js +102 -0
  33. package/dist/cli/wt/completion.test.js.map +1 -1
  34. package/dist/cli/wt/config.d.ts +3 -1
  35. package/dist/cli/wt/config.d.ts.map +1 -1
  36. package/dist/cli/wt/config.js +323 -32
  37. package/dist/cli/wt/config.js.map +1 -1
  38. package/dist/cli/wt/config.test.d.ts +2 -0
  39. package/dist/cli/wt/config.test.d.ts.map +1 -1
  40. package/dist/cli/wt/config.test.js +206 -26
  41. package/dist/cli/wt/config.test.js.map +1 -1
  42. package/dist/cli/wt/interactive-menu.d.ts +2 -0
  43. package/dist/cli/wt/interactive-menu.d.ts.map +1 -1
  44. package/dist/cli/wt/interactive-menu.js +346 -73
  45. package/dist/cli/wt/interactive-menu.js.map +1 -1
  46. package/dist/cli/wt/interactive-menu.test.d.ts +4 -2
  47. package/dist/cli/wt/interactive-menu.test.d.ts.map +1 -1
  48. package/dist/cli/wt/interactive-menu.test.js +380 -323
  49. package/dist/cli/wt/interactive-menu.test.js.map +1 -1
  50. package/dist/cli/wt/link.d.ts +3 -1
  51. package/dist/cli/wt/link.d.ts.map +1 -1
  52. package/dist/cli/wt/link.js +125 -38
  53. package/dist/cli/wt/link.js.map +1 -1
  54. package/dist/cli/wt/list.d.ts +4 -1
  55. package/dist/cli/wt/list.d.ts.map +1 -1
  56. package/dist/cli/wt/list.js +85 -16
  57. package/dist/cli/wt/list.js.map +1 -1
  58. package/dist/cli/wt/list.test.d.ts +10 -0
  59. package/dist/cli/wt/list.test.d.ts.map +1 -0
  60. package/dist/cli/wt/list.test.js +157 -0
  61. package/dist/cli/wt/list.test.js.map +1 -0
  62. package/dist/cli/wt/new.d.ts +8 -2
  63. package/dist/cli/wt/new.d.ts.map +1 -1
  64. package/dist/cli/wt/new.js +91 -46
  65. package/dist/cli/wt/new.js.map +1 -1
  66. package/dist/cli/wt/prs.d.ts +2 -1
  67. package/dist/cli/wt/prs.d.ts.map +1 -1
  68. package/dist/cli/wt/prs.js +3 -164
  69. package/dist/cli/wt/prs.js.map +1 -1
  70. package/dist/cli/wt/run-command.d.ts +4 -2
  71. package/dist/cli/wt/run-command.d.ts.map +1 -1
  72. package/dist/cli/wt/run-command.js +6 -4
  73. package/dist/cli/wt/run-command.js.map +1 -1
  74. package/dist/cli/wt/state.d.ts +3 -1
  75. package/dist/cli/wt/state.d.ts.map +1 -1
  76. package/dist/cli/wt/state.js +74 -10
  77. package/dist/cli/wt/state.js.map +1 -1
  78. package/dist/cli/wt/state.test.d.ts +9 -0
  79. package/dist/cli/wt/state.test.d.ts.map +1 -0
  80. package/dist/cli/wt/state.test.js +127 -0
  81. package/dist/cli/wt/state.test.js.map +1 -0
  82. package/dist/cli/wt/wt.test.d.ts +2 -2
  83. package/dist/cli/wt/wt.test.js +430 -212
  84. package/dist/cli/wt/wt.test.js.map +1 -1
  85. package/dist/cli/wt.d.ts.map +1 -1
  86. package/dist/cli/wt.js +50 -36
  87. package/dist/cli/wt.js.map +1 -1
  88. package/dist/cli/wt.unit.test.js +16 -38
  89. package/dist/cli/wt.unit.test.js.map +1 -1
  90. package/dist/cli/wtconfig.js +99 -22
  91. package/dist/cli/wtconfig.js.map +1 -1
  92. package/dist/cli/wtlink.js +85 -61
  93. package/dist/cli/wtlink.js.map +1 -1
  94. package/dist/cli/wtstate.js +21 -2
  95. package/dist/cli/wtstate.js.map +1 -1
  96. package/dist/e2e/wt/interactive-menu.e2e.test.js +17 -17
  97. package/dist/e2e/wt/interactive-menu.e2e.test.js.map +1 -1
  98. package/dist/lib/cleanpr/args.d.ts.map +1 -1
  99. package/dist/lib/cleanpr/args.js +20 -0
  100. package/dist/lib/cleanpr/args.js.map +1 -1
  101. package/dist/lib/cleanpr/types.d.ts +6 -0
  102. package/dist/lib/cleanpr/types.d.ts.map +1 -1
  103. package/dist/lib/colors.d.ts +5 -0
  104. package/dist/lib/colors.d.ts.map +1 -1
  105. package/dist/lib/colors.js +13 -6
  106. package/dist/lib/colors.js.map +1 -1
  107. package/dist/lib/config.test.js +3 -15
  108. package/dist/lib/config.test.js.map +1 -1
  109. package/dist/lib/constants.d.ts +12 -4
  110. package/dist/lib/constants.d.ts.map +1 -1
  111. package/dist/lib/constants.js +24 -5
  112. package/dist/lib/constants.js.map +1 -1
  113. package/dist/lib/constants.test.js +88 -29
  114. package/dist/lib/constants.test.js.map +1 -1
  115. package/dist/lib/deprecation.d.ts +18 -0
  116. package/dist/lib/deprecation.d.ts.map +1 -0
  117. package/dist/lib/deprecation.js +28 -0
  118. package/dist/lib/deprecation.js.map +1 -0
  119. package/dist/lib/deprecation.test.d.ts +2 -0
  120. package/dist/lib/deprecation.test.d.ts.map +1 -0
  121. package/dist/lib/deprecation.test.js +71 -0
  122. package/dist/lib/deprecation.test.js.map +1 -0
  123. package/dist/lib/logger.d.ts +40 -155
  124. package/dist/lib/logger.d.ts.map +1 -1
  125. package/dist/lib/logger.js +349 -420
  126. package/dist/lib/logger.js.map +1 -1
  127. package/dist/lib/logger.test.d.ts +10 -1
  128. package/dist/lib/logger.test.d.ts.map +1 -1
  129. package/dist/lib/logger.test.js +658 -258
  130. package/dist/lib/logger.test.js.map +1 -1
  131. package/dist/lib/lswt/args.d.ts.map +1 -1
  132. package/dist/lib/lswt/args.js +15 -1
  133. package/dist/lib/lswt/args.js.map +1 -1
  134. package/dist/lib/lswt/index.d.ts +1 -0
  135. package/dist/lib/lswt/index.d.ts.map +1 -1
  136. package/dist/lib/lswt/index.js +2 -0
  137. package/dist/lib/lswt/index.js.map +1 -1
  138. package/dist/lib/lswt/table.d.ts +15 -0
  139. package/dist/lib/lswt/table.d.ts.map +1 -0
  140. package/dist/lib/lswt/table.js +61 -0
  141. package/dist/lib/lswt/table.js.map +1 -0
  142. package/dist/lib/lswt/table.test.d.ts +5 -0
  143. package/dist/lib/lswt/table.test.d.ts.map +1 -0
  144. package/dist/lib/lswt/table.test.js +262 -0
  145. package/dist/lib/lswt/table.test.js.map +1 -0
  146. package/dist/lib/lswt/types.d.ts +4 -0
  147. package/dist/lib/lswt/types.d.ts.map +1 -1
  148. package/dist/lib/newpr/args.d.ts.map +1 -1
  149. package/dist/lib/newpr/args.js +21 -0
  150. package/dist/lib/newpr/args.js.map +1 -1
  151. package/dist/lib/newpr/types.d.ts +6 -0
  152. package/dist/lib/newpr/types.d.ts.map +1 -1
  153. package/dist/lib/prs/command.d.ts +21 -0
  154. package/dist/lib/prs/command.d.ts.map +1 -0
  155. package/dist/lib/prs/command.js +175 -0
  156. package/dist/lib/prs/command.js.map +1 -0
  157. package/dist/lib/prs/command.test.d.ts +11 -0
  158. package/dist/lib/prs/command.test.d.ts.map +1 -0
  159. package/dist/lib/prs/command.test.js +409 -0
  160. package/dist/lib/prs/command.test.js.map +1 -0
  161. package/dist/lib/prs/interactive.d.ts.map +1 -1
  162. package/dist/lib/prs/interactive.js +15 -2
  163. package/dist/lib/prs/interactive.js.map +1 -1
  164. package/dist/lib/prs/interactive.test.js +153 -0
  165. package/dist/lib/prs/interactive.test.js.map +1 -1
  166. package/dist/lib/prs/types.d.ts +15 -0
  167. package/dist/lib/prs/types.d.ts.map +1 -1
  168. package/dist/lib/ui/error.d.ts +31 -0
  169. package/dist/lib/ui/error.d.ts.map +1 -0
  170. package/dist/lib/ui/error.js +47 -0
  171. package/dist/lib/ui/error.js.map +1 -0
  172. package/dist/lib/ui/error.test.d.ts +2 -0
  173. package/dist/lib/ui/error.test.d.ts.map +1 -0
  174. package/dist/lib/ui/error.test.js +143 -0
  175. package/dist/lib/ui/error.test.js.map +1 -0
  176. package/dist/lib/ui/index.d.ts +15 -0
  177. package/dist/lib/ui/index.d.ts.map +1 -0
  178. package/dist/lib/ui/index.js +19 -0
  179. package/dist/lib/ui/index.js.map +1 -0
  180. package/dist/lib/ui/output.d.ts +18 -0
  181. package/dist/lib/ui/output.d.ts.map +1 -0
  182. package/dist/lib/ui/output.js +31 -0
  183. package/dist/lib/ui/output.js.map +1 -0
  184. package/dist/lib/ui/output.test.d.ts +2 -0
  185. package/dist/lib/ui/output.test.d.ts.map +1 -0
  186. package/dist/lib/ui/output.test.js +59 -0
  187. package/dist/lib/ui/output.test.js.map +1 -0
  188. package/dist/lib/ui/spinner.d.ts +10 -0
  189. package/dist/lib/ui/spinner.d.ts.map +1 -0
  190. package/dist/lib/ui/spinner.js +10 -0
  191. package/dist/lib/ui/spinner.js.map +1 -0
  192. package/dist/lib/ui/status.d.ts +65 -0
  193. package/dist/lib/ui/status.d.ts.map +1 -0
  194. package/dist/lib/ui/status.js +100 -0
  195. package/dist/lib/ui/status.js.map +1 -0
  196. package/dist/lib/ui/status.test.d.ts +2 -0
  197. package/dist/lib/ui/status.test.d.ts.map +1 -0
  198. package/dist/lib/ui/status.test.js +158 -0
  199. package/dist/lib/ui/status.test.js.map +1 -0
  200. package/dist/lib/ui/table.d.ts +39 -0
  201. package/dist/lib/ui/table.d.ts.map +1 -0
  202. package/dist/lib/ui/table.js +45 -0
  203. package/dist/lib/ui/table.js.map +1 -0
  204. package/dist/lib/ui/table.test.d.ts +2 -0
  205. package/dist/lib/ui/table.test.d.ts.map +1 -0
  206. package/dist/lib/ui/table.test.js +115 -0
  207. package/dist/lib/ui/table.test.js.map +1 -0
  208. package/dist/lib/ui/theme.d.ts +34 -0
  209. package/dist/lib/ui/theme.d.ts.map +1 -0
  210. package/dist/lib/ui/theme.js +37 -0
  211. package/dist/lib/ui/theme.js.map +1 -0
  212. package/dist/lib/ui/theme.test.d.ts +2 -0
  213. package/dist/lib/ui/theme.test.d.ts.map +1 -0
  214. package/dist/lib/ui/theme.test.js +76 -0
  215. package/dist/lib/ui/theme.test.js.map +1 -0
  216. package/dist/lib/wtlink/link-configs.js +7 -7
  217. package/dist/lib/wtlink/link-configs.js.map +1 -1
  218. package/dist/lib/wtlink/validate-manifest.d.ts.map +1 -1
  219. package/dist/lib/wtlink/validate-manifest.js +5 -5
  220. package/dist/lib/wtlink/validate-manifest.js.map +1 -1
  221. package/dist/lib/wtstate/args.d.ts.map +1 -1
  222. package/dist/lib/wtstate/args.js +2 -0
  223. package/dist/lib/wtstate/args.js.map +1 -1
  224. package/dist/mcp/server.d.ts +2 -1
  225. package/dist/mcp/server.d.ts.map +1 -1
  226. package/dist/mcp/server.js +264 -44
  227. package/dist/mcp/server.js.map +1 -1
  228. package/dist/mcp/server.test.js +111 -0
  229. package/dist/mcp/server.test.js.map +1 -1
  230. package/package.json +2 -1
@@ -13,10 +13,12 @@
13
13
  */
14
14
  import { execSync } from 'child_process';
15
15
  import inquirer from 'inquirer';
16
+ import { printDeprecationNotice } from '../lib/deprecation.js';
16
17
  import * as colors from '../lib/colors.js';
17
18
  import * as git from '../lib/git.js';
18
19
  import { getDefaultConfig } from '../lib/config.js';
19
20
  import { detectMigrationIssues, runMigration, formatMigrationReport, formatMigrationReportJSON, } from '../lib/config-migration/index.js';
21
+ import { createSuccessResult, createErrorResult, formatJsonResult, ErrorCode, } from '../lib/json-output.js';
20
22
  /**
21
23
  * Safely get repository root, returning null if not in a git repo
22
24
  */
@@ -32,31 +34,40 @@ import { detectEnvironment, detectDefaultBranch, getInstallCommand, getEditorCom
32
34
  // Parse command line arguments
33
35
  const args = process.argv.slice(2);
34
36
  const command = args[0] || 'show';
37
+ const jsonMode = args.includes('--json');
35
38
  // Entry point
36
39
  main().catch((error) => {
37
- console.error(colors.error(`Error: ${error instanceof Error ? error.message : String(error)}`));
40
+ const message = error instanceof Error ? error.message : String(error);
41
+ if (jsonMode) {
42
+ const errorResult = createErrorResult('wtconfig', ErrorCode.UNKNOWN_ERROR, message);
43
+ console.log(formatJsonResult(errorResult));
44
+ }
45
+ else {
46
+ console.error(colors.error(`Error: ${message}`));
47
+ }
38
48
  process.exit(1);
39
49
  });
40
50
  async function main() {
51
+ printDeprecationNotice('wtconfig', 'wt config');
41
52
  switch (command) {
42
53
  case 'init':
43
54
  case 'wizard':
44
55
  await runWizard();
45
56
  break;
46
57
  case 'show':
47
- await showConfig();
58
+ await showConfig(jsonMode);
48
59
  break;
49
60
  case 'set':
50
61
  await setConfig(args[1], args[2]);
51
62
  break;
52
63
  case 'get':
53
- await getConfig(args[1]);
64
+ await getConfig(args[1], jsonMode);
54
65
  break;
55
66
  case 'edit':
56
67
  await editConfig();
57
68
  break;
58
69
  case 'validate':
59
- await validateCurrentConfig();
70
+ await validateCurrentConfig(jsonMode);
60
71
  break;
61
72
  case 'migrate':
62
73
  await runMigrateCommand();
@@ -67,8 +78,14 @@ async function main() {
67
78
  showHelp();
68
79
  break;
69
80
  default:
70
- console.error(colors.error(`Unknown command: ${command}`));
71
- showHelp();
81
+ if (jsonMode) {
82
+ const errorResult = createErrorResult('wtconfig', ErrorCode.INVALID_ARGUMENT, `Unknown command: ${command}`);
83
+ console.log(formatJsonResult(errorResult));
84
+ }
85
+ else {
86
+ console.error(colors.error(`Unknown command: ${command}`));
87
+ showHelp();
88
+ }
72
89
  process.exit(1);
73
90
  }
74
91
  }
@@ -86,11 +103,13 @@ ${colors.cyan('Usage:')}
86
103
  wtconfig migrate Migrate legacy config to latest version
87
104
  wtconfig help Show this help message
88
105
 
106
+ ${colors.cyan('Global Options:')}
107
+ --json Output results as JSON (for show, get, validate, migrate)
108
+
89
109
  ${colors.cyan('Migration Options:')}
90
110
  --yes Skip confirmation prompts
91
111
  --dry-run Preview changes without modifying files
92
112
  --delete-legacy Delete legacy .wtlinkrc file after migration
93
- --json Output results as JSON
94
113
 
95
114
  ${colors.cyan('Configuration Locations:')}
96
115
  Global: ~/.worktreerc (applies to all repos)
@@ -106,12 +125,23 @@ ${colors.cyan('Examples:')}
106
125
  wtconfig migrate # Interactive migration
107
126
  wtconfig migrate --dry-run # Preview migration changes
108
127
  wtconfig migrate --yes --delete-legacy # Auto-approve and cleanup
128
+
129
+ ${colors.warning('DEPRECATED: Use "wt config" instead. This command will be removed in a future version.')}
109
130
  `);
110
131
  }
111
- async function showConfig() {
132
+ async function showConfig(json = false) {
112
133
  const repoRoot = findRepoRoot();
113
134
  const source = getConfigSource(repoRoot ?? undefined);
114
135
  const config = loadMergedConfig(repoRoot ?? undefined);
136
+ if (json) {
137
+ const result = createSuccessResult('wtconfig', {
138
+ subcommand: 'show',
139
+ source: source.type === 'none' ? null : source.path,
140
+ config,
141
+ });
142
+ console.log(formatJsonResult(result));
143
+ return;
144
+ }
115
145
  const defaults = getDefaultConfig();
116
146
  console.log(colors.info('Current Configuration'));
117
147
  console.log();
@@ -258,10 +288,16 @@ async function setConfig(key, value) {
258
288
  process.exit(1);
259
289
  }
260
290
  }
261
- async function getConfig(key) {
291
+ async function getConfig(key, json = false) {
262
292
  if (!key) {
263
- console.error(colors.error('Usage: wtconfig get <key>'));
264
- console.error(colors.dim('Example: wtconfig get ai.provider'));
293
+ if (json) {
294
+ const errorResult = createErrorResult('wtconfig', ErrorCode.MISSING_ARGUMENT, 'Missing key argument for "get" command');
295
+ console.log(formatJsonResult(errorResult));
296
+ }
297
+ else {
298
+ console.error(colors.error('Usage: wtconfig get <key>'));
299
+ console.error(colors.dim('Example: wtconfig get ai.provider'));
300
+ }
265
301
  process.exit(1);
266
302
  }
267
303
  const repoRoot = findRepoRoot();
@@ -273,9 +309,24 @@ async function getConfig(key) {
273
309
  value = getConfigValue(defaults, key);
274
310
  }
275
311
  if (value === undefined) {
276
- console.error(colors.error(`Unknown configuration key: ${key}`));
312
+ if (json) {
313
+ const errorResult = createErrorResult('wtconfig', ErrorCode.INVALID_ARGUMENT, `Unknown configuration key: ${key}`);
314
+ console.log(formatJsonResult(errorResult));
315
+ }
316
+ else {
317
+ console.error(colors.error(`Unknown configuration key: ${key}`));
318
+ }
277
319
  process.exit(1);
278
320
  }
321
+ if (json) {
322
+ const result = createSuccessResult('wtconfig', {
323
+ subcommand: 'get',
324
+ key,
325
+ value,
326
+ });
327
+ console.log(formatJsonResult(result));
328
+ return;
329
+ }
279
330
  if (typeof value === 'object') {
280
331
  console.log(JSON.stringify(value, null, 2));
281
332
  }
@@ -329,33 +380,59 @@ async function editConfig() {
329
380
  process.exit(1);
330
381
  }
331
382
  }
332
- async function validateCurrentConfig() {
383
+ async function validateCurrentConfig(json = false) {
333
384
  const repoRoot = findRepoRoot();
334
385
  const source = getConfigSource(repoRoot ?? undefined);
335
386
  if (source.type === 'none') {
336
- console.log(colors.success('No configuration file found. Nothing to validate.'));
387
+ if (json) {
388
+ const result = createSuccessResult('wtconfig', {
389
+ subcommand: 'validate',
390
+ valid: true,
391
+ source: null,
392
+ errors: [],
393
+ warnings: [],
394
+ });
395
+ console.log(formatJsonResult(result));
396
+ }
397
+ else {
398
+ console.log(colors.success('No configuration file found. Nothing to validate.'));
399
+ }
337
400
  return;
338
401
  }
339
- console.log(colors.info(`Validating: ${source.path}`));
340
402
  const config = loadMergedConfig(repoRoot ?? undefined);
341
- const result = validateConfig(config);
342
- if (result.valid && result.warnings.length === 0) {
403
+ const validationResult = validateConfig(config);
404
+ if (json) {
405
+ const result = createSuccessResult('wtconfig', {
406
+ subcommand: 'validate',
407
+ valid: validationResult.valid,
408
+ source: source.path,
409
+ errors: validationResult.errors,
410
+ warnings: validationResult.warnings,
411
+ });
412
+ console.log(formatJsonResult(result));
413
+ if (!validationResult.valid) {
414
+ process.exit(1);
415
+ }
416
+ return;
417
+ }
418
+ console.log(colors.info(`Validating: ${source.path}`));
419
+ if (validationResult.valid && validationResult.warnings.length === 0) {
343
420
  console.log(colors.success('Configuration is valid.'));
344
421
  return;
345
422
  }
346
- if (result.errors.length > 0) {
423
+ if (validationResult.errors.length > 0) {
347
424
  console.log(colors.error('\nErrors:'));
348
- for (const error of result.errors) {
425
+ for (const error of validationResult.errors) {
349
426
  console.log(colors.error(` ${error.path}: ${error.message}`));
350
427
  }
351
428
  }
352
- if (result.warnings.length > 0) {
429
+ if (validationResult.warnings.length > 0) {
353
430
  console.log(colors.warning('\nWarnings:'));
354
- for (const warning of result.warnings) {
431
+ for (const warning of validationResult.warnings) {
355
432
  console.log(colors.warning(` ${warning.path}: ${warning.message}`));
356
433
  }
357
434
  }
358
- if (!result.valid) {
435
+ if (!validationResult.valid) {
359
436
  process.exit(1);
360
437
  }
361
438
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wtconfig.js","sourceRoot":"","sources":["../../src/cli/wtconfig.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAE1C;;GAEG;AACH,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AACD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GAGzB,MAAM,0BAA0B,CAAC;AAGlC,+BAA+B;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;AAElC,cAAc;AACd,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACX,MAAM,SAAS,EAAE,CAAC;YAClB,MAAM;QAER,KAAK,MAAM;YACT,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM;QAER,KAAK,KAAK;YACR,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM;QAER,KAAK,KAAK;YACR,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM;QAER,KAAK,MAAM;YACT,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM;QAER,KAAK,UAAU;YACb,MAAM,qBAAqB,EAAE,CAAC;YAC9B,MAAM;QAER,KAAK,SAAS;YACZ,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM;QAER,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,QAAQ,EAAE,CAAC;YACX,MAAM;QAER;YACE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC,CAAC;YAC3D,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;EACZ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;;EAEvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;EAUrB,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;;;;;;EAMjC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC;;;;EAIvC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;;;;;;;;;;CAUzB,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IAEpC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAAsB,EACtB,QAAwB,EACxB,aAAsB;IAEtB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,KAAc,EAAE,YAAqB,EAAE,EAAE;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrF,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzE,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC7F,OAAO,CACL,iBAAiB,EACjB,MAAM,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,EAClD,QAAQ,CAAC,eAAe,CACzB,CAAC;IACF,OAAO,CACL,gBAAgB,EAChB,MAAM,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,EAChD,QAAQ,CAAC,cAAc,CACxB,CAAC;IACF,OAAO,CACL,iBAAiB,EACjB,MAAM,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,EAClD,QAAQ,CAAC,eAAe,CACzB,CAAC;IAEF,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC;IAED,YAAY;IACZ,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC1B,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpF,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5F,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAChF,IAAI,EAAE,CAAC,aAAa,KAAK,SAAS;YAChC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,eAAe;IACf,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACvF,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,UAAU;IACV,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,aAAa;IACb,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,MAAM,OAAO,GAAG,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,eAAe;IACf,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClD,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAuB,EAAE,KAAyB;IACzE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kBAAkB;IAClB,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAsC;QAClF;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBACxE,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE;aACpD;YACD,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SACtC;KACF,CAAC,CAAC;IAEH,MAAM,aAAa,GACjB,YAAY,KAAK,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAElG,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAE5D,yBAAyB;QACzB,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAChE,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,gBAAgB;QAChB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO;QACP,IAAI,YAAY,KAAK,MAAM,IAAI,QAAQ,EAAE,CAAC;YACxC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,MAAM,KAAK,iBAAiB,CAAC,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,MAAM,KAAK,mBAAmB,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,MAAM,CAAC,KAAK,CAAC,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAC/F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAuB;IAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IAEpC,2CAA2C;IAC3C,IAAI,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAEhC,+BAA+B;IAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAsC;QAClF;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,kDAAkD;YAC3D,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBACxE,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE;aACpD;YACD,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SACtC;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GACd,YAAY,KAAK,MAAM,IAAI,QAAQ;QACjC,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,mBAAmB,EAAE,CAAC;IAE5B,gDAAgD;IAChD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAsB;YAC5D;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG,UAAU,6BAA6B;gBACnD,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,iBAAiB;IACjB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,UAAU,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,QAAQ,CAAC,GAAG,MAAM,KAAK,UAAU,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB;IAClC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IAEtD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAEtC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,iCAAiC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAEhC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAElD,mBAAmB;IACnB,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CACxF,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;gBACb,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,8FAA8F;aACjG,CAAC,CACH,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC,CAAC;QAC5F,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,aAAa;YAChC,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM;YAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,6CAA6C;IAC7C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAuB;YAC9D;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,kBAAkB;gBAC3B,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC,CAAC;IAE5F,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAEjE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAEnE,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,qBAAqB,CAAC,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,uDAAuD,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC9F,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,qBAAqB;IACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IAErD,4BAA4B;IAC5B,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAExB,mBAAmB;IACnB,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAElD,sBAAsB;IACtB,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEhD,wBAAwB;IACxB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,eAAe;IACf,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAA+C;QACzF;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBAChF,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC1D,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;aACpC;YACD,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SACtC;KACF,CAAC,CAAC;IAEH,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,IAAI,UAAU,KAAK,MAAM,IAAI,QAAQ,EAAE,CAAC;QACtC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;SAAM,CAAC;QACN,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,mBAAmB;IACnB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAoB;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjC,MAAM;IACN,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,QAAQ,GAAG,CAAC,GAAG,CAAC,OAAO,gBAAgB,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,GAAG,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,OAAO,8DAA8D,CAC7F,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,gBAAgB,CAAC,CAAC;IACxC,CAAC;IAED,aAAa;IACb,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,4BAA4B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACrF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,kEAAkE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,4EAA4E,CACrF,CAAC;IACJ,CAAC;IAED,WAAW;IACX,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,GAAG,CAAC,EAAE,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,GAAG,CAAC,EAAE,CAAC,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACpE,CAAC;IAED,kBAAkB;IAClB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,qBAAqB,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM;IACN,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAoB,EAAE,QAAuB;IACzE,6BAA6B;IAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAExE,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAIhC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,8BAA8B;YACvC,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,GAAG,aAAa,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC7D,GAAG,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACrC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE;aACzC;YACD,OAAO,EAAE,aAAa;SACvB;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE,KAAK;SACf;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE;gBAClD,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,SAAS,EAAE;gBACxD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE;gBACzC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,EAAE;aACxC;YACD,OAAO,EAAE,MAAM;SAChB;KACF,CAAC,CAAC;IAEH,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAClC,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAA2B;YACvE;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,gCAAgC;gBACzC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,yBAAyB;aAC1E;SACF,CAAC,CAAC;QACH,UAAU,GAAG,YAAY,CAAC;IAC5B,CAAC;IAED,4BAA4B;IAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAGhC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,oCAAoC;YAC7C,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,qCAAqC,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjE,EAAE,IAAI,EAAE,4CAA4C,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACvE,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE;aAChD;YACD,OAAO,EAAE,SAAS;SACnB;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,sCAAsC,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBAC5E,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC3D,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,UAAU,EAAE;aAC/D;YACD,OAAO,EAAE,mBAAmB;SAC7B;KACF,CAAC,CAAC;IAEH,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,KAAK,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACxC,cAAc,GAAG,YAAY,CAAC;IAChC,CAAC;SAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAA2B;YACvE;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,iEAAiE;gBAC1E,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CAAC;QACH,cAAc,GAAG,YAAY,CAAC;IAChC,CAAC;IAED,yBAAyB;IACzB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,UAAU,GAA8B,MAAM,CAAC;IACnD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC;IAExF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,gBAAgB,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU;YACxC,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS;gBAChB,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM;oBACb,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,WAAW,CAAC;QAEpB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAA2C;YAC7E;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,GAAG,gBAAgB,0CAA0C;gBACtE,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,gCAAgC,gBAAgB,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;oBAC3E,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,WAAW,EAAE;oBACxD,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,IAAI,EAAE;iBAC/C;gBACD,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7B,SAAS,GAAG,IAAI,CAAC;YAEjB,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC9B,UAAU,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU;oBAC5B,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS;wBAChB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM;4BACb,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,QAAQ,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAE7C;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,qBAAqB;wBAC9B,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE;4BACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;4BACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;4BACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;4BACnC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE;yBAC5C;qBACF;iBACF,CAAC,CAAC;gBACH,UAAU,GAAG,cAAc,CAAC;YAC9B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAA2B;gBAC7D;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,6CAA6C;oBACtD,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,wCAAwC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE;wBACtF,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;wBAC5E;4BACE,IAAI,EAAE,uCAAuC;4BAC7C,KAAK,EAAE,eAAe;4BACtB,OAAO,EAAE,IAAI;yBACd;wBACD;4BACE,IAAI,EAAE,8CAA8C;4BACpD,KAAK,EAAE,eAAe;4BACtB,OAAO,EAAE,KAAK;yBACf;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACxD,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAClD,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC9D,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,2BAA2B;IAC3B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,WAAW,GAAwD,EAAE,CAAC;IAE5E,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,mBAAmB,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,2BAA2B;YACzF,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,iCAAiC,UAAU,EAAE;YACnD,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,eAAe,GAAiC,MAAM,CAAC;IAE3D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAsB;YACvD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,2BAA2B;gBACpC,OAAO,EAAE,WAAW;aACrB;SACF,CAAC,CAAC;QAEH,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC5C,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEhD,IAAI,UAAU,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAE3C;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,mBAAmB;oBAC5B,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACnC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE;qBACvC;iBACF;aACF,CAAC,CAAC;YACH,eAAe,GAAG,YAAY,CAAC;QACjC,CAAC;aAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAC1B,eAAe,GAAG,QAAQ,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,QAAQ,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,4CAA4C;IAC5C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAiC;QAClF;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,kEAAkE;YAC3E,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAA8B,EAAE,CAAC;IACjD,MAAM,YAAY,GAAgC,EAAE,CAAC;IAErD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,UAAU;QACV,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAA0B;YACpE;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,8CAA8C;gBACvD,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAyB;gBACnE;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,6CAA6C;oBACtD,OAAO,EAAE,EAAE;iBACZ;aACF,CAAC,CAAC;YACH,OAAO,GAAG,UAAU;iBACjB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,oBAAoB;QACpB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAA6B;YAC1E;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,wDAAwD;gBACjE,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QAEH,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,MAAM,CAKrC;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,0DAA0D;oBACnE,OAAO,EAAE,EAAE;iBACZ;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,uDAAuD;oBAChE,OAAO,EAAE,EAAE;iBACZ;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,6DAA6D;oBACtE,OAAO,EAAE,EAAE;iBACZ;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,6DAA6D;oBACtE,OAAO,EAAE,EAAE;iBACZ;aACF,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,aAAa;gBAAE,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC;YAC/E,IAAI,UAAU,CAAC,UAAU;gBAAE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC;YACtE,IAAI,UAAU,CAAC,SAAS;gBAAE,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC;YAC1E,IAAI,UAAU,CAAC,YAAY;gBAAE,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,YAAY,CAAC;QAClF,CAAC;QAED,eAAe;QACf,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAkC;YACnF;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACnD,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC/C,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,OAAO,EAAE;iBAClD;aACF;SACF,CAAC,CAAC;QAEH,IAAI,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAwC;gBAChF;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,iBAAiB;oBAC1B,OAAO,EAAE,EAAE;iBACZ;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,0CAA0C;oBACnD,OAAO,EAAE,gBAAgB;iBAC1B;aACF,CAAC,CAAC;YACH,YAAY,CAAC,MAAM,GAAG;gBACpB,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,SAAS;gBACxC,SAAS,EAAE,YAAY,CAAC,SAAS,IAAI,SAAS;aAC/C,CAAC;QACJ,CAAC;QAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,MAAM,CAIrC;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,gCAAgC;oBACzC,OAAO,EAAE,EAAE;iBACZ;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,gBAAgB;oBACzB,OAAO,EAAE,EAAE;iBACZ;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,0CAA0C;oBACnD,OAAO,EAAE,gBAAgB;iBAC1B;aACF,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,GAAG;gBAClB,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,SAAS;gBAC9C,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,SAAS;gBACxC,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,SAAS;aACjD,CAAC;QACJ,CAAC;QAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CAA0C;gBACjF;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,sCAAsC;oBAC/C,OAAO,EAAE,mBAAmB;iBAC7B;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,wBAAwB;oBACjC,OAAO,EAAE,EAAE;iBACZ;aACF,CAAC,CAAC;YACH,YAAY,CAAC,KAAK,GAAG;gBACnB,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,SAAS;gBAC/C,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,SAAS;aAC1C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU;QACV,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,cAAc;QACd,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe;QACf,SAAS;QACT,UAAU;QACV,YAAY;QACZ,SAAS;QACT,eAAe;QACf,eAAe;QACf,KAAK,EAAE;YACL,QAAQ;YACR,UAAU;SACX;QACD,OAAO;QACP,UAAU;QACV,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAkB,EAAE,GAAoB;IACpE,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,kCAAkC;IAClC,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IAEpC,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,EAAE,CAAC;QACvD,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IACjD,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;QACrD,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IAC/C,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,EAAE,CAAC;QACvD,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IACjD,CAAC;IAED,mBAAmB;IACnB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,GAAG;YACV,QAAQ,EAAE,KAAK,CAAC,UAAU;YAC1B,UAAU,EAAE,KAAK,CAAC,YAAY;YAC9B,OAAO,EAAE,KAAK,CAAC,SAAS;YACxB,aAAa,EAAE,KAAK,CAAC,eAAe;YACpC,aAAa,EAAE,KAAK,CAAC,eAAe;SACrC,CAAC;IACJ,CAAC;IAED,QAAQ;IACR,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QACnE,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG;YACb,eAAe,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;SACvD,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,UAAU;IACV,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,oBAAoB;IACpB,IAAI,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACvC,CAAC;IAED,eAAe;IACf,IAAI,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"wtconfig.js","sourceRoot":"","sources":["../../src/cli/wtconfig.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,12 @@
14
14
  */
15
15
  import yargs from 'yargs';
16
16
  import { hideBin } from 'yargs/helpers';
17
+ import { printDeprecationNotice } from '../lib/deprecation.js';
17
18
  import * as colors from '../lib/colors.js';
19
+ import { setColorEnabled } from '../lib/colors.js';
20
+ import { initializeLogger } from '../lib/logger.js';
21
+ import { printError, setJsonMode, isJsonMode } from '../lib/ui/index.js';
22
+ import { ManifestError } from '../lib/errors.js';
18
23
  import * as manage from '../lib/wtlink/manage-manifest.js';
19
24
  import * as link from '../lib/wtlink/link-configs.js';
20
25
  import * as validate from '../lib/wtlink/validate-manifest.js';
@@ -22,6 +27,8 @@ import { hasLegacyManifest } from '../lib/wtlink/config-manifest.js';
22
27
  import * as git from '../lib/git.js';
23
28
  import { DEFAULT_MANIFEST_FILE } from '../lib/constants.js';
24
29
  import { detectMigrationIssues, runMigration, formatMigrationReport, } from '../lib/config-migration/index.js';
30
+ import { createErrorResult, formatJsonResult, ErrorCode, getErrorCodeFromError, } from '../lib/json-output.js';
31
+ printDeprecationNotice('wtlink', 'wt link');
25
32
  yargs(hideBin(process.argv))
26
33
  .scriptName('wtlink')
27
34
  .pkgConf('wtlink')
@@ -36,6 +43,38 @@ yargs(hideBin(process.argv))
36
43
  description: 'Output result as JSON for programmatic parsing (AI/automation)',
37
44
  type: 'boolean',
38
45
  default: false,
46
+ })
47
+ .option('verbose', {
48
+ alias: 'v',
49
+ type: 'boolean',
50
+ description: 'Enable verbose debug output',
51
+ default: false,
52
+ global: true,
53
+ })
54
+ .option('quiet', {
55
+ type: 'boolean',
56
+ description: 'Suppress all output except errors',
57
+ default: false,
58
+ global: true,
59
+ })
60
+ .option('no-color', {
61
+ type: 'boolean',
62
+ description: 'Disable colored output',
63
+ default: false,
64
+ global: true,
65
+ })
66
+ .middleware((argv) => {
67
+ initializeLogger({
68
+ verbose: argv.verbose,
69
+ quiet: argv.quiet,
70
+ noColor: argv['no-color'] || argv.noColor,
71
+ json: argv.json,
72
+ commandName: 'wtlink',
73
+ });
74
+ setJsonMode(argv.json);
75
+ if (argv['no-color'] || argv.noColor) {
76
+ setColorEnabled(false);
77
+ }
39
78
  })
40
79
  .command('manage', 'Discover and manage the worktree config manifest', (yargs) => {
41
80
  return yargs
@@ -62,12 +101,6 @@ yargs(hideBin(process.argv))
62
101
  type: 'boolean',
63
102
  description: 'Create a backup of the manifest before updating',
64
103
  default: false,
65
- })
66
- .option('verbose', {
67
- alias: 'v',
68
- type: 'boolean',
69
- description: 'Show full file list in non-interactive/dry-run mode (default: summary)',
70
- default: false,
71
104
  });
72
105
  }, async (argv) => {
73
106
  await manage.run(argv);
@@ -165,42 +198,23 @@ yargs(hideBin(process.argv))
165
198
  }
166
199
  })
167
200
  .wrap(Math.max(40, Math.min(100, process.stdout.columns ?? 100)))
201
+ .epilog('DEPRECATED: Use "wt link" instead. This command will be removed in a future version.')
168
202
  .help()
169
203
  .alias('h', 'help')
170
204
  .strict()
171
205
  .fail((msg, err) => {
172
- if (err) {
173
- // An error thrown from a command - provide friendly message with suggestion
174
- const message = err.message;
175
- console.error(colors.error(message));
176
- // Add helpful suggestions based on the error
177
- if (message.includes('Unable to detect an alternate worktree')) {
178
- console.error('');
179
- console.error(colors.dim('You are running from the main worktree with only one worktree available.'));
180
- console.error(colors.dim('To link config files, you need at least two worktrees.'));
181
- console.error('');
182
- console.error(colors.dim('To fix:'));
183
- console.error(colors.dim(' 1. Create a PR worktree: newpr "My feature"'));
184
- console.error(colors.dim(' 2. Then link configs: wtlink link . ../my-repo.pr42'));
185
- }
186
- else if (message.includes('Failed to inspect git worktrees')) {
187
- console.error('');
188
- console.error(colors.dim('Specify the source path explicitly:'));
189
- console.error(colors.dim(' wtlink link /path/to/source /path/to/dest'));
190
- }
191
- else if (message.includes('not a git repository')) {
192
- console.error('');
193
- console.error(colors.dim('Run this command from within a git repository.'));
194
- }
195
- else if (message.includes('Manifest file not found')) {
196
- console.error('');
197
- console.error(colors.dim('Create a manifest first:'));
198
- console.error(colors.dim(' wtlink manage'));
199
- }
206
+ if (isJsonMode()) {
207
+ const errorResult = createErrorResult('wtlink', err ? getErrorCodeFromError(err) : ErrorCode.INVALID_ARGUMENT, err?.message || msg);
208
+ console.log(formatJsonResult(errorResult));
209
+ }
210
+ else if (err) {
211
+ const detail = err instanceof ManifestError && err.issues
212
+ ? err.issues.map((p) => ` - ${p}`).join('\n')
213
+ : undefined;
214
+ printError({ title: err.message, detail, hint: getWtlinkHint(err.message) });
200
215
  }
201
216
  else {
202
- // A yargs validation error
203
- console.error(colors.red(msg));
217
+ printError({ title: msg });
204
218
  }
205
219
  process.exit(1);
206
220
  })
@@ -213,32 +227,42 @@ yargs(hideBin(process.argv))
213
227
  }
214
228
  })
215
229
  .catch((err) => {
216
- const message = err instanceof Error ? err.message : String(err);
217
- console.error(colors.error(message));
218
- // Add helpful suggestions based on the error
219
- if (message.includes('Unable to detect an alternate worktree')) {
220
- console.error('');
221
- console.error(colors.dim('You are running from the main worktree with only one worktree available.'));
222
- console.error(colors.dim('To link config files, you need at least two worktrees.'));
223
- console.error('');
224
- console.error(colors.dim('To fix:'));
225
- console.error(colors.dim(' 1. Create a PR worktree: newpr "My feature"'));
226
- console.error(colors.dim(' 2. Then link configs: wtlink link . ../my-repo.pr42'));
227
- }
228
- else if (message.includes('Failed to inspect git worktrees')) {
229
- console.error('');
230
- console.error(colors.dim('Specify the source path explicitly:'));
231
- console.error(colors.dim(' wtlink link /path/to/source /path/to/dest'));
232
- }
233
- else if (message.includes('not a git repository')) {
234
- console.error('');
235
- console.error(colors.dim('Run this command from within a git repository.'));
236
- }
237
- else if (message.includes('Manifest file not found')) {
238
- console.error('');
239
- console.error(colors.dim('Create a manifest first:'));
240
- console.error(colors.dim(' wtlink manage'));
230
+ if (isJsonMode()) {
231
+ const errorResult = createErrorResult('wtlink', getErrorCodeFromError(err), err instanceof Error ? err.message : String(err));
232
+ console.log(formatJsonResult(errorResult));
233
+ }
234
+ else {
235
+ const message = err instanceof Error ? err.message : String(err);
236
+ const detail = err instanceof ManifestError && err.issues
237
+ ? err.issues.map((p) => ` - ${p}`).join('\n')
238
+ : undefined;
239
+ printError({ title: message, detail, hint: getWtlinkHint(message) });
241
240
  }
242
241
  process.exit(1);
243
242
  });
243
+ /**
244
+ * Map error messages to contextual hints for wtlink commands
245
+ */
246
+ function getWtlinkHint(message) {
247
+ if (message.includes('Unable to detect an alternate worktree')) {
248
+ return ('You are running from the main worktree with only one worktree available.\n' +
249
+ 'To link config files, you need at least two worktrees.\n\n' +
250
+ 'To fix:\n' +
251
+ ' 1. Create a PR worktree: newpr "My feature"\n' +
252
+ ' 2. Then link configs: wtlink link . ../my-repo.pr42');
253
+ }
254
+ if (message.includes('Failed to inspect git worktrees')) {
255
+ return 'Specify the source path explicitly:\n wtlink link /path/to/source /path/to/dest';
256
+ }
257
+ if (message.includes('not a git repository')) {
258
+ return 'Run this command from within a git repository.';
259
+ }
260
+ if (message.includes('Manifest file not found')) {
261
+ return 'Create a manifest first:\n wtlink manage';
262
+ }
263
+ if (message.includes('Manifest validation failed')) {
264
+ return 'Run "wtlink manage" to fix manifest issues.';
265
+ }
266
+ return undefined;
267
+ }
244
268
  //# sourceMappingURL=wtlink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wtlink.js","sourceRoot":"","sources":["../../src/cli/wtlink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wtlink.js","sourceRoot":"","sources":["../../src/cli/wtlink.ts"],"names":[],"mappings":"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"}