ssh-mcp-pro 1.0.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/AGENTS.md +127 -0
- package/ARCHITECTURE.md +145 -0
- package/LICENSE +21 -0
- package/LICENSES/MIT.txt +21 -0
- package/MIGRATION.md +14 -0
- package/README.md +175 -0
- package/REGISTRY_SUBMISSION.md +38 -0
- package/SECURITY.md +40 -0
- package/SECURITY_DECISIONS.md +59 -0
- package/dist/agent-bin.d.ts +3 -0
- package/dist/agent-bin.d.ts.map +1 -0
- package/dist/agent-bin.js +8 -0
- package/dist/agent-bin.js.map +1 -0
- package/dist/audit.d.ts +25 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +50 -0
- package/dist/audit.js.map +1 -0
- package/dist/auth.d.ts +4 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +33 -0
- package/dist/auth.js.map +1 -0
- package/dist/cli.d.ts +16 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +99 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +103 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +490 -0
- package/dist/config.js.map +1 -0
- package/dist/connector-credentials.d.ts +8 -0
- package/dist/connector-credentials.d.ts.map +1 -0
- package/dist/connector-credentials.js +132 -0
- package/dist/connector-credentials.js.map +1 -0
- package/dist/connector-profile.d.ts +17 -0
- package/dist/connector-profile.d.ts.map +1 -0
- package/dist/connector-profile.js +81 -0
- package/dist/connector-profile.js.map +1 -0
- package/dist/container.d.ts +18 -0
- package/dist/container.d.ts.map +1 -0
- package/dist/container.js +52 -0
- package/dist/container.js.map +1 -0
- package/dist/detect.d.ts +7 -0
- package/dist/detect.d.ts.map +1 -0
- package/dist/detect.js +271 -0
- package/dist/detect.js.map +1 -0
- package/dist/ensure.d.ts +17 -0
- package/dist/ensure.d.ts.map +1 -0
- package/dist/ensure.js +531 -0
- package/dist/ensure.js.map +1 -0
- package/dist/errors.d.ts +54 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +84 -0
- package/dist/errors.js.map +1 -0
- package/dist/fs-tools.d.ts +26 -0
- package/dist/fs-tools.d.ts.map +1 -0
- package/dist/fs-tools.js +599 -0
- package/dist/fs-tools.js.map +1 -0
- package/dist/http-rate-limit.d.ts +9 -0
- package/dist/http-rate-limit.d.ts.map +1 -0
- package/dist/http-rate-limit.js +41 -0
- package/dist/http-rate-limit.js.map +1 -0
- package/dist/http-security.d.ts +22 -0
- package/dist/http-security.d.ts.map +1 -0
- package/dist/http-security.js +88 -0
- package/dist/http-security.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +201 -0
- package/dist/index.js.map +1 -0
- package/dist/logging.d.ts +52 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +180 -0
- package/dist/logging.js.map +1 -0
- package/dist/mcp.d.ts +16 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +159 -0
- package/dist/mcp.js.map +1 -0
- package/dist/metrics.d.ts +95 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +204 -0
- package/dist/metrics.js.map +1 -0
- package/dist/oauth.d.ts +14 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +105 -0
- package/dist/oauth.js.map +1 -0
- package/dist/policy.d.ts +64 -0
- package/dist/policy.d.ts.map +1 -0
- package/dist/policy.js +368 -0
- package/dist/policy.js.map +1 -0
- package/dist/process.d.ts +24 -0
- package/dist/process.d.ts.map +1 -0
- package/dist/process.js +212 -0
- package/dist/process.js.map +1 -0
- package/dist/prompts.d.ts +49 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +191 -0
- package/dist/prompts.js.map +1 -0
- package/dist/rate-limiter.d.ts +57 -0
- package/dist/rate-limiter.d.ts.map +1 -0
- package/dist/rate-limiter.js +141 -0
- package/dist/rate-limiter.js.map +1 -0
- package/dist/remote/agent-cli.d.ts +2 -0
- package/dist/remote/agent-cli.d.ts.map +1 -0
- package/dist/remote/agent-cli.js +270 -0
- package/dist/remote/agent-cli.js.map +1 -0
- package/dist/remote/agent-executor.d.ts +26 -0
- package/dist/remote/agent-executor.d.ts.map +1 -0
- package/dist/remote/agent-executor.js +400 -0
- package/dist/remote/agent-executor.js.map +1 -0
- package/dist/remote/config.d.ts +3 -0
- package/dist/remote/config.d.ts.map +1 -0
- package/dist/remote/config.js +52 -0
- package/dist/remote/config.js.map +1 -0
- package/dist/remote/control-plane.d.ts +57 -0
- package/dist/remote/control-plane.d.ts.map +1 -0
- package/dist/remote/control-plane.js +1248 -0
- package/dist/remote/control-plane.js.map +1 -0
- package/dist/remote/crypto.d.ts +38 -0
- package/dist/remote/crypto.d.ts.map +1 -0
- package/dist/remote/crypto.js +143 -0
- package/dist/remote/crypto.js.map +1 -0
- package/dist/remote/mcp-tools.d.ts +10 -0
- package/dist/remote/mcp-tools.d.ts.map +1 -0
- package/dist/remote/mcp-tools.js +201 -0
- package/dist/remote/mcp-tools.js.map +1 -0
- package/dist/remote/policy.d.ts +11 -0
- package/dist/remote/policy.d.ts.map +1 -0
- package/dist/remote/policy.js +94 -0
- package/dist/remote/policy.js.map +1 -0
- package/dist/remote/schemas.d.ts +298 -0
- package/dist/remote/schemas.d.ts.map +1 -0
- package/dist/remote/schemas.js +111 -0
- package/dist/remote/schemas.js.map +1 -0
- package/dist/remote/scopes.d.ts +6 -0
- package/dist/remote/scopes.d.ts.map +1 -0
- package/dist/remote/scopes.js +24 -0
- package/dist/remote/scopes.js.map +1 -0
- package/dist/remote/store.d.ts +45 -0
- package/dist/remote/store.d.ts.map +1 -0
- package/dist/remote/store.js +355 -0
- package/dist/remote/store.js.map +1 -0
- package/dist/remote/types.d.ts +183 -0
- package/dist/remote/types.d.ts.map +1 -0
- package/dist/remote/types.js +103 -0
- package/dist/remote/types.js.map +1 -0
- package/dist/remote/util.d.ts +6 -0
- package/dist/remote/util.d.ts.map +1 -0
- package/dist/remote/util.js +45 -0
- package/dist/remote/util.js.map +1 -0
- package/dist/remote/websocket.d.ts +26 -0
- package/dist/remote/websocket.d.ts.map +1 -0
- package/dist/remote/websocket.js +167 -0
- package/dist/remote/websocket.js.map +1 -0
- package/dist/render-http.d.ts +2 -0
- package/dist/render-http.d.ts.map +1 -0
- package/dist/render-http.js +14 -0
- package/dist/render-http.js.map +1 -0
- package/dist/resources.d.ts +19 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +96 -0
- package/dist/resources.js.map +1 -0
- package/dist/retry.d.ts +45 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +120 -0
- package/dist/retry.js.map +1 -0
- package/dist/safety.d.ts +31 -0
- package/dist/safety.d.ts.map +1 -0
- package/dist/safety.js +174 -0
- package/dist/safety.js.map +1 -0
- package/dist/server-http.d.ts +2 -0
- package/dist/server-http.d.ts.map +1 -0
- package/dist/server-http.js +432 -0
- package/dist/server-http.js.map +1 -0
- package/dist/session.d.ts +116 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +666 -0
- package/dist/session.js.map +1 -0
- package/dist/shell.d.ts +10 -0
- package/dist/shell.d.ts.map +1 -0
- package/dist/shell.js +83 -0
- package/dist/shell.js.map +1 -0
- package/dist/ssh-config.d.ts +94 -0
- package/dist/ssh-config.d.ts.map +1 -0
- package/dist/ssh-config.js +234 -0
- package/dist/ssh-config.js.map +1 -0
- package/dist/streaming.d.ts +36 -0
- package/dist/streaming.d.ts.map +1 -0
- package/dist/streaming.js +140 -0
- package/dist/streaming.js.map +1 -0
- package/dist/telemetry.d.ts +17 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +101 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/tools/connector.provider.d.ts +28 -0
- package/dist/tools/connector.provider.d.ts.map +1 -0
- package/dist/tools/connector.provider.js +360 -0
- package/dist/tools/connector.provider.js.map +1 -0
- package/dist/tools/ensure.provider.d.ts +18 -0
- package/dist/tools/ensure.provider.d.ts.map +1 -0
- package/dist/tools/ensure.provider.js +173 -0
- package/dist/tools/ensure.provider.js.map +1 -0
- package/dist/tools/fs.provider.d.ts +21 -0
- package/dist/tools/fs.provider.d.ts.map +1 -0
- package/dist/tools/fs.provider.js +259 -0
- package/dist/tools/fs.provider.js.map +1 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +68 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/metadata.d.ts +11 -0
- package/dist/tools/metadata.d.ts.map +1 -0
- package/dist/tools/metadata.js +10 -0
- package/dist/tools/metadata.js.map +1 -0
- package/dist/tools/output-schemas.d.ts +217 -0
- package/dist/tools/output-schemas.d.ts.map +1 -0
- package/dist/tools/output-schemas.js +300 -0
- package/dist/tools/output-schemas.js.map +1 -0
- package/dist/tools/process.provider.d.ts +22 -0
- package/dist/tools/process.provider.d.ts.map +1 -0
- package/dist/tools/process.provider.js +146 -0
- package/dist/tools/process.provider.js.map +1 -0
- package/dist/tools/registry.d.ts +12 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +163 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/results.d.ts +4 -0
- package/dist/tools/results.d.ts.map +1 -0
- package/dist/tools/results.js +5 -0
- package/dist/tools/results.js.map +1 -0
- package/dist/tools/session.provider.d.ts +23 -0
- package/dist/tools/session.provider.d.ts.map +1 -0
- package/dist/tools/session.provider.js +299 -0
- package/dist/tools/session.provider.js.map +1 -0
- package/dist/tools/system.provider.d.ts +18 -0
- package/dist/tools/system.provider.d.ts.map +1 -0
- package/dist/tools/system.provider.js +81 -0
- package/dist/tools/system.provider.js.map +1 -0
- package/dist/tools/transfer.provider.d.ts +16 -0
- package/dist/tools/transfer.provider.d.ts.map +1 -0
- package/dist/tools/transfer.provider.js +85 -0
- package/dist/tools/transfer.provider.js.map +1 -0
- package/dist/tools/tunnel.provider.d.ts +18 -0
- package/dist/tools/tunnel.provider.d.ts.map +1 -0
- package/dist/tools/tunnel.provider.js +142 -0
- package/dist/tools/tunnel.provider.js.map +1 -0
- package/dist/tools/types.d.ts +16 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/transfer.d.ts +40 -0
- package/dist/transfer.d.ts.map +1 -0
- package/dist/transfer.js +363 -0
- package/dist/transfer.js.map +1 -0
- package/dist/tunnel.d.ts +37 -0
- package/dist/tunnel.d.ts.map +1 -0
- package/dist/tunnel.js +234 -0
- package/dist/tunnel.js.map +1 -0
- package/dist/types.d.ts +341 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +184 -0
- package/dist/types.js.map +1 -0
- package/docs/docker.md +22 -0
- package/examples/README.md +77 -0
- package/mcp.json +21 -0
- package/package.json +147 -0
- package/registry/ssh-mcp-pro/mcp.json +21 -0
- package/server.json +76 -0
package/dist/errors.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { ErrorCode, SSHMCPError } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates an authentication error
|
|
4
|
+
*/
|
|
5
|
+
export function createAuthError(message, hint) {
|
|
6
|
+
return new SSHMCPError(ErrorCode.EAUTH, message, hint, "SSH authentication failed. Please check your credentials or SSH key.", true, "Use ssh_open_session with different auth method (password, key, or agent)");
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Creates a connection error
|
|
10
|
+
*/
|
|
11
|
+
export function createConnectionError(message, hint) {
|
|
12
|
+
return new SSHMCPError(ErrorCode.ECONN, message, hint, "Unable to connect to the SSH server. The server may be down or unreachable.", true, "Check network connectivity and verify host/port are correct");
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Creates a timeout error
|
|
16
|
+
*/
|
|
17
|
+
export function createTimeoutError(message, hint) {
|
|
18
|
+
return new SSHMCPError(ErrorCode.ETIMEOUT, message, hint, "The operation timed out. The server may be slow or unresponsive.", true, "Try increasing timeout or check server load");
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Creates a sudo error
|
|
22
|
+
*/
|
|
23
|
+
export function createSudoError(message, hint) {
|
|
24
|
+
return new SSHMCPError(ErrorCode.ENOSUDO, message, hint, "Root/sudo privileges are required but not available.", true, "Configure a restricted NOPASSWD sudoers profile for approved commands");
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Creates a package manager error
|
|
28
|
+
*/
|
|
29
|
+
export function createPackageManagerError(message, hint) {
|
|
30
|
+
return new SSHMCPError(ErrorCode.EPMGR, message, hint, "Package manager operation failed. Check if the package name is correct.", true, "Verify package name and try ensure_package with correct packageName");
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Creates a filesystem error
|
|
34
|
+
*/
|
|
35
|
+
export function createFilesystemError(message, hint) {
|
|
36
|
+
return new SSHMCPError(ErrorCode.EFS, message, hint, "File system operation failed. Check path and permissions.", true, "Verify the path exists and you have proper permissions");
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Creates a patch error
|
|
40
|
+
*/
|
|
41
|
+
export function createPatchError(message, hint) {
|
|
42
|
+
return new SSHMCPError(ErrorCode.EPATCH, message, hint, "Failed to apply text patch. The file content may have changed.", true, "Re-read the file with fs_read and try again with updated content");
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Creates a bad request error
|
|
46
|
+
*/
|
|
47
|
+
export function createBadRequestError(message, hint) {
|
|
48
|
+
return new SSHMCPError(ErrorCode.EBADREQ, message, hint, "Invalid request parameters.", false, "Check the parameter format and values");
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Creates a policy denial error
|
|
52
|
+
*/
|
|
53
|
+
export function createPolicyError(message, hint) {
|
|
54
|
+
return new SSHMCPError(ErrorCode.EPOLICY, message, hint, "The operation was denied by the configured safety policy.", false, "Review the policy or run the request in explain mode before changing guardrails");
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Creates a host key verification error
|
|
58
|
+
*/
|
|
59
|
+
export function createHostKeyError(message, hint) {
|
|
60
|
+
return new SSHMCPError(ErrorCode.EHOSTKEY, message, hint, "SSH host key verification failed.", true, "Verify known_hosts or expectedHostKeySha256 before reconnecting");
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Creates a configured limit error
|
|
64
|
+
*/
|
|
65
|
+
export function createLimitError(message, hint) {
|
|
66
|
+
return new SSHMCPError(ErrorCode.ELIMIT, message, hint, "The operation exceeded a configured safety limit.", false, "Use a smaller request, transfer the file, or raise the configured limit intentionally");
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Creates an unsupported platform/capability error
|
|
70
|
+
*/
|
|
71
|
+
export function createUnsupportedError(message, hint) {
|
|
72
|
+
return new SSHMCPError(ErrorCode.EUNSUPPORTED, message, hint, "The requested operation is not supported for this host or transport.", false, "Use a supported tool for this platform or check the capability resource");
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Wraps an unknown error into an SSH MCP error
|
|
76
|
+
*/
|
|
77
|
+
export function wrapError(error, code, hint) {
|
|
78
|
+
if (error instanceof SSHMCPError) {
|
|
79
|
+
return error;
|
|
80
|
+
}
|
|
81
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
82
|
+
return new SSHMCPError(code, message, hint, "An unexpected error occurred.", true, "Try the operation again or check server status");
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { MetricsCollector } from "./metrics.js";
|
|
2
|
+
import type { PolicyEngine } from "./policy.js";
|
|
3
|
+
import type { SessionManager } from "./session.js";
|
|
4
|
+
import type { ServerConfig } from "./config.js";
|
|
5
|
+
import type { DirListResult, FileStatInfo } from "./types.js";
|
|
6
|
+
export interface FsService {
|
|
7
|
+
readFile(sessionId: string, path: string, encoding?: string, maxBytes?: number): Promise<string>;
|
|
8
|
+
writeFile(sessionId: string, path: string, data: string, mode?: number): Promise<boolean>;
|
|
9
|
+
statFile(sessionId: string, path: string): Promise<FileStatInfo>;
|
|
10
|
+
listDirectory(sessionId: string, path: string, page?: number, limit?: number): Promise<DirListResult>;
|
|
11
|
+
makeDirectories(sessionId: string, path: string): Promise<boolean>;
|
|
12
|
+
removeRecursive(sessionId: string, path: string): Promise<boolean>;
|
|
13
|
+
renameFile(sessionId: string, from: string, to: string): Promise<boolean>;
|
|
14
|
+
pathExists(sessionId: string, path: string): Promise<boolean>;
|
|
15
|
+
getFileSize(sessionId: string, path: string): Promise<number>;
|
|
16
|
+
isDirectory(sessionId: string, path: string): Promise<boolean>;
|
|
17
|
+
isFile(sessionId: string, path: string): Promise<boolean>;
|
|
18
|
+
}
|
|
19
|
+
export interface FsServiceDeps {
|
|
20
|
+
sessionManager: Pick<SessionManager, "getSession" | "getOSInfo">;
|
|
21
|
+
metrics: Pick<MetricsCollector, "recordFileRead" | "recordFileWrite" | "recordFileDelete">;
|
|
22
|
+
config: Pick<ServerConfig, "maxFileSize" | "maxFileWriteBytes">;
|
|
23
|
+
policy: Pick<PolicyEngine, "assertAllowed">;
|
|
24
|
+
}
|
|
25
|
+
export declare function createFsService({ sessionManager, metrics, config, policy, }: FsServiceDeps): FsService;
|
|
26
|
+
//# sourceMappingURL=fs-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-tools.d.ts","sourceRoot":"","sources":["../src/fs-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAY,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1F,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjE,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC,CAAC;IAC3F,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,mBAAmB,CAAC,CAAC;IAChE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;CAC7C;AAqLD,wBAAgB,eAAe,CAAC,EAC9B,cAAc,EACd,OAAO,EACP,MAAM,EACN,MAAM,GACP,EAAE,aAAa,GAAG,SAAS,CAmiB3B"}
|