@gyoungwe/plugin-api 0.0.0-stage → 1.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.
@@ -0,0 +1,486 @@
1
+ /**
2
+ * Host-neutral knowledge contracts.
3
+ *
4
+ * This module intentionally has no dependency on Drone implementation
5
+ * packages. It is the contract that a future installable knowledge plugin
6
+ * can share with native Pi and Desktop hosts.
7
+ */
8
+ export declare const KNOWLEDGE_CONTRACT_VERSION: 1;
9
+ export type KnowledgeContractVersion = typeof KNOWLEDGE_CONTRACT_VERSION;
10
+ /** Host callbacks used by the installable knowledge extension without importing Drone packages. */
11
+ export interface KnowledgeExtensionHost {
12
+ readonly bindAcceptanceVerifierEvents?: (pi: unknown) => void;
13
+ readonly registerAcceptanceVerifier?: (name: string, definition: unknown) => unknown;
14
+ readonly registerTaskRuntime?: (pi: unknown, options: unknown) => unknown;
15
+ readonly registerTool?: (pi: unknown, definition: unknown) => void;
16
+ }
17
+ export type ContractParentRef = string | {
18
+ readonly kind: string;
19
+ readonly id: string;
20
+ readonly revision?: number;
21
+ readonly contentHash?: string;
22
+ };
23
+ export declare const RESEARCH_CONTRACT_SCHEMA_VERSION: 1;
24
+ export type ResearchContractSchemaVersion = typeof RESEARCH_CONTRACT_SCHEMA_VERSION;
25
+ export interface VersionedRecord {
26
+ readonly schemaVersion: number;
27
+ readonly revision: number;
28
+ readonly contentHash: string;
29
+ readonly parentRefs: readonly ContractParentRef[];
30
+ }
31
+ export type VersionedResearchContract = VersionedRecord;
32
+ export type KnowledgeReuseLevel = "navigation-only" | "evidence-eligible" | "validated-capability" | "reproduced-capability";
33
+ export type KnowledgeEvidenceGrade = "navigation" | "contextual" | "primary" | "validated" | "reproduced";
34
+ export interface KnowledgeFreshness {
35
+ readonly checkedAt: string;
36
+ readonly expiresAt?: string;
37
+ readonly status?: "fresh" | "stale" | "unknown";
38
+ }
39
+ export interface KnowledgeSourceReceipt {
40
+ readonly sourceRef: string;
41
+ readonly relativePath?: string;
42
+ readonly sourceType?: "project-file" | "literature" | "dataset" | "protocol" | "institutional" | "connector";
43
+ readonly locator?: string;
44
+ readonly license?: string;
45
+ readonly accessedAt?: string;
46
+ readonly failureReason?: string;
47
+ readonly version?: string;
48
+ readonly summary?: string;
49
+ readonly contentHash: string;
50
+ readonly receiptRef: string;
51
+ readonly readAt: string;
52
+ readonly evidenceGrade?: KnowledgeEvidenceGrade;
53
+ readonly evidenceLevel?: KnowledgeEvidenceGrade;
54
+ readonly freshness?: KnowledgeFreshness;
55
+ readonly analysisRefs?: readonly ContractParentRef[];
56
+ readonly checkpointRefs?: readonly ContractParentRef[];
57
+ }
58
+ export interface KnowledgeSnapshot extends VersionedResearchContract {
59
+ readonly legacyCheckpoint?: unknown;
60
+ readonly kind: "knowledge-snapshot";
61
+ readonly id: string;
62
+ readonly caseRef?: ContractParentRef;
63
+ readonly projectId?: string;
64
+ readonly workspaceId?: string;
65
+ readonly assay?: string;
66
+ readonly environmentFingerprint?: string;
67
+ readonly sources: readonly KnowledgeSourceReceipt[];
68
+ readonly approval?: "pending" | "approved" | "rejected" | "revoked";
69
+ readonly reuseLevel: KnowledgeReuseLevel;
70
+ readonly evidenceGrade?: KnowledgeEvidenceGrade;
71
+ readonly evidenceLevel?: KnowledgeEvidenceGrade;
72
+ readonly freshness?: KnowledgeFreshness;
73
+ readonly methodVersion?: string;
74
+ readonly referenceVersion?: string;
75
+ readonly inputManifestHash?: string;
76
+ readonly analysisRefs?: readonly ContractParentRef[];
77
+ readonly evidenceCheckpointRefs?: readonly ContractParentRef[];
78
+ readonly createdAt: string;
79
+ readonly ingestedAt?: string;
80
+ }
81
+ export interface CapabilitySourceReceipt extends VersionedResearchContract {
82
+ readonly kind: "capability-source-receipt";
83
+ readonly id: string;
84
+ readonly sourceRef: string;
85
+ readonly sourceHash: string;
86
+ readonly locator?: string;
87
+ readonly observedAt: string;
88
+ readonly readOnly: true;
89
+ }
90
+ export type EvolutionCandidateStatus = "proposed" | "approved" | "rejected" | "superseded" | "revoked";
91
+ export interface EvolutionCandidate extends VersionedResearchContract {
92
+ readonly kind: "evolution-candidate";
93
+ readonly id: string;
94
+ readonly projectRef: ContractParentRef;
95
+ readonly runRefs: readonly ContractParentRef[];
96
+ readonly knowledgeSnapshotRefs: readonly ContractParentRef[];
97
+ readonly experienceRefs: readonly ContractParentRef[];
98
+ readonly observationCount: number;
99
+ readonly minimumObservations: number;
100
+ readonly proposal: string;
101
+ readonly status: EvolutionCandidateStatus;
102
+ readonly executionEligible: boolean;
103
+ readonly approvalRef?: ContractParentRef;
104
+ readonly supersedesRef?: ContractParentRef;
105
+ readonly revokedByRef?: ContractParentRef;
106
+ readonly reason?: string;
107
+ readonly createdAt: string;
108
+ readonly updatedAt: string;
109
+ }
110
+ export type KnowledgeReuseDecisionStatus = "eligible" | "blocked" | "approved" | "rejected" | "revoked";
111
+ export interface KnowledgeReuseDecisionRecord extends VersionedResearchContract {
112
+ readonly kind: "knowledge-reuse-decision";
113
+ readonly id: string;
114
+ readonly projectRef: ContractParentRef;
115
+ readonly runRef: ContractParentRef;
116
+ readonly snapshotRef: ContractParentRef;
117
+ readonly status: KnowledgeReuseDecisionStatus;
118
+ readonly reusable: boolean;
119
+ readonly reasons: readonly string[];
120
+ readonly executionEligible: boolean;
121
+ readonly approvalRef?: ContractParentRef;
122
+ readonly revokedByRef?: ContractParentRef;
123
+ readonly evaluatedAt: string;
124
+ }
125
+ export declare function canonicalContractJson(value: unknown): string;
126
+ export declare function contractContentHash(value: unknown): string;
127
+ export declare function createKnowledgeSnapshot(input: Omit<KnowledgeSnapshot, keyof VersionedResearchContract | "kind"> & {
128
+ readonly revision?: number;
129
+ readonly parentRefs?: readonly ContractParentRef[];
130
+ }): KnowledgeSnapshot;
131
+ export declare function createEvolutionCandidate(input: {
132
+ readonly id: string;
133
+ readonly projectRef: ContractParentRef;
134
+ readonly runRefs: readonly ContractParentRef[];
135
+ readonly knowledgeSnapshotRefs?: readonly ContractParentRef[];
136
+ readonly experienceRefs: readonly ContractParentRef[];
137
+ readonly observationCount: number;
138
+ readonly minimumObservations?: number;
139
+ readonly proposal: string;
140
+ readonly createdAt: string;
141
+ }): EvolutionCandidate;
142
+ export declare function approveEvolutionCandidate(candidate: EvolutionCandidate, approvalRef: ContractParentRef, updatedAt: string): EvolutionCandidate;
143
+ export declare function supersedeEvolutionCandidate(candidate: EvolutionCandidate, supersedingRef: ContractParentRef, updatedAt: string): EvolutionCandidate;
144
+ export declare function revokeEvolutionCandidate(candidate: EvolutionCandidate, revokedByRef: ContractParentRef, reason: string, updatedAt: string): EvolutionCandidate;
145
+ export declare function createKnowledgeReuseDecision(input: {
146
+ readonly id: string;
147
+ readonly projectRef: ContractParentRef;
148
+ readonly runRef: ContractParentRef;
149
+ readonly snapshotRef: ContractParentRef;
150
+ readonly reusable: boolean;
151
+ readonly reasons: readonly string[];
152
+ readonly evaluatedAt: string;
153
+ }): KnowledgeReuseDecisionRecord;
154
+ export declare function approveKnowledgeReuse(decision: KnowledgeReuseDecisionRecord, approvalRef: ContractParentRef, evaluatedAt: string): KnowledgeReuseDecisionRecord;
155
+ export declare function revokeKnowledgeReuse(decision: KnowledgeReuseDecisionRecord, revokedByRef: ContractParentRef, evaluatedAt: string): KnowledgeReuseDecisionRecord;
156
+ export interface KnowledgeReadRecord {
157
+ path: string;
158
+ title?: string;
159
+ excerpt?: string;
160
+ hash: string | null;
161
+ startLine: number;
162
+ endLine: number;
163
+ missing?: boolean;
164
+ truncated?: boolean;
165
+ kind?: string;
166
+ }
167
+ export interface KnowledgeBinding {
168
+ version: number;
169
+ vault: string;
170
+ vaultId: string;
171
+ revision: number;
172
+ profile: string;
173
+ depositMode: string;
174
+ subagentPolicy: string;
175
+ updatedAt: string;
176
+ }
177
+ export interface KnowledgeIndexStatus {
178
+ revision: number;
179
+ coverage: string;
180
+ noteCount: number;
181
+ pendingChanges: number;
182
+ jobs: number;
183
+ watching: boolean;
184
+ lastReconciledAt: string | null;
185
+ problems: {
186
+ path: string;
187
+ message: string;
188
+ }[];
189
+ categoryCounts?: {
190
+ paper: number;
191
+ software: number;
192
+ method: number;
193
+ idea: number;
194
+ other: number;
195
+ };
196
+ }
197
+ export interface KnowledgeRecentNote {
198
+ path: string;
199
+ title: string;
200
+ kind: "note" | "wiki";
201
+ updatedAt: number;
202
+ }
203
+ export interface KnowledgeAnswerMetric {
204
+ answered: number;
205
+ total: number;
206
+ rate: number | null;
207
+ updatedAt: number | null;
208
+ }
209
+ export type KnowledgeSpecialistMode = "automatic" | "manual" | "off";
210
+ export interface KnowledgeSpecialistSettings {
211
+ mode: KnowledgeSpecialistMode;
212
+ revision: number;
213
+ maxRunsPerTurn: number;
214
+ maxRunsPerSession: number;
215
+ maxToolOperations: number;
216
+ concurrency: number;
217
+ queueLimit: number;
218
+ queueWaitMs: number;
219
+ timeoutMs: number;
220
+ maxTokensPerTurn: number;
221
+ maxTokensPerSession: number;
222
+ maxCostPerTurn: number;
223
+ maxCostPerSession: number;
224
+ }
225
+ export type KnowledgeSpecialistRole = "navigator" | "evidence" | "wiki" | "explainer" | "reviewer";
226
+ export interface KnowledgeSpecialistRun {
227
+ id: string;
228
+ role: KnowledgeSpecialistRole;
229
+ name: string;
230
+ label: string;
231
+ status: "queued" | "running" | "completed" | "failed" | "cancelled" | "skipped";
232
+ action?: string;
233
+ model?: string;
234
+ thinkingLevel?: string;
235
+ startedAt?: number;
236
+ endedAt?: number;
237
+ inputTokens?: number;
238
+ outputTokens?: number;
239
+ cacheReadTokens?: number;
240
+ cacheWriteTokens?: number;
241
+ reasoningTokens?: number;
242
+ totalTokens?: number;
243
+ cost?: number;
244
+ usageReported?: boolean;
245
+ reportedFields?: string[];
246
+ decision?: "run" | "skip" | "wait" | "ask-user";
247
+ reasonCode?: string;
248
+ nextAction?: string;
249
+ elapsedMs?: number;
250
+ budget?: Record<string, number>;
251
+ sourceCount?: number;
252
+ summary?: string;
253
+ error?: string;
254
+ sources?: {
255
+ path: string;
256
+ hash: string;
257
+ startLine: number;
258
+ endLine: number;
259
+ excerpt?: string;
260
+ }[];
261
+ }
262
+ export interface KnowledgeFlowCardField {
263
+ label: string;
264
+ i18n?: string;
265
+ value: string;
266
+ status?: boolean;
267
+ code?: string | null;
268
+ note?: string | null;
269
+ tone?: "ok" | "warn" | "error" | "muted";
270
+ }
271
+ export interface KnowledgeFlowCardLink {
272
+ label: string;
273
+ i18n?: string;
274
+ kind: "external" | "resource" | "note" | "path";
275
+ target: string;
276
+ }
277
+ export interface KnowledgeFlowCard {
278
+ key: string;
279
+ kind: string;
280
+ title: string;
281
+ provisionalTitle?: boolean;
282
+ subtitle?: string | null;
283
+ status: string;
284
+ tone?: "ok" | "warn" | "error" | "muted";
285
+ detail?: string | null;
286
+ path?: string | null;
287
+ fields?: KnowledgeFlowCardField[];
288
+ links?: KnowledgeFlowCardLink[];
289
+ source?: string | null;
290
+ at: number;
291
+ }
292
+ export interface KnowledgeFlow {
293
+ specialists?: KnowledgeSpecialistRun[];
294
+ sessionId: string;
295
+ turnId: string;
296
+ vaultId: string | null;
297
+ bindingRevision: number | null;
298
+ vault: string | null;
299
+ project: string | null;
300
+ cards?: KnowledgeFlowCard[];
301
+ phase: string;
302
+ updatedAt: number;
303
+ navigation: KnowledgeReadRecord[];
304
+ reads: KnowledgeReadRecord[];
305
+ search: {
306
+ query: string;
307
+ wikiOnly: boolean;
308
+ hits: number;
309
+ complete: boolean;
310
+ coverage: string;
311
+ revision: number;
312
+ previews?: KnowledgeReadRecord[];
313
+ } | null;
314
+ publication: {
315
+ status: string;
316
+ warnings?: {
317
+ code: string;
318
+ message: string;
319
+ }[];
320
+ reason: string | null;
321
+ paths?: string[];
322
+ scientificallyVerified: false;
323
+ } | null;
324
+ localAnswer?: boolean;
325
+ localAnswerRate?: KnowledgeAnswerMetric | null;
326
+ stages?: {
327
+ navigation: boolean;
328
+ wiki: boolean;
329
+ search: boolean;
330
+ publication: boolean;
331
+ };
332
+ error?: string | null;
333
+ }
334
+ export interface KnowledgeOverview {
335
+ reviewMode?: "automatic" | "strict";
336
+ wikiHistory?: {
337
+ id: string;
338
+ path: string;
339
+ afterHash: string;
340
+ reviewedAt: number;
341
+ reviewMethod: string;
342
+ }[];
343
+ recentNotes?: KnowledgeRecentNote[];
344
+ recentByCategory?: Partial<Record<"paper" | "software" | "method" | "idea", KnowledgeRecentNote[]>> | null;
345
+ localAnswerRate?: KnowledgeAnswerMetric | null;
346
+ specialistSettings?: KnowledgeSpecialistSettings;
347
+ specialistSettingsError?: string;
348
+ enabled: boolean;
349
+ bound: boolean;
350
+ scope: "application";
351
+ binding?: KnowledgeBinding;
352
+ cwd: string | null;
353
+ project: string | null;
354
+ legacyProjectVault: string | null;
355
+ projectError?: string;
356
+ index?: KnowledgeIndexStatus | null;
357
+ error?: string | null;
358
+ flow: KnowledgeFlow | null;
359
+ }
360
+ export interface KnowledgeLinkRef {
361
+ path: string;
362
+ title: string;
363
+ exists: boolean;
364
+ }
365
+ export interface KnowledgeNoteLinks {
366
+ path: string;
367
+ title: string;
368
+ outgoing: KnowledgeLinkRef[];
369
+ incoming: KnowledgeLinkRef[];
370
+ }
371
+ export type KnowledgeGraphView = "semantic" | "all";
372
+ export type KnowledgeGraphRelationType = "link" | "directory" | "duplicate";
373
+ export interface KnowledgeGraphRelation {
374
+ source: string;
375
+ target: string;
376
+ type: KnowledgeGraphRelationType;
377
+ }
378
+ export interface KnowledgeGraphNode {
379
+ path: string;
380
+ title: string;
381
+ kind: string;
382
+ degree: number;
383
+ type?: string;
384
+ contentType?: string;
385
+ isMain?: boolean;
386
+ sharedWith?: string[];
387
+ scope?: string;
388
+ identifiers?: string[];
389
+ nodeType?: "note" | "wiki" | "navigation" | "mirror" | "infrastructure" | "memory";
390
+ isInfrastructure?: boolean;
391
+ community?: number;
392
+ x?: number;
393
+ y?: number;
394
+ mirrors?: string[];
395
+ warnings?: string[];
396
+ }
397
+ export interface KnowledgeGraph {
398
+ nodes: KnowledgeGraphNode[];
399
+ edges: {
400
+ source: string;
401
+ target: string;
402
+ directory?: boolean;
403
+ }[];
404
+ totalNotes: number;
405
+ revision?: number;
406
+ view?: KnowledgeGraphView;
407
+ mergeMirrors?: boolean;
408
+ relations?: KnowledgeGraphRelation[];
409
+ duplicates?: {
410
+ canonical: string;
411
+ duplicate: string;
412
+ }[];
413
+ communities?: Record<string, number>;
414
+ layout?: Record<string, {
415
+ x: number;
416
+ y: number;
417
+ }>;
418
+ health?: {
419
+ isolated: number;
420
+ duplicates: number;
421
+ infrastructure: number;
422
+ missingLinks?: number;
423
+ truncated?: boolean;
424
+ candidateNodes?: number;
425
+ candidateLimit?: number;
426
+ };
427
+ semantic?: KnowledgeGraphSemantic;
428
+ }
429
+ export interface KnowledgeGraphSemantic {
430
+ nodes: KnowledgeGraphNode[];
431
+ edges: {
432
+ source: string;
433
+ target: string;
434
+ directory?: boolean;
435
+ }[];
436
+ totalNotes: number;
437
+ view: KnowledgeGraphView;
438
+ mergeMirrors: boolean;
439
+ relations?: KnowledgeGraphRelation[];
440
+ duplicates?: {
441
+ canonical: string;
442
+ duplicate: string;
443
+ }[];
444
+ communities?: Record<string, number>;
445
+ layout?: Record<string, {
446
+ x: number;
447
+ y: number;
448
+ }>;
449
+ health?: {
450
+ isolated: number;
451
+ duplicates: number;
452
+ infrastructure: number;
453
+ missingLinks?: number;
454
+ truncated?: boolean;
455
+ candidateNodes?: number;
456
+ candidateLimit?: number;
457
+ };
458
+ }
459
+ export interface KnowledgePage<T> {
460
+ items: T[];
461
+ total: number;
462
+ offset: number;
463
+ nextOffset: number | null;
464
+ problems?: {
465
+ id: string;
466
+ error: string;
467
+ }[];
468
+ }
469
+ export interface KnowledgeJob {
470
+ key: string;
471
+ kind: string;
472
+ path: string;
473
+ scope: string;
474
+ revision: number;
475
+ updated: string;
476
+ }
477
+ export interface WikiReviewItem {
478
+ id: string;
479
+ path: string;
480
+ title: string;
481
+ status: string;
482
+ expiresAt: number;
483
+ expired: boolean;
484
+ bindingChanged: boolean;
485
+ }
486
+ //# sourceMappingURL=knowledge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../src/knowledge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,0BAA0B,EAAG,CAAU,CAAC;AACrD,MAAM,MAAM,wBAAwB,GAAG,OAAO,0BAA0B,CAAC;AAEzE,mGAAmG;AACnG,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC;IACrF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;IAC1E,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CACnE;AAED,MAAM,MAAM,iBAAiB,GAC1B,MAAM,GACN;IACA,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEL,eAAO,MAAM,gCAAgC,EAAG,CAAU,CAAC;AAC3D,MAAM,MAAM,6BAA6B,GAAG,OAAO,gCAAgC,CAAC;AAEpF,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAClD;AAED,MAAM,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAC5B,iBAAiB,GACjB,mBAAmB,GACnB,sBAAsB,GACtB,uBAAuB,CAAC;AAE3B,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAE1G,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;CAChD;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EACjB,cAAc,GACd,YAAY,GACZ,SAAS,GACT,UAAU,GACV,eAAe,GACf,WAAW,CAAC;IACf,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACrD,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,iBAAkB,SAAQ,yBAAyB;IACnE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACrD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAwB,SAAQ,yBAAyB;IACzE,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;AAEvG,MAAM,WAAW,kBAAmB,SAAQ,yBAAyB;IACpE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,QAAQ,CAAC,qBAAqB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7D,QAAQ,CAAC,cAAc,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,4BAA4B,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAExG,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;IAC9E,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC7B;AA+FD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE1D;AAsCD,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACnD,GACC,iBAAiB,CAEnB;AAYD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC9D,QAAQ,CAAC,cAAc,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B,GAAG,kBAAkB,CA2BrB;AAED,wBAAgB,yBAAyB,CACxC,SAAS,EAAE,kBAAkB,EAC7B,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,MAAM,GACf,kBAAkB,CAepB;AAED,wBAAgB,2BAA2B,CAC1C,SAAS,EAAE,kBAAkB,EAC7B,cAAc,EAAE,iBAAiB,EACjC,SAAS,EAAE,MAAM,GACf,kBAAkB,CAapB;AAED,wBAAgB,wBAAwB,CACvC,SAAS,EAAE,kBAAkB,EAC7B,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GACf,kBAAkB,CAcpB;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC7B,GAAG,4BAA4B,CAa/B;AAED,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,4BAA4B,EACtC,WAAW,EAAE,iBAAiB,EAC9B,WAAW,EAAE,MAAM,GACjB,4BAA4B,CAc9B;AAED,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,4BAA4B,EACtC,YAAY,EAAE,iBAAiB,EAC/B,WAAW,EAAE,MAAM,GACjB,4BAA4B,CAY9B;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAClG;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC;AACrE,MAAM,WAAW,2BAA2B;IAC3C,IAAI,EAAE,uBAAuB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;AACnG,MAAM,WAAW,sBAAsB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,uBAAuB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjG;AAED,MAAM,WAAW,sBAAsB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;CACzC;AACD,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,iBAAiB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,aAAa;IAC7B,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,MAAM,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACjC,GAAG,IAAI,CAAC;IACT,WAAW,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC/C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,sBAAsB,EAAE,KAAK,CAAC;KAC9B,GAAG,IAAI,CAAC;IACT,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC/C,MAAM,CAAC,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IACvF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IACjC,UAAU,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IACpC,WAAW,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1G,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3G,eAAe,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,KAAK,CAAC;AACpD,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC;AAC5E,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,0BAA0B,CAAC;CACjC;AACD,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IACnF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AACD,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACtC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,kBAAkB,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACF;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;CACxB"}