@vorionsys/proof-plane 0.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.
Files changed (41) hide show
  1. package/dist/events/event-emitter.d.ts +140 -0
  2. package/dist/events/event-emitter.d.ts.map +1 -0
  3. package/dist/events/event-emitter.js +235 -0
  4. package/dist/events/event-emitter.js.map +1 -0
  5. package/dist/events/event-signatures.d.ts +154 -0
  6. package/dist/events/event-signatures.d.ts.map +1 -0
  7. package/dist/events/event-signatures.js +302 -0
  8. package/dist/events/event-signatures.js.map +1 -0
  9. package/dist/events/event-store.d.ts +159 -0
  10. package/dist/events/event-store.d.ts.map +1 -0
  11. package/dist/events/event-store.js +36 -0
  12. package/dist/events/event-store.js.map +1 -0
  13. package/dist/events/hash-chain.d.ts +63 -0
  14. package/dist/events/hash-chain.d.ts.map +1 -0
  15. package/dist/events/hash-chain.js +135 -0
  16. package/dist/events/hash-chain.js.map +1 -0
  17. package/dist/events/index.d.ts +9 -0
  18. package/dist/events/index.d.ts.map +1 -0
  19. package/dist/events/index.js +9 -0
  20. package/dist/events/index.js.map +1 -0
  21. package/dist/events/memory-store.d.ts +82 -0
  22. package/dist/events/memory-store.d.ts.map +1 -0
  23. package/dist/events/memory-store.js +215 -0
  24. package/dist/events/memory-store.js.map +1 -0
  25. package/dist/index.d.ts +36 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +41 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/proof-plane/index.d.ts +6 -0
  30. package/dist/proof-plane/index.d.ts.map +1 -0
  31. package/dist/proof-plane/index.js +6 -0
  32. package/dist/proof-plane/index.js.map +1 -0
  33. package/dist/proof-plane/logger.d.ts +47 -0
  34. package/dist/proof-plane/logger.d.ts.map +1 -0
  35. package/dist/proof-plane/logger.js +48 -0
  36. package/dist/proof-plane/logger.js.map +1 -0
  37. package/dist/proof-plane/proof-plane.d.ts +263 -0
  38. package/dist/proof-plane/proof-plane.d.ts.map +1 -0
  39. package/dist/proof-plane/proof-plane.js +431 -0
  40. package/dist/proof-plane/proof-plane.js.map +1 -0
  41. package/package.json +48 -0
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Proof Plane Logger - Implements the ProofPlaneLogger interface for A3I
3
+ *
4
+ * This bridges the A3I authorization engine with the Vorion proof plane,
5
+ * automatically logging authorization decisions to the audit trail.
6
+ */
7
+ /**
8
+ * ProofPlaneLoggerImpl - Logs A3I events to the proof plane
9
+ */
10
+ export class ProofPlaneLoggerImpl {
11
+ proofPlane;
12
+ logIntentReceived;
13
+ logDecisionMade;
14
+ constructor(config) {
15
+ this.proofPlane = config.proofPlane;
16
+ this.logIntentReceived = config.logIntentReceived ?? true;
17
+ this.logDecisionMade = config.logDecisionMade ?? true;
18
+ }
19
+ /**
20
+ * Log a decision (and optionally the intent)
21
+ */
22
+ async logDecision(decision, intent) {
23
+ const correlationId = decision.correlationId;
24
+ // Log intent received if enabled
25
+ if (this.logIntentReceived) {
26
+ await this.proofPlane.logIntentReceived(intent, correlationId);
27
+ }
28
+ // Log decision made if enabled
29
+ if (this.logDecisionMade) {
30
+ await this.proofPlane.logDecisionMade(decision, correlationId);
31
+ }
32
+ }
33
+ }
34
+ /**
35
+ * Create a proof plane logger
36
+ */
37
+ export function createProofPlaneLogger(config) {
38
+ return new ProofPlaneLoggerImpl(config);
39
+ }
40
+ /**
41
+ * No-op logger for when proof plane is not connected
42
+ */
43
+ export const noopProofPlaneLogger = {
44
+ async logDecision(_decision, _intent) {
45
+ // No-op
46
+ },
47
+ };
48
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/proof-plane/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwBH;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACd,UAAU,CAAa;IACvB,iBAAiB,CAAU;IAC3B,eAAe,CAAU;IAE1C,YAAY,MAA8B;QACxC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAkB,EAAE,MAAc;QAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAE7C,iCAAiC;QACjC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACjE,CAAC;QAED,+BAA+B;QAC/B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA8B;IACnE,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAqB;IACpD,KAAK,CAAC,WAAW,CAAC,SAAmB,EAAE,OAAe;QACpD,QAAQ;IACV,CAAC;CACF,CAAC"}
@@ -0,0 +1,263 @@
1
+ /**
2
+ * Proof Plane - High-level interface for the Vorion audit system
3
+ *
4
+ * The Proof Plane provides a unified API for:
5
+ * - Emitting proof events
6
+ * - Querying the event trail
7
+ * - Verifying chain integrity
8
+ * - Subscribing to events
9
+ * - Hook integration for EVENT_EMITTED notifications
10
+ */
11
+ import { ProofEventType, type ProofEvent, type ProofEventFilter, type ProofEventPayload, type Intent, type Decision, type TrustProfile, type ShadowModeStatus } from '@vorion/contracts';
12
+ import { type ProofEventStore, type EventQueryOptions, type EventQueryResult, type EventStats } from '../events/event-store.js';
13
+ import { type ProofEventEmitter, type EmitResult, type EventListener } from '../events/event-emitter.js';
14
+ import { type ChainVerificationResult } from '../events/hash-chain.js';
15
+ import { type EventSigningService, type SignatureVerificationResult, type BatchVerificationResult } from '../events/event-signatures.js';
16
+ /**
17
+ * Hook manager interface for event notifications
18
+ * (Implemented by @vorion/a3i HookManager)
19
+ */
20
+ export interface EventHookManager {
21
+ executeEventEmitted(context: {
22
+ correlationId: string;
23
+ event: ProofEvent;
24
+ }): Promise<{
25
+ aborted: boolean;
26
+ }>;
27
+ }
28
+ /**
29
+ * Configuration for the Proof Plane
30
+ */
31
+ export interface ProofPlaneConfig {
32
+ /** Custom event store (defaults to in-memory) */
33
+ store?: ProofEventStore;
34
+ /** Service identifier for signing events */
35
+ signedBy?: string;
36
+ /** Enable event listeners */
37
+ enableListeners?: boolean;
38
+ /** Hook manager for EVENT_EMITTED notifications */
39
+ hookManager?: EventHookManager;
40
+ /** Enable hooks (default: true if hookManager provided) */
41
+ enableHooks?: boolean;
42
+ /**
43
+ * Shadow mode configuration
44
+ *
45
+ * When enabled, all events are tagged with the specified shadow mode status.
46
+ * This is used for T0_SANDBOX agents whose events need HITL verification
47
+ * before counting toward production trust scores.
48
+ *
49
+ * @default 'production'
50
+ */
51
+ shadowMode?: ShadowModeStatus;
52
+ /**
53
+ * Environment tag for the proof plane instance
54
+ * Helps distinguish production vs testnet events
55
+ */
56
+ environment?: 'production' | 'testnet' | 'development';
57
+ /**
58
+ * Enable Ed25519 digital signatures for events
59
+ *
60
+ * When enabled, all emitted events will be cryptographically signed,
61
+ * providing authenticity and non-repudiation guarantees.
62
+ *
63
+ * @default false
64
+ */
65
+ enableSignatures?: boolean;
66
+ /**
67
+ * Signing service for Ed25519 signatures
68
+ *
69
+ * Required when enableSignatures is true.
70
+ * Can be shared across multiple ProofPlane instances.
71
+ */
72
+ signingService?: EventSigningService;
73
+ /**
74
+ * Private key for signing (base64-encoded Ed25519 private key)
75
+ *
76
+ * Alternative to signingService for simple single-key setups.
77
+ * If both signingService and privateKey are provided, signingService takes precedence.
78
+ */
79
+ privateKey?: string;
80
+ }
81
+ /**
82
+ * Proof Plane - The Vorion audit trail system
83
+ */
84
+ export declare class ProofPlane {
85
+ private readonly store;
86
+ private readonly emitter;
87
+ private readonly signedBy;
88
+ private readonly hookManager?;
89
+ private readonly enableHooks;
90
+ private readonly shadowMode;
91
+ private readonly environment;
92
+ private readonly signingService?;
93
+ private readonly enableSignatures;
94
+ constructor(config?: ProofPlaneConfig);
95
+ /**
96
+ * Set up internal listener for hook notifications
97
+ */
98
+ private setupHookListener;
99
+ /**
100
+ * Fire the EVENT_EMITTED hook
101
+ */
102
+ private fireEventEmittedHook;
103
+ /**
104
+ * Log an intent received event
105
+ */
106
+ logIntentReceived(intent: Intent, correlationId?: string): Promise<EmitResult>;
107
+ /**
108
+ * Log an authorization decision event
109
+ */
110
+ logDecisionMade(decision: Decision, correlationId?: string): Promise<EmitResult>;
111
+ /**
112
+ * Log a trust score change event
113
+ */
114
+ logTrustDelta(agentId: string, previousProfile: TrustProfile, newProfile: TrustProfile, reason: string, correlationId?: string): Promise<EmitResult>;
115
+ /**
116
+ * Log execution started event
117
+ */
118
+ logExecutionStarted(executionId: string, actionId: string, decisionId: string, adapterId: string, agentId: string, correlationId: string): Promise<EmitResult>;
119
+ /**
120
+ * Log execution completed event
121
+ */
122
+ logExecutionCompleted(executionId: string, actionId: string, durationMs: number, outputHash: string, agentId: string, correlationId: string, status?: 'success' | 'partial'): Promise<EmitResult>;
123
+ /**
124
+ * Log execution failed event
125
+ */
126
+ logExecutionFailed(executionId: string, actionId: string, error: string, durationMs: number, retryable: boolean, agentId: string, correlationId: string): Promise<EmitResult>;
127
+ /**
128
+ * Log a generic proof event
129
+ */
130
+ logEvent(eventType: ProofEventType, correlationId: string, payload: ProofEventPayload, agentId?: string): Promise<EmitResult>;
131
+ /**
132
+ * Get an event by ID
133
+ */
134
+ getEvent(eventId: string): Promise<ProofEvent | null>;
135
+ /**
136
+ * Get the latest event
137
+ */
138
+ getLatestEvent(): Promise<ProofEvent | null>;
139
+ /**
140
+ * Query events with filters
141
+ */
142
+ queryEvents(filter?: ProofEventFilter, options?: EventQueryOptions): Promise<EventQueryResult>;
143
+ /**
144
+ * Get all events for a correlation ID (trace a request)
145
+ */
146
+ getTrace(correlationId: string): Promise<ProofEvent[]>;
147
+ /**
148
+ * Get all events for an agent
149
+ */
150
+ getAgentHistory(agentId: string, options?: EventQueryOptions): Promise<ProofEvent[]>;
151
+ /**
152
+ * Get events by type
153
+ */
154
+ getEventsByType(eventType: ProofEventType, options?: EventQueryOptions): Promise<ProofEvent[]>;
155
+ /**
156
+ * Get event statistics
157
+ */
158
+ getStats(): Promise<EventStats>;
159
+ /**
160
+ * Get event count
161
+ */
162
+ getEventCount(filter?: ProofEventFilter): Promise<number>;
163
+ /**
164
+ * Verify the entire event chain
165
+ */
166
+ verifyChain(fromEventId?: string, limit?: number): Promise<ChainVerificationResult>;
167
+ /**
168
+ * Verify chain integrity for a specific correlation ID
169
+ */
170
+ verifyCorrelationChain(correlationId: string): Promise<ChainVerificationResult>;
171
+ /**
172
+ * Check if signature verification is available
173
+ */
174
+ isSignatureVerificationEnabled(): boolean;
175
+ /**
176
+ * Check if this proof plane is configured for signing
177
+ */
178
+ isSigningEnabled(): boolean;
179
+ /**
180
+ * Get the signing service (if configured)
181
+ */
182
+ getSigningService(): EventSigningService | undefined;
183
+ /**
184
+ * Verify signature on a single event
185
+ *
186
+ * Requires a signing service with trusted keys configured.
187
+ */
188
+ verifyEventSignature(event: ProofEvent): Promise<SignatureVerificationResult>;
189
+ /**
190
+ * Verify signatures for multiple events
191
+ *
192
+ * Returns detailed results for each event.
193
+ */
194
+ verifySignatures(events: ProofEvent[]): Promise<BatchVerificationResult>;
195
+ /**
196
+ * Verify signatures for all events in a correlation chain
197
+ */
198
+ verifyCorrelationSignatures(correlationId: string): Promise<BatchVerificationResult>;
199
+ /**
200
+ * Verify both chain integrity AND signatures
201
+ *
202
+ * Returns combined verification results.
203
+ */
204
+ verifyChainAndSignatures(fromEventId?: string, limit?: number): Promise<{
205
+ chain: ChainVerificationResult;
206
+ signatures: BatchVerificationResult;
207
+ fullyVerified: boolean;
208
+ }>;
209
+ /**
210
+ * Subscribe to new events
211
+ */
212
+ subscribe(listener: EventListener): () => void;
213
+ /**
214
+ * Subscribe to events of a specific type
215
+ */
216
+ subscribeToType(eventType: ProofEventType, listener: EventListener): () => void;
217
+ /**
218
+ * Get the underlying event store
219
+ */
220
+ getStore(): ProofEventStore;
221
+ /**
222
+ * Get the event emitter
223
+ */
224
+ getEmitter(): ProofEventEmitter;
225
+ /**
226
+ * Get the hook manager
227
+ */
228
+ getHookManager(): EventHookManager | undefined;
229
+ /**
230
+ * Check if hooks are enabled
231
+ */
232
+ isHooksEnabled(): boolean;
233
+ /**
234
+ * Check if this proof plane is in shadow mode
235
+ */
236
+ isShadowMode(): boolean;
237
+ /**
238
+ * Get the current shadow mode status
239
+ */
240
+ getShadowMode(): ShadowModeStatus;
241
+ /**
242
+ * Get the environment tag
243
+ */
244
+ getEnvironment(): string;
245
+ /**
246
+ * Query shadow/testnet events that need HITL verification
247
+ */
248
+ getUnverifiedShadowEvents(agentId?: string, options?: EventQueryOptions): Promise<ProofEvent[]>;
249
+ /**
250
+ * Mark a shadow event as verified by HITL
251
+ * Note: This creates a new verification event, not modifying the original
252
+ */
253
+ verifyShadowEvent(eventId: string, verificationId: string, verifiedBy: string, approved: boolean): Promise<EmitResult>;
254
+ /**
255
+ * Clear all events (for testing only)
256
+ */
257
+ clear(): Promise<void>;
258
+ }
259
+ /**
260
+ * Create a Proof Plane instance
261
+ */
262
+ export declare function createProofPlane(config?: ProofPlaneConfig): ProofPlane;
263
+ //# sourceMappingURL=proof-plane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof-plane.d.ts","sourceRoot":"","sources":["../../src/proof-plane/proof-plane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,cAAc,EAEd,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,YAAY,EAOjB,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,aAAa,EAEnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAE7B,MAAM,+BAA+B,CAAC;AAEvC;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,CAAC,OAAO,EAAE;QAC3B,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,UAAU,CAAC;KACnB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mDAAmD;IACnD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC;IACvD;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2C;IACvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;gBAE/B,MAAM,GAAE,gBAAqB;IAyBzC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;YACW,oBAAoB;IAalC;;OAEG;IACG,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,UAAU,CAAC;IAiBtB;;OAEG;IACG,eAAe,CACnB,QAAQ,EAAE,QAAQ,EAClB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,UAAU,CAAC;IAmBtB;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,YAAY,EAC7B,UAAU,EAAE,YAAY,EACxB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,UAAU,CAAC;IAmBtB;;OAEG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC;IAiBtB;;OAEG;IACG,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,SAAS,GAAG,SAAqB,GACxC,OAAO,CAAC,UAAU,CAAC;IAkBtB;;OAEG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC;IAkBtB;;OAEG;IACG,QAAQ,CACZ,SAAS,EAAE,cAAc,EACzB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC;IAQtB;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAI3D;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIlD;;OAEG;IACG,WAAW,CACf,MAAM,CAAC,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAI5B;;OAEG;IACG,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAI5D;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAI1F;;OAEG;IACG,eAAe,CACnB,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,UAAU,EAAE,CAAC;IAIxB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IAIrC;;OAEG;IACG,aAAa,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ/D;;OAEG;IACG,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKzF;;OAEG;IACG,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IASrF;;OAEG;IACH,8BAA8B,IAAI,OAAO;IAIzC;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAI3B;;OAEG;IACH,iBAAiB,IAAI,mBAAmB,GAAG,SAAS;IAIpD;;;;OAIG;IACG,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAYnF;;;;OAIG;IACG,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAsB9E;;OAEG;IACG,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAK1F;;;;OAIG;IACG,wBAAwB,CAC5B,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;QACT,KAAK,EAAE,uBAAuB,CAAC;QAC/B,UAAU,EAAE,uBAAuB,CAAC;QACpC,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IAgBF;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI;IAK9C;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI;IAc/E;;OAEG;IACH,QAAQ,IAAI,eAAe;IAI3B;;OAEG;IACH,UAAU,IAAI,iBAAiB;IAI/B;;OAEG;IACH,cAAc,IAAI,gBAAgB,GAAG,SAAS;IAI9C;;OAEG;IACH,cAAc,IAAI,OAAO;IAQzB;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,aAAa,IAAI,gBAAgB;IAIjC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACG,yBAAyB,CAC7B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,UAAU,EAAE,CAAC;IAQxB;;;OAGG;IACG,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,UAAU,CAAC;IA2BtB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAEtE"}