specweave 2.2.1 → 2.2.3

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 (114) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CLAUDE.md +21 -36
  3. package/dist/src/cli/dispatcher.d.ts +1 -1
  4. package/dist/src/cli/dispatcher.js +1 -1
  5. package/dist/src/cli/helpers/init/instruction-file-merger.js +2 -2
  6. package/dist/src/cli/helpers/init/instruction-file-merger.js.map +1 -1
  7. package/dist/src/core/auto/completion-evaluator.d.ts +1 -1
  8. package/dist/src/core/auto/completion-evaluator.js +1 -1
  9. package/dist/src/core/fabric/security-judge.d.ts.map +1 -1
  10. package/dist/src/core/fabric/security-judge.js +37 -5
  11. package/dist/src/core/fabric/security-judge.js.map +1 -1
  12. package/dist/src/core/jev/browse.d.ts +2 -2
  13. package/dist/src/core/jev/browse.d.ts.map +1 -1
  14. package/dist/src/core/jev/browse.js +57 -11
  15. package/dist/src/core/jev/browse.js.map +1 -1
  16. package/dist/src/core/jev/client.d.ts.map +1 -1
  17. package/dist/src/core/jev/client.js +49 -20
  18. package/dist/src/core/jev/client.js.map +1 -1
  19. package/dist/src/core/jev/decide.d.ts.map +1 -1
  20. package/dist/src/core/jev/decide.js +12 -7
  21. package/dist/src/core/jev/decide.js.map +1 -1
  22. package/dist/src/core/llm/index.d.ts +1 -1
  23. package/dist/src/core/llm/index.js +1 -1
  24. package/dist/src/core/llm/model-capabilities.d.ts +79 -0
  25. package/dist/src/core/llm/model-capabilities.d.ts.map +1 -0
  26. package/dist/src/core/llm/model-capabilities.js +157 -0
  27. package/dist/src/core/llm/model-capabilities.js.map +1 -0
  28. package/dist/src/core/llm/provider-factory.js +1 -1
  29. package/dist/src/core/llm/providers/anthropic-provider.d.ts +1 -0
  30. package/dist/src/core/llm/providers/anthropic-provider.d.ts.map +1 -1
  31. package/dist/src/core/llm/providers/anthropic-provider.js +38 -11
  32. package/dist/src/core/llm/providers/anthropic-provider.js.map +1 -1
  33. package/dist/src/core/llm/providers/bedrock-provider.d.ts.map +1 -1
  34. package/dist/src/core/llm/providers/bedrock-provider.js +10 -5
  35. package/dist/src/core/llm/providers/bedrock-provider.js.map +1 -1
  36. package/dist/src/core/llm/providers/claude-code-provider.js +1 -1
  37. package/dist/src/core/llm/types.d.ts +20 -1
  38. package/dist/src/core/llm/types.d.ts.map +1 -1
  39. package/dist/src/core/llm/types.js.map +1 -1
  40. package/dist/src/core/session/handoff-secret-scrub.d.ts.map +1 -1
  41. package/dist/src/core/session/handoff-secret-scrub.js +2 -1
  42. package/dist/src/core/session/handoff-secret-scrub.js.map +1 -1
  43. package/dist/src/core/skill-gen/signal-collector.js +1 -1
  44. package/dist/src/core/skill-gen/signal-collector.js.map +1 -1
  45. package/dist/src/core/skill-gen/suggestion-engine.js +1 -1
  46. package/dist/src/core/skill-gen/suggestion-engine.js.map +1 -1
  47. package/dist/src/core/skill-gen/types.d.ts +1 -1
  48. package/dist/src/core/skill-gen/types.d.ts.map +1 -1
  49. package/dist/src/core/skill-refine/haiku-diff.d.ts +25 -2
  50. package/dist/src/core/skill-refine/haiku-diff.d.ts.map +1 -1
  51. package/dist/src/core/skill-refine/haiku-diff.js +18 -5
  52. package/dist/src/core/skill-refine/haiku-diff.js.map +1 -1
  53. package/dist/src/core/skills/skill-judge.d.ts +16 -17
  54. package/dist/src/core/skills/skill-judge.d.ts.map +1 -1
  55. package/dist/src/core/skills/skill-judge.js +39 -36
  56. package/dist/src/core/skills/skill-judge.js.map +1 -1
  57. package/dist/src/dashboard/server/data/cost-aggregator.d.ts.map +1 -1
  58. package/dist/src/dashboard/server/data/cost-aggregator.js +2 -0
  59. package/dist/src/dashboard/server/data/cost-aggregator.js.map +1 -1
  60. package/dist/src/utils/pricing-constants.d.ts +1 -1
  61. package/dist/src/utils/pricing-constants.d.ts.map +1 -1
  62. package/dist/src/utils/pricing-constants.js +3 -1
  63. package/dist/src/utils/pricing-constants.js.map +1 -1
  64. package/package.json +2 -2
  65. package/plugins/specweave/.claude-plugin/plugin.json +1 -1
  66. package/plugins/specweave/.lint/skill-lint.test.ts +104 -92
  67. package/plugins/specweave/skills/team/agents/_protocol.md +8 -52
  68. package/plugins/specweave/skills/team/agents/backend.md +2 -5
  69. package/plugins/specweave/skills/team/agents/brainstorm-advocate.md +4 -2
  70. package/plugins/specweave/skills/team/agents/brainstorm-critic.md +4 -2
  71. package/plugins/specweave/skills/team/agents/brainstorm-pragmatist.md +4 -2
  72. package/plugins/specweave/skills/team/agents/database.md +0 -2
  73. package/plugins/specweave/skills/team/agents/testing.md +0 -2
  74. package/dist/src/cli/helpers/init/ado-repo-cloning.d.ts +0 -32
  75. package/dist/src/cli/helpers/init/ado-repo-cloning.d.ts.map +0 -1
  76. package/dist/src/cli/helpers/init/ado-repo-cloning.js +0 -157
  77. package/dist/src/cli/helpers/init/ado-repo-cloning.js.map +0 -1
  78. package/dist/src/cli/helpers/init/api-docs-config.d.ts +0 -67
  79. package/dist/src/cli/helpers/init/api-docs-config.d.ts.map +0 -1
  80. package/dist/src/cli/helpers/init/api-docs-config.js +0 -426
  81. package/dist/src/cli/helpers/init/api-docs-config.js.map +0 -1
  82. package/dist/src/cli/helpers/init/bitbucket-repo-cloning.d.ts +0 -42
  83. package/dist/src/cli/helpers/init/bitbucket-repo-cloning.d.ts.map +0 -1
  84. package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js +0 -261
  85. package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js.map +0 -1
  86. package/dist/src/cli/helpers/init/brownfield-analysis.d.ts +0 -45
  87. package/dist/src/cli/helpers/init/brownfield-analysis.d.ts.map +0 -1
  88. package/dist/src/cli/helpers/init/brownfield-analysis.js +0 -431
  89. package/dist/src/cli/helpers/init/brownfield-analysis.js.map +0 -1
  90. package/dist/src/cli/helpers/init/claude-settings-lsp.d.ts +0 -55
  91. package/dist/src/cli/helpers/init/claude-settings-lsp.d.ts.map +0 -1
  92. package/dist/src/cli/helpers/init/claude-settings-lsp.js +0 -270
  93. package/dist/src/cli/helpers/init/claude-settings-lsp.js.map +0 -1
  94. package/dist/src/cli/helpers/init/multi-project-folders.d.ts +0 -15
  95. package/dist/src/cli/helpers/init/multi-project-folders.d.ts.map +0 -1
  96. package/dist/src/cli/helpers/init/multi-project-folders.js +0 -43
  97. package/dist/src/cli/helpers/init/multi-project-folders.js.map +0 -1
  98. package/dist/src/cli/helpers/init/plugin-install-flags.d.ts +0 -114
  99. package/dist/src/cli/helpers/init/plugin-install-flags.d.ts.map +0 -1
  100. package/dist/src/cli/helpers/init/plugin-install-flags.js +0 -202
  101. package/dist/src/cli/helpers/init/plugin-install-flags.js.map +0 -1
  102. package/dist/src/cli/helpers/init/prompt-flow.d.ts +0 -59
  103. package/dist/src/cli/helpers/init/prompt-flow.d.ts.map +0 -1
  104. package/dist/src/cli/helpers/init/prompt-flow.js +0 -127
  105. package/dist/src/cli/helpers/init/prompt-flow.js.map +0 -1
  106. package/dist/src/cli/helpers/init/testing-config.d.ts +0 -69
  107. package/dist/src/cli/helpers/init/testing-config.d.ts.map +0 -1
  108. package/dist/src/cli/helpers/init/testing-config.js +0 -433
  109. package/dist/src/cli/helpers/init/testing-config.js.map +0 -1
  110. package/dist/src/cli/helpers/init/umbrella-cloning.d.ts +0 -39
  111. package/dist/src/cli/helpers/init/umbrella-cloning.d.ts.map +0 -1
  112. package/dist/src/cli/helpers/init/umbrella-cloning.js +0 -121
  113. package/dist/src/cli/helpers/init/umbrella-cloning.js.map +0 -1
  114. package/plugins/specweave/.lint/skill-lint.ts +0 -51
