audrey 2.0.0 → 2.1.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.
- package/CHANGELOG.md +63 -0
- package/README.md +64 -60
- package/SECURITY.md +2 -3
- package/dist/mcp-server/config.d.ts +1 -1
- package/dist/mcp-server/config.d.ts.map +1 -1
- package/dist/mcp-server/config.js +31 -3
- package/dist/mcp-server/config.js.map +1 -1
- package/dist/mcp-server/index.d.ts +6 -2
- package/dist/mcp-server/index.d.ts.map +1 -1
- package/dist/mcp-server/index.js +147 -16
- package/dist/mcp-server/index.js.map +1 -1
- package/dist/mcp-server/tool-schemas.d.ts +46 -0
- package/dist/mcp-server/tool-schemas.d.ts.map +1 -1
- package/dist/mcp-server/tool-schemas.js +20 -1
- package/dist/mcp-server/tool-schemas.js.map +1 -1
- package/dist/src/action-key.d.ts.map +1 -1
- package/dist/src/action-key.js +7 -7
- package/dist/src/action-key.js.map +1 -1
- package/dist/src/audrey.d.ts +7 -4
- package/dist/src/audrey.d.ts.map +1 -1
- package/dist/src/audrey.js +210 -57
- package/dist/src/audrey.js.map +1 -1
- package/dist/src/autopilot.d.ts +1 -1
- package/dist/src/autopilot.d.ts.map +1 -1
- package/dist/src/autopilot.js +47 -224
- package/dist/src/autopilot.js.map +1 -1
- package/dist/src/capsule.d.ts +4 -17
- package/dist/src/capsule.d.ts.map +1 -1
- package/dist/src/capsule.js +21 -20
- package/dist/src/capsule.js.map +1 -1
- package/dist/src/chatgpt-auth.d.ts +77 -0
- package/dist/src/chatgpt-auth.d.ts.map +1 -0
- package/dist/src/chatgpt-auth.js +887 -0
- package/dist/src/chatgpt-auth.js.map +1 -0
- package/dist/src/chatgpt-llm.d.ts +18 -0
- package/dist/src/chatgpt-llm.d.ts.map +1 -0
- package/dist/src/chatgpt-llm.js +157 -0
- package/dist/src/chatgpt-llm.js.map +1 -0
- package/dist/src/consolidate.d.ts.map +1 -1
- package/dist/src/consolidate.js +30 -2
- package/dist/src/consolidate.js.map +1 -1
- package/dist/src/controller.d.ts +7 -1
- package/dist/src/controller.d.ts.map +1 -1
- package/dist/src/controller.js +88 -14
- package/dist/src/controller.js.map +1 -1
- package/dist/src/db.d.ts +1 -0
- package/dist/src/db.d.ts.map +1 -1
- package/dist/src/db.js +126 -45
- package/dist/src/db.js.map +1 -1
- package/dist/src/embedding.d.ts.map +1 -1
- package/dist/src/embedding.js +14 -1
- package/dist/src/embedding.js.map +1 -1
- package/dist/src/encode.d.ts +14 -0
- package/dist/src/encode.d.ts.map +1 -1
- package/dist/src/encode.js +56 -17
- package/dist/src/encode.js.map +1 -1
- package/dist/src/events.d.ts +17 -0
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +130 -3
- package/dist/src/events.js.map +1 -1
- package/dist/src/export.d.ts +1 -0
- package/dist/src/export.d.ts.map +1 -1
- package/dist/src/export.js +9 -2
- package/dist/src/export.js.map +1 -1
- package/dist/src/forget.d.ts.map +1 -1
- package/dist/src/forget.js +6 -2
- package/dist/src/forget.js.map +1 -1
- package/dist/src/fts.d.ts +2 -2
- package/dist/src/fts.d.ts.map +1 -1
- package/dist/src/fts.js +4 -4
- package/dist/src/fts.js.map +1 -1
- package/dist/src/grounding.d.ts +1 -1
- package/dist/src/grounding.d.ts.map +1 -1
- package/dist/src/grounding.js +24 -11
- package/dist/src/grounding.js.map +1 -1
- package/dist/src/hybrid-recall.d.ts +5 -8
- package/dist/src/hybrid-recall.d.ts.map +1 -1
- package/dist/src/hybrid-recall.js +25 -57
- package/dist/src/hybrid-recall.js.map +1 -1
- package/dist/src/import.d.ts +40 -3
- package/dist/src/import.d.ts.map +1 -1
- package/dist/src/import.js +101 -42
- package/dist/src/import.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/llm-shared.d.ts +10 -0
- package/dist/src/llm-shared.d.ts.map +1 -0
- package/dist/src/llm-shared.js +20 -0
- package/dist/src/llm-shared.js.map +1 -0
- package/dist/src/llm.d.ts +2 -1
- package/dist/src/llm.d.ts.map +1 -1
- package/dist/src/llm.js +13 -22
- package/dist/src/llm.js.map +1 -1
- package/dist/src/migrate.d.ts.map +1 -1
- package/dist/src/migrate.js +34 -40
- package/dist/src/migrate.js.map +1 -1
- package/dist/src/preflight.d.ts +2 -0
- package/dist/src/preflight.d.ts.map +1 -1
- package/dist/src/preflight.js +5 -1
- package/dist/src/preflight.js.map +1 -1
- package/dist/src/project-memory.d.ts +14 -0
- package/dist/src/project-memory.d.ts.map +1 -0
- package/dist/src/project-memory.js +135 -0
- package/dist/src/project-memory.js.map +1 -0
- package/dist/src/project.d.ts +2 -0
- package/dist/src/project.d.ts.map +1 -1
- package/dist/src/project.js +12 -0
- package/dist/src/project.js.map +1 -1
- package/dist/src/promote.d.ts.map +1 -1
- package/dist/src/promote.js +2 -26
- package/dist/src/promote.js.map +1 -1
- package/dist/src/recall-scoring.d.ts +14 -0
- package/dist/src/recall-scoring.d.ts.map +1 -0
- package/dist/src/recall-scoring.js +167 -0
- package/dist/src/recall-scoring.js.map +1 -0
- package/dist/src/recall.d.ts.map +1 -1
- package/dist/src/recall.js +31 -168
- package/dist/src/recall.js.map +1 -1
- package/dist/src/rollback.d.ts +12 -0
- package/dist/src/rollback.d.ts.map +1 -1
- package/dist/src/rollback.js +118 -25
- package/dist/src/rollback.js.map +1 -1
- package/dist/src/routes.d.ts.map +1 -1
- package/dist/src/routes.js +102 -33
- package/dist/src/routes.js.map +1 -1
- package/dist/src/rules-compiler.d.ts +4 -0
- package/dist/src/rules-compiler.d.ts.map +1 -1
- package/dist/src/rules-compiler.js +34 -2
- package/dist/src/rules-compiler.js.map +1 -1
- package/dist/src/server.d.ts +2 -0
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +96 -38
- package/dist/src/server.js.map +1 -1
- package/dist/src/shell-command.d.ts.map +1 -1
- package/dist/src/shell-command.js +24 -7
- package/dist/src/shell-command.js.map +1 -1
- package/dist/src/success-checks.d.ts +41 -0
- package/dist/src/success-checks.d.ts.map +1 -0
- package/dist/src/success-checks.js +164 -0
- package/dist/src/success-checks.js.map +1 -0
- package/dist/src/types.d.ts +7 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/validate.d.ts.map +1 -1
- package/dist/src/validate.js +23 -9
- package/dist/src/validate.js.map +1 -1
- package/package.json +7 -10
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* traceable: a later audit or revert can map the file back to the exact
|
|
8
8
|
* memories that produced it.
|
|
9
9
|
*/
|
|
10
|
+
import { createHash } from 'node:crypto';
|
|
10
11
|
const STOP_WORDS = new Set([
|
|
11
12
|
'the',
|
|
12
13
|
'a',
|
|
@@ -35,6 +36,31 @@ function slugifyTitle(title) {
|
|
|
35
36
|
const slug = words.slice(0, 6).join('-');
|
|
36
37
|
return slug.length > 0 ? slug : 'rule';
|
|
37
38
|
}
|
|
39
|
+
/** Old generated names are recognized for preservation, never used for new writes. */
|
|
40
|
+
export function legacyClaudeRuleRelativePath(candidate) {
|
|
41
|
+
return `.claude/rules/${slugifyTitle(titleFor(candidate))}.md`;
|
|
42
|
+
}
|
|
43
|
+
/** Match the generated provenance header, not untrusted text in the evidence body. */
|
|
44
|
+
export function claudeRuleHasProvenance(contents, candidate) {
|
|
45
|
+
const normalized = contents.replace(/\r\n/g, '\n');
|
|
46
|
+
if (!normalized.startsWith('---\n'))
|
|
47
|
+
return false;
|
|
48
|
+
const end = normalized.indexOf('\n---\n', 4);
|
|
49
|
+
if (end === -1)
|
|
50
|
+
return false;
|
|
51
|
+
const lines = normalized.slice(4, end).split('\n');
|
|
52
|
+
const start = lines.indexOf('audrey:');
|
|
53
|
+
if (start === -1)
|
|
54
|
+
return false;
|
|
55
|
+
const audrey = [];
|
|
56
|
+
for (let i = start + 1; i < lines.length && lines[i].startsWith(' '); i++)
|
|
57
|
+
audrey.push(lines[i]);
|
|
58
|
+
const idsIndex = audrey.indexOf(' memory_ids:');
|
|
59
|
+
return (idsIndex !== -1 &&
|
|
60
|
+
audrey[idsIndex + 1] === ` - ${quoteString(candidate.memory_id)}` &&
|
|
61
|
+
audrey.includes(` memory_type: ${quoteString(candidate.memory_type)}`) &&
|
|
62
|
+
audrey.includes(` candidate_id: ${quoteString(candidate.candidate_id)}`));
|
|
63
|
+
}
|
|
38
64
|
function renderFrontmatter(meta) {
|
|
39
65
|
const lines = ['---'];
|
|
40
66
|
for (const [key, value] of Object.entries(meta)) {
|
|
@@ -100,7 +126,12 @@ function inlineExcerpt(value, maxLength = 240) {
|
|
|
100
126
|
}
|
|
101
127
|
export function renderClaudeRule(candidate, promotedAt) {
|
|
102
128
|
const title = titleFor(candidate);
|
|
103
|
-
|
|
129
|
+
// Preserve the complete identity across separate calls and case-insensitive
|
|
130
|
+
// filesystems. Imported identifiers never become filesystem path fragments.
|
|
131
|
+
const identity = createHash('sha256')
|
|
132
|
+
.update(JSON.stringify([candidate.memory_type, candidate.memory_id]))
|
|
133
|
+
.digest('hex');
|
|
134
|
+
const slug = `audrey-${candidate.memory_type === 'procedural' ? 'proc' : 'sem'}-${identity}`;
|
|
104
135
|
const relativePath = `.claude/rules/${slug}.md`;
|
|
105
136
|
const frontmatter = {
|
|
106
137
|
title,
|
|
@@ -155,7 +186,8 @@ export function renderClaudeRule(candidate, promotedAt) {
|
|
|
155
186
|
'',
|
|
156
187
|
`- Source memory: \`${candidate.memory_type}:${candidate.memory_id}\``,
|
|
157
188
|
`- Promoted at: ${promotedAt}`,
|
|
158
|
-
|
|
189
|
+
'- Revocation: delete this file to stop applying this generated rule.',
|
|
190
|
+
`- Memory retraction: separately use the \`memory_forget\` tool with \`id\` set to ${JSON.stringify(candidate.memory_id)}, or the JavaScript SDK \`audrey.forget(${JSON.stringify(candidate.memory_id)})\`. Retracting the memory does not delete this rule file.`,
|
|
159
191
|
'',
|
|
160
192
|
];
|
|
161
193
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-compiler.js","sourceRoot":"","sources":["../../src/rules-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"rules-compiler.js","sourceRoot":"","sources":["../../src/rules-compiler.ts"],"names":[],"mappings":"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"}
|
package/dist/src/server.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export interface ServerOptions {
|
|
|
5
5
|
config: AudreyConfig;
|
|
6
6
|
apiKey?: string;
|
|
7
7
|
sharedScopeEnabled?: boolean;
|
|
8
|
+
/** Total grace period for active requests and queued post-encode work. */
|
|
9
|
+
shutdownTimeoutMs?: number;
|
|
8
10
|
}
|
|
9
11
|
export declare function startServer(options: ServerOptions): Promise<{
|
|
10
12
|
port: number;
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa;;;iBAyElC,OAAO,CAAC,IAAI,CAAC;GAiDlC"}
|
package/dist/src/server.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createAdaptorServer } from '@hono/node-server';
|
|
2
2
|
import { createApp } from './routes.js';
|
|
3
3
|
import { Audrey } from './audrey.js';
|
|
4
4
|
export async function startServer(options) {
|
|
@@ -6,7 +6,10 @@ export async function startServer(options) {
|
|
|
6
6
|
// default (the prior 0.0.0.0) means any same-network process could read
|
|
7
7
|
// memories, purge by query, or import poisoned snapshots. Operators that
|
|
8
8
|
// genuinely need network exposure must set AUDREY_HOST explicitly.
|
|
9
|
-
const { port = 7437, hostname = '127.0.0.1', config, apiKey, sharedScopeEnabled } = options;
|
|
9
|
+
const { port = 7437, hostname = '127.0.0.1', config, apiKey, sharedScopeEnabled, shutdownTimeoutMs = 10_000, } = options;
|
|
10
|
+
if (!Number.isFinite(shutdownTimeoutMs) || shutdownTimeoutMs < 0) {
|
|
11
|
+
throw new Error('shutdownTimeoutMs must be a finite non-negative number');
|
|
12
|
+
}
|
|
10
13
|
// Refuse to start without auth on a non-loopback bind. The escape hatch is
|
|
11
14
|
// explicit so a misconfigured deploy can't silently expose memories.
|
|
12
15
|
const isLoopback = hostname === '127.0.0.1' || hostname === '::1' || hostname === 'localhost';
|
|
@@ -19,42 +22,97 @@ export async function startServer(options) {
|
|
|
19
22
|
`Anyone on this network can read and modify memories.`);
|
|
20
23
|
}
|
|
21
24
|
const audrey = new Audrey(config);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
server.close(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return resolve();
|
|
44
|
-
reject(err);
|
|
45
|
-
});
|
|
25
|
+
let server;
|
|
26
|
+
const sockets = new Set();
|
|
27
|
+
try {
|
|
28
|
+
if (typeof audrey.embeddingProvider.ready === 'function') {
|
|
29
|
+
await audrey.embeddingProvider.ready();
|
|
30
|
+
}
|
|
31
|
+
const app = createApp(audrey, { apiKey, sharedScopeEnabled });
|
|
32
|
+
const listener = createAdaptorServer({ fetch: app.fetch });
|
|
33
|
+
server = listener;
|
|
34
|
+
let shuttingDown = false;
|
|
35
|
+
listener.on('connection', (socket) => {
|
|
36
|
+
sockets.add(socket);
|
|
37
|
+
socket.once('close', () => sockets.delete(socket));
|
|
38
|
+
});
|
|
39
|
+
listener.on('request', (_request, response) => {
|
|
40
|
+
response.once('finish', () => {
|
|
41
|
+
// server.close() reaps sockets already idle at shutdown, but requests
|
|
42
|
+
// active at that point can subsequently enter their keep-alive wait.
|
|
43
|
+
if (shuttingDown && 'closeIdleConnections' in listener) {
|
|
44
|
+
listener.closeIdleConnections();
|
|
45
|
+
}
|
|
46
46
|
});
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
});
|
|
48
|
+
await new Promise((resolve, reject) => {
|
|
49
|
+
const failed = (error) => {
|
|
50
|
+
listener.removeListener('listening', listening);
|
|
51
|
+
reject(error);
|
|
52
|
+
};
|
|
53
|
+
const listening = () => {
|
|
54
|
+
listener.removeListener('error', failed);
|
|
55
|
+
resolve();
|
|
56
|
+
};
|
|
57
|
+
listener.once('error', failed);
|
|
58
|
+
listener.once('listening', listening);
|
|
59
|
+
listener.listen(port, hostname);
|
|
60
|
+
});
|
|
61
|
+
const address = listener.address();
|
|
62
|
+
if (!address || typeof address === 'string')
|
|
63
|
+
throw new Error('HTTP server did not bind a port');
|
|
64
|
+
console.error(`[audrey-http] listening on ${hostname}:${address.port}`);
|
|
65
|
+
let closing;
|
|
66
|
+
const close = () => {
|
|
67
|
+
closing ??= (async () => {
|
|
68
|
+
shuttingDown = true;
|
|
69
|
+
const deadline = Date.now() + shutdownTimeoutMs;
|
|
70
|
+
let shutdownError;
|
|
71
|
+
try {
|
|
72
|
+
await new Promise((resolve, reject) => {
|
|
73
|
+
const timeout = setTimeout(() => {
|
|
74
|
+
console.error('[audrey-http] shutdown grace period expired; closing active connections');
|
|
75
|
+
for (const socket of sockets)
|
|
76
|
+
socket.destroy();
|
|
77
|
+
reject(new Error('HTTP shutdown grace period expired'));
|
|
78
|
+
}, Math.max(0, deadline - Date.now()));
|
|
79
|
+
listener.close(error => {
|
|
80
|
+
clearTimeout(timeout);
|
|
81
|
+
if (error && error.code !== 'ERR_SERVER_NOT_RUNNING') {
|
|
82
|
+
reject(error);
|
|
83
|
+
}
|
|
84
|
+
else
|
|
85
|
+
resolve();
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
shutdownError = error instanceof Error ? error : new Error(String(error));
|
|
91
|
+
}
|
|
92
|
+
const drained = await audrey.closeAsync(Math.max(0, deadline - Date.now()));
|
|
93
|
+
if (drained && !drained.drained) {
|
|
94
|
+
console.error(`[audrey-http] shutdown left pending post-encode work: ${drained.pendingIds.join(', ')}`);
|
|
95
|
+
throw new Error('Post-encode work did not drain before the shutdown deadline');
|
|
96
|
+
}
|
|
97
|
+
if (shutdownError)
|
|
98
|
+
throw shutdownError;
|
|
99
|
+
})();
|
|
100
|
+
return closing;
|
|
101
|
+
};
|
|
102
|
+
return { port: address.port, hostname, close };
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
for (const socket of sockets)
|
|
106
|
+
socket.destroy();
|
|
107
|
+
if (server?.listening)
|
|
108
|
+
server.close();
|
|
109
|
+
try {
|
|
110
|
+
await audrey.closeAsync(0);
|
|
111
|
+
}
|
|
112
|
+
catch (cleanupError) {
|
|
113
|
+
console.error('[audrey-http] startup cleanup failed:', cleanupError);
|
|
114
|
+
}
|
|
115
|
+
throw error;
|
|
116
|
+
}
|
|
59
117
|
}
|
|
60
118
|
//# sourceMappingURL=server.js.map
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-command.d.ts","sourceRoot":"","sources":["../../src/shell-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,sFAAsF;IACtF,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAy2BD,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"shell-command.d.ts","sourceRoot":"","sources":["../../src/shell-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,sFAAsF;IACtF,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAy2BD,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAsuBD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,mBAAwB,GAChC,mBAAmB,CAqBrB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAInF"}
|
|
@@ -272,7 +272,6 @@ function tokenize(command) {
|
|
|
272
272
|
flush();
|
|
273
273
|
return tokens;
|
|
274
274
|
}
|
|
275
|
-
const DISCARD_TARGETS = new Set(['/dev/null', 'nul', 'nul:']);
|
|
276
275
|
function splitSegments(tokens) {
|
|
277
276
|
const result = [];
|
|
278
277
|
let current = { words: [], writes: false, consumer: false };
|
|
@@ -299,7 +298,9 @@ function splitSegments(tokens) {
|
|
|
299
298
|
pendingRedirect = token.op;
|
|
300
299
|
}
|
|
301
300
|
else if (pendingRedirect) {
|
|
302
|
-
|
|
301
|
+
// This parser models shell commands, including Bash on Windows. DOS
|
|
302
|
+
// device names and differently cased paths can be ordinary output files.
|
|
303
|
+
if (pendingRedirect.includes('>') && token.word.text !== '/dev/null') {
|
|
303
304
|
current.writes = true;
|
|
304
305
|
}
|
|
305
306
|
pendingRedirect = undefined;
|
|
@@ -888,8 +889,12 @@ function gitArgs(args) {
|
|
|
888
889
|
return rest;
|
|
889
890
|
}
|
|
890
891
|
function gitIsReadOnly(sub, rest) {
|
|
891
|
-
//
|
|
892
|
-
|
|
892
|
+
// Output and program-selection options defeat the read-only subcommand
|
|
893
|
+
// allowlist. Include Git's accepted long-option abbreviations.
|
|
894
|
+
if (rest.some(arg => ['--output', '--upload-pack', '--exec', '--ext-diff', '--textconv'].some(option => {
|
|
895
|
+
const name = arg.split('=')[0];
|
|
896
|
+
return name.startsWith('--') && name.length > 3 && option.startsWith(name);
|
|
897
|
+
})))
|
|
893
898
|
return false;
|
|
894
899
|
if (GIT_READ_ONLY.has(sub))
|
|
895
900
|
return true;
|
|
@@ -919,8 +924,14 @@ function gitIsReadOnly(sub, rest) {
|
|
|
919
924
|
return false;
|
|
920
925
|
}
|
|
921
926
|
return positional(rest).length === 0 || rest.some(arg => GIT_BRANCH_LIST_FLAGS.has(arg));
|
|
922
|
-
case 'remote':
|
|
923
|
-
|
|
927
|
+
case 'remote': {
|
|
928
|
+
// Verbose is a global option, not a read-only operation: it may precede
|
|
929
|
+
// `add`, `remove`, `set-url`, or any other mutating subcommand.
|
|
930
|
+
const args = [...rest];
|
|
931
|
+
while (args[0] === '-v' || args[0] === '--verbose')
|
|
932
|
+
args.shift();
|
|
933
|
+
return args.length === 0 || args[0] === 'show' || args[0] === 'get-url';
|
|
934
|
+
}
|
|
924
935
|
case 'tag':
|
|
925
936
|
if (usesShortFlag(rest, 'df') || rest.some(arg => arg === '--delete' || arg === '--force')) {
|
|
926
937
|
return false;
|
|
@@ -956,8 +967,9 @@ function npmProfile(verb, args) {
|
|
|
956
967
|
}
|
|
957
968
|
if (sub === 'audit')
|
|
958
969
|
return { readOnly: !args.includes('fix'), signature: `${verb} audit` };
|
|
970
|
+
// A dry run still executes package lifecycle scripts.
|
|
959
971
|
if (sub === 'pack')
|
|
960
|
-
return { readOnly:
|
|
972
|
+
return { readOnly: false, signature: `${verb} pack` };
|
|
961
973
|
if (sub === 'version') {
|
|
962
974
|
return { readOnly: positional(args).length === 1, signature: `${verb} version` };
|
|
963
975
|
}
|
|
@@ -1319,6 +1331,11 @@ function profileVerb(verb, args) {
|
|
|
1319
1331
|
};
|
|
1320
1332
|
case 'hostname':
|
|
1321
1333
|
return { readOnly: positional(args).length === 0, signature: 'hostname' };
|
|
1334
|
+
case 'ss':
|
|
1335
|
+
return {
|
|
1336
|
+
readOnly: !usesShortFlag(args, 'K') && !args.some(arg => arg === '--kill'),
|
|
1337
|
+
signature: 'ss',
|
|
1338
|
+
};
|
|
1322
1339
|
case 'env':
|
|
1323
1340
|
return { readOnly: args.every(isFlag), signature: 'env' };
|
|
1324
1341
|
case 'git': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-command.js","sourceRoot":"","sources":["../../src/shell-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AA0BH,4DAA4D;AAC5D,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAExE,0EAA0E;AAC1E,2EAA2E;AAC3E,0EAA0E;AAC1E,+DAA+D;AAC/D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAAC;AAE/D,SAAS,QAAQ,CAAC,OAAe;IAC/B,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAuE,EAAE,CAAC;IAC/F,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,SAAS,KAAK;QACZ,IAAI,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACpF,MAAM,GAAG,EAAE,CAAC;QACZ,MAAM,GAAG,KAAK,CAAC;QACf,OAAO,GAAG,KAAK,CAAC;QAChB,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;QAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,KAAK,EAAE,CAAC;iBAC5B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;gBAC/C,CAAC,EAAE,CAAC;gBACJ,OAAO;YACT,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,SAAS,QAAQ;QACf,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YAAE,CAAC,EAAE,CAAC;QAC9E,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxC,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChE,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC1C,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,CAAC,EAAE,CAAC;gBACJ,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChD,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;wBACzC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC9B,CAAC,IAAI,CAAC,CAAC;wBACP,SAAS;oBACX,CAAC;oBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;wBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;oBACvF,IAAI,IAAI,CAAC,CAAC;oBACV,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,CAAC,EAAE,CAAC;gBACJ,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC1C,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9B,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,MAAM;YAClC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACzF,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;gBAAE,WAAW,GAAG,IAAI,CAAC;YAC7E,IAAI,IAAI,EAAE,CAAC;YACX,KAAK,GAAG,IAAI,CAAC;YACb,CAAC,EAAE,CAAC;QACN,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,wCAAwC;IACxC,SAAS,iBAAiB;QACxB,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC1B,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;gBACrC,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACpD,IAAI,OAAO,CAAC,SAAS;oBAAE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACvD,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,IAAI,KAAK,OAAO,CAAC,SAAS;oBAAE,MAAM;gBACtC,IAAI,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QACD,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAExE,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClE,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC1C,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;YACxB,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChD,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtF,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAChC,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,2DAA2D;gBAC3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACvF,MAAM,IAAI,CAAC,CAAC;gBACZ,CAAC,EAAE,CAAC;YACN,CAAC;YACD,CAAC,EAAE,CAAC;YACJ,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;YACxB,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,IAAI,CAAC;gBACf,CAAC,IAAI,CAAC,CAAC;gBACP,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;gBACxB,SAAS;YACX,CAAC;YACD,MAAM,IAAI,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,CAAC;YACf,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAC/B,KAAK,EAAE,CAAC;YACR,CAAC,EAAE,CAAC;YACJ,IAAI,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;gBAAE,CAAC,EAAE,CAAC;YACtC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;gBAAE,iBAAiB,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAC9B,KAAK,EAAE,CAAC;YACR,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACrC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;YACtC,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,EAAE,CAAC;YACR,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC1C,SAAS;QACX,CAAC;QAED,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACjF,KAAK,EAAE,CAAC;YACR,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;QAC7E,IAAI,QAAQ,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACzE,KAAK,EAAE,CAAC;YACR,IAAI,QAAQ;gBAAE,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACZ,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvB,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;gBAC7B,eAAe,CAAC,IAAI,CAAC;oBACnB,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE;oBAChC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;oBAC7B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM;iBAC5B,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;YACf,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC/B,0DAA0D;gBAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACpE,IAAI,GAAG,EAAE,CAAC;oBACR,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACnB,SAAS;gBACX,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClF,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC1B,IAAI,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACxD,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,EAAE,CAAC;YACR,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC,CAAC;YAC5E,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,sEAAsE;QACtE,8DAA8D;QAC9D,4DAA4D;QAC5D,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC;QAC7D,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,OAAO,GAAG,IAAI,CAAC;QACzE,MAAM,IAAI,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,CAAC;QACf,CAAC,EAAE,CAAC;IACN,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,MAAM,CAAC;AAChB,CAAC;AAUD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9D,SAAS,aAAa,CAAC,MAAe;IACpC,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,OAAO,GAAY,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACrE,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,eAAmC,CAAC;IAExC,SAAS,cAAc;QACrB,4DAA4D;QAC5D,IAAI,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAC1D,eAAe,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAChC,cAAc,EAAE,CAAC;YACjB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,OAAO,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/D,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACrC,cAAc,EAAE,CAAC;YACjB,eAAe,GAAG,KAAK,CAAC,EAAE,CAAC;QAC7B,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YAC3B,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACzF,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,eAAe,GAAG,SAAS,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,cAAc,EAAE,CAAC;IACjB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,GAAG;IACH,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,OAAO;IACP,OAAO;IACP,IAAI;IACJ,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH,uEAAuE;AACvE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7F,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;AAChG,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAE1F,uEAAuE;AACvE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,UAAU;IACV,QAAQ;IACR,GAAG;CACJ,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,4CAA4C,CAAC;AAEhE,oDAAoD;AACpD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,IAAI;IACJ,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,GAAG;IACH,KAAK;IACL,KAAK;IACL,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,KAAK;IACL,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,UAAU;IACV,OAAO;IACP,MAAM;IACN,MAAM;IACN,GAAG;IACH,IAAI;IACJ,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,GAAG,aAAa;IAChB,MAAM;IACN,OAAO;IACP,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,SAAS;IACT,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,SAAS;IACT,WAAW;IACX,WAAW;IACX,OAAO;IACP,KAAK;IACL,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,IAAI;IACJ,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,QAAQ;IACR,UAAU;IACV,OAAO;IACP,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,OAAO;IACP,MAAM;IACN,SAAS;IACT,IAAI;IACJ,UAAU;IACV,YAAY;IACZ,KAAK;IACL,SAAS;IACT,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,SAAS;IACT,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,OAAO;IACP,UAAU;IACV,KAAK;IACL,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,UAAU;IACV,SAAS;IACT,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,OAAO;IACP,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,YAAY;IACZ,cAAc;IACd,eAAe;IACf,cAAc;IACd,YAAY;IACZ,kBAAkB;IAClB,KAAK;IACL,SAAS;IACT,WAAW;IACX,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,aAAa;IACb,aAAa;IACb,QAAQ;IACR,YAAY;IACZ,aAAa;IACb,eAAe;IACf,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,YAAY;IACZ,IAAI;IACJ,qBAAqB;IACrB,qBAAqB;CACtB,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,mBAAmB;IACnB,IAAI;IACJ,kBAAkB;IAClB,oBAAoB;IACpB,IAAI;IACJ,SAAS;IACT,SAAS;IACT,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,IAAI;IACJ,QAAQ;IACR,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,UAAU;IACV,aAAa;IACb,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;AAExF,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,SAAS;IACT,aAAa;IACb,OAAO;IACP,eAAe;IACf,QAAQ;IACR,IAAI;IACJ,kBAAkB;IAClB,kBAAkB;CACnB,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,GAAG;IACH,UAAU;IACV,SAAS;IACT,KAAK;IACL,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,QAAQ;IACR,GAAG;IACH,IAAI;IACJ,MAAM;IACN,WAAW;IACX,IAAI;IACJ,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACvD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AAErE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,IAAI;IACJ,QAAQ;IACR,SAAS;IACT,MAAM;IACN,SAAS;IACT,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,WAAW;CACZ,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,SAAS;IACT,WAAW;IACX,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;CACX,CAAC,CAAC;AACH,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,gBAAgB;IAChB,qBAAqB;IACrB,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,YAAY;CACb,CAAC,CAAC;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,IAAI;IACJ,MAAM;IACN,SAAS;IACT,MAAM;IACN,IAAI;IACJ,KAAK;IACL,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,KAAK;IACL,UAAU;IACV,MAAM;IACN,SAAS;IACT,SAAS;IACT,eAAe;IACf,cAAc;IACd,KAAK;IACL,cAAc;IACd,MAAM;IACN,QAAQ;CACT,CAAC,CAAC;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,MAAM;IACN,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,SAAS;IACT,SAAS;IACT,WAAW;IACX,WAAW;IACX,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,WAAW;IACX,cAAc;IACd,cAAc;IACd,aAAa;IACb,eAAe;IACf,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,WAAW;IACX,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,eAAe;IACf,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,eAAe;IACf,YAAY;IACZ,aAAa;IACb,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,WAAW;IACX,IAAI;IACJ,OAAO;IACP,OAAO;CACR,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,WAAW;IACX,IAAI;IACJ,UAAU;IACV,MAAM;IACN,QAAQ;IACR,OAAO;IACP,gBAAgB;IAChB,eAAe;IACf,gBAAgB;CACjB,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAChE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE5F,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,IAAI;IACJ,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,IAAI;IACJ,KAAK;IACL,MAAM;IACN,YAAY;IACZ,KAAK;IACL,SAAS;CACV,CAAC,CAAC;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,SAAS;IACT,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,UAAU;IACV,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AACrF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AACpE,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEzE,qEAAqE;AACrE,wEAAwE;AACxE,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,IAAI;IACJ,KAAK;IACL,MAAM;IACN,QAAQ;IACR,SAAS;IACT,IAAI;IACJ,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,IAAI;IACJ,UAAU;IACV,SAAS;IACT,KAAK;IACL,KAAK;IACL,MAAM;IACN,IAAI;IACJ,KAAK;IACL,MAAM;IACN,YAAY;IACZ,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,SAAS;IACT,KAAK;IACL,UAAU;IACV,MAAM;IACN,SAAS;IACT,WAAW;IACX,QAAQ;IACR,KAAK;IACL,uEAAuE;IACvE,KAAK;IACL,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,KAAK;IACL,UAAU;IACV,UAAU;IACV,OAAO;IACP,MAAM;IACN,IAAI;IACJ,KAAK;IACL,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,WAAW;IACX,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,IAAI;IACJ,UAAU;IACV,KAAK;IACL,YAAY;IACZ,MAAM;IACN,SAAS;IACT,UAAU;CACX,CAAC,CAAC;AAYH,SAAS,aAAa,CAAC,IAAU;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC;IACzD,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,MAAM,CAAC,GAAW;IACzB,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACzD,CAAC;AAED,kEAAkE;AAClE,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACzC,CAAC;AAED,yEAAyE;AACzE,0EAA0E;AAC1E,wEAAwE;AACxE,UAAU;AACV,SAAS,OAAO,CAAC,IAAc;IAC7B,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,SAAS,CAAC;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM;QAC7B,IAAI,GAAG,KAAK,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC/B,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;aAC5C,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;;YAC1C,MAAM;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,IAAc;IAChD,uEAAuE;IACvE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACjE,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,+CAA+C;YAC/C,OAAO,CACL,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CACxF,CAAC;QACJ,KAAK,MAAM;YACT,iEAAiE;YACjE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3D,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;QACjD,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;QAClD,KAAK,UAAU;YACb,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;QAC5B,KAAK,WAAW;YACd,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;QACvD,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;QAClD,KAAK,cAAc;YACjB,OAAO,CACL,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;gBAC5B,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC;gBACzB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAC9C,CAAC;QACJ,KAAK,QAAQ;YACX,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACzF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3F,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;QAC9F,KAAK,KAAK;YACR,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC3F,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,CACL,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CACrE,CAAC;QACJ,KAAK,QAAQ;YACX,IAAI,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,qEAAqE;YACrE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QACtC;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAOD,SAAS,UAAU,CAAC,IAAY,EAAE,IAAc;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,2DAA2D;IAC3D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,KAAK,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC5E,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;IAC1F,CAAC;IACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;IACrF,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;YACrE,SAAS,EAAE,GAAG,IAAI,SAAS;SAC5B,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5F,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;IAC/F,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC;IACnF,CAAC;IACD,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QAC1C,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;AAC3E,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,SAAS,CAAC;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM;QAC7B,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3C,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;;YAC1C,MAAM;IACb,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK;KAC/E,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,6EAA6E;AAC7E,gEAAgE;AAChE,SAAS,kBAAkB,CAAC,IAAY,EAAE,IAAc;IACtD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACnE,uEAAuE;IACvE,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;IAC5E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,CAAC;IACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;QACnF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,KAAK,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAC1E,IAAI,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,OAAO,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC;IAChG,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACzF,CAAC;AAED,SAAS,aAAa,CAAC,IAAc;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC1D,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,qEAAqE;QACrE,wEAAwE;QACxE,mEAAmE;QACnE,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,4BAA4B,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC3D,IACH,qFAAqF,CAAC,IAAI,CACxF,MAAM,CACP;gBAED,IAAI,CAAC,KAAK,EAAE,CAAC;iBACV,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,iBAAiB;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAC;;gBACzE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAC/D,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,2DAA2D;QAC3D,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9F,OAAO;YACL,QAAQ,EAAE,MAAM,KAAK,SAAS,IAAI,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY;YACrF,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE;SAChE,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;IAClG,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAC3D,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,OAAO,EAAE,QAAQ,EAAE,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAChG,CAAC;IACD,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;IACxF,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,GAAG,EAAE,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACtD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,EAAE,CAAC;IAC/F,wEAAwE;IACxE,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3F,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CACzB,GAAG,CAAC,EAAE,CACJ,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;YACxB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;YAC1B,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YACzB,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;YAC7B,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YACzB,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAC/B,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC3C,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO,EAAE,QAAQ,EAAE,CAAC,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;AACxF,CAAC;AAED,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,kEAAkE;AAClE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM;IACN,UAAU;IACV,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,SAAS;IACT,IAAI;IACJ,MAAM;IACN,SAAS;IACT,OAAO;IACP,UAAU;IACV,aAAa;IACb,UAAU;IACV,gBAAgB;IAChB,IAAI;IACJ,kBAAkB;IAClB,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,yBAAyB;CAC1B,CAAC,CAAC;AAEH,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,IAAI,KAAK,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,kCAAkC;AAClC,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,uEAAuE;AACvE,oEAAoE;AACpE,uEAAuE;AACvE,2DAA2D;AAC3D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACxB,IAAI;IACJ,SAAS;IACT,UAAU;IACV,IAAI;IACJ,IAAI;IACJ,mBAAmB;IACnB,IAAI;IACJ,aAAa;IACb,IAAI;IACJ,cAAc;IACd,IAAI;IACJ,YAAY;IACZ,SAAS;IACT,SAAS;IACT,WAAW;IACX,WAAW;IACX,QAAQ;CACT,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAA,gCAAgC,CAAC;AAC/D,MAAM,SAAS,GAAG,GAAG,WAAW,UAAU,WAAW,mBAAmB,CAAC;AACzE,yEAAyE;AACzE,wEAAwE;AACxE,MAAM,UAAU,GAAG,IAAI,MAAM,CAC3B,OAAO,SAAS,kEAAkE,CACnF,CAAC;AACF,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,OAAO,SAAS,2BAA2B,CAAC,CAAC;AAE9E,SAAS,mBAAmB,CAAC,MAAc;IACzC,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7B,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,yEAAyE;QACzE,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,CAAC;YACX,CAAC;;gBAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,IAAc;IACnC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM;QACR,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,cAAc,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxE,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACzB,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YAChD,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YACvC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC7D,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACpD,IAAI,GAAG,KAAK,IAAI;oBAAE,CAAC,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAC5C,CAAC;AAED,oEAAoE;AACpE,4EAA4E;AAC5E,2EAA2E;AAC3E,qBAAqB;AACrB,SAAS,aAAa,CAAC,IAAc,EAAE,OAAe;IACpD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,WAAW,OAAO,GAAG,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,IAAc,EAAE,WAAwB;IAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO;QACL,QAAQ,EAAE,GAAG,KAAK,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;QACnD,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,IAAc;IAC/C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC7D,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,+DAA+D;YAC/D,oCAAoC;YACpC,OAAO;gBACL,QAAQ,EACN,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC1B,CAAC,IAAI,CAAC,IAAI,CACR,GAAG,CAAC,EAAE,CACJ,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;wBACxB,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;wBACxB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;wBACjB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;wBACjB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACzB;gBACH,SAAS,EAAE,KAAK;aACjB,CAAC;QACJ,KAAK,IAAI;YACP,yDAAyD;YACzD,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACnF,KAAK,MAAM;YACT,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QACvF,KAAK,MAAM;YACT,OAAO;gBACL,QAAQ,EACN,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC;oBACzB,CAAC,IAAI,CAAC,IAAI,CACR,GAAG,CAAC,EAAE,CACJ,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;wBAC1B,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC;wBACpC,qDAAqD;wBACrD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CACtB;gBACH,SAAS,EAAE,MAAM;aAClB,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACrF,SAAS,EAAE,MAAM;aAClB,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QACpE,KAAK,KAAK;YACR,yCAAyC;YACzC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACtE,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,iEAAiE;YACjE,OAAO;gBACL,QAAQ,EACN,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpE,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,KAAK,QAAQ;YACX,0EAA0E;YAC1E,OAAO,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QACvE,KAAK,SAAS;YACZ,kDAAkD;YAClD,OAAO,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QACxE,KAAK,MAAM;YACT,+DAA+D;YAC/D,OAAO,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QACvE,KAAK,OAAO;YACV,6DAA6D;YAC7D,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAC7E,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACR,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC/E,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QACvE,KAAK,IAAI;YACP,OAAO;gBACL,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACrF,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACjF,SAAS,EAAE,MAAM;aAClB,CAAC;QACJ,KAAK,UAAU;YACb,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QAC5E,KAAK,KAAK;YACR,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC5D,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAChE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC;QAChG,CAAC;QACD,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,KAAK,KAAK;YACR,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,KAAK,KAAK;YACR,OAAO;gBACL,QAAQ,EACN,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC9D,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC;oBACzB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC9C,SAAS,EAAE,KAAK;aACjB,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9B,KAAK,IAAI;YACP,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QACxD,KAAK,IAAI;YACP,kDAAkD;YAClD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;YAClD,CAAC;YACD,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QACrD,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACT,OAAO,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QACvD,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACzD,KAAK,MAAM;YACT,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAChG,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3F,CAAC;QACD;YACE,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClE,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnF,CAAC;YACD,sEAAsE;YACtE,sEAAsE;YACtE,wBAAwB;YACxB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnF,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB,EAAE,OAA4B;IACpE,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,IACE,OAAO,CAAC,SAAS;QACjB,KAAK;aACF,KAAK,CAAC,CAAC,CAAC;aACR,IAAI,CACH,IAAI,CAAC,EAAE,CACL,CAAC,IAAI,CAAC,MAAM;YACZ,CAAC,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAChD,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACtE,EACH,CAAC;QACD,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,2EAA2E;IAC3E,uEAAuE;IACvE,mEAAmE;IACnE,2EAA2E;IAC3E,MAAM,cAAc,GAAG,CAAC,IAAU,EAAQ,EAAE;QAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,QAAQ,GAAG,KAAK,CAAC;QACvD,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC;IACF,SAAS,CAAC;QACR,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,gEAAgE;QAChE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAChF,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,sEAAsE;QACtE,wCAAwC;QACxC,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,QAAQ,GAAG,KAAK,CAAC;QAClD,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC3E,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QAC/C,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,kEAAkE;YAClE,oEAAoE;YACpE,8DAA8D;YAC9D,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACtC,SAAS,CAAC;oBACR,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;wBAAE,MAAM;oBACpE,IAAI,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;wBAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC1D,IACH,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;wBACrC,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBAClD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBAE1B,KAAK,CAAC,KAAK,EAAE,CAAC;;wBACX,MAAM;gBACb,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,wEAAwE;IACxE,sEAAsE;IACtE,yEAAyE;IACzE,uEAAuE;IACvE,6CAA6C;IAC7C,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChF,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CACzB,IAAI,EACJ,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CACtC,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,QAAQ;IACR,SAAS;IACT,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,IAAI;IACJ,OAAO;IACP,KAAK;IACL,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,KAAK;CACN,CAAC,CAAC;AAEH,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,MAAM;IACN,OAAO;IACP,OAAO;IACP,IAAI;IACJ,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,KAAK;IACL,MAAM;IACN,IAAI;IACJ,SAAS;IACT,KAAK;IACL,SAAS;IACT,IAAI;CACL,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,UAA+B,EAAE;IAEjC,IACE,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAC3B,OAAO,CAAC,MAAM,GAAG,iBAAiB,EAClC,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC7C,CAAC;IACD,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,QAAQ,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,QAAQ,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,SAAS;YAAE,SAAS;QACjC,IAAI,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,SAAS;QACxE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,CAAmB,EAAE,CAAmB;IACxE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,KAAK,MAAM,SAAS,IAAI,CAAC;QAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;IAChE,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"shell-command.js","sourceRoot":"","sources":["../../src/shell-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { EventOutcome } from './events.js';
|
|
2
|
+
export type SuccessValue = string | number | boolean | null;
|
|
3
|
+
/** A required comparison against the returned output, declared before acting. */
|
|
4
|
+
export interface SuccessCheck {
|
|
5
|
+
id: string;
|
|
6
|
+
/** JSON Pointer into afterAction.output; an empty pointer selects the output. */
|
|
7
|
+
pointer: string;
|
|
8
|
+
equals: SuccessValue;
|
|
9
|
+
/** Parse the selected string as JSON before comparing its scalar value. */
|
|
10
|
+
parseJson?: boolean;
|
|
11
|
+
}
|
|
12
|
+
interface CompiledCheck {
|
|
13
|
+
id: string;
|
|
14
|
+
pointer: string;
|
|
15
|
+
parseJson: boolean;
|
|
16
|
+
expectedDigest: string;
|
|
17
|
+
}
|
|
18
|
+
export interface CompiledSuccessChecks {
|
|
19
|
+
version: 1;
|
|
20
|
+
digest: string;
|
|
21
|
+
checks: CompiledCheck[];
|
|
22
|
+
}
|
|
23
|
+
export interface SuccessCheckResult {
|
|
24
|
+
id: string;
|
|
25
|
+
status: 'passed' | 'failed' | 'unknown';
|
|
26
|
+
reason: 'matched' | 'mismatch' | 'missing_value' | 'invalid_json' | 'unsupported_value';
|
|
27
|
+
}
|
|
28
|
+
export interface SuccessVerification {
|
|
29
|
+
contract_digest: string;
|
|
30
|
+
status: 'passed' | 'failed' | 'unknown' | 'not_run';
|
|
31
|
+
checks: SuccessCheckResult[];
|
|
32
|
+
}
|
|
33
|
+
export declare function compileSuccessChecks(value: unknown): CompiledSuccessChecks | undefined;
|
|
34
|
+
/** Reject malformed persisted contracts instead of silently skipping checks. */
|
|
35
|
+
export declare function readSuccessChecks(value: unknown): CompiledSuccessChecks | undefined;
|
|
36
|
+
export declare function verifySuccessChecks(contract: CompiledSuccessChecks, output: unknown, reported: EventOutcome): {
|
|
37
|
+
outcome: EventOutcome;
|
|
38
|
+
verification: SuccessVerification;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=success-checks.d.ts.map
|