@calltelemetry/ct-lab-mcp 0.1.2 → 0.1.4
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.
- package/dist/src/appliance/commands.d.ts +4 -0
- package/dist/src/appliance/commands.d.ts.map +1 -1
- package/dist/src/appliance/commands.js +32 -0
- package/dist/src/appliance/commands.js.map +1 -1
- package/dist/src/appliance/mock.d.ts.map +1 -1
- package/dist/src/appliance/mock.js +42 -0
- package/dist/src/appliance/mock.js.map +1 -1
- package/dist/src/appliance/types.d.ts +8 -1
- package/dist/src/appliance/types.d.ts.map +1 -1
- package/dist/src/appliance/types.js.map +1 -1
- package/dist/src/credentials/resolver.js +1 -1
- package/dist/src/credentials/resolver.js.map +1 -1
- package/dist/src/hypervisors/proxmox/client.d.ts +1 -0
- package/dist/src/hypervisors/proxmox/client.d.ts.map +1 -1
- package/dist/src/hypervisors/proxmox/client.js +63 -3
- package/dist/src/hypervisors/proxmox/client.js.map +1 -1
- package/dist/src/server.d.ts +3 -1
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +14 -4
- package/dist/src/server.js.map +1 -1
- package/dist/src/slot/gc.d.ts +11 -2
- package/dist/src/slot/gc.d.ts.map +1 -1
- package/dist/src/slot/gc.js +20 -2
- package/dist/src/slot/gc.js.map +1 -1
- package/dist/src/slot/manager.d.ts +34 -3
- package/dist/src/slot/manager.d.ts.map +1 -1
- package/dist/src/slot/manager.js +572 -3
- package/dist/src/slot/manager.js.map +1 -1
- package/dist/src/slot/types.d.ts +96 -1
- package/dist/src/slot/types.d.ts.map +1 -1
- package/dist/src/slot/types.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +3 -0
- package/dist/src/telemetry/index.d.ts.map +1 -0
- package/dist/src/telemetry/index.js +3 -0
- package/dist/src/telemetry/index.js.map +1 -0
- package/dist/src/telemetry/registry.d.ts +43 -0
- package/dist/src/telemetry/registry.d.ts.map +1 -0
- package/dist/src/telemetry/registry.js +146 -0
- package/dist/src/telemetry/registry.js.map +1 -0
- package/dist/src/telemetry/types.d.ts +37 -0
- package/dist/src/telemetry/types.d.ts.map +1 -0
- package/dist/src/telemetry/types.js +6 -0
- package/dist/src/telemetry/types.js.map +1 -0
- package/dist/src/tools/appliance-exec.js +1 -1
- package/dist/src/tools/appliance-exec.js.map +1 -1
- package/dist/src/tools/factory-reset.d.ts +54 -0
- package/dist/src/tools/factory-reset.d.ts.map +1 -0
- package/dist/src/tools/factory-reset.js +215 -0
- package/dist/src/tools/factory-reset.js.map +1 -0
- package/dist/src/tools/index.d.ts +4 -1
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +25 -8
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/list-hosts.d.ts +2 -2
- package/dist/src/tools/list-inventory.d.ts +3 -3
- package/dist/src/tools/provision-tools.d.ts +122 -21
- package/dist/src/tools/provision-tools.d.ts.map +1 -1
- package/dist/src/tools/provision-tools.js +384 -1
- package/dist/src/tools/provision-tools.js.map +1 -1
- package/dist/src/tools/purge-slots.d.ts +52 -0
- package/dist/src/tools/purge-slots.d.ts.map +1 -0
- package/dist/src/tools/purge-slots.js +107 -0
- package/dist/src/tools/purge-slots.js.map +1 -0
- package/dist/src/tools/slot-tools.d.ts +92 -30
- package/dist/src/tools/slot-tools.d.ts.map +1 -1
- package/dist/src/tools/slot-tools.js +67 -5
- package/dist/src/tools/slot-tools.js.map +1 -1
- package/dist/src/tools/vm-action.d.ts +22 -22
- package/dist/src/utils/formatters.d.ts +38 -4
- package/dist/src/utils/formatters.d.ts.map +1 -1
- package/dist/src/utils/formatters.js +179 -23
- package/dist/src/utils/formatters.js.map +1 -1
- package/dist/src/utils/license.d.ts +27 -0
- package/dist/src/utils/license.d.ts.map +1 -0
- package/dist/src/utils/license.js +59 -0
- package/dist/src/utils/license.js.map +1 -0
- package/package.json +1 -1
|
@@ -29,10 +29,10 @@ export declare const VmActionInputShape: {
|
|
|
29
29
|
full: boolean;
|
|
30
30
|
name?: string | undefined;
|
|
31
31
|
tags?: string | string[] | undefined;
|
|
32
|
+
ipAddress?: string | undefined;
|
|
33
|
+
linearIssue?: string | undefined;
|
|
32
34
|
newid?: number | undefined;
|
|
33
35
|
vlan?: number | undefined;
|
|
34
|
-
linearIssue?: string | undefined;
|
|
35
|
-
ipAddress?: string | undefined;
|
|
36
36
|
targetHost?: string | undefined;
|
|
37
37
|
newVmName?: string | undefined;
|
|
38
38
|
newVmId?: string | number | undefined;
|
|
@@ -40,11 +40,11 @@ export declare const VmActionInputShape: {
|
|
|
40
40
|
}, {
|
|
41
41
|
name?: string | undefined;
|
|
42
42
|
tags?: string | string[] | undefined;
|
|
43
|
+
ipAddress?: string | undefined;
|
|
44
|
+
linearIssue?: string | undefined;
|
|
43
45
|
newid?: number | undefined;
|
|
44
46
|
full?: boolean | undefined;
|
|
45
47
|
vlan?: number | undefined;
|
|
46
|
-
linearIssue?: string | undefined;
|
|
47
|
-
ipAddress?: string | undefined;
|
|
48
48
|
targetHost?: string | undefined;
|
|
49
49
|
newVmName?: string | undefined;
|
|
50
50
|
newVmId?: string | number | undefined;
|
|
@@ -75,10 +75,10 @@ export declare const VmActionInputSchema: z.ZodEffects<z.ZodObject<{
|
|
|
75
75
|
full: boolean;
|
|
76
76
|
name?: string | undefined;
|
|
77
77
|
tags?: string | string[] | undefined;
|
|
78
|
+
ipAddress?: string | undefined;
|
|
79
|
+
linearIssue?: string | undefined;
|
|
78
80
|
newid?: number | undefined;
|
|
79
81
|
vlan?: number | undefined;
|
|
80
|
-
linearIssue?: string | undefined;
|
|
81
|
-
ipAddress?: string | undefined;
|
|
82
82
|
targetHost?: string | undefined;
|
|
83
83
|
newVmName?: string | undefined;
|
|
84
84
|
newVmId?: string | number | undefined;
|
|
@@ -86,11 +86,11 @@ export declare const VmActionInputSchema: z.ZodEffects<z.ZodObject<{
|
|
|
86
86
|
}, {
|
|
87
87
|
name?: string | undefined;
|
|
88
88
|
tags?: string | string[] | undefined;
|
|
89
|
+
ipAddress?: string | undefined;
|
|
90
|
+
linearIssue?: string | undefined;
|
|
89
91
|
newid?: number | undefined;
|
|
90
92
|
full?: boolean | undefined;
|
|
91
93
|
vlan?: number | undefined;
|
|
92
|
-
linearIssue?: string | undefined;
|
|
93
|
-
ipAddress?: string | undefined;
|
|
94
94
|
targetHost?: string | undefined;
|
|
95
95
|
newVmName?: string | undefined;
|
|
96
96
|
newVmId?: string | number | undefined;
|
|
@@ -103,85 +103,85 @@ export declare const VmActionInputSchema: z.ZodEffects<z.ZodObject<{
|
|
|
103
103
|
force: boolean;
|
|
104
104
|
host?: string | undefined;
|
|
105
105
|
vmid?: string | number | undefined;
|
|
106
|
+
timeoutSeconds?: number | undefined;
|
|
106
107
|
targetHost?: string | undefined;
|
|
107
108
|
vmIdOrName?: string | number | undefined;
|
|
108
109
|
cloneOptions?: {
|
|
109
110
|
full: boolean;
|
|
110
111
|
name?: string | undefined;
|
|
111
112
|
tags?: string | string[] | undefined;
|
|
113
|
+
ipAddress?: string | undefined;
|
|
114
|
+
linearIssue?: string | undefined;
|
|
112
115
|
newid?: number | undefined;
|
|
113
116
|
vlan?: number | undefined;
|
|
114
|
-
linearIssue?: string | undefined;
|
|
115
|
-
ipAddress?: string | undefined;
|
|
116
117
|
targetHost?: string | undefined;
|
|
117
118
|
newVmName?: string | undefined;
|
|
118
119
|
newVmId?: string | number | undefined;
|
|
119
120
|
macAddress?: string | undefined;
|
|
120
121
|
} | undefined;
|
|
121
|
-
timeoutSeconds?: number | undefined;
|
|
122
122
|
}, {
|
|
123
123
|
action: "config" | "start" | "stop" | "reboot" | "shutdown" | "reset" | "status" | "destroy" | "clone";
|
|
124
124
|
host?: string | undefined;
|
|
125
125
|
vmid?: string | number | undefined;
|
|
126
|
+
timeoutSeconds?: number | undefined;
|
|
127
|
+
force?: boolean | undefined;
|
|
126
128
|
targetHost?: string | undefined;
|
|
127
129
|
vmIdOrName?: string | number | undefined;
|
|
128
130
|
cloneOptions?: {
|
|
129
131
|
name?: string | undefined;
|
|
130
132
|
tags?: string | string[] | undefined;
|
|
133
|
+
ipAddress?: string | undefined;
|
|
134
|
+
linearIssue?: string | undefined;
|
|
131
135
|
newid?: number | undefined;
|
|
132
136
|
full?: boolean | undefined;
|
|
133
137
|
vlan?: number | undefined;
|
|
134
|
-
linearIssue?: string | undefined;
|
|
135
|
-
ipAddress?: string | undefined;
|
|
136
138
|
targetHost?: string | undefined;
|
|
137
139
|
newVmName?: string | undefined;
|
|
138
140
|
newVmId?: string | number | undefined;
|
|
139
141
|
macAddress?: string | undefined;
|
|
140
142
|
} | undefined;
|
|
141
|
-
force?: boolean | undefined;
|
|
142
|
-
timeoutSeconds?: number | undefined;
|
|
143
143
|
}>, {
|
|
144
144
|
action: "config" | "start" | "stop" | "reboot" | "shutdown" | "reset" | "status" | "destroy" | "clone";
|
|
145
145
|
force: boolean;
|
|
146
146
|
host?: string | undefined;
|
|
147
147
|
vmid?: string | number | undefined;
|
|
148
|
+
timeoutSeconds?: number | undefined;
|
|
148
149
|
targetHost?: string | undefined;
|
|
149
150
|
vmIdOrName?: string | number | undefined;
|
|
150
151
|
cloneOptions?: {
|
|
151
152
|
full: boolean;
|
|
152
153
|
name?: string | undefined;
|
|
153
154
|
tags?: string | string[] | undefined;
|
|
155
|
+
ipAddress?: string | undefined;
|
|
156
|
+
linearIssue?: string | undefined;
|
|
154
157
|
newid?: number | undefined;
|
|
155
158
|
vlan?: number | undefined;
|
|
156
|
-
linearIssue?: string | undefined;
|
|
157
|
-
ipAddress?: string | undefined;
|
|
158
159
|
targetHost?: string | undefined;
|
|
159
160
|
newVmName?: string | undefined;
|
|
160
161
|
newVmId?: string | number | undefined;
|
|
161
162
|
macAddress?: string | undefined;
|
|
162
163
|
} | undefined;
|
|
163
|
-
timeoutSeconds?: number | undefined;
|
|
164
164
|
}, {
|
|
165
165
|
action: "config" | "start" | "stop" | "reboot" | "shutdown" | "reset" | "status" | "destroy" | "clone";
|
|
166
166
|
host?: string | undefined;
|
|
167
167
|
vmid?: string | number | undefined;
|
|
168
|
+
timeoutSeconds?: number | undefined;
|
|
169
|
+
force?: boolean | undefined;
|
|
168
170
|
targetHost?: string | undefined;
|
|
169
171
|
vmIdOrName?: string | number | undefined;
|
|
170
172
|
cloneOptions?: {
|
|
171
173
|
name?: string | undefined;
|
|
172
174
|
tags?: string | string[] | undefined;
|
|
175
|
+
ipAddress?: string | undefined;
|
|
176
|
+
linearIssue?: string | undefined;
|
|
173
177
|
newid?: number | undefined;
|
|
174
178
|
full?: boolean | undefined;
|
|
175
179
|
vlan?: number | undefined;
|
|
176
|
-
linearIssue?: string | undefined;
|
|
177
|
-
ipAddress?: string | undefined;
|
|
178
180
|
targetHost?: string | undefined;
|
|
179
181
|
newVmName?: string | undefined;
|
|
180
182
|
newVmId?: string | number | undefined;
|
|
181
183
|
macAddress?: string | undefined;
|
|
182
184
|
} | undefined;
|
|
183
|
-
force?: boolean | undefined;
|
|
184
|
-
timeoutSeconds?: number | undefined;
|
|
185
185
|
}>;
|
|
186
186
|
export type VmActionInput = z.infer<typeof VmActionInputSchema>;
|
|
187
187
|
export type VmActionRawInput = z.input<typeof VmActionInputSchema>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Output Formatters for
|
|
3
|
-
* Generates human-readable Markdown tables with status indicators (🟢 🟡 🔴)
|
|
2
|
+
* Output Formatters for Call Telemetry Lab MCP Tools
|
|
3
|
+
* Generates human-readable Markdown tables with status indicators (🟢 🟡 🔴 🛡️)
|
|
4
4
|
* and dual structured JSON payloads for AI and programmatic consumption.
|
|
5
5
|
*/
|
|
6
|
-
import { SlotDefinition, HostCapacityStatus, GlobalCapacitySummary, SlotClaimResult, ReleaseSlotResult } from "../types/slot.js";
|
|
6
|
+
import { SlotDefinition, HostCapacityStatus, GlobalCapacitySummary, SlotClaimResult, ReleaseSlotResult, PurgeSlotsResult } from "../types/slot.js";
|
|
7
7
|
import { ProxmoxHostConfig } from "../types/config.js";
|
|
8
8
|
import { NodeStatus, ProxmoxVmResource, ProxmoxTaskResult } from "../types/proxmox.js";
|
|
9
9
|
export interface FormattedResult {
|
|
@@ -39,12 +39,16 @@ export declare function formatClaimResult(result: SlotClaimResult, capacity?: Gl
|
|
|
39
39
|
* Format slot release result into Markdown + JSON
|
|
40
40
|
*/
|
|
41
41
|
export declare function formatReleaseResult(result: ReleaseSlotResult, capacity?: GlobalCapacitySummary): FormattedResult;
|
|
42
|
+
/**
|
|
43
|
+
* Format slot & VM purge result into Markdown + JSON
|
|
44
|
+
*/
|
|
45
|
+
export declare function formatPurgeResult(result: PurgeSlotsResult, capacity?: GlobalCapacitySummary): FormattedResult;
|
|
42
46
|
/**
|
|
43
47
|
* Format VM action execution result into Markdown + JSON
|
|
44
48
|
*/
|
|
45
49
|
export declare function formatVmActionResult(data: {
|
|
46
50
|
host: string;
|
|
47
|
-
vmid: number;
|
|
51
|
+
vmid: number | string;
|
|
48
52
|
action: string;
|
|
49
53
|
success: boolean;
|
|
50
54
|
taskResult?: ProxmoxTaskResult;
|
|
@@ -68,4 +72,34 @@ export declare function formatProvisionResult(result: any, slotClaim?: any): For
|
|
|
68
72
|
* Format appliance CLI execution result into Markdown + JSON
|
|
69
73
|
*/
|
|
70
74
|
export declare function formatApplianceExecResult(result: any): FormattedResult;
|
|
75
|
+
export interface AutoProvisionResult {
|
|
76
|
+
success: boolean;
|
|
77
|
+
slotId: string;
|
|
78
|
+
claimId: string;
|
|
79
|
+
vmId: string | number;
|
|
80
|
+
vmName: string;
|
|
81
|
+
host: string;
|
|
82
|
+
hypervisorType: "proxmox" | "esxi";
|
|
83
|
+
ipAddress: string;
|
|
84
|
+
sshEndpoint: {
|
|
85
|
+
host: string;
|
|
86
|
+
port: number;
|
|
87
|
+
user: string;
|
|
88
|
+
};
|
|
89
|
+
apiEndpoint: string;
|
|
90
|
+
targetVersion?: string;
|
|
91
|
+
deployedVersion?: string;
|
|
92
|
+
workloadType?: string;
|
|
93
|
+
label?: string;
|
|
94
|
+
linearIssue?: string;
|
|
95
|
+
branch?: string;
|
|
96
|
+
tags?: string[];
|
|
97
|
+
expiresAt: string;
|
|
98
|
+
readyDurationMs: number;
|
|
99
|
+
healthStatus: "healthy" | "unverified";
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Format automated end-to-end VM provisioning result into Markdown + JSON
|
|
103
|
+
*/
|
|
104
|
+
export declare function formatAutoProvisionResult(result: AutoProvisionResult): FormattedResult;
|
|
71
105
|
//# sourceMappingURL=formatters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../src/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,
|
|
1
|
+
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../src/utils/formatters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Output Formatters for
|
|
3
|
-
* Generates human-readable Markdown tables with status indicators (🟢 🟡 🔴)
|
|
2
|
+
* Output Formatters for Call Telemetry Lab MCP Tools
|
|
3
|
+
* Generates human-readable Markdown tables with status indicators (🟢 🟡 🔴 🛡️)
|
|
4
4
|
* and dual structured JSON payloads for AI and programmatic consumption.
|
|
5
5
|
*/
|
|
6
6
|
/**
|
|
@@ -63,9 +63,10 @@ export function formatHostSummary(summary, liveData) {
|
|
|
63
63
|
md += `**${h.name} (\`${h.hostId}\`):**\n`;
|
|
64
64
|
for (const slot of h.activeSlots) {
|
|
65
65
|
const ttlMins = slot.remainingTtlSeconds != null ? Math.round(slot.remainingTtlSeconds / 60) : "N/A";
|
|
66
|
-
const tag = slot.tag || "untagged";
|
|
66
|
+
const tag = slot.linearIssue || slot.tag || "untagged";
|
|
67
|
+
const labelStr = slot.label ? ` "${slot.label}"` : "";
|
|
67
68
|
const vmInfo = slot.vmId ? ` (VMID: ${slot.vmId}${slot.vmName ? ` - ${slot.vmName}` : ""})` : "";
|
|
68
|
-
md += `- Slot ${slot.slotIndex} [${formatMb(slot.memoryMb)}]: 🟡 Leased by \`${tag}\`${vmInfo} - TTL: ${ttlMins}m remaining (Expires: ${slot.expiresAt || "N/A"})\n`;
|
|
69
|
+
md += `- Slot ${slot.slotIndex} [${formatMb(slot.memoryMb)}]: 🟡 Leased by \`${tag}\`${labelStr}${vmInfo} - TTL: ${ttlMins}m remaining (Expires: ${slot.expiresAt || "N/A"})\n`;
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
72
|
}
|
|
@@ -118,29 +119,31 @@ export function formatSlotList(slots, summary) {
|
|
|
118
119
|
md += "_No matching slots found._\n";
|
|
119
120
|
}
|
|
120
121
|
else {
|
|
121
|
-
md += "| Status | Slot ID | Host | Slot # |
|
|
122
|
-
md += "
|
|
122
|
+
md += "| Status | Slot ID | Host | Slot # | Label / Linear | Workload | Version / Branch | Memory | Expires At | Remaining TTL | Workload / VM |\n";
|
|
123
|
+
md += "|:---:|---|---|:---:|---|:---:|:---:|:---:|---|:---:|---|\n";
|
|
123
124
|
for (const slot of slots) {
|
|
124
125
|
let statusIcon = "🟢 Available";
|
|
125
|
-
if (slot.status === "CLAIMED") {
|
|
126
|
+
if (slot.status === "CLAIMED" || slot.status === "active") {
|
|
126
127
|
statusIcon = "🟡 Claimed";
|
|
127
128
|
}
|
|
128
|
-
else if (slot.status === "EXPIRED") {
|
|
129
|
+
else if (slot.status === "EXPIRED" || slot.status === "expired") {
|
|
129
130
|
statusIcon = "🔴 Expired";
|
|
130
131
|
}
|
|
131
|
-
else if (slot.status === "RELEASED") {
|
|
132
|
+
else if (slot.status === "RELEASED" || slot.status === "released") {
|
|
132
133
|
statusIcon = "⚪ Released";
|
|
133
134
|
}
|
|
134
|
-
const
|
|
135
|
+
const labelStr = slot.label || (slot.linearIssue ? `\`${slot.linearIssue}\`` : slot.tag ? `\`${slot.tag}\`` : "-");
|
|
136
|
+
const workloadStr = slot.workloadType || "-";
|
|
137
|
+
const verBranchStr = [slot.targetVersion, slot.branch].filter(Boolean).join(" / ") || "-";
|
|
135
138
|
const expiresStr = slot.expiresAt ? slot.expiresAt.replace("T", " ").substring(0, 19) : "-";
|
|
136
139
|
const ttlStr = slot.remainingTtlSeconds != null
|
|
137
140
|
? `${Math.round(slot.remainingTtlSeconds / 60)} mins`
|
|
138
141
|
: "-";
|
|
139
142
|
const vmStr = slot.vmId ? `VM ${slot.vmId}${slot.vmName ? ` (${slot.vmName})` : ""}` : (slot.purpose || "-");
|
|
140
|
-
md += `| ${statusIcon} | \`${slot.slotId}\` | \`${slot.hostId}\` | ${slot.slotIndex} | ${
|
|
143
|
+
md += `| ${statusIcon} | \`${slot.slotId}\` | \`${slot.hostId}\` | ${slot.slotIndex} | ${labelStr} | ${workloadStr} | ${verBranchStr} | ${formatMb(slot.memoryMb)} | ${expiresStr} | ${ttlStr} | ${vmStr} |\n`;
|
|
141
144
|
}
|
|
142
145
|
}
|
|
143
|
-
const activeClaims = slots.filter((s) => s.status === "CLAIMED");
|
|
146
|
+
const activeClaims = slots.filter((s) => s.status === "CLAIMED" || s.status === "active");
|
|
144
147
|
const structuredContent = {
|
|
145
148
|
success: true,
|
|
146
149
|
totalSlots: slots.length,
|
|
@@ -176,7 +179,25 @@ export function formatClaimResult(result, capacity) {
|
|
|
176
179
|
md += `| **Host** | \`${result.hostId}\` |\n`;
|
|
177
180
|
md += `| **Slot Index** | Slot ${result.slotIndex} |\n`;
|
|
178
181
|
md += `| **Allocated RAM** | ${formatMb(result.memoryMb)} |\n`;
|
|
182
|
+
if (result.label) {
|
|
183
|
+
md += `| **Label** | ${result.label} |\n`;
|
|
184
|
+
}
|
|
185
|
+
if (result.workloadType) {
|
|
186
|
+
md += `| **Workload Type** | \`${result.workloadType}\` |\n`;
|
|
187
|
+
}
|
|
188
|
+
if (result.targetVersion) {
|
|
189
|
+
md += `| **Target Version** | \`${result.targetVersion}\` |\n`;
|
|
190
|
+
}
|
|
191
|
+
if (result.branch) {
|
|
192
|
+
md += `| **Branch** | \`${result.branch}\` |\n`;
|
|
193
|
+
}
|
|
194
|
+
if (result.customTags && result.customTags.length > 0) {
|
|
195
|
+
md += `| **Custom Tags** | \`${result.customTags.join(", ")}\` |\n`;
|
|
196
|
+
}
|
|
179
197
|
md += `| **Requester Tag** | \`${result.tag}\` |\n`;
|
|
198
|
+
if (result.linearIssue) {
|
|
199
|
+
md += `| **Linear Issue** | \`${result.linearIssue}\` |\n`;
|
|
200
|
+
}
|
|
180
201
|
md += `| **Lease Duration** | ${result.durationMinutes} minutes |\n`;
|
|
181
202
|
md += `| **Claimed At** | ${result.claimedAt} |\n`;
|
|
182
203
|
md += `| **Expires At** | ${result.expiresAt} |\n`;
|
|
@@ -221,10 +242,11 @@ export function formatClaimResult(result, capacity) {
|
|
|
221
242
|
export function formatReleaseResult(result, capacity) {
|
|
222
243
|
let md = `### 🟢 ${result.message}\n\n`;
|
|
223
244
|
if (result.releasedSlots.length > 0) {
|
|
224
|
-
md += "| Slot ID | Host | Slot # | Tag | Released Claim ID |\n";
|
|
245
|
+
md += "| Slot ID | Host | Slot # | Label / Tag | Released Claim ID |\n";
|
|
225
246
|
md += "|---|---|:---:|---|---|\n";
|
|
226
247
|
for (const slot of result.releasedSlots) {
|
|
227
|
-
|
|
248
|
+
const displayTag = slot.label || slot.linearIssue || slot.tag || "N/A";
|
|
249
|
+
md += `| \`${slot.slotId}\` | \`${slot.hostId}\` | ${slot.slotIndex} | \`${displayTag}\` | \`${slot.claimId || "N/A"}\` |\n`;
|
|
228
250
|
}
|
|
229
251
|
}
|
|
230
252
|
if (capacity) {
|
|
@@ -262,6 +284,91 @@ export function formatReleaseResult(result, capacity) {
|
|
|
262
284
|
structuredContent,
|
|
263
285
|
};
|
|
264
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* Format slot & VM purge result into Markdown + JSON
|
|
289
|
+
*/
|
|
290
|
+
export function formatPurgeResult(result, capacity) {
|
|
291
|
+
const icon = result.dryRun ? "🟡" : "🟢";
|
|
292
|
+
const modeStr = result.dryRun ? "[DRY RUN] Preview Only" : "Live Purge Execution";
|
|
293
|
+
let md = `### ${icon} Slot & VM Purge Report (${modeStr})\n\n`;
|
|
294
|
+
md += `**Summary:** ${result.message}\n\n`;
|
|
295
|
+
md += "| Metric | Count / Value |\n";
|
|
296
|
+
md += "|---|---|\n";
|
|
297
|
+
md += `| **Purged Slots** | ${result.purgedSlotsCount} |\n`;
|
|
298
|
+
md += `| **Destroyed VMs** | ${result.destroyedVmsCount} |\n`;
|
|
299
|
+
md += `| **Protected VMs Preserved** | ${result.skippedProtectedVmsCount} |\n`;
|
|
300
|
+
md += `| **Reclaimed RAM** | ${formatMb(result.reclaimedMemoryMb)} (${formatBytes(result.reclaimedMemoryBytes)}) |\n`;
|
|
301
|
+
md += `| **Mode** | ${result.dryRun ? "Dry Run (Preview)" : "Live Execution"} |\n`;
|
|
302
|
+
md += `| **Timestamp** | ${result.timestamp} |\n\n`;
|
|
303
|
+
// Purged Slots Table
|
|
304
|
+
if (result.purgedSlots.length > 0) {
|
|
305
|
+
md += "#### 📋 Purged Slot Leases\n\n";
|
|
306
|
+
md += "| Slot ID | Host | Claim ID | Reason | Linear Issue / Label | Workload | Attached VM |\n";
|
|
307
|
+
md += "|---|---|---|:---:|---|:---:|---|\n";
|
|
308
|
+
for (const slot of result.purgedSlots) {
|
|
309
|
+
const tagStr = slot.label || (slot.linearIssue ? `\`${slot.linearIssue}\`` : "-");
|
|
310
|
+
const vmStr = slot.vmId ? `VM ${slot.vmId}${slot.vmName ? ` (${slot.vmName})` : ""}` : "-";
|
|
311
|
+
md += `| \`${slot.slotId}\` | \`${slot.hostId}\` | \`${slot.claimId || "-"}\` | \`${slot.reason}\` | ${tagStr} | ${slot.workloadType || "-"} | ${vmStr} |\n`;
|
|
312
|
+
}
|
|
313
|
+
md += "\n";
|
|
314
|
+
}
|
|
315
|
+
// Destroyed / Processed VMs Table
|
|
316
|
+
if (result.destroyedVms.length > 0) {
|
|
317
|
+
md += "#### 🖥️ Processed Virtual Machines\n\n";
|
|
318
|
+
md += "| VM ID | Host | Status | Details / Reason |\n";
|
|
319
|
+
md += "|---|---|:---:|---|\n";
|
|
320
|
+
for (const vm of result.destroyedVms) {
|
|
321
|
+
let statusIcon = "🟢 destroyed";
|
|
322
|
+
if (vm.status === "skipped_protected")
|
|
323
|
+
statusIcon = "🛡️ skipped (protected)";
|
|
324
|
+
else if (vm.status === "dry_run")
|
|
325
|
+
statusIcon = "🟡 dry run preview";
|
|
326
|
+
else if (vm.status === "failed")
|
|
327
|
+
statusIcon = "🔴 failed";
|
|
328
|
+
const detail = vm.error || vm.reason || "-";
|
|
329
|
+
md += `| \`${vm.vmId}\`${vm.vmName ? ` (${vm.vmName})` : ""} | \`${vm.hostId}\` | ${statusIcon} | ${detail} |\n`;
|
|
330
|
+
}
|
|
331
|
+
md += "\n";
|
|
332
|
+
}
|
|
333
|
+
if (capacity) {
|
|
334
|
+
md += "#### 📊 Updated Cluster Capacity\n\n";
|
|
335
|
+
md += `- Total Available Slots: ${capacity.clusterAvailableSlots} / ${capacity.clusterMaxSlots}\n`;
|
|
336
|
+
for (const [hostId, hostStat] of Object.entries(capacity.hosts)) {
|
|
337
|
+
md += `- \`${hostId}\`: ${hostStat.availableSlots} / ${hostStat.maxSlots} slots available (${hostStat.allocatedSlots} active)\n`;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
const structuredContent = {
|
|
341
|
+
success: true,
|
|
342
|
+
purgedSlotsCount: result.purgedSlotsCount,
|
|
343
|
+
purgedSlots: result.purgedSlots,
|
|
344
|
+
destroyedVmsCount: result.destroyedVmsCount,
|
|
345
|
+
destroyedVms: result.destroyedVms,
|
|
346
|
+
skippedProtectedVmsCount: result.skippedProtectedVmsCount,
|
|
347
|
+
reclaimedMemoryBytes: result.reclaimedMemoryBytes,
|
|
348
|
+
reclaimedMemoryMb: result.reclaimedMemoryMb,
|
|
349
|
+
dryRun: result.dryRun,
|
|
350
|
+
timestamp: result.timestamp,
|
|
351
|
+
message: result.message,
|
|
352
|
+
capacity: capacity
|
|
353
|
+
? {
|
|
354
|
+
cluster: {
|
|
355
|
+
maxSlots: capacity.clusterMaxSlots,
|
|
356
|
+
allocatedSlots: capacity.clusterAllocatedSlots,
|
|
357
|
+
availableSlots: capacity.clusterAvailableSlots,
|
|
358
|
+
},
|
|
359
|
+
hosts: Object.fromEntries(Object.entries(capacity.hosts).map(([k, v]) => [
|
|
360
|
+
k,
|
|
361
|
+
{ total: v.maxSlots, claimed: v.allocatedSlots, available: v.availableSlots },
|
|
362
|
+
])),
|
|
363
|
+
}
|
|
364
|
+
: undefined,
|
|
365
|
+
};
|
|
366
|
+
md += `\n\`\`\`json\n${JSON.stringify(structuredContent, null, 2)}\n\`\`\``;
|
|
367
|
+
return {
|
|
368
|
+
markdown: md,
|
|
369
|
+
structuredContent,
|
|
370
|
+
};
|
|
371
|
+
}
|
|
265
372
|
/**
|
|
266
373
|
* Format VM action execution result into Markdown + JSON
|
|
267
374
|
*/
|
|
@@ -337,7 +444,7 @@ export function formatUnifiedHostCapacities(capacities, slotSummary) {
|
|
|
337
444
|
if (hostActiveSlots.length > 0) {
|
|
338
445
|
activeLeasesSummary = hostActiveSlots
|
|
339
446
|
.map((s) => {
|
|
340
|
-
const tag = s.linearIssue || s.tag || "active";
|
|
447
|
+
const tag = s.label || s.linearIssue || s.tag || "active";
|
|
341
448
|
const ttlMins = s.remainingTtlSeconds != null ? `${Math.round(s.remainingTtlSeconds / 60)}m` : "";
|
|
342
449
|
return `Slot ${s.slotIndex}: \`${tag}\`${ttlMins ? ` (${ttlMins})` : ""}`;
|
|
343
450
|
})
|
|
@@ -350,6 +457,10 @@ export function formatUnifiedHostCapacities(capacities, slotSummary) {
|
|
|
350
457
|
slotId: s.slotId || s.id,
|
|
351
458
|
claimId: s.claimId,
|
|
352
459
|
linearIssue: s.linearIssue || s.tag || "-",
|
|
460
|
+
label: s.label || "-",
|
|
461
|
+
workloadType: s.workloadType || "-",
|
|
462
|
+
targetVersion: s.targetVersion || "-",
|
|
463
|
+
branch: s.branch || "-",
|
|
353
464
|
tag: s.tag || s.linearIssue || "-",
|
|
354
465
|
requester: s.requester || "-",
|
|
355
466
|
claimedAt: s.claimedAt || "-",
|
|
@@ -376,20 +487,22 @@ export function formatUnifiedHostCapacities(capacities, slotSummary) {
|
|
|
376
487
|
md += "_No active slot leases. All 8GB appliance slots are currently available._\n";
|
|
377
488
|
}
|
|
378
489
|
else {
|
|
379
|
-
md += "| Host | Slot # | Linear Issue /
|
|
380
|
-
md += "
|
|
490
|
+
md += "| Host | Slot # | Linear Issue / Label | Workload | Version | Claim ID | Claimed At | Expires At | Remaining TTL | Workload / VM |\n";
|
|
491
|
+
md += "|---|:---:|---|:---:|:---:|---|---|---|:---:|---|\n";
|
|
381
492
|
for (const slot of activeSlotLeases) {
|
|
382
|
-
const tagStr = slot.
|
|
383
|
-
?
|
|
384
|
-
: slot.
|
|
385
|
-
? `\`${slot.
|
|
386
|
-
: "-"
|
|
493
|
+
const tagStr = slot.label && slot.label !== "-"
|
|
494
|
+
? slot.label
|
|
495
|
+
: slot.linearIssue && slot.linearIssue !== "-"
|
|
496
|
+
? `\`${slot.linearIssue}\``
|
|
497
|
+
: slot.tag && slot.tag !== "-"
|
|
498
|
+
? `\`${slot.tag}\``
|
|
499
|
+
: "-";
|
|
387
500
|
const claimStr = slot.claimId ? `\`${slot.claimId}\`` : `\`${slot.slotId}\``;
|
|
388
501
|
const claimedAtStr = slot.claimedAt ? slot.claimedAt.replace("T", " ").substring(0, 19) : "-";
|
|
389
502
|
const expiresAtStr = slot.expiresAt ? slot.expiresAt.replace("T", " ").substring(0, 19) : "-";
|
|
390
503
|
const ttlStr = slot.remainingTtlMinutes != null ? `${slot.remainingTtlMinutes} mins` : "-";
|
|
391
504
|
const vmStr = slot.vmId ? `VMID: ${slot.vmId}${slot.vmName ? ` (${slot.vmName})` : ""}` : "-";
|
|
392
|
-
md += `| \`${slot.hostName}\` | Slot ${slot.slotIndex} | ${tagStr} | ${claimStr} | ${claimedAtStr} | ${expiresAtStr} | ${ttlStr} | ${vmStr} |\n`;
|
|
505
|
+
md += `| \`${slot.hostName}\` | Slot ${slot.slotIndex} | ${tagStr} | ${slot.workloadType} | ${slot.targetVersion} | ${claimStr} | ${claimedAtStr} | ${expiresAtStr} | ${ttlStr} | ${vmStr} |\n`;
|
|
393
506
|
}
|
|
394
507
|
}
|
|
395
508
|
const structuredContent = {
|
|
@@ -538,4 +651,47 @@ export function formatApplianceExecResult(result) {
|
|
|
538
651
|
structuredContent,
|
|
539
652
|
};
|
|
540
653
|
}
|
|
654
|
+
/**
|
|
655
|
+
* Format automated end-to-end VM provisioning result into Markdown + JSON
|
|
656
|
+
*/
|
|
657
|
+
export function formatAutoProvisionResult(result) {
|
|
658
|
+
const icon = result.success ? "🟢" : "🔴";
|
|
659
|
+
let md = `### 🚀 Automated End-to-End VM Provisioning Report\n\n`;
|
|
660
|
+
md += "| Field | Value |\n";
|
|
661
|
+
md += "|---|---|\n";
|
|
662
|
+
md += `| **Result Status** | ${icon} ${result.success ? "Ready & Healthy" : "Failed"} |\n`;
|
|
663
|
+
md += `| **VM Name** | **${result.vmName}** |\n`;
|
|
664
|
+
md += `| **VM ID** | \`${result.vmId}\` |\n`;
|
|
665
|
+
md += `| **Hypervisor Host** | \`${result.host}\` (${result.hypervisorType === "proxmox" ? "Proxmox VE" : "VMware ESXi"}) |\n`;
|
|
666
|
+
md += `| **Slot Lease** | \`${result.slotId}\` (Claim: \`${result.claimId}\`) |\n`;
|
|
667
|
+
if (result.label) {
|
|
668
|
+
md += `| **Label** | ${result.label} |\n`;
|
|
669
|
+
}
|
|
670
|
+
if (result.workloadType) {
|
|
671
|
+
md += `| **Workload Type** | \`${result.workloadType}\` |\n`;
|
|
672
|
+
}
|
|
673
|
+
if (result.linearIssue) {
|
|
674
|
+
md += `| **Linear Issue** | \`${result.linearIssue}\` |\n`;
|
|
675
|
+
}
|
|
676
|
+
if (result.deployedVersion || result.targetVersion) {
|
|
677
|
+
md += `| **Release Version** | \`${result.deployedVersion || result.targetVersion}\` |\n`;
|
|
678
|
+
}
|
|
679
|
+
if (result.branch) {
|
|
680
|
+
md += `| **Branch** | \`${result.branch}\` |\n`;
|
|
681
|
+
}
|
|
682
|
+
md += `| **IP Address** | \`${result.ipAddress}\` |\n`;
|
|
683
|
+
md += `| **SSH Endpoint** | \`${result.sshEndpoint.user}@${result.sshEndpoint.host}:${result.sshEndpoint.port}\` |\n`;
|
|
684
|
+
md += `| **API Endpoint** | \`${result.apiEndpoint}\` |\n`;
|
|
685
|
+
md += `| **Health Status** | ${result.healthStatus === "healthy" ? "🟢 healthy" : "🟡 " + result.healthStatus} |\n`;
|
|
686
|
+
md += `| **Readiness Duration** | ${(result.readyDurationMs / 1000).toFixed(1)}s (${result.readyDurationMs} ms) |\n`;
|
|
687
|
+
md += `| **Lease Expires At** | ${result.expiresAt} |\n`;
|
|
688
|
+
const structuredContent = {
|
|
689
|
+
...result,
|
|
690
|
+
};
|
|
691
|
+
md += `\n\`\`\`json\n${JSON.stringify(structuredContent, null, 2)}\n\`\`\``;
|
|
692
|
+
return {
|
|
693
|
+
markdown: md,
|
|
694
|
+
structuredContent,
|
|
695
|
+
};
|
|
696
|
+
}
|
|
541
697
|
//# sourceMappingURL=formatters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/utils/formatters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwBH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACjC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,EAAE,KAAK,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAmD,EACnD,QAAyB;IAEzB,MAAM,YAAY,GAAG,gBAAgB,IAAI,OAAO,CAAC;IACjD,MAAM,QAAQ,GAAuC,YAAY;QAC/D,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE;QAC/B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAElB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;IAChD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,IAAI,EAAE,GAAG,0DAA0D,CAAC;IACpE,EAAE,IAAI,mGAAmG,CAAC;IAC1G,EAAE,IAAI,2CAA2C,CAAC;IAElD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEzC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,UAAU,GAAG,WAAW,CAAC;QAC7B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,UAAU,GAAG,WAAW,CAAC;QAC3B,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,cAAc,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;QAC7F,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAE9C,EAAE,IAAI,OAAO,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,UAAU,MAAM,SAAS,MAAM,UAAU,MAAM,WAAW,MAAM,WAAW,MAAM,CAAC;IAC7H,CAAC;IAED,oCAAoC;IACpC,EAAE,IAAI,uCAAuC,CAAC;IAC9C,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,cAAc,GAAG,IAAI,CAAC;YACtB,EAAE,IAAI,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,UAAU,CAAC;YAC3C,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACrG,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC;gBACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjG,EAAE,IAAI,UAAU,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,KAAK,QAAQ,GAAG,MAAM,WAAW,OAAO,yBAAyB,IAAI,CAAC,SAAS,IAAI,KAAK,KAAK,CAAC;YAClL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,IAAI,6EAA6E,CAAC;IACtF,CAAC;IAED,6BAA6B;IAC7B,MAAM,iBAAiB,GAA4B;QACjD,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,YAAY;YACnB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,QAAQ,EAAG,OAAiC,CAAC,eAAe;gBAC5D,cAAc,EAAG,OAAiC,CAAC,qBAAqB;gBACxE,cAAc,EAAG,OAAiC,CAAC,qBAAqB;aACzE;QACL,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,QAAQ;YACnB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;gBACjB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;gBACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG;gBACtB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;gBACvB,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;gBACrB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;iBACb,CAAC,CAAC;aACJ,CAAC,CAAC;YACL,CAAC,CAAC,SAAS;KACd,CAAC;IAEF,EAAE,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;IAE5E,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAuB,EACvB,OAA+B;IAE/B,IAAI,EAAE,GAAG,yCAAyC,CAAC;IAEnD,IAAI,OAAO,EAAE,CAAC;QACZ,EAAE,IAAI,yBAAyB,OAAO,CAAC,qBAAqB,MAAM,OAAO,CAAC,eAAe,qBAAqB,OAAO,CAAC,qBAAqB,iBAAiB,CAAC;IAC/J,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,EAAE,IAAI,8BAA8B,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,EAAE,IAAI,6IAA6I,CAAC;QACpJ,EAAE,IAAI,6DAA6D,CAAC;QAEpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,UAAU,GAAG,cAAc,CAAC;YAChC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1D,UAAU,GAAG,YAAY,CAAC;YAC5B,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClE,UAAU,GAAG,YAAY,CAAC;YAC5B,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACpE,UAAU,GAAG,YAAY,CAAC;YAC5B,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnH,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC;YAC7C,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;YAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5F,MAAM,MAAM,GACV,IAAI,CAAC,mBAAmB,IAAI,IAAI;gBAC9B,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,OAAO;gBACrD,CAAC,CAAC,GAAG,CAAC;YACV,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;YAE7G,EAAE,IAAI,KAAK,UAAU,QAAQ,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,SAAS,MAAM,QAAQ,MAAM,WAAW,MAAM,YAAY,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,UAAU,MAAM,MAAM,MAAM,KAAK,MAAM,CAAC;QACjN,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IAC1F,MAAM,iBAAiB,GAA4B;QACjD,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,iBAAiB,EAAE,YAAY,CAAC,MAAM;QACtC,KAAK;QACL,eAAe,EAAE,OAAO;YACtB,CAAC,CAAC;gBACE,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;gBACpD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;gBACpD,KAAK,EAAE,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC5C,CAAC;oBACD,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,cAAc,EAAE;iBAC9E,CAAC,CACH;aACF;YACH,CAAC,CAAC,SAAS;KACd,CAAC;IAEF,EAAE,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;IAE5E,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAuB,EACvB,QAAgC;IAEhC,IAAI,EAAE,GAAG,qCAAqC,CAAC;IAE/C,EAAE,IAAI,qBAAqB,CAAC;IAC5B,EAAE,IAAI,aAAa,CAAC;IACpB,EAAE,IAAI,sBAAsB,MAAM,CAAC,OAAO,QAAQ,CAAC;IACnD,EAAE,IAAI,qBAAqB,MAAM,CAAC,MAAM,QAAQ,CAAC;IACjD,EAAE,IAAI,kBAAkB,MAAM,CAAC,MAAM,QAAQ,CAAC;IAC9C,EAAE,IAAI,2BAA2B,MAAM,CAAC,SAAS,MAAM,CAAC;IACxD,EAAE,IAAI,yBAAyB,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/D,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,EAAE,IAAI,iBAAiB,MAAM,CAAC,KAAK,MAAM,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,EAAE,IAAI,2BAA2B,MAAM,CAAC,YAAY,QAAQ,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,EAAE,IAAI,4BAA4B,MAAM,CAAC,aAAa,QAAQ,CAAC;IACjE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,EAAE,IAAI,oBAAoB,MAAM,CAAC,MAAM,QAAQ,CAAC;IAClD,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,EAAE,IAAI,yBAAyB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IACtE,CAAC;IACD,EAAE,IAAI,2BAA2B,MAAM,CAAC,GAAG,QAAQ,CAAC;IACpD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,EAAE,IAAI,0BAA0B,MAAM,CAAC,WAAW,QAAQ,CAAC;IAC7D,CAAC;IACD,EAAE,IAAI,0BAA0B,MAAM,CAAC,eAAe,cAAc,CAAC;IACrE,EAAE,IAAI,sBAAsB,MAAM,CAAC,SAAS,MAAM,CAAC;IACnD,EAAE,IAAI,sBAAsB,MAAM,CAAC,SAAS,MAAM,CAAC;IACnD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,EAAE,IAAI,mBAAmB,MAAM,CAAC,OAAO,MAAM,CAAC;IAChD,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,EAAE,IAAI,wBAAwB,MAAM,CAAC,SAAS,QAAQ,CAAC;IACzD,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,EAAE,IAAI,iCAAiC,CAAC;QACxC,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,EAAE,IAAI,OAAO,MAAM,OAAO,QAAQ,CAAC,cAAc,MAAM,QAAQ,CAAC,QAAQ,qBAAqB,QAAQ,CAAC,cAAc,mBAAmB,CAAC;QAC1I,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAA4B;QACjD,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,QAAQ;YAChB,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,QAAQ,EAAE,QAAQ,CAAC,eAAe;oBAClC,cAAc,EAAE,QAAQ,CAAC,qBAAqB;oBAC9C,cAAc,EAAE,QAAQ,CAAC,qBAAqB;iBAC/C;gBACD,KAAK,EAAE,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC7C,CAAC;oBACD,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,cAAc,EAAE;iBAC9E,CAAC,CACH;aACF;YACH,CAAC,CAAC,SAAS;KACd,CAAC;IAEF,EAAE,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;IAE5E,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAyB,EACzB,QAAgC;IAEhC,IAAI,EAAE,GAAG,UAAU,MAAM,CAAC,OAAO,MAAM,CAAC;IAExC,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,EAAE,IAAI,iEAAiE,CAAC;QACxE,EAAE,IAAI,2BAA2B,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC;YACvE,EAAE,IAAI,OAAO,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,SAAS,QAAQ,UAAU,UAAU,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QAC/H,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,EAAE,IAAI,mCAAmC,CAAC;QAC1C,EAAE,IAAI,4BAA4B,QAAQ,CAAC,qBAAqB,MAAM,QAAQ,CAAC,eAAe,IAAI,CAAC;QACnG,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,EAAE,IAAI,OAAO,MAAM,OAAO,QAAQ,CAAC,cAAc,MAAM,QAAQ,CAAC,QAAQ,oBAAoB,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAA4B;QACjD,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,QAAQ;YAChB,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,QAAQ,EAAE,QAAQ,CAAC,eAAe;oBAClC,cAAc,EAAE,QAAQ,CAAC,qBAAqB;oBAC9C,cAAc,EAAE,QAAQ,CAAC,qBAAqB;iBAC/C;gBACD,KAAK,EAAE,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC7C,CAAC;oBACD,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,cAAc,EAAE;iBAC9E,CAAC,CACH;aACF;YACH,CAAC,CAAC,SAAS;KACd,CAAC;IAEF,EAAE,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;IAE5E,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAwB,EACxB,QAAgC;IAEhC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAClF,IAAI,EAAE,GAAG,OAAO,IAAI,4BAA4B,OAAO,OAAO,CAAC;IAE/D,EAAE,IAAI,gBAAgB,MAAM,CAAC,OAAO,MAAM,CAAC;IAC3C,EAAE,IAAI,8BAA8B,CAAC;IACrC,EAAE,IAAI,aAAa,CAAC;IACpB,EAAE,IAAI,wBAAwB,MAAM,CAAC,gBAAgB,MAAM,CAAC;IAC5D,EAAE,IAAI,yBAAyB,MAAM,CAAC,iBAAiB,MAAM,CAAC;IAC9D,EAAE,IAAI,mCAAmC,MAAM,CAAC,wBAAwB,MAAM,CAAC;IAC/E,EAAE,IAAI,yBAAyB,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC;IACtH,EAAE,IAAI,gBAAgB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC;IACnF,EAAE,IAAI,qBAAqB,MAAM,CAAC,SAAS,QAAQ,CAAC;IAEpD,qBAAqB;IACrB,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,EAAE,IAAI,gCAAgC,CAAC;QACvC,EAAE,IAAI,0FAA0F,CAAC;QACjG,EAAE,IAAI,qCAAqC,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC3F,EAAE,IAAI,OAAO,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,OAAO,IAAI,GAAG,UAAU,IAAI,CAAC,MAAM,QAAQ,MAAM,MAAM,IAAI,CAAC,YAAY,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC;QAC/J,CAAC;QACD,EAAE,IAAI,IAAI,CAAC;IACb,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,EAAE,IAAI,yCAAyC,CAAC;QAChD,EAAE,IAAI,gDAAgD,CAAC;QACvD,EAAE,IAAI,uBAAuB,CAAC;QAC9B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACrC,IAAI,UAAU,GAAG,cAAc,CAAC;YAChC,IAAI,EAAE,CAAC,MAAM,KAAK,mBAAmB;gBAAE,UAAU,GAAG,yBAAyB,CAAC;iBACzE,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS;gBAAE,UAAU,GAAG,oBAAoB,CAAC;iBAC/D,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ;gBAAE,UAAU,GAAG,WAAW,CAAC;YAE1D,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC;YAC5C,EAAE,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,QAAQ,UAAU,MAAM,MAAM,MAAM,CAAC;QACnH,CAAC;QACD,EAAE,IAAI,IAAI,CAAC;IACb,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,EAAE,IAAI,sCAAsC,CAAC;QAC7C,EAAE,IAAI,4BAA4B,QAAQ,CAAC,qBAAqB,MAAM,QAAQ,CAAC,eAAe,IAAI,CAAC;QACnG,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,EAAE,IAAI,OAAO,MAAM,OAAO,QAAQ,CAAC,cAAc,MAAM,QAAQ,CAAC,QAAQ,qBAAqB,QAAQ,CAAC,cAAc,YAAY,CAAC;QACnI,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAA4B;QACjD,OAAO,EAAE,IAAI;QACb,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;QACzD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,QAAQ;YAChB,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,QAAQ,EAAE,QAAQ,CAAC,eAAe;oBAClC,cAAc,EAAE,QAAQ,CAAC,qBAAqB;oBAC9C,cAAc,EAAE,QAAQ,CAAC,qBAAqB;iBAC/C;gBACD,KAAK,EAAE,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC7C,CAAC;oBACD,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,cAAc,EAAE;iBAC9E,CAAC,CACH;aACF;YACH,CAAC,CAAC,SAAS;KACd,CAAC;IAEF,EAAE,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;IAE5E,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IASpC;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,IAAI,EAAE,GAAG,OAAO,IAAI,eAAe,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC;IAEtG,EAAE,IAAI,qBAAqB,CAAC;IAC5B,EAAE,IAAI,aAAa,CAAC;IACpB,EAAE,IAAI,kBAAkB,IAAI,CAAC,IAAI,QAAQ,CAAC;IAC1C,EAAE,IAAI,gBAAgB,IAAI,CAAC,IAAI,MAAM,CAAC;IACtC,EAAE,IAAI,oBAAoB,IAAI,CAAC,MAAM,QAAQ,CAAC;IAC9C,EAAE,IAAI,yBAAyB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC;IAE/E,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,EAAE,IAAI,mBAAmB,IAAI,CAAC,OAAO,MAAM,CAAC;IAC9C,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,EAAE,IAAI,uBAAuB,IAAI,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC;QAC1D,EAAE,IAAI,8BAA8B,IAAI,CAAC,UAAU,CAAC,UAAU,QAAQ,CAAC;QACvE,EAAE,IAAI,oBAAoB,IAAI,CAAC,UAAU,CAAC,UAAU,SAAS,CAAC;QAC9D,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1B,EAAE,IAAI,sBAAsB,IAAI,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,EAAE,IAAI,mBAAmB,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;QAClD,EAAE,IAAI,yBAAyB,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC;QACtH,EAAE,IAAI,gBAAgB,IAAI,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;QACrD,EAAE,IAAI,kBAAkB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;QAC9G,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,EAAE,IAAI,kBAAkB,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC;QACvE,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAA4B;QACjD,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;IAEF,EAAE,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;IAE5E,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAiB,EACjB,WAAiB;IAEjB,IAAI,EAAE,GAAG,yDAAyD,CAAC;IACnE,EAAE,IAAI,sIAAsI,CAAC;IAC7I,EAAE,IAAI,uDAAuD,CAAC;IAE9D,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,MAAM,gBAAgB,GAAU,EAAE,CAAC;IAEnC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;QACpH,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,QAAQ,IAAI,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,EAAE,SAAS,IAAI,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,cAAc,IAAI,CAAC,CAAC;QAExD,aAAa,IAAI,OAAO,CAAC;QACzB,cAAc,IAAI,QAAQ,CAAC;QAC3B,eAAe,IAAI,SAAS,CAAC;QAE7B,mDAAmD;QACnD,MAAM,YAAY,GAAG,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpH,MAAM,eAAe,GAAU,YAAY,EAAE,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QAElF,IAAI,mBAAmB,GAAG,GAAG,CAAC;QAC9B,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,mBAAmB,GAAG,eAAe;iBAClC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACd,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC;gBAC1D,MAAM,OAAO,GAAG,CAAC,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClG,OAAO,QAAQ,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5E,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;gBAChC,gBAAgB,CAAC,IAAI,CAAC;oBACpB,QAAQ,EAAE,GAAG,CAAC,IAAI;oBAClB,YAAY,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;oBACnE,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;oBACxB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG;oBAC1C,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG;oBACrB,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,GAAG;oBACnC,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,GAAG;oBACrC,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG;oBACvB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,IAAI,GAAG;oBAClC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG;oBAC7B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG;oBAC7B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG;oBAC7B,mBAAmB,EAAE,CAAC,CAAC,mBAAmB,IAAI,IAAI;oBAClD,mBAAmB,EAAE,CAAC,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;oBAClG,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,QAAQ,MAAM,OAAO,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;QACzE,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5F,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;QAEtE,EAAE,IAAI,OAAO,GAAG,CAAC,IAAI,QAAQ,OAAO,MAAM,UAAU,MAAM,OAAO,MAAM,QAAQ,MAAM,mBAAmB,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,CAAC;IACtJ,CAAC;IAED,EAAE,IAAI,iCAAiC,cAAc,MAAM,aAAa,qBAAqB,eAAe,qBAAqB,UAAU,CAAC,MAAM,YAAY,CAAC;IAE/J,8BAA8B;IAC9B,EAAE,IAAI,sDAAsD,CAAC;IAC7D,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,EAAE,IAAI,6EAA6E,CAAC;IACtF,CAAC;SAAM,CAAC;QACN,EAAE,IAAI,sIAAsI,CAAC;QAC7I,EAAE,IAAI,qDAAqD,CAAC;QAC5D,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;YACpC,MAAM,MAAM,GACV,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG;gBAC9B,CAAC,CAAC,IAAI,CAAC,KAAK;gBACZ,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,GAAG;oBAC9C,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI;oBAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG;wBAC9B,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI;wBACnB,CAAC,CAAC,GAAG,CAAC;YACV,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC;YAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9F,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YAC3F,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAE9F,EAAE,IAAI,OAAO,IAAI,CAAC,QAAQ,aAAa,IAAI,CAAC,SAAS,MAAM,MAAM,MAAM,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,aAAa,MAAM,QAAQ,MAAM,YAAY,MAAM,YAAY,MAAM,MAAM,MAAM,KAAK,MAAM,CAAC;QAClM,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAA4B;QACjD,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,UAAU,CAAC,MAAM;QAC7B,WAAW,EAAE;YACX,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,cAAc;YACzB,cAAc,EAAE,eAAe;SAChC;QACD,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,YAAY,GAAG,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAChH,OAAO;gBACL,GAAG,CAAC;gBACJ,WAAW,EAAE,YAAY,EAAE,WAAW,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE;aAC9D,CAAC;QACJ,CAAC,CAAC;QACF,gBAAgB;QAChB,WAAW;KACZ,CAAC;IAEF,EAAE,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;IAE5E,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,GAAU,EACV,MAAY;IAEZ,IAAI,EAAE,GAAG,0CAA0C,CAAC;IAEpD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK;YAAE,WAAW,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3G,IAAI,MAAM,CAAC,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,WAAW,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,IAAI,MAAM,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAClE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,EAAE,IAAI,qBAAqB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,EAAE,IAAI,kDAAkD,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,EAAE,IAAI,wGAAwG,CAAC;QAC/G,EAAE,IAAI,uDAAuD,CAAC;QAE9D,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC;YACtH,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5F,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAClD,MAAM,MAAM,GAAG,EAAE,CAAC,cAAc,IAAI,GAAG,CAAC;YACxC,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpI,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAClD,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YAEjE,EAAE,IAAI,OAAO,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,QAAQ,OAAO,MAAM,UAAU,MAAM,KAAK,MAAM,OAAO,MAAM,MAAM,MAAM,SAAS,MAAM,OAAO,MAAM,CAAC;QAChK,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAA4B;QACjD,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG,CAAC,MAAM;QACpB,GAAG;QACH,MAAM;KACP,CAAC;IAEF,EAAE,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;IAE5E,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAW,EACX,SAAe;IAEf,IAAI,EAAE,GAAG,mDAAmD,CAAC;IAE7D,EAAE,IAAI,qBAAqB,CAAC;IAC5B,EAAE,IAAI,aAAa,CAAC;IACpB,EAAE,IAAI,qBAAqB,MAAM,CAAC,IAAI,QAAQ,CAAC;IAC/C,EAAE,IAAI,mBAAmB,MAAM,CAAC,IAAI,QAAQ,CAAC;IAC7C,EAAE,IAAI,uBAAuB,MAAM,CAAC,QAAQ,QAAQ,CAAC;IACrD,EAAE,IAAI,sBAAsB,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC;IACjG,EAAE,IAAI,0BAA0B,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC;IACzG,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,EAAE,IAAI,wBAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IACtE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,EAAE,IAAI,gBAAgB,MAAM,CAAC,IAAI,MAAM,CAAC;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,EAAE,IAAI,0BAA0B,MAAM,CAAC,WAAW,QAAQ,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,EAAE,IAAI,2BAA2B,MAAM,CAAC,WAAW,QAAQ,CAAC;IAC9D,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACtC,EAAE,IAAI,sBAAsB,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,QAAQ,CAAC;IACxE,CAAC;IACD,EAAE,IAAI,0BAA0B,MAAM,CAAC,SAAS,MAAM,CAAC;IAEvD,IAAI,SAAS,EAAE,CAAC;QACd,EAAE,IAAI,oCAAoC,SAAS,CAAC,OAAO,gBAAgB,SAAS,CAAC,SAAS,UAAU,SAAS,CAAC,eAAe,MAAM,CAAC;IAC1I,CAAC;IAED,MAAM,iBAAiB,GAA4B;QACjD,OAAO,EAAE,IAAI;QACb,EAAE,EAAE,MAAM;QACV,SAAS;KACV,CAAC;IAEF,EAAE,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;IAE5E,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAW;IAEX,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,IAAI,EAAE,GAAG,OAAO,UAAU,iCAAiC,MAAM,CAAC,QAAQ,kBAAkB,MAAM,CAAC,QAAQ,OAAO,CAAC;IAEnH,EAAE,IAAI,2BAA2B,MAAM,CAAC,OAAO,QAAQ,CAAC;IACxD,EAAE,IAAI,iBAAiB,MAAM,CAAC,UAAU,uBAAuB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IAExH,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,EAAE,IAAI,2CAA2C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC;IACtF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,EAAE,IAAI,0CAA0C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC;IACrF,CAAC;IAED,MAAM,iBAAiB,GAA4B;QACjD,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;IAEF,EAAE,IAAI,eAAe,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;IAE1E,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAyBD;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAA2B;IAE3B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,IAAI,EAAE,GAAG,wDAAwD,CAAC;IAElE,EAAE,IAAI,qBAAqB,CAAC;IAC5B,EAAE,IAAI,aAAa,CAAC;IACpB,EAAE,IAAI,yBAAyB,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC;IAC3F,EAAE,IAAI,qBAAqB,MAAM,CAAC,MAAM,QAAQ,CAAC;IACjD,EAAE,IAAI,mBAAmB,MAAM,CAAC,IAAI,QAAQ,CAAC;IAC7C,EAAE,IAAI,6BAA6B,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC;IAC/H,EAAE,IAAI,wBAAwB,MAAM,CAAC,MAAM,gBAAgB,MAAM,CAAC,OAAO,SAAS,CAAC;IACnF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,EAAE,IAAI,iBAAiB,MAAM,CAAC,KAAK,MAAM,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,EAAE,IAAI,2BAA2B,MAAM,CAAC,YAAY,QAAQ,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,EAAE,IAAI,0BAA0B,MAAM,CAAC,WAAW,QAAQ,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACnD,EAAE,IAAI,6BAA6B,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,aAAa,QAAQ,CAAC;IAC5F,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,EAAE,IAAI,oBAAoB,MAAM,CAAC,MAAM,QAAQ,CAAC;IAClD,CAAC;IACD,EAAE,IAAI,wBAAwB,MAAM,CAAC,SAAS,QAAQ,CAAC;IACvD,EAAE,IAAI,0BAA0B,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC;IACtH,EAAE,IAAI,0BAA0B,MAAM,CAAC,WAAW,QAAQ,CAAC;IAC3D,EAAE,IAAI,yBAAyB,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,MAAM,CAAC;IACpH,EAAE,IAAI,8BAA8B,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,eAAe,UAAU,CAAC;IACrH,EAAE,IAAI,4BAA4B,MAAM,CAAC,SAAS,MAAM,CAAC;IAEzD,MAAM,iBAAiB,GAA4B;QACjD,GAAG,MAAM;KACV,CAAC;IAEF,EAAE,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;IAE5E,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|