@agentplat/mesh 0.3.0-alpha.1 → 0.3.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +247 -2
- package/dist/coordination-allocation-contracts.d.ts +598 -0
- package/dist/coordination-allocation-contracts.d.ts.map +1 -0
- package/dist/coordination-allocation-contracts.js +2 -0
- package/dist/coordination-allocation-contracts.js.map +1 -0
- package/dist/coordination-allocation-state.d.ts +19 -0
- package/dist/coordination-allocation-state.d.ts.map +1 -0
- package/dist/coordination-allocation-state.js +5496 -0
- package/dist/coordination-allocation-state.js.map +1 -0
- package/dist/coordination-allocation.d.ts +10 -0
- package/dist/coordination-allocation.d.ts.map +1 -0
- package/dist/coordination-allocation.js +2743 -0
- package/dist/coordination-allocation.js.map +1 -0
- package/dist/coordination-contracts.d.ts +78 -0
- package/dist/coordination-contracts.d.ts.map +1 -0
- package/dist/coordination-contracts.js +2 -0
- package/dist/coordination-contracts.js.map +1 -0
- package/dist/coordination-discovery-contracts.d.ts +150 -0
- package/dist/coordination-discovery-contracts.d.ts.map +1 -0
- package/dist/coordination-discovery-contracts.js +2 -0
- package/dist/coordination-discovery-contracts.js.map +1 -0
- package/dist/coordination-discovery-state.d.ts +12 -0
- package/dist/coordination-discovery-state.d.ts.map +1 -0
- package/dist/coordination-discovery-state.js +542 -0
- package/dist/coordination-discovery-state.js.map +1 -0
- package/dist/coordination-discovery.d.ts +19 -0
- package/dist/coordination-discovery.d.ts.map +1 -0
- package/dist/coordination-discovery.js +850 -0
- package/dist/coordination-discovery.js.map +1 -0
- package/dist/coordination-execution.d.ts +6 -0
- package/dist/coordination-execution.d.ts.map +1 -0
- package/dist/coordination-execution.js +854 -0
- package/dist/coordination-execution.js.map +1 -0
- package/dist/coordination-inbound-contracts.d.ts +150 -0
- package/dist/coordination-inbound-contracts.d.ts.map +1 -0
- package/dist/coordination-inbound-contracts.js +2 -0
- package/dist/coordination-inbound-contracts.js.map +1 -0
- package/dist/coordination-inbound-state.d.ts +26 -0
- package/dist/coordination-inbound-state.d.ts.map +1 -0
- package/dist/coordination-inbound-state.js +331 -0
- package/dist/coordination-inbound-state.js.map +1 -0
- package/dist/coordination-inbound.d.ts +16 -0
- package/dist/coordination-inbound.d.ts.map +1 -0
- package/dist/coordination-inbound.js +944 -0
- package/dist/coordination-inbound.js.map +1 -0
- package/dist/coordination-lease-renewal.d.ts +8 -0
- package/dist/coordination-lease-renewal.d.ts.map +1 -0
- package/dist/coordination-lease-renewal.js +518 -0
- package/dist/coordination-lease-renewal.js.map +1 -0
- package/dist/coordination-objective-topic-contracts.d.ts +70 -0
- package/dist/coordination-objective-topic-contracts.d.ts.map +1 -0
- package/dist/coordination-objective-topic-contracts.js +2 -0
- package/dist/coordination-objective-topic-contracts.js.map +1 -0
- package/dist/coordination-objective-topic.d.ts +6 -0
- package/dist/coordination-objective-topic.d.ts.map +1 -0
- package/dist/coordination-objective-topic.js +561 -0
- package/dist/coordination-objective-topic.js.map +1 -0
- package/dist/coordination-objective-work-contracts.d.ts +212 -0
- package/dist/coordination-objective-work-contracts.d.ts.map +1 -0
- package/dist/coordination-objective-work-contracts.js +2 -0
- package/dist/coordination-objective-work-contracts.js.map +1 -0
- package/dist/coordination-objective-work-state.d.ts +10 -0
- package/dist/coordination-objective-work-state.d.ts.map +1 -0
- package/dist/coordination-objective-work-state.js +1075 -0
- package/dist/coordination-objective-work-state.js.map +1 -0
- package/dist/coordination-objective-work-time.d.ts +9 -0
- package/dist/coordination-objective-work-time.d.ts.map +1 -0
- package/dist/coordination-objective-work-time.js +48 -0
- package/dist/coordination-objective-work-time.js.map +1 -0
- package/dist/coordination-objective-work.d.ts +11 -0
- package/dist/coordination-objective-work.d.ts.map +1 -0
- package/dist/coordination-objective-work.js +1090 -0
- package/dist/coordination-objective-work.js.map +1 -0
- package/dist/coordination-recovery.d.ts +13 -0
- package/dist/coordination-recovery.d.ts.map +1 -0
- package/dist/coordination-recovery.js +951 -0
- package/dist/coordination-recovery.js.map +1 -0
- package/dist/coordination-reducer.d.ts +8 -0
- package/dist/coordination-reducer.d.ts.map +1 -0
- package/dist/coordination-reducer.js +81 -0
- package/dist/coordination-reducer.js.map +1 -0
- package/dist/coordination-state.d.ts +13 -0
- package/dist/coordination-state.d.ts.map +1 -0
- package/dist/coordination-state.js +335 -0
- package/dist/coordination-state.js.map +1 -0
- package/dist/coordination-topic-contracts.d.ts +82 -0
- package/dist/coordination-topic-contracts.d.ts.map +1 -0
- package/dist/coordination-topic-contracts.js +2 -0
- package/dist/coordination-topic-contracts.js.map +1 -0
- package/dist/coordination-topic.d.ts +6 -0
- package/dist/coordination-topic.d.ts.map +1 -0
- package/dist/coordination-topic.js +561 -0
- package/dist/coordination-topic.js.map +1 -0
- package/dist/coordination.d.ts +21 -0
- package/dist/coordination.d.ts.map +1 -0
- package/dist/coordination.js +21 -0
- package/dist/coordination.js.map +1 -0
- package/dist/sha256.d.ts +3 -0
- package/dist/sha256.d.ts.map +1 -0
- package/dist/sha256.js +117 -0
- package/dist/sha256.js.map +1 -0
- package/package.json +7 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination-execution.js","sourceRoot":"","sources":["../src/coordination-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import type { MeshCryptoPolicy, MeshCryptoRejectionCode, MeshKeyResolver } from '@agentplat/mesh-crypto';
|
|
2
|
+
import type { MeshProtocolOptions, SignedMeshEnvelope, VerifiedMeshEnvelope } from '@agentplat/mesh-protocol';
|
|
3
|
+
import type { MeshLogicalTime, MeshPeerIdentity } from './contracts.js';
|
|
4
|
+
import type { MeshDiscoveryPayload, MeshDiscoveryRejectionCode, MeshDiscoveryState } from './coordination-discovery-contracts.js';
|
|
5
|
+
import type { MeshCoordinationState } from './coordination-contracts.js';
|
|
6
|
+
import type { MeshObjectivePayload, MeshObjectiveWorkRejectionCode, MeshObjectiveWorkState } from './coordination-objective-work-contracts.js';
|
|
7
|
+
import type { MeshAllocationPayload, MeshAllocationRejectionCode, MeshAllocationState } from './coordination-allocation-contracts.js';
|
|
8
|
+
/** One bounded replay window for an admitted peer and instance pair. */
|
|
9
|
+
export interface MeshCoordinationInboundReplayWindow {
|
|
10
|
+
readonly highestSequence: number;
|
|
11
|
+
readonly seenOffsets: readonly number[];
|
|
12
|
+
}
|
|
13
|
+
/** Hard ceilings for non-evictable inbound security state. */
|
|
14
|
+
export interface MeshCoordinationInboundLimits {
|
|
15
|
+
readonly replayWindowSize: number;
|
|
16
|
+
readonly maximumReplayWindows: number;
|
|
17
|
+
readonly maximumTrackedMessageIds: number;
|
|
18
|
+
readonly messageIdRetentionMs: number;
|
|
19
|
+
}
|
|
20
|
+
/** Independently versioned replay and message-id security snapshot. */
|
|
21
|
+
export interface MeshCoordinationInboundState {
|
|
22
|
+
readonly schemaVersion: 1;
|
|
23
|
+
readonly identity: MeshPeerIdentity;
|
|
24
|
+
readonly replay: Readonly<Record<string, MeshCoordinationInboundReplayWindow>>;
|
|
25
|
+
readonly messageIds: Readonly<Record<string, MeshLogicalTime>>;
|
|
26
|
+
readonly limits: MeshCoordinationInboundLimits;
|
|
27
|
+
readonly lastLogicalTime: MeshLogicalTime;
|
|
28
|
+
}
|
|
29
|
+
/** Options for a new empty coordination inbound snapshot. */
|
|
30
|
+
export interface MeshCoordinationInboundStateOptions {
|
|
31
|
+
readonly identity: MeshPeerIdentity;
|
|
32
|
+
readonly limits?: Partial<MeshCoordinationInboundLimits>;
|
|
33
|
+
}
|
|
34
|
+
/** Composite state used by the signed discovery acceptance boundary. */
|
|
35
|
+
export interface MeshDiscoveryInboundRuntimeState {
|
|
36
|
+
readonly coordination: MeshCoordinationState;
|
|
37
|
+
readonly discovery: MeshDiscoveryState;
|
|
38
|
+
readonly inbound: MeshCoordinationInboundState;
|
|
39
|
+
}
|
|
40
|
+
/** Trusted construction-time dependencies for the discovery inbound boundary. */
|
|
41
|
+
export interface MeshDiscoveryInboundProcessorOptions {
|
|
42
|
+
readonly resolver: MeshKeyResolver;
|
|
43
|
+
readonly cryptoPolicy: MeshCryptoPolicy;
|
|
44
|
+
readonly crypto?: Crypto;
|
|
45
|
+
readonly protocolOptions?: MeshProtocolOptions;
|
|
46
|
+
readonly supportedCriticalExtensions?: readonly string[];
|
|
47
|
+
}
|
|
48
|
+
/** Remote message data accepted by a configured discovery inbound boundary. */
|
|
49
|
+
export interface MeshDiscoveryInboundRequest {
|
|
50
|
+
readonly envelope: SignedMeshEnvelope<MeshDiscoveryPayload>;
|
|
51
|
+
readonly verifiedAt: string;
|
|
52
|
+
readonly receivedAt: MeshLogicalTime;
|
|
53
|
+
}
|
|
54
|
+
/** Stable fail-closed outcomes from the signed discovery boundary. */
|
|
55
|
+
export type MeshDiscoveryInboundRejectionCode = MeshCryptoRejectionCode | MeshDiscoveryRejectionCode | 'logical_time_regressed' | 'message_replayed' | 'sequence_outside_window' | 'replay_capacity_exceeded' | 'message_not_authorized' | 'unsupported_message_type';
|
|
56
|
+
/** Result of verifying and applying one signed discovery coordination message. */
|
|
57
|
+
export type MeshDiscoveryInboundDecision = {
|
|
58
|
+
readonly accepted: true;
|
|
59
|
+
readonly duplicate: boolean;
|
|
60
|
+
readonly envelope: VerifiedMeshEnvelope<MeshDiscoveryPayload>;
|
|
61
|
+
readonly state: MeshDiscoveryInboundRuntimeState;
|
|
62
|
+
} | {
|
|
63
|
+
readonly accepted: false;
|
|
64
|
+
readonly code: MeshDiscoveryInboundRejectionCode;
|
|
65
|
+
readonly state: MeshDiscoveryInboundRuntimeState;
|
|
66
|
+
};
|
|
67
|
+
/** Authenticated boundary with immutable construction-time trust dependencies. */
|
|
68
|
+
export interface MeshDiscoveryInboundProcessor {
|
|
69
|
+
process(state: MeshDiscoveryInboundRuntimeState, request: MeshDiscoveryInboundRequest): Promise<MeshDiscoveryInboundDecision>;
|
|
70
|
+
}
|
|
71
|
+
/** Composite state used by the signed Objective acceptance boundary. */
|
|
72
|
+
export interface MeshObjectiveInboundRuntimeState {
|
|
73
|
+
readonly coordination: MeshCoordinationState;
|
|
74
|
+
readonly discovery: MeshDiscoveryState;
|
|
75
|
+
readonly objectives: MeshObjectiveWorkState;
|
|
76
|
+
readonly inbound: MeshCoordinationInboundState;
|
|
77
|
+
}
|
|
78
|
+
/** Trusted construction-time dependencies for the Objective inbound boundary. */
|
|
79
|
+
export interface MeshObjectiveInboundProcessorOptions {
|
|
80
|
+
readonly resolver: MeshKeyResolver;
|
|
81
|
+
readonly cryptoPolicy: MeshCryptoPolicy;
|
|
82
|
+
readonly crypto?: Crypto;
|
|
83
|
+
readonly protocolOptions?: MeshProtocolOptions;
|
|
84
|
+
readonly supportedCriticalExtensions?: readonly string[];
|
|
85
|
+
}
|
|
86
|
+
/** Remote Objective message data accepted by a configured inbound boundary. */
|
|
87
|
+
export interface MeshObjectiveInboundRequest {
|
|
88
|
+
readonly envelope: SignedMeshEnvelope<MeshObjectivePayload>;
|
|
89
|
+
readonly verifiedAt: string;
|
|
90
|
+
readonly receivedAt: MeshLogicalTime;
|
|
91
|
+
}
|
|
92
|
+
/** Stable fail-closed outcomes from the signed Objective boundary. */
|
|
93
|
+
export type MeshObjectiveInboundRejectionCode = MeshCryptoRejectionCode | MeshObjectiveWorkRejectionCode | 'logical_time_regressed' | 'message_replayed' | 'sequence_outside_window' | 'replay_capacity_exceeded' | 'unsupported_message_type';
|
|
94
|
+
/** Result of verifying and applying one signed Objective coordination message. */
|
|
95
|
+
export type MeshObjectiveInboundDecision = {
|
|
96
|
+
readonly accepted: true;
|
|
97
|
+
readonly duplicate: boolean;
|
|
98
|
+
readonly envelope: VerifiedMeshEnvelope<MeshObjectivePayload>;
|
|
99
|
+
readonly state: MeshObjectiveInboundRuntimeState;
|
|
100
|
+
} | {
|
|
101
|
+
readonly accepted: false;
|
|
102
|
+
readonly code: MeshObjectiveInboundRejectionCode;
|
|
103
|
+
readonly state: MeshObjectiveInboundRuntimeState;
|
|
104
|
+
};
|
|
105
|
+
/** Authenticated boundary with immutable construction-time trust dependencies. */
|
|
106
|
+
export interface MeshObjectiveInboundProcessor {
|
|
107
|
+
process(state: MeshObjectiveInboundRuntimeState, request: MeshObjectiveInboundRequest): Promise<MeshObjectiveInboundDecision>;
|
|
108
|
+
}
|
|
109
|
+
/** Allocation messages authenticated at the common coordination boundary. */
|
|
110
|
+
export type MeshAllocationInboundPayload = MeshAllocationPayload;
|
|
111
|
+
/** Composite state used by the signed allocation acceptance boundary. */
|
|
112
|
+
export interface MeshAllocationInboundRuntimeState {
|
|
113
|
+
readonly coordination: MeshCoordinationState;
|
|
114
|
+
readonly discovery: MeshDiscoveryState;
|
|
115
|
+
readonly objectives: MeshObjectiveWorkState;
|
|
116
|
+
readonly allocation: MeshAllocationState;
|
|
117
|
+
readonly inbound: MeshCoordinationInboundState;
|
|
118
|
+
}
|
|
119
|
+
/** Trusted construction-time dependencies for the allocation inbound boundary. */
|
|
120
|
+
export interface MeshAllocationInboundProcessorOptions {
|
|
121
|
+
readonly resolver: MeshKeyResolver;
|
|
122
|
+
readonly cryptoPolicy: MeshCryptoPolicy;
|
|
123
|
+
readonly crypto?: Crypto;
|
|
124
|
+
readonly protocolOptions?: MeshProtocolOptions;
|
|
125
|
+
readonly supportedCriticalExtensions?: readonly string[];
|
|
126
|
+
}
|
|
127
|
+
/** Remote allocation message data accepted by a configured inbound boundary. */
|
|
128
|
+
export interface MeshAllocationInboundRequest {
|
|
129
|
+
readonly envelope: SignedMeshEnvelope<MeshAllocationInboundPayload>;
|
|
130
|
+
readonly verifiedAt: string;
|
|
131
|
+
readonly receivedAt: MeshLogicalTime;
|
|
132
|
+
}
|
|
133
|
+
/** Stable fail-closed outcomes from the signed allocation boundary. */
|
|
134
|
+
export type MeshAllocationInboundRejectionCode = MeshCryptoRejectionCode | MeshAllocationRejectionCode | 'logical_time_regressed' | 'message_replayed' | 'sequence_outside_window' | 'replay_capacity_exceeded' | 'unsupported_message_type';
|
|
135
|
+
/** Result of verifying and applying one signed allocation coordination message. */
|
|
136
|
+
export type MeshAllocationInboundDecision = {
|
|
137
|
+
readonly accepted: true;
|
|
138
|
+
readonly duplicate: boolean;
|
|
139
|
+
readonly envelope: VerifiedMeshEnvelope<MeshAllocationInboundPayload>;
|
|
140
|
+
readonly state: MeshAllocationInboundRuntimeState;
|
|
141
|
+
} | {
|
|
142
|
+
readonly accepted: false;
|
|
143
|
+
readonly code: MeshAllocationInboundRejectionCode;
|
|
144
|
+
readonly state: MeshAllocationInboundRuntimeState;
|
|
145
|
+
};
|
|
146
|
+
/** Authenticated boundary with immutable construction-time trust dependencies. */
|
|
147
|
+
export interface MeshAllocationInboundProcessor {
|
|
148
|
+
process(state: MeshAllocationInboundRuntimeState, request: MeshAllocationInboundRequest): Promise<MeshAllocationInboundDecision>;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=coordination-inbound-contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination-inbound-contracts.d.ts","sourceRoot":"","sources":["../src/coordination-inbound-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination-inbound-contracts.js","sourceRoot":"","sources":["../src/coordination-inbound-contracts.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { MeshLogicalTime } from './contracts.js';
|
|
2
|
+
import type { MeshCoordinationInboundLimits, MeshCoordinationInboundState, MeshCoordinationInboundStateOptions, MeshDiscoveryInboundRuntimeState, MeshAllocationInboundRuntimeState, MeshObjectiveInboundRuntimeState } from './coordination-inbound-contracts.js';
|
|
3
|
+
import type { MeshAllocationState } from './coordination-allocation-contracts.js';
|
|
4
|
+
import type { MeshDiscoveryState } from './coordination-discovery-contracts.js';
|
|
5
|
+
import type { MeshCoordinationState } from './coordination-contracts.js';
|
|
6
|
+
import type { MeshObjectiveWorkState } from './coordination-objective-work-contracts.js';
|
|
7
|
+
/** Fixed ceilings that callers may only reduce without weakening protocol v0. */
|
|
8
|
+
export declare const DEFAULT_MESH_COORDINATION_INBOUND_LIMITS: Readonly<MeshCoordinationInboundLimits>;
|
|
9
|
+
/** Creates an empty, deeply immutable coordination inbound snapshot. */
|
|
10
|
+
export declare function createMeshCoordinationInboundState(options: MeshCoordinationInboundStateOptions): MeshCoordinationInboundState;
|
|
11
|
+
/** Strictly validates and canonicalizes an untrusted decoded snapshot. */
|
|
12
|
+
export declare function restoreMeshCoordinationInboundState(snapshot: unknown): MeshCoordinationInboundState;
|
|
13
|
+
/** Strict assertion used before security-sensitive inbound transitions. */
|
|
14
|
+
export declare function assertFrozenMeshCoordinationInboundState(state: MeshCoordinationInboundState): void;
|
|
15
|
+
/** Composes aligned coordination, discovery, and inbound snapshots. */
|
|
16
|
+
export declare function createMeshDiscoveryInboundRuntimeState(coordination: MeshCoordinationState, discovery: MeshDiscoveryState, inbound: MeshCoordinationInboundState): MeshDiscoveryInboundRuntimeState;
|
|
17
|
+
/** Composes aligned core, discovery, Objective and inbound security snapshots. */
|
|
18
|
+
export declare function createMeshObjectiveInboundRuntimeState(coordination: MeshCoordinationState, discovery: MeshDiscoveryState, objectives: MeshObjectiveWorkState, inbound: MeshCoordinationInboundState): MeshObjectiveInboundRuntimeState;
|
|
19
|
+
/** Composes aligned allocation and inbound security snapshots. */
|
|
20
|
+
export declare function createMeshAllocationInboundRuntimeState(coordination: MeshCoordinationState, discovery: MeshDiscoveryState, objectives: MeshObjectiveWorkState, allocation: MeshAllocationState, inbound: MeshCoordinationInboundState): MeshAllocationInboundRuntimeState;
|
|
21
|
+
/**
|
|
22
|
+
* Discovery can advance shared coordination time without mutating a separate
|
|
23
|
+
* Objective projection. The pure Objective evaluator requires an aligned view.
|
|
24
|
+
*/
|
|
25
|
+
export declare function synchronizeMeshObjectiveLogicalTime(objectives: MeshObjectiveWorkState, logicalTime: MeshLogicalTime): MeshObjectiveWorkState;
|
|
26
|
+
//# sourceMappingURL=coordination-inbound-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination-inbound-state.d.ts","sourceRoot":"","sources":["../src/coordination-inbound-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EACV,6BAA6B,EAE7B,4BAA4B,EAC5B,mCAAmC,EACnC,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EACjC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAmCzF,iFAAiF;AACjF,eAAO,MAAM,wCAAwC,EAAE,QAAQ,CAAC,6BAA6B,CAQzF,CAAC;AAEL,wEAAwE;AACxE,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,mCAAmC,GAC3C,4BAA4B,CAW9B;AAED,0EAA0E;AAC1E,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,OAAO,GAChB,4BAA4B,CAkB9B;AAED,2EAA2E;AAC3E,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,4BAA4B,GAClC,IAAI,CA2BN;AAED,uEAAuE;AACvE,wBAAgB,sCAAsC,CACpD,YAAY,EAAE,qBAAqB,EACnC,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,4BAA4B,GACpC,gCAAgC,CAgBlC;AAED,kFAAkF;AAClF,wBAAgB,sCAAsC,CACpD,YAAY,EAAE,qBAAqB,EACnC,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,sBAAsB,EAClC,OAAO,EAAE,4BAA4B,GACpC,gCAAgC,CAelC;AAED,kEAAkE;AAClE,wBAAgB,uCAAuC,CACrD,YAAY,EAAE,qBAAqB,EACnC,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,sBAAsB,EAClC,UAAU,EAAE,mBAAmB,EAC/B,OAAO,EAAE,4BAA4B,GACpC,iCAAiC,CA2BnC;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,sBAAsB,EAClC,WAAW,EAAE,eAAe,GAC3B,sBAAsB,CAIxB"}
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
import { DEFAULT_MESH_PROTOCOL_LIMITS } from '@agentplat/mesh-protocol';
|
|
2
|
+
import { createMeshAllocationRuntimeState } from './coordination-allocation-state.js';
|
|
3
|
+
import { createMeshDiscoveryRuntimeState } from './coordination-discovery-state.js';
|
|
4
|
+
import { createMeshObjectiveWorkRuntimeState } from './coordination-objective-work.js';
|
|
5
|
+
import { assertFrozenMeshObjectiveWorkState } from './coordination-objective-work-state.js';
|
|
6
|
+
import { assertMeshLogicalTime, assertMeshMessageId, createFrozenRecord, } from './state.js';
|
|
7
|
+
const identifierPattern = /^[A-Za-z0-9][A-Za-z0-9._:@-]*$/;
|
|
8
|
+
const utf8Encoder = new TextEncoder();
|
|
9
|
+
const stateKeys = [
|
|
10
|
+
'identity',
|
|
11
|
+
'lastLogicalTime',
|
|
12
|
+
'limits',
|
|
13
|
+
'messageIds',
|
|
14
|
+
'replay',
|
|
15
|
+
'schemaVersion',
|
|
16
|
+
];
|
|
17
|
+
const identityKeys = [
|
|
18
|
+
'instanceId',
|
|
19
|
+
'keyId',
|
|
20
|
+
'meshId',
|
|
21
|
+
'peerId',
|
|
22
|
+
'tenantId',
|
|
23
|
+
];
|
|
24
|
+
const limitKeys = [
|
|
25
|
+
'maximumReplayWindows',
|
|
26
|
+
'maximumTrackedMessageIds',
|
|
27
|
+
'messageIdRetentionMs',
|
|
28
|
+
'replayWindowSize',
|
|
29
|
+
];
|
|
30
|
+
const replayWindowKeys = ['highestSequence', 'seenOffsets'];
|
|
31
|
+
/** Fixed ceilings that callers may only reduce without weakening protocol v0. */
|
|
32
|
+
export const DEFAULT_MESH_COORDINATION_INBOUND_LIMITS = Object.freeze({
|
|
33
|
+
replayWindowSize: DEFAULT_MESH_PROTOCOL_LIMITS.replayWindowSize,
|
|
34
|
+
maximumReplayWindows: 4_096,
|
|
35
|
+
maximumTrackedMessageIds: 16_384,
|
|
36
|
+
messageIdRetentionMs: DEFAULT_MESH_PROTOCOL_LIMITS.maximumLifetimeMs +
|
|
37
|
+
2 * DEFAULT_MESH_PROTOCOL_LIMITS.clockSkewAllowanceMs,
|
|
38
|
+
});
|
|
39
|
+
/** Creates an empty, deeply immutable coordination inbound snapshot. */
|
|
40
|
+
export function createMeshCoordinationInboundState(options) {
|
|
41
|
+
assertPlainRecord(options, 'state options');
|
|
42
|
+
assertExactDataKeys(options, ['identity', 'limits'], ['identity']);
|
|
43
|
+
return Object.freeze({
|
|
44
|
+
schemaVersion: 1,
|
|
45
|
+
identity: freezeIdentity(options.identity),
|
|
46
|
+
replay: createFrozenRecord([]),
|
|
47
|
+
messageIds: createFrozenRecord([]),
|
|
48
|
+
limits: resolveLimits(options.limits, false),
|
|
49
|
+
lastLogicalTime: 0,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/** Strictly validates and canonicalizes an untrusted decoded snapshot. */
|
|
53
|
+
export function restoreMeshCoordinationInboundState(snapshot) {
|
|
54
|
+
const parsed = validateSnapshot(snapshot);
|
|
55
|
+
return Object.freeze({
|
|
56
|
+
schemaVersion: 1,
|
|
57
|
+
identity: freezeIdentity(parsed.identity),
|
|
58
|
+
replay: createFrozenRecord(parsed.replay.map(([key, window]) => [
|
|
59
|
+
key,
|
|
60
|
+
Object.freeze({
|
|
61
|
+
highestSequence: window.highestSequence,
|
|
62
|
+
seenOffsets: Object.freeze([...window.seenOffsets]),
|
|
63
|
+
}),
|
|
64
|
+
])),
|
|
65
|
+
messageIds: createFrozenRecord(parsed.messageIds),
|
|
66
|
+
limits: Object.freeze({ ...parsed.limits }),
|
|
67
|
+
lastLogicalTime: parsed.lastLogicalTime,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/** Strict assertion used before security-sensitive inbound transitions. */
|
|
71
|
+
export function assertFrozenMeshCoordinationInboundState(state) {
|
|
72
|
+
validateSnapshot(state);
|
|
73
|
+
if (!state ||
|
|
74
|
+
typeof state !== 'object' ||
|
|
75
|
+
Object.getPrototypeOf(state) !== Object.prototype ||
|
|
76
|
+
!Object.isFrozen(state) ||
|
|
77
|
+
Object.getPrototypeOf(state.identity) !== Object.prototype ||
|
|
78
|
+
!Object.isFrozen(state.identity) ||
|
|
79
|
+
Object.getPrototypeOf(state.replay) !== null ||
|
|
80
|
+
!Object.isFrozen(state.replay) ||
|
|
81
|
+
Object.getPrototypeOf(state.messageIds) !== null ||
|
|
82
|
+
!Object.isFrozen(state.messageIds) ||
|
|
83
|
+
Object.getPrototypeOf(state.limits) !== Object.prototype ||
|
|
84
|
+
!Object.isFrozen(state.limits) ||
|
|
85
|
+
Object.values(state.replay).some((window) => Object.getPrototypeOf(window) !== Object.prototype ||
|
|
86
|
+
!Object.isFrozen(window) ||
|
|
87
|
+
Object.getPrototypeOf(window.seenOffsets) !== Array.prototype ||
|
|
88
|
+
!Object.isFrozen(window.seenOffsets))) {
|
|
89
|
+
throw new TypeError('Mesh coordination inbound state must be an immutable snapshot');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/** Composes aligned coordination, discovery, and inbound snapshots. */
|
|
93
|
+
export function createMeshDiscoveryInboundRuntimeState(coordination, discovery, inbound) {
|
|
94
|
+
createMeshDiscoveryRuntimeState(coordination, discovery);
|
|
95
|
+
assertFrozenMeshCoordinationInboundState(inbound);
|
|
96
|
+
if (!identitiesEqual(coordination.identity, inbound.identity)) {
|
|
97
|
+
throw new TypeError('Mesh discovery inbound snapshots are not aligned');
|
|
98
|
+
}
|
|
99
|
+
for (const replayKey of Object.keys(inbound.replay)) {
|
|
100
|
+
const [peerId, instanceId] = parseReplayKey(replayKey);
|
|
101
|
+
const admission = discovery.admittedPeers[peerId];
|
|
102
|
+
if (!admission || !admission.instanceIds.includes(instanceId)) {
|
|
103
|
+
throw new TypeError('Mesh discovery inbound replay window is not admitted');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return Object.freeze({ coordination, discovery, inbound });
|
|
107
|
+
}
|
|
108
|
+
/** Composes aligned core, discovery, Objective and inbound security snapshots. */
|
|
109
|
+
export function createMeshObjectiveInboundRuntimeState(coordination, discovery, objectives, inbound) {
|
|
110
|
+
createMeshDiscoveryInboundRuntimeState(coordination, discovery, inbound);
|
|
111
|
+
assertFrozenMeshObjectiveWorkState(objectives);
|
|
112
|
+
if (objectives.lastLogicalTime > coordination.lastLogicalTime) {
|
|
113
|
+
throw new TypeError('Mesh Objective inbound snapshots are not aligned');
|
|
114
|
+
}
|
|
115
|
+
createMeshObjectiveWorkRuntimeState(coordination, discovery, synchronizeMeshObjectiveLogicalTime(objectives, coordination.lastLogicalTime));
|
|
116
|
+
return Object.freeze({ coordination, discovery, objectives, inbound });
|
|
117
|
+
}
|
|
118
|
+
/** Composes aligned allocation and inbound security snapshots. */
|
|
119
|
+
export function createMeshAllocationInboundRuntimeState(coordination, discovery, objectives, allocation, inbound) {
|
|
120
|
+
createMeshAllocationRuntimeState(coordination, discovery, objectives, allocation);
|
|
121
|
+
assertFrozenMeshCoordinationInboundState(inbound);
|
|
122
|
+
if (!identitiesEqual(coordination.identity, inbound.identity)) {
|
|
123
|
+
throw new TypeError('Mesh allocation inbound snapshots are not aligned');
|
|
124
|
+
}
|
|
125
|
+
for (const replayKey of Object.keys(inbound.replay)) {
|
|
126
|
+
const [peerId, instanceId] = parseReplayKey(replayKey);
|
|
127
|
+
const admission = discovery.admittedPeers[peerId];
|
|
128
|
+
if (!admission || !admission.instanceIds.includes(instanceId)) {
|
|
129
|
+
throw new TypeError('Mesh allocation inbound replay window is not admitted');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return Object.freeze({
|
|
133
|
+
coordination,
|
|
134
|
+
discovery,
|
|
135
|
+
objectives,
|
|
136
|
+
allocation,
|
|
137
|
+
inbound,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Discovery can advance shared coordination time without mutating a separate
|
|
142
|
+
* Objective projection. The pure Objective evaluator requires an aligned view.
|
|
143
|
+
*/
|
|
144
|
+
export function synchronizeMeshObjectiveLogicalTime(objectives, logicalTime) {
|
|
145
|
+
return objectives.lastLogicalTime === logicalTime
|
|
146
|
+
? objectives
|
|
147
|
+
: Object.freeze({ ...objectives, lastLogicalTime: logicalTime });
|
|
148
|
+
}
|
|
149
|
+
function validateSnapshot(snapshot) {
|
|
150
|
+
assertPlainRecord(snapshot, 'snapshot');
|
|
151
|
+
assertExactDataKeys(snapshot, stateKeys, stateKeys);
|
|
152
|
+
const candidate = snapshot;
|
|
153
|
+
if (candidate.schemaVersion !== 1) {
|
|
154
|
+
throw new TypeError('Mesh coordination inbound schema version is unsupported');
|
|
155
|
+
}
|
|
156
|
+
freezeIdentity(candidate.identity);
|
|
157
|
+
const limits = resolveLimits(candidate.limits, true);
|
|
158
|
+
assertMeshLogicalTime(candidate.lastLogicalTime);
|
|
159
|
+
assertRecord(candidate.replay, 'replay');
|
|
160
|
+
assertRecord(candidate.messageIds, 'messageIds');
|
|
161
|
+
const replay = Object.entries(candidate.replay);
|
|
162
|
+
const messageIds = Object.entries(candidate.messageIds);
|
|
163
|
+
if (replay.length > limits.maximumReplayWindows ||
|
|
164
|
+
messageIds.length > limits.maximumTrackedMessageIds) {
|
|
165
|
+
throw new RangeError('Mesh coordination inbound snapshot exceeds its limits');
|
|
166
|
+
}
|
|
167
|
+
for (const [key, window] of replay) {
|
|
168
|
+
parseReplayKey(key);
|
|
169
|
+
validateReplayWindow(window, limits);
|
|
170
|
+
}
|
|
171
|
+
for (const [messageId, expiresAt] of messageIds) {
|
|
172
|
+
assertMeshMessageId(messageId);
|
|
173
|
+
assertMeshLogicalTime(expiresAt);
|
|
174
|
+
if (expiresAt <= candidate.lastLogicalTime ||
|
|
175
|
+
candidate.lastLogicalTime >
|
|
176
|
+
Number.MAX_SAFE_INTEGER - limits.messageIdRetentionMs ||
|
|
177
|
+
expiresAt > candidate.lastLogicalTime + limits.messageIdRetentionMs) {
|
|
178
|
+
throw new TypeError('Mesh coordination inbound message-id retention is invalid');
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
identity: candidate.identity,
|
|
183
|
+
replay,
|
|
184
|
+
messageIds,
|
|
185
|
+
limits,
|
|
186
|
+
lastLogicalTime: candidate.lastLogicalTime,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
function validateReplayWindow(window, limits) {
|
|
190
|
+
assertPlainRecord(window, 'replay window');
|
|
191
|
+
assertExactDataKeys(window, replayWindowKeys, replayWindowKeys);
|
|
192
|
+
if (!Number.isSafeInteger(window.highestSequence) ||
|
|
193
|
+
window.highestSequence < 1 ||
|
|
194
|
+
!isDenseDataArray(window.seenOffsets) ||
|
|
195
|
+
window.seenOffsets.length < 1 ||
|
|
196
|
+
window.seenOffsets[0] !== 0 ||
|
|
197
|
+
window.seenOffsets.some((offset, index) => !Number.isSafeInteger(offset) ||
|
|
198
|
+
offset < 0 ||
|
|
199
|
+
offset >= window.highestSequence ||
|
|
200
|
+
offset >= limits.replayWindowSize ||
|
|
201
|
+
(index > 0 && offset <= window.seenOffsets[index - 1]))) {
|
|
202
|
+
throw new TypeError('Mesh coordination inbound replay window is invalid');
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
function resolveLimits(overrides, requireComplete) {
|
|
206
|
+
if (overrides !== undefined) {
|
|
207
|
+
assertPlainRecord(overrides, 'limits');
|
|
208
|
+
assertExactDataKeys(overrides, limitKeys, requireComplete ? limitKeys : []);
|
|
209
|
+
}
|
|
210
|
+
else if (requireComplete) {
|
|
211
|
+
throw new TypeError('Mesh coordination inbound limits are required');
|
|
212
|
+
}
|
|
213
|
+
const limits = {
|
|
214
|
+
...DEFAULT_MESH_COORDINATION_INBOUND_LIMITS,
|
|
215
|
+
...overrides,
|
|
216
|
+
};
|
|
217
|
+
for (const [name, value] of Object.entries(limits)) {
|
|
218
|
+
const maximum = DEFAULT_MESH_COORDINATION_INBOUND_LIMITS[name];
|
|
219
|
+
if (!Number.isSafeInteger(value) || value < 1 || value > maximum) {
|
|
220
|
+
throw new RangeError(`Mesh coordination inbound limit ${name} must be between 1 and ${maximum}`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
const minimumRetention = DEFAULT_MESH_PROTOCOL_LIMITS.maximumLifetimeMs +
|
|
224
|
+
2 * DEFAULT_MESH_PROTOCOL_LIMITS.clockSkewAllowanceMs;
|
|
225
|
+
if (limits.replayWindowSize !== DEFAULT_MESH_PROTOCOL_LIMITS.replayWindowSize ||
|
|
226
|
+
limits.messageIdRetentionMs < minimumRetention ||
|
|
227
|
+
limits.maximumTrackedMessageIds < limits.replayWindowSize) {
|
|
228
|
+
throw new RangeError('Mesh coordination inbound limits weaken protocol replay bounds');
|
|
229
|
+
}
|
|
230
|
+
return Object.freeze(limits);
|
|
231
|
+
}
|
|
232
|
+
function freezeIdentity(identity) {
|
|
233
|
+
assertPlainRecord(identity, 'identity');
|
|
234
|
+
assertExactDataKeys(identity, identityKeys, identityKeys);
|
|
235
|
+
assertIdentifier(identity.tenantId, 'tenantId');
|
|
236
|
+
assertIdentifier(identity.meshId, 'meshId');
|
|
237
|
+
assertIdentifier(identity.peerId, 'peerId');
|
|
238
|
+
assertIdentifier(identity.instanceId, 'instanceId');
|
|
239
|
+
assertIdentifier(identity.keyId, 'keyId');
|
|
240
|
+
return Object.freeze({ ...identity });
|
|
241
|
+
}
|
|
242
|
+
function assertIdentifier(value, name) {
|
|
243
|
+
if (typeof value !== 'string' ||
|
|
244
|
+
!identifierPattern.test(value) ||
|
|
245
|
+
utf8Encoder.encode(value).byteLength >
|
|
246
|
+
DEFAULT_MESH_PROTOCOL_LIMITS.maximumIdBytes) {
|
|
247
|
+
throw new TypeError(`Invalid Mesh coordination inbound ${name}`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
function parseReplayKey(key) {
|
|
251
|
+
let parsed;
|
|
252
|
+
try {
|
|
253
|
+
parsed = JSON.parse(key);
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
throw new TypeError('Mesh coordination inbound replay key is invalid');
|
|
257
|
+
}
|
|
258
|
+
if (!Array.isArray(parsed) ||
|
|
259
|
+
parsed.length !== 2 ||
|
|
260
|
+
typeof parsed[0] !== 'string' ||
|
|
261
|
+
typeof parsed[1] !== 'string' ||
|
|
262
|
+
key !== JSON.stringify(parsed)) {
|
|
263
|
+
throw new TypeError('Mesh coordination inbound replay key is invalid');
|
|
264
|
+
}
|
|
265
|
+
assertIdentifier(parsed[0], 'replay peerId');
|
|
266
|
+
assertIdentifier(parsed[1], 'replay instanceId');
|
|
267
|
+
return [parsed[0], parsed[1]];
|
|
268
|
+
}
|
|
269
|
+
function identitiesEqual(left, right) {
|
|
270
|
+
return (left.tenantId === right.tenantId &&
|
|
271
|
+
left.meshId === right.meshId &&
|
|
272
|
+
left.peerId === right.peerId &&
|
|
273
|
+
left.instanceId === right.instanceId &&
|
|
274
|
+
left.keyId === right.keyId);
|
|
275
|
+
}
|
|
276
|
+
function assertPlainRecord(value, name) {
|
|
277
|
+
const prototype = value && typeof value === 'object' ? Object.getPrototypeOf(value) : null;
|
|
278
|
+
if (!value ||
|
|
279
|
+
typeof value !== 'object' ||
|
|
280
|
+
Array.isArray(value) ||
|
|
281
|
+
(prototype !== Object.prototype && prototype !== null)) {
|
|
282
|
+
throw new TypeError(`Mesh coordination inbound ${name} must be a record`);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
function assertRecord(value, name) {
|
|
286
|
+
assertPlainRecord(value, name);
|
|
287
|
+
const propertyNames = Object.getOwnPropertyNames(value);
|
|
288
|
+
if (Object.getOwnPropertySymbols(value).length > 0 ||
|
|
289
|
+
propertyNames.some((key) => !Object.prototype.propertyIsEnumerable.call(value, key) ||
|
|
290
|
+
!isDataProperty(value, key))) {
|
|
291
|
+
throw new TypeError(`Mesh coordination inbound ${name} must contain enumerable data properties`);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
function assertExactDataKeys(value, supportedKeys, requiredKeys) {
|
|
295
|
+
const actualKeys = Object.getOwnPropertyNames(value);
|
|
296
|
+
const supported = new Set(supportedKeys);
|
|
297
|
+
if (Object.getOwnPropertySymbols(value).length > 0 ||
|
|
298
|
+
actualKeys.some((key) => !supported.has(key) ||
|
|
299
|
+
!Object.prototype.propertyIsEnumerable.call(value, key) ||
|
|
300
|
+
!isDataProperty(value, key)) ||
|
|
301
|
+
requiredKeys.some((key) => !Object.hasOwn(value, key))) {
|
|
302
|
+
throw new TypeError('Mesh coordination inbound value contains unsupported fields');
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
function isDataProperty(value, key) {
|
|
306
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
307
|
+
return descriptor !== undefined && 'value' in descriptor;
|
|
308
|
+
}
|
|
309
|
+
function isDenseDataArray(value) {
|
|
310
|
+
if (!Array.isArray(value) ||
|
|
311
|
+
Object.getPrototypeOf(value) !== Array.prototype ||
|
|
312
|
+
Object.getOwnPropertySymbols(value).length > 0) {
|
|
313
|
+
return false;
|
|
314
|
+
}
|
|
315
|
+
const propertyNames = Object.getOwnPropertyNames(value);
|
|
316
|
+
if (propertyNames.length !== value.length + 1)
|
|
317
|
+
return false;
|
|
318
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
319
|
+
const key = String(index);
|
|
320
|
+
if (!Object.hasOwn(value, key) ||
|
|
321
|
+
!Object.prototype.propertyIsEnumerable.call(value, key) ||
|
|
322
|
+
!isDataProperty(value, key)) {
|
|
323
|
+
return false;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
const lengthDescriptor = Object.getOwnPropertyDescriptor(value, 'length');
|
|
327
|
+
return (lengthDescriptor !== undefined &&
|
|
328
|
+
'value' in lengthDescriptor &&
|
|
329
|
+
lengthDescriptor.enumerable === false);
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=coordination-inbound-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination-inbound-state.js","sourceRoot":"","sources":["../src/coordination-inbound-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAaxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAItF,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,kCAAkC,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,iBAAiB,GAAG,gCAAgC,CAAC;AAC3D,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AACtC,MAAM,SAAS,GAAG;IAChB,UAAU;IACV,iBAAiB;IACjB,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,eAAe;CACP,CAAC;AACX,MAAM,YAAY,GAAG;IACnB,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;CACF,CAAC;AACX,MAAM,SAAS,GAAG;IAChB,sBAAsB;IACtB,0BAA0B;IAC1B,sBAAsB;IACtB,kBAAkB;CACV,CAAC;AACX,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,EAAE,aAAa,CAAU,CAAC;AAErE,iFAAiF;AACjF,MAAM,CAAC,MAAM,wCAAwC,GACnD,MAAM,CAAC,MAAM,CAAC;IACZ,gBAAgB,EAAE,4BAA4B,CAAC,gBAAgB;IAC/D,oBAAoB,EAAE,KAAK;IAC3B,wBAAwB,EAAE,MAAM;IAChC,oBAAoB,EAClB,4BAA4B,CAAC,iBAAiB;QAC9C,CAAC,GAAG,4BAA4B,CAAC,oBAAoB;CACxD,CAAC,CAAC;AAEL,wEAAwE;AACxE,MAAM,UAAU,kCAAkC,CAChD,OAA4C;IAE5C,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC5C,mBAAmB,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,aAAa,EAAE,CAAC;QAChB,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1C,MAAM,EAAE,kBAAkB,CAAsC,EAAE,CAAC;QACnE,UAAU,EAAE,kBAAkB,CAAS,EAAE,CAAC;QAC1C,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;QAC5C,eAAe,EAAE,CAAC;KACnB,CAAC,CAAC;AACL,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mCAAmC,CACjD,QAAiB;IAEjB,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,aAAa,EAAE,CAAC;QAChB,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE,kBAAkB,CACxB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;YACnC,GAAG;YACH,MAAM,CAAC,MAAM,CAAC;gBACZ,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;aACpD,CAAC;SACH,CAAC,CACH;QACD,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC;QACjD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3C,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC,CAAC;AACL,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,wCAAwC,CACtD,KAAmC;IAEnC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxB,IACE,CAAC,KAAK;QACN,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS;QACjD,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,SAAS;QAC1D,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;QAC5C,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9B,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI;QAChD,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;QAClC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,SAAS;QACxD,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAC9B,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,SAAS;YAClD,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxB,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,SAAS;YAC7D,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CACvC,EACD,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,+DAA+D,CAChE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,sCAAsC,CACpD,YAAmC,EACnC,SAA6B,EAC7B,OAAqC;IAErC,+BAA+B,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACzD,wCAAwC,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,SAAS,CACjB,sDAAsD,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,sCAAsC,CACpD,YAAmC,EACnC,SAA6B,EAC7B,UAAkC,EAClC,OAAqC;IAErC,sCAAsC,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACzE,kCAAkC,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC1E,CAAC;IACD,mCAAmC,CACjC,YAAY,EACZ,SAAS,EACT,mCAAmC,CACjC,UAAU,EACV,YAAY,CAAC,eAAe,CAC7B,CACF,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,uCAAuC,CACrD,YAAmC,EACnC,SAA6B,EAC7B,UAAkC,EAClC,UAA+B,EAC/B,OAAqC;IAErC,gCAAgC,CAC9B,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,CACX,CAAC;IACF,wCAAwC,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;IAC3E,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,SAAS,CACjB,uDAAuD,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,YAAY;QACZ,SAAS;QACT,UAAU;QACV,UAAU;QACV,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mCAAmC,CACjD,UAAkC,EAClC,WAA4B;IAE5B,OAAO,UAAU,CAAC,eAAe,KAAK,WAAW;QAC/C,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAiB;IAUzC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,QAAmD,CAAC;IACtE,IAAI,SAAS,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CACjB,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IACD,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,qBAAqB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACjD,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACxD,IACE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,oBAAoB;QAC3C,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,wBAAwB,EACnD,CAAC;QACD,MAAM,IAAI,UAAU,CAClB,uDAAuD,CACxD,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC;QAChD,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjC,IACE,SAAS,IAAI,SAAS,CAAC,eAAe;YACtC,SAAS,CAAC,eAAe;gBACvB,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,oBAAoB;YACvD,SAAS,GAAG,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,oBAAoB,EACnE,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,2DAA2D,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,MAAM;QACN,UAAU;QACV,MAAM;QACN,eAAe,EAAE,SAAS,CAAC,eAAe;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAA2C,EAC3C,MAAqC;IAErC,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAChE,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC;QAC7C,MAAM,CAAC,eAAe,GAAG,CAAC;QAC1B,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC;QACrC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3B,MAAM,CAAC,WAAW,CAAC,IAAI,CACrB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAChB,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7B,MAAM,GAAG,CAAC;YACV,MAAM,IAAI,MAAM,CAAC,eAAe;YAChC,MAAM,IAAI,MAAM,CAAC,gBAAgB;YACjC,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CACzD,EACD,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,SAA6D,EAC7D,eAAwB;IAExB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvC,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;SAAM,IAAI,eAAe,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,MAAM,GAAG;QACb,GAAG,wCAAwC;QAC3C,GAAG,SAAS;KACb,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GACX,wCAAwC,CACtC,IAA2C,CAC5C,CAAC;QACJ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;YACjE,MAAM,IAAI,UAAU,CAClB,mCAAmC,IAAI,0BAA0B,OAAO,EAAE,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,gBAAgB,GACpB,4BAA4B,CAAC,iBAAiB;QAC9C,CAAC,GAAG,4BAA4B,CAAC,oBAAoB,CAAC;IACxD,IACE,MAAM,CAAC,gBAAgB,KAAK,4BAA4B,CAAC,gBAAgB;QACzE,MAAM,CAAC,oBAAoB,GAAG,gBAAgB;QAC9C,MAAM,CAAC,wBAAwB,GAAG,MAAM,CAAC,gBAAgB,EACzD,CAAC;QACD,MAAM,IAAI,UAAU,CAClB,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,QAA0B;IAChD,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAC1D,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChD,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,gBAAgB,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACpD,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAY;IACnD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU;YAClC,4BAA4B,CAAC,cAAc,EAC7C,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACzE,CAAC;IACD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACtB,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC7B,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC7B,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAC9B,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACzE,CAAC;IACD,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAC7C,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACjD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CACtB,IAAsB,EACtB,KAAuB;IAEvB,OAAO,CACL,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;QAChC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;QACpC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAc,EACd,IAAY;IAEZ,MAAM,SAAS,GACb,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,IACE,CAAC,KAAK;QACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,EACtD,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,6BAA6B,IAAI,mBAAmB,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,IAAY;IAChD,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/B,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACxD,IACE,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QAC9C,aAAa,CAAC,IAAI,CAChB,CAAC,GAAG,EAAE,EAAE,CACN,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;YACvD,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAC9B,EACD,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,6BAA6B,IAAI,0CAA0C,CAC5E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAa,EACb,aAAgC,EAChC,YAA+B;IAE/B,MAAM,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IACzC,IACE,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QAC9C,UAAU,CAAC,IAAI,CACb,CAAC,GAAG,EAAE,EAAE,CACN,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;YACnB,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;YACvD,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAC9B;QACD,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EACtD,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,GAAW;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/D,OAAO,UAAU,KAAK,SAAS,IAAI,OAAO,IAAI,UAAU,CAAC;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,SAAS;QAChD,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAC9C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,aAAa,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IACE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;YAC1B,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;YACvD,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,EAC3B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1E,OAAO,CACL,gBAAgB,KAAK,SAAS;QAC9B,OAAO,IAAI,gBAAgB;QAC3B,gBAAgB,CAAC,UAAU,KAAK,KAAK,CACtC,CAAC;AACJ,CAAC"}
|