@@ -1,59 +0,0 @@
1
- /**
2
- * Streamlined prompt flow for init command
3
- *
4
- * Orchestrates the minimal set of questions needed:
5
- * 1. Provider auto-detect → confirm/prompt if not found
6
- * 2. Credentials auto-detect → prompt if not found
7
- * 3. Multi-repo expansion (only for org-level providers like ADO)
8
- * 4. Tracker auto-suggest from provider → confirm/select
9
- * 5. Tracker credentials (only if tracker differs from provider)
10
- *
11
- * No greenfield/brownfield question — handled by isGreenfield() post-hoc.
12
- * No mono/multi-repo taxonomy — emerges from "add more repos?" context.
13
- *
14
- * Part of 0200-init-two-phase-redesign (T-004)
15
- */
16
- import type { ProviderInfo } from './provider-detection.js';
17
- export interface TrackerInfo {
18
- type: 'github-issues' | 'jira' | 'ado-boards' | 'none';
19
- name: string;
20
- }
21
- export interface PromptFlowContext {
22
- targetDir: string;
23
- language: string;
24
- isCI: boolean;
25
- existingConfig?: Record<string, any>;
26
- }
27
- export interface PromptFlowResult {
28
- provider: ProviderInfo | null;
29
- credentials: string | null;
30
- tracker: TrackerInfo;
31
- trackerCredentials?: Record<string, string>;
32
- additionalRepos: string[];
33
- }
34
- export interface PromptCallbacks {
35
- confirmTracker(suggested: TrackerInfo): Promise<boolean>;
36
- selectTracker(): Promise<TrackerInfo>;
37
- promptCredentials(providerType: string): Promise<string>;
38
- promptTrackerCredentials(trackerType: string): Promise<Record<string, string>>;
39
- confirmAddRepos(org: string): Promise<boolean>;
40
- selectRepos(org: string, providerType: string): Promise<string[]>;
41
- selectProvider(): Promise<ProviderInfo | null>;
42
- }
43
- export interface PromptFlowDeps {
44
- detectProvider(targetDir: string): ProviderInfo | null;
45
- detectCredentials(targetDir: string, provider: string): string | null;
46
- prompts: PromptCallbacks;
47
- }
48
- /**
49
- * Suggest a tracker based on the detected provider.
50
- */
51
- export declare function suggestTracker(provider: ProviderInfo | null): TrackerInfo;
52
- /**
53
- * Run the streamlined prompt flow.
54
- *
55
- * In interactive mode, asks only the minimal questions needed.
56
- * In CI mode, auto-detects everything and skips all prompts.
57
- */
58
- export declare function runPromptFlow(ctx: PromptFlowContext, deps: PromptFlowDeps): Promise<PromptFlowResult>;
59
- //# sourceMappingURL=prompt-flow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-flow.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/prompt-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/E,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,cAAc,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IACvD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtE,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,WAAW,CAWzE;AAyBD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAqE3B"}
@@ -1,127 +0,0 @@
1
- /**
2
- * Streamlined prompt flow for init command
3
- *
4
- * Orchestrates the minimal set of questions needed:
5
- * 1. Provider auto-detect → confirm/prompt if not found
6
- * 2. Credentials auto-detect → prompt if not found
7
- * 3. Multi-repo expansion (only for org-level providers like ADO)
8
- * 4. Tracker auto-suggest from provider → confirm/select
9
- * 5. Tracker credentials (only if tracker differs from provider)
10
- *
11
- * No greenfield/brownfield question — handled by isGreenfield() post-hoc.
12
- * No mono/multi-repo taxonomy — emerges from "add more repos?" context.
13
- *
14
- * Part of 0200-init-two-phase-redesign (T-004)
15
- */
16
- /**
17
- * Suggest a tracker based on the detected provider.
18
- */
19
- export function suggestTracker(provider) {
20
- if (!provider)
21
- return { type: 'none', name: 'None' };
22
- switch (provider.provider) {
23
- case 'github':
24
- return { type: 'github-issues', name: 'GitHub Issues' };
25
- case 'ado':
26
- return { type: 'ado-boards', name: 'Azure DevOps Boards' };
27
- default:
28
- return { type: 'none', name: 'None' };
29
- }
30
- }
31
- /**
32
- * Check if separate tracker credentials are needed.
33
- * Not needed when tracker matches provider (creds are reused).
34
- */
35
- function needsTrackerCredentials(provider, tracker) {
36
- if (tracker.type === 'none')
37
- return false;
38
- if (!provider)
39
- return true;
40
- if (provider.provider === 'github' && tracker.type === 'github-issues')
41
- return false;
42
- if (provider.provider === 'ado' && tracker.type === 'ado-boards')
43
- return false;
44
- return true;
45
- }
46
- /**
47
- * Extract existing tracker config from a previously saved config.json.
48
- */
49
- function getExistingTracker(existingConfig) {
50
- const tracker = existingConfig?.sync?.tracker;
51
- if (tracker?.type && tracker?.name) {
52
- return { type: tracker.type, name: tracker.name };
53
- }
54
- return null;
55
- }
56
- /**
57
- * Run the streamlined prompt flow.
58
- *
59
- * In interactive mode, asks only the minimal questions needed.
60
- * In CI mode, auto-detects everything and skips all prompts.
61
- */
62
- export async function runPromptFlow(ctx, deps) {
63
- const result = {
64
- provider: null,
65
- credentials: null,
66
- tracker: { type: 'none', name: 'None' },
67
- additionalRepos: [],
68
- };
69
- // CI mode: auto-detect everything, no prompts
70
- if (ctx.isCI) {
71
- result.provider = deps.detectProvider(ctx.targetDir);
72
- if (result.provider) {
73
- result.credentials = deps.detectCredentials(ctx.targetDir, result.provider.provider);
74
- }
75
- result.tracker = suggestTracker(result.provider);
76
- return result;
77
- }
78
- // Step 1: Detect or prompt for provider
79
- result.provider = deps.detectProvider(ctx.targetDir);
80
- if (!result.provider) {
81
- result.provider = await deps.prompts.selectProvider();
82
- }
83
- // Step 2: Detect or prompt for credentials
84
- if (result.provider) {
85
- result.credentials = deps.detectCredentials(ctx.targetDir, result.provider.provider);
86
- if (!result.credentials) {
87
- result.credentials = await deps.prompts.promptCredentials(result.provider.provider);
88
- }
89
- }
90
- // Step 3: Multi-repo expansion (only for org-level providers)
91
- // GitHub has owner (user/org ambiguous) → skip expansion
92
- // ADO has explicit organization → offer expansion
93
- if (result.provider?.organization) {
94
- const org = result.provider.organization;
95
- const addMore = await deps.prompts.confirmAddRepos(org);
96
- if (addMore) {
97
- result.additionalRepos = await deps.prompts.selectRepos(org, result.provider.provider);
98
- }
99
- }
100
- // Step 4: Tracker suggestion
101
- // Use existing config tracker if re-initializing, otherwise auto-suggest
102
- const existingTracker = getExistingTracker(ctx.existingConfig);
103
- const suggested = existingTracker || suggestTracker(result.provider);
104
- if (suggested.type !== 'none') {
105
- // We have a suggestion — confirm it
106
- const confirmed = await deps.prompts.confirmTracker(suggested);
107
- if (confirmed) {
108
- result.tracker = suggested;
109
- }
110
- else {
111
- // User declined suggestion — let them pick
112
- result.tracker = await deps.prompts.selectTracker();
113
- if (needsTrackerCredentials(result.provider, result.tracker)) {
114
- result.trackerCredentials = await deps.prompts.promptTrackerCredentials(result.tracker.type);
115
- }
116
- }
117
- }
118
- else {
119
- // No suggestion available — must select
120
- result.tracker = await deps.prompts.selectTracker();
121
- if (needsTrackerCredentials(result.provider, result.tracker)) {
122
- result.trackerCredentials = await deps.prompts.promptTrackerCredentials(result.tracker.type);
123
- }
124
- }
125
- return result;
126
- }
127
- //# sourceMappingURL=prompt-flow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-flow.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/prompt-flow.ts"],"names":[],"mappings":"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"}
@@ -1,69 +0,0 @@
1
- /**
2
- * Testing configuration prompts
3
- * Handles test mode selection and coverage targets
4
- */
5
- import type { TestMode } from './types.js';
6
- import type { SupportedLanguage } from '../../../core/i18n/types.js';
7
- import { WIZARD_BACK } from './wizard-navigation.js';
8
- /**
9
- * Get the default coverage target based on the selected test mode.
10
- * TDD mode defaults to 90%, test-after to 80%, manual/none to 0%.
11
- */
12
- export declare function getCoverageDefault(testMode: TestMode): number;
13
- /**
14
- * Get translated strings for testing configuration
15
- */
16
- export declare function getTestingStrings(language: SupportedLanguage): {
17
- header: string;
18
- subheader: string;
19
- guidance: string;
20
- tddHint: string;
21
- testAfterHint: string;
22
- manualHint: string;
23
- noneHint: string;
24
- selectApproach: string;
25
- tddOption: string;
26
- testAfterOption: string;
27
- manualOption: string;
28
- noneOption: string;
29
- selectCoverage: string;
30
- coverageNone: string;
31
- coverage50: string;
32
- coverage70: string;
33
- coverage80: string;
34
- coverage90: string;
35
- coverage100: string;
36
- coverageCustom: string;
37
- enterCustom: string;
38
- coverageValidation: string;
39
- selectedTesting: string;
40
- selectedCoverage: string;
41
- noCoverageTarget: string;
42
- configNotFound: string;
43
- };
44
- /**
45
- * Result of testing configuration
46
- */
47
- export interface TestingConfigResult {
48
- testMode: TestMode;
49
- coverageTarget: number;
50
- /** Signal to go back to previous step */
51
- goBack?: typeof WIZARD_BACK;
52
- }
53
- /**
54
- * Prompt user for testing configuration
55
- *
56
- * @param language - Language for translations
57
- * @returns Testing configuration
58
- */
59
- export declare function promptTestingConfig(language?: SupportedLanguage): Promise<TestingConfigResult>;
60
- /**
61
- * Update config.json with testing configuration
62
- *
63
- * @param targetDir - Project directory
64
- * @param testMode - Selected test mode
65
- * @param coverageTarget - Selected coverage target
66
- * @param language - Language for translations
67
- */
68
- export declare function updateConfigWithTesting(targetDir: string, testMode: TestMode, coverageTarget: number, language?: SupportedLanguage): void;
69
- //# sourceMappingURL=testing-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing-config.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/testing-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAyC,MAAM,wBAAwB,CAAC;AAE5F;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAM7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB,CAgQA;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,MAAM,CAAC,EAAE,OAAO,WAAW,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,GAAE,iBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsH1G;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,MAAM,EACtB,QAAQ,GAAE,iBAAwB,GACjC,IAAI,CA+BN"}