ai-hist 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -16,6 +16,10 @@ import {
16
16
  getSession,
17
17
  getSessionEventsPage,
18
18
  sessionEvents,
19
+ getSessionToolCallsPage,
20
+ sessionToolCalls,
21
+ getSessionFileEditsPage,
22
+ sessionFileEdits,
19
23
  search,
20
24
  recent,
21
25
  stats,
@@ -30,14 +34,23 @@ if (first) {
30
34
  const prompts = await getSession(first.sessionId);
31
35
  const events = await getSessionEventsPage(first.sessionId, { limit: 200 });
32
36
  for await (const event of sessionEvents(first.sessionId)) consume(event);
37
+ const tools = await getSessionToolCallsPage(first.source, first.sessionId, { limit: 200 });
38
+ const edits = await getSessionFileEditsPage(first.source, first.sessionId, { limit: 200 });
39
+ for await (const call of sessionToolCalls(first.source, first.sessionId)) consume(call);
40
+ for await (const edit of sessionFileEdits(first.source, first.sessionId)) consume(edit);
33
41
  }
34
42
  ```
35
43
 
36
44
  All APIs are async. `listSessionCatalog` and `listSessionCatalogPage` are
37
45
  cache-only. `discoverSessions` is shallow discovery. `hydrateSession` is
38
46
  targeted evidence acquisition for one existing catalog row. It returns
39
- `hydrated`, `updated`, or `unchanged`, an indexed source stamp, evidence counts,
40
- related native session IDs, and bounded-work metrics. `sync` is full ingestion.
47
+ `hydrated`, `updated`, `unchanged`, or `capability_limited`, an indexed source
48
+ stamp, evidence counts, related native session IDs, and bounded-work metrics.
49
+ Targeted remote hydration uses `scope: 'remote'`: Claude web sessions can
50
+ return `capability: 'full'` after complete teleport evidence is acquired;
51
+ Codex cloud tasks return `partial` when their supported unified diff is indexed
52
+ or `shallow_only` when no richer evidence is exposed. Partial results retain
53
+ `discoveryState: 'shallow'`. `sync` is full ingestion.
41
54
  Missing databases return empty read results; they do not trigger provider I/O.
42
55
 
43
56
  Session discovery, listing, search, recent history, statistics, and sync accept
@@ -68,10 +81,98 @@ The event primitive is page-based and uses `{ tsMs, id }` as a deterministic
68
81
  cursor. The `sessionEvents` async iterator walks pages without accumulating a
69
82
  large transcript. `getSessionEvents` is an explicit collecting convenience.
70
83
 
84
+ Tool calls and file edits follow the same page / iterator / collect trio
85
+ (`getSessionToolCallsPage`, `sessionToolCalls`, `getSessionToolCalls`, and the
86
+ `...FileEdit...` equivalents), and take both a source and a session ID because
87
+ provider session IDs are not unique across providers. The source is half of
88
+ that identity, so one outside the `Source` set raises `InvalidArgumentError`
89
+ instead of reading as an empty session. Their cursor is
90
+ `{ tsMs: number | null, id: number }`: a record may be indexed without a
91
+ timestamp, and undated records are ordered last. Feeding a cursor back in
92
+ accepts either spelling of that tail — `tsMs: null` as emitted, or no `tsMs` at
93
+ all after a transport that drops nulls — so a printed or JSON-serialized cursor
94
+ returns unedited. Stored provider JSON is parsed
95
+ into `args` and `structuredPatch`; a value that is absent or unparseable
96
+ becomes `null` while the raw string stays available as `argsJson` and
97
+ `structuredPatchJson`, so an unreadable payload never fails a page.
98
+ `parseStoredJson(raw)` is that same parse, exported for callers that hold a raw
99
+ stored string of their own: it returns the parsed value, or `null` for anything
100
+ that is not a parseable string.
101
+
102
+ ## Delegation topology
103
+
104
+ Sessions that delegate to subagents form a tree, and it is queryable:
105
+
106
+ ```ts
107
+ import {
108
+ getSessionRelationships,
109
+ getSessionTree,
110
+ sessionEventsIncludingDescendants,
111
+ } from 'ai-hist';
112
+
113
+ const { asParent, asChild, capabilities } = await getSessionRelationships({
114
+ source: 'codex',
115
+ sessionId: rootId,
116
+ });
117
+ const tree = await getSessionTree({ source: 'codex', sessionId: rootId, maxDepth: 8 });
118
+
119
+ for await (const event of sessionEventsIncludingDescendants({ source: 'codex', sessionId: rootId })) {
120
+ // event.sessionId is the session that actually produced the event: a
121
+ // child's event is never rewritten as the parent's.
122
+ consume(event);
123
+ }
124
+ ```
125
+
126
+ Each `SessionRelationship` reports its `identityStatus`. `observed` means the
127
+ provider named the child, so `childSessionId` is a real session id and
128
+ `childHasEvents` says whether its events are independently addressable through
129
+ `getSessionEventsPage`. `unlinked` means the provider recorded a delegation but
130
+ no stable child identity: `childSessionId` is `null`, the child's output stays
131
+ attributed to the parent, and the row keeps the evidence (`evidenceKind`,
132
+ `evidenceLocator`, `evidenceRef`) that established it. An identity is never
133
+ synthesized.
134
+
135
+ `capabilities.stableChildIdentity` tells you what to expect from the provider
136
+ before you read a single row: `always` for Codex, `sometimes` for Claude — only
137
+ provider versions that emit a per-child `agentId` name the child — and `never`
138
+ for the remaining sources.
139
+
140
+ `getSessionTree` returns pre-order `nodes` (the root first), the `unlinked`
141
+ evidence found at any depth, and `diagnostics`. `nodes[0]` is always the root,
142
+ so a session with no children — and a database that does not exist yet — comes
143
+ back as a one-node tree rather than an empty one. Children are ordered by
144
+ `(spawnedAtMs, relationshipUid)` with null spawn times last, so repeated calls
145
+ against the same database return identical results.
146
+
147
+ Traversal visits each session once, at the position pre-order first reaches it.
148
+ An edge back into the current branch's ancestry is a cycle and emits a
149
+ `RELATIONSHIP_CYCLE` diagnostic instead of looping; an edge to a session already
150
+ emitted on another branch is a diamond and is quietly not expanded twice.
151
+ `maxDepth` (default 32, maximum 64) and `maxNodes` (default 1000, maximum
152
+ 10000) bound the work and set `truncated` with a
153
+ `RELATIONSHIP_TREE_DEPTH_LIMIT` or `RELATIONSHIP_TREE_TRUNCATED` diagnostic
154
+ rather than returning a silently short tree. Tree-level `truncated` means a
155
+ budget cut the walk short — a cycle or diamond never sets it — while a node's
156
+ own `truncated` marks children it did not expand.
157
+
158
+ For large topologies, `getSessionChildrenPage` is the keyset primitive and
159
+ `sessionDescendants` is the async iterator over it, walking descendants
160
+ breadth-first without materializing a tree. Its `maxNodes` budget has the same
161
+ 1,000 default and 10,000 maximum as `getSessionTree`, and includes the root. It
162
+ yields the nodes `getSessionTree` emits minus the root, with the same
163
+ `childCount` (linked children only, at the depth boundary included) and the
164
+ same `truncated` rule.
165
+ The order differs: the walker is breadth-first, the tree is pre-order, so a
166
+ consumer that depends on either the root node or `getSessionTree`'s ordering
167
+ has to account for that. `sessionEventsIncludingDescendants` applies its
168
+ `limit` to each session it reads, not to the iteration as a whole.
169
+
71
170
  Native loading failures distinguish unsupported platforms, missing optional
72
171
  platform packages, addon load failures, SDK/native contract mismatches, and
73
172
  database open failures through stable `RelayHistoryError` subclasses. Provider
74
- capability failures use `UnsupportedOperationError`.
173
+ capability failures use `UnsupportedOperationError`. Targeted remote hydration
174
+ also distinguishes connector configuration, expired authentication, partial
175
+ evidence, and connector/parser failures with dedicated error subclasses.
75
176
 
76
177
  The old synchronous `AiHist` class and `openAiHist()` API were removed in 1.0.
77
178
  See [the migration guide](https://github.com/AgentWorkforce/relayhistory/blob/main/docs/native-sdk-migration.md).
package/dist/cli.js CHANGED
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { readFile } from 'node:fs/promises';
3
- import { discoverSessions, getSession, getSessionEventsPage, hydrateSession, listSessionCatalogPage, recent, search, stats, sync, } from './index.js';
3
+ import { discoverSessions, getSession, getSessionEventsPage, getSessionFileEditsPage, getSessionRelationships, getSessionToolCallsPage, getSessionTree, hydrateSession, listSessionCatalogPage, recent, search, stats, sync, } from './index.js';
4
4
  const BOOLEAN_FLAGS = new Set(['all', 'fts', 'json', 'local', 'no-related', 'no-warning', 'remote', 'version']);
5
5
  const VALUE_FLAGS = new Set([
6
6
  'after', 'after-ms', 'after-session-id', 'after-source', 'before-ms', 'db', 'limit',
7
- 'project', 'source', 'tag',
7
+ 'max-depth', 'max-nodes', 'project', 'source', 'tag',
8
8
  ]);
9
9
  const KNOWN_FLAGS = new Set([...BOOLEAN_FLAGS, ...VALUE_FLAGS]);
10
10
  function versionTriple(value) {
@@ -146,12 +146,16 @@ function common(args) {
146
146
  function snakeCase(key) {
147
147
  return key.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
148
148
  }
149
+ // Parsed provider payloads are data, not RelayHistory field names: their own
150
+ // keys must reach stdout exactly as the provider wrote them.
151
+ const OPAQUE_JSON_KEYS = new Set(['args', 'structuredPatch']);
149
152
  function wireValue(value) {
150
153
  if (Array.isArray(value))
151
154
  return value.map(wireValue);
152
155
  if (!value || typeof value !== 'object')
153
156
  return value;
154
- return Object.fromEntries(Object.entries(value).map(([key, item]) => [snakeCase(key), wireValue(item)]));
157
+ return Object.fromEntries(Object.entries(value)
158
+ .map(([key, item]) => [snakeCase(key), OPAQUE_JSON_KEYS.has(key) ? item : wireValue(item)]));
155
159
  }
156
160
  function humanLine(value) {
157
161
  if (!value || typeof value !== 'object')
@@ -191,6 +195,10 @@ function usage(message) {
191
195
  ai-hist sessions list [--local | --remote | --all] [--source SOURCE]... [--limit N] [--before-ms MS] [--after JSON | --after-source SOURCE --after-session-id ID [--after-ms MS]] [--json]
192
196
  ai-hist sessions discover [--local | --remote | --all] [--source SOURCE] [--limit N] [--json]
193
197
  ai-hist sessions hydrate SOURCE SESSION_ID [--local | --remote | --all] [--no-related] [--db PATH] [--json]
198
+ ai-hist sessions relationships SOURCE SESSION_ID [--db PATH] [--json]
199
+ ai-hist sessions tree SOURCE SESSION_ID [--max-depth N] [--max-nodes N] [--db PATH] [--json]
200
+ ai-hist sessions tools SOURCE SESSION_ID [--limit N] [--after JSON] [--db PATH] [--json]
201
+ ai-hist sessions edits SOURCE SESSION_ID [--limit N] [--after JSON] [--db PATH] [--json]
194
202
  ai-hist search QUERY... [--local | --remote | --all] [--source SOURCE] [--project PATH] [--limit N] [--json]
195
203
  ai-hist recent [N] [--local | --remote | --all] [--source SOURCE] [--project PATH] [--json]
196
204
  ai-hist session SESSION_ID [--source SOURCE] [--json]
@@ -216,6 +224,26 @@ function catalogCursorFlag(args) {
216
224
  throw new Error('--after-source and --after-session-id must be used together');
217
225
  return { lastActivityMs: numberFlag(args, 'after-ms') ?? null, source, sessionId };
218
226
  }
227
+ // Human output prints the SDK cursor and --json prints its snake_case wire
228
+ // form, so --after accepts either spelling and a printed cursor can be fed
229
+ // back unedited.
230
+ function evidenceCursorFlag(args) {
231
+ const raw = cursorFlag(args);
232
+ if (raw === undefined)
233
+ return undefined;
234
+ if (!raw || typeof raw !== 'object' || !Number.isInteger(raw.id)) {
235
+ throw new Error('--after must be a JSON cursor with an integer id');
236
+ }
237
+ // An undated cursor spells its timestamp `null` or leaves it out. Any other
238
+ // non-integer timestamp is a malformed cursor: reading it as null instead
239
+ // would place the page inside the undated tail and silently drop every dated
240
+ // record after it.
241
+ const tsMs = raw.tsMs ?? raw.ts_ms ?? null;
242
+ if (tsMs !== null && !Number.isInteger(tsMs)) {
243
+ throw new Error('--after cursor ts_ms must be an integer or null');
244
+ }
245
+ return { tsMs: tsMs, id: raw.id };
246
+ }
219
247
  function outputDiscovery(value, json) {
220
248
  if (!json) {
221
249
  for (const session of value.sessions)
@@ -233,6 +261,47 @@ function outputDiscovery(value, json) {
233
261
  const providers = Object.fromEntries(summary.providers.map(({ source, ...provider }) => [source, provider]));
234
262
  output({ type: 'summary', ...summary, providers }, true);
235
263
  }
264
+ function continuationNotice(cursor) {
265
+ if (cursor)
266
+ process.stdout.write(`more available: --after '${JSON.stringify(cursor)}'\n`);
267
+ }
268
+ // Human rows are positional, so every column is always printed: an absent
269
+ // value is `-` rather than a dropped field that would shift the columns after
270
+ // it, and an uncounted line delta is `?` rather than a fabricated 0.
271
+ function outputToolCalls(page, json) {
272
+ if (json) {
273
+ output(page, true);
274
+ return;
275
+ }
276
+ if (page.toolCalls.length === 0) {
277
+ process.stdout.write('No tool calls.\n');
278
+ return;
279
+ }
280
+ for (const call of page.toolCalls) {
281
+ process.stdout.write([
282
+ call.tsMs ?? '-', call.source, call.toolUseId, call.name,
283
+ call.target ?? '-', call.isError === true ? '(error)' : '-',
284
+ ].join(' ').concat('\n'));
285
+ }
286
+ continuationNotice(page.nextCursor);
287
+ }
288
+ function outputFileEdits(page, json) {
289
+ if (json) {
290
+ output(page, true);
291
+ return;
292
+ }
293
+ if (page.fileEdits.length === 0) {
294
+ process.stdout.write('No file edits.\n');
295
+ return;
296
+ }
297
+ for (const edit of page.fileEdits) {
298
+ process.stdout.write([
299
+ edit.tsMs ?? '-', edit.source, edit.toolUseId, edit.toolName ?? '-', edit.filePath,
300
+ `+${edit.linesAdded ?? '?'}/-${edit.linesRemoved ?? '?'}`,
301
+ ].join(' ').concat('\n'));
302
+ }
303
+ continuationNotice(page.nextCursor);
304
+ }
236
305
  function outputHydration(value, json) {
237
306
  if (json) {
238
307
  output(value, true);
@@ -240,7 +309,7 @@ function outputHydration(value, json) {
240
309
  }
241
310
  process.stdout.write(`${value.source}/${value.sessionId}: ${value.status}\n`);
242
311
  process.stdout.write(`evidence: ${value.evidence.prompts} prompt(s), ${value.evidence.events} event(s), ` +
243
- `${value.evidence.toolCalls} tool call(s)\n`);
312
+ `${value.evidence.toolCalls} tool call(s), ${value.evidence.fileEdits} file edit(s)\n`);
244
313
  if (value.relatedSessionIds.length) {
245
314
  process.stdout.write(`related sessions: ${value.relatedSessionIds.join(', ')}\n`);
246
315
  }
@@ -248,6 +317,55 @@ function outputHydration(value, json) {
248
317
  process.stdout.write(`${diagnostic.code}: ${diagnostic.message}\n`);
249
318
  }
250
319
  }
320
+ function relationshipLine(direction, row) {
321
+ const identity = direction === 'child' ? row.childSessionId ?? '(unlinked)' : row.parentSessionId;
322
+ return [
323
+ direction, identity, row.relationship, row.childAgentType ?? '-', row.spawnedAtMs ?? '-',
324
+ `events=${row.childHasEvents ? 'yes' : 'no'}`, `identity=${row.identityStatus}`,
325
+ row.evidenceLocator ?? row.evidenceKind,
326
+ ].join(' ');
327
+ }
328
+ function outputRelationships(value, json) {
329
+ if (json) {
330
+ output(value, true);
331
+ return;
332
+ }
333
+ const total = value.asParent.length + value.asChild.length;
334
+ process.stdout.write(total === 0
335
+ ? `${value.source}/${value.sessionId}: no delegation relationships.\n`
336
+ : `${value.source}/${value.sessionId}: ${value.asParent.length} child relationship(s), ` +
337
+ `${value.asChild.length} parent relationship(s)\n`);
338
+ for (const row of value.asParent)
339
+ process.stdout.write(`${relationshipLine('child', row)}\n`);
340
+ for (const row of value.asChild)
341
+ process.stdout.write(`${relationshipLine('parent', row)}\n`);
342
+ process.stdout.write(`capability: stable child identity = ${value.capabilities.stableChildIdentity}\n`);
343
+ for (const diagnostic of value.diagnostics) {
344
+ process.stdout.write(`${diagnostic.code}: ${diagnostic.message}\n`);
345
+ }
346
+ }
347
+ function outputTree(value, json) {
348
+ if (json) {
349
+ output(value, true);
350
+ return;
351
+ }
352
+ for (const node of value.nodes) {
353
+ const edge = node.relationship
354
+ ? ` [${[node.relationship.relationship, node.relationship.childAgentType].filter(Boolean).join(' ')}]` +
355
+ ` events=${node.hasEvents ? 'yes' : 'no'}`
356
+ : '';
357
+ process.stdout.write(`${' '.repeat(node.depth)}${node.sessionId}${edge}${node.truncated ? ' …' : ''}\n`);
358
+ }
359
+ process.stdout.write(`${Math.max(value.nodes.length - 1, 0)} descendant(s), max depth ${value.maxDepthReached}\n`);
360
+ for (const row of value.unlinked) {
361
+ process.stdout.write(`unlinked evidence: ${row.evidenceKind} ${row.evidenceLocator ?? ''}`.trimEnd() + '\n');
362
+ }
363
+ for (const diagnostic of value.diagnostics) {
364
+ process.stdout.write(`${diagnostic.code}: ${diagnostic.message}\n`);
365
+ }
366
+ if (value.truncated)
367
+ process.stdout.write('truncated: node/depth budget reached\n');
368
+ }
251
369
  async function main() {
252
370
  const rawArgs = process.argv.slice(2);
253
371
  const versionArgs = rawArgs.filter((arg) => arg !== '--no-warning');
@@ -299,6 +417,51 @@ async function main() {
299
417
  }), json);
300
418
  return;
301
419
  }
420
+ if (command === 'sessions' && subcommand === 'relationships') {
421
+ validateFlags(args, 'sessions relationships', ['all', 'db', 'json', 'local', 'remote']);
422
+ const [source, sessionId, ...surplus] = rest;
423
+ if (!source || !sessionId)
424
+ usage('sessions relationships requires SOURCE and SESSION_ID');
425
+ rejectSurplusPositionals(surplus, 'sessions relationships');
426
+ rejectScopeFlag(args, 'sessions relationships');
427
+ outputRelationships(await getSessionRelationships({
428
+ source: source, sessionId, dbPath: textFlag(args, 'db'),
429
+ }), json);
430
+ return;
431
+ }
432
+ if (command === 'sessions' && subcommand === 'tree') {
433
+ validateFlags(args, 'sessions tree', ['all', 'db', 'json', 'local', 'max-depth', 'max-nodes', 'remote']);
434
+ const [source, sessionId, ...surplus] = rest;
435
+ if (!source || !sessionId)
436
+ usage('sessions tree requires SOURCE and SESSION_ID');
437
+ rejectSurplusPositionals(surplus, 'sessions tree');
438
+ rejectScopeFlag(args, 'sessions tree');
439
+ outputTree(await getSessionTree({
440
+ source: source, sessionId, dbPath: textFlag(args, 'db'),
441
+ maxDepth: numberFlag(args, 'max-depth'), maxNodes: numberFlag(args, 'max-nodes'),
442
+ }), json);
443
+ return;
444
+ }
445
+ if (command === 'sessions' && (subcommand === 'tools' || subcommand === 'edits')) {
446
+ const name = `sessions ${subcommand}`;
447
+ validateFlags(args, name, ['after', 'db', 'json', 'limit']);
448
+ const [source, sessionId, ...surplus] = rest;
449
+ if (!source || !sessionId)
450
+ usage(`${name} requires SOURCE and SESSION_ID`);
451
+ rejectSurplusPositionals(surplus, name);
452
+ const options = {
453
+ dbPath: textFlag(args, 'db'),
454
+ limit: numberFlag(args, 'limit'),
455
+ after: evidenceCursorFlag(args),
456
+ };
457
+ if (subcommand === 'tools') {
458
+ outputToolCalls(await getSessionToolCallsPage(source, sessionId, options), json);
459
+ }
460
+ else {
461
+ outputFileEdits(await getSessionFileEditsPage(source, sessionId, options), json);
462
+ }
463
+ return;
464
+ }
302
465
  if (command === 'search') {
303
466
  validateFlags(args, 'search', [
304
467
  'all', 'before-ms', 'db', 'fts', 'json', 'limit', 'local', 'project', 'remote', 'source', 'tag',
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,gBAAgB,EAAE,UAAU,EAAE,oBAAoB,EAAE,uBAAuB,EAC3E,uBAAuB,EAAE,uBAAuB,EAAE,cAAc,EAAE,cAAc,EAChF,sBAAsB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAGpD,MAAM,YAAY,CAAC;AAMpB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAChH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO;IACnF,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK;CACrD,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;AAEhE,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,KAAK,GAAG,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,MAAc;IACnD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACrF,OAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAqB,CAAC,OAAO,IAAI,SAAS,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAe,EAAE,IAAc;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IACxD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,GAAG,CAAC;QAAE,OAAO;IACjG,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,2CAA2C,EAAE;YACxE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;YAClC,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO;QACzB,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;YAAE,OAAO;QACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4CAA4C,OAAO,OAAO,MAAM,CAAC,OAAO,IAAI;YAC5E,uDAAuD;YACvD,iFAAiF,CAClF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,IAAc;IAC3B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9D,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAC;QAChE,IAAI,MAAM,KAAK,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,KAAK,IAAI,wBAAwB,CAAC,CAAC;QAC9F,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,MAAM,KAAK,EAAE;gBAAE,KAAK,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;YACvD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACtD,SAAS;QACX,CAAC;QACD,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO;gBAAE,KAAK,CAAC,KAAK,IAAI,wBAAwB,CAAC,CAAC;YAClF,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;QAAC,CAAC;;YAC3F,KAAK,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,OAAe,EAAE,OAA0B;IAC9E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IACtD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,GAAG,OAAO,sBAAsB,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,IAAY;IAC3C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,IAAY;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,QAAQ,GAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAChG,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3D,KAAK,CAAC,KAAK,KAAK,wBAAwB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACtF,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,OAAe;IACpD,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,GAAG,OAAO,kFAAkF,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAgB,EAAE,OAAe;IACjE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,GAAG,OAAO,yCAAyC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QAC5B,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC;QACtB,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAU;QACzC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QAClC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;QAC1B,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;QAChC,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,6EAA6E;AAC7E,6DAA6D;AAC7D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAE9D,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;SACtK,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC;SAC7C,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,IAAa;IAC3C,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAChG,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC;YAClI,IAAI,MAAM,CAAC,UAAU;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnK,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,OAAgB;IAC7B,IAAI,OAAO;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,MAAM,CAAC,CAAC;IAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;CActB,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAI,IAAY;IACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,UAAU,CAAgB,IAAI,CAAC,CAAC;IAChD,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC1G,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACrF,CAAC;AAED,2EAA2E;AAC3E,2EAA2E;AAC3E,iBAAiB;AACjB,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,GAAG,GAAG,UAAU,CAAoD,IAAI,CAAC,CAAC;IAChF,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,mBAAmB;IACnB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC;IAC3C,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAqB,EAAE,EAAE,EAAE,GAAG,CAAC,EAAY,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,eAAe,CAAC,KAAmD,EAAE,IAAa;IACzF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,gBAAgB,KAAK,CAAC,UAAU,gBAAgB,KAAK,CAAC,gBAAgB,aAAa;YAC3G,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,oBAAoB,KAAK,CAAC,QAAQ,CAAC,YAAY,qBAAqB;YAClG,oBAAoB,KAAK,CAAC,KAAK,8BAA8B,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CACxI,CAAC;QACF,OAAO;IACT,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ;QAAE,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACpF,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW;QAAE,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;IAChG,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;IAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA6B;IACvD,IAAI,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5F,CAAC;AAED,0EAA0E;AAC1E,8EAA8E;AAC9E,qEAAqE;AACrE,SAAS,eAAe,CAAC,IAA0B,EAAE,IAAa;IAChE,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnB,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI;YACxD,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;SAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,IAA0B,EAAE,IAAa;IAChE,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnB,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,IAAI,GAAG,EAAE,IAAI,CAAC,QAAQ;YAClF,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,KAAK,IAAI,CAAC,YAAY,IAAI,GAAG,EAAE;SAC1D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,KAAiD,EAAE,IAAa;IACvF,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,KAAK,CAAC,QAAQ,CAAC,OAAO,eAAe,KAAK,CAAC,QAAQ,CAAC,MAAM,aAAa;QACpF,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,kBAAkB,KAAK,CAAC,QAAQ,CAAC,SAAS,iBAAiB,CACvF,CAAC;IACF,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,SAA6B,EAAE,GAAwB;IAC/E,MAAM,QAAQ,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;IAClG,OAAO;QACL,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,cAAc,IAAI,GAAG,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG;QACxF,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,YAAY,GAAG,CAAC,cAAc,EAAE;QAC/E,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,YAAY;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA0D,EAAE,IAAa;IACpG,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;QAC9B,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,kCAAkC;QACtE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,0BAA0B;YACtF,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,2BAA2B,CAAC,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9F,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,KAAK,CAAC,YAAY,CAAC,mBAAmB,IAAI,CAAC,CAAC;IACxG,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAiD,EAAE,IAAa;IAClF,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY;YAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;gBACrG,YAAY,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;YAC7C,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7G,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,6BAA6B,KAAK,CAAC,eAAe,IAAI,CAC7F,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/G,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC;IACpE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5F,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,IAAI,CAAC,CAAC;QAC7C,MAAM,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpC,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACpD,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE;YACnC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI;YACjF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;SAC7C,CAAC,CAAC;QACH,wBAAwB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,sBAAsB,CAAC;YAClC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAgB,CAAC,CAAC,CAAC,SAAS;YAC5G,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC;YACzE,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC;SAC/B,CAAC,EAAE,IAAI,CAAC,CAAC;QACV,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QACxD,aAAa,CAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtG,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,eAAe,CAAC,MAAM,gBAAgB,CAAC;YACrC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAgB,CAAC,CAAC,CAAC,SAAS;YAC5G,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;SACjC,CAAC,EAAE,IAAI,CAAC,CAAC;QACV,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACvD,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChG,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;YAAE,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACpF,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACtD,eAAe,CAAC,MAAM,cAAc,CAAC;YACnC,MAAM,EAAE,MAAe;YACvB,SAAS;YACT,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC;YACtB,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;YAC5B,cAAc,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;SAC9C,CAAC,EAAE,IAAI,CAAC,CAAC;QACV,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;QAC7D,aAAa,CAAC,IAAI,EAAE,wBAAwB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxF,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;YAAE,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC1F,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QAC5D,eAAe,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAChD,mBAAmB,CAAC,MAAM,uBAAuB,CAAC;YAChD,MAAM,EAAE,MAAe,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;SACjE,CAAC,EAAE,IAAI,CAAC,CAAC;QACV,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACpD,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzG,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;YAAE,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACjF,wBAAwB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACnD,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACvC,UAAU,CAAC,MAAM,cAAc,CAAC;YAC9B,MAAM,EAAE,MAAe,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;YAChE,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC;SACjF,CAAC,EAAE,IAAI,CAAC,CAAC;QACV,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,CAAC,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QACtC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;YAAE,KAAK,CAAC,GAAG,IAAI,iCAAiC,CAAC,CAAC;QAC3E,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;YAC5B,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;YAChC,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAChC,CAAC;QACF,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3B,eAAe,CAAC,MAAM,uBAAuB,CAAC,MAAe,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,MAAM,uBAAuB,CAAC,MAAe,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE;YAC5B,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK;SAChG,CAAC,CAAC;QACH,IAAI,CAAC,UAAU;YAAE,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAChH,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE;YAC5B,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK;SACzF,CAAC,CAAC;QACH,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,KAAK,CAAC,uCAAuC,UAAU,IAAI,CAAC,CAAC;QACvH,MAAM,CAAC,MAAM,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9F,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,UAAU;YAAE,KAAK,EAAE,CAAC;QACzB,wBAAwB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,UAAU,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACpJ,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,UAAU;YAAE,KAAK,EAAE,CAAC;QACzB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,oBAAoB,CAAC,UAAU,EAAE;YAC5C,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAU;YACvE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC;SAC1D,CAAC,EAAE,IAAI,CAAC,CAAC;QACV,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9E,wBAAwB,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QACjH,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAChH,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtE,wBAAwB,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QAChH,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IACD,KAAK,EAAE,CAAC;AACV,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,MAAM,KAAK,GAAG,KAA4C,CAAC;IAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3G,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}